Skip to content

feat(registry): add @suedeai/plugin-suede community entry - #19210

Merged
lalalune merged 1 commit into
elizaOS:developfrom
JasonColapietro:feat/registry-suedeai-plugin-suede
Aug 13, 2026
Merged

lalalune merged 1 commit into
elizaOS:developfrom
JasonColapietro:feat/registry-suedeai-plugin-suede

Conversation

@JasonColapietro

Copy link
Copy Markdown
Contributor

Lists @suedeai/plugin-suede as a third-party plugin, following packages/registry/README.md β†’ "Adding a third-party plugin".

This is the follow-up to #8016, which added a plugins/plugin-suede/ directory to the monorepo and was closed. That approach was wrong β€” community plugins belong in the registry, not in-tree β€” so this PR drops the in-tree wrapper entirely and adds the entry instead. The two files here are the only diff.

What it does. Music, video, and image generation from Suede AI, paid for per call by the agent's own wallet over x402 β€” USDC on Base, no service API key and no signup. The agent gets three actions (GENERATE_MUSIC_SUEDE, GENERATE_VIDEO_SUEDE, GENERATE_IMAGE_SUEDE) plus an exported SuedeClient for programmatic use. Endpoint discovery is served at /.well-known/x402.json.

Config.

Variable Required Default Notes
SUEDE_WALLET_PRIVATE_KEY Yes β€” 0x-prefixed hex. The wallet the agent pays from.
SUEDE_SERVICE_URL No https://app.suedeai.ai Override for staging.
SUEDE_NETWORK No base-mainnet base-sepolia to exercise the flow without real USDC.

On the private key β€” flagged on the previous PR, and a fair thing to ask about. The source is now public and MIT at https://github.com/JasonColapietro/elizaos-plugin-suede, so the handling is auditable rather than taken on trust. Concretely, in src/x402-client.ts the key is passed to viem's privateKeyToAccount and used for exactly one thing: signing an EIP-3009 TransferWithAuthorization for the amount quoted in the server's 402 challenge. The signature travels in the X-PAYMENT header; the key is never written to disk, logged, or sent over the network. The README documents the blast radius, recommends a dedicated agent wallet over a treasury wallet, and points at base-sepolia for testing.

Checklist from the guide:

  • Published to npm, outside the reserved @elizaos/* scope β€” @suedeai/plugin-suede@1.0.0
  • elizaos in package.json keywords (runtime auto-discovery)
  • Public GitHub repository: https://github.com/JasonColapietro/elizaos-plugin-suede (MIT)
  • README with setup steps and the required env vars
  • @elizaos/core declared as a peerDependency (^1.0.0, against the current stable 1.7.2 line)

Verified locally before opening this:

  • bun run --cwd packages/registry validate β†’ 44 third-party entries validated
  • bun run --cwd packages/registry generate β†’ regenerated generated-registry.json (the only two files in this diff, no unrelated churn)
  • bun test packages/registry/src/registry.test.ts β†’ 13/13 pass
  • On the plugin itself: tsc build clean and 6/6 vitest against a fresh npm install

Happy to adjust the description length, tags, or entry shape.

Music, video, and image generation from Suede AI, payable per call by the
agent's own wallet over x402 (USDC on Base). Source entry plus regenerated
wire registry via 'bun run generate'.
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.

2 participants