Skip to content

chore(apps,e2e): sweep Sandbox→Box rename leftovers — regen toolbox client, fix dead env vars + stale refs#723

Merged
DorianZheng merged 1 commit into
mainfrom
chore/box-rename-cleanup
Jun 10, 2026
Merged

chore(apps,e2e): sweep Sandbox→Box rename leftovers — regen toolbox client, fix dead env vars + stale refs#723
DorianZheng merged 1 commit into
mainfrom
chore/box-rename-cleanup

Conversation

@DorianZheng

Copy link
Copy Markdown
Member

Part of #711 — closes out the "Part 1 of N" remainder. A repo-wide sweep found the rename effectively complete in source (runner/cli/daemon/dashboard/proxy at zero tokens; apps/api leftovers are historical migrations, correct as-is). What remained is below.

Generated client (the bulk of the diff)

toolbox-api-client regenerated from the committed apps/daemon/pkg/toolbox/docs/swagger.json (which #718 already renamed — git grep "sandbox entrypoint" has zero hits outside the generated client). This kills the last 4 generated sandbox entrypoint session doc-comments and moves the client from generator 7.12.0 to the pinned 7.23.0, same modernization #721 did for analytics (hence the src/docs/*.md additions — 7.23 emits them, and the drift gate requires committed == emitted).

Determinism verified: regen run twice locally (with and without --excludeTaskDependencies), byte-identical both times.

Drift gate now covers it (api-client-drift.yml): regen via --excludeTaskDependencies so the committed daemon swagger is the contract and the job needs no Go/swag toolchain. Daemon-source↔swagger drift stays ungated (the cli/daemon-docs sibling gate noted in #711 remains a follow-up). actionlint + shellcheck clean.

Why the toolbox client was never regenerated: broken nx paths

The regen target failed outright: -i apps/daemon/pkg/toolbox/docs/swagger.json resolves relative to the nx workspace root, which is apps/apps/apps/daemon/... (spec not found). Kept from upstream daytona's repo layout; #716 fixed only the product clients' targets. Fixed here:

  • libs/toolbox-api-client/project.json-i daemon/pkg/toolbox/docs/swagger.json
  • libs/runner-api-client/project.json — same latent bug (-i runner/... + its {workspaceRoot} input)
  • nx.jsonapiClient/goProduction named inputs pointed at {workspaceRoot}/apps/... paths that don't exist, so swagger/go.work changes never invalidated task caches

Functional config fixes

  • scripts/test/e2e/bootstrap.sh + apps/infra-local/configs/api.env wrote ADMIN_MAX_{CPU,MEMORY,DISK}_PER_SANDBOX, but the API reads ADMIN_MAX_*_PER_BOX (apps/api/src/config/configuration.ts:292-294) with default 0 — admin-org per-box quotas were silently unset.
  • apps/infra-local/scripts/stack-reset.sh + README runbook snippets ran TRUNCATE TABLE sandbox, ... / SELECT ... FROM sandbox — that table was renamed to box by migration 1781016743403, so these failed as written. Also /api/sandbox/api/box (route is @Controller('box')) and {{sandboxId}}{{boxId}} (matches the configuration.dto.ts example). infra-local merged in feat(infra-local): BoxLite-based local dev stack (L1 + L2 + M5 native runner) #595 on a pre-refactor: rename Sandbox -> Box (Part 1: apps/api epicenter) #706 vocabulary.

Vocabulary sweep (no behavior change)

Comments, docstrings, and three e2e test function names (test_*_above_per_sandbox_limit_*per_box; no -k selector, workflow, or Makefile references them) across scripts/test/e2e/, scripts/deploy/runner-update-binary.sh, and apps/infra-local/. File/path references verified against the tree (box.service.ts, volume.manager.ts:47, box_sync.go, CREATE_BOX journal tokens). All three trees now grep-clean for sandbox.

Also includes 3 files prettier-normalized by the repo's make lint:fix pre-commit autofixer (eslint.config.mjs, Sidebar.tsx, Onboarding.tsx) — they were out of format on main and the repo-wide hook re-applies them on every commit until committed.

Verification

  • Regen byte-identical across repeated runs, including the exact CI invocation
  • actionlint + shellcheck on the workflow; shellcheck on all 6 edited shell scripts (only pre-existing findings on untouched lines); py_compile on all 7 edited Python files
  • Every text replacement applied with an exact-unique-match assertion (count==1 before replace)
  • OS-isolation uses of "sandbox" (jailer/seatbelt/bwrap, docs/faq) deliberately untouched — different concept per the rename's scope

…lient, fix dead env vars + stale refs

- regenerate toolbox-api-client from the (already-renamed) committed
  daemon swagger: 7.12.0 → pinned 7.23.0 generator, kills the last
  4 generated "sandbox entrypoint" doc-comments; missed by #716/#718
  which covered only the product clients
- add toolbox-api-client to the api-client-drift gate with
  --excludeTaskDependencies (committed daemon swagger is the contract;
  daemon-source↔swagger drift stays ungated, needs swag toolchain)
- fix nx paths broken since the apps/ workspace flattening: generator
  -i specs in toolbox/runner client project.json (apps/daemon→daemon,
  apps/runner→runner — toolbox regen failed outright on the stale
  path) and nx.json cache inputs (go.work, daemon swagger), which
  pointed at nonexistent files and never invalidated caches
- e2e bootstrap.sh + infra-local api.env wrote ADMIN_MAX_*_PER_SANDBOX
  but the API reads ADMIN_MAX_*_PER_BOX (configuration.ts:292) with
  default 0 — admin-org per-box quotas were silently unset
- stack-reset.sh and infra-local README TRUNCATE/SELECT table
  `sandbox`, which migration 1781016743403 renamed to `box`; also
  /api/sandbox routes → /api/box and {{sandboxId}} → {{boxId}} per
  the configuration DTO example
- sweep remaining sandbox vocabulary from e2e cases, teardown,
  runner-update-binary.sh, and infra-local docs (comments,
  docstrings, test function names; no selector references them)
- includes 3 files prettier-normalized by the repo's `make lint:fix`
  pre-commit autofixer (eslint.config.mjs, Sidebar.tsx,
  Onboarding.tsx) — out of format on main; the hook is repo-wide
  and re-applies them on every commit until committed

Part of #711.

Signed-off-by: dorianzheng <xingzhengde72@gmail.com>
@DorianZheng DorianZheng requested a review from a team as a code owner June 10, 2026 10:08
@coderabbitai

coderabbitai Bot commented Jun 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 207 files, which is 57 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 31edb3c9-d847-4343-ba44-504e2f4b8f71

📥 Commits

Reviewing files that changed from the base of the PR and between 9a438c1 and 082d003.

📒 Files selected for processing (207)
  • .github/workflows/api-client-drift.yml
  • apps/api/eslint.config.mjs
  • apps/dashboard/src/components/Sidebar.tsx
  • apps/dashboard/src/pages/Onboarding.tsx
  • apps/infra-local/CONNECTIONS.md
  • apps/infra-local/README.md
  • apps/infra-local/boxlite_local/services.py
  • apps/infra-local/configs/api.env
  • apps/infra-local/scripts/seed-init-data.sh
  • apps/infra-local/scripts/stack-reset.sh
  • apps/infra-local/scripts/stack-up.sh
  • apps/libs/runner-api-client/project.json
  • apps/libs/toolbox-api-client/project.json
  • apps/libs/toolbox-api-client/src/.openapi-generator/FILES
  • apps/libs/toolbox-api-client/src/.openapi-generator/VERSION
  • apps/libs/toolbox-api-client/src/api.ts
  • apps/libs/toolbox-api-client/src/api/computer-use-api.ts
  • apps/libs/toolbox-api-client/src/api/file-system-api.ts
  • apps/libs/toolbox-api-client/src/api/git-api.ts
  • apps/libs/toolbox-api-client/src/api/info-api.ts
  • apps/libs/toolbox-api-client/src/api/interpreter-api.ts
  • apps/libs/toolbox-api-client/src/api/lsp-api.ts
  • apps/libs/toolbox-api-client/src/api/port-api.ts
  • apps/libs/toolbox-api-client/src/api/process-api.ts
  • apps/libs/toolbox-api-client/src/api/server-api.ts
  • apps/libs/toolbox-api-client/src/base.ts
  • apps/libs/toolbox-api-client/src/common.ts
  • apps/libs/toolbox-api-client/src/configuration.ts
  • apps/libs/toolbox-api-client/src/docs/Command.md
  • apps/libs/toolbox-api-client/src/docs/CompletionContext.md
  • apps/libs/toolbox-api-client/src/docs/CompletionItem.md
  • apps/libs/toolbox-api-client/src/docs/CompletionList.md
  • apps/libs/toolbox-api-client/src/docs/ComputerUseApi.md
  • apps/libs/toolbox-api-client/src/docs/ComputerUseStartResponse.md
  • apps/libs/toolbox-api-client/src/docs/ComputerUseStatusResponse.md
  • apps/libs/toolbox-api-client/src/docs/ComputerUseStopResponse.md
  • apps/libs/toolbox-api-client/src/docs/CreateContextRequest.md
  • apps/libs/toolbox-api-client/src/docs/CreateSessionRequest.md
  • apps/libs/toolbox-api-client/src/docs/DisplayInfo.md
  • apps/libs/toolbox-api-client/src/docs/DisplayInfoResponse.md
  • apps/libs/toolbox-api-client/src/docs/ExecuteRequest.md
  • apps/libs/toolbox-api-client/src/docs/ExecuteResponse.md
  • apps/libs/toolbox-api-client/src/docs/FileInfo.md
  • apps/libs/toolbox-api-client/src/docs/FileStatus.md
  • apps/libs/toolbox-api-client/src/docs/FileSystemApi.md
  • apps/libs/toolbox-api-client/src/docs/FilesDownloadRequest.md
  • apps/libs/toolbox-api-client/src/docs/GitAddRequest.md
  • apps/libs/toolbox-api-client/src/docs/GitApi.md
  • apps/libs/toolbox-api-client/src/docs/GitBranchRequest.md
  • apps/libs/toolbox-api-client/src/docs/GitCheckoutRequest.md
  • apps/libs/toolbox-api-client/src/docs/GitCloneRequest.md
  • apps/libs/toolbox-api-client/src/docs/GitCommitInfo.md
  • apps/libs/toolbox-api-client/src/docs/GitCommitRequest.md
  • apps/libs/toolbox-api-client/src/docs/GitCommitResponse.md
  • apps/libs/toolbox-api-client/src/docs/GitGitDeleteBranchRequest.md
  • apps/libs/toolbox-api-client/src/docs/GitRepoRequest.md
  • apps/libs/toolbox-api-client/src/docs/GitStatus.md
  • apps/libs/toolbox-api-client/src/docs/InfoApi.md
  • apps/libs/toolbox-api-client/src/docs/InitializeRequest.md
  • apps/libs/toolbox-api-client/src/docs/InterpreterApi.md
  • apps/libs/toolbox-api-client/src/docs/InterpreterContext.md
  • apps/libs/toolbox-api-client/src/docs/IsPortInUseResponse.md
  • apps/libs/toolbox-api-client/src/docs/KeyboardHotkeyRequest.md
  • apps/libs/toolbox-api-client/src/docs/KeyboardPressRequest.md
  • apps/libs/toolbox-api-client/src/docs/KeyboardTypeRequest.md
  • apps/libs/toolbox-api-client/src/docs/ListBranchResponse.md
  • apps/libs/toolbox-api-client/src/docs/ListContextsResponse.md
  • apps/libs/toolbox-api-client/src/docs/ListRecordingsResponse.md
  • apps/libs/toolbox-api-client/src/docs/LspApi.md
  • apps/libs/toolbox-api-client/src/docs/LspCompletionParams.md
  • apps/libs/toolbox-api-client/src/docs/LspDocumentRequest.md
  • apps/libs/toolbox-api-client/src/docs/LspLocation.md
  • apps/libs/toolbox-api-client/src/docs/LspPosition.md
  • apps/libs/toolbox-api-client/src/docs/LspRange.md
  • apps/libs/toolbox-api-client/src/docs/LspServerRequest.md
  • apps/libs/toolbox-api-client/src/docs/LspSymbol.md
  • apps/libs/toolbox-api-client/src/docs/Match.md
  • apps/libs/toolbox-api-client/src/docs/MouseClickRequest.md
  • apps/libs/toolbox-api-client/src/docs/MouseClickResponse.md
  • apps/libs/toolbox-api-client/src/docs/MouseDragRequest.md
  • apps/libs/toolbox-api-client/src/docs/MouseDragResponse.md
  • apps/libs/toolbox-api-client/src/docs/MouseMoveRequest.md
  • apps/libs/toolbox-api-client/src/docs/MousePositionResponse.md
  • apps/libs/toolbox-api-client/src/docs/MouseScrollRequest.md
  • apps/libs/toolbox-api-client/src/docs/PortApi.md
  • apps/libs/toolbox-api-client/src/docs/PortList.md
  • apps/libs/toolbox-api-client/src/docs/Position.md
  • apps/libs/toolbox-api-client/src/docs/ProcessApi.md
  • apps/libs/toolbox-api-client/src/docs/ProcessErrorsResponse.md
  • apps/libs/toolbox-api-client/src/docs/ProcessLogsResponse.md
  • apps/libs/toolbox-api-client/src/docs/ProcessRestartResponse.md
  • apps/libs/toolbox-api-client/src/docs/ProcessStatus.md
  • apps/libs/toolbox-api-client/src/docs/ProcessStatusResponse.md
  • apps/libs/toolbox-api-client/src/docs/PtyCreateRequest.md
  • apps/libs/toolbox-api-client/src/docs/PtyCreateResponse.md
  • apps/libs/toolbox-api-client/src/docs/PtyListResponse.md
  • apps/libs/toolbox-api-client/src/docs/PtyResizeRequest.md
  • apps/libs/toolbox-api-client/src/docs/PtySessionInfo.md
  • apps/libs/toolbox-api-client/src/docs/Recording.md
  • apps/libs/toolbox-api-client/src/docs/ReplaceRequest.md
  • apps/libs/toolbox-api-client/src/docs/ReplaceResult.md
  • apps/libs/toolbox-api-client/src/docs/ScreenshotResponse.md
  • apps/libs/toolbox-api-client/src/docs/ScrollResponse.md
  • apps/libs/toolbox-api-client/src/docs/SearchFilesResponse.md
  • apps/libs/toolbox-api-client/src/docs/ServerApi.md
  • apps/libs/toolbox-api-client/src/docs/Session.md
  • apps/libs/toolbox-api-client/src/docs/SessionExecuteRequest.md
  • apps/libs/toolbox-api-client/src/docs/SessionExecuteResponse.md
  • apps/libs/toolbox-api-client/src/docs/SessionSendInputRequest.md
  • apps/libs/toolbox-api-client/src/docs/StartRecordingRequest.md
  • apps/libs/toolbox-api-client/src/docs/Status.md
  • apps/libs/toolbox-api-client/src/docs/StopRecordingRequest.md
  • apps/libs/toolbox-api-client/src/docs/UserHomeDirResponse.md
  • apps/libs/toolbox-api-client/src/docs/WindowInfo.md
  • apps/libs/toolbox-api-client/src/docs/WindowsResponse.md
  • apps/libs/toolbox-api-client/src/docs/WorkDirResponse.md
  • apps/libs/toolbox-api-client/src/index.ts
  • apps/libs/toolbox-api-client/src/models/command.ts
  • apps/libs/toolbox-api-client/src/models/completion-context.ts
  • apps/libs/toolbox-api-client/src/models/completion-item.ts
  • apps/libs/toolbox-api-client/src/models/completion-list.ts
  • apps/libs/toolbox-api-client/src/models/computer-use-start-response.ts
  • apps/libs/toolbox-api-client/src/models/computer-use-status-response.ts
  • apps/libs/toolbox-api-client/src/models/computer-use-stop-response.ts
  • apps/libs/toolbox-api-client/src/models/create-context-request.ts
  • apps/libs/toolbox-api-client/src/models/create-session-request.ts
  • apps/libs/toolbox-api-client/src/models/display-info-response.ts
  • apps/libs/toolbox-api-client/src/models/display-info.ts
  • apps/libs/toolbox-api-client/src/models/execute-request.ts
  • apps/libs/toolbox-api-client/src/models/execute-response.ts
  • apps/libs/toolbox-api-client/src/models/file-info.ts
  • apps/libs/toolbox-api-client/src/models/file-status.ts
  • apps/libs/toolbox-api-client/src/models/files-download-request.ts
  • apps/libs/toolbox-api-client/src/models/git-add-request.ts
  • apps/libs/toolbox-api-client/src/models/git-branch-request.ts
  • apps/libs/toolbox-api-client/src/models/git-checkout-request.ts
  • apps/libs/toolbox-api-client/src/models/git-clone-request.ts
  • apps/libs/toolbox-api-client/src/models/git-commit-info.ts
  • apps/libs/toolbox-api-client/src/models/git-commit-request.ts
  • apps/libs/toolbox-api-client/src/models/git-commit-response.ts
  • apps/libs/toolbox-api-client/src/models/git-git-delete-branch-request.ts
  • apps/libs/toolbox-api-client/src/models/git-repo-request.ts
  • apps/libs/toolbox-api-client/src/models/git-status.ts
  • apps/libs/toolbox-api-client/src/models/initialize-request.ts
  • apps/libs/toolbox-api-client/src/models/interpreter-context.ts
  • apps/libs/toolbox-api-client/src/models/is-port-in-use-response.ts
  • apps/libs/toolbox-api-client/src/models/keyboard-hotkey-request.ts
  • apps/libs/toolbox-api-client/src/models/keyboard-press-request.ts
  • apps/libs/toolbox-api-client/src/models/keyboard-type-request.ts
  • apps/libs/toolbox-api-client/src/models/list-branch-response.ts
  • apps/libs/toolbox-api-client/src/models/list-contexts-response.ts
  • apps/libs/toolbox-api-client/src/models/list-recordings-response.ts
  • apps/libs/toolbox-api-client/src/models/lsp-completion-params.ts
  • apps/libs/toolbox-api-client/src/models/lsp-document-request.ts
  • apps/libs/toolbox-api-client/src/models/lsp-location.ts
  • apps/libs/toolbox-api-client/src/models/lsp-position.ts
  • apps/libs/toolbox-api-client/src/models/lsp-range.ts
  • apps/libs/toolbox-api-client/src/models/lsp-server-request.ts
  • apps/libs/toolbox-api-client/src/models/lsp-symbol.ts
  • apps/libs/toolbox-api-client/src/models/match.ts
  • apps/libs/toolbox-api-client/src/models/mouse-click-request.ts
  • apps/libs/toolbox-api-client/src/models/mouse-click-response.ts
  • apps/libs/toolbox-api-client/src/models/mouse-drag-request.ts
  • apps/libs/toolbox-api-client/src/models/mouse-drag-response.ts
  • apps/libs/toolbox-api-client/src/models/mouse-move-request.ts
  • apps/libs/toolbox-api-client/src/models/mouse-position-response.ts
  • apps/libs/toolbox-api-client/src/models/mouse-scroll-request.ts
  • apps/libs/toolbox-api-client/src/models/port-list.ts
  • apps/libs/toolbox-api-client/src/models/position.ts
  • apps/libs/toolbox-api-client/src/models/process-errors-response.ts
  • apps/libs/toolbox-api-client/src/models/process-logs-response.ts
  • apps/libs/toolbox-api-client/src/models/process-restart-response.ts
  • apps/libs/toolbox-api-client/src/models/process-status-response.ts
  • apps/libs/toolbox-api-client/src/models/process-status.ts
  • apps/libs/toolbox-api-client/src/models/pty-create-request.ts
  • apps/libs/toolbox-api-client/src/models/pty-create-response.ts
  • apps/libs/toolbox-api-client/src/models/pty-list-response.ts
  • apps/libs/toolbox-api-client/src/models/pty-resize-request.ts
  • apps/libs/toolbox-api-client/src/models/pty-session-info.ts
  • apps/libs/toolbox-api-client/src/models/recording.ts
  • apps/libs/toolbox-api-client/src/models/replace-request.ts
  • apps/libs/toolbox-api-client/src/models/replace-result.ts
  • apps/libs/toolbox-api-client/src/models/screenshot-response.ts
  • apps/libs/toolbox-api-client/src/models/scroll-response.ts
  • apps/libs/toolbox-api-client/src/models/search-files-response.ts
  • apps/libs/toolbox-api-client/src/models/session-execute-request.ts
  • apps/libs/toolbox-api-client/src/models/session-execute-response.ts
  • apps/libs/toolbox-api-client/src/models/session-send-input-request.ts
  • apps/libs/toolbox-api-client/src/models/session.ts
  • apps/libs/toolbox-api-client/src/models/start-recording-request.ts
  • apps/libs/toolbox-api-client/src/models/status.ts
  • apps/libs/toolbox-api-client/src/models/stop-recording-request.ts
  • apps/libs/toolbox-api-client/src/models/user-home-dir-response.ts
  • apps/libs/toolbox-api-client/src/models/window-info.ts
  • apps/libs/toolbox-api-client/src/models/windows-response.ts
  • apps/libs/toolbox-api-client/src/models/work-dir-response.ts
  • apps/nx.json
  • scripts/deploy/runner-update-binary.sh
  • scripts/test/e2e/README.md
  • scripts/test/e2e/bootstrap.sh
  • scripts/test/e2e/cases/conftest.py
  • scripts/test/e2e/cases/test_error_code_mapping.py
  • scripts/test/e2e/cases/test_path_verification.py
  • scripts/test/e2e/cases/test_quota_enforcement.py
  • scripts/test/e2e/cases/test_runner_concurrency.py
  • scripts/test/e2e/fixture_setup.py
  • scripts/test/e2e/teardown.sh

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/box-rename-cleanup

Comment @coderabbitai help to get the list of available commands and usage tips.

// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
@DorianZheng DorianZheng merged commit 2d93cc3 into main Jun 10, 2026
31 of 32 checks passed
@DorianZheng DorianZheng deleted the chore/box-rename-cleanup branch June 10, 2026 10:13
DorianZheng added a commit that referenced this pull request Jun 10, 2026
…follow-up) (#726)

## What

Regenerates the committed API clients against the post-#715 (merged A2 +
MVP) API surface — the follow-up that #715's merge commit explicitly
deferred:

> ⚠️ **CI will be red until generated clients are regenerated** against
the merged API surface … **Generated clients now carry ZERO diff in this
PR** (reset to main in `f9ea0730`) — regenerate upstream against the
merged API surface.

Since that merge, the **API client drift** check fails on every PR
touching `apps/**` (e.g. #725's run 8 minutes after the merge). This PR
turns it green again.

## Content

**Commit 2 — the regen (`apps/libs/api-client`, `apps/api-client-go`,
231 files).** Pure `openapi-generator` 7.23.0 output, zero hand edits,
produced with the exact `api-client-drift.yml` recipe (pinned generator
via `openapitools.json`, NestJS spec boot with local Redis, GNU sed for
the postprocess script). `analytics-api-client` and `toolbox-api-client`
regenerated to **zero diff** (already current since #721/#723).

Surface delta (mirrors the A2 + MVP API changes):
- **removed:** snapshots / docker-registry / build / backup /
archive-lifecycle / quota / usage-overview endpoints and models;
`BoxState` build states (`pending_build`, `build_failed`, …);
`write:snapshots` + `delete:snapshots` permission values;
`listBoxesPaginated`'s `snapshots` filter param
- **added:** `SystemRole`, `UpdateOrganizationName` (+ `PATCH
/organizations/{organizationId}/name`), admin overview/observability
models

**Commit 1 — prek lint unblock (34 deleted lines, dashboard).** The
Sandbox→Box rename left `LEGACY_*` route enum members byte-identical to
the canonical ones — 4 pre-existing
`@typescript-eslint/no-duplicate-enum-values` errors at HEAD that fail
the repo's prek pre-commit hook (`make lint:fix`) for *every* local
commit. The legacy routes are unreachable (identical paths, canonical
registrations precede them), so this deletes them plus the orphaned
`LegacyBoxRedirect`. No behavior change. Included here because nothing
can be committed locally until it lands.

## Verification

- `go build ./...` passes in `apps/api-client-go` (standalone),
`apps/common-go`, `apps/otel-collector/exporter`.
- The **API client drift** check on this PR is the canonical
byte-for-byte proof.

## Known follow-up (intentionally split)

Per review preference, this PR is generated code only. Three consumers
still reference removed APIs and will not compile against the new
clients until the prepared follow-up PR lands (branched on top of this
one):

- `apps/cli` — Dockerfile-build flow (`CreateBuildInfo`,
`BOXSTATE_BUILD_FAILED`/`PENDING_BUILD`, `--dockerfile`/`--context`, MCP
`buildInfo` arg, `pkg/minio`)
- `apps/dashboard` — Registries page + registry hooks, usage-overview
wiring in Spending/Limits, `templates` filter arg
- `apps/libs/sdk-typescript` —
`Box.buildInfo`/`backupState`/`backupCreatedAt`, `getBuildLogsUrl`

No CI workflow compiles these consumers on PR today (the drift check is
the only `apps/**` gate), so this PR is green-mergeable; the follow-up
restores local builds. Note `apps/runner` has a **pre-existing**
unrelated compile failure on main (`boxlite.WithPort` undefined in
`pkg/boxlite`) — out of scope here.
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