diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 70269f77..9bd7adf1 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: 9fe83edeb529f3840639a66c541af212 + docChecksum: 423c2b9e0aa18399496c3e93382124d2 docVersion: 0.9.0 - speakeasyVersion: 1.803.1 - generationVersion: 2.950.2 - releaseVersion: 0.17.18 - configChecksum: b5397ba149885a73aef5ec0432c44e48 + speakeasyVersion: 1.806.0 + generationVersion: 2.956.1 + releaseVersion: 0.17.19 + configChecksum: 79be677d2027348980d7ad6f6f6d9fc3 repoURL: https://github.com/gleanwork/api-client-python.git installationURL: https://github.com/gleanwork/api-client-python.git published: true persistentEdits: - generation_id: 5a3c7417-dba3-4489-afa3-96f1e78b1770 - pristine_commit_hash: 148211e790ffb8017d493ceffaa17585883ae630 - pristine_tree_hash: f6b3f65224ba576e2d3c47a01fd1f98af6501196 + generation_id: 232169d9-78a5-4cb4-8a2f-d7c13813b3d4 + pristine_commit_hash: 10caaf7330ac3fc8da37a319f1d0ed8d6ddb7153 + pristine_tree_hash: 36e288e8ded36b3d7a0583f669e34ba1c8205659 features: python: acceptHeaders: 3.0.0 @@ -22,17 +22,17 @@ features: callbacks: 2.0.0 configurableModuleName: 0.2.0 constsAndDefaults: 1.0.8 - core: 6.1.4 + core: 6.1.13 defaultEnabledRetries: 0.2.0 deprecations: 3.0.2 devContainers: 3.0.0 downloadStreams: 1.0.1 enumUnions: 0.1.1 - envVarSecurityUsage: 0.3.3 + envVarSecurityUsage: 0.3.4 examples: 3.0.4 flatRequests: 1.0.1 flattening: 3.1.1 - globalSecurity: 3.0.7 + globalSecurity: 3.0.8 globalSecurityCallbacks: 1.0.0 globalSecurityFlattening: 1.0.0 globalServerURLs: 3.2.1 @@ -49,8 +49,8 @@ features: sdkHooks: 1.3.0 serverEvents: 1.1.1 tests: 1.19.10 - unions: 3.1.12 - uploadStreams: 1.0.3 + unions: 3.1.15 + uploadStreams: 1.0.4 trackedFiles: .devcontainer/README.md: id: b170c0f184ac @@ -74,8 +74,8 @@ trackedFiles: pristine_git_object: 8d79f0abb72526f1fb34a4c03e5bba612c6ba2ae USAGE.md: id: 3aed33ce6e6f - last_write_checksum: sha1:8e83346b5645b6bef8a2423f0dbc9a6365b5bd46 - pristine_git_object: 13f153fada6e805e20d596947edc7b0bc9351317 + last_write_checksum: sha1:886926ddd8dc41407e29841150f86c993cecb76d + pristine_git_object: 5f789a5a796943f9c0549330db883f9c0103baf4 docs/errors/accessrequestpermissiondeniedresponseerror.md: id: ef4760b1057f last_write_checksum: sha1:bc4a2392e4e46ce5b32fdbd3f70121cb0598e803 @@ -1186,8 +1186,8 @@ trackedFiles: pristine_git_object: 52a18a1148721667dfc7a24e9858cfba774d5c78 docs/models/doccategory.md: id: 821ad62d2df6 - last_write_checksum: sha1:1ec7a9915ac0698a53f2f01edb122cb6e14b76ef - pristine_git_object: 0e883592d7c11977a24a16657452e4a11b53c2a1 + last_write_checksum: sha1:1b71428ccbb9e639f0ad99d29dc3e54992fc4ed7 + pristine_git_object: 8b0a5ba91c4bf75c09819573e3dd02684959899a docs/models/document.md: id: cd1d2a444370 last_write_checksum: sha1:794bba5709324d7278e34f2995d44b253ab39bc3 @@ -1486,8 +1486,8 @@ trackedFiles: pristine_git_object: a851a7f13eb25d515fa9b9244c5dfdc98fa14e2c docs/models/feedrequestcategory.md: id: 31a02f3064c7 - last_write_checksum: sha1:0cb589a8410daf2873cd50f5f511a0293f903743 - pristine_git_object: ddae356509b3ba6239513b2dcfdab45a932970b7 + last_write_checksum: sha1:ef3d4c11171363ddbd077d930b326b34f1f0dc87 + pristine_git_object: d4b9bfb5ffb043fd3a564bad2c026762c9a74238 docs/models/feedrequestoptions.md: id: 58eb26b19e77 last_write_checksum: sha1:fd2ab08736cef8156169b0cfee8c52e7aed1accf @@ -1506,8 +1506,8 @@ trackedFiles: pristine_git_object: f6f92abf16b61f88b527e1c906f605e98306878e docs/models/feedresultcategory.md: id: a5f77f38d0a7 - last_write_checksum: sha1:ce61739b5f9a254716d615b4ddb16e6fbc9a422f - pristine_git_object: f072be9ad75de3496f43fa49a1ec2609c2928f8b + last_write_checksum: sha1:c403d0bd8010eca19045aaee3651085bba2c844b + pristine_git_object: 3080c795ba3918ad5749cd7494d42e3e6cd30341 docs/models/fieldscope.md: id: e6b52bcb22a6 last_write_checksum: sha1:13a1492ce39d2f89a01d626996a345a1339a1873 @@ -1596,18 +1596,22 @@ trackedFiles: id: 5ed77f7dd180 last_write_checksum: sha1:75949c792ed2d2b22195a14fccc9fcbbaec5cf44 pristine_git_object: 49a30eccc5428665f7bc43fd37aabbc5ca19ced5 + docs/models/getchatpagination.md: + id: da66b566eec2 + last_write_checksum: sha1:2193f5da2d5a262cca363242b7492ad963d35958 + pristine_git_object: 75cfe81245942b4030b79cbf57b99af3019e1b5f docs/models/getchatrequest.md: id: 91bbf71a45ec - last_write_checksum: sha1:08aa30e90f5507cb9200a5a713a0bd61ed1940f0 - pristine_git_object: 8b44a4628b905f2e3a23968b1343e75f69a9d86a + last_write_checksum: sha1:4dc9e5c91949d44c4c19ad34ccfa205f06106f2f + pristine_git_object: f57f6cf8bdbde18253d618ec2815fe09d6e604af docs/models/getchatrequestrequest.md: id: 89032ad4cded last_write_checksum: sha1:d1af0c95a4f7ff75c6acf98f4ac59b4385a648b0 pristine_git_object: e810c575de9d2e1cb0ce47ba68d8a739a6dfcc58 docs/models/getchatresponse.md: id: 8ca5e1521fef - last_write_checksum: sha1:8a604ddd40ad6882e9620b6a4959b3b9884bc438 - pristine_git_object: da75bf93aaee602631c91bf2fb35028837847579 + last_write_checksum: sha1:2c2625fdabacf6e00980860c0d4f6bfec5b54be8 + pristine_git_object: 2e4f80fb1e15853ae452836f843fda7f6306f630 docs/models/getcollectionrequest.md: id: c728f2a301f7 last_write_checksum: sha1:6f7221455f2bbfdc6ff4cb6a69e4d4f3238c8fbe @@ -1950,8 +1954,8 @@ trackedFiles: pristine_git_object: 647f9bb67a6af30d7fd71c8ddb3c5e1bf40bb938 docs/models/justificationtype.md: id: 8286affacee4 - last_write_checksum: sha1:643e53675fe523f3d473e08f140fb401eaac281a - pristine_git_object: a7a0915b1e08f898667abc5be77b8d5bb1288ad0 + last_write_checksum: sha1:f7b188c3342e6d000f4ff3644ece74d46952ac67 + pristine_git_object: 0e94d6b0ca7a09f658b3c4559ca7080458e2abb5 docs/models/knowledgetype.md: id: 1e0c90679228 last_write_checksum: sha1:0030a7539b9362bbb59e0bbd36580676058b3540 @@ -2138,8 +2142,8 @@ trackedFiles: pristine_git_object: 977c94c1f354f712855d58eecf856e5055d23342 docs/models/message.md: id: a9614076792b - last_write_checksum: sha1:683c85b12ba65929d2c250f60767f043cc8edc9e - pristine_git_object: 2bc3e9910f3919cf9b9a63f2b6f25b3c45ae9f54 + last_write_checksum: sha1:8a4caba38ad755cafcb375e700c6c336a10d9178 + pristine_git_object: 19993421a988a885979e78d6818531d53d9c185c docs/models/messageinput.md: id: 9d9844edc7d7 last_write_checksum: sha1:c626da01ee5c1fcc633daf9ff2037a8aab08719c @@ -2296,38 +2300,34 @@ trackedFiles: id: 66630faec49a last_write_checksum: sha1:918357358bb6dd6840b6ef69e9bbfc05620f3eda pristine_git_object: 4a911ee3b51a89c0a847cc6984af2b01448edc73 - docs/models/platformadminagent.md: - id: f4fd13a20937 - last_write_checksum: sha1:2081d809ad53a039e627d6a40020bdf1690de6d2 - pristine_git_object: dd3ff628b635ce836273bb38f9f3f5e511f21f30 docs/models/platformadminagentfilter.md: id: 0aa1dfda3b88 - last_write_checksum: sha1:133ce13e57da937fcbd3f247eba8d3ff86f71e23 - pristine_git_object: 8c063b2a846ab64b6c87bf1e4c0ccede64b7a454 + last_write_checksum: sha1:54be8af14e1b4b3b254435344134a9e614c9f3d5 + pristine_git_object: 9190b32272c268c3e7862568ef0abd49f72c96ef docs/models/platformadminagentfilteroperator.md: id: 45314faaf71e last_write_checksum: sha1:f9b7255b1f2b7849ba405c8c925660ce44a63708 pristine_git_object: 9ef2f8ada10bd385de017d62d61b5db6e4bcd020 docs/models/platformadminagentslistrequest.md: id: 84f54ae1dec1 - last_write_checksum: sha1:63c200fe9258d9f0d3831e4e561fd9616fab5810 - pristine_git_object: 67e78ada59f06c84d3923fc41d52cb498dc550a3 + last_write_checksum: sha1:4a9099f7760658ead7476aef477c2d619ce61399 + pristine_git_object: 53c5c53bbf5f24b101db8def018bb0c5ea1b2d89 docs/models/platformadminidpgroupsgetrequest.md: id: 5ac3ddcf8499 last_write_checksum: sha1:ab08329b54a480697987288d5796ebc525745131 pristine_git_object: f2a8f8b734f064908c61bb1116f341874ac8fd4b docs/models/platformadminidpgroupslistrequest.md: id: e3d01487e191 - last_write_checksum: sha1:49d5ffb09d0ec32e7a48be75466fe6273a9c8925 - pristine_git_object: 50a0fc627af6c5ac29c1d7be0d3202a646b6b31a + last_write_checksum: sha1:a0f3817131bb92aee1c9d701c38c0c67db1ec158 + pristine_git_object: a2e7a8a7094680aca343a8c7833300a1b6ebc20b docs/models/platformadminoauthclientsgetrequest.md: id: e4faedde211a last_write_checksum: sha1:961a8fabf97d75387fb050af2be476331ea34beb pristine_git_object: 29bcf0a78f8966e274bf21d0073e425c12119c4f docs/models/platformadminoauthclientslistrequest.md: id: 004040e5058a - last_write_checksum: sha1:3c979b3ed60684af881ec976647d0a1c4e01528d - pristine_git_object: c47d4534f1242c909e9f51f3115483bb9c9b15db + last_write_checksum: sha1:0f7b964116837aa99ed32799f863cd8d88cae95b + pristine_git_object: 1ff91d25d4ae8bf84a9cb7f956dcef2eca7c8e9a docs/models/platformagent.md: id: 6d684a308415 last_write_checksum: sha1:0f0c8b393957aebe795e3a7a142dffa1c65354a0 @@ -2474,8 +2474,8 @@ trackedFiles: pristine_git_object: 9ee0df259532723cb625e145c48c0daf7d7a0d8e docs/models/platformchatcreaterequest.md: id: cd33a9dfda85 - last_write_checksum: sha1:f91b8d077e108c2443046cd352c0e0b61088c20f - pristine_git_object: a100754d2fdfb6f0f3e2b5d3159821af7940a599 + last_write_checksum: sha1:213ba7eca62555905ef949e4c5e615509ce6763f + pristine_git_object: 3645c176f6f187392bca93e6b6c35dbcf81f18ed docs/models/platformchatcreatestreamformat.md: id: ccb1551a8c8e last_write_checksum: sha1:57dfe924da40ac64e9f79e0c71581f77d6df3928 @@ -2486,8 +2486,8 @@ trackedFiles: pristine_git_object: 250ba3f9e5482057896cf121968d834590649a3f docs/models/platformchatcreatestreamrequest.md: id: 2f7f30973ec2 - last_write_checksum: sha1:c1446ea9c05c4dfd89c358f5dcca1239a0fa7872 - pristine_git_object: aec04e2f76921921e815343430d1092e1c59bcbc + last_write_checksum: sha1:46307bf5e5a17c6ff00937e13f00ad95cd8b3530 + pristine_git_object: e2c27d66e37e7a52330275a5bfce4b363d60b49f docs/models/platformchatcreatestreamtext.md: id: a52a018a9526 last_write_checksum: sha1:3e9e6bae9fefd9b98013439548d486e4beb2f239 @@ -2700,6 +2700,14 @@ trackedFiles: id: 61ae1a6d6454 last_write_checksum: sha1:41734266d612f710490590c79d1104b15e165291 pristine_git_object: 8119fc5d60b5afc43b6fa6c91205061bbd9a9b3b + docs/models/platformdepartmentfilter.md: + id: 6d2f15f0dc95 + last_write_checksum: sha1:fe5aa11e491db6c8967c14fb325ddff76e04d03b + pristine_git_object: 58c6dd152e644f42f98881f1bdf6e8b3e754a38d + docs/models/platformdepartmentfilteroperator.md: + id: 2922df90a482 + last_write_checksum: sha1:5fe952fa39af6b77fe29985724b948ba911224ba + pristine_git_object: 03b97fb000b7daf4dff269126d44e14dacf80556 docs/models/platformdepartmentreference.md: id: ba3c1670ad16 last_write_checksum: sha1:e6e2a5ffeddd0ace831605d67355cec58e8b813a @@ -2710,12 +2718,12 @@ trackedFiles: pristine_git_object: 89106db5746f761c1660233e1ab90e041a1b0177 docs/models/platformdepartmentslistrequest.md: id: 57712057e509 - last_write_checksum: sha1:240d1351644472a5e99b2e91aa77267b2ea83ad8 - pristine_git_object: da1561a2a349d972e909ad91a1ccc0c863be5038 + last_write_checksum: sha1:841ed4f0ae46bbbc4a84659b4e211e27f357b669 + pristine_git_object: 08eab4db80e21030b1295c39d2621296c8dbc934 docs/models/platformdocumentchangewebhookevent.md: id: 6a7d5eaea3c5 - last_write_checksum: sha1:980bca6d1b189a0a14969236485ffdd8a6673f6b - pristine_git_object: 926494c10c4e191a01e7fc879c0888742c8b593d + last_write_checksum: sha1:75b339b623bccfa64052783d89075613c6fb7b4d + pristine_git_object: 989f70faad044a33bac743b91087d1686fd58ec9 docs/models/platformdurableagentrun.md: id: 9afb4bdaa146 last_write_checksum: sha1:bc97ffd5e89973049ab0cc2c9073ade21221a2dd @@ -2754,16 +2762,16 @@ trackedFiles: pristine_git_object: 1fdf4fde62a7ef65cc51514ccf7abd3b0616ebc0 docs/models/platformidpgroupfilter.md: id: 7c8232ced5de - last_write_checksum: sha1:da94f9be197b056a5229dd0e0e02c7b018b2f1b4 - pristine_git_object: f42af6eca03853d73d471b54ce46861e416eaae3 + last_write_checksum: sha1:7eb8af566d82cab9eb0f214ebe012680c4a5817d + pristine_git_object: 7082c97f15c6ab664403ad461856a12c825fc7c5 docs/models/platformidpgroupfilteroperator.md: id: aa7893d92666 last_write_checksum: sha1:5a0580077e90b01dc9dbe1d6be8037d63ad81815 pristine_git_object: d5818940117912f19e95f2f903c5702d5da2a9f1 docs/models/platformlistadminagentsresponse.md: id: 4894159e13b7 - last_write_checksum: sha1:9206fab7ec4e7caf51bf727feb3735f58e1c3ebb - pristine_git_object: 493b8956f8b8f8a767880a42e17a7680e5a0b26f + last_write_checksum: sha1:4ac82b224c67bdaf885672241e68b664c617acb6 + pristine_git_object: 74158e87938988b56e8d5d1fb450535c0bca5526 docs/models/platformlistdepartmentsresponse.md: id: 69a15ba2a142 last_write_checksum: sha1:f55379fa1379d6572077b6b1f751f5b9cfb8c6e7 @@ -2802,16 +2810,16 @@ trackedFiles: pristine_git_object: 6e3694484701e30ba1114213a8f0a287b5f4030e docs/models/platformoauthclient.md: id: 4a5bd97c4db8 - last_write_checksum: sha1:100c4ba998e408fbccb7f3da08ea85ad9f306cda - pristine_git_object: 62d7532d0e32d5903de36a2a788b991685ea5854 + last_write_checksum: sha1:c2d48a35914939ecc607e23dcfb2c89dff22ec9a + pristine_git_object: 8b72efacbd1f1bd4b08a1a40786f4b853f759c0c docs/models/platformoauthclientaigateway.md: id: 9d1dda1785ee - last_write_checksum: sha1:c8762342845111b46a678051db317ad0f5302dc7 - pristine_git_object: 88dcbcbf48bd33315fc76d724c39870a84db5f65 + last_write_checksum: sha1:66eced96e60fa889a333b8d1cf07424d3c73d44f + pristine_git_object: d0cef82fed350f76477431df6fbb00b18e8ad13a docs/models/platformoauthclientfilter.md: id: 815ab73f15f6 - last_write_checksum: sha1:2b9d2e9fa41338b110d968317f0bca2def903973 - pristine_git_object: 90753cb7f3bfb52a450044ca3905711cd202f592 + last_write_checksum: sha1:ec11823418e9b115e9eaa9cb170e038edaecea7b + pristine_git_object: ca5651f2045319b2856367e6ee0e92121d700e25 docs/models/platformoauthclientfilteroperator.md: id: 05d019dc5a49 last_write_checksum: sha1:59745e0b0903fb7e64b99a980e8191c0ba775093 @@ -2820,6 +2828,10 @@ trackedFiles: id: b0e7d4c5bbce last_write_checksum: sha1:24ab447866867a834f20ad315f8efe379f2c7ac6 pristine_git_object: 827a386c5fdae7274f008cb3bfc9796e294c47a9 + docs/models/platformoauthclientsupportedapp.md: + id: 5d7db33d5066 + last_write_checksum: sha1:77a11b623b7a4caee076fdd3323181a28de68b36 + pristine_git_object: 32b4ba071e07adcc4d4834517387f37f43ea04e8 docs/models/platformoauthclienttype.md: id: 36d82fb57d0a last_write_checksum: sha1:19ec8c36ccb6c2a4d545886f61617e4e19f6f02f @@ -2846,8 +2858,8 @@ trackedFiles: pristine_git_object: 95a5121d13c926d7a7e17c39607778ec83bf0738 docs/models/platformproblemdetailcode.md: id: fd61a3fb0333 - last_write_checksum: sha1:a1d01a7e9ba65fba741eb7ffc7c318ec2f00a28b - pristine_git_object: 4495e9428d4e4bc178b29fdfbc074a234e89679e + last_write_checksum: sha1:07ddfb960cea5f48bb29a7d5dc4c9322bf084ecd + pristine_git_object: f05ce1092f71c04c364c92dae4eb763b165d9a51 docs/models/platformproblemdetailerror.md: id: 2e752ca0f45d last_write_checksum: sha1:250c20189f7d3163d46e0036b2a7d8867f12f788 @@ -4114,160 +4126,160 @@ trackedFiles: pristine_git_object: 61dd41f0319201cc105e29174ab1cc0018cecbce docs/sdks/adminagents/README.md: id: 665e1b8d841f - last_write_checksum: sha1:3b4379b4b3509c9bafc8223e9e9e88d1dabe4ba9 - pristine_git_object: 1a1f821697629966f8c8f70989dde59e0bb31572 + last_write_checksum: sha1:d50cf9d9e2bb56f020bc12660a21b4f4e524257e + pristine_git_object: f4b51cc52c9bad4caf2be6176112e6d55937a07a docs/sdks/adminidpgroups/README.md: id: b6a9054823ec - last_write_checksum: sha1:3e361f9e517caf0a8c82caec5bbdf2f234fa8828 - pristine_git_object: 40a6696e976321ad9dc507fcca55d4032325fd68 + last_write_checksum: sha1:491474aa4e883a8915452f676fb15b5b45db390a + pristine_git_object: 0574fa5679645560b594228a2061b0c3c9326335 docs/sdks/agents/README.md: id: 5965d8232fd8 - last_write_checksum: sha1:2f43583c532976156213dab99a4fcdf3b3a16853 - pristine_git_object: c7d0fedcfc7891ca094cfc16fe1361c4df450131 + last_write_checksum: sha1:6d160692ae56a85a69f2418f8b58b2feb6934818 + pristine_git_object: a2e5d7184206ca80311a7fbfbc8387592804251d docs/sdks/announcements/README.md: id: 3d2e130a217c - last_write_checksum: sha1:ecfa655bb27dee6890656542cfafda0aa6ed1ab9 - pristine_git_object: 6ce0ff139c5632014bea9e058cd99976050e4b14 + last_write_checksum: sha1:e6750d27c83a17ac456bc84cf48a2c8d36a0d5ee + pristine_git_object: 09c63507deac03ca0ec0286f129581983220a851 docs/sdks/answers/README.md: id: d1b7559999eb - last_write_checksum: sha1:7262134a488f040115987caff387afe46a6d2aaa - pristine_git_object: 1ba6c974c761b772b303723b658d4e8d3168f981 + last_write_checksum: sha1:3a59beb280771a1eff9215b063654f6dd7ac836c + pristine_git_object: 7a32df2aaa86d449b50aa15dc7bd474076ca50c7 docs/sdks/chatsdk/README.md: id: 83b4ee321663 - last_write_checksum: sha1:4862ffeb5423c2f47932ee26d55001fb90f21026 - pristine_git_object: 022f1c28c3489c115075e4a2e7e7bad9cd40ba1c + last_write_checksum: sha1:64b2ce055233154dba6deef92f03300a9ce2a089 + pristine_git_object: a165ba19b7f5f35c817524c8fd5ab4e0dbc477ce docs/sdks/clientactivity/README.md: id: a309613986a5 - last_write_checksum: sha1:d9737458d891593ba2fb3372ab6e60ea728fe9a5 - pristine_git_object: 456e90e3a787c1e62f09a17d297f1cf756c94d49 + last_write_checksum: sha1:d5807da8dd2a67bc3b4fe60ed32c057e0e3969d1 + pristine_git_object: 34d00a051650781f7f9fda4acb1cc2bf1cb2faaf docs/sdks/clientagents/README.md: id: 8e00e6d6b64e - last_write_checksum: sha1:30b0797795425a07167506a1fee0bfeaefeab473 - pristine_git_object: 4df20f8a5db2773fa76d4ab0a82414da505de16c + last_write_checksum: sha1:1afa954d47c77957c200643bfacada17e4871b0c + pristine_git_object: ec14863057bbf3d5539a44782bac484668383d92 docs/sdks/clientauthentication/README.md: id: 463bffe80b61 - last_write_checksum: sha1:406e18430be9d365f6427c804b3992c880c39498 - pristine_git_object: 7d4827b24625995a7f7a98ae5e4c8342f3b91737 + last_write_checksum: sha1:e48d9ddcfe865ea75c3c1ef03da6b830af65af67 + pristine_git_object: c50cb20e9b2bcba77cfd67322430ad775c8df0b5 docs/sdks/clientchat/README.md: id: baf998e3d238 - last_write_checksum: sha1:c0231ad351e101ad0f74e70c3b19e474eb510183 - pristine_git_object: dae29ba811afe3aa3d17759779e0542e88048754 + last_write_checksum: sha1:7dee2a253d5c45dc2754cc40e95cce9e4adceea9 + pristine_git_object: c59d035d00191f121c302b6b5a2329f4482e477f docs/sdks/clientdatasources/README.md: id: 0d629dc3ac5b - last_write_checksum: sha1:05eb42287569bb139f48e0908139d6cde0c04dad - pristine_git_object: 83d845c004a80375e53ad2e2db956728ed261611 + last_write_checksum: sha1:546f3aa46d203d85bf3808a17e1556d0f4949f51 + pristine_git_object: 59f4a92b50c18ea1b842ef98fcc1cec474543b94 docs/sdks/clientdocuments/README.md: id: e0c074acef4e - last_write_checksum: sha1:b0b1431d3c6e9d4f3bbd7af162a0676db38179c3 - pristine_git_object: f2fd9a073a663ef8741c07c7f84fdd3da8ed372c + last_write_checksum: sha1:b68757451528d3db776d89f8429cbfd3e6c2654d + pristine_git_object: fd4c69477d809e0eb57fb7583a0dac7202cb8db5 docs/sdks/clients/README.md: id: ba883fd0c1cf - last_write_checksum: sha1:a74de30b8d89345e187c0095fc276cae6a5427e7 - pristine_git_object: b0ebf46dc07412f5f7bf2cbe18186aff456627af + last_write_checksum: sha1:0a6a714b890937142d07c6036d56907b4cd430e3 + pristine_git_object: 3c679b0187d753c19660e37d43f6978052219afa docs/sdks/clientsearch/README.md: id: 0a2a3cf68489 - last_write_checksum: sha1:792ad600ca1e647e3ad809fa9457765525082a2a - pristine_git_object: 2ca2ff684717b3d458fc9313661acaac6adfb31e + last_write_checksum: sha1:99ccebe91c1ecfbd78fc84eb3a3b804e105ba86c + pristine_git_object: a8a4bf7e9df7fd3bfdfc3805ce6e8ba47f14fbd5 docs/sdks/clientshortcuts/README.md: id: d5a9d841b61c - last_write_checksum: sha1:7f0f509d6b4242e72b854162d5f052467f2aee8d - pristine_git_object: 67222f0a0b9b62f5e2941e70ee0b156c9dd2c095 + last_write_checksum: sha1:182d6423cc532cbe2fdcc5281643e9e60bd7808b + pristine_git_object: f9cfc1b4ded07c3b2cff7d81dff1ff873f7791e2 docs/sdks/clientverification/README.md: id: e8d533f9d15b - last_write_checksum: sha1:7daee0f15f8ef38b45bf6209d24edf237a7ef281 - pristine_git_object: 63fa8d6cdd4a228402f5e6670422f8adf4613081 + last_write_checksum: sha1:104b8c50aaf526d94d4c3ecaf1df31bb69435326 + pristine_git_object: d321b39471d66e7278d437382fc9b71acd9a6687 docs/sdks/collections/README.md: id: 7985e64efccf - last_write_checksum: sha1:dc796e60f8fa9fcc76ffc85dbb4d68ab4b2a3663 - pristine_git_object: 08b788c02643b3b8efe0c78267c5ffd06b22ae3e + last_write_checksum: sha1:ab9ac7c5611ceeca78697e09480bbb463617996b + pristine_git_object: 803ce33aba811939df8b9fc9b88cc4b5372a286d docs/sdks/custommetadata/README.md: id: b95d224c9f1d - last_write_checksum: sha1:44527b6677330e2c517e290497b8dbe037826c83 - pristine_git_object: adac51700d9683a41dffb2f5c20ee18008a9e135 + last_write_checksum: sha1:5937fd21b61dd7c4d6f80cd9ea79822a3bd2ebbf + pristine_git_object: 591db4d22a99e6ab341f39b8573f9a46e0777c37 docs/sdks/departments/README.md: id: 12342c54f2cb - last_write_checksum: sha1:e3abbb08c60be2f69e06c57fd4145e8d0b01402f - pristine_git_object: 245fe6eed59b71fd6115e51c670c5155af652ce5 + last_write_checksum: sha1:f31385f326d09b3ec9f198840ac5c116f3445a75 + pristine_git_object: daa008d7229a9ca396a45ac7c6edc18698ff46f0 docs/sdks/entities/README.md: id: a140ac5181b9 - last_write_checksum: sha1:bc03774c1d8541c868fe35963f549a1151a4648f - pristine_git_object: a5c95e0ed9dc9054df9e3c28baf3ae23c8e1cde7 + last_write_checksum: sha1:d607b8bdb3c7c07a73be252e0e1dc7d9307ea2db + pristine_git_object: 123e022aa63ad8e4f1214f33fdec1bacbfa01f70 docs/sdks/findings/README.md: id: 7f7356eb9e9c - last_write_checksum: sha1:a618fec79b28b3add3b1a5620333ada8bc24f8fe - pristine_git_object: a6076d270adfb8f6e3e10ffa0b0ac8857911499a + last_write_checksum: sha1:7daee06776a399c197fdb13779d6327a01462daf + pristine_git_object: 36032b3374d61a37112e75c1a29f83a40b0360b5 docs/sdks/indexingauthentication/README.md: id: 3d8b5fccff24 - last_write_checksum: sha1:db7a93bc9a6bad6ef56063825b85e78a032df1f5 - pristine_git_object: 4dd9ebe7439af304d7e2b49caec3166c853591f2 + last_write_checksum: sha1:1709b4ca8c1f04c774b5f9f71fea45ea70a74309 + pristine_git_object: 5dc2821b4092bb7db7eb1b46eda18128d26e17a7 docs/sdks/indexingdatasource/README.md: id: 12c7fa0c818a - last_write_checksum: sha1:6ef7ed841d5ee04864791ef63a43f728d931b713 - pristine_git_object: 9e293dca8d87e21416cedc1dcc033cf091f9baac + last_write_checksum: sha1:10a15180541e2407bf39e5a790ac6bd438832dbb + pristine_git_object: eb0623b5dcc1fa58340648118ac330cee93807af docs/sdks/indexingdatasources/README.md: id: aa113bda8cbc - last_write_checksum: sha1:ed055d911a085011480ec1186385b6623d10d7e3 - pristine_git_object: 2cd1df569670197b98cf7953d6d72ade92909e14 + last_write_checksum: sha1:7022cdb7b39af39a7d52408e6c382679f624b9fe + pristine_git_object: 3c21aac19076c397a31e2a4cd7abb3520073eff4 docs/sdks/indexingdocuments/README.md: id: 7ca38da53414 - last_write_checksum: sha1:43f26e39da399be27a91f5a3364a29cc7d0ae769 - pristine_git_object: b477bb6d74a827604e232dd54f155f309fc54e59 + last_write_checksum: sha1:b0b2bdd9d8b0191b2750878cbc4d3263ef2de87f + pristine_git_object: b67bdfe91f37d0a3d051f30fa43098ee548f060b docs/sdks/indexingpermissions/README.md: id: f13d7f2a062c - last_write_checksum: sha1:06ef4e2ff054e62867b2c6add2e90abcc7d0ea5e - pristine_git_object: a2231eb1cba2a1753012ea00667e6a51601b888a + last_write_checksum: sha1:765e624efbe13d04cfb545db85214db0954c0e49 + pristine_git_object: 4090ced24b9deebd5197393222d3475789553d85 docs/sdks/indexingshortcuts/README.md: id: 5cf29bd168af - last_write_checksum: sha1:a5e8c40acb0c02d2f37e2595aab1170492a126bf - pristine_git_object: 6d8cda7ab4483ef459462bbd02a38ff90befddd9 + last_write_checksum: sha1:55a85a6ab5c792af15006b8754f666b623ab3d09 + pristine_git_object: eab15bfecfdf97d4e4bd75dfddaea33dacd615a6 docs/sdks/insights/README.md: id: cc2be3db9032 - last_write_checksum: sha1:b728f8f8b440f3d0f096af71b3e0c1b8066e0336 - pristine_git_object: 9dbe20451c96b5bd47aaf8740af5850fa0368286 + last_write_checksum: sha1:3c92e50bc1bb4395ab1c33e923fe3787df87f4ae + pristine_git_object: 95b9ecab942c61399cd0367446aac1fd16a463ba docs/sdks/messages/README.md: id: 3f1f6d38fc33 - last_write_checksum: sha1:6d327bcc514b9cc83209ec389e0f034ba9b9ebe8 - pristine_git_object: 0aa193b38d7d95cd3301469f9a6ad1260a1b1b51 + last_write_checksum: sha1:f70725881be7b69999dde7c46273d096cd7c0793 + pristine_git_object: 754dd6635e2b25d55f530806b0ec5cd664ec9b95 docs/sdks/people/README.md: id: ff7b3ee21c2b - last_write_checksum: sha1:f07b2b957057f2f0e4c4b2382746c4199dbba794 - pristine_git_object: 6544cda9c20ea7fd7f36bf629f5756400c9e4a06 + last_write_checksum: sha1:1faa5ccac6519e60655fa5eeeb641f4579ec0da2 + pristine_git_object: 05bbedba11abcba93683c12fdaa22478ea24e5d5 docs/sdks/pins/README.md: id: e887aca9ba0f - last_write_checksum: sha1:c11aea840d911395a606a528575fe224c8a6b86a - pristine_git_object: 3a4952c34995f080649e326e0deca557b6b9fa9f + last_write_checksum: sha1:6cf2f8e32faf8da5c268aa0f0d1ed2526fdb8baf + pristine_git_object: 992d9ac4414e8e583e0a270fe0cdbd1a20d9de5a docs/sdks/policies/README.md: id: 636269b04e57 - last_write_checksum: sha1:aba178ecf4b69bad99532d1b7493d64161109cfc - pristine_git_object: ade2483c76b4e6c0066719a29467e2ce84457299 + last_write_checksum: sha1:1cefdff6d9a78c412dc37de8304a2e11f0544bdc + pristine_git_object: e06a874e295a4858f61a37b2f5e51747aac2d0cc docs/sdks/reports/README.md: id: 66bfd66f1efc - last_write_checksum: sha1:36b7f3df686ebb55fea4c9b07fdece5d99cefc57 - pristine_git_object: 5dd26e03b79389a3e71e90f9a3ce29b7fa384dd9 + last_write_checksum: sha1:81724f0b353f58a01dde402da85ab2602b86fa62 + pristine_git_object: 6dae1cb2e68a7b2f8bcf338543f8a5a222830a13 docs/sdks/search/README.md: id: 5c534716244c - last_write_checksum: sha1:8822120d8629c5e901e7980fc73fcfdb18b71234 - pristine_git_object: 43e735ef788378a15ac4a6e52aa4843ea4c5d4c8 + last_write_checksum: sha1:022e913d9c00b87af808f366156b31a6f3a23b0b + pristine_git_object: 816c6349ca6c0222e83d4bc0399a8479c9c726dc docs/sdks/skills/README.md: id: 3a14a5c90791 - last_write_checksum: sha1:86d96a041a5ab57b6a81ff70301fe3d4f142b334 - pristine_git_object: 6c9d5b42da5a3cff3e329e3960215a0ec0c9cb3f + last_write_checksum: sha1:9e6769748ecd96d412e3fea2367d2749d24753f5 + pristine_git_object: b7dcfee43bffb09eedb56518a692e80170ebe056 docs/sdks/tools/README.md: id: 044286549bac - last_write_checksum: sha1:9b9a8e80c1d16018bd66150ba482b83825d6cf67 - pristine_git_object: 8a3368140d93e032981bd19a4cff0ad9c35e8f1e + last_write_checksum: sha1:da2b249043a5e24cd7203bc60c990a3d4777c740 + pristine_git_object: e8694d9a9344e53c7ae2a622f4eeb5ba07815e7e docs/sdks/triggers/README.md: id: 6706220e8a9c - last_write_checksum: sha1:2bf6136aaee1c615729b74a54110abaa364988f8 - pristine_git_object: 6b9d92d27e03823947907a1ed59fa53cf3fb9190 + last_write_checksum: sha1:210a9f54abfcf774bd6c695356bb07fb393030ed + pristine_git_object: 247855caababfe9bd69dfdec41b48c0ef37ccde8 docs/sdks/users/README.md: id: 5d80027045fe - last_write_checksum: sha1:1c7a70e0dd97ed4efe58da8669196e14ae985457 - pristine_git_object: 98da7f5261c26fb4dc7c84a94cb29a81e555b6e7 + last_write_checksum: sha1:3d2413654479e392ba2ea3f910e78c2c3bddc825 + pristine_git_object: 5fd6a2c999be94752411349e0a8be17f582fc7d3 docs/sdks/visibilityoverrides/README.md: id: c7d003d6a68f - last_write_checksum: sha1:738c52c3b0964cfb441542710e10c51ca226f177 - pristine_git_object: 049688db4fc3ea7f96261f459b61d5620bb16bbe + last_write_checksum: sha1:fc3e187db9d3cc0e525fa1c3f0a6c309f94ed64f + pristine_git_object: f2e8bcfb149c79f1c82eb02ea359289d871257e7 poetry.toml: id: a81ade82122a last_write_checksum: sha1:2242305e29dc6921bdf5b200aea5d4bf67830230 @@ -4282,8 +4294,8 @@ trackedFiles: pristine_git_object: 79e388be87446ab6a4064b372bad0e8376d0cb5e pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:ddf703bb6974836c859ff3f3e3089b3bdc1a6cce - pristine_git_object: c74b72968e01e12562d879ff19da347b40dc299a + last_write_checksum: sha1:003cddea4fc0057d9c058e10ce0a9e6ae58eac9d + pristine_git_object: 6aa023a986a341135adb39861cf3790f28138602 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:c2c83f71dea61eb50c9e05da83b16d18b4da8794 @@ -4310,20 +4322,20 @@ trackedFiles: pristine_git_object: 55f23c1feabfedeb7e8cd5bea8b910f0ae0b77d9 src/glean/api_client/_version.py: id: 0ce22b26136b - last_write_checksum: sha1:aebdb9d80416954719b36214f2d6462f3d6d8913 - pristine_git_object: fa384545d790a2d894cc356132a5fcbe66d006c2 + last_write_checksum: sha1:91c4766b62bdf365855ffb94f52d92b75dd75b93 + pristine_git_object: 6b38d08c1593f065048b51a4f8560118abd49926 src/glean/api_client/admin.py: id: 583cfae82adf last_write_checksum: sha1:3c462f418d2b32a90c92f88121867a73295b0c6c pristine_git_object: 62e930d23735d95ec2a736110b91b1221475ef4f src/glean/api_client/admin_agents.py: id: d9becdfd4be8 - last_write_checksum: sha1:5a336e49a2de91526949d0ca80ba6460965ea896 - pristine_git_object: 612c52bf93d929396cfb697488797617e075340b + last_write_checksum: sha1:0d7b31ddd59925c2d6d2e9c44d19660d797b3a17 + pristine_git_object: 2b51dabd195c18293d12c7e1d09e54aed4a08e43 src/glean/api_client/admin_idpgroups.py: id: 8f0ad8c9671c - last_write_checksum: sha1:22b1e99baf17be31233655fce9ed2e9f52413a77 - pristine_git_object: 619c63bf64aad2f830e83c6886306de842ecc550 + last_write_checksum: sha1:d4143160b8490eef6943ff2dc22a5cdb24f8f3af + pristine_git_object: 79752d0b5176ee2a0aab8912a2713251cf6b2b72 src/glean/api_client/agents.py: id: b925701a9217 last_write_checksum: sha1:0e3dd95c81e2d38e1a13c1a0821a37c991ebade9 @@ -4342,8 +4354,8 @@ trackedFiles: pristine_git_object: bf7b1b3b25ce6530403b0dd9f60599d236c780ce src/glean/api_client/chat_sdk.py: id: f2f30e13ca42 - last_write_checksum: sha1:8fdb0ef4c29c4b1c5c85dbee1c46d5f679c1435c - pristine_git_object: 427b775456514d6e9c55e30eca4b5ac0dbec4a76 + last_write_checksum: sha1:bf7b4a0e797c1166d32b9cf3649bf95b0ee90b13 + pristine_git_object: 90a6907a2456abf6d050fea70b46e08f576d716c src/glean/api_client/client.py: id: c0c188098f10 last_write_checksum: sha1:bfadba5dfdc64280fd9c7bdbf96a0651e5db429f @@ -4362,8 +4374,8 @@ trackedFiles: pristine_git_object: 9cd4f878de6dc1a2e29fe9456824cb66fc6a3c4b src/glean/api_client/client_chat.py: id: 42cbb9b5acf3 - last_write_checksum: sha1:16aedf83e7fcec7161c2138c7e4546d5bcc9362c - pristine_git_object: 3c75dccfc8d8b03437e887404c06e3ae34fc62a9 + last_write_checksum: sha1:f9d4a747188a5f14a838a6ed33acdb0f44f5df76 + pristine_git_object: 0363e4b03fb38c2212c7bde821d4b21e93365308 src/glean/api_client/client_datasources.py: id: 75635d40099f last_write_checksum: sha1:3e4ef743bd527805f995f264c011eb29a0d4e41a @@ -4386,8 +4398,8 @@ trackedFiles: pristine_git_object: 706d849954ab96c0c5e733d935165dd97299c77b src/glean/api_client/clients.py: id: 42c841daa28c - last_write_checksum: sha1:2bcfff95d9396bc03f67cb10cc36ea5d989ec673 - pristine_git_object: 2261caa207b73f0ec88b7bfa5fd78994b488b998 + last_write_checksum: sha1:f86a32d6719d6fb5f5ea393a1ca31212e660554a + pristine_git_object: 0a77ba5c2db5d7529b6ed4b7b46f6550b9ae62fd src/glean/api_client/collections.py: id: df34f0fd10dd last_write_checksum: sha1:5d77fb8de24b988fc5f1e17ee81a87da1f512e50 @@ -4402,8 +4414,8 @@ trackedFiles: pristine_git_object: 1187e013fddc68f46bf0601237a4d8d6ba878e41 src/glean/api_client/departments.py: id: 04b4ac5904bb - last_write_checksum: sha1:45e98b114fa2ba71fdbf90805044f4f561530c83 - pristine_git_object: ec84bc780af75a8464331839f85d7c7dfc8792c2 + last_write_checksum: sha1:6cf52b8fb0154eee44000a3b1c35936b33097628 + pristine_git_object: f228808c411fb4cc31efaffbc40e79df6fb54fa9 src/glean/api_client/entities.py: id: 38ebbab2f8a0 last_write_checksum: sha1:206168b489dbcfccd78cfab6e655c1228af50b7f @@ -4490,8 +4502,8 @@ trackedFiles: pristine_git_object: a0e769b23bdc4eab40a84fc690922d9cc4e933a2 src/glean/api_client/indexing_datasources.py: id: 9520e2db8686 - last_write_checksum: sha1:0f3af675c4a30dcfc314d299af9381ed8120c7ac - pristine_git_object: cdf0f4dbd0b9b08d84f409bb788cf3bc4b614406 + last_write_checksum: sha1:2ce5f14098fe6c949c618b53cb3f08268ec2b782 + pristine_git_object: 81ca4683b5818edd5387a65cf28a946bbfbc4868 src/glean/api_client/indexing_documents.py: id: b5c2b64ee1fa last_write_checksum: sha1:85b2a4dfcd8ba48f329c26398803d03775cb28e0 @@ -4514,8 +4526,8 @@ trackedFiles: pristine_git_object: b140b656b788bb0deb8a974420783b338f0521e2 src/glean/api_client/models/__init__.py: id: d5f6ea5efcbe - last_write_checksum: sha1:dffc8da8788561da062b8ac63a819f5156e1bbcc - pristine_git_object: 3f9f860baef90858f60d016cc3f82b7629552a53 + last_write_checksum: sha1:c4d14d6343b67c341b7511905e32678e3ceccf1c + pristine_git_object: 3c6b253355c15933af9463a1e7dbb07ac9fac5e6 src/glean/api_client/models/accessrequestpermissiondeniedresponse_error.py: id: 22a2fa0d5899 last_write_checksum: sha1:f7dd6f906a4dd7433992f77395f9fb491fa5ac5c @@ -4534,156 +4546,156 @@ trackedFiles: pristine_git_object: 512b9f6f3489b6a7a6fd936e145beb7fead6a840 src/glean/api_client/models/actionpreview.py: id: 035b3a169f75 - last_write_checksum: sha1:c09e5f7d3e1edd09572070088c1071712a752bb2 - pristine_git_object: 8aada5450c888c40a6e4dd70cdc41f774e551c9a + last_write_checksum: sha1:1bee33ff766382b66c3cefe8a14dec253511c999 + pristine_git_object: 9b9eb9b3c7ecf5340b3a405db90e5a6260394483 src/glean/api_client/models/actionsummary.py: id: 34ccdf9f1526 - last_write_checksum: sha1:cfefc6678a5612dc8d50f2b0074dc54bb88e00e0 - pristine_git_object: 399db3e4ca60dc5a26085e908c780329b872d7b4 + last_write_checksum: sha1:564b2dd324a3f2a34f95363b30d580e03e12723a + pristine_git_object: 8b469699e7764408bb1c1b9dcde381dbe6a88408 src/glean/api_client/models/activity.py: id: 6ea27628a0fd last_write_checksum: sha1:27f676cc8276973c98176252bf06e2b4b965935e pristine_git_object: d5bc29a46f4e35c5115aaaf0fd1ba770bbd637f2 src/glean/api_client/models/activityevent.py: id: e335c36684c8 - last_write_checksum: sha1:8ca663ccf2ef6fa2b20b1983ac1bd71799d6c594 - pristine_git_object: 4f6bc8f3f3dcc86be5395566c7363e7951ef273e + last_write_checksum: sha1:2a5163cc76241ca57d8b92e7490648cd65253788 + pristine_git_object: 39da58b0f82c1178989f73b08fd70d872a428ad4 src/glean/api_client/models/activityeventparams.py: id: f6c9399e1ae1 - last_write_checksum: sha1:46cc6bcdfe08d88c42c885dec74b11fb9b0c0ab7 - pristine_git_object: b084d4af9c37f9360038acba8620f6a928c8b3e0 + last_write_checksum: sha1:9fc36536f49a0ac84d01eecc2d33d3fd351b47e9 + pristine_git_object: aaea0a9e9fb0963f9077ebb396edc44f6d4298ff src/glean/api_client/models/addcollectionitemserror.py: id: 331e64597a08 - last_write_checksum: sha1:d0b29d465ddf93d455e701a30f72ff9ae4d5b46e - pristine_git_object: 8f738ea36bf445ab6ccd08d111e6d64804c63bfe + last_write_checksum: sha1:e38c9203c155034e2421a08452d7af825d6ae8c8 + pristine_git_object: 76a1cd1830532d8f982f53a84605c22725f58163 src/glean/api_client/models/addcollectionitemsop.py: id: b74e2acd56ce - last_write_checksum: sha1:9fcffec0959386f010452d2f7b086a130b6ca0fd - pristine_git_object: 2cd893c637bb8b92fe77b5a2f20c0e9a08cd4f0f + last_write_checksum: sha1:1eb259986111820f29655320594c2aab4f96de08 + pristine_git_object: 6edf2f04671d792acac35d5940a733d4fb2ecd13 src/glean/api_client/models/addcollectionitemsrequest.py: id: c17a58ee4169 - last_write_checksum: sha1:39bdc6f03c053fb55adcbcb2209d8e2ecc9a4988 - pristine_git_object: b440c09be3cde09466a4d70231a5552a056aec44 + last_write_checksum: sha1:76a1b2372f84d4146001ee20e07dcbfebda1ff5d + pristine_git_object: 4fdd6189c1120254a8d1c86d4af4bf31e708e972 src/glean/api_client/models/addcollectionitemsresponse.py: id: 692242e4f85c - last_write_checksum: sha1:ffaa821257699b0ba311f1bbf832eaeb8d2a77a9 - pristine_git_object: 80294bce5a22bd4bde89abc607fdd453e1c23541 + last_write_checksum: sha1:a2c046ab93d0fd0ee6e5cc215be5b532f7e41289 + pristine_git_object: 5eef64dc120268f0f7ef35f144ea3ba86e31ef9f src/glean/api_client/models/additionalfielddefinition.py: id: bbb5186e656e - last_write_checksum: sha1:62f14ca1273b7c784c38c46f853862d81a298e3d - pristine_git_object: 75e99935bb393ea10f44d384ff629e6445dae2f9 + last_write_checksum: sha1:d0ba7c302f124cb929e1df9a3fb0adfcf96ec8e4 + pristine_git_object: 529ed30306205729cf4c831dacee32dc2dbb63c2 src/glean/api_client/models/addverificationreminderop.py: id: 333d8f0e3e72 - last_write_checksum: sha1:3385d15b62664b2816a9c1671158de067dff21df - pristine_git_object: b6b9c1a245a6092084d14c4842cfde2696b8c477 + last_write_checksum: sha1:bcdc6f8bf43146bc871c5bba9f6b2f3892b4584a + pristine_git_object: db8ccb228854c0b59d7a1939027652535575c218 src/glean/api_client/models/adminsearchop.py: id: 3008f93ed424 - last_write_checksum: sha1:1320bfee596c5f9ba009617da324a6b32c51883c - pristine_git_object: 6578e5e3116dec2bf0f6d7a138668e614fbfa4e9 + last_write_checksum: sha1:9cd362deb0d0f79985c0b28d97ed9b3bfe2d9c9c + pristine_git_object: 783a841b6aa4338efd2d0c3568943457b9ea5374 src/glean/api_client/models/agent.py: id: f8192dae32b0 - last_write_checksum: sha1:3ed08dc2b92d12b407c7e9f7d4ecb5308a6ed3f9 - pristine_git_object: ce46c0888ed7f928eacc8c3f6ea4d8bc03521a54 + last_write_checksum: sha1:d09b786958228579671001ba189ac4a3dd2684e2 + pristine_git_object: 30b6f6b082e25ba04e760e132351a4891356f37e src/glean/api_client/models/agentconfig.py: id: 6bc960f78847 - last_write_checksum: sha1:58b2ce5dbc8527ddd55997535408fd1100780b2b - pristine_git_object: 2a7bb3d113f4379cc94a8299f64b98ac3b52c90c + last_write_checksum: sha1:1e4620a074b8d4929873ada7e0a2226384dd9b19 + pristine_git_object: ed02f12a82ce7f2e851e6f63546bd36f15c0df17 src/glean/api_client/models/agentexecutionstatus.py: id: ab4f2c2f8eed last_write_checksum: sha1:d3bb768f118d7474a4fae0a7685922c6405d0f90 pristine_git_object: b93cae26675bab7b692af5f97f005040faff7958 src/glean/api_client/models/agentrun.py: id: b808ffdaa4d9 - last_write_checksum: sha1:152bc21e131ae652cb409cb64934d30c82d538dc - pristine_git_object: 0439dfdf5688b4cadb00dbbf24a97436e55530c1 + last_write_checksum: sha1:335cd61f28bed317d8b8e9e93ec568f50eeb2270 + pristine_git_object: 188531abbb975129fced0f22e3ca3b7d84d386e1 src/glean/api_client/models/agentruncreate.py: id: e987c7a76285 - last_write_checksum: sha1:f2e7c3cc5ddc4d81024a1f211d6ceb44d99aff03 - pristine_git_object: c85f04f08dd5c38cf2ff61fe97395591c834a921 + last_write_checksum: sha1:e0fef8ffd7353f13d24767aeb9560565af028828 + pristine_git_object: c3602c2561750270d212c22db3f3d05f74c758a8 src/glean/api_client/models/agentrunwaitresponse.py: id: 063b87daf535 - last_write_checksum: sha1:6a4a302684707e649a91c32c45192b6d2e06650e - pristine_git_object: e09e51eb6c09dbb2493276a6e99dbfd43503f18d + last_write_checksum: sha1:048ac0ea0eb9133bbbaf4ccc181b79933687d82a + pristine_git_object: ba94ca5cfc35c2761d444770c4ff305283c07f56 src/glean/api_client/models/agentschemas.py: id: db15c1840e94 - last_write_checksum: sha1:d401bc6e8c268f7181850a0eeacce99c32dfa07f - pristine_git_object: f69f31564d278cd6d06e5ed963930d0ff6889988 + last_write_checksum: sha1:0a062c153f73dfe36be506469544f0fc30dcd60c + pristine_git_object: 69b488b5aafe1f9cd173d66515a2ede6d969579c src/glean/api_client/models/agentsinsightsv2request.py: id: 754887d301a3 - last_write_checksum: sha1:e147acd1ee591ad2cf0f465ca1ea9d7a51f95ec4 - pristine_git_object: 13a2eea4ef93e17d15c5544eb72bf137563dd817 + last_write_checksum: sha1:7ea004d40690a4856784be6b9896fb53e83376be + pristine_git_object: 2e8a252b55a3c840b17610b6fd4bd1c46f4d7f1e src/glean/api_client/models/agentsinsightsv2response.py: id: 2bb9ea2bc70e - last_write_checksum: sha1:611e126409f9670e1c5598a9c4e7b33b02a37ec3 - pristine_git_object: ae50b9b4074f162313733eb3893d4d1f2b7adfe2 + last_write_checksum: sha1:59017fff7a9a37a75a556f91287ec2f619cfaf1c + pristine_git_object: b5f2a95b77158ec1f793d66e63deac124af53e85 src/glean/api_client/models/agentstimesavedinsight.py: id: a0f77b3b907e - last_write_checksum: sha1:ade060149f91b527306789ab799f7aa5174416f5 - pristine_git_object: 25a613c6e515b61c98f37ae345c340b725593aed + last_write_checksum: sha1:d4bce0b798f08796c99a205b0bcfb6908e6b47a6 + pristine_git_object: 77d8b4766a581aca4d5ca54f696121242fa43294 src/glean/api_client/models/agentsusagebydepartmentinsight.py: id: 50317bf09cb6 - last_write_checksum: sha1:6ee545d0cdd6246b7b743870984e71276ab7dfd6 - pristine_git_object: bcfd9c3071b5b45fcc0e64f404eb8e8f83e51cbe + last_write_checksum: sha1:c5b4a8de3d290582674338dbde4b74faf03360e2 + pristine_git_object: fda33b20af1146b9378576e8423c4c314a599c2f src/glean/api_client/models/agentusecaseinsight.py: id: 80df217107c6 - last_write_checksum: sha1:3885677fc8a2c8ca926e9186337a3265d0d99afc - pristine_git_object: 4841a4ed05f1d52a81306cec477439e716591ca8 + last_write_checksum: sha1:cdce663ebc84db59ce753bccd1c720d042d7a18b + pristine_git_object: cd02cce742cf3d2fa3e68940958e27f5315d4ea5 src/glean/api_client/models/agentusersinsight.py: id: f40366a65563 - last_write_checksum: sha1:8190b560df9c90f0728f4d752c68eea4c1834399 - pristine_git_object: 13ed679e9400d9033694cfe6c511fb29cbb6932c + last_write_checksum: sha1:4b91115607a1cf3560de0f19b499eff42099953b + pristine_git_object: c0f60fb50a843a4d4d739c46315dd7eca1d8cc80 src/glean/api_client/models/allowlistoptions.py: id: 956eeade455c - last_write_checksum: sha1:60e440360bb3afc80ac0c66ffb03640979ce6426 - pristine_git_object: 0059b3cd1a9aab08d223c9c720fe273155308c08 + last_write_checksum: sha1:80dc6704518899d7ce9f27d3cbb9d010ee0d4877 + pristine_git_object: ad95b7a464722e1cf885d5d4d2779543e76855ef src/glean/api_client/models/announcement.py: id: acb78a04f33a - last_write_checksum: sha1:bb0db0f198ce4f96dbae9310c2e9c9e239017659 - pristine_git_object: 2e111b784cffc91aaab63987dbfe4ab285238386 + last_write_checksum: sha1:124f3a41d204bb2dbab5f6a3b3cab97dbb0cde68 + pristine_git_object: d378b2d3a6ed0ef4b07a0c5f3e7cfc185109fbca src/glean/api_client/models/anonymousevent.py: id: 6b288f5ca26b - last_write_checksum: sha1:d7e0c848973745ff65222d74f7c2f278bdada0cb - pristine_git_object: 96c2e34b459baaef343e118b8f4177ceb5532b99 + last_write_checksum: sha1:0bdc0043ad023c307ac7aefde4d5f9b121c65226 + pristine_git_object: 07bcf5d2015baa6e50907db0fd8c34f22e14fa7d src/glean/api_client/models/answer.py: id: f7b69d1846ba - last_write_checksum: sha1:a6f31b48d2b194e64a8532ffdc39e983273edbc8 - pristine_git_object: e14d6240198752531c3b869c7b13fe4a43b77ca4 + last_write_checksum: sha1:955125d29e5c9aad9d1c8a0d20ee330a844f0708 + pristine_git_object: 1db2b6b377bc7eae04a092c73e2fcfc9099b9ea4 src/glean/api_client/models/answercreationdata.py: id: 85c82aca1720 - last_write_checksum: sha1:fbf094a68f5165d6d9c4811b979b84997c24bf55 - pristine_git_object: 447a1bc777e66db3472eda619fd4cf811fa09036 + last_write_checksum: sha1:61333f0392ee731a7020ea7304c9ee6cb7da373f + pristine_git_object: 9bb8dd72eb20bf654ae5c67e92607ac18d4c387a src/glean/api_client/models/answerlike.py: id: 9425fe88486f - last_write_checksum: sha1:08b729b9374fda266ee3c889985d6a092b5dd6d1 - pristine_git_object: abee3d1ad9a75461cd60429454ce56948ba71a0c + last_write_checksum: sha1:c717e3e2fb55c3e5261fac2b24a2810620be4a6f + pristine_git_object: 3cf256624c1da48b3641fea862f7deb00b2636b4 src/glean/api_client/models/answerlikes.py: id: ea4601f607fe last_write_checksum: sha1:f921c97ea220ffd86a43907f35323a17618c95a6 pristine_git_object: cd1539f06f5fc78656fd0bcb090b0841cdcca997 src/glean/api_client/models/answerresult.py: id: 4b17918508eb - last_write_checksum: sha1:ecaf4f3a444fecccff6a4d89a4b19b2cf7f15657 - pristine_git_object: f0b6ce8ac6251aa8d88774c623b920c99ad8c47b + last_write_checksum: sha1:d36e2cb0cce55430ae27a214d207cd617554eb24 + pristine_git_object: 77919c71a8325fb63d767b6bd93601461a42dd70 src/glean/api_client/models/appresult.py: id: 90f48896fb46 - last_write_checksum: sha1:3c4b307b7a965ff51f2f8b9c0d8d558563b397b7 - pristine_git_object: 2105b7fe8cacbb74eab2c4d13bee7fe20af2c855 + last_write_checksum: sha1:af47bc7ce8b93fddcab58b1ed4e21831184438eb + pristine_git_object: 2427429c755559d7deb703258561437446cf27ef src/glean/api_client/models/artifacttype.py: id: 918d9cfbd123 last_write_checksum: sha1:4d857fe3cbf08b4f921fd5af79f4550216beffc3 pristine_git_object: 1d5c4d3d3662e6faad1f3ef36a1f93e8447525ed src/glean/api_client/models/assistantinsightsresponse.py: id: ce7387f28d84 - last_write_checksum: sha1:9b1c7809e56d14ec0441969ed7a7f2d39aa8d1bb - pristine_git_object: 47e9bf2fa2edbe605d30359bca3dbfebda8ed27b + last_write_checksum: sha1:1d508fe24dace1ce162baea2a422a4cc0f5a5641 + pristine_git_object: 3bb6537f68c8d66780943c1aa5935a1c4a17d6b7 src/glean/api_client/models/authconfig.py: id: 9e88a246ee36 - last_write_checksum: sha1:6092109d1ecce4dfb01dc3fa1168642d18c96da2 - pristine_git_object: f085390a589f3bd4d3c799fb65dfea1f478cd3c7 + last_write_checksum: sha1:da79e46124032748c92c0ae8ab4a4594afeedc23 + pristine_git_object: 4fa806f17a1f8167c0e0147b24e6d717f9460329 src/glean/api_client/models/authcontext.py: id: e5ed1f25d2ff - last_write_checksum: sha1:666912fbc5907c277024f56996d0b1e7511299f1 - pristine_git_object: a184a4fc5b4cfae17b741ec13e9d6d84d6b2965d + last_write_checksum: sha1:32552764ad853212244a63db0ed5fb357e92a5d6 + pristine_git_object: bbc6281d7f17c8ca4a13492989119f2163ca2058 src/glean/api_client/models/authorizeactionpackop.py: id: 8cdd6426922e last_write_checksum: sha1:318527d68494b4fc6c65d9235486feb54e8bec52 @@ -4714,192 +4726,192 @@ trackedFiles: pristine_git_object: ea66e4544c221d502b224d8c6479cc5e3adb9872 src/glean/api_client/models/authtoken.py: id: 32cff6c3af95 - last_write_checksum: sha1:0ecd2db30ec7f1e00e4809b57d3300e82c90438a - pristine_git_object: 7551c7f655fadd39b5469074d0bc14b1a5bf7a01 + last_write_checksum: sha1:1748fdcf18a86d9a0c79f7276a5eaa90101927ab + pristine_git_object: 1578aeeeb0ab3a2b3b8d7dba402ec8617f47ce09 src/glean/api_client/models/autocompleteop.py: id: 64525dda05ca - last_write_checksum: sha1:712542e009a8dfae0df4658487b58eac2c799238 - pristine_git_object: 97d2bf4e337f24d11d53d15916bd5c59b9942b66 + last_write_checksum: sha1:f1265fda7921d5b8a0fccc865e3d01287b11b7ba + pristine_git_object: a7f549a2ffc4145fb9277acea6c8ec201e3a8c42 src/glean/api_client/models/autocompleterequest.py: id: 23b29c9e7dcf - last_write_checksum: sha1:267be41c9d987da2f2dfc8a0d8ad3cb26e234566 - pristine_git_object: adfebaa0aa87fee2b86ff14fdae1fd527a7008bb + last_write_checksum: sha1:4a128332d69a429829d7b2a6e40bb87061ca2cf2 + pristine_git_object: b9ed8a246c22d90c28b5e0196497c39b77d2c750 src/glean/api_client/models/autocompleteresponse.py: id: 860297c9ef84 - last_write_checksum: sha1:7972aeb2f5bd1c56df96bbd708088add6d5f04fd - pristine_git_object: cca14924a08bed4d2ca091fcbd03ce88d602fae7 + last_write_checksum: sha1:d7091c03c8fba507885bad2be74565c6cbc21d79 + pristine_git_object: 57fff6715acc397c6b9b83fbc0403055700ca8b0 src/glean/api_client/models/autocompleteresult.py: id: e88abde43844 - last_write_checksum: sha1:cef2cec709b67247b97ec78441b8191f85867602 - pristine_git_object: 68854db61d5187722f201f2f9d3e5b4552ac6d7d + last_write_checksum: sha1:7b453f5451469f02fe21714c3e5460e849ad6904 + pristine_git_object: 0aa91f0ed9d45fd7e5d4f71c0675a5402a8e0d9c src/glean/api_client/models/autocompleteresultgroup.py: id: 10a91a57b6a0 - last_write_checksum: sha1:018ee99331256ffcb4b17c746bc880f0d289bdf5 - pristine_git_object: 09788d2bc5092a529eac8404546d46baf43189ec + last_write_checksum: sha1:42d333bf6a6ed29297def77c2d0e008b1e44040e + pristine_git_object: b090a6ec3886e18d8e081a5b05fe08c11a68295c src/glean/api_client/models/badge.py: id: 81bb71933ec7 - last_write_checksum: sha1:102e5350c47971627eab93b6839c66b959a1dc7c - pristine_git_object: d5675152919e152bd5aaec27e96f623722de3da0 + last_write_checksum: sha1:e00e73e2f944e6dfc89b703244617239455c6ea0 + pristine_git_object: 43b1ba68ebdcd9ac7816e39ff7b0b684bd577cc5 src/glean/api_client/models/bulkindexdocumentsrequest.py: id: 5c7c3ed649f7 - last_write_checksum: sha1:1bafb9a88332bf0f11978fa7e65b4c32e1769e45 - pristine_git_object: db14fe54b9d48ef247e86f79a05b483924f89007 + last_write_checksum: sha1:1886503f71ad504d656c04c639f609e785db6817 + pristine_git_object: 4f07bf05b213a993dbce8a2150c42a6cafe8c587 src/glean/api_client/models/bulkindexemployeesrequest.py: id: 8c5302b89bc9 - last_write_checksum: sha1:83a188739492734fc0df01b9e00238825cb452e7 - pristine_git_object: 43014e311dab71ae1067e8de7ba83d161670d02b + last_write_checksum: sha1:f7ea44582d59391c9394365fd47238f346d23345 + pristine_git_object: f58ebae18d6b3e69230667430d4bcfc5cee8324e src/glean/api_client/models/bulkindexgroupsrequest.py: id: 5a112a41efa1 - last_write_checksum: sha1:679a7ee4740eea591466c0a6e1a407614988afa8 - pristine_git_object: 99f12d8b8314866e18dc08f7332baa43ac88c2ce + last_write_checksum: sha1:2de18f746e32a9e817a459718b701620d7bcdf11 + pristine_git_object: 1ee3686cdaf897104f8248ab3572fc760cda30f6 src/glean/api_client/models/bulkindexmembershipsrequest.py: id: dd713fbaef52 - last_write_checksum: sha1:53f4bfe3b8aebdf2c4bd03b13c4c9e24ef2507ae - pristine_git_object: 81740610a725a531e9b2f956a02457299b7cb7fe + last_write_checksum: sha1:bea8dedcbc8ba6b0396da9cde64eaf15fe14f242 + pristine_git_object: 7bcb7ee3b6c8e4cea29c96dba5a6d3fe7611aab5 src/glean/api_client/models/bulkindexshortcutsrequest.py: id: 1bb21d370a7c - last_write_checksum: sha1:65d752cc0af955d44cd26281c6bf09ab5abdbd84 - pristine_git_object: 3aae4c0386d42c07cfe1c538e6eb3867456b33f9 + last_write_checksum: sha1:e9a5cab39e3ef6aa150e8921b665791a0b17a4f0 + pristine_git_object: bdf68e4525cecd4f8eb2d95d5ed21d48ed22de6f src/glean/api_client/models/bulkindexteamsrequest.py: id: 663f4c5a52ca - last_write_checksum: sha1:d98f49c6a7e9f6ebe150a5d31ce71b498e871925 - pristine_git_object: 0fd38bfa3271f6c478078e2d44192b1442dc2766 + last_write_checksum: sha1:0e88956409da697808edc376117c331c949777bf + pristine_git_object: 3c92f55a3912bf3f0b6427e3423fc954d798c23c src/glean/api_client/models/bulkindexusersrequest.py: id: 25684d0e6ae6 - last_write_checksum: sha1:f3cf6fbaab6f08e3b63f7442001bd56e3293f6e1 - pristine_git_object: bfbff92f09bf17a68f920d2c17ed2891ce33536b + last_write_checksum: sha1:ebd405a9da1038d3aed043aa7119f8b37e946081 + pristine_git_object: 177995a655d879c34f0f43a4ef443235bbc34f46 src/glean/api_client/models/bulkuploadhistoryevent.py: id: e0fc56b32d01 - last_write_checksum: sha1:ede0ec6c53bb1b18e920fa8de1fffdcb19476bf4 - pristine_git_object: b1daac94dcc8d49e2d6f0782f7e9963e3c2e0ad1 + last_write_checksum: sha1:db915c447178b4b70e8f10f54190483ca3801bdc + pristine_git_object: 6d6cc752aba10dfb9cae06866a60a024042380bf src/glean/api_client/models/calendarattendee.py: id: f061e829600d - last_write_checksum: sha1:6fb65213e2d42e6e76c67862f3ca52d3af73e6c7 - pristine_git_object: bc67f962fe6fd6e4bf605922ddac1b85a14d775a + last_write_checksum: sha1:ff02c311ada710eb87c1158743da6e0d4cd5b24a + pristine_git_object: 6ed996797a205ccccc912baa2d93685385e76c1a src/glean/api_client/models/calendarattendees.py: id: dd3d8d18619f - last_write_checksum: sha1:164b0511757d1c19d472b65e3d1d513091d09781 - pristine_git_object: 40d5ce80074cfd76645b910df1f5fdc0c0014405 + last_write_checksum: sha1:1bd851211a8bfbaefef08307aaf583a9fbab52a0 + pristine_git_object: 0ec8568fca977eaaa2481cd15ed699777d3966b2 src/glean/api_client/models/calendarevent.py: id: 1b4d4993373e - last_write_checksum: sha1:26f2455c66791dccc013541a8875ca3256bd4fe4 - pristine_git_object: 212954dc43329ec417443a0af410595f10f71bbc + last_write_checksum: sha1:243ac315d4652559b8758296bc87aa71e30109fc + pristine_git_object: 0acb2ebb18280d74a055c052ab1d7161df188fc8 src/glean/api_client/models/calendarroombookingstatus.py: id: 4bfc6652b632 last_write_checksum: sha1:0715c8756d82af9ea8c4433597ea2dbd17f6b0d6 pristine_git_object: 908bd7849f4b3c657e244d68b5982fe85669f1e5 src/glean/api_client/models/canonicalizingregextype.py: id: b2cd5b9de633 - last_write_checksum: sha1:63eb44ad7f15925c9d47460f997a2ec8271d7a88 - pristine_git_object: 33218a642269f788bc33a1c1347b2f094f02e61c + last_write_checksum: sha1:84f82b832622c70287587636ff93a5296e528376 + pristine_git_object: 48d361319572cee3d2f202e3518c5f7604b986e6 src/glean/api_client/models/channelinviteinfo.py: id: 71173b2b0492 - last_write_checksum: sha1:b3d6d14d7f1ff53a4fa61bbba741d30b7dabfa4f - pristine_git_object: a97c2ccda77238b4eb4198887e879a4505e94171 + last_write_checksum: sha1:3470918d06f657d91e61108f9bbd3f1d1560ad27 + pristine_git_object: c442a33ef1edd58551937e8de97970e04773944a src/glean/api_client/models/chat.py: id: 5566eef6a9a3 - last_write_checksum: sha1:c3c1a2655b64e0203c0ef2d11204be23a2f5ee81 - pristine_git_object: 2c89193d682e1258a9d5e072c05546b30d21c66e + last_write_checksum: sha1:32ac8c95e509844e4ba1b2d72d778a8f29c37a98 + pristine_git_object: 2bfe0f54bc463351e663c0a7bc0f79463c4532d7 src/glean/api_client/models/chatcitationannotation.py: id: 9d985247eddf - last_write_checksum: sha1:f347d88e7b546419da15d3d7a7bdd80b4615865a - pristine_git_object: 176c5d7566646fc9d002ede1048fd7ca946a7c2b + last_write_checksum: sha1:c73511b62e830b8c1c269bb6b515729953376e77 + pristine_git_object: 6c973ddc3e1c65587138e1159928035ce9014880 src/glean/api_client/models/chatcitationsnippet.py: id: 3a7f86a0be3d - last_write_checksum: sha1:bea2d8405d0592720cbd9cf18b926af01f1c502e - pristine_git_object: 16364ab5f1decdf47831040236233c331c9e49be + last_write_checksum: sha1:d892005312316a3fd4ae0ae293c2b489f9db8a5e + pristine_git_object: c94a707a7eee3c942da64e598fe25f6a30a06fdd src/glean/api_client/models/chatcitationsource.py: id: f74b5021fef2 last_write_checksum: sha1:11acf007fa309ac2a001cd8ac389b7b6f1931ca4 pristine_git_object: 5fbd01edd2cbbffba53eb89fc71625133316376a src/glean/api_client/models/chatcustomentitysource.py: id: 2d7c50a1b5bc - last_write_checksum: sha1:0d6f08b9b3e11ae8c70ae07e6f218b763ba27ea6 - pristine_git_object: bfb2f9159bcfb7eb1b5b5a4074fba1a3d0be9bb3 + last_write_checksum: sha1:d58e9defbc9d7b258f4782f1ea19b44b0c6af8d4 + pristine_git_object: 22d9d83031dd88afeb1f9eb25f13e5cc80dc3ffb src/glean/api_client/models/chatdocumentsource.py: id: 29a0c0fdfff1 - last_write_checksum: sha1:e7cfd02328fbf14ed564e682356b6eb363fc6570 - pristine_git_object: 513c3ec86c430cd1f22f65adf25983f2802b0f64 + last_write_checksum: sha1:2cdf4bd2b920574eb7cdfb7e949b2d7f670a0a2e + pristine_git_object: 967cb6cca3de98daa6d078b8c41ddb7145c4f3f7 src/glean/api_client/models/chatfile.py: id: 58a4c45c2027 - last_write_checksum: sha1:3c40dc0bc96e493132f0b40ca73a10e7bd1a53e4 - pristine_git_object: cf7a5a7ab3f014d3a292949f84dee01b17f0e36e + last_write_checksum: sha1:84036b65830f84c556b8bde72f3e8f20663c1045 + pristine_git_object: f9e9f261deb913b55b0a253cd40725cebe4c8832 src/glean/api_client/models/chatfilefailurereason.py: id: c60997a33e36 last_write_checksum: sha1:5f85f87d571be1ed3f67e3563720fa1e02e2ef1e pristine_git_object: cb81e15e55a5889f6503eefe8103c320df460e0a src/glean/api_client/models/chatfilemetadata.py: id: b8648f87910e - last_write_checksum: sha1:ba4dff8262465c5c878c12a84f82829c64cd0618 - pristine_git_object: b4cb6dc4f77e767d75cc0c4ce8402236536907c6 + last_write_checksum: sha1:08521c44aa3c17afcf565d83a250975e9a21441e + pristine_git_object: 389a5de9dfc25cd08a31c742f76407b3a4141903 src/glean/api_client/models/chatfilesource.py: id: 76b874fd9494 - last_write_checksum: sha1:def9ccb95b39e34cdc2a25da1d99d360984d6415 - pristine_git_object: 7cfc1f8f338ba37b5dc01592926923398b138d97 + last_write_checksum: sha1:a5d7e2330ec5061d87086ffa487dac958e321435 + pristine_git_object: eb7738eb26eb9414e3bc8a6fd7e499b1ca2938df src/glean/api_client/models/chatfilestatus.py: id: 0e6c1c7a372c last_write_checksum: sha1:2e48fd50170faf7835ed7ab1a1609cd8cf69f0d6 pristine_git_object: 8ae7bacc6529f41eb3aa272c575ca1553f481040 src/glean/api_client/models/chatmessage.py: id: d1d93cc94501 - last_write_checksum: sha1:f7f8671c082599968104ca899856409d93277df3 - pristine_git_object: 811cb2432f26879525e856c9d8b79791ca6331e4 + last_write_checksum: sha1:9cf6b526d1daa250a9f31fa9d4e42f0027fa4069 + pristine_git_object: b4b20101078d03875255e88368b2fa9a0b746cbc src/glean/api_client/models/chatmessagecitation.py: id: dae0d568e81c - last_write_checksum: sha1:fbca4b264f0e01fd29cb2a82436f55cea17538fb - pristine_git_object: 15fd378692330c508ca2b7c0c8df8070e7c688a3 + last_write_checksum: sha1:79e982d471cfa485494f855b3d3ab86bdc76375f + pristine_git_object: 138de738491c97d7f6a3be18623630c63c9d41b2 src/glean/api_client/models/chatmessagefragment.py: id: 86344b2c1c3d - last_write_checksum: sha1:8e6b779a03a7d1ecfd047e21a46af5b95ff61892 - pristine_git_object: 844224bbf606b06d3ba5b1d59c98334d3f796209 + last_write_checksum: sha1:c7cd68541e0461a32a5d25da6fd0d6a8302d17fb + pristine_git_object: 990e3664f9f99635f293f0453ca7f9d6b52681b1 src/glean/api_client/models/chatmetadata.py: id: 0469e4eebd69 - last_write_checksum: sha1:6665183f9ae42b7258ed3b47d8bedbad19c5c7f7 - pristine_git_object: 81530650eaea827b2f252692a69160808e3b2143 + last_write_checksum: sha1:e818e7d9bbbf9cb804e86c4a28288d7d87531206 + pristine_git_object: 8d787e986bd72536ca9b4b4e773f280f20a0f145 src/glean/api_client/models/chatmetadataresult.py: id: 560168f894a8 - last_write_checksum: sha1:199c99f194397c58aa9f615198e6289a11326cc6 - pristine_git_object: 53e0ef9787b0ea167b78aceb773fef1b9d28882b + last_write_checksum: sha1:032398175173b400a6b141d909c3c192837c766a + pristine_git_object: 202c2cf63810c561fc70ddcc683ecbee8505b7fe src/glean/api_client/models/chatop.py: id: 324d679cb5db - last_write_checksum: sha1:1c73e74f9797932c4474c5459aa28694a997c0c0 - pristine_git_object: d14b8817de80260f39a0c79a07e5cd806c02e179 + last_write_checksum: sha1:169792d9cce440f59f1a51a53d3d28ee7fcb0a69 + pristine_git_object: bfd55281b1fd5162771f755668a704ff2ff393a1 src/glean/api_client/models/chatpersonsource.py: id: edec67365a9f - last_write_checksum: sha1:605008bd53aa3789c391122510b7f4bd4adfc057 - pristine_git_object: f6f643e8e27d9a858805be3250ab6b12c6916372 + last_write_checksum: sha1:1e544fabbb265857a14fddfecec8bbf88926b893 + pristine_git_object: 57a1317bfc6eb41cadaacc8ae6ca9e52150344b4 src/glean/api_client/models/chatrequest.py: id: df889fc72055 - last_write_checksum: sha1:1789889c241b2613c24b26d7966e1182210652ae - pristine_git_object: ca0d3695d12775e30120b5f1b6a69167c4ee7bb9 + last_write_checksum: sha1:fee9ae0f0d881e069f19fd39994a5f0d4b778a98 + pristine_git_object: b31a052024e27f2b2fd1ef7672b2bae8288ad934 src/glean/api_client/models/chatresponse.py: id: 9ae42b3bd99f - last_write_checksum: sha1:b45cb5611c3f2ae0d38933b9bfb1be1902a65b99 - pristine_git_object: aa3afabf04c8187ea2bd5b5e98b03acb2f1278aa + last_write_checksum: sha1:f22967ad5bc702947cd3c6b2d6485250e5f26032 + pristine_git_object: 1376285f11ba760e1fa8d942ba6106f79a2971db src/glean/api_client/models/chatrestrictionfilters.py: id: 634c14f688c1 - last_write_checksum: sha1:5a289b25d5437cee31503eb48db72b6bcf4c5d37 - pristine_git_object: 51db943bb852f5bbd6dad0212aa87ee03e44e830 + last_write_checksum: sha1:1653378852b4cae82db3acc22d98ebe6ea4f288d + pristine_git_object: f25e4c03a8721d01d5f3f952f2b60a364c5e1d36 src/glean/api_client/models/chatresult.py: id: f449bc617fb6 - last_write_checksum: sha1:b0cd2f69fd271a5993007c401324af975310ac9f - pristine_git_object: 8058b2bbcadc2eec393752b623d65d41487f40b9 + last_write_checksum: sha1:5ba80f8c8344c3c94dca6b75a03ff0d87fa704eb + pristine_git_object: d7d3208ac73d2a1f09476bf09e57cce94fa96f51 src/glean/api_client/models/chatskill.py: id: 8782f2a7d419 - last_write_checksum: sha1:ed271302b4cfe27bb87cfaf6806b726ffcffff09 - pristine_git_object: b6327b42549d7c3f9fee1ef961057dd0c1c59384 + last_write_checksum: sha1:931bf0e54b4ea7925f23c12e1fdf6a4a287fa62e + pristine_git_object: 5aeee79eb0c444e49bd55b9ae55266f717db9b39 src/glean/api_client/models/chatstreamop.py: id: efb7f50ff6d0 - last_write_checksum: sha1:b81b04aa413db5f339f318e85bb57ff7b6883bb1 - pristine_git_object: 6ce3ce9bca35b6fee469e40b1b99a1e8a54fa733 + last_write_checksum: sha1:a783acd83ef25d505702479c94fcb3c35a31a9f1 + pristine_git_object: b1aaa3ed38a0e898f3cd20487c5a15d80edb6a60 src/glean/api_client/models/chatsuggestion.py: id: d1672ba5a41f - last_write_checksum: sha1:25280fb880062a3038cfbae9d4f730bd301a5118 - pristine_git_object: 95b2928c2a520e742bce07896f7ab4aace936e4d + last_write_checksum: sha1:2bf8ac318d893032f982e2a42f48666503757264 + pristine_git_object: d1027e5c5deb05c9cca589c11e49378f158fb3c4 src/glean/api_client/models/chatzerostatesuggestionoptions.py: id: c2b8ed9c9949 - last_write_checksum: sha1:2d1b44dcd4d7b15343829548833a2e257b3106e2 - pristine_git_object: 75527af1ac3173d43991fbfba5265a832d9bf41c + last_write_checksum: sha1:6ad48806324fca9fbc00c5f83d924c12d1611cdd + pristine_git_object: dbdabf2f0072ba61ca1b240850f6fe299df2930e src/glean/api_client/models/checkdatasourceauthresponse.py: id: 4b92648bff66 last_write_checksum: sha1:383e77b55a1ef1d8a4014954daacecefabb594e1 @@ -4910,40 +4922,40 @@ trackedFiles: pristine_git_object: e5985de81b6d3d8de11cc0d9a0e33db4b25bbb14 src/glean/api_client/models/checkdocumentaccessresponse.py: id: 493311f0935d - last_write_checksum: sha1:5c989b057b2e656267e785ecff45e6b9535d2b50 - pristine_git_object: 373b93887dc03fee309a02ca7efd3a674081def0 + last_write_checksum: sha1:8af0161a3e7a1f8506778fcc19292b6c21e1a887 + pristine_git_object: 0652d7c3268f7316e0059ccfd56b591bd2c03033 src/glean/api_client/models/clustergroup.py: id: f84bec5b82fe - last_write_checksum: sha1:be8057f49d12a16cc4effc809f1aab20f520304a - pristine_git_object: 9805a2fa98454cc3c517a168b47e1d630fafe178 + last_write_checksum: sha1:d0add669181ace0efe47929fe940ed629b867703 + pristine_git_object: dadc8094843f765363c6784caf70c67bafdadc4d src/glean/api_client/models/clustertypeenum.py: id: 0ddd45a5d0d9 last_write_checksum: sha1:1f63c4b39dde561b3339908f8a9a35a6bf0f7257 pristine_git_object: d599d8ac677a258ec0041ffc08142138b410fc2b src/glean/api_client/models/code.py: id: 11b08e43c314 - last_write_checksum: sha1:64058aa3ea083da1c1a9da5f7d6cdfa937e06ee4 - pristine_git_object: 140e792f4f3fbb381c998a268ddb63b214c3cd64 + last_write_checksum: sha1:65f6724f1d54d9de89dd1a0dc5b279356e3306a2 + pristine_git_object: f4fab7bbb484741acd8aea5d3c0f91db796e318d src/glean/api_client/models/codeline.py: id: 564bd44a480c - last_write_checksum: sha1:f5090a720f6119223b2a62a2d9d7acff35e77c75 - pristine_git_object: 70e471cce63e5391e096b6039c539a0cabd45592 + last_write_checksum: sha1:80e11cb648f35a18fc7f0b7f61fbc2c632537175 + pristine_git_object: aaae5af7e046c25c5dfd544cc9088779157494f6 src/glean/api_client/models/collection.py: id: 1c8d82c8f456 - last_write_checksum: sha1:49e18d8fb5a4231775ea06ee9aca86c9a15fe87c - pristine_git_object: 6bb4995ea8d9675ab983f6abcd6b201918819ed2 + last_write_checksum: sha1:b6abdc04a359cde762e239cc3535aceab1abe63f + pristine_git_object: a939347deae4ff5f4d41834e34fd06dfb8bc6b9a src/glean/api_client/models/collectionerror.py: id: 12c5118f6fba last_write_checksum: sha1:cf7a03f5a1bd25339fdc3b1e8c5f32c8220b7f68 pristine_git_object: 408d04c7efb648abee3688da44dd3488d75c6a9a src/glean/api_client/models/collectionitem.py: id: 42e837b333ec - last_write_checksum: sha1:0ed5cb53712a6475a259437a0f8e6c3684d87303 - pristine_git_object: 0cbe6492422c383011f3f964c79271e6bfd5b90f + last_write_checksum: sha1:850e07990b4c5d80349825ee62acad1b6f47fc39 + pristine_git_object: a99fe28854efdca592d839367dfa8cebcd2fcabd src/glean/api_client/models/collectionitemdescriptor.py: id: 8211e595e120 - last_write_checksum: sha1:c9d390805c830d49e727d3556d1d20ef80c13961 - pristine_git_object: 6642f487e16e9edd2360cbe8ecd1f615d648e5bf + last_write_checksum: sha1:13fbb8a8177f5b2de5d8eb95b66ac1c9ba16c01b + pristine_git_object: c246692beaeea81f4ed16ecd181f6a4b729c4f2e src/glean/api_client/models/collectionpinmetadata.py: id: ff51c8a765b6 last_write_checksum: sha1:7fb4960f3ab9bfdfd3d1ae54f2b8be79ce48a4d0 @@ -4958,64 +4970,64 @@ trackedFiles: pristine_git_object: c440d47330824d6e174617b25ee22c54055f6a7e src/glean/api_client/models/collectionpinnedmetadata.py: id: 20fcaec70c41 - last_write_checksum: sha1:be7edb98638bc572edbbe0874467e0640d50534d - pristine_git_object: 2e54e6a4236658c73900fd253a11f87476212933 + last_write_checksum: sha1:d9ecee542a1da319d6afb20f90cd2ef64831ad3a + pristine_git_object: 4d0d03c44a0bdaa113c341060529a3a8f703d632 src/glean/api_client/models/collectionpintarget.py: id: 74c6f50fcb8b - last_write_checksum: sha1:e5004349241e75689545b525384e5fa74a32b01d - pristine_git_object: cd3f16f2cb0e21b872739e71eb928011a2db7174 + last_write_checksum: sha1:de3af1a9f741d3ade81bc00b1a216a165f324ba3 + pristine_git_object: caffcdb47b2700246cfa88d6fe61dc4a0daac414 src/glean/api_client/models/commentdefinition.py: id: 7a510d4ae16a - last_write_checksum: sha1:f271a75d2302080cfc3bb13f75d8b96d5aee3eab - pristine_git_object: 121b9722f9045ff05a67cffb43505721dc0d36ed + last_write_checksum: sha1:d89d7ea8f3875572535917ba39e2668d631809d1 + pristine_git_object: 1389598636a823e3ffffbc0bd90bfb36bee4897f src/glean/api_client/models/communicationchannel.py: id: 097ef2bc37d8 last_write_checksum: sha1:9240b0a6b43557df8f3d2c0db453b484162271c8 pristine_git_object: 36d9d830a9c46f6addc6a92f828ccdab8d18885f src/glean/api_client/models/company.py: id: 3fac904660c4 - last_write_checksum: sha1:def2aa60670960e10e8aa5c7565337c020134113 - pristine_git_object: acd9da9d2661cef93af2800856d5e4303b511fe9 + last_write_checksum: sha1:d3061763bddeb9985f6cd92ec4f528df046870d1 + pristine_git_object: 9231c2637df8f3f62b652c2393ccf535f04884c8 src/glean/api_client/models/conferencedata.py: id: ca82aa4c03bd - last_write_checksum: sha1:26c738d7e9a9b1274272c129797492ce2e753acd - pristine_git_object: a9f6b4b4f0770875017b146f8ad1972598d387bf + last_write_checksum: sha1:9de3ae16c861f3d4db8ffead0bcbbbfe954ae756 + pristine_git_object: 92433923f1c5cc78658c84f1de7e5b1e31065555 src/glean/api_client/models/configurationvalue.py: id: 78d9bb1ab4a6 - last_write_checksum: sha1:b6cfb7404ae94095d01f3b9e570e72a3ff765451 - pristine_git_object: c7458c5dff426902019aaa8953f43e746bec5bc9 + last_write_checksum: sha1:1bf6dc6bf7a915ac345cfbd5a8325161be1dbc3e + pristine_git_object: 224f8a3d61bfdb735810faf68f577a578552c858 src/glean/api_client/models/connectortype.py: id: 12d50eaaf8ba last_write_checksum: sha1:adbdd18a3d0dcab7c1a8fe9abdf49ce8a60eb8d6 pristine_git_object: 8e99dab8e7283ea64e5dc2e7f770999ddcceaef8 src/glean/api_client/models/contentdefinition.py: id: be5d817e66bb - last_write_checksum: sha1:2b3be2d484b398dce5a73f782b205cb2080abae4 - pristine_git_object: 03e7f7a29e5b2a95e134ffd8e77b2543e332cc77 + last_write_checksum: sha1:ceb255470ec8e92b757da1230bd0e6ebceaae128 + pristine_git_object: a84055a2667c1ca69113e390f729663f73cd25f2 src/glean/api_client/models/contenttype.py: id: 7a299752fd19 last_write_checksum: sha1:d9e2eaed594a998478317ec74724140c7df3c184 pristine_git_object: d2bd38375fba44565353db89de9b9740754438d7 src/glean/api_client/models/countinfo.py: id: 2ff7e2d8021d - last_write_checksum: sha1:5203cc6e6506bd574e163b2b18d879c4b19c8a99 - pristine_git_object: 83d1aa3b243827c0f27678d94a209aac0a4417b3 + last_write_checksum: sha1:2f21b22ba7dd49d6f2d1240a19739b990b510678 + pristine_git_object: 62fa7d4cabc688579c1add574b8eda01c4d7116e src/glean/api_client/models/createagentop.py: id: bca1b44cf62a - last_write_checksum: sha1:bc9b540e390ca872fe40d0188311660a039a3881 - pristine_git_object: 4ed4192dbb6da328182b40d002360698706b872e + last_write_checksum: sha1:4e440a09defd62d6ea2f74ecbfa2e9ada80adb58 + pristine_git_object: 72a559a3da7c39b747a5a632c0c5e3e79b484eda src/glean/api_client/models/createannouncementop.py: id: bf2cd073d77d - last_write_checksum: sha1:a636cc5aa94d72878446b69b6ca0e3e91482de2c - pristine_git_object: f07a4fec86ab542f0ffbbb15bbff78c713d8642e + last_write_checksum: sha1:70a90ed2c83b9265218fe95d341656486745e1da + pristine_git_object: 31d99aed7d1b52f68b6a02ab6d949cc7d42185f5 src/glean/api_client/models/createannouncementrequest.py: id: 00c8eebb1b76 - last_write_checksum: sha1:115327b63baea457b53722ceed3ced22ec3faa10 - pristine_git_object: b7cbb6c5f423e129af176c18fb43bc9ccf26645f + last_write_checksum: sha1:51f374329b48323e279fa10d50dc7150ab374f44 + pristine_git_object: 6ea77ccaa107d21f4eef6e9dc1b26ed0b3cac3d9 src/glean/api_client/models/createanswerop.py: id: b638c379e2fc - last_write_checksum: sha1:58f9ce98eaced362195574b76b2e07d15a94399e - pristine_git_object: 6e7cc76309ae26967744adc2cf0f2a872e541e3c + last_write_checksum: sha1:41a358633bd345743d9a363c64625eb04e15718f + pristine_git_object: 68a8ba00d14da085cac85e231bcc33c24e620b3c src/glean/api_client/models/createanswerrequest.py: id: 80adf1814683 last_write_checksum: sha1:b59b546cbb77e7d99b7bc76f1785105ccba73cbd @@ -5026,88 +5038,88 @@ trackedFiles: pristine_git_object: df588893beddadf98a24dce5a51a3d411650a937 src/glean/api_client/models/createcollectionop.py: id: 3610855a3415 - last_write_checksum: sha1:d9956fdca945a40dd4c1bed5c63135a40667dfd3 - pristine_git_object: 3b504b1b99dfc8ce348317d6a57e69105625095c + last_write_checksum: sha1:96a47662c0151236e6e7bd10f1ca43df4c4b3628 + pristine_git_object: 187fd83fc8415afb6c49608d82b3d4678959bd30 src/glean/api_client/models/createcollectionrequest.py: id: e39b15f0ef35 - last_write_checksum: sha1:560db966fd538b24ebf2b840232227a5fd3f8eff - pristine_git_object: 8ed97b034d81f04d3bbbedfd3fc16220ae260e6b + last_write_checksum: sha1:cc30d433934287c1c8253f1411d43637bbed8998 + pristine_git_object: 144353a70409f701c534fb690dfe8b7a4f251aef src/glean/api_client/models/createdlpreportrequest.py: id: ead547f06612 - last_write_checksum: sha1:210a43e865c34e1d7924981e78f839759c1b403e - pristine_git_object: 9de15343384fb845d5fb9899558aacc78ae87285 + last_write_checksum: sha1:3386f9204fbd51a8f7bf0b772b4d40748fcc3b80 + pristine_git_object: 4c51794961f5a011c1e9869a0e623364d6b8eaf4 src/glean/api_client/models/createdlpreportresponse.py: id: 12ae9b936795 - last_write_checksum: sha1:05354e5f55b3b4f1ca7b4d02c193923c92229316 - pristine_git_object: 2fecf5afae99509ff096862662ce44755ca93042 + last_write_checksum: sha1:3f863743728a19ee9d3d826a45ef41fc9854d8bf + pristine_git_object: 1ef475243ede97ddd05b24de0ecbd7e636c6d223 src/glean/api_client/models/createshortcutop.py: id: 3f448216dcfa - last_write_checksum: sha1:b7a09a333e2d0631b5fe661446a3bce66ef37a5e - pristine_git_object: cd9cab879f6da0da1750e3923346e2e8c1a4c216 + last_write_checksum: sha1:27f92c4fd6885bcc9d87489d97f9ff07dc0d893c + pristine_git_object: fc35d42d82b0fb9e8f6530651b895985d8e7efd2 src/glean/api_client/models/createshortcutrequest.py: id: 8f0d2ac9fc83 last_write_checksum: sha1:84dca7fa3be62505699da379896c138737e35774 pristine_git_object: 828bb6b941a861a6ea3a0d3b8aa671d00566a4d0 src/glean/api_client/models/createshortcutresponse.py: id: 65fdd9436d15 - last_write_checksum: sha1:285ec74a6e451aa0a6698d663cf501dbd0a24bd6 - pristine_git_object: 7fd2e6eb90ed6027e2647312ca3550abc0292b74 + last_write_checksum: sha1:84362a18399911208352574159df8eb85a9bdc4f + pristine_git_object: f92b8971e76d5a789fdcfbdc08516ca69b67aa6c src/glean/api_client/models/createworkflowrequest.py: id: d084964549e1 - last_write_checksum: sha1:8575c9df02747f481fa8723f4a985c0bded046a3 - pristine_git_object: 206d00f37547917505f9c5a54aaffe7dc6aaf224 + last_write_checksum: sha1:d2d0082ce45e429b9e9c1e4ece742ba4a87677f1 + pristine_git_object: 2e08e0693a53fa9e3f4593fd506e087fe3888e7e src/glean/api_client/models/currentactiveusers.py: id: 0a092cf79074 - last_write_checksum: sha1:989717f16473a1c661194af34f9940eb00a26e01 - pristine_git_object: 1236b65335edafb09cc59136ce8049c614a1a289 + last_write_checksum: sha1:556bb5309b78f5232194c94e20cd54d14815f922 + pristine_git_object: 1a6476f21316019ca0a58f45834f4d0669dcf74c src/glean/api_client/models/customdatasourceconfig.py: id: fb9b6a1441c1 - last_write_checksum: sha1:61cefdb4a183e04e426c1166056354a466c6380d - pristine_git_object: 0b728d6fc411a1f8d83643b518af6e5502ee51d0 + last_write_checksum: sha1:a4f12b3d58071f0bfd8ea76062da681827d1a1c5 + pristine_git_object: 808c4fd392a2e237d548581c7751b06db5f67af7 src/glean/api_client/models/customdatavalue.py: id: 956eba94ae1a - last_write_checksum: sha1:76c80857d8b125cc75d3da0da1d2f489dc9847e4 - pristine_git_object: a07d2e8123855a0e7ee36cde832f24a5b3ce0b52 + last_write_checksum: sha1:920d6dca4bfce5ada0d99825268d0a0b668c686a + pristine_git_object: fec46704e2c966b4297c8b572c160fb1103b56bc src/glean/api_client/models/customentity.py: id: 3c7bd33b38bd - last_write_checksum: sha1:9f9097039509e6ee5cfc81dbe56e4c6353eadd72 - pristine_git_object: 6cb844ccdf3c17c7ded504794f429fa55d0a2c2c + last_write_checksum: sha1:9ceab466954c8e19dde802a2932edc24afa38300 + pristine_git_object: b319d0718f344a026c926718544a881213d274f3 src/glean/api_client/models/customentitymetadata.py: id: dcf591f96aae - last_write_checksum: sha1:8bbcd0ea720d666c10f9ef03c786e367cc8814f0 - pristine_git_object: 45958c271f08ae88e33e9c29f99d8a686609ff61 + last_write_checksum: sha1:937ff1995bdad22753b99f10cb272769f41261e6 + pristine_git_object: 66819f3f55b83ce9d4d4400d73011915efbe3864 src/glean/api_client/models/customer.py: id: 1fef6bc6efb8 - last_write_checksum: sha1:e89622df4b4eebfcf6d695ecd8e4bb1323df2caf - pristine_git_object: 7154cf22a51ade828a632372eef3943187a2def8 + last_write_checksum: sha1:f5779f792cbfc4e07acbe280c66684a60fd44aac + pristine_git_object: cf622ad3927b4b0fd37c177c2a00386d1e2f5f78 src/glean/api_client/models/customermetadata.py: id: c2d608b51a0e - last_write_checksum: sha1:59b2c20c2f543014a1f621828edb52fed77ea5f1 - pristine_git_object: 35adf587037b0c451cb4f860d6b47641738df086 + last_write_checksum: sha1:47e2c3bebe4705f3fb172b8d417ddd053404d7b4 + pristine_git_object: d53c5f2a48a28cb4b0f8ac5fca2299c230ececf0 src/glean/api_client/models/customfielddata.py: id: 0fad2537d170 - last_write_checksum: sha1:dd89903e9fb786b24fe2ab83ff58b332eca9d48f - pristine_git_object: 5e85ebbf44a73b4712ff906c4f1dfd51478d0d7f + last_write_checksum: sha1:3d3592ccf682f87f5afa4a08b9a1fb39a39e1380 + pristine_git_object: 12717abf2e298a676ea08a19d87d0897a565f26c src/glean/api_client/models/customfieldvalue.py: id: 1dd25f7f2a34 last_write_checksum: sha1:679f5b4ca7795d50d45ff39f44787382a42aab6c pristine_git_object: e799e19282d5658f1d473ac884ec49295659085b src/glean/api_client/models/customfieldvaluehyperlink.py: id: 7e45aa49655b - last_write_checksum: sha1:d8b517f05e2f6b20273606618057177d7baf276a - pristine_git_object: 44931d1280ca6b9a49d158a78efdd0b5f1c2b3df + last_write_checksum: sha1:4c56d5cc4068e709a36c862ba6cb46b49788d5f8 + pristine_git_object: 58c9db1b6b7626c879df9b007bc0ea6b267d87cb src/glean/api_client/models/customfieldvalueperson.py: id: 3a124f20f649 - last_write_checksum: sha1:2c9d0778dbb0f85662e8a390171128f28908718b - pristine_git_object: cb264f2b46ead516ead3d08277dfbccb85fc0790 + last_write_checksum: sha1:000690c996c9d6d9b7728db698f97363e75ee223 + pristine_git_object: 68b8bdb5cb1a5100f4a82b3fedb3230251b43e85 src/glean/api_client/models/customfieldvaluestr.py: id: a3569fe0d790 - last_write_checksum: sha1:7b22ca993cde9d540e85b97f71afcbb1b3dcb0e1 - pristine_git_object: 68f0fa1e9afe47831a8611971f0c59435631f08e + last_write_checksum: sha1:d52b7ee973060056acb2afb552af5fe45f60b44e + pristine_git_object: 55b7f6ed7e6121b1680c61696ce937cef3fbe468 src/glean/api_client/models/custommetadatapropertydefinition.py: id: d18ced34a833 - last_write_checksum: sha1:8d7e752f324e5dfc065eb0cf721bf797044a6d84 - pristine_git_object: 26d09515c3d1f43a197c4b499d24bb5b4a085a66 + last_write_checksum: sha1:4d4192fd6436d765c73b712bab6a8d3102dedfe9 + pristine_git_object: 92c2e2452bf46fc48ff0219ad68accf50463288f src/glean/api_client/models/custommetadataputrequest.py: id: 72509bb43d50 last_write_checksum: sha1:57c69961ff4b06e1b4bfc2fb2a87e20ece451415 @@ -5118,24 +5130,24 @@ trackedFiles: pristine_git_object: 13576c2be6dbdb1bd7e93acd7f34b31dd4c0a99e src/glean/api_client/models/customproperty.py: id: 86c08b8668b7 - last_write_checksum: sha1:291c2842c21527001b15d0178110e67609b638c2 - pristine_git_object: 74cc710e0b93d3579db37ebb3e787d5a03a6210a + last_write_checksum: sha1:7a0922d5b82dd5f3dd1a91c8767fd9651183078f + pristine_git_object: ae6c461f2cabe7f9a37b7479cb211387465912de src/glean/api_client/models/customsensitiveexpression.py: id: 2268022ee406 - last_write_checksum: sha1:14109c3cfd41d0683caccb867ef4ff7c562931b1 - pristine_git_object: 4d5258721ff717ef3e4aa8fb2f78869a1edba5c4 + last_write_checksum: sha1:52dcf26faefd0108a1250845527674f6c6eaea94 + pristine_git_object: b78ada05e0b4241a173e8d8c25fe77e78d43385f src/glean/api_client/models/customsensitiverule.py: id: 80d2ba78e110 - last_write_checksum: sha1:ff15cdd2af8454e5232b1b86b0313a85cc3e5c1f - pristine_git_object: c767e33d6eeb7ae8b29d69789002319a9a3d8931 + last_write_checksum: sha1:9ed5ecf5cc3125fedb15200e6d3e87fd74592070 + pristine_git_object: 1a76088ad2abc3eb9b7e1b4e25db11b5492da86c src/glean/api_client/models/customsensitiveruletype.py: id: fbea8b8f6a75 last_write_checksum: sha1:ddbdf0eb4821466cfe7d82ae3116a42da0b8f8af pristine_git_object: b273ac9824d6a273765462dfd73483c75c4c46c8 src/glean/api_client/models/datasourcebulkmembershipdefinition.py: id: 8e48908cf200 - last_write_checksum: sha1:43a938decc4fa2a720552f9938bccce9eb34ff5c - pristine_git_object: 31e0065c79f1e101f367ad006a220ecd77feb8c5 + last_write_checksum: sha1:bc920432e930f7c2168007388068c8d50a84ed38 + pristine_git_object: 41a761032ee50aa4943c349446cd34e0fc45226f src/glean/api_client/models/datasourceconfigurationresponse.py: id: e9a385b637e9 last_write_checksum: sha1:69a5dd2f67380cfe0fa0bc5c37eddb5796560ffc @@ -5146,8 +5158,8 @@ trackedFiles: pristine_git_object: aa0eff706ec10f1be7de240201bf023fbb9ef20a src/glean/api_client/models/datasourcecredentialstatusresponse.py: id: 074326c64a8e - last_write_checksum: sha1:a1ad12bdaf0facaabae021755bb9890ecd06c2a4 - pristine_git_object: 150f1a4855d49f84282f7227f6e5c5b4c59a0ce1 + last_write_checksum: sha1:39b4e29692221737d948ca408b95b58cd3caa6a2 + pristine_git_object: 1c96709398d48b82e65b5a74f0535c0d4b890622 src/glean/api_client/models/datasourcegroupdefinition.py: id: f7c84882fbcf last_write_checksum: sha1:324acffd92e4e0753b7c3238f17d41f6ea66d5d3 @@ -5158,64 +5170,64 @@ trackedFiles: pristine_git_object: de6cd8aaa59ff7ae08ba5535508b72229ddaba56 src/glean/api_client/models/datasourcemembershipdefinition.py: id: f881717d8c97 - last_write_checksum: sha1:55c4d00beb916ccf371479414929d8dee2a77259 - pristine_git_object: 4243bb1bdfbb0129f30faa1db9a9cfb39ad707b8 + last_write_checksum: sha1:86d04ca14ae89d49ee5b0e38d58f7eea31142fcd + pristine_git_object: 8bb60a8758deeae2fb05c584147b3f94278dd1d9 src/glean/api_client/models/datasourceobjecttypedocumentcountentry.py: id: 783986f380cb - last_write_checksum: sha1:87b6cdf3e69948aab8760e557f97f3a7f89db641 - pristine_git_object: 306d5d5b95306ee95732096d976082188de779fd + last_write_checksum: sha1:d250310cc73d6a58e833604427ddff41d4ac5456 + pristine_git_object: 4db733ec26b1f80ea65ee2d39a7a7dac2a4a264f src/glean/api_client/models/datasourceprofile.py: id: 456012f17305 - last_write_checksum: sha1:69eb65b9262dd4540d6d17454ec8ae20c5a1c5ec - pristine_git_object: 4a54a6d305e50cd12350ed991fcba1b7e7d17197 + last_write_checksum: sha1:97eaeda54490ce0ef80f755d5c43c2ab6f87711b + pristine_git_object: e3985cc29f1f5f48b981ed335ca178013554a7dd src/glean/api_client/models/datasourceuserdefinition.py: id: 38b5026bf17b - last_write_checksum: sha1:e47a04958803e2eaea2bc54aa060dbf29911e969 - pristine_git_object: af754d51335f0f6779d01dd8b9da81f01cd0d32d + last_write_checksum: sha1:299312e89ab14fedfd46bf7a990b251d1b5ec3e6 + pristine_git_object: d6295ae7d20dcd40e708ff6c971f08e9909534b1 src/glean/api_client/models/debugdatasourcestatusidentityresponsecomponent.py: id: 8d269f54a53b - last_write_checksum: sha1:70298c03c6c7b789198a722a022cdb99c7ed91e1 - pristine_git_object: a027cc7e75d3e2813ea488dd3d22fb06e10ff922 + last_write_checksum: sha1:be467c12a02995c32a25dc2e29c08e37f0e340da + pristine_git_object: 5459ecea7e503ea1b2dbb64daca1619ea8bf3dca src/glean/api_client/models/debugdatasourcestatusresponse.py: id: 706c4bfc6802 - last_write_checksum: sha1:8f8a32dc749ea17fc47279bb015a94bdc7d844df - pristine_git_object: b77b38550bef6b1680c89edfc693fb20a17c362a + last_write_checksum: sha1:d39d7f98fecc50a7879b7adecaff5540ec1b069c + pristine_git_object: 862bf185e26675f7bd9e9cb053c29d17b3da3fac src/glean/api_client/models/debugdocumentlifecyclerequest.py: id: 1d3a8e2b78cc - last_write_checksum: sha1:389a78814a604290be72f3706fc04d2453cbe9d0 - pristine_git_object: 97b74290423c23c0708d6f16e0b22cf97e866fb3 + last_write_checksum: sha1:b611a188ebef177102e4d28c52213be1b324d7fb + pristine_git_object: 8054999c77316b9dbf84ce76bbd9736aaf0cd167 src/glean/api_client/models/debugdocumentlifecycleresponse.py: id: 4f994adda409 - last_write_checksum: sha1:c0d188e5c8c6f084fe4e1bf3095904ae8c70fbad - pristine_git_object: 5e6ded73b7c3b1cf03aba21d479d2e5c35f0a914 + last_write_checksum: sha1:44394112a391a478705a19f8647356c3faac8ea2 + pristine_git_object: 55a8abf4d9d81031e199cd8f7f0d8e32dc765005 src/glean/api_client/models/debugdocumentrequest.py: id: c27a3d5acb34 last_write_checksum: sha1:994d4388bf08f2a89c7891aeb7d98c7bf67c7215 pristine_git_object: dc89fa28dbc67a12a81647f926e4f07bccf94a01 src/glean/api_client/models/debugdocumentresponse.py: id: 402ae6981b99 - last_write_checksum: sha1:98e1148fdf2c7e85c766977fcf1df2a6bce8d316 - pristine_git_object: 3efc18aa3f44b3b9af44d33f4c1ffe5b9a21d971 + last_write_checksum: sha1:a46a4711ad4db258709d9d2ada2acc0da44e7e8c + pristine_git_object: e1132e26177d1fc4617863e1aa32f625355c3042 src/glean/api_client/models/debugdocumentsrequest.py: id: c10b882fec7e last_write_checksum: sha1:7905ad4bdc31857de0dcd02466e8741efd5ac14f pristine_git_object: dbef6d989965bd13c1bf888bdc73871fb6a822e0 src/glean/api_client/models/debugdocumentsresponse.py: id: 07f2f669954d - last_write_checksum: sha1:dbbb300623addbc206e7e0f9c85b56e1fe0753bf - pristine_git_object: 54513fca6b64242dddb8c3e49cfd2bbadba05d93 + last_write_checksum: sha1:f43b64cac509a37d771bb286fd6cf34e64b06805 + pristine_git_object: c00dc83a3a67da5eef7775fadf8ff726c5130e6e src/glean/api_client/models/debugdocumentsresponseitem.py: id: f81e17f56601 - last_write_checksum: sha1:a6baf222ca5b27b9a5b07ccc8aad4abb50ff18d6 - pristine_git_object: 63165771269c45faaa9c26dea3845e3f0697a10a + last_write_checksum: sha1:36335c7e4a96bd14a58f7babd8d3b4bfa274e223 + pristine_git_object: c249e9b7a3283160bbdb5487c35774501efa856e src/glean/api_client/models/debuguserrequest.py: id: 59058d67caa7 last_write_checksum: sha1:9eecafdc03b80d7cea180b4612ee80170559718c pristine_git_object: be474f543698ca7f9af69caa5f85edd475c688f1 src/glean/api_client/models/debuguserresponse.py: id: cb3193f272e8 - last_write_checksum: sha1:39d67bf5c67156a043f75be97f2f9596d07e5f1d - pristine_git_object: 43e28fa95ff536027859954f4d65b33962eeca23 + last_write_checksum: sha1:05ca1686ed64d4282612c7424407bfdf0a41ebc6 + pristine_git_object: 7528c80d2bbf85fb596c191705f5d624d978387f src/glean/api_client/models/delete_rest_api_index_custom_metadata_schema_groupname_op.py: id: 9f7d08808230 last_write_checksum: sha1:a8d7e01378c2343beedb515b67bb21487b24c543 @@ -5226,84 +5238,84 @@ trackedFiles: pristine_git_object: 74b5dd9e6a820b6230218d335277e1f270e3bf4a src/glean/api_client/models/deleteallchatsop.py: id: 70e1ea929ffb - last_write_checksum: sha1:369fc0d61a4954709a19de273ca7af3b5609ed79 - pristine_git_object: cac2a62d4d9eb0a34282cec2352d0aeb9ada2114 + last_write_checksum: sha1:01e8861dc52522b0a316b6e05f45f11ac8cc7c6b + pristine_git_object: a92669260ee7468037875667ff78b9a84313eac9 src/glean/api_client/models/deleteannouncementop.py: id: 85d058f754cf - last_write_checksum: sha1:751635bf690f307b3ecffed6c060ebb4241f2594 - pristine_git_object: c7b39677713491caa626b72d5ed36e690db4c46c + last_write_checksum: sha1:ffa0eb597b553c82e68c5d871ec3bfc9bc3ec3f7 + pristine_git_object: d376b69b0b7f52d565b2ca08055dd0dae3ff1254 src/glean/api_client/models/deleteannouncementrequest.py: id: 6a5ffa31b42c last_write_checksum: sha1:b4aafccf05ae6cf9e5bc4d7687cff0de113c8fb5 pristine_git_object: 7531e633f00e150f21ffef89a0fa0edf72efe34c src/glean/api_client/models/deleteanswerop.py: id: 02d7a4c6a024 - last_write_checksum: sha1:4598916a9173b30bbc23e3d6c046f14778eb0539 - pristine_git_object: af7a16d7d1101d14496145832afa36bc989dbc4b + last_write_checksum: sha1:f496a7ddbf70efb17165ec444ef455a07f339ad3 + pristine_git_object: f08b79dc4e9f395bb4e70abb56e85b0ae43c26a9 src/glean/api_client/models/deleteanswerrequest.py: id: 2cacee52b8bf - last_write_checksum: sha1:f320c2a6b1551d50b75345ee71387bc8017a1668 - pristine_git_object: 5c83ec3e53e6de8d808f7ac6d380233fab5e1f5c + last_write_checksum: sha1:33f981a719f48928375b87c564ef3287fae2596e + pristine_git_object: 7c74946e0439882a3202d7d75a7cc14128b7ddf1 src/glean/api_client/models/deletechatfilesop.py: id: 2e2bebfda978 - last_write_checksum: sha1:587e5fc8521761966725c6ec75c53b1b1d67a13c - pristine_git_object: 01f8e688236c44261b9811a03e8ba2ada07ac61d + last_write_checksum: sha1:82bbd16721f4bee6a0daa1e4507fc3bcff66c9f1 + pristine_git_object: ebfea36cfadae881576cac61362d27ddbf19cfd2 src/glean/api_client/models/deletechatfilesrequest.py: id: 88da4a9374bb last_write_checksum: sha1:b810a9543d244e127ae67a849c594a6383b935ca pristine_git_object: a6c201fa600c95a7c412dada776c98a69b3649ce src/glean/api_client/models/deletechatsop.py: id: 2e921316a955 - last_write_checksum: sha1:f05a6eccda7fa3c44e7eb0d27cc48553433cc103 - pristine_git_object: fc7d30831ad7679ce3d5b2de1fc517a3e03ef194 + last_write_checksum: sha1:302f1419ca695ea69e719e82439b8827f921442f + pristine_git_object: bd269afdd5384aae038182e45e606a630b8eca07 src/glean/api_client/models/deletechatsrequest.py: id: 2d0590f39c7e last_write_checksum: sha1:ea5fff9198321524287177fc1169a5a4e02d486c pristine_git_object: 7a5dcced0cbfdaa71c354942f76c8b56e06973ff src/glean/api_client/models/deletecollectionitemop.py: id: 503debf60d9d - last_write_checksum: sha1:122d02a8d5ad93e3702a824bfd0a6ec31de8e13f - pristine_git_object: 10966910072d0ff5d174f2fc0dc21e58ef7cbb49 + last_write_checksum: sha1:e93bdc7be66180f92ca1750da77cb20c3754e2c6 + pristine_git_object: 12230ed542ed49245c95d3a8593b0b14e272ea89 src/glean/api_client/models/deletecollectionitemrequest.py: id: 396cb5c63bc1 - last_write_checksum: sha1:297e26618b55c0f5602109411590c82e45532643 - pristine_git_object: ac801e8c995b381b772c42bde8b569ed2eef17d7 + last_write_checksum: sha1:b2dcaeaae2a7659e3e2ecb63be5c2586c6e170ea + pristine_git_object: 07904e9311b173f24d6c7de8b6d32b2025b105b8 src/glean/api_client/models/deletecollectionitemresponse.py: id: 719afcdd05e1 - last_write_checksum: sha1:b7b33418baac21d35ac06e818972e16dddb70736 - pristine_git_object: eb2315c4a6bb510cdd4fbd6ee3ca9d652f201cd8 + last_write_checksum: sha1:29dc0bbd9b70b58954a6df003dd3c43935102be2 + pristine_git_object: 3f7ded2ae7265ed005e7ffa658ad53ebf1940fd1 src/glean/api_client/models/deletecollectionop.py: id: 1fbb23e9ab7f - last_write_checksum: sha1:fc1f5117883bd14396e4ff16f4f7f1a7ce5db3b1 - pristine_git_object: 8721ecb5719d57c1c5290dd4351eb3155c2c8db9 + last_write_checksum: sha1:a381253f7aeb5c2578009a7207e853b42eeb4a03 + pristine_git_object: 7cd49012e83c137d04d5fc148c29425b8d038a27 src/glean/api_client/models/deletecollectionrequest.py: id: 92b4c2c55a81 - last_write_checksum: sha1:18b903cd96816d11ae375241231d9f0853039104 - pristine_git_object: cf68ff3b3686a0e659dd9d527b967ad79cf96297 + last_write_checksum: sha1:8de9f34c12203898000f6a3ac70e589f22494f86 + pristine_git_object: 4847bd5dadaff1b299e3cc68679f4c27a4fbac5d src/glean/api_client/models/deletedocumentrequest.py: id: 30a742ac49fd - last_write_checksum: sha1:a052b03bfb19b35a12dc707c11d21cfadc26573b - pristine_git_object: 3fb67bc981932021022fba62d26bc33e884f66f4 + last_write_checksum: sha1:3a7a8e356cb6fa3f6f85792becb0d0bae956b317 + pristine_git_object: ad210908136b5edf09cd3a3da2c854b38ed75e71 src/glean/api_client/models/deleteemployeerequest.py: id: c26f5e141c8e - last_write_checksum: sha1:4dd432594034522a7391b632415666b8c149843d - pristine_git_object: b413b5163e6209c0e806ba56a92ae156a76594e8 + last_write_checksum: sha1:b9220bfa70d0fe2a813188ae508425a3de8b017a + pristine_git_object: 6e5369e846b645218be5167b7a523395b3874c8d src/glean/api_client/models/deletefindingsexportop.py: id: cb139c7f368e last_write_checksum: sha1:1236b4c0a062a8cb3a931b82a1aef3dd5cb8590b pristine_git_object: f71666c1c1f089fdeb1bf101c97ace1d6c547539 src/glean/api_client/models/deletegrouprequest.py: id: 6f2a57e8b635 - last_write_checksum: sha1:3839469d5974ae53924f5a60a5d523009670a44d - pristine_git_object: 651551f3c1131a18e4599e822f75acc5042f8630 + last_write_checksum: sha1:19eb96e528ab05d687b373b61537e828004bb63a + pristine_git_object: 83c74ec8dacd8f904c666644cbb5f1a23a53982d src/glean/api_client/models/deletemembershiprequest.py: id: 506e49c72483 - last_write_checksum: sha1:8d41a4313c653936ce3dd23d10ac4129d5515def - pristine_git_object: 60f59a29f726fb7c70fb5494553b6c183c9d089a + last_write_checksum: sha1:99cb0281d4e57f2041a353c1a3c4bfb8aebe2bc3 + pristine_git_object: 8c75030337379be9aef30ff0db6be035254872d2 src/glean/api_client/models/deleteshortcutop.py: id: 48c5f989a2b4 - last_write_checksum: sha1:d40c8bec32037531625e20f6b377424f7c05da8d - pristine_git_object: 5862db4795db83a0e2ac2a163c63b16dbbfa6baf + last_write_checksum: sha1:801cb143115dd28582176d42e80b6144900c65ae + pristine_git_object: 5e2876fa1ff7e9eeaa54ec0f47ed29e31b03fb50 src/glean/api_client/models/deleteshortcutrequest.py: id: aa4724c9617e last_write_checksum: sha1:8187e9166aab564f906ca74323a65e89956244d5 @@ -5314,64 +5326,64 @@ trackedFiles: pristine_git_object: d8150a4165d730c9a1ef335adc9459a0eb625a90 src/glean/api_client/models/deleteuserrequest.py: id: f32055902e5d - last_write_checksum: sha1:db790fffc0ba0e89bf3885f0cd62670233b8da34 - pristine_git_object: a8dd578b52a5f43839472aa334e1a4078c068b80 + last_write_checksum: sha1:c9116bcf893e0d90374617c3c9bf8f46d99168e2 + pristine_git_object: 734913e6ad78e4659385f1d0177aa8820ce04e86 src/glean/api_client/models/digest.py: id: 4fac29d7abb0 - last_write_checksum: sha1:db26bf2c5feec4127083fc67bfbd2a00fd7058a5 - pristine_git_object: 432716a8c77136901868139929fe3bed31c7891f + last_write_checksum: sha1:4ce6f781641381c840ccea62b10020ba3ff8d211 + pristine_git_object: da253ce5c5cd4a2cc39288317c73e214eb30d6ce src/glean/api_client/models/digestsection.py: id: 35356f6b6146 - last_write_checksum: sha1:02e35c9aac817d24447212c13a7af801da601775 - pristine_git_object: 17ac661e03911171207909c19f543d07bf8317f0 + last_write_checksum: sha1:ef93e35ec7fd66443b3a42883af4c143cb5adc9f + pristine_git_object: 63f3a54cbb88cf65d08055ff3869571431e16ff0 src/glean/api_client/models/digestupdate.py: id: 604c4e51476b - last_write_checksum: sha1:62e0cba5f2cd591fa2cb864650785c4b5dc9e528 - pristine_git_object: be8228945bccff16c400c65e856b3e7d57fe3be5 + last_write_checksum: sha1:670b51cf883c6844e0c66561c6466b2fa1c1ed28 + pristine_git_object: 9e21bfdf3e29514dea5a450e3cabb8805e972712 src/glean/api_client/models/disambiguation.py: id: 7223d97bb07c - last_write_checksum: sha1:e0aa82a2c527386c86012464bb62533065c4b9fa - pristine_git_object: 68a5514fdfd10149d39bd7255cf9550fde9159ef + last_write_checksum: sha1:cf19e7408055d810461dfdb658fa8c0b8c6fdb7a + pristine_git_object: 9fe9c461569d81769b5c0d5642f8d5cae8f644fb src/glean/api_client/models/displayablelistitemuiconfig.py: id: 93c058182294 - last_write_checksum: sha1:dbd7adee8f83eb2473c9142738129106f599c627 - pristine_git_object: 3e0031b797c3153b0f85b2d219b553fb6f259cf1 + last_write_checksum: sha1:9ace63556e415947685d26b0b01ab5c17a897715 + pristine_git_object: 7786be4692b7f1ab94a50a96d0f6ad8156dcc415 src/glean/api_client/models/dlpconfig.py: id: 5012b123f4c3 - last_write_checksum: sha1:4789ad373f5ae9af5b4fa555ba81fddbe19a109e - pristine_git_object: 7ebd464326086faec287c17dd0489079fbe5ed39 + last_write_checksum: sha1:42df312f270a216ffb6911e48f3261b8b3213d6a + pristine_git_object: 7f399142cb407cafa9abeb829c4657e0f0590554 src/glean/api_client/models/dlpexportfindingsrequest.py: id: 8776242985ea - last_write_checksum: sha1:f1475d5cfb1750aba840c1ddb59267e0af14a693 - pristine_git_object: 094eec8965e6bad206cfd4c8a8d1b2cafb5abfcc + last_write_checksum: sha1:134c65c005d240f643809f211971ad7d56fc30be + pristine_git_object: 7d4c88a6f13be6e9f86a5530ba8762ad81d9694b src/glean/api_client/models/dlpfindingfilter.py: id: 6ef2e5304df7 - last_write_checksum: sha1:5eaf62d5d1643f5e19dee2f12a161a1077ff18df - pristine_git_object: 960d3753214824587274ab585bbf1d0b1ab860d4 + last_write_checksum: sha1:bd0e00c75c79ecbe16231e9fd339d13c5d6edd6f + pristine_git_object: c1f50a83daaffa7baec27452b9239369b5981560 src/glean/api_client/models/dlpfrequency.py: id: f6f484c2d7a4 last_write_checksum: sha1:487ce5e7651214ea7906d0d4e74371544cc436f8 pristine_git_object: 334f894fe2a36391f40ff6831cfdc5aeecddbf21 src/glean/api_client/models/dlpissuefilter.py: id: a52d7e96ee6d - last_write_checksum: sha1:2ce2a3ec2fbcb99ab24c1aa18f738e77e778187b - pristine_git_object: b3f50e5fe3d2bd66a2a74d23e17b859ca88993ae + last_write_checksum: sha1:9aa20a49420020f5f0c4ab75d72d3d61bd0eed76 + pristine_git_object: a2ceda9c46f962e0d4d95196d709527b484ef783 src/glean/api_client/models/dlpissuestatus.py: id: ef4c7e63fafc last_write_checksum: sha1:f09d760baab7e130d011d8e27adeffdf8f4ac6bf pristine_git_object: ee6c7d53a606382c02245c5f5e7359759e18ce80 src/glean/api_client/models/dlpperson.py: id: 15e2ffa25e1a - last_write_checksum: sha1:27cbf3c12e4030b22aa288dee8fe7e64c5bd3a5f - pristine_git_object: ee020352948bddad54865a2ec2a07319e050c97e + last_write_checksum: sha1:59ca25d6fe9e384cc8572f982bebf0c791e3eab0 + pristine_git_object: a9a3ad84e2d23ab117cb0616f12251eabfccaa7b src/glean/api_client/models/dlppersonmetadata.py: id: 3ead76577617 - last_write_checksum: sha1:cd0b82e98251470d360c1f48b82709eaabd26b2a - pristine_git_object: b3d764a642d07433b4682663b864d93d0436be6b + last_write_checksum: sha1:62bba0cfc1024b403e19c265f3d547cbc1c96b9b + pristine_git_object: 56ba55230c325193b07d617edac4d981f618872b src/glean/api_client/models/dlpreport.py: id: 6a534cac7e31 - last_write_checksum: sha1:38adf9732c5e7b0893042e971b2d6527a539c62f - pristine_git_object: ff433f126aea8fc5ad18c336f9e9370175059827 + last_write_checksum: sha1:bf60288f1194bbc6535b27698c144e657dd6f0ce + pristine_git_object: 6b397b08f5586f0788b403002e73d48fcb634bdd src/glean/api_client/models/dlpreportstatus.py: id: 4b288f23576f last_write_checksum: sha1:9e9bbab7ec6b06d3034ea61f19208cf15be3a98b @@ -5386,60 +5398,60 @@ trackedFiles: pristine_git_object: 212efae1a21283c3d96458029e9b64886d2100ae src/glean/api_client/models/document.py: id: f62889df4380 - last_write_checksum: sha1:a73296a815249b9e3fde674ed033d8dd56a2873e - pristine_git_object: cb56b4f3f3663839963a70c0f70b427e5fbc9933 + last_write_checksum: sha1:04e45908d3ab6dbe58c12be1973dfd49a0b69b2c + pristine_git_object: 06941fdc335062852b0e6c479b676e90344be7e0 src/glean/api_client/models/documentcontent.py: id: 5002c1dea323 - last_write_checksum: sha1:7e6e56c2b204cf60eaa660ed7097aecfe3e11f76 - pristine_git_object: 7a6ea0bf0feb7bb6f13045ca67007c9b73da4dd5 + last_write_checksum: sha1:cd335600870f1cd3ee0137080ac3da2bb10f29ed + pristine_git_object: dce7d0f110bab5ea5b485a3b08b526841f5c215f src/glean/api_client/models/documentdefinition.py: id: a1d959d6d441 - last_write_checksum: sha1:5a0df41c3a76aca7fc7683e9ad65ea7ccb1f73d6 - pristine_git_object: 1fa367c9949a6866dfdc4af3e9bbfbb88e308338 + last_write_checksum: sha1:aef1e36034fc299614b1663e078764177d46b53f + pristine_git_object: 4a196d0104904fb59942897ff69357fef7ea1fb1 src/glean/api_client/models/documentinteractions.py: id: 1cbd7f0ca8c2 - last_write_checksum: sha1:d92834e811719017769e2d32dd6efdd79b0ea8b1 - pristine_git_object: 47ada2f991aa209a16297f5ccdac05ad4406d09b + last_write_checksum: sha1:871b7b904e5dccc95f81c16c801343fae4b34f62 + pristine_git_object: 89d49c3d9ff1a9266e1c82319cb11cb2307c89dd src/glean/api_client/models/documentinteractionsdefinition.py: id: 08e2b97a68ab - last_write_checksum: sha1:6ab5f0352e6cfcd6a1a6cb5f6a77998c7ba387e6 - pristine_git_object: 2dd25c44d762268701ebc58dff904235d05ee7a0 + last_write_checksum: sha1:9d7fe2b5e2063aeb9c68e673f527ba6db78c5cca + pristine_git_object: 8b1cc04d7484cd120c2123c8af2c0b5c2c49dce0 src/glean/api_client/models/documentmetadata.py: id: 203606bfdd41 - last_write_checksum: sha1:111cf76a7d9efad936ebcf85471929b2fa30c915 - pristine_git_object: 4f50069b606ace363a0d81c6a5342fb902efdf71 + last_write_checksum: sha1:b4cad005675ae8234980050db32bef3ce4aefafe + pristine_git_object: 1dd7ec524751855817942c81e408a40c310b8fe7 src/glean/api_client/models/documentorerror_union.py: id: 1851ad2d77e1 last_write_checksum: sha1:edd4bee869906b3874fd1640bd3657e9aef66292 pristine_git_object: 36b3f551c2ebc4b6cbf5347a424519798ced4cfb src/glean/api_client/models/documentpermissionsdefinition.py: id: 7a87c280a424 - last_write_checksum: sha1:b2793a322c6b31579a2f02366338392515238a2c - pristine_git_object: fd87de54c048ebef28c2b9679aa08b8b0b131937 + last_write_checksum: sha1:78469013f5d8658e73b41233873f7e99bb13d7ec + pristine_git_object: 51f940d84d112fc4f22c38c31a7580ba8aa6bd7b src/glean/api_client/models/documentsection.py: id: 860858e3da34 - last_write_checksum: sha1:d66f0bb43d34d05166ac4e1cf24c5999951dfb96 - pristine_git_object: 6825bbb05b8da91f0aca07bf2520d9862afff2c9 + last_write_checksum: sha1:f48a7cfa28f1f19efa1e245ea5bbf3ccce065749 + pristine_git_object: 84bd99dfdf5b504b0fd5b2a59f3552f9ae4dd336 src/glean/api_client/models/documentspec_union.py: id: 9b7e01401389 - last_write_checksum: sha1:f5c1033883dda0be3207cf6d09cd72f5ed02b2a1 - pristine_git_object: 82e3e53590ac4cb4047a89dc85e04656bc5280ed + last_write_checksum: sha1:4726c8f954ada5ebea44700f49cf07ee207e25df + pristine_git_object: 6c784c4b1ea4769f4a9c4aa0ad755156c0c9b3d3 src/glean/api_client/models/documentstatusresponse.py: id: 03c5597a3ee0 - last_write_checksum: sha1:6fa0c35f03862802e908f0ff16c1b93d09b42286 - pristine_git_object: 41cc9ad2da11dd704f76ae2539a7215adb6f54c5 + last_write_checksum: sha1:f201e1fcfcb93b4de04ddb44fb33dd00de4b4649 + pristine_git_object: 59bdb9ce757d95ba4a6f78dd8f21afa2ed780de3 src/glean/api_client/models/documentvisibility.py: id: de44fa8f48da last_write_checksum: sha1:985c869e95a61595826842cb225d63dc3d8c4d29 pristine_git_object: 59bfc0522f5c880450dca0184b601a0c4c6617f2 src/glean/api_client/models/documentvisibilityoverride.py: id: d5c36989b68a - last_write_checksum: sha1:807f300f1b55dcaa2792e36be0769b81ec3b8e4d - pristine_git_object: e5d6ad033ea29dd1347c5d944ceef5c3ac35e8a8 + last_write_checksum: sha1:102807ffa1992f96d2ebfe67b1c2bdae493cbf66 + pristine_git_object: 0d20ded1834cb5000875ae0852604f8978d1eccf src/glean/api_client/models/documentvisibilityupdateresult.py: id: 499e53f55b75 - last_write_checksum: sha1:201bec37f9d6deb5c2184787c189f9b69caa306d - pristine_git_object: c48a36b1b1287dbea4c6311e849a38528c5c419a + last_write_checksum: sha1:4112c30dc9020350c9eeaa8ecaf02552d7f6b0ed + pristine_git_object: 023b959c82759c26d76834290d19e68330c8b7de src/glean/api_client/models/downloadfindingsexportop.py: id: 2694d3597292 last_write_checksum: sha1:272810d856c01cc1fe68b55286be0092fd5ddc06 @@ -5454,60 +5466,60 @@ trackedFiles: pristine_git_object: d6059a8fa23d3cc41298d1cfb331d266d793b53c src/glean/api_client/models/editagentop.py: id: d7e933668f76 - last_write_checksum: sha1:b578b8b9652f10f3f6f042436b512a7b2f255f24 - pristine_git_object: 5d66503e891f7a708186245ca0d5b901890ca013 + last_write_checksum: sha1:d6d781b7e37e841ab1d215965bbf9d2448773f77 + pristine_git_object: 8becd0bd93db0790d67122af814055c64fe3d53b src/glean/api_client/models/editanswerop.py: id: 7236676e3bd0 - last_write_checksum: sha1:a8358d6fdf546ffc6e39b043feb9d5cb37af5106 - pristine_git_object: 8aef450a39d487fb49ec3cb7ae7d75d6b995e584 + last_write_checksum: sha1:4218998b7eb11ee4547cc91a9a971e1b366ed4a3 + pristine_git_object: 8a71a408dcd5f77f1995c9dee7129908b0f80535 src/glean/api_client/models/editanswerrequest.py: id: fe09a7824140 - last_write_checksum: sha1:c7198025ff635506a3b80e62f8117bfcc4ccb68e - pristine_git_object: 0e17a606c98bf53779668b0f329fc5fbd5b5bc5d + last_write_checksum: sha1:190357a21230421277a1b24ce851209eeec2ccaa + pristine_git_object: ae92a92a41b6f176d652ff239d1023486f9f72fb src/glean/api_client/models/editcollectionitemop.py: id: 1384524a3498 - last_write_checksum: sha1:865dfe05a5b6c8ed22163f74d6eee818174b3a1a - pristine_git_object: ec47c58541a4e621037751f5dacce3bbaad8f13d + last_write_checksum: sha1:7ed405e54109b06cb9eaf446df83fe48cab2dc84 + pristine_git_object: 40bfc0691f9038c2f6ca214c811e409136f12ecb src/glean/api_client/models/editcollectionitemrequest.py: id: bc22cf6084f5 - last_write_checksum: sha1:ef0c68dff9f30c0267ad153f86280b89df7b5e23 - pristine_git_object: d263fa2ebee6e474dcf4a69f004c075ece4d491f + last_write_checksum: sha1:dd67717a60bede2bfd31beddc26569e83bf2e234 + pristine_git_object: cce5bc00b52774559d782c0e671682adacaa4894 src/glean/api_client/models/editcollectionitemresponse.py: id: 1932a6ee55dc - last_write_checksum: sha1:35202968456ac47ec2d53903bcf930dad879aa6f - pristine_git_object: 0803aa97a25fb8fef4fee326f9e774bd8700389e + last_write_checksum: sha1:78314cf2500fb389f1dab8876ec8325b28e6c354 + pristine_git_object: fbe17f7c33555cbf1f1b08c59b236dfe32c2695e src/glean/api_client/models/editcollectionop.py: id: 6bbb39f451cb - last_write_checksum: sha1:4e26166deda0974b97350d77d0cf0f0a6f11ef45 - pristine_git_object: 89876fc83292098da540fe0a4593ebcd22bc0776 + last_write_checksum: sha1:38b1eb1939a5319ead19f8f75ac94b1b717b5b32 + pristine_git_object: 16cdca2f3e3b5475de01e813d7d700a86c4966c4 src/glean/api_client/models/editcollectionrequest.py: id: fb314a816369 - last_write_checksum: sha1:e0873a34e4ea4e5b86c942f40b7a6416caaddb9e - pristine_git_object: 7a4edd70390dec12ae19ebdd044da70cc945f836 + last_write_checksum: sha1:dcc0eb108ab00a7fc9d797fc65d8a6c5f0e3e4a8 + pristine_git_object: 97da2d79f81f35cba91ec8e66ed8de8975407298 src/glean/api_client/models/editcollectionresponse.py: id: d5021e1e02ea - last_write_checksum: sha1:c23281223b1e8f44aabe2c8933b16de348a9acc5 - pristine_git_object: cf72a321fd7243e64730402a2773eecc1d8a3554 + last_write_checksum: sha1:ac7a19b441ac28fda0f4f82330ceaa42bf92a0b7 + pristine_git_object: f4161c6020fa8755fe741fad34475315bed34106 src/glean/api_client/models/editpinop.py: id: ccf2c7c31a0e - last_write_checksum: sha1:4283c5ec511a7e85a96bfab308fc38974421eade - pristine_git_object: 608f79b9fafda26b5330d562955b6e971d8f2aff + last_write_checksum: sha1:ea764511461815b568a0325d2a8eb9d38379c1e0 + pristine_git_object: 27959dfd8b770f3f8fbd130ea6ebe7000220932e src/glean/api_client/models/editpinrequest.py: id: 394a855b5f16 - last_write_checksum: sha1:2ab581efcb31ece5d80adac97fdba88727fc9da5 - pristine_git_object: d19c91a1f64bbbed70c05885945ea5a5d95146e7 + last_write_checksum: sha1:bdb96ff8b129c13300421caccbff1a44c9ffd7f8 + pristine_git_object: ed56d1d2a10984cbac48c1954f2f852be360eceb src/glean/api_client/models/editworkflowrequest.py: id: b4e7d6c2b721 - last_write_checksum: sha1:af89744481a4a1b07c0a2b1e56267647d7f9a84a - pristine_git_object: 5d3ba4f1039c79d087bc34f8a2e85f979060c290 + last_write_checksum: sha1:743c08484ec8b340cd83431b5e318dc2f0e2c0b4 + pristine_git_object: afc782de1b1ce8b894b88035aceac01f8f1358fd src/glean/api_client/models/employeeinfodefinition.py: id: e16fd44a957b - last_write_checksum: sha1:31adb02b284e9800e5ec9c47b4b7931124bdb453 - pristine_git_object: 1a6ef5934dd8feb168b75676266fd59f327b18da + last_write_checksum: sha1:a49cbfbc48fba487c7781c2bee93ba3d530e0b6b + pristine_git_object: 1389efbf7f2c7a36ddfb113e931f8f087a18f654 src/glean/api_client/models/employeeteaminfo.py: id: f50b29739646 - last_write_checksum: sha1:c5c1a5c9397fc297e5b724a203ec7eedd43d9dad - pristine_git_object: 91d78b8d4a7c6b7298689c189a03963746dae920 + last_write_checksum: sha1:6a63e19100149932660941ff970cbdd9d57c80b2 + pristine_git_object: 35e8fdb928153b0588e5f5012284360dacd4c6f4 src/glean/api_client/models/entitiessortorder.py: id: cd626c042435 last_write_checksum: sha1:606f29ffe3a88b92c0c916b49c5bc1a290b9637f @@ -5522,12 +5534,12 @@ trackedFiles: pristine_git_object: af479617f97e668b22634dd88373471ceea7c7a6 src/glean/api_client/models/errormessage.py: id: b2d0a949c567 - last_write_checksum: sha1:333dcf5a80490f22926497048e1ff8c19423375e - pristine_git_object: 5979617bcbe5d35a2b952ec6ffb10c23455987e7 + last_write_checksum: sha1:35e9543c15cbf2e7f16e0d1460eeab8f6502d93d + pristine_git_object: bd149722492567a568ba082dc29d635d0efb20f2 src/glean/api_client/models/eventclassification.py: id: 6430165e5712 - last_write_checksum: sha1:5fe02ee5694772d7b2d508f1eb5e457e1a85d72c - pristine_git_object: 7ed6e3fc0abf297b40dfe43a3f8f0bb3b7335e6c + last_write_checksum: sha1:7ada958c68ec334ffdacb38d0febc214fedde5b1 + pristine_git_object: 7c8eb628167260edec13913bcd3c457d64efff9f src/glean/api_client/models/eventclassificationname.py: id: "00e500099220" last_write_checksum: sha1:a6474e7214348deab1e02765dc1f6281d8fb3802 @@ -5538,192 +5550,196 @@ trackedFiles: pristine_git_object: 2fc0a34fb83cf361d4167e22685f67eaa1cd269c src/glean/api_client/models/exportinfo.py: id: 7039fdf82b53 - last_write_checksum: sha1:a69c686182dee61cc884327c87f0bef1be71e381 - pristine_git_object: 75811dd489fcefae9c55879fada8dbe520830de1 + last_write_checksum: sha1:9d00d2c302d413c6306a7f056fdcd184127971a4 + pristine_git_object: 37ef378e8f19564e79a74cbbbe257e78ad815f63 src/glean/api_client/models/externalsharingoptions.py: id: 0df611382e60 - last_write_checksum: sha1:4919f95cf5299ce7d8f3694bfd6315b68840e88b - pristine_git_object: e569b8340a3a1fdf672586e5bf6313913cb53b5f + last_write_checksum: sha1:531edc6a700d071f23bbebe9ce4edc1c94217795 + pristine_git_object: 6e56c849005252175baf95fa0e2b67c88a42f72e src/glean/api_client/models/externalshortcut.py: id: b9c91219a7e1 - last_write_checksum: sha1:2f36eb751587c541581934c644e77bd08d922392 - pristine_git_object: 33344b4108708a0eaab4a47d04bb9f9923efa29d + last_write_checksum: sha1:b36e430a734fbc40a680d35b8c7dda4024240811 + pristine_git_object: 3631f05af405193855e5ce8a099b14e8e51fbfb4 src/glean/api_client/models/extractedqna.py: id: e4498c224e1e - last_write_checksum: sha1:02c76af5edabda94ce2f4d95914cefec7f050f53 - pristine_git_object: 6a255674fde15bd601bdd6ef074de6187971410a + last_write_checksum: sha1:9bb8d865930c65eafcd59edc23ed877cd0aaf517 + pristine_git_object: 2d917eea1e7870425764a1b5d97ee26c18f7d1c2 src/glean/api_client/models/facetbucket.py: id: 3dabbd5bcfb4 - last_write_checksum: sha1:af84cbf7988dca4f7d998bafbdd41eae2ee90e36 - pristine_git_object: f8d356f73ba7ab657d3955f6435a94a6b700981f + last_write_checksum: sha1:8daaf83b192bb11fc085811ee651898175d032e8 + pristine_git_object: afdb1dc4ed542724ea001340294dbfb949c9e2fc src/glean/api_client/models/facetbucketfilter.py: id: d1e4435eff08 - last_write_checksum: sha1:3fd7e6b2f08b1c29c9999eab2d12406c156012d2 - pristine_git_object: 19df5a17e69c63bd0355021b687b4598189172d8 + last_write_checksum: sha1:90cec44a7312c98f216dc2c52f384f15e06a3d1d + pristine_git_object: 6d27dee0da043e49f664e4ae8a3f1004c6502c89 src/glean/api_client/models/facetfilter.py: id: 0092f5488ed7 - last_write_checksum: sha1:71945c896dd40a6072a619d0226ff79b626e5e41 - pristine_git_object: d882c35ba28f7be55ddc5b5f4a47bee27f01fb01 + last_write_checksum: sha1:9eaa00cda7bc80a7f5bbc76cb6dc453e84cc97f0 + pristine_git_object: 7c0df9036041f8a669ac98d8025495ac4e0ad7f1 src/glean/api_client/models/facetfilterset.py: id: 24a068134424 - last_write_checksum: sha1:cac7cc417665fe2d95c4a9de2a4b7095d0abb0a5 - pristine_git_object: b1f689e7cbe160b1191780f88c1b66db4666fcf4 + last_write_checksum: sha1:f092c055b5100250383601b85cc5a60a5d7da5fb + pristine_git_object: 2efac8eba746f9573dd31576d415aa0f4805e810 src/glean/api_client/models/facetfiltervalue.py: id: 2538d6322ce2 - last_write_checksum: sha1:35c3ccd1e7d83eec5a9a5e8c54f8060d336305d4 - pristine_git_object: a32ff103ebc302390bd568f703c7ee2656d5fd2b + last_write_checksum: sha1:908caa75fff552379af6f63c615cd79cea77dd1b + pristine_git_object: f66282d4c1ecf5ad51b31ef6e787075bf5b52bcd src/glean/api_client/models/facetresult.py: id: 0b08040192a1 - last_write_checksum: sha1:9c5b4fff2ca3c99cfc7921b95cd40fdecace8192 - pristine_git_object: 6cea2b89790635cadb5afbe94e4b6a409933dbb6 + last_write_checksum: sha1:d8014d5a38c343a6d6c1a8970aa7d55089a2f791 + pristine_git_object: 0f4140ac834ef9858db418bd3f10b2a7a3255602 src/glean/api_client/models/facetvalue.py: id: 37b332e83210 - last_write_checksum: sha1:4dd701b69d4079c4f068d692e02cd4a87903f7f4 - pristine_git_object: fdf378c8dc7f45bf2e638cd1e4900f4464d5d938 + last_write_checksum: sha1:5f4121a4a83ab93cbd95f8e744131f35a2fe43b5 + pristine_git_object: ae45710c922e72a579a886ae153f845b2d3ce795 src/glean/api_client/models/favoriteinfo.py: id: c8966a607f00 - last_write_checksum: sha1:6c5eed7096282ad3c4444bd15a43bd7c55ab5d68 - pristine_git_object: 17359e01fa84c77c0074e5d321ae7ac50451a48d + last_write_checksum: sha1:aa437f9a2e6ced4f0c329066106aef0867421657 + pristine_git_object: 460680f017b3505e1ca064567d0c01b174c3f90c src/glean/api_client/models/feedback.py: id: 511140b14aff - last_write_checksum: sha1:6b121c6d4b112fe8271598735390319195558228 - pristine_git_object: 1dfc5693f596424df85a279938470af2da752f1d + last_write_checksum: sha1:2fdd836b7d6bb3bbb35fe0b021904aadbf2a43d5 + pristine_git_object: 23a23763019bc273552bf2dfeb738a31dfdf7f05 src/glean/api_client/models/feedbackchatexchange.py: id: 8a8e469394a1 - last_write_checksum: sha1:fd19bb89b532bb5ee4c798e352a83af00e03d118 - pristine_git_object: 291794c5d27686fed3c85ef0f9212fde461cf0a2 + last_write_checksum: sha1:d232585d65f8b2cded1fbc517c83194f1d0786f5 + pristine_git_object: c9857e609336bd1b2e7f7ee558c2813860b989c1 src/glean/api_client/models/feedbackop.py: id: d74abf6b0a42 - last_write_checksum: sha1:fa5e1e58653c2ab36c5f6c50cfe32541eaf65a3b - pristine_git_object: 44041cb376d89949c815ea1e7813505940605855 + last_write_checksum: sha1:370cb7f2f27fb9e8c2249fea48bc23e433d0b4c4 + pristine_git_object: dfccc4040f36f740c8ccda4a7770cacf65faba93 src/glean/api_client/models/feedentry.py: id: 023eb6c10ae1 - last_write_checksum: sha1:4f7598c87d7da11d918a6dab5a61ec9e24572c58 - pristine_git_object: ffccc86e179a75d20c2cbc4037cd56fe77465c8a + last_write_checksum: sha1:0ed36c337eff4da1f55d9605e243162531186ab8 + pristine_git_object: b9b7a2c3087a569532d5fe48e51be46237a45a7f src/glean/api_client/models/feedop.py: id: b8067ac0a127 - last_write_checksum: sha1:c58cb0a3a01925eb14d84176c5c6e9d8f4d84cf1 - pristine_git_object: f39626285f84630e5a9233736d652914b759d44b + last_write_checksum: sha1:da6dd08c8c528d259ae147e19e1ca649a6ba88bb + pristine_git_object: 546ecc098e2e87058244df39cfc61b388666ff52 src/glean/api_client/models/feedrequest.py: id: 33496b6a5bab - last_write_checksum: sha1:5e04e35f53fbfef6ebb9fc8cc74ab76af0046f6f - pristine_git_object: 2fe3ed0a2c8dfd203cc75b8beb39e03c7925c59f + last_write_checksum: sha1:e44fd9605a1a818cefc17ceb7cd15456278de7bc + pristine_git_object: 45efb47a7d767f500820df2ac7af8f2a665096cb src/glean/api_client/models/feedrequestoptions.py: id: b99003fbf522 - last_write_checksum: sha1:d5ffee29242075cbe6d2dd5ec916b0c3d40acf54 - pristine_git_object: b0d65380ac5f1bbfcc8b3bdcf8b44bd22b760a31 + last_write_checksum: sha1:9f382b46fa03a906e93b5477aec7f4a4480a7fd2 + pristine_git_object: fa822f96467d0ad9d6d660eaacda9875ba5eab8c src/glean/api_client/models/feedresponse.py: id: 4a48e189e0c4 - last_write_checksum: sha1:84c63b88f2f6fea64ea6f15d41e776bd57e95181 - pristine_git_object: 683438c837601f483526ec18756fadc7222edb24 + last_write_checksum: sha1:75a5643cc2be70506ec16c78eb163261a6c3fad1 + pristine_git_object: 40506cff84a40183bbcdbe4369475f072fbd8b6d src/glean/api_client/models/feedresult.py: id: ae187332b37a - last_write_checksum: sha1:89d820d22656e37126da8c9be688270b17bdf8e3 - pristine_git_object: 66006982c627a51a56e9631899130e2dfed6bc86 + last_write_checksum: sha1:ff118f4751d712297b1d5d0b8b4e3ce83e483c06 + pristine_git_object: d803e8aa42f6023dbdd7f50a835db0e98878a7a9 src/glean/api_client/models/followupaction.py: id: e2de5c4c8524 - last_write_checksum: sha1:49e1a826449081fecfcd828c940604db949a8533 - pristine_git_object: 5a44621581bf4944e7e56a5964a655d7bc081d5c + last_write_checksum: sha1:c0c5f38da62f3b784bde4410acf393e04800eea2 + pristine_git_object: a2b7664c977f01d49ed89cd09f3dd14a9def2479 src/glean/api_client/models/generatedattachment.py: id: 257c5ef9996e - last_write_checksum: sha1:8e29bc6b5a6ef39fc90852c801e10bda5e2ef8cf - pristine_git_object: f431eeded29a29c46d37e0f6977f8aca5e3d1261 + last_write_checksum: sha1:1ba01cb55715f2679f2c1f67de0d1989e09c5dbc + pristine_git_object: 26509ac881078d84cd82454497af66c67e60c560 src/glean/api_client/models/generatedattachmentcontent.py: id: cd6ddc3356e2 - last_write_checksum: sha1:121cd44820c25f12d1e8290dc9c195661e7f25ad - pristine_git_object: cc022b56eeb282ea4f508c9cd87f28f81b0f51fe + last_write_checksum: sha1:0393db6f1052226ed844dbf5f7ab38b529472b57 + pristine_git_object: 281ddb3303b7ea30e8d58a349ca1798dfff0ea4f src/glean/api_client/models/generatedqna.py: id: c505fd0d1ece - last_write_checksum: sha1:977cfe47cea6e8bba465d0a96897d7ca2b964286 - pristine_git_object: f1fbf6355ef61a62a6b005133879be71fb3a775f + last_write_checksum: sha1:a4fe404846503ae4a8d46e7167cb4fc75c480265 + pristine_git_object: b3a8ffe0ce6d15d22c5fc472b13a5dc9f35ce48e src/glean/api_client/models/get_rest_api_index_custom_metadata_schema_groupname_op.py: id: cee009e61198 last_write_checksum: sha1:892d386f5c31ce84be5656afa0e9c78b47128b71 pristine_git_object: af2ec64b10156b7098dc0c21b7d63d0cae1cc64a src/glean/api_client/models/get_rest_api_v1_tools_listop.py: id: 34cf81e82af3 - last_write_checksum: sha1:4f84149547bee459f0a7f05a9b37c7d9d256af7e - pristine_git_object: b5265a6086412a71445036330b444d889e033cf7 + last_write_checksum: sha1:52b9eac1f4bc7b6b63c3fd5ea620329c731e23bc + pristine_git_object: 8718e9a514fd4891b8d492efedf6db932574bdfe src/glean/api_client/models/getactionpackauthstatusop.py: id: 3901c2d16ed0 last_write_checksum: sha1:af917b3d2da7081a76dc5225a11ca3ce033aff5b pristine_git_object: 596234eab9affb498754b9606ead92d7a006fe98 src/glean/api_client/models/getagentop.py: id: 40981170ded0 - last_write_checksum: sha1:69acb6eb3a47aa7033c5661c241c8467e9f806a7 - pristine_git_object: 9cb3838322708bd13002d26f6970c663fb989105 + last_write_checksum: sha1:c0d40a958f1b7ab1ed838da61b2c1977cdaeed0a + pristine_git_object: cefcceccb2b45ce0097185576f032784cd225cb4 src/glean/api_client/models/getagentschemasop.py: id: 21bfced8e2bc - last_write_checksum: sha1:c6c9064deb5103dad3bbb21e008ee089ec7ac0d6 - pristine_git_object: c381cdaea97ca53818651803a51a2dd133e4f9dd + last_write_checksum: sha1:1aed8bf80a6cbf68afeaa90b3c57f0a1b188b54c + pristine_git_object: 8855d63ce17b7877cf559fd4faa5ee75fb45e63d src/glean/api_client/models/getanswererror.py: id: 7d4df3bf2bfc - last_write_checksum: sha1:e8dd4317871d0643b9156c5110f0757113e2f820 - pristine_git_object: 102fadd9bf967b99a1fee20027e4be5ed6902943 + last_write_checksum: sha1:1b05cffef74eeb33aa661913a7bc010a17cc758b + pristine_git_object: f62a4ca97b7adfa334fd396857ac4cdfb81ca878 src/glean/api_client/models/getanswerop.py: id: d02c69702982 - last_write_checksum: sha1:169959016e00ee8aab88f0378e3e6ced394575ad - pristine_git_object: 3a64977851c11a39ff5f3ca5f82b3eaf71f922fe + last_write_checksum: sha1:6f85f1e1157a9ff989aa7e25c70fb99b2d5892b9 + pristine_git_object: 2107e881c8b5a61099c2865ae551f2df5a31d086 src/glean/api_client/models/getanswerrequest.py: id: 51b52ca6bdd1 - last_write_checksum: sha1:49ba892a13c8c344e0ec4417a8793461db0ac6d3 - pristine_git_object: 5a1648a161b019200d53e5aea51c2f9504fec1bb + last_write_checksum: sha1:852fb8bf4d1699da72574c52e04675704d22d842 + pristine_git_object: 2239c029abf32040f11cd257ac88aa4859b091ed src/glean/api_client/models/getanswerresponse.py: id: 29a80a8d4d70 - last_write_checksum: sha1:5ddb79ddd6acd5b78f2ae5d761e5eda34949ef65 - pristine_git_object: 6bb54cef2ccde6c095fd17214c783da77dbd6037 + last_write_checksum: sha1:9dd1a0433cf7b408648104a36584d91035218948 + pristine_git_object: 5d7b80b42a596beffef00c2dad0cbb08c95f85a2 src/glean/api_client/models/getchatapplicationop.py: id: 320af39d31c3 - last_write_checksum: sha1:838ee71b14a211d21ff189a2962c02cb0825dd42 - pristine_git_object: 8431fc2efa1b8e3f6e5ff275696e68935e67c979 + last_write_checksum: sha1:5fb3849257272934fbdc3eb44fa1a5ecc5092f31 + pristine_git_object: 0091933560d1c341fef141c87d39cb0ef692df11 src/glean/api_client/models/getchatapplicationrequest.py: id: 6e15de2008bd last_write_checksum: sha1:9788428769ee01fbe7bc39b4281ce952d2a8e052 pristine_git_object: 5406833371cf8145c2c245108bce7a7f5b4424fb src/glean/api_client/models/getchatapplicationresponse.py: id: 8147c65ec269 - last_write_checksum: sha1:513e7c852c94bc4f2e2009825fc0c5c72190daf0 - pristine_git_object: c4b388714d4ecbfbb9476a055d4c950128c72007 + last_write_checksum: sha1:787392162bb83e1d4f9cbfd0cafa18666a4f1989 + pristine_git_object: cbb34cb179da3cb513fe0cd090d184ab80a752af src/glean/api_client/models/getchatfileop.py: id: 6dc641c60a78 - last_write_checksum: sha1:0a8a9755c7ed12d7cc8f4a1844d8619ed8d08ded - pristine_git_object: 60bbf3271ae420b5b5b6f0ed44419242aeafdf93 + last_write_checksum: sha1:013a86511fa8197000eced661e8999838ec762b9 + pristine_git_object: df918a0c49301285b61c8791d667d0c535035de3 src/glean/api_client/models/getchatfilesop.py: id: 48b9a5c63e2c - last_write_checksum: sha1:b3584731846f91629eb30a5e44ac46f7306d9e08 - pristine_git_object: d0ba2bef4154af18be6b5eda11d225b6ef987b70 + last_write_checksum: sha1:b5f48a738d752bbfeca7bb24cd5886109cb21dd0 + pristine_git_object: aa510ac11b7f33270bab9346b8a259c9d25572a3 src/glean/api_client/models/getchatfilesrequest.py: id: 86e8fe781667 last_write_checksum: sha1:6b76bab1d15ffaee5754f5045b0701ebc994a26f pristine_git_object: d29ef1be18c9bec94ab9b207159a0b729ea6e9b9 src/glean/api_client/models/getchatfilesresponse.py: id: af6a057b156e - last_write_checksum: sha1:f28d5c86c08e69aad88cd5c1d10ca499e4324395 - pristine_git_object: c3d8e2e9a736ecbd9edf70d415e8a2ee79263d21 + last_write_checksum: sha1:1e532ec10bcf58fffd517629a79a2687c7edafb9 + pristine_git_object: ca582a05878ecc55724f8bcd2e7cfb3d927034bd src/glean/api_client/models/getchatop.py: id: 2b157d86e810 - last_write_checksum: sha1:7fba50ab316f12a352e22aadd1066aace9bfe2ed - pristine_git_object: c4155fe3abc66d93dfa10efbc84aec804425a1d1 + last_write_checksum: sha1:b78933f198cb955c6ab62cff26d6be1efeff86ea + pristine_git_object: e82d2fb8fdcd362b4e0fa020a73165cebb1d7957 + src/glean/api_client/models/getchatpagination.py: + id: 814ce39ea1c8 + last_write_checksum: sha1:6b4abb16813f6f126225a82a18b12fcce42b5d0e + pristine_git_object: 208ab88d6ce3608670a39e5678d14e92a399f1bc src/glean/api_client/models/getchatrequest.py: id: 408479eb0833 - last_write_checksum: sha1:7d4a3169cb0ab0954471eca8f5066cbb0f265e93 - pristine_git_object: ddc9479885a8be6494fdf7840b269983e715b138 + last_write_checksum: sha1:69d392434b1e49dc0544018e1e706d2e6337124f + pristine_git_object: 6400f8d1a872f5c7cf87db35c25b2b54c146221a src/glean/api_client/models/getchatresponse.py: id: 0ed1381b51b7 - last_write_checksum: sha1:c26dfa56429195e39101c679451ec27039318052 - pristine_git_object: 7dfadab71ab57286727d953366b23b7a78e4d476 + last_write_checksum: sha1:aa72a24f30dfc01235364cbb3434d4dbeeb2e5c7 + pristine_git_object: 3e43af4605f73d1d18acf489e91dbde838892f1a src/glean/api_client/models/getcollectionop.py: id: e46c77b755f4 - last_write_checksum: sha1:6f9ac4feda4a8d879faaaf64ce7dabb47c3d73c6 - pristine_git_object: 92fdcda500ba4cce82ccf9ecff86bacf17f717b1 + last_write_checksum: sha1:740004e136567106548318a2c9e473ec730169a8 + pristine_git_object: 776c2e153f91e3a6c5b9199a81f11621f9e0c830 src/glean/api_client/models/getcollectionrequest.py: id: e133223930a2 - last_write_checksum: sha1:d1747dcafee4b85381dd7652232d618a0d3be960 - pristine_git_object: 36d10443a188e97aff3ba27f54a4481805e21c56 + last_write_checksum: sha1:40f4c8b7cf68253822f2870266a6d17574de7080 + pristine_git_object: 3198d5d66ef45a0e24e8d42029e205749658a5a8 src/glean/api_client/models/getcollectionresponse.py: id: 458c44d7b658 - last_write_checksum: sha1:cb8b6a2bd5ae9230bfde9537cfdd7e2ef178a3d8 - pristine_git_object: 10123b3a3b0f987d0f603afcf374fa3e27a815c4 + last_write_checksum: sha1:d106ae42a2db1bc50d38942f20722cd5ed47a228 + pristine_git_object: 04a5617d67600065bbb5cfb48ad2d090a5c80017 src/glean/api_client/models/getdatasourceconfigrequest.py: id: 42b2eeea0fdc last_write_checksum: sha1:72e44bdd713ea77abbd991bd01e7f433cd2443ea @@ -5738,104 +5754,104 @@ trackedFiles: pristine_git_object: 25a21bd1a03a9e6966f1e979e2be8830d4f93243 src/glean/api_client/models/getdlpreportresponse.py: id: 0e0111b5d484 - last_write_checksum: sha1:0f3a4d3aad6cfe33e17c54e2c39175007354df39 - pristine_git_object: 7af2ec3d8f6dfcb26f20db7f043345ca83fb1069 + last_write_checksum: sha1:4fc848ac4b725bd30240b4fd67874d9d4cd325b2 + pristine_git_object: 5ac57b0e29c42a2b93285ace5ba3d30b1983d748 src/glean/api_client/models/getdocpermissionsop.py: id: 085293ca24a4 - last_write_checksum: sha1:84df043245e69ed11b0e459e814df92f1f6d48b7 - pristine_git_object: bc562e4133d5f22e83ff3724de9846808e3bf7f7 + last_write_checksum: sha1:b48d613e06e946f617f96de15f4389b137480370 + pristine_git_object: 28fc0001d850925474d6e7f6f043138e51d43ab7 src/glean/api_client/models/getdocpermissionsrequest.py: id: 9e472fc389dd - last_write_checksum: sha1:ca6532cef63e26ebe9c30c6c5014a738853c9b63 - pristine_git_object: 4c4a4e5b966c56189c9e4deee8230829ab67329c + last_write_checksum: sha1:e652a754b5fc8d882791807e06912868f04f3312 + pristine_git_object: 39ca0c5892c5d0bc4cc8ec42dabc928d4d9d6fa2 src/glean/api_client/models/getdocpermissionsresponse.py: id: 44cd7997b6a0 - last_write_checksum: sha1:161c380681479f837ebde8e21e94d941747971cc - pristine_git_object: 061e8975f7dd87e8eac8bff34990e8ee47205c56 + last_write_checksum: sha1:f928d808128d0a02eb02ea611bc3a5feea01e6ec + pristine_git_object: fa882249365804ade6a99fa47528af58fc2028a9 src/glean/api_client/models/getdocumentcountrequest.py: id: 46fd4fe893f8 last_write_checksum: sha1:2de1cfa7ec68a49963d911e61b230a6475c73c72 pristine_git_object: 4fd7db81273bb4929fea350bbba1cacb659cdea8 src/glean/api_client/models/getdocumentcountresponse.py: id: 872d5066d91b - last_write_checksum: sha1:f8e81b4b74396f7942acd3b0c6f4e90c68c1ed7d - pristine_git_object: c3400b20d46c97ec22f85c21e187fed51e2d1834 + last_write_checksum: sha1:aff37a3a3ae6152913df62d7dd59ea46869815af + pristine_git_object: 0299e683ef3cf00381ac23feb4fbdd69746f9866 src/glean/api_client/models/getdocumentsbyfacetsop.py: id: ca5343a63eff - last_write_checksum: sha1:1ba5ede62829dd92ba085fad3bb369b1a91d1e16 - pristine_git_object: a6bd1531c8e9cb22cd78f1cd81f3ab1ff0a48027 + last_write_checksum: sha1:526ab0663c29e583402ad51fb1fdea34b2e99691 + pristine_git_object: 3ac13be3f7294ca365da6b2d3d86e80f8c96a908 src/glean/api_client/models/getdocumentsbyfacetsrequest.py: id: 095fa51d67ed - last_write_checksum: sha1:35e96ab17f29008bf4200233dc35bcfc6b13395f - pristine_git_object: fe741831ac78eff9313f2a4d2429d234a6cb05af + last_write_checksum: sha1:0a45607d1ef2fb9be9b022c7be82fbc5e72ed41a + pristine_git_object: 1e2d4b8345fe238ab10404c69c977c4c5aa962b2 src/glean/api_client/models/getdocumentsbyfacetsresponse.py: id: ffcd52e8e229 - last_write_checksum: sha1:fcd96ad7ac48bbdf88f97599f6de011034fb4cdf - pristine_git_object: e7e0337a8366b17eb417470ccd229183be4d6181 + last_write_checksum: sha1:ae7a893240af0cab8da51657b246f5d2fc75663d + pristine_git_object: ecf3e4076d6a7ff475203665b01444c2488f3aea src/glean/api_client/models/getdocumentsop.py: id: 957b85b955b7 - last_write_checksum: sha1:0b3377188c15091c04de3190bc0f4dd76e60435d - pristine_git_object: fd29b3ef55a3ab4fa940ccd8a5bf93bfae99568f + last_write_checksum: sha1:b515f73fa5d3c41a84564c68cef8f49b68784f7f + pristine_git_object: 33ccc34b3f169db2aa9041269246fea087a658dc src/glean/api_client/models/getdocumentsrequest.py: id: 35b06c70131e - last_write_checksum: sha1:62bb272f1ca7b3b9a6cff8a8bcb5d0e58cb817aa - pristine_git_object: 8e64be35de3202a3d86992ed79c006b294c04deb + last_write_checksum: sha1:cb327f2b4af80acb2848fed50414d9f9c4776e7b + pristine_git_object: 350eaab298ce854c672f680726fa8bfa07936ef2 src/glean/api_client/models/getdocumentsresponse.py: id: b2062b96f07c - last_write_checksum: sha1:fef5c4b3503684eb5b1d2c0616f3b221fc429901 - pristine_git_object: 6448b8887248c18fa48e24ddc30967aa287c0328 + last_write_checksum: sha1:4eeb08b42c285d96a7b1d1fc23db6bc4e4dd2868 + pristine_git_object: 0cd8f8d2f1c33d7831c7bfda01216ce9139d42d4 src/glean/api_client/models/getdocumentstatusrequest.py: id: c1363f61d9b3 last_write_checksum: sha1:2fdf84dbe3fbca26a2d63d9fff578eae218bc0a1 pristine_git_object: 1a4b391ee1398d7592461f9bc5bc03f62cc36bae src/glean/api_client/models/getdocumentstatusresponse.py: id: bf15cdc33856 - last_write_checksum: sha1:e1437df5bd1e3b8d165e95a75bee4761f6a16ab7 - pristine_git_object: 5bd4fd926abe4057a27fb4bcc0c74f1da0c67e48 + last_write_checksum: sha1:df002a3c002bb32cd821a0b0978529d5f68ea13a + pristine_git_object: e4855a1d05f081f55ba53a157af18d22ffea8693 src/glean/api_client/models/getdocumentvisibilityoverridesresponse.py: id: 4fcb987e34c9 - last_write_checksum: sha1:7960ab3d4485c54864c3eee76fd2192f01156b54 - pristine_git_object: cd81ecd7cd1918e4c482cd012a9806640b160fee + last_write_checksum: sha1:4ebded3a0c556d7ef8b81f198adeb1718de32a40 + pristine_git_object: 4aeb96ababd6288a97d1747b11df10f4fa4fef9d src/glean/api_client/models/getdocvisibilityop.py: id: 0f3847de9013 - last_write_checksum: sha1:e424ef68054082c29c96f19f973babe17c62009c - pristine_git_object: 198ee640c908f13a53a84f7939e6ca704c99e684 + last_write_checksum: sha1:06e6fc19703b959c2774d9fa54f7914d9a7393e9 + pristine_git_object: c50591a493cded2fc90c574400f1cdf6be99ec05 src/glean/api_client/models/getpersonphotoop.py: id: 52871feebe6b - last_write_checksum: sha1:10e6a543cab6b99a77ad87c794d36f0c977e6e92 - pristine_git_object: 7d3d9948d1d527f27b88441934301a449aca639f + last_write_checksum: sha1:a4a6c116965d987d9f613b1fbf7d265b86bec815 + pristine_git_object: 53f02bf06c2198038e608a727a7d2cc195383714 src/glean/api_client/models/getpinop.py: id: ead822eb0da7 - last_write_checksum: sha1:7f09359a7f5bf28b8713a604d99fd867e20ef8c4 - pristine_git_object: 7c1467b483924b32030847362d876c06d9392d73 + last_write_checksum: sha1:a002deefa8ebbb72ff246d0148e9479697806d85 + pristine_git_object: c32c81e38e71e3ba4d59a7c940e47014d3524472 src/glean/api_client/models/getpinrequest.py: id: cd845a071792 - last_write_checksum: sha1:abdf087dcbb9eb9d07653a621ede460ffc6da8a2 - pristine_git_object: c11fbc5cec96be3d49fef79a8c781ee1c5537adb + last_write_checksum: sha1:828b513ff81e912ff164670d339f318f96dbc4c7 + pristine_git_object: 278f6985e68c47cd167f77c81f1d68e22adc0d4e src/glean/api_client/models/getpinresponse.py: id: bceff8932b22 - last_write_checksum: sha1:e041099339214bbb075517d340bff8a631821a80 - pristine_git_object: a45629314fc8a15640430e588e61d92b6953fdfd + last_write_checksum: sha1:6811fdf944cbd0168518bef825a6fa9eaf4c9475 + pristine_git_object: 2a8c6e75e1839d7c6bf9ef0b0b19101445450f4e src/glean/api_client/models/getpolicyop.py: id: 58d603f46a48 - last_write_checksum: sha1:560594f5d11e53df0bba0a74a369d9538b1a98ee - pristine_git_object: 95b3502e755a161a68ab37661de93509664bc9bb + last_write_checksum: sha1:be360794834660c7c1bdb3d87961a1c34264bd3f + pristine_git_object: 52d711248b7235c201f91c5538ca844d337377cc src/glean/api_client/models/getreportstatusop.py: id: 109bc89ef9e7 last_write_checksum: sha1:d6b857528734b75999673d80dff04999994fb2e1 pristine_git_object: 17fc561771d65ffe3d3c15fec7099aedaf8f3341 src/glean/api_client/models/getshortcutop.py: id: 441211afbd50 - last_write_checksum: sha1:788d31f5eddae3579775a820b5b495fa6da0f1ee - pristine_git_object: 3ca7f668d58fc3288f4623c10342c7314e718953 + last_write_checksum: sha1:885a8b486d22de5159a69ec88c876fdd06ac5eb6 + pristine_git_object: 0202dc8475cb597dc1a7cc081c1929e134aadef7 src/glean/api_client/models/getshortcutrequest.py: id: 0c01b7f76574 last_write_checksum: sha1:18d613e1443809e7142560cb14db3b987c91af6c pristine_git_object: 6efe832b0a6facfb137cac38c0ff8db1d4d03302 src/glean/api_client/models/getshortcutresponse.py: id: 2d10a576bd7c - last_write_checksum: sha1:d8df32d525b0631a0261f888b89ef14b54dc03fe - pristine_git_object: b20fa7417eb5341f53bdc78ecdf42db7a1488678 + last_write_checksum: sha1:a1440f7968afdfe4013bd3a2359f6ada22d580b5 + pristine_git_object: 235cd6ef8f464e5daade0788954887f4599f0060 src/glean/api_client/models/gettoolserverauthstatusop.py: id: caa449cca979 last_write_checksum: sha1:bf1850bce3e5468612e5e067cd8c6098b7a9d5ff @@ -5850,56 +5866,56 @@ trackedFiles: pristine_git_object: 093c81b4a2331f5bdbedd95dbf68f5310eabc3f3 src/glean/api_client/models/getusercountresponse.py: id: 9cefa2386bed - last_write_checksum: sha1:1df6f1867005284d418a4f3e1e833424e41cd4b8 - pristine_git_object: 9a042fa5adc978c6210d795e56e6b1ba576c2b05 + last_write_checksum: sha1:3dd9b8606377ebfd20d1daa4548d090628e871c4 + pristine_git_object: fe6707332fdd953b2279ea1782f0c37f81571137 src/glean/api_client/models/gleanassistinsightsresponse.py: id: 10a2648cbcf1 - last_write_checksum: sha1:ed5864db022cd7c00d2f1f97961eeb575e79c599 - pristine_git_object: e6c29553c9be312eb50df7f0035c8c1485494891 + last_write_checksum: sha1:d56ce53ecaae25f986c741591f925e44fdbe864f + pristine_git_object: b758d91e6faeb133f8d34e2606b59999879d1cfa src/glean/api_client/models/gleandataerror.py: id: 86e8dc6c1eb5 - last_write_checksum: sha1:43fa5675b38cc9bd175f8fd22e9d39756025bc5b - pristine_git_object: 7672589b96aa71f8d3a290a4e5770f9a2b104683 + last_write_checksum: sha1:cab013b2c5ebe7f2dc5aace7ef45d8cfb0b08643 + pristine_git_object: 353e560cecbdc4f9cf3fb2ce1f7fdcb7e7ac5d3d src/glean/api_client/models/grantpermission.py: id: 0cfd67112b08 - last_write_checksum: sha1:4de0791ab2cfedc646dfc39264e1c0ab08899ec1 - pristine_git_object: a1bb68065a5470dd33a3f1a9f19ca773d26af20f + last_write_checksum: sha1:6e3015c163d93a017f705ffc9e770517119033fd + pristine_git_object: 086932d7591ec25ca1ea6cfc22fb41908dc8e89f src/glean/api_client/models/greenlistusersrequest.py: id: cc54677a6916 last_write_checksum: sha1:a96583391fcfa804c899066bac902344bc5b22bc pristine_git_object: 85f19cbf2b8e66d45efdd067db1a9d98227edb4d src/glean/api_client/models/group.py: id: 5387fa5912b5 - last_write_checksum: sha1:4fc88663c2502f55e2d742818c0c11864d089781 - pristine_git_object: f1b4a7e932c2605014da90f15aca4546c4f0a68d + last_write_checksum: sha1:e9fed98f999f92b467e4259384d694a45b39d1f1 + pristine_git_object: 58fcc289b21ac78f56dc8aa45ecff23388b5a26a src/glean/api_client/models/grouptype.py: id: 64925e34480c last_write_checksum: sha1:8b69c4bf7a96fe5ea89e05741eab3b542061b207 pristine_git_object: 88a980fb7f1e533c63641e3d9c445d233f751fcd src/glean/api_client/models/hotword.py: id: 0a4b0a179e14 - last_write_checksum: sha1:8852104f422c25d298bbc9d2975e820ef744a5a2 - pristine_git_object: 51dcb03045ca4ab19de12896f64de549c895b168 + last_write_checksum: sha1:794f7c73ed52c52388eb2177245fd960d1fefa48 + pristine_git_object: 1d01dea22bf2bfab4bdec3285fcad231d3aa3d88 src/glean/api_client/models/hotwordproximity.py: id: c4440dabacaf - last_write_checksum: sha1:dcf5fd4dfecef6347eefe3e5b7fe26b7a6e9cc10 - pristine_git_object: ebc0ed38777b6f9204728ae0966181514d98815e + last_write_checksum: sha1:4b0d5324bdc30b82f476bac5be985df8add36e66 + pristine_git_object: a942630b38d24fa730aeac069fe127e18560c47f src/glean/api_client/models/iconconfig.py: id: fec761319e41 - last_write_checksum: sha1:40a570ee41fa86918ceb63a79b5b358d70ce07f8 - pristine_git_object: b7109f6b54dd975c977f0a13e3221c036c9c4cdf + last_write_checksum: sha1:760ea44a31daa3f4f3db36a27ecdaa449d67425e + pristine_git_object: 3a44f31e7fa30ab0f607e3c9c9d99b483729d4f2 src/glean/api_client/models/importagentop.py: id: c36a782fb6f7 - last_write_checksum: sha1:0238245a8e38883796f8b4a6ae079d1447a7cefb - pristine_git_object: d30f537ead3a77557adbd3b857cf4b2fbc9a4bf3 + last_write_checksum: sha1:5dd796982a7bf7f62bee91ca4786150b16ee7d64 + pristine_git_object: 236da645e87f9a97fb254d2ba66d747bfdfd3227 src/glean/api_client/models/importagentrequest.py: id: e548b6034e1c - last_write_checksum: sha1:2d2d4af837a6eb076ccf323c922f12e262d37d43 - pristine_git_object: c88111d7009ffc6d2eab2f8f6a5367b682fc8cc9 + last_write_checksum: sha1:40294d375e805e02f8ef491717da19357052b44b + pristine_git_object: b5f1fcc917a4169c34adf1fff500f353292746db src/glean/api_client/models/importagentresponse.py: id: 22a3fa434b8b - last_write_checksum: sha1:a3e9cc2d8684fe175adf720d8094ad1a0759cca8 - pristine_git_object: 19b134efa10635ae8e18763c90b8e602eb5e009c + last_write_checksum: sha1:90e139f1cd2fb2cc46605f65a92a9d91e5409fa6 + pristine_git_object: 4728f39ba77d48b0dfd067023ef2f23af36bd987 src/glean/api_client/models/importagentstatus.py: id: 11d6671e6bc2 last_write_checksum: sha1:4aa73c9e6bc9877cc8655bf9ca02007bf9e3ec1b @@ -5910,348 +5926,348 @@ trackedFiles: pristine_git_object: 3f93c95cf3b3537fef05ec3ce5a2f7588231ad69 src/glean/api_client/models/indexdocumentrequest.py: id: 39de79505ed8 - last_write_checksum: sha1:f1e607bb1939b44c99540a787ca0d10fec8d62b6 - pristine_git_object: e49af0a9479f0c90dd6291525fea63063a9e7f27 + last_write_checksum: sha1:0b588133d50b775328eaa7842e4e0a73f78b297d + pristine_git_object: e9adc8ffb666962b71f6ca972c035d1c5d678c21 src/glean/api_client/models/indexdocumentsrequest.py: id: 937c4ecc3c74 - last_write_checksum: sha1:044953c271e765a9d5658589877ab6d2ebb79f33 - pristine_git_object: df0dc41e64413f34c866522afce394c1d68e2f91 + last_write_checksum: sha1:5a9aea42c45ff1a6cd747ea3de2304a3fc83f752 + pristine_git_object: 0ce1208ef0e4ab2818382b50244ac6f9f3de9d9a src/glean/api_client/models/indexemployeerequest.py: id: 3d41098a24df - last_write_checksum: sha1:09b003dd744dd993e99f3abf4e03ed0c42cefa0a - pristine_git_object: c37c66ac44a15692b83c7bc8fde36d4646a140c2 + last_write_checksum: sha1:2bb4257fbb1fd2a9844eae7a70e363f1428db544 + pristine_git_object: 4130ad7df6c3273fa2897cc51ae758656c9819fe src/glean/api_client/models/indexgrouprequest.py: id: 46b3cc16858a - last_write_checksum: sha1:1e1a7f0953a25540b46850a1f0add8f5b62ae717 - pristine_git_object: f0b242fdb93194ecfc77237eea3d106b4218af15 + last_write_checksum: sha1:9b0ff25304633858ca9f7633f515f197668f8dfe + pristine_git_object: 0c4cd6fbe13ddc3ba6708c52366f751c33af8513 src/glean/api_client/models/indexingshortcut.py: id: b2089569a74d - last_write_checksum: sha1:dce40fe8a0919c9cf65c41f6326309cfa414b834 - pristine_git_object: 82edda463beb607dba65ef99a478f35282652e00 + last_write_checksum: sha1:4dd93a64d318488e1ad2002e438f9f098ae2833d + pristine_git_object: b87b30e2818aa9295a51ce53ff4954ca886bbc31 src/glean/api_client/models/indexmembershiprequest.py: id: d3abc4681996 - last_write_checksum: sha1:7c5ee232a8646b4c930561a7f74106dea63ddb66 - pristine_git_object: 471ea84bd5fa471cc2e36fa9ab03469145f2726f + last_write_checksum: sha1:cfb23d177b4ae29be8003dbfb6421128cc872032 + pristine_git_object: 42239ad4332f9d5693431f0c65ea82176f779400 src/glean/api_client/models/indexstatus.py: id: 1b79f41f207a - last_write_checksum: sha1:28ac8a8e2040156b23c3e72aad289c63afc8ebe1 - pristine_git_object: 51863783f2e02d6e1d3bacf72285c04ac742119f + last_write_checksum: sha1:947478dcb4b0a5323bbb48063f22021bd3816de7 + pristine_git_object: 5a10ac48bf15587fdeacd04c814ef97152bd54ce src/glean/api_client/models/indexteamrequest.py: id: 7b27fe5b6d69 - last_write_checksum: sha1:1eb31cbb1f1626a5c3cc0b64e8c69156449b628a - pristine_git_object: e524f95153e6223216a49dced56da167c4c33560 + last_write_checksum: sha1:9e38fb0af00000f25e55f743ef61d68c32d5b37e + pristine_git_object: 3d37772d8938d99bb3165e1b62841c70cc441bed src/glean/api_client/models/indexuserrequest.py: id: ff0180ed9f7a - last_write_checksum: sha1:703d8aba1460cf9a2a1a6cdc392aa8015e2871f8 - pristine_git_object: 7acd43d1583cc67dc4f370b9a3b981aea698b75a + last_write_checksum: sha1:c833d6631dcd608d28a176d4a8d3d5513afd6ccb + pristine_git_object: 97d19498b2500692507da8ed1c0c04f4992fc368 src/glean/api_client/models/inputoptions.py: id: 29608097f74b - last_write_checksum: sha1:6560ada834c8844b541011ffff7446af43a5d808 - pristine_git_object: 3472a2e4dee4d0e844a3c692f83ba6562c22c12f + last_write_checksum: sha1:96f6f440f49fea2c03d4dfee0d5b3f980b086e32 + pristine_git_object: 43372ca0b4b7f2d1841cf0c4c3fbd98531553a8a src/glean/api_client/models/insightsassistantrequest.py: id: ff69cec68e31 - last_write_checksum: sha1:e6f74c316007cb309c2de8050630a85b3918d138 - pristine_git_object: 806dc671c0e0d8855ff39c17451507b63a178217 + last_write_checksum: sha1:ee12a2fb401fbb24a996e33e47d942892a3b0941 + pristine_git_object: f9d26e36160793e7a4598a4ee007974dbc3130c3 src/glean/api_client/models/insightschatsummary.py: id: 06b2f68e597d - last_write_checksum: sha1:8373f3ae3e4e5397c33dd77dd4217cd7995f5a13 - pristine_git_object: 44b76c5ac9d5a612baa304d4cae9fbb08f0afece + last_write_checksum: sha1:f514b2189e392d80e209198616cc2827808116fa + pristine_git_object: 1353cd385f859d270aa6280e1f1fd7e79120278f src/glean/api_client/models/insightsop.py: id: ded0a3337a07 - last_write_checksum: sha1:c88dc9426f3a524eab216f55c273173413447622 - pristine_git_object: c0de2bef0cfda6986cec13f9a02557f3b3bf02fb + last_write_checksum: sha1:ff28c2bea959acb07adf6dab9b62032586efa181 + pristine_git_object: ff70139236200e2c68fe2b5ae25629ea36f6ecbd src/glean/api_client/models/insightsoverviewrequest.py: id: ba00a51c6496 - last_write_checksum: sha1:5194f1bd25326c6e1535697851930c6761961311 - pristine_git_object: eda4a606dd0a29d6d5e253e0b35a8bfacfb582ee + last_write_checksum: sha1:8adf4e1e0f98b75bb8344bb3d5087f7266691ae4 + pristine_git_object: 8335f24b795d10724eb509ed9e6de213b4bcb302 src/glean/api_client/models/insightsoverviewresponse.py: id: 9f278319d18c - last_write_checksum: sha1:ce3633f5ef738321cd368553bf78c0787e5191c4 - pristine_git_object: 27313ce1cfa024efa9fcbe79cf77ef99914bf1cc + last_write_checksum: sha1:b9d8d0871a3f464dfed48e5804be7bbad94efdab + pristine_git_object: 3d9c509c2f7d2c2e14b4e5af1b33e5c075501645 src/glean/api_client/models/insightsrequest.py: id: 72fbc9d1c47b - last_write_checksum: sha1:215c400cd29d4cdf97e01d582822c241495eb8d3 - pristine_git_object: 8ec76f9c1748a93cd4156cea8a388bd8c8f5e6f9 + last_write_checksum: sha1:2c8a18aeb6a66d39d9a06c76075b9aa413587ab0 + pristine_git_object: 2551f40cdbc99337f76f3c1ddea5cafddff97263 src/glean/api_client/models/insightsresponse.py: id: 8d5ce8feb796 - last_write_checksum: sha1:0ef2da23ce302022e5f8b6f2dab73c034f369431 - pristine_git_object: aa95f0f43936336805f02b14adac648bc2a9e5b4 + last_write_checksum: sha1:d0da3f83f1410f4232bcb8d5b081124e0c28f41b + pristine_git_object: 0202facb517d5fa614bcae19df4fa0571b3336f9 src/glean/api_client/models/insightssearchsummary.py: id: 876b12a69ab5 - last_write_checksum: sha1:9cdac95b786fa9bbca712524e7b7c90a2f09d9ea - pristine_git_object: 481ba43c8129461b1795345febf811541a8827ec + last_write_checksum: sha1:f9609c2ac4157b5f190bde4bd5d868bfc5ce5da5 + pristine_git_object: 8c7a7145ef853271d933ff35788bc30a6012e368 src/glean/api_client/models/invalidoperatorvalueerror.py: id: 92783a6d0aff - last_write_checksum: sha1:5903d231e24afb30c1bdf5c7dcdece23271b23e0 - pristine_git_object: e9e0ee2bfce4031bf643d9ce963b10b03b435ca2 + last_write_checksum: sha1:978090c1dab716f13ae913c3cd00a48a6f093c81 + pristine_git_object: 4fc694092b1fcaa85192a557e85c4f9eb75c728f src/glean/api_client/models/inviteinfo.py: id: ba829cd6990e - last_write_checksum: sha1:26fd60b367039e5a9062c72b4bc9174988a56b48 - pristine_git_object: 20044d837951b39c0f4ea3c4dbca4371617b05d5 + last_write_checksum: sha1:915942552b2f367ddc18abbecd0c6a46e064f1e5 + pristine_git_object: 57b2d2c414a3d4427274d3288ccd6e07ae68181e src/glean/api_client/models/labeledcountinfo.py: id: 35eebfd45449 - last_write_checksum: sha1:a4ac8cd329658fd70eb890b21fb7f9cd16c9077d - pristine_git_object: c123fd88245ed5d782c2ae83e275530c3d85add2 + last_write_checksum: sha1:5ab9a4024f81c188bfa4abc43b140e13d5772a30 + pristine_git_object: fc34bcb6ac607fd7bcd722efabeeecd3c603ddf8 src/glean/api_client/models/lifecycleevent.py: id: cf06bd7d4f19 - last_write_checksum: sha1:486a3d0e056296ea0f81144afffdf05f007e2c8e - pristine_git_object: d30704e647640863576d70025f28fd4a1f28ef0e + last_write_checksum: sha1:d3dc0691721cdabba8593e869ba77071400c0def + pristine_git_object: 4cf70b14c6adc8881f59c95361b0118fe27d7f23 src/glean/api_client/models/listanswersop.py: id: 6df22dfa5611 - last_write_checksum: sha1:b7bc88a7995081c1a37c2bb1588037c25f050fd8 - pristine_git_object: eb99f4463abf15d7c14b276968b9df9c18d3d6b5 + last_write_checksum: sha1:382b463a2e478f6aa1c7cba5895e11da218793e3 + pristine_git_object: f074221367270f29b21e316928911ddd40e6a2d6 src/glean/api_client/models/listanswersrequest.py: id: 182308b967ae - last_write_checksum: sha1:824fcc94dd21b633c4464e9139b65035fb2c11c5 - pristine_git_object: 6868a5387ab04cc1ae7b697d90790ca3ce5476d6 + last_write_checksum: sha1:20488676456d0fe314f38c89cf0121c96bb54032 + pristine_git_object: 6c63b3e658b66cd50a635c1015817dc406cc7631 src/glean/api_client/models/listanswersresponse.py: id: b7fd2c05b83d last_write_checksum: sha1:abc77f90517a39866282b1bbebdb9cb0ff0ad1db pristine_git_object: e92608b140a8de3049806f599fa8fe54e4961e2d src/glean/api_client/models/listchatsop.py: id: 94b86456aeb7 - last_write_checksum: sha1:23b209b16d154e0f3bd78f85c33f7239c85eddf1 - pristine_git_object: cdd71758afcdf9af89db81c0028d65538d2f5f14 + last_write_checksum: sha1:21e87e4ff9a1b1639366741a657f9ef82f537c53 + pristine_git_object: 1d35c4f0f7ec8424143c41947cd35eee97578010 src/glean/api_client/models/listchatsresponse.py: id: 50a66bb0b05c - last_write_checksum: sha1:eb129db5e5cf7b921fdac6359b9143b7808b0791 - pristine_git_object: 4c33ac6b11e411093153cfcdf04054b59352979e + last_write_checksum: sha1:da496359d5543caf5b077815be886bef0e82c1ea + pristine_git_object: a47d4963a5a7d0feaca0d583a8ec01ff96a0656b src/glean/api_client/models/listcollectionsop.py: id: e09e0878038d - last_write_checksum: sha1:342b62a14338d35b99b933f0002ce823b29ea17b - pristine_git_object: ad00f15cbffb1933b2dbec0fe497ff4a1062e956 + last_write_checksum: sha1:baad2975be8397c6ed0e89a0ea1acfd722168dda + pristine_git_object: 84fd324c5f6ce5ed632a97855c4e022a119dbe4d src/glean/api_client/models/listcollectionsrequest.py: id: 1a996c119c07 - last_write_checksum: sha1:c09eae806aea84a6d4ded438a447a843b9b95261 - pristine_git_object: f956dd2a664a6a71da4f480abbbe269053d2f948 + last_write_checksum: sha1:dc27ed1d7576758f2c3634e2ccce8fc1ef12bbf9 + pristine_git_object: f2ad3976f221cb07728f8d01914bc465bf7c88c6 src/glean/api_client/models/listcollectionsresponse.py: id: cedec0f42961 last_write_checksum: sha1:2c5a2d4a11b94edcc23ae4083a4c3db6d0f1a8b3 pristine_git_object: fcca4d58be24bae30d9081726ac639c1c99e0153 src/glean/api_client/models/listdlpfindingsexportsresponse.py: id: 880bcb62cf12 - last_write_checksum: sha1:d878c47568278cf5ed0b549f846c07d6e0c88b1b - pristine_git_object: 4920345fcc4ad3a006dd32b032d713c61926f46f + last_write_checksum: sha1:10a3e4e494d5de65899f65869f265a0e3435aa03 + pristine_git_object: 328ff6c738ff16e184231bfbac4eee15532b9236 src/glean/api_client/models/listdlpreportsresponse.py: id: c300fd0a9a6c - last_write_checksum: sha1:1ca2655030b725401fc82df4bf6d131294f5424d - pristine_git_object: df22a92d646bca5d72ca874462ef4e46cd245f43 + last_write_checksum: sha1:0ad0d89a628f88c1e5859dd4e4c99565ff8a7ba6 + pristine_git_object: 91d4edcb7f14479187d847df67be50d453b5d087 src/glean/api_client/models/listentitiesop.py: id: 06a2c7e16783 - last_write_checksum: sha1:f0940efc625659323ca06e0c1bbfa2a6649237b0 - pristine_git_object: c64939c3d9029fbd5ef6d06a1fd63341cbbc3e37 + last_write_checksum: sha1:d312eae2c99dc62f4c934134b124978411573d84 + pristine_git_object: d17b0ca6c791f757183503f728e1cca06c46c090 src/glean/api_client/models/listentitiesrequest.py: id: 80b3dc9dfe99 - last_write_checksum: sha1:1001bb54755827104cbc2c94e795dad4d0538b83 - pristine_git_object: 74911f035ccc4cf3e2995f00a66200b3c13bc8ca + last_write_checksum: sha1:40e847c510e20d15c4d4cbeccf8cf38e17bbb6be + pristine_git_object: 3770834068d9fb3d64bf2061a3721aa7c3144236 src/glean/api_client/models/listentitiesresponse.py: id: 8cbc0b717442 - last_write_checksum: sha1:5e7e8d4251e63106adcdf4bf256d55ed7b9d8ecb - pristine_git_object: 6f8be48a370fceec00ce87133f9e6d286e70bae1 + last_write_checksum: sha1:37927dec0f548725a35a64f3536b4df704b4c63c + pristine_git_object: 766daabfa4996478923afe0dfc4de2c6a2fe23cd src/glean/api_client/models/listpinsop.py: id: 3d0b32b3a1ef - last_write_checksum: sha1:f125f2e4c0f68f7c74225c4c6cc9f85d8eec1240 - pristine_git_object: 147e4bd94d72c9a31df92a7fd1687ce6abc34069 + last_write_checksum: sha1:96eb53b56596404a022b4d84b0ebf193150e3b34 + pristine_git_object: 9ba83dfbf31e8fd57b078f8442ddc3dd3ea0da0c src/glean/api_client/models/listpinsresponse.py: id: d8ffc5ecc72d last_write_checksum: sha1:de24dc3fec981597fb7db5b5712b017857a3743c pristine_git_object: aa39d3adc17c52d5463923aa02405af36c4ccbf2 src/glean/api_client/models/listpoliciesop.py: id: be81e93eab44 - last_write_checksum: sha1:4ec9c87f64d63c1eb4e28855d516beca829af78e - pristine_git_object: d0b1cc73635af1b6d993cf26841329f04dbb852f + last_write_checksum: sha1:7ce75bc2ca36704b3f3ffb4bde3469f0bf29f947 + pristine_git_object: 511ce3f886a368d4960ce87637309164dcca3317 src/glean/api_client/models/listshortcutsop.py: id: 299c0fa933c2 - last_write_checksum: sha1:cade0e2fc55c9774df6c3af1ca083ad252a8d655 - pristine_git_object: 8b99ab97753c080ce3ae1d09b38a9f932d138dff + last_write_checksum: sha1:80092ad1f8afcbc0960d73cc831cbd851bb8f7d6 + pristine_git_object: 98b5ef649551a5ae859fa65853e3a0e1f1d4c368 src/glean/api_client/models/listshortcutspaginatedrequest.py: id: 4a13f02487cd - last_write_checksum: sha1:62f506af550b18168f473a2a4df79f6ec39cd97f - pristine_git_object: 30b1e2d7c8bb25c1ff0b8ef87fb5705e32433de4 + last_write_checksum: sha1:90aaf074de5cfe960d4aa95f2eaa02d66b70b780 + pristine_git_object: ac4467bc5336cd5876b5bc422c82d99634bebb4b src/glean/api_client/models/listshortcutspaginatedresponse.py: id: 5ea70beb7323 - last_write_checksum: sha1:15867a78d0e32fa85137acd522e541d4e9fe0f07 - pristine_git_object: d8359a2f30439e9e813bbc38d6406177f5f50260 + last_write_checksum: sha1:7c0871ad7c19d06a43b6f3ae01ad0fa169e5cafc + pristine_git_object: 6bf17d0e1e5b1ac722b1d5506f6b7b7e97a2922c src/glean/api_client/models/listverificationsop.py: id: c0fd4141bc31 - last_write_checksum: sha1:e31b71c4265848b8af683a87062c10034cf6c7dc - pristine_git_object: 16e9645ac5ecfebe78e1d640f885c2ac6ed0c8e3 + last_write_checksum: sha1:b998bfb4c5586445e779232edb22602492d69438 + pristine_git_object: d18ac0ce7c569ac356d6a4182ee8d8b3ec739576 src/glean/api_client/models/manualfeedbackinfo.py: id: b7e93f70592f - last_write_checksum: sha1:7c25693c56f51c4a9789fed37caa77874f3c8a19 - pristine_git_object: 5d4bb51527f08455c22de97a0b6b23ab1bd466ee + last_write_checksum: sha1:f9254a4683b298aaa7850b72d14f82ba0a809786 + pristine_git_object: 15ad1267bb8d690a7361d750fecd3c3aab1eff74 src/glean/api_client/models/manualfeedbacksidebysideinfo.py: id: 5cd6cc3b46ca - last_write_checksum: sha1:b2717bc4112725c29f9d41376e51fc1212ab844f - pristine_git_object: f0f511048d7e6766eddca8222503bfa475ae120a + last_write_checksum: sha1:f6b7dcc1a7e5e9b40bf1cc744d1cfd544e664129 + pristine_git_object: b9326d7c283390a8e9447b33da32728c9d800945 src/glean/api_client/models/mcpauthmethodbreakdown.py: id: 4bf72b45633a - last_write_checksum: sha1:88cfbc1814bbbfdb52269472f0c42c6f2e064da8 - pristine_git_object: fb87c13ee59d6a349c0244bb4aa7a3490132c965 + last_write_checksum: sha1:c3e6b5c42bf6bf50953d3cc0ac593b46f7fedff0 + pristine_git_object: 92f937401b4a68714f1c6f0ca163b6612a39ccd8 src/glean/api_client/models/mcpbreakdowninsightsrequest.py: id: 332e57fe91b4 - last_write_checksum: sha1:b8a5b8ffbe594cfce61d0183bec0379441638511 - pristine_git_object: 4d3a744d015294bb021141563748b237fe19a669 + last_write_checksum: sha1:e150ef938e2784706b5f10867f7c53644c42538e + pristine_git_object: ca64efda3c09cfaaec414aa7754700c703f45622 src/glean/api_client/models/mcpbreakdowninsightsresponse.py: id: 8d4c4b79318f - last_write_checksum: sha1:327324327a51d768f191da5325d9c018d51bef43 - pristine_git_object: e3f49671ad14aa1528da0f08e6a7a54cbcb2d01d + last_write_checksum: sha1:59098f4d5a4a20bbf12f0f80f22ec61a1968830e + pristine_git_object: 9113e138e811f12fe0756b40ad8ed64dcef90055 src/glean/api_client/models/mcphostapplicationbreakdown.py: id: 1781ca7f416c - last_write_checksum: sha1:d745fe25cc993a40ccee8fad5b7f754c4f839ddc - pristine_git_object: 687302acb43204b46a446bb96d39e413e6bd674f + last_write_checksum: sha1:9113a36c913e1ec5cb4ffe85148f0447e387128a + pristine_git_object: 918a0cae697a0b3f4f3d09b7066fc3a307402f56 src/glean/api_client/models/mcpinsightsrequest.py: id: f0987b48f7ad - last_write_checksum: sha1:d19e1383c5440b23f73e25309f41b76a648d0520 - pristine_git_object: 270fed0d6feb6dea41904c37fd9fb7ff32e2f668 + last_write_checksum: sha1:c1f046274ee7936049c6e29ad306efe8cc6ac310 + pristine_git_object: fd03b9ca839cf81d6a000fc017632e8e7e3620de src/glean/api_client/models/mcpinsightsresponse.py: id: bc582556e2e6 - last_write_checksum: sha1:08ba2360e6cc0330ced4adeb4198a12dbbd9f2fb - pristine_git_object: e4dd8004941b749d595393ac80f7b0e281482f5a + last_write_checksum: sha1:0b928cf33f93005e8554eb967fcb708b42357fbb + pristine_git_object: 3e81b06dcc29ef31945a16d9fcfbc7d978dfdfc1 src/glean/api_client/models/mcpserverbreakdown.py: id: e18a24a43b3b - last_write_checksum: sha1:128cb65d763be38b59449381cb8dc0f56d80d5a3 - pristine_git_object: aad32563131a8847abe584ca301725dbd6b99253 + last_write_checksum: sha1:3c3ad94cc13f2daf44d158a058aee50cf5c4e346 + pristine_git_object: ff5ed71bfe392ad193190294648c41631e814735 src/glean/api_client/models/mcptoolbreakdown.py: id: c4d0cf268469 - last_write_checksum: sha1:79418ead682d099a3e535fd7c5f9ccccc0ce27ba - pristine_git_object: 5fcb1924ca16d5dad4fe73daaf5465584387fd9b + last_write_checksum: sha1:1277c14d9efd87fecefe61c56370958f1c1f2c81 + pristine_git_object: 1dc500df3a8b1fe7ffb3011e3789257bbc7bd45d src/glean/api_client/models/mcpuserbreakdown.py: id: 1dab2bbf7d27 - last_write_checksum: sha1:1dfe73c56e8671378f42ae0a04c8eb9b8abbcf02 - pristine_git_object: 42a1ac29e3a9b8b16e5ccddcbef7b94139da8394 + last_write_checksum: sha1:7be0e4d7233d63db674e60d2b42e84ef0699cf3b + pristine_git_object: 59cf3ba778bf976b5ceb9a12ab4ba15a2e5d1e73 src/glean/api_client/models/meeting.py: id: 0b1f0fdee050 - last_write_checksum: sha1:d727361f35d0138e09cfd1bc1e8480afd0996795 - pristine_git_object: c3c75325b3963366f30722e868b0a315df3f6557 + last_write_checksum: sha1:1c80e8b8dc995836d57efde985d0ed51ac967999 + pristine_git_object: 1e2a4058adcf94e593fa18c747e854d38c9535ab src/glean/api_client/models/message.py: id: d2e44a188d40 - last_write_checksum: sha1:609d6f7909210e8a5a233a1ef459cf78638bd3a0 - pristine_git_object: 11d42a8f89fe22e36704855e9b49ea59eb52eaf1 + last_write_checksum: sha1:5cde86d5cedc7421b46f7bfb41725d7df6aa3eae + pristine_git_object: 4a283650eee0904a5f9a3aaf8b9078f9b81375af src/glean/api_client/models/message_input.py: id: 5dcd2852dd9b - last_write_checksum: sha1:8ff252d6ac28627ffe46b0d7eca7aeb8728ae650 - pristine_git_object: 75d840bf333d8568689c53ab3e5a0932df02d7f7 + last_write_checksum: sha1:a0816ed6e02884628d20cf27d1ec6c25e263d6ce + pristine_git_object: 122e094fddeddf47bc53a93f51b139234331d02c src/glean/api_client/models/messagesop.py: id: 60537c3f3449 - last_write_checksum: sha1:0c6da7e005f1115eb21821ae94fad6fbc1bdc2ab - pristine_git_object: 8e1735a0ecd72434644c9fd7025a168acfc735b7 + last_write_checksum: sha1:62188d99deac2aeb87f552475b1a55f761eb173b + pristine_git_object: f4911ad69df436b8c1c68d5b950767ab04feac45 src/glean/api_client/models/messagesrequest.py: id: 5664726a791d - last_write_checksum: sha1:8c056897df7ee00748de5c8e7f580e77a620afe8 - pristine_git_object: 2076bc4f4b990f248b210ed495f793bee5be8ca0 + last_write_checksum: sha1:c248e0d58eac241759b48140ecd1cc783e63994b + pristine_git_object: 6ab12fa78af1ee13b84121d642a6a19f9750aa25 src/glean/api_client/models/messagesresponse.py: id: 1c7a6e4dd845 - last_write_checksum: sha1:1d0fcd8f638347b2c5a09b544ae9b350bab23416 - pristine_git_object: d68228bc28c443824b2b73ff1c899053769a56b9 + last_write_checksum: sha1:2132edf210c308d03775532ca7c8b6c9e46a9f31 + pristine_git_object: e91ad24e158446fddef33e4ba4302a7a8d510b84 src/glean/api_client/models/objectdefinition.py: id: 96d425234754 - last_write_checksum: sha1:b63817fa6c300a10905043a49f23466ff583ff98 - pristine_git_object: 65f80f05226193a90eda813741acac28ba772f90 + last_write_checksum: sha1:43bc404fdd78d7462edf77e287eaa13da332e185 + pristine_git_object: 0ecaa831038e0854871c81a600af5c75bf1137b2 src/glean/api_client/models/objectpermissions.py: id: 6a2561118579 - last_write_checksum: sha1:e3d51c6afdf467afe6559222130ac627a2331625 - pristine_git_object: efe9cecc59c9206139c445c77a279b2f711d3e81 + last_write_checksum: sha1:9e161ebb4ee52919b408a339ea658cc4ec62d98f + pristine_git_object: 089410e0c77cc164ea9cdb3a01aee7fc81052da3 src/glean/api_client/models/operatormetadata.py: id: 820aa2772189 - last_write_checksum: sha1:b172fe562b7c47bd30f87b81549863fe7740c2b2 - pristine_git_object: 09ba687a03f46086f068df7e719aaa2ba202cf74 + last_write_checksum: sha1:1a8916ca1fdc890f45eda0bc12ed389ccd039018 + pristine_git_object: e84a294f56b8907f2935d71d9c02fb213c582332 src/glean/api_client/models/operatorscope.py: id: 143660b5a54b - last_write_checksum: sha1:6848b985c4fb11d0cddf528125d95e3bb26014a0 - pristine_git_object: ebb5f578619d9698b2afab352bd015fb1192fe44 + last_write_checksum: sha1:c24de6db202fad5b955f097bd694ef86a78b7982 + pristine_git_object: 9f60b07d7db360f76d1d33a621700e1af1993a2c src/glean/api_client/models/peopleop.py: id: 0701e843e962 - last_write_checksum: sha1:b75a218c54e4ac93510c44f19dc99fa5803447b7 - pristine_git_object: ab286401ed0296450b2ba4751cdb51ccff6f5a5c + last_write_checksum: sha1:cb3bb3acd2f54199424ddd26be4d99033039db0e + pristine_git_object: b229c80c07b54cc23a82b2a9e092662746fbf785 src/glean/api_client/models/peoplerequest.py: id: a7dcc3001149 - last_write_checksum: sha1:1860e6f7a24bdb3bfbc40847d525b1272d924dba - pristine_git_object: 1ecee9b17688fcee5d67e193b1ca08cd878f74a4 + last_write_checksum: sha1:5e363d72a895adab660359cda7a8fc0b9a06f8d9 + pristine_git_object: 32489a811b1ba33bc09386104f9f426f9583dc41 src/glean/api_client/models/peopleresponse.py: id: 85f4d95884f9 - last_write_checksum: sha1:ed99cd7a6f88c2b90a020d44ca984544e9693cb6 - pristine_git_object: d882d545defeaa06530c915d56890293ccef94c7 + last_write_checksum: sha1:a8bb58a9333626f500d5e2e918ca3a54cd8bcea0 + pristine_git_object: 9c9c718c0fee85c3cc14a87d7138c7978282feb9 src/glean/api_client/models/peragentinsight.py: id: 4b4b57287b69 - last_write_checksum: sha1:0fd438e75024952d04620122ce331e0d86aaf383 - pristine_git_object: 6b711e39954fbda467c3b1197903b777398676c6 + last_write_checksum: sha1:fc78f240e2b34a5cb58793c07d3f80b32abfb80c + pristine_git_object: 193a9a727ef8a7e10b70ffd4628029229a0ed932 src/glean/api_client/models/period.py: id: 41a45b1daeb1 - last_write_checksum: sha1:a90f23fbb4cd6574f0e53b39f28653fa796d7140 - pristine_git_object: 5e03da4d0ebb1324cbb67b470e6b2884abee7efd + last_write_checksum: sha1:dffb19cde59ab347e9e9c030901e8e311d4f2c94 + pristine_git_object: a15486f1d5e2ada4fd1653a69a9176293298acf0 src/glean/api_client/models/permissions.py: id: f123070d7860 - last_write_checksum: sha1:3b0334bad215f8d510541690dd14c118146547a6 - pristine_git_object: 51f12fd45d92bddf1e7324b8ad76136fbbe8e440 + last_write_checksum: sha1:b9bbd0d9c36ac0ae5b7106f9b3ef3d9499c2324b + pristine_git_object: 98ddfc3adb1e839cdd522c8d819bd708d5d92585 src/glean/api_client/models/permissionsgroupintersectiondefinition.py: id: bd15f722101b - last_write_checksum: sha1:d70645b20533b35240e169281bfc04361c8942ab - pristine_git_object: 52b20386d1215ca9d5ddf1510c569954ae510c38 + last_write_checksum: sha1:a0b601d93c5ff545c161568a346bd91d8ae65dca + pristine_git_object: 81723f01c07ccec38633f2b38b6fa5615b661397 src/glean/api_client/models/person.py: id: 486c8c3db123 - last_write_checksum: sha1:1a6ad2c2c4cbe493c84499fe442660ae8ba56005 - pristine_git_object: be88dd7ee62fed92315207cff2267fc5d437062a + last_write_checksum: sha1:708487bb59b3d57093a334b66f17a7de9ef1e824 + pristine_git_object: bb0a70040c1c75927990e467fd197b563884eb21 src/glean/api_client/models/persondistance.py: id: 307f87d6cd91 last_write_checksum: sha1:90c27054198a8779074839f5226724e81271b462 pristine_git_object: e9511127696034578efc1cc3b778b87564be531e src/glean/api_client/models/personmetadata.py: id: c3af6f3d50a4 - last_write_checksum: sha1:6a87a924b1f4c0b27b9d4f502fd339d407212da7 - pristine_git_object: 5290ba806f6e199b07b5e24ec9d8a6f88e92bc58 + last_write_checksum: sha1:db3daf4f72a48f7a063f80ef05614c303b13e4c4 + pristine_git_object: aeef340f4aa88fa7b9e59075fe04f4ea99a866f3 src/glean/api_client/models/personobject.py: id: 59af9c1e1c5f last_write_checksum: sha1:8e37069549deee32a725de213e86c704bf1352ab pristine_git_object: ab476930b20a2aafb05dc45a84edc2abf666a128 src/glean/api_client/models/personteam.py: id: af542996b2bc - last_write_checksum: sha1:6e79f1a13d0e41ac17f90d0647cee212fb566d93 - pristine_git_object: f0b080d9fb622465ea1e63cb9a7df477f74525ad + last_write_checksum: sha1:607168c0a1c69862b72351c30f6034fb98f05835 + pristine_git_object: 357cd7fd25148ffda522f801cc2bbb2962996396 src/glean/api_client/models/persontoteamrelationship.py: id: d81f4d7f9bd8 - last_write_checksum: sha1:c1dba4b3a689988ff60346d0e29e9217aeeed6e5 - pristine_git_object: e2f3055250a808a9ae22bf8732b7027c7a9c36b6 + last_write_checksum: sha1:297455053e45e43735cefefe95fb354b9c972047 + pristine_git_object: c9e17ba8c09698700cc8922b228c73aa5d79f069 src/glean/api_client/models/peruserassistantinsight.py: id: aad2213c6217 - last_write_checksum: sha1:d873cd304aa0cbe532deb0d41142b61cf993dff3 - pristine_git_object: a24e6f5d004a03a816e2e4eb13594aa3229f20bc + last_write_checksum: sha1:73ffa606f254ce094548ab14a7958ead53b98aac + pristine_git_object: 2d968a557af9dda478d5ced92e83c44d96419093 src/glean/api_client/models/peruserinsight.py: id: a243b1a405fc - last_write_checksum: sha1:c36aa68a3c7ff2ba978814cec4e8b52506b21a54 - pristine_git_object: 37af149f5746dce29d909a3fb5d65b40348ed10f + last_write_checksum: sha1:97cdd91a8c860cfb7680eb09775ec7d41774102f + pristine_git_object: a0c3902bba054593e7a455cf6a6035f8c0485ede src/glean/api_client/models/pindocument.py: id: 77cd94d61387 - last_write_checksum: sha1:7c4513c41b8d511327bc32a89750fbd48bc08c18 - pristine_git_object: 7373e05b6b268b24e1b5d91fbfa7466e3a2a2430 + last_write_checksum: sha1:a25e8ae4093b6eb9aa56a14ecb91b04c108404eb + pristine_git_object: decccf491c6a5b69074cdd60ae3bfe40c680e679 src/glean/api_client/models/pinop.py: id: 9bccdd6255f1 - last_write_checksum: sha1:d3fdbceeda27177a9c8f8b5bcffe8857a07ac1f6 - pristine_git_object: fb63cdf7183848a077fec7d668b6b4cfc544e796 + last_write_checksum: sha1:5ed94710df63dd156c14700e45e3c38dfb16b551 + pristine_git_object: 0bbd40be6d81132ece148a51f8095c260ad3b02a src/glean/api_client/models/pinrequest.py: id: 5b14b683421a - last_write_checksum: sha1:73484002a7a37df4baaf05fd282bf904acf54cc9 - pristine_git_object: 1e291af2ba4ec81b33d9b03faad6cb8365c8ab55 + last_write_checksum: sha1:ab0363c029f0f843df7e62715740fa82ba0fcd04 + pristine_git_object: 8d9297505d3266b7907da2d3551e1df577cfb4d3 src/glean/api_client/models/platform_admin_agents_listop.py: id: b9abc1576fa5 - last_write_checksum: sha1:eed1d9ca3d55ee9535fea2b05aa42fdff8ba4bf1 - pristine_git_object: 36b4714ea7297ea7fad9844dff4a974c501f2e40 + last_write_checksum: sha1:0496dd60d4dd01705f660f298a1e83c888117cf6 + pristine_git_object: e54be8849a11037b7cf10e926015b4287879a342 src/glean/api_client/models/platform_admin_idp_groups_getop.py: id: b99cd91df7c5 last_write_checksum: sha1:7ee830069ee023d45022d055acef1066dc0f5ab7 pristine_git_object: ba3bfeb455a84130c2898ccfa8b319de90f86352 src/glean/api_client/models/platform_admin_idp_groups_listop.py: id: 1afffa068944 - last_write_checksum: sha1:9708b099fe0f8e76fa08136b0f10933f6035df5c - pristine_git_object: 5ad05d37b95b7fd790727800e87c2827ca6bfc6b + last_write_checksum: sha1:690525b988aa77e4b3d0a64623816bb5af99a79a + pristine_git_object: 7fb5e1e9bd57f2c991bee10f4810834a45b7289b src/glean/api_client/models/platform_admin_oauth_clients_getop.py: id: b1cb3d0d6eb0 last_write_checksum: sha1:4d0411f3b8cc0acc90ca83eb4d4ad1b1264f22c2 pristine_git_object: d7e906c7b8e5a6c7532d18a136dd7b96332e4bbf src/glean/api_client/models/platform_admin_oauth_clients_listop.py: id: 85a47be2a9e3 - last_write_checksum: sha1:576217216cba78fb36624567c849820b425963a7 - pristine_git_object: 02a682332c3d62b873d7b9ba1ce2273782c5aac6 + last_write_checksum: sha1:1b961ab2d2fc32800262c0e97f50cee4ebce055f + pristine_git_object: 730cfb31a22241cace758d50d446617e2aad09d0 src/glean/api_client/models/platform_agents_cancel_runop.py: id: c5b34ef0de1f last_write_checksum: sha1:e4e08794926fc36c0f3f00adffcd792b99d281ca @@ -6270,20 +6286,20 @@ trackedFiles: pristine_git_object: 01a8e34febfc748e2c1a51455b3ad070d4736d8c src/glean/api_client/models/platform_agents_get_schemasop.py: id: 54795e674f69 - last_write_checksum: sha1:2179f25a466baab76de315e6e736876ba97b60f1 - pristine_git_object: dbe9a0361971bfec84cba04e3c44ba7e72cd1a22 + last_write_checksum: sha1:58f3d9b23c363622ba5a957d90ec47318bba50b6 + pristine_git_object: 4b7738ec7533678aebcc0711d420709ea457c114 src/glean/api_client/models/platform_agents_getop.py: id: 606568a4c8fc last_write_checksum: sha1:58370e345df87a242670e2cfdb26800caa6a00ce pristine_git_object: 880c65c1e74dd49543d650516f29141c6cdd486d src/glean/api_client/models/platform_chat_create_streamop.py: id: 6950e1c0b047 - last_write_checksum: sha1:489939715defc6fa1f52fc4664326dd4f582aa97 - pristine_git_object: 10c83a83983658fceef0fe3066ef939145035157 + last_write_checksum: sha1:e5e644f8c15f68990846b3be8fa8f2b0ac8d0901 + pristine_git_object: 281ed035a91b1a52143c89de2be5909154351661 src/glean/api_client/models/platform_chat_createop.py: id: 6f911817c878 - last_write_checksum: sha1:4133f592f181982f11cc9199ce9a9b7af60dce6a - pristine_git_object: 1812a49682ddc269112ef551e55660b821b15612 + last_write_checksum: sha1:7aed0b831736826f88cb47be759e3e2dc0b4d8d0 + pristine_git_object: ffb719793417d2a4d7d996d042e51d508d46c1fe src/glean/api_client/models/platform_chat_updateop.py: id: 58966e27d7e7 last_write_checksum: sha1:2d6cfc9569deaa7fb12df7d3fdff40620b774e50 @@ -6294,12 +6310,12 @@ trackedFiles: pristine_git_object: 36667c75a40a168731e31a4d03c2619aeed0bc38 src/glean/api_client/models/platform_departments_listop.py: id: 03fb36e7edab - last_write_checksum: sha1:3f424ca3007e62478bfba3baaf43ddbbe2f19d1f - pristine_git_object: 6b8e9bec73fcd010e7a745d30f8de5c48c977940 + last_write_checksum: sha1:dbf247aa5bdc1d6eb4839d5400e4cb1658291fd3 + pristine_git_object: a52be80d5e8114179f73281e6974b236354d8940 src/glean/api_client/models/platform_search_filtersop.py: id: 3876ec8f6e5b - last_write_checksum: sha1:0551a1836339a7b0f5dea4cf8946e001384d3146 - pristine_git_object: 2120898eda5b77bff898692d2bff7c90a74513ae + last_write_checksum: sha1:b302c423b9da1bc6778723f17a16d44995c586e0 + pristine_git_object: f333a988b1b1bb99c15149303e1ffcf52cddf793 src/glean/api_client/models/platform_skills_create_versionop.py: id: c107217b99a3 last_write_checksum: sha1:03372f5d66b5644281f59d46b1e34f414ba75da9 @@ -6326,20 +6342,20 @@ trackedFiles: pristine_git_object: fc64256bf43449e23e1e7d093a45ee3fdfc441e5 src/glean/api_client/models/platform_skills_list_versionsop.py: id: 4d91c282c246 - last_write_checksum: sha1:6d512e70608e914407b2a51c96ddbe9e54815e21 - pristine_git_object: b34fd73fdde468889d03ff2534a9ff58a4fca25d + last_write_checksum: sha1:e923a18745f0e293e3e9c737d5c8f68f314c4d25 + pristine_git_object: ab48fae6450c8996171cf35f115ae05d5b1ee64e src/glean/api_client/models/platform_skills_listop.py: id: 2172706b6858 - last_write_checksum: sha1:ec8e8ead0aba41dadf4c74c51c9544f3f121a191 - pristine_git_object: 5c21fa77645acbbeaed69a4e5ad7cb9844670e3b + last_write_checksum: sha1:c274c16705e839b4f47903050ca2c4c54f3ec5f9 + pristine_git_object: 539e350776064f86b3e16909df30756126866ab0 src/glean/api_client/models/platform_skills_preview_source_streamop.py: id: 18b6a2dae087 - last_write_checksum: sha1:ea54a718241b065e791ed9f8e967818908521288 - pristine_git_object: 2ce11df6c8c13e74a959efc0ebc1b10e1a37169d + last_write_checksum: sha1:590fd6eb58692ff8544664b13e20ca59fe0768a9 + pristine_git_object: 51f3b6fc83f9f417e79e7467f0a852afe2009856 src/glean/api_client/models/platform_skills_preview_sourceop.py: id: b7afa7764cef - last_write_checksum: sha1:72d025c4863fddbcca0f2ffc40d0647b5379875b - pristine_git_object: f56672761b4b2dee0cbff34294868eb7448492a4 + last_write_checksum: sha1:4dd04e2f7beea11f54e536bd979b382a842f9651 + pristine_git_object: a71d32605f1c61cd99684e01b90df3558c6f4fdf src/glean/api_client/models/platform_skills_syncop.py: id: c6a29bedca20 last_write_checksum: sha1:90811712776457d85a5abe880857d1aef55f0197 @@ -6350,20 +6366,20 @@ trackedFiles: pristine_git_object: 42e0aca116a2efe4c5677df642857a6d87ea33b8 src/glean/api_client/models/platform_trigger_presets_events_searchop.py: id: b0f92c9e51c0 - last_write_checksum: sha1:43a982dfeb43611dd5f6a8eb030d6b1471666c8c - pristine_git_object: 79b57ae0802b2276f29106841cd3f30220302bda + last_write_checksum: sha1:05549fac1f049fabe2006f201208dd7d615ea922 + pristine_git_object: 043905d69e59bc7a615e6b4a6c926085e4640d9f src/glean/api_client/models/platform_trigger_presets_getop.py: id: d35c8c1f7979 last_write_checksum: sha1:f74824ae6cdbd2ea35317694fbd534c20de879fb pristine_git_object: 3003dbdfed61fc7b1721e64c0067f799643cf135 src/glean/api_client/models/platform_trigger_presets_input_values_listop.py: id: 7951dfdf15f3 - last_write_checksum: sha1:96dda20479e6342ac1255e6e849ae875a8dea470 - pristine_git_object: 6579af39c9914ac78cac95acd516765e11c1b07c + last_write_checksum: sha1:27fffc6dc829c2c1dd44d2a81f6df1c6580e0870 + pristine_git_object: 4c3704683e2745b771b0f55153c73e77bf0d780e src/glean/api_client/models/platform_trigger_presets_listop.py: id: 45db1bf0d71a - last_write_checksum: sha1:c0cb25954c13f3c2d00795112192102731c513bf - pristine_git_object: 5b040fdcd13d1c1df02d7fce7ab52b21644542d1 + last_write_checksum: sha1:adf1d0bdec8c76a08dcb7b31c56e64d623f40b80 + pristine_git_object: 8767b562d0d455189f0a58c047e7445ec47f9d82 src/glean/api_client/models/platform_triggers_createop.py: id: c89b2acac97f last_write_checksum: sha1:b5ecf9194888ec6b2761507bee941377a1784438 @@ -6374,48 +6390,44 @@ trackedFiles: pristine_git_object: e3caabe56a5f10774d467da23ef58db3a7185906 src/glean/api_client/models/platform_triggers_events_searchop.py: id: 57bde8d65d6d - last_write_checksum: sha1:cc953a4c764d32db794cd0ee010263146936dfdd - pristine_git_object: 6ac07ec2a687d87dfe87a467de5d5fb959b6ed5c + last_write_checksum: sha1:26f8da5dadd7a03e0751c35788e296d8db1ed35e + pristine_git_object: 0cb6eef9ce6f8e96f15f737f861d0993f5a542ad src/glean/api_client/models/platform_triggers_getop.py: id: 6e5e83bd3585 last_write_checksum: sha1:4ade6bd1e582d818f8ee1fc2f0693f1b47a7316f pristine_git_object: 892ee9941f53cbaa38221871219e4d59b80be0c1 src/glean/api_client/models/platform_triggers_listop.py: id: 855dd1c60f61 - last_write_checksum: sha1:9b7f95121a02bdc5c4c8775bde84f4beb6d80507 - pristine_git_object: 4eb3df404a9993d2f39df37bfb20afcdbfb6bb5e + last_write_checksum: sha1:e19661b83690621a6c6909037a2d4759f13822fc + pristine_git_object: df5d0f191ab6483802c6c567ca2e519fe577d727 src/glean/api_client/models/platform_triggers_updateop.py: id: ee2002799c52 last_write_checksum: sha1:b4e89947c50873b2b74a283fdd1bbfa852134c6b pristine_git_object: c57697e4999df306ed30b910fd2e1d0e5007663b src/glean/api_client/models/platform_users_getop.py: id: e5254455c1fc - last_write_checksum: sha1:d89824c72e08c06e6ec460ab90cb363aeda6cdf0 - pristine_git_object: 2ab9c826c74cf922b97fa24e4c1df5ef04733d59 + last_write_checksum: sha1:af90312118bfa8d7cc71a63759e5cc642b8e747a + pristine_git_object: 2e40b119d8fb52a4699097d1f13488fd24682182 src/glean/api_client/models/platform_users_listop.py: id: f852a1d382ff - last_write_checksum: sha1:25830d68a72f56af0dd27b080b5adfa3f7e83bb1 - pristine_git_object: 0f5bf662bfc161782f96cc1c4788be1657681b38 + last_write_checksum: sha1:1962478f75b57834a0301bb82132f75659269399 + pristine_git_object: 385566fdffab96f1253889ce2e8f0b380c325d89 src/glean/api_client/models/platformactionsummary.py: id: 00069b22d246 - last_write_checksum: sha1:f714e076c3e0c86ded17dd732ba304dfc7d5526e - pristine_git_object: 66c767a0e78c47a85c72fbf6ee8b13d2183cefdb - src/glean/api_client/models/platformadminagent.py: - id: fa83e1e9b71c - last_write_checksum: sha1:18824dcda02d21fec922c358b1b258f0e06f4546 - pristine_git_object: 3e97d4746d56fb88029b2e718f16dc29a19ac2a3 + last_write_checksum: sha1:e2ec881a08ed16f0b65fd8bdee10502228791613 + pristine_git_object: b1ffc308f2cab3c6f3a87b5bdd98be876fb0a1e3 src/glean/api_client/models/platformadminagentfilter.py: id: c2e1489f07cd - last_write_checksum: sha1:55d211593209f319fadd880dde8ca1872c71c3b8 - pristine_git_object: 5ee20909727f6304741bc99234d16164db7bdf8e + last_write_checksum: sha1:ba301ac550440570a5ad04bfa4cf002fd3d82f24 + pristine_git_object: 1ed0e9ff4127b08409b9ae5e7ea251add7eaadbc src/glean/api_client/models/platformagent.py: id: edd82e5a258f - last_write_checksum: sha1:328c481368021207acf8a57a2193415e2afd4f9c - pristine_git_object: 84a399b6340586d32288c770d5a586668c16f9b5 + last_write_checksum: sha1:356c50bb8b33bf8ed6ac13e86f21545dcda28232 + pristine_git_object: 78757283b276788d660946a6dea52dae2d3bcacb src/glean/api_client/models/platformagentcapabilities.py: id: 16d4984052e6 - last_write_checksum: sha1:69717c61750d0ce8bbc07832053a06b59f17eab9 - pristine_git_object: 099c35b707245056fc4fff0b297dc8c8c894318c + last_write_checksum: sha1:ab9d88c2f7c0371e2035833802260b40d0bdb9cd + pristine_git_object: 00d8c7fd9118f1d0635a8d033f4bbd5746551705 src/glean/api_client/models/platformagentexecutionstatus.py: id: 2c3e0bdc97dd last_write_checksum: sha1:26f14b0b81c18b0aaca73f4ac27c6fcc657d90a6 @@ -6426,8 +6438,8 @@ trackedFiles: pristine_git_object: dff409304169026967f63b216afa4cad4e72d215 src/glean/api_client/models/platformagentrun.py: id: 6a27f28ec4bf - last_write_checksum: sha1:04e126eefa9aa91ff20eae6156e1737fb9210774 - pristine_git_object: 26bf40035054db162a6577ff5ca9354a56bcea84 + last_write_checksum: sha1:bfd93d9331f596ab2089acd9bd6e36d6ee4a7892 + pristine_git_object: ad417b3cadbb08725324fa5c283173728eb26c49 src/glean/api_client/models/platformagentrunapprovaldecision.py: id: 8ee7cd2a0264 last_write_checksum: sha1:0343bc7a10bcffcf076281cccdc189f8140258ad @@ -6438,8 +6450,8 @@ trackedFiles: pristine_git_object: 14efa2f2f726ccb26370ddca42b27b791c54be61 src/glean/api_client/models/platformagentruncreaterequest.py: id: fc8dc50abaee - last_write_checksum: sha1:0a2e22bb784fe1c5b1f36158bee47aa387ca2084 - pristine_git_object: 645f523e6632da76f0bdc8872e8d0132db6dbc00 + last_write_checksum: sha1:31de5886dad64f9373b1926f470456398039f067 + pristine_git_object: 4ab65cad4b62d16be76fcc703479e822ee948ab3 src/glean/api_client/models/platformagentrunerror.py: id: a415b46071c5 last_write_checksum: sha1:2ff1839f6e55e7992ecc086c228466471a81a9d0 @@ -6458,88 +6470,88 @@ trackedFiles: pristine_git_object: dc860898c5a2a5837168fb26654e5aaeb6feb50e src/glean/api_client/models/platformagentruntoolapproval.py: id: 914f1fbb5e0d - last_write_checksum: sha1:73b36d78d4eb9aa89234b08062226f2d68a4d5f1 - pristine_git_object: c51c46ed4490f4eb072cf3a30a8d704e58e51307 + last_write_checksum: sha1:1cbd018564e328d828338121bb904f66a19a1b66 + pristine_git_object: 6a2a2a4a37e9c7632f88feccc6dabfe0b21d7770 src/glean/api_client/models/platformagentrunwaitresponse.py: id: 3498df9c1961 - last_write_checksum: sha1:3f8f7707d02ded94a0021b99c00e3df4223b772b - pristine_git_object: f2454eb001143fcfd5e47276ec7f9a5d7211a411 + last_write_checksum: sha1:2e8e4dae7e2f503ff9af5f0f3a6e037222ceb95b + pristine_git_object: 9cb25b5f9cadb61d0e5eca5e5a14240a0a1fa0d3 src/glean/api_client/models/platformagentschemasresponse.py: id: bc725034e9b9 - last_write_checksum: sha1:2f5f83536b604f36b3042b59725615a03432ef5e - pristine_git_object: 9bd08605cf43b2414f8ddd0f6cb444cf1c72df8a + last_write_checksum: sha1:0d55df18121ce5702dd0f40cfa0f578e3630e60b + pristine_git_object: 6c9d17bfb905ae97c4677da709243511cd173f97 src/glean/api_client/models/platformagentssearchrequest.py: id: eb40369d333e - last_write_checksum: sha1:e3995ce3be21d708199fe323356e2d9a1d8ad716 - pristine_git_object: 0ddc45d29a02c82a54f12ef6ceec8f19761c36c7 + last_write_checksum: sha1:4b1367ec361cd5c1c8a280db02fbe4751889b6e3 + pristine_git_object: 59ed246d2df02153d5961b9a83691eecc2574d94 src/glean/api_client/models/platformagentssearchresponse.py: id: 2c3bddef7679 last_write_checksum: sha1:23dd758cffab6db76a051eb029776a64613a38f6 pristine_git_object: c9f820b8a8edc25853156cf3f9a6c0b43feb1865 src/glean/api_client/models/platformauthenticationsuggestion.py: id: e99ec01300d2 - last_write_checksum: sha1:bac4d353a350bfed0361d6668c56efca232bd782 - pristine_git_object: 04be56b8972f39419fc27c325e9f4824a09f96f2 + last_write_checksum: sha1:f1299dd4c2bb75df4cbcc560194962167ef68429 + pristine_git_object: f397efcd95f85a5e35f3fc2dd9ed11b0dab7874c src/glean/api_client/models/platformchat.py: id: 7d7cdb715150 last_write_checksum: sha1:2aed039b492fb2d1557c8b533f7d47bfe2c0b335 pristine_git_object: a90a39ec20ea1fa87a25c360012da3f82ab9df4b src/glean/api_client/models/platformchatcitationannotation.py: id: 50f8f46928e1 - last_write_checksum: sha1:205801bf117b3d26c686c529d0d8cb28e30a6100 - pristine_git_object: 5dd276ba7ca775a7c7f0a50e3fa7ad1228c39924 + last_write_checksum: sha1:8ec98e61cfd8bd4c6adb66d08dfd28ba17c9b5dc + pristine_git_object: 1a33e50fc726381b70555b163d2258387e1b0142 src/glean/api_client/models/platformchatcitationsnippet.py: id: 99f1e0941ff0 - last_write_checksum: sha1:97c26e2f2d9196f5bb6514b90248c920278eb9b0 - pristine_git_object: c679f40a98eeeaf640d6aad4584c7f48dd4f1e7d + last_write_checksum: sha1:842dcddf152161b53e5a56f6ab4713c0c54b73d9 + pristine_git_object: 7aa89e394b7c2a6b83d3ed613bb41a007c3e8a49 src/glean/api_client/models/platformchatcitationsource.py: id: c6040b8a28ad last_write_checksum: sha1:c528f717ba81dee45b381f78e3afc7c4ef414604 pristine_git_object: b44f4b97a5553ceb98d4651a39abbd753e03e960 src/glean/api_client/models/platformchatcompletedresponse.py: id: ed59f46e73df - last_write_checksum: sha1:f4bc030382f556fee134d6ce386c1f15309b3db7 - pristine_git_object: 9c0061dac37bcaacd39ab2cf1f0de5a59a67eb79 + last_write_checksum: sha1:331b0c9b25d4a2b330d98bd4bfdb68f35d8e4dfe + pristine_git_object: d431b34bfaedb906b1ae0127bf37c38358799773 src/glean/api_client/models/platformchatcustomentitysource.py: id: 385a56c07858 - last_write_checksum: sha1:219f6e5baa20d6954839bfc16a00a9f424fbb96e - pristine_git_object: f2ec133b16adcf53ecb88e3c1aa69ecd112b5dcd + last_write_checksum: sha1:03cb6c3643d5e7d93e71b2c3a0e58cf890f41949 + pristine_git_object: 87e666aaeadc1446e46bf560e9f564d4a87444fa src/glean/api_client/models/platformchatdocumentsource.py: id: 1cd8111e3b4c - last_write_checksum: sha1:d74a2645a5776c88544b53ddb06731439ec5c46f - pristine_git_object: 54714c55ff800caea6c9748e180f6640e3470003 + last_write_checksum: sha1:3989d160d502822be4ae72c1bd308c7edb1f1d4c + pristine_git_object: 1df8ea54f0a39685ed455c8392f8f40ada95600f src/glean/api_client/models/platformchatfailedresponse.py: id: a67ad1be1af7 - last_write_checksum: sha1:58cf0496973a6fc25167bd99f88ecc50d0ba914c - pristine_git_object: 7c34fe7f67991f56f3a8ef2fbc843c309d386584 + last_write_checksum: sha1:c6c523f66764a9142b048c5e78d0dc63255e6ad4 + pristine_git_object: 87fb010502ea07ca2b18d236cc142c7e30038f0c src/glean/api_client/models/platformchatfilesource.py: id: 1a9d4653c065 - last_write_checksum: sha1:d995e1a8bf690e316793f4916fbca81f0a279e47 - pristine_git_object: 228194cbc7650afc2858cb8d66ee469d388fb543 + last_write_checksum: sha1:76bf23dfc484c7ed29c21140d4ef9aac4f549f0f + pristine_git_object: 913e3b077f2a0f526d7185b70aa9c5a66544fb53 src/glean/api_client/models/platformchatinputmessage.py: id: e32871fda394 last_write_checksum: sha1:1ddb82a8dcac6a1943b99fb2cdfb2c464e8eab07 pristine_git_object: 9d21d2a18e6de246b38312c05fafc8698635ac6a src/glean/api_client/models/platformchatjsonschemaformat.py: id: 322d59bf877b - last_write_checksum: sha1:d0425f69e2957aec73d75171a4f7a0d0971ae6df - pristine_git_object: c22174e07d47e011f182bbdbbac05355996b67e2 + last_write_checksum: sha1:56a2b8cacc110e4a4166147ca49720040c8aa7b2 + pristine_git_object: 678b1637b906a85fa76209f612e3c2aadae672a6 src/glean/api_client/models/platformchatoutputmessage.py: id: 15c8512d3810 last_write_checksum: sha1:1f0846a6e9bf7c2a1b9f5ea870cb0c4f6896c449 pristine_git_object: 9082277a0bb6b75d23c5fef7eead2aa13d8147cf src/glean/api_client/models/platformchatoutputtextcontent.py: id: 91b9987e8b98 - last_write_checksum: sha1:901d84ef8719d7d7dbff8c7c0af9a6ee5eef538a - pristine_git_object: eb56d9a116b6a3ff747db32b2ffcd5cf57dd794a + last_write_checksum: sha1:f25ce61d99c20e52066551ae852831a7baa176ca + pristine_git_object: 95f2197811610de058a96b12fe13bd3a747e3330 src/glean/api_client/models/platformchatpersonsource.py: id: 617b816c747b - last_write_checksum: sha1:1068fde6d156f689d9f93b799dd8b5a2fa399315 - pristine_git_object: a2e120b176b2a3d8f8d5060f5717290ffb07eda4 + last_write_checksum: sha1:66cb394dca359b95b1d5f0245f0d1aacfb86640c + pristine_git_object: f5f55d49280631e3b3e2b6ae9f357bc5681e3b42 src/glean/api_client/models/platformchatresponseerror.py: id: eff7e0843760 - last_write_checksum: sha1:258f4d2e46ae0166430059c1438d440feafde069 - pristine_git_object: ef73e944a19d1f8ab90b8887acd0f559fe1c0989 + last_write_checksum: sha1:ff4aa2c68567f6732aaa9f38cd4c59493a22a556 + pristine_git_object: 42dbe4ae989fc785a68954665e8e676b53b1b1c2 src/glean/api_client/models/platformchatstreameventserversentevent.py: id: d57b3400c0da last_write_checksum: sha1:e12371eb200cfd626081149f469b84bc82d4861e @@ -6550,48 +6562,48 @@ trackedFiles: pristine_git_object: 0163838facbd457a6bdbea21960c90ca62a49172 src/glean/api_client/models/platformchatstreamoutputtextdeltaserversentevent.py: id: 8257fcec25b6 - last_write_checksum: sha1:119efe8576169a98e65bb9ad8937854fa87debc7 - pristine_git_object: 1d7e6a4cfe219077e4e582d931cbfe74290d214c + last_write_checksum: sha1:5ce31b62b8a26b8e4ef385b7ead53a16ef874fe1 + pristine_git_object: 5995fdff0fa3653502fd12a694efffc02915fa40 src/glean/api_client/models/platformchatstreamoutputtextdone.py: id: bc299dbeed70 last_write_checksum: sha1:89c53f357f95ad4df72be7c13a410e5feed4219c pristine_git_object: e427df2017190f12e983404d9c69acfd8c150f98 src/glean/api_client/models/platformchatstreamoutputtextdoneserversentevent.py: id: 83feaebd0587 - last_write_checksum: sha1:96e95ac3c8f6808f8eb406834669291bde8539f6 - pristine_git_object: f56d5aefa180f847d2b27cd131b26918c92573eb + last_write_checksum: sha1:6e85e525036196a313039e9dd4d69d6bcb3b392f + pristine_git_object: f304d2d4c574ef92f890b0b74b47e18c8ad4e916 src/glean/api_client/models/platformchatstreamprogress.py: id: ca5d31d56d00 last_write_checksum: sha1:3329703dbc5a470ba1e275949b8350a6c3b398b0 pristine_git_object: e29fde8c84cf2b89b5fa3ae93ea3f2618843d385 src/glean/api_client/models/platformchatstreamprogressserversentevent.py: id: 0d36ce15e207 - last_write_checksum: sha1:11dabc6ba6505da4da614396828998657ced6588 - pristine_git_object: d6b76035b48df0bec60eed9ff57d868626398b59 + last_write_checksum: sha1:8d3b988e950d01930d246f940b638426df231acc + pristine_git_object: 8358f9e4b531eedc1cab6384925eb5116562510f src/glean/api_client/models/platformchatstreamresponsecompleted.py: id: 64df4fae402e last_write_checksum: sha1:44a8278d8fdd9442b80b1e9941fcf0c49e584c5f pristine_git_object: 32e505c96385285678d0763700b6ecdc602bcf75 src/glean/api_client/models/platformchatstreamresponsecompletedserversentevent.py: id: efffc7a2b4e1 - last_write_checksum: sha1:f1c4daa3a49c21c40b31d7777a3ade92a7900c23 - pristine_git_object: 143aa870f79a6d69457f06c208d14c37c0629935 + last_write_checksum: sha1:e43daa7069fddd3b6fdf0c22b81cda97f54f9935 + pristine_git_object: 711a15a148e3ffffc448296d4b3cebb880e0f6c1 src/glean/api_client/models/platformchatstreamresponsecreated.py: id: d62c520b895e last_write_checksum: sha1:9899d75b217cdcbdf9c13cb17721797838bec0a4 pristine_git_object: d4afad87888cab51a2b891f80193d8817f969881 src/glean/api_client/models/platformchatstreamresponsecreatedserversentevent.py: id: 92e86b61f8a6 - last_write_checksum: sha1:575b70f732bbe5456de5b0a8e8007313c2b0f2bc - pristine_git_object: bc55a9e27c5f5ddf967048bc4f0e5dabdeb8c509 + last_write_checksum: sha1:2e90c964aabbb7b2d5c9f4870e9fe31f6b2e151c + pristine_git_object: 6a03fe3e06c310cc626427786f0da28cc37c2ed7 src/glean/api_client/models/platformchatstreamresponsefailed.py: id: 2da55e29c74a last_write_checksum: sha1:4d9cd599d5a6512fb3f70c965832974319c40c5d pristine_git_object: b4908b629778520bc0446bb5d04522434aba4ae7 src/glean/api_client/models/platformchatstreamresponsefailedserversentevent.py: id: aa2699dde615 - last_write_checksum: sha1:82061a27d94f683de9be3c439c45e5aa075cb2bf - pristine_git_object: c4c16ab8bdbddd7554803c73557c31f474df4be8 + last_write_checksum: sha1:84a982e5b6011ebd58188738adb5d0be0e144567 + pristine_git_object: bb83bfdd35e6f1bbdf2e5107059e76b06aab032b src/glean/api_client/models/platformchattextformat.py: id: 4436e4437556 last_write_checksum: sha1:ecc4be5d35513e1210ebe1b1e0bc3e05994392c0 @@ -6606,8 +6618,8 @@ trackedFiles: pristine_git_object: 3f1ee692dc8da7072eda49ed0a3901612eff6a65 src/glean/api_client/models/platformcontentschedulewebhookevent.py: id: 9967e953a04e - last_write_checksum: sha1:c4967523e69ff60285e770e785059a415498409f - pristine_git_object: 0b1d4cff05ff8c5e659537e4510b572f763e2855 + last_write_checksum: sha1:05c10aff6afe881e0b2e0756d481e7e8c0257db1 + pristine_git_object: 4c7a3d19d53e31363ea2a07faf7eba93b5e6c76d src/glean/api_client/models/platformcontenttype.py: id: 87e6bc168e08 last_write_checksum: sha1:97548628abf68b0b2727ba126ce363000e8d2882 @@ -6616,26 +6628,30 @@ trackedFiles: id: 30d2d116afc7 last_write_checksum: sha1:fe1bb6ad44d39ce794c56869d659333ac4fe5ade pristine_git_object: cd2ba67fa39dab5eb8b2490daa3872fcff56719e + src/glean/api_client/models/platformdepartmentfilter.py: + id: ae81e4dde1ba + last_write_checksum: sha1:a0def51ff108263d47be80d360cd16eca64d000e + pristine_git_object: 5d2ef7d312ad92805cff6f6712f7156c14f0ddce src/glean/api_client/models/platformdepartmentreference.py: id: f7cc53587523 last_write_checksum: sha1:a4048e3c0cacff074ae936e9b7e80797b67cde1c pristine_git_object: 2c2e118cee8a98336e134580ea03e8f72c028d44 src/glean/api_client/models/platformdocumentchangewebhookevent.py: id: 9fcc235e9237 - last_write_checksum: sha1:b3b267d4ea3fcd6b46dc447e2e0dae3fda859ff7 - pristine_git_object: a1eb453df5bc9f744651211e88c82dc25a7037d6 + last_write_checksum: sha1:7c55be13e163db8e8fd21bd1657748f24e34ca81 + pristine_git_object: 0aeb0a726f013e7da336bc835631ea1f4386350d src/glean/api_client/models/platformdurableagentrun.py: id: 9183fd1b5740 - last_write_checksum: sha1:5e19454934cb4e186b75fb44aa081785eff50bf9 - pristine_git_object: 842b5cb8128b114784a2c11cc1cb319b47501099 + last_write_checksum: sha1:26600065e5cf8c44aba8520f415cac4a340b7eeb + pristine_git_object: 88ed21944f5fbc4f828159f4f5181008409c3b40 src/glean/api_client/models/platformfilter.py: id: e0719ea40cc5 - last_write_checksum: sha1:a56bda496c9eb473d9aaa08426e077e2694216d9 - pristine_git_object: 2243c5535a3e7a8a76c0e7845a496dea1d97ad81 + last_write_checksum: sha1:cd638c5fb84fcdeb87ef24d7905c7260fc55a45e + pristine_git_object: 479140d245e50ba65e72b4c76e5527df3aee1f8e src/glean/api_client/models/platformfilterfieldinfo.py: id: 5be6062efbd8 - last_write_checksum: sha1:ad8f52a53b9839f63ac0f4eabc4e3cffcd6a5790 - pristine_git_object: 755b03c792d7ef713fb86ef6d119e19c8b27f116 + last_write_checksum: sha1:a600c3ce661b2db25e1e928c749b2bd2b1b959e6 + pristine_git_object: 8b347dffdfed9c1d6217ba6de7d985099954bd81 src/glean/api_client/models/platformfilteroperator.py: id: f7d7bf136596 last_write_checksum: sha1:542dab71eb37501311f1457ef804f2486cc12d69 @@ -6662,28 +6678,28 @@ trackedFiles: pristine_git_object: d942f16be733b3b9464937e3eed26d458512ff41 src/glean/api_client/models/platformidpgroupfilter.py: id: a5486ce45071 - last_write_checksum: sha1:2343af6fabdea57108709db8b9ad813b83f69fb3 - pristine_git_object: eb97fc8556738ca4dac147de216a7982f495dc20 + last_write_checksum: sha1:0e7fb32bdb3613a4ef32a37a912bc3a0c3ba2247 + pristine_git_object: 5a6d45b9dd0f040382bac5fe7a054d561f29bca3 src/glean/api_client/models/platformlistadminagentsresponse.py: id: f2bde0abdb4c - last_write_checksum: sha1:1482c91f3ace4723e037cdf5c8bb8d6c254286c2 - pristine_git_object: 7f6dd1b0eed9550e8af53d428ab931910df15837 + last_write_checksum: sha1:0450bb8d8cf6e57c45f7c728dcae3818e2682e37 + pristine_git_object: 17a1bfde6abec6386e2fba9740ae42268265e1c1 src/glean/api_client/models/platformlistdepartmentsresponse.py: id: e9f64ae3372f - last_write_checksum: sha1:504e5de282f6bcb1cd42694eac7db5cb6c03bffa - pristine_git_object: 5d5f23e3402321ad59cdb5f661eb2a5a55e37b5f + last_write_checksum: sha1:d64ed546663133e7a5af841f27a474b79c78db66 + pristine_git_object: 9053c0b59f03d245085280e5b2fbaf24f28d0595 src/glean/api_client/models/platformlistidpgroupsresponse.py: id: 44674fdaaef8 - last_write_checksum: sha1:5345e152d6adc4fd9dc728af48a15a976c10c664 - pristine_git_object: 18c3ce90fdb159b980464d70dbe662719573bc5d + last_write_checksum: sha1:fa0823881d03e2c5a092d29c088fb00468dc0567 + pristine_git_object: 27a7eadf771a812b135514d38d54e4b328e2731b src/glean/api_client/models/platformlistoauthclientsresponse.py: id: 235bf58adc51 - last_write_checksum: sha1:29d880709cc07f8b86a41c064ef3f3faf58aac0f - pristine_git_object: d8c490d57c821f5de248a674965efa75008b8d55 + last_write_checksum: sha1:4d731492d1f94a0089733175ceb72bff48d8ec8e + pristine_git_object: a2da54f7da735de6570ad9c5f6285603bb4c4e72 src/glean/api_client/models/platformlistusersresponse.py: id: b6850e9c2d42 - last_write_checksum: sha1:65a611596b03c38f60b243ced727194895ccb981 - pristine_git_object: 97500a84ed02743b293dc146809498f91e3abc94 + last_write_checksum: sha1:27f4e6ec1700d11ad185e7818a55218a524dcf03 + pristine_git_object: 876b4d4e50a22c30a6a74ad79a3c5e7a1fccf1db src/glean/api_client/models/platformmessage.py: id: 5124dae40c5d last_write_checksum: sha1:e86beb4e210ed500ab72011ef90bb97b909a39e8 @@ -6698,28 +6714,32 @@ trackedFiles: pristine_git_object: 9d7939bdf32bd515ba72c0271a3c89ece1dcb429 src/glean/api_client/models/platformmessagetextblock.py: id: e631f7c5ce6b - last_write_checksum: sha1:bf12461143a8e0a80824fe9093455813f1a3d15a - pristine_git_object: 1a7cadf41ea356c7f778c6d9e63cc6d269e3c7f2 + last_write_checksum: sha1:823dc36fc1e28b26238f5e6ae3e76c8564682105 + pristine_git_object: b7a60c73d1c5a453ef2138334c797827d06a57b0 src/glean/api_client/models/platformmessagetextblock_input.py: id: a94017fc587c last_write_checksum: sha1:a7bf23349f2aa6aeb11de705a2d947a267f9aaf6 pristine_git_object: ddc4a1bb76ea66050631863cd0c52a779ba630ef src/glean/api_client/models/platformoauthclient.py: id: bc5af16babef - last_write_checksum: sha1:6caa05578f6dc9753aa16b270b712737a0a23ca2 - pristine_git_object: 9c807ea9ab07edf9236ca4d0dcbc1c878c007859 + last_write_checksum: sha1:d8cc11ef71edc6e69ba3fc8aea25ea57eb7c4492 + pristine_git_object: e3b99afde13c4b6d17b80ba575b423d0dc2691b8 src/glean/api_client/models/platformoauthclientaigateway.py: id: f2ed1f675f36 - last_write_checksum: sha1:3362b35013841b1c96a842a7d8f6e20f32436072 - pristine_git_object: f5430b9cb6de7129378e2d55d2bb85f97a34a68a + last_write_checksum: sha1:5056426a18281595fc41c15f02f822c91ccad4a2 + pristine_git_object: 43a45793e649f9f360e0daecd91c8eef1f5051ca src/glean/api_client/models/platformoauthclientfilter.py: id: e11374eaeda7 - last_write_checksum: sha1:6e111b57a64418ff03218e7afcbbc7649d84731a - pristine_git_object: ea586d117905ed68390aba8f5ce6a68518e18b72 + last_write_checksum: sha1:6347ac7d8f84ff878c886763e691a271dbee7dea + pristine_git_object: 6b614ae691d5f5199bf99285a5fa65bc874d13e0 src/glean/api_client/models/platformoauthclientregistrationtype.py: id: a08966e25466 last_write_checksum: sha1:c9d30351610ca5529fc3f0d3f942d643c95f388a pristine_git_object: 3a7ab587a787ada135b7451af20b85892358a96b + src/glean/api_client/models/platformoauthclientsupportedapp.py: + id: e3efb17bee20 + last_write_checksum: sha1:c47ce4d428941fa74b891370d9fa1036b248611c + pristine_git_object: 36fc4cebcb1c82a8c5448c7e7609e464d1fbc8c6 src/glean/api_client/models/platformoauthclienttype.py: id: f5f0eda8f068 last_write_checksum: sha1:b69c58f23d5a014e15b4627e7f59541f1586acaa @@ -6734,48 +6754,48 @@ trackedFiles: pristine_git_object: 6884296937665c3535fbda991517cfa48071abbe src/glean/api_client/models/platformpersonreference.py: id: 2ff9ab749423 - last_write_checksum: sha1:a366e67090ccf5a9754576467db2043a33e8a8e2 - pristine_git_object: 3f68797935412add6a9cbe28335641064352c8c5 + last_write_checksum: sha1:3f832e5eaea47f38d85a09b5b1ed8888550b1f95 + pristine_git_object: bed4bc4c3246f864bc023f9f9fa5f82dbffadaa2 src/glean/api_client/models/platformpersontype.py: id: 5d31e0f3b166 last_write_checksum: sha1:3ff2115c948c3201c3dea39cdf8983d275836202 pristine_git_object: 911ad65a4714ed92f53e86b5d63fcdb100672e0f src/glean/api_client/models/platformproblemdetail.py: id: 564643c3d847 - last_write_checksum: sha1:bc77e15836741f22cc5d2f67b8fe32d2e4668986 - pristine_git_object: 05d4d46e2111a803b4194f0d81d50b315a7efa15 + last_write_checksum: sha1:4a34db8c6a2f02b171a974286f525fafa2ad4627 + pristine_git_object: 5b34e2b1dffd1c9dfec36ab8739e3f52dc0b4911 src/glean/api_client/models/platformproblemdetailcode.py: id: 3aa0b8193255 - last_write_checksum: sha1:7f0f9bc67cdaa742e4cf4494bf2a3c29f8b58a16 - pristine_git_object: 38faf64fa45b9b6eab44800fef032e7802e33c33 + last_write_checksum: sha1:ed40a7fdafd9123cccd7b8e73616cf2156deec30 + pristine_git_object: 9b47d73e8eba701665b1c79c198f093658322b26 src/glean/api_client/models/platformproblemdetailerror.py: id: ea67cf68f170 - last_write_checksum: sha1:c2f31d78abfaf8e63bd7ab62ff9e0fb281caa5a6 - pristine_git_object: 336efdc33bfb762c3b0ddfc706b8d089da3cc23f + last_write_checksum: sha1:aa58d861769513bd200285895cd7290d45316ca0 + pristine_git_object: 9a3d6f2017119361b26e55e03900ea8cfda38355 src/glean/api_client/models/platformresult.py: id: 65de4ed5c1b3 - last_write_checksum: sha1:3595144f47e6d1509379ee4aea9c0adb05c545cd - pristine_git_object: 2cd03e1822ab3a0f5558b14f44c983d8bf123964 + last_write_checksum: sha1:2916fc096e4cfe89375626f2a945b4785ad2ade7 + pristine_git_object: 88ce5a1715908f6528fd68563f08aff1ff59ce6a src/glean/api_client/models/platformsearchfiltersresponse.py: id: 743edd99f7aa last_write_checksum: sha1:9c6e81390c3f1665bc2d26c2e3c5face283f759d pristine_git_object: 1d8aa68908c3e182cbc926542d39bfc45d585be3 src/glean/api_client/models/platformsearchrequest.py: id: f2376466383f - last_write_checksum: sha1:0255eb2414fa128be1d2369af61a6f9b9aa0fa53 - pristine_git_object: 8a3cd9bc7053b60f71b536f9f8e3593355bf5579 + last_write_checksum: sha1:d0a9d26f9155cd0b8167fc182b45834c8841b0d6 + pristine_git_object: 86b7b16bdb76816475bb351dc5ae0e4e136b4f1b src/glean/api_client/models/platformsearchresponse.py: id: 7ee9ec06e00c - last_write_checksum: sha1:ffcd075eb5fc0308760c1ac2065ad4915cc94642 - pristine_git_object: ff13d204ece88b150c32fb69c65e266c7756b1af + last_write_checksum: sha1:1432d7dd1420155a88aa7b8163f47ecdf41f4f9e + pristine_git_object: 1f0b393094c42fafc2edeeb8e619a9307d5929c3 src/glean/api_client/models/platformskill.py: id: 10e1f311015c - last_write_checksum: sha1:e1a70d0d4758869a8afc969c11b59f8426666c64 - pristine_git_object: d77b1fa2833bbe578a96a19f0402770e9aacf491 + last_write_checksum: sha1:6419915c64c03d9b88c39ba350522c7db1d855fc + pristine_git_object: 519a772cc958840570802df9406f7a0aa0592420 src/glean/api_client/models/platformskillcreaterequest.py: id: 9d75227d70d1 - last_write_checksum: sha1:f6dadfcbab4b2800dd99abb6807b82b27c8c288e - pristine_git_object: 51a4dfa457c8d586441855b6d998e1cacaa4f127 + last_write_checksum: sha1:6b26962a9eab4c1c28b6e0ecb35a43fe3007183f + pristine_git_object: 919c5538be02ac5d5d6aa77ff1bbe556c9478c0f src/glean/api_client/models/platformskillcreateresponse.py: id: f11878ab49a8 last_write_checksum: sha1:868d0362a2eda01f274b0f478db180dc98e87f3d @@ -6798,8 +6818,8 @@ trackedFiles: pristine_git_object: f05da6ac9653f6ba3b9fb1de2f1bd66730aa00ae src/glean/api_client/models/platformskillslistresponse.py: id: b031da1d2783 - last_write_checksum: sha1:771558db4f0e0d491b51cce54360fd084fe31051 - pristine_git_object: 8d37912ab9c1d7576088665dc12638d485bd510b + last_write_checksum: sha1:3727bba943f8e7177f3c256fcebcd2af0341e263 + pristine_git_object: 2696450e237afd7828730c20ef86d6f1e32b0e10 src/glean/api_client/models/platformskillsourcepreview.py: id: aeb8f137962d last_write_checksum: sha1:2e2fd40151aff7cd3f0cb08997d66ffce8bfc314 @@ -6822,12 +6842,12 @@ trackedFiles: pristine_git_object: 37cf8bc1466c6482fd43c53d3ac2b54759d7d9b8 src/glean/api_client/models/platformskillsourcepreviewstreamerror.py: id: 5a87352ef914 - last_write_checksum: sha1:4334a44e1c7d20ca04ee3f9bacd4ee0af81d90a0 - pristine_git_object: 68f225d37986aa6aa2a122bdaf8c9d6650720eb3 + last_write_checksum: sha1:b0aab04d96ea12e3abf0b2f846d1fefea94e7df0 + pristine_git_object: 6919c360df87e644ad6087cadeee7c8d429d48a0 src/glean/api_client/models/platformskillsourcepreviewstreamerrorserversentevent.py: id: 3d6a6f10c215 - last_write_checksum: sha1:7b4fc344bcf4b976f1ac30c635b33bb74c350ad0 - pristine_git_object: cd9a68bdfcea436b6dd29b7cf495f27cba535b0d + last_write_checksum: sha1:1a07308c30da23d50043bb85640226d7f11ec447 + pristine_git_object: 43c2bb2cd1eb2666437b9eee4026b6a3e9e3c1db src/glean/api_client/models/platformskillsourcepreviewstreameventserversentevent.py: id: 187d998b8358 last_write_checksum: sha1:57c6e49c9c023f8feda24909b2e8a8b13a164e5d @@ -6838,36 +6858,36 @@ trackedFiles: pristine_git_object: ecca3b704cd9db73933238972abe905e8f3688b3 src/glean/api_client/models/platformskillsourcepreviewstreamprogressserversentevent.py: id: 08a0cd6abc04 - last_write_checksum: sha1:dcc1a85f50f73fd1ed260233241c4e80c08bcc70 - pristine_git_object: 60c2dbed5e9f4464fc77ff713d5eb2fe35b1a109 + last_write_checksum: sha1:7a1d0d7a60dfe2b73457d3e6dc73c5ecc6961545 + pristine_git_object: 91e388a2d64ec56699c9d432efba724b741eed4b src/glean/api_client/models/platformskillsourcepreviewstreamresult.py: id: 36520c198eac last_write_checksum: sha1:7c2f9f0100f9f84584e31863615d0e3c98a611c6 pristine_git_object: df6d3b6ef858e6c4415579d09ea3b4da137cf569 src/glean/api_client/models/platformskillsourcepreviewstreamresultserversentevent.py: id: 4475a41fb7e4 - last_write_checksum: sha1:72ec21c35c356c749b601685f87f9eef59be019a - pristine_git_object: 0741143e4b96a4fb01f0f26116bd2be1c1b0fed7 + last_write_checksum: sha1:ad83a20cf9ec9f2f15619618887af9c0627efead + pristine_git_object: 622ac120ab680167d1571998ace7489e41a81e76 src/glean/api_client/models/platformskillsourcepreviewstreamscan.py: id: 3361e8ce4f5a last_write_checksum: sha1:acf9e15967f6864307c0c29b109a9c265d1f010f pristine_git_object: a8fd422972c649a00c59dd85553ecba063c2d3d5 src/glean/api_client/models/platformskillsourcepreviewstreamscanserversentevent.py: id: 0a1e279e7ab2 - last_write_checksum: sha1:dc4e9d65b448d67b88c6c93fa76814f95ecce53b - pristine_git_object: aa588667793ad02acc2b771bb991e3f3a82eb75c + last_write_checksum: sha1:b653fa565ef2f8ba4d25b0795f8300c66f484271 + pristine_git_object: 3d9a4b1d234c63a3985561f63aee2d16850b32d9 src/glean/api_client/models/platformskillsourcepreviewstreamskill.py: id: 7a2284184193 last_write_checksum: sha1:071f2b93c7f5671f8932b50c148545cc6a874516 pristine_git_object: 937205e34b188f3f5112cd3e8feabe190a6972f4 src/glean/api_client/models/platformskillsourcepreviewstreamskillserversentevent.py: id: a7a0cb837838 - last_write_checksum: sha1:6259d650dadb7a3bedc7ec369f197e6fc3fd1e52 - pristine_git_object: 6197d06de7f450eca9fe73fbeb6b9cb6534f428b + last_write_checksum: sha1:9c8a01ba755ed564ed978efab60c4962d9b61141 + pristine_git_object: 66097893d8ce25429153bba47c304e0e12bd83b3 src/glean/api_client/models/platformskillsourceprovenance.py: id: 9d34177a5499 - last_write_checksum: sha1:f1e2f0b74c65cd83e452b6e1cb0e33f0921c1085 - pristine_git_object: d1352b1f9d6654cc43a2c81e33177d5c9a0e8528 + last_write_checksum: sha1:41d08ebdf85c15bc34fea00261d35484c762492a + pristine_git_object: bac343c6351a106793459859456cce683f19ef98 src/glean/api_client/models/platformskillstatus.py: id: 4576e2918e48 last_write_checksum: sha1:f7a447d7333ae356690db028cc6d43c3f0bf8f7b @@ -6902,20 +6922,20 @@ trackedFiles: pristine_git_object: 332170623ef54b4b09220a020f9b4d03112e77e5 src/glean/api_client/models/platformskillvalidationrequest.py: id: 2dc8e5ebed86 - last_write_checksum: sha1:f9b7d85dddd5e9be5055cfab81cdc3a218d2a923 - pristine_git_object: d0a3a2b4d53d722ee63fde843f4e83b695f0ba62 + last_write_checksum: sha1:4730cbe1633de73f964e7d69779d74df725555f1 + pristine_git_object: be0257c49177e96f44afed14cde07aa8e42aefa2 src/glean/api_client/models/platformskillvalidationresponse.py: id: 9ce3b88a9cc1 last_write_checksum: sha1:40595cbd0cb6e9e4ea8621266432b8a99967e865 pristine_git_object: 76af15759b1cf333367ba3f25496adae56ab0fdc src/glean/api_client/models/platformskillversion.py: id: a9b3f54c0ef8 - last_write_checksum: sha1:507ac67246f4d360aef9c77bc6eed79d11d82e9a - pristine_git_object: 44bae12500c45e8d2ad592f13c64cad643c9ea5e + last_write_checksum: sha1:ea3cb471e0a462d6c900f707d172c18335809127 + pristine_git_object: 2bf7721e7aeba594e33b1c9ef404df71ab83705c src/glean/api_client/models/platformskillversioncreaterequest.py: id: 1c6238ada8d8 - last_write_checksum: sha1:bac2536e701bed1e26401613f7459a6641522233 - pristine_git_object: dc1d6f9ef353396c4e525b7f62c55f14ed517c38 + last_write_checksum: sha1:8dafba917136001102dbe5f2582df8e3248e8017 + pristine_git_object: 757b604deacb2199dc02dae10997746c0bea423b src/glean/api_client/models/platformskillversioncreateresponse.py: id: c24768d28605 last_write_checksum: sha1:d624736af0d491420b3c7be54e7d51f117bf82d7 @@ -6926,36 +6946,36 @@ trackedFiles: pristine_git_object: 828ce5457e0a36292852e503244f1af9a23429e7 src/glean/api_client/models/platformskillversionslistresponse.py: id: 6ffeabf770b5 - last_write_checksum: sha1:5a7d3f257969977964f675198fc992d98a4a24ab - pristine_git_object: 37b4b1c81f298ffdc3060a16c62ce1db60834236 + last_write_checksum: sha1:aa6d1a9a2c910a44ea83d9f477c8cbf8f106ddff + pristine_git_object: f01bfe6b8e8879f4d76857a1c34b955872da31fc src/glean/api_client/models/platformtimerange.py: id: bf2b03e84949 - last_write_checksum: sha1:645217a3827cd2a7455b88277f1ba2dcd4a5daf1 - pristine_git_object: 0a5acb2a9110e33b96db4e36aa09c1bf36ab1cbf + last_write_checksum: sha1:091f5f687f06f051232a0daaf617e61ee50b0fa4 + pristine_git_object: e8230098d2372bb6bfd5583e6354e54c3f5ad18d src/glean/api_client/models/platformtrigger.py: id: 5c3b071bd50e - last_write_checksum: sha1:741572e81b11b6088c4764bd5d4e2008e0c612a8 - pristine_git_object: c354235905c7d7dedba4138e92ff2da100fd9964 + last_write_checksum: sha1:f48eea0d6f914943d70a95567249ee70d1e8bfce + pristine_git_object: 9f2ea3d4ccd149bfbe801053b29f61be66d6eaa4 src/glean/api_client/models/platformtriggerauth_output.py: id: afb2090fc73a last_write_checksum: sha1:3f5774a5446a8e72ce52ef899151cd734f3eba57 pristine_git_object: 0288980e445de6bfd6c19f98d62c63e4a4bb0a9d src/glean/api_client/models/platformtriggercreaterequest.py: id: d11a4c9a8272 - last_write_checksum: sha1:77412e6a290a4926ac2a1b1cc70ddd064c074e54 - pristine_git_object: d70686f2babf5c986d36ea0577a39d1ba0f614c4 + last_write_checksum: sha1:d13ae13b0ed94ebc02ceab1e03a4f9da7aa3be28 + pristine_git_object: 622c537dae16ef8e04d21deaaa58b5d9c88bbe57 src/glean/api_client/models/platformtriggercreateresponse.py: id: "632392221518" last_write_checksum: sha1:0159ee031fb0d52920a5ee996fc802c8f994dae8 pristine_git_object: f0f1a850dd346eb83826e18d131d8e571ac7fcc4 src/glean/api_client/models/platformtriggerdelivery.py: id: 90a60a468b73 - last_write_checksum: sha1:7101828ee6e750ae16350234e8972ec27d267378 - pristine_git_object: 84e4fb283dc8a9fc998f19e8751e9af46fb7647d + last_write_checksum: sha1:dc7659515cf2a9c40351dec94f25edbdec988502 + pristine_git_object: 5a462926da22b8d7d46f767c4471a152370d0be9 src/glean/api_client/models/platformtriggerdelivery_output.py: id: d3848fcf9e21 - last_write_checksum: sha1:bd2442a31eb90c9bad87fd19fa4f0e31a71df14c - pristine_git_object: 5ba108c1651a0a7c257c467b9ba189076343a9ac + last_write_checksum: sha1:b59191d76a5b5223ee2e6a3bcfb8ced51973414d + pristine_git_object: 73b8b5b4f0ed186c0ec79a1f398a2adab687d75a src/glean/api_client/models/platformtriggerevent.py: id: 9da9f24676df last_write_checksum: sha1:407d67c37846f17d827efd14e2b54bb112dc4e74 @@ -6966,8 +6986,8 @@ trackedFiles: pristine_git_object: 8a0756fd25a9533a1b54551b1ccecbcc2be6a78c src/glean/api_client/models/platformtriggereventsearchrequest.py: id: a12d9a25b03f - last_write_checksum: sha1:ef2cb01810db71399032e363a7b3ce2e83ddb803 - pristine_git_object: a8f990c26aa733629f3b4d383b354bdb76a48134 + last_write_checksum: sha1:83115e8fe70680f6e3f4dc15a4ee38b3b88608b5 + pristine_git_object: e4f6dc840f2e89fab9ec027b1c6e2f9912c89d69 src/glean/api_client/models/platformtriggereventsearchresponse.py: id: e64d420cabe2 last_write_checksum: sha1:9c8ce1282d7df5d5fc91dcfc48b883a14ce0cc7f @@ -6982,24 +7002,24 @@ trackedFiles: pristine_git_object: ca171e8de7e7eea3a11b3b7702f408bb2896fcf3 src/glean/api_client/models/platformtriggerlistresponse.py: id: 0e42c35449ae - last_write_checksum: sha1:8991a1b3fb50b336d7ac62ea62a92b7118765e7d - pristine_git_object: 16bdf27f18c3ac5eada3adbfd80508096704eeb2 + last_write_checksum: sha1:95e204b639cb049b69ba3eb6e69065e66aae6aa5 + pristine_git_object: 46f29248456c1eaa6216f8f8f596df419da90e79 src/glean/api_client/models/platformtriggerpreset.py: id: c6916e8c8b88 - last_write_checksum: sha1:c0a09c7a33620e1975162d53cdbd2e719293e94d - pristine_git_object: a7c372a895acf96f964ca1727dda09eb9792380e + last_write_checksum: sha1:8486d3891d709d20dee771cdc89f36b84d640c54 + pristine_git_object: e847c28eabf18d7c82a69545c4fbbf89931609f3 src/glean/api_client/models/platformtriggerpreseteventsearchrequest.py: id: 9ba241010b73 - last_write_checksum: sha1:b4befaefcf96dee59741252944510be840fabeac - pristine_git_object: ac214e062927c1a0c080d5d4274e24230899731a + last_write_checksum: sha1:98d1f3dd6202fd20ade47d2aa12aebcd0b3a65fa + pristine_git_object: eb418c93a4a6f8b94443661207b25059a72b0e0b src/glean/api_client/models/platformtriggerpresetgetresponse.py: id: c7c32a376aaa last_write_checksum: sha1:52985b19b8be2adc1bedbe14deeee8c8d6f7d0c0 pristine_git_object: a5b185f33bd4d68228b6904fd1868a5a9e0d954c src/glean/api_client/models/platformtriggerpresetinput.py: id: 05ad6ccb0653 - last_write_checksum: sha1:69b3c9306c65b037e5cd5c58cd443eb3ba3e1565 - pristine_git_object: ebe2f2240d97ad6b416268c4bd5df602a824ae63 + last_write_checksum: sha1:02eddafa265b1eee25413bcd6e0e20246af4fbe3 + pristine_git_object: 9935196fb1a4b105ef202f2a3157c3324805e51b src/glean/api_client/models/platformtriggerpresetinputtype.py: id: a49815e9d095 last_write_checksum: sha1:50bba9278f596b1700f74881b8d6a6c4f267305b @@ -7014,40 +7034,40 @@ trackedFiles: pristine_git_object: d3a2336f945a1f5e9ad0be5622960425c4a94238 src/glean/api_client/models/platformtriggerpresetlistresponse.py: id: af06a9ea071d - last_write_checksum: sha1:e2f8f394fc704ffdf8ee91507b2120f83da24b0b - pristine_git_object: 60c4d72bc4382f3a95396e971584a25c7c528610 + last_write_checksum: sha1:3366e2f38df9c05f0038080f979c5ec98e6879dc + pristine_git_object: 2d135681280c5cd946c0dd4d3796e8e2b49de8f8 src/glean/api_client/models/platformtriggerpresetsummary.py: id: 3ea0384dca13 - last_write_checksum: sha1:e536d737c0b5493b1db48616119348b957ae1d66 - pristine_git_object: 64917154f171a2b1c4a617599d8e0cb220f0a8de + last_write_checksum: sha1:e2d461a3e98a9b08f4de8b495498de3ef092b2cb + pristine_git_object: e87974b536181f2ce0d4e16b4047dbf17904ce93 src/glean/api_client/models/platformtriggerstatus.py: id: b50f5721d508 last_write_checksum: sha1:d96648687316249472f6d1417db1a0a941df04ce pristine_git_object: 0c789c9a5c0bd295a19cf12d8dd3f929bb3042b8 src/glean/api_client/models/platformtriggerupdaterequest.py: id: 91dbd3e53881 - last_write_checksum: sha1:22d575e744eff6e20cefcd3c0dc4e84437331c43 - pristine_git_object: 7dcbd6a275b49e1ab02477079becfa9474622bb4 + last_write_checksum: sha1:cc4bbde2dc0e2940218657346c5806ac582ae622 + pristine_git_object: e6a6a61f784647fa109fd2cb361fd1b1557dac27 src/glean/api_client/models/platformtriggerwebhookevent.py: id: 54052878b616 last_write_checksum: sha1:f2741b9f076567225c44a6e78963c682ed076b96 pristine_git_object: 70e79cb4a4f378290fbf377ae7f18b78e5183f56 src/glean/api_client/models/platformtriggerwithsecret.py: id: e0f28c4af07a - last_write_checksum: sha1:e1035b1e52647d0cba1a2d784e92e70ac9ecd425 - pristine_git_object: 43b0b789a24961eaf150cd49ac1fc4aedeff3281 + last_write_checksum: sha1:3c51bfeb3d7d3e9df8c1a9a44332f18431301a08 + pristine_git_object: ce80ebc3615169457cb5b76a0b04356998c5ef05 src/glean/api_client/models/platformuser.py: id: 184a8efd11c3 - last_write_checksum: sha1:97be01e2734169d7f24f89ded9d6c22a45a3516a - pristine_git_object: cb52c1802238bbede7787cd85736102a73ea476c + last_write_checksum: sha1:bf1b52486a23ab804319bf5ea295e188f4fa8af2 + pristine_git_object: d1f9c941427313816264332a979c6dfa362c7091 src/glean/api_client/models/platformuserdatasourceprofile.py: id: 930b42fcfee7 - last_write_checksum: sha1:680ba6eb828a9408edfa11148bf0d4407f238078 - pristine_git_object: 247c584f3e99ddcbb98ff1257cdb164899cbbfa8 + last_write_checksum: sha1:bf6a19e4386540b77241beb5aa242c0ab0e30f25 + pristine_git_object: dd2b92954704fd28868a34f7c3879ccd0a4fe046 src/glean/api_client/models/platformuserfilter.py: id: 98a969006921 - last_write_checksum: sha1:f8c21d6a4fbfcc3ee26dd787637b82ce73c6dac6 - pristine_git_object: 349411f5919d87ca981775c8d83721a0d8b71ca8 + last_write_checksum: sha1:fc94224f36af2a4d0d069f16be4566f83842f3b0 + pristine_git_object: 1e48e2a630ab17bb69588d7ccf8995d6e7b426d1 src/glean/api_client/models/platformuserinclude.py: id: a749fbfc54f7 last_write_checksum: sha1:a08e812b2277f32e4d1b5f482a066c3710f6b882 @@ -7062,8 +7082,8 @@ trackedFiles: pristine_git_object: 3f5ea79c0debd518f17935277fe3e3bd3e6870b1 src/glean/api_client/models/possiblevalue.py: id: 6046129b9c7d - last_write_checksum: sha1:4495a1288f312de877f9bcaa547f35178119ca59 - pristine_git_object: 1881d2039a7b9e4f08c6af33c908a78f051033c1 + last_write_checksum: sha1:ea712b6a52ed34219e07bb8f297028339b9addab + pristine_git_object: 168e7bc70b5e583e53fc92dbf156e7c94eff8835 src/glean/api_client/models/post_api_index_v1_debug_datasource_document_eventsop.py: id: abd99421d713 last_write_checksum: sha1:4f1a7e19b1e2f176074443316570065706fe7cbe @@ -7090,32 +7110,32 @@ trackedFiles: pristine_git_object: 93bcbc0b2495f59d24b9f75a8e68c47fcd69e55d src/glean/api_client/models/processalldocumentsrequest.py: id: eca970f6b17d - last_write_checksum: sha1:1f8d977cd86106f1205fccbd6f7c8898a6276217 - pristine_git_object: aa29557c7b29a299b1d195dbd21d60b60672f2e4 + last_write_checksum: sha1:c4d43b52b182daa683ea905cea5f74431fb13631 + pristine_git_object: 25670858cfb13c4903cdc19f213561ccd474badd src/glean/api_client/models/processallmembershipsrequest.py: id: 237c53ded9e1 - last_write_checksum: sha1:1d520decc6fa8c1bc8960a6b3443fa4d8c33232e - pristine_git_object: f1bba49df88d0d730d9ecf83257dff950d6acf8e + last_write_checksum: sha1:80bf9640bff303920eca37bedd9900d55262d20b + pristine_git_object: 16fc1970d6fd571b40fdebdbb75e122244ec8c12 src/glean/api_client/models/processinghistoryevent.py: id: 87811e111132 - last_write_checksum: sha1:c7dd17b990ab3f56b5f817e397e672f639ad5920 - pristine_git_object: 61b4c04786eee4c0f2e8a864f6eae2564444236c + last_write_checksum: sha1:3d92760056b3b71f7f31860252b874ae02c4c624 + pristine_git_object: 4166edc6c23e99cafb8550ee801c1fc6e789cdd7 src/glean/api_client/models/prompttemplate.py: id: 349206a29c89 - last_write_checksum: sha1:2845d4ff5af26c13353fcbd8060e37bfca043195 - pristine_git_object: 90327467d4d0d687879f460836a2a714abf3f071 + last_write_checksum: sha1:9aabe0e91eeb4657758f5d23ff13baab7f7c1a17 + pristine_git_object: a5b661c102a0ffe4402ee1c57d1b38f5e805ae2b src/glean/api_client/models/prompttemplateresult.py: id: f4c9cc06db98 - last_write_checksum: sha1:f177b5c594718d1f96f33c8dc4b38f6ead291ff9 - pristine_git_object: efd9ff4700d2bcf26b3593bb40b1d34f6ce6e4fb + last_write_checksum: sha1:bb94ee559b0af5e2c56aa1922231835fcb6cc400 + pristine_git_object: 273cacd5112c6be00001599491a48bfa7b872c41 src/glean/api_client/models/propertydefinition.py: id: a5640d2ddbc8 - last_write_checksum: sha1:670a6b36041422f5f8223026c11d665dd3b838eb - pristine_git_object: 6ec503a239bc42d07faceb158b6b8fc2dd665a70 + last_write_checksum: sha1:7b171dbb0b594df94be467278a5985f4ffd5b81f + pristine_git_object: d72eea4477131926574e507a807986d3c4eccb6b src/glean/api_client/models/propertygroup.py: id: f592edab23dd - last_write_checksum: sha1:7a2c704e758bd2703ea9dab202cb663e2784429f - pristine_git_object: f3ed0cfdf6036135f807e6a2d882b2aace08cbde + last_write_checksum: sha1:611c5ba3cc18a04474027a1993ae69b981926f70 + pristine_git_object: 74716db09f8167f317d4bc268d7d645cdb7a2f75 src/glean/api_client/models/put_rest_api_index_custom_metadata_schema_groupname_op.py: id: 0a4f9b623706 last_write_checksum: sha1:651bddf0bd127dbcf32ef23fe556ccb9fa4c8820 @@ -7126,84 +7146,84 @@ trackedFiles: pristine_git_object: b8da6cec25c11e6b49e475e53fce749418710563 src/glean/api_client/models/querysuggestion.py: id: d999a3a9d983 - last_write_checksum: sha1:d43fb0420b33b016822529d740992d7a5d8274be - pristine_git_object: 39b6d5e513142fa23df9103d52e52a1b2df3632b + last_write_checksum: sha1:add21c4c7d36d646c5e0b35e64ac10669fe86444 + pristine_git_object: 019127fffebf29d286ef91c2e708d776fb98ee41 src/glean/api_client/models/querysuggestionlist.py: id: a0b2d6cd9e8d - last_write_checksum: sha1:9579a516d26837e13e185e9e996391d9f8e8ed55 - pristine_git_object: 8723c878c36f42f2c72654b5c752c0b366b5b50e + last_write_checksum: sha1:79589721e2f4a1f76852ab25e01719151ce3a991 + pristine_git_object: 3fa1ed9858c1c057c866276516d8916f51fb14dd src/glean/api_client/models/quicklink.py: id: 0304461c2f90 - last_write_checksum: sha1:80359422d1067bb6718c30c71c371929cb2d85b9 - pristine_git_object: 75045a1ff55daf62bf893cbbb5a52a4287942806 + last_write_checksum: sha1:ca6f226a432e34c3c02cd29af83ffca9b633b0f8 + pristine_git_object: 847fa3d2a8cfe536c332f8ba587be6707d133bad src/glean/api_client/models/reaction.py: id: 076b69450df3 - last_write_checksum: sha1:d4a5a1c380a3b4caf64ad3377817376a21071ef6 - pristine_git_object: 40dd0af419479f13e301768f57172ba163037a49 + last_write_checksum: sha1:9b446d3fc018438341a88adfb0dfda78748f4ba9 + pristine_git_object: 32e7092c083a9086961abdad27372568e68c183b src/glean/api_client/models/readpermission.py: id: 13410259df92 - last_write_checksum: sha1:0f5edfe09499050d43d1e50357025eb98516e251 - pristine_git_object: b82781fdc48bac49fc6adcede9a821d4d0874a59 + last_write_checksum: sha1:3d0b6dd39852ee602581ee1cec65d0bd345d566f + pristine_git_object: aafd0c846facbb934ddc24b79f8dbe3516f09f6b src/glean/api_client/models/recommendationsop.py: id: ee5dd14cd496 - last_write_checksum: sha1:4bb0c267213c83cd9fbe74dd460ff03d1373a3d7 - pristine_git_object: 02f83b74189ebfdf73c92a7f45ad619b87cb4df8 + last_write_checksum: sha1:fc820c36dc46456b01cb02457d7ca2a5225b04a5 + pristine_git_object: 4ada9c8908b3d2610a6f760fb1d6b97df4b17c6d src/glean/api_client/models/recommendationsrequest.py: id: a520b92b656f - last_write_checksum: sha1:d6d5b9faae629d5a6112b9e3da7cd4d6552d7953 - pristine_git_object: 507d92fa93023593dca8dc8bd3bfe3796f20af5d + last_write_checksum: sha1:bed9f06a540d3e5e2d6ae21b38c4b30a29983a98 + pristine_git_object: 7439a18e86d612a8839d3af1d53eb6eefd3b66e3 src/glean/api_client/models/recommendationsrequestoptions.py: id: f4240d7e4353 - last_write_checksum: sha1:ac1ad1caf79117cb8c5b742731a05bd185711c11 - pristine_git_object: 162c9f7685718a17f9aa40e0bcd289551b34750d + last_write_checksum: sha1:fba43f17e0d402c4dd330c3a1a3f0aba9ec6dd42 + pristine_git_object: ab5ddbe101ce577f2f365a605102fb1e473cc6ab src/glean/api_client/models/referencerange.py: id: 99d8cc67073d - last_write_checksum: sha1:51fe4767defc867fcce553a39cccef816a6e0e0a - pristine_git_object: 851c90fafd1ed4ceda5edc31cb61157608a4ebd1 + last_write_checksum: sha1:25d6ac41e29c3d1ec5bd274beb304aa1b4207191 + pristine_git_object: e3b79e30c6c59e44e400b413fb558a87ef7e1d2e src/glean/api_client/models/relateddocuments.py: id: "956195080413" - last_write_checksum: sha1:4457e52fbf83c3d8be529b9906b3be3ab3e65205 - pristine_git_object: 81ed4fa9b6c997d5b9a0f3c9168c90e41d3a2cac + last_write_checksum: sha1:275b1e90df4882178a846643b0222299769710f2 + pristine_git_object: b5db3bce54b892d4d070cb8c5521e46b19b8efeb src/glean/api_client/models/relatedobject.py: id: c8937c435039 - last_write_checksum: sha1:af8f0e69f54b6dae715a0ec62eb1faf21f931856 - pristine_git_object: 94a1515c39e6ab1ff3120dab4576195df637d2cb + last_write_checksum: sha1:1a7bb39a0cad5c8b4119c973d00631bacc80440c + pristine_git_object: 69ad2d11e13331325f2633b05d6c7b6fbf86bcd0 src/glean/api_client/models/relatedobjectedge.py: id: 73ab27238170 - last_write_checksum: sha1:4291bddffff01dd38c0509314714fd6b483fe935 - pristine_git_object: 6a5b09725efd25c6ca0684b4db6b962790d12d74 + last_write_checksum: sha1:2e6074f7293a5e2c9bce6a79c783fdd10e9596eb + pristine_git_object: ba13b9ac0b71d650c05e0d8621910f0087167b24 src/glean/api_client/models/relatedquestion.py: id: 7a4bcc49206c - last_write_checksum: sha1:46f1235014e4f384daaefeb1b398c572ade0f00a - pristine_git_object: 0bd513ec01b8dd34acdf5d6c82baab1e7150edde + last_write_checksum: sha1:fc759cbd2abd5d5b0c1f9be6b2bf755995427dfe + pristine_git_object: b9db66f422fab81cc90d61ce09439101704cae3a src/glean/api_client/models/reminder.py: id: fa39219753da - last_write_checksum: sha1:9c771e2bf1f3187443201deb26161e3ce30f42b6 - pristine_git_object: 8a084dd759778243af1f96f3980d9c46fa228a0e + last_write_checksum: sha1:2ff579efa6256dbf8f4930ba693cce051ff3c3ac + pristine_git_object: a71e1d71984650874d8c9eaa2f150f4d6152cea6 src/glean/api_client/models/reminderrequest.py: id: b74a3f389e9a - last_write_checksum: sha1:fd9a85afc919d58e42c3a0dabb32c75f13a56576 - pristine_git_object: 5f4e8c646b852f53287e854716e5ddf76e60f7e0 + last_write_checksum: sha1:9485265c12a257d66b1ca4e9d7672d17820da905 + pristine_git_object: d9a64ff0d467b23907401b2f693ea97537f93fd0 src/glean/api_client/models/reportstatusresponse.py: id: 772284b8ed0e - last_write_checksum: sha1:6bbd579bf04952878b62702c53ac089940b09314 - pristine_git_object: ea27cecbdfb8bf2dff2b4062579aa3fd70d9c580 + last_write_checksum: sha1:b5fa88cd381c34ce8e0af8d6bc8a257d5313d700 + pristine_git_object: a179a2428b2ca5d437de62419c0888026465e1cf src/glean/api_client/models/restrictionfilters.py: id: 2fb7b9c3c114 - last_write_checksum: sha1:0c2fb811b3872765eb43b50354d5134c63d31bda - pristine_git_object: 2e649d73bb1a3382337ae1f2f0be2ca96cabe839 + last_write_checksum: sha1:211e9e877a4e3c094ac836547843d9dba2b0e149 + pristine_git_object: 34c6be6e51760609f515c71dca1befa585a27701 src/glean/api_client/models/resultsdescription.py: id: 15c668146af5 - last_write_checksum: sha1:9b06335149d9880a28c945e60ebecf497b3e78d3 - pristine_git_object: 7c8140e5c18542cb5b7b13c7f4cf734013d13ac5 + last_write_checksum: sha1:e66859509eff91b165f4e38f886bea7bcb29f5c4 + pristine_git_object: cc2b43f0558975c3b24e05d3783bd4083183d23a src/glean/api_client/models/resultsresponse.py: id: 64338eec2f88 - last_write_checksum: sha1:9de171e1987517e200acfb2f98d957ddbe939631 - pristine_git_object: b6ea890230d3c9255ca137b3e671f70f07c672d4 + last_write_checksum: sha1:ffe99f69bd0b7d6031a6f4d6007aa876166cee8d + pristine_git_object: fc2ed5171cfef8cb728bc7e6d0d9ad1771ecedd8 src/glean/api_client/models/resulttab.py: id: ab5996a4e338 - last_write_checksum: sha1:47e64ce6b2f42edcd5e311218791fb375f9752e8 - pristine_git_object: 3683f422ddd5b3065454a5a14ccb9639d96dbc9e + last_write_checksum: sha1:2e76a1a7a85a4992c09de8ab579038c2ea5a4043 + pristine_git_object: 6fa81c9eddf2cba21d0e0f268f31e2d83e1a7952 src/glean/api_client/models/rotatedatasourcecredentialsop.py: id: 52c9d892f054 last_write_checksum: sha1:73f9c6365b506b3c22a7c1c46765a950c7481abc @@ -7214,280 +7234,280 @@ trackedFiles: pristine_git_object: e9dfdd442b5dd8e6a0caecf9079dfaecf1f05d2e src/glean/api_client/models/rotatetokenresponse.py: id: 77a67fdbdad9 - last_write_checksum: sha1:70fa60be71c4eb8e04999ca6d84b9e72cea19540 - pristine_git_object: 723b5b9c9e2e7ba03737eee2f019a3547385f027 + last_write_checksum: sha1:25ffa516dc5a9d761ea9ec60a264ff174258379e + pristine_git_object: 4571285427028509dcdffec50960dba0aefb2dba src/glean/api_client/models/scopetype.py: id: 2f48507a9410 last_write_checksum: sha1:4245fb548034949fad3ffea8f6afa5ddea1ffde0 pristine_git_object: e45814ba47a94bde527ff4fe6f216224211eb3af src/glean/api_client/models/searchagentsrequest.py: id: e4777828bb53 - last_write_checksum: sha1:49a2951cc53859434c49bfd408bfb8f20be732a3 - pristine_git_object: a66f7d033ec65907f16edeafe241698a99ef93f9 + last_write_checksum: sha1:7b1d8ca6763df8615e9474975c01edfa506f175c + pristine_git_object: 7d4f8117ca357a1ea3bd663110c5078ba665ba76 src/glean/api_client/models/searchagentsresponse.py: id: ab538c03a9e7 - last_write_checksum: sha1:966d23f457caf948ccb9c3146c896cec9aeee922 - pristine_git_object: 9e6b9852b797e99e0b0fdacddc14e29c0a9b733c + last_write_checksum: sha1:b86129eb112ab5d3e8bf11ec42b95faec6b067c1 + pristine_git_object: 57c4c29ed6a13ae5043fb0e2da9b15d5028504e2 src/glean/api_client/models/searchop.py: id: bf0e9fa90f9f - last_write_checksum: sha1:ceb0ac07f9ef9da3f864de222967630d84295626 - pristine_git_object: d1dd1a5c5cd0cbdbfec3d1b71a11e1c5172eef20 + last_write_checksum: sha1:b18b188a81a32a15641cdca8bc5d91a7f4f06343 + pristine_git_object: f40d1bab892d2913222d9ad26ca98faeb5f664dd src/glean/api_client/models/searchproviderinfo.py: id: b68ee1b0b172 - last_write_checksum: sha1:7eb4317de4570eac02a377fcd3f6d15533390667 - pristine_git_object: 84921983d237d16b44dd1746590d7a78dafc818a + last_write_checksum: sha1:577b1c72368bad4c68f25ea0e717d113a6c6fc7e + pristine_git_object: 07cf636064f424847c67e35d4fe9ef58a8e2f76c src/glean/api_client/models/searchrequest.py: id: 719f98a441ea - last_write_checksum: sha1:0b58de889fe0fa092d1457860a54e3a377ab22c5 - pristine_git_object: 535df87596e62767f1f8499a01547f754786078f + last_write_checksum: sha1:c0de98cd60ba6796e10d621f1540f6fb2c256e21 + pristine_git_object: e8744e1fa9a06eee50ba6729857bd78c4bb7891d src/glean/api_client/models/searchrequestinputdetails.py: id: f9016fc47ba7 - last_write_checksum: sha1:9590af880bb1d81811808c2f319899523e12fabd - pristine_git_object: 900e4ff23c51d2f7b4182a92cf04782761914c3d + last_write_checksum: sha1:a828e5a02b2ee6e28e535f73077b47ee3f965455 + pristine_git_object: 375b9030c3b292a797b2a938259223201595f7be src/glean/api_client/models/searchrequestoptions.py: id: c7963bd59328 - last_write_checksum: sha1:fc025a6e49aaef42f90f7287592799e53d479ab1 - pristine_git_object: f5006c08f5f60180cb4c99ef4c37855f4d4a0893 + last_write_checksum: sha1:3db58b33dae276815abc292808d8da24808ecef7 + pristine_git_object: 6f31380dbf891f34d2e5a22f7d3ab3958e72ebc9 src/glean/api_client/models/searchresponse.py: id: d705ad40d03c - last_write_checksum: sha1:6cc100f27205541e4ed49ea7046c303fe13b2963 - pristine_git_object: 0135246be23f25b95e11d3d167095e9707730cf1 + last_write_checksum: sha1:2a2f251a870fe7bb053dcbc5ae833c66f176304d + pristine_git_object: af900f45c2fa847a868a013ea5f203cb8750a716 src/glean/api_client/models/searchresponsemetadata.py: id: a10bad5e36b4 - last_write_checksum: sha1:ee67e32b1b616e61867bcc09e81346be64296054 - pristine_git_object: 0d4c2a385af0f5da372d8a647d591ccb6e9468a2 + last_write_checksum: sha1:09755a1fb46880ead8506c4a2c54e9d318e52448 + pristine_git_object: b86d1a9694d07f9820fe8fc91561b03fd9050a7c src/glean/api_client/models/searchresult.py: id: 80390a0977b7 - last_write_checksum: sha1:8ef2dd214f3e8c975ae28bfd7432e871f2b6d449 - pristine_git_object: 9bcd86392b024ba6a7c5b4727cc5b88198fe860d + last_write_checksum: sha1:14603b026e54f3fe419833e6d1ffbbfbdfd35a41 + pristine_git_object: 9c8739a55f839b7b151d9377efc3b48802aff638 src/glean/api_client/models/searchresultprominenceenum.py: id: 611302793a36 last_write_checksum: sha1:75da9f35ae33d71515f58654134b6d614f453ecf pristine_git_object: 27ef471f64a9f280f3142d2f9b825c0058b2c365 src/glean/api_client/models/searchresultsnippet.py: id: 70ba81075b57 - last_write_checksum: sha1:7c53a2f78614a06e3b78c626cda58e96fb3fc3e1 - pristine_git_object: 949ba65d0af74e0149356e8604f3dc16d886860f + last_write_checksum: sha1:ec24c6c61d676c3be3326ae3e1b7d8537743be3b + pristine_git_object: 3ba4838cb39f90b08d2be5d9f228dcdb6a082305 src/glean/api_client/models/searchwarning.py: id: c2eca228f00f - last_write_checksum: sha1:0a2bcceeceee257d807202e5def6d83dfc85e05e - pristine_git_object: 79a0826de8a9db054081f8b9cdcc3831b1735dbb + last_write_checksum: sha1:bcee4432c313f36be78565a3c8c328e672bd8d1b + pristine_git_object: 87e5e6b86d820b90c6459a3b0b2b38a08dfeac0d src/glean/api_client/models/sectiontype.py: id: 9b5de392015d last_write_checksum: sha1:130b8a1f543787e1f3f63915036bcf448ec52ceb pristine_git_object: 59fe1bb6ae5db2711599be0bb64971a8a8aa4c9f src/glean/api_client/models/security.py: id: 79159407101e - last_write_checksum: sha1:8969db847e8b331204e2b1eaf5e1bc16c54048bc - pristine_git_object: c248ffd0c4139a8d90f3d9e90af34490f940f7c7 + last_write_checksum: sha1:a0def41001fa3297a26a54bd829829530c2fe6e9 + pristine_git_object: a282c84356cb46dd4c51443279c46142f4cb2dc9 src/glean/api_client/models/seenfeedbackinfo.py: id: 6a7a196ed797 - last_write_checksum: sha1:31b5cbaf866e30162e40c35ec7701fb8e0045e5c - pristine_git_object: a5ebcfaa179fba1405e7aad53f24fcf9acb58110 + last_write_checksum: sha1:1243373c93cdcff214e44807f40da85780e4bff8 + pristine_git_object: b096bb35823de8806894660dfdf44dee8ea98783 src/glean/api_client/models/sensitivecontentoptions.py: id: 156ff45324dc - last_write_checksum: sha1:15a9e1957dfac5dcf4d150ae07872109dd92dec5 - pristine_git_object: 10775067ac0aa552971fc437c805c5d90b87c6bc + last_write_checksum: sha1:f314782b937434880160855298964eb21154af0f + pristine_git_object: 6df293046c31829fde6cb4db9ebf4c9b24dbaa83 src/glean/api_client/models/sensitiveexpression.py: id: f2d93e2a2977 - last_write_checksum: sha1:8b4146543b62a90884a429e0b8c1fab6f04b2b11 - pristine_git_object: 4f4970c317e5e47b92aecb2b35e6d6976807a2d4 + last_write_checksum: sha1:2f106dbee5a655767fefe88445df8c6dbe99ae8e + pristine_git_object: c518ead678c59b49c0432ad5590345c299642964 src/glean/api_client/models/sensitiveinfotype.py: id: 6d9d1a461507 - last_write_checksum: sha1:c6a5a4a9818661d6ebb28a68b3df859cea4b4dbe - pristine_git_object: 4d362e735eaebcc8ffa9ad17930c21723ec738f6 + last_write_checksum: sha1:f1b79db9f95b4af54a2365e08771ab90c36f544e + pristine_git_object: 4a43e911ad15f1ec428b5eee3b30f9a7895a2ccf src/glean/api_client/models/servertoolrequest.py: id: 68e8f4700c18 - last_write_checksum: sha1:fd353a890565dffa872f1ed76e8276c713c72674 - pristine_git_object: c88abbe5702b9dfa72709ac74658c54c726f7753 + last_write_checksum: sha1:9088db64629bbb301b1055df62149640d2d6eaae + pristine_git_object: 7f48123f145642afcfc8552df78966c9ea0d015f src/glean/api_client/models/servertoolresponse.py: id: 48123cc8f7a6 - last_write_checksum: sha1:20105bc9f50d17cf32c0ed6e2985a06acd7c7e5c - pristine_git_object: 8af507a2405c4555021fba915084ca3c8d170d6c + last_write_checksum: sha1:b4731f5cc99950257a91744f4f1761ec166debea + pristine_git_object: c0df0ce4b6c5206bbf833698cc8721296f651f34 src/glean/api_client/models/sessioninfo.py: id: 4127a11bdfbc - last_write_checksum: sha1:109e98c476f5bf747e35b7051e2702961c518167 - pristine_git_object: 0a0ab5212d819022274b18bbd66874850c679af3 + last_write_checksum: sha1:bd7ac2efa9df60bdbb5af0ff489a5857b899f0de + pristine_git_object: af0f93a6fbdfa32c8e1f779212c9132d716409b8 src/glean/api_client/models/share.py: id: 39287bae7e7f - last_write_checksum: sha1:7baf7314be3c109a90756455cd32f420ca2ea823 - pristine_git_object: 3356d1fb50d14a4d11fe4f7495add5cd422cf7ea + last_write_checksum: sha1:39bc025614550554f5d81a949bab02fb13734b45 + pristine_git_object: f152b2fbb992b08d5885be4a4e30ae499af20e67 src/glean/api_client/models/sharingoptions.py: id: c757da755d4e - last_write_checksum: sha1:11480ca36220c7cd4b5d383e79fb7aa64c835d07 - pristine_git_object: 09336c168d08c481086e1116577ff2bc9d8f4fa5 + last_write_checksum: sha1:c05646368c00b99918bef38537dc5804f7a96974 + pristine_git_object: 46248d0e02cf51571a0a3bdbf25daee0ab09ede0 src/glean/api_client/models/shortcut.py: id: b40331355c7b - last_write_checksum: sha1:bd116933fde8e359b21dae6184e29f63841c775c - pristine_git_object: 6038fd52a4bcb3f9c1f26460bf09ceb7e247be3d + last_write_checksum: sha1:962b28278fd88f5c2d36418b6847ec99cd84360a + pristine_git_object: 42507522a4fce07a46bb52bcd74fff53b3e823d9 src/glean/api_client/models/shortcuterror.py: id: 2f86c1d02a49 - last_write_checksum: sha1:9fe0fd6f8ccde62c2d2eb8eb01e0c56cbfe5a1df - pristine_git_object: b4922a4c5c1d6f564bab4ecdf3ff0823225aafd3 + last_write_checksum: sha1:b7cb84e3be4d76909f6482f8131a88baa0b04e04 + pristine_git_object: 35ee143f85b5fd25e6204783ce5b76555cc319d8 src/glean/api_client/models/shortcutmutableproperties.py: id: 16671c35b7ba - last_write_checksum: sha1:2fd1fe7e2d31469e380ae47fd7fc62213c9e24de - pristine_git_object: a70757ead51012662c34111b312c65df755b7990 + last_write_checksum: sha1:ec8cdca2ad267e1592c09c2e760a1b23161324a4 + pristine_git_object: a4ae451d7fb41b06195ffcf62c58dbde8c6fc100 src/glean/api_client/models/shortcutspaginationmetadata.py: id: 84d3ffe2fd5f - last_write_checksum: sha1:ec6b065434c14409bfab5041e0ab7b062f672b17 - pristine_git_object: dd14f76d91c1c9ae65d19d617726b5f2fc4837a8 + last_write_checksum: sha1:7715c418ebbc44db62032b7896e4a3ac1f043421 + pristine_git_object: 824ea03f90d1336f7885179f8daabc8785d49899 src/glean/api_client/models/sidebysideimplementation.py: id: 76cfd351a2aa - last_write_checksum: sha1:f829edc84b796610597ed5497f7b670517ee9f0e - pristine_git_object: 2df5ff06886601073ff704d1af1176ab8bb8d9a3 + last_write_checksum: sha1:63ce792d97178bb0d68923e833867605ce01981d + pristine_git_object: d652becaf5781c720a6c8f54c3585bdb69a639c2 src/glean/api_client/models/socialnetwork.py: id: 7d186cb460af - last_write_checksum: sha1:5c0c7996878346969e0f9eab01f78cebbe6087c7 - pristine_git_object: 3a736be58c68b7aea7151e928e12d0eee58df091 + last_write_checksum: sha1:b5bd8e17011d2cfbbad2dfe3206d86643145f7fe + pristine_git_object: 0d8e3632debe626105a9eb4ed0ffc93d923a531f src/glean/api_client/models/socialnetworkdefinition.py: id: ff972e9d65be - last_write_checksum: sha1:7b593b4870d2aeb2536629e1be9b750b8f7db385 - pristine_git_object: be8259cd81a246b9a1bbc371d1b0eb6c6682ba3b + last_write_checksum: sha1:d36790fb033bcf269740dc8a5a5ce79aa5eceb89 + pristine_git_object: 98deb40dd72d27208132cd2f2fed8ab6ca98e628 src/glean/api_client/models/sortoptions.py: id: 7e730ebbc35c - last_write_checksum: sha1:7a69b99ac2d064cb8364579fbf2ab7eefb7d591c - pristine_git_object: b47e3975573c6b4fa41b97a1ee74c06d76040a2e + last_write_checksum: sha1:d38d88dc6093dcf19eebae45a1218383ea2c30a4 + pristine_git_object: c36d742ff4f75edbcfec391eb3059412209dabab src/glean/api_client/models/structuredlink.py: id: d619bb983c4a - last_write_checksum: sha1:253c8b08c395c4d5354d84dd4303a6a7cf6f4df8 - pristine_git_object: 64e4e5b9503c69a7fab950d8e05d25dfab543be4 + last_write_checksum: sha1:a8fc5d84b0b96f217c44dfc3b8f54f0ca5c8a2d9 + pristine_git_object: 9771fff004360521e093f1f7f0ac619d1d93a1c6 src/glean/api_client/models/structuredlocation.py: id: c0c11256d82f - last_write_checksum: sha1:7d0283180442f7c282f013b05df46aade77b1381 - pristine_git_object: 8fc2a7f5653b37df6ce2250dfcaec28d14ec6f89 + last_write_checksum: sha1:5b3390665ebdf961cf39fed9513d83c831f98fa1 + pristine_git_object: ea7d56656e60456a0df1257416ef394b9dc538c7 src/glean/api_client/models/structuredresult.py: id: 1777b707d24b - last_write_checksum: sha1:f25435006d961e8157f1788d55b019ac2e98798a - pristine_git_object: ead2bdf1a52968bce716d6fce3519b69fde650d9 + last_write_checksum: sha1:8e0b93b943eeec48d108d5dfa094e190af8942ba + pristine_git_object: db69e28063538043407d61f10f033b0bb1c58c33 src/glean/api_client/models/structuredtext.py: id: 5a5980e70744 - last_write_checksum: sha1:cc017d001d800043a1069074138676d128fa6814 - pristine_git_object: dcf058b2fde6c92bd6f0b8ab893e4d53c137da3e + last_write_checksum: sha1:5871818e097aa21c919264915b4b0e69d0d37bd2 + pristine_git_object: fe70299b6bedeac24799f42552026666ec32d41f src/glean/api_client/models/structuredtextitem.py: id: 283dcc948aaf - last_write_checksum: sha1:4d4bf0925e74117d7e739bf5d70b7e06e64c6153 - pristine_git_object: 6eeb60a01e6fa04e8f2baa9a0914ce62b1661962 + last_write_checksum: sha1:bf84166bd154b6e760b985a82c0d8d3f8d88dd56 + pristine_git_object: d07b7d58079550946012a926d11fce12549185aa src/glean/api_client/models/structuredtextmutableproperties.py: id: 04eeabe42124 last_write_checksum: sha1:ff30b684a5689d343ba2f8e4ae6b60228a5e3767 pristine_git_object: 4a55f087a9b19d542b32dd8064185b090e76b787 src/glean/api_client/models/successresponse.py: id: ccb94bace869 - last_write_checksum: sha1:526d0e027fa8a066081c0ad2950b0161724c5c18 - pristine_git_object: c48ec8644af3efd5bb4e17a0d7b421499f0f879e + last_write_checksum: sha1:f2e29732650d504b062fc315c6f9b9b291b97e30 + pristine_git_object: eb5cd758012d88e1c07b0fb824c3000dc388d0c3 src/glean/api_client/models/summarizeop.py: id: 2b87b3e6aa4c - last_write_checksum: sha1:47eb38ea7bdfd516866d08dc9214bbc215022f94 - pristine_git_object: 1211d870deb4159e03665024bdd728e40f3adf81 + last_write_checksum: sha1:e3fffde0d167504758c86eede9b29ec35d41b5e9 + pristine_git_object: 6ed9644a101237354d2e7cabe645f2caf2532df9 src/glean/api_client/models/summarizerequest.py: id: 368175eae49b - last_write_checksum: sha1:860fbd11f01580645fbfa605f8e522b121be9eb2 - pristine_git_object: 2ee5dfa9b22efeb68b34df86294dc9e0bc03c7c4 + last_write_checksum: sha1:a28b0f7aa848bbefa6e6b3dd6078dbce0ca6d165 + pristine_git_object: c79882b4ae1d14b32a7f134e36cc5fe8dde8ac1b src/glean/api_client/models/summarizeresponse.py: id: f49fb35062e3 - last_write_checksum: sha1:6095fad01602ee9d8810920aafee22caead3b35a - pristine_git_object: ca5dc1b69bd269c493e2a3ee40f1a151b2a3056a + last_write_checksum: sha1:34bccce99c5669db016895c129b64a9843068ed7 + pristine_git_object: bfe6e951bd625218ab25e9de9042b21a350b164f src/glean/api_client/models/summary.py: id: ec310b5768ac - last_write_checksum: sha1:2512e7b07e429ee63d5066edb6b30ad7209f11fc - pristine_git_object: 35573db75a59c75e36529c5d7885760cd0b68390 + last_write_checksum: sha1:2b017cc5806ca32f7f01b24babab58bb2d925af4 + pristine_git_object: de42cb298bfeca75b779d49c8c0afe0425aee16a src/glean/api_client/models/team.py: id: 8899a02080f7 - last_write_checksum: sha1:87f9abc7173690f5eab49c3668e542f4f07aefcb - pristine_git_object: 7fa4e16213e567c637369a357d9f87e34d2f59d6 + last_write_checksum: sha1:0cf58ebaad844f6f04c58dc23601e7687d763b8f + pristine_git_object: 7a3b6b724fec37a0f916e2a8047a09eac5b51b95 src/glean/api_client/models/teamemail.py: id: e0dd0042405b - last_write_checksum: sha1:42e472b5890b4b0c1c0ae31c078a4b4d9e0f5f7b - pristine_git_object: 73f5b4cdd89f726432ee186f5ab19098daff70ae + last_write_checksum: sha1:207e6707d66007ea73307263b041ac4f5e405255 + pristine_git_object: 237766e20004f5c673b55468aa6541fc4f19020c src/glean/api_client/models/teaminfodefinition.py: id: eba67dbd2ba5 - last_write_checksum: sha1:15ffb877c242c1cc3402afde5609e763242d5491 - pristine_git_object: d5e57583e32aab947759344d5f9689d108c4b462 + last_write_checksum: sha1:70d7d0bcc82c80ec9b493b53a8c07d18eb2a89a9 + pristine_git_object: 61867e57daff5dbd46ef83c516df321e907e6be7 src/glean/api_client/models/teammember.py: id: 6c0e36f8a165 - last_write_checksum: sha1:a2881555a6e38ef335aae7523962b4310e028609 - pristine_git_object: 9b534f8c969ecea239d10d528cd1c85de8284151 + last_write_checksum: sha1:84b102a90ce3971774adc2fb0c5b45dcbd1f2468 + pristine_git_object: 08b1496341613643198734bef788a5c86bd13d8a src/glean/api_client/models/textrange.py: id: fd0971fbe1a2 - last_write_checksum: sha1:0d1f2487aa4c25d5511e9028e63aad0ef356ac93 - pristine_git_object: 9cd52eba35b4e1580aae1f49c905fd22dd493267 + last_write_checksum: sha1:c4ca546814e95288183ec5585193da6af3c4605a + pristine_git_object: 22ff2face746cc05465c112e7aef5604a4f9f0e0 src/glean/api_client/models/thumbnail.py: id: f1c4780867a9 - last_write_checksum: sha1:73a1890db32d564451fa4fb369b79221f5604c1b - pristine_git_object: decf9c1fb4bff8b96d6727dd46b90ae6de12f5cc + last_write_checksum: sha1:2de72f84709fd79c4a3ea3892c0010db51bf19a2 + pristine_git_object: e80c7379df77797cdc3b84af62d5f12891c96ed9 src/glean/api_client/models/timeinterval.py: id: 391f82a52f47 last_write_checksum: sha1:c9259a0abf0a4076b3b112c648b1106f07d145d4 pristine_git_object: b9dc81f9a345f2d2bb564847a37c1df49df5ad5c src/glean/api_client/models/timepoint.py: id: a7733c748aad - last_write_checksum: sha1:c20944d39d4f0e62eb1026c6763c1851d91735db - pristine_git_object: 64b09feaa92b4b0829e9c5a27567ae7936f98c49 + last_write_checksum: sha1:4b4ffbd30818e82ea1d08a19e051f1b494545d16 + pristine_git_object: 83a9cf80da5d282a13118cf0ac030dabc46175a0 src/glean/api_client/models/timerange.py: id: 781aa895d3c7 - last_write_checksum: sha1:01b81d6451d3f463730d7e5bd2ffaa9c4abb08f8 - pristine_git_object: 7ac2cf3c5844baaccbf4a8aabdc54289a653c46e + last_write_checksum: sha1:34d14e0aa2a744758df3b0f8b519fe98ad79d697 + pristine_git_object: a43d4a858575d59d36a9125b9849dc0cbd4e032f src/glean/api_client/models/timerangefilter.py: id: 0eead7612909 - last_write_checksum: sha1:ba3eb8497c8bd60817be9067eda04a28caff34cf - pristine_git_object: b8ad317806ded0ecdc42bd4d923de199881e4922 + last_write_checksum: sha1:51b94ccc7670823b4bcf54e561cb60f1d7287d90 + pristine_git_object: 60018508265cdd1139a9daf2ce11058091e5d0ae src/glean/api_client/models/tool.py: id: acaa76f0ab87 - last_write_checksum: sha1:d6eefafc0dbe06ada923be3af630ca6c40cbd45d - pristine_git_object: 86839d1b3a9942ee9890d1bbcb29d4326ea63685 + last_write_checksum: sha1:76ff1393959d4bf39be0a1e12e3af0e00052d87b + pristine_git_object: 736b2f1a60968e837b038671732cf52f5e1469b4 src/glean/api_client/models/toolannotations.py: id: 2b8a8339730f - last_write_checksum: sha1:7bedaba236594e70feb3f20d902be83d725dd978 - pristine_git_object: fa00357c76e2d4458aa23bf45175d6f354a6b18d + last_write_checksum: sha1:222146782f07ca34c3ddfca76ca4c22277157af1 + pristine_git_object: 2f0617bef5b767ffd4f9563bfd5987ff3d27b087 src/glean/api_client/models/tooldefinition.py: id: be1be88fb89c - last_write_checksum: sha1:53fa688bf149f3eae975894ce765fd098cd00875 - pristine_git_object: 805617b1ffc5776af15895148c0c9c841fa6299a + last_write_checksum: sha1:0bab1b4d4784f8e827635b151053d3eea06aeca9 + pristine_git_object: fa8a7a50b042bbf75fc62eecd6935f7ae3e4d2a3 src/glean/api_client/models/tooldefinitionsresponse.py: id: 40fc72a511c0 - last_write_checksum: sha1:4a42b7cccfb3522ca62cd8072c18929ebf085365 - pristine_git_object: a0fa1e092f2587591c0143ac67c6443217a7d31a + last_write_checksum: sha1:ff90c0afbcbbc0246c6b96872ecf1df1e00a4b96 + pristine_git_object: 8ea73f73445b50bf02cd90bd2dd7ca8d323fa753 src/glean/api_client/models/toolinfo.py: id: f210c6276023 - last_write_checksum: sha1:0fb5a9601b9e8ecd9cd71c2f82624fbac8a592f7 - pristine_git_object: 9bbfdf3278d0a840ffbd7de03fa1cd3927bee8b6 + last_write_checksum: sha1:7e84ed68c65d3efd9bbe9ff4826d875fddd25d07 + pristine_git_object: 5a8ddf83d11d7c52dc55b8cf9e8925eaa84f9c98 src/glean/api_client/models/toolmetadata.py: id: 7ed199e1f217 - last_write_checksum: sha1:d54d796d1a94a56690f2de3671cb2061b011ba2b - pristine_git_object: d7928cf2abdb80a78cda4d4ac95eb7972f833cc1 + last_write_checksum: sha1:683fbfe619538f80e66184149d587ffa1b137dfa + pristine_git_object: f3fa82b619c09b1816ebed38696ab931abb34413 src/glean/api_client/models/toolparameter.py: id: 630b822ac98b - last_write_checksum: sha1:f74e8f9a8b2c6b6e33f203a47ce22b726956b4b4 - pristine_git_object: 2e00547de68060483eb4c0bd03776f98448ad333 + last_write_checksum: sha1:45e32d1db6c3f809ea03137a5951f2b365aa6fec + pristine_git_object: 63effaa1fc0bae7c33904808fca7f7cc3b13bbc4 src/glean/api_client/models/toolscallparameter.py: id: 983b41ea115b - last_write_checksum: sha1:38a941f1f6839953e84f6f197ce17bf47e84481d - pristine_git_object: 43b68c3eb55f56e8fc1eb10358fa78dc7acca56e + last_write_checksum: sha1:e25a01c58ecd93b0436a6feebadd05e2f938ba36 + pristine_git_object: ce4a2ba5a7bb911907aefd897d9c9cf89611e3c3 src/glean/api_client/models/toolscallrequest.py: id: 9af3249fec36 last_write_checksum: sha1:a0e99244668fb57980063d3ec7ac932580116ee1 pristine_git_object: 235e9ae1251be7b423ffc8acf100eea5a02af808 src/glean/api_client/models/toolscallresponse.py: id: fe536f511452 - last_write_checksum: sha1:cfbece61e77a75264b9969fe7197135393087b29 - pristine_git_object: 9949402b2ffc01f5070ca7153d7269151ea1e3b2 + last_write_checksum: sha1:6de5b7fa1aa27e7f00a2a647c1405164d629cf83 + pristine_git_object: 7eb4f6037e6e5bf337f61314629e700916468955 src/glean/api_client/models/toolserverauthstatus.py: id: 82f4cd9ac482 last_write_checksum: sha1:76f2229bcd262a4cc24610fc778247aa9530a439 pristine_git_object: 3a96ab186ed724155a9ff8743cad28248a21dce2 src/glean/api_client/models/toolserverauthstatusresponse.py: id: c6b7976340b5 - last_write_checksum: sha1:4ff21869aaecf7e045b9915ae866a21f54879296 - pristine_git_object: 8af7af9ce7802ca78089f6020e54998783b6ec48 + last_write_checksum: sha1:1ecbf13e708bc399b9c403a4829575bd2c59b6a5 + pristine_git_object: 93ed02488b60e841c0dda91135c7e86634108575 src/glean/api_client/models/toolsets.py: id: 72b778695427 - last_write_checksum: sha1:769b67c2c1f91052572476e4815eb7c86df25703 - pristine_git_object: c1ecb2c2d2fc66f7f60a63730124c56fae49ce95 + last_write_checksum: sha1:fe5844bb6202a73941af36448041cf24488d6d60 + pristine_git_object: 0652a1701ed65804ad004f3cbd1a846fcbfdd886 src/glean/api_client/models/toolslistresponse.py: id: 80ee602f49c0 - last_write_checksum: sha1:fcb7dcb2d397e61affaee277952ad255b1f3a947 - pristine_git_object: 8b5a32ccf25fcfb0fb904e8046bf1b36110a3880 + last_write_checksum: sha1:c7acf44e7edbd41acaced24edac692790548e72c + pristine_git_object: e4038eecf0123b158ba4cc3ee3b8f15bbc8a700d src/glean/api_client/models/ugcaction_union.py: id: d9231b157fa4 last_write_checksum: sha1:7bd0713052e74bc3e94a483d1c965514bd07a24e @@ -7498,24 +7518,24 @@ trackedFiles: pristine_git_object: 01c9179afe6b224cfd50edf19752e43e7d962979 src/glean/api_client/models/unauthorizeddatasourceinstance.py: id: d3507c78b8df - last_write_checksum: sha1:e86e33256eecf3766c2cc9fedeab56e34e0f129c - pristine_git_object: 526f77245423fa7bdea4fd79611568ce7d1ab604 + last_write_checksum: sha1:8d9e37313f4100e9d7422f351259a089c8c31b51 + pristine_git_object: 45c76b0f2b6f311feb6d7ab73d0ec4a5905cffa0 src/glean/api_client/models/unpin.py: id: fd3f7ecf7a4f - last_write_checksum: sha1:4a6c085a7adc9e096bf94eaa44c10385f1b67e17 - pristine_git_object: 406ddefe413ec39dd66dd60c2a85e87be9343881 + last_write_checksum: sha1:f2ab2ce32210295a2a567609dc1c2bc51180efd1 + pristine_git_object: 1faed35cd738da68462e0b359b9917f66a56ecd8 src/glean/api_client/models/unpinop.py: id: 37bd03782f09 - last_write_checksum: sha1:c5e5144c2a07f606228a79f9cbc582b8d0c98477 - pristine_git_object: 788b1fdb04944cb32b07461c5a0ecdc5a9f24e16 + last_write_checksum: sha1:a1606fd632b869b5df9eeb70317b2d826a338f26 + pristine_git_object: 9fb0f7c2faf374b3573dfdbfc27a0290e6559726 src/glean/api_client/models/updateannouncementop.py: id: d409429a77e2 - last_write_checksum: sha1:ade4910fc7b004a312259f9c4b6aa7fd036fd292 - pristine_git_object: 8ccce4d02d629fff50652a4174c6f54999946173 + last_write_checksum: sha1:ff3bd88f4ca58d07ac1e5cfc2dd9b6ed2fe797c6 + pristine_git_object: 1164c3c06f7bb4c322865b7b064acb0e43ab391b src/glean/api_client/models/updateannouncementrequest.py: id: 4e395ad26b24 - last_write_checksum: sha1:3070d15dab71d888ec5e8d7cc4fd513fceac4946 - pristine_git_object: 04efd10306f68210dc6f0af333ca4794d1f7ac77 + last_write_checksum: sha1:a396f9464834a250d617a7f049fe770cf3510b18 + pristine_git_object: 031a830848f1687538ffadc578a735eecf3dd0f0 src/glean/api_client/models/updatedatasourceconfigurationrequest.py: id: 2d2985d17d84 last_write_checksum: sha1:e08a352d5d8c680c7d07e762f8eacefbb5122bc8 @@ -7526,160 +7546,160 @@ trackedFiles: pristine_git_object: 1f77deeb8fb6a8a875f49e590e9a98381e5fce41 src/glean/api_client/models/updatedlpconfigrequest.py: id: a3d254d01c5f - last_write_checksum: sha1:a7e3e3ac77f9d12bf18f4ae19eff7efe1cea597d - pristine_git_object: dfa51cedbbfd90f614d4081984c46e7a1f3784ac + last_write_checksum: sha1:6b8b9a2a01e838cfd4b128945c772499c3fe2330 + pristine_git_object: 1f7d6373f3080dd6577d4093c511fde886c721dd src/glean/api_client/models/updatedlpconfigresponse.py: id: ebdba2bf5b4f - last_write_checksum: sha1:90fd4a8d4128ea8868bffa008e820edf789f7187 - pristine_git_object: 216e80d9c8139898c93a80490dba41386e952ad5 + last_write_checksum: sha1:c1c163ba6257492f84d76cc1a18c51643809edaa + pristine_git_object: 5c8f213b51db456565038e9efcb11bac25249205 src/glean/api_client/models/updatedlpreportrequest.py: id: 955dc0f697ca - last_write_checksum: sha1:fee504071f3fdd7137f1f6a48ff4d02a5a1a0c60 - pristine_git_object: 8fdd3dd17dcf39232d8ca3d595cbcfd3289f95ef + last_write_checksum: sha1:73da4dde77d35e0dcaef75cb52ba95adc32c6bcb + pristine_git_object: c94c5325d8e774d6f51c88e7b5d7d3a5eb3a5330 src/glean/api_client/models/updatedlpreportresponse.py: id: 4d603da790ea - last_write_checksum: sha1:4721c153bcb2ffaabfa9586d5277567d7a48029a - pristine_git_object: ecb9e43f2342345855f4ae68c761086209ce119d + last_write_checksum: sha1:679d2362430431833b764ef7f30bfeb8915c9e58 + pristine_git_object: 4ba469c3c06e6197f973d908f7f73a68e87ec1f8 src/glean/api_client/models/updatedocumentvisibilityoverridesrequest.py: id: 90d244edbd6e - last_write_checksum: sha1:2bbfff791dcfbb383b15a1988cc33a2d634cb895 - pristine_git_object: 94e18dacb0a992d93450e5ac41d11a16ba0af086 + last_write_checksum: sha1:592725aa8466a5d8c8f537abd09988fba032bca4 + pristine_git_object: aef07a68d06843a5b9626fc4ba646d04c9d7bed1 src/glean/api_client/models/updatedocumentvisibilityoverridesresponse.py: id: dbb7fcf4b9d4 - last_write_checksum: sha1:b9a064834b34f180499be5782d836c94fce64cb0 - pristine_git_object: 480787419c72aada57f0bdaa35c13910392d5af7 + last_write_checksum: sha1:27e26a361b46fa01c13d2895a32291582d36972c + pristine_git_object: 4f5e3a1fd31aac26bec99738ebea676308a67d6e src/glean/api_client/models/updatepermissionsrequest.py: id: ba573c50cb8e - last_write_checksum: sha1:f27ed068709eeec81b4b0bfb9fdf9308055e8824 - pristine_git_object: 0c622986c397c5307162b457e7b4f42c0eae5f14 + last_write_checksum: sha1:d6b9bcfb50bead5ad17b78d6133be5034ecc987f + pristine_git_object: 8add01fb78f4c231d32e6258f8e0029427419b6a src/glean/api_client/models/updatepolicyop.py: id: 2ba2a5f2e331 last_write_checksum: sha1:1d85a868469b55eeda4ca98ad2ced3865d00705f pristine_git_object: b34f7fd4589842113a042c9991b5dd58a82b411f src/glean/api_client/models/updateshortcutop.py: id: fca201b21308 - last_write_checksum: sha1:212766f3c8400107ec76808b0ad9c696949e4100 - pristine_git_object: f047f8ac73141a5daf60adffa1a7b02556747d57 + last_write_checksum: sha1:0545b63fd29f52a0970b98d56617a6479f7d8722 + pristine_git_object: fc07fd10a17d03e36097b589cac8f3987cf134be src/glean/api_client/models/updateshortcutrequest.py: id: b8914e398f61 - last_write_checksum: sha1:e150c110b1a22d17f7d3890f7641b9259c105fe4 - pristine_git_object: 4b89b63afb6be07639b415aa1e966e25fb0a649c + last_write_checksum: sha1:55cd25c2f39e7ec88e5225d98e3f78a8b5e2edb5 + pristine_git_object: d8f89c6f09e3006b7b76d14be65d616fe33f62df src/glean/api_client/models/updateshortcutresponse.py: id: 0080d0c4a831 - last_write_checksum: sha1:d663c9a98c3a61ec5d1c5cfc7e91d5463c9a4938 - pristine_git_object: 9c51a9a413af75272894448766fac05e234923d5 + last_write_checksum: sha1:1f408a5fc08b788633f42870c24095f8af88cb55 + pristine_git_object: e1503209105c8cf2e9d599f43c26ba8d87aa065e src/glean/api_client/models/updatetype.py: id: bdade91a9b2b last_write_checksum: sha1:7b185f14a24c29e8b53ce58533971828af23f4ef pristine_git_object: 6a51a4bbf41b92eae18eeca9df409b52522ab70d src/glean/api_client/models/uploadchatfilesop.py: id: 29eaccdd7727 - last_write_checksum: sha1:49c7eecd495fafef3262c61a38cca3ca16c057ef - pristine_git_object: 4aafc91088fbdc1fe88f61ea577e131b6bbea769 + last_write_checksum: sha1:0edda92c516a248017f3bed54cff1627681e87b2 + pristine_git_object: 18dc8127ebcf09c8383e92d80fc9834e3931c393 src/glean/api_client/models/uploadchatfilesrequest.py: id: c648ec79e147 - last_write_checksum: sha1:5e29579aa4b79f9ab7b66136bac2367df16f5175 - pristine_git_object: 23c3ccd7d585e5611f624aabb29ac26d2bc3d6e9 + last_write_checksum: sha1:020e89324cf7d1b0ab497249981d950f321b6bd5 + pristine_git_object: 5b864598d8876f336d1cf89cb43bf304b93e6896 src/glean/api_client/models/uploadchatfilesresponse.py: id: 73c5f35b8280 - last_write_checksum: sha1:8876a4b054e7099e4ab7be02969b945f19618a92 - pristine_git_object: a707d722e5da141e451a2c017a9e56ce292f01ef + last_write_checksum: sha1:ff4ce0eaab79554b2f612f64c584899ff784d76d + pristine_git_object: b6a927b0ac8cc27f1072a3dc49e17546d644f6a8 src/glean/api_client/models/uploadshortcutsrequest.py: id: 4f829de3d1cc - last_write_checksum: sha1:fd127151466f2fb034ed5039fdfb9a2ccd0440d0 - pristine_git_object: e73b9c17d98242d041111ad18c5d0c8a9b35d4dd + last_write_checksum: sha1:583cff5e7ef2649dab6b858e4bb55e5d66d47bb7 + pristine_git_object: 359b168769f6c28af8f58ec184fec6c62fbda0e7 src/glean/api_client/models/uploadstatusenum.py: id: a93d3718abcc last_write_checksum: sha1:3de738be3c16545f46bc3a05ba903e5cab17a216 pristine_git_object: 950f6a404fa4ea4f8667a58817fd471f0b000b7a src/glean/api_client/models/user.py: id: 4a3ebe791009 - last_write_checksum: sha1:6d89823e90d4e93add8c251f1acb02b62a032963 - pristine_git_object: 3a8ab795961f4f19f29a41c1dfc4572fef3613d1 + last_write_checksum: sha1:50de9f706f9a12016ae8b4cffae8430e015ffe86 + pristine_git_object: 4be638391fac687c76eee4613ff34ea59c05ad8b src/glean/api_client/models/useractivity.py: id: 7ed02b8eeead - last_write_checksum: sha1:d66376c26f1c30cbaf8accd738bb678b53687ac3 - pristine_git_object: 17d6333ec93d40cdc66a0c34905b8448fa950298 + last_write_checksum: sha1:d0cc2570ec87ae27ece2b287a061ad95cf3ebbf3 + pristine_git_object: cadd14eeefe67f1592432a37bc4d1c37e0477366 src/glean/api_client/models/useractivityinsight.py: id: 07ac5bf2e903 - last_write_checksum: sha1:98d6ae5191726e765f8eb4f39fdcebf3fa9ae5be - pristine_git_object: 692a10352b2b48ca8c2f24a65fd5b18b35a2abac + last_write_checksum: sha1:6f57e385ae445798a76e1f55bbdc81ab9b53d220 + pristine_git_object: 9c2958df4c9c4816fd94cc96accd2583b7481815 src/glean/api_client/models/usergeneratedcontentid.py: id: e51bf3d3e0b3 - last_write_checksum: sha1:70c041ff5c91f2778fd6e516cea33e04dfe684ac - pristine_git_object: cd30606c9a481635c29b032b245e8759d82516f9 + last_write_checksum: sha1:fd53aba08f4681cbd6d78012633093b8f01d2b33 + pristine_git_object: 70fe5fa14b849284abb4cd68361f91f9af60fd2a src/glean/api_client/models/userreferencedefinition.py: id: b094f30ebd7e - last_write_checksum: sha1:21b47a5c10ca61f02a14f58ab0c8c23ea5da1fc9 - pristine_git_object: ae7ab2967f8de4d7dac2cf03053d528a91bee43e + last_write_checksum: sha1:9e7f7c23d408818fa2a11a6e1ae3d46fef737c25 + pristine_git_object: a0c598e21fadb78912330fa43159085fbdce0a7f src/glean/api_client/models/userrole.py: id: 63599e4c3216 last_write_checksum: sha1:4ec82f0c733b59d7b8de27a5d655e8edba17e88b pristine_git_object: 2768603fd77e16d9f82da184d9e236a9e2a8fde2 src/glean/api_client/models/userrolespecification.py: id: c746dd831aa4 - last_write_checksum: sha1:63e66be2502d6fc53e1ef2000c81f727c7c7be93 - pristine_git_object: 485de693b31d4e66a0f97fdb883c71695deddce2 + last_write_checksum: sha1:9336e664b4d5dfbdb88b50496bf78a9c8d1cf074 + pristine_git_object: e3a8a7941e77a63132d675d2545a3a0262f952ba src/glean/api_client/models/userstatusresponse.py: id: 30477cf9a61f - last_write_checksum: sha1:96b0eba205dac7e1729d80f36b1ec83445f6e391 - pristine_git_object: 0ee6f353859f22c0772d82b3d187779a9bc05e88 + last_write_checksum: sha1:58271b6eaf41fc6002198b47a5dbabe5c109c859 + pristine_git_object: 653492bbfae74f31054ade453ea5a6fba336e765 src/glean/api_client/models/userviewinfo.py: id: d03415292af5 - last_write_checksum: sha1:48f8ae7205dbb6bf549d0ca7d0ac646c7ce92b9e - pristine_git_object: 9dfde209095574f6bdd7f8a580635fd06971ddde + last_write_checksum: sha1:ebee58b96ad78887ff61739167ddf14c1ce5fcd6 + pristine_git_object: 6c7c683cc44aea4f07105cf1d10407b60f84fa67 src/glean/api_client/models/verification.py: id: f20b858aacfe - last_write_checksum: sha1:3255ba06f7cc4851886e5849ecb08c8974b7d8ff - pristine_git_object: 014203d0d0fc8e884c28db44fb6b8aa0f4887213 + last_write_checksum: sha1:487c87f2e8a5c25090795d1384e23478945887d0 + pristine_git_object: 7c47af85ead40a21944b4aa280d8225134ee7849 src/glean/api_client/models/verificationfeed.py: id: a4d305725b8f - last_write_checksum: sha1:9113b50bf3349d304e489ce838fdd6f98d2ed8e7 - pristine_git_object: 46752ed82d3dd5a89347be26cfe8fd15c3defca1 + last_write_checksum: sha1:1af25d639dd7682e995b6ea6021bdd434dc3c134 + pristine_git_object: 88f73a7931c655e23bb5b22397ea0d4906976f16 src/glean/api_client/models/verificationmetadata.py: id: 16a575323484 - last_write_checksum: sha1:9188962a6d01167cb9a043929edcd73117d6f7f6 - pristine_git_object: a04d6ea398204a7d84b37756759e24ffb100a5e1 + last_write_checksum: sha1:ca92731340b37eae33994f1e6953981a32da32fb + pristine_git_object: 2fb80d23b330ef8524ffd0359c3995dd82d8ff97 src/glean/api_client/models/verifyop.py: id: 99ea97ea1819 - last_write_checksum: sha1:fd1ab5a3d7882ed9a2a08bb88621d918eaae7c9e - pristine_git_object: c4c3e68112f54b31a11cbb442f021fdbedc0a29c + last_write_checksum: sha1:cd7e55737264b76196b216b49570a535c148c38b + pristine_git_object: b476b61bbc4a4a7b964532b1c49b99f10d7e79c2 src/glean/api_client/models/verifyrequest.py: id: 7a0d65d316c5 - last_write_checksum: sha1:3ecb78e68f8c63b8dd9211638062de15a91b69fa - pristine_git_object: 7c93b46f83ad101dd6862f42f7bda2e7e8e12399 + last_write_checksum: sha1:d7667edf3ced2ec5e4c9a906e07e40187b1ab521 + pristine_git_object: 7e0dd995371fd1e91d65829a1a3839a396aff52f src/glean/api_client/models/viewerinfo.py: id: dc44fac102b9 - last_write_checksum: sha1:f7d42913fc8f018ff42d8fb1959340b76d58e20f - pristine_git_object: a974e0a33a74258aa98f60178a329c57635d99c2 + last_write_checksum: sha1:70497f38ad68a861b431053d979d47dd6b563c98 + pristine_git_object: e580eea6cd27d8dcdcedb98fb7406baddc3dce15 src/glean/api_client/models/workflow.py: id: e59e0fe5f663 - last_write_checksum: sha1:9c517b8d64b88fc358e3d2f6efd36e0e3ddee2ff - pristine_git_object: 063e8acfa8ad0cd0740c3b178877b7828e45d7f5 + last_write_checksum: sha1:f732b23c6a0dc667decbeab9e4edd2b6fc875bec + pristine_git_object: ee7fda402bd6af771318f27713ba69ed8168dc90 src/glean/api_client/models/workflowfeedbackinfo.py: id: 720e747620b1 - last_write_checksum: sha1:fea4b83ec5656ae417c8bd061e84da594170ce32 - pristine_git_object: a0d06dbc26ecfd2d925cbbd9cc428cc857ab2c1a + last_write_checksum: sha1:595570e8743e633a118b5bc2f695396233416f92 + pristine_git_object: b0375b3e73941add94737e1ac0f8861534593e36 src/glean/api_client/models/workflowresult.py: id: 9e8c0e8e72ce last_write_checksum: sha1:2fc30549bf6d27cec977b7ec878b0dfca15f21b0 pristine_git_object: b3e81a84fad5595cccb410baafe741420914243c src/glean/api_client/models/writeactionparameter.py: id: 3a7daceaf3fc - last_write_checksum: sha1:3df741b5e9c69a1889b8135b1c7baaf7a2131ca6 - pristine_git_object: 65b3d94cc5cf6a65bc909386d5c5ffaea6e3092a + last_write_checksum: sha1:bc1c176e9e5d71a0f18a5f21eb2d0bc8350781f6 + pristine_git_object: e8ae8eeae4d171b7eefc6af54982b84368385461 src/glean/api_client/models/writepermission.py: id: e15ed09cb123 - last_write_checksum: sha1:fe32a275a30e01eeb69c059cbdbbb9d7318c71ad - pristine_git_object: 85e816dc7cea2c95b4e067d756e428be2696d0a4 + last_write_checksum: sha1:e6fcee4eb52abab90052994c29bf8d619e44dd7e + pristine_git_object: 1dcabfab727ba6a689ad3f8a9c02078d78e463ad src/glean/api_client/oauth.py: id: a703a4eba235 last_write_checksum: sha1:b14a7cee0428196153d2c3a85180e3e72027602c pristine_git_object: 26c7221280d474629202877542acd56950381a04 src/glean/api_client/people.py: id: e32c03723ded - last_write_checksum: sha1:a86ffc0004144de3166cc7a35cff54cac9aa43ca - pristine_git_object: 9287ce5b838930c930ee2e489d1c9c180fc33a5f + last_write_checksum: sha1:813855bdb40eb70e35b564f394484b8e410b2429 + pristine_git_object: 1c4852e13932c93e4862dd005a7a4a17da7e967b src/glean/api_client/pins.py: id: 4a37ead65f8a last_write_checksum: sha1:127d0abf8b7631fa2cd9ed20e4f3a8c93f082e77 @@ -7722,16 +7742,16 @@ trackedFiles: pristine_git_object: 3bbd7579fe769c115a3563915231b013cd30b5ab src/glean/api_client/types/__init__.py: id: f63c790831ee - last_write_checksum: sha1:f9ad14217f832e74f594285960125add50324be9 - pristine_git_object: faa268137bc01c9d08cfadc4797017db48747a96 + last_write_checksum: sha1:166eb50af851c4200ed67fe47c64b1d58b99ed72 + pristine_git_object: 3a43a78ab719ec504ec95c050c984c843407d366 src/glean/api_client/types/base64fileinput.py: id: 83c3e0b80185 last_write_checksum: sha1:1522687ae3398374c35710cad993a6e82b5ab99d pristine_git_object: 862566fe2b1db830276b390e136e65090e5963d2 src/glean/api_client/types/basemodel.py: id: 436a12e02484 - last_write_checksum: sha1:10d84aedeb9d35edfdadf2c3020caa1d24d8b584 - pristine_git_object: a9a640a1a7048736383f96c67c6290c86bf536ee + last_write_checksum: sha1:99c644208e340c4974b94bbe6d52019c80fedb97 + pristine_git_object: 5ca5fdd558ea6d8d8d39cb9ff7877984fd7d63da src/glean/api_client/users.py: id: f7d2f9613f16 last_write_checksum: sha1:94a20905ae9a640459746b266ffb4e04f4ee8f6c @@ -7790,8 +7810,8 @@ trackedFiles: pristine_git_object: 406c1e7c36c7a4fa4fb48bb567d254e2803e1792 src/glean/api_client/utils/security.py: id: 5c4255995c2c - last_write_checksum: sha1:355ba142fd72ec019e46b9aadb1da7172c17a312 - pristine_git_object: 4a272f16c2af33f6364bd9aec9cdc33b91f228d2 + last_write_checksum: sha1:53ba91dcafd9ea5c37cdf7985a567ac024b02f1a + pristine_git_object: 4d69291791d9dc8fdc35b82fd640374ead61c4ea src/glean/api_client/utils/serializers.py: id: c499367f56e9 last_write_checksum: sha1:2fb543339b424a0818b126e69695df5c91cd4d7b @@ -7886,8 +7906,8 @@ trackedFiles: pristine_git_object: ff7097f855b75a46f88c437dfba247c1a1c17e52 tests/mockserver/internal/handler/pathgetapiadminagents.go: id: 251c7a00fc9c - last_write_checksum: sha1:687dce8eea853067f3751999616f3c45ea109444 - pristine_git_object: ba8311c30c90c27cdd4bd7c4361fcfe68821c7c9 + last_write_checksum: sha1:d93e6b246088ac3a21712f756b20e48be1273e7f + pristine_git_object: 280f1473fb7bca57194ebc434475cc1ba6754de1 tests/mockserver/internal/handler/pathgetapiadminidpgroups.go: id: 2baeefdbdf00 last_write_checksum: sha1:93caf50834f211a478487e624d8f967d2a9e93ae @@ -7902,8 +7922,8 @@ trackedFiles: pristine_git_object: c220279bf0e6b5169c43d3335a26fda29b6d9af3 tests/mockserver/internal/handler/pathgetapiadminoauthclientsclientid.go: id: f4fe4cc2d9ca - last_write_checksum: sha1:2c5c7dfaa0e64d86920642875daa547ee06109df - pristine_git_object: 3d4cee4a087837aad4e178d0f07e36e304861f2a + last_write_checksum: sha1:53e713fd25daf5f80d295ab3153d1baf3743352e + pristine_git_object: f4abe7f8e30699dd520c5f5ac111989052415690 tests/mockserver/internal/handler/pathgetapiagentsagentid.go: id: 118e0c46ba00 last_write_checksum: sha1:8ad0cc0ad413e34c3d950ee07ccd13ce861a261b @@ -8358,8 +8378,8 @@ trackedFiles: pristine_git_object: abb763ddc8504b28c0cb6fdf8d25237d46e21bab tests/mockserver/internal/handler/pathpostrestapiv1getchat.go: id: a0ec7bafa599 - last_write_checksum: sha1:2267292ba8173cf8df70ddbc6ac02ff3439cb879 - pristine_git_object: 8740195860b6c08e036caae19aab8e7374350960 + last_write_checksum: sha1:b48e2313407814ee4f8ed181b8e5299a84960c44 + pristine_git_object: 96d4127e0455272a9842e2d1954e5fcefa3278cc tests/mockserver/internal/handler/pathpostrestapiv1getchatapplication.go: id: 7d101c69d4bc last_write_checksum: sha1:7b81898137fdb3a89b4dcfa318b9b5b92e8860c0 @@ -9470,12 +9490,12 @@ trackedFiles: pristine_git_object: 04cc3a93272ac70933b0485bee31b335e05ab623 tests/mockserver/internal/sdk/models/components/feedentry.go: id: d25fd66fcf7a - last_write_checksum: sha1:0cba5f10843bc3a3993283a95e23322f6cf2b1c7 - pristine_git_object: 96ae65e33fa4eeb798638246321e147355e0f7bf + last_write_checksum: sha1:12463b26391932190974a3fdc74a252c9dfd1445 + pristine_git_object: 49e0b392593a8a0f2bb3421e84f89bab536a193e tests/mockserver/internal/sdk/models/components/feedrequest.go: id: b06bc4cef0cf - last_write_checksum: sha1:2c219bc9c0a524256633e691e4b152fda5f3e657 - pristine_git_object: b4d41d5526331bab42e093097f209e98d317935e + last_write_checksum: sha1:f0e5d2c8636651dbc4364f0719d429c2979864e6 + pristine_git_object: e136164f808b5dc9c1228b0ba56eb5c255a064d8 tests/mockserver/internal/sdk/models/components/feedrequestoptions.go: id: fd9245fe1bf2 last_write_checksum: sha1:fa30b7fd6ee3e45896d7bbe36e33e7c0cb9000ba @@ -9486,8 +9506,8 @@ trackedFiles: pristine_git_object: 54f9d1a8997983156c84e69f888c59a80d06c2b1 tests/mockserver/internal/sdk/models/components/feedresult.go: id: 47411573e67a - last_write_checksum: sha1:fb4f26ff6f528ce1eecf3bf11c03fa0b0b310afe - pristine_git_object: 26bf077c1a5c42d08b728512fdb58afe1c465a6f + last_write_checksum: sha1:625ee9753e8d0ac78438590dd43bbe26a7014159 + pristine_git_object: 75e05c28b858b74b737329539b9258327b6a2131 tests/mockserver/internal/sdk/models/components/followupaction.go: id: 38179fec19b1 last_write_checksum: sha1:32a31f7af77a58ce6f3284e8550d01fcf0d3bddd @@ -9532,14 +9552,18 @@ trackedFiles: id: 2b19d63b5462 last_write_checksum: sha1:b3186c85a7348b4811a4fa4022285b04bfd72b09 pristine_git_object: 1148537a6423a3e79803fb7696ff5ad6b3089a82 + tests/mockserver/internal/sdk/models/components/getchatpagination.go: + id: b5d071dec4b0 + last_write_checksum: sha1:053803223d46040940f43bdda945eeb99db31b58 + pristine_git_object: 6e8c1b606aa03b12a585d704e40d27cf609865f6 tests/mockserver/internal/sdk/models/components/getchatrequest.go: id: ea6a626275ff - last_write_checksum: sha1:f89489d8e44dffd154b58b147ef5d6c38b5a1995 - pristine_git_object: 82118136e30cef6f85142afba2d3761300bb837a + last_write_checksum: sha1:f9740010e32e1945e5aaf3616e215a06b035f4fa + pristine_git_object: bda4d160dd189bdca99876910a052f81e88e7a99 tests/mockserver/internal/sdk/models/components/getchatresponse.go: id: 6d5eaf6d4f9f - last_write_checksum: sha1:0b1cbc001dbe7ed91d4ea00de86b6940fe7b8cf0 - pristine_git_object: 88ac7a9577cb5b685830b17b728883ee1ba1d31f + last_write_checksum: sha1:12d03a5470cb2554fcaf7ee1f0aee937b719a491 + pristine_git_object: 9cf9f7dd822f3336641156b11b36b961369a4ef5 tests/mockserver/internal/sdk/models/components/getcollectionrequest.go: id: 95dffbbabe20 last_write_checksum: sha1:f4213443c174441aca4924c764bb5bdf9d500653 @@ -9862,8 +9886,8 @@ trackedFiles: pristine_git_object: 0c852dd3a7a2cf25798b15303e82ec7b5e8a59e6 tests/mockserver/internal/sdk/models/components/message.go: id: d96e45d4acde - last_write_checksum: sha1:0e6cc5d1d8ec8b4b3f53a139287bdba721f50f80 - pristine_git_object: 1a80d9f41a6955a6808c40689af6f68970f5300c + last_write_checksum: sha1:b74344f5d051a99d30a716303ad69ec5594df811 + pristine_git_object: c48ba6d91ac33e5ba23f16c58629de3a3e010a66 tests/mockserver/internal/sdk/models/components/messageinput.go: id: 2e4e9011080e last_write_checksum: sha1:17693a85d1cc1b7a61b698521a468f9ad7fc8420 @@ -9878,8 +9902,8 @@ trackedFiles: pristine_git_object: 6d8bb0637e98328c014db61a92fcb9f65f378d1c tests/mockserver/internal/sdk/models/components/objectdefinition.go: id: b31a249b0ab6 - last_write_checksum: sha1:4fb46c6216a0cfcc06a2eba090a8a54565eab685 - pristine_git_object: 32a3df40aae636faa61ffef31c606bc1e5e44ed6 + last_write_checksum: sha1:7b7f74c3517e88ca5bc562b0d965536f8345b659 + pristine_git_object: 01b2914347ad093b1e62b536430b85ebbb305bb7 tests/mockserver/internal/sdk/models/components/objectpermissions.go: id: ccc6831e9a89 last_write_checksum: sha1:a182302021d92910af1f940b60a5fd78f0288bac @@ -9960,14 +9984,10 @@ trackedFiles: id: 696bcfeed832 last_write_checksum: sha1:4284aa5cd97b0516fd7b19e9ffc69231a1dd61de pristine_git_object: 5a56a4c8b3d833211df4fbd7864ec581310ed2e1 - tests/mockserver/internal/sdk/models/components/platformadminagent.go: - id: 2c97156ecc89 - last_write_checksum: sha1:565863b04d13014eca27c33116710b9e2ca33a14 - pristine_git_object: 4bbce8970a9ee9ad227484197ee2b62e13147538 tests/mockserver/internal/sdk/models/components/platformadminagentfilter.go: id: cf37857e4576 - last_write_checksum: sha1:d3d70f7c2e550fbde818cdd0b0e02d24836064a2 - pristine_git_object: 281428559519dd9e2a1dc5442188c9b4dbb77bfa + last_write_checksum: sha1:1c2ad1529774467d38f80d94e8b3d0a9c9b2bf33 + pristine_git_object: 1bdc67b394900c4c3bd31500b76088982ddea656 tests/mockserver/internal/sdk/models/components/platformagent.go: id: dcdd9a7bc9de last_write_checksum: sha1:b55d4b147d41e3732e54372b8f1fc4c69a6a2426 @@ -10176,14 +10196,18 @@ trackedFiles: id: a1eb3b7148bf last_write_checksum: sha1:094bff06100193f57b6766f2f42139c2e5bcd8b8 pristine_git_object: e577fb7f7b9c911e698ec560181abbe596be0416 + tests/mockserver/internal/sdk/models/components/platformdepartmentfilter.go: + id: 6d13622a8fbc + last_write_checksum: sha1:229510f237e67ef1875d7ebe5673563e08ccc497 + pristine_git_object: 3682e943a8cd8f34449e4ca7e86690c523a01ab3 tests/mockserver/internal/sdk/models/components/platformdepartmentreference.go: id: 70d2b44864b9 last_write_checksum: sha1:162483f7feda149b24edddafa9e898c4863b2338 pristine_git_object: 2ee7e2883b368fbf70a5b8e505c54c4d7db5d98a tests/mockserver/internal/sdk/models/components/platformdocumentchangewebhookevent.go: id: 14cae8b8b46f - last_write_checksum: sha1:eeef00ef9e08df054c9f0b37881495b3ddc400c6 - pristine_git_object: 790da9be746c8ffb31da4ddd45e70435cae25c20 + last_write_checksum: sha1:517567fd985dee9c650d5faec8f0dbd5543d0a6a + pristine_git_object: 3c4a688ac8adabacc66ed8b948361a93388383e9 tests/mockserver/internal/sdk/models/components/platformdurableagentrun.go: id: c5a46edb6f15 last_write_checksum: sha1:458ce005910afe9a31b5d4768d399c7c308ec921 @@ -10222,12 +10246,12 @@ trackedFiles: pristine_git_object: 9118f5da03fce73205733126adb9d11ed3177eff tests/mockserver/internal/sdk/models/components/platformidpgroupfilter.go: id: 8ca4dd0b1c45 - last_write_checksum: sha1:e5f09e4996b67b68f4f04d9437e207b394a17ddb - pristine_git_object: 8e13791a6088ab492927a2961857a669ccd273d7 + last_write_checksum: sha1:16288f7f6d8d7f8d759ce68fa4182b9fb1d25dfe + pristine_git_object: 22ec277cbdfa1deed9186d909e4dcb698e1bfd0a tests/mockserver/internal/sdk/models/components/platformlistadminagentsresponse.go: id: df07b2205bbb - last_write_checksum: sha1:088ec93e30b3f8115bfcf0a4127f1ac4dcc356c2 - pristine_git_object: 76987e776337e8fbecb24e0a61065de47b419c45 + last_write_checksum: sha1:94ac9642fb61703e47a23e53ba2257c904fd5ea4 + pristine_git_object: ea7638e00da18e5ea544c2a533e765b32569104c tests/mockserver/internal/sdk/models/components/platformlistdepartmentsresponse.go: id: adc42a0bfc78 last_write_checksum: sha1:b7be31156fc95c6c352a29d06d4ae56223854d02 @@ -10266,20 +10290,24 @@ trackedFiles: pristine_git_object: a2f9800f6c38ae73cda44bafede4ab6d202cbe0f tests/mockserver/internal/sdk/models/components/platformoauthclient.go: id: d90003ce5781 - last_write_checksum: sha1:9933f27d967975d02d677c5cf2521bbccde3fae5 - pristine_git_object: 119260cce00144de7b582c60da80aa1986a15476 + last_write_checksum: sha1:d51196eb5ecaff56f514ac76c95d80eec11dce01 + pristine_git_object: f630e0b307b21854d6721a870c9fd8e498d4737c tests/mockserver/internal/sdk/models/components/platformoauthclientaigateway.go: id: ba8e78860058 - last_write_checksum: sha1:3fdfd335d966256b5914ac87e4dc2aa1fc978a6a - pristine_git_object: 263cde38d910cb97e9f5149472a3d70fe063ab26 + last_write_checksum: sha1:cc9d10039195c453d6f461c57b7ad5bf378dc7fb + pristine_git_object: cfe90273ada79626576f184d0f526f113542fcf5 tests/mockserver/internal/sdk/models/components/platformoauthclientfilter.go: id: 24de3d9ff0fc - last_write_checksum: sha1:a0d6a9d3d6594134231a09cd20ef7982aaa5b9bf - pristine_git_object: 1c05df1daf2c8f79e11b61ba924fe7a3171fc086 + last_write_checksum: sha1:06fd50b81bde0e951831854cdf8e3681ab18645e + pristine_git_object: f202d5ffcbc34d65628293af76ccc5dc77af5db2 tests/mockserver/internal/sdk/models/components/platformoauthclientregistrationtype.go: id: fb9f75c9b15f last_write_checksum: sha1:d92753223f1d444bc62c8d1dd7cc91486e27fe19 pristine_git_object: 7294d5348b4d18f3de4029ddbaa90d4b0155519c + tests/mockserver/internal/sdk/models/components/platformoauthclientsupportedapp.go: + id: ea36797444f9 + last_write_checksum: sha1:13f27f2fe6e1b8a8f3a6cdb02d2a5f54e81283ca + pristine_git_object: 1bcc8b7c9d1336d1e8ebc295060db4af8b1527df tests/mockserver/internal/sdk/models/components/platformoauthclienttype.go: id: 0056d4234411 last_write_checksum: sha1:040f267a3dfba475ba60bb787bbd5a2678b36d79 @@ -10306,8 +10334,8 @@ trackedFiles: pristine_git_object: f4cb5aa31bd82d3c0efbf7a32e98d757bfd4956c tests/mockserver/internal/sdk/models/components/platformproblemdetailcode.go: id: bc7ce56d1a6c - last_write_checksum: sha1:3ddc9b692878c2d8af88aedbcf4c03174f91daad - pristine_git_object: f7a60ae68c37856df51bb53227d89c870f9c9c27 + last_write_checksum: sha1:8d254ca145e2d31f5211f2dc0ec4630553ed7ed8 + pristine_git_object: 8c075b97793e3ac94f02192c5d0a5ec8fcc2ac0e tests/mockserver/internal/sdk/models/components/platformproblemdetailerror.go: id: 045ae4dc7a98 last_write_checksum: sha1:f405e92536a5c01c0bb302e106a2a6001005cbf7 @@ -11478,24 +11506,24 @@ trackedFiles: pristine_git_object: d6f74b3f76e41314e5e33934c50f5bd0bda958de tests/mockserver/internal/sdk/models/operations/platformadminagentslist.go: id: 99cbbbd118bb - last_write_checksum: sha1:0021765ac703647f06d61ead73194ba47fe2cee5 - pristine_git_object: d7d5f97207908e499d4b6a4220402b215867e804 + last_write_checksum: sha1:5ea04cede6e995bb2a7d4a11c8333fad544618a4 + pristine_git_object: d2af3528690d6d9a4f56da4a574e0f1f2ab3d0c4 tests/mockserver/internal/sdk/models/operations/platformadminidpgroupsget.go: id: 178f8ae5410c last_write_checksum: sha1:a3b66015947cf559be636885898b2381f19f5c35 pristine_git_object: 9d945ec6a6abac779de8608b3f318633480964c1 tests/mockserver/internal/sdk/models/operations/platformadminidpgroupslist.go: id: 6ada360234cd - last_write_checksum: sha1:3f03f3348213ba0edadeb0eaff7c03975f7711ce - pristine_git_object: 4db8923f3214d7d43f8ac7ec38a42c22c031e5c3 + last_write_checksum: sha1:cf36ba748d9df94e0b5627be07883ccd759b07fc + pristine_git_object: 82eedbfa686e7433ce62ef520112b597344718e2 tests/mockserver/internal/sdk/models/operations/platformadminoauthclientsget.go: id: 3ad0e383f02c last_write_checksum: sha1:8ba65879bd37f42650b891b0bb9d765b653e7b4f pristine_git_object: e9f0b13fe1519f2691ab5f2266723e8af8f77626 tests/mockserver/internal/sdk/models/operations/platformadminoauthclientslist.go: id: b5e6d7f00d94 - last_write_checksum: sha1:7058986e2c6003b127aafd1c598498030f24e736 - pristine_git_object: 97201a835327be816ff7090e2670f294f466c95c + last_write_checksum: sha1:3407b677c64d9344942570a3cfe7dba20e5b7a07 + pristine_git_object: b0aa31512ba23b457ef10261f79d0d097404a759 tests/mockserver/internal/sdk/models/operations/platformagentscancelrun.go: id: 0800b4f494e5 last_write_checksum: sha1:90d511938d50df74af601cab9ebdfda8aee8ecee @@ -11526,12 +11554,12 @@ trackedFiles: pristine_git_object: cdbc9f550e7d2339b0946fe4783a3b79a851f39d tests/mockserver/internal/sdk/models/operations/platformchatcreate.go: id: 38da4ead08a1 - last_write_checksum: sha1:132487da1ca61b58f81bd20d939ffedd7109bb3f - pristine_git_object: 58f6721f458a1908990afc4e4fd18729ac8cfbd4 + last_write_checksum: sha1:53887191ad6f05ac6ff3b9bab0dd7680d3cb6874 + pristine_git_object: 06b377eff6ede81f11bac3a1684e9922af28b086 tests/mockserver/internal/sdk/models/operations/platformchatcreatestream.go: id: 32e8d932ca7e - last_write_checksum: sha1:1a6315bfac761b2d944e618ecfd6f1cb188b5184 - pristine_git_object: 72e44e52569b6b6fb2337c2652105791315952bf + last_write_checksum: sha1:2a1a5976bd4493e3952dd63b28a1d54fa02e82c4 + pristine_git_object: 45ae4fabe8c544d28659b6301f35c4eded301fb2 tests/mockserver/internal/sdk/models/operations/platformchatupdate.go: id: 22d1a2eec7e3 last_write_checksum: sha1:f37fe98a94f1dc2f0a044f6ed776ff2f4c6e0996 @@ -11542,8 +11570,8 @@ trackedFiles: pristine_git_object: 2b33e7d4c7bb1ce745c4bfbbb59bcb7857239657 tests/mockserver/internal/sdk/models/operations/platformdepartmentslist.go: id: 6aea7d77d71a - last_write_checksum: sha1:63bb3390658d8e18b7bbd95fc5674383082c491f - pristine_git_object: cbcb58c4717dbabd68bc30064d4b2a0974ae1035 + last_write_checksum: sha1:09a7b9100572f1079b3725995d6988619754d5b6 + pristine_git_object: 172b02684b86a89f982b068acac33e1cd5c747e3 tests/mockserver/internal/sdk/models/operations/platformsearch.go: id: d990791ac101 last_write_checksum: sha1:9da9b49850375b74bf6296fcec336ba9ad1e1eea @@ -12030,8 +12058,8 @@ trackedFiles: pristine_git_object: d2b02f269ac418b9a9240772f28ab1bd3cfa4997 tests/test_chat_sdk.py: id: d6e6d5c5a1b2 - last_write_checksum: sha1:51e2c3ff1fa90ac015d66a2a774d353daa498f4a - pristine_git_object: 36e625c2989821a0bb140c8722fe3a99eed9c846 + last_write_checksum: sha1:55b29bf3209aa975f7cf575db9330fa17df8aaa3 + pristine_git_object: 5e668316d2bc0158286b00b9e41183eaaca4141c tests/test_client.py: id: 6b61d4b06ccc last_write_checksum: sha1:df970d19cdb9f9e057722699dc73965b6f9b1758 @@ -12126,8 +12154,8 @@ trackedFiles: pristine_git_object: 6cc8aeec3c52329d389081db0a27f10f53f214b9 tests/test_messages.py: id: be23089b1f8b - last_write_checksum: sha1:a91c985cd1d11560059dc448b10e0c7b75ed60e5 - pristine_git_object: dfdc18641f0d6c38d84b4603ad2da71f75f2e13c + last_write_checksum: sha1:5db8087e85104ab50b362638150fa1f6686a3c30 + pristine_git_object: c0fd29dab7d365ef9d78c0c291b925e6b9fd7298 tests/test_people.py: id: 37c243940039 last_write_checksum: sha1:2b78b1c5ea17f267895188b1b48ff9fe2bc19f17 @@ -12154,8 +12182,8 @@ trackedFiles: pristine_git_object: 1c854370da050c261cb2cbcf9cc16829f5d8e78c tests/test_summarize.py: id: a255d8a6f627 - last_write_checksum: sha1:4f50b660d414adea1d509dfc957eb74a12654ee4 - pristine_git_object: 63b4eb8541c2b110dab6dda746fef9ac074611f1 + last_write_checksum: sha1:27f1c7a6c3acd199a3ed350b4bfc8a09c48a96bd + pristine_git_object: 9efa5c1d63d430a96553b99c2e2c987c64941690 tests/test_tools.py: id: 70889bdf7321 last_write_checksum: sha1:e9e37efd6a65d805c02d70d548df9c87dd062b0e @@ -13723,7 +13751,7 @@ examples: client_id: "{client_id}" responses: "200": - application/json: {"client": {"client_id": "", "display_name": "Janie_Von32", "registration_type": "STATIC", "grant_types": [], "redirect_uris": [""], "is_active": false}, "request_id": ""} + application/json: {"client": {"client_id": "", "display_name": "Janie_Von32", "registration_type": "STATIC", "grant_types": [], "redirect_uris": [""], "is_enabled": true}, "request_id": ""} "400": application/problem+json: {"type": "https://developers.glean.com/errors/invalid-cursor", "title": "Invalid Pagination Cursor", "status": 400, "detail": "The provided cursor has expired. Start a new search to get a fresh cursor.\n", "code": "invalid_cursor", "documentation_url": "https://developers.glean.com/errors/invalid-cursor", "request_id": "req_7f8a9b0c1d2e", "errors": [{"pointer": "/messages/0/role", "detail": "Must be one of: USER, GLEAN_AI.", "code": "invalid_cursor"}]} "500": @@ -13979,7 +14007,7 @@ generatedTests: platform-admin-idp-groups-get: "2026-10-22T17:49:39Z" platform-departments-get: "2026-10-22T17:49:39Z" platform-users-get: "2026-10-22T17:49:39Z" -releaseNotes: "## Python SDK Changes:\n* `glean.admin.idpgroups.list()`: `response.results[].is_active` **Removed** (Breaking ⚠️)\n* `glean.users.list()`: `response.results[].is_active` **Removed** (Breaking ⚠️)\n* `glean.departments.list()`: \n * `request.filters` **Removed** (Breaking ⚠️)\n * `response.results[].is_active` **Removed** (Breaking ⚠️)\n* `glean.admin.idpgroups.get()`: **Added**\n* `glean.departments.get()`: **Added**\n* `glean.users.get()`: **Added**\n* `glean.admin.usage.get_settings()`: **Removed** (Breaking ⚠️)\n* `glean.admin.usage.update_settings()`: **Removed** (Breaking ⚠️)\n* `glean.chat.update()`: **Added**\n* `glean.admin.oauth.clients.get()`: **Added**\n* `glean.admin.oauth.clients.list()`: **Added**\n* `glean.client.collections.list()`: `request.query` **Added**\n* `glean.client.search.retrieve_feed()`: \n * `request.categories[].enum(discover)` **Added**\n * `response.results[]` **Changed**\n" +releaseNotes: "## Python SDK Changes:\n* `glean.admin.oauth.clients.list()`: \n * `response.results[]` **Changed** (Breaking ⚠️)\n * `error.code.enum(unsupported_action_target)` **Added**\n* `glean.admin.oauth.clients.get()`: \n * `response.client` **Changed** (Breaking ⚠️)\n * `error.code.enum(unsupported_action_target)` **Added**\n* `glean.admin.agents.list()`: \n * `response.results[]` **Changed** (Breaking ⚠️)\n * `error.code.enum(unsupported_action_target)` **Added**\n* `glean.agents.search()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.agents.get()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.agents.get_schemas()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.agents.create_run()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.agents.get_run()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.agents.cancel_run()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.agents.respond_to_run()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.chat.create()`: \n * `request.model` **Added**\n * `error.code.enum(unsupported_action_target)` **Added**\n* `glean.chat.update()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.chat.create_stream()`: \n * `request.model` **Added**\n * `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.create()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.list()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.import()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.validate()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.preview_source()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.update()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.delete()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.retrieve()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.retrieve_content()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.sync()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.create_version()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.list_versions()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.retrieve_version()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.retrieve_version_content()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.skills.preview_source_stream()`: \n * `response.[].union(ERROR).data.error.code.enum(unsupported_action_target)` **Added**\n * `error.code.enum(unsupported_action_target)` **Added**\n* `glean.search.query()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.search.list_filters()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.admin.idpgroups.list()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.admin.idpgroups.get()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.departments.list()`: \n * `request.filters` **Added**\n * `error.code.enum(unsupported_action_target)` **Added**\n* `glean.departments.get()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.users.list()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.users.get()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.create()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.list()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.get()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.update()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.delete()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.search_events()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.list_presets()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.get_preset()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.list_preset_input_values()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.triggers.search_preset_events()`: `error.code.enum(unsupported_action_target)` **Added**\n* `glean.client.chat.retrieve()`: \n * `request` **Changed**\n * `response.pagination` **Added**\n* `glean.client.agents.run()`: `response.run.messages[].message_tracking_token` **Added**\n* `glean.client.search.retrieve_feed()`: \n * `request.categories[].enum(personal_agent_nux)` **Added**\n * `response.results[]` **Changed**\n* `glean.indexing.datasources.add()`: \n * `request.object_definitions[].doc_category.enum(ugc_skill)` **Added**\n* `glean.indexing.datasources.retrieve_config()`: `response.object_definitions[].doc_category.enum(ugc_skill)` **Added**\n" generatedFiles: - .devcontainer/README.md - .devcontainer/devcontainer.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index b9d663d6..6cb9a8bb 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -35,7 +35,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: true python: - version: 0.17.18 + version: 0.17.19 additionalDependencies: dev: {} main: {} @@ -87,6 +87,7 @@ python: methodArguments: infer-optional-args methodTimeoutArgument: timeout-ms methodTimeoutUnits: milliseconds + modelSerializationMethods: false moduleName: glean.api_client multipartArrayFormat: standard optionalDependencies: {} @@ -94,6 +95,7 @@ python: packageManager: poetry packageName: glean-api-client preApplyUnionDiscriminators: false + preserveUnknownFields: false pytestFilterWarnings: [] pytestTimeout: 0 rawResponseHelpers: false diff --git a/.speakeasy/glean-merged-spec.yaml b/.speakeasy/glean-merged-spec.yaml index 09e78710..f6383d0c 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: a867a686a6645ed82261417da199dab121c93738 - x-open-api-commit-sha: fe88ab139b3676484d0c44cc0b1c5043e8340915 + x-source-commit-sha: 411ea5cc625a63afb92a7d15cf6c7d78953fb0ac + x-open-api-commit-sha: c3d657468f4087562d4ba64c05db89408f5adb6d 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. @@ -1718,14 +1718,13 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PlatformUsageLimit" + $ref: "#/components/schemas/PlatformUsageLimitWrite" example: target: type: ORGANIZATION - usage_selector: client_id: glean - period: - type: RECURRING_CALENDAR_MONTH + period: + type: RECURRING_CALENDAR_MONTH allocation_mode: SHARED_POOL value: mode: FINITE @@ -1767,7 +1766,7 @@ paths: - Admin Usage summary: Reset a usage limit description: | - Remove a configured usage limit matching the selector without clearing measured usage. A USER target may be identified by user_id or email, including a user no longer in the directory. Requires admin.usage.limits:write and permission to edit workspace billing. + Remove a configured usage limit matching (target, period) without clearing measured usage. A USER target may be identified by user_id or email, including a user no longer in the directory. Requires admin.usage.limits:write and permission to edit workspace billing. operationId: platform-admin-usage-limits-reset x-visibility: Public x-glean-scopes: @@ -1788,10 +1787,9 @@ paths: target: type: USER email: user@example.com - usage_selector: client_id: glean - period: - type: RECURRING_CALENDAR_MONTH + period: + type: RECURRING_CALENDAR_MONTH responses: "200": description: Reset result. @@ -1848,14 +1846,13 @@ paths: minItems: 1 maxItems: 100 items: - $ref: "#/components/schemas/PlatformUsageLimit" + $ref: "#/components/schemas/PlatformUsageLimitWrite" example: - target: type: ORGANIZATION - usage_selector: client_id: glean - period: - type: RECURRING_CALENDAR_MONTH + period: + type: RECURRING_CALENDAR_MONTH allocation_mode: SHARED_POOL value: mode: FINITE @@ -1865,10 +1862,9 @@ paths: - target: type: USER email: user@example.com - usage_selector: client_id: glean - period: - type: RECURRING_CALENDAR_MONTH + period: + type: RECURRING_CALENDAR_MONTH value: mode: FINITE amount: "50.00" @@ -1909,7 +1905,7 @@ paths: - Admin Usage summary: Evaluate administrative usage limit headroom description: | - Evaluate the effective usage limits for a selector and return the current decision (AVAILABLE, WARNING, or BLOCKED) based on accrued usage. Requires admin.usage:evaluate and permission to read workspace billing, not a global administrator role. An explicit usage_selector.client_id selects the Glean or external spend client; it is never inferred from the caller. Returns all applicable limit values and counters, with effective headroom separated by unit. Agent counters retain aggregate scope. Billing readers receive exact IdP-group source identities as idp_group_id values. A USER target may be identified by user_id or email. Evaluation reports configured-budget status even when runtime enforcement switches are off; it does not perform request admission, model eligibility, or agent-run preflight checks. + Evaluate the effective usage limits for a target and period and return the current decision (AVAILABLE, WARNING, or BLOCKED) based on accrued usage. Requires admin.usage:evaluate and permission to read workspace billing, not a global administrator role. An explicit target.client_id selects the Glean or external spend client; it is never inferred from the caller. Returns all applicable limit values and counters, with effective headroom separated by unit. Agent counters retain aggregate scope. Billing readers receive exact IdP-group source identities as idp_group_id values. A USER target may be identified by user_id or email. Evaluation reports configured-budget status even when runtime enforcement switches are off; it does not perform request admission, model eligibility, or agent-run preflight checks. operationId: platform-admin-usage-limits-evaluate x-visibility: Public x-glean-scopes: @@ -1930,10 +1926,9 @@ paths: target: type: USER email: user@example.com - usage_selector: client_id: glean - period: - type: RECURRING_CALENDAR_MONTH + period: + type: RECURRING_CALENDAR_MONTH responses: "200": description: Evaluation result. @@ -1969,7 +1964,7 @@ paths: - Usage summary: Evaluate usage limit headroom description: | - Evaluate the effective usage limits for a selector and return the current decision (AVAILABLE, WARNING, or BLOCKED) based on accrued usage. Requires usage:evaluate, without workspace billing permission. Omit target to evaluate the authenticated canonical user. An explicit USER must identify that user by canonical ID, known alias ID, email, or known alias email; every supplied field must identify the caller. An explicit AGENT requires current owner/editor or applicable global agent-edit permission; disabled agents remain eligible. Subagents, other users, ORGANIZATION, and default targets are forbidden on this route, even for billing administrators. Missing, inaccessible, and subagent targets return the same 403 insufficient_permissions. An explicit usage_selector.client_id selects the Glean or external spend client; it is never inferred from the caller. Agent evaluation reports aggregate agent usage, not the caller's personal slice or a complete run preflight. Returns only the target's own policies, such as user, default, department, IdP-group, and agent limits, with their values, used counters, decisions, and headroom; USD and credits have separate effective_limits. Shared budgets, such as the selected client's organization limit, are never itemized and never contribute values, counters, warnings, or headroom; a reached shared hard limit still makes decision BLOCKED and adds a decision_causes entry with budget_scope SHARED and its source_type. The response is the same for every caller, including billing administrators. IDP_GROUP sources always have is_identity_restricted true and no idp_group_id. Use the administrative route for shared-budget details. Evaluation reports configured-budget status even when runtime enforcement switches are off; it does not perform request admission, model eligibility, or agent-run preflight checks. + Evaluate the effective usage limits for a target and period and return the current decision (AVAILABLE, WARNING, or BLOCKED) based on accrued usage. Requires usage:evaluate, without workspace billing permission. Omit target identity to evaluate the caller, while supplying target.client_id. An explicit USER identifies the caller by canonical ID, known alias ID, email, or known alias email; every supplied field must identify the caller. An explicit AGENT requires current owner/editor or applicable global agent-edit permission; disabled agents remain eligible. Subagents, other users, ORGANIZATION, and default targets are forbidden on this route, even for billing administrators. Missing, inaccessible, and subagent targets return the same 403 insufficient_permissions. An explicit target.client_id selects the Glean or external spend client; it is never inferred from the caller. Agent evaluation reports aggregate agent usage, not the caller's personal slice or a complete run preflight. Returns only the target's own policies, such as user, default, department, IdP-group, and agent limits, with their values, used counters, decisions, and headroom; USD and credits have separate effective_limits. Shared budgets, such as the selected client's organization limit, are never itemized and never contribute values, counters, warnings, or headroom; a reached shared hard limit still makes decision BLOCKED and adds a decision_causes entry with budget_scope SHARED and its source_type. The response is the same for every caller, including billing administrators. IDP_GROUP sources always have is_identity_restricted true and no idp_group_id. Use the administrative route for shared-budget details. Evaluation reports configured-budget status even when runtime enforcement switches are off; it does not perform request admission, model eligibility, or agent-run preflight checks. operationId: platform-usage-limits-evaluate x-visibility: Public x-glean-scopes: @@ -1987,10 +1982,10 @@ paths: schema: $ref: "#/components/schemas/PlatformEvaluateCallerUsageLimitRequest" example: - usage_selector: + target: client_id: glean - period: - type: RECURRING_CALENDAR_MONTH + period: + type: RECURRING_CALENDAR_MONTH responses: "200": description: Evaluation result. @@ -2449,7 +2444,7 @@ paths: - OAuth clients summary: List OAuth clients description: | - List the static OAuth clients that admins created for this workspace, ordered by display_name and then by client_id. Dynamically registered clients and Glean's own clients, such as Glean Desktop, are not listed. A client is active when it is enabled. Inactive clients are left out unless an is_active filter includes the value "false". To set a usage limit for a client, send its ai_gateway.usage_client_id, not its client_id, to the usage APIs. The caller needs admin read or billing read permission. + List the static OAuth clients that admins created for this workspace, ordered by display_name and then by client_id. Dynamically registered clients and Glean's own clients, such as Glean Desktop, are not listed. Disabled clients are left out unless an is_enabled filter includes the value "false". Use filters to find clients by name, client_id, usage_client_id, LLM Gateway access, or supported app. To set a usage limit for a client, send its ai_gateway.usage_client_id, not its client_id, to the usage APIs. The caller needs admin read or billing read permission. operationId: platform-admin-oauth-clients-list x-glean-scopes: legacy: @@ -2482,7 +2477,7 @@ paths: - in: query name: filters description: | - JSON-encoded filters that choose which clients are returned. The only supported field is is_active, with the values "true" and "false" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active clients are returned. To return active and inactive clients, send [{"field":"is_active","values":["true","false"]}]. + JSON-encoded filters that choose which clients are returned. The supported fields are is_enabled, name, client_id, usage_client_id, has_ai_gateway, and supported_app, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Each field can appear in only one filter. Without an is_enabled filter, only enabled clients are returned. To return enabled and disabled clients, send [{"field":"is_enabled","values":["true","false"]}]. To find the Claude Code clients, send [{"field":"supported_app","values":["CLAUDE_CODE"]}]. required: false content: application/json: @@ -2527,7 +2522,7 @@ paths: - OAuth clients summary: Get an OAuth client description: | - Get one static OAuth client that an admin created for this workspace. A client that an admin disabled is returned with is_active false. A deleted client, a dynamically registered client, one of Glean's own clients, such as Glean Desktop, and an unknown client_id all return 404. The path takes the OAuth client_id, not ai_gateway.usage_client_id. The caller needs admin read or billing read permission. + Get one static OAuth client that an admin created for this workspace. A client that an admin disabled is returned with is_enabled false. A deleted client, a dynamically registered client, one of Glean's own clients, such as Glean Desktop, and an unknown client_id all return 404. The path takes the OAuth client_id, not ai_gateway.usage_client_id. The caller needs admin read or billing read permission. operationId: platform-admin-oauth-clients-get x-glean-scopes: legacy: @@ -2575,7 +2570,7 @@ paths: - Departments summary: List departments description: | - List the departments in the Glean directory, ordered by display_name and then by department_id. The list includes every department that at least one user belongs to or that a usage limit names, so a caller can show the name of a department that a usage limit still names after its users leave it. Department names are exact, so names that differ only by case are different departments. + List the departments in the Glean directory, ordered by display_name and then by department_id. The list includes every department that at least one user belongs to or that a usage limit names, so a caller can show the name of a department that a usage limit still names after its users leave it. Department names are exact, so names that differ only by case are different departments. Send a name filter to return only the departments whose display_name contains a value. operationId: platform-departments-list x-glean-scopes: legacy: @@ -2598,11 +2593,34 @@ paths: default: 50 - in: query name: cursor - description: Opaque pagination cursor from a previous response. + description: | + Opaque pagination cursor from a previous response. Send the same filters that the previous request used. required: false schema: type: string minLength: 1 + - in: query + name: filters + description: | + JSON-encoded filters that choose which departments are returned. The only supported field is name, with the operator EQUALS. Multiple values OR within a filter. The field may appear in only one filter. A value that matches no department returns no departments rather than an error. + required: false + content: + application/json: + schema: + type: array + minItems: 1 + maxItems: 10 + description: Filters on department fields, combined with AND. + items: + $ref: "#/components/schemas/PlatformDepartmentFilter" + description: One filter on a department field. + examples: + name: + summary: Departments whose display name contains "engineering" + value: + - field: name + values: + - engineering responses: "200": description: Successful response. @@ -2690,7 +2708,7 @@ paths: - IdP Groups summary: List IdP groups description: | - List the identity provider (IdP) groups that Glean loads from the directory, ordered by display_name and then by idp_group_id. Use idp_group_id to name a group in other Platform APIs, such as the usage limit evaluation and limit increase request APIs. Usage limits apply only to IdP groups from the datasource instance in usage_settings.user_grouping.idp_group_provider_instance of the get usage settings response, and this API always lists that instance's groups. To list only those groups, pass that value in a provider_instance filter of the filters parameter, for example `filters=[{"field":"provider_instance","operator":"EQUALS","values":["okta"]}]`, URL-encoded as `filters=%5B%7B%22field%22%3A%22provider_instance%22%2C%22operator%22%3A%22EQUALS%22%2C%22values%22%3A%5B%22okta%22%5D%7D%5D`. Internal O365 ownership groups and SharePoint groups are left out. The caller must be able to read the workspace configuration or the workspace billing. + List the identity provider (IdP) groups that Glean loads from the directory, ordered by display_name and then by idp_group_id. Use idp_group_id to name a group in other Platform APIs, such as the usage limit evaluation and limit increase request APIs. Usage limits apply only to IdP groups from the datasource instance in usage_settings.user_grouping.idp_group_provider_instance of the get usage settings response, and this API always lists that instance's groups. To list only those groups, pass that value in a provider_instance filter of the filters parameter, for example `filters=[{"field":"provider_instance","operator":"EQUALS","values":["okta"]}]`, URL-encoded as `filters=%5B%7B%22field%22%3A%22provider_instance%22%2C%22operator%22%3A%22EQUALS%22%2C%22values%22%3A%5B%22okta%22%5D%7D%5D`. Send a provider filter to list only one provider's groups, and a name filter to list only the groups whose display_name contains a value. Internal O365 ownership groups and SharePoint groups are left out. The caller must be able to read the workspace configuration or the workspace billing. operationId: platform-admin-idp-groups-list x-glean-scopes: legacy: @@ -2723,7 +2741,7 @@ paths: - in: query name: filters description: | - JSON-encoded filters that choose which IdP groups are returned. The only supported field is provider_instance, with datasource instance names such as "okta". provider_instance values match without case. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. + JSON-encoded filters that choose which IdP groups are returned. The supported fields are provider_instance, provider, and name. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. The name field may appear in only one filter. A value that matches no IdP group returns no IdP groups rather than an error. required: false content: application/json: @@ -2735,6 +2753,16 @@ paths: items: $ref: "#/components/schemas/PlatformIdpGroupFilter" description: One filter on an IdP group field. + examples: + provider_and_name: + summary: Okta groups whose display name contains "engineering" + value: + - field: provider + values: + - okta + - field: name + values: + - engineering responses: "200": description: Successful response. @@ -3000,7 +3028,7 @@ paths: - Admin Agents summary: List all agents description: | - List every agent in the workspace, ordered by display_name and then by agent_id. Unlike agent search, the list does not depend on who an agent is shared with, so it includes private and disabled agents. Deleted agents are inactive and are left out unless an is_active filter includes the value "false". Use the agent_id of an active agent with other Platform APIs, for example as a usage limit target. A deleted agent is not a valid usage limit target. The caller must be able to read all agents, administer agents, or read workspace billing. + List every agent in the workspace, ordered by name and then by agent_id. Each agent has the same shape that Get agent returns. Unlike agent search, the list does not depend on who an agent is shared with, so it includes private and disabled agents. Deleted agents are left out. Use the agent_id with other Platform APIs, for example as a usage limit target. The caller must be able to read all agents, administer agents, or read workspace billing. operationId: platform-admin-agents-list x-glean-scopes: legacy: @@ -3033,7 +3061,7 @@ paths: - in: query name: filters description: | - JSON-encoded filters that choose which agents are returned. The only supported field is is_active, with the values "true" and "false" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active agents are returned. To return active and deleted agents, send [{"field":"is_active","values":["true","false"]}]. + JSON-encoded filters that choose which agents are returned. The supported fields are name and description, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together, and each field can appear in only one filter. For example, to return agents whose name contains "HR", send [{"field":"name","values":["HR"]}]. required: false content: application/json: @@ -4448,7 +4476,7 @@ paths: post: operationId: getchat summary: Retrieves a Chat - description: Retrieves the chat history between Glean Assistant and the user for a given Chat. + description: Retrieves the chat history between Glean Assistant and the user for a given Chat. Omit pagination fields to return the full message history (existing behavior). Use last alone for the latest page, last with before for older messages, or first with after for newer messages. Each page is chronological and includes pagination cursors and page flags. tags: - Chat security: @@ -4471,7 +4499,7 @@ paths: schema: $ref: '#/components/schemas/GetChatResponse' "400": - description: Invalid request + description: Invalid request, page size, or cursor "401": description: Not Authorized "403": @@ -7631,8 +7659,8 @@ paths: id: ce596f49-55c4-465e-bf3c-5a3a33906e1f introduced: "2026-02-03" message: Endpoint is deprecated - removal: "2027-01-15" - x-speakeasy-deprecation-message: "Deprecated on 2026-02-03, removal scheduled for 2027-01-15: Endpoint is deprecated" + removal: "2027-04-15" + x-speakeasy-deprecation-message: "Deprecated on 2026-02-03, removal scheduled for 2027-04-15: Endpoint is deprecated" x-speakeasy-name-override: bulkIndex x-speakeasy-group: indexing.people /api/index/v1/indexemployeelist: {} @@ -8918,6 +8946,7 @@ components: - invalid_request - missing_required_field - invalid_parameter + - unsupported_action_target - invalid_cursor - expired_cursor - invalid_filter @@ -8948,6 +8977,9 @@ components: invalid_parameter: status: 400 title: Invalid Parameter + unsupported_action_target: + status: 400 + title: Unsupported Action Target invalid_cursor: status: 400 title: Invalid Pagination Cursor @@ -9644,6 +9676,12 @@ components: content: type: string minLength: 1 + PlatformModelId: + type: string + description: | + Opaque model identifier: the internal model enum name (for example `GPT5_6_LUNA`). Case-sensitive; never parse it. + pattern: ^[A-Z0-9_]+$ + example: GPT5_6_LUNA PlatformChatTextFormat: type: object additionalProperties: false @@ -9736,6 +9774,14 @@ components: minLength: 1 description: | Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`. + model: + description: | + Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + x-glean-experimental: + id: d39377b1-a9dc-4a94-a569-f141c885d767 + introduced: "2026-10-07" + allOf: + - $ref: "#/components/schemas/PlatformModelId" text: type: object additionalProperties: false @@ -11126,6 +11172,21 @@ components: type: $ref: "#/components/schemas/PlatformUsageTargetType" description: Kind of governed population. + client_id: + type: string + x-glean-experimental: + id: 3a8dfb97-fbe9-4173-ac61-4fd6e6faa847 + introduced: "2026-09-23" + minLength: 1 + maxLength: 256 + pattern: ^[^\x00-\x1f\x7f]+$ + not: + anyOf: + - enum: + - __deleted_clients__ + - pattern: "^[ \\t-\\r\N   - \L\P   ]*$" + description: | + Opaque, case-sensitive spend-client ID, such as glean or an external gateway spend-client ID. Case and leading or trailing padding are preserved exactly; this is not inferred from the authenticating OAuth application, prefixed, or normalized. Empty and whitespace-only IDs (including Unicode whitespace), synthetic UI aggregation IDs, and control characters are invalid. Unknown IDs are valid and can have no applicable configured policies. Required for ORGANIZATION, DEFAULT_USER, and USER configurations; forbidden for configured aggregate DEFAULT_AGENT and AGENT policies. Evaluation always requires a concrete client, including for agents. The reserved * client is valid only for the Phase 1 DEFAULT_USER actions-only premium policy, not a cross-client budget or evaluation client. Omission never selects Glean or acts as a wildcard. user_id: type: string minLength: 1 @@ -11209,32 +11270,6 @@ components: type: $ref: "#/components/schemas/PlatformPeriodType" description: Kind of usage period. - PlatformUsageSelector: - type: object - description: | - Usage counted against a configured limit, or the spend context for evaluation. Configured organization and user limits require a client; aggregate agent limits omit it. Omission never selects Glean or acts as a client wildcard. - additionalProperties: false - required: - - period - properties: - client_id: - type: string - x-glean-experimental: - id: 3a8dfb97-fbe9-4173-ac61-4fd6e6faa847 - introduced: "2026-09-23" - minLength: 1 - maxLength: 256 - pattern: ^[^\x00-\x1f\x7f]+$ - not: - anyOf: - - enum: - - __deleted_clients__ - - pattern: "^[ \\t-\\r\N   - \L\P   ]*$" - description: | - Opaque, case-sensitive spend-client ID, such as glean or an external gateway spend-client ID. Case and leading or trailing padding are preserved exactly; this is not inferred from the authenticating OAuth application, prefixed, or normalized. Empty and whitespace-only IDs (including Unicode whitespace), synthetic UI aggregation IDs, and control characters are invalid. Unknown IDs are valid and can have no applicable configured policies. - period: - $ref: "#/components/schemas/PlatformPeriod" - description: Reset cadence for counted usage. PlatformAllocationMode: type: string description: How a usage limit budget is shared across the target population. @@ -11331,65 +11366,189 @@ components: - unit - required: - enforcement + PlatformUsageLimitActionType: + type: string + description: Threshold action kind. Clients must tolerate unknown response values. + enum: + - NOTIFY + - RESTRICT_MODELS + - BLOCK + x-enumDescriptions: + NOTIFY: Notify administrators at an integer percent greater than zero and at most 100. + RESTRICT_MODELS: Restrict access to allowlisted models at a percent from zero up to but not including 100. + BLOCK: Response-only action representing a hard cap at 100 percent. + x-speakeasy-enum-descriptions: + NOTIFY: Notify administrators at an integer percent greater than zero and at most 100. + RESTRICT_MODELS: Restrict access to allowlisted models at a percent from zero up to but not including 100. + BLOCK: Response-only action representing a hard cap at 100 percent. + PlatformUsageModelFilter: + type: object + additionalProperties: false + description: | + Nonempty allowlist of model IDs. Reads preserve legacy policies, including IDs and list sizes accepted by older writers. Model tiers are deferred. + required: + - models + properties: + models: + type: array + minItems: 1 + uniqueItems: true + description: Distinct model IDs from the stored allowlist. + items: + type: string + PlatformUsageLimitAction: + type: object + additionalProperties: false + description: | + Phase 1 accepts NOTIFY only on ordinary ORGANIZATION, DEFAULT_USER, and DEFAULT_AGENT policies. Its at_percent must be an integer in (0, 100] and allow must be omitted. RESTRICT_MODELS is accepted only as the single DEFAULT_USER/* action, requires allow, and uses at_percent in [0, 100). BLOCK is response-only. Restricted continuation at 100 is not supported. + required: + - type + - at_percent + properties: + type: + $ref: "#/components/schemas/PlatformUsageLimitActionType" + description: Action kind; BLOCK cannot be configured. + at_percent: + type: number + format: float + minimum: 0 + maximum: 100 + description: | + Percent that triggers the action. RESTRICT_MODELS uses the resolved limit plus current-period approved increases; NOTIFY uses the resolved base limit, matching the existing notification service. + allow: + $ref: "#/components/schemas/PlatformUsageModelFilter" + description: Required only for RESTRICT_MODELS; reads preserve legacy model IDs. PlatformUsageLimit: type: object - description: A configured usage limit and its value. + description: | + A configured usage limit. Ordinary limits require value and their existing allocation mode. Phase 1 exposes the workspace premium policy only at DEFAULT_USER with client_id *. That key forbids value and allocation_mode and requires actions, containing zero or one RESTRICT_MODELS action. Ordinary actions-only policies, per-rule model restrictions, model targets, usage filters, daily windows, and restricted continuation are not supported. additionalProperties: false required: - target - - usage_selector - - value + - period properties: target: $ref: "#/components/schemas/PlatformUsageTarget" - description: Population governed by this limit. - usage_selector: - $ref: "#/components/schemas/PlatformUsageSelector" - description: Usage counted against this limit. + description: Population and spend client governed by this limit. + period: + $ref: "#/components/schemas/PlatformPeriod" + x-glean-experimental: + id: 3e43afc4-7169-43ee-92e5-7aa34004d126 + introduced: "2026-10-30" + description: Reset cadence for counted usage. allocation_mode: $ref: "#/components/schemas/PlatformAllocationMode" description: | - Required for ORGANIZATION, DEFAULT_USER, and DEFAULT_AGENT. Must not be provided for USER or AGENT targets. + SHARED_POOL for ORGANIZATION and PER_MEMBER for ordinary DEFAULT_USER and DEFAULT_AGENT. Forbidden for USER, AGENT, and DEFAULT_USER/*. value: $ref: "#/components/schemas/PlatformUsageLimitValue" - description: Value, unit, and enforcement mode for the limit. + description: Required for ordinary limits; forbidden for DEFAULT_USER/*. + actions: + type: array + description: | + Ordered threshold actions. Omission preserves existing actions; [] clears them. Phase 1 supports NOTIFY on ordinary ORGANIZATION, DEFAULT_USER, and DEFAULT_AGENT policies, and only a singleton RESTRICT_MODELS action on DEFAULT_USER/*. No other action placements or actions-only rows are supported. + items: + $ref: "#/components/schemas/PlatformUsageLimitAction" allOf: - oneOf: + - required: + - actions + properties: + target: + description: Workspace-wide premium model policy. + required: + - client_id + properties: + type: + description: All-clients per-user default. + enum: + - DEFAULT_USER + client_id: + type: string + description: Reserved all-clients policy key, not an aggregate counter. + maxLength: 1 + pattern: ^\*$ + actions: + description: Zero or one premium restriction; an empty list clears it. + maxItems: 1 + not: + anyOf: + - required: + - value + - required: + - allocation_mode + - required: + - value + properties: + target: + description: Ordinary policy; * is reserved for the premium policy. + properties: + client_id: + description: Concrete spend client. + not: + type: string + maxLength: 1 + pattern: ^\*$ + - oneOf: + - properties: + target: + description: Actions-only workspace premium policy. + required: + - client_id + properties: + type: + description: All-clients per-user default. + enum: + - DEFAULT_USER + client_id: + type: string + description: Reserved premium policy key. + maxLength: 1 + pattern: ^\*$ + not: + required: + - allocation_mode - required: - allocation_mode properties: target: - description: Population governed by this limit. + description: Organization pool. properties: type: - description: Kind of governed population. + description: Organization policy. enum: - ORGANIZATION allocation_mode: - description: How this limit budget is allocated. + description: Shared organization budget. enum: - SHARED_POOL - required: - allocation_mode properties: target: - description: Population governed by this limit. + description: Per-member default. properties: type: - description: Kind of governed population. + description: User or agent default. enum: - DEFAULT_USER - DEFAULT_AGENT + client_id: + description: Concrete client when present. + not: + type: string + maxLength: 1 + pattern: ^\*$ allocation_mode: - description: How this limit budget is allocated. + description: Separate member budgets. enum: - PER_MEMBER - properties: target: - description: Population governed by this limit. + description: Individual policy; actions are unavailable in phase 1. properties: type: - description: Kind of governed population. + description: User or agent policy. enum: - USER - AGENT @@ -11399,29 +11558,25 @@ components: - oneOf: - properties: target: - description: Population governed by this client-scoped limit. + description: Client-scoped policy. + required: + - client_id properties: type: - description: Kind of client-scoped population. + description: Client-scoped population. enum: - ORGANIZATION - DEFAULT_USER - USER - usage_selector: - description: Spend client and period for this limit. - required: - - client_id - properties: target: - description: Population governed by this aggregate agent limit. + description: Aggregate agent policy. properties: type: - description: Kind of aggregate agent population. + description: Aggregate agent population. enum: - DEFAULT_AGENT - AGENT - usage_selector: - description: Aggregate period without a client partition. not: required: - client_id @@ -11451,6 +11606,39 @@ components: request_id: type: string description: Request identifier for correlating this response. + PlatformUsageLimitWrite: + type: object + x-go-type: UsageLimit + description: | + Usage limit assignment with bounds for new actions and model allowlists. Responses preserve legacy policies accepted by earlier writers. + allOf: + - $ref: "#/components/schemas/PlatformUsageLimit" + - type: object + properties: + actions: + type: array + maxItems: 20 + description: At most 20 configured threshold actions per assignment. + items: + type: object + properties: + allow: + type: object + description: Model allowlist with bounds for new assignments. + properties: + models: + type: array + minItems: 1 + maxItems: 100 + uniqueItems: true + description: Distinct, nonblank model IDs for a new premium policy. + items: + type: string + minLength: 1 + maxLength: 256 + pattern: ^[^\x00-\x1f\x7f-\x9f]+$ + not: + pattern: "^[ \\t-\\r\N   - \L\P   ]*$" PlatformUpsertUsageLimitResponse: type: object description: Response envelope for an upserted usage limit. @@ -11467,23 +11655,28 @@ components: description: Request identifier for correlating this response. PlatformUsageLimitKey: type: object - description: Natural key for one configured usage limit. + description: Natural key (target, period) for one configured usage limit. additionalProperties: false required: - target - - usage_selector + - period properties: target: $ref: "#/components/schemas/PlatformUsageTarget" - description: Population governed by the limit. - usage_selector: - $ref: "#/components/schemas/PlatformUsageSelector" - description: Usage counted against the limit. + description: Population and spend client governed by the limit. + period: + $ref: "#/components/schemas/PlatformPeriod" + x-glean-experimental: + id: 3c2cc466-dd60-442f-ba72-e0cd5e8a650b + introduced: "2026-10-30" + description: Reset cadence for counted usage. allOf: - oneOf: - properties: target: - description: Population governed by this client-scoped limit. + description: Client-scoped organization or user policy. + required: + - client_id properties: type: description: Kind of client-scoped population. @@ -11491,21 +11684,15 @@ components: - ORGANIZATION - DEFAULT_USER - USER - usage_selector: - description: Spend client and period for this limit. - required: - - client_id - properties: target: - description: Population governed by this aggregate agent limit. + description: Aggregate agent policy without a client partition. properties: type: description: Kind of aggregate agent population. enum: - DEFAULT_AGENT - AGENT - usage_selector: - description: Aggregate period without a client partition. not: required: - client_id @@ -11543,25 +11730,26 @@ components: type: object additionalProperties: false description: | - Administrative evaluation request. The target is always explicit; usage_selector and the evaluation response are shared with non-admin evaluation. + Administrative evaluation request. The concrete target and spend client are explicit, including client context for aggregate agent evaluation. required: - target - - usage_selector + - period properties: target: $ref: "#/components/schemas/PlatformUsageTarget" - description: Concrete organization, user, or agent to evaluate. - usage_selector: - $ref: "#/components/schemas/PlatformUsageSelector" - description: Usage to evaluate for the target. + description: Concrete organization, user, or agent and spend client to evaluate. + period: + $ref: "#/components/schemas/PlatformPeriod" + x-glean-experimental: + id: 3d965112-7c52-4e2e-85cb-48273a3795fe + introduced: "2026-10-30" + description: Evaluation period. allOf: - properties: - usage_selector: - description: Explicit spend-client context for evaluation. + target: + description: Concrete target and explicit spend-client context. required: - client_id - target: - description: Concrete target being evaluated. properties: type: description: Kind of target being evaluated. @@ -11569,128 +11757,37 @@ components: - ORGANIZATION - USER - AGENT - PlatformUsageLimitDecision: - type: string - description: Configured-budget status for the target, independent of runtime admission switches. - enum: - - AVAILABLE - - WARNING - - BLOCKED - x-enumDescriptions: - AVAILABLE: Usage is within all applicable configured limits. - WARNING: Usage reached or exceeded a configured soft limit. - BLOCKED: Usage reached or exceeded a configured hard limit; this is not a runtime admission decision. - x-speakeasy-enum-descriptions: - AVAILABLE: Usage is within all applicable configured limits. - WARNING: Usage reached or exceeded a configured soft limit. - BLOCKED: Usage reached or exceeded a configured hard limit; this is not a runtime admission decision. - PlatformUsageBudgetScope: + client_id: + description: Concrete evaluation client, never the wildcard policy key. + not: + type: string + maxLength: 1 + pattern: ^\*$ + PlatformIdpGroupId: type: string - description: Whose counter a reached usage limit measures, relative to the evaluated target. - enum: - - TARGET - - SHARED - x-enumDescriptions: - TARGET: The evaluated user's or agent's own allowance, including allowances inherited from default, department, or IdP-group per-member policies. It is listed in evaluated_limits and reflected in effective_limits. - SHARED: A budget pooled with other users or agents, such as the organization budget. Non-admin evaluation never lists it in evaluated_limits or effective_limits, so BLOCKED means usage is unavailable regardless of the target's remaining headroom. - x-speakeasy-enum-descriptions: - TARGET: The evaluated user's or agent's own allowance, including allowances inherited from default, department, or IdP-group per-member policies. It is listed in evaluated_limits and reflected in effective_limits. - SHARED: A budget pooled with other users or agents, such as the organization budget. Non-admin evaluation never lists it in evaluated_limits or effective_limits, so BLOCKED means usage is unavailable regardless of the target's remaining headroom. - PlatformUsageDecisionCause: + minLength: 1 + description: | + Opaque IdP group ID. The same group always gets the same ID. Callers must not parse or build it. + PlatformUsagePolicySourceTarget: type: object - additionalProperties: false description: | - Category of limit that reached a soft or hard cap. Identifies what kind of budget is responsible without disclosing its amount, usage, or identity. Treat an unrecognized budget_scope as SHARED and an unrecognized source_type as an opaque population; decision remains authoritative. + Population that supplied an evaluated policy. IdP groups and departments are response-only sources, not limit-management or direct evaluation targets. + additionalProperties: false required: - - decision - - budget_scope - - source_type + - type properties: - decision: - $ref: "#/components/schemas/PlatformUsageLimitDecision" - description: WARNING for a reached soft limit or BLOCKED for a reached hard limit; never AVAILABLE. - budget_scope: - $ref: "#/components/schemas/PlatformUsageBudgetScope" - description: Whether the reached budget belongs to the evaluated target or is shared with others. - source_type: + type: $ref: "#/components/schemas/PlatformUsageTargetType" + description: Kind of configured policy source. + client_id: + type: string + x-glean-experimental: + id: a6a3f695-ed21-4184-9cef-3dd805d87a2b + introduced: "2026-10-30" + minLength: 1 + maxLength: 256 description: | - Population that supplied the reached policy, such as ORGANIZATION for the organization budget or DEPARTMENT for an inherited department allowance. New shared pool levels add values here rather than new budget scopes. - PlatformUsageHeadroomValue: - type: object - description: Remaining configured budget in one unit, not a configured cap or runtime admission result. - additionalProperties: false - required: - - mode - properties: - mode: - $ref: "#/components/schemas/PlatformAmountMode" - description: Whether remaining headroom is finite or unlimited. - remaining: - type: string - minLength: 1 - maxLength: 24 - pattern: ^(0|[1-9][0-9]*)(\.[0-9]{1,6})?$ - description: | - Non-negative decimal headroom after accrued usage and approved one-period grants, clamped to zero when the configured limit is reached or exceeded. Required for FINITE; forbidden for UNLIMITED. - unit: - $ref: "#/components/schemas/PlatformUsageUnit" - description: Unit of finite headroom; omitted for unlimited headroom. - enforcement: - $ref: "#/components/schemas/PlatformEnforcement" - description: Enforcement configuration of the tightest finite policy; omitted for unlimited headroom. - allOf: - - oneOf: - - required: - - remaining - - unit - - enforcement - properties: - mode: - description: Finite remaining headroom. - enum: - - FINITE - remaining: - type: string - description: Remaining configured budget in decimal units. - - properties: - mode: - description: Unlimited remaining headroom. - enum: - - UNLIMITED - not: - anyOf: - - required: - - remaining - properties: - remaining: - description: Forbidden for unlimited headroom. - - required: - - unit - properties: - unit: - description: Forbidden for unlimited headroom. - - required: - - enforcement - properties: - enforcement: - description: Forbidden for unlimited headroom. - PlatformIdpGroupId: - type: string - minLength: 1 - description: | - Opaque IdP group ID. The same group always gets the same ID. Callers must not parse or build it. - PlatformUsagePolicySourceTarget: - type: object - description: | - Population that supplied an evaluated policy. IdP groups and departments are response-only sources, not limit-management or direct evaluation targets. - additionalProperties: false - required: - - type - properties: - type: - $ref: "#/components/schemas/PlatformUsageTargetType" - description: Kind of configured policy source. + Opaque spend-client ID of this policy, preserving case and padding; omitted for aggregate agent policies. * identifies only the Phase 1 DEFAULT_USER actions-only premium policy, not a cross-client budget. user_id: type: string minLength: 1 @@ -11827,25 +11924,184 @@ components: not: required: - idp_group_id + PlatformUsageRestriction: + type: object + additionalProperties: false + description: Active model restriction. All returned allowlists intersect; decision is unchanged. + required: + - type + - allow + - source + properties: + type: + $ref: "#/components/schemas/PlatformUsageLimitActionType" + description: Restriction kind; currently RESTRICT_MODELS. + allow: + $ref: "#/components/schemas/PlatformUsageModelFilter" + description: Models admitted by this restriction. + source: + $ref: "#/components/schemas/PlatformUsagePolicySourceTarget" + description: Configured policy supplying this restriction. + PlatformUsageLimitDecision: + type: string + description: Configured-budget status for the target, independent of runtime admission switches. + enum: + - AVAILABLE + - WARNING + - BLOCKED + x-enumDescriptions: + AVAILABLE: Usage is within all applicable configured limits. + WARNING: Usage reached or exceeded a configured soft limit. + BLOCKED: Usage reached or exceeded a configured hard limit; this is not a runtime admission decision. + x-speakeasy-enum-descriptions: + AVAILABLE: Usage is within all applicable configured limits. + WARNING: Usage reached or exceeded a configured soft limit. + BLOCKED: Usage reached or exceeded a configured hard limit; this is not a runtime admission decision. + PlatformUsageBudgetScope: + type: string + description: Whose counter a reached usage limit measures, relative to the evaluated target. + enum: + - TARGET + - SHARED + x-enumDescriptions: + TARGET: The evaluated user's or agent's own allowance, including allowances inherited from default, department, or IdP-group per-member policies. It is listed in evaluated_limits and reflected in effective_limits. + SHARED: A budget pooled with other users or agents, such as the organization budget. Non-admin evaluation never lists it in evaluated_limits or effective_limits, so BLOCKED means usage is unavailable regardless of the target's remaining headroom. + x-speakeasy-enum-descriptions: + TARGET: The evaluated user's or agent's own allowance, including allowances inherited from default, department, or IdP-group per-member policies. It is listed in evaluated_limits and reflected in effective_limits. + SHARED: A budget pooled with other users or agents, such as the organization budget. Non-admin evaluation never lists it in evaluated_limits or effective_limits, so BLOCKED means usage is unavailable regardless of the target's remaining headroom. + PlatformUsageDecisionCause: + type: object + additionalProperties: false + description: | + Category of limit that reached a soft or hard cap. Identifies what kind of budget is responsible without disclosing its amount, usage, or identity. Treat an unrecognized budget_scope as SHARED and an unrecognized source_type as an opaque population; decision remains authoritative. + required: + - decision + - budget_scope + - source_type + properties: + decision: + $ref: "#/components/schemas/PlatformUsageLimitDecision" + description: WARNING for a reached soft limit or BLOCKED for a reached hard limit; never AVAILABLE. + budget_scope: + $ref: "#/components/schemas/PlatformUsageBudgetScope" + description: Whether the reached budget belongs to the evaluated target or is shared with others. + source_type: + $ref: "#/components/schemas/PlatformUsageTargetType" + description: | + Population that supplied the reached policy, such as ORGANIZATION for the organization budget or DEPARTMENT for an inherited department allowance. New shared pool levels add values here rather than new budget scopes. + PlatformUsageHeadroomValue: + type: object + description: Remaining configured budget in one unit, not a configured cap or runtime admission result. + additionalProperties: false + required: + - mode + properties: + mode: + $ref: "#/components/schemas/PlatformAmountMode" + description: Whether remaining headroom is finite or unlimited. + remaining: + type: string + minLength: 1 + maxLength: 24 + pattern: ^(0|[1-9][0-9]*)(\.[0-9]{1,6})?$ + description: | + Non-negative decimal headroom after accrued usage and approved one-period grants, clamped to zero when the configured limit is reached or exceeded. Required for FINITE; forbidden for UNLIMITED. + unit: + $ref: "#/components/schemas/PlatformUsageUnit" + description: Unit of finite headroom; omitted for unlimited headroom. + enforcement: + $ref: "#/components/schemas/PlatformEnforcement" + description: Enforcement configuration of the tightest finite policy; omitted for unlimited headroom. + allOf: + - oneOf: + - required: + - remaining + - unit + - enforcement + properties: + mode: + description: Finite remaining headroom. + enum: + - FINITE + remaining: + type: string + description: Remaining configured budget in decimal units. + - properties: + mode: + description: Unlimited remaining headroom. + enum: + - UNLIMITED + not: + anyOf: + - required: + - remaining + properties: + remaining: + description: Forbidden for unlimited headroom. + - required: + - unit + properties: + unit: + description: Forbidden for unlimited headroom. + - required: + - enforcement + properties: + enforcement: + description: Forbidden for unlimited headroom. + PlatformEvaluatedUsageLimitAction: + type: object + additionalProperties: false + description: Active or upcoming threshold action on a resolved limit. + required: + - type + - at_percent + properties: + type: + $ref: "#/components/schemas/PlatformUsageLimitActionType" + description: Action kind, including response-only BLOCK. + at_percent: + type: number + format: float + minimum: 0 + maximum: 100 + description: | + Percent of the resolved base limit for NOTIFY, or the limit plus current-period approved increases for RESTRICT_MODELS and BLOCK. Premium thresholds retain runtime float32 rounding; BLOCK uses exact micro-unit counters. + allow: + $ref: "#/components/schemas/PlatformUsageModelFilter" + description: Model allowlist for RESTRICT_MODELS. + inherited_from: + $ref: "#/components/schemas/PlatformUsagePolicySourceTarget" + description: Source of an inherited action; omitted for local and implicit actions. PlatformEvaluatedLimit: type: object additionalProperties: false description: Evaluation details for one independently applicable usage limit. required: - target - - usage_selector + - period - value - used - decision + - active_actions properties: target: $ref: "#/components/schemas/PlatformUsagePolicySourceTarget" description: | Configured source of this limit. Default and group policies retain their source population; used is the concrete evaluated user's or agent's counter. Non-admin evaluation withholds IdP-group identities but returns the limit value, counter, and decision of every policy it lists. - usage_selector: - $ref: "#/components/schemas/PlatformUsageSelector" - description: | - Actual scope of this rule's counter. Client rules identify their client; aggregate agent rules omit client_id even when evaluation selects a client. + period: + $ref: "#/components/schemas/PlatformPeriod" + x-glean-experimental: + id: 6fce16b8-3dea-48e5-9148-943efb62bb52 + introduced: "2026-10-30" + description: Counter period; target.client_id identifies client scope and is omitted for aggregate agent rules. + active_actions: + type: array + description: Actions active at current usage, with their inheritance source. + items: + $ref: "#/components/schemas/PlatformEvaluatedUsageLimitAction" + next_action: + $ref: "#/components/schemas/PlatformEvaluatedUsageLimitAction" + description: Next threshold action; hard limits include an implicit BLOCK at 100 percent. value: $ref: "#/components/schemas/PlatformUsageLimitValue" description: Configured cap before approved one-period grants; value.amount is not remaining headroom. @@ -11859,15 +12115,14 @@ components: type: object additionalProperties: false description: | - Configured-budget evaluation for a concrete target and selector, not runtime admission, model eligibility, or agent-run preflight. AVAILABLE can mean that no configured policy applies; inspect applicable_policy_count and the exact selector echo. Configured caps are evaluated_limits[].value.amount, accrued usage is evaluated_limits[].used, and remaining budget is effective_limits[].remaining. Approved one-period grants raise headroom without changing the configured cap. Units are never combined or converted. Non-admin evaluation omits shared budgets from applicable_policy_count, evaluated_limits, and effective_limits; decision can be BLOCKED by a shared budget even when the target's own limits show remaining headroom. decision_causes explains every non-AVAILABLE decision, including one caused by a budget that is not listed. + Configured-budget evaluation for a concrete target and period, not runtime admission, model eligibility, or agent-run preflight. AVAILABLE can mean that no configured policy applies; inspect applicable_policy_count and the normalized target and exact period echo. Configured caps are evaluated_limits[].value.amount, accrued usage is evaluated_limits[].used, and remaining budget is effective_limits[].remaining. Approved one-period grants raise headroom without changing the configured cap. Units are never combined or converted. Non-admin evaluation omits shared budgets from applicable_policy_count, evaluated_limits, and effective_limits; decision can be BLOCKED by a shared budget even when the target's own limits show remaining headroom. decision_causes explains every non-AVAILABLE decision, including one caused by a budget that is not listed. example: target: type: USER user_id: user-123 - usage_selector: - client_id: glean - period: - type: RECURRING_CALENDAR_MONTH + client_id: claude_code + period: + type: RECURRING_CALENDAR_MONTH applicable_policy_count: 1 decision: BLOCKED decision_causes: @@ -11882,10 +12137,9 @@ components: evaluated_limits: - target: type: DEFAULT_USER - usage_selector: - client_id: glean - period: - type: RECURRING_CALENDAR_MONTH + client_id: claude_code + period: + type: RECURRING_CALENDAR_MONTH value: mode: FINITE amount: "80" @@ -11893,11 +12147,34 @@ components: enforcement: HARD used: "20" decision: AVAILABLE + active_actions: + - type: RESTRICT_MODELS + at_percent: 25 + allow: + models: + - model-a + - model-b + inherited_from: + type: DEFAULT_USER + client_id: "*" + next_action: + type: BLOCK + at_percent: 100 + restrictions: + - type: RESTRICT_MODELS + allow: + models: + - model-a + - model-b + source: + type: DEFAULT_USER + client_id: "*" evaluated_at: "2026-10-06T18:48:16Z" request_id: example-request required: - target - - usage_selector + - period + - restrictions - applicable_policy_count - decision - decision_causes @@ -11910,9 +12187,17 @@ components: $ref: "#/components/schemas/PlatformUsageTarget" description: | Normalized concrete ORGANIZATION, USER, or AGENT evaluated. USER targets contain the canonical user_id, not the supplied alias ID or email. Included even when no configured policies apply. - usage_selector: - $ref: "#/components/schemas/PlatformUsageSelector" - description: Exact evaluated selector, including case and padding of client_id; never normalized. + period: + $ref: "#/components/schemas/PlatformPeriod" + x-glean-experimental: + id: 6a059c59-3fbc-498d-8a44-f05465f9e8ad + introduced: "2026-10-30" + description: Exact evaluated period; target.client_id preserves case and padding. + restrictions: + type: array + description: Active restrictions, combined by intersection. Empty when unrestricted. + items: + $ref: "#/components/schemas/PlatformUsageRestriction" applicable_policy_count: type: integer minimum: 0 @@ -11948,26 +12233,124 @@ components: request_id: type: string description: Request identifier for correlating this response. + Platformclient_id: + type: string + x-glean-experimental: + id: 3a8dfb97-fbe9-4173-ac61-4fd6e6faa847 + introduced: "2026-09-23" + minLength: 1 + maxLength: 256 + pattern: ^[^\x00-\x1f\x7f]+$ + not: + anyOf: + - enum: + - __deleted_clients__ + - pattern: "^[ \\t-\\r\N   - \L\P   ]*$" + description: | + Opaque, case-sensitive spend-client ID, such as glean or an external gateway spend-client ID. Case and leading or trailing padding are preserved exactly; this is not inferred from the authenticating OAuth application, prefixed, or normalized. Empty and whitespace-only IDs (including Unicode whitespace), synthetic UI aggregation IDs, and control characters are invalid. Unknown IDs are valid and can have no applicable configured policies. Required for ORGANIZATION, DEFAULT_USER, and USER configurations; forbidden for configured aggregate DEFAULT_AGENT and AGENT policies. Evaluation always requires a concrete client, including for agents. The reserved * client is valid only for the Phase 1 DEFAULT_USER actions-only premium policy, not a cross-client budget or evaluation client. Omission never selects Glean or acts as a wildcard. + Platformuser_id: + type: string + minLength: 1 + maxLength: 512 + description: | + Canonical user ID; valid only when type is USER. A USER target requires user_id, email, or both. + Platformemail: + type: string + minLength: 3 + maxLength: 320 + pattern: ^[^\s@\x00-\x1f\x7f]+@[^\s@\x00-\x1f\x7f]+$ + x-glean-experimental: + id: 1e7ce9ed-56af-44b2-81c1-f39e656919ea + introduced: "2026-09-29" + description: | + Email address of the user, including a known alias email; valid only when type is USER. Matching is case-insensitive and resolves to the canonical user_id. When user_id is also supplied, both must identify the same user. Email is never part of the stored limit key. Responses include the user's directory email when one is available. + Platformagent_id: + type: string + minLength: 1 + maxLength: 512 + description: Canonical agent ID; required only when type is AGENT. PlatformEvaluateCallerUsageLimitRequest: type: object additionalProperties: false description: | - Non-admin evaluation request. Only omission of target selects the authenticated canonical user; null, empty, and incomplete targets are invalid. Explicit USER targets accept the caller's canonical ID, known alias IDs, email, or known alias emails; every supplied field must identify the caller. AGENT targets require current edit permission and evaluate aggregate agent usage. Shared budgets affect only the overall decision. The authenticated identity is never replaced by the selected target. + Non-admin evaluation request. Omit target identity fields to select the caller. USER targets accept the caller's canonical ID, known alias IDs, email, or known alias emails; every supplied identity field must identify the caller. AGENT targets require current edit permission and evaluate aggregate agent usage. Spend-client context is always explicit. Shared budgets affect only the overall decision. The authenticated identity is never replaced by the selected target. required: - - usage_selector + - period properties: target: - $ref: "#/components/schemas/PlatformUsageTarget" - description: Optional self or editable agent target. Omit to evaluate self. - usage_selector: - $ref: "#/components/schemas/PlatformUsageSelector" - description: Usage to evaluate for the target; always required. + type: object + x-go-type: "*UsageTarget" + additionalProperties: false + description: | + Explicit spend-client context. Omit type and identity fields to evaluate the authenticated user. USER may also omit identity fields to select self. + required: + - client_id + properties: + type: + $ref: "#/components/schemas/PlatformUsageTargetType" + description: USER (the default) or an editable AGENT. + client_id: + $ref: "#/components/schemas/Platformclient_id" + x-glean-experimental: + id: 6df95a62-42d4-4589-ac86-2304b4dfab72 + introduced: "2026-10-30" + description: Explicit spend client, including for aggregate agent evaluation. + user_id: + $ref: "#/components/schemas/Platformuser_id" + description: Optional caller user ID. + email: + $ref: "#/components/schemas/Platformemail" + x-glean-experimental: + id: d9e2ce7e-0f85-4bdd-a600-629f9b25c912 + introduced: "2026-09-29" + description: Optional caller email. + agent_id: + $ref: "#/components/schemas/Platformagent_id" + description: Canonical ID of an editable agent. + oneOf: + - properties: + type: + description: Caller evaluation, including when identity is omitted. + enum: + - USER + not: + required: + - agent_id + - required: + - type + - agent_id + properties: + type: + description: Aggregate agent evaluation with explicit client context. + enum: + - AGENT + not: + anyOf: + - required: + - user_id + - required: + - email + period: + $ref: "#/components/schemas/PlatformPeriod" + x-glean-experimental: + id: bf96af1d-4d8d-440e-8437-6be4a8d4bc79 + introduced: "2026-10-30" + description: Evaluation period. allOf: - - properties: - usage_selector: - description: Explicit spend-client context; never inferred from the caller. + - required: + - target + properties: + target: + description: Self or editable agent and explicit spend client. required: - client_id + properties: + client_id: + description: Concrete evaluation client, never the wildcard policy key. + not: + type: string + maxLength: 1 + pattern: ^\*$ PlatformRequestStatus: type: string enum: @@ -12366,16 +12749,33 @@ components: properties: field: type: string - pattern: ^is_active$ - description: The client field to filter on. The only supported field is is_active. + pattern: ^(is_enabled|name|client_id|usage_client_id|has_ai_gateway|supported_app)$ + description: | + The client field to filter on. + - is_enabled: "true" matches enabled clients, and "false" matches disabled + clients. + + - name: matches clients whose display_name contains the value, ignoring + case and surrounding whitespace. Each value is at most 256 characters. + + - client_id: matches the client with this OAuth client_id. + - usage_client_id: matches the client with this ai_gateway.usage_client_id. + - has_ai_gateway: "true" matches clients that can call the Glean LLM + Gateway, which are the clients with ai_gateway. "false" matches the + other clients. + + - supported_app: matches clients whose ai_gateway.supported_apps contains + the value, such as CLAUDE_CODE. The values are the OAuthClientSupportedApp + values. values: type: array minItems: 1 + maxItems: 100 description: The values to match. A client matches when any value matches. items: type: string - pattern: ^(true|false)$ - description: "\"true\" matches active clients. \"false\" matches inactive clients." + minLength: 1 + description: A value to match. Blank values are rejected. operator: allOf: - $ref: "#/components/schemas/PlatformFilterOperator" @@ -12450,17 +12850,37 @@ components: NO_AUTHENTICATION: The client does not authenticate. Public clients use this method. PRIVATE_KEY_JWT: The client signs a JWT with its private key. TLS_CLIENT_AUTH: The client authenticates with a mutual TLS certificate. + PlatformOAuthClientSupportedApp: + type: string + description: An app that an LLM Gateway client is set up for. + enum: + - CLAUDE_CODE + - CODEX + x-enumDescriptions: + CLAUDE_CODE: Claude Code. + CODEX: OpenAI Codex. + x-speakeasy-enum-descriptions: + CLAUDE_CODE: Claude Code. + CODEX: OpenAI Codex. PlatformOAuthClientAiGateway: type: object description: LLM Gateway details of an OAuth client. additionalProperties: false required: - usage_client_id + - supported_apps properties: usage_client_id: type: string description: | The spend-client ID that usage records and usage limits use for this client. Send it as the client_id of a usage limit. It is an opaque, case-sensitive string; do not build it from client_id. + supported_apps: + type: array + description: | + The apps that the client is set up for, in alphabetical order. Empty when no app is recorded for the client. + items: + $ref: "#/components/schemas/PlatformOAuthClientSupportedApp" + description: An app that the client is set up for. PlatformOAuthClient: type: object description: An OAuth client that an admin created for the workspace. @@ -12471,7 +12891,7 @@ components: - registration_type - grant_types - redirect_uris - - is_active + - is_enabled properties: client_id: type: string @@ -12502,10 +12922,10 @@ components: items: type: string description: A redirect URI. - is_active: + is_enabled: type: boolean description: | - Whether the client is active. A client that an admin disabled is inactive and cannot authenticate. + Whether the client is enabled. A client that an admin disabled cannot authenticate. created_at: type: string format: date-time @@ -12553,6 +12973,36 @@ components: request_id: type: string description: Request identifier for correlating this response. + PlatformDepartmentFilter: + type: object + additionalProperties: false + required: + - field + - values + description: A filter on one department field. + properties: + field: + type: string + pattern: ^name$ + description: | + The department field to filter on. The only supported field is name, which matches departments whose display_name contains the value, ignoring case and surrounding whitespace. Each value is at most 256 characters. To find the department with an exact name, such as a department_name from a usage limit response, filter by the name and compare display_name exactly. + values: + type: array + minItems: 1 + maxItems: 100 + description: The values to match. A department matches when any value matches. + items: + type: string + minLength: 1 + description: A value to match. Blank values are rejected. + operator: + allOf: + - $ref: "#/components/schemas/PlatformFilterOperator" + description: Canonical Platform filter operator. + enum: + - EQUALS + default: EQUALS + description: The only supported operator is EQUALS. Defaults to EQUALS. PlatformDepartmentReference: type: object description: A reference to a department in the Glean directory. @@ -12620,17 +13070,26 @@ components: properties: field: type: string - pattern: ^provider_instance$ + pattern: ^(provider_instance|provider|name)$ description: | - The IdP group field to filter on. The only supported field is provider_instance. + The IdP group field to filter on. + - provider_instance: matches groups from the datasource instance, such as + "okta", ignoring case. + + - provider: matches groups from the identity provider, such as "okta", ignoring + case. + + - name: matches groups whose display_name contains the value, ignoring case and + surrounding whitespace. Each value is at most 256 characters. values: type: array minItems: 1 + maxItems: 100 description: The values to match. An IdP group matches when any value matches. items: type: string minLength: 1 - description: A datasource instance name for provider_instance. + description: A value to match. Empty values, and blank name values, are rejected. operator: allOf: - $ref: "#/components/schemas/PlatformFilterOperator" @@ -12901,16 +13360,18 @@ components: properties: field: type: string - pattern: ^is_active$ - description: The agent field to filter on. The only supported field is is_active. + pattern: ^(name|description)$ + description: | + The agent field to filter on. name matches agents whose name contains the value. description matches agents whose description contains the value. Matching ignores case and surrounding whitespace. Each value is at most 256 characters. values: type: array minItems: 1 + maxItems: 100 description: The values to match. An agent matches when any value matches. items: type: string - pattern: ^(true|false)$ - description: "\"true\" matches active agents. \"false\" matches deleted agents." + minLength: 1 + description: A value to match. Blank values are rejected. operator: allOf: - $ref: "#/components/schemas/PlatformFilterOperator" @@ -12919,25 +13380,6 @@ components: - EQUALS default: EQUALS description: The only supported operator is EQUALS. Defaults to EQUALS. - PlatformAdminAgent: - type: object - description: An agent in the workspace. - additionalProperties: false - required: - - agent_id - - display_name - - is_active - properties: - agent_id: - type: string - description: | - Opaque agent ID. Other Platform APIs, such as usage limits, accept and return this ID. - display_name: - type: string - description: The name that Glean shows for the agent. - is_active: - type: boolean - description: Whether the agent is active. A deleted agent is inactive. PlatformListAdminAgentsResponse: type: object description: One page of agents. @@ -12949,9 +13391,9 @@ components: properties: results: type: array - description: The agents on this page, ordered by display_name and then by agent_id. + description: The agents on this page, ordered by name and then by agent_id. items: - $ref: "#/components/schemas/PlatformAdminAgent" + $ref: "#/components/schemas/PlatformAgent" has_more: type: boolean description: Whether more agents are available after this page. @@ -13182,10 +13624,17 @@ components: pattern: ^DOCUMENT_CHANGE$ content: type: string - description: Email body content when the event is for an email document. + description: Email body content when the event is for an email document, or the message text when the event is for a Slack message. content_truncated: type: boolean description: Present and true when source content exceeded the delivery size limit. + facets: + type: object + description: Facets of a Slack message as the event saw them, keyed as trigger filters key them, for example `from`, `mentions` and `channel`. Person facets carry the person's name. Each key lists up to 50 distinct values. Omitted for other documents and when the event has no facets. + additionalProperties: + type: array + items: + type: string example: version: "1" trigger_id: trigger_test_123 @@ -18220,8 +18669,23 @@ components: id: type: string description: The id of the Chat to be retrieved. + first: + type: integer + format: int32 + description: Maximum number of messages to return from the start of the chat, or after the cursor when after is set. Pair with after for newer messages; alone returns the earliest messages. Mutually exclusive with last and before. + after: + type: string + description: An opaque message cursor from this chat. Returns messages strictly newer than this cursor. Pair with first. Mutually exclusive with before; cannot be combined with last. + last: + type: integer + format: int32 + description: Maximum number of messages to return from the end of the chat, or before the cursor when before is set. Alone returns the latest messages; pair with before for older messages. Mutually exclusive with first and after. + before: + type: string + description: An opaque message cursor from this chat. Returns messages strictly older than this cursor. Pair with last. Mutually exclusive with after; cannot be combined with first. required: - id + description: 'Retrieves a Chat. Omit pagination fields to return the full message history. When paginating, messages are returned in chronological order. Allowed combinations: last alone (latest page), last with before (older messages), first alone (earliest page), or first with after (newer messages). first and last are mutually exclusive; before and after are mutually exclusive; first cannot be combined with before; last cannot be combined with after.' Chat: allOf: - $ref: '#/components/schemas/ChatMetadata' @@ -18245,10 +18709,31 @@ components: trackingToken: type: string description: An opaque token that represents this particular Chat. To be used for `/feedback` reporting. + GetChatPagination: + properties: + startCursor: + type: string + description: Cursor of the first (oldest) returned message. Omitted for an empty page. + endCursor: + type: string + description: Cursor of the last (newest) returned message. Omitted for an empty page. + hasNextPage: + type: boolean + description: Whether visible messages exist after endCursor in chronological order. + hasPreviousPage: + type: boolean + description: Whether visible messages exist before startCursor in chronological order. + required: + - hasNextPage + - hasPreviousPage + description: Pagination cursors and page flags for a getchat message page. GetChatResponse: properties: chatResult: $ref: '#/components/schemas/ChatResult' + pagination: + $ref: '#/components/schemas/GetChatPagination' + description: Always present. When the request omits pagination fields and the full message history is returned, hasNextPage and hasPreviousPage are both false and cursors may be omitted for an empty page. AccessRequestPermissionDeniedResponse: type: object properties: @@ -18809,6 +19294,10 @@ components: - type title: Content description: The content of the message. + messageTrackingToken: + type: string + description: 'An opaque token that represents this particular agent message. Populated only on `GLEAN_AI` messages in responses. To record feedback, pass the token of the message being rated (typically the final `GLEAN_AI` message of the run) as the single entry in `trackingTokens` to `/feedback`, with `category: CHAT`.' + readOnly: true AgentRunCreate: type: object properties: @@ -20715,6 +21204,7 @@ components: - PROJECT_FOCUS_BLOCK - PROJECT_NEXT_STEP - DEMO_CARD + - PERSONAL_AGENT_NUX - RESOLVE_MEETING_CONFLICT - FINDING_MEETING_ROOM - OOO_PLANNER @@ -21209,6 +21699,7 @@ components: - PROJECT_FOCUS_BLOCK - PROJECT_NEXT_STEP - DEMO_CARD + - PERSONAL_AGENT_NUX - RESOLVE_MEETING_CONFLICT - FINDING_MEETING_ROOM - OOO_PLANNER @@ -21313,6 +21804,7 @@ components: - PROJECT_FOCUS_BLOCK - PROJECT_NEXT_STEP - DEMO_CARD + - PERSONAL_AGENT_NUX - RESOLVE_MEETING_CONFLICT - FINDING_MEETING_ROOM - OOO_PLANNER @@ -23613,6 +24105,7 @@ components: - AGENTS - AI_CONVERSATION - AI_ARTIFACT + - UGC_SKILL description: The document category of this object type. propertyDefinitions: type: array @@ -24994,6 +25487,7 @@ x-glean-platform-tag-groups: - Agents - Chat - CORL + - Models - Skills - name: Search & Data tags: diff --git a/.speakeasy/tests.arazzo.yaml b/.speakeasy/tests.arazzo.yaml index e0f69387..855b39d4 100644 --- a/.speakeasy/tests.arazzo.yaml +++ b/.speakeasy/tests.arazzo.yaml @@ -159696,7 +159696,7 @@ workflows: - condition: $response.header.Content-Type == application/json - context: $response.body condition: | - {"client":{"client_id":"","display_name":"Janie_Von32","registration_type":"STATIC","grant_types":[],"redirect_uris":[""],"is_active":false},"request_id":""} + {"client":{"client_id":"","display_name":"Janie_Von32","registration_type":"STATIC","grant_types":[],"redirect_uris":[""],"is_enabled":true},"request_id":""} type: simple x-speakeasy-test-group: clients x-speakeasy-test-rebuild: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index a476cb92..b1d867b8 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.803.1 +speakeasyVersion: 1.806.0 sources: Glean API: sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:e0d6fab09b60a5caa02a27906e8f29a80d3544ef8a1418c923ebafa06ffc3dee - sourceBlobDigest: sha256:0f2bbe5dc4673e325c8bcbf3bf7343affc5c7a4a3a36f55d1fc4d1dd88de66c7 + sourceRevisionDigest: sha256:0072aeaf5471534f446db601e5ea3099d52ab65b4ab4d1f08cd64bff665735fe + sourceBlobDigest: sha256:652d8c9d15de78b5546fd849fa432a6d3c43cacb3f31cd9d8c89f9d20093ab26 tags: - latest Glean Client API: @@ -16,10 +16,10 @@ targets: glean: source: Glean API sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:e0d6fab09b60a5caa02a27906e8f29a80d3544ef8a1418c923ebafa06ffc3dee - sourceBlobDigest: sha256:0f2bbe5dc4673e325c8bcbf3bf7343affc5c7a4a3a36f55d1fc4d1dd88de66c7 + sourceRevisionDigest: sha256:0072aeaf5471534f446db601e5ea3099d52ab65b4ab4d1f08cd64bff665735fe + sourceBlobDigest: sha256:652d8c9d15de78b5546fd849fa432a6d3c43cacb3f31cd9d8c89f9d20093ab26 codeSamplesNamespace: glean-api-specs-python-code-samples - codeSamplesRevisionDigest: sha256:2c03e1592badb94d5c70fc3678d3becd1c647e74e041d183259a24911a958cb9 + codeSamplesRevisionDigest: sha256:c92c8c9751a33528e6be47d9b893efd26b5d31edb33816edbb29a083c8c850fd workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 40fb5514..89a7b60f 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create(messages=[ @@ -173,7 +173,7 @@ import os async def main(): async with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = await glean.client.chat.create_async(messages=[ @@ -201,7 +201,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create_stream(messages=[ @@ -231,7 +231,7 @@ import os async def main(): async with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = await glean.client.chat.create_stream_async(messages=[ @@ -269,7 +269,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.search(name="HR Policy Agent") @@ -639,10 +639,10 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: - res = glean.chat.create_stream(input="Summarize our parental leave policy as JSON.", store=True, text={ + res = glean.chat.create_stream(input="Summarize our parental leave policy as JSON.", store=True, model="GPT5_6_LUNA", text={ "format_": { "type": models.PlatformChatJSONSchemaFormatType.JSON_SCHEMA, "name": "policy_summary", @@ -693,7 +693,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.create(file={ @@ -720,7 +720,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.search(name="HR Policy Agent", @@ -740,7 +740,7 @@ import os with Glean( retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False), - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.search(name="HR Policy Agent") @@ -856,7 +856,7 @@ import os with Glean( server_idx=0, instance="instance-name", - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.search(name="HR Policy Agent") @@ -876,7 +876,7 @@ import os with Glean( server_url="https://instance-name-be.glean.com", - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.search(name="HR Policy Agent") @@ -895,7 +895,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.datasources.submit(datasource_instance="", type_="", request_body={ @@ -1018,18 +1018,20 @@ import os def main(): with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: # Rest of application here... + pass # Or when using async: async def amain(): async with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: # Rest of application here... + pass ``` diff --git a/RELEASES.md b/RELEASES.md index a7b17ee7..a719ce45 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1038,4 +1038,14 @@ Based on: ### Generated - [python v0.17.18] . ### Releases -- [PyPI v0.17.18] https://pypi.org/project/glean-api-client/0.17.18 - . \ No newline at end of file +- [PyPI v0.17.18] https://pypi.org/project/glean-api-client/0.17.18 - . + +## 2026-11-04 05:08:27 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.806.0 (2.956.1) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.17.19] . +### Releases +- [PyPI v0.17.19] https://pypi.org/project/glean-api-client/0.17.19 - . \ No newline at end of file diff --git a/USAGE.md b/USAGE.md index 13f153fa..5f789a5a 100644 --- a/USAGE.md +++ b/USAGE.md @@ -6,7 +6,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create(messages=[ @@ -36,7 +36,7 @@ import os async def main(): async with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = await glean.client.chat.create_async(messages=[ @@ -62,7 +62,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create_stream(messages=[ @@ -92,7 +92,7 @@ import os async def main(): async with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = await glean.client.chat.create_stream_async(messages=[ diff --git a/docs/models/doccategory.md b/docs/models/doccategory.md index 0e883592..8b0a5ba9 100644 --- a/docs/models/doccategory.md +++ b/docs/models/doccategory.md @@ -36,4 +36,5 @@ value = DocCategory.UNCATEGORIZED | `CALENDAR` | CALENDAR | | `AGENTS` | AGENTS | | `AI_CONVERSATION` | AI_CONVERSATION | -| `AI_ARTIFACT` | AI_ARTIFACT | \ No newline at end of file +| `AI_ARTIFACT` | AI_ARTIFACT | +| `UGC_SKILL` | UGC_SKILL | \ No newline at end of file diff --git a/docs/models/feedrequestcategory.md b/docs/models/feedrequestcategory.md index ddae3565..d4b9bfb5 100644 --- a/docs/models/feedrequestcategory.md +++ b/docs/models/feedrequestcategory.md @@ -56,6 +56,7 @@ value = FeedRequestCategory.DOCUMENT_SUGGESTION | `PROJECT_FOCUS_BLOCK` | PROJECT_FOCUS_BLOCK | | `PROJECT_NEXT_STEP` | PROJECT_NEXT_STEP | | `DEMO_CARD` | DEMO_CARD | +| `PERSONAL_AGENT_NUX` | PERSONAL_AGENT_NUX | | `RESOLVE_MEETING_CONFLICT` | RESOLVE_MEETING_CONFLICT | | `FINDING_MEETING_ROOM` | FINDING_MEETING_ROOM | | `OOO_PLANNER` | OOO_PLANNER | diff --git a/docs/models/feedresultcategory.md b/docs/models/feedresultcategory.md index f072be9a..3080c795 100644 --- a/docs/models/feedresultcategory.md +++ b/docs/models/feedresultcategory.md @@ -60,6 +60,7 @@ value = FeedResultCategory.DOCUMENT_SUGGESTION | `PROJECT_FOCUS_BLOCK` | PROJECT_FOCUS_BLOCK | | `PROJECT_NEXT_STEP` | PROJECT_NEXT_STEP | | `DEMO_CARD` | DEMO_CARD | +| `PERSONAL_AGENT_NUX` | PERSONAL_AGENT_NUX | | `RESOLVE_MEETING_CONFLICT` | RESOLVE_MEETING_CONFLICT | | `FINDING_MEETING_ROOM` | FINDING_MEETING_ROOM | | `OOO_PLANNER` | OOO_PLANNER | diff --git a/docs/models/getchatpagination.md b/docs/models/getchatpagination.md new file mode 100644 index 00000000..75cfe812 --- /dev/null +++ b/docs/models/getchatpagination.md @@ -0,0 +1,13 @@ +# GetChatPagination + +Pagination cursors and page flags for a getchat message page. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `start_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor of the first (oldest) returned message. Omitted for an empty page. | +| `end_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor of the last (newest) returned message. Omitted for an empty page. | +| `has_next_page` | *bool* | :heavy_check_mark: | Whether visible messages exist after endCursor in chronological order. | +| `has_previous_page` | *bool* | :heavy_check_mark: | Whether visible messages exist before startCursor in chronological order. | \ No newline at end of file diff --git a/docs/models/getchatrequest.md b/docs/models/getchatrequest.md index 8b44a462..f57f6cf8 100644 --- a/docs/models/getchatrequest.md +++ b/docs/models/getchatrequest.md @@ -1,8 +1,14 @@ # GetChatRequest +Retrieves a Chat. Omit pagination fields to return the full message history. When paginating, messages are returned in chronological order. Allowed combinations: last alone (latest page), last with before (older messages), first alone (earliest page), or first with after (newer messages). first and last are mutually exclusive; before and after are mutually exclusive; first cannot be combined with before; last cannot be combined with after. + ## Fields -| Field | Type | Required | Description | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | -| `id` | *str* | :heavy_check_mark: | The id of the Chat to be retrieved. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Chat to be retrieved. | +| `first` | *Optional[int]* | :heavy_minus_sign: | Maximum number of messages to return from the start of the chat, or after the cursor when after is set. Pair with after for newer messages; alone returns the earliest messages. Mutually exclusive with last and before. | +| `after` | *Optional[str]* | :heavy_minus_sign: | An opaque message cursor from this chat. Returns messages strictly newer than this cursor. Pair with first. Mutually exclusive with before; cannot be combined with last. | +| `last` | *Optional[int]* | :heavy_minus_sign: | Maximum number of messages to return from the end of the chat, or before the cursor when before is set. Alone returns the latest messages; pair with before for older messages. Mutually exclusive with first and after. | +| `before` | *Optional[str]* | :heavy_minus_sign: | An opaque message cursor from this chat. Returns messages strictly older than this cursor. Pair with last. Mutually exclusive with after; cannot be combined with first. | \ No newline at end of file diff --git a/docs/models/getchatresponse.md b/docs/models/getchatresponse.md index da75bf93..2e4f80fb 100644 --- a/docs/models/getchatresponse.md +++ b/docs/models/getchatresponse.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `chat_result` | [Optional[models.ChatResult]](../models/chatresult.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `chat_result` | [Optional[models.ChatResult]](../models/chatresult.md) | :heavy_minus_sign: | N/A | +| `pagination` | [Optional[models.GetChatPagination]](../models/getchatpagination.md) | :heavy_minus_sign: | Pagination cursors and page flags for a getchat message page. | \ No newline at end of file diff --git a/docs/models/justificationtype.md b/docs/models/justificationtype.md index a7a0915b..0e94d6b0 100644 --- a/docs/models/justificationtype.md +++ b/docs/models/justificationtype.md @@ -73,6 +73,7 @@ value = JustificationType.FREQUENTLY_ACCESSED | `PROJECT_FOCUS_BLOCK` | PROJECT_FOCUS_BLOCK | | `PROJECT_NEXT_STEP` | PROJECT_NEXT_STEP | | `DEMO_CARD` | DEMO_CARD | +| `PERSONAL_AGENT_NUX` | PERSONAL_AGENT_NUX | | `RESOLVE_MEETING_CONFLICT` | RESOLVE_MEETING_CONFLICT | | `FINDING_MEETING_ROOM` | FINDING_MEETING_ROOM | | `OOO_PLANNER` | OOO_PLANNER | diff --git a/docs/models/message.md b/docs/models/message.md index 2bc3e991..19993421 100644 --- a/docs/models/message.md +++ b/docs/models/message.md @@ -3,7 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `role` | *Optional[str]* | :heavy_minus_sign: | The role of the message. | USER | -| `content` | List[[models.MessageTextBlock](../models/messagetextblock.md)] | :heavy_minus_sign: | The content of the message. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `role` | *Optional[str]* | :heavy_minus_sign: | The role of the message. | USER | +| `content` | List[[models.MessageTextBlock](../models/messagetextblock.md)] | :heavy_minus_sign: | The content of the message. | | +| `message_tracking_token` | *Optional[str]* | :heavy_minus_sign: | An opaque token that represents this particular agent message. Populated only on `GLEAN_AI` messages in responses. To record feedback, pass the token of the message being rated (typically the final `GLEAN_AI` message of the run) as the single entry in `trackingTokens` to `/feedback`, with `category: CHAT`. | | \ No newline at end of file diff --git a/docs/models/platformadminagent.md b/docs/models/platformadminagent.md deleted file mode 100644 index dd3ff628..00000000 --- a/docs/models/platformadminagent.md +++ /dev/null @@ -1,12 +0,0 @@ -# PlatformAdminAgent - -An agent in the workspace. - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `agent_id` | *str* | :heavy_check_mark: | Opaque agent ID. Other Platform APIs, such as usage limits, accept and return this ID.
| -| `display_name` | *str* | :heavy_check_mark: | The name that Glean shows for the agent. | -| `is_active` | *bool* | :heavy_check_mark: | Whether the agent is active. A deleted agent is inactive. | \ No newline at end of file diff --git a/docs/models/platformadminagentfilter.md b/docs/models/platformadminagentfilter.md index 8c063b2a..9190b322 100644 --- a/docs/models/platformadminagentfilter.md +++ b/docs/models/platformadminagentfilter.md @@ -5,8 +5,8 @@ A filter on one agent field. ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| `field` | *str* | :heavy_check_mark: | The agent field to filter on. The only supported field is is_active. | -| `values` | List[*str*] | :heavy_check_mark: | The values to match. An agent matches when any value matches. | -| `operator` | [Optional[models.PlatformAdminAgentFilterOperator]](../models/platformadminagentfilteroperator.md) | :heavy_minus_sign: | The only supported operator is EQUALS. Defaults to EQUALS. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `field` | *str* | :heavy_check_mark: | The agent field to filter on. name matches agents whose name contains the value. description matches agents whose description contains the value. Matching ignores case and surrounding whitespace. Each value is at most 256 characters.
| +| `values` | List[*str*] | :heavy_check_mark: | The values to match. An agent matches when any value matches. | +| `operator` | [Optional[models.PlatformAdminAgentFilterOperator]](../models/platformadminagentfilteroperator.md) | :heavy_minus_sign: | The only supported operator is EQUALS. Defaults to EQUALS. | \ No newline at end of file diff --git a/docs/models/platformadminagentslistrequest.md b/docs/models/platformadminagentslistrequest.md index 67e78ada..53c5c53b 100644 --- a/docs/models/platformadminagentslistrequest.md +++ b/docs/models/platformadminagentslistrequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of agents to return. Defaults to 50. Maximum is 100. | -| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| -| `filters` | List[[models.PlatformAdminAgentFilter](../models/platformadminagentfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which agents are returned. The only supported field is is_active, with the values "true" and "false" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active agents are returned. To return active and deleted agents, send [{"field":"is_active","values":["true","false"]}].
| \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of agents to return. Defaults to 50. Maximum is 100. | +| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| +| `filters` | List[[models.PlatformAdminAgentFilter](../models/platformadminagentfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which agents are returned. The supported fields are name and description, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together, and each field can appear in only one filter. For example, to return agents whose name contains "HR", send [{"field":"name","values":["HR"]}].
| \ No newline at end of file diff --git a/docs/models/platformadminidpgroupslistrequest.md b/docs/models/platformadminidpgroupslistrequest.md index 50a0fc62..a2e7a8a7 100644 --- a/docs/models/platformadminidpgroupslistrequest.md +++ b/docs/models/platformadminidpgroupslistrequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of IdP groups to return. Defaults to 50. Maximum is 100. | -| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| -| `filters` | List[[models.PlatformIdpGroupFilter](../models/platformidpgroupfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which IdP groups are returned. The only supported field is provider_instance, with datasource instance names such as "okta". provider_instance values match without case. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together.
| \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of IdP groups to return. Defaults to 50. Maximum is 100. | +| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| +| `filters` | List[[models.PlatformIdpGroupFilter](../models/platformidpgroupfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which IdP groups are returned. The supported fields are provider_instance, provider, and name. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. The name field may appear in only one filter. A value that matches no IdP group returns no IdP groups rather than an error.
| \ No newline at end of file diff --git a/docs/models/platformadminoauthclientslistrequest.md b/docs/models/platformadminoauthclientslistrequest.md index c47d4534..1ff91d25 100644 --- a/docs/models/platformadminoauthclientslistrequest.md +++ b/docs/models/platformadminoauthclientslistrequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of clients to return. Defaults to 50. Maximum is 100. | -| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| -| `filters` | List[[models.PlatformOAuthClientFilter](../models/platformoauthclientfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which clients are returned. The only supported field is is_active, with the values "true" and "false" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active clients are returned. To return active and inactive clients, send [{"field":"is_active","values":["true","false"]}].
| \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of clients to return. Defaults to 50. Maximum is 100. | +| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| +| `filters` | List[[models.PlatformOAuthClientFilter](../models/platformoauthclientfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which clients are returned. The supported fields are is_enabled, name, client_id, usage_client_id, has_ai_gateway, and supported_app, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Each field can appear in only one filter. Without an is_enabled filter, only enabled clients are returned. To return enabled and disabled clients, send [{"field":"is_enabled","values":["true","false"]}]. To find the Claude Code clients, send [{"field":"supported_app","values":["CLAUDE_CODE"]}].
| \ No newline at end of file diff --git a/docs/models/platformchatcreaterequest.md b/docs/models/platformchatcreaterequest.md index a100754d..3645c176 100644 --- a/docs/models/platformchatcreaterequest.md +++ b/docs/models/platformchatcreaterequest.md @@ -3,10 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `input` | [models.PlatformChatCreateInput](../models/platformchatcreateinput.md) | :heavy_check_mark: | Either a plain string (single user turn) or a chronological array of `USER`/`ASSISTANT` messages. The final array message must be `USER`.
| -| `stream` | *Optional[Literal[False]]* | :heavy_minus_sign: | N/A | -| `store` | *Optional[bool]* | :heavy_minus_sign: | When true (default), persist the interaction and return a `conversation_id`. When false, run ephemerally with no persistence.
| -| `conversation_id` | *Optional[str]* | :heavy_minus_sign: | Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`.
| -| `text` | [Optional[models.PlatformChatCreateText]](../models/platformchatcreatetext.md) | :heavy_minus_sign: | Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true.
| \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `input` | [models.PlatformChatCreateInput](../models/platformchatcreateinput.md) | :heavy_check_mark: | Either a plain string (single user turn) or a chronological array of `USER`/`ASSISTANT` messages. The final array message must be `USER`.
| | +| `stream` | *Optional[Literal[False]]* | :heavy_minus_sign: | N/A | | +| `store` | *Optional[bool]* | :heavy_minus_sign: | When true (default), persist the interaction and return a `conversation_id`. When false, run ephemerally with no persistence.
| | +| `conversation_id` | *Optional[str]* | :heavy_minus_sign: | Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`.
| | +| `model` | *Optional[str]* | :heavy_minus_sign: | Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model.
| GPT5_6_LUNA | +| `text` | [Optional[models.PlatformChatCreateText]](../models/platformchatcreatetext.md) | :heavy_minus_sign: | Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true.
| | \ No newline at end of file diff --git a/docs/models/platformchatcreatestreamrequest.md b/docs/models/platformchatcreatestreamrequest.md index aec04e2f..e2c27d66 100644 --- a/docs/models/platformchatcreatestreamrequest.md +++ b/docs/models/platformchatcreatestreamrequest.md @@ -3,10 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `input` | [models.PlatformChatCreateStreamInput](../models/platformchatcreatestreaminput.md) | :heavy_check_mark: | Either a plain string (single user turn) or a chronological array of `USER`/`ASSISTANT` messages. The final array message must be `USER`.
| -| `stream` | *Optional[Literal[True]]* | :heavy_minus_sign: | N/A | -| `store` | *Optional[bool]* | :heavy_minus_sign: | When true (default), persist the interaction and return a `conversation_id`. When false, run ephemerally with no persistence.
| -| `conversation_id` | *Optional[str]* | :heavy_minus_sign: | Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`.
| -| `text` | [Optional[models.PlatformChatCreateStreamText]](../models/platformchatcreatestreamtext.md) | :heavy_minus_sign: | Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true.
| \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `input` | [models.PlatformChatCreateStreamInput](../models/platformchatcreatestreaminput.md) | :heavy_check_mark: | Either a plain string (single user turn) or a chronological array of `USER`/`ASSISTANT` messages. The final array message must be `USER`.
| | +| `stream` | *Optional[Literal[True]]* | :heavy_minus_sign: | N/A | | +| `store` | *Optional[bool]* | :heavy_minus_sign: | When true (default), persist the interaction and return a `conversation_id`. When false, run ephemerally with no persistence.
| | +| `conversation_id` | *Optional[str]* | :heavy_minus_sign: | Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`.
| | +| `model` | *Optional[str]* | :heavy_minus_sign: | Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model.
| GPT5_6_LUNA | +| `text` | [Optional[models.PlatformChatCreateStreamText]](../models/platformchatcreatestreamtext.md) | :heavy_minus_sign: | Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true.
| | \ No newline at end of file diff --git a/docs/models/platformdepartmentfilter.md b/docs/models/platformdepartmentfilter.md new file mode 100644 index 00000000..58c6dd15 --- /dev/null +++ b/docs/models/platformdepartmentfilter.md @@ -0,0 +1,12 @@ +# PlatformDepartmentFilter + +A filter on one department field. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `field` | *str* | :heavy_check_mark: | The department field to filter on. The only supported field is name, which matches departments whose display_name contains the value, ignoring case and surrounding whitespace. Each value is at most 256 characters. To find the department with an exact name, such as a department_name from a usage limit response, filter by the name and compare display_name exactly.
| +| `values` | List[*str*] | :heavy_check_mark: | The values to match. A department matches when any value matches. | +| `operator` | [Optional[models.PlatformDepartmentFilterOperator]](../models/platformdepartmentfilteroperator.md) | :heavy_minus_sign: | The only supported operator is EQUALS. Defaults to EQUALS. | \ No newline at end of file diff --git a/docs/models/platformdepartmentfilteroperator.md b/docs/models/platformdepartmentfilteroperator.md new file mode 100644 index 00000000..03b97fb0 --- /dev/null +++ b/docs/models/platformdepartmentfilteroperator.md @@ -0,0 +1,23 @@ +# PlatformDepartmentFilterOperator + +The only supported operator is EQUALS. Defaults to EQUALS. + +## Example Usage + +```python +from glean.api_client.models import PlatformDepartmentFilterOperator + +value = PlatformDepartmentFilterOperator.EQUALS +``` + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `EQUALS` | EQUALS | +| `NOT_EQUALS` | NOT_EQUALS | +| `GT` | GT | +| `GTE` | GTE | +| `LT` | LT | +| `LTE` | LTE | \ No newline at end of file diff --git a/docs/models/platformdepartmentslistrequest.md b/docs/models/platformdepartmentslistrequest.md index da1561a2..08eab4db 100644 --- a/docs/models/platformdepartmentslistrequest.md +++ b/docs/models/platformdepartmentslistrequest.md @@ -3,7 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of departments to return. Defaults to 50. Maximum is 100. | -| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of departments to return. Defaults to 50. Maximum is 100. | +| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| +| `filters` | List[[models.PlatformDepartmentFilter](../models/platformdepartmentfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which departments are returned. The only supported field is name, with the operator EQUALS. Multiple values OR within a filter. The field may appear in only one filter. A value that matches no department returns no departments rather than an error.
| \ No newline at end of file diff --git a/docs/models/platformdocumentchangewebhookevent.md b/docs/models/platformdocumentchangewebhookevent.md index 926494c1..989f70fa 100644 --- a/docs/models/platformdocumentchangewebhookevent.md +++ b/docs/models/platformdocumentchangewebhookevent.md @@ -3,17 +3,18 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `version` | *str* | :heavy_check_mark: | Webhook payload schema version. | | -| `trigger_id` | *str* | :heavy_check_mark: | ID of the Platform trigger that produced the event. | trigger_test_123 | -| `event_type` | *str* | :heavy_check_mark: | N/A | | -| `datasource` | *str* | :heavy_check_mark: | Datasource the event originated from. | GITHUB | -| `reason` | *str* | :heavy_check_mark: | Why the event fired. | REVIEW_REQUESTED | -| `doc_type` | *str* | :heavy_check_mark: | Datasource-specific object type. | pull | -| `doc_id` | *str* | :heavy_check_mark: | Identifier of the document the event is about. | GITHUB_pull_123 | -| `view_url` | *str* | :heavy_check_mark: | Link to the document in its source system. | https://github.com/acme/payments-api/pull/123 | -| `title` | *str* | :heavy_check_mark: | Title of the document, or the subject for email. | Bug: login fails on Safari | -| `event_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Relevant event time. Document changes use the source-observed time when available and otherwise the document ingestion time; content schedules use the scheduled time. Omitted when no timestamp is available. | | -| `content` | *Optional[str]* | :heavy_minus_sign: | Email body content when the event is for an email document. | | -| `content_truncated` | *Optional[bool]* | :heavy_minus_sign: | Present and true when source content exceeded the delivery size limit. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | *str* | :heavy_check_mark: | Webhook payload schema version. | | +| `trigger_id` | *str* | :heavy_check_mark: | ID of the Platform trigger that produced the event. | trigger_test_123 | +| `event_type` | *str* | :heavy_check_mark: | N/A | | +| `datasource` | *str* | :heavy_check_mark: | Datasource the event originated from. | GITHUB | +| `reason` | *str* | :heavy_check_mark: | Why the event fired. | REVIEW_REQUESTED | +| `doc_type` | *str* | :heavy_check_mark: | Datasource-specific object type. | pull | +| `doc_id` | *str* | :heavy_check_mark: | Identifier of the document the event is about. | GITHUB_pull_123 | +| `view_url` | *str* | :heavy_check_mark: | Link to the document in its source system. | https://github.com/acme/payments-api/pull/123 | +| `title` | *str* | :heavy_check_mark: | Title of the document, or the subject for email. | Bug: login fails on Safari | +| `event_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Relevant event time. Document changes use the source-observed time when available and otherwise the document ingestion time; content schedules use the scheduled time. Omitted when no timestamp is available. | | +| `content` | *Optional[str]* | :heavy_minus_sign: | Email body content when the event is for an email document, or the message text when the event is for a Slack message. | | +| `content_truncated` | *Optional[bool]* | :heavy_minus_sign: | Present and true when source content exceeded the delivery size limit. | | +| `facets` | Dict[str, List[*str*]] | :heavy_minus_sign: | Facets of a Slack message as the event saw them, keyed as trigger filters key them, for example `from`, `mentions` and `channel`. Person facets carry the person's name. Each key lists up to 50 distinct values. Omitted for other documents and when the event has no facets. | | \ No newline at end of file diff --git a/docs/models/platformidpgroupfilter.md b/docs/models/platformidpgroupfilter.md index f42af6ec..7082c97f 100644 --- a/docs/models/platformidpgroupfilter.md +++ b/docs/models/platformidpgroupfilter.md @@ -5,8 +5,8 @@ A filter on one IdP group field. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `field` | *str* | :heavy_check_mark: | The IdP group field to filter on. The only supported field is provider_instance.
| -| `values` | List[*str*] | :heavy_check_mark: | The values to match. An IdP group matches when any value matches. | -| `operator` | [Optional[models.PlatformIdpGroupFilterOperator]](../models/platformidpgroupfilteroperator.md) | :heavy_minus_sign: | The only supported operator is EQUALS. Defaults to EQUALS. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `field` | *str* | :heavy_check_mark: | The IdP group field to filter on.
- provider_instance: matches groups from the datasource instance, such as
"okta", ignoring case.

- provider: matches groups from the identity provider, such as "okta", ignoring
case.

- name: matches groups whose display_name contains the value, ignoring case and
surrounding whitespace. Each value is at most 256 characters.
| +| `values` | List[*str*] | :heavy_check_mark: | The values to match. An IdP group matches when any value matches. | +| `operator` | [Optional[models.PlatformIdpGroupFilterOperator]](../models/platformidpgroupfilteroperator.md) | :heavy_minus_sign: | The only supported operator is EQUALS. Defaults to EQUALS. | \ No newline at end of file diff --git a/docs/models/platformlistadminagentsresponse.md b/docs/models/platformlistadminagentsresponse.md index 493b8956..74158e87 100644 --- a/docs/models/platformlistadminagentsresponse.md +++ b/docs/models/platformlistadminagentsresponse.md @@ -7,7 +7,7 @@ One page of agents. | Field | Type | Required | Description | | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | -| `results` | List[[models.PlatformAdminAgent](../models/platformadminagent.md)] | :heavy_check_mark: | The agents on this page, ordered by display_name and then by agent_id. | +| `results` | List[[models.PlatformAgent](../models/platformagent.md)] | :heavy_check_mark: | The agents on this page, ordered by name and then by agent_id. | | `has_more` | *bool* | :heavy_check_mark: | Whether more agents are available after this page. | | `next_cursor` | *OptionalNullable[str]* | :heavy_minus_sign: | Opaque cursor for the next page; null or absent when has_more is false. | | `request_id` | *str* | :heavy_check_mark: | Request identifier for correlating this response. | \ No newline at end of file diff --git a/docs/models/platformoauthclient.md b/docs/models/platformoauthclient.md index 62d7532d..8b72efac 100644 --- a/docs/models/platformoauthclient.md +++ b/docs/models/platformoauthclient.md @@ -14,6 +14,6 @@ An OAuth client that an admin created for the workspace. | `grant_types` | List[[models.PlatformOAuthGrantType](../models/platformoauthgranttype.md)] | :heavy_check_mark: | The OAuth grant types that the client can use. | | `token_endpoint_auth_method` | [Optional[models.PlatformOAuthTokenEndpointAuthMethod]](../models/platformoauthtokenendpointauthmethod.md) | :heavy_minus_sign: | How an OAuth client authenticates to the token endpoint. | | `redirect_uris` | List[*str*] | :heavy_check_mark: | The redirect URIs that the client can use. | -| `is_active` | *bool* | :heavy_check_mark: | Whether the client is active. A client that an admin disabled is inactive and cannot authenticate.
| +| `is_enabled` | *bool* | :heavy_check_mark: | Whether the client is enabled. A client that an admin disabled cannot authenticate.
| | `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | When the client was created. Absent when it is not known. | | `ai_gateway` | [Optional[models.PlatformOAuthClientAiGateway]](../models/platformoauthclientaigateway.md) | :heavy_minus_sign: | LLM Gateway details of an OAuth client. | \ No newline at end of file diff --git a/docs/models/platformoauthclientaigateway.md b/docs/models/platformoauthclientaigateway.md index 88dcbcbf..d0cef82f 100644 --- a/docs/models/platformoauthclientaigateway.md +++ b/docs/models/platformoauthclientaigateway.md @@ -7,4 +7,5 @@ LLM Gateway details of an OAuth client. | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `usage_client_id` | *str* | :heavy_check_mark: | The spend-client ID that usage records and usage limits use for this client. Send it as the client_id of a usage limit. It is an opaque, case-sensitive string; do not build it from client_id.
| \ No newline at end of file +| `usage_client_id` | *str* | :heavy_check_mark: | The spend-client ID that usage records and usage limits use for this client. Send it as the client_id of a usage limit. It is an opaque, case-sensitive string; do not build it from client_id.
| +| `supported_apps` | List[[models.PlatformOAuthClientSupportedApp](../models/platformoauthclientsupportedapp.md)] | :heavy_check_mark: | The apps that the client is set up for, in alphabetical order. Empty when no app is recorded for the client.
| \ No newline at end of file diff --git a/docs/models/platformoauthclientfilter.md b/docs/models/platformoauthclientfilter.md index 90753cb7..ca5651f2 100644 --- a/docs/models/platformoauthclientfilter.md +++ b/docs/models/platformoauthclientfilter.md @@ -5,8 +5,8 @@ A filter on one OAuth client field. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `field` | *str* | :heavy_check_mark: | The client field to filter on. The only supported field is is_active. | -| `values` | List[*str*] | :heavy_check_mark: | The values to match. A client matches when any value matches. | -| `operator` | [Optional[models.PlatformOAuthClientFilterOperator]](../models/platformoauthclientfilteroperator.md) | :heavy_minus_sign: | The only supported operator is EQUALS. Defaults to EQUALS. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `field` | *str* | :heavy_check_mark: | The client field to filter on.
- is_enabled: "true" matches enabled clients, and "false" matches disabled
clients.

- name: matches clients whose display_name contains the value, ignoring
case and surrounding whitespace. Each value is at most 256 characters.

- client_id: matches the client with this OAuth client_id.
- usage_client_id: matches the client with this ai_gateway.usage_client_id.
- has_ai_gateway: "true" matches clients that can call the Glean LLM
Gateway, which are the clients with ai_gateway. "false" matches the
other clients.

- supported_app: matches clients whose ai_gateway.supported_apps contains
the value, such as CLAUDE_CODE. The values are the OAuthClientSupportedApp
values.
| +| `values` | List[*str*] | :heavy_check_mark: | The values to match. A client matches when any value matches. | +| `operator` | [Optional[models.PlatformOAuthClientFilterOperator]](../models/platformoauthclientfilteroperator.md) | :heavy_minus_sign: | The only supported operator is EQUALS. Defaults to EQUALS. | \ No newline at end of file diff --git a/docs/models/platformoauthclientsupportedapp.md b/docs/models/platformoauthclientsupportedapp.md new file mode 100644 index 00000000..32b4ba07 --- /dev/null +++ b/docs/models/platformoauthclientsupportedapp.md @@ -0,0 +1,21 @@ +# PlatformOAuthClientSupportedApp + +An app that an LLM Gateway client is set up for. + +## Example Usage + +```python +from glean.api_client.models import PlatformOAuthClientSupportedApp + +value = PlatformOAuthClientSupportedApp.CLAUDE_CODE + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `CLAUDE_CODE` | CLAUDE_CODE | +| `CODEX` | CODEX | \ No newline at end of file diff --git a/docs/models/platformproblemdetailcode.md b/docs/models/platformproblemdetailcode.md index 4495e942..f05ce109 100644 --- a/docs/models/platformproblemdetailcode.md +++ b/docs/models/platformproblemdetailcode.md @@ -15,28 +15,29 @@ value = PlatformProblemDetailCode.INVALID_REQUEST ## Values -| Name | Value | -| -------------------------- | -------------------------- | -| `INVALID_REQUEST` | invalid_request | -| `MISSING_REQUIRED_FIELD` | missing_required_field | -| `INVALID_PARAMETER` | invalid_parameter | -| `INVALID_CURSOR` | invalid_cursor | -| `EXPIRED_CURSOR` | expired_cursor | -| `INVALID_FILTER` | invalid_filter | -| `INVALID_DATASOURCE` | invalid_datasource | -| `AUTHENTICATION_REQUIRED` | authentication_required | -| `TOKEN_EXPIRED` | token_expired | -| `INSUFFICIENT_PERMISSIONS` | insufficient_permissions | -| `SPEND_LIMIT_EXCEEDED` | spend_limit_exceeded | -| `RESOURCE_NOT_FOUND` | resource_not_found | -| `METHOD_NOT_ALLOWED` | method_not_allowed | -| `REQUEST_TIMEOUT` | request_timeout | -| `REQUEST_TOO_LARGE` | request_too_large | -| `TOKEN_LIMIT_EXCEEDED` | token_limit_exceeded | -| `CONFLICT` | conflict | -| `GONE` | gone | -| `UNPROCESSABLE_QUERY` | unprocessable_query | -| `TOOLS_UNAUTHORIZED` | tools_unauthorized | -| `RATE_LIMIT_EXCEEDED` | rate_limit_exceeded | -| `INTERNAL_ERROR` | internal_error | -| `SERVICE_UNAVAILABLE` | service_unavailable | \ No newline at end of file +| Name | Value | +| --------------------------- | --------------------------- | +| `INVALID_REQUEST` | invalid_request | +| `MISSING_REQUIRED_FIELD` | missing_required_field | +| `INVALID_PARAMETER` | invalid_parameter | +| `UNSUPPORTED_ACTION_TARGET` | unsupported_action_target | +| `INVALID_CURSOR` | invalid_cursor | +| `EXPIRED_CURSOR` | expired_cursor | +| `INVALID_FILTER` | invalid_filter | +| `INVALID_DATASOURCE` | invalid_datasource | +| `AUTHENTICATION_REQUIRED` | authentication_required | +| `TOKEN_EXPIRED` | token_expired | +| `INSUFFICIENT_PERMISSIONS` | insufficient_permissions | +| `SPEND_LIMIT_EXCEEDED` | spend_limit_exceeded | +| `RESOURCE_NOT_FOUND` | resource_not_found | +| `METHOD_NOT_ALLOWED` | method_not_allowed | +| `REQUEST_TIMEOUT` | request_timeout | +| `REQUEST_TOO_LARGE` | request_too_large | +| `TOKEN_LIMIT_EXCEEDED` | token_limit_exceeded | +| `CONFLICT` | conflict | +| `GONE` | gone | +| `UNPROCESSABLE_QUERY` | unprocessable_query | +| `TOOLS_UNAUTHORIZED` | tools_unauthorized | +| `RATE_LIMIT_EXCEEDED` | rate_limit_exceeded | +| `INTERNAL_ERROR` | internal_error | +| `SERVICE_UNAVAILABLE` | service_unavailable | \ No newline at end of file diff --git a/docs/sdks/adminagents/README.md b/docs/sdks/adminagents/README.md index 1a1f8216..f4b51cc5 100644 --- a/docs/sdks/adminagents/README.md +++ b/docs/sdks/adminagents/README.md @@ -8,7 +8,7 @@ ## list -List every agent in the workspace, ordered by display_name and then by agent_id. Unlike agent search, the list does not depend on who an agent is shared with, so it includes private and disabled agents. Deleted agents are inactive and are left out unless an is_active filter includes the value "false". Use the agent_id of an active agent with other Platform APIs, for example as a usage limit target. A deleted agent is not a valid usage limit target. The caller must be able to read all agents, administer agents, or read workspace billing. +List every agent in the workspace, ordered by name and then by agent_id. Each agent has the same shape that Get agent returns. Unlike agent search, the list does not depend on who an agent is shared with, so it includes private and disabled agents. Deleted agents are left out. Use the agent_id with other Platform APIs, for example as a usage limit target. The caller must be able to read all agents, administer agents, or read workspace billing. ### Example Usage @@ -20,7 +20,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.admin.agents.list(page_size=50) @@ -32,12 +32,12 @@ with Glean( ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of agents to return. Defaults to 50. Maximum is 100. | -| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| -| `filters` | List[[models.PlatformAdminAgentFilter](../../models/platformadminagentfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which agents are returned. The only supported field is is_active, with the values "true" and "false" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active agents are returned. To return active and deleted agents, send [{"field":"is_active","values":["true","false"]}].
| -| `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 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of agents to return. Defaults to 50. Maximum is 100. | +| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| +| `filters` | List[[models.PlatformAdminAgentFilter](../../models/platformadminagentfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which agents are returned. The supported fields are name and description, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together, and each field can appear in only one filter. For example, to return agents whose name contains "HR", send [{"field":"name","values":["HR"]}].
| +| `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/docs/sdks/adminidpgroups/README.md b/docs/sdks/adminidpgroups/README.md index 40a6696e..0574fa56 100644 --- a/docs/sdks/adminidpgroups/README.md +++ b/docs/sdks/adminidpgroups/README.md @@ -9,7 +9,7 @@ ## list -List the identity provider (IdP) groups that Glean loads from the directory, ordered by display_name and then by idp_group_id. Use idp_group_id to name a group in other Platform APIs, such as the usage limit evaluation and limit increase request APIs. Usage limits apply only to IdP groups from the datasource instance in usage_settings.user_grouping.idp_group_provider_instance of the get usage settings response, and this API always lists that instance's groups. To list only those groups, pass that value in a provider_instance filter of the filters parameter, for example `filters=[{"field":"provider_instance","operator":"EQUALS","values":["okta"]}]`, URL-encoded as `filters=%5B%7B%22field%22%3A%22provider_instance%22%2C%22operator%22%3A%22EQUALS%22%2C%22values%22%3A%5B%22okta%22%5D%7D%5D`. Internal O365 ownership groups and SharePoint groups are left out. The caller must be able to read the workspace configuration or the workspace billing. +List the identity provider (IdP) groups that Glean loads from the directory, ordered by display_name and then by idp_group_id. Use idp_group_id to name a group in other Platform APIs, such as the usage limit evaluation and limit increase request APIs. Usage limits apply only to IdP groups from the datasource instance in usage_settings.user_grouping.idp_group_provider_instance of the get usage settings response, and this API always lists that instance's groups. To list only those groups, pass that value in a provider_instance filter of the filters parameter, for example `filters=[{"field":"provider_instance","operator":"EQUALS","values":["okta"]}]`, URL-encoded as `filters=%5B%7B%22field%22%3A%22provider_instance%22%2C%22operator%22%3A%22EQUALS%22%2C%22values%22%3A%5B%22okta%22%5D%7D%5D`. Send a provider filter to list only one provider's groups, and a name filter to list only the groups whose display_name contains a value. Internal O365 ownership groups and SharePoint groups are left out. The caller must be able to read the workspace configuration or the workspace billing. ### Example Usage @@ -21,7 +21,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.admin.idpgroups.list(page_size=50) @@ -33,12 +33,12 @@ with Glean( ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of IdP groups to return. Defaults to 50. Maximum is 100. | -| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| -| `filters` | List[[models.PlatformIdpGroupFilter](../../models/platformidpgroupfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which IdP groups are returned. The only supported field is provider_instance, with datasource instance names such as "okta". provider_instance values match without case. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together.
| -| `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 | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of IdP groups to return. Defaults to 50. Maximum is 100. | +| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| +| `filters` | List[[models.PlatformIdpGroupFilter](../../models/platformidpgroupfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which IdP groups are returned. The supported fields are provider_instance, provider, and name. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. The name field may appear in only one filter. A value that matches no IdP group returns no IdP groups rather than an error.
| +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -66,7 +66,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.admin.idpgroups.get(idp_group_id="{idp_group_id}") diff --git a/docs/sdks/agents/README.md b/docs/sdks/agents/README.md index c7d0fedc..a2e5d718 100644 --- a/docs/sdks/agents/README.md +++ b/docs/sdks/agents/README.md @@ -26,7 +26,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.search(name="HR Policy Agent") @@ -69,7 +69,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.get(agent_id="{agent_id}") @@ -112,7 +112,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.get_schemas(agent_id="{agent_id}", include_tools=False) @@ -156,7 +156,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.create_run(agent_id="{agent_id}", messages=[ @@ -215,7 +215,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.get_run(agent_id="{agent_id}", run_id="{run_id}") @@ -259,7 +259,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.cancel_run(agent_id="{agent_id}", run_id="{run_id}") @@ -303,7 +303,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.agents.respond_to_run(agent_id="{agent_id}", run_id="{run_id}", responses=[ diff --git a/docs/sdks/announcements/README.md b/docs/sdks/announcements/README.md index 6ce0ff13..09c63507 100644 --- a/docs/sdks/announcements/README.md +++ b/docs/sdks/announcements/README.md @@ -22,7 +22,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.announcements.create(start_time=parse_datetime("2023-05-01T12:02:10.816Z"), end_time=parse_datetime("2024-03-17T14:19:30.278Z"), title="", body={ @@ -1120,7 +1120,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.announcements.delete(id=458809) @@ -1157,7 +1157,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.announcements.update(start_time=parse_datetime("2023-10-24T01:53:24.440Z"), end_time=parse_datetime("2024-10-30T07:24:12.087Z"), title="", id=210913, body={ diff --git a/docs/sdks/answers/README.md b/docs/sdks/answers/README.md index 1ba6c974..7a32df2a 100644 --- a/docs/sdks/answers/README.md +++ b/docs/sdks/answers/README.md @@ -23,7 +23,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.answers.create(data={ @@ -112,7 +112,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.answers.delete(id=3, doc_id="ANSWERS_answer_3") @@ -149,7 +149,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.answers.update(id=3, doc_id="ANSWERS_answer_3", question="Why is the sky blue?", body_text="From https://en.wikipedia.org/wiki/Diffuse_sky_radiation, the sky is blue because blue light is more strongly scattered than longer-wavelength light.", audience_filters=[ @@ -244,7 +244,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.answers.retrieve(id=3, doc_id="ANSWERS_answer_3") @@ -288,7 +288,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.answers.list() diff --git a/docs/sdks/chatsdk/README.md b/docs/sdks/chatsdk/README.md index 022f1c28..a165ba19 100644 --- a/docs/sdks/chatsdk/README.md +++ b/docs/sdks/chatsdk/README.md @@ -22,10 +22,10 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: - res = glean.chat.create(input="Summarize our parental leave policy as JSON.", store=True, text={ + res = glean.chat.create(input="Summarize our parental leave policy as JSON.", store=True, model="GPT5_6_LUNA", text={ "format_": { "type": models.PlatformChatJSONSchemaFormatType.JSON_SCHEMA, "name": "policy_summary", @@ -55,13 +55,14 @@ with Glean( ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `input` | [models.PlatformChatCreateInput](../../models/platformchatcreateinput.md) | :heavy_check_mark: | Either a plain string (single user turn) or a chronological array of `USER`/`ASSISTANT` messages. The final array message must be `USER`.
| -| `store` | *Optional[bool]* | :heavy_minus_sign: | When true (default), persist the interaction and return a `conversation_id`. When false, run ephemerally with no persistence.
| -| `conversation_id` | *Optional[str]* | :heavy_minus_sign: | Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`.
| -| `text` | [Optional[models.PlatformChatCreateText]](../../models/platformchatcreatetext.md) | :heavy_minus_sign: | Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true.
| -| `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 | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `input` | [models.PlatformChatCreateInput](../../models/platformchatcreateinput.md) | :heavy_check_mark: | Either a plain string (single user turn) or a chronological array of `USER`/`ASSISTANT` messages. The final array message must be `USER`.
| | +| `store` | *Optional[bool]* | :heavy_minus_sign: | When true (default), persist the interaction and return a `conversation_id`. When false, run ephemerally with no persistence.
| | +| `conversation_id` | *Optional[str]* | :heavy_minus_sign: | Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`.
| | +| `model` | *Optional[str]* | :heavy_minus_sign: | Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model.
| GPT5_6_LUNA | +| `text` | [Optional[models.PlatformChatCreateText]](../../models/platformchatcreatetext.md) | :heavy_minus_sign: | Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true.
| | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response @@ -88,7 +89,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.chat.update(chat_id="{chat_id}", name="Quarterly planning notes") @@ -132,10 +133,10 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: - res = glean.chat.create_stream(input="Summarize our parental leave policy as JSON.", store=True, text={ + res = glean.chat.create_stream(input="Summarize our parental leave policy as JSON.", store=True, model="GPT5_6_LUNA", text={ "format_": { "type": models.PlatformChatJSONSchemaFormatType.JSON_SCHEMA, "name": "policy_summary", @@ -167,13 +168,14 @@ with Glean( ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `input` | [models.PlatformChatCreateStreamInput](../../models/platformchatcreatestreaminput.md) | :heavy_check_mark: | Either a plain string (single user turn) or a chronological array of `USER`/`ASSISTANT` messages. The final array message must be `USER`.
| -| `store` | *Optional[bool]* | :heavy_minus_sign: | When true (default), persist the interaction and return a `conversation_id`. When false, run ephemerally with no persistence.
| -| `conversation_id` | *Optional[str]* | :heavy_minus_sign: | Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`.
| -| `text` | [Optional[models.PlatformChatCreateStreamText]](../../models/platformchatcreatestreamtext.md) | :heavy_minus_sign: | Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true.
| -| `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 | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `input` | [models.PlatformChatCreateStreamInput](../../models/platformchatcreatestreaminput.md) | :heavy_check_mark: | Either a plain string (single user turn) or a chronological array of `USER`/`ASSISTANT` messages. The final array message must be `USER`.
| | +| `store` | *Optional[bool]* | :heavy_minus_sign: | When true (default), persist the interaction and return a `conversation_id`. When false, run ephemerally with no persistence.
| | +| `conversation_id` | *Optional[str]* | :heavy_minus_sign: | Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`.
| | +| `model` | *Optional[str]* | :heavy_minus_sign: | Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model.
| GPT5_6_LUNA | +| `text` | [Optional[models.PlatformChatCreateStreamText]](../../models/platformchatcreatestreamtext.md) | :heavy_minus_sign: | Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true.
| | +| `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/docs/sdks/clientactivity/README.md b/docs/sdks/clientactivity/README.md index 456e90e3..34d00a05 100644 --- a/docs/sdks/clientactivity/README.md +++ b/docs/sdks/clientactivity/README.md @@ -21,7 +21,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.activity.report(events=[ @@ -79,7 +79,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.activity.feedback(feedback1={ diff --git a/docs/sdks/clientagents/README.md b/docs/sdks/clientagents/README.md index 4df20f8a..ec148630 100644 --- a/docs/sdks/clientagents/README.md +++ b/docs/sdks/clientagents/README.md @@ -26,7 +26,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.agents.create() @@ -72,7 +72,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.agents.retrieve(agent_id="") @@ -115,7 +115,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.agents.update(agent_id="") @@ -157,7 +157,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.agents.retrieve_schemas(agent_id="") @@ -200,7 +200,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.agents.import_(agent_id="", bundle={ @@ -256,7 +256,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.agents.list(name="HR Policy Agent") @@ -299,7 +299,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.agents.run_stream(agent_id="", messages=[ @@ -350,7 +350,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.agents.run(agent_id="", messages=[ diff --git a/docs/sdks/clientauthentication/README.md b/docs/sdks/clientauthentication/README.md index 7d4827b2..c50cb20e 100644 --- a/docs/sdks/clientauthentication/README.md +++ b/docs/sdks/clientauthentication/README.md @@ -27,7 +27,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.authentication.check_datasource_auth() @@ -71,7 +71,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.authentication.create_token() diff --git a/docs/sdks/clientchat/README.md b/docs/sdks/clientchat/README.md index dae29ba8..c59d035d 100644 --- a/docs/sdks/clientchat/README.md +++ b/docs/sdks/clientchat/README.md @@ -29,7 +29,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create(messages=[], timeout_millis=30000) @@ -47,7 +47,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create(messages=[ @@ -73,7 +73,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create(messages=[ @@ -101,7 +101,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create(messages=[], timeout_millis=30000) @@ -119,7 +119,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create(messages=[], timeout_millis=30000) @@ -171,7 +171,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.chat.delete_all() @@ -207,7 +207,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.chat.delete(ids=[]) @@ -233,7 +233,7 @@ with Glean( ## retrieve -Retrieves the chat history between Glean Assistant and the user for a given Chat. +Retrieves the chat history between Glean Assistant and the user for a given Chat. Omit pagination fields to return the full message history (existing behavior). Use last alone for the latest page, last with before for older messages, or first with after for newer messages. Each page is chronological and includes pagination cursors and page flags. ### Example Usage @@ -244,7 +244,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.retrieve(id="") @@ -256,12 +256,16 @@ with Glean( ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The id of the Chat to be retrieved. | -| `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. | -| `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 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Chat to be retrieved. | +| `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. | +| `first` | *Optional[int]* | :heavy_minus_sign: | Maximum number of messages to return from the start of the chat, or after the cursor when after is set. Pair with after for newer messages; alone returns the earliest messages. Mutually exclusive with last and before. | +| `after` | *Optional[str]* | :heavy_minus_sign: | An opaque message cursor from this chat. Returns messages strictly newer than this cursor. Pair with first. Mutually exclusive with before; cannot be combined with last. | +| `last` | *Optional[int]* | :heavy_minus_sign: | Maximum number of messages to return from the end of the chat, or before the cursor when before is set. Alone returns the latest messages; pair with before for older messages. Mutually exclusive with first and after. | +| `before` | *Optional[str]* | :heavy_minus_sign: | An opaque message cursor from this chat. Returns messages strictly older than this cursor. Pair with last. Mutually exclusive with after; cannot be combined with first. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -287,7 +291,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.list() @@ -328,7 +332,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.retrieve_application(id="") @@ -370,7 +374,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.upload_files(files=[]) @@ -412,7 +416,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.retrieve_files(file_ids=[ @@ -456,7 +460,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.chat.delete_files(file_ids=[ @@ -498,7 +502,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.retrieve_file(file_id="") @@ -539,7 +543,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create_stream(messages=[], timeout_millis=30000) @@ -557,7 +561,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create_stream(messages=[ @@ -583,7 +587,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create_stream(messages=[ @@ -611,7 +615,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create_stream(messages=[], timeout_millis=30000) @@ -629,7 +633,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.chat.create_stream(messages=[], timeout_millis=30000) diff --git a/docs/sdks/clientdatasources/README.md b/docs/sdks/clientdatasources/README.md index 83d845c0..59f4a92b 100644 --- a/docs/sdks/clientdatasources/README.md +++ b/docs/sdks/clientdatasources/README.md @@ -23,7 +23,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.datasources.retrieve_configuration(datasource_id="o365sharepoint", instance_id="o365sharepoint_abc123") @@ -66,7 +66,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.datasources.update_configuration(datasource_id="o365sharepoint", instance_id="o365sharepoint_abc123", configuration={ @@ -114,7 +114,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.datasources.retrieve_credential_status(datasource_instance_id="o365sharepoint_abc123") @@ -157,7 +157,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.datasources.rotate_credentials(datasource_instance_id="o365sharepoint_abc123", credentials={ diff --git a/docs/sdks/clientdocuments/README.md b/docs/sdks/clientdocuments/README.md index f2fd9a07..fd4c6947 100644 --- a/docs/sdks/clientdocuments/README.md +++ b/docs/sdks/clientdocuments/README.md @@ -22,7 +22,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.documents.retrieve_permissions() @@ -63,7 +63,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.documents.retrieve() @@ -104,7 +104,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.documents.retrieve_by_facets(get_documents_by_facets_request={ @@ -166,7 +166,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.documents.summarize(document_specs=[ diff --git a/docs/sdks/clients/README.md b/docs/sdks/clients/README.md index b0ebf46d..3c679b01 100644 --- a/docs/sdks/clients/README.md +++ b/docs/sdks/clients/README.md @@ -9,7 +9,7 @@ ## list -List the static OAuth clients that admins created for this workspace, ordered by display_name and then by client_id. Dynamically registered clients and Glean's own clients, such as Glean Desktop, are not listed. A client is active when it is enabled. Inactive clients are left out unless an is_active filter includes the value "false". To set a usage limit for a client, send its ai_gateway.usage_client_id, not its client_id, to the usage APIs. The caller needs admin read or billing read permission. +List the static OAuth clients that admins created for this workspace, ordered by display_name and then by client_id. Dynamically registered clients and Glean's own clients, such as Glean Desktop, are not listed. Disabled clients are left out unless an is_enabled filter includes the value "false". Use filters to find clients by name, client_id, usage_client_id, LLM Gateway access, or supported app. To set a usage limit for a client, send its ai_gateway.usage_client_id, not its client_id, to the usage APIs. The caller needs admin read or billing read permission. ### Example Usage @@ -21,7 +21,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.admin.oauth.clients.list(page_size=50) @@ -33,12 +33,12 @@ with Glean( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of clients to return. Defaults to 50. Maximum is 100. | -| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| -| `filters` | List[[models.PlatformOAuthClientFilter](../../models/platformoauthclientfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which clients are returned. The only supported field is is_active, with the values "true" and "false" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active clients are returned. To return active and inactive clients, send [{"field":"is_active","values":["true","false"]}].
| -| `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 | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of clients to return. Defaults to 50. Maximum is 100. | +| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| +| `filters` | List[[models.PlatformOAuthClientFilter](../../models/platformoauthclientfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which clients are returned. The supported fields are is_enabled, name, client_id, usage_client_id, has_ai_gateway, and supported_app, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Each field can appear in only one filter. Without an is_enabled filter, only enabled clients are returned. To return enabled and disabled clients, send [{"field":"is_enabled","values":["true","false"]}]. To find the Claude Code clients, send [{"field":"supported_app","values":["CLAUDE_CODE"]}].
| +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -54,7 +54,7 @@ with Glean( ## get -Get one static OAuth client that an admin created for this workspace. A client that an admin disabled is returned with is_active false. A deleted client, a dynamically registered client, one of Glean's own clients, such as Glean Desktop, and an unknown client_id all return 404. The path takes the OAuth client_id, not ai_gateway.usage_client_id. The caller needs admin read or billing read permission. +Get one static OAuth client that an admin created for this workspace. A client that an admin disabled is returned with is_enabled false. A deleted client, a dynamically registered client, one of Glean's own clients, such as Glean Desktop, and an unknown client_id all return 404. The path takes the OAuth client_id, not ai_gateway.usage_client_id. The caller needs admin read or billing read permission. ### Example Usage @@ -66,7 +66,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.admin.oauth.clients.get(client_id="{client_id}") diff --git a/docs/sdks/clientsearch/README.md b/docs/sdks/clientsearch/README.md index 2ca2ff68..a8a4bf7e 100644 --- a/docs/sdks/clientsearch/README.md +++ b/docs/sdks/clientsearch/README.md @@ -24,7 +24,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.search.query_as_admin(query="vacation policy", tracking_token="trackingToken", source_document=models.Document( @@ -183,7 +183,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.search.autocomplete(tracking_token="trackingToken", query="what is a que", datasource="GDRIVE", result_size=10, auth_tokens=[ @@ -239,7 +239,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.search.retrieve_feed(timeout_millis=5000) @@ -284,7 +284,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.search.recommendations(source_document=models.Document( @@ -510,7 +510,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.search.query(query="vacation policy", tracking_token="trackingToken", source_document=models.Document( diff --git a/docs/sdks/clientshortcuts/README.md b/docs/sdks/clientshortcuts/README.md index 67222f0a..f9cfc1b4 100644 --- a/docs/sdks/clientshortcuts/README.md +++ b/docs/sdks/clientshortcuts/README.md @@ -23,7 +23,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.shortcuts.create(data={ @@ -83,7 +83,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.shortcuts.delete(id=975862) @@ -119,7 +119,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.shortcuts.retrieve(get_shortcut_request={ @@ -162,7 +162,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.shortcuts.list(page_size=10, cursor="", filters=[ @@ -222,7 +222,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.shortcuts.update(id=268238, added_roles=[ diff --git a/docs/sdks/clientverification/README.md b/docs/sdks/clientverification/README.md index 63fa8d6c..d321b394 100644 --- a/docs/sdks/clientverification/README.md +++ b/docs/sdks/clientverification/README.md @@ -21,7 +21,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.verification.add_reminder(document_id="") @@ -65,7 +65,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.verification.list() @@ -106,7 +106,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.verification.verify(document_id="") diff --git a/docs/sdks/collections/README.md b/docs/sdks/collections/README.md index 08b788c0..803ce33a 100644 --- a/docs/sdks/collections/README.md +++ b/docs/sdks/collections/README.md @@ -26,7 +26,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.collections.add_items(collection_id=7742.68) @@ -68,7 +68,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.collections.create(name="", added_roles=[ @@ -150,7 +150,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.collections.delete(ids=[ @@ -192,7 +192,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.collections.delete_item(collection_id=6980.49, item_id="") @@ -235,7 +235,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.collections.update(name="", id=347152, added_roles=[ @@ -317,7 +317,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.collections.update_item(collection_id=142375, item_id="") @@ -362,7 +362,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.collections.retrieve(id=425335) @@ -406,7 +406,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.collections.list() diff --git a/docs/sdks/custommetadata/README.md b/docs/sdks/custommetadata/README.md index adac5170..591db4d2 100644 --- a/docs/sdks/custommetadata/README.md +++ b/docs/sdks/custommetadata/README.md @@ -23,7 +23,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.custom_metadata.upsert(doc_id="", group_name="", custom_metadata=[]) @@ -68,7 +68,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.custom_metadata.delete(doc_id="", group_name="") @@ -112,7 +112,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.custom_metadata.get_schema(group_name="") @@ -155,7 +155,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.custom_metadata.upsert_schema(group_name="", metadata_keys=[]) @@ -199,7 +199,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.custom_metadata.delete_schema(group_name="") diff --git a/docs/sdks/departments/README.md b/docs/sdks/departments/README.md index 245fe6ee..daa008d7 100644 --- a/docs/sdks/departments/README.md +++ b/docs/sdks/departments/README.md @@ -9,7 +9,7 @@ ## list -List the departments in the Glean directory, ordered by display_name and then by department_id. The list includes every department that at least one user belongs to or that a usage limit names, so a caller can show the name of a department that a usage limit still names after its users leave it. Department names are exact, so names that differ only by case are different departments. +List the departments in the Glean directory, ordered by display_name and then by department_id. The list includes every department that at least one user belongs to or that a usage limit names, so a caller can show the name of a department that a usage limit still names after its users leave it. Department names are exact, so names that differ only by case are different departments. Send a name filter to return only the departments whose display_name contains a value. ### Example Usage @@ -21,7 +21,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.departments.list(page_size=50) @@ -33,11 +33,12 @@ with Glean( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of departments to return. Defaults to 50. Maximum is 100. | -| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. | -| `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 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Maximum number of departments to return. Defaults to 50. Maximum is 100. | +| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. Send the same filters that the previous request used.
| +| `filters` | List[[models.PlatformDepartmentFilter](../../models/platformdepartmentfilter.md)] | :heavy_minus_sign: | JSON-encoded filters that choose which departments are returned. The only supported field is name, with the operator EQUALS. Multiple values OR within a filter. The field may appear in only one filter. A value that matches no department returns no departments rather than an error.
| +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -65,7 +66,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.departments.get(department_id="{department_id}") diff --git a/docs/sdks/entities/README.md b/docs/sdks/entities/README.md index a5c95e0e..123e022a 100644 --- a/docs/sdks/entities/README.md +++ b/docs/sdks/entities/README.md @@ -21,7 +21,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.entities.list(filter_=[ @@ -85,7 +85,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.entities.read_people(fallback_to_authenticated_identity=False, obfuscated_ids=[ @@ -136,7 +136,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.entities.retrieve_person_photo(person_id="") diff --git a/docs/sdks/findings/README.md b/docs/sdks/findings/README.md index a6076d27..36032b33 100644 --- a/docs/sdks/findings/README.md +++ b/docs/sdks/findings/README.md @@ -22,7 +22,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.findings.create() @@ -67,7 +67,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.findings.list() @@ -106,7 +106,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.findings.download(id="") @@ -146,7 +146,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.governance.data.findings.delete(id=741945) diff --git a/docs/sdks/indexingauthentication/README.md b/docs/sdks/indexingauthentication/README.md index 4dd9ebe7..5dc2821b 100644 --- a/docs/sdks/indexingauthentication/README.md +++ b/docs/sdks/indexingauthentication/README.md @@ -19,7 +19,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.authentication.rotate_token() diff --git a/docs/sdks/indexingdatasource/README.md b/docs/sdks/indexingdatasource/README.md index 9e293dca..eb0623b5 100644 --- a/docs/sdks/indexingdatasource/README.md +++ b/docs/sdks/indexingdatasource/README.md @@ -23,7 +23,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.datasource.status(datasource="") diff --git a/docs/sdks/indexingdatasources/README.md b/docs/sdks/indexingdatasources/README.md index 2cd1df56..3c21aac1 100644 --- a/docs/sdks/indexingdatasources/README.md +++ b/docs/sdks/indexingdatasources/README.md @@ -21,7 +21,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.datasources.add(name="", datasource_category=models.DatasourceCategory.UNCATEGORIZED, url_regex="https://example-company.datasource.com/.*", quicklinks=[ @@ -91,7 +91,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.datasources.retrieve_config(datasource="") @@ -131,7 +131,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.datasources.submit(datasource_instance="", type_="", request_body={ @@ -150,7 +150,7 @@ with Glean( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `datasource_instance` | *str* | :heavy_check_mark: | Datasource instance that should process the submission | -| `type` | *str* | :heavy_check_mark: | Submission type registered for the datasource | +| `type_` | *str* | :heavy_check_mark: | Submission type registered for the datasource | | `request_body` | Dict[str, *Any*] | :heavy_check_mark: | N/A | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | `server_url` | *Optional[str]* | :heavy_minus_sign: | An optional server URL to use. | diff --git a/docs/sdks/indexingdocuments/README.md b/docs/sdks/indexingdocuments/README.md index b477bb6d..b67bdfe9 100644 --- a/docs/sdks/indexingdocuments/README.md +++ b/docs/sdks/indexingdocuments/README.md @@ -32,7 +32,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.documents.add_or_update(document=models.DocumentDefinition( @@ -70,7 +70,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.documents.index(datasource="", documents=[]) @@ -107,7 +107,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.documents.bulk_index(upload_id="", datasource="", documents=[]) @@ -159,7 +159,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.documents.process_all() @@ -194,7 +194,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.documents.delete(datasource="", object_type="", id="") @@ -235,7 +235,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.documents.debug(datasource="", object_type="Article", doc_id="art123") @@ -280,7 +280,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.documents.debug_many(datasource="", debug_documents=[]) @@ -324,7 +324,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.documents.check_access(datasource="", object_type="", doc_id="", user_email="") @@ -372,7 +372,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.documents.status(datasource="", object_type="", doc_id="") @@ -419,7 +419,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.documents.count(datasource="") @@ -460,7 +460,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.documents.debug_events(datasource="", object_type="Article", doc_id="art123", start_date="2025-05-01", max_events=50) diff --git a/docs/sdks/indexingpermissions/README.md b/docs/sdks/indexingpermissions/README.md index a2231eb1..4090ced2 100644 --- a/docs/sdks/indexingpermissions/README.md +++ b/docs/sdks/indexingpermissions/README.md @@ -30,7 +30,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.update_permissions(datasource="", permissions={}) @@ -69,7 +69,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.index_user(datasource="", user={ @@ -111,7 +111,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.bulk_index_users(upload_id="", datasource="", users=[ @@ -157,7 +157,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.index_group(datasource="", group={ @@ -198,7 +198,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.bulk_index_groups(upload_id="", datasource="", groups=[ @@ -243,7 +243,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.index_membership(datasource="", membership={ @@ -282,7 +282,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.bulk_index_memberships(upload_id="", datasource="", memberships=[ @@ -326,7 +326,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.process_memberships() @@ -363,7 +363,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.delete_user(datasource="", email="Ed.Johnston@gmail.com") @@ -402,7 +402,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.delete_group(datasource="", group_name="") @@ -439,7 +439,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.delete_membership(datasource="", membership={ @@ -478,7 +478,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.permissions.authorize_beta_users(datasource="", emails=[ diff --git a/docs/sdks/indexingshortcuts/README.md b/docs/sdks/indexingshortcuts/README.md index 6d8cda7a..eab15bfe 100644 --- a/docs/sdks/indexingshortcuts/README.md +++ b/docs/sdks/indexingshortcuts/README.md @@ -20,7 +20,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.shortcuts.bulk_index(upload_id="", shortcuts=[ @@ -66,7 +66,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.shortcuts.upload(upload_id="", shortcuts=[ diff --git a/docs/sdks/insights/README.md b/docs/sdks/insights/README.md index 9dbe2045..95b9ecab 100644 --- a/docs/sdks/insights/README.md +++ b/docs/sdks/insights/README.md @@ -19,7 +19,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.insights.retrieve() diff --git a/docs/sdks/messages/README.md b/docs/sdks/messages/README.md index 0aa193b3..754dd663 100644 --- a/docs/sdks/messages/README.md +++ b/docs/sdks/messages/README.md @@ -19,7 +19,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.messages.retrieve(id_type=models.IDType.CONVERSATION_ID, id="", datasource=models.Datasource.GCHAT) diff --git a/docs/sdks/people/README.md b/docs/sdks/people/README.md index 6544cda9..05bbedba 100644 --- a/docs/sdks/people/README.md +++ b/docs/sdks/people/README.md @@ -31,7 +31,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.people.debug(datasource="", email="u1@foo.com") @@ -77,7 +77,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.indexing.people.count(datasource="") @@ -117,7 +117,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.people.index(employee={ @@ -153,7 +153,7 @@ with Glean( 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. -> :warning: **DEPRECATED**: Deprecated on 2026-02-03, removal scheduled for 2027-01-15: Endpoint is deprecated. +> :warning: **DEPRECATED**: Deprecated on 2026-02-03, removal scheduled for 2027-04-15: Endpoint is deprecated. ### Example Usage @@ -164,7 +164,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.people.bulk_index(upload_id="", employees=[ @@ -216,7 +216,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.people.process_all_employees_and_teams() @@ -250,7 +250,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.people.delete(employee_email="") @@ -286,7 +286,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.people.index_team(team={ @@ -336,7 +336,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.people.delete_team(id="") @@ -371,7 +371,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.indexing.people.bulk_index_teams(upload_id="", teams=[ diff --git a/docs/sdks/pins/README.md b/docs/sdks/pins/README.md index 3a4952c3..992d9ac4 100644 --- a/docs/sdks/pins/README.md +++ b/docs/sdks/pins/README.md @@ -23,7 +23,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.pins.update(audience_filters=[ @@ -80,7 +80,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.pins.retrieve() @@ -121,7 +121,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.pins.list(request_body={}) @@ -162,7 +162,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.pins.create(audience_filters=[ @@ -219,7 +219,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.client.pins.remove() diff --git a/docs/sdks/policies/README.md b/docs/sdks/policies/README.md index ade2483c..e06a874e 100644 --- a/docs/sdks/policies/README.md +++ b/docs/sdks/policies/README.md @@ -23,7 +23,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.policies.retrieve(id="") @@ -64,7 +64,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.policies.update(id="") @@ -109,7 +109,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.policies.list() @@ -150,7 +150,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.policies.create() @@ -193,7 +193,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.policies.download(id="") diff --git a/docs/sdks/reports/README.md b/docs/sdks/reports/README.md index 5dd26e03..6dae1cb2 100644 --- a/docs/sdks/reports/README.md +++ b/docs/sdks/reports/README.md @@ -21,7 +21,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.reports.create() @@ -62,7 +62,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.reports.download(id="") @@ -102,7 +102,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.data.reports.status(id="") diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md index 43e735ef..816c6349 100644 --- a/docs/sdks/search/README.md +++ b/docs/sdks/search/README.md @@ -22,7 +22,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.search.query(query="quarterly planning 2026", page_size=10, filters=[ @@ -79,7 +79,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.search.list_filters() diff --git a/docs/sdks/skills/README.md b/docs/sdks/skills/README.md index 6c9d5b42..b7dcfee4 100644 --- a/docs/sdks/skills/README.md +++ b/docs/sdks/skills/README.md @@ -34,7 +34,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.create(file={ @@ -80,7 +80,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.list(page_size=20) @@ -124,7 +124,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.import_(source_urls=[ @@ -170,7 +170,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.validate(file={ @@ -216,7 +216,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.preview_source(source_url="https://github.com/anthropics/skills") @@ -260,7 +260,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.update(skill_id="{skill_id}", status=models.PlatformSkillUpdateStatus.ENABLED) @@ -304,7 +304,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.skills.delete(skill_id="{skill_id}") @@ -342,7 +342,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.retrieve(skill_id="{skill_id}") @@ -385,7 +385,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.retrieve_content(skill_id="{skill_id}") @@ -428,7 +428,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.sync(skill_id="{skill_id}") @@ -472,7 +472,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.create_version(skill_id="{skill_id}", file={ @@ -519,7 +519,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.list_versions(skill_id="{skill_id}", page_size=20) @@ -564,7 +564,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.retrieve_version(skill_id="{skill_id}", version=1) @@ -608,7 +608,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.retrieve_version_content(skill_id="{skill_id}", version=1) @@ -652,7 +652,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.skills.preview_source_stream(source_url="https://github.com/anthropics/skills") diff --git a/docs/sdks/tools/README.md b/docs/sdks/tools/README.md index 8a336814..e8694d9a 100644 --- a/docs/sdks/tools/README.md +++ b/docs/sdks/tools/README.md @@ -25,7 +25,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.tools.list() @@ -65,7 +65,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.tools.run(name="", parameters={ @@ -111,7 +111,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.tools.retrieve_action_pack_auth_status(action_pack_id="") @@ -158,7 +158,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.tools.authorize_action_pack(action_pack_id="", return_url="https://merry-allocation.org/") @@ -201,7 +201,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.tools.retrieve_tool_server_auth_status(server_id="") @@ -248,7 +248,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.tools.authorize_tool_server(server_id="", return_url="https://lucky-disadvantage.com") @@ -299,7 +299,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.tools.get_tool_server_tools(server_id="", tool_names=[ diff --git a/docs/sdks/triggers/README.md b/docs/sdks/triggers/README.md index 6b9d92d2..247855ca 100644 --- a/docs/sdks/triggers/README.md +++ b/docs/sdks/triggers/README.md @@ -29,7 +29,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.triggers.create(preset_id="GITHUB_1", delivery={ @@ -79,7 +79,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.triggers.list(page_size=50) @@ -123,7 +123,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.triggers.get(trigger_id="{trigger_id}") @@ -166,7 +166,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.triggers.update(trigger_id="{trigger_id}", status=models.PlatformTriggerStatus.ENABLED, description="Reviews I am tagged on, sent to my team's review channel", inputs={ @@ -217,7 +217,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: glean.triggers.delete(trigger_id="{trigger_id}") @@ -255,7 +255,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.triggers.search_events(trigger_id="{trigger_id}", page_size=10) @@ -299,7 +299,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.triggers.list_presets(page_size=50) @@ -344,7 +344,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.triggers.get_preset(preset_id="{preset_id}") @@ -387,7 +387,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.triggers.list_preset_input_values(preset_id="{preset_id}", field="{field}") @@ -432,7 +432,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.triggers.search_preset_events(preset_id="{preset_id}", inputs={ diff --git a/docs/sdks/users/README.md b/docs/sdks/users/README.md index 98da7f52..5fd6a2c9 100644 --- a/docs/sdks/users/README.md +++ b/docs/sdks/users/README.md @@ -21,7 +21,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.users.list(page_size=50) @@ -67,7 +67,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.users.get(user_id="{user_id}") diff --git a/docs/sdks/visibilityoverrides/README.md b/docs/sdks/visibilityoverrides/README.md index 049688db..f2e8bcfb 100644 --- a/docs/sdks/visibilityoverrides/README.md +++ b/docs/sdks/visibilityoverrides/README.md @@ -20,7 +20,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.documents.visibilityoverrides.list() @@ -60,7 +60,7 @@ import os with Glean( - api_token=os.getenv("GLEAN_API_TOKEN", ""), + api_token=os.getenv("GLEAN_API_TOKEN"), ) as glean: res = glean.client.governance.documents.visibilityoverrides.create() diff --git a/pyproject.toml b/pyproject.toml index c74b7296..6aa023a9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "glean-api-client" -version = "0.17.18" +version = "0.17.19" 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 fa384545..6b38d08c 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.18" +__version__: str = "0.17.19" __openapi_doc_version__: str = "0.9.0" -__gen_version__: str = "2.950.2" -__user_agent__: str = "speakeasy-sdk/python 0.17.18 2.950.2 0.9.0 glean-api-client" +__gen_version__: str = "2.956.1" +__user_agent__: str = "speakeasy-sdk/python 0.17.19 2.956.1 0.9.0 glean-api-client" try: if __package__ is not None: diff --git a/src/glean/api_client/admin_agents.py b/src/glean/api_client/admin_agents.py index 612c52bf..2b51dabd 100644 --- a/src/glean/api_client/admin_agents.py +++ b/src/glean/api_client/admin_agents.py @@ -28,13 +28,13 @@ def list( ) -> models.PlatformListAdminAgentsResponse: r"""List all agents - List every agent in the workspace, ordered by display_name and then by agent_id. Unlike agent search, the list does not depend on who an agent is shared with, so it includes private and disabled agents. Deleted agents are inactive and are left out unless an is_active filter includes the value \"false\". Use the agent_id of an active agent with other Platform APIs, for example as a usage limit target. A deleted agent is not a valid usage limit target. The caller must be able to read all agents, administer agents, or read workspace billing. + List every agent in the workspace, ordered by name and then by agent_id. Each agent has the same shape that Get agent returns. Unlike agent search, the list does not depend on who an agent is shared with, so it includes private and disabled agents. Deleted agents are left out. Use the agent_id with other Platform APIs, for example as a usage limit target. The caller must be able to read all agents, administer agents, or read workspace billing. :param page_size: Maximum number of agents to return. Defaults to 50. Maximum is 100. :param cursor: Opaque pagination cursor from a previous response. Send the same filters that the previous request used. - :param filters: JSON-encoded filters that choose which agents are returned. The only supported field is is_active, with the values \"true\" and \"false\" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active agents are returned. To return active and deleted agents, send [{\"field\":\"is_active\",\"values\":[\"true\",\"false\"]}]. + :param filters: JSON-encoded filters that choose which agents are returned. The supported fields are name and description, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together, and each field can appear in only one filter. For example, to return agents whose name contains \"HR\", send [{\"field\":\"name\",\"values\":[\"HR\"]}]. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -157,13 +157,13 @@ async def list_async( ) -> models.PlatformListAdminAgentsResponse: r"""List all agents - List every agent in the workspace, ordered by display_name and then by agent_id. Unlike agent search, the list does not depend on who an agent is shared with, so it includes private and disabled agents. Deleted agents are inactive and are left out unless an is_active filter includes the value \"false\". Use the agent_id of an active agent with other Platform APIs, for example as a usage limit target. A deleted agent is not a valid usage limit target. The caller must be able to read all agents, administer agents, or read workspace billing. + List every agent in the workspace, ordered by name and then by agent_id. Each agent has the same shape that Get agent returns. Unlike agent search, the list does not depend on who an agent is shared with, so it includes private and disabled agents. Deleted agents are left out. Use the agent_id with other Platform APIs, for example as a usage limit target. The caller must be able to read all agents, administer agents, or read workspace billing. :param page_size: Maximum number of agents to return. Defaults to 50. Maximum is 100. :param cursor: Opaque pagination cursor from a previous response. Send the same filters that the previous request used. - :param filters: JSON-encoded filters that choose which agents are returned. The only supported field is is_active, with the values \"true\" and \"false\" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active agents are returned. To return active and deleted agents, send [{\"field\":\"is_active\",\"values\":[\"true\",\"false\"]}]. + :param filters: JSON-encoded filters that choose which agents are returned. The supported fields are name and description, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together, and each field can appear in only one filter. For example, to return agents whose name contains \"HR\", send [{\"field\":\"name\",\"values\":[\"HR\"]}]. :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/admin_idpgroups.py b/src/glean/api_client/admin_idpgroups.py index 619c63bf..79752d0b 100644 --- a/src/glean/api_client/admin_idpgroups.py +++ b/src/glean/api_client/admin_idpgroups.py @@ -28,13 +28,13 @@ def list( ) -> models.PlatformListIdpGroupsResponse: r"""List IdP groups - List the identity provider (IdP) groups that Glean loads from the directory, ordered by display_name and then by idp_group_id. Use idp_group_id to name a group in other Platform APIs, such as the usage limit evaluation and limit increase request APIs. Usage limits apply only to IdP groups from the datasource instance in usage_settings.user_grouping.idp_group_provider_instance of the get usage settings response, and this API always lists that instance's groups. To list only those groups, pass that value in a provider_instance filter of the filters parameter, for example `filters=[{\"field\":\"provider_instance\",\"operator\":\"EQUALS\",\"values\":[\"okta\"]}]`, URL-encoded as `filters=%5B%7B%22field%22%3A%22provider_instance%22%2C%22operator%22%3A%22EQUALS%22%2C%22values%22%3A%5B%22okta%22%5D%7D%5D`. Internal O365 ownership groups and SharePoint groups are left out. The caller must be able to read the workspace configuration or the workspace billing. + List the identity provider (IdP) groups that Glean loads from the directory, ordered by display_name and then by idp_group_id. Use idp_group_id to name a group in other Platform APIs, such as the usage limit evaluation and limit increase request APIs. Usage limits apply only to IdP groups from the datasource instance in usage_settings.user_grouping.idp_group_provider_instance of the get usage settings response, and this API always lists that instance's groups. To list only those groups, pass that value in a provider_instance filter of the filters parameter, for example `filters=[{\"field\":\"provider_instance\",\"operator\":\"EQUALS\",\"values\":[\"okta\"]}]`, URL-encoded as `filters=%5B%7B%22field%22%3A%22provider_instance%22%2C%22operator%22%3A%22EQUALS%22%2C%22values%22%3A%5B%22okta%22%5D%7D%5D`. Send a provider filter to list only one provider's groups, and a name filter to list only the groups whose display_name contains a value. Internal O365 ownership groups and SharePoint groups are left out. The caller must be able to read the workspace configuration or the workspace billing. :param page_size: Maximum number of IdP groups to return. Defaults to 50. Maximum is 100. :param cursor: Opaque pagination cursor from a previous response. Send the same filters that the previous request used. - :param filters: JSON-encoded filters that choose which IdP groups are returned. The only supported field is provider_instance, with datasource instance names such as \"okta\". provider_instance values match without case. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. + :param filters: JSON-encoded filters that choose which IdP groups are returned. The supported fields are provider_instance, provider, and name. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. The name field may appear in only one filter. A value that matches no IdP group returns no IdP groups rather than an error. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -157,13 +157,13 @@ async def list_async( ) -> models.PlatformListIdpGroupsResponse: r"""List IdP groups - List the identity provider (IdP) groups that Glean loads from the directory, ordered by display_name and then by idp_group_id. Use idp_group_id to name a group in other Platform APIs, such as the usage limit evaluation and limit increase request APIs. Usage limits apply only to IdP groups from the datasource instance in usage_settings.user_grouping.idp_group_provider_instance of the get usage settings response, and this API always lists that instance's groups. To list only those groups, pass that value in a provider_instance filter of the filters parameter, for example `filters=[{\"field\":\"provider_instance\",\"operator\":\"EQUALS\",\"values\":[\"okta\"]}]`, URL-encoded as `filters=%5B%7B%22field%22%3A%22provider_instance%22%2C%22operator%22%3A%22EQUALS%22%2C%22values%22%3A%5B%22okta%22%5D%7D%5D`. Internal O365 ownership groups and SharePoint groups are left out. The caller must be able to read the workspace configuration or the workspace billing. + List the identity provider (IdP) groups that Glean loads from the directory, ordered by display_name and then by idp_group_id. Use idp_group_id to name a group in other Platform APIs, such as the usage limit evaluation and limit increase request APIs. Usage limits apply only to IdP groups from the datasource instance in usage_settings.user_grouping.idp_group_provider_instance of the get usage settings response, and this API always lists that instance's groups. To list only those groups, pass that value in a provider_instance filter of the filters parameter, for example `filters=[{\"field\":\"provider_instance\",\"operator\":\"EQUALS\",\"values\":[\"okta\"]}]`, URL-encoded as `filters=%5B%7B%22field%22%3A%22provider_instance%22%2C%22operator%22%3A%22EQUALS%22%2C%22values%22%3A%5B%22okta%22%5D%7D%5D`. Send a provider filter to list only one provider's groups, and a name filter to list only the groups whose display_name contains a value. Internal O365 ownership groups and SharePoint groups are left out. The caller must be able to read the workspace configuration or the workspace billing. :param page_size: Maximum number of IdP groups to return. Defaults to 50. Maximum is 100. :param cursor: Opaque pagination cursor from a previous response. Send the same filters that the previous request used. - :param filters: JSON-encoded filters that choose which IdP groups are returned. The only supported field is provider_instance, with datasource instance names such as \"okta\". provider_instance values match without case. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. + :param filters: JSON-encoded filters that choose which IdP groups are returned. The supported fields are provider_instance, provider, and name. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. The name field may appear in only one filter. A value that matches no IdP group returns no IdP groups rather than an error. :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/chat_sdk.py b/src/glean/api_client/chat_sdk.py index 427b7754..90a6907a 100644 --- a/src/glean/api_client/chat_sdk.py +++ b/src/glean/api_client/chat_sdk.py @@ -18,6 +18,7 @@ def create( ], store: Optional[bool] = True, conversation_id: Optional[str] = None, + model: Optional[str] = None, text: Optional[ Union[models.PlatformChatCreateText, models.PlatformChatCreateTextTypedDict] ] = None, @@ -37,6 +38,8 @@ def create( :param conversation_id: Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`. + :param model: Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + :param text: Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. :param retries: Override the default retry configuration for this method @@ -58,6 +61,7 @@ def create( input=utils.get_pydantic_model(input, models.PlatformChatCreateInput), store=store, conversation_id=conversation_id, + model=model, text=utils.get_pydantic_model( text, Optional[models.PlatformChatCreateText] ), @@ -148,6 +152,7 @@ async def create_async( ], store: Optional[bool] = True, conversation_id: Optional[str] = None, + model: Optional[str] = None, text: Optional[ Union[models.PlatformChatCreateText, models.PlatformChatCreateTextTypedDict] ] = None, @@ -167,6 +172,8 @@ async def create_async( :param conversation_id: Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`. + :param model: Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + :param text: Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. :param retries: Override the default retry configuration for this method @@ -188,6 +195,7 @@ async def create_async( input=utils.get_pydantic_model(input, models.PlatformChatCreateInput), store=store, conversation_id=conversation_id, + model=model, text=utils.get_pydantic_model( text, Optional[models.PlatformChatCreateText] ), @@ -513,6 +521,7 @@ def create_stream( ], store: Optional[bool] = True, conversation_id: Optional[str] = None, + model: Optional[str] = None, text: Optional[ Union[ models.PlatformChatCreateStreamText, @@ -535,6 +544,8 @@ def create_stream( :param conversation_id: Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`. + :param model: Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + :param text: Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. :param retries: Override the default retry configuration for this method @@ -556,6 +567,7 @@ def create_stream( input=utils.get_pydantic_model(input, models.PlatformChatCreateStreamInput), store=store, conversation_id=conversation_id, + model=model, text=utils.get_pydantic_model( text, Optional[models.PlatformChatCreateStreamText] ), @@ -659,6 +671,7 @@ async def create_stream_async( ], store: Optional[bool] = True, conversation_id: Optional[str] = None, + model: Optional[str] = None, text: Optional[ Union[ models.PlatformChatCreateStreamText, @@ -681,6 +694,8 @@ async def create_stream_async( :param conversation_id: Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`. + :param model: Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + :param text: Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. :param retries: Override the default retry configuration for this method @@ -702,6 +717,7 @@ async def create_stream_async( input=utils.get_pydantic_model(input, models.PlatformChatCreateStreamInput), store=store, conversation_id=conversation_id, + model=model, text=utils.get_pydantic_model( text, Optional[models.PlatformChatCreateStreamText] ), diff --git a/src/glean/api_client/client_chat.py b/src/glean/api_client/client_chat.py index 3c75dccf..0363e4b0 100644 --- a/src/glean/api_client/client_chat.py +++ b/src/glean/api_client/client_chat.py @@ -705,6 +705,10 @@ def retrieve( id: str, locale: Optional[str] = None, timezone_offset: Optional[int] = None, + first: Optional[int] = None, + after: Optional[str] = None, + last: Optional[int] = None, + before: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -712,11 +716,15 @@ def retrieve( ) -> models.GetChatResponse: r"""Retrieves a Chat - Retrieves the chat history between Glean Assistant and the user for a given Chat. + Retrieves the chat history between Glean Assistant and the user for a given Chat. Omit pagination fields to return the full message history (existing behavior). Use last alone for the latest page, last with before for older messages, or first with after for newer messages. Each page is chronological and includes pagination cursors and page flags. :param id: The id of the Chat to be retrieved. :param locale: 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`. :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 first: Maximum number of messages to return from the start of the chat, or after the cursor when after is set. Pair with after for newer messages; alone returns the earliest messages. Mutually exclusive with last and before. + :param after: An opaque message cursor from this chat. Returns messages strictly newer than this cursor. Pair with first. Mutually exclusive with before; cannot be combined with last. + :param last: Maximum number of messages to return from the end of the chat, or before the cursor when before is set. Alone returns the latest messages; pair with before for older messages. Mutually exclusive with first and after. + :param before: An opaque message cursor from this chat. Returns messages strictly older than this cursor. Pair with last. Mutually exclusive with after; cannot be combined with first. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -737,6 +745,10 @@ def retrieve( timezone_offset=timezone_offset, get_chat_request=models.GetChatRequest( id=id, + first=first, + after=after, + last=last, + before=before, ), ) @@ -813,6 +825,10 @@ async def retrieve_async( id: str, locale: Optional[str] = None, timezone_offset: Optional[int] = None, + first: Optional[int] = None, + after: Optional[str] = None, + last: Optional[int] = None, + before: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -820,11 +836,15 @@ async def retrieve_async( ) -> models.GetChatResponse: r"""Retrieves a Chat - Retrieves the chat history between Glean Assistant and the user for a given Chat. + Retrieves the chat history between Glean Assistant and the user for a given Chat. Omit pagination fields to return the full message history (existing behavior). Use last alone for the latest page, last with before for older messages, or first with after for newer messages. Each page is chronological and includes pagination cursors and page flags. :param id: The id of the Chat to be retrieved. :param locale: 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`. :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 first: Maximum number of messages to return from the start of the chat, or after the cursor when after is set. Pair with after for newer messages; alone returns the earliest messages. Mutually exclusive with last and before. + :param after: An opaque message cursor from this chat. Returns messages strictly newer than this cursor. Pair with first. Mutually exclusive with before; cannot be combined with last. + :param last: Maximum number of messages to return from the end of the chat, or before the cursor when before is set. Alone returns the latest messages; pair with before for older messages. Mutually exclusive with first and after. + :param before: An opaque message cursor from this chat. Returns messages strictly older than this cursor. Pair with last. Mutually exclusive with after; cannot be combined with first. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -845,6 +865,10 @@ async def retrieve_async( timezone_offset=timezone_offset, get_chat_request=models.GetChatRequest( id=id, + first=first, + after=after, + last=last, + before=before, ), ) diff --git a/src/glean/api_client/clients.py b/src/glean/api_client/clients.py index 2261caa2..0a77ba5c 100644 --- a/src/glean/api_client/clients.py +++ b/src/glean/api_client/clients.py @@ -28,13 +28,13 @@ def list( ) -> models.PlatformListOAuthClientsResponse: r"""List OAuth clients - List the static OAuth clients that admins created for this workspace, ordered by display_name and then by client_id. Dynamically registered clients and Glean's own clients, such as Glean Desktop, are not listed. A client is active when it is enabled. Inactive clients are left out unless an is_active filter includes the value \"false\". To set a usage limit for a client, send its ai_gateway.usage_client_id, not its client_id, to the usage APIs. The caller needs admin read or billing read permission. + List the static OAuth clients that admins created for this workspace, ordered by display_name and then by client_id. Dynamically registered clients and Glean's own clients, such as Glean Desktop, are not listed. Disabled clients are left out unless an is_enabled filter includes the value \"false\". Use filters to find clients by name, client_id, usage_client_id, LLM Gateway access, or supported app. To set a usage limit for a client, send its ai_gateway.usage_client_id, not its client_id, to the usage APIs. The caller needs admin read or billing read permission. :param page_size: Maximum number of clients to return. Defaults to 50. Maximum is 100. :param cursor: Opaque pagination cursor from a previous response. Send the same filters that the previous request used. - :param filters: JSON-encoded filters that choose which clients are returned. The only supported field is is_active, with the values \"true\" and \"false\" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active clients are returned. To return active and inactive clients, send [{\"field\":\"is_active\",\"values\":[\"true\",\"false\"]}]. + :param filters: JSON-encoded filters that choose which clients are returned. The supported fields are is_enabled, name, client_id, usage_client_id, has_ai_gateway, and supported_app, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Each field can appear in only one filter. Without an is_enabled filter, only enabled clients are returned. To return enabled and disabled clients, send [{\"field\":\"is_enabled\",\"values\":[\"true\",\"false\"]}]. To find the Claude Code clients, send [{\"field\":\"supported_app\",\"values\":[\"CLAUDE_CODE\"]}]. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -157,13 +157,13 @@ async def list_async( ) -> models.PlatformListOAuthClientsResponse: r"""List OAuth clients - List the static OAuth clients that admins created for this workspace, ordered by display_name and then by client_id. Dynamically registered clients and Glean's own clients, such as Glean Desktop, are not listed. A client is active when it is enabled. Inactive clients are left out unless an is_active filter includes the value \"false\". To set a usage limit for a client, send its ai_gateway.usage_client_id, not its client_id, to the usage APIs. The caller needs admin read or billing read permission. + List the static OAuth clients that admins created for this workspace, ordered by display_name and then by client_id. Dynamically registered clients and Glean's own clients, such as Glean Desktop, are not listed. Disabled clients are left out unless an is_enabled filter includes the value \"false\". Use filters to find clients by name, client_id, usage_client_id, LLM Gateway access, or supported app. To set a usage limit for a client, send its ai_gateway.usage_client_id, not its client_id, to the usage APIs. The caller needs admin read or billing read permission. :param page_size: Maximum number of clients to return. Defaults to 50. Maximum is 100. :param cursor: Opaque pagination cursor from a previous response. Send the same filters that the previous request used. - :param filters: JSON-encoded filters that choose which clients are returned. The only supported field is is_active, with the values \"true\" and \"false\" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active clients are returned. To return active and inactive clients, send [{\"field\":\"is_active\",\"values\":[\"true\",\"false\"]}]. + :param filters: JSON-encoded filters that choose which clients are returned. The supported fields are is_enabled, name, client_id, usage_client_id, has_ai_gateway, and supported_app, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Each field can appear in only one filter. Without an is_enabled filter, only enabled clients are returned. To return enabled and disabled clients, send [{\"field\":\"is_enabled\",\"values\":[\"true\",\"false\"]}]. To find the Claude Code clients, send [{\"field\":\"supported_app\",\"values\":[\"CLAUDE_CODE\"]}]. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -279,7 +279,7 @@ def get( ) -> models.PlatformGetOAuthClientResponse: r"""Get an OAuth client - Get one static OAuth client that an admin created for this workspace. A client that an admin disabled is returned with is_active false. A deleted client, a dynamically registered client, one of Glean's own clients, such as Glean Desktop, and an unknown client_id all return 404. The path takes the OAuth client_id, not ai_gateway.usage_client_id. The caller needs admin read or billing read permission. + Get one static OAuth client that an admin created for this workspace. A client that an admin disabled is returned with is_enabled false. A deleted client, a dynamically registered client, one of Glean's own clients, such as Glean Desktop, and an unknown client_id all return 404. The path takes the OAuth client_id, not ai_gateway.usage_client_id. The caller needs admin read or billing read permission. :param client_id: The OAuth client_id of the client. @@ -393,7 +393,7 @@ async def get_async( ) -> models.PlatformGetOAuthClientResponse: r"""Get an OAuth client - Get one static OAuth client that an admin created for this workspace. A client that an admin disabled is returned with is_active false. A deleted client, a dynamically registered client, one of Glean's own clients, such as Glean Desktop, and an unknown client_id all return 404. The path takes the OAuth client_id, not ai_gateway.usage_client_id. The caller needs admin read or billing read permission. + Get one static OAuth client that an admin created for this workspace. A client that an admin disabled is returned with is_enabled false. A deleted client, a dynamically registered client, one of Glean's own clients, such as Glean Desktop, and an unknown client_id all return 404. The path takes the OAuth client_id, not ai_gateway.usage_client_id. The caller needs admin read or billing read permission. :param client_id: The OAuth client_id of the client. diff --git a/src/glean/api_client/departments.py b/src/glean/api_client/departments.py index ec84bc78..f228808c 100644 --- a/src/glean/api_client/departments.py +++ b/src/glean/api_client/departments.py @@ -6,7 +6,7 @@ from glean.api_client.types import OptionalNullable, UNSET from glean.api_client.utils import get_security_from_env from glean.api_client.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional +from typing import Any, Iterable, List, Mapping, Optional, Union class Departments(BaseSDK): @@ -15,6 +15,12 @@ def list( *, page_size: Optional[int] = 50, cursor: Optional[str] = None, + filters: Optional[ + Union[ + Iterable[models.PlatformDepartmentFilter], + Iterable[models.PlatformDepartmentFilterTypedDict], + ] + ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -22,11 +28,14 @@ def list( ) -> models.PlatformListDepartmentsResponse: r"""List departments - List the departments in the Glean directory, ordered by display_name and then by department_id. The list includes every department that at least one user belongs to or that a usage limit names, so a caller can show the name of a department that a usage limit still names after its users leave it. Department names are exact, so names that differ only by case are different departments. + List the departments in the Glean directory, ordered by display_name and then by department_id. The list includes every department that at least one user belongs to or that a usage limit names, so a caller can show the name of a department that a usage limit still names after its users leave it. Department names are exact, so names that differ only by case are different departments. Send a name filter to return only the departments whose display_name contains a value. :param page_size: Maximum number of departments to return. Defaults to 50. Maximum is 100. - :param cursor: Opaque pagination cursor from a previous response. + :param cursor: Opaque pagination cursor from a previous response. Send the same filters that the previous request used. + + :param filters: JSON-encoded filters that choose which departments are returned. The only supported field is name, with the operator EQUALS. Multiple values OR within a filter. The field may appear in only one filter. A value that matches no department returns no departments rather than an error. + :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -45,6 +54,9 @@ def list( request = models.PlatformDepartmentsListRequest( page_size=page_size, cursor=cursor, + filters=utils.get_pydantic_model( + filters, Optional[List[models.PlatformDepartmentFilter]] + ), ) req = self._build_request( @@ -132,6 +144,12 @@ async def list_async( *, page_size: Optional[int] = 50, cursor: Optional[str] = None, + filters: Optional[ + Union[ + Iterable[models.PlatformDepartmentFilter], + Iterable[models.PlatformDepartmentFilterTypedDict], + ] + ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -139,11 +157,14 @@ async def list_async( ) -> models.PlatformListDepartmentsResponse: r"""List departments - List the departments in the Glean directory, ordered by display_name and then by department_id. The list includes every department that at least one user belongs to or that a usage limit names, so a caller can show the name of a department that a usage limit still names after its users leave it. Department names are exact, so names that differ only by case are different departments. + List the departments in the Glean directory, ordered by display_name and then by department_id. The list includes every department that at least one user belongs to or that a usage limit names, so a caller can show the name of a department that a usage limit still names after its users leave it. Department names are exact, so names that differ only by case are different departments. Send a name filter to return only the departments whose display_name contains a value. :param page_size: Maximum number of departments to return. Defaults to 50. Maximum is 100. - :param cursor: Opaque pagination cursor from a previous response. + :param cursor: Opaque pagination cursor from a previous response. Send the same filters that the previous request used. + + :param filters: JSON-encoded filters that choose which departments are returned. The only supported field is name, with the operator EQUALS. Multiple values OR within a filter. The field may appear in only one filter. A value that matches no department returns no departments rather than an error. + :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -162,6 +183,9 @@ async def list_async( request = models.PlatformDepartmentsListRequest( page_size=page_size, cursor=cursor, + filters=utils.get_pydantic_model( + filters, Optional[List[models.PlatformDepartmentFilter]] + ), ) req = self._build_request_async( diff --git a/src/glean/api_client/indexing_datasources.py b/src/glean/api_client/indexing_datasources.py index cdf0f4db..81ca4683 100644 --- a/src/glean/api_client/indexing_datasources.py +++ b/src/glean/api_client/indexing_datasources.py @@ -598,7 +598,7 @@ def submit( Validates and asynchronously processes a datasource-specific submission. :param datasource_instance: Datasource instance that should process the submission - :param type: Submission type registered for the datasource + :param type_: Submission type registered for the datasource :param request_body: :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -712,7 +712,7 @@ async def submit_async( Validates and asynchronously processes a datasource-specific submission. :param datasource_instance: Datasource instance that should process the submission - :param type: Submission type registered for the datasource + :param type_: Submission type registered for the datasource :param request_body: :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/models/__init__.py b/src/glean/api_client/models/__init__.py index 3f9f860b..3c6b2533 100644 --- a/src/glean/api_client/models/__init__.py +++ b/src/glean/api_client/models/__init__.py @@ -909,6 +909,7 @@ GetChatFilesResponseTypedDict, ) from .getchatop import GetchatRequestRequest, GetchatRequestRequestTypedDict + from .getchatpagination import GetChatPagination, GetChatPaginationTypedDict from .getchatrequest import GetChatRequest, GetChatRequestTypedDict from .getchatresponse import GetChatResponse, GetChatResponseTypedDict from .getcollectionop import ( @@ -1472,7 +1473,6 @@ PlatformActionSummary, PlatformActionSummaryTypedDict, ) - from .platformadminagent import PlatformAdminAgent, PlatformAdminAgentTypedDict from .platformadminagentfilter import ( PlatformAdminAgentFilter, PlatformAdminAgentFilterOperator, @@ -1699,6 +1699,11 @@ PlatformDatasourceFilterInfo, PlatformDatasourceFilterInfoTypedDict, ) + from .platformdepartmentfilter import ( + PlatformDepartmentFilter, + PlatformDepartmentFilterOperator, + PlatformDepartmentFilterTypedDict, + ) from .platformdepartmentreference import ( PlatformDepartmentReference, PlatformDepartmentReferenceTypedDict, @@ -1784,6 +1789,7 @@ PlatformOAuthClientFilterTypedDict, ) from .platformoauthclientregistrationtype import PlatformOAuthClientRegistrationType + from .platformoauthclientsupportedapp import PlatformOAuthClientSupportedApp from .platformoauthclienttype import PlatformOAuthClientType from .platformoauthgranttype import PlatformOAuthGrantType from .platformoauthtokenendpointauthmethod import ( @@ -3148,6 +3154,8 @@ "GetChatFilesRequestTypedDict", "GetChatFilesResponse", "GetChatFilesResponseTypedDict", + "GetChatPagination", + "GetChatPaginationTypedDict", "GetChatRequest", "GetChatRequestTypedDict", "GetChatResponse", @@ -3474,11 +3482,9 @@ "PlacementReason", "PlatformActionSummary", "PlatformActionSummaryTypedDict", - "PlatformAdminAgent", "PlatformAdminAgentFilter", "PlatformAdminAgentFilterOperator", "PlatformAdminAgentFilterTypedDict", - "PlatformAdminAgentTypedDict", "PlatformAdminAgentsListRequest", "PlatformAdminAgentsListRequestTypedDict", "PlatformAdminIdpGroupsGetRequest", @@ -3649,6 +3655,9 @@ "PlatformContentType", "PlatformDatasourceFilterInfo", "PlatformDatasourceFilterInfoTypedDict", + "PlatformDepartmentFilter", + "PlatformDepartmentFilterOperator", + "PlatformDepartmentFilterTypedDict", "PlatformDepartmentReference", "PlatformDepartmentReferenceTypedDict", "PlatformDepartmentsGetRequest", @@ -3703,6 +3712,7 @@ "PlatformOAuthClientFilterOperator", "PlatformOAuthClientFilterTypedDict", "PlatformOAuthClientRegistrationType", + "PlatformOAuthClientSupportedApp", "PlatformOAuthClientType", "PlatformOAuthClientTypedDict", "PlatformOAuthGrantType", @@ -4919,6 +4929,8 @@ "GetChatFilesResponseTypedDict": ".getchatfilesresponse", "GetchatRequestRequest": ".getchatop", "GetchatRequestRequestTypedDict": ".getchatop", + "GetChatPagination": ".getchatpagination", + "GetChatPaginationTypedDict": ".getchatpagination", "GetChatRequest": ".getchatrequest", "GetChatRequestTypedDict": ".getchatrequest", "GetChatResponse": ".getchatresponse", @@ -5310,8 +5322,6 @@ "PlatformUsersListRequestTypedDict": ".platform_users_listop", "PlatformActionSummary": ".platformactionsummary", "PlatformActionSummaryTypedDict": ".platformactionsummary", - "PlatformAdminAgent": ".platformadminagent", - "PlatformAdminAgentTypedDict": ".platformadminagent", "PlatformAdminAgentFilter": ".platformadminagentfilter", "PlatformAdminAgentFilterOperator": ".platformadminagentfilter", "PlatformAdminAgentFilterTypedDict": ".platformadminagentfilter", @@ -5447,6 +5457,9 @@ "PlatformContentType": ".platformcontenttype", "PlatformDatasourceFilterInfo": ".platformdatasourcefilterinfo", "PlatformDatasourceFilterInfoTypedDict": ".platformdatasourcefilterinfo", + "PlatformDepartmentFilter": ".platformdepartmentfilter", + "PlatformDepartmentFilterOperator": ".platformdepartmentfilter", + "PlatformDepartmentFilterTypedDict": ".platformdepartmentfilter", "PlatformDepartmentReference": ".platformdepartmentreference", "PlatformDepartmentReferenceTypedDict": ".platformdepartmentreference", "PlatformDocumentChangeWebhookEvent": ".platformdocumentchangewebhookevent", @@ -5498,6 +5511,7 @@ "PlatformOAuthClientFilterOperator": ".platformoauthclientfilter", "PlatformOAuthClientFilterTypedDict": ".platformoauthclientfilter", "PlatformOAuthClientRegistrationType": ".platformoauthclientregistrationtype", + "PlatformOAuthClientSupportedApp": ".platformoauthclientsupportedapp", "PlatformOAuthClientType": ".platformoauthclienttype", "PlatformOAuthGrantType": ".platformoauthgranttype", "PlatformOAuthTokenEndpointAuthMethod": ".platformoauthtokenendpointauthmethod", diff --git a/src/glean/api_client/models/actionpreview.py b/src/glean/api_client/models/actionpreview.py index 8aada545..9b9eb9b3 100644 --- a/src/glean/api_client/models/actionpreview.py +++ b/src/glean/api_client/models/actionpreview.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class ActionPreview(BaseModel): r"""Short summary of what this specific tool invocation will do.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["markdown", "description"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/actionsummary.py b/src/glean/api_client/models/actionsummary.py index 399db3e4..8b469699 100644 --- a/src/glean/api_client/models/actionsummary.py +++ b/src/glean/api_client/models/actionsummary.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -71,6 +77,9 @@ class ActionSummary(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -81,11 +90,15 @@ def serialize_model(self, handler): "data_source", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/activityevent.py b/src/glean/api_client/models/activityevent.py index 4f6bc8f3..39da58b0 100644 --- a/src/glean/api_client/models/activityevent.py +++ b/src/glean/api_client/models/activityevent.py @@ -4,7 +4,13 @@ from .activityeventparams import ActivityEventParams, ActivityEventParamsTypedDict from datetime import datetime from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -57,13 +63,20 @@ class ActivityEvent(BaseModel): params: Optional[ActivityEventParams] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id", "params"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/activityeventparams.py b/src/glean/api_client/models/activityeventparams.py index b084d4af..aaea0a9e 100644 --- a/src/glean/api_client/models/activityeventparams.py +++ b/src/glean/api_client/models/activityeventparams.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -62,6 +68,9 @@ class ActivityEventParams(BaseModel): r"""Indicates that the parameters are incomplete and more parameters may be sent with the same action+timestamp+URL in the future. This is used for sending the duration when a `VIEW` is finished.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -76,11 +85,15 @@ def serialize_model(self, handler): "truncated", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/addcollectionitemserror.py b/src/glean/api_client/models/addcollectionitemserror.py index 8f738ea3..76a1cd18 100644 --- a/src/glean/api_client/models/addcollectionitemserror.py +++ b/src/glean/api_client/models/addcollectionitemserror.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -34,13 +40,20 @@ def serialize_error_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["errorType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/addcollectionitemsop.py b/src/glean/api_client/models/addcollectionitemsop.py index 2cd893c6..6edf2f04 100644 --- a/src/glean/api_client/models/addcollectionitemsop.py +++ b/src/glean/api_client/models/addcollectionitemsop.py @@ -5,7 +5,13 @@ AddCollectionItemsRequest, AddCollectionItemsRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class AddcollectionitemsRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/addcollectionitemsrequest.py b/src/glean/api_client/models/addcollectionitemsrequest.py index b440c09b..4fdd6189 100644 --- a/src/glean/api_client/models/addcollectionitemsrequest.py +++ b/src/glean/api_client/models/addcollectionitemsrequest.py @@ -5,7 +5,13 @@ CollectionItemDescriptor, CollectionItemDescriptorTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -32,13 +38,20 @@ class AddCollectionItemsRequest(BaseModel): r"""The CollectionItemDescriptors of the items being added.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["addedCollectionItemDescriptors"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/addcollectionitemsresponse.py b/src/glean/api_client/models/addcollectionitemsresponse.py index 80294bce..5eef64dc 100644 --- a/src/glean/api_client/models/addcollectionitemsresponse.py +++ b/src/glean/api_client/models/addcollectionitemsresponse.py @@ -6,7 +6,13 @@ AddCollectionItemsErrorTypedDict, ) from .collection import Collection, CollectionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -23,13 +29,20 @@ class AddCollectionItemsResponse(BaseModel): error: Optional[AddCollectionItemsError] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["collection", "error"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/additionalfielddefinition.py b/src/glean/api_client/models/additionalfielddefinition.py index 75e99935..529ed303 100644 --- a/src/glean/api_client/models/additionalfielddefinition.py +++ b/src/glean/api_client/models/additionalfielddefinition.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -66,13 +72,20 @@ class AdditionalFieldDefinition(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["key", "value"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/addverificationreminderop.py b/src/glean/api_client/models/addverificationreminderop.py index b6b9c1a2..db8ccb22 100644 --- a/src/glean/api_client/models/addverificationreminderop.py +++ b/src/glean/api_client/models/addverificationreminderop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .reminderrequest import ReminderRequest, ReminderRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class AddverificationreminderRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/adminsearchop.py b/src/glean/api_client/models/adminsearchop.py index 6578e5e3..783a841b 100644 --- a/src/glean/api_client/models/adminsearchop.py +++ b/src/glean/api_client/models/adminsearchop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .searchrequest import SearchRequest, SearchRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class AdminsearchRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agent.py b/src/glean/api_client/models/agent.py index ce46c088..30b6f6b0 100644 --- a/src/glean/api_client/models/agent.py +++ b/src/glean/api_client/models/agent.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import ConfigDict, model_serializer from typing import Any, Dict, Optional @@ -60,13 +66,20 @@ def additional_properties(self, value): self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["ap.io.messages", "ap.io.streaming"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) serialized.pop(k, serialized.pop(n, None)) @@ -117,13 +130,20 @@ class Agent(BaseModel): r"""The agent metadata. Currently not implemented.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description", "metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentconfig.py b/src/glean/api_client/models/agentconfig.py index 2a7bb3d1..ed02f12a 100644 --- a/src/glean/api_client/models/agentconfig.py +++ b/src/glean/api_client/models/agentconfig.py @@ -4,7 +4,13 @@ from .toolsets import ToolSets, ToolSetsTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -86,13 +92,20 @@ def serialize_mode(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["agent", "toolSets", "mode", "useImageGeneration"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentrun.py b/src/glean/api_client/models/agentrun.py index 0439dfdf..188531ab 100644 --- a/src/glean/api_client/models/agentrun.py +++ b/src/glean/api_client/models/agentrun.py @@ -4,7 +4,13 @@ from .agentexecutionstatus import AgentExecutionStatus from .message import Message, MessageTypedDict from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Any, Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -53,13 +59,20 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["input", "messages", "metadata", "status"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentruncreate.py b/src/glean/api_client/models/agentruncreate.py index c85f04f0..c3602c25 100644 --- a/src/glean/api_client/models/agentruncreate.py +++ b/src/glean/api_client/models/agentruncreate.py @@ -2,7 +2,13 @@ from __future__ import annotations from .message_input import MessageInput, MessageInputTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -37,13 +43,20 @@ class AgentRunCreate(BaseModel): r"""The metadata to pass to the agent.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["input", "messages", "metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentrunwaitresponse.py b/src/glean/api_client/models/agentrunwaitresponse.py index e09e51eb..ba94ca5c 100644 --- a/src/glean/api_client/models/agentrunwaitresponse.py +++ b/src/glean/api_client/models/agentrunwaitresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .agentrun import AgentRun, AgentRunTypedDict from .message import Message, MessageTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -22,13 +28,20 @@ class AgentRunWaitResponse(BaseModel): r"""The messages returned by the run.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["run", "messages"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentschemas.py b/src/glean/api_client/models/agentschemas.py index f69f3156..69b488b5 100644 --- a/src/glean/api_client/models/agentschemas.py +++ b/src/glean/api_client/models/agentschemas.py @@ -2,7 +2,13 @@ from __future__ import annotations from .actionsummary import ActionSummary, ActionSummaryTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -58,13 +64,20 @@ class AgentSchemas(BaseModel): r"""List of tools that the agent can invoke. Only included when include_tools query parameter is set to true.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "tools"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentsinsightsv2request.py b/src/glean/api_client/models/agentsinsightsv2request.py index 13a2eea4..2e8a252b 100644 --- a/src/glean/api_client/models/agentsinsightsv2request.py +++ b/src/glean/api_client/models/agentsinsightsv2request.py @@ -2,7 +2,13 @@ from __future__ import annotations from .period import Period, PeriodTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -34,13 +40,20 @@ class AgentsInsightsV2Request(BaseModel): day_range: Annotated[Optional[Period], pydantic.Field(alias="dayRange")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["agentIds", "departments", "managerEmails", "dayRange"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentsinsightsv2response.py b/src/glean/api_client/models/agentsinsightsv2response.py index ae50b9b4..b5f2a95b 100644 --- a/src/glean/api_client/models/agentsinsightsv2response.py +++ b/src/glean/api_client/models/agentsinsightsv2response.py @@ -13,7 +13,13 @@ from .agentusersinsight import AgentUsersInsight, AgentUsersInsightTypedDict from .labeledcountinfo import LabeledCountInfo, LabeledCountInfoTypedDict from .peragentinsight import PerAgentInsight, PerAgentInsightTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -122,6 +128,9 @@ class AgentsInsightsV2Response(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -144,11 +153,15 @@ def serialize_model(self, handler): "downvotesTimeseries", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentstimesavedinsight.py b/src/glean/api_client/models/agentstimesavedinsight.py index 25a613c6..77d8b476 100644 --- a/src/glean/api_client/models/agentstimesavedinsight.py +++ b/src/glean/api_client/models/agentstimesavedinsight.py @@ -2,7 +2,13 @@ from __future__ import annotations from .iconconfig import IconConfig, IconConfigTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -51,6 +57,9 @@ class AgentsTimeSavedInsight(BaseModel): r"""Total number of users who provided feedback on time saved for this agent over the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -63,11 +72,15 @@ def serialize_model(self, handler): "feedbackUserCount", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentsusagebydepartmentinsight.py b/src/glean/api_client/models/agentsusagebydepartmentinsight.py index bcfd9c30..fda33b20 100644 --- a/src/glean/api_client/models/agentsusagebydepartmentinsight.py +++ b/src/glean/api_client/models/agentsusagebydepartmentinsight.py @@ -2,7 +2,13 @@ from __future__ import annotations from .iconconfig import IconConfig, IconConfigTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -56,6 +62,9 @@ class AgentsUsageByDepartmentInsight(BaseModel): r"""Indicates whether the agent has been deleted""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -69,11 +78,15 @@ def serialize_model(self, handler): "isDeleted", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentusecaseinsight.py b/src/glean/api_client/models/agentusecaseinsight.py index 4841a4ed..cd02cce7 100644 --- a/src/glean/api_client/models/agentusecaseinsight.py +++ b/src/glean/api_client/models/agentusecaseinsight.py @@ -2,7 +2,13 @@ from __future__ import annotations from .iconconfig import IconConfig, IconConfigTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -62,6 +68,9 @@ class AgentUseCaseInsight(BaseModel): r"""Indicates whether the top agent has been deleted.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -75,11 +84,15 @@ def serialize_model(self, handler): "topAgentIsDeleted", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/agentusersinsight.py b/src/glean/api_client/models/agentusersinsight.py index 13ed679e..c0f60fb5 100644 --- a/src/glean/api_client/models/agentusersinsight.py +++ b/src/glean/api_client/models/agentusersinsight.py @@ -2,7 +2,13 @@ from __future__ import annotations from .person import Person, PersonTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -50,6 +56,9 @@ class AgentUsersInsight(BaseModel): r"""Total number of agent runs for this user over the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -61,11 +70,15 @@ def serialize_model(self, handler): "runCount", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/allowlistoptions.py b/src/glean/api_client/models/allowlistoptions.py index 0059b3cd..ad95b7a4 100644 --- a/src/glean/api_client/models/allowlistoptions.py +++ b/src/glean/api_client/models/allowlistoptions.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class AllowlistOptions(BaseModel): r"""list of regular expressions whose matches are considered whitelisted content""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["terms", "regexes"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/announcement.py b/src/glean/api_client/models/announcement.py index 2e111b78..d378b2d3 100644 --- a/src/glean/api_client/models/announcement.py +++ b/src/glean/api_client/models/announcement.py @@ -11,7 +11,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -47,13 +53,20 @@ class AnnouncementViewerInfo(BaseModel): r"""Whether the viewer has read the announcement.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["isDismissed", "isRead"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -220,6 +233,9 @@ def serialize_post_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -251,11 +267,15 @@ def serialize_model(self, handler): "favoriteInfo", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/anonymousevent.py b/src/glean/api_client/models/anonymousevent.py index 96c2e34b..07bcf5d2 100644 --- a/src/glean/api_client/models/anonymousevent.py +++ b/src/glean/api_client/models/anonymousevent.py @@ -4,7 +4,13 @@ from .timeinterval import TimeInterval, TimeIntervalTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -46,13 +52,20 @@ def serialize_event_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["time", "eventType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/answer.py b/src/glean/api_client/models/answer.py index e14d6240..1db2b6b3 100644 --- a/src/glean/api_client/models/answer.py +++ b/src/glean/api_client/models/answer.py @@ -7,7 +7,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional, TYPE_CHECKING @@ -175,6 +181,9 @@ def serialize_source_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -203,11 +212,15 @@ def serialize_model(self, handler): "sourceDocument", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/answercreationdata.py b/src/glean/api_client/models/answercreationdata.py index 447a1bc7..9bb8dd72 100644 --- a/src/glean/api_client/models/answercreationdata.py +++ b/src/glean/api_client/models/answercreationdata.py @@ -9,7 +9,13 @@ ) from .userrolespecification import UserRoleSpecification, UserRoleSpecificationTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -101,6 +107,9 @@ class AnswerCreationData(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -118,11 +127,15 @@ def serialize_model(self, handler): "combinedAnswerText", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/answerlike.py b/src/glean/api_client/models/answerlike.py index abee3d1a..3cf25662 100644 --- a/src/glean/api_client/models/answerlike.py +++ b/src/glean/api_client/models/answerlike.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional, TYPE_CHECKING @@ -27,13 +33,20 @@ class AnswerLike(BaseModel): r"""The time the user liked the answer in ISO format (ISO 8601).""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["user", "createTime"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/answerresult.py b/src/glean/api_client/models/answerresult.py index f0b6ce8a..77919c71 100644 --- a/src/glean/api_client/models/answerresult.py +++ b/src/glean/api_client/models/answerresult.py @@ -3,7 +3,13 @@ from __future__ import annotations from .answer import Answer, AnswerTypedDict from .favoriteinfo import FavoriteInfo, FavoriteInfoTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -34,13 +40,20 @@ class AnswerResult(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["trackingToken", "favoriteInfo"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/appresult.py b/src/glean/api_client/models/appresult.py index 2105b7fe..2427429c 100644 --- a/src/glean/api_client/models/appresult.py +++ b/src/glean/api_client/models/appresult.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class AppResult(BaseModel): r"""If there is available icon URL.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["docType", "mimeType", "iconUrl"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/assistantinsightsresponse.py b/src/glean/api_client/models/assistantinsightsresponse.py index 47e9bf2f..3bb6537f 100644 --- a/src/glean/api_client/models/assistantinsightsresponse.py +++ b/src/glean/api_client/models/assistantinsightsresponse.py @@ -6,7 +6,13 @@ PerUserAssistantInsight, PerUserAssistantInsightTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -95,6 +101,9 @@ class AssistantInsightsResponse(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -114,11 +123,15 @@ def serialize_model(self, handler): "downvotesTimeseries", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/authconfig.py b/src/glean/api_client/models/authconfig.py index f085390a..4fa806f1 100644 --- a/src/glean/api_client/models/authconfig.py +++ b/src/glean/api_client/models/authconfig.py @@ -4,7 +4,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -206,6 +212,9 @@ def serialize_auth_header_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -224,11 +233,15 @@ def serialize_model(self, handler): "lastAuthorizedAt", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/authcontext.py b/src/glean/api_client/models/authcontext.py index a184a4fc..bbc6281d 100644 --- a/src/glean/api_client/models/authcontext.py +++ b/src/glean/api_client/models/authcontext.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -22,13 +28,20 @@ class AuthContext(BaseModel): r"""ID of the MCP server (populated when toolType is MCP).""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["serverId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/authtoken.py b/src/glean/api_client/models/authtoken.py index 7551c7f6..1578aeee 100644 --- a/src/glean/api_client/models/authtoken.py +++ b/src/glean/api_client/models/authtoken.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -35,13 +41,20 @@ class AuthToken(BaseModel): r"""Unix timestamp when this token expires (in seconds since epoch UTC).""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["scope", "tokenType", "authUser", "expiration"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/autocompleteop.py b/src/glean/api_client/models/autocompleteop.py index 97d2bf4e..a7f549a2 100644 --- a/src/glean/api_client/models/autocompleteop.py +++ b/src/glean/api_client/models/autocompleteop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .autocompleterequest import AutocompleteRequest, AutocompleteRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class AutocompleteRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/autocompleterequest.py b/src/glean/api_client/models/autocompleterequest.py index adfebaa0..b9ed8a24 100644 --- a/src/glean/api_client/models/autocompleterequest.py +++ b/src/glean/api_client/models/autocompleterequest.py @@ -4,7 +4,13 @@ from .authtoken import AuthToken, AuthTokenTypedDict from .sessioninfo import SessionInfo, SessionInfoTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -80,6 +86,9 @@ class AutocompleteRequest(BaseModel): r"""Auth tokens which may be used for federated results.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -93,11 +102,15 @@ def serialize_model(self, handler): "authTokens", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/autocompleteresponse.py b/src/glean/api_client/models/autocompleteresponse.py index cca14924..57fff671 100644 --- a/src/glean/api_client/models/autocompleteresponse.py +++ b/src/glean/api_client/models/autocompleteresponse.py @@ -8,7 +8,13 @@ ) from .gleandataerror import GleanDataError, GleanDataErrorTypedDict from .sessioninfo import SessionInfo, SessionInfoTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -59,6 +65,9 @@ class AutocompleteResponse(BaseModel): r"""Time in milliseconds the backend took to respond to the request.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -71,11 +80,15 @@ def serialize_model(self, handler): "backendTimeMillis", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/autocompleteresult.py b/src/glean/api_client/models/autocompleteresult.py index 68854db6..0aa91f0e 100644 --- a/src/glean/api_client/models/autocompleteresult.py +++ b/src/glean/api_client/models/autocompleteresult.py @@ -9,7 +9,13 @@ from .ugcaction_union import UgcActionUnion, UgcActionUnionTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -107,6 +113,9 @@ def serialize_result_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -123,11 +132,15 @@ def serialize_model(self, handler): "ranges", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/autocompleteresultgroup.py b/src/glean/api_client/models/autocompleteresultgroup.py index 09788d2b..b090a6ec 100644 --- a/src/glean/api_client/models/autocompleteresultgroup.py +++ b/src/glean/api_client/models/autocompleteresultgroup.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -32,13 +38,20 @@ class AutocompleteResultGroup(BaseModel): r"""The title of the result group to be displayed. Empty means no title.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["startIndex", "endIndex", "title"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/badge.py b/src/glean/api_client/models/badge.py index d5675152..43b1ba68 100644 --- a/src/glean/api_client/models/badge.py +++ b/src/glean/api_client/models/badge.py @@ -2,7 +2,13 @@ from __future__ import annotations from .iconconfig import IconConfig, IconConfigTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -40,13 +46,20 @@ class Badge(BaseModel): r"""The badge should be shown on the PersonAttribution""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["key", "displayName", "iconConfig", "pinned"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/bulkindexdocumentsrequest.py b/src/glean/api_client/models/bulkindexdocumentsrequest.py index db14fe54..4f07bf05 100644 --- a/src/glean/api_client/models/bulkindexdocumentsrequest.py +++ b/src/glean/api_client/models/bulkindexdocumentsrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .documentdefinition import DocumentDefinition, DocumentDefinitionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -57,6 +63,9 @@ class BulkIndexDocumentsRequest(BaseModel): r"""True if older documents need to be force deleted after the upload completes. Defaults to older documents being deleted asynchronously. This must only be set when `isLastPage = true`""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -66,11 +75,15 @@ def serialize_model(self, handler): "disableStaleDocumentDeletionCheck", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/bulkindexemployeesrequest.py b/src/glean/api_client/models/bulkindexemployeesrequest.py index 43014e31..f58ebae1 100644 --- a/src/glean/api_client/models/bulkindexemployeesrequest.py +++ b/src/glean/api_client/models/bulkindexemployeesrequest.py @@ -5,7 +5,13 @@ EmployeeInfoDefinition, EmployeeInfoDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -55,6 +61,9 @@ class BulkIndexEmployeesRequest(BaseModel): r"""True if older employee data needs to be force deleted after the upload completes. Defaults to older data being deleted only if the percentage of data being deleted is less than 20%. This must only be set when `isLastPage = true`""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -64,11 +73,15 @@ def serialize_model(self, handler): "disableStaleDataDeletionCheck", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/bulkindexgroupsrequest.py b/src/glean/api_client/models/bulkindexgroupsrequest.py index 99f12d8b..1ee3686c 100644 --- a/src/glean/api_client/models/bulkindexgroupsrequest.py +++ b/src/glean/api_client/models/bulkindexgroupsrequest.py @@ -5,7 +5,13 @@ DatasourceGroupDefinition, DatasourceGroupDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -60,6 +66,9 @@ class BulkIndexGroupsRequest(BaseModel): r"""True if older group data needs to be force deleted after the upload completes. Defaults to older data being deleted only if the percentage of data being deleted is less than a reasonable threshold. This must only be set when `isLastPage = true`""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -69,11 +78,15 @@ def serialize_model(self, handler): "disableStaleDataDeletionCheck", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/bulkindexmembershipsrequest.py b/src/glean/api_client/models/bulkindexmembershipsrequest.py index 81740610..7bcb7ee3 100644 --- a/src/glean/api_client/models/bulkindexmembershipsrequest.py +++ b/src/glean/api_client/models/bulkindexmembershipsrequest.py @@ -5,7 +5,13 @@ DatasourceBulkMembershipDefinition, DatasourceBulkMembershipDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -58,15 +64,22 @@ class BulkIndexMembershipsRequest(BaseModel): r"""group who's memberships are specified""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["isFirstPage", "isLastPage", "forceRestartUpload", "group"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/bulkindexshortcutsrequest.py b/src/glean/api_client/models/bulkindexshortcutsrequest.py index 3aae4c03..bdf68e45 100644 --- a/src/glean/api_client/models/bulkindexshortcutsrequest.py +++ b/src/glean/api_client/models/bulkindexshortcutsrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .externalshortcut import ExternalShortcut, ExternalShortcutTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -45,13 +51,20 @@ class BulkIndexShortcutsRequest(BaseModel): r"""Flag to discard previous upload attempts and start from scratch. Must be specified with isFirstPage=true""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["isFirstPage", "isLastPage", "forceRestartUpload"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/bulkindexteamsrequest.py b/src/glean/api_client/models/bulkindexteamsrequest.py index 0fd38bfa..3c92f55a 100644 --- a/src/glean/api_client/models/bulkindexteamsrequest.py +++ b/src/glean/api_client/models/bulkindexteamsrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .teaminfodefinition import TeamInfoDefinition, TeamInfoDefinitionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -45,13 +51,20 @@ class BulkIndexTeamsRequest(BaseModel): r"""Flag to discard previous upload attempts and start from scratch. Must be specified with isFirstPage=true""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["isFirstPage", "isLastPage", "forceRestartUpload"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/bulkindexusersrequest.py b/src/glean/api_client/models/bulkindexusersrequest.py index bfbff92f..177995a6 100644 --- a/src/glean/api_client/models/bulkindexusersrequest.py +++ b/src/glean/api_client/models/bulkindexusersrequest.py @@ -5,7 +5,13 @@ DatasourceUserDefinition, DatasourceUserDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -60,6 +66,9 @@ class BulkIndexUsersRequest(BaseModel): r"""True if older user data needs to be force deleted after the upload completes. Defaults to older data being deleted only if the percentage of data being deleted is less than a reasonable threshold. This must only be set when `isLastPage = true`""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -69,11 +78,15 @@ def serialize_model(self, handler): "disableStaleDataDeletionCheck", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/bulkuploadhistoryevent.py b/src/glean/api_client/models/bulkuploadhistoryevent.py index b1daac94..6d6cc752 100644 --- a/src/glean/api_client/models/bulkuploadhistoryevent.py +++ b/src/glean/api_client/models/bulkuploadhistoryevent.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -82,15 +88,22 @@ def serialize_processing_state(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["uploadId", "startTime", "endTime", "status", "processingState"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/calendarattendee.py b/src/glean/api_client/models/calendarattendee.py index bc67f962..6ed99679 100644 --- a/src/glean/api_client/models/calendarattendee.py +++ b/src/glean/api_client/models/calendarattendee.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional, TYPE_CHECKING @@ -59,15 +65,22 @@ def serialize_response_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["isOrganizer", "isInGroup", "groupAttendees", "responseStatus"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/calendarattendees.py b/src/glean/api_client/models/calendarattendees.py index 40d5ce80..0ec8568f 100644 --- a/src/glean/api_client/models/calendarattendees.py +++ b/src/glean/api_client/models/calendarattendees.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -53,6 +59,9 @@ class CalendarAttendees(BaseModel): r"""Total number of attendees who have responded tentatively (i.e. responded maybe) to this event.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -65,11 +74,15 @@ def serialize_model(self, handler): "numTentative", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/calendarevent.py b/src/glean/api_client/models/calendarevent.py index 212954dc..0acb2ebb 100644 --- a/src/glean/api_client/models/calendarevent.py +++ b/src/glean/api_client/models/calendarevent.py @@ -15,7 +15,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -141,6 +144,9 @@ def serialize_room_booking_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -161,11 +167,15 @@ def serialize_model(self, handler): ] ) nullable_fields = set(["isOrganizer"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/canonicalizingregextype.py b/src/glean/api_client/models/canonicalizingregextype.py index 33218a64..48d36131 100644 --- a/src/glean/api_client/models/canonicalizingregextype.py +++ b/src/glean/api_client/models/canonicalizingregextype.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -27,13 +33,20 @@ class CanonicalizingRegexType(BaseModel): r"""Regular expression to transform into a canonical string.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["matchRegex", "rewriteRegex"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/channelinviteinfo.py b/src/glean/api_client/models/channelinviteinfo.py index a97c2ccd..c442a33e 100644 --- a/src/glean/api_client/models/channelinviteinfo.py +++ b/src/glean/api_client/models/channelinviteinfo.py @@ -4,7 +4,13 @@ from .communicationchannel import CommunicationChannel from datetime import datetime from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional, TYPE_CHECKING @@ -59,15 +65,22 @@ def serialize_channel(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["channel", "isAutoInvite", "inviter", "inviteTime", "reminderTime"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chat.py b/src/glean/api_client/models/chat.py index 2c89193d..2bfe0f54 100644 --- a/src/glean/api_client/models/chat.py +++ b/src/glean/api_client/models/chat.py @@ -6,7 +6,13 @@ from .objectpermissions import ObjectPermissions, ObjectPermissionsTypedDict from .person import Person, PersonTypedDict from .userrolespecification import UserRoleSpecification, UserRoleSpecificationTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -77,6 +83,9 @@ class Chat(BaseModel): r"""A list of roles for this Chat.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -93,11 +102,15 @@ def serialize_model(self, handler): "roles", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatcitationannotation.py b/src/glean/api_client/models/chatcitationannotation.py index 176c5d75..6c973ddc 100644 --- a/src/glean/api_client/models/chatcitationannotation.py +++ b/src/glean/api_client/models/chatcitationannotation.py @@ -10,7 +10,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import NotRequired, TypedDict @@ -40,14 +43,21 @@ class ChatCitationAnnotation(BaseModel): snippets: OptionalNullable[List[ChatCitationSnippet]] = UNSET @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["start_index", "end_index", "snippets"]) nullable_fields = set(["start_index", "end_index", "snippets"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/chatcitationsnippet.py b/src/glean/api_client/models/chatcitationsnippet.py index 16364ab5..c94a707a 100644 --- a/src/glean/api_client/models/chatcitationsnippet.py +++ b/src/glean/api_client/models/chatcitationsnippet.py @@ -7,7 +7,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing_extensions import NotRequired, TypedDict @@ -23,14 +26,21 @@ class ChatCitationSnippet(BaseModel): page_number: OptionalNullable[int] = UNSET @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_number"]) nullable_fields = set(["page_number"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/chatcustomentitysource.py b/src/glean/api_client/models/chatcustomentitysource.py index bfb2f915..22d9d830 100644 --- a/src/glean/api_client/models/chatcustomentitysource.py +++ b/src/glean/api_client/models/chatcustomentitysource.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -35,13 +41,20 @@ class ChatCustomEntitySource(BaseModel): datasource: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "title", "url", "datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatdocumentsource.py b/src/glean/api_client/models/chatdocumentsource.py index 513c3ec8..967cb6cc 100644 --- a/src/glean/api_client/models/chatdocumentsource.py +++ b/src/glean/api_client/models/chatdocumentsource.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional, Union from typing_extensions import NotRequired, TypeAliasType, TypedDict @@ -32,13 +38,20 @@ class ChatDocumentSourceDocument2(BaseModel): datasource: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["document_id", "title", "datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -72,13 +85,20 @@ class ChatDocumentSourceDocument1(BaseModel): datasource: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["url", "title", "datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatfile.py b/src/glean/api_client/models/chatfile.py index cf7a5a7a..f9e9f261 100644 --- a/src/glean/api_client/models/chatfile.py +++ b/src/glean/api_client/models/chatfile.py @@ -2,7 +2,13 @@ from __future__ import annotations from .chatfilemetadata import ChatFileMetadata, ChatFileMetadataTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -37,13 +43,20 @@ class ChatFile(BaseModel): r"""Metadata of a file uploaded by a user for Chat.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id", "url", "name", "metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatfilemetadata.py b/src/glean/api_client/models/chatfilemetadata.py index b4cb6dc4..389a5de9 100644 --- a/src/glean/api_client/models/chatfilemetadata.py +++ b/src/glean/api_client/models/chatfilemetadata.py @@ -4,7 +4,13 @@ from .chatfilefailurereason import ChatFileFailureReason from .chatfilestatus import ChatFileStatus from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -67,15 +73,22 @@ def serialize_failure_reason(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["status", "uploadTime", "processedSize", "failureReason", "mimeType"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatfilesource.py b/src/glean/api_client/models/chatfilesource.py index 7cfc1f8f..eb7738eb 100644 --- a/src/glean/api_client/models/chatfilesource.py +++ b/src/glean/api_client/models/chatfilesource.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -32,13 +38,20 @@ class ChatFileSource(BaseModel): datasource: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["title", "url", "datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatmessage.py b/src/glean/api_client/models/chatmessage.py index 811cb243..b4b20101 100644 --- a/src/glean/api_client/models/chatmessage.py +++ b/src/glean/api_client/models/chatmessage.py @@ -6,7 +6,13 @@ from .chatmessagefragment import ChatMessageFragment, ChatMessageFragmentTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -147,6 +153,9 @@ def serialize_message_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -162,11 +171,15 @@ def serialize_model(self, handler): "hasMoreFragments", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatmessagecitation.py b/src/glean/api_client/models/chatmessagecitation.py index 15fd3786..138de738 100644 --- a/src/glean/api_client/models/chatmessagecitation.py +++ b/src/glean/api_client/models/chatmessagecitation.py @@ -7,7 +7,13 @@ from .document import Document, DocumentTypedDict from .person import Person, PersonTypedDict from .referencerange import ReferenceRange, ReferenceRangeTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -66,6 +72,9 @@ class ChatMessageCitation(BaseModel): r"""Each reference range and its corresponding snippets""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -78,11 +87,15 @@ def serialize_model(self, handler): "referenceRanges", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatmessagefragment.py b/src/glean/api_client/models/chatmessagefragment.py index 844224bb..990e3664 100644 --- a/src/glean/api_client/models/chatmessagefragment.py +++ b/src/glean/api_client/models/chatmessagefragment.py @@ -8,7 +8,13 @@ from .servertoolresponse import ServerToolResponse, ServerToolResponseTypedDict from .structuredresult import StructuredResult, StructuredResultTypedDict from .toolinfo import ToolInfo, ToolInfoTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -105,6 +111,9 @@ class ChatMessageFragment(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -119,11 +128,15 @@ def serialize_model(self, handler): "serverToolResponse", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatmetadata.py b/src/glean/api_client/models/chatmetadata.py index 81530650..8d787e98 100644 --- a/src/glean/api_client/models/chatmetadata.py +++ b/src/glean/api_client/models/chatmetadata.py @@ -2,7 +2,13 @@ from __future__ import annotations from .iconconfig import IconConfig, IconConfigTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional, TYPE_CHECKING @@ -63,6 +69,9 @@ class ChatMetadata(BaseModel): r"""Defines how to render an icon""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -76,11 +85,15 @@ def serialize_model(self, handler): "icon", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatmetadataresult.py b/src/glean/api_client/models/chatmetadataresult.py index 53e0ef97..202c2cf6 100644 --- a/src/glean/api_client/models/chatmetadataresult.py +++ b/src/glean/api_client/models/chatmetadataresult.py @@ -2,7 +2,13 @@ from __future__ import annotations from .chatmetadata import ChatMetadata, ChatMetadataTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -26,13 +32,20 @@ class ChatMetadataResult(BaseModel): r"""An opaque token that represents this particular Chat. To be used for `/feedback` reporting.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["chat", "trackingToken"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatop.py b/src/glean/api_client/models/chatop.py index d14b8817..bfd55281 100644 --- a/src/glean/api_client/models/chatop.py +++ b/src/glean/api_client/models/chatop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .chatrequest import ChatRequest, ChatRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -40,13 +46,20 @@ class ChatRequestRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatpersonsource.py b/src/glean/api_client/models/chatpersonsource.py index f6f643e8..57a1317b 100644 --- a/src/glean/api_client/models/chatpersonsource.py +++ b/src/glean/api_client/models/chatpersonsource.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -29,13 +35,20 @@ class ChatPersonSource(BaseModel): url: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatrequest.py b/src/glean/api_client/models/chatrequest.py index ca0d3695..b31a0520 100644 --- a/src/glean/api_client/models/chatrequest.py +++ b/src/glean/api_client/models/chatrequest.py @@ -8,7 +8,13 @@ ChatRestrictionFiltersTypedDict, ) from .sessioninfo import SessionInfo, SessionInfoTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -81,6 +87,9 @@ class ChatRequest(BaseModel): r"""If set, response lines will be streamed one-by-one as they become available. Each will be a ChatResponse, formatted as JSON, and separated by a new line. If false, the entire response will be returned at once. Note that if this is set and the model being used does not support streaming, the model's response will not be streamed, but other messages from the endpoint still will be.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -96,11 +105,15 @@ def serialize_model(self, handler): "stream", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatresponse.py b/src/glean/api_client/models/chatresponse.py index aa3afabf..1376285f 100644 --- a/src/glean/api_client/models/chatresponse.py +++ b/src/glean/api_client/models/chatresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .chatmessage import ChatMessage, ChatMessageTypedDict from .chatmetadata import ChatMetadata, ChatMetadataTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -53,6 +59,9 @@ class ChatResponse(BaseModel): r"""A token that is used to track the session.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -64,11 +73,15 @@ def serialize_model(self, handler): "chatSessionTrackingToken", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatrestrictionfilters.py b/src/glean/api_client/models/chatrestrictionfilters.py index 51db943b..f25e4c03 100644 --- a/src/glean/api_client/models/chatrestrictionfilters.py +++ b/src/glean/api_client/models/chatrestrictionfilters.py @@ -2,7 +2,13 @@ from __future__ import annotations from .documentspec_union import DocumentSpecUnion, DocumentSpecUnionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -31,15 +37,22 @@ class ChatRestrictionFilters(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["containerSpecs", "documentSpecs", "datasourceInstances"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatresult.py b/src/glean/api_client/models/chatresult.py index 8058b2bb..d7d3208a 100644 --- a/src/glean/api_client/models/chatresult.py +++ b/src/glean/api_client/models/chatresult.py @@ -2,7 +2,13 @@ from __future__ import annotations from .chat import Chat, ChatTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -26,13 +32,20 @@ class ChatResult(BaseModel): r"""An opaque token that represents this particular Chat. To be used for `/feedback` reporting.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["chat", "trackingToken"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatskill.py b/src/glean/api_client/models/chatskill.py index b6327b42..5aeee79e 100644 --- a/src/glean/api_client/models/chatskill.py +++ b/src/glean/api_client/models/chatskill.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -31,13 +37,20 @@ class ChatSkill(BaseModel): r"""URL for viewing the skill.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatstreamop.py b/src/glean/api_client/models/chatstreamop.py index 6ce3ce9b..b1aaa3ed 100644 --- a/src/glean/api_client/models/chatstreamop.py +++ b/src/glean/api_client/models/chatstreamop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .chatrequest import ChatRequest, ChatRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -32,13 +38,20 @@ class ChatStreamRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatsuggestion.py b/src/glean/api_client/models/chatsuggestion.py index 95b2928c..d1027e5c 100644 --- a/src/glean/api_client/models/chatsuggestion.py +++ b/src/glean/api_client/models/chatsuggestion.py @@ -3,7 +3,13 @@ from __future__ import annotations from .artifacttype import ArtifactType from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -53,15 +59,22 @@ def serialize_artifact_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["query", "cta", "feature", "artifactType", "sourceDocumentIds"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/chatzerostatesuggestionoptions.py b/src/glean/api_client/models/chatzerostatesuggestionoptions.py index 75527af1..dbdabf2f 100644 --- a/src/glean/api_client/models/chatzerostatesuggestionoptions.py +++ b/src/glean/api_client/models/chatzerostatesuggestionoptions.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -20,13 +26,20 @@ class ChatZeroStateSuggestionOptions(BaseModel): r"""The Chat Application ID this feed request should be scoped to. Empty means there is no Chat Application ID..""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["applicationId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/checkdocumentaccessresponse.py b/src/glean/api_client/models/checkdocumentaccessresponse.py index 373b9388..0652d7c3 100644 --- a/src/glean/api_client/models/checkdocumentaccessresponse.py +++ b/src/glean/api_client/models/checkdocumentaccessresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -22,13 +28,20 @@ class CheckDocumentAccessResponse(BaseModel): r"""If true, user has access to document for search""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["hasAccess"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/clustergroup.py b/src/glean/api_client/models/clustergroup.py index 9805a2fa..dadc8094 100644 --- a/src/glean/api_client/models/clustergroup.py +++ b/src/glean/api_client/models/clustergroup.py @@ -3,7 +3,13 @@ from __future__ import annotations from .clustertypeenum import ClusterTypeEnum from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional, TYPE_CHECKING @@ -46,13 +52,20 @@ def serialize_cluster_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["clusteredResults", "clusterType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/code.py b/src/glean/api_client/models/code.py index 140e792f..f4fab7bb 100644 --- a/src/glean/api_client/models/code.py +++ b/src/glean/api_client/models/code.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -33,15 +39,22 @@ class Code(BaseModel): r"""Last file match for a repo""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["repoName", "fileName", "fileUrl", "lines", "isLastMatch"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/codeline.py b/src/glean/api_client/models/codeline.py index 70e471cc..aaae5af7 100644 --- a/src/glean/api_client/models/codeline.py +++ b/src/glean/api_client/models/codeline.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -27,13 +33,20 @@ class CodeLine(BaseModel): r"""Index ranges depicting matched sections of the line""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["lineNumber", "content", "ranges"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/collection.py b/src/glean/api_client/models/collection.py index 6bb4995e..a939347d 100644 --- a/src/glean/api_client/models/collection.py +++ b/src/glean/api_client/models/collection.py @@ -10,7 +10,13 @@ from .objectpermissions import ObjectPermissions, ObjectPermissionsTypedDict from .thumbnail import Thumbnail, ThumbnailTypedDict from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -157,6 +163,9 @@ class Collection(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -184,11 +193,15 @@ def serialize_model(self, handler): "favoriteInfo", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/collectionitem.py b/src/glean/api_client/models/collectionitem.py index 0cbe6492..a99fe288 100644 --- a/src/glean/api_client/models/collectionitem.py +++ b/src/glean/api_client/models/collectionitem.py @@ -4,7 +4,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional, TYPE_CHECKING @@ -93,6 +99,9 @@ def serialize_item_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -109,11 +118,15 @@ def serialize_model(self, handler): "collection", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/collectionitemdescriptor.py b/src/glean/api_client/models/collectionitemdescriptor.py index 6642f487..c246692b 100644 --- a/src/glean/api_client/models/collectionitemdescriptor.py +++ b/src/glean/api_client/models/collectionitemdescriptor.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -57,6 +63,9 @@ class CollectionItemDescriptor(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -69,11 +78,15 @@ def serialize_model(self, handler): "itemType", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/collectionpinnedmetadata.py b/src/glean/api_client/models/collectionpinnedmetadata.py index 2e54e6a4..4d0d03c4 100644 --- a/src/glean/api_client/models/collectionpinnedmetadata.py +++ b/src/glean/api_client/models/collectionpinnedmetadata.py @@ -3,7 +3,13 @@ from __future__ import annotations from .collectionpinmetadata import CollectionPinMetadata, CollectionPinMetadataTypedDict from .collectionpintarget import CollectionPinTarget, CollectionPinTargetTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -29,13 +35,20 @@ class CollectionPinnedMetadata(BaseModel): r"""List of targets this Collection can be pinned to, excluding the targets this Collection is already pinned to. We also include Collection ID already is pinned to each eligible target, which will be 0 if the target has no pinned Collection.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["existingPins", "eligiblePins"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/collectionpintarget.py b/src/glean/api_client/models/collectionpintarget.py index cd3f16f2..caffcdb4 100644 --- a/src/glean/api_client/models/collectionpintarget.py +++ b/src/glean/api_client/models/collectionpintarget.py @@ -4,7 +4,13 @@ from .collectionpinnablecategories import CollectionPinnableCategories from .collectionpinnabletargets import CollectionPinnableTargets from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -48,13 +54,20 @@ def serialize_target(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["value", "target"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/commentdefinition.py b/src/glean/api_client/models/commentdefinition.py index 121b9722..13895986 100644 --- a/src/glean/api_client/models/commentdefinition.py +++ b/src/glean/api_client/models/commentdefinition.py @@ -6,7 +6,13 @@ UserReferenceDefinition, UserReferenceDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -54,15 +60,22 @@ class CommentDefinition(BaseModel): r"""Describes how a user is referenced in a document. The user can be referenced by email or by a datasource specific id.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["author", "content", "createdAt", "updatedAt", "updatedBy"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/company.py b/src/glean/api_client/models/company.py index acd9da9d..9231c263 100644 --- a/src/glean/api_client/models/company.py +++ b/src/glean/api_client/models/company.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import date -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -85,6 +91,9 @@ class Company(BaseModel): r"""User facing description of company.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -102,11 +111,15 @@ def serialize_model(self, handler): "about", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/conferencedata.py b/src/glean/api_client/models/conferencedata.py index a9f6b4b4..92433923 100644 --- a/src/glean/api_client/models/conferencedata.py +++ b/src/glean/api_client/models/conferencedata.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -54,13 +60,20 @@ def serialize_source(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["source"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/configurationvalue.py b/src/glean/api_client/models/configurationvalue.py index c7458c5d..224f8a3d 100644 --- a/src/glean/api_client/models/configurationvalue.py +++ b/src/glean/api_client/models/configurationvalue.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -27,13 +33,20 @@ class ConfigurationValue(BaseModel): r"""The configuration value as a list of strings. Only one of value or valueList should be populated.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["value", "valueList"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/contentdefinition.py b/src/glean/api_client/models/contentdefinition.py index 03e7f7a2..a84055a2 100644 --- a/src/glean/api_client/models/contentdefinition.py +++ b/src/glean/api_client/models/contentdefinition.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -32,13 +38,20 @@ class ContentDefinition(BaseModel): r"""base64 encoded binary content. Only one of textContent or binary content can be specified""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["textContent", "binaryContent"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/countinfo.py b/src/glean/api_client/models/countinfo.py index 83d1aa3b..62fa7d4c 100644 --- a/src/glean/api_client/models/countinfo.py +++ b/src/glean/api_client/models/countinfo.py @@ -2,7 +2,13 @@ from __future__ import annotations from .period import Period, PeriodTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class CountInfo(BaseModel): r"""The unit of organization over which we did the count aggregation, e.g. org (department) or company""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["period", "org"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createagentop.py b/src/glean/api_client/models/createagentop.py index 4ed4192d..72a559a3 100644 --- a/src/glean/api_client/models/createagentop.py +++ b/src/glean/api_client/models/createagentop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .createworkflowrequest import CreateWorkflowRequest, CreateWorkflowRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -38,13 +44,20 @@ class CreateAgentRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createannouncementop.py b/src/glean/api_client/models/createannouncementop.py index f07a4fec..31d99aed 100644 --- a/src/glean/api_client/models/createannouncementop.py +++ b/src/glean/api_client/models/createannouncementop.py @@ -5,7 +5,13 @@ CreateAnnouncementRequest, CreateAnnouncementRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class CreateannouncementRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createannouncementrequest.py b/src/glean/api_client/models/createannouncementrequest.py index b7cbb6c5..6ea77cca 100644 --- a/src/glean/api_client/models/createannouncementrequest.py +++ b/src/glean/api_client/models/createannouncementrequest.py @@ -6,7 +6,13 @@ from .thumbnail import Thumbnail, ThumbnailTypedDict from datetime import datetime from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -106,6 +112,9 @@ class CreateAnnouncementRequest(BaseModel): r"""URL for viewing the announcement. It will be set to document URL for announcements from other datasources e.g. simpplr. Can only be written when channel=\"SOCIAL_FEED\".""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -122,11 +131,15 @@ def serialize_model(self, handler): "viewUrl", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createanswerop.py b/src/glean/api_client/models/createanswerop.py index 6e7cc763..68a8ba00 100644 --- a/src/glean/api_client/models/createanswerop.py +++ b/src/glean/api_client/models/createanswerop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .createanswerrequest import CreateAnswerRequest, CreateAnswerRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class CreateanswerRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createcollectionop.py b/src/glean/api_client/models/createcollectionop.py index 3b504b1b..187fd83f 100644 --- a/src/glean/api_client/models/createcollectionop.py +++ b/src/glean/api_client/models/createcollectionop.py @@ -7,7 +7,13 @@ CreateCollectionRequest, CreateCollectionRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional, Union @@ -35,13 +41,20 @@ class CreatecollectionRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -62,13 +75,20 @@ class ResponseBody2(BaseModel): collection: Optional[Collection] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["collection"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -89,13 +109,20 @@ class ResponseBody1(BaseModel): error: Optional[CollectionError] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["error"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createcollectionrequest.py b/src/glean/api_client/models/createcollectionrequest.py index 8ed97b03..144353a7 100644 --- a/src/glean/api_client/models/createcollectionrequest.py +++ b/src/glean/api_client/models/createcollectionrequest.py @@ -4,7 +4,13 @@ from .facetfilter import FacetFilter, FacetFilterTypedDict from .thumbnail import Thumbnail, ThumbnailTypedDict from .userrolespecification import UserRoleSpecification, UserRoleSpecificationTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -79,6 +85,9 @@ class CreateCollectionRequest(BaseModel): r"""The (optional) ItemId of the next CollectionItem in sequence. If omitted, will be added to the end of the Collection. Only used if parentId is specified.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -94,11 +103,15 @@ def serialize_model(self, handler): "newNextItemId", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createdlpreportrequest.py b/src/glean/api_client/models/createdlpreportrequest.py index 9de15343..4c517949 100644 --- a/src/glean/api_client/models/createdlpreportrequest.py +++ b/src/glean/api_client/models/createdlpreportrequest.py @@ -4,7 +4,13 @@ from .dlpconfig import DlpConfig, DlpConfigTypedDict from .dlpfrequency import DlpFrequency from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -47,13 +53,20 @@ def serialize_frequency(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "config", "frequency", "autoHideDocs"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createdlpreportresponse.py b/src/glean/api_client/models/createdlpreportresponse.py index 2fecf5af..1ef47524 100644 --- a/src/glean/api_client/models/createdlpreportresponse.py +++ b/src/glean/api_client/models/createdlpreportresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .dlpreport import DlpReport, DlpReportTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -18,13 +24,20 @@ class CreateDlpReportResponse(BaseModel): r"""Full policy information that will be used for scans.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["report"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createshortcutop.py b/src/glean/api_client/models/createshortcutop.py index cd9cab87..fc35d42d 100644 --- a/src/glean/api_client/models/createshortcutop.py +++ b/src/glean/api_client/models/createshortcutop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .createshortcutrequest import CreateShortcutRequest, CreateShortcutRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class CreateshortcutRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createshortcutresponse.py b/src/glean/api_client/models/createshortcutresponse.py index 7fd2e6eb..f92b8971 100644 --- a/src/glean/api_client/models/createshortcutresponse.py +++ b/src/glean/api_client/models/createshortcutresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .shortcut import Shortcut, ShortcutTypedDict from .shortcuterror import ShortcutError, ShortcutErrorTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -20,13 +26,20 @@ class CreateShortcutResponse(BaseModel): error: Optional[ShortcutError] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["shortcut", "error"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/createworkflowrequest.py b/src/glean/api_client/models/createworkflowrequest.py index 206d00f3..2e08e069 100644 --- a/src/glean/api_client/models/createworkflowrequest.py +++ b/src/glean/api_client/models/createworkflowrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class CreateWorkflowRequest(BaseModel): r"""id of the parent workflow for transient workflows""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "transient", "parentWorkflowId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/currentactiveusers.py b/src/glean/api_client/models/currentactiveusers.py index 1236b653..1a6476f2 100644 --- a/src/glean/api_client/models/currentactiveusers.py +++ b/src/glean/api_client/models/currentactiveusers.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -27,13 +33,20 @@ class CurrentActiveUsers(BaseModel): r"""Number of current Weekly Active Users.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["monthlyActiveUsers", "weeklyActiveUsers"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customdatasourceconfig.py b/src/glean/api_client/models/customdatasourceconfig.py index 0b728d6f..808c4fd3 100644 --- a/src/glean/api_client/models/customdatasourceconfig.py +++ b/src/glean/api_client/models/customdatasourceconfig.py @@ -9,7 +9,13 @@ from .quicklink import Quicklink, QuicklinkTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -260,6 +266,9 @@ def serialize_connector_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -291,11 +300,15 @@ def serialize_model(self, handler): "isTestDatasource", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customdatavalue.py b/src/glean/api_client/models/customdatavalue.py index a07d2e81..fec46704 100644 --- a/src/glean/api_client/models/customdatavalue.py +++ b/src/glean/api_client/models/customdatavalue.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -34,6 +40,9 @@ class CustomDataValue(BaseModel): ) @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -44,11 +53,15 @@ def serialize_model(self, handler): "booleanValue", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customentity.py b/src/glean/api_client/models/customentity.py index 6cb844cc..b319d071 100644 --- a/src/glean/api_client/models/customentity.py +++ b/src/glean/api_client/models/customentity.py @@ -3,7 +3,13 @@ from __future__ import annotations from .customentitymetadata import CustomEntityMetadata, CustomEntityMetadataTypedDict from .objectpermissions import ObjectPermissions, ObjectPermissionsTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -52,6 +58,9 @@ class CustomEntity(BaseModel): r"""A list of user roles for the custom entity explicitly granted by the owner.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -64,11 +73,15 @@ def serialize_model(self, handler): "roles", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customentitymetadata.py b/src/glean/api_client/models/customentitymetadata.py index 45958c27..66819f3f 100644 --- a/src/glean/api_client/models/customentitymetadata.py +++ b/src/glean/api_client/models/customentitymetadata.py @@ -2,7 +2,13 @@ from __future__ import annotations from .customdatavalue import CustomDataValue, CustomDataValueTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, Optional @@ -21,13 +27,20 @@ class CustomEntityMetadata(BaseModel): r"""Custom fields specific to individual datasources""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["customData"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customer.py b/src/glean/api_client/models/customer.py index 7154cf22..cf622ad3 100644 --- a/src/glean/api_client/models/customer.py +++ b/src/glean/api_client/models/customer.py @@ -4,7 +4,13 @@ from .company import Company, CompanyTypedDict from .customermetadata import CustomerMetadata, CustomerMetadataTypedDict from datetime import date -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, List, Optional, TYPE_CHECKING @@ -71,6 +77,9 @@ class Customer(BaseModel): r"""User facing (potentially generated) notes about company.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -84,11 +93,15 @@ def serialize_model(self, handler): "notes", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customermetadata.py b/src/glean/api_client/models/customermetadata.py index 35adf587..d53c5f2a 100644 --- a/src/glean/api_client/models/customermetadata.py +++ b/src/glean/api_client/models/customermetadata.py @@ -2,7 +2,13 @@ from __future__ import annotations from .customdatavalue import CustomDataValue, CustomDataValueTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, Optional @@ -26,13 +32,20 @@ class CustomerMetadata(BaseModel): r"""Custom fields specific to individual datasources""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["datasourceId", "customData"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customfielddata.py b/src/glean/api_client/models/customfielddata.py index 5e85ebbf..12717abf 100644 --- a/src/glean/api_client/models/customfielddata.py +++ b/src/glean/api_client/models/customfielddata.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING from typing_extensions import NotRequired, TypedDict @@ -28,13 +34,20 @@ class CustomFieldData(BaseModel): r"""Determines whether the client should display this custom field""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["displayable"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customfieldvaluehyperlink.py b/src/glean/api_client/models/customfieldvaluehyperlink.py index 44931d12..58c9db1b 100644 --- a/src/glean/api_client/models/customfieldvaluehyperlink.py +++ b/src/glean/api_client/models/customfieldvaluehyperlink.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -23,13 +29,20 @@ class CustomFieldValueHyperlink(BaseModel): r"""Link for this URL.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["urlAnchor", "urlLink"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customfieldvalueperson.py b/src/glean/api_client/models/customfieldvalueperson.py index cb264f2b..68b8bdb5 100644 --- a/src/glean/api_client/models/customfieldvalueperson.py +++ b/src/glean/api_client/models/customfieldvalueperson.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional, TYPE_CHECKING from typing_extensions import NotRequired, TypedDict @@ -18,13 +24,20 @@ class CustomFieldValuePerson(BaseModel): person: Optional["Person"] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["person"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customfieldvaluestr.py b/src/glean/api_client/models/customfieldvaluestr.py index 68f0fa1e..55b7f6ed 100644 --- a/src/glean/api_client/models/customfieldvaluestr.py +++ b/src/glean/api_client/models/customfieldvaluestr.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -18,13 +24,20 @@ class CustomFieldValueStr(BaseModel): r"""Text field for string value.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["strText"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/custommetadatapropertydefinition.py b/src/glean/api_client/models/custommetadatapropertydefinition.py index 26d09515..92c2e245 100644 --- a/src/glean/api_client/models/custommetadatapropertydefinition.py +++ b/src/glean/api_client/models/custommetadatapropertydefinition.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -59,13 +65,20 @@ def serialize_property_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["skipIndexing"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customproperty.py b/src/glean/api_client/models/customproperty.py index 74cc710e..ae6c461f 100644 --- a/src/glean/api_client/models/customproperty.py +++ b/src/glean/api_client/models/customproperty.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Optional from typing_extensions import NotRequired, TypedDict @@ -24,13 +30,20 @@ class CustomProperty(BaseModel): r"""Must be a string, a number (for INT properties), or an array of strings. A boolean is not valid. When OpenAPI Generator supports `oneOf`, we can semantically enforce this.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "value"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customsensitiveexpression.py b/src/glean/api_client/models/customsensitiveexpression.py index 4d525872..b78ada05 100644 --- a/src/glean/api_client/models/customsensitiveexpression.py +++ b/src/glean/api_client/models/customsensitiveexpression.py @@ -2,7 +2,13 @@ from __future__ import annotations from .customsensitiverule import CustomSensitiveRule, CustomSensitiveRuleTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -29,13 +35,20 @@ class CustomSensitiveExpression(BaseModel): r"""The expression to evaluate the keyword match.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id", "keyword", "evaluationExpression"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/customsensitiverule.py b/src/glean/api_client/models/customsensitiverule.py index c767e33d..1a76088a 100644 --- a/src/glean/api_client/models/customsensitiverule.py +++ b/src/glean/api_client/models/customsensitiverule.py @@ -4,7 +4,13 @@ from .customsensitiveruletype import CustomSensitiveRuleType from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -67,13 +73,20 @@ def serialize_likelihood_threshold(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id", "value", "type", "likelihoodThreshold"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/datasourcebulkmembershipdefinition.py b/src/glean/api_client/models/datasourcebulkmembershipdefinition.py index 31e0065c..41a76103 100644 --- a/src/glean/api_client/models/datasourcebulkmembershipdefinition.py +++ b/src/glean/api_client/models/datasourcebulkmembershipdefinition.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -31,13 +37,20 @@ class DatasourceBulkMembershipDefinition(BaseModel): r"""If the member is a group, then the name of the member group""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["memberUserId", "memberGroupName"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/datasourcecredentialstatusresponse.py b/src/glean/api_client/models/datasourcecredentialstatusresponse.py index 150f1a48..1c967093 100644 --- a/src/glean/api_client/models/datasourcecredentialstatusresponse.py +++ b/src/glean/api_client/models/datasourcecredentialstatusresponse.py @@ -4,7 +4,13 @@ from .datasourcecredentialstatus import DatasourceCredentialStatus from datetime import datetime from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -59,13 +65,20 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["lastRotatedAt", "expiresAt", "message"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/datasourcemembershipdefinition.py b/src/glean/api_client/models/datasourcemembershipdefinition.py index 4243bb1b..8bb60a87 100644 --- a/src/glean/api_client/models/datasourcemembershipdefinition.py +++ b/src/glean/api_client/models/datasourcemembershipdefinition.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -36,13 +42,20 @@ class DatasourceMembershipDefinition(BaseModel): r"""If the member is a group, then the name of the member group""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["memberUserId", "memberGroupName"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/datasourceobjecttypedocumentcountentry.py b/src/glean/api_client/models/datasourceobjecttypedocumentcountentry.py index 306d5d5b..4db733ec 100644 --- a/src/glean/api_client/models/datasourceobjecttypedocumentcountentry.py +++ b/src/glean/api_client/models/datasourceobjecttypedocumentcountentry.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -23,13 +29,20 @@ class DatasourceObjectTypeDocumentCountEntry(BaseModel): r"""The number of documents of the corresponding objectType""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["objectType", "count"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/datasourceprofile.py b/src/glean/api_client/models/datasourceprofile.py index 4a54a6d3..e3985cc2 100644 --- a/src/glean/api_client/models/datasourceprofile.py +++ b/src/glean/api_client/models/datasourceprofile.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -42,13 +48,20 @@ class DatasourceProfile(BaseModel): r"""For internal use only. True iff the data source profile was manually added by a user from within Glean (aka not from the original data source)""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["url", "nativeAppUrl", "isUserGenerated"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/datasourceuserdefinition.py b/src/glean/api_client/models/datasourceuserdefinition.py index af754d51..d6295ae7 100644 --- a/src/glean/api_client/models/datasourceuserdefinition.py +++ b/src/glean/api_client/models/datasourceuserdefinition.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class DatasourceUserDefinition(BaseModel): r"""set to false if the user is a former employee or a bot""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["userId", "isActive"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/debugdatasourcestatusidentityresponsecomponent.py b/src/glean/api_client/models/debugdatasourcestatusidentityresponsecomponent.py index a027cc7e..5459ecea 100644 --- a/src/glean/api_client/models/debugdatasourcestatusidentityresponsecomponent.py +++ b/src/glean/api_client/models/debugdatasourcestatusidentityresponsecomponent.py @@ -5,7 +5,13 @@ BulkUploadHistoryEvent, BulkUploadHistoryEventTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -22,13 +28,20 @@ class DebugDatasourceStatusIdentityResponseComponentCounts(BaseModel): r"""The number of users/groups/memberships uploaded""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["uploaded"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -54,13 +67,20 @@ class DebugDatasourceStatusIdentityResponseComponent(BaseModel): counts: Optional[DebugDatasourceStatusIdentityResponseComponentCounts] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["bulkUploadHistory", "counts"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/debugdatasourcestatusresponse.py b/src/glean/api_client/models/debugdatasourcestatusresponse.py index b77b3855..862bf185 100644 --- a/src/glean/api_client/models/debugdatasourcestatusresponse.py +++ b/src/glean/api_client/models/debugdatasourcestatusresponse.py @@ -19,7 +19,13 @@ ) from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -45,13 +51,20 @@ class DebugDatasourceStatusResponseCounts(BaseModel): r"""The number of documents indexed, grouped by objectType""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["uploaded", "indexed"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -85,13 +98,20 @@ class Documents(BaseModel): r"""Information about processing history for the datasource""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["bulkUploadHistory", "counts", "processingHistory"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -123,13 +143,20 @@ class Identity(BaseModel): memberships: Optional[DebugDatasourceStatusIdentityResponseComponent] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["processingHistory", "users", "groups", "memberships"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -178,13 +205,20 @@ def serialize_datasource_visibility(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["documents", "identity", "datasourceVisibility"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/debugdocumentlifecyclerequest.py b/src/glean/api_client/models/debugdocumentlifecyclerequest.py index 97b74290..8054999c 100644 --- a/src/glean/api_client/models/debugdocumentlifecyclerequest.py +++ b/src/glean/api_client/models/debugdocumentlifecyclerequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -37,13 +43,20 @@ class DebugDocumentLifecycleRequest(BaseModel): r"""Max number of events to be fetched. Cannot be more than 100 (default 20).""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["startDate", "maxEvents"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/debugdocumentlifecycleresponse.py b/src/glean/api_client/models/debugdocumentlifecycleresponse.py index 5e6ded73..55a8abf4 100644 --- a/src/glean/api_client/models/debugdocumentlifecycleresponse.py +++ b/src/glean/api_client/models/debugdocumentlifecycleresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .lifecycleevent import LifeCycleEvent, LifeCycleEventTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -25,13 +31,20 @@ class DebugDocumentLifecycleResponse(BaseModel): r"""List of lifecycle events corresponding to the document""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["lifeCycleEvents"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/debugdocumentresponse.py b/src/glean/api_client/models/debugdocumentresponse.py index 3efc18aa..e1132e26 100644 --- a/src/glean/api_client/models/debugdocumentresponse.py +++ b/src/glean/api_client/models/debugdocumentresponse.py @@ -9,7 +9,13 @@ DocumentStatusResponse, DocumentStatusResponseTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -38,13 +44,20 @@ class DebugDocumentResponse(BaseModel): r"""describes the access control details of the document""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["status", "uploadedPermissions"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/debugdocumentsresponse.py b/src/glean/api_client/models/debugdocumentsresponse.py index 54513fca..c00dc83a 100644 --- a/src/glean/api_client/models/debugdocumentsresponse.py +++ b/src/glean/api_client/models/debugdocumentsresponse.py @@ -5,7 +5,13 @@ DebugDocumentsResponseItem, DebugDocumentsResponseItemTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -29,13 +35,20 @@ class DebugDocumentsResponse(BaseModel): r"""List of document ids/urls and their debug information""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["documentStatuses"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/debugdocumentsresponseitem.py b/src/glean/api_client/models/debugdocumentsresponseitem.py index 63165771..c249e9b7 100644 --- a/src/glean/api_client/models/debugdocumentsresponseitem.py +++ b/src/glean/api_client/models/debugdocumentsresponseitem.py @@ -2,7 +2,13 @@ from __future__ import annotations from .debugdocumentresponse import DebugDocumentResponse, DebugDocumentResponseTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -35,13 +41,20 @@ class DebugDocumentsResponseItem(BaseModel): r"""Describes the response body of the /debug/{datasource}/document API call""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["docId", "objectType", "debugInfo"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/debuguserresponse.py b/src/glean/api_client/models/debuguserresponse.py index 43e28fa9..7528c80d 100644 --- a/src/glean/api_client/models/debuguserresponse.py +++ b/src/glean/api_client/models/debuguserresponse.py @@ -6,7 +6,13 @@ DatasourceGroupDefinitionTypedDict, ) from .userstatusresponse import UserStatusResponse, UserStatusResponseTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -35,13 +41,20 @@ class DebugUserResponse(BaseModel): r"""List of groups the user is a member of, as uploaded via permissions API.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["status", "uploadedGroups"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deleteallchatsop.py b/src/glean/api_client/models/deleteallchatsop.py index cac2a62d..a9266926 100644 --- a/src/glean/api_client/models/deleteallchatsop.py +++ b/src/glean/api_client/models/deleteallchatsop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -31,13 +37,20 @@ class DeleteallchatsRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deleteannouncementop.py b/src/glean/api_client/models/deleteannouncementop.py index c7b39677..d376b69b 100644 --- a/src/glean/api_client/models/deleteannouncementop.py +++ b/src/glean/api_client/models/deleteannouncementop.py @@ -5,7 +5,13 @@ DeleteAnnouncementRequest, DeleteAnnouncementRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class DeleteannouncementRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deleteanswerop.py b/src/glean/api_client/models/deleteanswerop.py index af7a16d7..f08b79dc 100644 --- a/src/glean/api_client/models/deleteanswerop.py +++ b/src/glean/api_client/models/deleteanswerop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .deleteanswerrequest import DeleteAnswerRequest, DeleteAnswerRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class DeleteanswerRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deleteanswerrequest.py b/src/glean/api_client/models/deleteanswerrequest.py index 5c83ec3e..7c74946e 100644 --- a/src/glean/api_client/models/deleteanswerrequest.py +++ b/src/glean/api_client/models/deleteanswerrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -23,13 +29,20 @@ class DeleteAnswerRequest(BaseModel): r"""Glean Document ID of the Answer. The Glean Document ID is supported for cases where the Answer ID isn't available. If both are available, using the Answer ID is preferred.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["docId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletechatfilesop.py b/src/glean/api_client/models/deletechatfilesop.py index 01f8e688..ebfea36c 100644 --- a/src/glean/api_client/models/deletechatfilesop.py +++ b/src/glean/api_client/models/deletechatfilesop.py @@ -5,7 +5,13 @@ DeleteChatFilesRequest, DeleteChatFilesRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -41,13 +47,20 @@ class DeletechatfilesRequestRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletechatsop.py b/src/glean/api_client/models/deletechatsop.py index fc7d3083..bd269afd 100644 --- a/src/glean/api_client/models/deletechatsop.py +++ b/src/glean/api_client/models/deletechatsop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .deletechatsrequest import DeleteChatsRequest, DeleteChatsRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -38,13 +44,20 @@ class DeletechatsRequestRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletecollectionitemop.py b/src/glean/api_client/models/deletecollectionitemop.py index 10966910..12230ed5 100644 --- a/src/glean/api_client/models/deletecollectionitemop.py +++ b/src/glean/api_client/models/deletecollectionitemop.py @@ -5,7 +5,13 @@ DeleteCollectionItemRequest, DeleteCollectionItemRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class DeletecollectionitemRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletecollectionitemrequest.py b/src/glean/api_client/models/deletecollectionitemrequest.py index ac801e8c..07904e93 100644 --- a/src/glean/api_client/models/deletecollectionitemrequest.py +++ b/src/glean/api_client/models/deletecollectionitemrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -28,13 +34,20 @@ class DeleteCollectionItemRequest(BaseModel): r"""The (optional) Glean Document ID of the CollectionItem to remove from this Collection if this is an indexed document.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["documentId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletecollectionitemresponse.py b/src/glean/api_client/models/deletecollectionitemresponse.py index eb2315c4..3f7ded2a 100644 --- a/src/glean/api_client/models/deletecollectionitemresponse.py +++ b/src/glean/api_client/models/deletecollectionitemresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .collection import Collection, CollectionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -16,13 +22,20 @@ class DeleteCollectionItemResponse(BaseModel): collection: Optional[Collection] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["collection"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletecollectionop.py b/src/glean/api_client/models/deletecollectionop.py index 8721ecb5..7cd49012 100644 --- a/src/glean/api_client/models/deletecollectionop.py +++ b/src/glean/api_client/models/deletecollectionop.py @@ -5,7 +5,13 @@ DeleteCollectionRequest, DeleteCollectionRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class DeletecollectionRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletecollectionrequest.py b/src/glean/api_client/models/deletecollectionrequest.py index cf68ff3b..4847bd5d 100644 --- a/src/glean/api_client/models/deletecollectionrequest.py +++ b/src/glean/api_client/models/deletecollectionrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -25,13 +31,20 @@ class DeleteCollectionRequest(BaseModel): r"""The datasource allowed in the Collection to be deleted.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["allowedDatasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletedocumentrequest.py b/src/glean/api_client/models/deletedocumentrequest.py index 3fb67bc9..ad210908 100644 --- a/src/glean/api_client/models/deletedocumentrequest.py +++ b/src/glean/api_client/models/deletedocumentrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -37,13 +43,20 @@ class DeleteDocumentRequest(BaseModel): r"""Version number for document for optimistic concurrency control. If absent or 0 then no version checks are done.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deleteemployeerequest.py b/src/glean/api_client/models/deleteemployeerequest.py index b413b516..6e5369e8 100644 --- a/src/glean/api_client/models/deleteemployeerequest.py +++ b/src/glean/api_client/models/deleteemployeerequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -27,13 +33,20 @@ class DeleteEmployeeRequest(BaseModel): r"""Version number for document for optimistic concurrency control. If absent or 0 then no version checks are done.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletegrouprequest.py b/src/glean/api_client/models/deletegrouprequest.py index 651551f3..83c74ec8 100644 --- a/src/glean/api_client/models/deletegrouprequest.py +++ b/src/glean/api_client/models/deletegrouprequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -32,13 +38,20 @@ class DeleteGroupRequest(BaseModel): r"""Version number for document for optimistic concurrency control. If absent or 0 then no version checks are done.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deletemembershiprequest.py b/src/glean/api_client/models/deletemembershiprequest.py index 60f59a29..8c750303 100644 --- a/src/glean/api_client/models/deletemembershiprequest.py +++ b/src/glean/api_client/models/deletemembershiprequest.py @@ -5,7 +5,13 @@ DatasourceMembershipDefinition, DatasourceMembershipDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -35,13 +41,20 @@ class DeleteMembershipRequest(BaseModel): r"""Version number for document for optimistic concurrency control. If absent or 0 then no version checks are done.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deleteshortcutop.py b/src/glean/api_client/models/deleteshortcutop.py index 5862db47..5e2876fa 100644 --- a/src/glean/api_client/models/deleteshortcutop.py +++ b/src/glean/api_client/models/deleteshortcutop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .deleteshortcutrequest import DeleteShortcutRequest, DeleteShortcutRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class DeleteshortcutRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/deleteuserrequest.py b/src/glean/api_client/models/deleteuserrequest.py index a8dd578b..734913e6 100644 --- a/src/glean/api_client/models/deleteuserrequest.py +++ b/src/glean/api_client/models/deleteuserrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -31,13 +37,20 @@ class DeleteUserRequest(BaseModel): r"""Version number for document for optimistic concurrency control. If absent or 0 then no version checks are done.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/digest.py b/src/glean/api_client/models/digest.py index 432716a8..da253ce5 100644 --- a/src/glean/api_client/models/digest.py +++ b/src/glean/api_client/models/digest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .digestsection import DigestSection, DigestSectionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -38,15 +44,22 @@ class Digest(BaseModel): r"""Array of digest sections from which the podcast was created.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["podcastFileId", "podcastDuration", "digestDate", "sections"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/digestsection.py b/src/glean/api_client/models/digestsection.py index 17ac661e..63f3a54c 100644 --- a/src/glean/api_client/models/digestsection.py +++ b/src/glean/api_client/models/digestsection.py @@ -4,7 +4,13 @@ from .digestupdate import DigestUpdate, DigestUpdateTypedDict from .sectiontype import SectionType from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -71,15 +77,22 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["displayName", "channelName", "channelType", "instanceId", "url"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/digestupdate.py b/src/glean/api_client/models/digestupdate.py index be822894..9e21bfdf 100644 --- a/src/glean/api_client/models/digestupdate.py +++ b/src/glean/api_client/models/digestupdate.py @@ -3,7 +3,13 @@ from __future__ import annotations from .updatetype import UpdateType from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -53,13 +59,20 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["urls", "url", "title", "datasource", "summary", "type"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/disambiguation.py b/src/glean/api_client/models/disambiguation.py index 68a5514f..9fe9c461 100644 --- a/src/glean/api_client/models/disambiguation.py +++ b/src/glean/api_client/models/disambiguation.py @@ -3,7 +3,13 @@ from __future__ import annotations from .entitytype import EntityType from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -42,13 +48,20 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "id", "type"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/displayablelistitemuiconfig.py b/src/glean/api_client/models/displayablelistitemuiconfig.py index 3e0031b7..7786be46 100644 --- a/src/glean/api_client/models/displayablelistitemuiconfig.py +++ b/src/glean/api_client/models/displayablelistitemuiconfig.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -24,13 +30,20 @@ class DisplayableListItemUIConfig(BaseModel): r"""show a \"New\" pill next to the item""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["showNewIndicator"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/dlpconfig.py b/src/glean/api_client/models/dlpconfig.py index 7ebd4643..7f399142 100644 --- a/src/glean/api_client/models/dlpconfig.py +++ b/src/glean/api_client/models/dlpconfig.py @@ -14,7 +14,13 @@ ) from .sensitiveinfotype import SensitiveInfoType, SensitiveInfoTypeTypedDict from .sharingoptions import SharingOptions, SharingOptionsTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -114,6 +120,9 @@ class DlpConfig(BaseModel): r"""Terms and regexes that are allow-listed during the scans. If any finding picked up by a rule exactly matches a term, or matches a regex, in the allow-list, it will not be counted as a violation.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -132,11 +141,15 @@ def serialize_model(self, handler): "allowlistOptions", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/dlpexportfindingsrequest.py b/src/glean/api_client/models/dlpexportfindingsrequest.py index 094eec89..7d4c88a6 100644 --- a/src/glean/api_client/models/dlpexportfindingsrequest.py +++ b/src/glean/api_client/models/dlpexportfindingsrequest.py @@ -4,7 +4,13 @@ from .dlpfindingfilter import DlpFindingFilter, DlpFindingFilterTypedDict from .dlpissuefilter import DlpIssueFilter, DlpIssueFilterTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -71,6 +77,9 @@ class DlpExportFindingsRequest(BaseModel): r"""List of field names to exclude from the export""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -82,11 +91,15 @@ def serialize_model(self, handler): "fieldsToExclude", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/dlpfindingfilter.py b/src/glean/api_client/models/dlpfindingfilter.py index 960d3753..c1f50a83 100644 --- a/src/glean/api_client/models/dlpfindingfilter.py +++ b/src/glean/api_client/models/dlpfindingfilter.py @@ -5,7 +5,13 @@ from .dlpseverity import DlpSeverity from .timerangefilter import TimeRangeFilter, TimeRangeFilterTypedDict from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -67,6 +73,9 @@ def serialize_severity(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -83,11 +92,15 @@ def serialize_model(self, handler): "archived", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/dlpissuefilter.py b/src/glean/api_client/models/dlpissuefilter.py index b3f50e5f..a2ceda9c 100644 --- a/src/glean/api_client/models/dlpissuefilter.py +++ b/src/glean/api_client/models/dlpissuefilter.py @@ -4,7 +4,13 @@ from .dlpissuestatus import DlpIssueStatus from .dlpseverity import DlpSeverity from .timerangefilter import TimeRangeFilter, TimeRangeFilterTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -116,6 +122,9 @@ class DlpIssueFilter(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -136,11 +145,15 @@ def serialize_model(self, handler): "timeRange", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/dlpperson.py b/src/glean/api_client/models/dlpperson.py index ee020352..a9a3ad84 100644 --- a/src/glean/api_client/models/dlpperson.py +++ b/src/glean/api_client/models/dlpperson.py @@ -2,7 +2,13 @@ from __future__ import annotations from .dlppersonmetadata import DlpPersonMetadata, DlpPersonMetadataTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -31,13 +37,20 @@ class DlpPerson(BaseModel): metadata: Optional[DlpPersonMetadata] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/dlppersonmetadata.py b/src/glean/api_client/models/dlppersonmetadata.py index b3d764a6..56ba5523 100644 --- a/src/glean/api_client/models/dlppersonmetadata.py +++ b/src/glean/api_client/models/dlppersonmetadata.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -23,13 +29,20 @@ class DlpPersonMetadata(BaseModel): r"""The user's primary email address""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["firstName", "email"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/dlpreport.py b/src/glean/api_client/models/dlpreport.py index ff433f12..6b397b08 100644 --- a/src/glean/api_client/models/dlpreport.py +++ b/src/glean/api_client/models/dlpreport.py @@ -7,7 +7,13 @@ from .dlpreportstatus import DlpReportStatus from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -121,6 +127,9 @@ def serialize_last_scan_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -138,11 +147,15 @@ def serialize_model(self, handler): "updatedBy", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/document.py b/src/glean/api_client/models/document.py index cb56b4f3..06941fdc 100644 --- a/src/glean/api_client/models/document.py +++ b/src/glean/api_client/models/document.py @@ -5,7 +5,13 @@ from .documentcontent import DocumentContent, DocumentContentTypedDict from .documentsection import DocumentSection, DocumentSectionTypedDict from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional, TYPE_CHECKING @@ -82,6 +88,9 @@ def serialize_connector_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -98,11 +107,15 @@ def serialize_model(self, handler): "sections", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentcontent.py b/src/glean/api_client/models/documentcontent.py index 7a6ea0bf..dce7d0f1 100644 --- a/src/glean/api_client/models/documentcontent.py +++ b/src/glean/api_client/models/documentcontent.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -20,13 +26,20 @@ class DocumentContent(BaseModel): r"""The plaintext content of the document.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["fullTextList"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentdefinition.py b/src/glean/api_client/models/documentdefinition.py index 1fa367c9..4a196d01 100644 --- a/src/glean/api_client/models/documentdefinition.py +++ b/src/glean/api_client/models/documentdefinition.py @@ -16,7 +16,13 @@ UserReferenceDefinition, UserReferenceDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -168,6 +174,9 @@ class DocumentDefinition(BaseModel): 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).""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -196,11 +205,15 @@ def serialize_model(self, handler): "customProperties", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentinteractions.py b/src/glean/api_client/models/documentinteractions.py index 47ada2f9..89d49c3d 100644 --- a/src/glean/api_client/models/documentinteractions.py +++ b/src/glean/api_client/models/documentinteractions.py @@ -2,7 +2,13 @@ from __future__ import annotations from .countinfo import CountInfo, CountInfoTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -51,6 +57,9 @@ class DocumentInteractions(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -62,11 +71,15 @@ def serialize_model(self, handler): "visitorCount", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentinteractionsdefinition.py b/src/glean/api_client/models/documentinteractionsdefinition.py index 2dd25c44..8b1cc04d 100644 --- a/src/glean/api_client/models/documentinteractionsdefinition.py +++ b/src/glean/api_client/models/documentinteractionsdefinition.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -26,13 +32,20 @@ class DocumentInteractionsDefinition(BaseModel): num_comments: Annotated[Optional[int], pydantic.Field(alias="numComments")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["numViews", "numLikes", "numComments"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentmetadata.py b/src/glean/api_client/models/documentmetadata.py index 4f50069b..1dd7ec52 100644 --- a/src/glean/api_client/models/documentmetadata.py +++ b/src/glean/api_client/models/documentmetadata.py @@ -10,7 +10,13 @@ from .viewerinfo import ViewerInfo, ViewerInfoTypedDict from datetime import datetime from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Dict, List, Optional, TYPE_CHECKING @@ -239,6 +245,9 @@ def serialize_visibility(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -284,11 +293,15 @@ def serialize_model(self, handler): "ancestors", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentpermissionsdefinition.py b/src/glean/api_client/models/documentpermissionsdefinition.py index fd87de54..51f940d8 100644 --- a/src/glean/api_client/models/documentpermissionsdefinition.py +++ b/src/glean/api_client/models/documentpermissionsdefinition.py @@ -9,7 +9,13 @@ UserReferenceDefinition, UserReferenceDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -63,6 +69,9 @@ class DocumentPermissionsDefinition(BaseModel): r"""If true, then any user who has an account in the datasource can view the document.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -73,11 +82,15 @@ def serialize_model(self, handler): "allowAllDatasourceUsersAccess", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentsection.py b/src/glean/api_client/models/documentsection.py index 6825bbb0..84bd99df 100644 --- a/src/glean/api_client/models/documentsection.py +++ b/src/glean/api_client/models/documentsection.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -22,13 +28,20 @@ class DocumentSection(BaseModel): r"""The permalink of the document section.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["title", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentspec_union.py b/src/glean/api_client/models/documentspec_union.py index 82e3e535..6c784c4b 100644 --- a/src/glean/api_client/models/documentspec_union.py +++ b/src/glean/api_client/models/documentspec_union.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional, Union @@ -50,13 +56,20 @@ def serialize_ugc_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["docType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -105,13 +118,20 @@ def serialize_ugc_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["docType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentstatusresponse.py b/src/glean/api_client/models/documentstatusresponse.py index 41cc9ad2..59bdb9ce 100644 --- a/src/glean/api_client/models/documentstatusresponse.py +++ b/src/glean/api_client/models/documentstatusresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -50,6 +56,9 @@ class DocumentStatusResponse(BaseModel): r"""Permission identity status, enum of NOT_UPLOADED, UPLOADED, STATUS_UNKNOWN (Always unknown if `identityDatasourceName` is set). Document visibility may be affected status is `NOT_UPLOADED`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -60,11 +69,15 @@ def serialize_model(self, handler): "permissionIdentityStatus", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentvisibilityoverride.py b/src/glean/api_client/models/documentvisibilityoverride.py index e5d6ad03..0d20ded1 100644 --- a/src/glean/api_client/models/documentvisibilityoverride.py +++ b/src/glean/api_client/models/documentvisibilityoverride.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -41,13 +47,20 @@ def serialize_override(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["docId", "override"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/documentvisibilityupdateresult.py b/src/glean/api_client/models/documentvisibilityupdateresult.py index c48a36b1..023b959c 100644 --- a/src/glean/api_client/models/documentvisibilityupdateresult.py +++ b/src/glean/api_client/models/documentvisibilityupdateresult.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -46,13 +52,20 @@ def serialize_override(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["docId", "override", "success"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editagentop.py b/src/glean/api_client/models/editagentop.py index 5d66503e..8becd0bd 100644 --- a/src/glean/api_client/models/editagentop.py +++ b/src/glean/api_client/models/editagentop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .editworkflowrequest import EditWorkflowRequest, EditWorkflowRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import ( FieldMetadata, PathParamMetadata, @@ -50,13 +56,20 @@ class EditAgentRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editanswerop.py b/src/glean/api_client/models/editanswerop.py index 8aef450a..8a71a408 100644 --- a/src/glean/api_client/models/editanswerop.py +++ b/src/glean/api_client/models/editanswerop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .editanswerrequest import EditAnswerRequest, EditAnswerRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class EditanswerRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editanswerrequest.py b/src/glean/api_client/models/editanswerrequest.py index 0e17a606..ae92a92a 100644 --- a/src/glean/api_client/models/editanswerrequest.py +++ b/src/glean/api_client/models/editanswerrequest.py @@ -9,7 +9,13 @@ ) from .userrolespecification import UserRoleSpecification, UserRoleSpecificationTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -118,6 +124,9 @@ class EditAnswerRequest(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -137,11 +146,15 @@ def serialize_model(self, handler): "combinedAnswerText", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editcollectionitemop.py b/src/glean/api_client/models/editcollectionitemop.py index ec47c585..40bfc069 100644 --- a/src/glean/api_client/models/editcollectionitemop.py +++ b/src/glean/api_client/models/editcollectionitemop.py @@ -5,7 +5,13 @@ EditCollectionItemRequest, EditCollectionItemRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class EditcollectionitemRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editcollectionitemrequest.py b/src/glean/api_client/models/editcollectionitemrequest.py index d263fa2e..cce5bc00 100644 --- a/src/glean/api_client/models/editcollectionitemrequest.py +++ b/src/glean/api_client/models/editcollectionitemrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -38,13 +44,20 @@ class EditCollectionItemRequest(BaseModel): r"""The emoji icon for this CollectionItem. Only used for Text type items.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "description", "icon"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editcollectionitemresponse.py b/src/glean/api_client/models/editcollectionitemresponse.py index 0803aa97..fbe17f7c 100644 --- a/src/glean/api_client/models/editcollectionitemresponse.py +++ b/src/glean/api_client/models/editcollectionitemresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .collection import Collection, CollectionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -16,13 +22,20 @@ class EditCollectionItemResponse(BaseModel): collection: Optional[Collection] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["collection"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editcollectionop.py b/src/glean/api_client/models/editcollectionop.py index 89876fc8..16cdca2f 100644 --- a/src/glean/api_client/models/editcollectionop.py +++ b/src/glean/api_client/models/editcollectionop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .editcollectionrequest import EditCollectionRequest, EditCollectionRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class EditcollectionRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editcollectionrequest.py b/src/glean/api_client/models/editcollectionrequest.py index 7a4edd70..97da2d79 100644 --- a/src/glean/api_client/models/editcollectionrequest.py +++ b/src/glean/api_client/models/editcollectionrequest.py @@ -4,7 +4,13 @@ from .facetfilter import FacetFilter, FacetFilterTypedDict from .thumbnail import Thumbnail, ThumbnailTypedDict from .userrolespecification import UserRoleSpecification, UserRoleSpecificationTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -77,6 +83,9 @@ class EditCollectionRequest(BaseModel): r"""The datasource type this Collection can hold.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -91,11 +100,15 @@ def serialize_model(self, handler): "allowedDatasource", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editcollectionresponse.py b/src/glean/api_client/models/editcollectionresponse.py index cf72a321..f4161c60 100644 --- a/src/glean/api_client/models/editcollectionresponse.py +++ b/src/glean/api_client/models/editcollectionresponse.py @@ -17,7 +17,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -187,6 +193,9 @@ def serialize_error_code(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -216,11 +225,15 @@ def serialize_model(self, handler): "error", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editpinop.py b/src/glean/api_client/models/editpinop.py index 608f79b9..27959dfd 100644 --- a/src/glean/api_client/models/editpinop.py +++ b/src/glean/api_client/models/editpinop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .editpinrequest import EditPinRequest, EditPinRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class EditpinRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editpinrequest.py b/src/glean/api_client/models/editpinrequest.py index d19c91a1..ed56d1d2 100644 --- a/src/glean/api_client/models/editpinrequest.py +++ b/src/glean/api_client/models/editpinrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .facetfilter import FacetFilter, FacetFilterTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -31,13 +37,20 @@ class EditPinRequest(BaseModel): r"""The opaque id of the pin to be edited.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["queries", "audienceFilters", "id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/editworkflowrequest.py b/src/glean/api_client/models/editworkflowrequest.py index 5d3ba4f1..afc782de 100644 --- a/src/glean/api_client/models/editworkflowrequest.py +++ b/src/glean/api_client/models/editworkflowrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -22,13 +28,20 @@ class EditWorkflowRequest(BaseModel): r"""The workflow ID we want to update.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/employeeinfodefinition.py b/src/glean/api_client/models/employeeinfodefinition.py index 1a6ef593..1389efbf 100644 --- a/src/glean/api_client/models/employeeinfodefinition.py +++ b/src/glean/api_client/models/employeeinfodefinition.py @@ -14,7 +14,13 @@ ) from .structuredlocation import StructuredLocation, StructuredLocationTypedDict from datetime import date -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -199,6 +205,9 @@ class EmployeeInfoDefinition(BaseModel): r"""List of additional fields with more information about the employee.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -229,11 +238,15 @@ def serialize_model(self, handler): "additionalFields", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/employeeteaminfo.py b/src/glean/api_client/models/employeeteaminfo.py index 91d78b8d..35e8fdb9 100644 --- a/src/glean/api_client/models/employeeteaminfo.py +++ b/src/glean/api_client/models/employeeteaminfo.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -31,13 +37,20 @@ class EmployeeTeamInfo(BaseModel): r"""Link to internal company team page""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id", "name", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/errormessage.py b/src/glean/api_client/models/errormessage.py index 5979617b..bd149722 100644 --- a/src/glean/api_client/models/errormessage.py +++ b/src/glean/api_client/models/errormessage.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -21,13 +27,20 @@ class ErrorMessage(BaseModel): error_message: Annotated[Optional[str], pydantic.Field(alias="errorMessage")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["source", "errorMessage"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/eventclassification.py b/src/glean/api_client/models/eventclassification.py index 7ed6e3fc..7c8eb628 100644 --- a/src/glean/api_client/models/eventclassification.py +++ b/src/glean/api_client/models/eventclassification.py @@ -3,7 +3,13 @@ from __future__ import annotations from .eventclassificationname import EventClassificationName from .eventstrategyname import EventStrategyName -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class EventClassification(BaseModel): strategies: Optional[List[EventStrategyName]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "strategies"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/exportinfo.py b/src/glean/api_client/models/exportinfo.py index 75811dd4..37ef378e 100644 --- a/src/glean/api_client/models/exportinfo.py +++ b/src/glean/api_client/models/exportinfo.py @@ -6,7 +6,13 @@ from .dlpperson import DlpPerson, DlpPersonTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -107,6 +113,9 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -122,11 +131,15 @@ def serialize_model(self, handler): "exportSize", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/externalsharingoptions.py b/src/glean/api_client/models/externalsharingoptions.py index e569b834..6e56c849 100644 --- a/src/glean/api_client/models/externalsharingoptions.py +++ b/src/glean/api_client/models/externalsharingoptions.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -83,6 +89,9 @@ class ExternalSharingOptions(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -97,11 +106,15 @@ def serialize_model(self, handler): "domainAccessEnabled", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/externalshortcut.py b/src/glean/api_client/models/externalshortcut.py index 33344b41..3631f05a 100644 --- a/src/glean/api_client/models/externalshortcut.py +++ b/src/glean/api_client/models/externalshortcut.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -70,6 +76,9 @@ class ExternalShortcut(BaseModel): r"""The URL using which the user can access the edit page of the shortcut.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -82,11 +91,15 @@ def serialize_model(self, handler): "editUrl", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/extractedqna.py b/src/glean/api_client/models/extractedqna.py index 6a255674..2d917eea 100644 --- a/src/glean/api_client/models/extractedqna.py +++ b/src/glean/api_client/models/extractedqna.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional, TYPE_CHECKING @@ -31,13 +37,20 @@ class ExtractedQnA(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["heading", "question", "questionResult"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/facetbucket.py b/src/glean/api_client/models/facetbucket.py index f8d356f7..afdb1dc4 100644 --- a/src/glean/api_client/models/facetbucket.py +++ b/src/glean/api_client/models/facetbucket.py @@ -2,7 +2,13 @@ from __future__ import annotations from .facetvalue import FacetValue, FacetValueTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -31,13 +37,20 @@ class FacetBucket(BaseModel): value: Optional[FacetValue] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["count", "datasource", "percentage", "value"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/facetbucketfilter.py b/src/glean/api_client/models/facetbucketfilter.py index 19df5a17..6d27dee0 100644 --- a/src/glean/api_client/models/facetbucketfilter.py +++ b/src/glean/api_client/models/facetbucketfilter.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -22,13 +28,20 @@ class FacetBucketFilter(BaseModel): r"""The per-term prefix that facet buckets should be filtered on.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["facet", "prefix"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/facetfilter.py b/src/glean/api_client/models/facetfilter.py index d882c35b..7c0df903 100644 --- a/src/glean/api_client/models/facetfilter.py +++ b/src/glean/api_client/models/facetfilter.py @@ -2,7 +2,13 @@ from __future__ import annotations from .facetfiltervalue import FacetFilterValue, FacetFilterValueTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -27,13 +33,20 @@ class FacetFilter(BaseModel): r"""Indicates the value of a facet, if any, that the given facet is grouped under. This is only used for nested facets, for example, fieldName could be owner and groupName would be Spreadsheet if showing all owners for spreadsheets as a nested facet.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["fieldName", "values", "groupName"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/facetfilterset.py b/src/glean/api_client/models/facetfilterset.py index b1f689e7..2efac8eb 100644 --- a/src/glean/api_client/models/facetfilterset.py +++ b/src/glean/api_client/models/facetfilterset.py @@ -2,7 +2,13 @@ from __future__ import annotations from .facetfilter import FacetFilter, FacetFilterTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -20,13 +26,20 @@ class FacetFilterSet(BaseModel): filters: Optional[List[FacetFilter]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["filters"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/facetfiltervalue.py b/src/glean/api_client/models/facetfiltervalue.py index a32ff103..f66282d4 100644 --- a/src/glean/api_client/models/facetfiltervalue.py +++ b/src/glean/api_client/models/facetfiltervalue.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -56,13 +62,20 @@ def serialize_relation_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["value", "relationType", "isNegated"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/facetresult.py b/src/glean/api_client/models/facetresult.py index 6cea2b89..0f4140ac 100644 --- a/src/glean/api_client/models/facetresult.py +++ b/src/glean/api_client/models/facetresult.py @@ -2,7 +2,13 @@ from __future__ import annotations from .facetbucket import FacetBucket, FacetBucketTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -41,15 +47,22 @@ class FacetResult(BaseModel): r"""For most facets this will be the empty string, meaning the facet is high-level and applies to all documents for the datasource. When non-empty, this is used to group facets together (i.e. group facets for each doctype for a certain datasource)""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["sourceName", "operatorName", "buckets", "hasMoreBuckets", "groupName"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/facetvalue.py b/src/glean/api_client/models/facetvalue.py index fdf378c8..ae45710c 100644 --- a/src/glean/api_client/models/facetvalue.py +++ b/src/glean/api_client/models/facetvalue.py @@ -2,7 +2,13 @@ from __future__ import annotations from .iconconfig import IconConfig, IconConfigTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -34,15 +40,22 @@ class FacetValue(BaseModel): r"""Defines how to render an icon""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["stringValue", "integerValue", "displayLabel", "iconConfig"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/favoriteinfo.py b/src/glean/api_client/models/favoriteinfo.py index 17359e01..460680f0 100644 --- a/src/glean/api_client/models/favoriteinfo.py +++ b/src/glean/api_client/models/favoriteinfo.py @@ -3,7 +3,13 @@ from __future__ import annotations from .ugctype import UgcType from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -44,13 +50,20 @@ def serialize_ugc_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["ugcType", "id", "count", "favoritedByUser"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/feedback.py b/src/glean/api_client/models/feedback.py index 1dfc5693..23a23763 100644 --- a/src/glean/api_client/models/feedback.py +++ b/src/glean/api_client/models/feedback.py @@ -13,7 +13,13 @@ from .workflowfeedbackinfo import WorkflowFeedbackInfo, WorkflowFeedbackInfoTypedDict from datetime import datetime from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -225,6 +231,9 @@ class Feedback(BaseModel): r"""The agent ID of the client that sent the feedback event.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -249,11 +258,15 @@ def serialize_model(self, handler): "agentId", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/feedbackchatexchange.py b/src/glean/api_client/models/feedbackchatexchange.py index 291794c5..c9857e60 100644 --- a/src/glean/api_client/models/feedbackchatexchange.py +++ b/src/glean/api_client/models/feedbackchatexchange.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -19,13 +25,20 @@ class ResultDocument(BaseModel): url: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["title", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -70,6 +83,9 @@ class FeedbackChatExchange(BaseModel): response: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -81,11 +97,15 @@ def serialize_model(self, handler): "response", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/feedbackop.py b/src/glean/api_client/models/feedbackop.py index 44041cb3..dfccc404 100644 --- a/src/glean/api_client/models/feedbackop.py +++ b/src/glean/api_client/models/feedbackop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .feedback import Feedback, FeedbackTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -30,13 +36,20 @@ class FeedbackRequest(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["feedbackQueryParameter", "Feedback1"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/feedentry.py b/src/glean/api_client/models/feedentry.py index ffccc86e..b9b7a2c3 100644 --- a/src/glean/api_client/models/feedentry.py +++ b/src/glean/api_client/models/feedentry.py @@ -21,7 +21,13 @@ from .workflowresult import WorkflowResult, WorkflowResultTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -51,13 +57,20 @@ class UIConfig(BaseModel): r"""UI configurations for each item of the list""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["format", "additionalFlags"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -126,6 +139,7 @@ class JustificationType(str, Enum, metaclass=utils.OpenEnumMeta): PROJECT_FOCUS_BLOCK = "PROJECT_FOCUS_BLOCK" PROJECT_NEXT_STEP = "PROJECT_NEXT_STEP" DEMO_CARD = "DEMO_CARD" + PERSONAL_AGENT_NUX = "PERSONAL_AGENT_NUX" RESOLVE_MEETING_CONFLICT = "RESOLVE_MEETING_CONFLICT" FINDING_MEETING_ROOM = "FINDING_MEETING_ROOM" OOO_PLANNER = "OOO_PLANNER" @@ -249,6 +263,9 @@ def serialize_justification_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -275,11 +292,15 @@ def serialize_model(self, handler): "documentVisitorCount", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/feedop.py b/src/glean/api_client/models/feedop.py index f3962628..546ecc09 100644 --- a/src/glean/api_client/models/feedop.py +++ b/src/glean/api_client/models/feedop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .feedrequest import FeedRequest, FeedRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class FeedRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/feedrequest.py b/src/glean/api_client/models/feedrequest.py index 2fe3ed0a..45efb47a 100644 --- a/src/glean/api_client/models/feedrequest.py +++ b/src/glean/api_client/models/feedrequest.py @@ -4,7 +4,13 @@ from .feedrequestoptions import FeedRequestOptions, FeedRequestOptionsTypedDict from .sessioninfo import SessionInfo, SessionInfoTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -55,6 +61,7 @@ class FeedRequestCategory(str, Enum): PROJECT_FOCUS_BLOCK = "PROJECT_FOCUS_BLOCK" PROJECT_NEXT_STEP = "PROJECT_NEXT_STEP" DEMO_CARD = "DEMO_CARD" + PERSONAL_AGENT_NUX = "PERSONAL_AGENT_NUX" RESOLVE_MEETING_CONFLICT = "RESOLVE_MEETING_CONFLICT" FINDING_MEETING_ROOM = "FINDING_MEETING_ROOM" OOO_PLANNER = "OOO_PLANNER" @@ -99,15 +106,22 @@ class FeedRequest(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["categories", "requestOptions", "timeoutMillis", "sessionInfo"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/feedrequestoptions.py b/src/glean/api_client/models/feedrequestoptions.py index b0d65380..fa822f96 100644 --- a/src/glean/api_client/models/feedrequestoptions.py +++ b/src/glean/api_client/models/feedrequestoptions.py @@ -5,7 +5,13 @@ ChatZeroStateSuggestionOptions, ChatZeroStateSuggestionOptionsTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, List, Optional @@ -20,13 +26,20 @@ class CategoryToResultSize(BaseModel): result_size: Annotated[Optional[int], pydantic.Field(alias="resultSize")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["resultSize"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -76,6 +89,9 @@ class FeedRequestOptions(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -85,11 +101,15 @@ def serialize_model(self, handler): "chatZeroStateSuggestionOptions", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/feedresponse.py b/src/glean/api_client/models/feedresponse.py index 683438c8..40506cff 100644 --- a/src/glean/api_client/models/feedresponse.py +++ b/src/glean/api_client/models/feedresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .facetresult import FacetResult, FacetResultTypedDict from .feedresult import FeedResult, FeedResultTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, List, Optional @@ -51,6 +57,9 @@ class FeedResponse(BaseModel): r"""The time window (in hours) used for generating user mentions.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -61,11 +70,15 @@ def serialize_model(self, handler): "mentionsTimeWindowInHours", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/feedresult.py b/src/glean/api_client/models/feedresult.py index 66006982..d803e8aa 100644 --- a/src/glean/api_client/models/feedresult.py +++ b/src/glean/api_client/models/feedresult.py @@ -4,7 +4,13 @@ from .feedentry import FeedEntry, FeedEntryTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -57,6 +63,7 @@ class FeedResultCategory(str, Enum, metaclass=utils.OpenEnumMeta): PROJECT_FOCUS_BLOCK = "PROJECT_FOCUS_BLOCK" PROJECT_NEXT_STEP = "PROJECT_NEXT_STEP" DEMO_CARD = "DEMO_CARD" + PERSONAL_AGENT_NUX = "PERSONAL_AGENT_NUX" RESOLVE_MEETING_CONFLICT = "RESOLVE_MEETING_CONFLICT" FINDING_MEETING_ROOM = "FINDING_MEETING_ROOM" OOO_PLANNER = "OOO_PLANNER" @@ -132,13 +139,20 @@ def serialize_placement_reason(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["secondaryEntries", "rank", "placementReason"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/followupaction.py b/src/glean/api_client/models/followupaction.py index 5a446215..a2b7664c 100644 --- a/src/glean/api_client/models/followupaction.py +++ b/src/glean/api_client/models/followupaction.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, Optional @@ -58,6 +64,9 @@ class FollowupAction(BaseModel): r"""Whether user confirmation is needed before executing this action instance.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -70,11 +79,15 @@ def serialize_model(self, handler): "userConfirmationRequired", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/generatedattachment.py b/src/glean/api_client/models/generatedattachment.py index f431eede..26509ac8 100644 --- a/src/glean/api_client/models/generatedattachment.py +++ b/src/glean/api_client/models/generatedattachment.py @@ -11,7 +11,13 @@ from .person import Person, PersonTypedDict from .structuredlink import StructuredLink, StructuredLinkTypedDict from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -62,6 +68,9 @@ def serialize_strategy_name(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -73,11 +82,15 @@ def serialize_model(self, handler): "content", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/generatedattachmentcontent.py b/src/glean/api_client/models/generatedattachmentcontent.py index cc022b56..281ddb33 100644 --- a/src/glean/api_client/models/generatedattachmentcontent.py +++ b/src/glean/api_client/models/generatedattachmentcontent.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -29,13 +35,20 @@ class GeneratedAttachmentContent(BaseModel): r"""The content that has been generated.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["displayHeader", "text"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/generatedqna.py b/src/glean/api_client/models/generatedqna.py index f1fbf635..b3a8ffe0 100644 --- a/src/glean/api_client/models/generatedqna.py +++ b/src/glean/api_client/models/generatedqna.py @@ -4,7 +4,13 @@ from .followupaction import FollowupAction, FollowupActionTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional, TYPE_CHECKING @@ -87,6 +93,9 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -100,11 +109,15 @@ def serialize_model(self, handler): "trackingToken", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/get_rest_api_v1_tools_listop.py b/src/glean/api_client/models/get_rest_api_v1_tools_listop.py index b5265a60..8718e9a5 100644 --- a/src/glean/api_client/models/get_rest_api_v1_tools_listop.py +++ b/src/glean/api_client/models/get_rest_api_v1_tools_listop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -23,13 +29,20 @@ class GetRestAPIV1ToolsListRequest(BaseModel): r"""Optional array of tool names to filter by""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["toolNames"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getagentop.py b/src/glean/api_client/models/getagentop.py index 9cb38383..cefccecc 100644 --- a/src/glean/api_client/models/getagentop.py +++ b/src/glean/api_client/models/getagentop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -38,13 +44,20 @@ class GetAgentRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getagentschemasop.py b/src/glean/api_client/models/getagentschemasop.py index c381cdae..8855d63c 100644 --- a/src/glean/api_client/models/getagentschemasop.py +++ b/src/glean/api_client/models/getagentschemasop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -38,13 +44,20 @@ class GetAgentSchemasRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getanswererror.py b/src/glean/api_client/models/getanswererror.py index 102fadd9..f62a4ca9 100644 --- a/src/glean/api_client/models/getanswererror.py +++ b/src/glean/api_client/models/getanswererror.py @@ -4,7 +4,13 @@ from .person import Person, PersonTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -40,13 +46,20 @@ def serialize_error_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["errorType", "answerAuthor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getanswerop.py b/src/glean/api_client/models/getanswerop.py index 3a649778..2107e881 100644 --- a/src/glean/api_client/models/getanswerop.py +++ b/src/glean/api_client/models/getanswerop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .getanswerrequest import GetAnswerRequest, GetAnswerRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class GetanswerRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getanswerrequest.py b/src/glean/api_client/models/getanswerrequest.py index 5a1648a1..2239c029 100644 --- a/src/glean/api_client/models/getanswerrequest.py +++ b/src/glean/api_client/models/getanswerrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -23,13 +29,20 @@ class GetAnswerRequest(BaseModel): r"""Glean Document ID of the Answer. The Glean Document ID is supported for cases where the Answer ID isn't available. If both are available, using the Answer ID is preferred.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id", "docId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getanswerresponse.py b/src/glean/api_client/models/getanswerresponse.py index 6bb54cef..5d7b80b4 100644 --- a/src/glean/api_client/models/getanswerresponse.py +++ b/src/glean/api_client/models/getanswerresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .answerresult import AnswerResult, AnswerResultTypedDict from .getanswererror import GetAnswerError, GetAnswerErrorTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -23,13 +29,20 @@ class GetAnswerResponse(BaseModel): error: Optional[GetAnswerError] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["answerResult", "error"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getchatapplicationop.py b/src/glean/api_client/models/getchatapplicationop.py index 8431fc2e..00919335 100644 --- a/src/glean/api_client/models/getchatapplicationop.py +++ b/src/glean/api_client/models/getchatapplicationop.py @@ -5,7 +5,13 @@ GetChatApplicationRequest, GetChatApplicationRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -41,13 +47,20 @@ class GetchatapplicationRequestRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getchatapplicationresponse.py b/src/glean/api_client/models/getchatapplicationresponse.py index c4b38871..cbb34cb1 100644 --- a/src/glean/api_client/models/getchatapplicationresponse.py +++ b/src/glean/api_client/models/getchatapplicationresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Optional from typing_extensions import NotRequired, TypedDict @@ -15,13 +21,20 @@ class GetChatApplicationResponse(BaseModel): application: Optional[Any] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["application"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getchatfileop.py b/src/glean/api_client/models/getchatfileop.py index 60bbf327..df918a0c 100644 --- a/src/glean/api_client/models/getchatfileop.py +++ b/src/glean/api_client/models/getchatfileop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -35,13 +41,20 @@ class GetChatFileRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["preview"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getchatfilesop.py b/src/glean/api_client/models/getchatfilesop.py index d0ba2bef..aa510ac1 100644 --- a/src/glean/api_client/models/getchatfilesop.py +++ b/src/glean/api_client/models/getchatfilesop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .getchatfilesrequest import GetChatFilesRequest, GetChatFilesRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -38,13 +44,20 @@ class GetchatfilesRequestRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getchatfilesresponse.py b/src/glean/api_client/models/getchatfilesresponse.py index c3d8e2e9..ca582a05 100644 --- a/src/glean/api_client/models/getchatfilesresponse.py +++ b/src/glean/api_client/models/getchatfilesresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .chatfile import ChatFile, ChatFileTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -18,13 +24,20 @@ class GetChatFilesResponse(BaseModel): r"""A map of file IDs to ChatFile structs.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["files"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getchatop.py b/src/glean/api_client/models/getchatop.py index c4155fe3..e82d2fb8 100644 --- a/src/glean/api_client/models/getchatop.py +++ b/src/glean/api_client/models/getchatop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .getchatrequest import GetChatRequest, GetChatRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -38,13 +44,20 @@ class GetchatRequestRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getchatpagination.py b/src/glean/api_client/models/getchatpagination.py new file mode 100644 index 00000000..208ab88d --- /dev/null +++ b/src/glean/api_client/models/getchatpagination.py @@ -0,0 +1,72 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump +import pydantic +from pydantic import model_serializer +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class GetChatPaginationTypedDict(TypedDict): + r"""Pagination cursors and page flags for a getchat message page.""" + + has_next_page: bool + r"""Whether visible messages exist after endCursor in chronological order.""" + has_previous_page: bool + r"""Whether visible messages exist before startCursor in chronological order.""" + start_cursor: NotRequired[str] + r"""Cursor of the first (oldest) returned message. Omitted for an empty page.""" + end_cursor: NotRequired[str] + r"""Cursor of the last (newest) returned message. Omitted for an empty page.""" + + +class GetChatPagination(BaseModel): + r"""Pagination cursors and page flags for a getchat message page.""" + + has_next_page: Annotated[bool, pydantic.Field(alias="hasNextPage")] + r"""Whether visible messages exist after endCursor in chronological order.""" + + has_previous_page: Annotated[bool, pydantic.Field(alias="hasPreviousPage")] + r"""Whether visible messages exist before startCursor in chronological order.""" + + start_cursor: Annotated[Optional[str], pydantic.Field(alias="startCursor")] = None + r"""Cursor of the first (oldest) returned message. Omitted for an empty page.""" + + end_cursor: Annotated[Optional[str], pydantic.Field(alias="endCursor")] = None + r"""Cursor of the last (newest) returned message. Omitted for an empty page.""" + + @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + + def serialize_model(self, handler): + optional_fields = set(["startCursor", "endCursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +try: + GetChatPagination.model_rebuild() +except NameError: + pass diff --git a/src/glean/api_client/models/getchatrequest.py b/src/glean/api_client/models/getchatrequest.py index ddc94798..6400f8d1 100644 --- a/src/glean/api_client/models/getchatrequest.py +++ b/src/glean/api_client/models/getchatrequest.py @@ -1,15 +1,70 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel -from typing_extensions import TypedDict +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump +from pydantic import model_serializer +from typing import Optional +from typing_extensions import NotRequired, TypedDict class GetChatRequestTypedDict(TypedDict): + r"""Retrieves a Chat. Omit pagination fields to return the full message history. When paginating, messages are returned in chronological order. Allowed combinations: last alone (latest page), last with before (older messages), first alone (earliest page), or first with after (newer messages). first and last are mutually exclusive; before and after are mutually exclusive; first cannot be combined with before; last cannot be combined with after.""" + id: str r"""The id of the Chat to be retrieved.""" + first: NotRequired[int] + r"""Maximum number of messages to return from the start of the chat, or after the cursor when after is set. Pair with after for newer messages; alone returns the earliest messages. Mutually exclusive with last and before.""" + after: NotRequired[str] + r"""An opaque message cursor from this chat. Returns messages strictly newer than this cursor. Pair with first. Mutually exclusive with before; cannot be combined with last.""" + last: NotRequired[int] + r"""Maximum number of messages to return from the end of the chat, or before the cursor when before is set. Alone returns the latest messages; pair with before for older messages. Mutually exclusive with first and after.""" + before: NotRequired[str] + r"""An opaque message cursor from this chat. Returns messages strictly older than this cursor. Pair with last. Mutually exclusive with after; cannot be combined with first.""" class GetChatRequest(BaseModel): + r"""Retrieves a Chat. Omit pagination fields to return the full message history. When paginating, messages are returned in chronological order. Allowed combinations: last alone (latest page), last with before (older messages), first alone (earliest page), or first with after (newer messages). first and last are mutually exclusive; before and after are mutually exclusive; first cannot be combined with before; last cannot be combined with after.""" + id: str r"""The id of the Chat to be retrieved.""" + + first: Optional[int] = None + r"""Maximum number of messages to return from the start of the chat, or after the cursor when after is set. Pair with after for newer messages; alone returns the earliest messages. Mutually exclusive with last and before.""" + + after: Optional[str] = None + r"""An opaque message cursor from this chat. Returns messages strictly newer than this cursor. Pair with first. Mutually exclusive with before; cannot be combined with last.""" + + last: Optional[int] = None + r"""Maximum number of messages to return from the end of the chat, or before the cursor when before is set. Alone returns the latest messages; pair with before for older messages. Mutually exclusive with first and after.""" + + before: Optional[str] = None + r"""An opaque message cursor from this chat. Returns messages strictly older than this cursor. Pair with last. Mutually exclusive with after; cannot be combined with first.""" + + @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + + def serialize_model(self, handler): + optional_fields = set(["first", "after", "last", "before"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/glean/api_client/models/getchatresponse.py b/src/glean/api_client/models/getchatresponse.py index 7dfadab7..3e43af46 100644 --- a/src/glean/api_client/models/getchatresponse.py +++ b/src/glean/api_client/models/getchatresponse.py @@ -2,7 +2,14 @@ from __future__ import annotations from .chatresult import ChatResult, ChatResultTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from .getchatpagination import GetChatPagination, GetChatPaginationTypedDict +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -11,6 +18,8 @@ class GetChatResponseTypedDict(TypedDict): chat_result: NotRequired[ChatResultTypedDict] + pagination: NotRequired[GetChatPaginationTypedDict] + r"""Pagination cursors and page flags for a getchat message page.""" class GetChatResponse(BaseModel): @@ -18,14 +27,24 @@ class GetChatResponse(BaseModel): None ) + pagination: Optional[GetChatPagination] = None + r"""Pagination cursors and page flags for a getchat message page.""" + @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): - optional_fields = set(["chatResult"]) + optional_fields = set(["chatResult", "pagination"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getcollectionop.py b/src/glean/api_client/models/getcollectionop.py index 92fdcda5..776c2e15 100644 --- a/src/glean/api_client/models/getcollectionop.py +++ b/src/glean/api_client/models/getcollectionop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .getcollectionrequest import GetCollectionRequest, GetCollectionRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class GetcollectionRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getcollectionrequest.py b/src/glean/api_client/models/getcollectionrequest.py index 36d10443..3198d5d6 100644 --- a/src/glean/api_client/models/getcollectionrequest.py +++ b/src/glean/api_client/models/getcollectionrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -37,13 +43,20 @@ class GetCollectionRequest(BaseModel): r"""The datasource allowed in the Collection returned.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["withItems", "withHierarchy", "allowedDatasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getcollectionresponse.py b/src/glean/api_client/models/getcollectionresponse.py index 10123b3a..04a5617d 100644 --- a/src/glean/api_client/models/getcollectionresponse.py +++ b/src/glean/api_client/models/getcollectionresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .collection import Collection, CollectionTypedDict from .collectionerror import CollectionError, CollectionErrorTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -37,15 +43,22 @@ class GetCollectionResponse(BaseModel): r"""Use `collection.trackingToken` instead.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["collection", "rootCollection", "error", "trackingToken"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdlpreportresponse.py b/src/glean/api_client/models/getdlpreportresponse.py index 7af2ec3d..5ac57b0e 100644 --- a/src/glean/api_client/models/getdlpreportresponse.py +++ b/src/glean/api_client/models/getdlpreportresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .dlpreport import DlpReport, DlpReportTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -18,13 +24,20 @@ class GetDlpReportResponse(BaseModel): r"""Full policy information that will be used for scans.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["report"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocpermissionsop.py b/src/glean/api_client/models/getdocpermissionsop.py index bc562e41..28fc0001 100644 --- a/src/glean/api_client/models/getdocpermissionsop.py +++ b/src/glean/api_client/models/getdocpermissionsop.py @@ -5,7 +5,13 @@ GetDocPermissionsRequest, GetDocPermissionsRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class GetdocpermissionsRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocpermissionsrequest.py b/src/glean/api_client/models/getdocpermissionsrequest.py index 4c4a4e5b..39ca0c58 100644 --- a/src/glean/api_client/models/getdocpermissionsrequest.py +++ b/src/glean/api_client/models/getdocpermissionsrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -18,13 +24,20 @@ class GetDocPermissionsRequest(BaseModel): r"""The Glean Document ID to retrieve permissions for.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["documentId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocpermissionsresponse.py b/src/glean/api_client/models/getdocpermissionsresponse.py index 061e8975..fa882249 100644 --- a/src/glean/api_client/models/getdocpermissionsresponse.py +++ b/src/glean/api_client/models/getdocpermissionsresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -20,13 +26,20 @@ class GetDocPermissionsResponse(BaseModel): r"""A list of emails of users who have access to the document. If the document is visible to all Glean users, a list with only a single value of 'VISIBLE_TO_ALL'.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["allowedUserEmails"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocumentcountresponse.py b/src/glean/api_client/models/getdocumentcountresponse.py index c3400b20..0299e683 100644 --- a/src/glean/api_client/models/getdocumentcountresponse.py +++ b/src/glean/api_client/models/getdocumentcountresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -24,13 +30,20 @@ class GetDocumentCountResponse(BaseModel): r"""Number of documents corresponding to the specified custom datasource.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["documentCount"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocumentsbyfacetsop.py b/src/glean/api_client/models/getdocumentsbyfacetsop.py index a6bd1531..3ac13be3 100644 --- a/src/glean/api_client/models/getdocumentsbyfacetsop.py +++ b/src/glean/api_client/models/getdocumentsbyfacetsop.py @@ -5,7 +5,13 @@ GetDocumentsByFacetsRequest, GetDocumentsByFacetsRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class GetdocumentsbyfacetsRequestRequest(BaseModel): r"""Information about facet conditions for documents to be retrieved.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "GetDocumentsByFacetsRequest"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocumentsbyfacetsrequest.py b/src/glean/api_client/models/getdocumentsbyfacetsrequest.py index fe741831..1e2d4b83 100644 --- a/src/glean/api_client/models/getdocumentsbyfacetsrequest.py +++ b/src/glean/api_client/models/getdocumentsbyfacetsrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .facetfilterset import FacetFilterSet, FacetFilterSetTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -31,13 +37,20 @@ class GetDocumentsByFacetsRequest(BaseModel): r"""Pagination cursor. A previously received opaque token representing the position in the overall results at which to start.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["datasourcesFilter", "cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocumentsbyfacetsresponse.py b/src/glean/api_client/models/getdocumentsbyfacetsresponse.py index e7e0337a..ecf3e407 100644 --- a/src/glean/api_client/models/getdocumentsbyfacetsresponse.py +++ b/src/glean/api_client/models/getdocumentsbyfacetsresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .document import Document, DocumentTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -31,13 +37,20 @@ class GetDocumentsByFacetsResponse(BaseModel): r"""Cursor that indicates the start of the next page of results. To be passed in \"more\" requests for this query.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["documents", "hasMoreResults", "cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocumentsop.py b/src/glean/api_client/models/getdocumentsop.py index fd29b3ef..33ccc34b 100644 --- a/src/glean/api_client/models/getdocumentsop.py +++ b/src/glean/api_client/models/getdocumentsop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .getdocumentsrequest import GetDocumentsRequest, GetDocumentsRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class GetdocumentsRequestRequest(BaseModel): r"""Information about documents requested.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "GetDocumentsRequest"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocumentsrequest.py b/src/glean/api_client/models/getdocumentsrequest.py index 8e64be35..350eaab2 100644 --- a/src/glean/api_client/models/getdocumentsrequest.py +++ b/src/glean/api_client/models/getdocumentsrequest.py @@ -3,7 +3,13 @@ from __future__ import annotations from .documentspec_union import DocumentSpecUnion, DocumentSpecUnionTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -38,13 +44,20 @@ class GetDocumentsRequest(BaseModel): r"""List of Document fields to return (that aren't returned by default)""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["includeFields"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocumentsresponse.py b/src/glean/api_client/models/getdocumentsresponse.py index 6448b888..0cd8f8d2 100644 --- a/src/glean/api_client/models/getdocumentsresponse.py +++ b/src/glean/api_client/models/getdocumentsresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .documentorerror_union import DocumentOrErrorUnion, DocumentOrErrorUnionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -18,13 +24,20 @@ class GetDocumentsResponse(BaseModel): r"""The document details or the error if document is not found.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["documents"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocumentstatusresponse.py b/src/glean/api_client/models/getdocumentstatusresponse.py index 5bd4fd92..e4855a1d 100644 --- a/src/glean/api_client/models/getdocumentstatusresponse.py +++ b/src/glean/api_client/models/getdocumentstatusresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -43,15 +49,22 @@ class GetDocumentStatusResponse(BaseModel): r"""Time of last successful indexing, in epoch seconds""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["uploadStatus", "lastUploadedAt", "indexingStatus", "lastIndexedAt"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocumentvisibilityoverridesresponse.py b/src/glean/api_client/models/getdocumentvisibilityoverridesresponse.py index cd81ecd7..4aeb96ab 100644 --- a/src/glean/api_client/models/getdocumentvisibilityoverridesresponse.py +++ b/src/glean/api_client/models/getdocumentvisibilityoverridesresponse.py @@ -5,7 +5,13 @@ DocumentVisibilityOverride, DocumentVisibilityOverrideTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -23,13 +29,20 @@ class GetDocumentVisibilityOverridesResponse(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["visibilityOverrides"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getdocvisibilityop.py b/src/glean/api_client/models/getdocvisibilityop.py index 198ee640..c50591a4 100644 --- a/src/glean/api_client/models/getdocvisibilityop.py +++ b/src/glean/api_client/models/getdocvisibilityop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -23,13 +29,20 @@ class GetdocvisibilityRequest(BaseModel): r"""List of doc-ids which will have their hide status fetched.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["docIds"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getpersonphotoop.py b/src/glean/api_client/models/getpersonphotoop.py index 7d3d9948..53f02bf0 100644 --- a/src/glean/api_client/models/getpersonphotoop.py +++ b/src/glean/api_client/models/getpersonphotoop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata import httpx from pydantic import model_serializer @@ -33,13 +39,20 @@ class GetPersonPhotoRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["ds"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getpinop.py b/src/glean/api_client/models/getpinop.py index 7c1467b4..c32c81e3 100644 --- a/src/glean/api_client/models/getpinop.py +++ b/src/glean/api_client/models/getpinop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .getpinrequest import GetPinRequest, GetPinRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class GetpinRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getpinrequest.py b/src/glean/api_client/models/getpinrequest.py index c11fbc5c..278f6985 100644 --- a/src/glean/api_client/models/getpinrequest.py +++ b/src/glean/api_client/models/getpinrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -17,13 +23,20 @@ class GetPinRequest(BaseModel): r"""The opaque id of the pin to be fetched.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getpinresponse.py b/src/glean/api_client/models/getpinresponse.py index a4562931..2a8c6e75 100644 --- a/src/glean/api_client/models/getpinresponse.py +++ b/src/glean/api_client/models/getpinresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .pindocument import PinDocument, PinDocumentTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -16,13 +22,20 @@ class GetPinResponse(BaseModel): pin: Optional[PinDocument] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["pin"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getpolicyop.py b/src/glean/api_client/models/getpolicyop.py index 95b3502e..52d71124 100644 --- a/src/glean/api_client/models/getpolicyop.py +++ b/src/glean/api_client/models/getpolicyop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -28,13 +34,20 @@ class GetpolicyRequest(BaseModel): r"""The version of the policy to fetch. Each time a policy is updated, the older version is still stored. If this is left empty, the latest policy is fetched.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getshortcutop.py b/src/glean/api_client/models/getshortcutop.py index 3ca7f668..0202dc84 100644 --- a/src/glean/api_client/models/getshortcutop.py +++ b/src/glean/api_client/models/getshortcutop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .getshortcutrequest import GetShortcutRequest, GetShortcutRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class GetshortcutRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getshortcutresponse.py b/src/glean/api_client/models/getshortcutresponse.py index b20fa741..235cd6ef 100644 --- a/src/glean/api_client/models/getshortcutresponse.py +++ b/src/glean/api_client/models/getshortcutresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .shortcut import Shortcut, ShortcutTypedDict from .shortcuterror import ShortcutError, ShortcutErrorTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -20,13 +26,20 @@ class GetShortcutResponse(BaseModel): error: Optional[ShortcutError] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["shortcut", "error"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/getusercountresponse.py b/src/glean/api_client/models/getusercountresponse.py index 9a042fa5..fe670733 100644 --- a/src/glean/api_client/models/getusercountresponse.py +++ b/src/glean/api_client/models/getusercountresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -22,13 +28,20 @@ class GetUserCountResponse(BaseModel): r"""Number of users corresponding to the specified custom datasource.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["userCount"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/gleanassistinsightsresponse.py b/src/glean/api_client/models/gleanassistinsightsresponse.py index e6c29553..b758d91e 100644 --- a/src/glean/api_client/models/gleanassistinsightsresponse.py +++ b/src/glean/api_client/models/gleanassistinsightsresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .useractivityinsight import UserActivityInsight, UserActivityInsightTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -47,6 +53,9 @@ class GleanAssistInsightsResponse(BaseModel): r"""List of departments applicable for users tab.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -57,11 +66,15 @@ def serialize_model(self, handler): "departments", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/gleandataerror.py b/src/glean/api_client/models/gleandataerror.py index 7672589b..353e560c 100644 --- a/src/glean/api_client/models/gleandataerror.py +++ b/src/glean/api_client/models/gleandataerror.py @@ -6,7 +6,13 @@ InvalidOperatorValueError, InvalidOperatorValueErrorTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -52,6 +58,9 @@ class GleanDataError(BaseModel): r"""Indicates the federated search results could not be fetched due to rate limiting.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -62,11 +71,15 @@ def serialize_model(self, handler): "federatedSearchRateLimitError", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/grantpermission.py b/src/glean/api_client/models/grantpermission.py index a1bb6806..086932d7 100644 --- a/src/glean/api_client/models/grantpermission.py +++ b/src/glean/api_client/models/grantpermission.py @@ -3,7 +3,13 @@ from __future__ import annotations from .scopetype import ScopeType from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -33,13 +39,20 @@ def serialize_scope_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["scopeType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/group.py b/src/glean/api_client/models/group.py index f1b4a7e9..58fcc289 100644 --- a/src/glean/api_client/models/group.py +++ b/src/glean/api_client/models/group.py @@ -3,7 +3,13 @@ from __future__ import annotations from .grouptype import GroupType from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -53,13 +59,20 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "datasourceInstance", "provisioningId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/hotword.py b/src/glean/api_client/models/hotword.py index 51dcb030..1d01dea2 100644 --- a/src/glean/api_client/models/hotword.py +++ b/src/glean/api_client/models/hotword.py @@ -2,7 +2,13 @@ from __future__ import annotations from .hotwordproximity import HotwordProximity, HotwordProximityTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -19,13 +25,20 @@ class Hotword(BaseModel): proximity: Optional[HotwordProximity] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["regex", "proximity"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/hotwordproximity.py b/src/glean/api_client/models/hotwordproximity.py index ebc0ed38..a942630b 100644 --- a/src/glean/api_client/models/hotwordproximity.py +++ b/src/glean/api_client/models/hotwordproximity.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -19,13 +25,20 @@ class HotwordProximity(BaseModel): window_after: Annotated[Optional[int], pydantic.Field(alias="windowAfter")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["windowBefore", "windowAfter"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/iconconfig.py b/src/glean/api_client/models/iconconfig.py index b7109f6b..3a44f31e 100644 --- a/src/glean/api_client/models/iconconfig.py +++ b/src/glean/api_client/models/iconconfig.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -78,6 +84,9 @@ def serialize_icon_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -91,11 +100,15 @@ def serialize_model(self, handler): "url", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/importagentop.py b/src/glean/api_client/models/importagentop.py index d30f537e..236da645 100644 --- a/src/glean/api_client/models/importagentop.py +++ b/src/glean/api_client/models/importagentop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .importagentrequest import ImportAgentRequest, ImportAgentRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import ( FieldMetadata, PathParamMetadata, @@ -50,13 +56,20 @@ class ImportAgentRequestRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/importagentrequest.py b/src/glean/api_client/models/importagentrequest.py index c88111d7..b5f1fcc9 100644 --- a/src/glean/api_client/models/importagentrequest.py +++ b/src/glean/api_client/models/importagentrequest.py @@ -3,7 +3,13 @@ from __future__ import annotations from .importagentsyncmode import ImportAgentSyncMode from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, MultipartFormMetadata import io import pydantic @@ -36,13 +42,20 @@ class Bundle(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["contentType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -150,6 +163,9 @@ class ImportAgentRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -162,11 +178,15 @@ def serialize_model(self, handler): "isDraft", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/importagentresponse.py b/src/glean/api_client/models/importagentresponse.py index 19b134ef..4728f39b 100644 --- a/src/glean/api_client/models/importagentresponse.py +++ b/src/glean/api_client/models/importagentresponse.py @@ -4,7 +4,13 @@ from .importagentstatus import ImportAgentStatus from .workflowresult import WorkflowResult, WorkflowResultTypedDict from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -35,13 +41,20 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["workflowResult", "status"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/indexdocumentrequest.py b/src/glean/api_client/models/indexdocumentrequest.py index e49af0a9..e9adc8ff 100644 --- a/src/glean/api_client/models/indexdocumentrequest.py +++ b/src/glean/api_client/models/indexdocumentrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .documentdefinition import DocumentDefinition, DocumentDefinitionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -27,13 +33,20 @@ class IndexDocumentRequest(BaseModel): r"""Version number for document for optimistic concurrency control. If absent or 0 then no version checks are done.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/indexdocumentsrequest.py b/src/glean/api_client/models/indexdocumentsrequest.py index df0dc41e..0ce1208e 100644 --- a/src/glean/api_client/models/indexdocumentsrequest.py +++ b/src/glean/api_client/models/indexdocumentsrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .documentdefinition import DocumentDefinition, DocumentDefinitionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -33,13 +39,20 @@ class IndexDocumentsRequest(BaseModel): r"""Optional id parameter to identify and track a batch of documents.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["uploadId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/indexemployeerequest.py b/src/glean/api_client/models/indexemployeerequest.py index c37c66ac..4130ad7d 100644 --- a/src/glean/api_client/models/indexemployeerequest.py +++ b/src/glean/api_client/models/indexemployeerequest.py @@ -5,7 +5,13 @@ EmployeeInfoDefinition, EmployeeInfoDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -30,13 +36,20 @@ class IndexEmployeeRequest(BaseModel): r"""Version number for the employee object. If absent or 0 then no version checks are done""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/indexgrouprequest.py b/src/glean/api_client/models/indexgrouprequest.py index f0b242fd..0c4cd6fb 100644 --- a/src/glean/api_client/models/indexgrouprequest.py +++ b/src/glean/api_client/models/indexgrouprequest.py @@ -5,7 +5,13 @@ DatasourceGroupDefinition, DatasourceGroupDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -35,13 +41,20 @@ class IndexGroupRequest(BaseModel): r"""Version number for document for optimistic concurrency control. If absent or 0 then no version checks are done.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/indexingshortcut.py b/src/glean/api_client/models/indexingshortcut.py index 82edda46..b87b30e2 100644 --- a/src/glean/api_client/models/indexingshortcut.py +++ b/src/glean/api_client/models/indexingshortcut.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -58,6 +64,9 @@ class IndexingShortcut(BaseModel): r"""For variable shortcuts, contains the URL template; note, `destinationUrl` contains default URL.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -69,11 +78,15 @@ def serialize_model(self, handler): "urlTemplate", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/indexmembershiprequest.py b/src/glean/api_client/models/indexmembershiprequest.py index 471ea84b..42239ad4 100644 --- a/src/glean/api_client/models/indexmembershiprequest.py +++ b/src/glean/api_client/models/indexmembershiprequest.py @@ -5,7 +5,13 @@ DatasourceMembershipDefinition, DatasourceMembershipDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -35,13 +41,20 @@ class IndexMembershipRequest(BaseModel): r"""Version number for document for optimistic concurrency control. If absent or 0 then no version checks are done.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/indexstatus.py b/src/glean/api_client/models/indexstatus.py index 51863783..5a10ac48 100644 --- a/src/glean/api_client/models/indexstatus.py +++ b/src/glean/api_client/models/indexstatus.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -28,13 +34,20 @@ class IndexStatus(BaseModel): r"""When the document was last indexed""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["lastCrawledTime", "lastIndexedTime"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/indexteamrequest.py b/src/glean/api_client/models/indexteamrequest.py index e524f951..3d37772d 100644 --- a/src/glean/api_client/models/indexteamrequest.py +++ b/src/glean/api_client/models/indexteamrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .teaminfodefinition import TeamInfoDefinition, TeamInfoDefinitionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -27,13 +33,20 @@ class IndexTeamRequest(BaseModel): r"""Version number for the team object. If absent or 0 then no version checks are done""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/indexuserrequest.py b/src/glean/api_client/models/indexuserrequest.py index 7acd43d1..97d19498 100644 --- a/src/glean/api_client/models/indexuserrequest.py +++ b/src/glean/api_client/models/indexuserrequest.py @@ -5,7 +5,13 @@ DatasourceUserDefinition, DatasourceUserDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -35,13 +41,20 @@ class IndexUserRequest(BaseModel): r"""Version number for document for optimistic concurrency control. If absent or 0 then no version checks are done.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["version"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/inputoptions.py b/src/glean/api_client/models/inputoptions.py index 3472a2e4..43372ca0 100644 --- a/src/glean/api_client/models/inputoptions.py +++ b/src/glean/api_client/models/inputoptions.py @@ -4,7 +4,13 @@ from .timerange import TimeRange, TimeRangeTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -109,6 +115,9 @@ def serialize_time_period_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -121,11 +130,15 @@ def serialize_model(self, handler): "subsetDocIdsToScan", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/insightsassistantrequest.py b/src/glean/api_client/models/insightsassistantrequest.py index 806dc671..f9d26e36 100644 --- a/src/glean/api_client/models/insightsassistantrequest.py +++ b/src/glean/api_client/models/insightsassistantrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .period import Period, PeriodTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -29,13 +35,20 @@ class InsightsAssistantRequest(BaseModel): day_range: Annotated[Optional[Period], pydantic.Field(alias="dayRange")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["departments", "managerEmails", "dayRange"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/insightschatsummary.py b/src/glean/api_client/models/insightschatsummary.py index 44b76c5a..1353cd38 100644 --- a/src/glean/api_client/models/insightschatsummary.py +++ b/src/glean/api_client/models/insightschatsummary.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -39,15 +45,22 @@ class InsightsChatSummary(BaseModel): r"""Total number of distinct users who used Chat over the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["monthlyActiveUsers", "weeklyActiveUsers", "numChats", "numChatUsers"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/insightsop.py b/src/glean/api_client/models/insightsop.py index c0de2bef..ff701392 100644 --- a/src/glean/api_client/models/insightsop.py +++ b/src/glean/api_client/models/insightsop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .insightsrequest import InsightsRequest, InsightsRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class InsightsRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/insightsoverviewrequest.py b/src/glean/api_client/models/insightsoverviewrequest.py index eda4a606..8335f24b 100644 --- a/src/glean/api_client/models/insightsoverviewrequest.py +++ b/src/glean/api_client/models/insightsoverviewrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .period import Period, PeriodTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -29,13 +35,20 @@ class InsightsOverviewRequest(BaseModel): day_range: Annotated[Optional[Period], pydantic.Field(alias="dayRange")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["departments", "managerEmails", "dayRange"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/insightsoverviewresponse.py b/src/glean/api_client/models/insightsoverviewresponse.py index 27313ce1..3d9c509c 100644 --- a/src/glean/api_client/models/insightsoverviewresponse.py +++ b/src/glean/api_client/models/insightsoverviewresponse.py @@ -6,7 +6,13 @@ from .insightssearchsummary import InsightsSearchSummary, InsightsSearchSummaryTypedDict from .labeledcountinfo import LabeledCountInfo, LabeledCountInfoTypedDict from .peruserinsight import PerUserInsight, PerUserInsightTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, List, Optional @@ -235,6 +241,9 @@ class InsightsOverviewResponse(BaseModel): r"""Per-user insights, over the specified time period in the specified departments. All current users in the organization who have signed into Glean at least once are included.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -277,11 +286,15 @@ def serialize_model(self, handler): "perUserInsights", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/insightsrequest.py b/src/glean/api_client/models/insightsrequest.py index 8ec76f9c..2551f40c 100644 --- a/src/glean/api_client/models/insightsrequest.py +++ b/src/glean/api_client/models/insightsrequest.py @@ -18,7 +18,13 @@ McpBreakdownInsightsRequestTypedDict, ) from .mcpinsightsrequest import McpInsightsRequest, McpInsightsRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -63,6 +69,9 @@ class InsightsRequest(BaseModel): r"""If true, suppresses the generation of per-user Insights in the response. Default is false.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -74,11 +83,15 @@ def serialize_model(self, handler): "disablePerUserInsights", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/insightsresponse.py b/src/glean/api_client/models/insightsresponse.py index aa95f0f4..0202facb 100644 --- a/src/glean/api_client/models/insightsresponse.py +++ b/src/glean/api_client/models/insightsresponse.py @@ -22,7 +22,13 @@ McpBreakdownInsightsResponseTypedDict, ) from .mcpinsightsresponse import McpInsightsResponse, McpInsightsResponseTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -65,6 +71,9 @@ class InsightsResponse(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -76,11 +85,15 @@ def serialize_model(self, handler): "mcpBreakdownResponse", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/insightssearchsummary.py b/src/glean/api_client/models/insightssearchsummary.py index 481ba43c..8c7a7145 100644 --- a/src/glean/api_client/models/insightssearchsummary.py +++ b/src/glean/api_client/models/insightssearchsummary.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -39,15 +45,22 @@ class InsightsSearchSummary(BaseModel): r"""Total number of distinct users who searched over the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["monthlyActiveUsers", "weeklyActiveUsers", "numSearches", "numSearchUsers"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/invalidoperatorvalueerror.py b/src/glean/api_client/models/invalidoperatorvalueerror.py index e9e0ee2b..4fc69409 100644 --- a/src/glean/api_client/models/invalidoperatorvalueerror.py +++ b/src/glean/api_client/models/invalidoperatorvalueerror.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -22,13 +28,20 @@ class InvalidOperatorValueError(BaseModel): r"""The invalid operator value.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["key", "value"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/inviteinfo.py b/src/glean/api_client/models/inviteinfo.py index 20044d83..57b2d2c4 100644 --- a/src/glean/api_client/models/inviteinfo.py +++ b/src/glean/api_client/models/inviteinfo.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -59,15 +65,22 @@ class InviteInfo(BaseModel): r"""The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["signUpTime", "invites", "inviter", "inviteTime", "reminderTime"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/labeledcountinfo.py b/src/glean/api_client/models/labeledcountinfo.py index c123fd88..fc34bcb6 100644 --- a/src/glean/api_client/models/labeledcountinfo.py +++ b/src/glean/api_client/models/labeledcountinfo.py @@ -2,7 +2,13 @@ from __future__ import annotations from .countinfo import CountInfo, CountInfoTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -26,13 +32,20 @@ class LabeledCountInfo(BaseModel): r"""List of data points for counts for a given date period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["countInfo"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/lifecycleevent.py b/src/glean/api_client/models/lifecycleevent.py index d30704e6..4cf70b14 100644 --- a/src/glean/api_client/models/lifecycleevent.py +++ b/src/glean/api_client/models/lifecycleevent.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -42,13 +48,20 @@ def serialize_event(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["event", "timestamp"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listanswersop.py b/src/glean/api_client/models/listanswersop.py index eb99f446..f0742213 100644 --- a/src/glean/api_client/models/listanswersop.py +++ b/src/glean/api_client/models/listanswersop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .listanswersrequest import ListAnswersRequest, ListAnswersRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class ListanswersRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listanswersrequest.py b/src/glean/api_client/models/listanswersrequest.py index 6868a538..6c63b3e6 100644 --- a/src/glean/api_client/models/listanswersrequest.py +++ b/src/glean/api_client/models/listanswersrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -18,13 +24,20 @@ class ListAnswersRequest(BaseModel): r"""The Answer Board Id to list answers on.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["boardId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listchatsop.py b/src/glean/api_client/models/listchatsop.py index cdd71758..1d35c4f0 100644 --- a/src/glean/api_client/models/listchatsop.py +++ b/src/glean/api_client/models/listchatsop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -31,13 +37,20 @@ class ListchatsRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listchatsresponse.py b/src/glean/api_client/models/listchatsresponse.py index 4c33ac6b..a47d4963 100644 --- a/src/glean/api_client/models/listchatsresponse.py +++ b/src/glean/api_client/models/listchatsresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .chatmetadataresult import ChatMetadataResult, ChatMetadataResultTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -24,13 +30,20 @@ class ListChatsResponse(BaseModel): r"""An opaque cursor for fetching the next page of results. If empty, there are no more results.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["chatResults", "cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listcollectionsop.py b/src/glean/api_client/models/listcollectionsop.py index ad00f15c..84fd324c 100644 --- a/src/glean/api_client/models/listcollectionsop.py +++ b/src/glean/api_client/models/listcollectionsop.py @@ -5,7 +5,13 @@ ListCollectionsRequest, ListCollectionsRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class ListcollectionsRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listcollectionsrequest.py b/src/glean/api_client/models/listcollectionsrequest.py index f956dd2a..f2ad3976 100644 --- a/src/glean/api_client/models/listcollectionsrequest.py +++ b/src/glean/api_client/models/listcollectionsrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -43,15 +49,22 @@ class ListCollectionsRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["query", "includeAudience", "includeRoles", "allowedDatasource"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listdlpfindingsexportsresponse.py b/src/glean/api_client/models/listdlpfindingsexportsresponse.py index 4920345f..328ff6c7 100644 --- a/src/glean/api_client/models/listdlpfindingsexportsresponse.py +++ b/src/glean/api_client/models/listdlpfindingsexportsresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .exportinfo import ExportInfo, ExportInfoTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -16,13 +22,20 @@ class ListDlpFindingsExportsResponse(BaseModel): exports: Optional[List[ExportInfo]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["exports"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listdlpreportsresponse.py b/src/glean/api_client/models/listdlpreportsresponse.py index df22a92d..91d4edcb 100644 --- a/src/glean/api_client/models/listdlpreportsresponse.py +++ b/src/glean/api_client/models/listdlpreportsresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .dlpreport import DlpReport, DlpReportTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -16,13 +22,20 @@ class ListDlpReportsResponse(BaseModel): reports: Optional[List[DlpReport]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["reports"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listentitiesop.py b/src/glean/api_client/models/listentitiesop.py index c64939c3..d17b0ca6 100644 --- a/src/glean/api_client/models/listentitiesop.py +++ b/src/glean/api_client/models/listentitiesop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .listentitiesrequest import ListEntitiesRequest, ListEntitiesRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class ListentitiesRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listentitiesrequest.py b/src/glean/api_client/models/listentitiesrequest.py index 74911f03..37708340 100644 --- a/src/glean/api_client/models/listentitiesrequest.py +++ b/src/glean/api_client/models/listentitiesrequest.py @@ -4,7 +4,13 @@ from .facetfilter import FacetFilter, FacetFilterTypedDict from .sortoptions import SortOptions, SortOptionsTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -98,6 +104,9 @@ class ListEntitiesRequest(BaseModel): r"""The type of request being made.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -113,11 +122,15 @@ def serialize_model(self, handler): "requestType", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listentitiesresponse.py b/src/glean/api_client/models/listentitiesresponse.py index 6f8be48a..766daabf 100644 --- a/src/glean/api_client/models/listentitiesresponse.py +++ b/src/glean/api_client/models/listentitiesresponse.py @@ -6,7 +6,13 @@ from .facetresult import FacetResult, FacetResultTypedDict from .person import Person, PersonTypedDict from .team import Team, TeamTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -67,6 +73,9 @@ class ListEntitiesResponse(BaseModel): r"""list of Person attributes that are custom setup by deployment""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -81,11 +90,15 @@ def serialize_model(self, handler): "customFacetNames", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listpinsop.py b/src/glean/api_client/models/listpinsop.py index 147e4bd9..9ba83dfb 100644 --- a/src/glean/api_client/models/listpinsop.py +++ b/src/glean/api_client/models/listpinsop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -37,13 +43,20 @@ class ListpinsRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listpoliciesop.py b/src/glean/api_client/models/listpoliciesop.py index d0b1cc73..511ce3f8 100644 --- a/src/glean/api_client/models/listpoliciesop.py +++ b/src/glean/api_client/models/listpoliciesop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer @@ -31,13 +37,20 @@ class ListpoliciesRequest(BaseModel): r"""Filter to return reports with a given frequency.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["autoHide", "frequency"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listshortcutsop.py b/src/glean/api_client/models/listshortcutsop.py index 8b99ab97..98b5ef64 100644 --- a/src/glean/api_client/models/listshortcutsop.py +++ b/src/glean/api_client/models/listshortcutsop.py @@ -5,7 +5,13 @@ ListShortcutsPaginatedRequest, ListShortcutsPaginatedRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class ListshortcutsRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listshortcutspaginatedrequest.py b/src/glean/api_client/models/listshortcutspaginatedrequest.py index 30b1e2d7..ac4467bc 100644 --- a/src/glean/api_client/models/listshortcutspaginatedrequest.py +++ b/src/glean/api_client/models/listshortcutspaginatedrequest.py @@ -4,7 +4,13 @@ from .facetfilter import FacetFilter, FacetFilterTypedDict from .sortoptions import SortOptions, SortOptionsTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -50,13 +56,20 @@ class ListShortcutsPaginatedRequest(BaseModel): r"""Search query that should be a substring in atleast one of the fields (alias , inputAlias, destinationUrl, description). Empty query does not filter shortcuts.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["includeFields", "cursor", "filters", "sort", "query"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listshortcutspaginatedresponse.py b/src/glean/api_client/models/listshortcutspaginatedresponse.py index d8359a2f..6bf17d0e 100644 --- a/src/glean/api_client/models/listshortcutspaginatedresponse.py +++ b/src/glean/api_client/models/listshortcutspaginatedresponse.py @@ -7,7 +7,13 @@ ShortcutsPaginationMetadata, ShortcutsPaginationMetadataTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -32,13 +38,20 @@ class ListShortcutsPaginatedResponse(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["facetResults"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/listverificationsop.py b/src/glean/api_client/models/listverificationsop.py index 16e9645a..d18ac0ce 100644 --- a/src/glean/api_client/models/listverificationsop.py +++ b/src/glean/api_client/models/listverificationsop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -29,13 +35,20 @@ class ListverificationsRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["count", "locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/manualfeedbackinfo.py b/src/glean/api_client/models/manualfeedbackinfo.py index 5d4bb515..15ad1267 100644 --- a/src/glean/api_client/models/manualfeedbackinfo.py +++ b/src/glean/api_client/models/manualfeedbackinfo.py @@ -3,7 +3,13 @@ from __future__ import annotations from .feedbackchatexchange import FeedbackChatExchange, FeedbackChatExchangeTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -174,6 +180,9 @@ class ManualFeedbackInfo(BaseModel): r"""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.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -196,11 +205,15 @@ def serialize_model(self, handler): "ratingScale", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/manualfeedbacksidebysideinfo.py b/src/glean/api_client/models/manualfeedbacksidebysideinfo.py index f0f51104..b9326d7c 100644 --- a/src/glean/api_client/models/manualfeedbacksidebysideinfo.py +++ b/src/glean/api_client/models/manualfeedbacksidebysideinfo.py @@ -6,7 +6,13 @@ SideBySideImplementationTypedDict, ) from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -78,6 +84,9 @@ class ManualFeedbackSideBySideInfo(BaseModel): r"""Specific feedback comments for this implementation.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -91,11 +100,15 @@ def serialize_model(self, handler): "comments", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/mcpauthmethodbreakdown.py b/src/glean/api_client/models/mcpauthmethodbreakdown.py index fb87c13e..92f93740 100644 --- a/src/glean/api_client/models/mcpauthmethodbreakdown.py +++ b/src/glean/api_client/models/mcpauthmethodbreakdown.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -35,15 +41,22 @@ class McpAuthMethodBreakdown(BaseModel): r"""Host applications using this authentication method in the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["authMethod", "totalCalls", "activeUsers", "hostApplications"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/mcpbreakdowninsightsrequest.py b/src/glean/api_client/models/mcpbreakdowninsightsrequest.py index 4d3a744d..ca64efda 100644 --- a/src/glean/api_client/models/mcpbreakdowninsightsrequest.py +++ b/src/glean/api_client/models/mcpbreakdowninsightsrequest.py @@ -3,7 +3,13 @@ from __future__ import annotations from .period import Period, PeriodTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -78,6 +84,9 @@ class McpBreakdownInsightsRequest(BaseModel): r"""Authentication methods to filter by, for example OAUTH_XAA for Cross App Access traffic. Empty array means all authentication methods.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -92,11 +101,15 @@ def serialize_model(self, handler): "authMethods", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/mcpbreakdowninsightsresponse.py b/src/glean/api_client/models/mcpbreakdowninsightsresponse.py index e3f49671..9113e138 100644 --- a/src/glean/api_client/models/mcpbreakdowninsightsresponse.py +++ b/src/glean/api_client/models/mcpbreakdowninsightsresponse.py @@ -12,7 +12,13 @@ from .mcpserverbreakdown import McpServerBreakdown, McpServerBreakdownTypedDict from .mcptoolbreakdown import McpToolBreakdown, McpToolBreakdownTypedDict from .mcpuserbreakdown import McpUserBreakdown, McpUserBreakdownTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -51,6 +57,9 @@ class McpBreakdownInsightsResponse(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -61,11 +70,15 @@ def serialize_model(self, handler): "authMethodsBreakdown", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/mcphostapplicationbreakdown.py b/src/glean/api_client/models/mcphostapplicationbreakdown.py index 687302ac..918a0cae 100644 --- a/src/glean/api_client/models/mcphostapplicationbreakdown.py +++ b/src/glean/api_client/models/mcphostapplicationbreakdown.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class McpHostApplicationBreakdown(BaseModel): r"""Total number of active users from this host application in the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["hostApplication", "totalCalls", "activeUsers"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/mcpinsightsrequest.py b/src/glean/api_client/models/mcpinsightsrequest.py index 270fed0d..fd03b9ca 100644 --- a/src/glean/api_client/models/mcpinsightsrequest.py +++ b/src/glean/api_client/models/mcpinsightsrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .period import Period, PeriodTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -36,15 +42,22 @@ class McpInsightsRequest(BaseModel): day_range: Annotated[Optional[Period], pydantic.Field(alias="dayRange")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["departments", "managerIds", "managerEmails", "dayRange"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/mcpinsightsresponse.py b/src/glean/api_client/models/mcpinsightsresponse.py index e4dd8004..3e81b06d 100644 --- a/src/glean/api_client/models/mcpinsightsresponse.py +++ b/src/glean/api_client/models/mcpinsightsresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .labeledcountinfo import LabeledCountInfo, LabeledCountInfoTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -64,6 +70,9 @@ class McpInsightsResponse(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -77,11 +86,15 @@ def serialize_model(self, handler): "topHostApplicationsActiveUserTimeseries", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/mcpserverbreakdown.py b/src/glean/api_client/models/mcpserverbreakdown.py index aad32563..ff5ed71b 100644 --- a/src/glean/api_client/models/mcpserverbreakdown.py +++ b/src/glean/api_client/models/mcpserverbreakdown.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -35,15 +41,22 @@ class McpServerBreakdown(BaseModel): r"""Host applications using this server in the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["server", "totalCalls", "activeUsers", "hostApplications"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/mcptoolbreakdown.py b/src/glean/api_client/models/mcptoolbreakdown.py index 5fcb1924..1dc500df 100644 --- a/src/glean/api_client/models/mcptoolbreakdown.py +++ b/src/glean/api_client/models/mcptoolbreakdown.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -35,13 +41,20 @@ class McpToolBreakdown(BaseModel): r"""Host applications using this tool in the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["tool", "totalCalls", "activeUsers", "hostApplications"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/mcpuserbreakdown.py b/src/glean/api_client/models/mcpuserbreakdown.py index 42a1ac29..59cf3ba7 100644 --- a/src/glean/api_client/models/mcpuserbreakdown.py +++ b/src/glean/api_client/models/mcpuserbreakdown.py @@ -2,7 +2,13 @@ from __future__ import annotations from .person import Person, PersonTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -46,6 +52,9 @@ class McpUserBreakdown(BaseModel): r"""Authentication methods this user's MCP clients presented in the specified time period, for example OAUTH_XAA for Cross App Access.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -57,11 +66,15 @@ def serialize_model(self, handler): "authMethods", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/meeting.py b/src/glean/api_client/models/meeting.py index c3c75325..1e2a4058 100644 --- a/src/glean/api_client/models/meeting.py +++ b/src/glean/api_client/models/meeting.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional, TYPE_CHECKING @@ -69,6 +75,9 @@ class Meeting(BaseModel): r"""The conference provider (e.g., \"Microsoft Teams\", \"Zoom\")""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -86,11 +95,15 @@ def serialize_model(self, handler): "conferenceProvider", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/message.py b/src/glean/api_client/models/message.py index 11d42a8f..4a283650 100644 --- a/src/glean/api_client/models/message.py +++ b/src/glean/api_client/models/message.py @@ -6,10 +6,17 @@ ChatCitationAnnotationTypedDict, ) from .contenttype import ContentType -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump +import pydantic from pydantic import model_serializer from typing import List, Optional -from typing_extensions import NotRequired, TypedDict +from typing_extensions import Annotated, NotRequired, TypedDict class MessageTextBlockTypedDict(TypedDict): @@ -26,13 +33,20 @@ class MessageTextBlock(BaseModel): annotations: Optional[List[ChatCitationAnnotation]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["annotations"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -47,6 +61,8 @@ class MessageTypedDict(TypedDict): r"""The role of the message.""" content: NotRequired[List[MessageTextBlockTypedDict]] r"""The content of the message.""" + message_tracking_token: NotRequired[str] + r"""An opaque token that represents this particular agent message. Populated only on `GLEAN_AI` messages in responses. To record feedback, pass the token of the message being rated (typically the final `GLEAN_AI` message of the run) as the single entry in `trackingTokens` to `/feedback`, with `category: CHAT`.""" class Message(BaseModel): @@ -56,14 +72,26 @@ class Message(BaseModel): content: Optional[List[MessageTextBlock]] = None r"""The content of the message.""" + message_tracking_token: Annotated[ + Optional[str], pydantic.Field(alias="messageTrackingToken") + ] = None + r"""An opaque token that represents this particular agent message. Populated only on `GLEAN_AI` messages in responses. To record feedback, pass the token of the message being rated (typically the final `GLEAN_AI` message of the run) as the single entry in `trackingTokens` to `/feedback`, with `category: CHAT`.""" + @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): - optional_fields = set(["role", "content"]) + optional_fields = set(["role", "content", "messageTrackingToken"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -71,3 +99,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + Message.model_rebuild() +except NameError: + pass diff --git a/src/glean/api_client/models/message_input.py b/src/glean/api_client/models/message_input.py index 75d840bf..122e094f 100644 --- a/src/glean/api_client/models/message_input.py +++ b/src/glean/api_client/models/message_input.py @@ -2,7 +2,13 @@ from __future__ import annotations from .contenttype import ContentType -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -34,13 +40,20 @@ class MessageInput(BaseModel): r"""The content of the message.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["role", "content"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/messagesop.py b/src/glean/api_client/models/messagesop.py index 8e1735a0..f4911ad6 100644 --- a/src/glean/api_client/models/messagesop.py +++ b/src/glean/api_client/models/messagesop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .messagesrequest import MessagesRequest, MessagesRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class MessagesRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/messagesrequest.py b/src/glean/api_client/models/messagesrequest.py index 2076bc4f..6ab12fa7 100644 --- a/src/glean/api_client/models/messagesrequest.py +++ b/src/glean/api_client/models/messagesrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -85,6 +91,9 @@ class MessagesRequest(BaseModel): r"""The datasource instance display name from which the document was extracted. This is used for appinstance facet filter for datasources that support multiple instances.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -95,11 +104,15 @@ def serialize_model(self, handler): "datasourceInstanceDisplayName", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/messagesresponse.py b/src/glean/api_client/models/messagesresponse.py index d68228bc..e91ad24e 100644 --- a/src/glean/api_client/models/messagesresponse.py +++ b/src/glean/api_client/models/messagesresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .searchresponse import SearchResponse, SearchResponseTypedDict from .searchresult import SearchResult, SearchResultTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class MessagesResponse(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["searchResponse", "rootMessage"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/objectdefinition.py b/src/glean/api_client/models/objectdefinition.py index 65f80f05..0ecaa831 100644 --- a/src/glean/api_client/models/objectdefinition.py +++ b/src/glean/api_client/models/objectdefinition.py @@ -5,7 +5,13 @@ from .propertygroup import PropertyGroup, PropertyGroupTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -35,6 +41,7 @@ class DocCategory(str, Enum, metaclass=utils.OpenEnumMeta): AGENTS = "AGENTS" AI_CONVERSATION = "AI_CONVERSATION" AI_ARTIFACT = "AI_ARTIFACT" + UGC_SKILL = "UGC_SKILL" class ObjectDefinitionTypedDict(TypedDict): @@ -89,6 +96,9 @@ def serialize_doc_category(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -100,11 +110,15 @@ def serialize_model(self, handler): "summarizable", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/objectpermissions.py b/src/glean/api_client/models/objectpermissions.py index efe9cecc..089410e0 100644 --- a/src/glean/api_client/models/objectpermissions.py +++ b/src/glean/api_client/models/objectpermissions.py @@ -2,7 +2,13 @@ from __future__ import annotations from .writepermission import WritePermission, WritePermissionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -18,13 +24,20 @@ class ObjectPermissions(BaseModel): r"""Describes the write permissions levels that a user has for a specific feature""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["write"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/operatormetadata.py b/src/glean/api_client/models/operatormetadata.py index 09ba687a..e84a294f 100644 --- a/src/glean/api_client/models/operatormetadata.py +++ b/src/glean/api_client/models/operatormetadata.py @@ -4,7 +4,13 @@ from .operatorscope import OperatorScope, OperatorScopeTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -61,15 +67,22 @@ def serialize_operator_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["isCustom", "operatorType", "helpText", "scopes", "value", "displayValue"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/operatorscope.py b/src/glean/api_client/models/operatorscope.py index ebb5f578..9f60b07d 100644 --- a/src/glean/api_client/models/operatorscope.py +++ b/src/glean/api_client/models/operatorscope.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -19,13 +25,20 @@ class OperatorScope(BaseModel): doc_type: Annotated[Optional[str], pydantic.Field(alias="docType")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["datasource", "docType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/peopleop.py b/src/glean/api_client/models/peopleop.py index ab286401..b229c80c 100644 --- a/src/glean/api_client/models/peopleop.py +++ b/src/glean/api_client/models/peopleop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .peoplerequest import PeopleRequest, PeopleRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class PeopleRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/peoplerequest.py b/src/glean/api_client/models/peoplerequest.py index 1ecee9b1..32489a81 100644 --- a/src/glean/api_client/models/peoplerequest.py +++ b/src/glean/api_client/models/peoplerequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -77,6 +83,9 @@ class PeopleRequest(BaseModel): r"""A string denoting the search surface from which the endpoint is called.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -89,11 +98,15 @@ def serialize_model(self, handler): "source", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/peopleresponse.py b/src/glean/api_client/models/peopleresponse.py index d882d545..9c9c718c 100644 --- a/src/glean/api_client/models/peopleresponse.py +++ b/src/glean/api_client/models/peopleresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .person import Person, PersonTypedDict from .relateddocuments import RelatedDocuments, RelatedDocumentsTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -32,13 +38,20 @@ class PeopleResponse(BaseModel): r"""A list of IDs that could not be found.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["results", "relatedDocuments", "errors"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/peragentinsight.py b/src/glean/api_client/models/peragentinsight.py index 6b711e39..193a9a72 100644 --- a/src/glean/api_client/models/peragentinsight.py +++ b/src/glean/api_client/models/peragentinsight.py @@ -3,7 +3,13 @@ from __future__ import annotations from .iconconfig import IconConfig, IconConfigTypedDict from .person import Person, PersonTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -60,6 +66,9 @@ class PerAgentInsight(BaseModel): owner: Optional[Person] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -74,11 +83,15 @@ def serialize_model(self, handler): "owner", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/period.py b/src/glean/api_client/models/period.py index 5e03da4d..a15486f1 100644 --- a/src/glean/api_client/models/period.py +++ b/src/glean/api_client/models/period.py @@ -2,7 +2,13 @@ from __future__ import annotations from .timepoint import TimePoint, TimePointTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -42,13 +48,20 @@ class Period(BaseModel): end: Optional[TimePoint] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["minDaysFromNow", "maxDaysFromNow", "start", "end"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/permissions.py b/src/glean/api_client/models/permissions.py index 51f12fd4..98ddfc3a 100644 --- a/src/glean/api_client/models/permissions.py +++ b/src/glean/api_client/models/permissions.py @@ -4,7 +4,13 @@ from .grantpermission import GrantPermission, GrantPermissionTypedDict from .readpermission import ReadPermission, ReadPermissionTypedDict from .writepermission import WritePermission, WritePermissionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, List, Optional @@ -68,6 +74,9 @@ class Permissions(BaseModel): r"""The roleIds of the roles a user has.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -81,11 +90,15 @@ def serialize_model(self, handler): "roles", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/permissionsgroupintersectiondefinition.py b/src/glean/api_client/models/permissionsgroupintersectiondefinition.py index 52b20386..81723f01 100644 --- a/src/glean/api_client/models/permissionsgroupintersectiondefinition.py +++ b/src/glean/api_client/models/permissionsgroupintersectiondefinition.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -22,13 +28,20 @@ class PermissionsGroupIntersectionDefinition(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["requiredGroups"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/person.py b/src/glean/api_client/models/person.py index be88dd7e..bb0a7004 100644 --- a/src/glean/api_client/models/person.py +++ b/src/glean/api_client/models/person.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -44,13 +50,20 @@ class Person(BaseModel): metadata: Optional["PersonMetadata"] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["identityOnly", "relatedDocuments", "metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/personmetadata.py b/src/glean/api_client/models/personmetadata.py index 5290ba80..aeef340f 100644 --- a/src/glean/api_client/models/personmetadata.py +++ b/src/glean/api_client/models/personmetadata.py @@ -12,7 +12,13 @@ from datetime import date, datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Dict, List, Optional, TYPE_CHECKING @@ -316,6 +322,9 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -367,11 +376,15 @@ def serialize_model(self, handler): "isOrgRoot", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/personteam.py b/src/glean/api_client/models/personteam.py index f0b080d9..357cd7fd 100644 --- a/src/glean/api_client/models/personteam.py +++ b/src/glean/api_client/models/personteam.py @@ -4,7 +4,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -64,15 +70,22 @@ def serialize_relationship(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["id", "name", "externalLink", "relationship", "joinDate"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/persontoteamrelationship.py b/src/glean/api_client/models/persontoteamrelationship.py index e2f30552..c9e17ba8 100644 --- a/src/glean/api_client/models/persontoteamrelationship.py +++ b/src/glean/api_client/models/persontoteamrelationship.py @@ -4,7 +4,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional, TYPE_CHECKING @@ -64,13 +70,20 @@ def serialize_relationship(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["relationship", "customRelationshipStr", "joinDate"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/peruserassistantinsight.py b/src/glean/api_client/models/peruserassistantinsight.py index a24e6f5d..2d968a55 100644 --- a/src/glean/api_client/models/peruserassistantinsight.py +++ b/src/glean/api_client/models/peruserassistantinsight.py @@ -2,7 +2,13 @@ from __future__ import annotations from .person import Person, PersonTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -52,6 +58,9 @@ class PerUserAssistantInsight(BaseModel): r"""Total number of days this user was active on the Assistant over the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -63,11 +72,15 @@ def serialize_model(self, handler): "numDaysActive", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/peruserinsight.py b/src/glean/api_client/models/peruserinsight.py index 37af149f..a0c3902b 100644 --- a/src/glean/api_client/models/peruserinsight.py +++ b/src/glean/api_client/models/peruserinsight.py @@ -2,7 +2,13 @@ from __future__ import annotations from .person import Person, PersonTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -74,6 +80,9 @@ class PerUserInsight(BaseModel): r"""Total number of MCP calls for this user over the specified time period.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -89,11 +98,15 @@ def serialize_model(self, handler): "numMcpCalls", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/pindocument.py b/src/glean/api_client/models/pindocument.py index 7373e05b..decccf49 100644 --- a/src/glean/api_client/models/pindocument.py +++ b/src/glean/api_client/models/pindocument.py @@ -4,7 +4,13 @@ from .facetfilter import FacetFilter, FacetFilterTypedDict from .favoriteinfo import FavoriteInfo, FavoriteInfoTypedDict from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -62,6 +68,9 @@ class PinDocument(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -75,11 +84,15 @@ def serialize_model(self, handler): "favoriteInfo", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/pinop.py b/src/glean/api_client/models/pinop.py index fb63cdf7..0bbd40be 100644 --- a/src/glean/api_client/models/pinop.py +++ b/src/glean/api_client/models/pinop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .pinrequest import PinRequest, PinRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class PinRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/pinrequest.py b/src/glean/api_client/models/pinrequest.py index 1e291af2..8d929750 100644 --- a/src/glean/api_client/models/pinrequest.py +++ b/src/glean/api_client/models/pinrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .facetfilter import FacetFilter, FacetFilterTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -31,13 +37,20 @@ class PinRequest(BaseModel): r"""The document to be pinned.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["queries", "audienceFilters", "documentId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_admin_agents_listop.py b/src/glean/api_client/models/platform_admin_agents_listop.py index 36b4714e..e54be884 100644 --- a/src/glean/api_client/models/platform_admin_agents_listop.py +++ b/src/glean/api_client/models/platform_admin_agents_listop.py @@ -5,7 +5,13 @@ PlatformAdminAgentFilter, PlatformAdminAgentFilterTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import List, Optional @@ -20,7 +26,7 @@ class PlatformAdminAgentsListRequestTypedDict(TypedDict): """ filters: NotRequired[List[PlatformAdminAgentFilterTypedDict]] - r"""JSON-encoded filters that choose which agents are returned. The only supported field is is_active, with the values \"true\" and \"false\" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active agents are returned. To return active and deleted agents, send [{\"field\":\"is_active\",\"values\":[\"true\",\"false\"]}]. + r"""JSON-encoded filters that choose which agents are returned. The supported fields are name and description, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together, and each field can appear in only one filter. For example, to return agents whose name contains \"HR\", send [{\"field\":\"name\",\"values\":[\"HR\"]}]. """ @@ -44,18 +50,25 @@ class PlatformAdminAgentsListRequest(BaseModel): Optional[List[PlatformAdminAgentFilter]], FieldMetadata(query=QueryParamMetadata(serialization="json")), ] = None - r"""JSON-encoded filters that choose which agents are returned. The only supported field is is_active, with the values \"true\" and \"false\" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active agents are returned. To return active and deleted agents, send [{\"field\":\"is_active\",\"values\":[\"true\",\"false\"]}]. + r"""JSON-encoded filters that choose which agents are returned. The supported fields are name and description, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together, and each field can appear in only one filter. For example, to return agents whose name contains \"HR\", send [{\"field\":\"name\",\"values\":[\"HR\"]}]. """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_size", "cursor", "filters"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_admin_idp_groups_listop.py b/src/glean/api_client/models/platform_admin_idp_groups_listop.py index 5ad05d37..7fb5e1e9 100644 --- a/src/glean/api_client/models/platform_admin_idp_groups_listop.py +++ b/src/glean/api_client/models/platform_admin_idp_groups_listop.py @@ -5,7 +5,13 @@ PlatformIdpGroupFilter, PlatformIdpGroupFilterTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import List, Optional @@ -20,7 +26,7 @@ class PlatformAdminIdpGroupsListRequestTypedDict(TypedDict): """ filters: NotRequired[List[PlatformIdpGroupFilterTypedDict]] - r"""JSON-encoded filters that choose which IdP groups are returned. The only supported field is provider_instance, with datasource instance names such as \"okta\". provider_instance values match without case. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. + r"""JSON-encoded filters that choose which IdP groups are returned. The supported fields are provider_instance, provider, and name. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. The name field may appear in only one filter. A value that matches no IdP group returns no IdP groups rather than an error. """ @@ -44,18 +50,25 @@ class PlatformAdminIdpGroupsListRequest(BaseModel): Optional[List[PlatformIdpGroupFilter]], FieldMetadata(query=QueryParamMetadata(serialization="json")), ] = None - r"""JSON-encoded filters that choose which IdP groups are returned. The only supported field is provider_instance, with datasource instance names such as \"okta\". provider_instance values match without case. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. + r"""JSON-encoded filters that choose which IdP groups are returned. The supported fields are provider_instance, provider, and name. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. The name field may appear in only one filter. A value that matches no IdP group returns no IdP groups rather than an error. """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_size", "cursor", "filters"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_admin_oauth_clients_listop.py b/src/glean/api_client/models/platform_admin_oauth_clients_listop.py index 02a68233..730cfb31 100644 --- a/src/glean/api_client/models/platform_admin_oauth_clients_listop.py +++ b/src/glean/api_client/models/platform_admin_oauth_clients_listop.py @@ -5,7 +5,13 @@ PlatformOAuthClientFilter, PlatformOAuthClientFilterTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import List, Optional @@ -20,7 +26,7 @@ class PlatformAdminOauthClientsListRequestTypedDict(TypedDict): """ filters: NotRequired[List[PlatformOAuthClientFilterTypedDict]] - r"""JSON-encoded filters that choose which clients are returned. The only supported field is is_active, with the values \"true\" and \"false\" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active clients are returned. To return active and inactive clients, send [{\"field\":\"is_active\",\"values\":[\"true\",\"false\"]}]. + r"""JSON-encoded filters that choose which clients are returned. The supported fields are is_enabled, name, client_id, usage_client_id, has_ai_gateway, and supported_app, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Each field can appear in only one filter. Without an is_enabled filter, only enabled clients are returned. To return enabled and disabled clients, send [{\"field\":\"is_enabled\",\"values\":[\"true\",\"false\"]}]. To find the Claude Code clients, send [{\"field\":\"supported_app\",\"values\":[\"CLAUDE_CODE\"]}]. """ @@ -44,18 +50,25 @@ class PlatformAdminOauthClientsListRequest(BaseModel): Optional[List[PlatformOAuthClientFilter]], FieldMetadata(query=QueryParamMetadata(serialization="json")), ] = None - r"""JSON-encoded filters that choose which clients are returned. The only supported field is is_active, with the values \"true\" and \"false\" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active clients are returned. To return active and inactive clients, send [{\"field\":\"is_active\",\"values\":[\"true\",\"false\"]}]. + r"""JSON-encoded filters that choose which clients are returned. The supported fields are is_enabled, name, client_id, usage_client_id, has_ai_gateway, and supported_app, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Each field can appear in only one filter. Without an is_enabled filter, only enabled clients are returned. To return enabled and disabled clients, send [{\"field\":\"is_enabled\",\"values\":[\"true\",\"false\"]}]. To find the Claude Code clients, send [{\"field\":\"supported_app\",\"values\":[\"CLAUDE_CODE\"]}]. """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_size", "cursor", "filters"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_agents_get_schemasop.py b/src/glean/api_client/models/platform_agents_get_schemasop.py index dbe9a036..4b7738ec 100644 --- a/src/glean/api_client/models/platform_agents_get_schemasop.py +++ b/src/glean/api_client/models/platform_agents_get_schemasop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -28,13 +34,20 @@ class PlatformAgentsGetSchemasRequest(BaseModel): r"""Whether to include tool metadata in the response.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["include_tools"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_chat_create_streamop.py b/src/glean/api_client/models/platform_chat_create_streamop.py index 10c83a83..281ed035 100644 --- a/src/glean/api_client/models/platform_chat_create_streamop.py +++ b/src/glean/api_client/models/platform_chat_create_streamop.py @@ -13,7 +13,13 @@ PlatformChatTextFormat, PlatformChatTextFormatTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import get_discriminator, validate_const import pydantic from pydantic import Discriminator, Tag, model_serializer @@ -80,13 +86,20 @@ class PlatformChatCreateStreamText(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["format"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -109,6 +122,10 @@ class PlatformChatCreateStreamRequestTypedDict(TypedDict): conversation_id: NotRequired[str] r"""Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`. + """ + model: NotRequired[str] + r"""Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + """ text: NotRequired[PlatformChatCreateStreamTextTypedDict] r"""Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. @@ -137,19 +154,31 @@ class PlatformChatCreateStreamRequest(BaseModel): """ + model: Optional[str] = None + r"""Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + + """ + text: Optional[PlatformChatCreateStreamText] = None r"""Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): - optional_fields = set(["stream", "store", "conversation_id", "text"]) + optional_fields = set(["stream", "store", "conversation_id", "model", "text"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_chat_createop.py b/src/glean/api_client/models/platform_chat_createop.py index 1812a496..ffb71979 100644 --- a/src/glean/api_client/models/platform_chat_createop.py +++ b/src/glean/api_client/models/platform_chat_createop.py @@ -13,7 +13,13 @@ PlatformChatTextFormat, PlatformChatTextFormatTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import get_discriminator, validate_const import pydantic from pydantic import Discriminator, Tag, model_serializer @@ -80,13 +86,20 @@ class PlatformChatCreateText(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["format"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -109,6 +122,10 @@ class PlatformChatCreateRequestTypedDict(TypedDict): conversation_id: NotRequired[str] r"""Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`. + """ + model: NotRequired[str] + r"""Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + """ text: NotRequired[PlatformChatCreateTextTypedDict] r"""Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. @@ -137,19 +154,31 @@ class PlatformChatCreateRequest(BaseModel): """ + model: Optional[str] = None + r"""Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + + """ + text: Optional[PlatformChatCreateText] = None r"""Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): - optional_fields = set(["stream", "store", "conversation_id", "text"]) + optional_fields = set(["stream", "store", "conversation_id", "model", "text"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_departments_listop.py b/src/glean/api_client/models/platform_departments_listop.py index 6b8e9bec..a52be80d 100644 --- a/src/glean/api_client/models/platform_departments_listop.py +++ b/src/glean/api_client/models/platform_departments_listop.py @@ -1,10 +1,20 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from .platformdepartmentfilter import ( + PlatformDepartmentFilter, + PlatformDepartmentFilterTypedDict, +) +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer -from typing import Optional +from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict @@ -12,7 +22,13 @@ class PlatformDepartmentsListRequestTypedDict(TypedDict): page_size: NotRequired[int] r"""Maximum number of departments to return. Defaults to 50. Maximum is 100.""" cursor: NotRequired[str] - r"""Opaque pagination cursor from a previous response.""" + r"""Opaque pagination cursor from a previous response. Send the same filters that the previous request used. + + """ + filters: NotRequired[List[PlatformDepartmentFilterTypedDict]] + r"""JSON-encoded filters that choose which departments are returned. The only supported field is name, with the operator EQUALS. Multiple values OR within a filter. The field may appear in only one filter. A value that matches no department returns no departments rather than an error. + + """ class PlatformDepartmentsListRequest(BaseModel): @@ -26,16 +42,33 @@ class PlatformDepartmentsListRequest(BaseModel): Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Opaque pagination cursor from a previous response.""" + r"""Opaque pagination cursor from a previous response. Send the same filters that the previous request used. + + """ + + filters: Annotated[ + Optional[List[PlatformDepartmentFilter]], + FieldMetadata(query=QueryParamMetadata(serialization="json")), + ] = None + r"""JSON-encoded filters that choose which departments are returned. The only supported field is name, with the operator EQUALS. Multiple values OR within a filter. The field may appear in only one filter. A value that matches no department returns no departments rather than an error. + + """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): - optional_fields = set(["page_size", "cursor"]) + optional_fields = set(["page_size", "cursor", "filters"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_search_filtersop.py b/src/glean/api_client/models/platform_search_filtersop.py index 2120898e..f333a988 100644 --- a/src/glean/api_client/models/platform_search_filtersop.py +++ b/src/glean/api_client/models/platform_search_filtersop.py @@ -5,7 +5,13 @@ PlatformSearchFiltersResponse, PlatformSearchFiltersResponseTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Dict, List, Optional @@ -41,13 +47,20 @@ class PlatformSearchFiltersRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["datasources", "query"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_skills_list_versionsop.py b/src/glean/api_client/models/platform_skills_list_versionsop.py index b34fd73f..ab48fae6 100644 --- a/src/glean/api_client/models/platform_skills_list_versionsop.py +++ b/src/glean/api_client/models/platform_skills_list_versionsop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -36,13 +42,20 @@ class PlatformSkillsListVersionsRequest(BaseModel): r"""Opaque pagination cursor from a previous response.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_size", "cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_skills_listop.py b/src/glean/api_client/models/platform_skills_listop.py index 5c21fa77..539e3507 100644 --- a/src/glean/api_client/models/platform_skills_listop.py +++ b/src/glean/api_client/models/platform_skills_listop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -29,13 +35,20 @@ class PlatformSkillsListRequest(BaseModel): r"""Opaque pagination cursor from a previous response.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_size", "cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_skills_preview_source_streamop.py b/src/glean/api_client/models/platform_skills_preview_source_streamop.py index 2ce11df6..51f3b6fc 100644 --- a/src/glean/api_client/models/platform_skills_preview_source_streamop.py +++ b/src/glean/api_client/models/platform_skills_preview_source_streamop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -26,13 +32,20 @@ class PlatformSkillsPreviewSourceStreamRequest(BaseModel): ] = True @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["stream"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_skills_preview_sourceop.py b/src/glean/api_client/models/platform_skills_preview_sourceop.py index f5667276..a71d3260 100644 --- a/src/glean/api_client/models/platform_skills_preview_sourceop.py +++ b/src/glean/api_client/models/platform_skills_preview_sourceop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -26,13 +32,20 @@ class PlatformSkillsPreviewSourceRequest(BaseModel): ] = False @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["stream"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_trigger_presets_events_searchop.py b/src/glean/api_client/models/platform_trigger_presets_events_searchop.py index 79b57ae0..043905d6 100644 --- a/src/glean/api_client/models/platform_trigger_presets_events_searchop.py +++ b/src/glean/api_client/models/platform_trigger_presets_events_searchop.py @@ -5,7 +5,13 @@ PlatformTriggerPresetEventSearchRequest, PlatformTriggerPresetEventSearchRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -32,13 +38,20 @@ class PlatformTriggerPresetsEventsSearchRequest(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["PlatformTriggerPresetEventSearchRequest"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_trigger_presets_input_values_listop.py b/src/glean/api_client/models/platform_trigger_presets_input_values_listop.py index 6579af39..4c370468 100644 --- a/src/glean/api_client/models/platform_trigger_presets_input_values_listop.py +++ b/src/glean/api_client/models/platform_trigger_presets_input_values_listop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -39,13 +45,20 @@ class PlatformTriggerPresetsInputValuesListRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["query"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_trigger_presets_listop.py b/src/glean/api_client/models/platform_trigger_presets_listop.py index 5b040fdc..8767b562 100644 --- a/src/glean/api_client/models/platform_trigger_presets_listop.py +++ b/src/glean/api_client/models/platform_trigger_presets_listop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -37,13 +43,20 @@ class PlatformTriggerPresetsListRequest(BaseModel): r"""Opaque pagination cursor from a previous response.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["datasource", "page_size", "cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_triggers_events_searchop.py b/src/glean/api_client/models/platform_triggers_events_searchop.py index 6ac07ec2..0cb6eef9 100644 --- a/src/glean/api_client/models/platform_triggers_events_searchop.py +++ b/src/glean/api_client/models/platform_triggers_events_searchop.py @@ -5,7 +5,13 @@ PlatformTriggerEventSearchRequest, PlatformTriggerEventSearchRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -32,13 +38,20 @@ class PlatformTriggersEventsSearchRequest(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["PlatformTriggerEventSearchRequest"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_triggers_listop.py b/src/glean/api_client/models/platform_triggers_listop.py index 4eb3df40..df5d0f19 100644 --- a/src/glean/api_client/models/platform_triggers_listop.py +++ b/src/glean/api_client/models/platform_triggers_listop.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -29,13 +35,20 @@ class PlatformTriggersListRequest(BaseModel): r"""Opaque pagination cursor from a previous response.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_size", "cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_users_getop.py b/src/glean/api_client/models/platform_users_getop.py index 2ab9c826..2e40b119 100644 --- a/src/glean/api_client/models/platform_users_getop.py +++ b/src/glean/api_client/models/platform_users_getop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .platformuserinclude import PlatformUserInclude -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer from typing import List, Optional @@ -33,13 +39,20 @@ class PlatformUsersGetRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["include"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platform_users_listop.py b/src/glean/api_client/models/platform_users_listop.py index 0f5bf662..385566fd 100644 --- a/src/glean/api_client/models/platform_users_listop.py +++ b/src/glean/api_client/models/platform_users_listop.py @@ -3,7 +3,13 @@ from __future__ import annotations from .platformuserfilter import PlatformUserFilter, PlatformUserFilterTypedDict from .platformuserinclude import PlatformUserInclude -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import List, Optional @@ -59,13 +65,20 @@ class PlatformUsersListRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_size", "cursor", "filters", "include"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformactionsummary.py b/src/glean/api_client/models/platformactionsummary.py index 66c767a0..b1ffc308 100644 --- a/src/glean/api_client/models/platformactionsummary.py +++ b/src/glean/api_client/models/platformactionsummary.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -47,6 +53,9 @@ class PlatformActionSummary(BaseModel): r"""Kind of knowledge the action accesses or modifies.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -57,11 +66,15 @@ def serialize_model(self, handler): "data_source", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformadminagent.py b/src/glean/api_client/models/platformadminagent.py deleted file mode 100644 index 3e97d474..00000000 --- a/src/glean/api_client/models/platformadminagent.py +++ /dev/null @@ -1,33 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from glean.api_client.types import BaseModel -from typing_extensions import TypedDict - - -class PlatformAdminAgentTypedDict(TypedDict): - r"""An agent in the workspace.""" - - agent_id: str - r"""Opaque agent ID. Other Platform APIs, such as usage limits, accept and return this ID. - - """ - display_name: str - r"""The name that Glean shows for the agent.""" - is_active: bool - r"""Whether the agent is active. A deleted agent is inactive.""" - - -class PlatformAdminAgent(BaseModel): - r"""An agent in the workspace.""" - - agent_id: str - r"""Opaque agent ID. Other Platform APIs, such as usage limits, accept and return this ID. - - """ - - display_name: str - r"""The name that Glean shows for the agent.""" - - is_active: bool - r"""Whether the agent is active. A deleted agent is inactive.""" diff --git a/src/glean/api_client/models/platformadminagentfilter.py b/src/glean/api_client/models/platformadminagentfilter.py index 5ee20909..1ed0e9ff 100644 --- a/src/glean/api_client/models/platformadminagentfilter.py +++ b/src/glean/api_client/models/platformadminagentfilter.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -23,7 +29,9 @@ class PlatformAdminAgentFilterTypedDict(TypedDict): r"""A filter on one agent field.""" field: str - r"""The agent field to filter on. The only supported field is is_active.""" + r"""The agent field to filter on. name matches agents whose name contains the value. description matches agents whose description contains the value. Matching ignores case and surrounding whitespace. Each value is at most 256 characters. + + """ values: List[str] r"""The values to match. An agent matches when any value matches.""" operator: NotRequired[PlatformAdminAgentFilterOperator] @@ -34,7 +42,9 @@ class PlatformAdminAgentFilter(BaseModel): r"""A filter on one agent field.""" field: str - r"""The agent field to filter on. The only supported field is is_active.""" + r"""The agent field to filter on. name matches agents whose name contains the value. description matches agents whose description contains the value. Matching ignores case and surrounding whitespace. Each value is at most 256 characters. + + """ values: List[str] r"""The values to match. An agent matches when any value matches.""" @@ -45,13 +55,20 @@ class PlatformAdminAgentFilter(BaseModel): r"""The only supported operator is EQUALS. Defaults to EQUALS.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["operator"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformagent.py b/src/glean/api_client/models/platformagent.py index 84a399b6..78757283 100644 --- a/src/glean/api_client/models/platformagent.py +++ b/src/glean/api_client/models/platformagent.py @@ -5,7 +5,13 @@ PlatformAgentCapabilities, PlatformAgentCapabilitiesTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -39,13 +45,20 @@ class PlatformAgent(BaseModel): r"""Agent metadata.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description", "metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformagentcapabilities.py b/src/glean/api_client/models/platformagentcapabilities.py index 099c35b7..00d8c7fd 100644 --- a/src/glean/api_client/models/platformagentcapabilities.py +++ b/src/glean/api_client/models/platformagentcapabilities.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import ConfigDict, model_serializer from typing import Any, Dict, Optional @@ -40,13 +46,20 @@ def additional_properties(self, value): self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["ap.io.messages", "ap.io.streaming"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) serialized.pop(k, serialized.pop(n, None)) diff --git a/src/glean/api_client/models/platformagentrun.py b/src/glean/api_client/models/platformagentrun.py index 26bf4003..ad417b3c 100644 --- a/src/glean/api_client/models/platformagentrun.py +++ b/src/glean/api_client/models/platformagentrun.py @@ -4,7 +4,13 @@ from .platformagentexecutionstatus import PlatformAgentExecutionStatus from .platformmessage import PlatformMessage, PlatformMessageTypedDict from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Any, Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -49,13 +55,20 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["input", "messages", "metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformagentruncreaterequest.py b/src/glean/api_client/models/platformagentruncreaterequest.py index 645f523e..4ab65cad 100644 --- a/src/glean/api_client/models/platformagentruncreaterequest.py +++ b/src/glean/api_client/models/platformagentruncreaterequest.py @@ -3,7 +3,13 @@ from __future__ import annotations from .platformmessage_input import PlatformMessageInput, PlatformMessageInputTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -58,15 +64,22 @@ class PlatformAgentRunCreateRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["input", "messages", "metadata", "stream", "execution_mode"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformagentruntoolapproval.py b/src/glean/api_client/models/platformagentruntoolapproval.py index c51c46ed..6a2a2a4a 100644 --- a/src/glean/api_client/models/platformagentruntoolapproval.py +++ b/src/glean/api_client/models/platformagentruntoolapproval.py @@ -3,7 +3,13 @@ from __future__ import annotations from datetime import datetime from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -59,13 +65,20 @@ class PlatformAgentRunToolApproval(BaseModel): r"""Approval deadline, when one is set. Omitted when the approval has no expiration.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["tool_id", "expires_at"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformagentrunwaitresponse.py b/src/glean/api_client/models/platformagentrunwaitresponse.py index f2454eb0..9cb25b5f 100644 --- a/src/glean/api_client/models/platformagentrunwaitresponse.py +++ b/src/glean/api_client/models/platformagentrunwaitresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .platformagentrun import PlatformAgentRun, PlatformAgentRunTypedDict from .platformmessage import PlatformMessage, PlatformMessageTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -27,13 +33,20 @@ class PlatformAgentRunWaitResponse(BaseModel): r"""Messages returned by the completed run.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["run", "messages"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformagentschemasresponse.py b/src/glean/api_client/models/platformagentschemasresponse.py index 9bd08605..6c9d17bf 100644 --- a/src/glean/api_client/models/platformagentschemasresponse.py +++ b/src/glean/api_client/models/platformagentschemasresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .platformactionsummary import PlatformActionSummary, PlatformActionSummaryTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -43,13 +49,20 @@ class PlatformAgentSchemasResponse(BaseModel): r"""Tools that the agent can invoke, when requested.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "tools"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformagentssearchrequest.py b/src/glean/api_client/models/platformagentssearchrequest.py index 0ddc45d2..59ed246d 100644 --- a/src/glean/api_client/models/platformagentssearchrequest.py +++ b/src/glean/api_client/models/platformagentssearchrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -17,13 +23,20 @@ class PlatformAgentsSearchRequest(BaseModel): r"""Case-insensitive substring to match against agent names. If omitted or empty, no name filter is applied.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformauthenticationsuggestion.py b/src/glean/api_client/models/platformauthenticationsuggestion.py index 04be56b8..f397efcd 100644 --- a/src/glean/api_client/models/platformauthenticationsuggestion.py +++ b/src/glean/api_client/models/platformauthenticationsuggestion.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class PlatformAuthenticationSuggestion(BaseModel): r"""Human-readable tool name.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["tool_name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatcitationannotation.py b/src/glean/api_client/models/platformchatcitationannotation.py index 5dd276ba..1a33e50f 100644 --- a/src/glean/api_client/models/platformchatcitationannotation.py +++ b/src/glean/api_client/models/platformchatcitationannotation.py @@ -16,7 +16,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import NotRequired, TypedDict @@ -46,14 +49,21 @@ class PlatformChatCitationAnnotation(BaseModel): snippets: OptionalNullable[List[PlatformChatCitationSnippet]] = UNSET @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["start_index", "end_index", "snippets"]) nullable_fields = set(["start_index", "end_index", "snippets"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformchatcitationsnippet.py b/src/glean/api_client/models/platformchatcitationsnippet.py index c679f40a..7aa89e39 100644 --- a/src/glean/api_client/models/platformchatcitationsnippet.py +++ b/src/glean/api_client/models/platformchatcitationsnippet.py @@ -7,7 +7,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing_extensions import NotRequired, TypedDict @@ -23,14 +26,21 @@ class PlatformChatCitationSnippet(BaseModel): page_number: OptionalNullable[int] = UNSET @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_number"]) nullable_fields = set(["page_number"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformchatcompletedresponse.py b/src/glean/api_client/models/platformchatcompletedresponse.py index 9c0061da..d431b34b 100644 --- a/src/glean/api_client/models/platformchatcompletedresponse.py +++ b/src/glean/api_client/models/platformchatcompletedresponse.py @@ -13,7 +13,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import NotRequired, TypedDict @@ -66,14 +69,21 @@ class PlatformChatCompletedResponse(BaseModel): r"""Present when the interaction was persisted.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["conversation_id"]) nullable_fields = set(["conversation_id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformchatcustomentitysource.py b/src/glean/api_client/models/platformchatcustomentitysource.py index f2ec133b..87e666aa 100644 --- a/src/glean/api_client/models/platformchatcustomentitysource.py +++ b/src/glean/api_client/models/platformchatcustomentitysource.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -35,13 +41,20 @@ class PlatformChatCustomEntitySource(BaseModel): datasource: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "title", "url", "datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatdocumentsource.py b/src/glean/api_client/models/platformchatdocumentsource.py index 54714c55..1df8ea54 100644 --- a/src/glean/api_client/models/platformchatdocumentsource.py +++ b/src/glean/api_client/models/platformchatdocumentsource.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional, Union from typing_extensions import NotRequired, TypeAliasType, TypedDict @@ -32,13 +38,20 @@ class PlatformChatDocumentSourceDocument2(BaseModel): datasource: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["document_id", "title", "datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -72,13 +85,20 @@ class PlatformChatDocumentSourceDocument1(BaseModel): datasource: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["url", "title", "datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatfailedresponse.py b/src/glean/api_client/models/platformchatfailedresponse.py index 7c34fe7f..87fb0105 100644 --- a/src/glean/api_client/models/platformchatfailedresponse.py +++ b/src/glean/api_client/models/platformchatfailedresponse.py @@ -17,7 +17,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import NotRequired, TypedDict @@ -73,14 +76,21 @@ class PlatformChatFailedResponse(BaseModel): r"""Present when the interaction was persisted.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["conversation_id"]) nullable_fields = set(["conversation_id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformchatfilesource.py b/src/glean/api_client/models/platformchatfilesource.py index 228194cb..913e3b07 100644 --- a/src/glean/api_client/models/platformchatfilesource.py +++ b/src/glean/api_client/models/platformchatfilesource.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -32,13 +38,20 @@ class PlatformChatFileSource(BaseModel): datasource: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["title", "url", "datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatjsonschemaformat.py b/src/glean/api_client/models/platformchatjsonschemaformat.py index c22174e0..678b1637 100644 --- a/src/glean/api_client/models/platformchatjsonschemaformat.py +++ b/src/glean/api_client/models/platformchatjsonschemaformat.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Any, Dict, Optional @@ -53,13 +59,20 @@ class PlatformChatJSONSchemaFormat(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description", "strict"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatoutputtextcontent.py b/src/glean/api_client/models/platformchatoutputtextcontent.py index eb56d9a1..95f21978 100644 --- a/src/glean/api_client/models/platformchatoutputtextcontent.py +++ b/src/glean/api_client/models/platformchatoutputtextcontent.py @@ -12,7 +12,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -53,14 +56,21 @@ class PlatformChatOutputTextContent(BaseModel): annotations: Optional[List[PlatformChatCitationAnnotation]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["structured_output", "annotations"]) nullable_fields = set(["structured_output"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformchatpersonsource.py b/src/glean/api_client/models/platformchatpersonsource.py index a2e120b1..f5f55d49 100644 --- a/src/glean/api_client/models/platformchatpersonsource.py +++ b/src/glean/api_client/models/platformchatpersonsource.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -29,13 +35,20 @@ class PlatformChatPersonSource(BaseModel): url: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatresponseerror.py b/src/glean/api_client/models/platformchatresponseerror.py index ef73e944..42dbe4ae 100644 --- a/src/glean/api_client/models/platformchatresponseerror.py +++ b/src/glean/api_client/models/platformchatresponseerror.py @@ -7,7 +7,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing_extensions import NotRequired, TypedDict @@ -29,14 +32,21 @@ class PlatformChatResponseError(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["code"]) nullable_fields = set(["code"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformchatstreamoutputtextdeltaserversentevent.py b/src/glean/api_client/models/platformchatstreamoutputtextdeltaserversentevent.py index 1d7e6a4c..5995fdff 100644 --- a/src/glean/api_client/models/platformchatstreamoutputtextdeltaserversentevent.py +++ b/src/glean/api_client/models/platformchatstreamoutputtextdeltaserversentevent.py @@ -5,7 +5,13 @@ PlatformChatStreamOutputTextDelta, PlatformChatStreamOutputTextDeltaTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -34,13 +40,20 @@ class PlatformChatStreamOutputTextDeltaServerSentEvent(BaseModel): ] = "RESPONSE_OUTPUT_TEXT_DELTA" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatstreamoutputtextdoneserversentevent.py b/src/glean/api_client/models/platformchatstreamoutputtextdoneserversentevent.py index f56d5aef..f304d2d4 100644 --- a/src/glean/api_client/models/platformchatstreamoutputtextdoneserversentevent.py +++ b/src/glean/api_client/models/platformchatstreamoutputtextdoneserversentevent.py @@ -5,7 +5,13 @@ PlatformChatStreamOutputTextDone, PlatformChatStreamOutputTextDoneTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -34,13 +40,20 @@ class PlatformChatStreamOutputTextDoneServerSentEvent(BaseModel): ] = "RESPONSE_OUTPUT_TEXT_DONE" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatstreamprogressserversentevent.py b/src/glean/api_client/models/platformchatstreamprogressserversentevent.py index d6b76035..8358f9e4 100644 --- a/src/glean/api_client/models/platformchatstreamprogressserversentevent.py +++ b/src/glean/api_client/models/platformchatstreamprogressserversentevent.py @@ -5,7 +5,13 @@ PlatformChatStreamProgress, PlatformChatStreamProgressTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -34,13 +40,20 @@ class PlatformChatStreamProgressServerSentEvent(BaseModel): ] = "RESPONSE_PROGRESS" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatstreamresponsecompletedserversentevent.py b/src/glean/api_client/models/platformchatstreamresponsecompletedserversentevent.py index 143aa870..711a15a1 100644 --- a/src/glean/api_client/models/platformchatstreamresponsecompletedserversentevent.py +++ b/src/glean/api_client/models/platformchatstreamresponsecompletedserversentevent.py @@ -5,7 +5,13 @@ PlatformChatStreamResponseCompleted, PlatformChatStreamResponseCompletedTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -34,13 +40,20 @@ class PlatformChatStreamResponseCompletedServerSentEvent(BaseModel): ] = "RESPONSE_COMPLETED" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatstreamresponsecreatedserversentevent.py b/src/glean/api_client/models/platformchatstreamresponsecreatedserversentevent.py index bc55a9e2..6a03fe3e 100644 --- a/src/glean/api_client/models/platformchatstreamresponsecreatedserversentevent.py +++ b/src/glean/api_client/models/platformchatstreamresponsecreatedserversentevent.py @@ -5,7 +5,13 @@ PlatformChatStreamResponseCreated, PlatformChatStreamResponseCreatedTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -34,13 +40,20 @@ class PlatformChatStreamResponseCreatedServerSentEvent(BaseModel): ] = "RESPONSE_CREATED" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformchatstreamresponsefailedserversentevent.py b/src/glean/api_client/models/platformchatstreamresponsefailedserversentevent.py index c4c16ab8..bb83bfdd 100644 --- a/src/glean/api_client/models/platformchatstreamresponsefailedserversentevent.py +++ b/src/glean/api_client/models/platformchatstreamresponsefailedserversentevent.py @@ -5,7 +5,13 @@ PlatformChatStreamResponseFailed, PlatformChatStreamResponseFailedTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -34,13 +40,20 @@ class PlatformChatStreamResponseFailedServerSentEvent(BaseModel): ] = "RESPONSE_FAILED" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformcontentschedulewebhookevent.py b/src/glean/api_client/models/platformcontentschedulewebhookevent.py index 0b1d4cff..4c7a3d19 100644 --- a/src/glean/api_client/models/platformcontentschedulewebhookevent.py +++ b/src/glean/api_client/models/platformcontentschedulewebhookevent.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -66,13 +72,20 @@ class PlatformContentScheduleWebhookEvent(BaseModel): r"""Relevant event time. Document changes use the source-observed time when available and otherwise the document ingestion time; content schedules use the scheduled time. Omitted when no timestamp is available.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["event_time"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformdepartmentfilter.py b/src/glean/api_client/models/platformdepartmentfilter.py new file mode 100644 index 00000000..5d2ef7d3 --- /dev/null +++ b/src/glean/api_client/models/platformdepartmentfilter.py @@ -0,0 +1,78 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from enum import Enum +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import NotRequired, TypedDict + + +class PlatformDepartmentFilterOperator(str, Enum): + r"""The only supported operator is EQUALS. Defaults to EQUALS.""" + + EQUALS = "EQUALS" + NOT_EQUALS = "NOT_EQUALS" + GT = "GT" + GTE = "GTE" + LT = "LT" + LTE = "LTE" + + +class PlatformDepartmentFilterTypedDict(TypedDict): + r"""A filter on one department field.""" + + field: str + r"""The department field to filter on. The only supported field is name, which matches departments whose display_name contains the value, ignoring case and surrounding whitespace. Each value is at most 256 characters. To find the department with an exact name, such as a department_name from a usage limit response, filter by the name and compare display_name exactly. + + """ + values: List[str] + r"""The values to match. A department matches when any value matches.""" + operator: NotRequired[PlatformDepartmentFilterOperator] + r"""The only supported operator is EQUALS. Defaults to EQUALS.""" + + +class PlatformDepartmentFilter(BaseModel): + r"""A filter on one department field.""" + + field: str + r"""The department field to filter on. The only supported field is name, which matches departments whose display_name contains the value, ignoring case and surrounding whitespace. Each value is at most 256 characters. To find the department with an exact name, such as a department_name from a usage limit response, filter by the name and compare display_name exactly. + + """ + + values: List[str] + r"""The values to match. A department matches when any value matches.""" + + operator: Optional[PlatformDepartmentFilterOperator] = ( + PlatformDepartmentFilterOperator.EQUALS + ) + r"""The only supported operator is EQUALS. Defaults to EQUALS.""" + + @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + + def serialize_model(self, handler): + optional_fields = set(["operator"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/glean/api_client/models/platformdocumentchangewebhookevent.py b/src/glean/api_client/models/platformdocumentchangewebhookevent.py index a1eb453d..0aeb0a72 100644 --- a/src/glean/api_client/models/platformdocumentchangewebhookevent.py +++ b/src/glean/api_client/models/platformdocumentchangewebhookevent.py @@ -2,9 +2,15 @@ from __future__ import annotations from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer -from typing import Optional +from typing import Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -29,9 +35,11 @@ class PlatformDocumentChangeWebhookEventTypedDict(TypedDict): event_time: NotRequired[datetime] r"""Relevant event time. Document changes use the source-observed time when available and otherwise the document ingestion time; content schedules use the scheduled time. Omitted when no timestamp is available.""" content: NotRequired[str] - r"""Email body content when the event is for an email document.""" + r"""Email body content when the event is for an email document, or the message text when the event is for a Slack message.""" content_truncated: NotRequired[bool] r"""Present and true when source content exceeded the delivery size limit.""" + facets: NotRequired[Dict[str, List[str]]] + r"""Facets of a Slack message as the event saw them, keyed as trigger filters key them, for example `from`, `mentions` and `channel`. Person facets carry the person's name. Each key lists up to 50 distinct values. Omitted for other documents and when the event has no facets.""" class PlatformDocumentChangeWebhookEvent(BaseModel): @@ -65,19 +73,29 @@ class PlatformDocumentChangeWebhookEvent(BaseModel): r"""Relevant event time. Document changes use the source-observed time when available and otherwise the document ingestion time; content schedules use the scheduled time. Omitted when no timestamp is available.""" content: Optional[str] = None - r"""Email body content when the event is for an email document.""" + r"""Email body content when the event is for an email document, or the message text when the event is for a Slack message.""" content_truncated: Optional[bool] = None r"""Present and true when source content exceeded the delivery size limit.""" + facets: Optional[Dict[str, List[str]]] = None + r"""Facets of a Slack message as the event saw them, keyed as trigger filters key them, for example `from`, `mentions` and `channel`. Person facets carry the person's name. Each key lists up to 50 distinct values. Omitted for other documents and when the event has no facets.""" + @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): - optional_fields = set(["event_time", "content", "content_truncated"]) + optional_fields = set(["event_time", "content", "content_truncated", "facets"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformdurableagentrun.py b/src/glean/api_client/models/platformdurableagentrun.py index 842b5cb8..88ed2194 100644 --- a/src/glean/api_client/models/platformdurableagentrun.py +++ b/src/glean/api_client/models/platformdurableagentrun.py @@ -9,7 +9,13 @@ ) from datetime import datetime from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Any, Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -82,13 +88,20 @@ def serialize_state(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["expires_at", "output", "error"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformfilter.py b/src/glean/api_client/models/platformfilter.py index 2243c553..479140d2 100644 --- a/src/glean/api_client/models/platformfilter.py +++ b/src/glean/api_client/models/platformfilter.py @@ -3,7 +3,13 @@ from __future__ import annotations from .platformfilteroperator import PlatformFilterOperator from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -54,13 +60,20 @@ def serialize_operator(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["operator"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformfilterfieldinfo.py b/src/glean/api_client/models/platformfilterfieldinfo.py index 755b03c7..8b347dff 100644 --- a/src/glean/api_client/models/platformfilterfieldinfo.py +++ b/src/glean/api_client/models/platformfilterfieldinfo.py @@ -2,7 +2,13 @@ from __future__ import annotations from .platformfilteroperator import PlatformFilterOperator -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -45,13 +51,20 @@ class PlatformFilterFieldInfo(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["values"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformidpgroupfilter.py b/src/glean/api_client/models/platformidpgroupfilter.py index eb97fc85..5a6d45b9 100644 --- a/src/glean/api_client/models/platformidpgroupfilter.py +++ b/src/glean/api_client/models/platformidpgroupfilter.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -23,7 +29,15 @@ class PlatformIdpGroupFilterTypedDict(TypedDict): r"""A filter on one IdP group field.""" field: str - r"""The IdP group field to filter on. The only supported field is provider_instance. + r"""The IdP group field to filter on. + - provider_instance: matches groups from the datasource instance, such as + \"okta\", ignoring case. + + - provider: matches groups from the identity provider, such as \"okta\", ignoring + case. + + - name: matches groups whose display_name contains the value, ignoring case and + surrounding whitespace. Each value is at most 256 characters. """ values: List[str] @@ -36,7 +50,15 @@ class PlatformIdpGroupFilter(BaseModel): r"""A filter on one IdP group field.""" field: str - r"""The IdP group field to filter on. The only supported field is provider_instance. + r"""The IdP group field to filter on. + - provider_instance: matches groups from the datasource instance, such as + \"okta\", ignoring case. + + - provider: matches groups from the identity provider, such as \"okta\", ignoring + case. + + - name: matches groups whose display_name contains the value, ignoring case and + surrounding whitespace. Each value is at most 256 characters. """ @@ -49,13 +71,20 @@ class PlatformIdpGroupFilter(BaseModel): r"""The only supported operator is EQUALS. Defaults to EQUALS.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["operator"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformlistadminagentsresponse.py b/src/glean/api_client/models/platformlistadminagentsresponse.py index 7f6dd1b0..17a1bfde 100644 --- a/src/glean/api_client/models/platformlistadminagentsresponse.py +++ b/src/glean/api_client/models/platformlistadminagentsresponse.py @@ -1,14 +1,17 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .platformadminagent import PlatformAdminAgent, PlatformAdminAgentTypedDict +from .platformagent import PlatformAgent, PlatformAgentTypedDict from glean.api_client.types import ( BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import NotRequired, TypedDict @@ -17,8 +20,8 @@ class PlatformListAdminAgentsResponseTypedDict(TypedDict): r"""One page of agents.""" - results: List[PlatformAdminAgentTypedDict] - r"""The agents on this page, ordered by display_name and then by agent_id.""" + results: List[PlatformAgentTypedDict] + r"""The agents on this page, ordered by name and then by agent_id.""" has_more: bool r"""Whether more agents are available after this page.""" request_id: str @@ -30,8 +33,8 @@ class PlatformListAdminAgentsResponseTypedDict(TypedDict): class PlatformListAdminAgentsResponse(BaseModel): r"""One page of agents.""" - results: List[PlatformAdminAgent] - r"""The agents on this page, ordered by display_name and then by agent_id.""" + results: List[PlatformAgent] + r"""The agents on this page, ordered by name and then by agent_id.""" has_more: bool r"""Whether more agents are available after this page.""" @@ -43,14 +46,21 @@ class PlatformListAdminAgentsResponse(BaseModel): r"""Opaque cursor for the next page; null or absent when has_more is false.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["next_cursor"]) nullable_fields = set(["next_cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformlistdepartmentsresponse.py b/src/glean/api_client/models/platformlistdepartmentsresponse.py index 5d5f23e3..9053c0b5 100644 --- a/src/glean/api_client/models/platformlistdepartmentsresponse.py +++ b/src/glean/api_client/models/platformlistdepartmentsresponse.py @@ -11,7 +11,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import NotRequired, TypedDict @@ -50,14 +53,21 @@ class PlatformListDepartmentsResponse(BaseModel): r"""Opaque cursor for the next page; null or absent when has_more is false.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["next_cursor"]) nullable_fields = set(["next_cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformlistidpgroupsresponse.py b/src/glean/api_client/models/platformlistidpgroupsresponse.py index 18c3ce90..27a7eadf 100644 --- a/src/glean/api_client/models/platformlistidpgroupsresponse.py +++ b/src/glean/api_client/models/platformlistidpgroupsresponse.py @@ -8,7 +8,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import NotRequired, TypedDict @@ -47,14 +50,21 @@ class PlatformListIdpGroupsResponse(BaseModel): r"""Opaque cursor for the next page; null or absent when has_more is false.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["next_cursor"]) nullable_fields = set(["next_cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformlistoauthclientsresponse.py b/src/glean/api_client/models/platformlistoauthclientsresponse.py index d8c490d5..a2da54f7 100644 --- a/src/glean/api_client/models/platformlistoauthclientsresponse.py +++ b/src/glean/api_client/models/platformlistoauthclientsresponse.py @@ -8,7 +8,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import NotRequired, TypedDict @@ -43,14 +46,21 @@ class PlatformListOAuthClientsResponse(BaseModel): r"""Opaque cursor for the next page; null or absent when has_more is false.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["next_cursor"]) nullable_fields = set(["next_cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformlistusersresponse.py b/src/glean/api_client/models/platformlistusersresponse.py index 97500a84..876b4d4e 100644 --- a/src/glean/api_client/models/platformlistusersresponse.py +++ b/src/glean/api_client/models/platformlistusersresponse.py @@ -8,7 +8,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import NotRequired, TypedDict @@ -43,14 +46,21 @@ class PlatformListUsersResponse(BaseModel): r"""Opaque cursor for the next page; null or absent when has_more is false.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["next_cursor"]) nullable_fields = set(["next_cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformmessagetextblock.py b/src/glean/api_client/models/platformmessagetextblock.py index 1a7cadf4..b7a60c73 100644 --- a/src/glean/api_client/models/platformmessagetextblock.py +++ b/src/glean/api_client/models/platformmessagetextblock.py @@ -6,7 +6,13 @@ PlatformChatCitationAnnotationTypedDict, ) from .platformcontenttype import PlatformContentType -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -28,13 +34,20 @@ class PlatformMessageTextBlock(BaseModel): annotations: Optional[List[PlatformChatCitationAnnotation]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["annotations"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformoauthclient.py b/src/glean/api_client/models/platformoauthclient.py index 9c807ea9..e3b99afd 100644 --- a/src/glean/api_client/models/platformoauthclient.py +++ b/src/glean/api_client/models/platformoauthclient.py @@ -11,7 +11,13 @@ from .platformoauthtokenendpointauthmethod import PlatformOAuthTokenEndpointAuthMethod from datetime import datetime from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -32,8 +38,8 @@ class PlatformOAuthClientTypedDict(TypedDict): r"""The OAuth grant types that the client can use.""" redirect_uris: List[str] r"""The redirect URIs that the client can use.""" - is_active: bool - r"""Whether the client is active. A client that an admin disabled is inactive and cannot authenticate. + is_enabled: bool + r"""Whether the client is enabled. A client that an admin disabled cannot authenticate. """ client_type: NotRequired[PlatformOAuthClientType] @@ -66,8 +72,8 @@ class PlatformOAuthClient(BaseModel): redirect_uris: List[str] r"""The redirect URIs that the client can use.""" - is_active: bool - r"""Whether the client is active. A client that an admin disabled is inactive and cannot authenticate. + is_enabled: bool + r"""Whether the client is enabled. A client that an admin disabled cannot authenticate. """ @@ -102,15 +108,22 @@ def serialize_token_endpoint_auth_method(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["client_type", "token_endpoint_auth_method", "created_at", "ai_gateway"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformoauthclientaigateway.py b/src/glean/api_client/models/platformoauthclientaigateway.py index f5430b9c..43a45793 100644 --- a/src/glean/api_client/models/platformoauthclientaigateway.py +++ b/src/glean/api_client/models/platformoauthclientaigateway.py @@ -1,7 +1,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .platformoauthclientsupportedapp import PlatformOAuthClientSupportedApp from glean.api_client.types import BaseModel +from typing import List from typing_extensions import TypedDict @@ -12,6 +14,10 @@ class PlatformOAuthClientAiGatewayTypedDict(TypedDict): r"""The spend-client ID that usage records and usage limits use for this client. Send it as the client_id of a usage limit. It is an opaque, case-sensitive string; do not build it from client_id. """ + supported_apps: List[PlatformOAuthClientSupportedApp] + r"""The apps that the client is set up for, in alphabetical order. Empty when no app is recorded for the client. + + """ class PlatformOAuthClientAiGateway(BaseModel): @@ -21,3 +27,8 @@ class PlatformOAuthClientAiGateway(BaseModel): r"""The spend-client ID that usage records and usage limits use for this client. Send it as the client_id of a usage limit. It is an opaque, case-sensitive string; do not build it from client_id. """ + + supported_apps: List[PlatformOAuthClientSupportedApp] + r"""The apps that the client is set up for, in alphabetical order. Empty when no app is recorded for the client. + + """ diff --git a/src/glean/api_client/models/platformoauthclientfilter.py b/src/glean/api_client/models/platformoauthclientfilter.py index ea586d11..6b614ae6 100644 --- a/src/glean/api_client/models/platformoauthclientfilter.py +++ b/src/glean/api_client/models/platformoauthclientfilter.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -23,7 +29,24 @@ class PlatformOAuthClientFilterTypedDict(TypedDict): r"""A filter on one OAuth client field.""" field: str - r"""The client field to filter on. The only supported field is is_active.""" + r"""The client field to filter on. + - is_enabled: \"true\" matches enabled clients, and \"false\" matches disabled + clients. + + - name: matches clients whose display_name contains the value, ignoring + case and surrounding whitespace. Each value is at most 256 characters. + + - client_id: matches the client with this OAuth client_id. + - usage_client_id: matches the client with this ai_gateway.usage_client_id. + - has_ai_gateway: \"true\" matches clients that can call the Glean LLM + Gateway, which are the clients with ai_gateway. \"false\" matches the + other clients. + + - supported_app: matches clients whose ai_gateway.supported_apps contains + the value, such as CLAUDE_CODE. The values are the OAuthClientSupportedApp + values. + + """ values: List[str] r"""The values to match. A client matches when any value matches.""" operator: NotRequired[PlatformOAuthClientFilterOperator] @@ -34,7 +57,24 @@ class PlatformOAuthClientFilter(BaseModel): r"""A filter on one OAuth client field.""" field: str - r"""The client field to filter on. The only supported field is is_active.""" + r"""The client field to filter on. + - is_enabled: \"true\" matches enabled clients, and \"false\" matches disabled + clients. + + - name: matches clients whose display_name contains the value, ignoring + case and surrounding whitespace. Each value is at most 256 characters. + + - client_id: matches the client with this OAuth client_id. + - usage_client_id: matches the client with this ai_gateway.usage_client_id. + - has_ai_gateway: \"true\" matches clients that can call the Glean LLM + Gateway, which are the clients with ai_gateway. \"false\" matches the + other clients. + + - supported_app: matches clients whose ai_gateway.supported_apps contains + the value, such as CLAUDE_CODE. The values are the OAuthClientSupportedApp + values. + + """ values: List[str] r"""The values to match. A client matches when any value matches.""" @@ -45,13 +85,20 @@ class PlatformOAuthClientFilter(BaseModel): r"""The only supported operator is EQUALS. Defaults to EQUALS.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["operator"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformoauthclientsupportedapp.py b/src/glean/api_client/models/platformoauthclientsupportedapp.py new file mode 100644 index 00000000..36fc4ceb --- /dev/null +++ b/src/glean/api_client/models/platformoauthclientsupportedapp.py @@ -0,0 +1,14 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from enum import Enum +from glean.api_client import utils + + +class PlatformOAuthClientSupportedApp(str, Enum, metaclass=utils.OpenEnumMeta): + r"""An app that an LLM Gateway client is set up for.""" + + # Claude Code. + CLAUDE_CODE = "CLAUDE_CODE" + # OpenAI Codex. + CODEX = "CODEX" diff --git a/src/glean/api_client/models/platformpersonreference.py b/src/glean/api_client/models/platformpersonreference.py index 3f687979..bed4bc4c 100644 --- a/src/glean/api_client/models/platformpersonreference.py +++ b/src/glean/api_client/models/platformpersonreference.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class PlatformPersonReference(BaseModel): r"""Opaque Glean person ID.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformproblemdetail.py b/src/glean/api_client/models/platformproblemdetail.py index 05d4d46e..5b34e2b1 100644 --- a/src/glean/api_client/models/platformproblemdetail.py +++ b/src/glean/api_client/models/platformproblemdetail.py @@ -7,7 +7,13 @@ PlatformProblemDetailErrorTypedDict, ) from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -71,13 +77,20 @@ def serialize_code(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["documentation_url", "errors"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformproblemdetailcode.py b/src/glean/api_client/models/platformproblemdetailcode.py index 38faf64f..9b47d73e 100644 --- a/src/glean/api_client/models/platformproblemdetailcode.py +++ b/src/glean/api_client/models/platformproblemdetailcode.py @@ -11,6 +11,7 @@ class PlatformProblemDetailCode(str, Enum, metaclass=utils.OpenEnumMeta): INVALID_REQUEST = "invalid_request" MISSING_REQUIRED_FIELD = "missing_required_field" INVALID_PARAMETER = "invalid_parameter" + UNSUPPORTED_ACTION_TARGET = "unsupported_action_target" INVALID_CURSOR = "invalid_cursor" EXPIRED_CURSOR = "expired_cursor" INVALID_FILTER = "invalid_filter" diff --git a/src/glean/api_client/models/platformproblemdetailerror.py b/src/glean/api_client/models/platformproblemdetailerror.py index 336efdc3..9a3d6f20 100644 --- a/src/glean/api_client/models/platformproblemdetailerror.py +++ b/src/glean/api_client/models/platformproblemdetailerror.py @@ -3,7 +3,13 @@ from __future__ import annotations from .platformproblemdetailcode import PlatformProblemDetailCode from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -42,13 +48,20 @@ def serialize_code(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["code"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformresult.py b/src/glean/api_client/models/platformresult.py index 2cd03e18..88ce5a17 100644 --- a/src/glean/api_client/models/platformresult.py +++ b/src/glean/api_client/models/platformresult.py @@ -12,7 +12,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -68,6 +71,9 @@ class PlatformResult(BaseModel): r"""When the result was created.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -80,11 +86,15 @@ def serialize_model(self, handler): ] ) nullable_fields = set(["document_type", "updated_at", "created_at"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformsearchrequest.py b/src/glean/api_client/models/platformsearchrequest.py index 8a3cd9bc..86b7b16b 100644 --- a/src/glean/api_client/models/platformsearchrequest.py +++ b/src/glean/api_client/models/platformsearchrequest.py @@ -9,7 +9,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -66,16 +69,23 @@ class PlatformSearchRequest(BaseModel): r"""Filter results to those last updated within this range.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["page_size", "cursor", "datasources", "filters", "time_range"] ) nullable_fields = set(["cursor"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/platformsearchresponse.py b/src/glean/api_client/models/platformsearchresponse.py index ff13d204..1f0b3930 100644 --- a/src/glean/api_client/models/platformsearchresponse.py +++ b/src/glean/api_client/models/platformsearchresponse.py @@ -3,7 +3,14 @@ from __future__ import annotations from .platformresult import PlatformResult, PlatformResultTypedDict from .platformwarning import PlatformWarning, PlatformWarningTypedDict -from glean.api_client.types import BaseModel, Nullable, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + Nullable, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import TypedDict @@ -47,12 +54,19 @@ class PlatformSearchResponse(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskill.py b/src/glean/api_client/models/platformskill.py index d77b1fa2..519a772c 100644 --- a/src/glean/api_client/models/platformskill.py +++ b/src/glean/api_client/models/platformskill.py @@ -13,7 +13,13 @@ from .platformskillstatus import PlatformSkillStatus from datetime import datetime from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -99,13 +105,20 @@ def serialize_origin(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["source_provenance"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillcreaterequest.py b/src/glean/api_client/models/platformskillcreaterequest.py index 51a4dfa4..919c5538 100644 --- a/src/glean/api_client/models/platformskillcreaterequest.py +++ b/src/glean/api_client/models/platformskillcreaterequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, MultipartFormMetadata import io import pydantic @@ -34,13 +40,20 @@ class PlatformSkillCreateRequestFile(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["contentType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillslistresponse.py b/src/glean/api_client/models/platformskillslistresponse.py index 8d37912a..2696450e 100644 --- a/src/glean/api_client/models/platformskillslistresponse.py +++ b/src/glean/api_client/models/platformskillslistresponse.py @@ -2,7 +2,14 @@ from __future__ import annotations from .platformskill import PlatformSkill, PlatformSkillTypedDict -from glean.api_client.types import BaseModel, Nullable, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + Nullable, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import TypedDict @@ -33,12 +40,19 @@ class PlatformSkillsListResponse(BaseModel): r"""Platform-generated request ID for support correlation.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillsourcepreviewstreamerror.py b/src/glean/api_client/models/platformskillsourcepreviewstreamerror.py index 68f225d3..6919c360 100644 --- a/src/glean/api_client/models/platformskillsourcepreviewstreamerror.py +++ b/src/glean/api_client/models/platformskillsourcepreviewstreamerror.py @@ -7,7 +7,13 @@ ) from .platformproblemdetail import PlatformProblemDetail, PlatformProblemDetailTypedDict from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -49,13 +55,20 @@ class PlatformSkillSourcePreviewStreamError(BaseModel): r"""Present only when `error.code` is `tools_unauthorized`. Names the GitHub action pack to authorize, with the same retry flow as the 422 response.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["authentication_suggestions"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillsourcepreviewstreamerrorserversentevent.py b/src/glean/api_client/models/platformskillsourcepreviewstreamerrorserversentevent.py index cd9a68bd..43c2bb2c 100644 --- a/src/glean/api_client/models/platformskillsourcepreviewstreamerrorserversentevent.py +++ b/src/glean/api_client/models/platformskillsourcepreviewstreamerrorserversentevent.py @@ -5,7 +5,13 @@ PlatformSkillSourcePreviewStreamError, PlatformSkillSourcePreviewStreamErrorTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -33,13 +39,20 @@ class PlatformSkillSourcePreviewStreamErrorServerSentEvent(BaseModel): ] = "ERROR" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillsourcepreviewstreamprogressserversentevent.py b/src/glean/api_client/models/platformskillsourcepreviewstreamprogressserversentevent.py index 60c2dbed..91e388a2 100644 --- a/src/glean/api_client/models/platformskillsourcepreviewstreamprogressserversentevent.py +++ b/src/glean/api_client/models/platformskillsourcepreviewstreamprogressserversentevent.py @@ -5,7 +5,13 @@ PlatformSkillSourcePreviewStreamProgress, PlatformSkillSourcePreviewStreamProgressTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -33,13 +39,20 @@ class PlatformSkillSourcePreviewStreamProgressServerSentEvent(BaseModel): ] = "PROGRESS" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillsourcepreviewstreamresultserversentevent.py b/src/glean/api_client/models/platformskillsourcepreviewstreamresultserversentevent.py index 0741143e..622ac120 100644 --- a/src/glean/api_client/models/platformskillsourcepreviewstreamresultserversentevent.py +++ b/src/glean/api_client/models/platformskillsourcepreviewstreamresultserversentevent.py @@ -5,7 +5,13 @@ PlatformSkillSourcePreviewStreamResult, PlatformSkillSourcePreviewStreamResultTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -33,13 +39,20 @@ class PlatformSkillSourcePreviewStreamResultServerSentEvent(BaseModel): ] = "RESULT" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillsourcepreviewstreamscanserversentevent.py b/src/glean/api_client/models/platformskillsourcepreviewstreamscanserversentevent.py index aa588667..3d9a4b1d 100644 --- a/src/glean/api_client/models/platformskillsourcepreviewstreamscanserversentevent.py +++ b/src/glean/api_client/models/platformskillsourcepreviewstreamscanserversentevent.py @@ -5,7 +5,13 @@ PlatformSkillSourcePreviewStreamScan, PlatformSkillSourcePreviewStreamScanTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -33,13 +39,20 @@ class PlatformSkillSourcePreviewStreamScanServerSentEvent(BaseModel): ] = "SCAN" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillsourcepreviewstreamskillserversentevent.py b/src/glean/api_client/models/platformskillsourcepreviewstreamskillserversentevent.py index 6197d06d..66097893 100644 --- a/src/glean/api_client/models/platformskillsourcepreviewstreamskillserversentevent.py +++ b/src/glean/api_client/models/platformskillsourcepreviewstreamskillserversentevent.py @@ -5,7 +5,13 @@ PlatformSkillSourcePreviewStreamSkill, PlatformSkillSourcePreviewStreamSkillTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import validate_const import pydantic from pydantic import model_serializer @@ -33,13 +39,20 @@ class PlatformSkillSourcePreviewStreamSkillServerSentEvent(BaseModel): ] = "SKILL" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillsourceprovenance.py b/src/glean/api_client/models/platformskillsourceprovenance.py index d1352b1f..bac343c6 100644 --- a/src/glean/api_client/models/platformskillsourceprovenance.py +++ b/src/glean/api_client/models/platformskillsourceprovenance.py @@ -4,7 +4,13 @@ from .platformskillsyncstatus import PlatformSkillSyncStatus from datetime import datetime from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -54,6 +60,9 @@ def serialize_sync_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -65,11 +74,15 @@ def serialize_model(self, handler): "sync_error", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillvalidationrequest.py b/src/glean/api_client/models/platformskillvalidationrequest.py index d0a3a2b4..be0257c4 100644 --- a/src/glean/api_client/models/platformskillvalidationrequest.py +++ b/src/glean/api_client/models/platformskillvalidationrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, MultipartFormMetadata import io import pydantic @@ -34,13 +40,20 @@ class PlatformSkillValidationRequestFile(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["contentType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillversion.py b/src/glean/api_client/models/platformskillversion.py index 44bae125..2bf7721e 100644 --- a/src/glean/api_client/models/platformskillversion.py +++ b/src/glean/api_client/models/platformskillversion.py @@ -10,7 +10,13 @@ PlatformSkillSourceProvenanceTypedDict, ) from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -59,13 +65,20 @@ class PlatformSkillVersion(BaseModel): source_provenance: Optional[PlatformSkillSourceProvenance] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["source_provenance"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillversioncreaterequest.py b/src/glean/api_client/models/platformskillversioncreaterequest.py index dc1d6f9e..757b604d 100644 --- a/src/glean/api_client/models/platformskillversioncreaterequest.py +++ b/src/glean/api_client/models/platformskillversioncreaterequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, MultipartFormMetadata import io import pydantic @@ -34,13 +40,20 @@ class PlatformSkillVersionCreateRequestFile(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["contentType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformskillversionslistresponse.py b/src/glean/api_client/models/platformskillversionslistresponse.py index 37b4b1c8..f01bfe6b 100644 --- a/src/glean/api_client/models/platformskillversionslistresponse.py +++ b/src/glean/api_client/models/platformskillversionslistresponse.py @@ -2,7 +2,14 @@ from __future__ import annotations from .platformskillversion import PlatformSkillVersion, PlatformSkillVersionTypedDict -from glean.api_client.types import BaseModel, Nullable, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + Nullable, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import TypedDict @@ -33,12 +40,19 @@ class PlatformSkillVersionsListResponse(BaseModel): r"""Platform-generated request ID for support correlation.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtimerange.py b/src/glean/api_client/models/platformtimerange.py index 0a5acb2a..e8230098 100644 --- a/src/glean/api_client/models/platformtimerange.py +++ b/src/glean/api_client/models/platformtimerange.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -27,13 +33,20 @@ class PlatformTimeRange(BaseModel): r"""Exclusive upper bound in ISO 8601 format.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["start", "end"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtrigger.py b/src/glean/api_client/models/platformtrigger.py index c3542359..9f2ea3d4 100644 --- a/src/glean/api_client/models/platformtrigger.py +++ b/src/glean/api_client/models/platformtrigger.py @@ -8,7 +8,13 @@ from .platformtriggerstatus import PlatformTriggerStatus from datetime import datetime from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -66,13 +72,20 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description", "inputs"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggercreaterequest.py b/src/glean/api_client/models/platformtriggercreaterequest.py index d70686f2..622c537d 100644 --- a/src/glean/api_client/models/platformtriggercreaterequest.py +++ b/src/glean/api_client/models/platformtriggercreaterequest.py @@ -5,7 +5,13 @@ PlatformTriggerDelivery, PlatformTriggerDeliveryTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -34,13 +40,20 @@ class PlatformTriggerCreateRequest(BaseModel): r"""Values for the preset's inputs.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description", "inputs"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerdelivery.py b/src/glean/api_client/models/platformtriggerdelivery.py index 84e4fb28..5a462926 100644 --- a/src/glean/api_client/models/platformtriggerdelivery.py +++ b/src/glean/api_client/models/platformtriggerdelivery.py @@ -5,7 +5,13 @@ PlatformTriggerAuth, PlatformTriggerAuthTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class PlatformTriggerDelivery(BaseModel): r"""Optional caller credential sent as an HTTP auth header on each delivery, in addition to the HMAC signature. Lets the receiving endpoint authenticate the request. On update, omit `auth` to preserve the existing credential; there is no in-place removal — recreate the trigger to remove auth.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["auth"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerdelivery_output.py b/src/glean/api_client/models/platformtriggerdelivery_output.py index 5ba108c1..73b8b5b4 100644 --- a/src/glean/api_client/models/platformtriggerdelivery_output.py +++ b/src/glean/api_client/models/platformtriggerdelivery_output.py @@ -5,7 +5,13 @@ PlatformTriggerAuthOutput, PlatformTriggerAuthOutputTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class PlatformTriggerDeliveryOutput(BaseModel): r"""Optional caller credential sent as an HTTP auth header on each delivery, in addition to the HMAC signature. Lets the receiving endpoint authenticate the request. On update, omit `auth` to preserve the existing credential; there is no in-place removal — recreate the trigger to remove auth.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["auth"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggereventsearchrequest.py b/src/glean/api_client/models/platformtriggereventsearchrequest.py index a8f990c2..e4f6dc84 100644 --- a/src/glean/api_client/models/platformtriggereventsearchrequest.py +++ b/src/glean/api_client/models/platformtriggereventsearchrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -17,13 +23,20 @@ class PlatformTriggerEventSearchRequest(BaseModel): r"""Maximum number of events to return.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["page_size"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerlistresponse.py b/src/glean/api_client/models/platformtriggerlistresponse.py index 16bdf27f..46f29248 100644 --- a/src/glean/api_client/models/platformtriggerlistresponse.py +++ b/src/glean/api_client/models/platformtriggerlistresponse.py @@ -2,7 +2,14 @@ from __future__ import annotations from .platformtrigger import PlatformTrigger, PlatformTriggerTypedDict -from glean.api_client.types import BaseModel, Nullable, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + Nullable, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import TypedDict @@ -33,12 +40,19 @@ class PlatformTriggerListResponse(BaseModel): r"""Platform-generated request ID for support correlation.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerpreset.py b/src/glean/api_client/models/platformtriggerpreset.py index a7c372a8..e847c28e 100644 --- a/src/glean/api_client/models/platformtriggerpreset.py +++ b/src/glean/api_client/models/platformtriggerpreset.py @@ -5,7 +5,13 @@ PlatformTriggerPresetInput, PlatformTriggerPresetInputTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -41,13 +47,20 @@ class PlatformTriggerPreset(BaseModel): r"""Human-readable description of when the preset fires.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerpreseteventsearchrequest.py b/src/glean/api_client/models/platformtriggerpreseteventsearchrequest.py index ac214e06..eb418c93 100644 --- a/src/glean/api_client/models/platformtriggerpreseteventsearchrequest.py +++ b/src/glean/api_client/models/platformtriggerpreseteventsearchrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class PlatformTriggerPresetEventSearchRequest(BaseModel): r"""Maximum number of events to return.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["inputs", "page_size"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerpresetinput.py b/src/glean/api_client/models/platformtriggerpresetinput.py index ebe2f224..9935196f 100644 --- a/src/glean/api_client/models/platformtriggerpresetinput.py +++ b/src/glean/api_client/models/platformtriggerpresetinput.py @@ -7,7 +7,13 @@ PlatformTriggerPresetInputValueTypedDict, ) from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -65,13 +71,20 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["values", "is_truncated"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerpresetlistresponse.py b/src/glean/api_client/models/platformtriggerpresetlistresponse.py index 60c4d72b..2d135681 100644 --- a/src/glean/api_client/models/platformtriggerpresetlistresponse.py +++ b/src/glean/api_client/models/platformtriggerpresetlistresponse.py @@ -5,7 +5,14 @@ PlatformTriggerPresetSummary, PlatformTriggerPresetSummaryTypedDict, ) -from glean.api_client.types import BaseModel, Nullable, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + Nullable, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List from typing_extensions import TypedDict @@ -36,12 +43,19 @@ class PlatformTriggerPresetListResponse(BaseModel): r"""Platform-generated request ID for support correlation.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerpresetsummary.py b/src/glean/api_client/models/platformtriggerpresetsummary.py index 64917154..e87974b5 100644 --- a/src/glean/api_client/models/platformtriggerpresetsummary.py +++ b/src/glean/api_client/models/platformtriggerpresetsummary.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -32,13 +38,20 @@ class PlatformTriggerPresetSummary(BaseModel): r"""Human-readable description of when the preset fires.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerupdaterequest.py b/src/glean/api_client/models/platformtriggerupdaterequest.py index 7dcbd6a2..e6a6a61f 100644 --- a/src/glean/api_client/models/platformtriggerupdaterequest.py +++ b/src/glean/api_client/models/platformtriggerupdaterequest.py @@ -7,7 +7,13 @@ ) from .platformtriggerstatus import PlatformTriggerStatus from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -49,13 +55,20 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["status", "description", "inputs", "delivery"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformtriggerwithsecret.py b/src/glean/api_client/models/platformtriggerwithsecret.py index 43b0b789..ce80ebc3 100644 --- a/src/glean/api_client/models/platformtriggerwithsecret.py +++ b/src/glean/api_client/models/platformtriggerwithsecret.py @@ -8,7 +8,13 @@ from .platformtriggerstatus import PlatformTriggerStatus from datetime import datetime from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -71,13 +77,20 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["description", "inputs"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformuser.py b/src/glean/api_client/models/platformuser.py index cb52c180..d1f9c941 100644 --- a/src/glean/api_client/models/platformuser.py +++ b/src/glean/api_client/models/platformuser.py @@ -12,7 +12,13 @@ ) from .platformusermanager import PlatformUserManager, PlatformUserManagerTypedDict from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -98,6 +104,9 @@ def serialize_user_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -111,11 +120,15 @@ def serialize_model(self, handler): "datasource_profiles", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformuserdatasourceprofile.py b/src/glean/api_client/models/platformuserdatasourceprofile.py index 247c584f..dd2b9295 100644 --- a/src/glean/api_client/models/platformuserdatasourceprofile.py +++ b/src/glean/api_client/models/platformuserdatasourceprofile.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -40,13 +46,20 @@ class PlatformUserDatasourceProfile(BaseModel): r"""Web URL of the account's profile.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["account_id", "profile_url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/platformuserfilter.py b/src/glean/api_client/models/platformuserfilter.py index 349411f5..1e48e2a6 100644 --- a/src/glean/api_client/models/platformuserfilter.py +++ b/src/glean/api_client/models/platformuserfilter.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -69,13 +75,20 @@ class PlatformUserFilter(BaseModel): r"""The only supported operator is EQUALS. Defaults to EQUALS.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["operator"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/possiblevalue.py b/src/glean/api_client/models/possiblevalue.py index 1881d203..168e7bc7 100644 --- a/src/glean/api_client/models/possiblevalue.py +++ b/src/glean/api_client/models/possiblevalue.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class PossibleValue(BaseModel): r"""User-friendly label associated with the value""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["value", "label"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/processalldocumentsrequest.py b/src/glean/api_client/models/processalldocumentsrequest.py index aa29557c..25670858 100644 --- a/src/glean/api_client/models/processalldocumentsrequest.py +++ b/src/glean/api_client/models/processalldocumentsrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -21,13 +27,20 @@ class ProcessAllDocumentsRequest(BaseModel): r"""If provided, process documents only for this custom datasource. Otherwise all uploaded documents are processed.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/processallmembershipsrequest.py b/src/glean/api_client/models/processallmembershipsrequest.py index f1bba49d..16fc1970 100644 --- a/src/glean/api_client/models/processallmembershipsrequest.py +++ b/src/glean/api_client/models/processallmembershipsrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -21,13 +27,20 @@ class ProcessAllMembershipsRequest(BaseModel): r"""If provided, process group memberships only for this custom datasource. Otherwise all uploaded memberships are processed.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["datasource"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/processinghistoryevent.py b/src/glean/api_client/models/processinghistoryevent.py index 61b4c047..4166edc6 100644 --- a/src/glean/api_client/models/processinghistoryevent.py +++ b/src/glean/api_client/models/processinghistoryevent.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -27,13 +33,20 @@ class ProcessingHistoryEvent(BaseModel): r"""The end time of the processing in ISO 8601 format, 'NA' if still in progress""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["startTime", "endTime"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/prompttemplate.py b/src/glean/api_client/models/prompttemplate.py index 90327467..a5b661c1 100644 --- a/src/glean/api_client/models/prompttemplate.py +++ b/src/glean/api_client/models/prompttemplate.py @@ -8,7 +8,13 @@ from .objectpermissions import ObjectPermissions, ObjectPermissionsTypedDict from .person import Person, PersonTypedDict from .userrolespecification import UserRoleSpecification, UserRoleSpecificationTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -89,6 +95,9 @@ class PromptTemplate(BaseModel): r"""A list of roles for this prompt template explicitly granted.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -106,11 +115,15 @@ def serialize_model(self, handler): "roles", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/prompttemplateresult.py b/src/glean/api_client/models/prompttemplateresult.py index efd9ff47..273cacd5 100644 --- a/src/glean/api_client/models/prompttemplateresult.py +++ b/src/glean/api_client/models/prompttemplateresult.py @@ -4,7 +4,13 @@ from .countinfo import CountInfo, CountInfoTypedDict from .favoriteinfo import FavoriteInfo, FavoriteInfoTypedDict from .prompttemplate import PromptTemplate, PromptTemplateTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -36,15 +42,22 @@ class PromptTemplateResult(BaseModel): run_count: Annotated[Optional[CountInfo], pydantic.Field(alias="runCount")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["promptTemplate", "trackingToken", "favoriteInfo", "runCount"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/propertydefinition.py b/src/glean/api_client/models/propertydefinition.py index 6ec503a2..d72eea44 100644 --- a/src/glean/api_client/models/propertydefinition.py +++ b/src/glean/api_client/models/propertydefinition.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -102,6 +108,9 @@ def serialize_ui_options(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -116,11 +125,15 @@ def serialize_model(self, handler): "group", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/propertygroup.py b/src/glean/api_client/models/propertygroup.py index f3ed0cfd..74716db0 100644 --- a/src/glean/api_client/models/propertygroup.py +++ b/src/glean/api_client/models/propertygroup.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -27,13 +33,20 @@ class PropertyGroup(BaseModel): r"""The user-friendly group label to display.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "displayLabel"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/querysuggestion.py b/src/glean/api_client/models/querysuggestion.py index 39b6d5e5..019127ff 100644 --- a/src/glean/api_client/models/querysuggestion.py +++ b/src/glean/api_client/models/querysuggestion.py @@ -8,7 +8,13 @@ SearchRequestInputDetailsTypedDict, ) from .searchrequestoptions import SearchRequestOptions, SearchRequestOptionsTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -66,6 +72,9 @@ class QuerySuggestion(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -79,11 +88,15 @@ def serialize_model(self, handler): "inputDetails", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/querysuggestionlist.py b/src/glean/api_client/models/querysuggestionlist.py index 8723c878..3fa1ed98 100644 --- a/src/glean/api_client/models/querysuggestionlist.py +++ b/src/glean/api_client/models/querysuggestionlist.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING from typing_extensions import NotRequired, TypedDict @@ -22,13 +28,20 @@ class QuerySuggestionList(BaseModel): person: Optional["Person"] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["suggestions", "person"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/quicklink.py b/src/glean/api_client/models/quicklink.py index 75045a1f..847fa3d2 100644 --- a/src/glean/api_client/models/quicklink.py +++ b/src/glean/api_client/models/quicklink.py @@ -4,7 +4,13 @@ from .iconconfig import IconConfig, IconConfigTypedDict from enum import Enum from glean.api_client import utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -60,15 +66,22 @@ class Quicklink(BaseModel): r"""The scopes for which this quicklink is applicable""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["name", "shortName", "url", "iconConfig", "id", "scopes"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/reaction.py b/src/glean/api_client/models/reaction.py index 40dd0af4..32e7092c 100644 --- a/src/glean/api_client/models/reaction.py +++ b/src/glean/api_client/models/reaction.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -34,13 +40,20 @@ class Reaction(BaseModel): r"""Whether the user in context reacted with this type to the document.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["type", "count", "reactors", "reactedByViewer"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/readpermission.py b/src/glean/api_client/models/readpermission.py index b82781fd..aafd0c84 100644 --- a/src/glean/api_client/models/readpermission.py +++ b/src/glean/api_client/models/readpermission.py @@ -3,7 +3,13 @@ from __future__ import annotations from .scopetype import ScopeType from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -33,13 +39,20 @@ def serialize_scope_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["scopeType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/recommendationsop.py b/src/glean/api_client/models/recommendationsop.py index 02f83b74..4ada9c89 100644 --- a/src/glean/api_client/models/recommendationsop.py +++ b/src/glean/api_client/models/recommendationsop.py @@ -5,7 +5,13 @@ RecommendationsRequest, RecommendationsRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class RecommendationsRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/recommendationsrequest.py b/src/glean/api_client/models/recommendationsrequest.py index 507d92fa..7439a18e 100644 --- a/src/glean/api_client/models/recommendationsrequest.py +++ b/src/glean/api_client/models/recommendationsrequest.py @@ -9,7 +9,13 @@ ) from .sessioninfo import SessionInfo, SessionInfoTypedDict from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -65,6 +71,9 @@ class RecommendationsRequest(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -78,11 +87,15 @@ def serialize_model(self, handler): "requestOptions", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/recommendationsrequestoptions.py b/src/glean/api_client/models/recommendationsrequestoptions.py index 162c9f76..ab5ddbe1 100644 --- a/src/glean/api_client/models/recommendationsrequestoptions.py +++ b/src/glean/api_client/models/recommendationsrequestoptions.py @@ -4,7 +4,13 @@ from .document import Document, DocumentTypedDict from .facetfilterset import FacetFilterSet, FacetFilterSetTypedDict from .searchresultprominenceenum import SearchResultProminenceEnum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -48,6 +54,9 @@ class RecommendationsRequestOptions(BaseModel): r"""The types of prominence wanted in results returned. Default is any type.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -58,11 +67,15 @@ def serialize_model(self, handler): "resultProminence", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/referencerange.py b/src/glean/api_client/models/referencerange.py index 851c90fa..e3b79e30 100644 --- a/src/glean/api_client/models/referencerange.py +++ b/src/glean/api_client/models/referencerange.py @@ -3,7 +3,13 @@ from __future__ import annotations from .searchresultsnippet import SearchResultSnippet, SearchResultSnippetTypedDict from .textrange import TextRange, TextRangeTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -27,13 +33,20 @@ class ReferenceRange(BaseModel): snippets: Optional[List[SearchResultSnippet]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["textRange", "snippets"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/relateddocuments.py b/src/glean/api_client/models/relateddocuments.py index 81ed4fa9..b5db3bce 100644 --- a/src/glean/api_client/models/relateddocuments.py +++ b/src/glean/api_client/models/relateddocuments.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional, TYPE_CHECKING @@ -83,6 +89,9 @@ def serialize_relation(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -93,11 +102,15 @@ def serialize_model(self, handler): "results", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/relatedobject.py b/src/glean/api_client/models/relatedobject.py index 94a1515c..69ad2d11 100644 --- a/src/glean/api_client/models/relatedobject.py +++ b/src/glean/api_client/models/relatedobject.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -21,13 +27,20 @@ class RelatedObjectMetadata(BaseModel): r"""Placeholder name of the object, not the relationship.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -52,13 +65,20 @@ class RelatedObject(BaseModel): r"""Some metadata of the object which can be displayed, while not having the actual object.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/relatedobjectedge.py b/src/glean/api_client/models/relatedobjectedge.py index 6a5b0972..ba13b9ac 100644 --- a/src/glean/api_client/models/relatedobjectedge.py +++ b/src/glean/api_client/models/relatedobjectedge.py @@ -2,7 +2,13 @@ from __future__ import annotations from .relatedobject import RelatedObject, RelatedObjectTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -16,13 +22,20 @@ class RelatedObjectEdge(BaseModel): objects: Optional[List[RelatedObject]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["objects"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/relatedquestion.py b/src/glean/api_client/models/relatedquestion.py index 0bd513ec..b9db66f4 100644 --- a/src/glean/api_client/models/relatedquestion.py +++ b/src/glean/api_client/models/relatedquestion.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING from typing_extensions import NotRequired, TypedDict @@ -30,13 +36,20 @@ class RelatedQuestion(BaseModel): r"""Subsections of the answer string to which some special formatting should be applied (eg. bold)""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["question", "answer", "ranges"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/reminder.py b/src/glean/api_client/models/reminder.py index 8a084dd7..a71e1d71 100644 --- a/src/glean/api_client/models/reminder.py +++ b/src/glean/api_client/models/reminder.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional, TYPE_CHECKING @@ -37,13 +43,20 @@ class Reminder(BaseModel): r"""An optional free-text reason for the reminder. This is particularly useful when a reminder is used to ask for verification from another user (for example, \"Duplicate\", \"Incomplete\", \"Incorrect\").""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["requestor", "createdAt", "reason"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/reminderrequest.py b/src/glean/api_client/models/reminderrequest.py index 5f4e8c64..d9a64ff0 100644 --- a/src/glean/api_client/models/reminderrequest.py +++ b/src/glean/api_client/models/reminderrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -35,13 +41,20 @@ class ReminderRequest(BaseModel): r"""An optional free-text reason for the reminder. This is particularly useful when a reminder is used to ask for verification from another user (for example, \"Duplicate\", \"Incomplete\", \"Incorrect\").""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["assignee", "remindInDays", "reason"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/reportstatusresponse.py b/src/glean/api_client/models/reportstatusresponse.py index ea27cecb..a179a242 100644 --- a/src/glean/api_client/models/reportstatusresponse.py +++ b/src/glean/api_client/models/reportstatusresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -41,13 +47,20 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["status", "startTime"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/restrictionfilters.py b/src/glean/api_client/models/restrictionfilters.py index 2e649d73..34c6be6e 100644 --- a/src/glean/api_client/models/restrictionfilters.py +++ b/src/glean/api_client/models/restrictionfilters.py @@ -2,7 +2,13 @@ from __future__ import annotations from .documentspec_union import DocumentSpecUnion, DocumentSpecUnionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -21,13 +27,20 @@ class RestrictionFilters(BaseModel): r"""Specifications for containers that should be used as part of the restriction (include/exclude). Memberships are recursively defined for a subset of datasources (currently: SharePoint, OneDrive, Google Drive, and Confluence). Please contact the Glean team to enable this for more datasources. Recursive memberships do not apply for Collections.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["containerSpecs"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/resultsdescription.py b/src/glean/api_client/models/resultsdescription.py index 7c8140e5..cc2b43f0 100644 --- a/src/glean/api_client/models/resultsdescription.py +++ b/src/glean/api_client/models/resultsdescription.py @@ -2,7 +2,13 @@ from __future__ import annotations from .iconconfig import IconConfig, IconConfigTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -26,13 +32,20 @@ class ResultsDescription(BaseModel): r"""Defines how to render an icon""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["text", "iconConfig"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/resultsresponse.py b/src/glean/api_client/models/resultsresponse.py index b6ea8902..fc2ed517 100644 --- a/src/glean/api_client/models/resultsresponse.py +++ b/src/glean/api_client/models/resultsresponse.py @@ -6,7 +6,13 @@ from .searchresult import SearchResult, SearchResultTypedDict from .sessioninfo import SessionInfo, SessionInfoTypedDict from .structuredresult import StructuredResult, StructuredResultTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -60,6 +66,9 @@ class ResultsResponse(BaseModel): r"""Time in milliseconds the backend took to respond to the request.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -73,11 +82,15 @@ def serialize_model(self, handler): "backendTimeMillis", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/resulttab.py b/src/glean/api_client/models/resulttab.py index 3683f422..6fa81c9e 100644 --- a/src/glean/api_client/models/resulttab.py +++ b/src/glean/api_client/models/resulttab.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -35,13 +41,20 @@ class ResultTab(BaseModel): r"""The datasource instance associated with the tab, if any.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id", "count", "datasource", "datasourceInstance"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/rotatetokenresponse.py b/src/glean/api_client/models/rotatetokenresponse.py index 723b5b9c..45712854 100644 --- a/src/glean/api_client/models/rotatetokenresponse.py +++ b/src/glean/api_client/models/rotatetokenresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -34,13 +40,20 @@ class RotateTokenResponse(BaseModel): r"""Refers to the time period in minutes before which this token needs to be rotated. It is required to rotate the token within the specified `rotationPeriodMinutes` after each `/rotatetoken` call, otherwise the tokens would expire. Note that the token would still expire at `expiresAt` timestamp provided during token creation even if the token is being regularly rotated. `rotationPeriodMinutes` property is inherited from the parent token being rotated""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["rawSecret", "createdAt", "rotationPeriodMinutes"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchagentsrequest.py b/src/glean/api_client/models/searchagentsrequest.py index a66f7d03..7d4f8117 100644 --- a/src/glean/api_client/models/searchagentsrequest.py +++ b/src/glean/api_client/models/searchagentsrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -17,13 +23,20 @@ class SearchAgentsRequest(BaseModel): r"""Filters on the name of the agent. The keyword search is case-insensitive. If search string is ommited or empty, acts as no filter.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchagentsresponse.py b/src/glean/api_client/models/searchagentsresponse.py index 9e6b9852..57c4c29e 100644 --- a/src/glean/api_client/models/searchagentsresponse.py +++ b/src/glean/api_client/models/searchagentsresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .agent import Agent, AgentTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -16,13 +22,20 @@ class SearchAgentsResponse(BaseModel): agents: Optional[List[Agent]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["agents"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchop.py b/src/glean/api_client/models/searchop.py index d1dd1a5c..f40d1bab 100644 --- a/src/glean/api_client/models/searchop.py +++ b/src/glean/api_client/models/searchop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .searchrequest import SearchRequest, SearchRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class SearchRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchproviderinfo.py b/src/glean/api_client/models/searchproviderinfo.py index 84921983..07cf6360 100644 --- a/src/glean/api_client/models/searchproviderinfo.py +++ b/src/glean/api_client/models/searchproviderinfo.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class SearchProviderInfo(BaseModel): r"""URL template that can be used to perform the suggested search by replacing the {query} placeholder with the query suggestion.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "logoUrl", "searchLinkUrlTemplate"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchrequest.py b/src/glean/api_client/models/searchrequest.py index 535df875..e8744e1f 100644 --- a/src/glean/api_client/models/searchrequest.py +++ b/src/glean/api_client/models/searchrequest.py @@ -9,7 +9,13 @@ from .searchrequestoptions import SearchRequestOptions, SearchRequestOptionsTypedDict from .sessioninfo import SessionInfo, SessionInfoTypedDict from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -96,6 +102,9 @@ class SearchRequest(BaseModel): r"""Whether or not to disable spellcheck.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -113,11 +122,15 @@ def serialize_model(self, handler): "disableSpellcheck", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchrequestinputdetails.py b/src/glean/api_client/models/searchrequestinputdetails.py index 900e4ff2..375b9030 100644 --- a/src/glean/api_client/models/searchrequestinputdetails.py +++ b/src/glean/api_client/models/searchrequestinputdetails.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -20,13 +26,20 @@ class SearchRequestInputDetails(BaseModel): r"""Whether the associated query was at least partially copy-pasted. If subsequent requests are issued after a copy-pasted query is constructed (e.g. with facet modifications), this bit should continue to be set for those requests.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["hasCopyPaste"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchrequestoptions.py b/src/glean/api_client/models/searchrequestoptions.py index f5006c08..6f31380d 100644 --- a/src/glean/api_client/models/searchrequestoptions.py +++ b/src/glean/api_client/models/searchrequestoptions.py @@ -8,7 +8,13 @@ from .restrictionfilters import RestrictionFilters, RestrictionFiltersTypedDict from enum import Enum from glean.api_client import utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -142,6 +148,9 @@ class SearchRequestOptions(BaseModel): exclusions: Optional[RestrictionFilters] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -163,11 +172,15 @@ def serialize_model(self, handler): "exclusions", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchresponse.py b/src/glean/api_client/models/searchresponse.py index 0135246b..af900f45 100644 --- a/src/glean/api_client/models/searchresponse.py +++ b/src/glean/api_client/models/searchresponse.py @@ -14,7 +14,13 @@ from .searchresult import SearchResult, SearchResultTypedDict from .sessioninfo import SessionInfo, SessionInfoTypedDict from .structuredresult import StructuredResult, StructuredResultTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -121,6 +127,9 @@ class SearchResponse(BaseModel): r"""Whether more results are available. Use cursor to retrieve them.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -143,11 +152,15 @@ def serialize_model(self, handler): "hasMoreResults", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchresponsemetadata.py b/src/glean/api_client/models/searchresponsemetadata.py index 0d4c2a38..b86d1a96 100644 --- a/src/glean/api_client/models/searchresponsemetadata.py +++ b/src/glean/api_client/models/searchresponsemetadata.py @@ -5,7 +5,13 @@ from .querysuggestionlist import QuerySuggestionList, QuerySuggestionListTypedDict from .searchwarning import SearchWarning, SearchWarningTypedDict from .textrange import TextRange, TextRangeTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -103,6 +109,9 @@ class SearchResponseMetadata(BaseModel): r"""Whether the query was modified to remove quotes""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -121,11 +130,15 @@ def serialize_model(self, handler): "isNoQuotesSuggestion", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchresult.py b/src/glean/api_client/models/searchresult.py index 9bcd8639..9c8739a5 100644 --- a/src/glean/api_client/models/searchresult.py +++ b/src/glean/api_client/models/searchresult.py @@ -4,7 +4,13 @@ from .clustertypeenum import ClusterTypeEnum from .searchresultprominenceenum import SearchResultProminenceEnum from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional, TYPE_CHECKING @@ -169,6 +175,9 @@ def serialize_prominence(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -194,11 +203,15 @@ def serialize_model(self, handler): "pins", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchresultsnippet.py b/src/glean/api_client/models/searchresultsnippet.py index 949ba65d..3ba4838c 100644 --- a/src/glean/api_client/models/searchresultsnippet.py +++ b/src/glean/api_client/models/searchresultsnippet.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -53,15 +59,22 @@ class SearchResultSnippet(BaseModel): r"""A matching snippet from the document. Query term matches are marked by the unicode characters uE006 and uE007. Use 'text' field instead.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["mimeType", "text", "snippetTextOrdering", "ranges", "url", "snippet"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/searchwarning.py b/src/glean/api_client/models/searchwarning.py index 79a0826d..87e5e6b8 100644 --- a/src/glean/api_client/models/searchwarning.py +++ b/src/glean/api_client/models/searchwarning.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -62,13 +68,20 @@ def serialize_warning_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["lastUsedTerm", "quotesIgnoredQuery", "ignoredTerms"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/security.py b/src/glean/api_client/models/security.py index c248ffd0..a282c843 100644 --- a/src/glean/api_client/models/security.py +++ b/src/glean/api_client/models/security.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, SecurityMetadata from pydantic import model_serializer from typing import Optional @@ -26,13 +32,20 @@ class Security(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["APIToken"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/seenfeedbackinfo.py b/src/glean/api_client/models/seenfeedbackinfo.py index a5ebcfaa..b096bb35 100644 --- a/src/glean/api_client/models/seenfeedbackinfo.py +++ b/src/glean/api_client/models/seenfeedbackinfo.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -18,13 +24,20 @@ class SeenFeedbackInfo(BaseModel): r"""The confidence of the user seeing the object is high because they explicitly interacted with it e.g. answer impression in SERP with additional user interaction.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["isExplicit"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/sensitivecontentoptions.py b/src/glean/api_client/models/sensitivecontentoptions.py index 10775067..6df29304 100644 --- a/src/glean/api_client/models/sensitivecontentoptions.py +++ b/src/glean/api_client/models/sensitivecontentoptions.py @@ -7,7 +7,13 @@ ) from .sensitiveexpression import SensitiveExpression, SensitiveExpressionTypedDict from .sensitiveinfotype import SensitiveInfoType, SensitiveInfoTypeTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -64,6 +70,9 @@ class SensitiveContentOptions(BaseModel): r"""list of custom sensitive expressions to consider as sensitive content""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -73,11 +82,15 @@ def serialize_model(self, handler): "customSensitiveExpressions", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/sensitiveexpression.py b/src/glean/api_client/models/sensitiveexpression.py index 4f4970c3..c518ead6 100644 --- a/src/glean/api_client/models/sensitiveexpression.py +++ b/src/glean/api_client/models/sensitiveexpression.py @@ -2,7 +2,13 @@ from __future__ import annotations from .hotword import Hotword, HotwordTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -23,13 +29,20 @@ class SensitiveExpression(BaseModel): r"""Zero to three proximate regular expressions necessary to consider an expression as sensitive content.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["expression", "hotwords"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/sensitiveinfotype.py b/src/glean/api_client/models/sensitiveinfotype.py index 4d362e73..4a43e911 100644 --- a/src/glean/api_client/models/sensitiveinfotype.py +++ b/src/glean/api_client/models/sensitiveinfotype.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -49,13 +55,20 @@ def serialize_likelihood_threshold(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["likelihoodThreshold", "infoType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/servertoolrequest.py b/src/glean/api_client/models/servertoolrequest.py index c88abbe5..7f48123f 100644 --- a/src/glean/api_client/models/servertoolrequest.py +++ b/src/glean/api_client/models/servertoolrequest.py @@ -4,7 +4,13 @@ from .actionpreview import ActionPreview, ActionPreviewTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -80,15 +86,22 @@ def serialize_request_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["toolDisplayName", "serverId", "toolCta", "actionPreview"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/servertoolresponse.py b/src/glean/api_client/models/servertoolresponse.py index 8af507a2..c0df0ce4 100644 --- a/src/glean/api_client/models/servertoolresponse.py +++ b/src/glean/api_client/models/servertoolresponse.py @@ -4,7 +4,13 @@ from .authcontext import AuthContext, AuthContextTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -135,13 +141,20 @@ def serialize_grant_scope(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["isGranted", "grantScope", "authContext"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/sessioninfo.py b/src/glean/api_client/models/sessioninfo.py index 0a0ab521..af0f93a6 100644 --- a/src/glean/api_client/models/sessioninfo.py +++ b/src/glean/api_client/models/sessioninfo.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -36,15 +42,22 @@ class SessionInfo(BaseModel): r"""The last query seen by the server.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["sessionTrackingToken", "tabId", "lastSeen", "lastQuery"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/share.py b/src/glean/api_client/models/share.py index 3356d1fb..f152b2fb 100644 --- a/src/glean/api_client/models/share.py +++ b/src/glean/api_client/models/share.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional, TYPE_CHECKING @@ -34,13 +40,20 @@ class Share(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["sharer", "sharingDocument"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/sharingoptions.py b/src/glean/api_client/models/sharingoptions.py index 09336c16..46248d0e 100644 --- a/src/glean/api_client/models/sharingoptions.py +++ b/src/glean/api_client/models/sharingoptions.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -72,6 +78,9 @@ class SharingOptions(BaseModel): r"""Any one of the specified users can access the document.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -85,11 +94,15 @@ def serialize_model(self, handler): "userIds", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/shortcut.py b/src/glean/api_client/models/shortcut.py index 6038fd52..42507522 100644 --- a/src/glean/api_client/models/shortcut.py +++ b/src/glean/api_client/models/shortcut.py @@ -4,7 +4,13 @@ from .favoriteinfo import FavoriteInfo, FavoriteInfoTypedDict from .objectpermissions import ObjectPermissions, ObjectPermissionsTypedDict from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -147,6 +153,9 @@ class Shortcut(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -174,11 +183,15 @@ def serialize_model(self, handler): "favoriteInfo", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/shortcuterror.py b/src/glean/api_client/models/shortcuterror.py index b4922a4c..35ee143f 100644 --- a/src/glean/api_client/models/shortcuterror.py +++ b/src/glean/api_client/models/shortcuterror.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -36,13 +42,20 @@ def serialize_error_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["errorType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/shortcutmutableproperties.py b/src/glean/api_client/models/shortcutmutableproperties.py index a70757ea..a4ae451d 100644 --- a/src/glean/api_client/models/shortcutmutableproperties.py +++ b/src/glean/api_client/models/shortcutmutableproperties.py @@ -2,7 +2,13 @@ from __future__ import annotations from .userrolespecification import UserRoleSpecification, UserRoleSpecificationTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -62,6 +68,9 @@ class ShortcutMutableProperties(BaseModel): r"""A list of user roles removed for the Shortcut.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -75,11 +84,15 @@ def serialize_model(self, handler): "removedRoles", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/shortcutspaginationmetadata.py b/src/glean/api_client/models/shortcutspaginationmetadata.py index dd14f76d..824ea03f 100644 --- a/src/glean/api_client/models/shortcutspaginationmetadata.py +++ b/src/glean/api_client/models/shortcutspaginationmetadata.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -26,13 +32,20 @@ class ShortcutsPaginationMetadata(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["cursor", "hasNextPage", "totalItemCount"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/sidebysideimplementation.py b/src/glean/api_client/models/sidebysideimplementation.py index 2df5ff06..d652beca 100644 --- a/src/glean/api_client/models/sidebysideimplementation.py +++ b/src/glean/api_client/models/sidebysideimplementation.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Dict, Optional @@ -32,13 +38,20 @@ class ResponseMetadata(BaseModel): r"""The specific model version used.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["latencyMs", "tokenCount", "modelUsed"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -86,6 +99,9 @@ class SideBySideImplementation(BaseModel): r"""Metadata about the response (e.g., latency, token count).""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -96,11 +112,15 @@ def serialize_model(self, handler): "responseMetadata", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/socialnetwork.py b/src/glean/api_client/models/socialnetwork.py index 3a736be5..0d8e3632 100644 --- a/src/glean/api_client/models/socialnetwork.py +++ b/src/glean/api_client/models/socialnetwork.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class SocialNetwork(BaseModel): r"""URL of the icon to display for this social network, when available.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["profileName", "iconUrl"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/socialnetworkdefinition.py b/src/glean/api_client/models/socialnetworkdefinition.py index be8259cd..98deb40d 100644 --- a/src/glean/api_client/models/socialnetworkdefinition.py +++ b/src/glean/api_client/models/socialnetworkdefinition.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -32,13 +38,20 @@ class SocialNetworkDefinition(BaseModel): r"""Link to profile.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "profileName", "profileUrl"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/sortoptions.py b/src/glean/api_client/models/sortoptions.py index b47e3975..c36d742f 100644 --- a/src/glean/api_client/models/sortoptions.py +++ b/src/glean/api_client/models/sortoptions.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -25,13 +31,20 @@ class SortOptions(BaseModel): sort_by: Annotated[Optional[str], pydantic.Field(alias="sortBy")] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["orderBy", "sortBy"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/structuredlink.py b/src/glean/api_client/models/structuredlink.py index 64e4e5b9..9771fff0 100644 --- a/src/glean/api_client/models/structuredlink.py +++ b/src/glean/api_client/models/structuredlink.py @@ -2,7 +2,13 @@ from __future__ import annotations from .iconconfig import IconConfig, IconConfigTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -35,13 +41,20 @@ class StructuredLink(BaseModel): r"""Defines how to render an icon""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["name", "url", "iconConfig"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/structuredlocation.py b/src/glean/api_client/models/structuredlocation.py index 8fc2a7f5..ea7d5665 100644 --- a/src/glean/api_client/models/structuredlocation.py +++ b/src/glean/api_client/models/structuredlocation.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -62,6 +68,9 @@ class StructuredLocation(BaseModel): r"""Alpha-2 or Alpha-3 ISO 3166 country code, e.g. US or USA.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -76,11 +85,15 @@ def serialize_model(self, handler): "countryCode", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/structuredresult.py b/src/glean/api_client/models/structuredresult.py index ead2bdf1..db69e280 100644 --- a/src/glean/api_client/models/structuredresult.py +++ b/src/glean/api_client/models/structuredresult.py @@ -5,7 +5,13 @@ from .disambiguation import Disambiguation, DisambiguationTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional, TYPE_CHECKING @@ -172,6 +178,9 @@ def serialize_source(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -199,11 +208,15 @@ def serialize_model(self, handler): "source", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/structuredtext.py b/src/glean/api_client/models/structuredtext.py index dcf058b2..fe70299b 100644 --- a/src/glean/api_client/models/structuredtext.py +++ b/src/glean/api_client/models/structuredtext.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -26,13 +32,20 @@ class StructuredText(BaseModel): r"""An array of objects each of which contains either a string or a link which optionally corresponds to a document.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["structuredList"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/structuredtextitem.py b/src/glean/api_client/models/structuredtextitem.py index 6eeb60a0..d07b7d58 100644 --- a/src/glean/api_client/models/structuredtextitem.py +++ b/src/glean/api_client/models/structuredtextitem.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional, TYPE_CHECKING @@ -33,13 +39,20 @@ class StructuredTextItem(BaseModel): r"""A single object that can support any object in the work graph. Only a single object will be populated.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["link", "document", "text", "structuredResult"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/successresponse.py b/src/glean/api_client/models/successresponse.py index c48ec864..eb5cd758 100644 --- a/src/glean/api_client/models/successresponse.py +++ b/src/glean/api_client/models/successresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -21,13 +27,20 @@ class SuccessResponse(BaseModel): r"""Indicates if the operation was successful""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["success"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/summarizeop.py b/src/glean/api_client/models/summarizeop.py index 1211d870..6ed9644a 100644 --- a/src/glean/api_client/models/summarizeop.py +++ b/src/glean/api_client/models/summarizeop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .summarizerequest import SummarizeRequest, SummarizeRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class SummarizeRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/summarizerequest.py b/src/glean/api_client/models/summarizerequest.py index 2ee5dfa9..c79882b4 100644 --- a/src/glean/api_client/models/summarizerequest.py +++ b/src/glean/api_client/models/summarizerequest.py @@ -3,7 +3,13 @@ from __future__ import annotations from .documentspec_union import DocumentSpecUnion, DocumentSpecUnionTypedDict from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -50,15 +56,22 @@ class SummarizeRequest(BaseModel): r"""An opaque token that represents this particular result. To be used for /feedback reporting.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["timestamp", "query", "preferredSummaryLength", "trackingToken"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/summarizeresponse.py b/src/glean/api_client/models/summarizeresponse.py index ca5dc1b6..bfe6e951 100644 --- a/src/glean/api_client/models/summarizeresponse.py +++ b/src/glean/api_client/models/summarizeresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .summary import Summary, SummaryTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -17,13 +23,20 @@ class Error(BaseModel): message: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["message"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: @@ -51,13 +64,20 @@ class SummarizeResponse(BaseModel): r"""An opaque token that represents this summary in this particular query. To be used for /feedback reporting.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["error", "summary", "trackingToken"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/summary.py b/src/glean/api_client/models/summary.py index 35573db7..de42cb29 100644 --- a/src/glean/api_client/models/summary.py +++ b/src/glean/api_client/models/summary.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -23,13 +29,20 @@ class Summary(BaseModel): r"""Follow-up prompts based on the summarized doc""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["text", "followUpPrompts"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/team.py b/src/glean/api_client/models/team.py index 7fa4e162..7a3b6b72 100644 --- a/src/glean/api_client/models/team.py +++ b/src/glean/api_client/models/team.py @@ -8,7 +8,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Dict, List, Optional, TYPE_CHECKING @@ -157,6 +163,9 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -181,11 +190,15 @@ def serialize_model(self, handler): "loggingId", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/teamemail.py b/src/glean/api_client/models/teamemail.py index 73f5b4cd..237766e2 100644 --- a/src/glean/api_client/models/teamemail.py +++ b/src/glean/api_client/models/teamemail.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class TeamEmail(BaseModel): r"""An enum of `PRIMARY`, `SECONDARY`, `ONCALL`, `OTHER`""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["type"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/teaminfodefinition.py b/src/glean/api_client/models/teaminfodefinition.py index d5e57583..61867e57 100644 --- a/src/glean/api_client/models/teaminfodefinition.py +++ b/src/glean/api_client/models/teaminfodefinition.py @@ -8,7 +8,13 @@ from .datasourceprofile import DatasourceProfile, DatasourceProfileTypedDict from .teamemail import TeamEmail, TeamEmailTypedDict from .teammember import TeamMember, TeamMemberTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -88,6 +94,9 @@ class TeamInfoDefinition(BaseModel): r"""List of additional fields with more information about the team.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -101,11 +110,15 @@ def serialize_model(self, handler): "additionalFields", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/teammember.py b/src/glean/api_client/models/teammember.py index 9b534f8c..08b14963 100644 --- a/src/glean/api_client/models/teammember.py +++ b/src/glean/api_client/models/teammember.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import date -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -32,13 +38,20 @@ class TeamMember(BaseModel): r"""The member's start date""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["relationship", "join_date"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/textrange.py b/src/glean/api_client/models/textrange.py index 9cd52eba..22ff2fac 100644 --- a/src/glean/api_client/models/textrange.py +++ b/src/glean/api_client/models/textrange.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional, TYPE_CHECKING @@ -59,13 +65,20 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["endIndex", "type", "url", "document"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/thumbnail.py b/src/glean/api_client/models/thumbnail.py index decf9c1f..e80c7379 100644 --- a/src/glean/api_client/models/thumbnail.py +++ b/src/glean/api_client/models/thumbnail.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -23,13 +29,20 @@ class Thumbnail(BaseModel): r"""Thumbnail URL. This can be user provided image and/or from downloaded images hosted by Glean.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["photoId", "url"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/timepoint.py b/src/glean/api_client/models/timepoint.py index 64b09fea..83a9cf80 100644 --- a/src/glean/api_client/models/timepoint.py +++ b/src/glean/api_client/models/timepoint.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -23,13 +29,20 @@ class TimePoint(BaseModel): r"""Number of days in the past, relative to the current date.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["epochSeconds", "daysFromNow"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/timerange.py b/src/glean/api_client/models/timerange.py index 7ac2cf3c..a43d4a85 100644 --- a/src/glean/api_client/models/timerange.py +++ b/src/glean/api_client/models/timerange.py @@ -2,7 +2,13 @@ from __future__ import annotations from datetime import datetime -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -31,13 +37,20 @@ class TimeRange(BaseModel): r"""The number of days to look back from the current time, applicable for the LAST_N_DAYS type.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["startTime", "endTime", "lastNDaysValue"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/timerangefilter.py b/src/glean/api_client/models/timerangefilter.py index b8ad3178..60018508 100644 --- a/src/glean/api_client/models/timerangefilter.py +++ b/src/glean/api_client/models/timerangefilter.py @@ -4,7 +4,13 @@ from .timerange import TimeRange, TimeRangeTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -47,13 +53,20 @@ def serialize_time_period_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["timePeriodType", "customTimeRange"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/tool.py b/src/glean/api_client/models/tool.py index 86839d1b..736b2f1a 100644 --- a/src/glean/api_client/models/tool.py +++ b/src/glean/api_client/models/tool.py @@ -4,7 +4,13 @@ from .toolparameter import ToolParameter, ToolParameterTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Dict, Optional @@ -57,15 +63,22 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["type", "name", "displayName", "description", "parameters"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/toolannotations.py b/src/glean/api_client/models/toolannotations.py index fa00357c..2f0617be 100644 --- a/src/glean/api_client/models/toolannotations.py +++ b/src/glean/api_client/models/toolannotations.py @@ -7,7 +7,10 @@ OptionalNullable, UNSET, UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, ) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -98,6 +101,9 @@ class ToolAnnotations(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -109,11 +115,15 @@ def serialize_model(self, handler): ] ) nullable_fields = set(["destructiveHint", "openWorldHint"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields diff --git a/src/glean/api_client/models/tooldefinition.py b/src/glean/api_client/models/tooldefinition.py index 805617b1..fa8a7a50 100644 --- a/src/glean/api_client/models/tooldefinition.py +++ b/src/glean/api_client/models/tooldefinition.py @@ -2,7 +2,13 @@ from __future__ import annotations from .toolannotations import ToolAnnotations, ToolAnnotationsTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Any, Dict, Optional @@ -60,15 +66,22 @@ class ToolDefinition(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["displayName", "description", "inputSchema", "annotations"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/tooldefinitionsresponse.py b/src/glean/api_client/models/tooldefinitionsresponse.py index a0fa1e09..8ea73f73 100644 --- a/src/glean/api_client/models/tooldefinitionsresponse.py +++ b/src/glean/api_client/models/tooldefinitionsresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .tooldefinition import ToolDefinition, ToolDefinitionTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -24,13 +30,20 @@ class ToolDefinitionsResponse(BaseModel): r"""Requested names that do not exist on this server.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["notFound"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/toolinfo.py b/src/glean/api_client/models/toolinfo.py index 9bbfdf32..5a8ddf83 100644 --- a/src/glean/api_client/models/toolinfo.py +++ b/src/glean/api_client/models/toolinfo.py @@ -3,7 +3,13 @@ from __future__ import annotations from .toolmetadata import ToolMetadata, ToolMetadataTypedDict from .writeactionparameter import WriteActionParameter, WriteActionParameterTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -24,13 +30,20 @@ class ToolInfo(BaseModel): r"""Parameters supported by the tool.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["metadata", "parameters"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/toolmetadata.py b/src/glean/api_client/models/toolmetadata.py index d7928cf2..f3fa82b6 100644 --- a/src/glean/api_client/models/toolmetadata.py +++ b/src/glean/api_client/models/toolmetadata.py @@ -7,7 +7,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -261,6 +267,9 @@ def serialize_auth_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -281,11 +290,15 @@ def serialize_model(self, handler): "isSetupFinished", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/toolparameter.py b/src/glean/api_client/models/toolparameter.py index 2e00547d..63effaa1 100644 --- a/src/glean/api_client/models/toolparameter.py +++ b/src/glean/api_client/models/toolparameter.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Dict, List, Optional @@ -69,6 +75,9 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -81,11 +90,15 @@ def serialize_model(self, handler): "properties", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/toolscallparameter.py b/src/glean/api_client/models/toolscallparameter.py index 43b68c3e..ce4a2ba5 100644 --- a/src/glean/api_client/models/toolscallparameter.py +++ b/src/glean/api_client/models/toolscallparameter.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Dict, List, Optional from typing_extensions import NotRequired, TypedDict @@ -32,13 +38,20 @@ class ToolsCallParameter(BaseModel): r"""The value of the parameter (for object types)""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["items", "properties"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/toolscallresponse.py b/src/glean/api_client/models/toolscallresponse.py index 9949402b..7eb4f603 100644 --- a/src/glean/api_client/models/toolscallresponse.py +++ b/src/glean/api_client/models/toolscallresponse.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Any, Dict, Optional @@ -25,13 +31,20 @@ class ToolsCallResponse(BaseModel): r"""The error message if applicable""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["rawResponse", "error"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/toolserverauthstatusresponse.py b/src/glean/api_client/models/toolserverauthstatusresponse.py index 8af7af9c..93ed0248 100644 --- a/src/glean/api_client/models/toolserverauthstatusresponse.py +++ b/src/glean/api_client/models/toolserverauthstatusresponse.py @@ -4,7 +4,13 @@ from .actionauthtype import ActionAuthType from .toolserverauthstatus import ToolServerAuthStatus from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -69,13 +75,20 @@ def serialize_auth_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["displayName", "logoUrl", "description"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/toolsets.py b/src/glean/api_client/models/toolsets.py index c1ecb2c2..0652a170 100644 --- a/src/glean/api_client/models/toolsets.py +++ b/src/glean/api_client/models/toolsets.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -31,13 +37,20 @@ class ToolSets(BaseModel): r"""Whether the agent is allowed to search internal company resources (default: true).""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["enableWebSearch", "enableCompanyTools"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/toolslistresponse.py b/src/glean/api_client/models/toolslistresponse.py index 8b5a32cc..e4038eec 100644 --- a/src/glean/api_client/models/toolslistresponse.py +++ b/src/glean/api_client/models/toolslistresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .tool import Tool, ToolTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -16,13 +22,20 @@ class ToolsListResponse(BaseModel): tools: Optional[List[Tool]] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["tools"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/unauthorizeddatasourceinstance.py b/src/glean/api_client/models/unauthorizeddatasourceinstance.py index 526f7724..45c76b0f 100644 --- a/src/glean/api_client/models/unauthorizeddatasourceinstance.py +++ b/src/glean/api_client/models/unauthorizeddatasourceinstance.py @@ -3,7 +3,13 @@ from __future__ import annotations from .authstatus import AuthStatus from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -62,15 +68,22 @@ def serialize_auth_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["datasourceInstance", "displayName", "authStatus", "authUrlRelativePath"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/unpin.py b/src/glean/api_client/models/unpin.py index 406ddefe..1faed35c 100644 --- a/src/glean/api_client/models/unpin.py +++ b/src/glean/api_client/models/unpin.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -17,13 +23,20 @@ class Unpin(BaseModel): r"""The opaque id of the pin to be unpinned.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/unpinop.py b/src/glean/api_client/models/unpinop.py index 788b1fdb..9fb0f7c2 100644 --- a/src/glean/api_client/models/unpinop.py +++ b/src/glean/api_client/models/unpinop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .unpin import Unpin, UnpinTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -29,13 +35,20 @@ class UnpinRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updateannouncementop.py b/src/glean/api_client/models/updateannouncementop.py index 8ccce4d0..1164c3c0 100644 --- a/src/glean/api_client/models/updateannouncementop.py +++ b/src/glean/api_client/models/updateannouncementop.py @@ -5,7 +5,13 @@ UpdateAnnouncementRequest, UpdateAnnouncementRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -33,13 +39,20 @@ class UpdateannouncementRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updateannouncementrequest.py b/src/glean/api_client/models/updateannouncementrequest.py index 04efd103..031a8308 100644 --- a/src/glean/api_client/models/updateannouncementrequest.py +++ b/src/glean/api_client/models/updateannouncementrequest.py @@ -6,7 +6,13 @@ from .thumbnail import Thumbnail, ThumbnailTypedDict from datetime import datetime from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -111,6 +117,9 @@ class UpdateAnnouncementRequest(BaseModel): r"""URL for viewing the announcement. It will be set to document URL for announcements from other datasources e.g. simpplr. Can only be written when channel=\"SOCIAL_FEED\".""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -127,11 +136,15 @@ def serialize_model(self, handler): "viewUrl", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updatedlpconfigrequest.py b/src/glean/api_client/models/updatedlpconfigrequest.py index dfa51ced..1f7d6373 100644 --- a/src/glean/api_client/models/updatedlpconfigrequest.py +++ b/src/glean/api_client/models/updatedlpconfigrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .dlpconfig import DlpConfig, DlpConfigTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -23,13 +29,20 @@ class UpdateDlpConfigRequest(BaseModel): r"""Only \"ONCE\" is supported for reports.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["config", "frequency"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updatedlpconfigresponse.py b/src/glean/api_client/models/updatedlpconfigresponse.py index 216e80d9..5c8f213b 100644 --- a/src/glean/api_client/models/updatedlpconfigresponse.py +++ b/src/glean/api_client/models/updatedlpconfigresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .dlpsimpleresult import DlpSimpleResult from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -32,13 +38,20 @@ def serialize_result(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["result", "reportId"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updatedlpreportrequest.py b/src/glean/api_client/models/updatedlpreportrequest.py index 8fdd3dd1..c94c5325 100644 --- a/src/glean/api_client/models/updatedlpreportrequest.py +++ b/src/glean/api_client/models/updatedlpreportrequest.py @@ -5,7 +5,13 @@ from .dlpfrequency import DlpFrequency from .dlpreportstatus import DlpReportStatus from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -62,15 +68,22 @@ def serialize_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["config", "frequency", "status", "autoHideDocs", "reportName"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updatedlpreportresponse.py b/src/glean/api_client/models/updatedlpreportresponse.py index ecb9e43f..4ba469c3 100644 --- a/src/glean/api_client/models/updatedlpreportresponse.py +++ b/src/glean/api_client/models/updatedlpreportresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .dlpsimpleresult import DlpSimpleResult from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ def serialize_result(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["result"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updatedocumentvisibilityoverridesrequest.py b/src/glean/api_client/models/updatedocumentvisibilityoverridesrequest.py index 94e18dac..aef07a68 100644 --- a/src/glean/api_client/models/updatedocumentvisibilityoverridesrequest.py +++ b/src/glean/api_client/models/updatedocumentvisibilityoverridesrequest.py @@ -5,7 +5,13 @@ DocumentVisibilityOverride, DocumentVisibilityOverrideTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -23,13 +29,20 @@ class UpdateDocumentVisibilityOverridesRequest(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["visibilityOverrides"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updatedocumentvisibilityoverridesresponse.py b/src/glean/api_client/models/updatedocumentvisibilityoverridesresponse.py index 48078741..4f5e3a1f 100644 --- a/src/glean/api_client/models/updatedocumentvisibilityoverridesresponse.py +++ b/src/glean/api_client/models/updatedocumentvisibilityoverridesresponse.py @@ -5,7 +5,13 @@ DocumentVisibilityUpdateResult, DocumentVisibilityUpdateResultTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -21,13 +27,20 @@ class UpdateDocumentVisibilityOverridesResponse(BaseModel): r"""The documents and whether their visibility was successfully updated.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["results"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updatepermissionsrequest.py b/src/glean/api_client/models/updatepermissionsrequest.py index 0c622986..8add01fb 100644 --- a/src/glean/api_client/models/updatepermissionsrequest.py +++ b/src/glean/api_client/models/updatepermissionsrequest.py @@ -5,7 +5,13 @@ DocumentPermissionsDefinition, DocumentPermissionsDefinitionTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -48,13 +54,20 @@ class UpdatePermissionsRequest(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["objectType", "id", "viewURL"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updateshortcutop.py b/src/glean/api_client/models/updateshortcutop.py index f047f8ac..fc07fd10 100644 --- a/src/glean/api_client/models/updateshortcutop.py +++ b/src/glean/api_client/models/updateshortcutop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .updateshortcutrequest import UpdateShortcutRequest, UpdateShortcutRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class UpdateshortcutRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updateshortcutrequest.py b/src/glean/api_client/models/updateshortcutrequest.py index 4b89b63a..d8f89c6f 100644 --- a/src/glean/api_client/models/updateshortcutrequest.py +++ b/src/glean/api_client/models/updateshortcutrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .userrolespecification import UserRoleSpecification, UserRoleSpecificationTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -67,6 +73,9 @@ class UpdateShortcutRequest(BaseModel): r"""A list of user roles removed for the Shortcut.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -80,11 +89,15 @@ def serialize_model(self, handler): "removedRoles", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/updateshortcutresponse.py b/src/glean/api_client/models/updateshortcutresponse.py index 9c51a9a4..e1503209 100644 --- a/src/glean/api_client/models/updateshortcutresponse.py +++ b/src/glean/api_client/models/updateshortcutresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .shortcut import Shortcut, ShortcutTypedDict from .shortcuterror import ShortcutError, ShortcutErrorTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -20,13 +26,20 @@ class UpdateShortcutResponse(BaseModel): error: Optional[ShortcutError] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["shortcut", "error"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/uploadchatfilesop.py b/src/glean/api_client/models/uploadchatfilesop.py index 4aafc910..18dc8127 100644 --- a/src/glean/api_client/models/uploadchatfilesop.py +++ b/src/glean/api_client/models/uploadchatfilesop.py @@ -5,7 +5,13 @@ UploadChatFilesRequest, UploadChatFilesRequestTypedDict, ) -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata import pydantic from pydantic import model_serializer @@ -41,13 +47,20 @@ class UploadchatfilesRequestRequest(BaseModel): r"""The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale", "timezoneOffset"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/uploadchatfilesrequest.py b/src/glean/api_client/models/uploadchatfilesrequest.py index 23c3ccd7..5b864598 100644 --- a/src/glean/api_client/models/uploadchatfilesrequest.py +++ b/src/glean/api_client/models/uploadchatfilesrequest.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, MultipartFormMetadata import io import pydantic @@ -34,13 +40,20 @@ class UploadChatFilesRequestFile(BaseModel): ] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["contentType"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/uploadchatfilesresponse.py b/src/glean/api_client/models/uploadchatfilesresponse.py index a707d722..b6a927b0 100644 --- a/src/glean/api_client/models/uploadchatfilesresponse.py +++ b/src/glean/api_client/models/uploadchatfilesresponse.py @@ -2,7 +2,13 @@ from __future__ import annotations from .chatfile import ChatFile, ChatFileTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -18,13 +24,20 @@ class UploadChatFilesResponse(BaseModel): r"""Files uploaded for chat.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["files"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/uploadshortcutsrequest.py b/src/glean/api_client/models/uploadshortcutsrequest.py index e73b9c17..359b1687 100644 --- a/src/glean/api_client/models/uploadshortcutsrequest.py +++ b/src/glean/api_client/models/uploadshortcutsrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from .indexingshortcut import IndexingShortcut, IndexingShortcutTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional @@ -45,13 +51,20 @@ class UploadShortcutsRequest(BaseModel): r"""Flag to discard previous upload attempts and start from scratch. Must be specified with isFirstPage=true""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["isFirstPage", "isLastPage", "forceRestartUpload"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/user.py b/src/glean/api_client/models/user.py index 3a8ab795..4be63839 100644 --- a/src/glean/api_client/models/user.py +++ b/src/glean/api_client/models/user.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -23,13 +29,20 @@ class User(BaseModel): r"""An opaque user ID for the authenticated user (ignores actas).""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["userID", "origID"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/useractivity.py b/src/glean/api_client/models/useractivity.py index 17d6333e..cadd14ee 100644 --- a/src/glean/api_client/models/useractivity.py +++ b/src/glean/api_client/models/useractivity.py @@ -5,7 +5,13 @@ from .person import Person, PersonTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -63,13 +69,20 @@ def serialize_action(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["actor", "timestamp", "action", "aggregateVisitCount"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/useractivityinsight.py b/src/glean/api_client/models/useractivityinsight.py index 692a1035..9c2958df 100644 --- a/src/glean/api_client/models/useractivityinsight.py +++ b/src/glean/api_client/models/useractivityinsight.py @@ -5,7 +5,13 @@ from .person import Person, PersonTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -58,15 +64,22 @@ def serialize_activity(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( ["lastActivityTimestamp", "activityCount", "activeDayCount"] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/usergeneratedcontentid.py b/src/glean/api_client/models/usergeneratedcontentid.py index cd30606c..70fe5fa1 100644 --- a/src/glean/api_client/models/usergeneratedcontentid.py +++ b/src/glean/api_client/models/usergeneratedcontentid.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -17,13 +23,20 @@ class UserGeneratedContentID(BaseModel): r"""The opaque id of the user generated content.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["id"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/userreferencedefinition.py b/src/glean/api_client/models/userreferencedefinition.py index ae7ab296..a0c598e2 100644 --- a/src/glean/api_client/models/userreferencedefinition.py +++ b/src/glean/api_client/models/userreferencedefinition.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class UserReferenceDefinition(BaseModel): name: Optional[str] = None @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["email", "datasourceUserId", "name"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/userrolespecification.py b/src/glean/api_client/models/userrolespecification.py index 485de693..e3a8a794 100644 --- a/src/glean/api_client/models/userrolespecification.py +++ b/src/glean/api_client/models/userrolespecification.py @@ -5,7 +5,13 @@ from .group import Group, GroupTypedDict from .userrole import UserRole from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional, TYPE_CHECKING @@ -45,13 +51,20 @@ def serialize_role(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["sourceDocumentSpec", "person", "group"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/userstatusresponse.py b/src/glean/api_client/models/userstatusresponse.py index 0ee6f353..653492bb 100644 --- a/src/glean/api_client/models/userstatusresponse.py +++ b/src/glean/api_client/models/userstatusresponse.py @@ -3,7 +3,13 @@ from __future__ import annotations from .uploadstatusenum import UploadStatusEnum from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -49,13 +55,20 @@ def serialize_upload_status(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["isActiveUser", "uploadStatus", "lastUploadedAt"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/userviewinfo.py b/src/glean/api_client/models/userviewinfo.py index 9dfde209..6c7c683c 100644 --- a/src/glean/api_client/models/userviewinfo.py +++ b/src/glean/api_client/models/userviewinfo.py @@ -1,7 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -28,13 +34,20 @@ class UserViewInfo(BaseModel): r"""URL of associated document.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["docId", "docTitle", "docUrl"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/verification.py b/src/glean/api_client/models/verification.py index 014203d0..7c47af85 100644 --- a/src/glean/api_client/models/verification.py +++ b/src/glean/api_client/models/verification.py @@ -3,7 +3,13 @@ from __future__ import annotations from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import field_serializer, model_serializer from typing import Optional, TYPE_CHECKING from typing_extensions import NotRequired, TypedDict @@ -45,13 +51,20 @@ def serialize_state(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["metadata"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/verificationfeed.py b/src/glean/api_client/models/verificationfeed.py index 46752ed8..88f73a79 100644 --- a/src/glean/api_client/models/verificationfeed.py +++ b/src/glean/api_client/models/verificationfeed.py @@ -2,7 +2,13 @@ from __future__ import annotations from .verification import Verification, VerificationTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -18,13 +24,20 @@ class VerificationFeed(BaseModel): r"""List of document infos that include verification related information for them.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["documents"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/verificationmetadata.py b/src/glean/api_client/models/verificationmetadata.py index a04d6ea3..2fb80d23 100644 --- a/src/glean/api_client/models/verificationmetadata.py +++ b/src/glean/api_client/models/verificationmetadata.py @@ -2,7 +2,13 @@ from __future__ import annotations from .countinfo import CountInfo, CountInfoTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import List, Optional, TYPE_CHECKING @@ -63,6 +69,9 @@ class VerificationMetadata(BaseModel): r"""List of potential verifiers for the document e.g. old verifiers and/or users with view/edit permissions.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -76,11 +85,15 @@ def serialize_model(self, handler): "candidateVerifiers", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/verifyop.py b/src/glean/api_client/models/verifyop.py index c4c3e681..b476b61b 100644 --- a/src/glean/api_client/models/verifyop.py +++ b/src/glean/api_client/models/verifyop.py @@ -2,7 +2,13 @@ from __future__ import annotations from .verifyrequest import VerifyRequest, VerifyRequestTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from glean.api_client.utils import FieldMetadata, QueryParamMetadata, RequestMetadata from pydantic import model_serializer from typing import Optional @@ -30,13 +36,20 @@ class VerifyRequestRequest(BaseModel): r"""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`.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["locale"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/verifyrequest.py b/src/glean/api_client/models/verifyrequest.py index 7c93b46f..7e0dd995 100644 --- a/src/glean/api_client/models/verifyrequest.py +++ b/src/glean/api_client/models/verifyrequest.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -32,13 +38,20 @@ class VerifyRequest(BaseModel): r"""The verification action requested.""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["action"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/viewerinfo.py b/src/glean/api_client/models/viewerinfo.py index a974e0a3..e580eea6 100644 --- a/src/glean/api_client/models/viewerinfo.py +++ b/src/glean/api_client/models/viewerinfo.py @@ -4,7 +4,13 @@ from datetime import datetime from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -51,13 +57,20 @@ def serialize_role(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["role", "lastViewedTime"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/workflow.py b/src/glean/api_client/models/workflow.py index 063e8acf..ee7fda40 100644 --- a/src/glean/api_client/models/workflow.py +++ b/src/glean/api_client/models/workflow.py @@ -3,7 +3,13 @@ from __future__ import annotations from .objectpermissions import ObjectPermissions, ObjectPermissionsTypedDict from .person import Person, PersonTypedDict -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import model_serializer from typing import Optional @@ -90,6 +96,9 @@ class Workflow(BaseModel): """ @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -108,11 +117,15 @@ def serialize_model(self, handler): "webhookUrl", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/workflowfeedbackinfo.py b/src/glean/api_client/models/workflowfeedbackinfo.py index a0d06dbc..b0375b3e 100644 --- a/src/glean/api_client/models/workflowfeedbackinfo.py +++ b/src/glean/api_client/models/workflowfeedbackinfo.py @@ -2,7 +2,13 @@ from __future__ import annotations from enum import Enum -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump from pydantic import model_serializer from typing import Optional from typing_extensions import NotRequired, TypedDict @@ -26,13 +32,20 @@ class WorkflowFeedbackInfo(BaseModel): r"""Where the feedback of the workflow originated from""" @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["source"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/writeactionparameter.py b/src/glean/api_client/models/writeactionparameter.py index 65b3d94c..e8ae8eea 100644 --- a/src/glean/api_client/models/writeactionparameter.py +++ b/src/glean/api_client/models/writeactionparameter.py @@ -4,7 +4,13 @@ from .possiblevalue import PossibleValue, PossibleValueTypedDict from enum import Enum from glean.api_client import models, utils -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import List, Optional @@ -66,6 +72,9 @@ def serialize_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set( [ @@ -77,11 +86,15 @@ def serialize_model(self, handler): "possibleValues", ] ) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/models/writepermission.py b/src/glean/api_client/models/writepermission.py index 85e816dc..1dcabfab 100644 --- a/src/glean/api_client/models/writepermission.py +++ b/src/glean/api_client/models/writepermission.py @@ -3,7 +3,13 @@ from __future__ import annotations from .scopetype import ScopeType from glean.api_client import models -from glean.api_client.types import BaseModel, UNSET_SENTINEL +from glean.api_client.types import ( + BaseModel, + UNSET_SENTINEL, + current_exclude_none, + serialize_with_info, +) +from glean.api_client.types.basemodel import current_filtered_dump import pydantic from pydantic import field_serializer, model_serializer from typing import Optional @@ -48,13 +54,20 @@ def serialize_scope_type(self, value): return value @model_serializer(mode="wrap") + def _serialize_model_with_info(self, handler, info): + return serialize_with_info(self.serialize_model, handler, info) + def serialize_model(self, handler): optional_fields = set(["scopeType", "create", "update", "delete"]) + exclude_none = current_exclude_none() + skip_filtered = exclude_none is False or current_filtered_dump() serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): - k = f.alias or n + k = f.alias if f.alias is not None else n + if k not in serialized and n not in serialized and skip_filtered: + continue val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: diff --git a/src/glean/api_client/people.py b/src/glean/api_client/people.py index 9287ce5b..1c4852e1 100644 --- a/src/glean/api_client/people.py +++ b/src/glean/api_client/people.py @@ -606,7 +606,7 @@ async def index_async( raise errors.GleanError("Unexpected response received", http_res) @deprecated( - "warning: ** DEPRECATED ** - Deprecated on 2026-02-03, removal scheduled for 2027-01-15: Endpoint is deprecated." + "warning: ** DEPRECATED ** - Deprecated on 2026-02-03, removal scheduled for 2027-04-15: Endpoint is deprecated." ) def bulk_index( self, @@ -704,7 +704,7 @@ def bulk_index( "id": "ce596f49-55c4-465e-bf3c-5a3a33906e1f", "introduced": "2026-02-03", "message": "Endpoint is deprecated", - "removal": "2027-01-15", + "removal": "2027-04-15", } }, ), @@ -725,7 +725,7 @@ def bulk_index( raise errors.GleanError("Unexpected response received", http_res) @deprecated( - "warning: ** DEPRECATED ** - Deprecated on 2026-02-03, removal scheduled for 2027-01-15: Endpoint is deprecated." + "warning: ** DEPRECATED ** - Deprecated on 2026-02-03, removal scheduled for 2027-04-15: Endpoint is deprecated." ) async def bulk_index_async( self, @@ -823,7 +823,7 @@ async def bulk_index_async( "id": "ce596f49-55c4-465e-bf3c-5a3a33906e1f", "introduced": "2026-02-03", "message": "Endpoint is deprecated", - "removal": "2027-01-15", + "removal": "2027-04-15", } }, ), diff --git a/src/glean/api_client/types/__init__.py b/src/glean/api_client/types/__init__.py index faa26813..3a43a78a 100644 --- a/src/glean/api_client/types/__init__.py +++ b/src/glean/api_client/types/__init__.py @@ -3,22 +3,26 @@ from .base64fileinput import Base64EncodedString, Base64FileInput from .basemodel import ( BaseModel, + current_exclude_none, Nullable, OptionalNullable, UnrecognizedInt, UnrecognizedStr, UNSET, UNSET_SENTINEL, + serialize_with_info, ) __all__ = [ "Base64EncodedString", "Base64FileInput", "BaseModel", + "current_exclude_none", "Nullable", "OptionalNullable", "UnrecognizedInt", "UnrecognizedStr", "UNSET", "UNSET_SENTINEL", + "serialize_with_info", ] diff --git a/src/glean/api_client/types/basemodel.py b/src/glean/api_client/types/basemodel.py index a9a640a1..5ca5fdd5 100644 --- a/src/glean/api_client/types/basemodel.py +++ b/src/glean/api_client/types/basemodel.py @@ -1,9 +1,10 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +from contextvars import ContextVar from pydantic import ConfigDict, model_serializer from pydantic import BaseModel as PydanticBaseModel -from pydantic_core import core_schema -from typing import TYPE_CHECKING, Any, Literal, Optional, TypeVar, Union +from pydantic_core import PydanticSerializationUnexpectedValue, core_schema +from typing import TYPE_CHECKING, Any, Callable, Literal, Optional, Type, TypeVar, Union from typing_extensions import TypeAliasType, TypeAlias @@ -37,6 +38,49 @@ def __bool__(self) -> Literal[False]: ) +_exclude_none: ContextVar[Optional[bool]] = ContextVar("exclude_none", default=None) +_filtered_dump: ContextVar[bool] = ContextVar("filtered_dump", default=False) + + +def serialize_with_info( + serialize: Callable[[Any], Any], handler: Any, info: core_schema.SerializationInfo +) -> Any: + token = _exclude_none.set(info.exclude_none) + filtered_dump_token = _filtered_dump.set( + info.include is not None + or bool(info.exclude) + or info.exclude_unset + or info.exclude_defaults + ) + try: + return serialize(handler) + finally: + _filtered_dump.reset(filtered_dump_token) + _exclude_none.reset(token) + + +def current_exclude_none() -> Optional[bool]: + """Return the exclude_none option of the enclosing serialize_with_info call, or None outside of one.""" + return _exclude_none.get() + + +def current_filtered_dump() -> bool: + """Return whether the enclosing serialize_with_info call applies include, exclude, exclude_unset or exclude_defaults.""" + return _filtered_dump.get() + + +def _unrecognized_serialization(cls: Type[Union[str, int]]) -> core_schema.PlainSerializerFunctionSerSchema: + def serialize(value: Any, info: core_schema.SerializationInfo) -> Any: + # Decline other values so union serialization tries the remaining members + if not isinstance(value, cls): + raise PydanticSerializationUnexpectedValue(f"Expected {cls.__name__}") + if not info.mode_is_json(): + return value + return str(value) if isinstance(value, str) else int(value) + + return core_schema.plain_serializer_function_ser_schema(serialize, info_arg=True) + + class UnrecognizedStr(str): @classmethod def __get_pydantic_core_schema__(cls, _source_type: Any, _handler: Any) -> core_schema.CoreSchema: @@ -56,6 +100,7 @@ def validate_lax(v: Any) -> 'UnrecognizedStr': core_schema.no_info_plain_validator_function(validate_lax) ]), strict_schema=core_schema.none_schema(), # Always fails in strict mode + serialization=_unrecognized_serialization(cls), ) @@ -74,4 +119,5 @@ def validate_lax(v: Any) -> 'UnrecognizedInt': core_schema.no_info_plain_validator_function(validate_lax) ]), strict_schema=core_schema.none_schema(), # Always fails in strict mode + serialization=_unrecognized_serialization(cls), ) diff --git a/src/glean/api_client/utils/security.py b/src/glean/api_client/utils/security.py index 4a272f16..4d692917 100644 --- a/src/glean/api_client/utils/security.py +++ b/src/glean/api_client/utils/security.py @@ -157,6 +157,9 @@ def _parse_security_scheme_value( scheme_type = scheme_metadata.scheme_type sub_type = scheme_metadata.sub_type + if value == "": + return + header_name = security_metadata.get_field_name(field_name) if scheme_type == "apiKey": diff --git a/tests/mockserver/internal/handler/pathgetapiadminagents.go b/tests/mockserver/internal/handler/pathgetapiadminagents.go index ba8311c3..280f1473 100644 --- a/tests/mockserver/internal/handler/pathgetapiadminagents.go +++ b/tests/mockserver/internal/handler/pathgetapiadminagents.go @@ -46,7 +46,7 @@ func testPlatformAdminAgentsListPlatformAdminAgentsList0(w http.ResponseWriter, return } var respBody *components.PlatformListAdminAgentsResponse = &components.PlatformListAdminAgentsResponse{ - Results: []components.PlatformAdminAgent{}, + Results: []components.PlatformAgent{}, HasMore: true, RequestID: "", } diff --git a/tests/mockserver/internal/handler/pathgetapiadminoauthclientsclientid.go b/tests/mockserver/internal/handler/pathgetapiadminoauthclientsclientid.go index 3d4cee4a..f4abe7f8 100644 --- a/tests/mockserver/internal/handler/pathgetapiadminoauthclientsclientid.go +++ b/tests/mockserver/internal/handler/pathgetapiadminoauthclientsclientid.go @@ -54,7 +54,7 @@ func testPlatformAdminOauthClientsGetPlatformAdminOauthClientsGet0(w http.Respon RedirectUris: []string{ "", }, - IsActive: false, + IsEnabled: true, }, RequestID: "", } diff --git a/tests/mockserver/internal/handler/pathpostrestapiv1getchat.go b/tests/mockserver/internal/handler/pathpostrestapiv1getchat.go index 87401958..96d4127e 100644 --- a/tests/mockserver/internal/handler/pathpostrestapiv1getchat.go +++ b/tests/mockserver/internal/handler/pathpostrestapiv1getchat.go @@ -628,8 +628,8 @@ func testGetchatGetchat0(w http.ResponseWriter, req *http.Request) { Roles: []components.UserRoleSpecification{}, SourceDocumentSpec: types.Pointer(components.CreateDocumentSpecUnionDocumentSpec3( components.DocumentSpec3{ - UgcType: components.DocumentSpecUgcType1Shortcuts, - ContentID: 602763, + UgcType: components.DocumentSpecUgcType1Announcements, + ContentID: 848009, }, )), SourceType: components.AnswerSourceTypeAssistant.ToPointer(), diff --git a/tests/mockserver/internal/sdk/models/components/feedentry.go b/tests/mockserver/internal/sdk/models/components/feedentry.go index 96ae65e3..49e0b392 100644 --- a/tests/mockserver/internal/sdk/models/components/feedentry.go +++ b/tests/mockserver/internal/sdk/models/components/feedentry.go @@ -112,6 +112,7 @@ const ( JustificationTypeProjectFocusBlock JustificationType = "PROJECT_FOCUS_BLOCK" JustificationTypeProjectNextStep JustificationType = "PROJECT_NEXT_STEP" JustificationTypeDemoCard JustificationType = "DEMO_CARD" + JustificationTypePersonalAgentNux JustificationType = "PERSONAL_AGENT_NUX" JustificationTypeResolveMeetingConflict JustificationType = "RESOLVE_MEETING_CONFLICT" JustificationTypeFindingMeetingRoom JustificationType = "FINDING_MEETING_ROOM" JustificationTypeOooPlanner JustificationType = "OOO_PLANNER" @@ -250,6 +251,8 @@ func (e *JustificationType) UnmarshalJSON(data []byte) error { fallthrough case "DEMO_CARD": fallthrough + case "PERSONAL_AGENT_NUX": + fallthrough case "RESOLVE_MEETING_CONFLICT": fallthrough case "FINDING_MEETING_ROOM": diff --git a/tests/mockserver/internal/sdk/models/components/feedrequest.go b/tests/mockserver/internal/sdk/models/components/feedrequest.go index b4d41d55..e136164f 100644 --- a/tests/mockserver/internal/sdk/models/components/feedrequest.go +++ b/tests/mockserver/internal/sdk/models/components/feedrequest.go @@ -53,6 +53,7 @@ const ( FeedRequestCategoryProjectFocusBlock FeedRequestCategory = "PROJECT_FOCUS_BLOCK" FeedRequestCategoryProjectNextStep FeedRequestCategory = "PROJECT_NEXT_STEP" FeedRequestCategoryDemoCard FeedRequestCategory = "DEMO_CARD" + FeedRequestCategoryPersonalAgentNux FeedRequestCategory = "PERSONAL_AGENT_NUX" FeedRequestCategoryResolveMeetingConflict FeedRequestCategory = "RESOLVE_MEETING_CONFLICT" FeedRequestCategoryFindingMeetingRoom FeedRequestCategory = "FINDING_MEETING_ROOM" FeedRequestCategoryOooPlanner FeedRequestCategory = "OOO_PLANNER" @@ -165,6 +166,8 @@ func (e *FeedRequestCategory) UnmarshalJSON(data []byte) error { fallthrough case "DEMO_CARD": fallthrough + case "PERSONAL_AGENT_NUX": + fallthrough case "RESOLVE_MEETING_CONFLICT": fallthrough case "FINDING_MEETING_ROOM": diff --git a/tests/mockserver/internal/sdk/models/components/feedresult.go b/tests/mockserver/internal/sdk/models/components/feedresult.go index 26bf077c..75e05c28 100644 --- a/tests/mockserver/internal/sdk/models/components/feedresult.go +++ b/tests/mockserver/internal/sdk/models/components/feedresult.go @@ -54,6 +54,7 @@ const ( FeedResultCategoryProjectFocusBlock FeedResultCategory = "PROJECT_FOCUS_BLOCK" FeedResultCategoryProjectNextStep FeedResultCategory = "PROJECT_NEXT_STEP" FeedResultCategoryDemoCard FeedResultCategory = "DEMO_CARD" + FeedResultCategoryPersonalAgentNux FeedResultCategory = "PERSONAL_AGENT_NUX" FeedResultCategoryResolveMeetingConflict FeedResultCategory = "RESOLVE_MEETING_CONFLICT" FeedResultCategoryFindingMeetingRoom FeedResultCategory = "FINDING_MEETING_ROOM" FeedResultCategoryOooPlanner FeedResultCategory = "OOO_PLANNER" @@ -166,6 +167,8 @@ func (e *FeedResultCategory) UnmarshalJSON(data []byte) error { fallthrough case "DEMO_CARD": fallthrough + case "PERSONAL_AGENT_NUX": + fallthrough case "RESOLVE_MEETING_CONFLICT": fallthrough case "FINDING_MEETING_ROOM": diff --git a/tests/mockserver/internal/sdk/models/components/getchatpagination.go b/tests/mockserver/internal/sdk/models/components/getchatpagination.go new file mode 100644 index 00000000..6e8c1b60 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/getchatpagination.go @@ -0,0 +1,43 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +// GetChatPagination - Pagination cursors and page flags for a getchat message page. +type GetChatPagination struct { + // Cursor of the first (oldest) returned message. Omitted for an empty page. + StartCursor *string `json:"startCursor,omitempty"` + // Cursor of the last (newest) returned message. Omitted for an empty page. + EndCursor *string `json:"endCursor,omitempty"` + // Whether visible messages exist after endCursor in chronological order. + HasNextPage bool `json:"hasNextPage"` + // Whether visible messages exist before startCursor in chronological order. + HasPreviousPage bool `json:"hasPreviousPage"` +} + +func (o *GetChatPagination) GetStartCursor() *string { + if o == nil { + return nil + } + return o.StartCursor +} + +func (o *GetChatPagination) GetEndCursor() *string { + if o == nil { + return nil + } + return o.EndCursor +} + +func (o *GetChatPagination) GetHasNextPage() bool { + if o == nil { + return false + } + return o.HasNextPage +} + +func (o *GetChatPagination) GetHasPreviousPage() bool { + if o == nil { + return false + } + return o.HasPreviousPage +} diff --git a/tests/mockserver/internal/sdk/models/components/getchatrequest.go b/tests/mockserver/internal/sdk/models/components/getchatrequest.go index 82118136..bda4d160 100644 --- a/tests/mockserver/internal/sdk/models/components/getchatrequest.go +++ b/tests/mockserver/internal/sdk/models/components/getchatrequest.go @@ -2,9 +2,18 @@ package components +// GetChatRequest - Retrieves a Chat. Omit pagination fields to return the full message history. When paginating, messages are returned in chronological order. Allowed combinations: last alone (latest page), last with before (older messages), first alone (earliest page), or first with after (newer messages). first and last are mutually exclusive; before and after are mutually exclusive; first cannot be combined with before; last cannot be combined with after. type GetChatRequest struct { // The id of the Chat to be retrieved. ID string `json:"id"` + // Maximum number of messages to return from the start of the chat, or after the cursor when after is set. Pair with after for newer messages; alone returns the earliest messages. Mutually exclusive with last and before. + First *int `json:"first,omitempty"` + // An opaque message cursor from this chat. Returns messages strictly newer than this cursor. Pair with first. Mutually exclusive with before; cannot be combined with last. + After *string `json:"after,omitempty"` + // Maximum number of messages to return from the end of the chat, or before the cursor when before is set. Alone returns the latest messages; pair with before for older messages. Mutually exclusive with first and after. + Last *int `json:"last,omitempty"` + // An opaque message cursor from this chat. Returns messages strictly older than this cursor. Pair with last. Mutually exclusive with after; cannot be combined with first. + Before *string `json:"before,omitempty"` } func (o *GetChatRequest) GetID() string { @@ -13,3 +22,31 @@ func (o *GetChatRequest) GetID() string { } return o.ID } + +func (o *GetChatRequest) GetFirst() *int { + if o == nil { + return nil + } + return o.First +} + +func (o *GetChatRequest) GetAfter() *string { + if o == nil { + return nil + } + return o.After +} + +func (o *GetChatRequest) GetLast() *int { + if o == nil { + return nil + } + return o.Last +} + +func (o *GetChatRequest) GetBefore() *string { + if o == nil { + return nil + } + return o.Before +} diff --git a/tests/mockserver/internal/sdk/models/components/getchatresponse.go b/tests/mockserver/internal/sdk/models/components/getchatresponse.go index 88ac7a95..9cf9f7dd 100644 --- a/tests/mockserver/internal/sdk/models/components/getchatresponse.go +++ b/tests/mockserver/internal/sdk/models/components/getchatresponse.go @@ -4,6 +4,8 @@ package components type GetChatResponse struct { ChatResult *ChatResult `json:"chatResult,omitempty"` + // Pagination cursors and page flags for a getchat message page. + Pagination *GetChatPagination `json:"pagination,omitempty"` } func (o *GetChatResponse) GetChatResult() *ChatResult { @@ -12,3 +14,10 @@ func (o *GetChatResponse) GetChatResult() *ChatResult { } return o.ChatResult } + +func (o *GetChatResponse) GetPagination() *GetChatPagination { + if o == nil { + return nil + } + return o.Pagination +} diff --git a/tests/mockserver/internal/sdk/models/components/message.go b/tests/mockserver/internal/sdk/models/components/message.go index 1a80d9f4..c48ba6d9 100644 --- a/tests/mockserver/internal/sdk/models/components/message.go +++ b/tests/mockserver/internal/sdk/models/components/message.go @@ -34,6 +34,8 @@ type Message struct { Role *string `json:"role,omitempty"` // The content of the message. Content []MessageTextBlock `json:"content,omitempty"` + // An opaque token that represents this particular agent message. Populated only on `GLEAN_AI` messages in responses. To record feedback, pass the token of the message being rated (typically the final `GLEAN_AI` message of the run) as the single entry in `trackingTokens` to `/feedback`, with `category: CHAT`. + MessageTrackingToken *string `json:"messageTrackingToken,omitempty"` } func (o *Message) GetRole() *string { @@ -49,3 +51,10 @@ func (o *Message) GetContent() []MessageTextBlock { } return o.Content } + +func (o *Message) GetMessageTrackingToken() *string { + if o == nil { + return nil + } + return o.MessageTrackingToken +} diff --git a/tests/mockserver/internal/sdk/models/components/objectdefinition.go b/tests/mockserver/internal/sdk/models/components/objectdefinition.go index 32a3df40..01b29143 100644 --- a/tests/mockserver/internal/sdk/models/components/objectdefinition.go +++ b/tests/mockserver/internal/sdk/models/components/objectdefinition.go @@ -31,6 +31,7 @@ const ( DocCategoryAgents DocCategory = "AGENTS" DocCategoryAiConversation DocCategory = "AI_CONVERSATION" DocCategoryAiArtifact DocCategory = "AI_ARTIFACT" + DocCategoryUgcSkill DocCategory = "UGC_SKILL" ) func (e DocCategory) ToPointer() *DocCategory { @@ -81,6 +82,8 @@ func (e *DocCategory) UnmarshalJSON(data []byte) error { case "AI_CONVERSATION": fallthrough case "AI_ARTIFACT": + fallthrough + case "UGC_SKILL": *e = DocCategory(v) return nil default: diff --git a/tests/mockserver/internal/sdk/models/components/platformadminagent.go b/tests/mockserver/internal/sdk/models/components/platformadminagent.go deleted file mode 100644 index 4bbce897..00000000 --- a/tests/mockserver/internal/sdk/models/components/platformadminagent.go +++ /dev/null @@ -1,35 +0,0 @@ -// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -package components - -// PlatformAdminAgent - An agent in the workspace. -type PlatformAdminAgent struct { - // Opaque agent ID. Other Platform APIs, such as usage limits, accept and return this ID. - // - AgentID string `json:"agent_id"` - // The name that Glean shows for the agent. - DisplayName string `json:"display_name"` - // Whether the agent is active. A deleted agent is inactive. - IsActive bool `json:"is_active"` -} - -func (o *PlatformAdminAgent) GetAgentID() string { - if o == nil { - return "" - } - return o.AgentID -} - -func (o *PlatformAdminAgent) GetDisplayName() string { - if o == nil { - return "" - } - return o.DisplayName -} - -func (o *PlatformAdminAgent) GetIsActive() bool { - if o == nil { - return false - } - return o.IsActive -} diff --git a/tests/mockserver/internal/sdk/models/components/platformadminagentfilter.go b/tests/mockserver/internal/sdk/models/components/platformadminagentfilter.go index 28142855..1bdc67b3 100644 --- a/tests/mockserver/internal/sdk/models/components/platformadminagentfilter.go +++ b/tests/mockserver/internal/sdk/models/components/platformadminagentfilter.go @@ -49,7 +49,8 @@ func (e *PlatformAdminAgentFilterOperator) UnmarshalJSON(data []byte) error { // PlatformAdminAgentFilter - A filter on one agent field. type PlatformAdminAgentFilter struct { - // The agent field to filter on. The only supported field is is_active. + // The agent field to filter on. name matches agents whose name contains the value. description matches agents whose description contains the value. Matching ignores case and surrounding whitespace. Each value is at most 256 characters. + // Field string `json:"field"` // The values to match. An agent matches when any value matches. Values []string `json:"values"` diff --git a/tests/mockserver/internal/sdk/models/components/platformdepartmentfilter.go b/tests/mockserver/internal/sdk/models/components/platformdepartmentfilter.go new file mode 100644 index 00000000..3682e943 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/platformdepartmentfilter.go @@ -0,0 +1,91 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "encoding/json" + "fmt" + "mockserver/internal/sdk/utils" +) + +// PlatformDepartmentFilterOperator - The only supported operator is EQUALS. Defaults to EQUALS. +type PlatformDepartmentFilterOperator string + +const ( + PlatformDepartmentFilterOperatorEquals PlatformDepartmentFilterOperator = "EQUALS" + PlatformDepartmentFilterOperatorNotEquals PlatformDepartmentFilterOperator = "NOT_EQUALS" + PlatformDepartmentFilterOperatorGt PlatformDepartmentFilterOperator = "GT" + PlatformDepartmentFilterOperatorGte PlatformDepartmentFilterOperator = "GTE" + PlatformDepartmentFilterOperatorLt PlatformDepartmentFilterOperator = "LT" + PlatformDepartmentFilterOperatorLte PlatformDepartmentFilterOperator = "LTE" +) + +func (e PlatformDepartmentFilterOperator) ToPointer() *PlatformDepartmentFilterOperator { + return &e +} +func (e *PlatformDepartmentFilterOperator) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "EQUALS": + fallthrough + case "NOT_EQUALS": + fallthrough + case "GT": + fallthrough + case "GTE": + fallthrough + case "LT": + fallthrough + case "LTE": + *e = PlatformDepartmentFilterOperator(v) + return nil + default: + return fmt.Errorf("invalid value for PlatformDepartmentFilterOperator: %v", v) + } +} + +// PlatformDepartmentFilter - A filter on one department field. +type PlatformDepartmentFilter struct { + // The department field to filter on. The only supported field is name, which matches departments whose display_name contains the value, ignoring case and surrounding whitespace. Each value is at most 256 characters. To find the department with an exact name, such as a department_name from a usage limit response, filter by the name and compare display_name exactly. + // + Field string `json:"field"` + // The values to match. A department matches when any value matches. + Values []string `json:"values"` + // The only supported operator is EQUALS. Defaults to EQUALS. + Operator *PlatformDepartmentFilterOperator `default:"EQUALS" json:"operator"` +} + +func (p PlatformDepartmentFilter) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(p, "", false) +} + +func (p *PlatformDepartmentFilter) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &p, "", false, []string{"field", "values"}); err != nil { + return err + } + return nil +} + +func (o *PlatformDepartmentFilter) GetField() string { + if o == nil { + return "" + } + return o.Field +} + +func (o *PlatformDepartmentFilter) GetValues() []string { + if o == nil { + return []string{} + } + return o.Values +} + +func (o *PlatformDepartmentFilter) GetOperator() *PlatformDepartmentFilterOperator { + if o == nil { + return nil + } + return o.Operator +} diff --git a/tests/mockserver/internal/sdk/models/components/platformdocumentchangewebhookevent.go b/tests/mockserver/internal/sdk/models/components/platformdocumentchangewebhookevent.go index 790da9be..3c4a688a 100644 --- a/tests/mockserver/internal/sdk/models/components/platformdocumentchangewebhookevent.go +++ b/tests/mockserver/internal/sdk/models/components/platformdocumentchangewebhookevent.go @@ -27,10 +27,12 @@ type PlatformDocumentChangeWebhookEvent struct { Title string `json:"title"` // Relevant event time. Document changes use the source-observed time when available and otherwise the document ingestion time; content schedules use the scheduled time. Omitted when no timestamp is available. EventTime *time.Time `json:"event_time,omitempty"` - // Email body content when the event is for an email document. + // Email body content when the event is for an email document, or the message text when the event is for a Slack message. Content *string `json:"content,omitempty"` // Present and true when source content exceeded the delivery size limit. ContentTruncated *bool `json:"content_truncated,omitempty"` + // Facets of a Slack message as the event saw them, keyed as trigger filters key them, for example `from`, `mentions` and `channel`. Person facets carry the person's name. Each key lists up to 50 distinct values. Omitted for other documents and when the event has no facets. + Facets map[string][]string `json:"facets,omitempty"` } func (p PlatformDocumentChangeWebhookEvent) MarshalJSON() ([]byte, error) { @@ -127,3 +129,10 @@ func (o *PlatformDocumentChangeWebhookEvent) GetContentTruncated() *bool { } return o.ContentTruncated } + +func (o *PlatformDocumentChangeWebhookEvent) GetFacets() map[string][]string { + if o == nil { + return nil + } + return o.Facets +} diff --git a/tests/mockserver/internal/sdk/models/components/platformidpgroupfilter.go b/tests/mockserver/internal/sdk/models/components/platformidpgroupfilter.go index 8e13791a..22ec277c 100644 --- a/tests/mockserver/internal/sdk/models/components/platformidpgroupfilter.go +++ b/tests/mockserver/internal/sdk/models/components/platformidpgroupfilter.go @@ -49,7 +49,15 @@ func (e *PlatformIdpGroupFilterOperator) UnmarshalJSON(data []byte) error { // PlatformIdpGroupFilter - A filter on one IdP group field. type PlatformIdpGroupFilter struct { - // The IdP group field to filter on. The only supported field is provider_instance. + // The IdP group field to filter on. + // - provider_instance: matches groups from the datasource instance, such as + // "okta", ignoring case. + // + // - provider: matches groups from the identity provider, such as "okta", ignoring + // case. + // + // - name: matches groups whose display_name contains the value, ignoring case and + // surrounding whitespace. Each value is at most 256 characters. // Field string `json:"field"` // The values to match. An IdP group matches when any value matches. diff --git a/tests/mockserver/internal/sdk/models/components/platformlistadminagentsresponse.go b/tests/mockserver/internal/sdk/models/components/platformlistadminagentsresponse.go index 76987e77..ea7638e0 100644 --- a/tests/mockserver/internal/sdk/models/components/platformlistadminagentsresponse.go +++ b/tests/mockserver/internal/sdk/models/components/platformlistadminagentsresponse.go @@ -8,8 +8,8 @@ import ( // PlatformListAdminAgentsResponse - One page of agents. type PlatformListAdminAgentsResponse struct { - // The agents on this page, ordered by display_name and then by agent_id. - Results []PlatformAdminAgent `json:"results"` + // The agents on this page, ordered by name and then by agent_id. + Results []PlatformAgent `json:"results"` // Whether more agents are available after this page. HasMore bool `json:"has_more"` // Opaque cursor for the next page; null or absent when has_more is false. @@ -18,9 +18,9 @@ type PlatformListAdminAgentsResponse struct { RequestID string `json:"request_id"` } -func (o *PlatformListAdminAgentsResponse) GetResults() []PlatformAdminAgent { +func (o *PlatformListAdminAgentsResponse) GetResults() []PlatformAgent { if o == nil { - return []PlatformAdminAgent{} + return []PlatformAgent{} } return o.Results } diff --git a/tests/mockserver/internal/sdk/models/components/platformoauthclient.go b/tests/mockserver/internal/sdk/models/components/platformoauthclient.go index 119260cc..f630e0b3 100644 --- a/tests/mockserver/internal/sdk/models/components/platformoauthclient.go +++ b/tests/mockserver/internal/sdk/models/components/platformoauthclient.go @@ -24,9 +24,9 @@ type PlatformOAuthClient struct { TokenEndpointAuthMethod *PlatformOAuthTokenEndpointAuthMethod `json:"token_endpoint_auth_method,omitempty"` // The redirect URIs that the client can use. RedirectUris []string `json:"redirect_uris"` - // Whether the client is active. A client that an admin disabled is inactive and cannot authenticate. + // Whether the client is enabled. A client that an admin disabled cannot authenticate. // - IsActive bool `json:"is_active"` + IsEnabled bool `json:"is_enabled"` // When the client was created. Absent when it is not known. CreatedAt *time.Time `json:"created_at,omitempty"` // LLM Gateway details of an OAuth client. @@ -38,7 +38,7 @@ func (p PlatformOAuthClient) MarshalJSON() ([]byte, error) { } func (p *PlatformOAuthClient) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &p, "", false, []string{"client_id", "display_name", "registration_type", "grant_types", "redirect_uris", "is_active"}); err != nil { + if err := utils.UnmarshalJSON(data, &p, "", false, []string{"client_id", "display_name", "registration_type", "grant_types", "redirect_uris", "is_enabled"}); err != nil { return err } return nil @@ -93,11 +93,11 @@ func (o *PlatformOAuthClient) GetRedirectUris() []string { return o.RedirectUris } -func (o *PlatformOAuthClient) GetIsActive() bool { +func (o *PlatformOAuthClient) GetIsEnabled() bool { if o == nil { return false } - return o.IsActive + return o.IsEnabled } func (o *PlatformOAuthClient) GetCreatedAt() *time.Time { diff --git a/tests/mockserver/internal/sdk/models/components/platformoauthclientaigateway.go b/tests/mockserver/internal/sdk/models/components/platformoauthclientaigateway.go index 263cde38..cfe90273 100644 --- a/tests/mockserver/internal/sdk/models/components/platformoauthclientaigateway.go +++ b/tests/mockserver/internal/sdk/models/components/platformoauthclientaigateway.go @@ -7,6 +7,9 @@ type PlatformOAuthClientAiGateway struct { // The spend-client ID that usage records and usage limits use for this client. Send it as the client_id of a usage limit. It is an opaque, case-sensitive string; do not build it from client_id. // UsageClientID string `json:"usage_client_id"` + // The apps that the client is set up for, in alphabetical order. Empty when no app is recorded for the client. + // + SupportedApps []PlatformOAuthClientSupportedApp `json:"supported_apps"` } func (o *PlatformOAuthClientAiGateway) GetUsageClientID() string { @@ -15,3 +18,10 @@ func (o *PlatformOAuthClientAiGateway) GetUsageClientID() string { } return o.UsageClientID } + +func (o *PlatformOAuthClientAiGateway) GetSupportedApps() []PlatformOAuthClientSupportedApp { + if o == nil { + return []PlatformOAuthClientSupportedApp{} + } + return o.SupportedApps +} diff --git a/tests/mockserver/internal/sdk/models/components/platformoauthclientfilter.go b/tests/mockserver/internal/sdk/models/components/platformoauthclientfilter.go index 1c05df1d..f202d5ff 100644 --- a/tests/mockserver/internal/sdk/models/components/platformoauthclientfilter.go +++ b/tests/mockserver/internal/sdk/models/components/platformoauthclientfilter.go @@ -49,7 +49,23 @@ func (e *PlatformOAuthClientFilterOperator) UnmarshalJSON(data []byte) error { // PlatformOAuthClientFilter - A filter on one OAuth client field. type PlatformOAuthClientFilter struct { - // The client field to filter on. The only supported field is is_active. + // The client field to filter on. + // - is_enabled: "true" matches enabled clients, and "false" matches disabled + // clients. + // + // - name: matches clients whose display_name contains the value, ignoring + // case and surrounding whitespace. Each value is at most 256 characters. + // + // - client_id: matches the client with this OAuth client_id. + // - usage_client_id: matches the client with this ai_gateway.usage_client_id. + // - has_ai_gateway: "true" matches clients that can call the Glean LLM + // Gateway, which are the clients with ai_gateway. "false" matches the + // other clients. + // + // - supported_app: matches clients whose ai_gateway.supported_apps contains + // the value, such as CLAUDE_CODE. The values are the OAuthClientSupportedApp + // values. + // Field string `json:"field"` // The values to match. A client matches when any value matches. Values []string `json:"values"` diff --git a/tests/mockserver/internal/sdk/models/components/platformoauthclientsupportedapp.go b/tests/mockserver/internal/sdk/models/components/platformoauthclientsupportedapp.go new file mode 100644 index 00000000..1bcc8b7c --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/platformoauthclientsupportedapp.go @@ -0,0 +1,35 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "encoding/json" + "fmt" +) + +// PlatformOAuthClientSupportedApp - An app that an LLM Gateway client is set up for. +type PlatformOAuthClientSupportedApp string + +const ( + PlatformOAuthClientSupportedAppClaudeCode PlatformOAuthClientSupportedApp = "CLAUDE_CODE" + PlatformOAuthClientSupportedAppCodex PlatformOAuthClientSupportedApp = "CODEX" +) + +func (e PlatformOAuthClientSupportedApp) ToPointer() *PlatformOAuthClientSupportedApp { + return &e +} +func (e *PlatformOAuthClientSupportedApp) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "CLAUDE_CODE": + fallthrough + case "CODEX": + *e = PlatformOAuthClientSupportedApp(v) + return nil + default: + return fmt.Errorf("invalid value for PlatformOAuthClientSupportedApp: %v", v) + } +} diff --git a/tests/mockserver/internal/sdk/models/components/platformproblemdetailcode.go b/tests/mockserver/internal/sdk/models/components/platformproblemdetailcode.go index f7a60ae6..8c075b97 100644 --- a/tests/mockserver/internal/sdk/models/components/platformproblemdetailcode.go +++ b/tests/mockserver/internal/sdk/models/components/platformproblemdetailcode.go @@ -14,6 +14,7 @@ const ( PlatformProblemDetailCodeInvalidRequest PlatformProblemDetailCode = "invalid_request" PlatformProblemDetailCodeMissingRequiredField PlatformProblemDetailCode = "missing_required_field" PlatformProblemDetailCodeInvalidParameter PlatformProblemDetailCode = "invalid_parameter" + PlatformProblemDetailCodeUnsupportedActionTarget PlatformProblemDetailCode = "unsupported_action_target" PlatformProblemDetailCodeInvalidCursor PlatformProblemDetailCode = "invalid_cursor" PlatformProblemDetailCodeExpiredCursor PlatformProblemDetailCode = "expired_cursor" PlatformProblemDetailCodeInvalidFilter PlatformProblemDetailCode = "invalid_filter" @@ -51,6 +52,8 @@ func (e *PlatformProblemDetailCode) UnmarshalJSON(data []byte) error { fallthrough case "invalid_parameter": fallthrough + case "unsupported_action_target": + fallthrough case "invalid_cursor": fallthrough case "expired_cursor": diff --git a/tests/mockserver/internal/sdk/models/operations/platformadminagentslist.go b/tests/mockserver/internal/sdk/models/operations/platformadminagentslist.go index d7d5f972..d2af3528 100644 --- a/tests/mockserver/internal/sdk/models/operations/platformadminagentslist.go +++ b/tests/mockserver/internal/sdk/models/operations/platformadminagentslist.go @@ -13,7 +13,7 @@ type PlatformAdminAgentsListRequest struct { // Opaque pagination cursor from a previous response. Send the same filters that the previous request used. // Cursor *string `queryParam:"style=form,explode=true,name=cursor"` - // JSON-encoded filters that choose which agents are returned. The only supported field is is_active, with the values "true" and "false" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active agents are returned. To return active and deleted agents, send [{"field":"is_active","values":["true","false"]}]. + // JSON-encoded filters that choose which agents are returned. The supported fields are name and description, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together, and each field can appear in only one filter. For example, to return agents whose name contains "HR", send [{"field":"name","values":["HR"]}]. // Filters []components.PlatformAdminAgentFilter `queryParam:"serialization=json,name=filters"` } diff --git a/tests/mockserver/internal/sdk/models/operations/platformadminidpgroupslist.go b/tests/mockserver/internal/sdk/models/operations/platformadminidpgroupslist.go index 4db8923f..82eedbfa 100644 --- a/tests/mockserver/internal/sdk/models/operations/platformadminidpgroupslist.go +++ b/tests/mockserver/internal/sdk/models/operations/platformadminidpgroupslist.go @@ -13,7 +13,7 @@ type PlatformAdminIdpGroupsListRequest struct { // Opaque pagination cursor from a previous response. Send the same filters that the previous request used. // Cursor *string `queryParam:"style=form,explode=true,name=cursor"` - // JSON-encoded filters that choose which IdP groups are returned. The only supported field is provider_instance, with datasource instance names such as "okta". provider_instance values match without case. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. + // JSON-encoded filters that choose which IdP groups are returned. The supported fields are provider_instance, provider, and name. The only supported operator is EQUALS. Multiple values OR within a filter. Multiple filters AND together. The name field may appear in only one filter. A value that matches no IdP group returns no IdP groups rather than an error. // Filters []components.PlatformIdpGroupFilter `queryParam:"serialization=json,name=filters"` } diff --git a/tests/mockserver/internal/sdk/models/operations/platformadminoauthclientslist.go b/tests/mockserver/internal/sdk/models/operations/platformadminoauthclientslist.go index 97201a83..b0aa3151 100644 --- a/tests/mockserver/internal/sdk/models/operations/platformadminoauthclientslist.go +++ b/tests/mockserver/internal/sdk/models/operations/platformadminoauthclientslist.go @@ -13,7 +13,7 @@ type PlatformAdminOauthClientsListRequest struct { // Opaque pagination cursor from a previous response. Send the same filters that the previous request used. // Cursor *string `queryParam:"style=form,explode=true,name=cursor"` - // JSON-encoded filters that choose which clients are returned. The only supported field is is_active, with the values "true" and "false" and the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Without an is_active filter, only active clients are returned. To return active and inactive clients, send [{"field":"is_active","values":["true","false"]}]. + // JSON-encoded filters that choose which clients are returned. The supported fields are is_enabled, name, client_id, usage_client_id, has_ai_gateway, and supported_app, with the operator EQUALS. Multiple values OR within a filter. Multiple filters AND together. Each field can appear in only one filter. Without an is_enabled filter, only enabled clients are returned. To return enabled and disabled clients, send [{"field":"is_enabled","values":["true","false"]}]. To find the Claude Code clients, send [{"field":"supported_app","values":["CLAUDE_CODE"]}]. // Filters []components.PlatformOAuthClientFilter `queryParam:"serialization=json,name=filters"` } diff --git a/tests/mockserver/internal/sdk/models/operations/platformchatcreate.go b/tests/mockserver/internal/sdk/models/operations/platformchatcreate.go index 58f6721f..06b377ef 100644 --- a/tests/mockserver/internal/sdk/models/operations/platformchatcreate.go +++ b/tests/mockserver/internal/sdk/models/operations/platformchatcreate.go @@ -200,6 +200,9 @@ type PlatformChatCreateRequest struct { // Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`. // ConversationID *string `json:"conversation_id,omitempty"` + // Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + // + Model *string `json:"model,omitempty"` // Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. // Text *PlatformChatCreateText `json:"text,omitempty"` @@ -241,6 +244,13 @@ func (o *PlatformChatCreateRequest) GetConversationID() *string { return o.ConversationID } +func (o *PlatformChatCreateRequest) GetModel() *string { + if o == nil { + return nil + } + return o.Model +} + func (o *PlatformChatCreateRequest) GetText() *PlatformChatCreateText { if o == nil { return nil diff --git a/tests/mockserver/internal/sdk/models/operations/platformchatcreatestream.go b/tests/mockserver/internal/sdk/models/operations/platformchatcreatestream.go index 72e44e52..45ae4fab 100644 --- a/tests/mockserver/internal/sdk/models/operations/platformchatcreatestream.go +++ b/tests/mockserver/internal/sdk/models/operations/platformchatcreatestream.go @@ -201,6 +201,9 @@ type PlatformChatCreateStreamRequest struct { // Continue an existing stored conversation. Incompatible with message-array `input` and with `store: false`. // ConversationID *string `json:"conversation_id,omitempty"` + // Model for this turn, matched exactly to an id from GET /api/models. When GET /api/models reports `endpoints.chat` for the model, `POST /api/chat` does not reject this value at `/model`, except across a deployment change. Other request checks still apply. The model is requested, not guaranteed: deployment configuration can still run the turn on a different model. + // + Model *string `json:"model,omitempty"` // Optional configuration for the assistant's text response. When `format.type` is `JSON_SCHEMA`, the response is constrained to the supplied JSON schema and returned in `output[*].content[*].structured_output`. Structured output is not supported when `stream` is true. // Text *PlatformChatCreateStreamText `json:"text,omitempty"` @@ -242,6 +245,13 @@ func (o *PlatformChatCreateStreamRequest) GetConversationID() *string { return o.ConversationID } +func (o *PlatformChatCreateStreamRequest) GetModel() *string { + if o == nil { + return nil + } + return o.Model +} + func (o *PlatformChatCreateStreamRequest) GetText() *PlatformChatCreateStreamText { if o == nil { return nil diff --git a/tests/mockserver/internal/sdk/models/operations/platformdepartmentslist.go b/tests/mockserver/internal/sdk/models/operations/platformdepartmentslist.go index cbcb58c4..172b0268 100644 --- a/tests/mockserver/internal/sdk/models/operations/platformdepartmentslist.go +++ b/tests/mockserver/internal/sdk/models/operations/platformdepartmentslist.go @@ -10,8 +10,12 @@ import ( type PlatformDepartmentsListRequest struct { // Maximum number of departments to return. Defaults to 50. Maximum is 100. PageSize *int64 `default:"50" queryParam:"style=form,explode=true,name=page_size"` - // Opaque pagination cursor from a previous response. + // Opaque pagination cursor from a previous response. Send the same filters that the previous request used. + // Cursor *string `queryParam:"style=form,explode=true,name=cursor"` + // JSON-encoded filters that choose which departments are returned. The only supported field is name, with the operator EQUALS. Multiple values OR within a filter. The field may appear in only one filter. A value that matches no department returns no departments rather than an error. + // + Filters []components.PlatformDepartmentFilter `queryParam:"serialization=json,name=filters"` } func (p PlatformDepartmentsListRequest) MarshalJSON() ([]byte, error) { @@ -39,6 +43,13 @@ func (o *PlatformDepartmentsListRequest) GetCursor() *string { return o.Cursor } +func (o *PlatformDepartmentsListRequest) GetFilters() []components.PlatformDepartmentFilter { + if o == nil { + return nil + } + return o.Filters +} + type PlatformDepartmentsListResponse struct { HTTPMeta components.HTTPMetadata `json:"-"` // Successful response. diff --git a/tests/test_chat_sdk.py b/tests/test_chat_sdk.py index 36e625c2..5e668316 100644 --- a/tests/test_chat_sdk.py +++ b/tests/test_chat_sdk.py @@ -18,6 +18,7 @@ def test_chat_sdk_platform_chat_create(): res = glean.chat.create( input="Summarize our parental leave policy as JSON.", store=True, + model="GPT5_6_LUNA", text={ "format_": { "type": models.PlatformChatJSONSchemaFormatType.JSON_SCHEMA, diff --git a/tests/test_messages.py b/tests/test_messages.py index dfdc1864..c0fd29da 100644 --- a/tests/test_messages.py +++ b/tests/test_messages.py @@ -18,7 +18,7 @@ def test_messages_messages(): res = glean.client.messages.retrieve( id_type=models.IDType.CONVERSATION_ID, id="", - datasource=models.Datasource.SLACKENTGRID, + datasource=models.Datasource.SLACK, timestamp_millis=558834, ) assert res is not None diff --git a/tests/test_summarize.py b/tests/test_summarize.py index 63b4eb85..9efa5c1d 100644 --- a/tests/test_summarize.py +++ b/tests/test_summarize.py @@ -18,10 +18,10 @@ def test_summarize_summarize(): res = glean.client.documents.summarize( document_specs=[ { - "url": "https://dim-glider.com/", + "url": "https://intelligent-lyre.net", }, { - "id": "", + "url": "https://intelligent-lyre.net", }, ] )