Skip to content

build

The build domain has 6 actions. On the meta surface they are all reached through arcane_build; on the individual surface each one is its own tool; on the dynamic surface run them with arcane_execute_action and the canonical ID.

ActionTitleKind
build.browseBrowse build workspace filesread
build.deleteDelete build workspace filedestructive
build.file_downloadDownload build workspace fileread
build.file_getGet build workspace file contentread
build.mkdirCreate build workspace directorywrite
build.uploadUpload build workspace filewrite

Browse build workspace files

List files and directories under the builds workspace root

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_build with "action": "browse"
  • Individual tool: arcane_build_browse
  • Arcane route: GET /api/environments/{id}/builds/browse
  • Operation ID: builds-browse
  • Usage: Lists one directory (path, default /) of the build workspace, the tree under the buildsDirectory setting (default /builds, changed with settings.update) that holds contexts for image.build. It needs build-workspaces:manage. Entries give name, path relative to the workspace root (no leading slash), isDirectory, size and modTime, and image.build takes the absolute host path buildsDirectory + path as contextDir.
  • Related actions: build.file_get, build.mkdir, build.upload, build.delete, image.build

Delete build workspace file

Delete a file or directory under the builds workspace root

  • Kind: destructive — requires confirm: true
  • Required parameters: none
  • Meta tool: arcane_build with "action": "delete"
  • Individual tool: arcane_build_delete
  • Arcane route: DELETE /api/environments/{id}/builds/browse
  • Operation ID: builds-browse-delete
  • Usage: Deletes a file or a whole directory with everything inside it (path from build.browse, relative to the workspace root). The root / (or .) itself is refused with 400, and a path that does not exist succeeds (nothing to delete). Irreversible, needs build-workspaces:manage. Errors in this domain are client errors: 404 for a missing path, 403 for one that leaves the workspace (.. or a symlink), 400 for a file read of a directory. Only a workspace root Arcane cannot create (an unwritable buildsDirectory) gives 500.
  • Related actions: build.browse, build.mkdir

Download build workspace file

Download a file from the builds workspace root

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_build with "action": "file_download"
  • Individual tool: arcane_build_file_download
  • Arcane route: GET /api/environments/{id}/builds/browse/download
  • Operation ID: builds-browse-download
  • Usage: Downloads a workspace file (path from build.browse) as raw bytes: text comes back as content, binary data as an embedded blob, both capped by ARCANE_MCP_MAX_DOWNLOAD_BYTES. build.file_get is simpler for reading a Dockerfile or other text file.
  • Related actions: build.file_get, build.browse

Get build workspace file content

Read file content under the builds workspace root

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_build with "action": "file_get"
  • Individual tool: arcane_build_file_get
  • Arcane route: GET /api/environments/{id}/builds/browse/content
  • Operation ID: builds-browse-content
  • Usage: Reads a workspace file (path from build.browse, relative to the workspace root) to check a Dockerfile or other context file. Text comes back decoded in content (contentEncoding utf-8), binary data stays base64 (contentEncoding base64), with a detected mimeType. maxBytes (default 1048576) is the read limit. Prefer it to build.file_download.
  • Related actions: build.browse, build.file_download

Create build workspace directory

Create a directory under the builds workspace root

  • Kind: write
  • Required parameters: none
  • Meta tool: arcane_build with "action": "mkdir"
  • Individual tool: arcane_build_mkdir
  • Arcane route: POST /api/environments/{id}/builds/browse/mkdir
  • Operation ID: builds-browse-mkdir
  • Usage: Creates a directory (path relative to the build workspace root, e.g. /myapp) including missing parents, typically a new build context before build.upload (which also creates its destination directory itself). Path / is accepted as a no-op. Needs build-workspaces:manage.
  • Related actions: build.upload, build.browse, build.delete

Upload build workspace file

Copy a complete chunked upload session into the builds workspace root. multipart/form-data bodies are still accepted for backward compatibility. That form is deprecated and will be removed in a future release.

  • Kind: write
  • Required parameters: uploadId
  • Meta tool: arcane_build with "action": "upload"
  • Individual tool: arcane_build_upload
  • Arcane route: POST /api/environments/{id}/builds/browse/upload
  • Operation ID: builds-browse-upload
  • Usage: Writes one file (a Dockerfile or other context file) into the build workspace directory path (default /, created if missing): first upload.session_create with kind build-workspace and the bare file name (no / or , or the upload fails), send every chunk with upload.chunk_put, then pass the session id as uploadId. The file is stored under the session’s filename and the session is used up. Repeat per file. Needs build-workspaces:manage.
  • Related actions: upload.session_create, upload.chunk_put, build.mkdir, build.browse, image.build