Commit Graph

151 Commits

Author SHA1 Message Date
Fusion
4d13ba01ea feat(FN-3059): align provider metadata and documentation
Merged feat(FN-3059) which aligns provider metadata and documentation across the codebase, updating README and getting-started docs plus refinements to the CustomProviderForm and ProviderIcon dashboard components.

Fusion-Task-Id: FN-3059
2026-05-01 17:39:47 -07:00
Fusion
80fb239f37 feat(FN-3046): add fn binary panel and standalone CLI entrypoint
This merge introduces a standalone CLI binary mode ("droid") with a new dashboard panel for binary management, adds a todo planning entrypoint with peer exchange shutdown, and includes documentation updates for the CLI reference and standalone deployment. Key additions span the core database layer,

Fusion-Task-Id: FN-3046
2026-05-01 13:56:55 -07:00
gsxdsm
91d82b3dea docs: add Discord link and badge to README
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 19:45:04 -07:00
gsxdsm
c083acf2be feat(FN-2693): merge fusion/fn-2693 2026-04-27 08:22:44 -07:00
Fusion
69aa1a550a feat(FN-2605): merge fusion/fn-2605 (auto-resolved)
- test(FN-2605): complete Step 4 — align tests with planning labels
- docs(FN-2605): complete Step 3 — update demo and script terminology
- docs(FN-2605): complete Step 2 — update docs terminology
- docs(FN-2605): complete Step 1 — update README terminology
2026-04-26 12:34:02 -07:00
Fusion
820582b722 fix(dashboard): chat mobile single-pane, comment-box theme, ChatView FOUC
- ChatView mobile: add @media (max-width: 768px) so the session-list
  sidebar goes full-width and the thread is hidden when the sidebar
  is visible (and vice-versa). The component already had the state,
  back-button (ChevronLeft), and visibility toggling — only the CSS
  was missing.
- TaskComments compose/edit textareas now use var(--surface) for
  background. The base .spec-editor-feedback uses var(--bg), which
  in light theme resolves to #ffffff — the same as the task detail
  modal's --card panel — making the comment box invisible.
- ChatView CSS is now imported eagerly from App.tsx so it bundles
  into the main CSS file. Previously the lazy ChatView JS chunk
  loaded its CSS via an async <link> tag, producing a brief flash
  of unstyled chat UI on first render.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 20:43:21 -07:00
gsxdsm
a283ef2b79 feat(cli): merge @fusion/tui into fn dashboard with Ink TUI
Replace the legacy ANSI-based DashboardTUI with an Ink/React rewrite
under packages/cli/src/commands/dashboard-tui/, delete the standalone
@fusion/tui package, and make `fn` (no args) launch the dashboard.

The new TUI keeps the existing 5-panel status mode (system, logs,
utilities, stats, settings) but adds an interactive mode (b/a/g) with
three views: a kanban board with project picker and per-task detail,
an agents list+detail with state management, and a settings editor.
Bordered focus-aware panels, solid-background help overlay, static
all-blue FUSION splash that adapts to small terminals. DashboardTUI
and DashboardLogSink public API are unchanged so dashboard.ts only
needed import-path updates plus interactiveData/loadingStatus wiring.

