mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-22 08:02:19 +00:00
bb4b4cf450
* handle messages array for ai agent * better * nit * make tool_calls and tool_call_id nullable * fix empty json behavior * nits * cleaning * feat(backend): replace messages/messages_context_length with history oneOf field Replace the separate 'messages' array and 'messages_context_length' fields with a single 'history' field that uses a oneOf discriminator. The 'history' field can be either: - 'auto' mode: automatically manages conversation history with memory, takes a 'context_length' number parameter - 'manual' mode: bypasses memory and uses explicitly provided messages array Backward compatibility is maintained: if 'messages_context_length' is provided in the old schema format, it is automatically converted to 'auto' mode with the specified context_length. Co-authored-by: centdix <centdix@users.noreply.github.com> * feat(frontend): replace messages/messages_context_length with history oneOf field Replace the separate 'messages' array and 'messages_context_length' fields with a single 'history' field in the AI agent schema. The 'history' field uses a oneOf discriminator with two modes: - 'auto': { mode: 'auto', context_length: number } - automatically manages conversation history with memory - 'manual': { mode: 'manual', messages: array } - bypasses memory and uses explicitly provided messages The schema includes comprehensive descriptions for each mode explaining the behavior. The order array has been updated to include 'history' in place of the old 'messages_context_length' and 'messages' fields. Co-authored-by: centdix <centdix@users.noreply.github.com> * fix(frontend): add support for 'mode' discriminator in oneOf rendering Update ArgInput.svelte to properly handle oneOf schemas that use 'mode' as the discriminator field, in addition to the existing 'kind' and 'label' support. Changes: - Updated tagKey derivation to check for 'mode' first, then 'kind', then 'label' - Added 'mode' to the onOneOfChange function to track mode changes - Added 'mode' to the list of keys excluded from enum validation - Added 'mode' to hiddenArgs to prevent it from being shown in the form - Added title fields to the history oneOf variants in flowInfers.ts This allows the AI agent's history field to properly render with toggle buttons for 'auto' and 'manual' modes. Co-authored-by: centdix <centdix@users.noreply.github.com> * fixes * frontend fix * nit * cleaning * cleaning * better * reword * reword --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: centdix <centdix@users.noreply.github.com>
Windmill Backend
This folder holds all backend components, the src/ folder only contains files used to build the "root" binary.
Components
| name | description |
|---|---|
| windmill-api | The API server, exposing functionality to other components and the frontend |
| windmill-audit | Contains audit functionality, allowing different components to record important actions |
| windmill-common | Common code shared by all crates |
| windmill-queue | Contains job & flow queuing functionality, commonly written to by the API server and read from by workers |
| windmill-worker | The worker. Used to process and execute flows & jobs. |
| parsers | Contains code to parse signatures in different langauges. |
Compile sqlx for offline ci
cargo sqlx prepare --workspace -- --bin windmill --features enterprise