[PR #78] [CLOSED] [3/4] feat(web): sandbox and snapshot management views #162

Closed
opened 2026-10-29 14:20:28 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/AgentENV/pull/78
Author: @immanuel-peter
Created: 7/29/2026
Status: ❌ Closed

Base: main ← Head: feat/web-3-sandboxes-snapshots


📝 Commits (4)

  • 30fdc56 feat(web): scaffold control-plane console and deploy wiring
  • df423f4 feat(web): add Gateway connection settings and session cookies
  • e683477 feat(web): add sandbox and snapshot management views
  • 94f3fda fix(web): harden Gateway connection credential handling

📊 Changes

94 files changed (+15405 additions, -1 deletions)

View changed files

📝 .gitignore (+5 -0)
📝 Makefile (+5 -0)
📝 deploy/docker-compose.yml (+16 -0)
➕ deploy/docker/Dockerfile.web (+32 -0)
📝 deploy/k8s/base/kustomization.yaml (+5 -0)
➕ deploy/k8s/base/web-deployment.yaml (+50 -0)
➕ deploy/k8s/base/web-service.yaml (+13 -0)
📝 docs/src/SUMMARY.md (+1 -0)
📝 docs/src/deployment/docker-compose.md (+1 -0)
📝 docs/src/deployment/kubernetes.md (+10 -1)
➕ docs/src/getting-started/web-ui.md (+50 -0)
➕ web/.dockerignore (+13 -0)
➕ web/.gitignore (+41 -0)
➕ web/README.md (+31 -0)
➕ web/components.json (+25 -0)
➕ web/eslint.config.mjs (+18 -0)
➕ web/next.config.ts (+13 -0)
➕ web/package.json (+34 -0)
➕ web/pnpm-lock.yaml (+6008 -0)
➕ web/pnpm-workspace.yaml (+3 -0)

...and 74 more files

📄 Description

What

Add sandbox and snapshot management views: list/detail/create, lifecycle actions (pause/resume/fork/snapshot/kill), and snapshot browse/detail against the Gateway HTTP API.

Why

Sandboxes and snapshots are the core operator workflows and form a natural review boundary once connection/session exists.

Part of #6.

Scope and non-goals

In scope

  • Sandbox list/create/detail + server actions
  • Snapshot list/detail
  • Related API modules and UI components

Non-goals

  • Templates, dashboard panels, node views (PR 4)

Design and behavior changes

  • Sandbox state filters send repeated state query params (server rejects comma-joined form; OpenAPI currently documents explode: false — call sites note the mismatch)
  • Lifecycle actions are state-aware and refresh detail after mutation

Compatibility and operations

  • Public API or generated protocol: N/A
  • Configuration or defaults: N/A
  • Snapshot manifest, artifact layout, or storage format: N/A (UI only)
  • Upgrade and rollback: additive UI-only
  • Host requirements, permissions, ports, or dependencies: same as prior stack PRs

Validation

  • Web lint/build

Commands and results:

cd web && pnpm lint && pnpm build  # pass

Skipped checks and reasons:

  • Rust/Go suites: no backend code changes in this slice
  • No Playwright suite yet; flows were previously exercised against a live server on the full reference branch

Risks and reviewer notes

Stack

Merge order: #76 → #77 → #78 → #79

Checklist

  • The PR contains one coherent change and no unrelated formatting or refactoring.
  • New behavior is covered by tests, or I explained why testing is impractical.
  • Logs and examples contain no credentials, tokens, or private registry information.
  • I did not manually edit generated code without updating its source and regenerating it.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/AgentENV/pull/78 **Author:** [@immanuel-peter](https://github.com/immanuel-peter) **Created:** 7/29/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/web-3-sandboxes-snapshots` --- ### 📝 Commits (4) - [`30fdc56`](https://github.com/kvcache-ai/AgentENV/commit/30fdc56dacd94d73062c198f5a5b38e3752bddcf) feat(web): scaffold control-plane console and deploy wiring - [`df423f4`](https://github.com/kvcache-ai/AgentENV/commit/df423f468adfcc1cced5a5030769c6d80cc19fbe) feat(web): add Gateway connection settings and session cookies - [`e683477`](https://github.com/kvcache-ai/AgentENV/commit/e6834777487892c52328fd99ab3f22d64ed61854) feat(web): add sandbox and snapshot management views - [`94f3fda`](https://github.com/kvcache-ai/AgentENV/commit/94f3fda5193554758f455ce918c4c495df784825) fix(web): harden Gateway connection credential handling ### 📊 Changes **94 files changed** (+15405 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+5 -0) 📝 `Makefile` (+5 -0) 📝 `deploy/docker-compose.yml` (+16 -0) ➕ `deploy/docker/Dockerfile.web` (+32 -0) 📝 `deploy/k8s/base/kustomization.yaml` (+5 -0) ➕ `deploy/k8s/base/web-deployment.yaml` (+50 -0) ➕ `deploy/k8s/base/web-service.yaml` (+13 -0) 📝 `docs/src/SUMMARY.md` (+1 -0) 📝 `docs/src/deployment/docker-compose.md` (+1 -0) 📝 `docs/src/deployment/kubernetes.md` (+10 -1) ➕ `docs/src/getting-started/web-ui.md` (+50 -0) ➕ `web/.dockerignore` (+13 -0) ➕ `web/.gitignore` (+41 -0) ➕ `web/README.md` (+31 -0) ➕ `web/components.json` (+25 -0) ➕ `web/eslint.config.mjs` (+18 -0) ➕ `web/next.config.ts` (+13 -0) ➕ `web/package.json` (+34 -0) ➕ `web/pnpm-lock.yaml` (+6008 -0) ➕ `web/pnpm-workspace.yaml` (+3 -0) _...and 74 more files_ </details> ### 📄 Description ## What Add sandbox and snapshot management views: list/detail/create, lifecycle actions (pause/resume/fork/snapshot/kill), and snapshot browse/detail against the Gateway HTTP API. ## Why Sandboxes and snapshots are the core operator workflows and form a natural review boundary once connection/session exists. ## Related issue Part of #6. ## Scope and non-goals **In scope** - Sandbox list/create/detail + server actions - Snapshot list/detail - Related API modules and UI components **Non-goals** - Templates, dashboard panels, node views (PR 4) ## Design and behavior changes - Sandbox state filters send repeated `state` query params (server rejects comma-joined form; OpenAPI currently documents `explode: false` — call sites note the mismatch) - Lifecycle actions are state-aware and refresh detail after mutation ## Compatibility and operations - Public API or generated protocol: N/A - Configuration or defaults: N/A - Snapshot manifest, artifact layout, or storage format: N/A (UI only) - Upgrade and rollback: additive UI-only - Host requirements, permissions, ports, or dependencies: same as prior stack PRs ## Validation - [x] Web lint/build Commands and results: ```text cd web && pnpm lint && pnpm build # pass ``` Skipped checks and reasons: - Rust/Go suites: no backend code changes in this slice - No Playwright suite yet; flows were previously exercised against a live server on the full reference branch ## Risks and reviewer notes - Review `web/src/lib/api/sandboxes.ts` query-param encoding and action error surfacing - Layer-only compare: https://github.com/immanuel-peter/AgentENV/compare/feat/web-2-connection...feat/web-3-sandboxes-snapshots - Depends on #76 and #77 ## Stack Merge order: #76 → #77 → **#78** → #79 ## Checklist - [x] The PR contains one coherent change and no unrelated formatting or refactoring. - [x] New behavior is covered by tests, or I explained why testing is impractical. - [x] Logs and examples contain no credentials, tokens, or private registry information. - [x] I did not manually edit generated code without updating its source and regenerating it. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 14:20:28 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/AgentENV#162
No description provided.