Commit Graph

1367 Commits

Author SHA1 Message Date
gsxdsm
6ab46aa983 Merge pull request #223 from corrm/feat/model-auto-detect
feat: auto-detect models from custom providers
2026-05-14 21:35:46 -07:00
Islam Nofl
c0f99b5e6f fix: resolve PR check failures
- SSRF: Add IPv6 private range checks (loopback, ULA, link-local,
  IPv4-mapped) after DNS resolution, closing the IPv6 bypass
- Deduplication: Add Set-based dedup in CustomProvidersSection
  handleDetectModels to prevent duplicate model accumulation
- Bump type: change changeset from patch to minor for new feature
- Reasoning: Narrow Anthropic sonnet reasoning detection to only
  flag models containing both 'sonnet' and 'think'
- Docs: Add JSDoc to all undocumented functions in route file,
  raising docstring coverage above the 80% threshold
- Test: Update sonnet reasoning expectation (standard sonnet is not
  a thinking model)
2026-05-15 07:12:48 +03:00
Fusion
71bd971c55 feat(FN-4536): complete auto-recovery branch/worktree handler
Fusion-Task-Id: FN-4536
Fusion-Task-Lineage: 8d5615e4-e75d-413d-b3ab-0c4874b21fc5
2026-05-14 19:06:25 -07:00
Fusion
a9ed315f64 feat(FN-4452): complete Step 6 — docs and changeset
Fusion-Task-Id: FN-4452
Fusion-Task-Lineage: 7d8b1c13-883b-4815-94ee-fdf18ad24e5f
2026-05-14 18:35:30 -07:00
Fusion
816575c4a9 chore(FN-4527): complete Steps 4-5 — verify gates and add changeset
Fusion-Task-Id: FN-4527
Fusion-Task-Lineage: de75c453-dc86-43d2-9cc5-50b20ee7014d
2026-05-14 18:07:05 -07:00
Fusion
44d9d0392d feat(FN-4534): add auto-recovery dispatcher and pause-site wiring
Fusion-Task-Id: FN-4534
Fusion-Task-Lineage: 2b46a5df-efc6-4305-a0f2-69991e58512c
2026-05-14 17:59:57 -07:00
Fusion
97f6558c8a chore(FN-4524): finalize regression coverage and changeset
Fusion-Task-Id: FN-4524
Fusion-Task-Lineage: 7e35e3de-8565-4d78-ac93-e4f3cc24f536
2026-05-14 17:35:02 -07:00
Fusion
779e31f4f3 chore(FN-4518): add changeset
Fusion-Task-Id: FN-4518
Fusion-Task-Lineage: 48749dec-b2c9-484b-a13e-ffacc1fa9014
2026-05-14 17:04:17 -07:00
Fusion
9fe81424bd feat(FN-4508): complete Step 7 — docs and compatibility updates
Fusion-Task-Id: FN-4508
Fusion-Task-Lineage: 948a9cae-3975-4f15-bd47-2f88b379171d
2026-05-14 16:33:27 -07:00
Fusion
c3209aad83 feat(FN-4539): complete Step 5 — add changeset for responsive orientation
Fusion-Task-Id: FN-4539
Fusion-Task-Lineage: 90c37e7c-0691-4f15-80d6-e95bc6502e76
2026-05-14 16:12:18 -07:00
Fusion
f9af9fc66e feat(FN-3977): complete Step 4-5 — verification and docs
Fusion-Task-Id: FN-3977
Fusion-Task-Lineage: c84f2ce0-3726-49b2-ad84-6703edbfecf1
2026-05-14 15:49:55 -07:00
Fusion
85c6869fa6 feat(FN-4398): complete remaining dashboard visibility and docs
Fusion-Task-Id: FN-4398
Fusion-Task-Lineage: 8b898b2e-3468-4fa7-8546-b8f6ba52cf46
2026-05-14 15:25:08 -07:00
Fusion
1a6e89cd2c fix(FN-4526): finalize stale merge stats repairs and changeset
Fusion-Task-Id: FN-4526
Fusion-Task-Lineage: 38dc93d6-3e56-4e22-aaaa-d09b2eed43e5
2026-05-14 14:38:46 -07:00
Fusion
b7659f98eb feat(FN-4482): complete Step 5 — docs and changeset
Fusion-Task-Id: FN-4482
Fusion-Task-Lineage: 5850cda2-ded5-42ac-a206-396839580748
2026-05-14 14:31:26 -07:00
Fusion
581b3e7398 test(FN-4528): add fallback rename/copy diff coverage
Fusion-Task-Id: FN-4528
Fusion-Task-Lineage: 40f587b4-6bf3-4ebd-8870-359ac57b42ea
2026-05-14 14:26:25 -07:00
Fusion
3d19aab476 feat(FN-4523): complete Step 6 — docs, audit type, and verification fixes
Fusion-Task-Id: FN-4523
Fusion-Task-Lineage: c7a02071-f911-4c42-a174-cdcf2453fd23
2026-05-14 14:09:57 -07:00
Fusion
decfebad4a chore(FN-4521): add changeset
Fusion-Task-Id: FN-4521
Fusion-Task-Lineage: 675472a2-480d-4b9e-8861-98d2d82680db
2026-05-14 14:04:32 -07:00
Fusion
12bdec80a0 feat(FN-4455): complete Step 6 — add changeset for global-only memory mode
Fusion-Task-Id: FN-4455
Fusion-Task-Lineage: 735091fa-9d42-4f23-9c5b-3e5889da99a6
2026-05-14 13:59:10 -07:00
Fusion
cf4723a8ab feat(FN-4499): complete Step 7 — document bootstrap recovery
Fusion-Task-Id: FN-4499
Fusion-Task-Lineage: 3e9fee75-5c3d-4ce5-aa8b-3f2bb94e48eb
2026-05-14 13:33:01 -07:00
Fusion
92140521e1 feat(FN-4517): complete Step 3 — add patch changeset
Fusion-Task-Id: FN-4517
Fusion-Task-Lineage: 4e582377-3c56-49a4-8e3c-23e652113b61
2026-05-14 13:27:44 -07:00
Fusion
2faf28ef46 feat(FN-4488): complete Step 7 — docs and changeset
Fusion-Task-Id: FN-4488
Fusion-Task-Lineage: 3fc1ac43-490f-43f2-a27e-4fdceb64d9c4
2026-05-14 13:16:10 -07:00
Fusion
1beb63395a feat(FN-4519): complete Step 4 — add changeset
Fusion-Task-Id: FN-4519
Fusion-Task-Lineage: 45139d91-f44f-4b16-8dc2-012879684b2d
2026-05-14 13:06:15 -07:00
Fusion
8835c68845 feat(FN-4514): complete Step 6 — add release changeset
Fusion-Task-Id: FN-4514
Fusion-Task-Lineage: 5910815a-9d67-4312-97d4-44d65d01dbc7
2026-05-14 12:52:37 -07:00
Fusion
ab0dd0ec22 fix(FN-4500): finalize verification fixes and delivery docs
Fusion-Task-Id: FN-4500
Fusion-Task-Lineage: 81d33759-70f6-4958-abf8-3db20f918c01
2026-05-14 12:44:11 -07:00
Fusion
716b9abbb5 feat(FN-4493): complete Step 8 — finalize docs and release metadata
Fusion-Task-Id: FN-4493
Fusion-Task-Lineage: 966c7c55-fd51-4263-9d4e-87e9d06bfb6f
2026-05-14 12:30:20 -07:00
Fusion
932ff90d53 feat(FN-4367): finalize structured workflow verdict contract
Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 12:14:05 -07:00
gsxdsm
ff987b9832 feat(FN-4367): add structured JSON verdict output for prompt-mode workflow steps
- Add verdict (PASS/FAIL) field to core WorkflowStepResult type
- Add parseWorkflowStepOutput() engine helper for json-workflow-verdict blocks
- Update executeWorkflowStep to extract structured verdict/notes from output
- Persist verdict and notes in runWorkflowSteps result entries
- Update agent prompt Feedback Format to require JSON verdict block
- Update WS-006 (Frontend UX Design) template prompt with structured fast-bail
- Add WorkflowResultsTab verdict badge and notes rendering with CSS
- Add 11 engine tests for verdict parsing edge cases
- Add 6 dashboard tests for verdict/notes rendering
- Create replace-ws006-prompt.mjs migration script for existing DBs
- Add changeset for @runfusion/fusion patch

Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 12:14:04 -07:00
Fusion
2e1f06858d feat(FN-4367): finalize structured workflow verdict contract
Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:40:59 -07:00
gsxdsm
b339ecf91d feat(FN-4367): add structured JSON verdict output for prompt-mode workflow steps
- Add verdict (PASS/FAIL) field to core WorkflowStepResult type
- Add parseWorkflowStepOutput() engine helper for json-workflow-verdict blocks
- Update executeWorkflowStep to extract structured verdict/notes from output
- Persist verdict and notes in runWorkflowSteps result entries
- Update agent prompt Feedback Format to require JSON verdict block
- Update WS-006 (Frontend UX Design) template prompt with structured fast-bail
- Add WorkflowResultsTab verdict badge and notes rendering with CSS
- Add 11 engine tests for verdict parsing edge cases
- Add 6 dashboard tests for verdict/notes rendering
- Create replace-ws006-prompt.mjs migration script for existing DBs
- Add changeset for @runfusion/fusion patch

Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:40:59 -07:00
Fusion
4615c48919 feat(FN-4485): complete verification and documentation updates
Fusion-Task-Id: FN-4485
Fusion-Task-Lineage: 034088dc-ebc4-4e12-8314-39419d41b23f
2026-05-14 11:23:45 -07:00
Fusion
04b93c23c0 feat(FN-4367): finalize structured workflow verdict contract
Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:19:08 -07:00
gsxdsm
1bc7cbd4f5 feat(FN-4367): add structured JSON verdict output for prompt-mode workflow steps
- Add verdict (PASS/FAIL) field to core WorkflowStepResult type
- Add parseWorkflowStepOutput() engine helper for json-workflow-verdict blocks
- Update executeWorkflowStep to extract structured verdict/notes from output
- Persist verdict and notes in runWorkflowSteps result entries
- Update agent prompt Feedback Format to require JSON verdict block
- Update WS-006 (Frontend UX Design) template prompt with structured fast-bail
- Add WorkflowResultsTab verdict badge and notes rendering with CSS
- Add 11 engine tests for verdict parsing edge cases
- Add 6 dashboard tests for verdict/notes rendering
- Create replace-ws006-prompt.mjs migration script for existing DBs
- Add changeset for @runfusion/fusion patch

Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:19:08 -07:00
Fusion
a176812c05 feat(FN-4367): finalize structured workflow verdict contract
Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:17:23 -07:00
gsxdsm
6c19ec4cb8 feat(FN-4367): add structured JSON verdict output for prompt-mode workflow steps
- Add verdict (PASS/FAIL) field to core WorkflowStepResult type
- Add parseWorkflowStepOutput() engine helper for json-workflow-verdict blocks
- Update executeWorkflowStep to extract structured verdict/notes from output
- Persist verdict and notes in runWorkflowSteps result entries
- Update agent prompt Feedback Format to require JSON verdict block
- Update WS-006 (Frontend UX Design) template prompt with structured fast-bail
- Add WorkflowResultsTab verdict badge and notes rendering with CSS
- Add 11 engine tests for verdict parsing edge cases
- Add 6 dashboard tests for verdict/notes rendering
- Create replace-ws006-prompt.mjs migration script for existing DBs
- Add changeset for @runfusion/fusion patch

Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:17:23 -07:00
Fusion
e7348eac50 feat(FN-4367): finalize structured workflow verdict contract
Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:15:47 -07:00
gsxdsm
4a8dc23442 feat(FN-4367): add structured JSON verdict output for prompt-mode workflow steps
- Add verdict (PASS/FAIL) field to core WorkflowStepResult type
- Add parseWorkflowStepOutput() engine helper for json-workflow-verdict blocks
- Update executeWorkflowStep to extract structured verdict/notes from output
- Persist verdict and notes in runWorkflowSteps result entries
- Update agent prompt Feedback Format to require JSON verdict block
- Update WS-006 (Frontend UX Design) template prompt with structured fast-bail
- Add WorkflowResultsTab verdict badge and notes rendering with CSS
- Add 11 engine tests for verdict parsing edge cases
- Add 6 dashboard tests for verdict/notes rendering
- Create replace-ws006-prompt.mjs migration script for existing DBs
- Add changeset for @runfusion/fusion patch

Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:15:47 -07:00
Fusion
c003f4b591 feat(FN-4429): document user-cancel move-to-todo contract
Fusion-Task-Id: FN-4429
Fusion-Task-Lineage: b010437b-0e58-43f6-81b3-40dcebbf0873
2026-05-14 10:31:50 -07:00
Fusion
77308601e5 feat(FN-4371): complete remaining decision-only task handling
Fusion-Task-Id: FN-4371
Fusion-Task-Lineage: 4175ba4c-b7cb-4f3a-87c5-75e51f06c0ff
2026-05-14 09:59:15 -07:00
Fusion
4bafbafe73 fix(FN-4480): complete Step 5 — add changeset for toolbar collapse fix
Fusion-Task-Id: FN-4480
Fusion-Task-Lineage: a27631d7-61cf-4314-99d7-cdd81deffb76
2026-05-14 09:27:19 -07:00
Fusion
e2e2ca5332 feat(FN-4479): complete Step 4 — add patch changeset
Fusion-Task-Id: FN-4479
Fusion-Task-Lineage: 5dfad520-13eb-4a31-a45c-2daf767a3dff
2026-05-14 09:14:51 -07:00
Fusion
b565fde525 feat(FN-4477): complete Step 3 — changeset and docs
Fusion-Task-Id: FN-4477
Fusion-Task-Lineage: 1001fb48-1eed-493c-9067-8234f462ac49
2026-05-14 09:09:54 -07:00
Fusion
4c4f11b776 feat(FN-4476): complete Step 6 — add changeset
Fusion-Task-Id: FN-4476
Fusion-Task-Lineage: 8673c1d9-f47e-4d02-89e6-646040b9be32
2026-05-14 08:49:38 -07:00
gsxdsm
9f24f1bb05 feat(FN-4396): merge fusion/fn-4396 2026-05-14 08:24:01 -07:00
Fusion
2a2c0c901d fix(FN-4475): complete Step 5 — add changeset and keep lint green
Fusion-Task-Id: FN-4475
Fusion-Task-Lineage: cb285fff-18e6-4bad-8f22-9158c99337f5
2026-05-14 08:23:43 -07:00
Islam Nofl
bbb6d9c55b fix: Google provider save after model detection, SSRF protection, PR review fixes
- Add google-generative-ai to CustomProvider.apiType union type
- Update assertApiType to accept google-generative-ai in create/update
- Fix createCustomProvider mapping in legacy.ts for Google type
- Fix fetchCustomProviders mapping for Google type
- Add google-generative-ai to CustomProvidersSection API_TYPES
- Add SSRF protection to probeProviderModels (block private/loopback)
- Add body validation to probe-models route handler
- Update stale JSDoc in legacy.ts
2026-05-14 16:56:11 +03:00
Fusion
458c2343a1 feat(FN-4366): enforce readonly tool allowlist for workflow steps
Added a readonly tool allowlist enforcement for workflow steps, blocking execution of state-mutating tools (`fn_task_update`, `fn_task_move`, etc.) during workflow step runs. The policy is wired into the executor and merger execution paths, with tests covering allowlist enforcement and a documentati

