Commit Graph

4726 Commits

Author SHA1 Message Date
HugoCasa
c4845103fb fix: git repository resource picker effect loop (#6017) 2025-06-20 19:31:38 +02:00
Guilhem
ea30c3a026 feat(frontend): run steps from graph (#5915) 2025-06-20 16:39:24 +02:00
Guilhem
0a78d1e74e improve filtering function (#6015) 2025-06-20 16:21:29 +02:00
Guilhem
e2ae34124e runs filter popover close on click outside (#6013) 2025-06-20 14:35:34 +02:00
claude[bot]
3bb55ad0bc feat: add typescript client context to ai chat system prompt (#6004)
* feat: add typescript client context to ai chat system prompt

Add windmill client function signatures and descriptions to the TypeScript 
language context in the AI chat system. This provides users with inline 
documentation for key windmill client functions including resource operations,
state management, variables, script execution, S3 operations, and flow utilities.

The context is kept concise to avoid making the system prompt too large while
still providing the most useful function signatures for TypeScript scripts.

Resolves #6002

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

* fix import

* feat: add python client context to ai chat system prompt

Add PYTHON_WINDMILL_CLIENT_CONTEXT with function signatures and descriptions for key windmill client functions in Python, including:
- Resource operations (get_resource, set_resource)
- State management (get_state, set_state, get_flow_user_state, set_flow_user_state)
- Variables (get_variable, set_variable)
- Script execution (run_script, run_script_async, wait_job)
- S3 file operations (load_s3_file, write_s3_file)
- Flow operations (run_flow_async, get_resume_urls)
- Utilities (whoami, get_job_status, set_progress)

The context is now included for Python language (python3) in the AI chat system prompt, providing users with helpful function signatures and descriptions when asking for coding assistance.

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

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: centdix <farhadg110@gmail.com>
Co-authored-by: centdix <centdix@users.noreply.github.com>
2025-06-20 12:31:52 +02:00
Ruben Fiszel
b47b9d37d7 rm WM_OIDC_JWT from ctx vars 2025-06-20 12:12:07 +02:00
Ruben Fiszel
eddd83aa49 feat: blacklist remote agent worker token (#5985) 2025-06-20 12:07:33 +02:00
Diego Imbert
77c2d2fa84 Remove last SelectLegacy (#6003)
* Replace SelectLegacy in AppPicker

* Better DynSelect

* remove select legacy

* fix unknown values not displayed

* undo tsconfig change

* better dyn select search

* index js remove

* use bindable defaults
2025-06-19 17:49:53 +02:00
Guilhem
859d5bc633 display branchone default branch label (#6005) 2025-06-19 17:48:16 +02:00
claude[bot]
a3f2f8867a fix: ai button in inline script editor to open AI chat in flow builder (#5989)
* fix: ai button in inline script editor to open AI chat in flow builder

- Add openAiChat prop to ScriptGen component to control AI button behavior
- When openAiChat=true, AI button opens AI chat manager in script mode
- When openAiChat=false (default), AI button shows direct generation popover
- Update flow builder (FlowModuleComponent) to use openAiChat=true for inline scripts
- App builder continues using direct generation (openAiChat defaults to false)
- Import AIMode enum properly to fix TypeScript error

Resolves request from @HugoCasa to make flow AI button open chat instead of direct generation while keeping app builder unchanged.

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

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

* refactor: extract repeated logic into reusable functions in ScriptGen.svelte

- Created determineModeFromEditor() to centralize mode setting logic
- Added callCopilot() to unify copilot function calls with proper typing
- Added handleAiButtonClick() as single handler for button click scenarios
- Created safeLocalStorageOperation() for generic localStorage error handling
- Added getPromptStorageKey() for centralized storage key generation

Reduces code duplication and improves maintainability.

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

* refactor: extract duplicate determineModeFromEditor call in handleAiButtonClick

Remove code duplication by calling determineModeFromEditor() once at the 
beginning of handleAiButtonClick() instead of in both conditional branches.

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

* nits

* better color

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: HugoCasa <HugoCasa@users.noreply.github.com>
Co-authored-by: HugoCasa <hugo@casademont.ch>
2025-06-19 16:15:35 +02:00
Diego Imbert
88b37889fa fix: replace worker tags to listen multiselect (#5997)
* rename all multiselects to Legacy

* move Select

* Separate SelectDropdown

* fix click outside for select with portal

* multiselect v0

* multiselect clear btn

* move filterText logic to SelectDropdown

* ui nits

* console.log

* draggable

* Draggable multiselect

* multiselect search

* nit refacto

* autofocus multiselect input

* Replace in AppMultiSelectV2

* search icon

* app multi select nits

* arginput update multiselect

* fix autofocus scrolling up

* replace High priority tags multiselect

* autoscaling config editor multiselect replace

* fix clear btn not in border

* replace multiselect in cron input

* replace multiselect in savedinputs

* replace EventHandlerItem multiselect

* select dropdown shadow

* more multiselect migration

* hover opacity on drag

* TokensTable UI fixes + replace multiselect

* ai settings replace multiselect

* DefaultTags Multiselect replace

* prevent multiselect from opening on drag

* nit

* app multiselect css + simplify

* console log

* safeSelectItems cleanup

* Remove svelte-multiselect

* clip when wrap not allowed

* hide duplicate app components

* CSS works better  with multiselect in app editor

* allowOverflow

* allowClear

* replace tags to listen to with a multiselect

* fix custom createText messed up with search
2025-06-19 15:00:13 +02:00
Diego Imbert
4666b9a75d fix: new MultiSelect component (#5979)
* rename all multiselects to Legacy

* move Select

* Separate SelectDropdown

* fix click outside for select with portal

* multiselect v0

* multiselect clear btn

* move filterText logic to SelectDropdown

* ui nits

* console.log

* draggable

* Draggable multiselect

* multiselect search

* nit refacto

* autofocus multiselect input

* Replace in AppMultiSelectV2

* search icon

* app multi select nits

* arginput update multiselect

* fix autofocus scrolling up

* replace High priority tags multiselect

* autoscaling config editor multiselect replace

* fix clear btn not in border

* replace multiselect in cron input

* replace multiselect in savedinputs

* replace EventHandlerItem multiselect

* select dropdown shadow

* more multiselect migration

* hover opacity on drag

* TokensTable UI fixes + replace multiselect

* ai settings replace multiselect

* DefaultTags Multiselect replace

* prevent multiselect from opening on drag

* nit

* app multiselect css + simplify

* console log

* safeSelectItems cleanup

* Remove svelte-multiselect

* clip when wrap not allowed

* hide duplicate app components

* CSS works better  with multiselect in app editor

* allowOverflow

* allowClear

* fix custom createText messed up with search
2025-06-19 14:37:17 +02:00
Ruben Fiszel
9a31322c82 improve decision tree builder 2025-06-19 08:07:11 +02:00
claude[bot]
ded6e0e459 fix: prevent keypress events from bubbling in decision tree drawer (#5993)
Fixes #5991

- Add keydown event handlers with stopPropagation() to prevent SvelteFlow 
  from receiving keypress events from text inputs in decision tree config
- Applied at individual input level (summary field) and container level 
  (configuration panel) to catch all input types
- Prevents accidental node deletion when typing in configuration inputs

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
2025-06-19 00:34:44 +02:00
Ruben Fiszel
5d70e16ffe nits 2025-06-18 23:46:21 +02:00
claude[bot]
d53b620e46 feat: devOps role can edit worker groups (#5984)
* feat: allow devOps role to edit worker groups config

- Updated backend permission checks in configs.rs to use require_devops_role() instead of require_super_admin()
- Updated frontend UI in workers page to show worker group management for devOps users
- Updated WorkerGroup component to allow devOps role access to all configuration features
- Updated AssignableTagsInner component to allow devOps users to manage tags

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

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

* Update configs.rs

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-06-18 23:06:53 +02:00
Ruben Fiszel
d3c1c34baf nits debug 2025-06-18 22:41:05 +02:00
Ruben Fiszel
e67dfa9200 improve decision tree preview 2025-06-18 22:33:02 +02:00
claude[bot]
ff94b5d2d6 [Claude PR] Fix incorrect $props generic syntax in Svelte 5 components (#5975)
* fix: correct $props generic syntax in Svelte 5 components

Replace incorrect `$props<T>()` syntax with correct `let x: T = $props()` syntax
to ensure proper TypeScript typing instead of falling back to `any` types.

This affects 11 Svelte 5 components throughout the frontend codebase.

Fixes #5974

Co-authored-by: Diego Imbert <diegoimbert@users.noreply.github.com>

* fix claude pr

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Diego Imbert <diegoimbert@users.noreply.github.com>
Co-authored-by: Diego Imbert <diego@windmill.dev>
Co-authored-by: Diego Imbert <70353967+diegoimbert@users.noreply.github.com>
2025-06-18 18:21:20 +02:00
Ruben Fiszel
09ab771103 simplify select (#5978)
* improve select

* improve
2025-06-18 17:01:57 +02:00
Ruben Fiszel
934a0bb4f7 fix input transform reactivity 2025-06-18 16:14:57 +02:00
dieriba
3e658669ba fix openapi export duplicate issue and nits (#5971)
* nits and fix duplicate issue

* update .sqlx

* nits
2025-06-18 14:28:26 +02:00
Diego Imbert
cfb6732e25 prevent datatable from spamming loadMore on scroll to end (#5973) 2025-06-18 14:25:55 +02:00
dieriba
e8f54924d3 feat: windmill http triggers and webhooks to openapi spec (#5918)
* add sum and description to http routes

* add to openapi spec

* add subsection

* add collaspable and action button

* added path rendering,

* migrate logic to backend

* remover server and handle different format generation

* add filter for http route and document generated

* remove print

* handled webhook and integrated server component

* done

* add download and copy

* nits

* update .sqlx

* remove .vscode

* fix npm check

* add summary description and fix toggle

* added security handling and nits

* update .sqlx

* nits and rename key

* remove unused code

* update ref

* nits rename var

* nits

* nits

* nits

* nits

* nits

* add token generation for cURL command

* create token

* update label and remove section

* update repo ref

* clean

* let brower start download before cleaning up resource

* handle sync/async for webhook

* format fix

* nits

* nits

* reset sum and description
2025-06-17 19:49:00 +02:00
Diego Imbert
e5a6ed98a6 fix gcp trigger bind to undefined (#5967) 2025-06-17 19:47:40 +02:00
Diego Imbert
fa0547c5f0 Fix MQTT undefined binding bug (#5966) 2025-06-17 19:34:28 +02:00
centdix
d22974618c ai chat textarea caret wrong positionning (#5964)
* fix textarea caret

* rename style
2025-06-17 18:44:41 +02:00
Diego Imbert
db5bd22a33 Fix unreactive navbar wizard (#5963)
* fix unreactive AppPicker

* migrate StaticInputEditor to svelte 5
2025-06-17 18:42:27 +02:00
Ruben Fiszel
d56d75ba3a improve worker tooltip to get hostname, workerGroup 2025-06-17 18:24:30 +02:00
Diego Imbert
e8f729f494 fix conditional tabs reactivity (#5958)
* fix app conditional wrapper reactivity

* Convert GridCondition to Svelte 5

* Revert "fix app conditional wrapper reactivity"

This reverts commit 2b5910fde2.

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-06-17 11:29:51 +02:00
centdix
426840211b nit: fix typo in ai form filling text (#5959)
* differentiate flow from script

* fix typing
2025-06-17 11:24:50 +02:00
centdix
e75ef25ab9 feat: use provider api to list available AI models in workspace settings (#5947)
* use open router of model lists

* draft

* allow get in ai proxy

* add fetch available models function

* use func

* fix for anthropic

* fix

* fetch on mount

* fix ai settings

* fix

* handle azure
2025-06-17 08:48:47 +00:00
Ruben Fiszel
67e62b0d8d nits perf improvements 2025-06-17 02:06:58 +02:00
Ruben Fiszel
9e0ec899f7 nit prevent default component list 2025-06-17 02:00:30 +02:00
Ruben Fiszel
5298d7a043 select click stop immediate propagation 2025-06-16 21:49:49 +02:00
Ruben Fiszel
da48ff0300 stabilize input specs key 2025-06-16 21:27:30 +02:00
Ruben Fiszel
74a6ffaaa6 nit scriptbuilder 2025-06-16 21:10:48 +02:00
Ruben Fiszel
a0e49f4799 nit showExpr 2025-06-16 19:03:02 +02:00
Ruben Fiszel
2cb2f858bd nit showExpr + badge improvements 2025-06-16 18:29:04 +02:00
Diego Imbert
21fc7783dd fix drawer subgrid not selecting (#5948) 2025-06-16 17:38:35 +02:00
Ruben Fiszel
4ec1bb37b9 nit focus modal 2025-06-16 14:42:47 +02:00
Ruben Fiszel
eeb049c0d0 fix tab selection on app builder 2025-06-16 14:36:26 +02:00
Diego Imbert
eb0eb80fc2 Fix select not scrolling correctly (#5946) 2025-06-16 12:08:59 +02:00
Ruben Fiszel
b0ba380b0b nits app builder 2025-06-15 23:57:55 +02:00
Ruben Fiszel
215dae2f41 partial app svelte 5 migration (#5945) 2025-06-15 23:25:34 +02:00
Ruben Fiszel
cb6a344c8c fix history 2025-06-15 04:22:47 +02:00
Ruben Fiszel
c242a6a975 fix app editor reactivity 2025-06-15 03:59:37 +02:00
Ruben Fiszel
2c13c27404 field.expr error message 2025-06-15 03:16:04 +02:00
JonasGruenwald
0fac009882 Fix wording in DeployOverrideConfirmationModal.svelte (#5944) 2025-06-14 17:07:19 +02:00
Ruben Fiszel
4d8f991b2f nits 2025-06-14 13:21:45 +02:00