Skip to content

refactor(sandbox): move freestyle runner and docker helpers into mesh-plugin-user-sandbox#3172

Merged
pedrofrxncx merged 1 commit intomainfrom
refactor/sandbox-runner-packaging
Apr 24, 2026
Merged

refactor(sandbox): move freestyle runner and docker helpers into mesh-plugin-user-sandbox#3172
pedrofrxncx merged 1 commit intomainfrom
refactor/sandbox-runner-packaging

Conversation

@pedrofrxncx
Copy link
Copy Markdown
Collaborator

@pedrofrxncx pedrofrxncx commented Apr 24, 2026

Summary

Pure refactor — no behavior change. Split off from #3171 so the packaging work can land independently of the new Kubernetes runner.

  • Freestyle runner migrated from apps/mesh/src/sandbox/ to packages/mesh-plugin-user-sandbox/server/runner/freestyle/, exposed via a new ./runner/freestyle subpath export. Freestyle SDKs are now optionalDependencies so docker-only deploys don't pull them.
  • Docker runner reorganized into its own directory: docker.tsdocker/runner.ts, with local-ingress and sweep moved alongside.
  • Shared helpers (dev-server, handle, inflight, lock, preview-url) extracted into server/runner/shared/ so freestyle and docker stop duplicating them.
  • RunnerKind moved from runner/index.ts to runner/types.ts (single source of truth).

Test plan

  • bun run check passes
  • bun run lint passes
  • bun test packages/mesh-plugin-user-sandbox passes
  • Local bun run dev boots and a docker-runner VM starts/stops cleanly

🤖 Generated with Claude Code


Summary by cubic

Moved the Freestyle runner and Docker helpers into mesh-plugin-user-sandbox and added a ./runner/freestyle export. No behavior change; docker‑only installs no longer pull Freestyle SDKs.

  • Refactors

    • Freestyle runner moved to packages/mesh-plugin-user-sandbox/server/runner/freestyle/ and exported via ./runner/freestyle; apps/mesh now imports from mesh-plugin-user-sandbox/runner/freestyle.
    • Docker runner split into server/runner/docker/runner.ts with local-ingress and sweep colocated; new server/runner/docker/index.ts re-exports.
    • Shared helpers (dev-server, handle, inflight, lock, preview-url) extracted to server/runner/shared/ and used by both runners.
    • RunnerKind moved to server/runner/types.ts as the single source of truth; ./runner export surface updated to source Docker/local-ingress/sweep from the new paths.
  • Dependencies

    • Added ./runner/freestyle subpath export in packages/mesh-plugin-user-sandbox/package.json.
    • Moved Freestyle SDKs to optionalDependencies (@freestyle-sh/with-bun, @freestyle-sh/with-deno, @freestyle-sh/with-nodejs, freestyle-sandboxes) so Docker-only deploys don’t install them.

Written for commit 4ec33eb. Summary will update on new commits.

…-plugin-user-sandbox

Freestyle runner (daemon-script, runner, test) migrated from apps/mesh/src/sandbox/
to packages/mesh-plugin-user-sandbox/server/runner/freestyle/ so the plugin owns
all sandbox runner implementations; apps/mesh imports it via the new
./runner/freestyle subpath export.

Docker runner reorganized into its own directory: docker.ts -> docker/runner.ts,
plus local-ingress and sweep moved alongside. Shared helpers (dev-server, handle,
inflight, lock, preview-url) extracted into a shared/ directory so freestyle and
docker runners stop duplicating them.

RunnerKind type moved from runner/index.ts to runner/types.ts (single source of
truth); plugin package.json gains ./runner/freestyle subpath export and migrates
freestyle SDKs to optionalDependencies since docker-only deploys don't need them.

No behavior change.
@github-actions
Copy link
Copy Markdown
Contributor

🧪 Benchmark

Should we run the Virtual MCP strategy benchmark for this PR?

React with 👍 to run the benchmark.

Reaction Action
👍 Run quick benchmark (10 & 128 tools)

Benchmark will run on the next push after you react.

@github-actions
Copy link
Copy Markdown
Contributor

Release Options

Suggested: Patch (2.272.9) — based on refactor: prefix

React with an emoji to override the release type:

Reaction Type Next Version
👍 Prerelease 2.272.9-alpha.1
🎉 Patch 2.272.9
❤️ Minor 2.273.0
🚀 Major 3.0.0

Current version: 2.272.8

Note: If multiple reactions exist, the smallest bump wins. If no reactions, the suggested bump is used (default: patch).

@pedrofrxncx pedrofrxncx merged commit 72ad68c into main Apr 24, 2026
15 checks passed
@pedrofrxncx pedrofrxncx deleted the refactor/sandbox-runner-packaging branch April 24, 2026 06:36
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.

1 participant