Commit Graph
7732 Commits
Author SHA1 Message Date
Guilhem LemouelandClaude Opus 5.5 e35c25ef9c fix: check a move's writes with the rights its token carries in the target
The transfer re-authenticated the token against the target but then checked
writes with the user's database membership there, so a JWT whose claims are
narrower than that membership could copy a draft to a path it cannot save to
directly. The identity the re-authentication returns is now the one the
checks and the copy use.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 02:57:10 -07:00
Guilhem LemouelandClaude Opus 5.5 d363da770d fix: check the move's token against the target by re-authenticating it
The transfer endpoint looked the caller's token up in the `token` table, so
an external-JWT login, which has no row there, could never move a session.
It now resolves the same token against the target workspace, which refuses a
token bound to the source whatever its kind, and still refuses job tokens.

Also stop calling the move target a fork in the model note, the menu item,
the editor placeholders and the moving notices: it can be the root or a
sibling.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 02:36:14 -07:00
Guilhem LemouelandClaude Opus 5.5 7b7b985e1b Merge remote-tracking branch 'origin/main' into migrate-session-to-fork
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 02:00:15 -07:00
Ruben Fiszelandrubenfiszel ad56e32a11 chore(main): release 1.853.0 (#12086)
* chore(main): release 1.853.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-10-28 23:11:06 +01:00
Ruben FiszelandClaude Opus 5.5 2d9594f3f9 chore: add per-job perf profiler and docs for agents (#12089)
* chore: add per-job perf profiler and its docs

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

* chore: create perf output dir and refuse to sample with backtraces enabled

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

* chore: treat PERF_SQL=0 as off and tag reports with their mode

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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:35:01 +01:00
Ruben FiszelandClaude Opus 5.5 97de072e7f perf: build log-mask automaton as a contiguous nfa (#12088)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:31:08 +01:00
Ruben FiszelandClaude Opus 5.5 d03142ba39 perf: borrow cached script modules instead of cloning per job (#12087)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:45:27 +01:00
Ruben Fiszelandrubenfiszel 9447b65b07 chore(main): release 1.852.0 (#12060)
* chore(main): release 1.852.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-10-28 20:18:44 +01:00
hugocasaandClaude Opus 5.5 e480501af9 feat: accept the google_service_account resource type alongside gcp_service_account (#12070)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 19:46:04 +01:00
Ruben FiszelandClaude Opus 5.5 344721677b docs: note that variable/resource perm errors show extra_perms on purpose (#12079)
* fix: drop extra_perms from variable and resource access-denied errors

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

* test: pin that denied variable/resource reads omit extra_perms

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

* docs: note that perm errors show extra_perms on purpose

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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 19:26:00 +01:00
Alexander PetricandClaude Opus 5.5 20def22897 fix: keep retry and branch settings intact when a flow is reserialized (#12077)
* fix: omit null random_factor when serializing an exponential retry

A non-default exponential retry with no random_factor round-tripped
through the flow-dependencies job as random_factor: null, which
wmill generate-metadata wrote back to flow.yaml and wmill lint rejects.

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

* fix: keep an unset branch skip_failure false through serialization

The worker and the flow editor read an absent skip_failure as false, but
Branch defaulted it to true, so a round-trip (generate-metadata, the
flow-dependencies job) silently made every such branch skip failures.

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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 19:20:29 +01:00
26888e834d fix: rebuild service log index without a hash dedupe that cannot spill (#12080)
* fix: rebuild and compact service logs without a hash dedupe that cannot spill

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

* chore: update ee-repo-ref to e3d765239022d2b7a6615d28348a9da661a3faf5

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

Previous ee-repo-ref: e96642d749e0c5fcf4738015b067fc218769a5d1

New ee-repo-ref: e3d765239022d2b7a6615d28348a9da661a3faf5

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-28 19:18:19 +01:00
Alexander PetricandClaude Opus 5.5 d86614dd50 OpenFlow sleep runs after its module, not before (#12074)
The worker schedules step i after the sleep of module i-1
(worker_flow.rs), so a module's sleep delays the step after it. The
schema said "Delay before executing this step", and that text reaches
the write-flow skill, the flow chat and the MCP session instructions.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:47:04 +01:00
hugocasaandClaude Opus 5.5 499c7569ff fix: honor a step's timeout when it is the only step of a loop (#12058)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 13:37:14 +01:00
d3869fcdb2 feat: gate guest apps by their mode and the protection rule alone (#12061)
* feat: gate guest apps by their mode and the protection rule alone

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

* fix: keep apps that admitted no guest closed on upgrade

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

* chore: update ee-repo-ref to 0605eac866b49f0de913ab41c1168b79eec31ca0

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

Previous ee-repo-ref: 1f643a1aaa697578b36d67982358299ee20af7f4

New ee-repo-ref: 0605eac866b49f0de913ab41c1168b79eec31ca0

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-28 13:35:44 +01:00
AlexRV12 ad571c6226 fix: scope rename's group membership update to the user's workspace (#12043) 2026-10-28 12:10:05 +01:00
Guilhem LemouelandClaude Opus 5.5 e1a4310bfb fix: refuse to move a pipeline draft based on a version the target lacks
A pipeline node deploys with its script hash as parent_hash, so a move to a
workspace without that version left a draft whose Deploy all fails there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 03:40:40 -07:00
Guilhem Lemouel 1e748cf9f9 Merge remote-tracking branch 'origin/main' into migrate-session-to-fork 2026-10-28 03:05:17 -07:00
Guilhem LemouelandClaude Opus 5.5 98ceb7d647 feat: move a session to any workspace of its family
A session could only move into a direct fork of its workspace. The picker
now lists the whole family and lets a new fork be based on any of its
workspaces, and /drafts/transfer accepts any target with the same root.
A fork the move creates from elsewhere holds that base's drafts, so its
drafts are never replaced.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 02:54:50 -07:00
Ruben Fiszelandwindmill-internal-app[bot] c858cd1d14 chore(main): release 1.851.0 (#12039)
* chore(main): release 1.851.0

* Apply automatic changes

---------

Co-authored-by: windmill-internal-app[bot] <217088191+windmill-internal-app[bot]@users.noreply.github.com>
2026-10-28 06:13:20 +01:00
375bf03cdc feat: review git sync pull requests with ai on the instance (#12056)
* 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>

* 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>

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

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

* feat: folder-scoped review instructions for the 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: keep reviewing when review instructions cannot be listed

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

* docs: say the review instruction floor is a prompt request, not enforcement

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>

* 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.

* feat: review git sync pull requests with wmill review

* fix: withhold retyped resources and encryption keys, fall back from the responses route

* fix: withhold fileset children, workspace-specific resources and pathspec-named files

* feat: include the ready-to-post review in wmill review --json

* feat: review a workspace synced into a repository subfolder

* docs: say what wmill review takes from flags rather than wmill.yaml

* feat: review git sync pull requests with ai on the instance

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PjsYvwbvQh6Traiw1J3fRM

* chore: update ee-repo-ref for the ai review fixes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PjsYvwbvQh6Traiw1J3fRM

* feat: point git sync ai review at the published hub script

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PjsYvwbvQh6Traiw1J3fRM

---------

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-28 06:05:47 +01:00
fbe776d611 feat: review git sync pull requests with wmill review (#12055)
* 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>

* 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>

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

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

* feat: folder-scoped review instructions for the 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: keep reviewing when review instructions cannot be listed

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

* docs: say the review instruction floor is a prompt request, not enforcement

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>

* 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.

* feat: review git sync pull requests with wmill review

* fix: withhold retyped resources and encryption keys, fall back from the responses route

* fix: withhold fileset children, workspace-specific resources and pathspec-named files

* feat: include the ready-to-post review in wmill review --json

* feat: review a workspace synced into a repository subfolder

* docs: say what wmill review takes from flags rather than wmill.yaml

---------

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-28 05:49:07 +01:00
60d07dc0d9 fix: issue oidc tokens to a deployed flow's dynamic select (#12046)
* fix: issue oidc tokens to a deployed flow's dynamic select

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

* fix: leave dyn select previews on a dedicated worker unproven

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

* fix: match every dedicated worker tag shape in the dyn select check

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

* fix: cover hashed dedicated worker tags of long workspace ids

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

* fix: keep a flow dyn select claimed when a script or app shares its sub

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-28 01:28:43 +01:00
62fbd508c8 feat: folder-scoped review instructions for the deployment ai review (#12037)
* 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>

* 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>

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

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

* feat: folder-scoped review instructions for the 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: keep reviewing when review instructions cannot be listed

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

* docs: say the review instruction floor is a prompt request, not enforcement

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>

* 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-28 01:25:07 +01:00
hugocasaandClaude Opus 5.5 210a235be6 fix: resolve $var: in an AI resource's base_url (#12053)
The AI proxy resolved every credential field of a resource except base_url,
so a base_url set with "Insert a Variable" reached URL validation as the
literal $var: path and failed with "relative URL without a base".

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 00:53:34 +01:00
ca8f0a16c1 feat: per-role fork capability and fork role mapping on rulesets (#12054)
* feat: fork capability per role and fork role mapping on rulesets

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

* fix: keep unset fork for unrestricted roles and apply fork role mapping to fork-owner adds

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

* feat: fork_roles feature usage telemetry

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

* fix: derive an unset fork in the role editor as the server does

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

* chore: update ee-repo-ref to d535972f0b35c6a7f257720816bdaec18465adef

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

Previous ee-repo-ref: 4a8d59cd1563382fcec85b1367f7e15e09bc13c2

New ee-repo-ref: d535972f0b35c6a7f257720816bdaec18465adef

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-28 00:43:33 +01:00
e3b4dcffbc chore: apply the untrusted-input check to trigger, resume and asset args (#12031)
* chore: apply the untrusted-input check to trigger, resume and asset args

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

* chore: apply the check to every native trigger and slack/teams commands

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

* chore: accept resume references the approver can read

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

* chore: refuse every reference in a resume payload

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

* chore: update ee-repo-ref to 5e7b1de9a07114e277a22e9e3c68b0809c06f18d

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

Previous ee-repo-ref: 15733e7ee1e8ab0efa56a429801be31fe40277e2

New ee-repo-ref: 5e7b1de9a07114e277a22e9e3c68b0809c06f18d

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 23:55:10 +01:00
hugocasaandClaude Opus 5.5 07d4f7fe61 feat: app conversations through the memory_id query parameter (#12025)
* feat: app conversations through the memory_id query parameter, chat-mode flows included

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

* chore: regenerate the mcp session instructions

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

* fix: type backendAsync's memoryId option in the eval diagnostics

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

* chore: pin git-sync hub scripts to windmill-cli 1.849.0

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

* feat: memoryId option on the sync backend call too

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

* chore: bump the ui builder artifact for the memoryId option

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

* chore: shared-utils 1.0.14

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

* chore: cli takes shared-utils 1.0.14 for the memoryId option

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

* test: pin the app conversation scoping and the memoryId signatures

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

* test: assert the ownership refusal, not any refusal

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

* test: match the memoryId option in the cli wmill.ts signature tests

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

* fix: file an app's turns as the deployed flow's conversation, preview included

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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 23:51:35 +01:00
hugocasaandClaude Opus 5.5 8121dc2b1c feat: show runs, run tables, deploy reviews and items as mcp apps cards (#11969)
* feat: render mcp run tools as an mcp apps run card

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

* fix: back off run card polling and pin its run summary

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

* fix: keep the run card polling after a failed get_run

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

* feat: add run details, run form, diff and item views to the mcp card

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

* fix: guard the mcp card's run form and diff errors

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

* fix: honour the host's dark theme in the mcp card without its colours

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

* fix: keep untouched run form arguments and drop stale run refreshes

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

* fix: let the run form re-send references and label diff links by target

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

* fix: parse literals typed over run form references by field type

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

* feat: version the mcp card uri and declare its empty csp

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

* feat: keep the mcp card to runs, group loop and branch steps, restyle it

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

* fix: say when the mcp card cannot read a finished run's details

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

* feat: show runs, run tables and deploy reviews through dedicated mcp tools

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

* fix: review the whole draft before deploying from the mcp card

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

* feat: follow host card guidelines: header link, collapsible steps, review summary, no run form

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

* fix: keep fullscreen review diffs whole and match drafts by storage path first

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

* fix: link to windmill where a host has no fullscreen, cap inline logs, shrink the card back

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

* fix: say in the review summary why a draft cannot be deployed from the card

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

* feat: link the review to compare and deploy, cap inline tables, open long results

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

* fix: flag a cut result or log by what was kept, keep a lone log line

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

* fix: mark the mcp card's fullscreen buttons with the expand icon

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

* fix: capitalize the mcp card's windmill link labels

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

* feat: add a show_item card for workspace items, collapsible sections in fullscreen

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

* feat: apply windmill brand guidelines to the mcp card and show errors as windmill does

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

* feat: show more windmill result kinds in the mcp run card

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

* fix: tidy the mcp card layout and let oversized drafts deploy from the review

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

* feat: name a shown run by its summary, cap long item values, drop variable cards

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

* fix: link an app draft's card to its editor

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

* feat: show a running flow's progress in the mcp card, open cut blocks on click, link each step

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

* fix: read only a running step's log tail and skip the preprocessor in the progress bar

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

* feat: mcp card headers carry a kind icon, and a summary names the item over its path

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

* fix: skip result streams in log tail reads, keep the cut-result link when it fits

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

* fix: link app drafts and agents to their own pages, offer Cancel only to tokens that can cancel

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

* feat: simple inline mcp cards with a tabbed fullscreen run view and step drill-in

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

* fix: draw the mcp card's tabs as windmill's underlined tabs

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

* fix: link to windmill for what an mcp card hides when the host has no fullscreen

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

* feat: mcp run card steps as a tree beside the selected step, nested progress, danger cancel

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

* feat: draw image results in the mcp run card, and a collapse control in fullscreen

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

* feat: copy controls on the mcp card's results, logs and code

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

* fix: mcp card links read as text, hover tint only on buttons

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

* feat: windmill's names, icons, status colours and type scale in the mcp card, within the hosts' rules

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

* fix: keep images out of mcp run table rows, and re-read only single-field image results

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

* fix: measure a re-read mcp image result as postgres prints it, so wrapped images draw

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

* feat: mcp review deploys the selected drafts, loops list every iteration's result, branches and subflows named

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

* feat: mcp review diffs open on demand, as on the compare page

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

* feat: mcp script cards fade their code in inline, item sections open whole in fullscreen

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

* feat: mcp item cards link what a schedule or trigger runs, show a trigger's key settings and a schedule's arguments as rows

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

* fix: mcp card lists a loop's latest 10 iterations, trigger topics by name

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

* feat: mcp trigger cards open their other settings from a last table row

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

* fix: mcp draft badge in windmill's indigo without a spinner, show-more as a list's last row

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

* fix: consistent mcp cards: one expand icon and rule, aligned tables, path titles, error and empty states

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

* fix: mcp item cards offer fullscreen for cut values and overflowing code, name script steps by path

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

* feat: mcp cards show ai agents: their answer, named tool calls, what a waiting agent asks, saved agents

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

* fix: mcp saved-agent runs label tool calls by tool, never by the internal root step

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

* feat: a saved agent's run card names its steps tab Tool calls

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

* fix: an mcp card says an agent waits only while its run is going

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

* fix: mcp card paths wrap at slashes beside their icon; oauth approval offers all workspaces to a user in none

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

* fix: mcp card view read carries the cache hints 2026-07-28 clients require

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

* feat: mcp card leaves leaving fullscreen to the host's own close control

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

* fix: mcp cards name a saved agent's test run by the agent's path, without .chat

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

* perf: mcp get_run builds no card data; the run card refreshes through show_run

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

* fix: mcp show_deploy_review refuses a token that cannot deploy, not only hides from it

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

* fix: mcp session tools carry a title and explicit read-only, destructive and open-world hints

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

* fix: mcp run card reads only the end of a run's log; create_datatable_migration is destructive

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

* fix: mcp run card counts log offsets from 1 and reads a finished run's archived log in full

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

* fix: mcp item card rechecks clipped code on resize; oauth hint hides once the toggle is on

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

* fix: mcp item card uncuts a code block once a wider card fits it

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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 23:42:14 +01:00
hugocasaandClaude Opus 5.5 8dd46a4d14 feat: build, test and run standalone ai agents from ai sessions (#11954)
* feat: guidance for building standalone ai agents in ai sessions

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

* fix: agent guidance for resource-only sessions, no flow tools

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

* fix: tell the user to deploy a drafted tool script with its agent

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

* fix: scope plain agent values, document tool_inputs, list agents in get_instructions

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

* feat: test and run ai agents from ai sessions, open agents in their editor

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

* fix: full-bleed agent editor tabs, back to the run form for agent tests

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

* fix: describe read-and-run as running agents too, pin agent run links

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

* feat: host the agent editor natively in session tabs

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

* fix: switch the agent editor to tabs below 900px

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

* fix: name an agent's session tab after its summary

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

* feat: show deployed agents in session tabs, open and run them from the chat

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

* feat: deploy agents from the chat, report agent tabs as the active editor

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

* feat: pick agents from the tab picker, name their tabs, scope the agent page to its workspace

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

* fix: leave open editors alone on agent writes, read the agent page's workspace user

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

* fix: refresh an agent's deployed page when the chat deploys or deletes it

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

* fix: name agent tabs before they load, mark agents in the changes drawer, stay on a deleted agent's tab

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

* fix: keep a cleared agent summary out of its tab name

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

* fix: keep the resource drawer's json option that the resources list still passes

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

* feat: open an agent in an AI session from its pages, fix review findings on agent tabs

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

* docs: name the reserved agent tool names in the agent guidance

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

* fix: reload an agent's editor on a discard, open a new agent in a session

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

* fix: show agents as agents on compare and deploy, name a never-deployed one by its path

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

* fix: keep a deployed agent's type in its draft diff

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

* fix: link a fork row to the agent editor only on the side that holds the agent

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

* fix: guard agent page paths, mark drafted agents in the picker, side-aware agent rows on fork compare

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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 10:46:43 +01:00
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 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 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>
2026-10-27 01:28:52 +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 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
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
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
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
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
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 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
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>
2026-10-25 16:57:47 +01:00