I'm trying to create a folder from the Workspace manager popup and use it for a new conversation.
My agent suggests:
> A small addition to the agent-server file router: an explicit create-directory endpoint.
>
> The gap it closes: the folder picker in agent canvas can only register directories that already exist. Starting work somewhere new means leaving the app, mkdir, coming back.
>
> The server already creates directories, just implicitly: upload_file does mkdir(parents=True) on the target's parent (file_router.py:80). So the proposal makes an existing behavior intentional rather than adding capability. A frontend could force a mkdir today by uploading a placeholder file, but that litters a junk file in every new directory and there's no delete endpoint to clean it up.
>
> Proposed shape: POST /file/create_directory taking an absolute path. Same absolute-path check as upload, parents created, idempotent when the directory already exists, same error posture as the other file routes. Then FileClient in typescript-client grows createDirectory, and agent canvas gets a New Directory button in the folder browser as the first consumer.
Is this the right thinking? I'd have two canvas PRs and one here, like so:
> 1. PR 1 — agent-canvas: Move Conversation. Self-contained, client-side, zero cross-repo dependency.
> 2. PR 2 — software-agent-sdk: create_directory route in file_router.py + FileClient method
> 3. PR 3 — agent-canvas: New Directory in the folder browser, consuming PR 2.