Commit Graph

3006 Commits

Author SHA1 Message Date
gsxdsm
88ccd2d4e2 chore(release): v0.0.3
Version bump via changesets.
2026-04-22 18:53:05 -07:00
gsxdsm
7bcf8a225b fix(FN-000): repair stale release changesets 2026-04-22 18:52:43 -07:00
gsxdsm
dcaa5ddb68 fix(FN-000): harden terminal session startup 2026-04-22 18:51:36 -07:00
gsxdsm
369b40e468 fix(FN-000): improve setup wizard browse flow 2026-04-22 18:50:09 -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
e8a4f3e61e feat(scripts): add pnpm release for local end-to-end publish
Wraps the changesets flow into one command: preflight (branch/clean/up-to-date),
apply changesets (version bump + CHANGELOG), build, commit, publish to npm, push
tag. The tag push triggers release.yml for platform binary builds.

Trade-off vs the version.yml CI workflow: no npm provenance (OIDC is CI-only).
Use the CI workflow when provenance matters.

Flags: --dry-run (no publish/push), --yes (skip confirmation).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 18:19:49 -07:00
gsxdsm
bea53c0b05 fix(plugins): declare typescript devDep so tsc builds don't rely on hoisted root
Each plugin package invokes `tsc` in its build script but previously relied on
a root-hoisted typescript. When the root symlink breaks (e.g. after switching
worktrees that shared a pnpm store), `pnpm -r build` fails with MODULE_NOT_FOUND
for tsc — blocking `pnpm dev dashboard`. Declaring typescript locally makes
each plugin self-sufficient.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 18:18:12 -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
Fusion
85a1adbd0b feat(FN-2269): migrate dashboard session selection to global settings
- Add global settings schema/types fields for persisted dashboard session state (selected project and node)
- Refactor NodeContext and current-project hooks to read/write project and node selection via global settings instead of project-local state
- Update App wiring to use the new selection flow across dashboard startup and switching behavior
- Add and expand dashboard tests for NodeContext, useCurrentProject, and view-state persistence behavior
2026-04-22 17:12:27 -07:00
Fusion
331d283125 test(dashboard): realign DevServer tests with session-based component
- DevServerView.preview.test.tsx: drop manual-preview-override assertion
  (the component hard-codes isManualPreviewOverride=false under the new
  session model, so the badge is always "Auto"), provide both legacy and
  current-API fields from createDevServerHookState, and mirror
  embedContext into blockReason in createPreviewEmbedState so the
  fallback panel picks up the reason text under the new destructure.
- runtime-adapter.test.ts: skip the createSession / promptWithFallback /
  describeModel blocks with a TODO — the adapter loads pi.js via
  CommonJS require() which vi.mock does not intercept, so the mocked
  module is never actually installed. Needs a dynamic import seam
  before these can run; tracking separately.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 16:31:30 -07:00
