Commit Graph

3697 Commits

Author SHA1 Message Date
Fusion
1ff52a6f83 feat(FN-3336): recover chat isGenerating state on session load to prevent U
Merges FN-3336 to recover chat streaming state on page reload — adds `isGenerating()` and `getGeneratingSessionIds()` to `ChatManager`, enriches the session API to surface active-streaming sessions, and makes `useChat` and `useQuickChat` hooks restore the `isGenerating` flag when loading existing se

Fusion-Task-Id: FN-3336
2026-05-03 16:51:01 -07:00
Fusion
00cdc8a1ac feat(FN-3338): fix project root resolution in registerExtensionProviders an
The merge adds an auto-reload setting (FN-3334) with UI controls in the settings modal, documentation, and a new version-check module, while also fixing a bug (FN-3338) where extension providers incorrectly resolved the project root when invoked from git worktrees — moving the project-root resolutio

Fusion-Task-Id: FN-3338
2026-05-03 16:34:56 -07:00
Fusion
8bc76ee52b feat(FN-3334): add auto-reload setting and fix worktree project resolution
Merged two features: FN-3334 introduces a new `autoReloadOnVersionChange` setting with a toggle in the Settings modal, version-check logic in the dashboard, and corresponding tests; FN-3335 fixes worktree project root resolution in `createFnAgent` and the skill resolver, with tests for both paths. S

Fusion-Task-Id: FN-3334
2026-05-03 16:26:47 -07:00
Fusion
d7e2a3ec42 feat(FN-3335): fix worktree project root resolution in createFnAgent and ad
Merges FN-3335 (worktree project resolution) and FN-3333 (spurious version reloads). The engine's `createFnAgent` now resolves project root from the worktree's cwd rather than the parent process, with `resolveProjectRoot` added to skill-resolver for consistency. The dashboard's `versionCheck` was up

Fusion-Task-Id: FN-3335
2026-05-03 16:01:17 -07:00
Fusion
53ab441a97 feat(FN-3333): fix spurious version reloads with deterministic build
Fixes spurious new-version reloads by making the build version deterministic using the git hash and adding a 60-second cooldown to the version check. Includes unit tests for the version check logic.

Fusion-Task-Id: FN-3333
2026-05-03 15:39:31 -07:00
Fusion
7773e4e4ad feat(FN-3111): add mesh configuration API routes and generator service
The merge lands the mesh configuration system (FN-3111) with type definitions, a `MeshConfigGenerator` service using a new `DockerClientService.recreateContainer()` method, and backend API routes for managing Docker-based mesh nodes. It also adds a "New Chat" button to the ChatView header on desktop

Fusion-Task-Id: FN-3111
2026-05-03 15:13:08 -07:00
Fusion
1e841df3c7 feat(FN-3331): add New Chat button to thread header on desktop
Adds a New Chat button to the ChatView thread header on desktop with accompanying CSS styling and tests. The feature is scoped to the dashboard's chat interface with 62 lines of additions across the component, its stylesheet, and test file.

Fusion-Task-Id: FN-3331
2026-05-03 15:04:47 -07:00
Fusion
4d6c0a463c feat(FN-3002): add canonical research guide and update cross-linked docs
The merge introduces a canonical research guide (`docs/research.md`) as a central reference and updates cross-links across the documentation suite, including agents, architecture, dashboard-guide, settings-reference, and storage docs. The most significant addition is the 436-line research guide itse

Fusion-Task-Id: FN-3002
2026-05-03 14:50:16 -07:00
Fusion
dc301fc84c feat(FN-3318): harden bundled-plugin-install to detect stale path/version
Adds hardening logic to the bundled-plugin-install command to detect stale path or version conditions, with comprehensive tests covering those edge cases. Also includes a minor update and test coverage for the provider-auth command.

Fusion-Task-Id: FN-3318
2026-05-03 14:31:23 -07:00
gsxdsm
9e7de0cecb fix(engine): teach merger fix agent to rebuild stale dist artifacts
The verification-fix agent prompt previously forbade modifying files
unrelated to the failure, which blocked the natural fix when
deterministic merge verification failed because of stale/missing
plugin `dist/` outputs in sibling workspace packages (e.g.
`Failed to resolve import "./cli-spawn.js"` from
`fusion-plugin-hermes-runtime/dist`).

- Add explicit guidance to detect stale-artifact failure signatures
  and rebuild the affected package(s) before editing source.
- Allow the agent to fix pre-existing breakage on the base branch,
  preferring the smallest change that makes verification green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 14:27:02 -07:00
Fusion
873a30141a feat(FN-3110): add docker provisioning service, API routes, and status UI c
Merges FN-3110 to add Docker provisioning support across the stack: TypeScript types and DockerProvisioningService in core, API routes in dashboard for provisioning operations, a useDockerProvisioning hook for frontend integration, and a DockerProvisioningStatus UI component — all covered by unit an

Fusion-Task-Id: FN-3110
2026-05-03 14:10:11 -07:00
Fusion
d2e438a050 feat(FN-3274): preserve first-turn reasoning in planning modal
This merge introduces visibility of the AI's first-turn reasoning in the planning modal (FN-3274), with corresponding regression tests, and removes all PI (Prompt Intelligence) install references and documentation from the codebase (FN-3309).

Fusion-Task-Id: FN-3274
2026-05-03 13:37:03 -07:00
Fusion
8675b8c196 feat(FN-3309): remove PI install references and documentation
Merges the final step for FN-3309, adding a changeset to document the removal of pi install references. The changeset is the only file changed, completing the feature work.

Fusion-Task-Id: FN-3309
2026-05-03 13:01:54 -07:00
Fusion
c369459576 feat(FN-3290): add changeset for modal keyboard isolation fix
Adds a patch changeset for FN-3290 documenting the modal keyboard isolation fix, ensuring the change is captured in the release changelog.

Fusion-Task-Id: FN-3290
2026-05-03 12:51:22 -07:00
Fusion
a1b74de12b feat(FN-3319): enrich agent heartbeat callbacks with reason in UI
Enriched agent heartbeat callbacks with a `reason` parameter propagated through the engine, in-process runtime, and dashboard components (AgentDetailView, AgentListModal, AgentsView). Added a new `agentHealth.tsx` utility and corresponding test file to surface the reason in UI health status, with te

Fusion-Task-Id: FN-3319
2026-05-03 12:47:08 -07:00
Fusion
e153ae5443 feat(FN-3295): add pinch-to-zoom, auto-fit, and mobile layout to dependency
This merge adds pinch-to-zoom, auto-fit, mobile layout, and empty state to the dependency graph view, along with a mobile spacing fix for the Remote Access header, a TypeScript cast fix in the engine's AuthStorage proxy set trap, and test coverage for both features. Test performance was improved by

Fusion-Task-Id: FN-3295
2026-05-03 12:24:41 -07:00
gsxdsm
d61eb3e8c0 fix(engine): widen AuthStorage cast in proxy set trap to satisfy tsc
TS2352: Direct conversion from AuthStorage to Record<string|symbol, unknown>
no longer overlaps. Route through `unknown` so the proxy set trap continues
to forward writes to the underlying target.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 11:41:09 -07:00
Fusion
cb86966f50 feat(FN-3307): add pinch-to-zoom, auto-fit, mobile layout, and empty state
Merges five branches: adds pinch-to-zoom, mobile layout, auto-fit, and empty state to the dependency graph plugin with full test coverage; implements API key fallback resolution for models.json; restores Claude usage tracking with Fusion Anthropic auth storage; and boosts dashboard test performance

Fusion-Task-Id: FN-3307
2026-05-03 11:33:58 -07:00
gsxdsm
7149630dca perf(dashboard tests): raise per-package worker cap and scope CSS to jsdom
Local single-package runs were single-threaded due to defaultCap: 1; bump
to 3 so iterative `pnpm --filter @fusion/dashboard test` actually uses
available cores (workspace runs still clamp via FUSION_TEST_TOTAL_WORKERS).

