Conversation
Release OptionsSuggested: Patch ( React with an emoji to override the release type:
Current version:
|
🧪 BenchmarkShould we run the Virtual MCP strategy benchmark for this PR? React with 👍 to run the benchmark.
Benchmark will run on the next push after you react. |
03254b1 to
37ffa22
Compare
acb4692 to
b87313a
Compare
New Kubernetes runner lives at mesh-plugin-user-sandbox/runner/k8s and sits behind its own subpath export so docker/freestyle deploys never pull in @kubernetes/client-node. Opt in with MESH_SANDBOX_RUNNER=kubernetes; docker stays the dev default. Image side: bumps Bun to 1.3.11 so the daemon can read modern bun.lock (configVersion: 1), and adds a per-boot BOOT_ID to /health so the runner can detect container restarts (OOMKill, eviction) and re-bootstrap the workdir instead of stranding a live pod with an empty /app.
- Bumped version of decocms to 2.274.0. - Updated various dependencies including @ai-sdk/anthropic, @ai-sdk/gateway, @ai-sdk/google, @ai-sdk/openai, and @ai-sdk/provider-utils to their latest versions. - Added new entries for @anthropic-ai/claude-agent-sdk and its platform-specific variants.
|
Heads up — PR #3178 lands a unified daemon codebase at The unified daemon already exposes Happy to pair on the rebase when #3178 is in — should be small for the k8s side since the daemon contract is the same across runners. |
VM_START used to block until clone+install finished (~30s on medium repos). The Terminal tab opens its SSE connection only after VM_START returns, so users saw the entire setup output dumped at once via `replayTo` instead of streaming live. Run repo bootstrap in the background (Docker + K8s runners) and persist the handle BEFORE bootstrap so /api/sandbox/<handle> resolves while clone is still running. Bootstrap output streams through the daemon's log ring under a `setup` source so the Terminal tab can subscribe via SSE. Daemon side: split bash output on any CR/LF run so git's progress reports surface as distinct log lines instead of accumulating until the trailing newline. Set CI=1 in dev-process env so Vite's interactive shortcut reader doesn't EOF and exit when stdio is ignored. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
85702d1 to
4c63497
Compare
What is this contribution about?
Screenshots/Demonstration
How to Test
Migration Notes
Review Checklist
Summary by cubic
Adds a Kubernetes sandbox runner and moves repo bootstrap to run in the background with live setup logs. Mesh/SDK accept
runnerKind: "kubernetes"; the daemon adds a per-bootbootId, and the image bumps to Bun 1.3.11.New Features
KubernetesSandboxRunnerinmesh-plugin-user-sandbox/runner/k8s(opt in withMESH_SANDBOX_RUNNER=kubernetes). Uses per-claimDAEMON_TOKEN, Bun-native TLSfetchwith kubeconfig creds, readiness watch, and deterministic local port-forward; supportspreviewUrlPatternfor ingress-based previews, and refreshes claim TTL viashutdownTime. Rehydrates state and forces re-bootstrap ifbootIdchanges. Added@kubernetes/client-node, loaded only when this runner is used./api/sandbox/<handle>resolves immediately; stream setup logs vialogSource: "setup"over the daemon’s SSE ring.runnerKindto include"kubernetes"across API, tools, UI, andVmMapEntry; sandbox proxy now accepts"kubernetes". Mesh dynamically importsmesh-plugin-user-sandbox/runner/k8sonly when selected./healthreturnsbootId;/bashacceptslogSourceand streams output; log splitting handles CR/LF; dev server setsCI=1to avoid TTY prompts; Bun upgraded to1.3.11.Migration
deploy/k8s-sandbox/local/up.sh, setMESH_SANDBOX_RUNNER=kubernetes, start Mesh. Usereload-image.shto iterate andsmoke.tsto verify. Tear down withdown.sh.Written for commit 4c63497. Summary will update on new commits.