Fusion-Task-Id: FN-4366
2026-05-14 06:24:03 -07:00
Fusion
11d521bcb8 feat(FN-4465): complete Step 6 — docs and changeset
Fusion-Task-Id: FN-4465
Fusion-Task-Lineage: 4365d4cb-ab93-4ed5-add9-3e14b26237ad
2026-05-14 05:55:17 -07:00
Fusion
ecaeaf0ff5 feat(FN-4296): complete Step 5 — finalize sync wiring and verification fixes
Fusion-Task-Id: FN-4296
Fusion-Task-Lineage: 9d061861-547a-4905-8fdd-4b66dd7bff97
2026-05-14 05:35:35 -07:00
Fusion
7a1d39c7f0 feat(FN-4468): add workflow step gateMode advisory gating
Adds an "advisory" `gateMode` option for workflow steps: steps in advisory mode log findings but no longer block merge completion, while steps that must block can still be configured as blocking. The change covers the workflow step types and schema, executor gating logic, dashboard UI in WorkflowSte

Fusion-Task-Id: FN-4468
2026-05-14 05:35:12 -07:00
Fusion
cfeb1f2f7a feat(FN-4191): complete Step 7 — add changeset
Fusion-Task-Id: FN-4191
Fusion-Task-Lineage: 00fddcfc-e136-41a5-84b1-b6f53b1692cb
2026-05-14 05:07:30 -07:00