From 7022bbee224c4d1714bf7501c2a75144b1d54250 Mon Sep 17 00:00:00 2001 From: Ahmed Abushagur <52082882+AhmedTMM@users.noreply.github.com> Date: Fri, 31 Jul 2026 14:53:08 -0700 Subject: [PATCH] feat(cli): add cursor, pi, and t3code marketplace images All ten agents now have vendor-portal listings and app IDs in MARKETPLACE_APP_IDS, so the remaining three can use pre-built images. The unmapped-agent test switches to a name that is actually unmapped, since cursor is now in the map. Co-Authored-By: Claude Opus 5 (1M context) --- packages/cli/src/__tests__/do-marketplace.test.ts | 2 +- packages/cli/src/digitalocean/digitalocean.ts | 3 +++ sh/digitalocean/README.md | 5 ++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/__tests__/do-marketplace.test.ts b/packages/cli/src/__tests__/do-marketplace.test.ts index 1527d2f27..37413a668 100644 --- a/packages/cli/src/__tests__/do-marketplace.test.ts +++ b/packages/cli/src/__tests__/do-marketplace.test.ts @@ -30,7 +30,7 @@ describe("resolveMarketplaceImageSlug", () => { }); it("returns undefined for unmapped agents", () => { - expect(resolveMarketplaceImageSlug("cursor")).toBeUndefined(); + expect(resolveMarketplaceImageSlug("not-a-real-agent")).toBeUndefined(); }); it("returns undefined when SPAWN_DO_FORCE_UBUNTU=1", () => { diff --git a/packages/cli/src/digitalocean/digitalocean.ts b/packages/cli/src/digitalocean/digitalocean.ts index 0ff15466c..c1d9c8843 100644 --- a/packages/cli/src/digitalocean/digitalocean.ts +++ b/packages/cli/src/digitalocean/digitalocean.ts @@ -1056,6 +1056,9 @@ export const MARKETPLACE_IMAGES: Record = { kilocode: "openrouter-spawnkilocode", hermes: "openrouter-spawnhermes", junie: "openrouter-spawnjunie", + cursor: "openrouter-spawncursor", + pi: "openrouter-spawnpi", + t3code: "openrouter-spawnt3code", }; /** Resolve DO marketplace slug for an agent, honoring opt-out flags. */ diff --git a/sh/digitalocean/README.md b/sh/digitalocean/README.md index aae3bbb86..4788cfc09 100644 --- a/sh/digitalocean/README.md +++ b/sh/digitalocean/README.md @@ -89,8 +89,11 @@ Spawn uses DigitalOcean 1-click marketplace images when a slug is available. The | kilocode | `openrouter-spawnkilocode` | | hermes | `openrouter-spawnhermes` | | junie | `openrouter-spawnjunie` | +| cursor | `openrouter-spawncursor` | +| pi | `openrouter-spawnpi` | +| t3code | `openrouter-spawnt3code` | -Agents without a marketplace mapping (e.g. `cursor`, `pi`, `t3code`) use Ubuntu 24.04 with cloud-init and a full agent install. +Agents without a marketplace mapping use Ubuntu 24.04 with cloud-init and a full agent install. To force a fresh Ubuntu install for testing or E2E: