Commit Graph

10730 Commits

Author SHA1 Message Date
Ruben Fiszel
fc712cf2e5 fix: compute dependencies of apps in deploy to UI 2025-10-22 18:03:13 +00:00
Alexander Petric
9b956902ae fix windows typo (#6900) 2025-10-22 17:48:38 +00:00
Guilhem
032f0c1f8c feat: UX/UI full overhaul to meet new design system 2025-10-22 15:56:36 +00:00
Ruben Fiszel
9b1a7f5a3a fix(windows): improve 2nd shutdown monitor 2025-10-22 08:42:36 +00:00
Pyra
b9eaff3688 debouncing edge case (#6891)
* fix: debouncing edge case

* Update SQLx metadata

---------

Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-10-22 07:15:28 +00:00
hugocasa
cadf32cf03 fix(backend): batch rerun jobs with preprocessor (#6875) 2025-10-22 06:27:32 +00:00
Vivek Chavan
5529736784 fix(parser): Handle CRLF line endings in bash and PowerShell parsers (#6889)
Fixes #6867

The bash and PowerShell parsers were not properly handling CRLF (Windows-style)
line endings when parsing script arguments. The regex patterns were only
matching LF line endings, causing scripts with CRLF to fail metadata generation.

Changes:
- Updated RE_BASH regex to optionally match \r before line end (\r?$)
- Updated RE_POWERSHELL_ARGS regex to optionally match \r (\r?)
- Added test case test_parse_bash_sig_with_crlf() to verify CRLF handling

This fix ensures that bash scripts created on Windows (or with editors
using CRLF) will correctly parse arguments and generate proper metadata
via 'wmill script generate-metadata' command.

Python parser was verified to work correctly as it uses an AST parser
that inherently handles line endings properly.
2025-10-22 06:21:38 +00:00
Ruben Fiszel
b893af16e7 chore(main): release 1.564.0 (#6877)
* chore(main): release 1.564.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.564.0
2025-10-21 21:18:03 +02:00
Ruben Fiszel
df91a7998c fix: fix download s3 images with jwt 2025-10-21 19:01:39 +00:00
Alexander Petric
7fe849494d feat: add 'on submit' wizard for buttons in app builder (#6886) 2025-10-21 18:40:28 +00:00
Pyra
caa21fcb33 fix: debounce_key automatic deletion (#6885)
* fix: debounce_key automatic deletion

Signed-off-by: pyranota <pyra@duck.com>

* Update SQLx metadata

* better solution

Signed-off-by: pyranota <pyra@duck.com>

* Update SQLx metadata

---------

Signed-off-by: pyranota <pyra@duck.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-10-21 18:31:05 +00:00
Alexander Petric
d777c7798b feat: allow optionally forcing ipv4 for reqwest (#6883) 2025-10-21 15:46:41 +00:00
centdix
0e98b22b42 feat(flow chat): add cancel button (#6869)
* feat(flow chat): add cancel button

Add cancel button to flow chat interface that appears when a flow is executing.
- Replace send button with red stop button when processing
- Wire up cancel functionality to stop flow execution
- Support both polling and streaming modes
- Fixes #6868

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>

* fix

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-10-21 17:41:56 +02:00
centdix
b84764733d fix chat toggle (#6870) 2025-10-21 15:33:17 +00:00
centdix
97ac1be036 feat(aiagent): allow mcp as tools (#6790)
* draft mcp client

* testing

* fix

* cleaning

* mcp resource in inputtransforms

* cleaning

* big cleaning

* cleaning

* no arc

* add utils file

* refactor tools

* add mcp actions

* draft frontend

* send arguments from backend

* better frontend

* cleaning

* use token for auth

* add logo

* rm

* fix

* fix

* chore: refactor mcp for ai agents (#6829)

* Add Tool enum for AIAgent with backward compatibility

- Created Tool enum that can be either Windmill (FlowModule) or Mcp (resource reference)
- Created McpToolRef struct to hold MCP resource path
- Implemented custom Deserialize for Tool with backward compatibility:
  - New format: {type: 'windmill'|'mcp', ...}
  - Old format: FlowModule objects (automatically wrapped in Tool::Windmill)
- Updated AIAgent to use Vec<Tool> instead of Vec<FlowModule>
- Updated FlowValue::traverse_leafs to handle Tool enum
- Backward compatible: old flows with Vec<FlowModule> will deserialize correctly

* Refactor AI executor to process Tool enum instead of extracting MCP from input_transforms

- Separate Windmill tools and MCP resource paths from tools list
- Process Windmill FlowModules into Tool definitions
- Load MCP tools from resource paths in Tool::Mcp variants
- Remove old logic that extracted mcp_resources from input_transforms
- Import FlowModule, remove unused InputTransform
- Fix type issues: use .as_str() for path and handle Option<bool> properly

* handle in args

* mcp as flowmodule

* frontend

* config for mcp

* simplify logic

* fix ai executor logic

* cleaning

* clean frontend

* fix

* better resource picker

* fix and styling

* add endpoint to fetch tools

* apply tool filtering

* fix name validation

* better ui

* use cache

* fix

* fix merge

* refactor: Separate MCP tools from FlowModule in AIAgent

- Add new AgentTool, ToolValue, and McpToolValue types
- Update AIAgent to use Vec<AgentTool> instead of Vec<FlowModule>
- Implement From traits for clean conversion between AgentTool and FlowModule
- Add backward compatibility via custom deserializer for AgentTool
- Simplify resolve_module logic by reusing existing resolve_modules function
- Update traverse_leafs to handle AgentTool structure

This refactoring separates MCP tools from FlowModule tools, making the
type system clearer and eliminating the need to treat MCP servers as
a special case of FlowModule.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor: Update ai_executor and worker_lockfiles for AgentTool

- Update ai_executor.rs to handle new AgentTool structure
  - Separate MCP tools from FlowModule tools using ToolValue enum
  - Convert AgentTool to FlowModule for backward compatibility
  - Add imports for AgentTool and ToolValue types

- Update worker_lockfiles.rs for lazy loading optimization
  - Convert AgentTool <-> FlowModule in insert_flow_modules
  - Preserve lazy loading for FlowModule tools via modules_node
  - Keep MCP tools inline (lightweight, no need for lazy loading)
  - Maintain backward compatibility with existing flows

This enables the lazy loading optimization for FlowModule tools while
keeping MCP tools inline, balancing performance and simplicity.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* cleaning

* adapt frontend

* cleaning

* cleaning

* type fix

* cleaning

* fix back comp

* move mcp button position

* nit

* cleaning

* fix nested removal

* cleaning

* opti

* fix chat markdown display

* fix chat messages layout

* fix back comp frontend

* fix deserializer

* nit

* simpler serializer

* use if else

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-21 15:28:52 +00:00
Ruben Fiszel
1e670731d5 fix: fix column def sync for evalv2 2025-10-21 14:11:55 +00:00
Ruben Fiszel
7d1ee0662e fix: delete workspace_env on workspace deletion 2025-10-21 11:14:36 +00:00
Guilhem
b7cdd54776 fix suspended count display (#6871) 2025-10-20 14:32:53 +00:00
Ruben Fiszel
e10ac1a93e chore(main): release 1.563.4 (#6865)
* chore(main): release 1.563.4

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.563.4
2025-10-20 10:14:04 +00:00
Ruben Fiszel
6ccccbcf9e fix(cli): improve generate-flow with raw requirements 2025-10-20 10:03:14 +00:00
Ruben Fiszel
88b97e63da tailwind classes editor chrome fix 2025-10-19 23:16:26 +00:00
Ruben Fiszel
dfd08d8a4b refactor: improve usage table behavior to eliminate synchronous row locks (#6863)
* refactor: improve usage table behavior to eliminate synchronous row locks

Replace synchronous INSERT...RETURNING with SELECT + async UPDATE pattern:
- Add check_usage_limits() to read current usage without row locks
- Add increment_usage_async() to update usage in background task
- Refactor job push logic to use optimistic validation
- Simplify job completion tracking with better error handling

This eliminates blocking row locks on the usage table during job creation,
significantly improving throughput and reducing contention.

Note: Requires running 'cargo sqlx prepare' with database access to update
the query cache in .sqlx/ directory.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>

* Update SQLx metadata

* refactor: optimize cloud usage checks with caching and conditional queries

- Add 60s cache for superadmin status checks to reduce DB load
- Skip unnecessary user usage query for premium workspaces
- Use existing team plan status cache (already implemented in windmill-common)
- Update check_usage_limits to accept check_user_usage parameter
- Add sqlx query cache for conditional user usage query

This optimization eliminates redundant database queries during job creation,
particularly for premium workspaces where user usage tracking is not needed.

Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-10-18 07:47:31 +00:00
Ruben Fiszel
d86ad751d4 fix: set jwt auth for custom apps 2025-10-18 07:10:09 +00:00
Ruben Fiszel
4cc2166c10 chore(main): release 1.563.3 (#6864)
* chore(main): release 1.563.3

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.563.3
2025-10-18 06:29:11 +00:00
Ruben Fiszel
d5ca95e3ed nit opt 2025-10-18 06:28:40 +00:00
Ruben Fiszel
3c114b0678 fix(cli): when generating flow locks with new inline content, also generate separate content file 2025-10-18 06:20:05 +00:00
Ruben Fiszel
200242aa3b chore(main): release 1.563.2 (#6862)
* chore(main): release 1.563.2

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.563.2
2025-10-17 18:30:16 +00:00
Ruben Fiszel
f581ce6248 fix: monitor less frequent cleanup process periodicity 2025-10-17 18:27:11 +00:00
Ruben Fiszel
4fdbd9184e chore(main): release 1.563.1 (#6861)
* chore(main): release 1.563.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.563.1
2025-10-17 17:21:32 +00:00
Ruben Fiszel
c8d2a036b6 re-route agent workers job if needed prior to applying concurrency limits 2025-10-17 17:15:05 +00:00
Ruben Fiszel
6faea9adad fix: fix concurrency limit behavior with remote agents dep jobs 2025-10-17 16:59:29 +00:00
Ruben Fiszel
c3299e8b8b chore(main): release 1.563.0 (#6856)
* chore(main): release 1.563.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.563.0
2025-10-17 14:27:49 +00:00
hugocasa
c7fb178190 fix(frontend): interaction with code instance settings on chrome (#6859) 2025-10-17 14:22:19 +00:00
Ruben Fiszel
eeb2e010d7 nits cache 2025-10-17 14:21:24 +00:00
hugocasa
8cd0006498 feat: http routes streaming (#6834)
* feat: http routes streaming

* improve webhook config section for SSE

* feat: add request type config to http routes

* fix check

* sqlx

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-10-17 14:05:17 +00:00
Ruben Fiszel
d2ae0533f4 fix select grant 2025-10-17 13:59:58 +00:00
wendrul
e719be54e0 Fix ansible delegate mode only working with ssh (#6858) 2025-10-17 13:58:00 +00:00
Ruben Fiszel
60e17e5068 fix: add grant select on debounce_key 2025-10-17 13:55:02 +00:00
Ruben Fiszel
963e0fb356 fix: flow dev mode improvements 2025-10-17 13:36:05 +00:00
Pyra
2868eeda26 perf: remove unnecessary db call (#6853)
* perf: remove unnecessary db call

Signed-off-by: pyranota <pyra@duck.com>

* Update SQLx metadata

---------

Signed-off-by: pyranota <pyra@duck.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-10-17 11:51:55 +00:00
centdix
93e4b5e0bb feat(aiagent): Store AI provider config in localStorage (#6854)
* feat(aiagent): Store AI provider config in localStorage

- Added localStorage persistence for AI provider, resource, and model selections
- Configuration is loaded as default values on component initialization
- Automatically saves whenever selections change
- Validates stored provider is still available before loading
- Uses storage key: windmill_ai_provider_config

Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>

* better

* fix logic

* Update toggle option text for default setting

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-10-17 11:48:27 +00:00
Ruben Fiszel
5c02af11c3 remove benchmark from all_features_oss 2025-10-17 08:28:06 +00:00
centdix
b93931622f add svelte 5 mcp (#6847) 2025-10-17 07:24:57 +00:00
Ruben Fiszel
34cd68676b fix migration error 2025-10-17 03:42:41 +00:00
Ruben Fiszel
cc64f8acef chore(main): release 1.562.0 (#6841)
* chore(main): release 1.562.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.562.0
2025-10-16 21:54:50 +00:00
Diego Imbert
72c6bad0dd create ducklake_user_pg_pwd if deleted by CLI (#6845) 2025-10-16 21:54:00 +00:00
Ruben Fiszel
ea8c9cc766 remove safety migration 2025-10-16 21:29:44 +00:00
Ruben Fiszel
56ca67a11d nit 2025-10-16 20:53:32 +00:00
hugocasa
c86b3448b8 feat: add support for sage intacct oauth (#6794)
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-10-16 20:40:25 +00:00
Diego Imbert
a4a502cf3a ducklake safety for instance_settings.yaml users (#6844) 2025-10-16 20:39:11 +00:00