From 65ed93bce336a81b854096ac124c154c13576331 Mon Sep 17 00:00:00 2001 From: Philippe Martin Date: Fri, 27 Mar 2026 09:57:35 +0000 Subject: [PATCH 1/2] feat(workspace): add flexible mount configuration (#18) Replace the separate dependencies and configs arrays with a unified mounts array that supports absolute paths, variable substitution ($SOURCES, $HOME), custom mount targets, and read-only mounts. Co-Authored-By: Claude Sonnet 4.5 Signed-off-by: Philippe Martin --- workspace-configuration/openapi.yaml | 46 ++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/workspace-configuration/openapi.yaml b/workspace-configuration/openapi.yaml index 78c61b9..72f836a 100644 --- a/workspace-configuration/openapi.yaml +++ b/workspace-configuration/openapi.yaml @@ -13,6 +13,23 @@ paths: application/json: schema: $ref: '#/components/schemas/WorkspaceConfiguration' + example: + mounts: + - host: "$SOURCES/../main" + target: "$SOURCES/../main" + - host: "$HOME/.gitconfig" + target: "$HOME/.gitconfig" + ro: true + - host: "$HOME/.claude" + target: "$HOME/.claude" + ro: true + - host: "/absolute/path/to/data" + target: "/workspace/data" + environment: + - name: "DEBUG" + value: "true" + - name: "API_KEY" + secret: "my-api-key" components: schemas: WorkspaceConfiguration: @@ -20,26 +37,31 @@ components: additionalProperties: false properties: mounts: - $ref: '#/components/schemas/Mounts' + type: array + items: + $ref: '#/components/schemas/Mount' + description: List of directories to mount in the workspace. Supports $SOURCES (workspace sources directory) and $HOME (user home directory) variables. environment: type: array items: $ref: '#/components/schemas/EnvironmentVariable' - Mounts: + Mount: type: object additionalProperties: false + required: + - host + - target properties: - dependencies: - type: array - items: - type: string - description: List of additional source directories to mount, with paths relative to the sources directory of the project (useful when working with git worktrees) - configs: - type: array - items: - type: string - description: List of home directories to mount, with paths relative to the HOME directory of the user + host: + type: string + description: Path in the host filesystem. Can use $SOURCES or $HOME variables (e.g., "$SOURCES/../main", "$HOME/.gitconfig", "/absolute/path") + target: + type: string + description: Path in the workspace filesystem where the host path will be mounted. Can use $SOURCES or $HOME variables. + ro: + type: boolean + description: Mount as read-only. Defaults to false (read-write). EnvironmentVariable: type: object From bba4d0f68570d50d3c02063162a5f52b696cbdb2 Mon Sep 17 00:00:00 2001 From: Philippe Martin Date: Fri, 27 Mar 2026 11:05:10 +0100 Subject: [PATCH 2/2] fix: default ro to false Signed-off-by: Philippe Martin --- workspace-configuration/openapi.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/workspace-configuration/openapi.yaml b/workspace-configuration/openapi.yaml index 72f836a..ed95bab 100644 --- a/workspace-configuration/openapi.yaml +++ b/workspace-configuration/openapi.yaml @@ -61,6 +61,7 @@ components: description: Path in the workspace filesystem where the host path will be mounted. Can use $SOURCES or $HOME variables. ro: type: boolean + default: false description: Mount as read-only. Defaults to false (read-write). EnvironmentVariable: