* Add note component
* save note size and position
* move add note button up
* nit
* Add markdown support
* wip
* fix add sticky note button
* fix text update
* Add sticky note to saved flow data
* add note color picker
* Introduce node multiselect
* Add group notes
* Adapt layout to group node
* create a note manager class
* clean reactivity
* clean
* improve adaptive layout to group note
* modify layout based on cached text height
* fined grained graph rendering for notes
* separate noteManager into editor and render
* separate noteManager into editor and render
* create a note change observer
* render note node from context
* simplify note state managment
* show note in flow viewer
* clean dirty changes
* clean selection manager
* fix layout check
* improve bg surface select
* Handle z-index for stacked group notes
* clean selection manager
* exclude notes from rect select
* Allow switch between selection modes with keyboard keys
* improve selection box styling
* prevent dragging note when editing
* nit
* Simplify selection using svelte flow built in feature
* handle note selection separately
* Add min size for notes
* improve selection toggle
* improve mode switch
* make size and position optional for group notes
* Improve initial viewport position
* Add context menu for the canevas
* nit
* Add node context menu
* improve note select
* use clickoutside for note deselect
* use pointerdown outside to close context menu
* nit
* fix selection issues
* make edges non selectable
* improve color palette
* fix backend
* fix backend check
* cargo lock restore
* Add toggle to display notes
* fix note selection
* nit
* account for css offset in for loop
* fix multiple selection pannel styling
* clear flow selection when creating note
* Improve placeholder and note default text
* Escape note edit mode when pressing Esc
* Allow note edition in local dev
* clean
* Handle subflow selection
* prevent group note resizing
* nit
* allow notes in flow expand
* Improve multi select panel
* Allow context menu in note mode
* Add event listenner to fix pane click deselect
* prevent zoom in text area in notes
* improve bounding box styling
* Use control for box selection for non mac users
* nit
* clean notes groups
* nit
* use portal for note actions
* handle assets node when computing note layout
* Simplify layout compute for notes
* use smart color choice for notes
* Switch display note when adding a new note
* clean code
* improve group note bound size calculation
* simplify AI tool nodes and asset handling
* nit
* nit
* improve flow centering
* create group note button
* Improve selection of nodes
* Revert "Improve selection of nodes"
This reverts commit d2c40d82b1.
* refert backend changes
* nit
* improve graph selection
* clean
* make backend work except job runs
* fix notSelectable
---------
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* assets migration
* parse assets (duckdb)
* iterate on assets
* S3 object Preview
* remove pagination
* filterText
* better occurence list
* tweak
* assets in JobPreview
* clone impl
* AssetsDetectedBadge
* improve DbManagerButton + asset dropdown button
* edit resource btn
* warning when incorrect resource
* +Resource in DuckDB
* +S3 Object editor bar
* nit fix rename
* flow asset badge
* More Generic OnChange
* Highlight assets used in modules
* Show occurence count in flow
* Better UX, avoid moving parts
* nit
* Asset nodes
* move to dedicated Asset ctx
* fix layoutNodes not handling first assetsMap
* explore asset btn in flow asset node
* correct offset
* single computeAssetNodes function
* Fix y positioning of nodes with assets
* resource editor
* write mode node (ui)
* accessType in ctx + fix insert button positioning
* right positioning when mixing read and write nodes
* right positioning when mixing R and W assets
* Better layout fix algorithm
* listAssetsByUsage and asset nodes on transitive usages
* refactor + remove linkAssets
* Refactor to allow for custom R/W modes
* AssetsDropdownButton in flow script editor
* R/W/RW selection and changes node pos in flow
* layoutNodes doesnt need recompute now
* fix wrong assumption that nodes recompute when assets change
* r/w/rw multi toggle
* MultiToggle cool animation + clearable
* rename + 1px nit
* remove mini toggle button group, use ToggleButtonGroup
* Combinator parser that detects R / W asset context
* nit fix missing flex-1
* missing order by
* better ui indication for access type
* special x offset case when only one asset node for clarity
* parse getResource in TS with swc ecma parser
* support load and write s3 detection in TS
* Python asset parser
* support wmill api calls without special $res: or s3:// syntax
* detect out of context asset uris python
* do not use access type override when not ambiguous in flow graph
* parse_assets match case in rust
* AsRef<str> refactor
* From impl
* Save flow assets
* Save script asset usages + fixes + save fallback access types
* asset sub icon
* max total asset node width to avoid overlap
* small refactor
* don't parse comments in duckdb assets
* fix assets clearing on parse error
* fix script asset save in wrong place
* load initial asset fallback access types
* support variables
* ui fixes
* Support S3Object as URI in TS client
* support new syntax in python client
* Support +S3Object in EditorBar for TS and python
* Reduce resource requests in assets page
* import windmill client when necessary
* update s3Types.d.ts
* nit fix
* Show input resources and s3 objects as assets
* improve asset icons
* DarkModeObserver refactor
* asset page tabs
* Moved resource variables and s3object pages to assets tabs
* fetch resource usages
* Get variables usages
* move assets usage dropdown to component
* Revert "move assets usage dropdown to component"
This reverts commit 622ea4ab12.
* Revert "Get variables usages"
This reverts commit b11ced4e29.
* Revert "fetch resource usages"
This reverts commit aa5187ad4b.
* Revert "Moved resource variables and s3object pages to assets tabs"
This reverts commit 4430487be4.
* Revert "asset page tabs"
This reverts commit dacc2f0da5.
* move assets usage dropdown to component
* asset icon in asset pages
* tooltip
* details
* Storage selector in S3 File Picker
* make edge less opaque
* Refactor computeAssetNodes to separate in and out nodes
* AssetsOverflowedNode
* nits
* fix assets not being parsed in flows sometimes
* show asset kind and resource_type
* ui nits
* support res:// in duckdb
* add banner for old deployments
* Fix permissionning
* fix broken disable /enable all
* assets page view permission for operators
* Disable ExploreAssetButton for operators
* asset kind as subtitle
* do not spam getResource in assets page. prob. revert fail
* update assets page on workspace change
* reload storage names on ws change
* delete assets on archive / deletion
* sqlx prepare
* missing update when updating user
* add indexes on asset
* better message
* missing loadInit: false
* dead code
* use transaction
* typo
* update package.json
* update package.json
---------
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* use form to avoid issues with chrome autocomplete
* fix tooltip overflowing to the right
* fix missclick on tooltip
* better fix
* dont show expiration on mcp token creation
* add zindexes to safelist
* add autocomplete
* hack fix dnd with tick
* DBExplorer table left table selector
* kinda works
* correct table metadata
* separated columnDefs creation logic
* Removed dependency on AppDbExplorer
* (tweak) loadTableMetaData much faster
* nit for darkmode
* DBExplorerDrawerButton
* footer
* count footer
* reload
* update
* fix height
* db explorer btn in resources table
* delete row
* InsertRowDrawerButton
* insert
* refresh on insert and delete
* moved db logic to ts file
* better update ux
* moved all IO upwards
* fix: Remaining svelte 5 bugs (#5563)
* hack fix dnd with tick
* fix: infinite loading in CodeDisplay after update to svelte 5
* regen package-lock
* fix tutorial (#5562)
* fix tutorial first part
* fix tutorial
---------
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* feat: Implement sending diff to ai (#5510)
* allow mentioning specific files in instructions
* remove not working highlight implementation
* make highlighted text work
* fix tooltip position
* clean code
* cleaning
* use lib for tooltip positioning
* fix logic
* draft for db in context
* use tools for db in context
* fixes
* cleaning and bug fixes
* fix
* cleaning
* fix when script is db type
* simplify logic
* put schema in context if already here
* fix imports
* fix tooltip position and make it scrollable
* remove console logs
* check if selected is in available
* fix tooltip list
* add back lost logic
* last fix
* fix type errors
* use loaded schema from dbSchemas
* fix typing, content and lang are always there
* remove from context if not available anymore
* add not loaded yet mention if schema not loaded
* add missing callback logic
* fix prompt
* fix usage of updateselectedContext function
* fix styling for white theme
* handle tab and arrows
* fix schemas not being refreshed on contexts
* also refresh displayMessages when dbschemas change
* fix duplicate available contexts
* fix logic for new scripts
* fix new lines inside text area
* implement sending diff in context
* add button in deploy options to ask ai about diff
* also visualize change when asking for diff
* better prompt
* add limit to diff size
* put diff mode toggle in editor bar
* add button to see history from editor
* adjustements
* put see diff button in dropdown
* fixes
* better styling
* highlight if diff mode
* format files
* change buttons based on diffmode
* remove diff after sending message
* fix type error
* smaller buttons
* draft
* use existing editor in diff editor
* fix number of db resources fetches
* fix apply and add buttons on diff mode
* cleaning
* undo ai gen button show
* better buttons
* styling asjustements + show diff in badge
* styling
* fix deployed code check
* cleaning and styling
* better quick actions
* dont send code when analyzing
* remove apply in chat if only code and no diff
* fix bad code refactor
---------
Co-authored-by: HugoCasa <hugo@casademont.ch>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* fix: prevent invalid returned ai completion object errors (#5564)
* fix(frontend): app builder - force json configuration in rich result (#5565)
* feat: make azure a standalone AI provider (#5558)
* feat: make azure a standalone AI provider
* oups
* nit
* fix: openai/azure oauth
* nit
* nits
* feat(frontend) add flow step result viewer (#5398)
* fix(cli): properly handle enabled/disabled updates of schedules
* fix benchmarks
* feat: handle sending selected lines to ai context (#5527)
* allow mentioning specific files in instructions
* remove not working highlight implementation
* make highlighted text work
* fix tooltip position
* clean code
* cleaning
* use lib for tooltip positioning
* fix logic
* draft for db in context
* use tools for db in context
* fixes
* cleaning and bug fixes
* fix
* cleaning
* fix when script is db type
* simplify logic
* put schema in context if already here
* fix imports
* fix tooltip position and make it scrollable
* remove console logs
* check if selected is in available
* fix tooltip list
* add back lost logic
* last fix
* fix type errors
* use loaded schema from dbSchemas
* fix typing, content and lang are always there
* remove from context if not available anymore
* add not loaded yet mention if schema not loaded
* add missing callback logic
* fix prompt
* fix usage of updateselectedContext function
* fix styling for white theme
* handle tab and arrows
* fix schemas not being refreshed on contexts
* also refresh displayMessages when dbschemas change
* fix duplicate available contexts
* fix logic for new scripts
* fix new lines inside text area
* implement sending diff in context
* add button in deploy options to ask ai about diff
* also visualize change when asking for diff
* better prompt
* add limit to diff size
* put diff mode toggle in editor bar
* add button to see history from editor
* adjustements
* put see diff button in dropdown
* fixes
* better styling
* handle adding code piece to context
* add code piece in context
* draft start end markers
* adapt code
* draft
* apply code pieces before sending request
* cleaning
* highlight if diff mode
* format files
* change buttons based on diffmode
* remove diff after sending message
* fix type error
* smaller buttons
* draft
* use existing editor in diff editor
* fix number of db resources fetches
* fix apply and add buttons on diff mode
* cleaning
* undo ai gen button show
* better buttons
* better prompt
* remove console log
* fix merge
* avoid duplicates
* fix merge
* fix
* fix apply logic
* remove useless if
* focus text area + close chat if no selected lines
---------
Co-authored-by: HugoCasa <hugo@casademont.ch>
* fix: flow editor svelte 5 issues (#5567)
* feat: add diff toggle to flow inline scripts (#5550)
* draft flow diff
* add missing import
* cleaning
* code cleaning
* fix for recursive renderings
* fix typo
* cleaning
---------
Co-authored-by: HugoCasa <hugo@casademont.ch>
* fix(frontend): proper each block binding + better app settings reactivity (#5568)
* fix: properly bind to array elements in Svelte each loops
This commit fixes an issue where binding directly to loop variables in Svelte's #each loops doesn't properly update the original array. Instead of binding directly to the loop variable, we now bind to the array elements using index variables.
The pattern used is: - Change: {#each arr as el} -> {#each arr as _, index} - Change: bind:value={el} -> bind:value={arr[index]}
Modified files: - frontend/src/lib/components/ArrayTypeNarrowing.svelte - frontend/src/lib/components/apps/editor/AppInputs.svelte - frontend/src/lib/components/flows/content/FlowModuleWrapper.svelte
* better app settings panel reactivity
---------
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: HugoCasa <hugo@casademont.ch>
* fix: app editor svelte 5 fixes (#5570)
* fix: properly bind to array elements in Svelte each loops
This commit fixes an issue where binding directly to loop variables in Svelte's #each loops doesn't properly update the original array. Instead of binding directly to the loop variable, we now bind to the array elements using index variables.
The pattern used is: - Change: {#each arr as el} -> {#each arr as _, index} - Change: bind:value={el} -> bind:value={arr[index]}
Modified files: - frontend/src/lib/components/ArrayTypeNarrowing.svelte - frontend/src/lib/components/apps/editor/AppInputs.svelte - frontend/src/lib/components/flows/content/FlowModuleWrapper.svelte
* better app settings panel reactivity
* fix: app editor table svelte 5 fixes
---------
Co-authored-by: Guilhem <guilhemlemouel@gmail.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* select border (#5571)
* fix: properly bind to array elements in Svelte each loops
This commit fixes an issue where binding directly to loop variables in Svelte's #each loops doesn't properly update the original array. Instead of binding directly to the loop variable, we now bind to the array elements using index variables.
The pattern used is: - Change: {#each arr as el} -> {#each arr as _, index} - Change: bind:value={el} -> bind:value={arr[index]}
Modified files: - frontend/src/lib/components/ArrayTypeNarrowing.svelte - frontend/src/lib/components/apps/editor/AppInputs.svelte - frontend/src/lib/components/flows/content/FlowModuleWrapper.svelte
* better app settings panel reactivity
* fix: app editor table svelte 5 fixes
* fix: select border
---------
Co-authored-by: Guilhem <guilhemlemouel@gmail.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* feat: add windmill context to autocomplete (#5548)
* add windmill context to autocomplete
* fix formatting
* remove console log
* do not mention tool call for autocomplete
* apply logic to php
---------
Co-authored-by: HugoCasa <hugo@casademont.ch>
* fix tabs selected behavior change from svelte 5
* fix: fix list jobs by tag
* fix: tenant id to never be undefined on teams (#5572)
* fix: tenant id to never be undefined
* simplify azure oauth
* simplify azure oauth
* update ee ref
* sqlx prepare
* sqlx prepare
* fix: legacy script gen model selection (#5574)
* feat: add wildcards filter for worker/label/tags
* fix: Dynamic select does not work with tag //native (#5576)
closes#5490
* function takes 13 arguments but 14 arguments were supplied (#5577)
* fix(frontend): prevent deploy popover to show if deploy dropdown is open (#5542)
* prevent deploy popover to show if deploy dropdown is open
* wip
* Revert "wip"
This reverts commit 85434654af.
* Revert "prevent deploy popover to show if deploy dropdown is open"
This reverts commit edd9eda156.
* add prop to hide popup fro dropdown
* feat: button can have tooltip
* improve deploy tooltip and dropdown behavior
* rename tooltip to tooltipPopover
* nit
* add deploy button component
* use svelte 5 runes
* use new deploy button for script builder
* add delay to deploy popover when dropdown is open
* add delay to deploy popover when dropdown is open
# Conflicts:
# frontend/src/lib/components/DeployButton.svelte
# frontend/src/lib/components/common/button/Button.svelte
* Update frontend/src/lib/components/common/button/Button.svelte
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* remove unsused field
* nit
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore: update hub sync script (#5579)
* fix monaco suggestion z-index (#5578)
* fix: validate saved module before passing to flow module editor (#5580)
* fix: freeze when clicking script history diff button (#5581)
* fix: validate saved module before passing to flow module editor
* fix: freeze when clicking script history diff button
* add space (#5582)
* fix: binding not working in nested array script arg (#5585)
* fix: mssql ca_cert deserializing (#5587)
* fix: improve app image picker UX (#5589)
* DBTableAction
* delete table
* fix intempestive error toasts
* fullscreen mode
* rename db explorer to db manager
* use drawer open state instead of oo open method
* create table btn
* factor away sucess text
* basic table creation form
* uniq check
* better select
* better add btn
* extra settings
* create table works in pgsql
* MySQL kinda works
* CRUD works in mysql
* fix lowercase
* allow create table with no schema
* handle default value
* sql repl pane
* execute sql queries
* db ops opt in
* SQL Repl v0
* ux
* UX
* better refresh
* better placeholder sql
* sql code clipboard copy
* handle multiple primary keys in table creation
* fix all fields being required on insert
* fix postgres enum not properly converted
* use InsertRowDrawerButton in App db studio
* insert shortcut
* fix mysql datetime parser for non tz dates
* npm run check
* Revert "fix all fields being required on insert"
This reverts commit 6bec952fb7.
* fk ui
* don't commit .env...
* tweak
* fk ui bindings
* fk dropdowns right values
* schema notation fixes
* handle on delete / update cascade etc
* better loading button without flicker
* fix infinite loop caused by getDbSchemas
* foreign key error validation
* type error
* cache col defs
* fix label hover
* fix fk select overflow
* Fix Select styling
* mssql fixes
* fix wrong typecast failing with mssql
* extract makeLoadTableMetaDataQuery
* Fetch all col defs in one go (mysql)
* loadAllTablesMetaData for postgres
* for some reason factoring transformColumnDefs broke ag infinite table
* mssql loads all coldefs at once
* snowflake preload all col defs
* filter out information schema snowflake
* default schema select
* fix original pg col def logic broken
* Fix ugly flickers
* fix updateGrid before grid ready
* better auto sizing
* smoother CRUD UI refreshes
* fix col defs qury for bigquery
* bigquery works
* nits
* do not change queries used in policies !
* fix runPreviewJobAndPollResult on WINDMILL_TOO_BIG
* select padding
* ellipsis typos
* fix mysterious ugly red flash when mounting ag grid in dark mode only
* Load on click
* Remove schema explorer mode
* repl min size
* fix flash on dark mode
* dirty fix ag grid not refreshing sometimes
* sql repl history
* fix ag theme
* close sql repl result viewer by clicking outside
* Select styling fix in dark mode
* better default query sqlrepl
* Buttons less aggressive
---------
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: centdix <40307056+centdix@users.noreply.github.com>
Co-authored-by: HugoCasa <hugo@casademont.ch>
Co-authored-by: Alexander Petric <alpetric@users.noreply.github.com>
Co-authored-by: Guilhem <guilhemlemouel@gmail.com>
Co-authored-by: Piyush मिश्र <piyushxcoder@gmail.com>
Co-authored-by: Piyush मिश्र <piyush.raj.kit@gmail.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix(frontend): Fix toast when adding a user + set default vscoode theme variable + fix DisplayResult componnet
* fix(frontend): handle both encoding
* fix(frontend): add all editorHoverWidget classes