mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-10-29 08:12:56 +00:00
A draft created in the editor is stored at a generated path until it is deployed, with the user-chosen name in the value's `draft_path` (a script keeps its chosen name in the value's own `path`); a staged rename keeps the storage path and puts the new name in `draft_path`. The chat resolved a chosen name only while that item was open in an editor, so once the tab closed a tool call with the name found no draft and fell back to the deployed item — a 404 for anything never deployed. Route chosen names in `resolveDraftStoragePath`, which every draft read, write, delete and deploy already goes through. A per-workspace table of the user's drafts and their names is loaded before each tool call; the resolver prefers the open editor, then an exact storage-path match, leaves a name with a deployed item at it alone, routes a name used by exactly one draft, and refuses when several drafts share one. `open_preview` routes through it too. The model is also given both names: the active-editor block, mentions and the list and read tools now expose the storage path as `path` with the chosen name as `draft_path`. Deploying an app whose chosen name belongs to a different deployed app now fails instead of overwriting that app, and the stale-draft guard for scripts, flows and apps reads the item the draft is stored at rather than the path it was addressed by. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Windmill frontend
The Windmill frontend written in Svelte 5 + Tailwind CSS
The frontend is under AGPL, see the LICENSE file at the root of this repo