Commit Graph
4636 Commits
Author SHA1 Message Date
centdix ded248ff0b fix(mcp): fix path transformation (#6508)
* fix path transformation

* fix mcp url copy

* safer code
2025-09-02 06:50:14 +00:00
Ruben Fiszel 3cb9eb8f8e remove pin ambiguity on cache 2025-09-01 14:59:25 +00:00
Ruben Fiszel 57754a8919 feat: cache relative imports (#6504)
* all

* all

* update
2025-09-01 14:55:08 +00:00
Ruben Fiszelandrubenfiszel 13b03bc9e6 chore(main): release 1.538.0 (#6495)
* chore(main): release 1.538.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-09-01 12:42:19 +00:00
hugocasa e5d15dccae fix(backend): http triggers early return (#6501) 2025-09-01 12:33:24 +00:00
centdix 4bb9be09af feat(aichat): cache prompts when using anthropic models (#6489)
* working draft

* add caching

* add anthropic.ts

* cleaning

* better typing

* nit

* use anthropic sdk

* draft

* draft parser

* cleaning

* update openai sdk + use stream method

* fix anthropic base url

* cleaning

* better error handling + cleaning

* rollback to old parsing

* nit

* set strict to false for mistral
2025-09-01 08:55:15 +00:00
Ruben Fiszel cee09be4fd typo env nit 2025-08-31 12:23:37 +00:00
1f1bd8cae7 feat(perf): add 300-second local cache for variable crypt retrieval (#6483)
* feat: add 60-second cache for workspace key retrieval

This implements a cache with 60-second staleness for the get_workspace_key
function to reduce database queries for workspace encryption keys. The cache
follows the same pattern as the existing CUSTOM_ENVS_CACHE but with a
shorter expiration time.

Requested by @rubenfiszel

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

* Extend cache staleness from 60 to 300 seconds

* feat: add cache invalidation notifications for workspace keys

Add PostgreSQL LISTEN/NOTIFY mechanism to invalidate workspace key cache
across all servers and workers when workspace keys change.

- Add database migration with trigger function for workspace_key changes
- Add notification handler in main.rs to remove from WORKSPACE_KEY_CACHE
- Follow same pattern as existing workspace environment cache invalidation
- Ensures distributed cache consistency for workspace encryption keys

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

* finish

---------

Co-authored-by: claude[bot] <209825114+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>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
2025-08-31 12:19:59 +00:00
Ruben Fiszel c67620e4da add TAGS_ARE_SENSITIVE env variable 2025-08-30 10:26:24 +00:00
Ruben Fiszelandrubenfiszel f4802eb0a3 chore(main): release 1.537.1 (#6491)
* chore(main): release 1.537.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-29 09:43:00 +00:00
Ruben Fiszel 127ad349fc fix: fix error handling of pre-processor steps 2025-08-29 09:38:25 +00:00
Ruben Fiszelandrubenfiszel 7e3a40a356 chore(main): release 1.537.0 (#6486)
* chore(main): release 1.537.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-28 19:29:04 +00:00
hugocasa 734fb3f1f7 prevent past due team plans to overuse (#6487)
* prevent past due team plans to overuse

* nit

* update ee ref
2025-08-28 16:56:57 +00:00
pyranota a1b702f2a8 fix: fix relative imports cache invalidation (#6468)
* fix: new script on deps job for secondary scripts

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

* make it work (dirty)

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

* reduce db calls

* remove `triggered_by_relative_import`

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

* add comment to common_dependency_path

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

* add fallback to old behavior

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

* remove TODOs

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

* pass deployed hash to git sync handler function

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

* fix ci

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

---------

Signed-off-by: pyranota <pyra@duck.com>
2025-08-27 17:44:35 +00:00
Ruben Fiszel 7e0ece2017 feat: autovacuum or high intensity tables 2025-08-27 17:29:06 +00:00
Ruben Fiszel 102fad3855 minor nits fix 2025-08-27 15:08:58 +00:00
Ruben Fiszelandrubenfiszel 0ed04cbf2b chore(main): release 1.536.0 (#6471)
* chore(main): release 1.536.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-27 13:43:03 +00:00
Ruben Fiszel 534095b012 fix: do not require locked for scheduled jobs 2025-08-27 13:31:23 +00:00
Ruben Fiszel 8fc6228155 not_found_if_none displays location 2025-08-27 13:08:52 +00:00
Alexander Petric 2c29079fd5 feat: email triggers extra args in 'to' header (#6476)
* feat: email triggers extra args in 'to' header

* ee-repo + script helpers
2025-08-27 11:12:05 +00:00
pyranota cd73177427 fix(go): could not read Username for 'xyz': terminal prompts disabled (#6478)
* fix(go): could not read Username for 'xyz': terminal prompts disabled

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

* remove unused import

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

---------

Signed-off-by: pyranota <pyra@duck.com>
2025-08-27 11:11:54 +00:00
pyranota b95866c878 fix(go): exec: "git": executable file not found (#6475) 2025-08-26 16:07:15 +00:00
Ruben Fiszelandrubenfiszel b4bebb66db chore(main): release 1.535.0 (#6460)
* chore(main): release 1.535.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-25 14:43:29 +00:00
Ruben Fiszelandrubenfiszel ce4d39d5d3 chore(main): release 1.534.1 (#6458)
* chore(main): release 1.534.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-25 13:37:53 +00:00
Diego ImbertandGitHub Action fa500027d1 fix: add alias to subquery for older postgres versions (#6455)
* add alias to subquery for older postgres versions

* Update SQLx metadata

---------

Co-authored-by: GitHub Action <action@github.com>
2025-08-25 13:19:10 +00:00
Ruben Fiszelandrubenfiszel 08f199f6c9 chore(main): release 1.534.0 (#6452)
* chore(main): release 1.534.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-25 12:46:19 +00:00
hugocasa a0642f05ff feat(backend): support unencrypted connection to mssql (#6453) 2025-08-25 12:39:37 +00:00
Ruben Fiszel 2ae551fd97 nits cleanup + faster script index #6450 2025-08-23 22:42:39 +00:00
Ruben Fiszelandrubenfiszel e27e81d677 chore(main): release 1.533.1 (#6449)
* chore(main): release 1.533.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-23 08:02:32 +00:00
Ruben Fiszel c60eeb5145 nits 2025-08-23 07:54:59 +00:00
Ruben Fiszelandrubenfiszel d5372bf545 chore(main): release 1.533.0 (#6448)
* chore(main): release 1.533.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-23 02:53:29 +01:00
hugocasa c63c2ef0c6 fix(frontend): ai agent flow status + UI nits (#6447)
* fix(frontend): ai agent flow status

* nit: prevent undefined node issue

* feat: UI nits + flow status select iter fix

* nit ai agent color in picker
2025-08-22 18:51:13 +01:00
Ruben Fiszelandrubenfiszel ac526a4203 chore(main): release 1.532.0 (#6439)
* chore(main): release 1.532.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-22 11:05:42 +01:00
hugocasa 51b51b7c05 feat: json schema resource (#6433)
* feat: json schema resource

* feat: cache

* fix cleanup

* fix: use format instead of custom property
2025-08-22 10:39:13 +01:00
Ruben Fiszelandrubenfiszel ec75b54224 chore(main): release 1.531.0 (#6429)
* chore(main): release 1.531.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-22 08:01:58 +00:00
pyranota 9431ce29b4 add go1_22_compat annotation (#6432)
* bump go to 1.25

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

* Update Dockerfile

* add comms

---------

Signed-off-by: pyranota <pyra@duck.com>
2025-08-21 15:14:29 +00:00
hugocasa 7e5b31b124 feat: ai agent steps (#6393)
* feat: ai agent steps base

* better backend and graph

* feat: anthropic, log viewer

* nit

* fix(frontend): hide tool nodes from timeline

* move ai agent actions from flow status to flow status module

* nits and workspace/hub scripts support

* tmp ref

* fix merge

* feat: display agent tools status in the graph

* fix reactivity

* fix flow status

* nit
2025-08-20 22:40:57 +00:00
Ruben Fiszelandrubenfiszel 26eb060ca5 chore(main): release 1.530.0 (#6426)
* chore(main): release 1.530.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-20 18:20:55 +00:00
3d1584b6e6 feat(mcp): add script preview testing tool (#6417)
* add endpoint to test script

* add same for flow

* better tool spec + remove flow preview from tools

* fix

* fix wrong required fields

* feat(mcp): add warning for missing required fields in schema properties

- Add stderr warning when x-mcp-required-fields contains fields not found in body schema properties
- Prevents silent misconfigurations in MCP tool generation
- Helps debug schema validation issues

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

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: centdix <centdix@users.noreply.github.com>
2025-08-20 14:50:46 +02:00
Ruben Fiszelandrubenfiszel e4c66db0e5 chore(main): release 1.529.0 (#6423)
* chore(main): release 1.529.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-20 09:32:32 +00:00
b8e5d39474 feat: add prometheus metric queue_running_count (#6413)
* feat: add prometheus metric queue_running_count

Adds a new Prometheus metric queue_running_count that tracks the number
of currently running jobs per tag, similar to the existing queue_count
metric but filtered for running=true instead of running=false.

Changes:
- Added get_queue_running_counts() function in windmill-common/src/queue.rs
- Added QUEUE_RUNNING_COUNT Prometheus metric in monitor.rs
- Added /workers/queue_running_counts API endpoint
- Updated OpenAPI specification
- Added SQLx query cache entry

Requested by @rubenfiszel

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

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

* Remove database insertion for queue_running_count metrics

Keep Prometheus metrics and API endpoint functionality while removing
the database INSERT statements as requested.

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

* sqlx

* improve logic

---------

Co-authored-by: claude[bot] <209825114+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 <rubenfiszel@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-08-19 22:12:36 +00:00
Ruben Fiszelandrubenfiszel 3cef26b4b3 chore(main): release 1.528.0 (#6407)
* chore(main): release 1.528.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-19 03:45:30 +01:00
ddd389d59b feat: native k8s autoscaling integration (EE) (#6405)
* stage progress

* stage progress (dirty)

* feat: native k8s autoscaling integration (EE)

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

* fix frontend

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

* update ee ref

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

* update ee ref

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

* Update backend/windmill-api/src/configs.rs

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update ee-repo-ref.txt

---------

Signed-off-by: pyranota <pyra@duck.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-08-19 02:20:14 +00:00
pyranota bcb4812ca2 remove ruby from default features (#6406)
* fix: remove `ruby` from default features

* fix build error
2025-08-19 02:05:46 +00:00
David P. Kleinschmidt d97b978b39 Add windir to Windows environment (#6403) 2025-08-18 13:41:15 +01:00
Ruben Fiszelandrubenfiszel 9ec327dc1d chore(main): release 1.527.1 (#6400)
* chore(main): release 1.527.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-16 10:40:55 +00:00
Ruben Fiszelandrubenfiszel 89f7f1599f chore(main): release 1.527.0 (#6395)
* chore(main): release 1.527.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-15 13:27:11 +00:00
pyranotaandellipsis-dev[bot] 4341c14f8e feat: add ruby support (#5939)
* implement single line pin

* make panic-safe

* use pin even if multiple modules imported withing single statement

* add repins and make imports respect pins

* keep all pins

* Allow multiple pins

* add comments + handle stuff more safely

* fix fully qualified imports

* remove ignore

* sort nested

* apply unique to output requirements list

* fix typo

* remove mut

* update sqlx

* sort imports

* sort imports

* fix formatter and format

* feat: add ruby support

* fix

* update sqlx

* add ruby to flake.nix

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

* upgrade par_install_language_dependencies helper

rename fields + allow passing custom payload

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

* change migrations

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

* make full pipeline work!

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

* do a bit fixing

* stage

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

* add ruby in dockerfiles

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

* implement auto-require + 'windmill/inline'

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

* create 'windmill/inline' only if does not exist

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

* add nsjail

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

* update global settings

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

* add ruby icon

* generate lockfile on deploy (but broken)

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

* fix(frontend): display deployed script lockfile and other info

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

* feat: add mini-wmill client

Methods:
- get_resource
- get_variable

Additionally add shortcuts on frontend

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

* add nit warning

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

* support private repos credentials

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

* fix compilation error

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

* found rustc bug + refactor universal installer

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

* more refactor + fixes

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

* bug fixing + polishing

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

* cleanup

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

* change 'windmill/inline'

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

* delegate env_clear to universal installer

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

* update init script

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

* add cli support

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

* unhardcode frontend

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

* fix cli

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

* fix init script

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

* make it work on ms windows

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

* do not clean env in the end

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

* fix windows (again)

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

* include PROXY_ENVS (untested)

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

* feat: self-signed certs + proxy support (tested)

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

* flake: pin ruby to 3.4

* merge follow-ups

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

* remove obsolete libc crate

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

* cleanup parser

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

* fix java ci

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

* cleanup

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

* fix nits

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

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

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

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

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* add nsjail for lock stage

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

* fix merge

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

* Update common.rs

* regen windmill-api-client

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

* fix tests

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

* fix tests again

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

* reference published ruby parser

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

---------

Signed-off-by: pyranota <pyra@duck.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-15 13:03:32 +00:00
Ruben Fiszelandrubenfiszel 913ee033e5 chore(main): release 1.526.1 (#6391)
* chore(main): release 1.526.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-14 18:18:46 +00:00
dieribaandGitHub Action 453ead3cb5 fix token query (#6392)
* fix

* Update SQLx metadata

---------

Co-authored-by: GitHub Action <action@github.com>
2025-08-14 18:18:23 +00:00