Repository navigation
Adopt Azure Core async runtime and regenerate connectors - #102
Conversation
Generated with AzureUX-BPM 54004551cd07385a21dbe320ee514d90f0453975 from live ARM metadata (default subscription plus BTS4 fallback for onedrive, orderful, and universalprint).
There was a problem hiding this comment.
[Dobby] Requesting changes for one reproduced runtime regression: the new per-request timeout and default timeout_seconds do not bound response reads. The inline finding is owned by the SDK runtime, not generated output.
Validation at this head: 4,309 SDK tests passed; flake8, mypy and wheel packaging passed; the pinned BPM compiler built and all 823 generator tests passed. The two reviewer-owned timeout/configuration probes fail on both azure-core 1.30.0 and 1.41.0 while the 68 existing focused runtime/retry tests pass. Fresh ARM capture and offline replay generated all 99 Python and .NET clients with an unchanged 100-file cache; 98/99 captured Swagger hashes match the PR manifest and 98/99 Python outputs match canonical Git content after LF normalization. Jira must be validated against independently fetched live ARM definitions so the suggested client is current. The live /2/search definition exposes an optional fields parameter; assess and regenerate the client against that current contract. The hash difference is source metadata drift, not a request for historical Swagger and not a blocker by itself. All 99 parity reports were collected; their raw mismatch verdicts include the four Python-only request controls and named-type/alias matching limitations and are not a clean contract sign-off.
The paired BPM PR 17393024 remains active at 2da13650b403ea0176361a383f9cf0100f7c07c7, so upstream integration is pending. Observed GitHub checks are green (18 success, one skipped). A blind Grok 4.7 pass did not establish an additional blocking defect beyond the timeout area; its Cosmos continuation-token concern is unconfirmed against the explicit v5 nextLink paging annotation. Human ownership and repository policy review remain necessary.
Regenerated all 99 clients from live ARM metadata with AzureUX-BPM daafb3e546cb2c68419602f6ccfaf124f1483450 (default subscription plus BTS4 fallback for onedrive, orderful, and universalprint).
David Burg (daviburg)
left a comment
There was a problem hiding this comment.
[Dobby] Latest-head review: the previously reported positive-timeout regression is fixed and its default/per-call slow-body regressions pass. Requesting changes for four newly reproduced root causes: per-operation headers/request IDs lose to client defaults; explicit retry opt-in excludes custom methods; sample consumers still await newly pageable operations; and samples do not close credentials they now own. All fixes are owned by this SDK PR; generated paging and caller-owned credential semantics should be retained.
Validation at d8a080b: SDK 4,311/4,311, focused existing runtime/retry tests 70/70, generator 823/823 after rebuilding daafb3e546cb2c68419602f6ccfaf124f1483450, flake8, mypy (108 source files), and wheel packaging passed. Reviewer-owned probes reproduced the new runtime/sample defects on azure-core 1.30.0 and 1.41.0. The actual ARM and Office 365 sample paths were also executed against the pinned base: ARM dispatched normally and both created credentials were closed; on this head ARM fails before dispatch and both credentials remain open. The sibling sweep identified 37 awaited async-generator calls in 20 sample files and 78 sample files with credential-lifetime candidates.
Fresh live ARM capture on 2026-10-06 regenerated all 99 Python clients, including Jira, matching the head after LF normalization. Offline Python and .NET replay retained all 100 cache hashes unchanged. All 99 cross-language reports ran; raw verdicts still contain request-control-count and named-alias/version/model matching limitations, so this is not full parity sign-off. BPM PR 17393024 remains active and upstream integration is pending. Observed GitHub checks: 18 successful, one skipped. No historical Swagger was requested.
Three independent passes were requested using GPT-6.1 Sol, Grok 4.7, and Gemini 3.8 Flash. Grok and Gemini reported the requested models; the Sol pass could not confirm its underlying model selection. Their candidates were independently adjudicated through focused checks, not accepted by model vote. Zero/nonpositive timeout semantics, first-retry backoff wording, and redirect compatibility remain advisory ownership questions, not additional automatically posted blockers. Human ownership and repository policy review remain necessary.
Merged generator master and regenerated all 99 clients from live ARM metadata with AzureUX-BPM ba7c1c1332016c69790937892170c9890d7905dc (default subscription plus BTS4 fallback for onedrive, orderful, and universalprint); generated outputs were unchanged.
David Burg (daviburg)
left a comment
There was a problem hiding this comment.
[Dobby] Latest-head re-review: the prior timeout, per-operation header/request-ID precedence, custom-method retry opt-in, and credential/async-iteration migration fixes pass their focused checks. One sample migration defect remains: the Zendesk get-items example collects an async iterator into a list, then treats that list as a response envelope and reports zero items for nonempty results. The inline comment references the resolved migration thread and is owned by the SDK sample, not the generator.
Validation at this pinned head: 4,320 SDK tests passed; flake8, mypy, all 99 sample import/signature/lifecycle checks, and wheel packaging passed. The latest compiler was rebuilt from ba7c1c1332016c69790937892170c9890d7905dc; focused Python generator tests passed 116/116 and the full generator suite passed 823/823. Reviewer-owned focused runs on azure-core 1.41.0 and the compatible declared-minimum pair azure-core 1.30.0 / azure-identity 1.17.0 each produced 189 passes and the one nonempty Zendesk sample failure. An incompatible reviewer dependency overlay was corrected and is not attributed to this PR. Actual non-UTF-8 binary transport checks passed, disconfirming that candidate.
Fresh live ARM capture on 2026-10-06 reproduced all 99 Python clients, including Jira, after LF normalization. Offline Python/.NET replay kept all 100 cache hashes unchanged. All 99 parity reports ran with zero Python wire-name serialization mismatches; alias/version/request-control matching limitations still prevent a clean full cross-language parity verdict. BPM PR 17393024 remains active and upstream integration is pending. Observed GitHub checks are green; passing gates do not establish that every sample's displayed results are correct.
Independent GPT-6.1 Sol and Grok 4.7 selector requests completed; Gemini 3.8 Flash dispatch remained unavailable with HTTP400 invalid_request_body after a bounded retry. No different model was substituted, and backend identity was not independently attested. Candidate findings were accepted only after focused source/runtime adjudication. Human ownership and repository policy review remain necessary.
Regenerated all 99 clients from live ARM metadata with AzureUX-BPM c9c8f621ecc34f6d595237b2e30331d6714ae997 (default subscription plus BTS4 fallback for onedrive, orderful, and universalprint); generated outputs were unchanged.
David Burg (daviburg)
left a comment
There was a problem hiding this comment.
[Dobby] Question regarding nonpositive timeout semantics.
David Burg (daviburg)
left a comment
There was a problem hiding this comment.
[Dobby] Morning re-review of Victoria's pinned SDK head: the documented nonpositive-timeout fix passes for default and per-call zero/negative values, and prior header/retry/sample fixes remain green. Requesting changes for three independently reproduced runtime defects: default-transport empty responses raise StreamConsumedError; AsyncioRequestsTransport cannot dispatch because read_timeout reaches requests; and SDK close incorrectly awaits that built-in transport's synchronous close. These are shared SDK-runtime fixes, not generated-client/BPM edits.
Focused reviewer runs on azure-core 1.41.0 and the compatible declared-minimum pair azure-core 1.30.0 / azure-identity 1.17.0 each produced 195 passes and nine failing cases: four empty-response variants, four requests-backed timeout variants, and close without a request. A real local HTTP base/head comparison confirms the empty-response failure is introduced: base handles GET204, HEAD200, empty GET200 and empty GET400; head fails all four while nonempty GET200 succeeds. Requests compatibility checks bind the actual requests.Session.request signature before any external network I/O. Caller-supplied transport closure itself matches Azure Core ownership conventions; the close finding is about the async lifecycle protocol, not a demand to stop closing injected transports.
Ordinary checks passed: 4,327 SDK tests, flake8, mypy, all 99 sample validations, and wheel packaging. The morning compiler was rebuilt from b8b6e2761812cfee5d2703793da5cdabc5c1f0fe; Python generator tests passed116/116 and the full generator suite passed823/823. Fresh live ARM capture on 2026-10-07 reproduced all99 clients after LF normalization, including Jira. Offline Python/.NET replay preserved all100 cache hashes; all99 parity reports ran with zero Python wire-name serialization mismatches, while existing alias/version/request-control matching limitations prevent full semantic parity sign-off. BPMPR17393024 remains active, so upstream integration is pending. Observed GitHub checks:18 successful, one skipped.
Requested GPT-6.1 Sol and Grok4.7 passes completed and their candidates were adjudicated with executable checks. Gemini3.8Flash dispatch failed with HTTP400 even through an alternate analysis-agent wrapper; no different model was substituted and backend identity was not independently attested. Redirect compatibility and changelog placement remain advisory, not automatically posted blockers. Human ownership and repository policy review remain necessary.
David Burg (daviburg)
left a comment
There was a problem hiding this comment.
[Dobby] Current-head review with independent Gemini 3.8 Flash, GPT-6.1 Sol, and Grok 4.7 selector requests completed. The three previously posted transport defects are fixed: real empty-response, requests-backed dispatch, requests-backed close, and disabled-timeout reviewer checks now pass (213/213 including the existing focused slice). One additional SDK configuration defect is reproduced: when an explicit policy chain is supplied, per_call_policies and per_retry_policies are silently discarded rather than composed with that chain. The inline finding is owned by the shared SDK runtime, not the generator.
Validated this configuration against the actual Azure Core AsyncPipelineClient using the same explicit [HeadersPolicy(), AsyncRetryPolicy(retry_total=0)] chain and marker extensions. Azure Core runs both markers; this SDK successfully sends the request but runs neither. The same mismatch reproduces on azure-core 1.41.0 and the compatible minimum pair azure-core 1.30.0 / azure-identity 1.17.0. The targeted comparison/warning suite has 202 passes and this one failure on both versions. Gemini's proposed unawaited-response warning did not reproduce for real empty/nonempty responses; inherited nullable-pagination and ordinary transport-ownership concerns were not promoted.
Full gates passed: SDK 4,336/4,336; rebuilt generator source 0b7c129906ff253669a2d5e1fc95e243d79c295a, focused Python generator 116/116 and full generator 823/823; flake8, mypy, all 99 sample validations, and wheel packaging. Fresh live ARM definitions reproduced all 99 clients after LF normalization, including Jira. Offline Python/.NET replay kept all 100 cache hashes unchanged; 99 parity reports ran with zero Python wire-name serialization mismatches. Existing alias/version/request-control matching limitations prevent full semantic parity sign-off. BPM PR 17393024 remains active, so upstream integration is pending. Observed GitHub checks: 18 successful, one skipped.
Candidate findings were checked against source and executable behavior rather than accepted by model vote. Model selectors were explicitly supplied; backend identity was not independently attested. Wholesale empty-policy requirements, redirect compatibility, and documentation/test-double cleanup remain advisory rather than additional automatically posted blockers. Human ownership and repository policy review remain necessary.
David Burg (daviburg)
left a comment
There was a problem hiding this comment.
[Dobby] Latest-head review with GPT-6.1 Sol, Grok 4.7, and Gemini 3.8 Flash selector requests completed. The previous explicit-chain extension defect is fixed: the actual Core/SDK marker comparison now passes. Requesting changes for one independently reproduced SDK-runtime configuration defect: an accepted, authenticated explicit policy chain without AsyncRetryPolicy cannot dispatch because the SDK injects a retry-policy-only timeout option that reaches the transport. This is not the earlier missing-extension finding, and no generated-client or BPM edit is needed for the root cause.
The reviewer comparison uses the identical HeadersPolicy, RequestIdPolicy, and AzureKeyCredentialPolicy chain with real local HTTP. Azure Core AsyncPipelineClient returns 200 and dispatches exactly once; ConnectorHttpClient raises a duplicate-timeout TypeError before dispatch with both AioHttpTransport and AsyncioRequestsTransport. This reproduces on azure-core 1.41.0 and the compatible declared-minimum pair azure-core 1.30.0 / azure-identity 1.17.0. Each edge run has 205 passing cases and the two SDK dispatch failures. The prior composition/response-warning comparison and existing focused slice pass 205/205.
Ordinary gates passed: SDK 4,338/4,338, flake8, mypy (108 source files), all 99 sample validations, and wheel packaging. The compiler was rebuilt from paired BPM source 22cd9948f518445a5917ae7890f3460df495fc3b; focused Python generator tests pass 116/116 and the complete generator suite passes 823/823. Fresh live ARM capture on 2026-10-08 reproduces all 99 clients, including Jira, after line-ending normalization. Offline Python/.NET replay preserves all 100 cache hashes; all 99 parity reports ran with zero Python serialization-wire mismatches. Raw alias/version/request-control comparisons do not establish full semantic cross-language parity. BPM PR 17393024 remains active, so upstream integration is pending. Current GitHub checks: 18 successful, one skipped.
Nested explicit retry behavior remains a caller-owned-chain contract question; inherited sample alias misuse, redirect compatibility, and executor cancellation are not promoted to additional blockers. Candidate findings were adjudicated against source and executable behavior, not accepted by model vote. Explicit model selectors were supplied; backend identity was not independently attested. Human ownership and repository policy review remain necessary.
…oria/azure-core-runtime
…oria/azure-core-runtime # Conflicts: # CHANGELOG.md # samples/sample_connector_usage/sample_connector_usage_arm.py # samples/sample_connector_usage/sample_connector_usage_azureblob.py # samples/sample_connector_usage/sample_connector_usage_azuredigitaltwins.py # samples/sample_connector_usage/sample_connector_usage_azureiotcentral.py # samples/sample_connector_usage/sample_connector_usage_azuremonitorlogs.py # samples/sample_connector_usage/sample_connector_usage_azuretables.py # samples/sample_connector_usage/sample_connector_usage_documentdb.py # samples/sample_connector_usage/sample_connector_usage_elfsquaddata.py # samples/sample_connector_usage/sample_connector_usage_excelonlinebusiness.py # samples/sample_connector_usage/sample_connector_usage_office365groups.py # samples/sample_connector_usage/sample_connector_usage_office365groupsmail.py # samples/sample_connector_usage/sample_connector_usage_office365users.py # samples/sample_connector_usage/sample_connector_usage_onedrive.py # samples/sample_connector_usage/sample_connector_usage_onenote.py # samples/sample_connector_usage/sample_connector_usage_planner.py # samples/sample_connector_usage/sample_connector_usage_salesforce.py # samples/sample_connector_usage/sample_connector_usage_sharepoint.py # samples/sample_connector_usage/sample_connector_usage_shifts.py # samples/sample_connector_usage/sample_connector_usage_slack.py # samples/sample_connector_usage/sample_connector_usage_sql.py # samples/sample_connector_usage/sample_connector_usage_wdatp.py # samples/sample_connector_usage/sample_connector_usage_yammer.py # samples/sample_connector_usage/sample_connector_usage_zendesk.py # src/azure/connectors/arm.py # src/azure/connectors/azuread.py # src/azure/connectors/azureautomation.py # src/azure/connectors/azureblob.py # src/azure/connectors/azuredatafactory.py # src/azure/connectors/azuredigitaltwins.py # src/azure/connectors/azureiotcentral.py # src/azure/connectors/azuremonitorlogs.py # src/azure/connectors/azuretables.py # src/azure/connectors/azurevm.py # src/azure/connectors/documentdb.py # src/azure/connectors/dynamicsax.py # src/azure/connectors/elfsquaddata.py # src/azure/connectors/excelonline.py # src/azure/connectors/excelonlinebusiness.py # src/azure/connectors/jira.py # src/azure/connectors/office365.py # src/azure/connectors/office365groups.py # src/azure/connectors/office365groupsmail.py # src/azure/connectors/office365users.py # src/azure/connectors/onedrive.py # src/azure/connectors/onedriveforbusiness.py # src/azure/connectors/onenote.py # src/azure/connectors/planner.py # src/azure/connectors/salesforce.py # src/azure/connectors/sharepointonline.py # src/azure/connectors/shifts.py # src/azure/connectors/slack.py # src/azure/connectors/sql.py # src/azure/connectors/teams.py # src/azure/connectors/wdatp.py # src/azure/connectors/yammer.py # src/azure/connectors/zendesk.py # tests/generated_connector_test_utils.py # tests/test_arm.py # tests/test_azuread.py # tests/test_azureblob.py # tests/test_azuredigitaltwins.py # tests/test_azureiotcentral.py # tests/test_azuremonitorlogs.py # tests/test_azuretables.py # tests/test_documentdb.py # tests/test_dynamicsax.py # tests/test_elfsquaddata.py # tests/test_excelonline.py # tests/test_excelonlinebusiness.py # tests/test_office365.py # tests/test_office365groups.py # tests/test_office365groupsmail.py # tests/test_office365users.py # tests/test_onedrive.py # tests/test_onedriveforbusiness.py # tests/test_onenote.py # tests/test_planner.py # tests/test_regenerated_connector_samples.py # tests/test_regenerated_operation_coverage.py # tests/test_salesforce.py # tests/test_sharepointonline.py # tests/test_shifts.py # tests/test_slack.py # tests/test_sql.py # tests/test_wdatp.py # tests/test_yammer.py # tests/test_zendesk.py
Description
Adopts the async Azure Core pipeline as the generated Python client contract and regenerates the full connector catalog from live managed connector metadata. Generated clients require a caller-owned
AsyncTokenCredentialorAzureKeyCredential; retry, timeout, transport, and policy settings are passed directly to clients.The follow-up fixes the reproduced timeout regression: positive
timeout_secondsand per-operationtimeoutvalues are one total network budget across retries, response loading, and body reads. Zero or negative values preserve the base SDK no-deadline behavior and disable SDK and transport deadlines.The latest follow-up consumes Azure Core buffered response bodies without re-reading empty streams, keeps timeout options compatible with every supported
AsyncHttpTransport, and closes injected transports through their asynchronous lifecycle while preserving caller credential ownership.The latest follow-up composes
per_call_policiesandper_retry_policieswith explicit Azure Corepolicieschains at their declared scopes. Explicit chains using per-retry extensions must contain anAsyncRetryPolicy, so extension settings are never silently discarded.The latest follow-up keeps retry-policy-only context options out of accepted explicit chains without
AsyncRetryPolicy. Positive total request deadlines remain enforced by the SDK, while zero and negative values retain no-deadline behavior across both built-in async transports.Merged current
mainatc9a19f75abfaaa0e6b7e140be18b26ae053faf65and resolved the #101 regeneration conflicts by preserving the Azure Core client surface together with its query escaping, pagination regressions, sample cleanup, and validator coverage.Paired Generator PR
Generator revision used for regeneration:
4363402850811739d002b9ff483e3475c4cfc54e.Generation Provenance
The Azure Core client catalog was regenerated with generator revision
4363402850811739d002b9ff483e3475c4cfc54efrom freshwestusmanaged API exports using API version2018-07-01-preview. The merged output also preserves #101 query-contract fixes generated from AzureUX-BPM revision71906fed9cdd8765caa4ff181a2fcde4d533d0ac.47b43002cd523e3223f396f49223fdab13df797804cfda3a312a7745036deba9connector<TAB>source<TAB>arm_export_sha256<TAB>generated_output_sha256.onedrive,orderful, anduniversalprintcame from BTS4.Per-connector ARM export and generated output hashes
.pySHA-256arm5974fb8aaee9a2d46d64171889a52c0cf5345aff190a52cd045b2fc5e1d79a7f87276237e9126e21a00a849ffd80b66c6d6df222f7a7c4df4af959bdc1885378azuread480ecb572277f001bbf6b893fb2a8c70b5bafc158c46c0b96ced93ddf9b7437db39db44f493099bc0de6c78d426e0274b971efb090c873e01ea7344363367302azureautomation34aa31d4424e439bf26d4a0c2adc9627ee3fe6e19b41de2fbf85400f1245071061ba45ba7bef860d47032f24886160c80140e0785be4c3eb08badd5c719296f8azureblob2913f54ac344c619768967e0a126bd5aba4e92917e9531d081daeae1b9b76f7c5dedd46bb60d191b2a5a9f13f4854b19ba2d534c90972d3fbf0ee05c7090a865azuredatafactory9e9004143907dedb8e01453a129987c7aec959221206c16086c8d1586c8b0333a026cbc9984c2f05100aa4b36c498718538c00bb771313b484134e62553e558bazuredigitaltwinsd5d8b5fa735c04209f985697fa761a24e23d81eb23fb82236700a56e6d81a8ac15314ec673873ccf2fc6b442da357fab51a7694cdef74816fbc91ac50d09ef6cazureeventgrid7c66da60e8a32a159118d1117682e54571423b327ebd86ea4716d93438897d325cc6205301a137355682a96b3a4979e246b2ffd8ffa8ac0a86e1fc714eb53e52azureiotcentral19613b639f5451e81d7f6be142426e3f74a6749e006f75a48e87b52a013f57514cedc016dc0a6e608481b5eed4928905a07ad92669ea96649a53c6251029b4dfazuremonitorlogsd6910d0894785e464d92a3cef07bebb473d6e175797bfd43e3600338d4b9c3cd288ab623e94c197ab4e8197598d311bd18988502bbf9a12603a93f7984aa7cf1azurequeuesc6a434430eb9e7fa1885564da814266c2b2b35d55814f7d9aca4c99d2bf7b5c53c13889fbaf40643d0efef4b8f2c1289ae0f5ff0c12e0338d51853c9306c6f61azuretables613366b55d82952ef98098af1b967847a5bb1d73c642bc713960c6898a46e1679f8d1ca970110e311239552f17fd472bd15040396e2c202631724f31ceaa08d7azurevmd5fe4e4f971fe26a0aa54dcb50b828eb61ba8582c01324eddd8b3065ad32dad8dfae8369a2143dedaf09496974fc67caf8fcf29a040a1b95ef6b8f3fc491e74fboxfe54c9b5095095f2aa30b78847b006330f3a3f2d3e2c7410527e18d7d1e1e408afe09dfff1a036d0b1a1ae605ebf404c5f0df88eb6c0b21150ffc93326cc675fcampfirec86087b24f20b9f7a792c695ea265bd0f1ba84233057fc9ebebd474b443a8b7d5e77351994e5c495a61f3a3cb03622efe5b1f859ffc4d394f05f69c7ae5aa668clicksendsms4b231296afcdada895783d197201e3e91b0ec4347239209c44b56f78c47774af15f331d9259dbf5defadededdfb1bac96340d08fe50018368f6eea5661e74c3fcloudconvert712163413c172796594683be3ef469549232a63066250145701bb69e0b1ce96bb9ad71490824d3bad89032bf92753ec2672e12667b14aae0e22d8c43c72d3475cloudmersiveconvert860768b6ceff8ca5fd5f41b118b06d0cfe55076e15636295b3894e6c78cf067c1266dd8102b2a2f1dbc2419143873767903500e03b1cc9c0a81b5ae6d9b9f7fbcommondataservice8c07cdc661241079cbd8f801bb28444f7f5907b68518c161be98bc6aa6c3e24cb2ede586ad7b16fbcf9db985fe6c685caafa3a578667f6945c6674bc014c994adocumentdb065e7fdf4058c42a9d395da1de82f4d8f53cb81395dc2482a38733ebeea559697693a7f62874e6bdc1344bd89466fca9cc4f48724334964097fe6e3900b06023docusign4a8742b7bf35b705558a5ddb7607219e7ac46fd6582a1f2fe964ec72c1d435dd3bb7e3248de09c6641101d46d8bc55b6277987e1d4359164b0962616dce5336adocuware7ebc04b5a47c35f5da9a2afddb9de3bb022e169744f5362f92449939f07df143c6fd95de07e4c3a3b0cadaacbfc9a88237ab9f1d8af476921b8c13856c75f0b3dropboxd096ccafa3e65ca96c504d4a8335760f0fc8c38b9a446f9e6d6db13b83809df1295f01ae27742b7cdd10f3bc650e2b707ec17cce60f66635f719c079f52b6954dynamicsax7ad46b64824a9857eef0cd657182f571258f4e2e3127c5b5ed0f0313e80c6e558682ff869bb77c19ee618da3007af4d22f593608ce510d89ab96bf886e6d0981elfsquaddata37bd441cdd9688a86afaefae7ea2671b42c6719b0d0774bc790c7bde7a684b821afedb3f8bd9d5cdcb5020458a528913d01dcc1bd234dc17be7dd58393e9d791etsyfaf7a145d822258d612c7d1e9f6655e83e71d9a61f08f39e86909c6105a5916e0835fdd8411adb8c8372ae6f45436682e493fdae1298217f7c5413020e48792feventbrite6f2b23b6c2db52ecc1cb09a5cfc52bcf00dd070c24bdbf1b025627e34397f4755a68c21c949f8aebbb739b1e5bfda64c7525a13d0d1e3887e4473c3cc6a39614eventhubs427949755cf4f8421886ce5165b3780d3a7bd167f3ac4e44c8f519dfe636a9ed51f15ac3739f514a35c473a063740b91488c4ca26ecac830bb11399439bb13b1excelonline55b95c5aa93a92f02f3258e0daecbb158cb3dbc27abc67aecbf20375c07f648977ca858064f90e78f7c5d54bf9bbede85d3e64234c67f9a50789bae80fb35c44excelonlinebusinessa42249a6891e01690904d16e5da956c70c742c7c9587de0738456540bda87538d5c525d220c1e28f12c29d248abd410c368a731fac4ddf7e94c147df688dd327formstackformsbdecc6d0d2005bac25b31b874fe3ab9ce98c7209f4bdb069b10b4a1afaff902b67eab255e68a06bfd65134e36ecc3a93c1f1e377a535f0f7e4ae299c55f79ebbfreshservice9f0d6655b631ee3c07f50be93d62fe02ac166573f2ee79bb8a3781bca96aaee33acbffa6ce501f8b5aaa45499b201e06af176b062e1ce7ae9f9d302ff2e20b5cftpae060ad49d55f2e651e8f04a3e5ab33454f6546a67af7cc67e724cecba63eaecaf982db82a0e8172701d6b5756586876c6b171899fcd8f6f79350c2689ab262agithubab508ed2ea1f9c4cf3216d440e2d50cf86b3cc0f5312fa39ee036185d493c73ebd0f37f8386ffc7bb565195dcd247378bca03e5fef781b164514395c490543e5googlecalendardd09f24015298cc95328572c4bfdb47c3be3ee1c56a7bd48cd2c0751b2d35e2c2f3f0f65d4ef72e5cddb3208d0cd84227514695e8486c4c59d688a5d227249f3googledrivec77bf8e2a2b80669f82d97d0341ba332392b964afc962f07e78728a4421ad3383aea11827009e37a64d22ad2036d73070042d6f6a363c95f95c78d7cedfaf21dgoogletasks0c7f04201868f4f31b01a72191cf9c28617bf09cb07265ef1bab75723c20efb620c61db7b4013a7fc810b21601c398739995a9f58d147fa5e9489ebdffbb9807impexiumcabec9c237eebcae532854cdb32766e502be672e6c404e86860bdbeaefaf6c7b6c043b5a967847f225abaee9d3013cdad88415922c5ca5c878773b33a7a88763infusionsoftdbbb0d24f6d67dc9ae36c12ab2ee38d1b7daea90bef97af5b04677e8381b04822e36cb4b0834ae5c0afe5e6ddcd6b5b13742f6941246473be5273330f894b38einsightlyf5ead046092417e8c47bada3c0f12cc07b7b2efe62d3a7d025d0205c7b9c79247c0701a74902cdf80353f0ce9b260a50a6058c622e93b618c0a81a91d5bda1b1jedoxodatahubc733673ea33c7babcae0570e83eeabbe3682ae71932fcfb8bee281b9954a2199396511d8625b3a014442d7233ebd6c7498dc76a21acc6f714af8f62ca0397776jira09c9e3b933be233c381c3c0f35a9ecdb493583bb655163e0d786c31be7754a5d8a471c554b99523ef90b663248d503d9e6531c1d2d3fb5264f74e719277b8210keyvault9e7662b7fecc4f526392bc16abd0815b002ebf5bf823546ce3d126c4ce594123d75073335373ae174232d6d7483c96a5378efc7f16d7aaa6cdc3cb733c71e583kusto2a087d76fd239a5f9abf80f4e9b4b57b8e8aca4cf7bf913d22aea1a32ca05cb79a96d653821b2207cecb00c8fa59663fcb83f38eeb220fcecbc65d709d92e0c8mailchimp2cf5f68881a233e7f1c9850bc4d3649231bad35ac2d883b02b94c24962308fa6b351818bc3fdfbdbb1ab4e064b01a1654b3a4340993c1c6447440074016469c5meetingroommapd78285d9fa59597e5e8f2ff0ef55db439c1e85ed565f2257231ea215a9246465493843b320179a0a580e60caa1c22a7c13cabe1be576ad3430e93cc71bfae352microsoftbookingsf5a9d2d540ba646436feb4e3f521eb4d6d84511d92612f8290e95625e2be5321700ef8f3700644e08ee17192c61132d40f81cd380cf1ce1513cdeb23242a7fd7microsoftforms41fe0302637470344eebd0ebc2837253a6501cdf708a5297d7002408f5f2d19dc5887ace7287830b9455d8b2d08e13159a65b7aa46a3e721f29738898ae62bc5mondayc3510aa18fd7e2ce8349c28ab83e10598ffa2f25ff0dbaa6b9ccd4d2fe1e079747a2a15844f2a4a0da51e499853619912fc419635b1f493181b48462fcd54d22mqffd294fd756815f011740d654360b95e5acdbbe9ee0de2d05b64c0edd158de18f29e88106bcc3a401de7b6ec35e36003b2546954fbbd8733f75cf78484ce183fmsgraphgroupsandusercf7a73b0df7b3e26ab4c2c19a595f4c7eb3d3c935f47675735b074b00ea0af7bdcefa9ecbbdc88c18c068a16b5c497dc6fb2988667e3eb2cbc5aca70f4de9dafoffice365b58a10baa9a5ca6914bd7dff75d050cba3949c1186ef962abc2365fabdc96f05c82da5f5d3beb529eb9001b06d10d0ed4b40c2c58b66e4f0f97256bfbe7209ceoffice365groups5366c4d90de5f3f401a174954ac76c08faba7561b670908243bf3874522aa1a24a7fa1e7717b8010b37e23fc9fe95e7df6bc19219ec6a522ecfb2af85cc96ca5office365groupsmail37779afe93884a17244309536fe011b5482db7404f7e0f262961b8dc6b3f4760bd979615f09c72d7d2fab87ff6a28149e6ddd53b2014547a656a5e68ead48f5foffice365users642b5779ef601327d0345f631c9a1182b27914815a854f536b84ee99f476e1373d84a75dd1473fe1e3e4ad0c0da4ec3a1df94d1897132f6755850b282c1bd733onedrivec79f8ac32d5e272d7024ddb2962bd997c5d45acc28a93747a3b36e7ef606bb6e916d49fa0d5c194799e07e3d4b15fda072474d457e2d764a59acfd01e8fb26ebonedriveforbusinessbb09c0baccb5c324d74f9cdefa979336f849fbe903204135095bbc3e04d1c568d7aab03824a19950125dd523c661d8cd927f24d692b07a71f5c8a96cdd211f3eonenotef770e29ca5f26e51d7cc0e3ddbf54f56702ae2dfebd80dda40050b19c0414229bbe6827e5cb2d9abacd83cad3bd22752a6a3f383fd32d929381e7e14159b05a2orderfulb8382ee707badc592068578bcb292639aca3bbbaec050e877f343a95ea4a26ba3aacf3c28a115bdb9a6bb2b906b26054f251c59d590638785915349c345b0f36outlookb83f03d06d6a13848a4d2d0419c6cfd6986578c167bad54d03637664083bb240b7088962ceeadc8795a9a79008e002e53f3acd10123a5fbc19b228617d9dceb0pdfcoc9fb18e541124ef0cd7d867173a4c61eabd2c7a0b0be95bcdf5d4b1c4ede37028d573e7100699f3c225be34647b9c0339b692d54c24a06bd381051a27b17ad2cpipedrive0ad01a515fe55402fd96669a2b37c420dbad740db51520e52d7b1e187e1747707a52f176c37df7c76cc75a313a53f3dab88e06c64e1a62f631ac18c6594e161cplanner4f3f2f751541664f9ff701b2e08d64f2be39f221546e11936ef222a96394b02100bb70c7fb269cc6f5c6b6d62ecb72dec6d60d0dfe175ab412eecb9bba4beddbplivo85071ba3c076fc92eef5af2272cb2a775b9fe1b04242fdc86a7cf1429d78790a69c3222e37731f45e7214904f4936efef1dbc9bf3e01a95901e047d5a202645cplumsail08a9a832487f5c1e414757a4dab88f6c3719aaf3bdb37d4fe72dce69e9f46adbfd802f2a7cc7d0eb5d90af45e08e8053af94f42451068c4b379e7dafb6e765c6powerbi27efea205500f3a160a3c0ade08b31522cd6bb5b7601221c118c930f82efa24b7420ea7d6b5b5b6b1f01bcce324fc182b4ee8e04c696516084b56cc637a7062bprojectplace2dadbee3dfee2d60eeac8df831bd8a7b51cbbcded8480cbb7a14180fe7e50c114c134ecaf1b9521650a8a97b47eea4bcda7b6d3f8a401de0211b7f8559867854replicon8af777a66023a7ffd02c8e1ce5261119a529da8dc4fab07eebbe0c2454264b2c8fc72de1bc75461bf1be92a0fc587fe9a3801cf48ba2fc97416344c4d959be01revai0b0aa956275624c23f31a2c3c3315f49fb26d8559e80e6ec536f6364c04e103778e5968c37993933c3336089e57c6e8f45141cbabaee1efe30621250a2c60548rsse8470f461e7b966cc86b51733674510b7cc3a4f719611e1a337f8fad7fcf96d24b8a2439ce5d869461d6af741e008a372e3adffb73d093a5e3a58cad9f01fc2dsalesforce57ad15ab50d2d1796a1520b9a03d85dbabbf52b5ac722b05e390f1787926051f5e397457e9c34785edc18847700be176c4f4b18c8f7a576bba77dd4e5c95ff3dseismicplanneradb321a0255847eab5f08294342cc59e9a12124b02b3676e5c43176fab46067020987b9d1475d02197ec0c15e482bda517c57e67e73dd1ddbd829efa89fc6b23sendgrida5d7caddb68834238831a5a808180c5f84c0c7075130fc09a0a2a998a0dc7fd62bfafd2bd692dc32e8ba1f2c8ccea853633395d816563cc66d653f4fa42ee1f7servicebusb772b0ee3a4cbaee6e5f35c5690397ca0676855555051164ac3bdfd809ccd44b2e4822b51ea40f62cab6504a7c04fa34120a93837c5b8b7fb742b1cfbfa8fe7esharepointonlineecc0784ebe0ff3a418073094c66b3ec52154b5809b7234e1e9336c917ce48fbf95b87b1ace2ea975572975600e516ba5618af9cd6b09de74ca524f0725b5e120shiftsdb4ed2f1af41c20cf583de3ebf7351ffa12baae52abb565906c7e46ef7eb86b90e7f2fb30ebffad0d409566dd4d28406279918142dcc1d6c024f835bbdece5adsigninghub209a58f4fa78b19845cd3d7b6f4e01d94f73ace0a9832c73f804449f682634044b6c47fc3869ac1db48f399c870e515d5046ce44e7818e9688e515ad6d782755slack9628ffa4396b91d06a3ef246926c86beea3513602b8b8f5a1d6f22c38386c3364046412db17b13b83cee520bd8c83a8ada0b61c8100f9b2613ed7d85e52393besmtp095d7b6b4ccace265ee4df85f523c7af655711baf374293cb33bfc727ff35c7e11370b9c348d675668036c50a7fa3d215e733bfccba10ad81421614f972fba85sqlce1b8d471f2a8ca04e7919434266694173a456b0af27710de3694cbf84f01972e86a415bd64b799499fe2dee825e160a5051a1d9902e75e0ceb8ddc7c37f594estarmind68e8f77b6ab9fe0b7b86784efb7e9f551dce53499940f4728db1f85809255340e92c28aa45623e2a9ee4b9127d2dd046697be594c09ed68160ad12f831b306fastarrezrestv1ec00ac764f396b41b9725414ad10f2b358ee583bbea760ae99a91799d48d0e73b2c0c44ee863cad610b881e40540df5b773679c1a9fdeb7a4cdb5b9678d04532tallyfyfc196fdc54606cac820bcf67025b6505b9f6e4c5c74fad4d7da44533e5aad4641b9ffceef9093317d9943747165d77370ecb1f913064306646984e35bbfbadf1teams0116fc974e54ff4c9a69ef386b9f990f1d51d226f1666bbd705f53e720b955e82894c7b05afb6bdf54213450c862324d240b2ca6942a26642a0d8f2ff20ae337textrequestae8e02fd550831232602aed510c23be86b8287c394d9b4ffdfc3f8657b9d7adbb924e52d8cfe8613402d303f89c6343a04b60594d076182c6f4c4159ecac87a4ticketmaster70eb7108409c5e0a3010a6564300b595825e2e700e30f721c9f0bc2b16cf17ca79a5fdc71b547dac6c5f50dac829e36d4065b7c6aaee33afdb35cd70929ef558todod500a1028c6e81a051a849c6a6382082363f5bcc0c74d1c132d825210670ca6abd0e585941eeb9c28d3d10d4900c9a8622362f1f069c6868a39ab18c6928af2etrellod916351d7242576f38bfa018f922ed49cd58e08e7e63bee4801d9e9dd5a8b97f37c8bb1e73cd8d7fe4474cdc3f5a955abb4e67162888bf1fd99d25d0b9b23f6etwittere617b4c93b41a36d2a645edd420063a56b17302a5c25c6d9f7725cb10c218abd718c241f300ceb4932ae37cdd92a83d4203ed0fe3d9e59d4e05e9f765e3a1d5ctypeform9c6a2b915765e47cbe1416322f810908e82ef991cf124f9ec89569d149fa9625f552457258db9274d4d1663299575914a6f33689e1facdb5b8ad5e25c8583b7euniversalprint46eb75534617fffca747ab0a1a6ea03844d5e2f810f4488fcabac962ff9f3b134b32ee553c4ae7798b9d428cd36268ec52b1cc20aa8601f7e8898deef3b947e5waywedo7f5fc1e2e00c11874a8c9bf6b2301ebfe325de3f70e4b786f316d11f3555d21a186b29649535f7599d1ae9c7a0c66508b09d559a50d42f722918b7ba0e0e4345wdatpa0aa86e34831de1f7206b3d26ac89b7fa446b9f64b7555555ba5c96d70b8fa168491a9790675b0b683daff38f9fc0138615e189398d20da14cd9b4cc15471be0webex171e92c116967fbfef49546c895cc4f1de3304102c7d45b6ed2ba371e9ad07dca598a3167ddbd90885c4277662367fea0f4f89340664169bdc580280f50b3f6fwordonlinebusinesse7d1b48fc4ac9758220441a2ca0c3c77bc490f35a406df947c69b3cfb1d703585ee368109eeb266cda183e6bf736b4903aef6533617c7ab20a6d77bd498d04a2wordpressa9386247d5261e0746aa5d8ee445d014ec0151f26594837d95b7c3d9dd68cb061eb14b3d975c105611c9827d965c87af180385881963ea6f9ca6e7ff4508bfa5yammer010c481c1a53c2dbda78c376fc5aa20deaafb6bce7d4dfaf72cc25b0d6bc92d18a8da9731732d9284fb30abc8a7dbbc71555c66894a88aedfba106efd16a9086zendeskf568516a726b1eb89d50c38c34582f20fd3bb315d29f5f139eb563ddf84b1f8a96792ebcd031fd70b43b7642c217d1b95b93a103bc754aa29d20ccdb7612e465zeptomail85dd833f593445f5fa135d342774d12f211707b1d0de6d2ef1695d985e5c48545cb2c5005d9f1f8e3373e95cbf4f95ea0edabf4d3c4ac8d76adf8be5f34cc5afzohosignce62c4d774b291d1ccbf5a1f258613e938f894400c77cec02eefca0bbd9c823979e74907dec8db0653dd50dd9e97cd09e95a9ce7c37d364585537fa563fa3891Changes
timeout_secondsand per-operationtimeoutas one total network budget across retries, response loading, and body reads while preserving caller-supplied transport ownership.timeout,headers,client_request_id, andresponse_hookcontrols to generated operations, including collision-safe parameter renaming.fieldsquery parameter instead of hardcoding*all.Testing
pytest): 4,466 passedflake8 src tests samples)mypy srcpasses for 108 source filespython -m buildproduced wheel and sdistazure-core==1.30.0and current1.41.0Checklist