Also adds zod to @fusion/dashboard to satisfy a peer dep introduced
by pi-coding-agent 0.70.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 19:39:20 -07:00
Fusion
1b4326739e feat(FN-2406): persist dashboard auth token and harden TUI layout
- Persist dashboard auth token in global settings and add daemon-token utilities for reuse
- Update dashboard CLI command auth precedence and token handling behavior
- Harden dashboard TUI log viewport budgeting to avoid footer overlap under constrained heights
- Expand CLI and TUI test coverage for token persistence, auth precedence, and environment mocking
- Refresh README/CLI/getting-started docs and add changesets for token persistence and TUI fix
2026-04-24 08:55:02 -07:00
Fusion
ce8cf6337a feat(FN-2347): add experimental OpenClaw runtime plugin scaffold
- Add fusion-plugin-openclaw-runtime workspace package with manifest, runtime metadata, and deferred placeholder factory
- Add unit tests for OpenClaw plugin behavior and PluginRunner runtime discovery compatibility
- Document OpenClaw runtime installation and runtimeHint usage in README, getting-started, and settings reference docs
- Include built dist artifacts for the new plugin and update workspace/lockfile entries
2026-04-23 14:03:35 -07:00
gsxdsm
d3c9476ce7 feat(FN-2318): merge fusion/fn-2318 2026-04-23 12:55:50 -07:00
gsxdsm
81628d12e9 feat(cli): publish runfusion.ai npm alias, lead install with npx runfusion.ai
Add a 633-byte shim package at packages/cli-alias/ published to npm as
`runfusion.ai@0.0.1`. Bare `npx runfusion.ai` boots the dashboard;
subcommands forward to the underlying @runfusion/fusion CLI so
`npx runfusion.ai task list` etc. Just Work. Both `runfusion.ai` and
`runfusion` bin names are exposed.

READMEs now lead the install story with `npx runfusion.ai` — the
shortest zero-install entry — and keep the longer `npx @runfusion/fusion
dashboard`, curl installer, Homebrew, and npm-global paths below.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 18:24:58 -07:00
gsxdsm
623f7d06d0 docs(readme): lead install with npx, curl one-liner second 2026-04-22 18:15:40 -07:00
gsxdsm
f3b6ca2380 docs(readme): lead with curl install.sh one-liner
Add `curl -fsSL https://runfusion.ai/install.sh | sh` as the primary
install path in both the root README and the CLI README (npm page).
The installer auto-detects Homebrew (then falls back to npm) so users
get a single command regardless of platform. Keep the explicit brew /
npm paths below for discoverability.
2026-04-22 18:12:36 -07:00
gsxdsm
f249449e28 docs(readme): add Homebrew install instructions
Document the new runfusion/homebrew-fusion tap so users can `brew tap
runfusion/fusion` then `brew install fusion` (or the auto-tap one-liner
`brew install runfusion/fusion/fusion`). Adds a Homebrew block to both
the root README and the CLI README (npm landing page). Gitignore the
sibling clone of the tap repo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 18:08:56 -07:00
gsxdsm
b3e58626a8 docs(readme): tighten Pi /fn description; drop agent-runner plugin label
Per user direction: under Pi, frame `/fn` as "manage Fusion from any Pi
session" rather than running the dashboard from Pi. Under Hermes and
Paperclip, drop the "agent-runner plugin" suffix from their headings and
from the intro — they're simply plugins, and the experimental footnote
already explains the shape.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 18:06:17 -07:00
gsxdsm
4a4ee89345 docs(readme): spotlight companies.sh and agent-company standard under Paperclip
Keep agent-runner framing but add an explicit callout that Fusion natively
supports the companies.sh agent-company standard — 440+ agents across 16
companies — so users know they can import a team directly, same format /
agents / skills as Paperclip.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:57:10 -07:00
gsxdsm
a1b4ea2095 docs(readme): reframe ecosystem section for mobile + agent-runner plugins
Drop the <table> layout (GitHub markdown tables don't stack on narrow
screens) in favor of stacked headings so the section renders correctly
on mobile. Reframe Hermes and Paperclip as agent-runner plugins (the
real shape of those integrations) — both experimental — and keep Pi
as the stable runtime dependency. Matches the framing on runfusion.ai.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:55:40 -07:00
gsxdsm
71f7e7a6f1 docs(readme): mark Paperclip integration experimental, not pi
Swap the second integration card from Hermes to Paperclip (the actual
source of the agent-company ecosystem) and move the experimental label
off pi — which is Fusion's stable runtime dependency — and onto Paperclip,
where APIs and wire formats are still in flux. Add the Paperclip logo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:53:26 -07:00
gsxdsm
fe6af3f608 feat(cli): add fusion bin alias for npx + expand README platform/integration story (0.0.2)
- Add `fusion` as a second bin entry alongside `fn`, so `npx @runfusion/fusion`
  and `fusion dashboard` both resolve to the same CLI.