Fusion
53e3f351d9 feat(FN-2262): merge fusion/fn-2262 (auto-resolved)
- feat(FN-2262): document Paperclip runtime configuration and constraints
- docs(FN-2261): update README with implementation details
- feat(FN-2261): add paperclip runtime resolution compatibility tests
- feat(FN-2261): add runtime adapter and registration tests
- feat(FN-2261): integrate adapter into plugin entrypoint
- feat(FN-2261): implement PaperclipRuntimeAdapter
- fix(FN-2261): remove pi-coding-agent re-exports from types.ts
- feat(FN-2261): define runtime types for Paperclip plugin
- feat(FN-2260): merge fusion/fn-2260
2026-04-22 15:53:08 -07:00
Fusion
1a43e23562 feat(FN-2266): align PWA and favicon assets with dashboard brand mark
- Replace public logo.svg with the header ring+swoosh geometry to keep branding consistent
- Refresh icon-192.png and icon-512.png assets to match the updated dashboard mark
- Add PWA tests that validate logo.svg structure and ensure install icon files exist
- Document favicon/PWA brand alignment expectations in the dashboard README
2026-04-22 15:39:12 -07:00
Fusion
14dde2580b feat(FN-2263): merge fusion/fn-2263 (auto-resolved)
- docs(FN-2263): update README with scaffolded scope and deferral documentation
- test(FN-2263): verify hermes runtime plugin build and tests
- feat(FN-2263): implement plugin entrypoint with runtime registration shell
- feat(FN-2263): scaffold Hermes runtime plugin package
- test(FN-2256): add mocks for createResolvedAgentSession in tests
- docs(FN-2256): update architecture docs and add changeset
- fix(FN-2256): fix lint errors and TypeScript issues
- feat(FN-2256): add runtime selection regression tests — Step 4
- feat(FN-2256): route engine session creation through runtime resolver — Step 3
- feat(FN-2256): extend PluginRunner runtime lookup surface — Step 2
- feat(FN-2256): add runtime abstraction and resolver — Step 1
2026-04-22 14:49:34 -07:00
Fusion
d3711cd449 feat(FN-2262): merge fusion/fn-2262 (auto-resolved)
- feat(FN-2262): document Paperclip runtime configuration and constraints
- docs(FN-2261): update README with implementation details
- feat(FN-2261): add paperclip runtime resolution compatibility tests
- feat(FN-2261): add runtime adapter and registration tests
- feat(FN-2261): integrate adapter into plugin entrypoint
- feat(FN-2261): implement PaperclipRuntimeAdapter
- fix(FN-2261): remove pi-coding-agent re-exports from types.ts
- feat(FN-2261): define runtime types for Paperclip plugin
- feat(FN-2260): merge fusion/fn-2260
2026-04-22 14:33:02 -07:00
Fusion
1158144c52 feat(FN-2263): merge fusion/fn-2263 (auto-resolved)
- docs(FN-2263): update README with scaffolded scope and deferral documentation
- test(FN-2263): verify hermes runtime plugin build and tests
- feat(FN-2263): implement plugin entrypoint with runtime registration shell
- feat(FN-2263): scaffold Hermes runtime plugin package
- test(FN-2256): add mocks for createResolvedAgentSession in tests
- docs(FN-2256): update architecture docs and add changeset
- fix(FN-2256): fix lint errors and TypeScript issues
- feat(FN-2256): add runtime selection regression tests — Step 4
- feat(FN-2256): route engine session creation through runtime resolver — Step 3
- feat(FN-2256): extend PluginRunner runtime lookup surface — Step 2
- feat(FN-2256): add runtime abstraction and resolver — Step 1
2026-04-22 14:33:01 -07:00
Fusion
866e7cdb70 feat(FN-2260): merge fusion/fn-2260 2026-04-22 13:57:10 -07:00
gsxdsm
b2a82328fe feat(FN-2186): merge fusion/fn-2186 2026-04-22 13:46:53 -07:00
Fusion
b48f8aef83 feat(FN-2185): add session-based dev server API helpers
- Add canonical DevServer session types for commands, runtime state, logs, and preview metadata
- Introduce session-scoped API helpers for list/create/get/start/stop/restart/delete operations under /api/devserver
- Add log history, preview URL, command detection, and SSE stream URL helpers for session-based endpoints
- Preserve migration compatibility by falling back to legacy /api/dev-server endpoints and normalizing legacy responses
2026-04-22 13:17:06 -07:00
Fusion
c187c670e1 feat(FN-2255): add plugin runtime discovery contracts
- Extend core/plugin-sdk types with runtime manifest metadata, runtime factory, and runtime registration exports
- Add runtime validation in plugin manifest parsing, including runtimeId slug and semver checks
- Add PluginLoader.getPluginRuntimes() and PluginRunner runtime cache/invalidation plumbing across plugin lifecycle events
- Expand plugin loader/runner test coverage for runtime discovery and cache behavior, and document runtime registration in PLUGIN_AUTHORING.md
2026-04-22 13:01:25 -07:00
Fusion
2873bc0388 refactor(FN-2206): centralize agent modal styling in dashboard CSS
- Move inline styles from AgentListModal and AgentGenerationModal into token-based stylesheet classes
- Polish NewAgentDialog step-zero layout, role grid, and AI generation button/summary presentation
- Improve AgentImportModal result stat visual hierarchy and semantic status coloring
- Expand dashboard modal CSS coverage with sectioned rules and mobile-specific refinements
- Update component and stylesheet tests to assert new class usage and modal responsive behavior
2026-04-22 11:43:26 -07:00
Fusion
b38db611c3 feat(FN-2247): skip review and workflow gates in fast mode
- Gate executor pre-merge workflow-step execution on executionMode and bypass it for fast runs
- Omit the review_step tool from agent tool injection when tasks run in fast mode
- Add explicit executor logs and task log entries when fast mode skips validation gates
- Extend executor messaging-tool tests to cover fast vs standard tool availability
2026-04-22 10:50:22 -07:00
Fusion
c1e74d86f4 feat(FN-2246): add executionMode support to task APIs and storage
- Add ExecutionMode type contracts and executionMode field to core task interfaces
- Persist executionMode through SQLite schema mappings and TaskStore read/write paths
- Validate executionMode in dashboard route handlers and API request handling
- Expand core and dashboard test coverage for executionMode persistence and route behavior
2026-04-22 10:34:11 -07:00
gsxdsm
fb3915d75f feat(FN-2233): merge fusion/fn-2233 2026-04-22 10:02:18 -07:00
Fusion
b4517581c1 fix(FN-2204): restore tokenized styling in agents views
- Replace inline agent state badge and card colors with state-specific CSS classes across list, board, tree, and org chart views
- Add reusable AgentEmptyState with create-agent CTA and wire it into all empty agent view modes
- Polish agents controls and metrics presentation in AgentsView/AgentMetricsBar with corresponding stylesheet token updates
- Extend dashboard tests for agent CSS classes, metrics bar behavior, list view rendering, and mobile view coverage
- Add a patch changeset for @gsxdsm/fusion describing the agent view UX improvements
2026-04-22 09:56:26 -07:00
Fusion
68ebf50f4d feat(FN-2245): enforce shared diagnostics in planning interview flows
- Migrate mission, milestone-slice, and subtask breakdown flows to shared ai-session-diagnostics logging
- Add a planning-flow guardrail test that fails on raw console.* diagnostics across planning modules
- Update mission and subtask breakdown tests to use structured diagnostics sink hooks instead of console spies
- Keep backward-compatible diagnostics test hooks and reset injected sinks to avoid cross-test leakage
2026-04-22 09:39:34 -07:00
gsxdsm
cf0d52b0c2 feat(FN-2251): merge fusion/fn-2251 2026-04-22 09:31:47 -07:00
Fusion
d3c6186b52 feat(FN-2241): add review level selection in task creation and editing
- Extend core task types/store and dashboard API route handling to persist task reviewLevel
- Add review level controls to TaskForm, NewTaskModal, and TaskDetailModal flows
- Improve workflow step selector presentation in WorkflowResultsTab and styles for clearer review settings UX
- Document the new review level behavior and add route/form/modal tests to cover create and edit scenarios
2026-04-22 09:23:57 -07:00
Fusion
b71697f9bd feat(FN-2243): merge fusion/fn-2243 2026-04-22 09:12:33 -07:00
gsxdsm
15139cd688 feat(FN-2250): merge fusion/fn-2250 2026-04-22 08:46:56 -07:00
Fusion
e7325ba99b feat(FN-2238): clean up ephemeral agents on runtime termination
- Add termination-driven cleanup in InProcessRuntime so ephemeral agents are disposed when the runtime terminates
- Extend in-process runtime tests with comprehensive coverage for ephemeral cleanup behavior and lifecycle expectations
- Fix ephemeral termination cleanup assertions to align test checks with actual teardown semantics
- Update CLI tests to skip obsolete changeset validation and reduce flakiness in binary timeout handling
2026-04-22 08:39:55 -07:00
Fusion
4d5fc341ab feat(FN-2242): add shared AI-session diagnostics helper
- Add a reusable scoped diagnostics contract for AI session flows with typed levels and structured context
- Add sink injection hooks to capture and reset diagnostics output in tests without console monkey-patching
- Add nonfatal and nonfatalAsync wrappers that log failures via errorFromException and continue execution
- Add comprehensive Vitest coverage for scope isolation, sink behavior, error serialization, and non-fatal semantics
2026-04-22 08:23:36 -07:00
Fusion
6969a82d6d feat(FN-2218): add Markdown/Raw toggle for task documents
- Add Markdown/Raw rendering toggle support to DocumentsView and TaskDocumentsTab for consistent document preview behavior
- Reuse workflow-style toggle UX and markdown CSS patterns to align with existing dashboard design conventions
- Add comprehensive tests for DocumentsView and TaskDocumentsTab toggle interactions and rendering states
- Update dashboard guide documentation to describe the new Markdown/Raw toggle behavior
2026-04-22 08:04:24 -07:00
Fusion
78c1665059 feat(FN-2232): check mailbox on every heartbeat run
- Fetch unread inbox messages whenever messageStore is available, not only wake-on-message triggers
- Include pending messages in execution prompts for task and no-task heartbeat runs across timer, assignment, and on-demand sources
- Extend heartbeat messaging tests to cover run-wide mailbox prefetch and read-marking behavior
- Document heartbeat mailbox checking semantics and messageResponseMode behavior in agents docs
- Replace Header mailbox badge class with existing header-badge style token
2026-04-22 07:53:37 -07:00
gsxdsm
19ce3e4feb feat(FN-2230): merge fusion/fn-2230 2026-04-22 02:16:40 -07:00
Fusion
e66c2e3a7d fix(FN-2227): stabilize NewAgentDialog async lifecycle tests
- Trigger model loading when the dialog opens instead of only on initial mount
- Guard NewAgentDialog effects with isOpen to avoid late async state updates after close/unmount
- Update AgentsView dialog tests to await settled UI state before asserting controls
- Harden NewAgentDialog tests with async act/waitFor patterns around render, reopen, and fetch side effects
2026-04-22 02:05:26 -07:00
Fusion
cdea2a4d93 feat(FN-2225): merge fusion/fn-2225 2026-04-22 01:54:43 -07:00
gsxdsm
d01fb6a01e feat(FN-2220): merge fusion/fn-2220 2026-04-22 01:31:40 -07:00
gsxdsm
a59d058ad6 fix(FN-LOCAL): refresh docs and retry codex server errors 2026-04-22 00:43:08 -07:00
gsxdsm
01764e0c39 docs(FN-LOCAL): refresh readme quick start and board screenshot 2026-04-22 00:36:49 -07:00
gsxdsm
5e534b0e87 fix(FN-LOCAL): remove done-file prompt and stale local artifacts 2026-04-22 00:22:49 -07:00