Commit Graph

5157 Commits

Author SHA1 Message Date
Ruben Fiszel 341cdcf66e fix: improve behavior for already completed jobs when doing immediate cancels 2025-09-26 17:19:40 +00:00
hugocasa f990107c45 feat: ai agent streaming (#6644)
* feat: ai agent step streaming

* refactor

* all

* nits

* fix other providers

* nits

* adapt to new streaming process
2025-09-26 17:09:34 +00:00
Ruben Fiszel 02692111a1 fix: do not request unecessarily get_scheduled_for 2025-09-26 15:06:42 +00:00
hugocasa 8f4fef9804 feat(backend): job result stream optimization (#6673)
* feat(backend): job result stream optimization

* get offset locally instead of from db

* fix: agent worker result stream

* update ref

* nit

* remove foreign key on job

* fix build
2025-09-26 11:26:50 +00:00
Alexander Petric 4205e83cfd fix: scim group handling when deleting instance user + conversion (#6677)
* fix: scim group handling when deleting instance user + conversion

* sqlx + compilation
2025-09-26 11:25:44 +00:00
Ruben Fiszel b47c21f299 nit 2025-09-25 10:30:44 +00:00
Ruben Fiszel f5d238edcf fix: fix job loader token initialization 2025-09-25 10:29:08 +00:00
Ruben Fiszel 4117342d46 nit runs page reset 2025-09-24 19:05:35 +00:00
Ruben Fiszel 0f5de6837b nit 2025-09-24 18:48:00 +00:00
Ruben Fiszel afa8104cb0 fix(ui): workers button on navbar require a single click only 2025-09-24 18:39:52 +00:00
Ruben Fiszel 6e2ccebf37 nit 2025-09-24 18:13:57 +00:00
Ruben Fiszel 90d055afc6 nit 2025-09-24 18:13:32 +00:00
Ruben Fiszel eda985df1c fix: improve vscode dev mode for flows 2025-09-24 18:12:37 +00:00
Ruben Fiszel 574364af05 fix: improve vscode dev mode layout for scripts 2025-09-24 18:07:26 +00:00
centdix f66f131fed fix(aichat): in script mode use diff based edits for good providers only (#6665)
* Revert "use diffs based edits"

This reverts commit 4ef6bce562.

* feat(aichat): use diff-based edits for OpenAI/Anthropic providers, whole code for others

- Check the current model provider at runtime
- Use diff-based approach (with diffs array) for OpenAI and Anthropic
- Use whole code replacement for all other providers
- Update tool definition to support both parameters
- Update system prompt with conditional instructions based on provider

Co-authored-by: centdix <centdix@users.noreply.github.com>

* fix

* cleaning

* cleaning

* cleaning

* cleaning

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: centdix <centdix@users.noreply.github.com>
2025-09-24 16:51:51 +00:00
Alexander Petric 6b61262603 feat: app button run in background option (#6670)
* feat: app button, run in background

* show brief loading when in background mode
2025-09-24 16:49:03 +00:00
Ruben Fiszel 31c2e3662f fix: fix vscode extension dev mode 2025-09-24 16:47:50 +00:00
dieriba ef75ed3df7 feat: websocket trigger send runnable result even if error (#6664)
* done

* nits

* update sqlx

---------

Co-authored-by: hugocasa <hugo@casademont.ch>
2025-09-23 19:22:54 +00:00
Diego Imbert b0e7577955 fix: flow quick picker refresh (#6666)
* Fix Broken flow quick picker refresh button

* 60s Cache invalidation
2025-09-23 19:40:30 +02:00
Ruben Fiszel 2de7134b85 fix: improve scripts duplicity error in global search 2025-09-23 15:03:41 +00:00
dieriba b64e509e60 feat: add dyn select for flow step #6662 2025-09-23 12:09:58 +00:00
Diego Imbert 064303e126 forgot $effect.pre (#6661) 2025-09-23 11:58:15 +00:00
Diego Imbert 580d6b613c Fix UI crash with Dynamic Multiselect (#6660)
* Prevent crash when selecting dyn-multiselect

* missing $derived and $state => reactivity issue when switching between DynSelect and DynMultiselect
2025-09-23 13:18:05 +02:00
Alexander Petric de7251d857 feat: dynamically hide tabs in app builder (#6653)
* feat: dynamically hide tabs in app builder

* claude code comments
2025-09-22 16:29:34 +00:00
Alexander Petric 08952c6c6e feat: app builder button tooltip (#6652) 2025-09-22 15:03:54 +00:00
Ruben Fiszel 4cb06ebe99 frontend nits 2025-09-20 13:46:55 +00:00
Ruben Fiszel 81ff0dcd8c fix: retry python relative imports on errno 104 2025-09-20 13:41:15 +00:00
Ruben Fiszel 194887e97b fix: allow variable picker in password field 2025-09-20 12:50:15 +00:00
Ruben Fiszel 2eeaf5639d feat: force cancel in batch cancel 2025-09-20 11:29:35 +00:00
Ruben Fiszel a46ccaef90 match cancel filter with job kinds 2025-09-20 11:08:38 +00:00
Ruben Fiszel 1afb7a2156 improve job cancelling with new flow jobs locks 2025-09-20 11:00:45 +00:00
Ruben Fiszel 612d00367c fix: fix too strict aggrid coldef validation 2025-09-19 20:39:27 +00:00
Alexander Petric 70e9ae14a9 fix: teams api improvements (#6643)
* init

* adding cache + ui nits

* improve caching

* sqlx

* ee repo ref

* remove useless comments

* ci errors

* pr comments

* ee repo ref
2025-09-19 17:43:16 +00:00
Ruben Fiszel f71f9b0894 feat: load for loop jobs timeline directly from for loop flow status (#6646) 2025-09-19 17:32:09 +00:00
Diego Imbert 49e4b57031 Refresh button in flow picker quick (#6645) 2025-09-19 17:30:52 +00:00
Diego Imbert acbf586292 Fix CI (#6640)
* Fix flow quick picker stuck

* fix Ci
2025-09-18 19:01:31 +00:00
Diego Imbert 5cab802c42 fix: fix flow quick picker stuck (#6638)
* Fix flow quick picker stuck

* fix Ci
2025-09-18 18:56:59 +00:00
Ruben Fiszel 74a8d8a6f7 fix: improve flowtimeline 2025-09-18 18:06:35 +00:00
Ruben Fiszel c06c0a49da fix incorrect initialization 2025-09-18 17:32:16 +00:00
Ruben Fiszel bb4699bdc6 fix: fix onLoad auth issue 2025-09-18 17:26:05 +00:00
hugocasa 993baf46bd feat(backend): flow streaming (#6520)
* feat(backend): flow streaming

* all streaming languages + sync api

* sqlx

* fix build

* UI and nits

* nit

* feat: stream last flow step

* sqlx

* nit

* use get for stream endpoints + add snippet in UI

* refactor

* nits

* Update backend/windmill-worker/src/common.rs

Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>

* nits

---------

Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
2025-09-18 15:49:35 +00:00
Ruben Fiszel 57d86789e6 fix checks 2025-09-18 15:39:43 +00:00
Diego Imbert 4586355791 Better flow builder (#6596)
* fly animation

* output picker fly transition

* svelte 5 migrate

* createCache

* cache integrations

* fly transition for triggers add btn

* better hub scripts fetching (code style + caching + fewer states)

* loadItemsCached in WorkspaceScriptPickerQuick

* usePromise fixes

* createCache initial keys, no flicker at all

* Prettier template editor

* fix null access

* fix bad z-index issue

* Revert "Prettier template editor"

This reverts commit ff2a952656.

* type error

* ee repo ref

* Update ee-repo-ref.txt

* Fix formatting of ee-repo-ref.txt

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-09-18 15:24:49 +00:00
hugocasa 39b2f54779 feat(frontend): allow publishing script to hub from list view (#6634) 2025-09-18 14:02:16 +00:00
centdix 56ddad2d5a feat(flow): Add helper to add expression to arrays (#6629)
* Implement array expression helper for number arrays in JS mode

- Add showArrayExprPicker state to manage helper UI
- Add shouldShowArrayHelper() to check conditions (JS mode + number array)
- Add 'Add item' button that shows picker UI when clicked
- Implement picker row with disabled input, FlowPlugConnect, and Cancel button
- Connect callback sets array expression [property] and updates Monaco editor
- Include helpful text and proper cleanup on cancel/connect

* Enhance array expression helper to append items to existing arrays

- Check if current expr is already an array expression [...]
- If it is, append new item to existing content: [existing, newItem]
- If not or empty, create new array with single item: [newItem]
- Update helper text to reflect append behavior
- Maintains backward compatibility with non-array expressions

* Add S3 resource array helper for JavaScript mode

- Add shouldShowS3ArrayHelper() function to detect S3 resource arrays
- Show direct FlowPlugConnect for S3 arrays instead of Add item button
- Apply same append logic: add to existing array or create new one
- Include helpful text explaining S3 resource connection
- Support both s3_object and s3object resourceType variants

* Add S3 resource catalog helper for static mode arrays

- Add shouldShowS3ArrayStaticHelper() to detect S3 arrays in static mode
- Show 'Add an object from the catalog' button below static S3 array inputs
- Button switches to JavaScript mode and immediately activates connect mode
- Sets initial empty array [] then replaces with [selectedPath] when connected
- Includes helpful text explaining the mode switch and connection

* Fix reactivity issue when switching from static to JS mode

- Make button click handler async and await tick() before activating connect mode
- Add Monaco editor update after setting expression in connect callback
- Use tick().then() to ensure Monaco is available before calling setCode()
- This ensures the SimpleEditor displays the new array expression immediately

* Add plug icon to 'Add object from an expression' button

- Import Plug icon from lucide-svelte
- Add startIcon with Plug to the S3 array static helper button
- Makes the button visually consistent with other connection-related UI elements

* Unify S3 resource button style across static and JS modes

- Replace 'Add S3 resource:' text + FlowPlugConnect with consistent Button style
- Use same variant, color, size, and plug icon as static mode button
- Maintain same functionality but with unified visual appearance
- Both S3 helpers now use identical button styling

* Consolidate and clean up array expression helpers

- Extract appendPathToArrayExpr() to eliminate duplicate array building logic
- Add switchToJsAndConnect() helper for consistent mode switching flow
- Add emitChange() and updateEditor() utilities for consistent updates
- Add safety reset of showArrayExprPicker when switching away from JS mode
- Reduce code duplication across number and S3 array helpers
- Improve maintainability and consistency

* Remove number array helper functionality

- Remove shouldShowArrayHelper() function for number arrays
- Remove showArrayExprPicker state variable and related UI
- Remove number array 'Add item' button and picker interface
- Keep only S3 resource array helpers (static and JS modes)
- Clean up unused safety reset logic for array picker

* Create reusable S3ArrayHelperButton component

- Extract S3 array helper button into dedicated component
- Add consistent styling with Plug icon and configurable label
- Replace both static and JavaScript mode button implementations
- Reduce code duplication and improve maintainability
- Component dispatches click event for parent handling

* cleaning

* Hide S3ArrayHelperButton when in connect mode

- Add connecting prop to S3ArrayHelperButton component
- Hide button when connecting is true to avoid UI clutter
- Pass connecting state from InputTransformForm to both button instances
- Improves UX by removing unnecessary button when plug is already active

* cleaning

* cleaning
2025-09-18 09:20:26 +00:00
dieriba 4b7149527b feat: fix gcp cleanup and add ack-deadline for gcp push delivery #6631 2025-09-18 08:31:02 +02:00
centdix 3199f9fffd feat(ai agent): allow multiple images input for ai agent + code cleaning (#6591)
* add in frontend

* draft openai handling

* upload to s3

* simpler output

* return s3 directly if any

* low quality

* implement for gemini

* handle imagen model

* handle image input

* cleaning

* remove base64 from output

* cleaning

* fix timeout

* handle openrouter

* remove log

* allow image input when creating image

* cleaning

* increase stack size

* inline everything

* revert stack size

* refactor: move AI executor types to separate module

- Created ai module structure with types.rs
- Moved all type definitions from ai_executor.rs to ai/types.rs
- No functional changes, just code organization

* refactor: add QueryBuilder trait and provider detection utilities

- Created QueryBuilder trait for abstracting provider-specific logic
- Added helper functions for provider detection (is_anthropic_provider)
- Implemented placeholder QueryBuilder for all providers
- Updated OpenAIRequest to use slices instead of Vec references
- All providers now have QueryBuilder implementations (using default for now)

* feat: implement OpenAI query builder with image support foundation

- Created proper OpenAI query builder implementation
- Added image_handler module for S3 upload/download utilities
- Separated text and image request building logic
- Added prepare_messages_for_api to handle S3Object conversion
- Foundation laid for supporting tools with image output

* refactor(ai): complete AI executor refactoring with query builder pattern

- Created modular structure under ai/ module
- Moved all types to ai/types.rs
- Created QueryBuilder trait for provider abstraction
- Implemented OpenAI query builder with image+tools support
- Added unified agent runner supporting both text and image outputs with tools
- Refactored run_agent to delegate to new unified implementation
- Added image handler utilities for S3 operations
- Improved code organization and maintainability

* cleaning

* feat(ai): implement remaining provider query builders

- Added Anthropic query builder with proper message conversion
- Added Google AI query builder with Gemini API support
- Added OpenRouter query builder delegating to OpenAI for compatibility
- Added missing Anthropic and Gemini types to types.rs
- Fixed type references and compilation errors
- All providers now support the unified query builder interface

* fixes

* fixes

* mime type + cleaning

* image to images

* handle mutlitple images

* fix

* remove agent_runner file

* clean query builder logic

* cleaning

* cleaning

* hide structured_output based on output type

* fix

* user images and not nested

* better descriptions
2025-09-17 16:55:54 +00:00
centdix d837badf2c feat(aichat): add max tokens settings (#6613)
* add max tokens settings

* higher max

* fixes

* save max tokens in workspace settings

* cleaning

* cleaning

* cleaning

* feat(ai): add collapsible sections to ModelTokenLimits component

- Add collapsible/expandable sections for each AI provider
- Display 'Modified' badge when providers have custom settings
- Use ChevronDown/ChevronUp icons for visual feedback
- Add smooth slide transitions for better UX
- Reduce vertical space usage in workspace settings

Co-authored-by: centdix <centdix@users.noreply.github.com>

* adjust

* nit

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: centdix <centdix@users.noreply.github.com>
2025-09-17 16:55:30 +00:00
dieriba 426065efee fix: add ack deadline gcp (#6625)
* update ref

* add ack deadline

* update ref
2025-09-17 16:48:37 +00:00
Diego Imbert e146ac2530 Fix EE check with S3 advanced permissions (#6623)
* Advanced permission rules UI

* stash

* first iteration for s3 rule parsing

* Move to glob based approach

* cache expiry

* fix popover positioning

* ee

* unused imports

* forgot windmill_uploads

* Check S3 permissions for apps

* nit

* typo

* ee repo ref

* forgot get_workspace_s3_resource_and_check_paths in oss

* Restrict to EE
2025-09-17 13:19:56 +00:00