npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@right-link/paperclip-plugin-codex-remote

v0.3.15

Published

Standalone external Codex sandbox adapter for Paperclip (fork add-on, installed via the adapter plugin store)

Readme

paperclip-plugin-codex-remote

Runs Codex inside a remote sandbox (e.g. the cloudflare-bridge sandbox provider) and lets the agent talk back to Paperclip through the runtime API bridge. The agent owns task work, Git, PR creation, comments, and issue status updates; this adapter owns sandbox setup, remote CODEX_HOME sync, preflight, and clean finalization.

Adapter type: codex_remote.

A standalone external adapter (no upstream changes)

This is a fork add-on packaged as an external adapter. Paperclip loads it through the adapter-plugin store (buildExternalAdapterscreateServerAdapter()), so nothing in upstream Paperclip is modified — no edits to server/src/adapters/registry.ts, builtin-adapter-types.ts, or any core file. Upstream pulls apply conflict-free.

It is also fully independent of codex_local: it does not import, extend, or fall back to the upstream codex-local adapter (an earlier experiment built it on top of codex-local and was unstable). It ships its own parse, skills, quota, codex-home, codex-args, cli, ui, and model lists, and depends only on published @paperclipai/adapter-utils exports.

Entry points

  • .createServerAdapter() — the complete ServerAdapterModule the host loads. Folds the sandbox preflight/verify + remote defaults (timeoutSec default, dangerouslyBypassApprovalsAndSandbox, remoteWorkspaceSync: false) over the package's base execute/testEnvironment.
  • ./server — raw building blocks (execute, skills, quota, sessionCodec, …).
  • ./meta — isomorphic metadata (models, modelProfiles, agentConfigurationDoc).
  • ./ui — UI helpers (parseCodexStdoutLine, buildCodexRemoteConfig).
  • ./cli — quota probe CLI.

Install

Build, then register the package with a Paperclip instance through the adapter plugin store (Adapters page → install by package name, or a localPath record pointing at this directory's built output):

paperclip-plugin-codex-remote

No restart-time wiring is required — the host picks it up via the plugin store and registers the codex_remote adapter type.

How a run works (happy path)

  1. Acquire/resume a per-issue sandbox via the configured sandbox provider.
  2. Verify the workspace (main + bridge session), sync a sanitized CODEX_HOME (provider config.toml, no auth.json), install it at /root/.codex.
  3. Start the runtime-API bridge so the agent can call Paperclip from inside the sandbox.
  4. Preflight, then run codex exec in the sandbox over the HTTP execution path.
  5. The agent calls Paperclip via the bridge (fetch issue context, post comments, PATCH issue status) and finalizes its own work.

Artifact upload validation

Use this recipe after changing the sandbox callback bridge or artifact helper path:

  1. Start a real codex_remote task on the Cloudflare sandbox provider.

  2. In the sandbox, create or capture a small PNG below the bridge body limit.

  3. Run the bundled helper from the checked-out repo:

    skills/paperclip/scripts/paperclip-upload-artifact.sh tiny.png \
      --title "codex_remote artifact smoke PNG" \
      --summary "Small PNG uploaded through the sandbox callback bridge"
  4. Add the helper's final comment snippet to the issue.

  5. Let the sandbox tear down, then confirm the Paperclip attachment/work-product link still opens from the issue.

Configuration

See agentConfigurationDoc (exported from ./meta) for the full field list.

Not yet included

  • Custom UI run-log parser — external adapters serve a self-contained, zero-dependency worker module at /api/adapters/:type/ui-parser.js. The package's parse-stdout logic isn't yet bundled into that worker-compatible form, so the run log uses Paperclip's default rendering until a bundled ./ui-parser export is added. Functionality is unaffected.

Build / test

pnpm --filter paperclip-plugin-codex-remote build
pnpm --filter paperclip-plugin-codex-remote exec vitest run