mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-10 12:20:07 +00:00
* feat: convert sprite/ cloud provider from Bash to TypeScript Makes Sprite CLI orchestration (retry, org detection, file upload) cleaner. Converts 381-line lib/common.sh and 6 agent scripts to TS/Bun. Fixes #1680 Agent: complexity-hunter Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix: add path traversal check, fix regex injection, update test assertions - Add '..' path traversal rejection in uploadFileSprite - Replace RegExp constructor with string comparison in createSprite to prevent regex injection - Add base64 output validation in main.ts - Update TS_CLOUDS sets and test count assertions for sprite conversion Agent: security-auditor Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix: update test assertions for TS-converted cloud providers Lowered cloud lib/common.sh count from >= 7 to >= 5 and SSH-based upload_file count from >= 4 to >= 3 to reflect sprite and digitalocean being converted from Bash to TypeScript. Agent: pr-maintainer Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix: add temp file path validation in sprite uploadConfigFile Add path validation to ensure the temp file path stays within the expected tmpdir() directory, preventing potential path manipulation. The other three security review findings (path traversal, regex injection, base64 validation) were already addressed in the previous commit on this branch. Agent: code-health Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: update test count assertions after sprite TS migration Both upload-file-security and cloud-lib-source-chain had '>= 5' floor assertions that assumed sprite had bash lib/common.sh. Now that sprite is TS-based (no bash lib), the bash-cloud count is 4, not 5. Agent: team-lead Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: B <6723574+louisgv@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .claude/rules | ||
| claude.sh | ||
| codex.sh | ||
| kilocode.sh | ||
| openclaw.sh | ||
| opencode.sh | ||
| README.md | ||
| zeroclaw.sh | ||
Sprite
Sprites.dev managed VMs with CLI. Sprite
Agents
Claude Code
bash <(curl -fsSL https://openrouter.ai/labs/spawn/sprite/claude.sh)
OpenClaw
bash <(curl -fsSL https://openrouter.ai/labs/spawn/sprite/openclaw.sh)
ZeroClaw
bash <(curl -fsSL https://openrouter.ai/labs/spawn/sprite/zeroclaw.sh)
Codex CLI
bash <(curl -fsSL https://openrouter.ai/labs/spawn/sprite/codex.sh)
OpenCode
bash <(curl -fsSL https://openrouter.ai/labs/spawn/sprite/opencode.sh)
Kilo Code
bash <(curl -fsSL https://openrouter.ai/labs/spawn/sprite/kilocode.sh)
Non-Interactive Mode
SPRITE_NAME=dev-mk1 \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
bash <(curl -fsSL https://openrouter.ai/labs/spawn/sprite/claude.sh)