Commit Graph
15468 Commits
Author SHA1 Message Date
Guilhem LemouelandClaude Opus 5.5 b313a09abc perf: look script lineage up by key when copying drafts
The lineage check compared a hex rendering of every script hash, which
ruled out the primary key and scanned the target's script versions for
each script draft, fork creation included. It now converts the draft's
16-digit hex to the bigint column, guarded so a malformed value never
reaches the cast.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 02:15:12 -07:00
Guilhem LemouelandClaude Opus 5.5 489d3b7677 fix: check for invalid JSON after the editors have parsed what was flushed
The JSON editors parse a flushed buffer in an effect, so the check reads
the registry after a tick, as RunForm and the page drawer already do. The
message says the editor is in the preview.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 02:05:55 -07:00
Guilhem LemouelandClaude Opus 5.5 d7f0df0315 fix: refuse a move while an editor holds text that is not valid JSON
That text never reaches the draft, and the move closes the editor holding
it. The move now refuses before closing anything, as opening a session
from a page drawer already does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 02:02:49 -07:00
Guilhem LemouelandClaude Opus 5.5 d7b38031af fix: hold every turn during a move, and state the repoint's contract
- The chat manager refuses sends, retries and message edits while a move
  runs, from its first step, handing the text back. The composer was
  locked but a retry or an edit could still start a turn in the parent.
- A move into an existing fork checks again for a running turn after
  saving that fork's pending edits.
- repoint_unresolvable_draft_identities documents that it authorizes
  nothing and when its unscoped form may be used.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 01:54:31 -07:00
Guilhem LemouelandClaude Opus 5.5 d84a8f4551 fix: drain draft editors before closing them for a move
Closing an editor drops an edit it has not yet handed to its draft save,
so a keystroke typed just before the move could be lost. The editors are
now flushed while still mounted, and closed right after with no await in
between.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 01:39:47 -07:00
Guilhem Lemouel 36fbbe3ebe Merge remote-tracking branch 'origin/main' into migrate-session-to-fork 2026-10-27 01:17:48 -07:00
Guilhem LemouelandClaude Opus 5.5 1125931f08 test: pin that a transfer keeps script lineage the fork has
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 01:17:17 -07:00
Guilhem LemouelandClaude Opus 5.5 a0696922d3 fix: drop script lineage a fork does not have when copying drafts into it
A script draft kept its base and parent_hash on the grounds that a fork
shares its parent's script hashes. That holds for what the fork cloned,
but not for a version deployed in the parent afterwards, and a deploy in
the fork naming it as parent is refused. The copy now keeps the lineage
only when the target has that version.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 01:08:41 -07:00
Ruben Fiszelandrubenfiszel f2f38ddd4f chore(main): release 1.850.0 (#12019)
* chore(main): release 1.850.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.850.0
2026-10-27 01:28:52 +01:00
0249bb94ac refactor: harmonize flow and script settings layout (#12013)
* refactor: harmonize flow and script settings layout

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep the priority input open while it is edited

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep settings rows open while edited and name the deploying user for non-admins

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: write a setting before its row opens and show its real state while edited

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: slide settings rows open to their full height

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: remount a settings row's fields when its toggle turns it on

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: put the AI prompt behind a settings toggle

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: summarize active runtime and permission settings on the metadata tab

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* refactor: move the active settings chips into the settings header

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: bring back the active setting icons on the settings tabs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-27 01:24:09 +01:00
GuilhemandClaude Opus 5.5 4a34dc69f5 feat: show the draft badge on Home's favorite and recent cards (#12018)
* feat: show the draft badge on Home's favorite and recent cards

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: show the draft badge on Home's agent cards

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 00:43:44 +01:00
GuilhemandClaude Opus 5.5 a5a4caf354 remove the home and AI sessions composer view transition (#12020)
* fix: remove the home and AI sessions composer view transition

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs: drop view transition rationale from composer comments

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 00:43:21 +01:00
hugocasaandClaude Opus 5.5 7b1dce5af0 feat: forward a pinned version through the hub project export proxy (#12022)
The proxy rebuilds the hub URL instead of passing the request through, so a
`?version=` on it was dropped and the current version exported in its place.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:42:47 +01:00
bac1e463e5 feat: add ai review to fork deploys and deployment requests (#12029)
* feat: add ai review to deployment requests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: bound ai review fetches and surface unreadable items

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: add fix in ai session and model picker to deployment ai review

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: add workspace instructions for deployment ai review

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: read review instructions from the parent and bind ai review to the fork

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: pin the fix-all session preview to the fork's compare page

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* refactor: drop workspace-settings instructions from deployment ai review

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: review the selected items with ai on compare and deploy

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: mark an ai review out of date when its items change

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: post all ai review findings as comments at once

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 77703cf32e58964906d87ee83ddda44b5b8d1b7e

This commit updates the EE repository reference after PR #926 was merged in windmill-ee-private.

Previous ee-repo-ref: e30ab9e69d1854fcaed5620c934ace32acb0a729

New ee-repo-ref: 77703cf32e58964906d87ee83ddda44b5b8d1b7e

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-27 00:40:39 +01:00
AlexRV12 b813c1b35d fix: compute list row rights when drawn instead of reloading (#12023)
* fix: compute list row rights when drawn instead of reloading

* refactor: tick home rows by key so the selection stores the row's own entry
2026-10-26 23:15:19 +01:00
AlexRV12 e2e2e7d7c4 fix: build hub script urls and cache keys from the parsed id only (#12028) 2026-10-26 23:14:31 +01:00
Ruben FiszelandClaude Opus 5.5 e0da560516 feat: build MCP OAuth urls from the api base url, narrowable per surface (#12010)
* feat: configurable public base url for the MCP gateway

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep mcpTokenUrlDisabled's doc comment on its function

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: build MCP OAuth urls from the api base url, narrowable per surface

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: save and discard companion setting keys in the per-category settings flow

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:02:27 +01:00
Ruben FiszelandClaude Opus 5.5 df2e0cdb9d fix: show the protection-rule bypass toggle inline (#12034)
* fix: show the protection-rule bypass toggle inline

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: make the bypass toggle small and red

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 22:38:54 +01:00
Guilhem LemouelandClaude Opus 5.5 bc08c7ffb0 fix: re-point unresolvable identities in drafts a move copies into a fork
Fork creation re-points an app policy or trigger in a cloned draft that
names nobody in the fork at its creator, since a deploy there rejects an
identity that does not resolve. The transfer copied drafts without that
step, and replace_existing overwrote the clone's repaired copy. The draft
half of the repoint is now shared and runs on the rows a transfer copies.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 11:35:12 -07:00
Guilhem LemouelandClaude Opus 5.5 750a926774 fix: flush every code editor through one registry, and name the move in editor tabs
- Monaco's Editor registers in pendingEditorFlush next to SimpleEditor,
  and the move drains that registry, so SimpleEditor buffers (step input
  expressions, resource and variable JSON fields) also land before it.
  The separate keystroke registry is gone.
- A flow, script or app editor tab closed for a move says it reopens
  once the move ends, instead of showing the parent's viewer.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 11:31:24 -07:00
Guilhem LemouelandClaude Opus 5.5 2a420f6a4a fix: close variable, resource and trigger editors during a move too
They keep their edits as drafts like the other editors, so an edit during
the move could save one in the workspace being left. Their state lives in
the draft, so closing them loses nothing; they reopen in the fork.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 11:25:44 -07:00
hugocasaandClaude Opus 5.5 a1bc9ec0c2 feat: tool approval and a question tool for ai agent steps (#11826)
* feat(ai-agent): built-in approval tool that parks the agent

An AI agent step can now be given a built-in "Request approval" tool. The model
calls `request_approval` with a message; the agent stores its conversation in
the new `ai_agent_checkpoint` table, releases its worker by parking its own
queue row like a workflow-as-code parent, and resumes with the answer (approved,
approver, comment) or a timeout once someone answers from the run page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ai-agent): tie approval answers to their request and hold the turn

- A turn that asks for approval runs none of its other calls; they are refused
  so the model repeats them after the answer.
- The run page sends the request's call id. An answer naming another request is
  ignored and the agent parks again for the time left; `suspend` is zeroed when
  the answer is read, so answers sent while the agent runs are refused.
- The checkpoint is read whatever the current roster holds, the answer's
  outcome is written by position, and a cancel that beats the park completes
  the job as cancelled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ai-agent): say why calls beside an invalid approval request were refused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ai-agent): one approval form per request, none on a finished run

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(ai-agent): answer approval requests from a flow's chat

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ai-agent): show chat approvals for agents that do not stream

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(ai-agent): approval as a per-tool setting, built-in tool asks a question

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ai-agent): say when a nested agent leaves out tools that require approval

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(ai-agent): show chat approvals and questions on the tool's own card

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(ai-agent): question choices, and approval buttons shared with approval steps

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(ai-agent): show a waiting agent as suspended, and refused calls as not run

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ai-agent): each added chat card shows its own call, answered marker keyed by job

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(ai-agent): approve and reject a held call through resume_suspended

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(ai-agent): require approval in a tool settings tab, plain descriptions on built-in tool panes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ai-agent): sentence case for the web search tool label

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(ai-agent): built-in tool drawers explain themselves in the header subtitle

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ai-agent): clearer question tool subtitle

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ai-agent): badge the tool settings tab like run settings

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore(ai-agent): regenerate system prompts and MCP session files

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 19:22:45 +01:00
Guilhem LemouelandClaude Opus 5.5 e8a17f42c8 fix: close only draft editors during a move, and say why
Variable, resource and trigger editors save on click and write no draft,
so closing them during a move protected nothing and lost a half-filled
form when the move stopped. Only the editors that save drafts close, and
the pipeline tab names the move instead of Use mode.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 11:21:24 -07:00
Ruben FiszelandClaude Opus 5.5 a2b91fd17e fix: detect attached -c and --no-config in DENO_FLAGS (#12027)
* fix: detect attached -c and --no-config in DENO_FLAGS

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep tracing span on handle_deno_job

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 19:20:58 +01:00
Guilhem LemouelandClaude Opus 5.5 6912a9546c fix: hold the session read-only while it moves into a fork
An edit in the session's preview during a move saves a draft in the
workspace being left, after the move listed what it brings, at any of
its awaits. The session now reads as read-only for the whole move, so
the preview shows its items without an editor until the move ends.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 11:17:27 -07:00
Guilhem LemouelandClaude Opus 5.5 cdd6fb2ca7 fix: keep restricted roles from creating a fork through a session move
The move's fork gate checked only the workspace's forking rule. A role
missing a capability would get the default role in a fork it creates, so
the gate also refuses restricted roles, as the workspace picker does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 10:53:08 -07:00
Guilhem LemouelandClaude Opus 5.5 21240cf6f9 fix: re-read the session's drafts once a new fork exists
Creating the fork takes seconds, during which an edit in the session's
preview can save a draft in the parent that the move's list did not have.
The move now flushes and lists the drafts again before the transfer, and
reopens the dialog on the created fork when they changed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 10:40:44 -07:00
hugocasaandClaude Opus 5.5 ee4150a69c fix: serve new MCP OAuth sign-ins the session toolset on the tools server URLs (#12024)
* fix: serve new MCP OAuth sign-ins the session toolset on /api/mcp/gateway

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep the mcp:session marker across every token scope edit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: serve marked MCP sign-ins the session toolset on the per-workspace URL too

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: let a restricted caller re-save a token's mcp:session marker

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: preselect build and run when an MCP client requests every scope

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: advertise only granting MCP scopes in protected resource metadata

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: apply the blanket-request default on the consent page only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: treat only an mcp:all request with both narrowings as blanket

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:25:47 +01:00
Guilhem Lemouel 8a8442ec73 Merge remote-tracking branch 'origin/main' into migrate-session-to-fork 2026-10-26 10:23:17 -07:00
Ruben FiszelandClaude Opus 5.5 cd4e55de7d force a fresh apt-get upgrade in docker images via APT_REFRESH (#12026)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:06:25 +01:00
Guilhem LemouelandClaude Opus 5.5 325b0d178c fix: disable moving a session again while a move runs
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 09:49:37 -07:00
Guilhem LemouelandClaude Opus 5.5 315bf9ce15 fix: refuse to confirm a move while a turn runs
A turn started while the move dialog was open owns the cross-tab hold the
move would take, and the move would release it while the turn still runs.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 09:37:04 -07:00
Guilhem LemouelandClaude Opus 5.5 8b5b386609 fix: let a move be retried after its conflicts are resolved
- Move stays enabled while the dialog lists conflicts; confirming re-reads
  them, so a draft discarded in the fork meanwhile no longer blocks it.
- A dialog left open while another tab moved the session closes instead of
  moving from the old workspace.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 09:28:17 -07:00
Guilhem LemouelandClaude Opus 5.5 29b085f733 fix: keep fork drafts with no source row and re-read the move's drafts on confirm
- replace_existing deletes only the fork drafts the transfer replaces, so a
  draft discarded in the parent after the clone does not take the fork's
  copy with it.
- Confirming a move lists the session's drafts again once no turn can
  start, and sends the user back to the dialog if the list changed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 08:55:09 -07:00
Guilhem LemouelandClaude Opus 5.5 4508f13783 fix: lock the composer during a move and copy only the locked source drafts
- The tab doing a move disables its composer until the move ends, and the
  move checks again for a running turn once a new fork exists.
- Saves still pending in editors open in an existing fork are flushed
  before the transfer, so they surface as conflicts instead of landing on
  the moved draft later.
- The transfer copies, conflict-checks and removes only the source rows it
  locked and validated; a draft saved at a requested key after the lock is
  left out.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 08:41:17 -07:00
Guilhem 6939454edb feat: name the previewed item in an empty AI session's composer (#12021)
* feat: name the previewed item in an empty session's composer instead of greeting

* feat: name the item's kind in the empty session's composer placeholder

* fix: name the previewed item as its tab does, so view tabs get the summary
2026-10-26 16:27:44 +01:00
Guilhem LemouelandClaude Opus 5.5 a5b451cc2b fix: re-copy drafts into a new fork and keep other tabs in step with a move
- A new fork now gets the same transfer as an existing one, with
  replace_existing set only when this move created the fork, so a draft
  saved after the clone reaches the fork and an existing fork's own drafts
  still go through the conflict check.
- The transfer runs the operator composition check on each draft in the
  target workspace, the same check as a direct save there.
- Editors already open on a moved item in the fork reload it from the
  server.
- Other tabs on the session hold their composer during a move and adopt
  the session's new workspace when it ends.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 08:23:20 -07:00
hugocasaandClaude Opus 5.5 2b4dfccb36 fix: add job_id, step_id and flow_path to native ts step errors (#12012)
* fix: add job_id, step_id and flow_path to every executor's step error

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: take the step error's flow_path from the pulled job, not a query

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: add step context to native ts errors in the executor instead of process_result

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:45:31 +01:00
GuilhemandClaude Opus 5.5 6e40940099 feat: add a home setting to hide empty folders (#12011)
* feat: add a home setting to hide empty folders

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep empty folders listed in a workspace holding nothing else

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep a folder created from home listed while empty folders are hidden

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: say which kinds keep a folder listed when hiding empty folders

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: hide the empty-folders toggle where it has no effect, honour it beside pipelines

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep empty folders listed when the item count request fails

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep the tree when only non-empty folders remain past the loaded window

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* refactor: hide empty folders inside the tree only, keep main's empty-state choice

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 13:45:03 +01:00
GuilhemandClaude Opus 5.5 35be14ea27 fix: stop starred items showing a starred removal in the editor diff (#12017)
* fix: stop starred items showing a starred removal in the editor diff

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: ignore starred in every value diff

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 13:44:01 +01:00
Ruben FiszelandClaude Opus 5.5 83ea0ef068 docs(readme): modernize code examples, in-browser AI building, trim env vars and license (#12009)
* docs(readme): modernize the code examples, cover in-browser AI building, trim the env var table

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(license): move the re-expose and internal-use terms from the README into LICENSE, summarize them in the README

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(readme): use a data table in the script example, add a data section (data tables, DuckDB, DuckLake, pipelines)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:33:25 +01:00
Ruben FiszelandClaude Opus 5.5 98299b919e docs(readme): replace the architecture diagram with an accurate one, with light and dark variants (#12008)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:20:31 +01:00
Ruben FiszelandClaude Opus 5.5 b9b1bbd961 docs(readme): drop the local dev setup and contributors sections (#12007)
* docs(readme): drop the local dev setup section, point to README_DEV.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(readme): drop the contributors section

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:15:34 +01:00
Ruben FiszelandClaude Opus 5.5 53197e96d7 docs(readme): code-first workflows, apps and AI agents, with review guardrails for AI-built code (#12006)
* docs(readme): lead with code-first workflows, apps and AI agents, and the review guardrails for AI-built code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(readme): name Lovable among the alternatives

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(readme): name n8n among the alternatives

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:11:50 +01:00
Ruben Fiszelandrubenfiszel a72484b2aa chore(main): release 1.849.0 (#12002)
* chore(main): release 1.849.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.849.0
2026-10-25 16:57:47 +01:00
Ruben FiszelandClaude Opus 5.5 878d690a5b chore: remove nsjail enterprise feature startup warning (#12003)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:53:44 +01:00
6c8fd6cfe2 feat: per-user Anthropic Workload Identity Federation for Windmill AI (#11998)
* feat: authenticate Windmill AI to Anthropic with per-user Workload Identity Federation

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: reject WIF-only Anthropic resources in agent steps, scale token refresh margin

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* refactor: move Anthropic WIF to a separate anthropic_federated resource type

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: point agent steps at an anthropic resource instead of a federated one

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: report a federated resource missing a field instead of reading it as standard

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: count Anthropic federated token exchanges in feature_usage

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 747336910e5c7498544613ad7863cea59f4db6a1

This commit updates the EE repository reference after PR #923 was merged in windmill-ee-private.

Previous ee-repo-ref: 3ea70adff288448f7318ff20b41225fd726ca8d1

New ee-repo-ref: 747336910e5c7498544613ad7863cea59f4db6a1

Automated by sync-ee-ref workflow.

* feat: authenticate AI agent steps with anthropic_federated resources (#11999)

* feat: authenticate AI agent steps with anthropic_federated resources

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep get_id_token's signature for its EE callers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 747336910e5c7498544613ad7863cea59f4db6a1

This commit updates the EE repository reference after PR #923 was merged in windmill-ee-private.

Previous ee-repo-ref: 3ea70adff288448f7318ff20b41225fd726ca8d1

New ee-repo-ref: 747336910e5c7498544613ad7863cea59f4db6a1

Automated by sync-ee-ref workflow.

* feat: switch between anthropic and anthropic_federated when adding a resource

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep registryCcCapable's doc comment on it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-25 16:37:29 +01:00
Ruben Fiszelandrubenfiszel 1ce00e0263 chore(main): release 1.848.3 (#11996)
* chore(main): release 1.848.3

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.848.3
2026-10-25 03:28:55 +01:00
Ruben FiszelandClaude Opus 5.5 0e79e934b6 fix: pin node to 24.22.1 in the worker image for CVE-2026-111497 (#11995)
* chore: update node to 26 in the docker image and CI

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: pin node to 24.22.1 in the worker image for CVE-2026-111497

The unpinned NodeSource install was served from the build cache, so images
built after the security release still shipped 24.22.0. Reverts the node 26
bump.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 03:19:38 +01:00
Ruben Fiszelandrubenfiszel 34a01cc61a chore(main): release 1.848.2 (#11993)
* chore(main): release 1.848.2

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.848.2
2026-10-23 17:48:07 -07:00