Commit Graph

24 Commits

Author SHA1 Message Date
dieriba 556b4a41a1 feat: Support mistral anthropic for ai (#4692)
* wip: openai proxy and other ai proxy integration

* fixing migration script

* wip: support different ai provider in front, fix proxy openai

* wip: adding frontend ai provider

* updated copilot types

* wip: working on anthropic integration

* done AI proxy front

* adding new type and support for anthropic

* updating gitignore

* adding streaming response

* added streaming prompt

* push lib/gen

* wip: fixing anthropic

* anthropic fully supported

* fix backend missing var error and fully support stream event for anthropic

* remove gen directory

* fixing openapi file

* add support for mistral, and update create workspace components

* remove deref.json

* remove package-json

* openapi

* fix ui enable code

* added utility function for init workspace ai provider

* fix workspace switch bug

* update anthropic property and fixed frontend error

* fix workspace settings

* update error message and fix typo migration file

* chore: update openapi file

* fix dev file

* add .sqlx

* all

* update sqlx

---------

Co-authored-by: dieriba <t.dieriba@gmail.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-11-14 14:24:35 +01:00
pyranota d3e0b1c636 feat: Allow setProgress and getProgress from within the script (#4400)
* Allow setting progress explicitly from script body.

This feature exposes:
 * `getProgress`
 * `setProgress`
 * `incProgress`

API in TypeScript client (python is coming soon).

NOTE: Progress cannot be out of range 0..100 and cannot decrease.

With exposed APIs there is also UI changes, so progress can be shown for individual jobs as well.

For optimization reasons, jobs start to ask for progress only after N-seconds of execution.

* feat: Add `shell.nix`

If you dont have anything but nix, dont worry, run nix-shell in root, or activate with direnv and get all needed dependencies

NOTE: You will still need docker

* feat: Add `dev.nu` to typescript client

Little helper function, allowing developer to work on ts client easier.

To use:
  `./dev.nu watch`

Now add import of windmill in body of your script and `//nobundle` on top of the file

Edit ts client in your favourite editor and hit save. Script will do the rest.

* Cleanup files

* Fix: Failed to deserialize query string: missing field `get_progress`

* perf: Implement non-naive polling mechanism for getting job progress

* Add independant delay for getProgress

Problem in `TestJobLoader`:

There should be 2 delays:

    One until we find our first progress (every 5s)
    Once we found our first progress, we can do it every second

* nit: Use `query_scalar!` instead of `query_as`

* Fix: Sql error, no rows returned by a query that expected to return at least one row

* refactor: Remove global CSS for JobProgressBar

* Change UI for progress of flow subjobs

* Replace `Step 1` with `Running` in ProgressBar for individual jobs

* Remove `incProgress`

incProgress is not very usefull and error-prone

* perf: Set metric only for jobs that are actually using it

(https://github.com/windmill-labs/windmill/pull/4373#discussion_r1759843773)

* Offload registering progress from clients to server

* Add `jobId?` argument to typescript-client's `setProgress` and `getProgress`

Allows to set progress of other jobs and flows,
if jobId specified, than flow id will be inferred automatically.

Could be used by SDK.

* Add `Error::MetricNotFound` for better error handling

* Fix: Make `JobProgressBar` display in red when failed

* Add persistant progress bar

Now you can reload the page after job is done and progress will be still there

* Allow succeeded individual job's progress bar stick to 100%

* Add python support 

* nit: Remove usage of undefined variable in python-client

* Add `async` in ts client (for error handling)

* nit(frontend): Remove unused import

* Dont load JobProgressBar when it is not needed

* nit: npm check fix

* cargo sqlx prepare

* fix sqlx

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-09-18 01:16:19 +02:00
Ruben Fiszel e08b9fbcf1 nit test fix 2024-06-18 09:28:03 +02:00
Ruben Fiszel f2f3333e2d fix: add more debug logs around http client errors 2024-06-18 08:54:55 +02:00
HugoCasa 4c3cb5f9e7 fix: can cancel only if can disable schedule + stop worker on force cancel + soft cancel job parent on job cancel (#3670)
* fix: can cancel only if can disable schedule + stop worker on force cancel + cancel job parents

* fix: sqlx build

* fix: flow reschedule check + soft cancel only direct parent

* fix: sqlx prepare

* fix: only soft cancel parent if force cancel and job is a flow step
2024-05-07 17:17:43 +02:00
HugoCasa cb132671d3 feat: critical error side channel (#3625)
* feat: critical error side channel

* feat: trigger workspace error handler or critical channel on schedule error handling failure

* fix: build

* feat: finish critical error side channel

* feat: channels instead of just emails + move to EE

* fix: remove superfluous func

* fix: nits + ee ref

* fix: open source build

* fix: nits

* chore: update ee ref
2024-05-02 20:21:23 +02:00
Ruben Fiszel 16b3b659e9 chore: update deps 2024-03-21 13:37:17 +01:00
Ruben Fiszel ee961a31f0 feat: implement s3 oidc support + azure workload identity support 2024-03-08 22:51:16 +01:00
Ruben Fiszel 82c8b1d1dd chore: fasten compilation time 2024-02-24 16:29:35 +01:00
Guillaume Bouvignies 92931dbe71 fix: go preload wmill dependencies (#3149)
* fix: go preload wmill dependencies

* update comment
2024-02-05 18:13:59 +01:00
Ruben Fiszel 46f4d1bc46 fix: improve error message format for logs 2024-01-18 13:10:58 +01:00
Ruben Fiszel 51929d2bd7 fix: make some eval onDemandOnly 2024-01-18 08:22:24 +01:00
Guillaume Bouvignies 36db047a86 feat: Custom content type for script and flow results (#2767) 2023-12-04 13:19:40 +01:00
Ruben Fiszel da842a05a1 fix: windmill_status_code script now properly return + script bash default arg 2023-10-21 02:32:47 +02:00
Guillaume Bouvignies 5f5604a2aa feat: Approval step optionally require logged-in user (#2462)
* backend auth user validation

* Approval page suggesting login

* BE impl to support groups

* Add FE for setting suspend on flow step

* handle admin as a specific case

* restrict feature to entperprise only

* group names as static input transforms

* Suspend settings with tabs

* Update enterprise edition check

* cleanup

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2023-10-20 00:20:20 +02:00
Ruben Fiszel e051451cd6 fix: canceling jobs 2023-08-27 14:40:20 +02:00
HugoCasa cd8df1d254 fix: script fix no resource + error handling (#2053) 2023-08-14 12:03:23 +02:00
Ruben Fiszel 35ea4f5f04 feat: add workspace specific tags 2023-07-26 17:33:46 +02:00
Ruben Fiszel 31aee89af8 feat: add update checker on version info 2023-06-22 18:12:45 +02:00
Ruben Fiszel c2666f7d7c feat(backend): add windmill_status_code to run_wait_result 2023-05-09 02:46:53 +02:00
Ruben Fiszel 7276244d68 improve cancel approval error message 2023-01-24 12:11:39 +01:00
Ruben Fiszel c7f6b1870e update axum 2023-01-11 08:19:20 +01:00
Ruben Fiszel c6b868e6a5 fix: implement require admin differently than unauthorized 2022-11-02 12:18:44 +01:00
Kai Jellinghaus 6263e90735 restructure the entire backend layout using workspaces (#815) 2022-10-29 11:58:06 +02:00