* fix(cli): resolve /ui/ in app dev and lint, and its bare imports from the app
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(cli): match shared ui/ files by real path so a symlinked ui/ still redirects
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(cli): keep relative css @import in shared ui/ resolving next to the file
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(cli): let esbuild resolve relative css @import in ui/ so suffixes keep working
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat: rebuild raw apps on a ui/-only change and fail sync push on ui/ errors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: catch unquoted css ui/ imports and surface app lookup errors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: match the raw app metadata file on windows sync paths
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add ai review to deployment requests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: bound ai review fetches and surface unreadable items
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add fix in ai session and model picker to deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add workspace instructions for deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: read review instructions from the parent and bind ai review to the fork
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: pin the fix-all session preview to the fork's compare page
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: show the protection-rule bypass toggle inline
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: make the bypass toggle small and red
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* refactor: drop workspace-settings instructions from deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: folder-scoped review instructions for the deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: review the selected items with ai on compare and deploy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep reviewing when review instructions cannot be listed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: say the review instruction floor is a prompt request, not enforcement
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mark an ai review out of date when its items change
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: update ee-repo-ref to 77703cf32e58964906d87ee83ddda44b5b8d1b7e
This commit updates the EE repository reference after PR #926 was merged in windmill-ee-private.
Previous ee-repo-ref: e30ab9e69d1854fcaed5620c934ace32acb0a729
New ee-repo-ref: 77703cf32e58964906d87ee83ddda44b5b8d1b7e
Automated by sync-ee-ref workflow.
* feat: review git sync pull requests with wmill review
* fix: withhold retyped resources and encryption keys, fall back from the responses route
* fix: withhold fileset children, workspace-specific resources and pathspec-named files
* feat: include the ready-to-post review in wmill review --json
* feat: review a workspace synced into a repository subfolder
* docs: say what wmill review takes from flags rather than wmill.yaml
* feat: review git sync pull requests with ai on the instance
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PjsYvwbvQh6Traiw1J3fRM
* chore: update ee-repo-ref for the ai review fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PjsYvwbvQh6Traiw1J3fRM
* feat: point git sync ai review at the published hub script
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PjsYvwbvQh6Traiw1J3fRM
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
* feat: add ai review to deployment requests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: bound ai review fetches and surface unreadable items
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add fix in ai session and model picker to deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add workspace instructions for deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: read review instructions from the parent and bind ai review to the fork
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: pin the fix-all session preview to the fork's compare page
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: show the protection-rule bypass toggle inline
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: make the bypass toggle small and red
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* refactor: drop workspace-settings instructions from deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: folder-scoped review instructions for the deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: review the selected items with ai on compare and deploy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep reviewing when review instructions cannot be listed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: say the review instruction floor is a prompt request, not enforcement
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mark an ai review out of date when its items change
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: update ee-repo-ref to 77703cf32e58964906d87ee83ddda44b5b8d1b7e
This commit updates the EE repository reference after PR #926 was merged in windmill-ee-private.
Previous ee-repo-ref: e30ab9e69d1854fcaed5620c934ace32acb0a729
New ee-repo-ref: 77703cf32e58964906d87ee83ddda44b5b8d1b7e
Automated by sync-ee-ref workflow.
* feat: review git sync pull requests with wmill review
* fix: withhold retyped resources and encryption keys, fall back from the responses route
* fix: withhold fileset children, workspace-specific resources and pathspec-named files
* feat: include the ready-to-post review in wmill review --json
* feat: review a workspace synced into a repository subfolder
* docs: say what wmill review takes from flags rather than wmill.yaml
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
* fix: issue oidc tokens to a deployed flow's dynamic select
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: leave dyn select previews on a dedicated worker unproven
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: match every dedicated worker tag shape in the dyn select check
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: cover hashed dedicated worker tags of long workspace ids
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep a flow dyn select claimed when a script or app shares its sub
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* feat: add ai review to deployment requests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: bound ai review fetches and surface unreadable items
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add fix in ai session and model picker to deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add workspace instructions for deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: read review instructions from the parent and bind ai review to the fork
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: pin the fix-all session preview to the fork's compare page
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: show the protection-rule bypass toggle inline
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: make the bypass toggle small and red
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* refactor: drop workspace-settings instructions from deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: folder-scoped review instructions for the deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: review the selected items with ai on compare and deploy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep reviewing when review instructions cannot be listed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: say the review instruction floor is a prompt request, not enforcement
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mark an ai review out of date when its items change
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: update ee-repo-ref to 77703cf32e58964906d87ee83ddda44b5b8d1b7e
This commit updates the EE repository reference after PR #926 was merged in windmill-ee-private.
Previous ee-repo-ref: e30ab9e69d1854fcaed5620c934ace32acb0a729
New ee-repo-ref: 77703cf32e58964906d87ee83ddda44b5b8d1b7e
Automated by sync-ee-ref workflow.
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
The AI proxy resolved every credential field of a resource except base_url,
so a base_url set with "Insert a Variable" reached URL validation as the
literal $var: path and failed with "relative URL without a base".
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat: fork capability per role and fork role mapping on rulesets
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep unset fork for unrestricted roles and apply fork role mapping to fork-owner adds
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: fork_roles feature usage telemetry
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: derive an unset fork in the role editor as the server does
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: update ee-repo-ref to d535972f0b35c6a7f257720816bdaec18465adef
This commit updates the EE repository reference after PR #929 was merged in windmill-ee-private.
Previous ee-repo-ref: 4a8d59cd1563382fcec85b1367f7e15e09bc13c2
New ee-repo-ref: d535972f0b35c6a7f257720816bdaec18465adef
Automated by sync-ee-ref workflow.
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
* chore: apply the untrusted-input check to trigger, resume and asset args
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: apply the check to every native trigger and slack/teams commands
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: accept resume references the approver can read
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: refuse every reference in a resume payload
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: update ee-repo-ref to 5e7b1de9a07114e277a22e9e3c68b0809c06f18d
This commit updates the EE repository reference after PR #927 was merged in windmill-ee-private.
Previous ee-repo-ref: 15733e7ee1e8ab0efa56a429801be31fe40277e2
New ee-repo-ref: 5e7b1de9a07114e277a22e9e3c68b0809c06f18d
Automated by sync-ee-ref workflow.
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
* refactor: harmonize flow and script settings layout
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: keep the priority input open while it is edited
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* feat: confirm run-as on flow and script deploy, mute from editor menu
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: keep settings rows open while edited and name the deploying user for non-admins
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: reread the deployed run-as user after a deploy that keeps the editor open
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: write a setting before its row opens and show its real state while edited
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: slide settings rows open to their full height
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: send the popover's deployment message when Deploy is clicked
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: remount a settings row's fields when its toggle turns it on
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: send the popover's deployment message from Deploy & Stay here
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: clear the deployment message after a successful deploy
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: read the deployed row before muting from the menu, title Deploy only when icon-only
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* feat: app conversations through the memory_id query parameter, chat-mode flows included
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: regenerate the mcp session instructions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: type backendAsync's memoryId option in the eval diagnostics
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: pin git-sync hub scripts to windmill-cli 1.849.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: memoryId option on the sync backend call too
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: bump the ui builder artifact for the memoryId option
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: shared-utils 1.0.14
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: cli takes shared-utils 1.0.14 for the memoryId option
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* test: pin the app conversation scoping and the memoryId signatures
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* test: assert the ownership refusal, not any refusal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* test: match the memoryId option in the cli wmill.ts signature tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: file an app's turns as the deployed flow's conversation, preview included
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* fix: drop superseded list replies after a workspace or filter change
* fix: build resources filter suggestions from the visible tab
* test: pin that latestRequest peek never supersedes a request
* fix: keep a superseded email trigger load from ending the loading state
* fix: stop the breadcrumb sliding when switching sessions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: state the band offset constraint without the old arrangement
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat: render mcp run tools as an mcp apps run card
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: back off run card polling and pin its run summary
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep the run card polling after a failed get_run
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add run details, run form, diff and item views to the mcp card
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: guard the mcp card's run form and diff errors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: honour the host's dark theme in the mcp card without its colours
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep untouched run form arguments and drop stale run refreshes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: let the run form re-send references and label diff links by target
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: parse literals typed over run form references by field type
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: version the mcp card uri and declare its empty csp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: keep the mcp card to runs, group loop and branch steps, restyle it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: say when the mcp card cannot read a finished run's details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: show runs, run tables and deploy reviews through dedicated mcp tools
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: review the whole draft before deploying from the mcp card
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: follow host card guidelines: header link, collapsible steps, review summary, no run form
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep fullscreen review diffs whole and match drafts by storage path first
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: link to windmill where a host has no fullscreen, cap inline logs, shrink the card back
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: say in the review summary why a draft cannot be deployed from the card
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: link the review to compare and deploy, cap inline tables, open long results
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: flag a cut result or log by what was kept, keep a lone log line
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mark the mcp card's fullscreen buttons with the expand icon
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: capitalize the mcp card's windmill link labels
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add a show_item card for workspace items, collapsible sections in fullscreen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: apply windmill brand guidelines to the mcp card and show errors as windmill does
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: show more windmill result kinds in the mcp run card
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: tidy the mcp card layout and let oversized drafts deploy from the review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: name a shown run by its summary, cap long item values, drop variable cards
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: link an app draft's card to its editor
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: show a running flow's progress in the mcp card, open cut blocks on click, link each step
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: read only a running step's log tail and skip the preprocessor in the progress bar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: mcp card headers carry a kind icon, and a summary names the item over its path
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: skip result streams in log tail reads, keep the cut-result link when it fits
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: link app drafts and agents to their own pages, offer Cancel only to tokens that can cancel
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: simple inline mcp cards with a tabbed fullscreen run view and step drill-in
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: draw the mcp card's tabs as windmill's underlined tabs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: link to windmill for what an mcp card hides when the host has no fullscreen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: mcp run card steps as a tree beside the selected step, nested progress, danger cancel
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: draw image results in the mcp run card, and a collapse control in fullscreen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: copy controls on the mcp card's results, logs and code
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp card links read as text, hover tint only on buttons
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: windmill's names, icons, status colours and type scale in the mcp card, within the hosts' rules
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep images out of mcp run table rows, and re-read only single-field image results
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: measure a re-read mcp image result as postgres prints it, so wrapped images draw
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: mcp review deploys the selected drafts, loops list every iteration's result, branches and subflows named
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: mcp review diffs open on demand, as on the compare page
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: mcp script cards fade their code in inline, item sections open whole in fullscreen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: mcp item cards link what a schedule or trigger runs, show a trigger's key settings and a schedule's arguments as rows
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp card lists a loop's latest 10 iterations, trigger topics by name
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: mcp trigger cards open their other settings from a last table row
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp draft badge in windmill's indigo without a spinner, show-more as a list's last row
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: consistent mcp cards: one expand icon and rule, aligned tables, path titles, error and empty states
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp item cards offer fullscreen for cut values and overflowing code, name script steps by path
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: mcp cards show ai agents: their answer, named tool calls, what a waiting agent asks, saved agents
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp saved-agent runs label tool calls by tool, never by the internal root step
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: a saved agent's run card names its steps tab Tool calls
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: an mcp card says an agent waits only while its run is going
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp card paths wrap at slashes beside their icon; oauth approval offers all workspaces to a user in none
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp card view read carries the cache hints 2026-07-28 clients require
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: mcp card leaves leaving fullscreen to the host's own close control
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp cards name a saved agent's test run by the agent's path, without .chat
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* perf: mcp get_run builds no card data; the run card refreshes through show_run
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp show_deploy_review refuses a token that cannot deploy, not only hides from it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp session tools carry a title and explicit read-only, destructive and open-world hints
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp run card reads only the end of a run's log; create_datatable_migration is destructive
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp run card counts log offsets from 1 and reads a finished run's archived log in full
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp item card rechecks clipped code on resize; oauth hint hides once the toggle is on
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mcp item card uncuts a code block once a wider card fits it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat: guidance for building standalone ai agents in ai sessions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: agent guidance for resource-only sessions, no flow tools
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: tell the user to deploy a drafted tool script with its agent
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: scope plain agent values, document tool_inputs, list agents in get_instructions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: test and run ai agents from ai sessions, open agents in their editor
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: full-bleed agent editor tabs, back to the run form for agent tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: describe read-and-run as running agents too, pin agent run links
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: host the agent editor natively in session tabs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: switch the agent editor to tabs below 900px
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: name an agent's session tab after its summary
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: show deployed agents in session tabs, open and run them from the chat
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: deploy agents from the chat, report agent tabs as the active editor
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: pick agents from the tab picker, name their tabs, scope the agent page to its workspace
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: leave open editors alone on agent writes, read the agent page's workspace user
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: refresh an agent's deployed page when the chat deploys or deletes it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: name agent tabs before they load, mark agents in the changes drawer, stay on a deleted agent's tab
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep a cleared agent summary out of its tab name
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep the resource drawer's json option that the resources list still passes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: open an agent in an AI session from its pages, fix review findings on agent tabs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: name the reserved agent tool names in the agent guidance
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: reload an agent's editor on a discard, open a new agent in a session
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: show agents as agents on compare and deploy, name a never-deployed one by its path
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep a deployed agent's type in its draft diff
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: link a fork row to the agent editor only on the side that holds the agent
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: guard agent page paths, mark drafted agents in the picker, side-aware agent rows on fork compare
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* refactor: harmonize flow and script settings layout
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: keep the priority input open while it is edited
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: keep settings rows open while edited and name the deploying user for non-admins
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: write a setting before its row opens and show its real state while edited
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: slide settings rows open to their full height
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: remount a settings row's fields when its toggle turns it on
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: put the AI prompt behind a settings toggle
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: summarize active runtime and permission settings on the metadata tab
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* refactor: move the active settings chips into the settings header
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: bring back the active setting icons on the settings tabs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* feat: show the draft badge on Home's favorite and recent cards
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: show the draft badge on Home's agent cards
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: remove the home and AI sessions composer view transition
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* docs: drop view transition rationale from composer comments
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The proxy rebuilds the hub URL instead of passing the request through, so a
`?version=` on it was dropped and the current version exported in its place.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add ai review to deployment requests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: bound ai review fetches and surface unreadable items
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add fix in ai session and model picker to deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add workspace instructions for deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: read review instructions from the parent and bind ai review to the fork
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: pin the fix-all session preview to the fork's compare page
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* refactor: drop workspace-settings instructions from deployment ai review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: review the selected items with ai on compare and deploy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: mark an ai review out of date when its items change
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: post all ai review findings as comments at once
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: update ee-repo-ref to 77703cf32e58964906d87ee83ddda44b5b8d1b7e
This commit updates the EE repository reference after PR #926 was merged in windmill-ee-private.
Previous ee-repo-ref: e30ab9e69d1854fcaed5620c934ace32acb0a729
New ee-repo-ref: 77703cf32e58964906d87ee83ddda44b5b8d1b7e
Automated by sync-ee-ref workflow.
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
* feat: configurable public base url for the MCP gateway
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep mcpTokenUrlDisabled's doc comment on its function
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: build MCP OAuth urls from the api base url, narrowable per surface
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: save and discard companion setting keys in the per-category settings flow
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* fix: show the protection-rule bypass toggle inline
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: make the bypass toggle small and red
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat(ai-agent): built-in approval tool that parks the agent
An AI agent step can now be given a built-in "Request approval" tool. The model
calls `request_approval` with a message; the agent stores its conversation in
the new `ai_agent_checkpoint` table, releases its worker by parking its own
queue row like a workflow-as-code parent, and resumes with the answer (approved,
approver, comment) or a timeout once someone answers from the run page.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(ai-agent): tie approval answers to their request and hold the turn
- A turn that asks for approval runs none of its other calls; they are refused
so the model repeats them after the answer.
- The run page sends the request's call id. An answer naming another request is
ignored and the agent parks again for the time left; `suspend` is zeroed when
the answer is read, so answers sent while the agent runs are refused.
- The checkpoint is read whatever the current roster holds, the answer's
outcome is written by position, and a cancel that beats the park completes
the job as cancelled.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(ai-agent): say why calls beside an invalid approval request were refused
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(ai-agent): one approval form per request, none on a finished run
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(ai-agent): answer approval requests from a flow's chat
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(ai-agent): show chat approvals for agents that do not stream
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(ai-agent): approval as a per-tool setting, built-in tool asks a question
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(ai-agent): say when a nested agent leaves out tools that require approval
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(ai-agent): show chat approvals and questions on the tool's own card
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(ai-agent): question choices, and approval buttons shared with approval steps
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(ai-agent): show a waiting agent as suspended, and refused calls as not run
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(ai-agent): each added chat card shows its own call, answered marker keyed by job
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* test(ai-agent): approve and reject a held call through resume_suspended
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(ai-agent): require approval in a tool settings tab, plain descriptions on built-in tool panes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(ai-agent): sentence case for the web search tool label
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(ai-agent): built-in tool drawers explain themselves in the header subtitle
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(ai-agent): clearer question tool subtitle
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(ai-agent): badge the tool settings tab like run settings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore(ai-agent): regenerate system prompts and MCP session files
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* fix: detect attached -c and --no-config in DENO_FLAGS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep tracing span on handle_deno_job
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* fix: serve new MCP OAuth sign-ins the session toolset on /api/mcp/gateway
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep the mcp:session marker across every token scope edit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: serve marked MCP sign-ins the session toolset on the per-workspace URL too
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: let a restricted caller re-save a token's mcp:session marker
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: preselect build and run when an MCP client requests every scope
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: advertise only granting MCP scopes in protected resource metadata
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: apply the blanket-request default on the consent page only
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: treat only an mcp:all request with both narrowings as blanket
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat: name the previewed item in an empty session's composer instead of greeting
* feat: name the item's kind in the empty session's composer placeholder
* fix: name the previewed item as its tab does, so view tabs get the summary
* fix: add job_id, step_id and flow_path to every executor's step error
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: take the step error's flow_path from the pulled job, not a query
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: add step context to native ts errors in the executor instead of process_result
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat: add a home setting to hide empty folders
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: keep empty folders listed in a workspace holding nothing else
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: keep a folder created from home listed while empty folders are hidden
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: say which kinds keep a folder listed when hiding empty folders
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: hide the empty-folders toggle where it has no effect, honour it beside pipelines
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: keep empty folders listed when the item count request fails
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: keep the tree when only non-empty folders remain past the loaded window
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* refactor: hide empty folders inside the tree only, keep main's empty-state choice
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: stop starred items showing a starred removal in the editor diff
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: ignore starred in every value diff
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* docs(readme): modernize the code examples, cover in-browser AI building, trim the env var table
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs(license): move the re-expose and internal-use terms from the README into LICENSE, summarize them in the README
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs(readme): use a data table in the script example, add a data section (data tables, DuckDB, DuckLake, pipelines)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* docs(readme): drop the local dev setup section, point to README_DEV.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs(readme): drop the contributors section
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* docs(readme): lead with code-first workflows, apps and AI agents, and the review guardrails for AI-built code
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs(readme): name Lovable among the alternatives
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs(readme): name n8n among the alternatives
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat: authenticate Windmill AI to Anthropic with per-user Workload Identity Federation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: reject WIF-only Anthropic resources in agent steps, scale token refresh margin
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* refactor: move Anthropic WIF to a separate anthropic_federated resource type
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: point agent steps at an anthropic resource instead of a federated one
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: report a federated resource missing a field instead of reading it as standard
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: count Anthropic federated token exchanges in feature_usage
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: update ee-repo-ref to 747336910e5c7498544613ad7863cea59f4db6a1
This commit updates the EE repository reference after PR #923 was merged in windmill-ee-private.
Previous ee-repo-ref: 3ea70adff288448f7318ff20b41225fd726ca8d1
New ee-repo-ref: 747336910e5c7498544613ad7863cea59f4db6a1
Automated by sync-ee-ref workflow.
* feat: authenticate AI agent steps with anthropic_federated resources (#11999)
* feat: authenticate AI agent steps with anthropic_federated resources
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep get_id_token's signature for its EE callers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: update ee-repo-ref to 747336910e5c7498544613ad7863cea59f4db6a1
This commit updates the EE repository reference after PR #923 was merged in windmill-ee-private.
Previous ee-repo-ref: 3ea70adff288448f7318ff20b41225fd726ca8d1
New ee-repo-ref: 747336910e5c7498544613ad7863cea59f4db6a1
Automated by sync-ee-ref workflow.
* feat: switch between anthropic and anthropic_federated when adding a resource
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: keep registryCcCapable's doc comment on it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
* chore: update node to 26 in the docker image and CI
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: pin node to 24.22.1 in the worker image for CVE-2026-111497
The unpinned NodeSource install was served from the build cache, so images
built after the security release still shipped 24.22.0. Reverts the node 26
bump.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* chore: tighten file handling in deno/bun, stricter codebase tarball, executor isolation
* fix(worker): gate now-unused extract_tar behind its enterprise+parquet caller
Removing the codebase-bundle caller of global_cache::extract_tar left its only
remaining caller, pull_from_tar, gated on enterprise+parquet, so under other
feature sets the function (and its tokio::time::Instant import) became dead code
and failed CI's -D warnings build. Gate the definition and the import with the
same cfg as the caller so they appear and disappear together.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
812ff6ea5e was squashed from a branch based before 8af48429 and reverted its
changes to these three files. Restore them as they were in 8af48429.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>