Add a committable, provenance-tagged knowledge graph layer with CLI generation and query support. - Extract TypeScript, Markdown, and FNXC knowledge into deterministic graph nodes and edges. - Persist recoverable graph artifacts outside ignored Fusion state and expose build/query CLI commands. - Document configuration and add core and CLI coverage for graph structure, serialization, and recovery. Files changed: .changeset/fn-8921-knowledge-graph.md | 7 + .gitattributes | 3 + AGENTS.md | 1 + docs/README.md | 2 + docs/cli-reference.md | 4 + docs/knowledge-graph.md | 37 +++++ docs/settings-reference.md | 4 + docs/storage.md | 2 + packages/cli/package.json | 3 +- .../__tests__/knowledge-graph-bundle-shape.test.ts | 4 + .../src/__tests__/knowledge-graph-command.test.ts | 115 ++++++++++++++ packages/cli/src/bin.ts | 19 +++ packages/cli/src/commands/knowledge-graph.ts | 79 ++++++++++ packages/cli/tsup.config.ts | 2 + packages/core/package.json | 4 +- packages/core/src/config/settings-schema.ts | 2 + packages/core/src/index.ts | 1 + .../__tests__/derive-modules.test.ts | 11 ++ .../__tests__/extract-file-composition.test.ts | 20 +++ .../knowledge-graph/__tests__/extract-fnxc.test.ts | 33 ++++ .../__tests__/extract-markdown.test.ts | 21 +++ .../__tests__/extract-typescript.test.ts | 30 ++++ .../__tests__/file-discovery.test.ts | 26 ++++ .../graph-artifact-not-gitignored.test.ts | 15 ++ .../__tests__/graph-builder-equivalence.test.ts | 76 ++++++++++ .../__tests__/graph-builder-incremental.test.ts | 52 +++++++ .../__tests__/graph-identity.test.ts | 11 ++ .../knowledge-graph/__tests__/graph-query.test.ts | 13 ++ .../__tests__/graph-serialization.test.ts | 29 ++++ .../__tests__/graph-store-recovery.test.ts | 106 +++++++++++++ .../__tests__/resolve-imports.test.ts | 10 ++ .../core/src/knowledge-graph/derive-modules.ts | 4 + packages/core/src/knowledge-graph/extract-file.ts | 6 + packages/core/src/knowledge-graph/extract-fnxc.ts | 168 +++++++++++++++++++++ .../core/src/knowledge-graph/extract-markdown.ts | 9 ++ .../core/src/knowledge-graph/extract-typescript.ts | 107 +++++++++++++ .../core/src/knowledge-graph/file-discovery.ts | 85 +++++++++++ packages/core/src/knowledge-graph/graph-builder.ts | 141 +++++++++++++++++ .../core/src/knowledge-graph/graph-manifest.ts | 4 + packages/core/src/knowledge-graph/graph-query.ts | 126 ++++++++++++++++ .../src/knowledge-graph/graph-serialization.ts | 134 ++++++++++++++++ packages/core/src/knowledge-graph/graph-store.ts | 97 ++++++++++++ packages/core/src/knowledge-graph/graph-types.ts | 54 +++++++ packages/core/src/knowledge-graph/index.ts | 14 ++ .../core/src/knowledge-graph/resolve-imports.ts | 4 + packages/core/src/types/settings/settings-scope.ts | 2 + pnpm-lock.yaml | 12 +- 47 files changed, 1700 insertions(+), 9 deletions(-) Fusion-Task-Id: FN-8921 Fusion-Task-Lineage: 7014d0f1-fc47-454b-afe5-5f0d9b229f33 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
127 lines
3.9 KiB
JSON
127 lines
3.9 KiB
JSON
{
|
|
"name": "@runfusion/fusion",
|
|
"version": "0.76.0-beta.0",
|
|
"license": "MIT",
|
|
"description": "Fusion CLI: HTTP API server, daemon, dashboard launcher, and task tooling for the Fusion AI coding agent.",
|
|
"homepage": "https://github.com/Runfusion/Fusion#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/Runfusion/Fusion/issues"
|
|
},
|
|
"type": "module",
|
|
"keywords": [
|
|
"pi-package"
|
|
],
|
|
"bin": {
|
|
"agent-browser": "./agent-browser.mjs",
|
|
"fn": "./bin.mjs",
|
|
"fusion": "./bin.mjs"
|
|
},
|
|
"pi": {
|
|
"extensions": [
|
|
"./dist/extension.js"
|
|
],
|
|
"skills": [
|
|
"./skill"
|
|
],
|
|
"image": "https://raw.githubusercontent.com/Runfusion/Fusion/main/demo/screenshot.png"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"files": [
|
|
"agent-browser.mjs",
|
|
"bin.mjs",
|
|
"dist/**/*.js",
|
|
"dist/**/*.d.ts",
|
|
"dist/**/*.d.ts.map",
|
|
"dist/**/*.js.map",
|
|
"dist/migrations/**",
|
|
"dist/registry-manifest.json",
|
|
"dist/client/**",
|
|
"dist/desktop/**",
|
|
"dist/pi-claude-cli/**",
|
|
"dist/pi-llama-cpp/**",
|
|
"dist/droid-cli/**",
|
|
"dist/plugins/**",
|
|
"skill/**",
|
|
"README.md"
|
|
],
|
|
"scripts": {
|
|
"dev": "tsx src/bin.ts",
|
|
"prebuild": "node ../../scripts/sync-fusion-skill-tools.mjs",
|
|
"prepack": "node ./scripts/prepare-publish-manifest.mjs prepack",
|
|
"postpack": "node ./scripts/prepare-publish-manifest.mjs postpack",
|
|
"build": "tsup",
|
|
"build:package": "cross-env FUSION_CLI_FULL_PACKAGE=1 tsup",
|
|
"build:exe": "bun run build.ts",
|
|
"build:exe:all": "bun run build.ts --all",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run --silent=passed-only --reporter=dot",
|
|
"test:ci-shape": "vitest run src/__tests__/ci-workflow.test.ts --silent=passed-only --reporter=dot",
|
|
"test:docs-index": "vitest run src/__tests__/docs-readme-index.test.ts --silent=passed-only --reporter=dot",
|
|
"test:slow-cli": "cross-env FUSION_TEST_SLOW_CLI=1 vitest run src/commands/__tests__/agent-export.test.ts --silent=passed-only --reporter=dot",
|
|
"test:extension-integration": "cross-env FUSION_TEST_EXTENSION_INTEGRATION=1 vitest run src/__tests__/extension-integration.test.ts --silent=passed-only --reporter=dot",
|
|
"test:build-exe": "cross-env FUSION_TEST_BUILD_EXE=1 vitest run --config vitest.build-exe.config.ts --silent=passed-only --reporter=dot",
|
|
"test:pre-release": "pnpm test:slow-cli && pnpm test:build-exe"
|
|
},
|
|
"dependencies": {
|
|
"@agentclientprotocol/sdk": "0.24.0",
|
|
"agent-browser": "0.26.0",
|
|
"@earendil-works/pi-ai": "0.82.1",
|
|
"@earendil-works/pi-coding-agent": "0.82.1",
|
|
"claude-code-cli-acp": "0.1.1",
|
|
"dockerode": "^4.0.12",
|
|
"electron": "^33.4.11",
|
|
"embedded-postgres": "15.18.0-beta.17",
|
|
"express": "^5.1.0",
|
|
"i18next": "^26.3.6",
|
|
"ink": "^7.1.1",
|
|
"ink-spinner": "^5.0.0",
|
|
"ink-text-input": "^6.0.0",
|
|
"ioredis": "^5.6.0",
|
|
"multer": "^2.1.1",
|
|
"node-pty": "npm:@homebridge/node-pty-prebuilt-multiarch@^0.13.1",
|
|
"react": "^19.2.0",
|
|
"react-i18next": "^17.0.8",
|
|
"ws": "^8.18.0",
|
|
"playwright-core": "^1.60.0",
|
|
"typescript": "^5.7.0"
|
|
},
|
|
"optionalDependencies": {
|
|
"sherpa-onnx-node": "1.13.4"
|
|
},
|
|
"peerDependencies": {
|
|
"typebox": "*"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"typebox": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@fusion/core": "workspace:*",
|
|
"@fusion/dashboard": "workspace:*",
|
|
"@fusion/engine": "workspace:*",
|
|
"@fusion/i18n": "workspace:*",
|
|
"@fusion/pi-claude-cli": "workspace:*",
|
|
"@fusion/pi-llama-cpp": "workspace:*",
|
|
"@types/node": "^22.0.0",
|
|
"@types/react": "^19.2.0",
|
|
"@types/ws": "^8.5.0",
|
|
"@vitest/coverage-v8": "^4.1.10",
|
|
"cross-env": "^7.0.0",
|
|
"esbuild": "^0.25.12",
|
|
"ink-testing-library": "^4.0.0",
|
|
"tsup": "^8.5.1",
|
|
"tsx": "^4.19.0",
|
|
"typebox": "^1.0.0",
|
|
"typescript": "^5.7.0",
|
|
"vitest": "^4.1.10",
|
|
"yaml": "^2.8.3"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/Runfusion/Fusion"
|
|
}
|
|
}
|