gsxdsm
593f38249c
chore(release): v0.73.0-beta.6
...
Version bump via changesets.
2026-07-23 22:16:37 -07:00
gsxdsm
26628b356b
chore(release): v0.73.0-beta.5
...
Version bump via changesets.
2026-07-23 20:23:55 -07:00
gsxdsm
a45d82d09b
chore(release): v0.73.0-beta.4
...
Version bump via changesets.
2026-07-23 00:16:34 -07:00
gsxdsm
2cbb80c501
chore(release): v0.73.0-beta.3
...
Version bump via changesets.
2026-07-22 19:37:44 -07:00
gsxdsm
3cd023fa43
FN-8491: add declarative plugin MCP server registrations
...
Enable plugins to declare per-project MCP server registrations.
- Add plugin MCP server contribution types, loading, and resolution across core and engine runtimes.
- Expose resolved plugin registrations through project configuration APIs and MCP settings UI.
- Document the declarative contribution API and add release metadata and regression coverage.
Files changed:
.changeset/plugin-mcp-servers.md | 7 ++
docs/PLUGIN_AUTHORING.md | 17 +++++
docs/mcp.md | 4 ++
docs/settings-reference.md | 4 ++
packages/core/src/__tests__/mcp-config.test.ts | 33 +++++++++
.../__tests__/plugin-contribution-types.test.ts | 16 +++++
.../__tests__/plugin-loader-single-load.test.ts | 23 +++++++
packages/core/src/index.gate.ts | 3 +
packages/core/src/index.ts | 3 +
packages/core/src/mcp-config.ts | 37 ++++++++--
packages/core/src/plugin-loader.ts | 24 +++++++
packages/core/src/plugin-mcp-servers.ts | 78 ++++++++++++++++++++++
packages/core/src/plugin-types.ts | 15 ++++-
packages/core/src/types.ts | 2 +-
.../__tests__/SettingsModal.mcp.test.tsx | 34 +++++++++-
.../settings/sections/McpServersCard.tsx | 52 ++++++++++-----
.../settings/sections/ProjectMcpSection.tsx | 31 ++++++++-
.../register-config-mcp-pi-settings-routes.test.ts | 18 ++++-
packages/dashboard/src/routes/context.ts | 71 +++++++++++++++++++-
.../register-config-mcp-pi-settings-routes.ts | 30 ++++++++-
.../engine/src/__tests__/mcp-resolution.test.ts | 20 ++++++
packages/engine/src/mcp-resolution.ts | 15 ++++-
packages/engine/src/plugin-runner.ts | 38 +++++++++++
packages/engine/src/runtimes/in-process-runtime.ts | 23 +++++++
packages/plugin-sdk/src/index.ts | 1 +
25 files changed, 563 insertions(+), 36 deletions(-)
Fusion-Task-Id: FN-8491
Fusion-Task-Lineage: be7e22fa-5776-4b3d-9fd1-a873799e6427
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-22 15:25:20 -07:00
gsxdsm
88e343e331
chore(release): v0.73.0-beta.2
...
Version bump via changesets.
2026-07-21 21:01:23 -07:00
gsxdsm
dcc249c674
chore(release): v0.73.0-beta.1
...
Version bump via changesets.
2026-07-21 20:22:16 -07:00
gsxdsm
11c4def87f
chore(release): v0.73.0-beta.0
...
Version bump via changesets.
2026-07-21 01:00:46 -07:00
gsxdsm
5c7ed8b26f
chore(release): v0.72.0
...
Version bump via changesets.
2026-07-18 00:52:59 -07:00
gsxdsm
7dda1aa3f5
chore(release): v0.71.0
...
Version bump via changesets.
2026-07-17 20:13:12 -07:00
gsxdsm
e31223c25f
chore(release): v0.70.2
...
Version bump via changesets.
2026-07-17 19:17:17 -07:00
gsxdsm
eccb115c7e
chore(release): v0.70.1
...
Version bump via changesets.
2026-07-17 18:17:15 -07:00
gsxdsm
f5538e6253
chore(release): v0.70.0
...
Version bump via changesets.
2026-07-17 17:12:42 -07:00
gsxdsm
e9f14bf024
perf: speed up local pnpm build and cap stacked verifications ( #2134 )
...
## Summary
- Extend the workspace content-hash skip cache to **all** packages (not
just plugins), with `--force` / `--full` flags
- Default local CLI packaging to a **fast mode** (bin/extension +
migrations only); full desktop/plugin/DTS staging runs on CI or `pnpm
build:full`
- Enable TypeScript `incremental` builds for warm recompiles
- Add `maxConcurrentVerifications` (default **1**) so concurrent tasks
cannot stack monorepo typecheck/build and peg CPU
Warm `pnpm build` measured ~**126s → ~0.8s** when nothing changed.
## Test plan
- [x] `node --test scripts/__tests__/build-workspace.test.mjs` (12 pass)
- [x] `pnpm --filter @fusion/engine exec vitest run
src/__tests__/verification-concurrency.test.ts`
- [x] `pnpm --filter @fusion/core exec vitest run
src/__tests__/settings-parity.test.ts`
- [x] Local: first `pnpm build` rebuilds as needed; second warm `pnpm
build` skips all packages (~0.8s)
- [x] Fast CLI packaging logs skip of desktop/plugin staging without
`FUSION_CLI_FULL_PACKAGE`
- [ ] CI: `pnpm build` still full-packages under `CI=true` (plugin
staging / release surfaces)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added a Scheduling setting to limit concurrent verification tasks from
1–8, with a default of 1.
* Verification tasks now support cancellation while waiting or running.
* Added options for forced and full workspace builds.
* **Performance**
* Local builds can skip unchanged packages and use incremental
compilation for faster rebuilds.
* Local CLI packaging is faster by default, while full packaging remains
available when needed.
* **Documentation**
* Updated the settings reference with the new verification concurrency
option.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-15 08:44:11 -07:00
gsxdsm
a242f1b449
fix(FN-7952): migrate bundled plugins to PostgreSQL ( #2111 )
...
## Summary
Bundled plugins now persist shared runtime state in project-scoped
PostgreSQL tables instead of maintaining independent SQLite authority.
Reports, CLI Printing Press, Compound Engineering, Roadmap, Even
Realities, and WhatsApp all follow the same ownership and startup
contract as Fusion core.
## Design decisions
- Plugin schema hooks run through the host’s PostgreSQL owner and
enforce project isolation.
- The SDK exposes the host contract needed by bundled plugins without
importing engine internals.
- Legacy Roadmap ownership fixtures use the supported empty-owner
sentinel, preserving current composite primary/foreign keys while
exercising backfill behavior.
- The lockfile travels with the Even Realities PostgreSQL dependency so
packaged installs remain reproducible.
## Validation
- All six affected plugin builds pass.
- Affected plugin suites pass: 773 tests across Printing Press, Compound
Engineering, Even Realities, Reports, Roadmap, and WhatsApp.
- `pnpm test:gate` passes all 478 gate tests.
- This PR changes 40 files.
## Stack
- Depends on #2110 → #2109 → #2108 .
- The documentation/release PR completes the stack.
Related: #2105
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Breaking Changes**
* PostgreSQL is now required for runtime storage; SQLite files are used
only as one-time migration inputs.
* The legacy `FUSION_NO_EMBEDDED_PG` fallback has been removed.
* **New Features**
* Added project-isolated PostgreSQL storage for plugins, reports, tasks,
notifications, and other plugin data.
* Added agent tools for reports and CLI service drafts.
* Added PostgreSQL schema initialization support for plugin authors.
* **Bug Fixes**
* Improved migration and recovery of legacy plugin state.
* Prevented cross-project data access and strengthened transactional
schema updates.
* **Documentation**
* Updated storage, migration, deployment, plugin authoring, CLI, and
dashboard guidance for PostgreSQL.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-15 00:27:59 -07:00
gsxdsm
1ff83a2735
chore(release): v0.60.0
...
Version bump via changesets.
2026-07-13 10:32:12 -07:00
gsxdsm
502c4c132f
chore(release): v0.59.0
...
Version bump via changesets.
2026-07-13 01:23:43 -07:00
gsxdsm
f82a3d2840
chore(release): v0.58.0
...
Version bump via changesets.
2026-07-11 23:50:00 -07:00
gsxdsm
57c3d7ceb8
FN-7776: evaluate promptContribution.condition against effective plugin settings
...
Plugin prompt contributions declared a `condition` field in the SDK, but the host never evaluated it, so gated prompt content always rendered unconditionally.
- Add packages/core/src/plugin-prompt-condition.ts implementing a minimal, non-eval `settings["key"] === "value"` / `!==` condition grammar
- Wire condition evaluation into plugin-runner.ts / agent-instructions.ts / executor.ts / reviewer.ts / triage.ts / agent-heartbeat.ts so prompt contributions are filtered by effective plugin settings at each call site
- Extend plugin-types.ts and core index.ts/index.gate.ts to expose the new evaluator and condition typing
- Document the condition grammar in docs/PLUGIN_AUTHORING.md
- Add regression tests covering the evaluator and its wiring through plugin-runner and agent-instructions
- Add changeset (@runfusion/fusion minor, feature) describing the new gating behavior
Files changed:
.changeset/fn-7776-prompt-condition.md | 7 ++
docs/PLUGIN_AUTHORING.md | 13 ++-
.../src/__tests__/plugin-prompt-condition.test.ts | 90 ++++++++++++++++++++
packages/core/src/index.gate.ts | 6 ++
packages/core/src/index.ts | 6 ++
packages/core/src/plugin-prompt-condition.ts | 51 +++++++++++
packages/core/src/plugin-types.ts | 10 ++-
.../src/__tests__/agent-instructions.test.ts | 33 ++++++--
.../engine/src/__tests__/plugin-runner.test.ts | 98 +++++++++++++++++++++-
packages/engine/src/agent-heartbeat.ts | 2 +-
packages/engine/src/agent-instructions.ts | 6 +-
packages/engine/src/executor.ts | 28 +++++--
packages/engine/src/plugin-runner.ts | 64 ++++++++++++--
packages/engine/src/reviewer.ts | 2 +-
packages/engine/src/triage.ts | 2 +-
packages/plugin-sdk/src/index.ts | 4 +
16 files changed, 385 insertions(+), 37 deletions(-)
Fusion-Task-Id: FN-7776
Fusion-Task-Lineage: ba8dcd52-260a-4166-a712-f3dd39b81b15
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-10 07:46:52 -07:00
gsxdsm
400f04530c
chore(release): v0.57.0
...
Version bump via changesets.
2026-07-08 16:27:10 -07:00
gsxdsm
eb86555797
chore(release): v0.56.1
...
Version bump via changesets.
2026-07-05 19:57:09 -07:00
gsxdsm
2025f9d56d
chore(release): v0.56.0
...
Version bump via changesets.
2026-07-05 17:13:36 -07:00
gsxdsm
843f365452
chore(release): v0.55.0
...
Version bump via changesets.
2026-07-03 13:10:20 -07:00
gsxdsm
84a40dd82e
chore(release): v0.54.0
...
Version bump via changesets.
2026-07-02 00:22:58 -07:00
gsxdsm
7488e0971f
chore(release): v0.53.1
...
Version bump via changesets.
2026-07-01 19:38:51 -07:00
gsxdsm
8bb18d9d61
chore(release): v0.53.0
...
Version bump via changesets.
2026-07-01 18:31:44 -07:00
gsxdsm
d4ce6f9319
chore(release): v0.52.0
...
Version bump via changesets.
2026-07-01 00:47:09 -07:00
gsxdsm
8facc20eee
chore(release): v0.51.0
...
Version bump via changesets.
2026-06-28 12:49:55 -07:00
gsxdsm
729bd5e5f9
chore(release): v0.50.0
...
Version bump via changesets.
2026-06-27 18:10:19 -07:00
gsxdsm
fa4ee607b7
chore(release): v0.49.0
...
Version bump via changesets.
2026-06-26 12:06:05 -07:00
gsxdsm
079c428af9
chore(release): v0.48.0
...
Version bump via changesets.
2026-06-24 23:56:23 -07:00
gsxdsm
2ba81c25b4
chore(release): v0.47.0
...
Version bump via changesets.
2026-06-24 19:32:59 -07:00
gsxdsm
bac7049822
chore(release): v0.46.0
...
Version bump via changesets.
2026-06-23 12:27:50 -07:00
gsxdsm
b599b6ab41
chore(release): v0.45.0
...
Version bump via changesets.
2026-06-23 01:07:59 -07:00
gsxdsm
4373946a07
chore(release): v0.44.0
...
Version bump via changesets.
2026-06-19 07:34:26 -07:00
gsxdsm
f80b301af2
chore(release): v0.43.1
...
Version bump via changesets.
2026-06-14 22:43:49 -07:00
gsxdsm
4482425d4b
chore(release): v0.43.0
...
Version bump via changesets.
2026-06-14 00:43:13 -07:00
gsxdsm
43c54290a9
chore(release): v0.42.0
...
Version bump via changesets.
2026-06-13 12:11:05 -07:00
gsxdsm
045a74d249
chore(release): v0.41.0
...
Version bump via changesets.
2026-06-10 19:05:55 -07:00
gsxdsm
f0d6d70a32
chore(release): v0.40.1
...
Version bump via changesets.
2026-06-10 18:08:04 -07:00
gsxdsm
9f38b0d090
chore(release): v0.40.0
...
Version bump via changesets.
2026-06-10 17:58:39 -07:00
gsxdsm
8bc3d7b0a5
FN-6042: raise dependency security floors
...
Harden dependency floors and update the Vitest toolchain to patched releases.
- upgrade workspace vitest and @vitest/coverage-v8 dependencies to the 4.1 line across packages and plugins
- pin transitive protobufjs via pnpm overrides and lockfile updates to patched versions
- adapt Vitest configs, engine test helpers, and security-floor coverage for the new dependency baselines
- add the published CLI changeset and related workspace/package metadata updates included in the task branch
Files changed:
.changeset/fn-6042-security-dependencies.md | 5 +
AGENTS.md | 4 +
Dockerfile | 3 +
docs/PLUGIN_AUTHORING.md | 2 -
package.json | 3 +-
packages/cli/package.json | 4 +-
packages/cli/vitest.config.ts | 2 +-
packages/core/package.json | 4 +-
packages/core/vitest.config.ts | 2 +-
packages/dashboard/app/test/mockApi.ts | 4 +-
packages/dashboard/package.json | 4 +-
packages/dashboard/vitest.config.ts | 2 +-
packages/desktop/package.json | 4 +-
packages/desktop/vitest.config.ts | 2 +-
packages/droid-cli/package.json | 2 +-
packages/droid-cli/vitest.config.ts | 2 +-
packages/engine/package.json | 4 +-
.../engine/src/__tests__/executor-test-helpers.ts | 29 +-
.../engine/src/__tests__/gridlock-detector.test.ts | 5 +-
.../src/__tests__/heartbeat-scheduler.test.ts | 3 +-
packages/engine/src/__tests__/scheduler.test.ts | 24 +-
packages/engine/src/__tests__/self-healing.test.ts | 5 +
packages/engine/tsconfig.json | 3 +-
packages/engine/vitest.config.ts | 10 +-
packages/i18n/package.json | 2 +-
packages/i18n/vitest.config.ts | 7 +
packages/mobile/package.json | 2 +-
packages/mobile/vitest.config.ts | 2 +-
packages/pi-claude-cli/package.json | 2 +-
packages/pi-claude-cli/vitest.config.ts | 2 +-
packages/pi-llama-cpp/package.json | 2 +-
packages/pi-llama-cpp/vitest.config.ts | 2 +-
packages/plugin-sdk/package.json | 2 +-
packages/plugin-sdk/vitest.config.ts | 2 +-
.../examples/fusion-plugin-auto-label/package.json | 2 +-
.../fusion-plugin-auto-label/vitest.config.ts | 2 +-
.../examples/fusion-plugin-ci-status/package.json | 2 +-
.../fusion-plugin-ci-status/vitest.config.ts | 2 +-
.../fusion-plugin-notification/package.json | 2 +-
.../fusion-plugin-notification/vitest.config.ts | 2 +-
.../fusion-plugin-settings-demo/package.json | 2 +-
.../fusion-plugin-settings-demo/vitest.config.ts | 2 +-
plugins/fusion-plugin-acp-runtime/package.json | 2 +-
plugins/fusion-plugin-acp-runtime/vitest.config.ts | 2 +-
plugins/fusion-plugin-agent-browser/package.json | 2 +-
.../fusion-plugin-agent-browser/vitest.config.ts | 2 +-
.../fusion-plugin-cli-printing-press/package.json | 2 +-
.../vitest.config.ts | 2 +-
.../package.json | 2 +-
.../src/__tests__/orchestrator-live-output.test.ts | 4 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-cursor-runtime/package.json | 4 +-
.../fusion-plugin-dependency-graph/package.json | 4 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-droid-runtime/package.json | 2 +-
.../fusion-plugin-droid-runtime/vitest.config.ts | 2 +-
plugins/fusion-plugin-even-cards/package.json | 2 +-
plugins/fusion-plugin-even-cards/vitest.config.ts | 2 +-
.../package.json | 2 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-hermes-runtime/package.json | 2 +-
.../fusion-plugin-hermes-runtime/vitest.config.ts | 2 +-
.../fusion-plugin-openclaw-runtime/package.json | 2 +-
.../vitest.config.ts | 2 +-
.../fusion-plugin-paperclip-runtime/package.json | 2 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-reports/package.json | 2 +-
.../src/__tests__/review-panel.test.ts | 6 +-
plugins/fusion-plugin-reports/vitest.config.ts | 2 +-
plugins/fusion-plugin-roadmap/package.json | 2 +-
plugins/fusion-plugin-roadmap/vitest.config.ts | 2 +-
plugins/fusion-plugin-whatsapp-chat/package.json | 2 +-
.../fusion-plugin-whatsapp-chat/vitest.config.ts | 2 +-
pnpm-lock.yaml | 626 ++++++++-------------
.../__tests__/dependency-security-floor.test.mjs | 95 ++++
75 files changed, 475 insertions(+), 491 deletions(-)
Fusion-Task-Id: FN-6042
Fusion-Task-Lineage: fff6a1cb-8937-435c-9a91-b7c7a59cc80e
2026-06-08 15:19:27 -07:00
gsxdsm
a504238d26
feat(FN-0000): add workflow loop nodes
2026-06-07 23:56:25 -07:00
gsxdsm
71822f26db
feat(engine): add workflow extension plugin seams
2026-06-07 20:43:44 -07:00
gsxdsm
b7fa21c25e
merge: main (column-agent assignment #1432 ) into workflow-settings — union executor/agent-tools/routes imports, both tool-description texts, both route helpers
2026-06-05 14:41:43 -07:00
gsxdsm
e421774f6a
feat(core): column agent IR schema, validation, and effective-agent resolver
...
U1+U2 of the column-agent plan: WorkflowColumnAgent on WorkflowIrColumn
(defer/override), template-subgraph column validation, v2-only-feature
registration, plugin-sdk type parity, and the shared core resolver with
instanceNodeId format ownership moved to core.
2026-06-04 23:35:32 -07:00
gsxdsm
9a4343be26
feat(engine): fn_workflow_settings agent tool + settings declaration parity, plugin-sdk types, engine-tools docs
2026-06-04 22:57:01 -07:00
gsxdsm
7076dd4516
feat(sdk,dashboard,docs): U9 — save-time code validation route, SDK type exports, skill doc, step-inversion docs + changeset
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 13:15:50 -07:00
gsxdsm
e711e6e0fd
fix(ci): schema-version literal, CLI core-mock spreads, plugin-sdk type-only exports, restore pruned i18n keys
2026-06-04 03:38:05 -07:00
gsxdsm
26718a31cc
feat(engine): plugin-contributed traits — async-only hooks, pre-evaluated gates, live-dependent disable guard (U8)
2026-06-04 01:43:26 -07:00