Raise default PowerShell timeout to 10 minutes - #67
Merged
Conversation
The 60s default was tuned to the tool-call timeout most AI agents enforce, but it fired constantly on larger scripts (index rebuilds, publishing, bulk item updates) and aborted work that would have succeeded. This timeout is there to stop a hung Sitecore endpoint holding the connection open forever, not to bound legitimate script runtime, so a generous default is the safer failure mode. Still overridable via POWERSHELL_TIMEOUT_MS. Bumps 1.4.1 -> 1.4.2 (package.json, docker publish workflow tags, and the docker:* npm scripts, which had drifted behind at 1.4.0).
Everything in the file sat under [Unreleased] even though 1.4.0 and 1.4.1 had already been tagged and published to npm and Docker Hub. Split it into dated [1.4.0] (the harden & modernize work, tag 983b773) and [1.4.1] (docker publish workflow fixes only), and give the new PowerShell timeout default its own [1.4.2] section. The 1.4.0 request-timeouts entry is restored to describe the 60s default that version actually shipped, with a pointer to the 1.4.2 change.
Antonytm
approved these changes
Jul 30, 2026
Owner
|
Approved. A new release was prepared. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
POWERSHELL_TIMEOUT_MSdefaulted to 60s. That was originally chosen to match the tool-call timeout most AI agents enforce, on the reasoning that a longer server-side timeout would just let the agent give up first. In practice it fires constantly on larger scripts — index rebuilds, publishing, bulk item updates — and aborts work that would have succeeded.The tradeoff is worth restating: this timeout exists to stop a hung Sitecore endpoint holding a connection open forever, not to bound legitimate script runtime. For that job a generous default is the safer failure mode, and an agent with a shorter tool-call timeout still cuts things short first regardless of what the server allows.
What
src/tools/powershell/client.ts, with the reasoning recorded in the comment. Still overridable viaPOWERSHELL_TIMEOUT_MSin either direction.package.jsonplus the hardcoded tags in both docker publish workflows. Thedocker:*:build/pushnpm scripts were also bumped — they had drifted behind at 1.4.0, so they would have built and pushed an already-published tag.[1.4.0]/[1.4.1]/[1.4.2]sections. Everything was still sitting under[Unreleased]despite 1.4.0 and 1.4.1 being tagged and published, so the file described behaviour that did not match either released version. The 1.4.0 request-timeouts entry now correctly documents the 60s default that version shipped, with a pointer to the 1.4.2 change.Notes
[1.4.2]is dated 2026-07-30 on the assumption of a release around now; worth adjusting if it slips.[Unreleased]heading remains — happy to add an empty one back as a landing spot for the next change if you prefer that.Testing
npm run typecheckpasses. The change is a single default constant, no behavioural branch added.