Commit graph

943 commits

Author SHA1 Message Date
Sipke Schoorstra a60b5a36b2
Refine test for archived connections in shadow relationships; introduce IsAvailableForAuthentication helper for improved connection filtering logic. 2026-08-02 00:49:26 +02:00
Sipke Schoorstra 572cd325b5
Merge compact external authentication secret IDs 2026-08-02 00:22:29 +02:00
Sipke Schoorstra 119f49f7a2
fix: simplify external authentication secret IDs
Use a compact namespaced GUID for newly managed secrets while preserving unique staging and opaque existing references.
2026-08-02 00:22:16 +02:00
Sipke Schoorstra 9f09aca3f6
Refine test to ensure archived connections do not participate as active shadows; update shadow relationship management to exclude archived entries. 2026-07-31 23:07:08 +02:00
Sipke Schoorstra 14f373528d
Add test for handling archived database overrides in connection shadows 2026-07-31 21:34:35 +02:00
Sipke Schoorstra 6e3ed5c4e0
Remove migration for external authentication in EFCore.Sqlite module 2026-07-31 14:31:18 +02:00
Sipke Schoorstra c3c6f12858
fix: restore commit notification scope before flush
Detach the AsyncLocal scope synchronously so notifications published after an asynchronous flush are not re-buffered and discarded. Add regression coverage that forces the flush across an async boundary.
2026-07-31 04:50:31 +02:00
Sipke Schoorstra d63dae95bc
Introduce shadow relationship management in identity provider connections 2026-07-31 01:00:36 +02:00
Sipke Schoorstra f4ca206607
fix: send preview authentication responses 2026-07-30 02:14:29 +02:00
Sipke Schoorstra 678182dff8
fix: persist relative external auth preview callbacks 2026-07-30 01:27:26 +02:00
Sipke Schoorstra 7941a9d72e
Add runtime descriptor endpoint and tests for version metadata 2026-07-29 20:01:16 +02:00
Sipke Schoorstra 1ccf5b7611
Add test for callback session persistence; extend authentication broker for refresh token hash initialization; enable config connection overrides 2026-07-29 13:59:24 +02:00
Sipke Schoorstra 22bc531aa8
Allow promoting shadowed authentication connections 2026-07-29 12:13:06 +02:00
Sipke Schoorstra 238080c465
feat: add configuration-backed Keycloak demo providers 2026-07-28 00:12:12 +02:00
Sipke Schoorstra eb07aa2cde
Fix external authentication connection contracts 2026-07-27 10:07:29 +02:00
Sipke Schoorstra 75a3216ae8
Persist external authentication in identity shell 2026-07-27 02:25:41 +02:00
Sipke Schoorstra 0fa7657b30
Harden external identity link management 2026-07-27 00:40:23 +02:00
Sipke Schoorstra e97a90d442
Add atomic external identity link replacement 2026-07-26 23:40:17 +02:00
Sipke Schoorstra 97c459f198
Add OpenID Connect authentication features 2026-07-26 23:38:20 +02:00
Sipke Schoorstra 7e82a55a9f
Fix local external authentication refresh 2026-07-26 01:49:36 +02:00
Sipke Schoorstra e8aa353d57
Auto stash before merge of "release/3.8.0" and "origin/release/3.8.0" 2026-07-26 00:54:04 +02:00
Sipke Schoorstra 42e507b0d8
Preserve Elsa permissions during external sign-in 2026-07-26 00:27:54 +02:00
Sipke Schoorstra 379e03fdda
Reconcile configured admin role permissions 2026-07-25 23:16:32 +02:00
Sipke Schoorstra f1e2a092f9
Fix external authentication setting field identifiers 2026-07-25 14:07:06 +02:00
Sipke Schoorstra 939a89c9e8
Fix external authentication host composition 2026-07-25 10:51:36 +02:00
Sipke Schoorstra 128569f6c0
Harden external authentication contracts and flows 2026-07-25 03:48:50 +02:00
Sipke Schoorstra 95b2ce8d84
Revise external authentication architecture 2026-07-25 02:35:56 +02:00
Sipke Schoorstra ef83541edd
Add external authentication broker 2026-07-24 19:04:26 +02:00
Sipke Schoorstra e96c8f23c9
Merge pull request #7748 from elsa-workflows/sfmskywalker-fix-commit-state-atomicity
Fix workflow commit atomicity and bookmark queue retries
2026-06-23 03:10:36 +02:00
Sipke Schoorstra 97c62a718c
Address PR review comments
Document why activity execution context taint is cleared after commit instead of in the log sink, and refactor commit handler tests to share repeated fixture setup.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-23 03:07:50 +02:00
Sipke Schoorstra c6a3366463
Fix commit notification flush edge cases
Preserve cooperative cancellation during buffered notification flushes and still publish WorkflowStateCommitted after a successful database commit when buffered notification handlers fail.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-23 02:44:06 +02:00
Sipke Schoorstra 98f931ae35
Address workflow commit review feedback
Keep buffered commit notification flushes from dropping remaining entries after a handler failure, use the maximum configured transaction timeout for SQL Server commit transactions, and back off distributed bookmark queue retries after lock misses.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-23 02:27:06 +02:00
Sipke Schoorstra 0658037275
Resolve vulnerable transitive persistence packages 2026-06-22 00:45:06 +02:00
Sipke Schoorstra e77da02d52
Fix workflow commit atomicity
Wrap SQL Server EF Core workflow commits in a provider-safe transaction and buffer commit notifications until persistence succeeds. Also preserve dirty activity context state until commit success and make bookmark queue retries resilient to processed-row deletion and transient distributed lock misses.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-21 19:58:09 +02:00
Sipke Schoorstra 7449d2e703 address greptile review feedback (greploop iteration 1)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-21 19:43:09 +02:00
Sipke Schoorstra c7912fd2c8 Fix scheduling startup backlog catch-up
Rebuild local schedules in bounded pages and stagger past-due specific-instant catch-up so orphaned scheduling bookmarks do not flood dispatch during startup.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-21 19:43:09 +02:00
Sipke Schoorstra 6a4c141ce1 Shorten configured application instance names
Configured stable application instance names that exceed the Azure Service Bus transport entity limit are now shortened deterministically instead of failing startup. The same configured value resolves to the same shortened name across restarts, preserving stable per-instance transport identity while supporting normal Kubernetes pod names.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-20 12:50:02 +02:00
Sipke Schoorstra c442c5f543
Address Greptile review feedback
- Promote boundary constants to internal in ConfiguredApplicationInstanceNameProvider
- Add InternalsVisibleTo for test assembly to eliminate constant duplication
- Update tests to reference service constants directly
- Replace probabilistic NotEqual assertions with deterministic hex-format assertions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-20 00:13:34 +02:00
Sipke Schoorstra b78649a366
Port ASB stable application instance name
Backports the opt-in configured application instance name provider from #7734 to release/3.8.0, including 3.8 shell-feature wiring and tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-20 00:03:43 +02:00
Sipke Schoorstra 7981892838
Add opt-out for publish-on-validation-error failure (3.8)
This forward-ports the FailOnValidationErrors publish toggle to the 3.8
mainline. It is purely additive and changes no default behavior: publishing
a workflow definition still fails when validation errors are present
(FailOnValidationErrors defaults to true, i.e. strict = opt-out).

