f785d76bc9
`timeout` is `optional int32` and `bash` documents `0` as "disables the command deadline". Both the bridge and the provider's synthesized block gated on `timeout && timeout > 0`, folding a supplied `0` into unset — so the 300s default applied and the long-running command that asked not to be killed was killed. The expression was duplicated across the two sides, which is the drift the shared translation exists to prevent, so it moves into `cursor-pi-args` as `piTimeout` alongside the other presence-sensitive mappings. Negatives have no local meaning and would clamp to `bash`'s 1s floor, so those still fall back to the default. Verified against a real BashTool: `timeout: 0` yields `timeoutDisabled: true`, omitted yields the default, `42` passes through, and `-5` matches the omitted case rather than the 1s clamp. Mutation-checked on both branches. (cherry picked from commit db442ae5aed90dc2268b2d898ef99ef4e0961c10)