CSS transform was applied to every file via /.+/ but only jsdom-environment
tests under app/** read computed styles. Restrict include to /app\// so
node-env src/** tests skip the CSS pipeline.

Wall time on the dashboard suite drops from ~205s to ~148s (-28%).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 11:32:00 -07:00
Fusion
d01be28d9b feat(FN-3305): add models.json API key fallback resolution
The merge restores Claude usage tracking by introducing a Proxy-based auth storage with a fallback resolver that falls back to `models.json` API keys when the primary auth store lacks credentials. It also adds planning improvements with corresponding tests and a context limit detector enhancement, a

Fusion-Task-Id: FN-3305
2026-05-03 11:28:42 -07:00
gsxdsm
6a95b1507e fix(tests): correct sessionId destructure and waitFor in thinking-block tests
The two FN-3300 streaming-path tests destructured `{ sessionId }` from
createSessionWithAgent (which returns a string), causing
SessionNotFoundError. Also added the missing vi.waitFor(currentQuestion)
that the streaming setup requires before submitResponse.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 11:21:49 -07:00
Fusion
ec80d98d2a feat(FN-3302): restore Claude usage tracking with Fusion Anthropic auth sto
Restores Claude usage tracking across the dashboard by integrating with Fusion Anthropic auth storage, and adds detection and testing for the `model_context_window_exceeded` stop reason to handle context limit errors gracefully. The work spans planning logic, usage tracking, mission management UI, a

Fusion-Task-Id: FN-3302
2026-05-03 11:06:27 -07:00
Fusion
dc3deed964 feat(FN-3300): restore Claude usage tracking with Fusion Anthropic auth sto
This merge restores Claude usage tracking by reading from Fusion's Anthropic auth storage (FN-3135, FN-3289), adds fixes for response-text extraction bugs in `continueAgentConversation` and `getFirstQuestionFromAgent` with diagnostic logging for empty responses (FN-3300), and includes new test cover

Fusion-Task-Id: FN-3300
2026-05-03 11:00:50 -07:00
Fusion
8da4900141 feat(FN-3135): restore Claude usage tracking with Fusion Anthropic auth sto
This merge adds test coverage for the two-panel split layout (FN-3135) with desktop and mobile CSS tests, restores Claude usage tracking from Fusion's Anthropic auth storage (FN-3289) in the usage module, and adds mobile auto-routing to the Planning Mode component for empty sessions (FN-3269).

Fusion-Task-Id: FN-3135
2026-05-03 10:41:46 -07:00
Fusion
a418662b2f feat(FN-3289): restore Claude usage from Fusion Anthropic auth storage in d
Step 2 of FN-3289 restores Claude usage tracking by integrating with Fusion's existing Anthropic auth-storage instead of maintaining separate credentials, eliminating credential duplication and improving consistency between the dashboard and CLI. The changes update the usage tracking module, add cor

Fusion-Task-Id: FN-3289
2026-05-03 10:36:28 -07:00
Fusion
fbd2ed0c5f feat(FN-3269): add mobile empty-session auto-routing to Planning Mode compo
Merges mobile Planning Mode empty-state auto-routing to the composer (Step 2 of FN-3269) alongside wired Insights create-task integration with real task creation (FN-3265), with corresponding tests and documentation updates.

Fusion-Task-Id: FN-3269
2026-05-03 10:31:21 -07:00
Fusion
7feb29502c feat(FN-3265): wire Insights create-task to real task creation with mobile
Merges three features: wires the Insights view's "create task" action to real task creation (FN-3265) with tests, adds mobile-responsive collapse behavior in AgentsView when selecting live runs (FN-3271), and expands regression test coverage for worker budget handling (FN-3263). Changes span the das

Fusion-Task-Id: FN-3265
2026-05-03 10:02:17 -07:00
Fusion
987ced4e10 feat(FN-3271): collapse mobile overview on live run select in AgentsView
Collapsed mobile overview panel now hides automatically when a live run is selected in the AgentsView, improving the mobile experience by reducing visual clutter during active agent sessions.

Fusion-Task-Id: FN-3271
2026-05-03 09:56:26 -07:00
Fusion
0bb923b044 feat(FN-3263): strengthen worker-budget regression test coverage
Strengthens regression test coverage for worker-budget behavior in the vitest workers test suite, adding 14 lines to cover edge cases.

Fusion-Task-Id: FN-3263
2026-05-03 09:51:43 -07:00
Fusion
f50e7c5305 feat(FN-3223): add compact desktop sidebar controls for list view
The merge delivers three major feature clusters: hardened research lifecycle with idempotent cancel/retry and SSE support across the orchestrator and routes layer; unified header action clusters in AgentDetailView integrating planning mode disclosures; and a compact desktop sidebar for list view con

Fusion-Task-Id: FN-3223
2026-05-03 09:41:36 -07:00
Fusion
7bb1380e1a feat(FN-3000): harden research lifecycle with idempotent cancel/retry and S
This merge hardens the research feature across the stack with idempotent cancel/retry logic and SSE support for real-time updates in `research-orchestrator` and `sse.ts`, while also applying UX improvements to `PlanningModeModal` and `ResearchTaskActionModal`. The core `research-store` received sign

Fusion-Task-Id: FN-3000
2026-05-03 09:31:17 -07:00
Fusion
aecc2a7f4c feat(FN-3275): unify AgentDetailView header with planning and harden resear
This merge adds idempotent cancel/retry and SSE streaming to the research lifecycle (FN-2999), tightens mobile spacing in the AgentDetailView header cluster (FN-3275), and wires the planning mode into the agent detail header actions (FN-3238). Research orchestrator, store, routes, and the SSE layer

Fusion-Task-Id: FN-3275
2026-05-03 09:21:20 -07:00
Fusion
f2fa44e270 feat(FN-2999): harden research lifecycle with idempotent cancel/retry, SSE
Merges FN-2999 research hardening (idempotent cancel/retry routes, aligned SSE event wiring, and cleaned status handling in the core research store and orchestrator) plus UI improvements to AgentDetailView header actions and planning disclosure UX in the modal, with a CSS token fallback fix in Scrip

Fusion-Task-Id: FN-2999
2026-05-03 09:11:04 -07:00
Fusion
4102a4028a feat(FN-3238): unify header action cluster in AgentDetailView with planning
Merged changes unify the header action cluster in AgentDetailView with refined styling and component refactoring, while also adding planning disclosure UX for steps 2-3 in the PlanningModeModal — both backed by updated test coverage.

Fusion-Task-Id: FN-3238
2026-05-03 09:00:43 -07:00
Fusion
4694cebf43 feat(FN-3268): add planning disclosure UX for Step 2-3 in modal
The merge completes UX updates for the planning disclosure flow (steps 2–3) in the PlanningModeModal, including CSS enhancements and test coverage for the new behavior.

Fusion-Task-Id: FN-3268
2026-05-03 08:22:27 -07:00
Fusion
b531f2472b feat(FN-3245): add fallback for bg-surface token in ScriptsModal
Fixes ScriptsModal CSS by adding a fallback value for the undefined `--bg-surface` token, preventing broken styling when the token isn't defined in the current theme.

Fusion-Task-Id: FN-3245
2026-05-03 07:57:52 -07:00
Fusion
93ecc88fee feat(FN-3109): add Docker connectivity service and target selector UI
This merge adds Docker connectivity management to Fusion (FN-3109), introducing a Docker client service in `@fusion/core` with typed interfaces for daemon connection configuration (host, socket path, TLS). The dashboard gains a `DockerTargetSelector` component for choosing between local socket and T

Fusion-Task-Id: FN-3109
2026-05-03 07:47:45 -07:00
Fusion
0948be42fd feat(FN-3212): remove runtime memory-backend side-load, add regression test
Merged FN-3207, FN-3212, and FN-3242: removed runtime memory-backend side-loading in core, added comprehensive regression tests for QuickChat, chat routes, and SSE streams, and documented compact mobile chat dialogs in the dashboard guide. The refactor in `project-memory.ts` reduces complexity while

Fusion-Task-Id: FN-3212
2026-05-03 07:37:03 -07:00
Fusion
3878132c4e feat(FN-3207): remove runtime memory-backend side-load
Merged FN-3207 and FN-3242: streamlined the memory backend by removing the runtime side-load pattern in `project-memory.ts` (simplified from 25+ lines), added regression tests across core, engine, and CLI bundle to catch the import issue at build time, and updated ChatView with a CSS fix for file me

Fusion-Task-Id: FN-3207
2026-05-03 07:24:14 -07:00
Fusion
07a2a42808 feat(FN-3242): add documentation for compact mobile chat dialogs
Adds documentation for the compact mobile chat dialogs feature (FN-3242) to the dashboard guide.

Fusion-Task-Id: FN-3242
2026-05-03 06:53:42 -07:00
Fusion
05f852458d feat(FN-3120): show resolved planning model in planning modal
Adds a resolved planning model display to the planning modal by introducing a new `/api/models/resolve` endpoint, wiring it through the legacy API, and updating the modal to show the final resolved model alongside its source (FN-3120).

Fusion-Task-Id: FN-3120
2026-05-03 06:17:30 -07:00
Fusion
c2acc74dc8 feat(FN-3133): restore mobile back button with CSS contract tests
This merge adds a standalone bottom-gap CSS token for PWA mobile compatibility, implements a responsive back button that hides on desktop and restores on mobile, refactors the test-changed script for improved workflow testing, and expands the test suite with new CI workflow tests and mobile CSS cont

Fusion-Task-Id: FN-3133
2026-05-03 06:07:37 -07:00
Fusion
73cee930b0 feat(FN-3232): add standalone bottom-gap token and mobile CSS contract test
This merge bundles six feature steps across mobile PWA spacing, test infrastructure, MissionManager tokenization, and Insights coverage. Key changes include restoring the `--standalone-bottom-gap` CSS token contract for iOS home indicator spacing, a refactored `test-changed.mjs` script with workflow

Fusion-Task-Id: FN-3232
2026-05-03 05:57:25 -07:00
Fusion
4d98b12243 feat(FN-3234): refactor test-changed script and add workflow tests
This merge refactors the test-changed script and adds new CLI tests (FN-3234), keeping automation on the full-suite path. It includes a new test file for the root test command, updates to the CI workflow, and documentation improvements.

Fusion-Task-Id: FN-3234
2026-05-03 05:47:11 -07:00
Fusion
4ed60ba889 feat(FN-3132): tokenize sidebar titles and mission manager sizing, add Agen
Merged branch adds the new AgentsOverviewBar component with accompanying test coverage, fixes CSS token issues across MissionManager and sidebar typography (including resolving undefined surface-hover token fallback), and updates agents layout documentation. Also adds test coverage for the insights

Fusion-Task-Id: FN-3132
2026-05-03 05:35:06 -07:00
Fusion
3f0aa6e3cd feat(FN-3017): add insights coverage contracts, AgentsOverviewBar component
This merge introduces an `AgentsOverviewBar` component to the agents layout, adds styling enhancements to the planning mode modal and quick chat FAB, and fixes a `useEffect` dependency issue for the insights initial refresh. It also expands test coverage for the insights subsystem with new regressio

Fusion-Task-Id: FN-3017
2026-05-03 05:17:44 -07:00
Fusion
03556ddbeb feat(FN-3224): update agents layout documentation
The merge lands a documentation update to `docs/agents.md`, correcting or refining the agents layout section (2 lines changed). No code or behavior changes.

Fusion-Task-Id: FN-3224
2026-05-03 04:43:14 -07:00
Fusion
83a7a66fc2 feat(FN-3258): enhance planning mode modal and quick chat FAB styling
This merge lands multiple enhancements to the planning mode modal UI and related components. Key changes include improved styling for the planning modal and quick chat FAB, CSS token alignment with the design system, plugin slot mount wiring, and updated drag handle placement. The merge also adds ne

Fusion-Task-Id: FN-3258
2026-05-03 04:31:29 -07:00
Fusion
361a9022ea feat(FN-3131): add MissionManager detail pane state tests
Test coverage for MissionManager detail pane states and containment was completed in Step 4, adding 161 lines of test assertions for the component's state transitions and containment logic.

Fusion-Task-Id: FN-3131
2026-05-03 04:19:56 -07:00
Fusion
5fd4cdc5df feat(FN-3068): wire plugin slot mounts and enhance planning mode modal UI
This merge incorporates UI enhancements for the planning mode modal and quick chat FAB, moves the drag handle into provider actions, wires required plugin slot mounts, and adds tests for MobileNavBar and UsageIndicator components. The changes span the dashboard UI components with styling and behavio

Fusion-Task-Id: FN-3068
2026-05-03 04:10:07 -07:00