Patch Changes
-
706c553: Template SDK fixes:
- Sort files by full path in
getAllFilesInPathso the files hash no longer depends on filesystem traversal order (the previoussort()was a no-op on globPathobjects). - Match the exact listening port in
waitForPort(viass'ssportfilter) so e.g. port 80 no longer matches 8080. - Shell-quote the URL, filename, and process name in
waitForURL,waitForFile, andwaitForProcess. - Shell-quote paths and arguments in
remove,rename,makeDir,makeSymlink,gitClone(URL/branch/path), and the devcontainer helpers so values with spaces or shell metacharacters work correctly. - Keep fetching build logs after a terminal build status is returned so the tail of the logs (beyond the 100-entries-per-call API limit) is no longer dropped.
- Collect one stack trace per
COPYinstruction so failed-step stack traces stay aligned aftercopy()with multiple sources orcopyItems(). - Strip ANSI escape codes in
LogEntrymessages, matching the Python SDK.
- Sort files by full path in
-
432c091: Add integration attribution options that append integration metadata to the SDK
User-Agent. -
71b450f: Recognize Bun and Deno connection-dropped errors in the sandbox health check. When the connection to a sandbox is dropped mid-request, each JS runtime surfaces it with different wording (Node/undici:
terminated, Bun:The socket connection was closed unexpectedly, Deno:error reading a body from connection). All known variants are now matched, so a sandbox killed mid-request is reported as aTimeoutErroron Bun and Deno too, matching Node.