Commit Graph

149 Commits

Author SHA1 Message Date
gsxdsm
0c7fa7a91c fix(FN-000): improve setup wizard browse flow 2026-04-22 18:50:09 -07:00
gsxdsm
794da6a030 feat(FN-2186): merge fusion/fn-2186 2026-04-22 13:46:53 -07:00
Fusion
d6b6bd790a feat(FN-2243): merge fusion/fn-2243 2026-04-22 09:12:33 -07:00
gsxdsm
e2b69409be feat(FN-2230): merge fusion/fn-2230 2026-04-22 02:16:40 -07:00
Fusion
087a67bcaa feat(FN-2183): add dev server management modules
- Add typed dev server models and constants for configs, session state, runtime metadata, and bounded log history
- Add JSON persistence helpers for .fusion/devserver.json with tolerant parsing and session reconstruction
- Add dev command auto-detection across root and workspace package.json scripts with framework inference and priority sorting
- Implement DevServerManager lifecycle controls, preview URL detection, port probing fallback, and singleton manager helpers
- Add Vitest coverage for devserver types, detection/persistence behavior, and manager lifecycle/events
2026-04-20 22:45:26 -07:00
Fusion
c8203210c2 feat(FN-2170): add dev-server preview detection and log viewer flow
- Add dev-server port detection utilities and wire detected preview state into process/manager lifecycle
- Normalize dev-server status API responses with preview URL, detected port, and manual override compatibility
- Introduce useDevServerLogs and DevServerLogViewer, and integrate them into the DevServer dashboard view
- Expand dashboard test coverage for detection edges, process/routes behavior, log history handling, and CSS regressions
2026-04-20 15:37:32 -07:00
Fusion
42476ec3da feat(FN-2166): persist dev server script configuration across sessions
- Extend dev server store with config defaults, normalization, and JSON persistence alongside runtime state.
- Add GET/PUT /api/dev-server/config endpoints with strict request validation for nullable fields and preview URLs.
- Add dashboard API helpers plus a useDevServerConfig hook to load and update selected script, source, command, and preview override.
- Update DevServerView and styles to support saved script selection, change/clear actions, and synchronized command/preview inputs.
- Expand dev server store/routes/component tests and document the config endpoint in architecture docs.
2026-04-20 12:59:58 -07:00
Fusion
7b8bbaaa0a feat(FN-2152): render collapsed tool call previews in chat
- Emit tool_start/tool_end SSE events from dashboard chat backend and parse them in streaming client helpers
- Track in-flight and completed tool calls in useChat/useQuickChat to preserve tool output summaries alongside assistant messages
- Render collapsed tool call preview blocks in ChatView and QuickChatFAB with dedicated tokenized styles for compact output summaries
- Expand frontend and backend test coverage for SSE tool events, hook state transitions, and collapsed preview rendering behavior
- Add a changeset for @gsxdsm/fusion documenting the new tool-call display behavior
2026-04-20 08:30:24 -07:00
Fusion
0b9bf62a2a refactor(FN-2162): rename kb-agent identifiers to fn-agent
- Rename core loader, dashboard server chat/planning routes, and frontend agent IDs/storage keys from kb-agent to fn-agent naming
- Update dashboard hooks and components (agent list, chat view, quick chat) to use the new fn agent key prefixes consistently
- Refresh engine, dashboard, core, and CLI tests/mocks to remove remaining kb-agent route and temp prefix references
- Update storage/gap-analysis docs to reflect fn agent key names and add a @gsxdsm/fusion patch changeset for the rename
2026-04-19 20:48:14 -07:00
Fusion
a929b729b9 refactor(FN-2161): standardize on createFnAgent naming
- Rename engine export and call sites to use createFnAgent consistently across runtime flows
- Update core lazy engine loader and dashboard agent-generation/planning/chat paths to reference createFnAgent
- Refresh affected unit and integration tests, including renaming pi-create-kb-agent.test.ts to pi-create-fn-agent.test.ts
- Update AGENTS.md documentation references to match the new createFnAgent name
2026-04-19 20:48:14 -07:00
Fusion
5de8c8dca7 feat(FN-2181): add dashboard dev-server process manager and API routes
- Introduce DevServerStore and DevServerProcessManager with a simplified store API contract
- Add dev-server script detection and route legacy manager behavior through the new process manager
- Add a dedicated dev-server router with start/stop/status/log endpoints and SSE event streaming
- Wire dev-server routes into the main route table and hook manager shutdown into server teardown
- Expand tests and architecture docs for store, process, route, detection, and SSE coverage
2026-04-19 20:48:14 -07:00
Fusion
10f10c5a45 feat(FN-2168): add persistent dev-server dashboard flow
- Add a durable dev-server store and manager with persisted state/log history, process reconciliation, and SSE event buffering
- Wire new backend lifecycle APIs for status/history/start/stop/restart/stream and initialize/shutdown manager handling in server startup
- Add dashboard Dev Server view, hook-based hydration/stream handling, nav integration, and supporting styles
- Expand coverage with backend persistence/route tests and frontend DevServerView/useDevServer tests
- Document the dev-server persistence architecture in docs/architecture.md
2026-04-19 20:48:14 -07:00
Fusion
ff2813ce4a feat(FN-2178): add dashboard dev server management flow
- Add DevServerManager service to start/stop/restart dev processes, persist state, stream logs, and detect preview URLs
- Add dev server candidate detection across root/workspace package scripts with caching and invalidation helpers
- Expose /api/dev-server routes for candidates, status, lifecycle actions, manual preview URL, and SSE log/status stream
- Initialize and tear down dev server managers from dashboard server lifecycle
- Add unit and route tests covering detection, manager lifecycle, URL parsing/fallback probes, and API validation
2026-04-19 20:48:13 -07:00
Fusion
2b3f971fd5 feat(FN-2150): add agent memory file management
- Add core helpers to list, read, and write .fusion/agent-memory/{agentId} files with strict path validation and exports
- Add dashboard API routes and client methods for agent memory file listing and single-file read/write operations
- Expand AgentDetailView memory tab with file selection, editing, save states, and inline validation feedback
- Add route/backend coverage for agent memory file endpoints and include a @gsxdsm/fusion minor changeset
2026-04-19 20:48:13 -07:00
gsxdsm
3472c122d4 feat(FN-2123): merge fusion/fn-2123 2026-04-19 10:13:34 -07:00
gsxdsm
eaaac2282a feat(FN-2120): merge fusion/fn-2120 2026-04-19 10:13:34 -07:00
Fusion
bee87329da feat(FN-2030): add project markdown explorer to Documents view
- Add recursive markdown file discovery in file-service with excluded directories and sorted metadata output
- Expose GET /api/files/markdown and wire a frontend API client plus useProjectMarkdownFiles hook
- Redesign DocumentsView with project/task tabs, search, task grouping, and desktop/mobile file preview flows
- Add coverage for markdown scanning and DocumentsView behaviors, and update useDocuments tests for new API usage
2026-04-19 10:13:33 -07:00
gsxdsm
456c8ed6e6 feat(FN-2017): merge fusion/fn-2017 2026-04-18 23:22:20 -07:00
gsxdsm
83458f1eca feat(FN-2108): merge fusion/fn-2108 2026-04-18 22:53:07 -07:00
Fusion
4941023006 fix(FN-2058): handle symlinked markdown directory scanning
- Follow symlink entries that resolve to directories so linked markdown trees are discovered
- Add guarded scan diagnostics for non-ENOENT directory read failures without noisy missing-dir logs
- Expand markdown scanner regression tests for symlinks, empty roots, deep nesting, and .md-like directory names
- Clarify the Documents view empty-state copy to say no Markdown files were found in the project
2026-04-18 20:56:13 -07:00
gsxdsm
e271f68a4c feat(FN-2085): merge fusion/fn-2085 2026-04-18 20:56:13 -07:00
Fusion
898d4d70a5 fix(FN-2060): preserve quick chat state on streaming errors
- Trigger onError for unexpected AbortError failures in streamChatResponse while ignoring user-initiated closes
- Keep quick chat user messages on send errors, reset streaming state, and reload messages from the server
- Persist partial assistant output (including thinking-only fallbacks) when AI processing fails mid-stream
- Add regression coverage for stream abort handling, quick chat error UX, and partial-response persistence
2026-04-18 20:56:12 -07:00
Fusion
72f3d04d09 feat(FN-1980): add project markdown files to Documents view
- Add backend Markdown scanner and /project-files/md endpoint with directory exclusions, depth/size limits, and search filtering
- Extend dashboard API and useDocuments hook to fetch task documents and project markdown files in parallel with resilient partial-failure handling
- Update Documents view with a collapsible Project Files section, inline metadata previews, and on-demand file content expansion from workspace API
- Add and refresh hook and file-service tests to cover markdown scanning, query propagation, project scoping, and fetch error behavior
- Add token-based styles for project file cards and responsive mobile adjustments in the documents panel
2026-04-18 14:32:42 -07:00
Fusion
1851469575 feat(FN-1986): improve skills content loading and mobile detail UX
- Normalize GET /api/skills/:id/content handling by decoding encoded IDs and returning consistent invalid-id and not-found responses
- Update readSkillContent to use stat-based file vs directory detection, read SKILL.md robustly, and list non-SKILL.md entries
- Refine SkillsView interactions to ignore toggle clicks, support explicit retry of failed content fetches, and show a SKILL.md fallback placeholder
- Add/adjust dashboard route, component, and mobile CSS tests to cover content route behavior, retry flow, and touch-friendly detail panel styles
2026-04-18 14:09:47 -07:00
Fusion
8fa3b50e72 feat(FN-1947): add file mention search and chat autocomplete
- Add file search API wiring in dashboard client/server with route coverage for /api/files/search
- Introduce useFileMention hook and FileMentionPopup component, integrated into ChatView and QuickChatFAB
- Resolve @file references in chat messages so referenced file content is included in AI context
- Add styling, mobile responsiveness, and focused tests for popup UI, hook behavior, chat resolution, and file services
2026-04-18 07:36:57 -07:00
Fusion
3d272b0d29 feat(FN-1944): add Pi settings package management flow
- Add dashboard backend routes for Pi settings management with comprehensive route tests
- Add API client functions and tests for fetching and updating Pi settings endpoints
- Replace PiExtensionsManager with package management UI and add supporting dashboard styles
- Rewrite and fix PiExtensionsManager tests and include a changeset for @gsxdsm/fusion
2026-04-18 06:31:41 -07:00
Fusion
e1c744752b feat(FN-1913): add skill content viewer to SkillsView
- Add /api/skills/:id/content support in dashboard API routes and client exports for skill content types
- Extend the skills adapter with readSkillContent() to read SKILL.md and list supplementary files while handling invalid and missing skills
- Update SkillsView with expandable skill detail panels, lazy content loading, and loading/error/empty states without interfering with enable toggles
- Add comprehensive SkillsView, mobile CSS, and skills-adapter tests covering interaction flows and content parsing
2026-04-18 04:18:26 -07:00
Fusion
53babb3524 feat(FN-1850): aggregate projects across connected nodes
- Add /api/projects/across-nodes to merge local projects with online remote node project lists
- Expose fetchProjectsAcrossNodes and ProjectInfoWithSource, and switch useProjects to consume cross-node data
- Update ProjectOverview and ProjectCard with node badges, node count stats, and a node filter dropdown plus responsive styles
- Add server and dashboard test coverage for cross-node aggregation, filtering, and hook behavior changes
- Include a changeset for @gsxdsm/fusion minor release and preserve stale-channel SSE reconnect guards during merge
2026-04-18 03:08:00 -07:00
Fusion
17fcbfe6c8 feat(FN-1975): stream chat session updates through SSE
- Emit chat:session:updated from ChatStore when message deletion mutates a session and cover deleteMessage false returns
- Pass ChatStore into SSE setup and forward chat session update events to connected clients
- Update useChat to consume SSE updates in real time with safer EnrichedChatSession typing
- Add core and dashboard tests for chat-store emissions, SSE forwarding, route wiring, and hook behavior
2026-04-18 00:44:27 -07:00
Fusion
81d2cbeb56 fix(FN-1987): move skills search to top and improve catalog fallback
- Move the shared skills search input to the top of SkillsView so it applies to discovered skills and catalog results
- Add client-side discovered skills filtering by name/path with a dedicated filtered-empty-state message
- Extend skills adapter fallback logic to use unauthenticated catalog search when authenticated requests return 400, 401, or 403
- Add dashboard component and adapter tests covering discovered filtering behavior and authenticated-endpoint fallback scenarios
2026-04-17 17:06:09 -07:00
gsxdsm
c5181c6e32 feat(FN-2012): merge fusion/fn-2012 2026-04-17 15:24:46 -07:00
gsxdsm
f17f666df1 feat(FN-2015): merge fusion/fn-2015 2026-04-17 14:40:39 -07:00
gsxdsm
633ed3e591 feat(FN-2001): merge fusion/fn-2001 2026-04-17 14:09:45 -07:00
gsxdsm
ef696f4564 fix(FN-1572): stabilize fusion agent execution 2026-04-17 12:13:39 -07:00
Fusion
28accdb085 feat(FN-2000): add memory auto-summarize settings and automation sync
- Add Memory section controls for enabling auto-summarize with threshold and cron schedule inputs
- Wire ProjectEngine to sync auto-summarize automation on startup and when related settings change
- Reuse a single startup settings snapshot when syncing insight extraction and auto-summarize automations
- Add SettingsModal and ProjectEngine tests covering auto-summarize UI persistence and automation re-sync behavior
2026-04-17 09:16:08 -07:00
Fusion
a5a65e86fd feat(FN-1984): enrich chat and heartbeat prompts with agent context
- Add agent memory support to instruction resolution and introduce/export buildAgentChatPrompt for identity-aware prompt assembly with optional project memory
- Wire ChatManager to AgentStore so chat sessions can enrich system prompts per agent and include recent conversation context in prompt payloads
- Update server chat wiring to provide an AgentStore for prompt enrichment and keep graceful fallback behavior when agent context is unavailable
- Enrich HeartbeatMonitor system prompts with resolved agent instructions/ratings while preserving base-prompt fallback paths
- Expand dashboard and engine tests to cover prompt enrichment, fallback behavior, conversation context assembly, and AgentStore route mocks
2026-04-17 02:19:54 -07:00
Fusion
bede73c81d feat(FN-1976): forward mailbox message events end to end
- Wire MessageStore into the in-process executor runtime and project engine
- Forward MessageStore events through dashboard SSE infrastructure for mailbox updates
- Close mailbox pipeline gaps across API routes, server wiring, and mailbox UI components
- Add regression coverage for messaging routes, SSE forwarding, and agent tool behavior
- Document the MessageStore SSE wiring pattern in .fusion/memory.md
2026-04-16 18:20:58 -07:00
Fusion
fc33ea89ee feat(FN-1968): add skill manifest previews to agent import
- Add SkillManifest support in core with parseSkillManifest and skills directory parsing/export wiring
- Extend /api/agents/import responses with dry-run skill previews and skillsCount metadata
- Show parsed package skills in AgentImportModal with dedicated preview UI and styles
- Add parser, API route, and modal tests covering skill manifest parsing and preview rendering
- Keep mission interview assertion generation explicit for milestone/slice fallbacks and update memory guidance for dashboard build resolution
2026-04-16 16:05:12 -07:00
gsxdsm
47f19676ae feat(FN-1974): merge fusion/fn-1974 2026-04-16 15:55:14 -07:00
Fusion
84bd5e7c9d fix(FN-1966): use public skills search fallback for catalog fetches
- Route unauthenticated catalog requests to skills.sh /api/search with wildcard query support and normalized response mapping
- Keep authenticated v1 catalog fetch, but fall back to public search on 401/403 while preserving auth metadata
- Expand skills route tests for unauthenticated payload shape, query passthrough, and no-query wildcard behavior
- Stabilize onboarding reopen tests by awaiting Authentication section render before interaction
- Document dashboard dist build prerequisite for CLI test troubleshooting
2026-04-16 15:55:00 -07:00
Fusion
0bbdb87e55 fix(FN-1895): improve companies.sh import error handling and add retry behavior
- Surface companies.sh API errors to frontend instead of returning empty list
- Add 30s timeout to GitHub archive download to prevent hanging
- Prevent infinite retry loop in browse catalog useEffect
- Update retry handler to call fetch directly for better control
- Fix TypeScript error with Response type in timeout code
- Add comprehensive tests for error handling and retry behavior
2026-04-16 13:31:47 -07:00
Fusion
11f84151ce feat(FN-1892): merge fusion/fn-1892 2026-04-16 13:05:12 -07:00
Fusion
ad09d3b582 fix(FN-1909): reorder insights routes to prevent /runs being shadowed by /:id
- Reorder route definitions in insights-routes.ts to place /runs before /:id
- Fix bug where /runs endpoint was shadowed by the catch-all /:id parameterized route
- Add comprehensive regression tests for insights route ordering covering /runs, /stats, /agents, and dynamic ID matching
- Document route ordering pitfall in memory.md for future reference
2026-04-16 08:36:11 -07:00
Fusion
9e1b81227e feat(FN-1822): add settings sync between mesh nodes
- Add settings sync options and logic to PeerExchangeService for bidirectional settings exchange
- Extend mesh/sync endpoint with push, pull, sync-status, and auth-sync operations
- Add comprehensive tests for settings sync in peer-exchange-service.test.ts
- Add mesh route tests for settings exchange endpoints in dashboard
- Update memory.md with settings sync documentation
2026-04-16 07:10:47 -07:00
Fusion
e0266565f3 feat(FN-1821): add settings and auth sync API routes for mesh nodes
- Add GET /api/nodes/:id/settings endpoint to fetch remote node settings
- Add POST /api/nodes/:id/settings/push to push local settings to a remote node
- Add POST /api/nodes/:id/settings/pull to pull settings from a remote node
- Add GET /api/nodes/:id/settings/sync-status for sync diff summary
- Add POST /api/nodes/:id/auth/sync to sync model auth credentials
- Add POST /api/settings/sync-receive inbound settings endpoint
- Add POST /api/settings/auth-receive inbound auth endpoint
- Add GET /api/settings/auth-export to export local auth credentials
- Add comprehensive route tests for all sync endpoints
- Update AGENTS.md with Node Settings Sync API reference
2026-04-16 06:25:37 -07:00
Fusion
7e05e8962f fix(FN-1817): enrich session list with lastMessagePreview and restore active session on remount
- Add lastMessagePreview field to ChatSession to show message previews in session list
- Restore active session state on component remount via stored lastSessionId
- Add chat routes for session management (create, list, read, update/delete)
- Add tests for useChat hook, chat store, and chat routes
- Remove unused serveCommand assignment in serve.ts command
2026-04-16 05:47:34 -07:00
Fusion
1d706d7671 feat(FN-1803): add nodeId support to project registration and browse-directory
- Add nodeId parameter to registerProject in CentralCore for multi-project tracking
- Update POST /api/projects route to accept and persist nodeId
- Update browse-directory route to filter by nodeId
- Add nodeId field to frontend API wrappers for registerProject and browseDirectory
- Add comprehensive tests for nodeId in project registration and browse-directory routes
2026-04-16 04:34:49 -07:00
Fusion
8e1d43ecc6 feat(FN-1802): add generic node proxy forwarding route
- Add /proxy/:nodeId/* route to forward HTTP requests to registered mesh nodes
- Implement node proxy handler with target URL construction and request forwarding
- Add comprehensive test suite covering route registration, request forwarding, and error cases
- Support GET/POST/PUT/DELETE/PATCH methods with full header and body passthrough
2026-04-16 03:44:46 -07:00
Fusion
6927cc028a feat(FN-1806): add node proxy API routes for remote node data fetching
- Add proxy API routes for cross-node data fetching (tasks, agents, stats, health)
- Implement secure proxy endpoint with target validation and error handling
- Add comprehensive test suite covering proxy route functionality
- Update memory documentation with cross-node proxy implementation
2026-04-16 03:16:29 -07:00
Fusion
e5db683c42 feat(FN-1754): raise global max concurrent ceiling to 10000
- Enforce 10000 upper bound in CentralCore for globalMaxConcurrent setting
- Add 10000 upper bound validation in the project settings API route
- Raise max ceiling in SettingsModal from previous limit to 10000
- Add route test verifying the 10000 upper bound is enforced
2026-04-15 22:26:51 -07:00