Commit Graph

2275 Commits

Author SHA1 Message Date
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
c18c431c48 docs(FN-1962): add engine package findings report
- Add comprehensive review report for packages/engine/src under .fusion/tasks/FN-1960/findings-engine.md
- Document 8 total findings across scheduler, runtime, heartbeat, concurrency, and executor lifecycle areas
- Capture prioritized remediation recommendations focused on listener teardown, semaphore hardening, and lock cleanup
2026-04-16 15:48:14 -07:00
Fusion
c8c2bba8f5 feat(FN-1965): add per-agent model override controls in dashboard
- Show the active model override in Agent Information, including support for legacy runtimeConfig.model values
- Add a Model section to agent settings with CustomModelDropdown and available model loading via fetchModels
- Persist model overrides as modelProvider/modelId/model and clear those fields when reverting to global default
- Expand AgentDetailView tests to cover model display, prefill behavior, save payloads, and clearing overrides
- Add a changeset for @gsxdsm/fusion describing the new agent model selection capability
2026-04-16 15:17:24 -07:00
Fusion
78a7c0a829 feat(FN-1963): merge fusion/fn-1963 2026-04-16 15:07:10 -07:00
gsxdsm
b1fcb54eda feat(FN-1959): merge fusion/fn-1959 2026-04-16 14:40:11 -07:00
gsxdsm
2a509393ba feat(FN-1958): merge fusion/fn-1958 2026-04-16 13:53:07 -07:00
Fusion
c3e92cdec4 feat(FN-1949): add send_message and read_messages agent tools
- Add send_message tool factory for executor agents to send messages
- Add read_messages tool factory to retrieve agent inbox messages
- Update heartbeat to process pending messages during agent wake cycles
- Include message tools in executor agent tool context
- Add comprehensive unit tests for message tools
- Add heartbeat message processing tests
- Add end-to-end agent messaging test
- Create changeset for @gsxdsm/fusion package
2026-04-16 13:50:10 -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
222a807dc2 feat(FN-1950): add list_agents and delegate_task agent delegation tools
- Add list_agents tool for discovering agents by role, state, or includeEphemeral filter
- Add delegate_task tool for assigning work to a specific agent by ID
- Add comprehensive test coverage for both delegation tools in agent-tools-delegation.test.ts
- Update executor.ts to wire up delegation tools when agentStore is configured
- Document both tools in AGENTS.md and docs/agents.md
2026-04-16 13:17:17 -07:00
Fusion
18722ae361 fix(FN-1917): fix mobile scrolling on roadmap screen
- Fix overflow issues on roadmap screen on mobile devices
- Ensure roadmap cards are properly scrollable on small screens
- Resolve merge conflict in memory-compaction tests by keeping non-null assertions
2026-04-16 13:09:47 -07:00
Fusion
11f84151ce feat(FN-1892): merge fusion/fn-1892 2026-04-16 13:05:12 -07:00
Fusion
8705cb08cf fix(FN-1925): use ReactNode instead of JSX.Element for PluginSlot return type
- Import ReactNode type from react instead of JSX
- Update PluginSlot return type to ReactNode for proper null type inclusion
- This fixes type safety since the function returns null in error cases
2026-04-16 11:51:47 -07:00
gsxdsm
4e602d8d90 feat(FN-1921): merge fusion/fn-1921 2026-04-16 11:08:06 -07:00
Fusion
74b4d20c45 feat(FN-1887): merge fusion/fn-1887 2026-04-16 10:58:19 -07:00
Fusion
3aeb63ae68 feat(FN-1916): add plugin UI slots system for extensibility
- Add PluginSlot component for rendering plugin UI placeholders at designated dashboard locations
- Add usePluginUiSlots hook with 60-second TTL cache for slot definitions
- Add fetchPluginUiSlots API wrapper and PluginUiSlotEntry type
- Add UI slots documentation section to plugin authoring guide
- Add PluginSlot integration tests for TaskCard, Column, Header, SettingsModal, and TaskDetailModal
- Update CI Status example plugin to demonstrate uiSlots registration
- Fix JSX namespace import in PluginSlot.tsx for TypeScript compatibility
2026-04-16 10:48:57 -07:00
gsxdsm
86004118bc feat(FN-1882): merge fusion/fn-1882 2026-04-16 10:38:07 -07:00
gsxdsm
a118333c7b feat(FN-1926): merge fusion/fn-1926 2026-04-16 10:23:07 -07:00
Fusion
0c0bde66f6 docs(FN-1916): add plugin UI slots section to memory.md 2026-04-16 10:12:16 -07:00
gsxdsm
d6dec4a917 feat(FN-1903): merge fusion/fn-1903 2026-04-16 10:08:14 -07:00
gsxdsm
fd241f2df8 feat(FN-1869): merge fusion/fn-1869 2026-04-16 10:08:06 -07:00
Fusion
515981f976 feat(FN-1925): add plugin UI slot infrastructure
- Add fetchPluginUiSlots API wrapper with PluginUiSlotEntry type
- Add usePluginUiSlots hook with 30-second TTL cache for slot data
- Add PluginSlot component with error boundary and placeholder rendering
- Add comprehensive tests for hook (cache behavior, error handling, isolation)
- Add comprehensive tests for component (render states, error boundary)
2026-04-16 10:04:44 -07:00
gsxdsm
3a80f8e976 feat(FN-1929): merge fusion/fn-1929 2026-04-16 09:53:29 -07:00
gsxdsm
4ea89605c6 feat(FN-1902): merge fusion/fn-1902 2026-04-16 09:53:15 -07:00
gsxdsm
ca3da5c5a0 feat(FN-1868): merge fusion/fn-1868 2026-04-16 09:53:06 -07:00
gsxdsm
c8ad04323d feat(FN-1930): merge fusion/fn-1930 2026-04-16 09:38:55 -07:00
gsxdsm
8b50a77d57 feat(FN-1901): merge fusion/fn-1901 2026-04-16 09:38:12 -07:00
gsxdsm
30a178bb3f feat(FN-1827): merge fusion/fn-1827 2026-04-16 09:08:06 -07:00
gsxdsm
563f169f3d feat(FN-1920): merge fusion/fn-1920 2026-04-16 08:53:14 -07:00
gsxdsm
caa03ad752 feat(FN-1906): merge fusion/fn-1906 2026-04-16 08:53:06 -07:00
Fusion
e0f1ec5bd7 feat(FN-1842): add Documents view with search and grouping
- Add GET /documents API endpoint in dashboard routes
- Add getAllDocuments store method with search support in core
- Add useDocuments hook and API wrapper for frontend consumption
- Add DocumentsView component with search, grouping by type/status, and sortable columns
- Add Documents nav item to Header and MobileNavBar with route /documents
- Integrate DocumentsView into App routing
- Add tests for DocumentsView and useDocuments hook
- Add changeset for @gsxdsm/fusion
2026-04-16 08:52:01 -07:00
gsxdsm
3f412e9aa3 feat(FN-1924): merge fusion/fn-1924 2026-04-16 08:38:55 -07:00
gsxdsm
3a0350da60 feat(FN-1908): merge fusion/fn-1908 2026-04-16 08:38:41 -07:00
gsxdsm
70da5b21e6 feat(FN-1826): merge fusion/fn-1826 2026-04-16 08:38:08 -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
gsxdsm
b1c9f29880 feat(FN-1923): merge fusion/fn-1923 2026-04-16 08:08:06 -07:00
gsxdsm
68b1651e0b feat(FN-1914): merge fusion/fn-1914 2026-04-16 07:53:31 -07:00
gsxdsm
0d507091b2 feat(FN-1912): merge fusion/fn-1912 2026-04-16 07:53:21 -07:00
gsxdsm
19745989cf feat(FN-1448): merge fusion/fn-1448 2026-04-16 07:53:14 -07:00
gsxdsm
42d528f30d feat(FN-1825): merge fusion/fn-1825 2026-04-16 07:38:07 -07:00
gsxdsm
6cbcab20b7 feat(FN-1918): merge fusion/fn-1918 2026-04-16 07:23:18 -07:00
gsxdsm
46c7aad381 feat(FN-1900): merge fusion/fn-1900 2026-04-16 07:23:12 -07:00
gsxdsm
f6da5f317a feat(FN-1824): merge fusion/fn-1824 2026-04-16 07:23:06 -07:00
Fusion
c8f42856f5 fix(FN-1907): wrap skills page sections in scrollable content container
- Refactor SkillsView to wrap sections in .skills-view-content wrapper
- Add scrollable overflow handling for content container
- Add mobile responsiveness tests for skills view component
- Ensure consistent scrolling behavior across page sections
2026-04-16 07:21:17 -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
d0a49b108c feat(FN-1898): add provider descriptions and card layout to onboarding
- Add ProviderCard component displaying name, description, and model count
- Display provider descriptions during model onboarding flow
- Add card-based layout for provider selection in ModelOnboardingModal
- Add comprehensive tests for ModelOnboardingModal component
- Include CSS styles for provider cards with hover states
2026-04-16 06:53:15 -07:00
Fusion
da432d515c fix(FN-1894): add base and mobile CSS for .mailbox-view full-page layout
- Add .mailbox-view base styles for full-page layout with flexbox and inset edges
- Add mobile responsive styles for .mailbox-view within 768px breakpoint
- Add MailboxView component test covering layout rendering and mobile behavior
2026-04-16 06:33:37 -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
261bfff9ae feat(FN-1890): improve mobile UX for SkillsView component
- Add comprehensive mobile CSS overrides for skills page layout and responsiveness
- Improve touch targets for toggle switches and interactive elements (44px minimum per Apple HIG)
- Polish skills view base styles with refined toggle dimensions
- Expand mobile CSS tests to cover touch target sizes and responsive layout
2026-04-16 06:16:50 -07:00
Fusion
fdaf1cacfe feat(FN-1888): add mobile-ready MailboxView with agents load and styles
- Load agents on mount for compose from any MailboxView tab
- Add .mailbox-view base styles for full-page layout
- Add .mailbox-view mobile overrides with safe-area-inset handling
- Add MailboxView test coverage for compose from inbox with agents
2026-04-16 05:56:17 -07:00