Skip to content

skills: Gmail helper calls the API via curl so it - #398

Merged
ReganBell merged 3 commits into
mainfrom
upstream-1739
Aug 13, 2026
Merged

skills: Gmail helper calls the API via curl so it#398
ReganBell merged 3 commits into
mainfrom
upstream-1739

Conversation

@ReganBell

@ReganBell ReganBell commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

works behind an https CONNECT egress proxy The Gmail skill helper's HTTP layer used Python urllib, which cannot tunnel through an https:// CONNECT egress proxy, so in sandboxes routed through one every helper call failed and agents fell back to hand-rolled plain-text sends — losing the multipart/alternative HTML mirror and producing mail that recipients see re-wrapped at a narrow width. The helper's call() now shells out to curl, which tunnels CONNECT proxies natively; MIME construction is untouched, and non-2xx or non-JSON responses exit cleanly with the status and a body excerpt. Stub-curl tests assert the request shape (URL, auth header, JSON body over stdin), response parsing, and error behavior.

Deployment notes

Release note: existing sandboxes keep the old gmail.py until re-provisioned/re-seeded
skills-seed script change only (gmail.py urllib→curl). New sandboxes get the fix at seed time;
boxes provisioned before the upgrade keep the stale copy until their skill tree is re-seeded — the
fork ran a manual sprite sweep for this; upstream needs a release note or an automatic re-seed
path for existing sandboxes.
Adds a runtime expectation that curl exists in the sandbox image (universally true in practice).


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

16francej and others added 2 commits August 13, 2026 10:19
* feat: surface named environments in admin

Co-Authored-By: QM <qm@users.noreply.github.com>

* refactor: clarify environment metadata response

---------

Co-authored-by: Sprite <noreply@sprites.dev>
Co-authored-by: QM <qm@users.noreply.github.com>
works behind an https CONNECT egress proxy The Gmail skill helper's HTTP layer used Python urllib, which cannot tunnel through an https:// CONNECT egress proxy, so in sandboxes routed through one every helper call failed and agents fell back to hand-rolled plain-text sends — losing the multipart/alternative HTML mirror and producing mail that recipients see re-wrapped at a narrow width. The helper's call() now shells out to curl, which tunnels CONNECT proxies natively; MIME construction is untouched, and non-2xx or non-JSON responses exit cleanly with the status and a body excerpt. Stub-curl tests assert the request shape (URL, auth header, JSON body over stdin), response parsing, and error behavior.
Comment thread test/gmail-mime.test.ts Fixed
@ReganBell
ReganBell merged commit 1864c8a into main Aug 13, 2026
21 checks passed
@ReganBell
ReganBell deleted the upstream-1739 branch August 13, 2026 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants