* feat(integrations): add Bitbucket Cloud
* fix(bitbucket): enforce selector workspace slugs
* fix(bitbucket): overfetch small pipeline log tails
* fix(bitbucket): harden provider edge cases
* fix(bitbucket): accept provider diff redirect specs
* fix(bitbucket): stop advanced-field leakage and harden log, status, and selector paths
Splits the `closeSourceBranch` advanced subBlock into per-operation ids. Advanced
fields serialize without evaluating their condition, so a value set on Create Pull
Request reached Merge Pull Request and closed the source branch unprompted.
Also:
- read step logs through the byte-capped server transport and map an empty-log 416
to an empty result, keeping a genuine 416 an error
- trim a step log's partial leading line after the character cap rather than before,
and never return an empty log when the retained window held content
- surface Bitbucket's `error.detail` alongside `error.message`
- treat commit-status `key`/`state` as nullable so one malformed row cannot drop a page
- match repository `full_name` case-insensitively and reject dot segments in a
workspace slug before the outbound request
- type `reviewerAccountIds` as the comma-separated string it is
- trim optional Bitbucket query strings; correct the token lifetime to two hours
---------
Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local>
Co-authored-by: Waleed Latif <walif6@gmail.com>