Setting FailOnValidationErrors to false — via
WorkflowManagementFeature.UseFailOnValidationErrors(false) or the
ManagementOptions.FailOnValidationErrors option — allows publication to
succeed while surfacing the validation errors as warnings on the publish
result. This enables publishing workflows that intentionally leave required
properties blank (for example, an empty Cron expression used to disable a
trigger).

This is the 3.8 counterpart to #7740, which introduces the same toggle as
opt-in (default false) on the 3.6.x line. References #7738.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-19 23:31:38 +02:00
Sipke Schoorstra f74087ea8b
Merge remote-tracking branch 'origin/release/3.8.0' into release/3.8.0 2026-06-18 18:27:36 +02:00
Sipke Schoorstra e9d89969b7
Add Platform integration 2026-06-18 18:27:27 +02:00
Sipke Schoorstra dd47148164
Add read-only workflow runtime status permission 2026-06-16 23:27:59 +02:00
Sipke Schoorstra c66f9aed45
Add Weaver grounding tools
Adds Spec Kit-backed Weaver grounding tools for activities, workflow definitions, workflow proposals, runtime instances, incidents, and Studio capability discovery.
2026-06-08 15:40:10 +02:00
Sipke Schoorstra 5c0d8b0f4e
Move AI EF Core migrations to provider projects 2026-06-08 15:22:59 +02:00
Sipke Schoorstra b462966544
Use Copilot SDK for Weaver agent loop (#7700) 2026-06-08 00:35:47 +02:00
Sipke Schoorstra 691fca2ac6
Merge remote-tracking branch 'origin/main' into release/3.8.0 2026-06-06 16:29:22 +02:00
Sipke Schoorstra 50ef957031
[codex] Add runtime entity validator coverage (#7697)
* Add runtime entity validator coverage

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-06 04:14:12 +02:00
Sipke Schoorstra 33a152790a
[codex] Extract dashboard contributors into companion modules (#7692)
* Extract dashboard contributors into modules

* Install dashboard widgets by default

* Enable dashboard features in modular server config
2026-06-05 14:30:52 +02:00
Sipke Schoorstra 3936258146
Implement Weaver AI Copilot core (#7523)
* Implement Weaver AI Copilot core

* Address Greptile review feedback

* Address Greptile persistence feedback

* Address Greptile orchestration feedback

* Address Greptile tool isolation feedback

* Wire chat audit events

* Stream chat events over SSE

* Use server identity for AI endpoints

* Validate AI proposal persistence

* Isolate AI audit failures

* Enforce AI tool lookup scope

* Support AI tool result continuations

* Handle AI chat reconnects safely

* Tighten AI context and reconnect behavior

* Guard AI conversation and persistence setup

* Persist AI tool-loop progress

* Tighten AI tool registry and reconnect cleanup

* Handle AI preparation failures cleanly

* Order AI tool messages after assistant turns

* Initialize AI provider sessions

* Align AI context capabilities

* Prevent completed AI reconnect replay

* Enforce AI conversation ownership

* Default AI proposal creation time

* Persist AI session and retention defaults

* Allow AI context provider overrides

* Scope AI tool results per turn

* Apply AI provider configuration

* Scope AI proposal reads

* Avoid duplicate AI tool continuations

* Resolve AI tool registry scopes

* Tighten AI reconnect cleanup

* Honor default AI proposal tools

* Pass AI provider session to turns

* Close AI observability gaps

* Fix AI capabilities options alias

* Harden AI orchestration lifetimes

* Track actual AI reconnect conversation

* Address AI audit and context review findings

* Fix AI reconnect and persistence capabilities

* Handle AI session startup failures

* Tighten AI orchestration review gaps

* Warn on placeholder AI context

* Filter disabled AI provider tools

* Add durable AI conversation persistence

* Fix AI orchestrator persistence lifetime

* Handle failed AI reconnect edge cases

* Harden AI reconnect failure handling

* Address AI reconnect and cleanup review gaps

* Tighten AI audit and cleanup persistence

* Keep expired AI cleanup best effort

* Tighten AI tool lookup and cleanup fallback

* Handle AI provider and tenant edge cases

* Tighten AI proposal and agent authorization

* Address AI tool scope cleanup review

* Close remaining AI greptile findings

* Harden AI stores and tool defaults

* Harden AI conversation persistence edge cases

* Cover AI proposal and tool visibility guards

* Fix AI capabilities and audit batch resilience

* Fix AI conversation truncation for unicode

* Resolve remaining AI persistence review nits

* Wire AI conversation persistence option

* Address AI audit and proposal style review

* Fix AI stream truncation surrogate handling

* Address AI context and cleanup review

* Preserve AI titles and tenant tool defaults

* Guard AI conversation user ownership

* Align in-memory AI conversation ownership

* Fix expired AI conversation cleanup tracking

* Harden AI proposal persistence retry

* Tighten AI proposal reads and cleanup SQL

* Harden AI reconnect and provider defaults

* Optimize AI tool listing and message trimming

* Preserve AI conversation timestamps

* Address final AI persistence review nits

* Normalize AI acronym casing

* Address Copilot AI review comments

* Normalize default tenant handling for AI stores

* Harden AI registry and message truncation

* Make AI tool filtering explicit

* Align AI contracts with implementation

* Align remaining AI review contracts

* address greptile ai persistence feedback

* Address Copilot AI persistence feedback

* Address Copilot AI host feedback

* Order persisted AI conversation messages

* Address Copilot chat and cleanup feedback

* Release unused AI reconnect reservations

* Address Copilot AI review feedback

* Address Copilot tool and conversation feedback

* Address Copilot governance feedback

* Address Copilot tool test feedback

* Address AI review follow-ups

* Address Copilot AI follow-ups

* Clean up AI persistence tests

* Address IAITool disposal review

* Address AI integration review follow-ups

* Address AI chat persistence review

* Address AI registry and truncation review

* Enable read-only AI tools by default

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-04 11:35:44 +02:00