- Root README: new "Multi-node. One board. Every platform." section with
  macOS / Windows / Linux / Web / iOS / Android badges and explicit
  desktop (Electron) + mobile (Capacitor) + web + CLI callouts.
- Root README: new "Ecosystem integrations" section with pi + Hermes logos,
  both labeled experimental.
- Root README: Quick start now leads with `npx @runfusion/fusion dashboard`.
- CLI README mirrors the npx-first install story.
- Bump @runfusion/fusion to 0.0.2, CHANGELOG entry added.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:47:04 -07:00
gsxdsm
3e6fa2186b chore(release): rename @gsxdsm/fusion to @runfusion/fusion 0.0.1
Move the publishable CLI under the new @runfusion npm org for the first
public release. Reset version to 0.0.1 since the previous name was never
actually published. Rewrite packages/cli/README.md (the npm page) to
mirror the root README marketing — Fusion logo, reel GIFs pulled from
raw.githubusercontent.com, feature grid, tagline — and fix the stale
dustinbyrne/kb image link and ISC-vs-MIT license mismatch. Propagates
the name through root scripts, RELEASING.md, workflows, and docs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:43:30 -07:00
gsxdsm
254bdb125d docs(readme): swap to Fusion logo, inline reels as GIFs
Replace the Hermes logo with the Fusion brand mark, convert the three
runfusion.ai reels (product, mesh, agent company) to self-hosted GIFs
under demo/assets/ so they play inline on GitHub without relying on
external <video> support, and drop the redundant npm install snippet
below the dashboard quick start.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:39:36 -07:00
gsxdsm
85538ca177 docs(readme): refresh with landing-page marketing and reel videos
Rebuild the README with the runfusion.ai hero energy (tagline, badges,
feature grid, embedded reel/mesh/company videos) while retaining the
full technical reference — quick start, workflow diagram, model lanes,
automations/routines APIs, CLI examples, and dev commands. Drops the
Releases section (not ready yet).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:36:48 -07:00
gsxdsm
01764e0c39 docs(FN-LOCAL): refresh readme quick start and board screenshot 2026-04-22 00:36:49 -07:00
gsxdsm
a7cd1386a8 fix(FN-LOCAL): stop tracking local-only artifacts 2026-04-22 00:15:33 -07:00
gsxdsm
c0f9260998 feat(dashboard): bearer-token auth with browser persistence + MIT license
Pre-release polish. Two related changes bundled because they both land the
project on public-release footing:

Dashboard auth
- fn dashboard now gates the HTTP API + terminal/badge WebSockets behind a
  bearer token by default. Token resolution order: --token flag,
  FUSION_DASHBOARD_TOKEN env, FUSION_DAEMON_TOKEN env (back-compat), or an
  auto-generated fn_<32 hex>. --no-auth disables. The startup banner prints
  a click-to-open URL with ?token=<token> embedded.
- Auth middleware now also accepts fn_token=<token> as a query-string
  fallback so EventSource and WebSocket clients (which can't set custom
  headers) still authenticate.
- setupTerminalWebSocket / setupBadgeWebSocket now refuse unauthenticated
  upgrades with a proper 401 + socket close.
- Frontend: new auth.ts module captures ?token= off the URL into
  localStorage (key fn.authToken), strips it from the visible URL via
  replaceState, and installs a window.fetch wrapper that injects
  Authorization: Bearer <token> on every same-origin /api/* request.
  EventSource/WebSocket URL builders (api.ts, sse-bus.ts, useTerminal,
  useBadgeWebSocket) route through appendTokenQuery().

MIT license
- LICENSE file at repo root.
- license: "MIT" on root package.json and every packages/*/package.json,
  plus description/bugs metadata on the CLI package.

Docs
- docs/cli-reference.md documents --token / --no-auth / FUSION_DASHBOARD_TOKEN
  and the click-to-open auth flow.
- docs/getting-started.md, docs/docker.md, README.md point at the new flow
  and the CLI reference section.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 20:12:00 -07:00
