Expose Fusion knowledge graph and durable recall through a built-in MCP transport. - Add the reserved fusion-memory server with graph and recall MCP tools. - Resolve built-in availability and enable/disable tombstones across configuration and UI. - Add CLI transport, documentation, release metadata, and lane coverage tests. Files changed: .changeset/fn-8926-memory-mcp-server.md | 7 + docs/cli-reference.md | 4 + docs/mcp.md | 10 ++ packages/cli/src/bin.ts | 6 + .../__tests__/mcp-memory-server-spawn.test.ts | 79 ++++++++++ .../commands/__tests__/mcp-memory-server.test.ts | 83 +++++++++++ packages/cli/src/commands/__tests__/mcp.test.ts | 27 +++- packages/cli/src/commands/mcp-memory-server.ts | 104 +++++++++++++ packages/cli/src/commands/mcp.ts | 64 ++++++-- packages/core/package.json | 10 ++ .../core/src/__tests__/mcp-builtin-servers.test.ts | 17 +++ packages/core/src/__tests__/mcp-config.test.ts | 12 ++ packages/core/src/config/mcp-builtin-descriptor.ts | 16 ++ packages/core/src/config/mcp-builtin-servers.ts | 18 +++ packages/core/src/config/mcp-config.ts | 40 +++-- packages/core/src/config/mcp-discovery.ts | 3 +- packages/core/src/index.ts | 6 + packages/core/src/memory/index.ts | 1 + .../mcp/__tests__/memory-mcp-handler.test.ts | 36 +++++ .../mcp/__tests__/memory-mcp-serialization.test.ts | 23 +++ packages/core/src/memory/mcp/index.ts | 4 + .../core/src/memory/mcp/memory-mcp-backends.ts | 39 +++++ packages/core/src/memory/mcp/memory-mcp-handler.ts | 54 +++++++ .../src/memory/mcp/memory-mcp-serialization.ts | 48 ++++++ packages/core/src/memory/mcp/memory-mcp-tools.ts | 64 ++++++++ packages/core/src/types.ts | 10 ++ .../settings/sections/GlobalMcpSection.tsx | 14 +- .../settings/sections/McpServersCard.tsx | 67 +++++++-- .../settings/sections/ProjectMcpSection.tsx | 15 +- .../__tests__/McpServersCard.builtin.test.tsx | 45 ++++++ .../dashboard/src/__tests__/chat-manager.test.ts | 24 +++ .../register-config-mcp-pi-settings-routes.ts | 20 ++- packages/dashboard/vitest.config.ts | 2 + .../__tests__/mcp-builtin-lane-coverage.test.ts | 163 +++++++++++++++++++++ packages/engine/src/mcp/mcp-resolution.ts | 10 +- packages/engine/vitest.config.ts | 2 + 36 files changed, 1097 insertions(+), 50 deletions(-) Fusion-Task-Id: FN-8926 Fusion-Task-Lineage: b2861491-33da-4b05-b9f8-a7c1448c1c8c Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
97 lines
3.2 KiB
JSON
97 lines
3.2 KiB
JSON
{
|
|
"name": "@fusion/core",
|
|
"version": "0.76.0-beta.0",
|
|
"license": "MIT",
|
|
"description": "Fusion core: task store, scheduler, settings, and shared domain types backing the Fusion AI coding agent.",
|
|
"homepage": "https://github.com/Runfusion/Fusion#readme",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/Runfusion/Fusion",
|
|
"directory": "packages/core"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/Runfusion/Fusion/issues"
|
|
},
|
|
"type": "module",
|
|
"exports": {
|
|
".": {
|
|
"types": "./src/index.ts",
|
|
"source": "./src/index.ts",
|
|
"import": "./dist/index.js"
|
|
},
|
|
"./gh-cli": {
|
|
"types": "./src/cli/gh-cli.ts",
|
|
"source": "./src/cli/gh-cli.ts",
|
|
"import": "./dist/cli/gh-cli.js"
|
|
},
|
|
"./task-delete-attribution": {
|
|
"types": "./src/task-delete-attribution.ts",
|
|
"source": "./src/task-delete-attribution.ts",
|
|
"import": "./dist/task-delete-attribution.js"
|
|
},
|
|
"./column-roles": {
|
|
"types": "./src/column-roles.ts",
|
|
"source": "./src/column-roles.ts",
|
|
"import": "./dist/column-roles.js"
|
|
},
|
|
"./detect-content-language": {
|
|
"types": "./src/i18n/detect-content-language.ts",
|
|
"source": "./src/i18n/detect-content-language.ts",
|
|
"import": "./dist/i18n/detect-content-language.js"
|
|
},
|
|
"./mcp-builtin-servers": {
|
|
"types": "./src/config/mcp-builtin-servers.ts",
|
|
"source": "./src/config/mcp-builtin-servers.ts",
|
|
"import": "./dist/config/mcp-builtin-servers.js"
|
|
},
|
|
"./memory-mcp": {
|
|
"types": "./src/memory/mcp/index.ts",
|
|
"source": "./src/memory/mcp/index.ts",
|
|
"import": "./dist/memory/mcp/index.js"
|
|
},
|
|
"./package.json": "./package.json"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"README.md"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run --silent=passed-only --reporter=dot",
|
|
"test:embedded-postgres": "vitest run src/__tests__/postgres/embedded-lifecycle.test.ts --silent=passed-only --reporter=dot",
|
|
"test:pg-gate": "vitest run --config vitest.pg.config.ts src/__tests__/postgres/handoff-to-review-atomicity.pg.test.ts src/__tests__/postgres/task-lifecycle-e2e.pg.test.ts --silent=passed-only --reporter=dot",
|
|
"test:unit-gate": "vitest run src/__tests__/task-merge.test.ts src/__tests__/legacy-adoption.test.ts src/__tests__/no-hardcoded-lifecycle-columns.test.ts src/__tests__/sync-workflow-ir-callsite-allowlist.test.ts --silent=passed-only --reporter=dot"
|
|
},
|
|
"devDependencies": {
|
|
"@earendil-works/pi-coding-agent": "0.82.1",
|
|
"@types/dockerode": "^3.3.41",
|
|
"@types/node": "^25.5.0",
|
|
"@vitest/coverage-v8": "^4.1.10",
|
|
"vitest": "^4.1.10"
|
|
},
|
|
"engines": {
|
|
"node": ">=22.5.0"
|
|
},
|
|
"private": true,
|
|
"dependencies": {
|
|
"bonjour-service": "^1.3.0",
|
|
"check-disk-space": "^3.4.0",
|
|
"cron-parser": "^5.5.0",
|
|
"dockerode": "^4.0.2",
|
|
"drizzle-orm": "^0.45.2",
|
|
"embedded-postgres": "15.18.0-beta.17",
|
|
"extract-zip": "^2.0.1",
|
|
"postgres": "^3.4.9",
|
|
"tar": "^7.5.13",
|
|
"yaml": "^2.8.3",
|
|
"typescript": "^5.7.0"
|
|
},
|
|
"optionalDependencies": {
|
|
"keytar": "^7.9.0"
|
|
}
|
|
}
|