Files
windmill/frontend
Guilhem LemouelandClaude Opus 5 fe88cbe2b2 fix(ai-chat): only an agent that reads a flow input has a say in which one
Four more from the CI review, and one regression of my own.

An agent step carries a placeholder transform for every key of its schema, so
"all agents must agree on the attachments input" read those placeholders as
competing readers and any flow with two agents lost the composer's paperclip. An
agent is a reader only when its transform actually references a flow input;
anything else has no say. What still vetoes is the real ambiguity: two agents
reading different inputs, an expression naming two, or a name the schema does
not declare.

The rest of that rule, applied where it was still missing: an agent whose
provider expression cannot be read now voids the whole resolution rather than
letting the others speak for it; the gap warning is asked of each agent, so one
agent with an empty model still warns however well its neighbour is configured;
the attachment cap counts what is queued, since a queue merges into one turn on
flush; and the conversation a turn belongs to is read before its attachments
upload, with the sidebar holding still meanwhile.

`isWaitingForResponse` had no reset when a launch failed. That cost a stuck
composer before; with the sidebar now holding on the same flag it would have
cost a page reload, so a failed launch clears all three.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QN7VboDEm9HAB1t4sMxMdE
2026-09-10 12:21:59 +02:00
..

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