Fusion
9421de548b docs(FN-2067): expand CLI docs for skills and command flags
- Add fn skills quick-start examples to the README command snippets
- Add a dedicated fn skills section in the CLI reference with search/install usage and option docs
- Document --interactive support for daemon and desktop command usage and option tables
- Expand settings export/import flag documentation and refresh the option cross-reference matrix
2026-04-18 17:07:02 -07:00
gsxdsm
8cf20562aa feat(FN-1573): merge fusion/fn-1573 2026-04-17 15:10:24 -07:00
Fusion
8a3c192301 docs(FN-1744): document scoped scheduling semantics in README and settings reference
- Add scheduling scope section to README explaining global vs project execution scopes
- Document scope resolution rules: scope=global for cross-project, scope=project for per-project
- Add operational guidance for multi-project setups (backups, insight extraction vs CI, deployments)
- Update architecture.md to mention scoped automations/routines in store and API descriptions
- Add scheduling scope section to settings-reference.md covering cron defaults and interaction with autoBackup and insightExtraction settings
- Add changeset for @gsxdsm/fusion minor release documenting scoped scheduling feature
2026-04-16 01:33:29 -07:00
Fusion
653a25ecd0 feat(FN-1717): add scope selection controls to dashboard UI
- Add scope selector controls to ScheduleForm and RoutineEditor components
- Add scope badges to RoutineCard and ScheduleCard for visual scope indication
- Add scope controls to ScheduledTasksModal with projectId propagation
- Add scheduling scope options to automation/routine API wrappers
- Add comprehensive regression tests for scope propagation and modal wiring
- Update README with dashboard UI scope selection documentation
2026-04-15 17:36:18 -07:00
gsxdsm
831e07a625 feat(FN-1716): merge fusion/fn-1716 2026-04-15 17:08:12 -07:00
Fusion
af4df19e94 fix(FN-1879): add roadmaps and project_insights tables to SCHEMA_SQL
- Add roadmaps table for roadmap persistence with id, title, description, timestamps
- Add roadmap_milestones table with FK cascade to roadmaps and orderIndex for deterministic sorting
- Add roadmap_features table with FK cascade to milestones and orderIndex for feature ordering
- Add project_insights table for normalized insight entities with category, status, fingerprint fields
- Add project_insight_runs table for insight-generation run records with trigger, status, counts
- Add covering indexes for milestone/feature ordering and insight filtering by projectId, category, fingerprint
2026-04-15 13:21:37 -07:00
gsxdsm
dc39fa82d5 feat(FN-1678): merge fusion/fn-1678 2026-04-15 09:31:03 -07:00
Fusion
ed35b494fe feat(FN-1634): promote mailbox to first-class navigation view
- Add MailboxView as a full-page navigation view replacing the modal-based approach
- Migrate MessageStore from filesystem to SQLite backend for message persistence
- Implement conversation grouping for inbox display with unread badge state
- Remove modal plumbing (useModalManager, AppModals exports) and simplify App.tsx
- Add evictStaleProcessing() to TriageProcessor for self-healing hung triage sessions
- Add comprehensive MailboxView tests and Header mailbox tests
- Update README documentation with MailboxView features
- Add CSS styles for MailboxView component
- Fix MobileNavBar tests for mailbox tab visibility
2026-04-15 08:04:02 -07:00
gsxdsm
abd51a77f7 feat(FN-1837): merge fusion/fn-1837 2026-04-15 04:16:32 -07:00
gsxdsm
ea834b9550 feat(FN-1705): merge fusion/fn-1705 2026-04-14 22:00:56 -07:00
gsxdsm
35a89dedf0 feat(FN-1704): add dashboard resume entry point for onboarding
- Add model-onboarding-state.ts module for persisting onboarding step state
- Create OnboardingResumeCard component with resume functionality
- Wire resume card into App.tsx (visible when onboarding is resumable and modal is closed)
- Add unit tests for state helpers and resume card
- Add integration tests for App.tsx resume card behavior
- Update documentation with resume banner behavior
- Fix missing contextVersionAtStart property declaration in useBadgeWebSocket.ts
2026-04-14 14:16:32 -07:00
gsxdsm
d3e9f160b2 feat(FN-1703): merge fusion/fn-1703 2026-04-14 11:28:52 -07:00
gsxdsm
981d2cb032 feat(FN-1498): merge fusion/fn-1498 2026-04-14 08:43:51 -07:00
gsxdsm
4e9eb8b8a1 feat(FN-1771): add dashboard memory settings UX with backend selector and capability-aware editing
- Add /api/memory/backend endpoint returning current backend, capabilities, and available backends
- Create useMemoryBackendStatus hook with polling and frontend-friendly interface
- Add MemorySettingsSection to SettingsModal with backend selector dropdown
- Implement capability-aware UI: readonly backends disable save, fallback on unknown types
- Add comprehensive tests for API endpoints and hook behavior
- Update architecture docs with memory backend architecture section
2026-04-13 22:32:31 -07:00
gsxdsm
dbaa93aabc feat(FN-1640): add Frontend UX Design built-in workflow template
- Add Frontend UX Design template for verifying UI/UX design implementation
- Include WCAG 2.1 compliance checks, design system adherence, and user flow validation
- Add template to WorkflowStepManager with category-based organization
- Update documentation with new template description
- Add tests for template API endpoints and workflow step manager
2026-04-13 17:41:33 -07:00
gsxdsm
9bc42a1cbd feat(FN-1702): merge fusion/fn-1702 2026-04-13 17:04:15 -07:00
gsxdsm
ccb5ef8ce4 feat(FN-1451): complete Step 5 — document hierarchy resolution 2026-04-13 13:00:05 -07:00
gsxdsm
498963821b feat(FN-1451): update documentation for team-aware agent import
- Add Agent Import section to README with team hierarchy docs
- Update CLI reference with import source formats and examples
- Add changeset for @gsxdsm/fusion patch release
2026-04-12 22:07:38 -07:00
gsxdsm
e06bb6525e feat(FN-1647): merge fusion/fn-1647 2026-04-12 18:21:24 -07:00
gsxdsm
e3805856e9 feat(FN-1641): update documentation to match current dashboard behavior
- Update README.md with current dashboard features
- Revise docs/dashboard-guide.md for accuracy
- Update docs/getting-started.md to reflect new user workflow
- Update docs/task-management.md with current task operations
- Complete preflight audit confirming docs consistency
2026-04-12 16:08:57 -07:00
gsxdsm
d57f11a39d feat(FN-1632): merge fusion/fn-1632 2026-04-12 15:28:10 -07:00
gsxdsm
431f63d10d feat(FN-1420): add pluggable memory backend system
- Add FileMemoryBackend with atomic writes, persistence, and conflict resolution
- Add ReadOnlyMemoryBackend for read-only/external memory management
- Add memoryBackendType setting to select backend type (file or readonly)
- Add GET /api/memory/backend endpoint to query current backend status and capabilities
- Update AGENTS.md, README.md, and docs with architecture and settings guidance
- Add memory-backend.test.ts with comprehensive tests for all backends
- Add routes.test.ts coverage for /api/memory/backend endpoint
- Fix settings parity test to include new memoryBackendType key
2026-04-11 12:13:25 -07:00
gsxdsm
2200971d23 feat(FN-1553): reduce memory bloat with selective save behavior
- Update project memory instructions to encourage selective writes instead of unconditional appends
- Instruct agents to consolidate existing entries rather than add duplicates
- Add guidance to skip memory updates when no durable learnings were discovered
- Clarify what qualifies as durable learnings vs task-specific trivia
- Update user-facing memory documentation to reflect new selective behavior
- Add test coverage for selective memory write instructions
2026-04-11 00:38:42 -07:00
gsxdsm
4993ba9b62 feat(FN-1426): update docs with new Prompts section in Settings modal 2026-04-10 22:38:52 -07:00
gsxdsm
020549d5cc feat(FN-1562): merge fusion/fn-1562 2026-04-10 21:22:59 -07:00