@weavelogic/knowledge-graph-agent 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +686 -304
- package/dist/_virtual/_commonjsHelpers.js +7 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/additionalItems.js +5 -0
- package/dist/_virtual/additionalItems.js.map +1 -0
- package/dist/_virtual/additionalProperties.js +5 -0
- package/dist/_virtual/additionalProperties.js.map +1 -0
- package/dist/_virtual/ajv.js +6 -0
- package/dist/_virtual/ajv.js.map +1 -0
- package/dist/_virtual/ajv2.js +5 -0
- package/dist/_virtual/ajv2.js.map +1 -0
- package/dist/_virtual/allOf.js +5 -0
- package/dist/_virtual/allOf.js.map +1 -0
- package/dist/_virtual/anyOf.js +5 -0
- package/dist/_virtual/anyOf.js.map +1 -0
- package/dist/_virtual/applicability.js +5 -0
- package/dist/_virtual/applicability.js.map +1 -0
- package/dist/_virtual/boolSchema.js +5 -0
- package/dist/_virtual/boolSchema.js.map +1 -0
- package/dist/_virtual/code.js +5 -0
- package/dist/_virtual/code.js.map +1 -0
- package/dist/_virtual/code2.js +5 -0
- package/dist/_virtual/code2.js.map +1 -0
- package/dist/_virtual/const.js +5 -0
- package/dist/_virtual/const.js.map +1 -0
- package/dist/_virtual/contains.js +5 -0
- package/dist/_virtual/contains.js.map +1 -0
- package/dist/_virtual/core.js +5 -0
- package/dist/_virtual/core.js.map +1 -0
- package/dist/_virtual/dataType.js +5 -0
- package/dist/_virtual/dataType.js.map +1 -0
- package/dist/_virtual/defaults.js +5 -0
- package/dist/_virtual/defaults.js.map +1 -0
- package/dist/_virtual/dependencies.js +5 -0
- package/dist/_virtual/dependencies.js.map +1 -0
- package/dist/_virtual/draft7.js +5 -0
- package/dist/_virtual/draft7.js.map +1 -0
- package/dist/_virtual/enum.js +5 -0
- package/dist/_virtual/enum.js.map +1 -0
- package/dist/_virtual/equal.js +5 -0
- package/dist/_virtual/equal.js.map +1 -0
- package/dist/_virtual/errors.js +5 -0
- package/dist/_virtual/errors.js.map +1 -0
- package/dist/_virtual/format.js +5 -0
- package/dist/_virtual/format.js.map +1 -0
- package/dist/_virtual/formats.js +5 -0
- package/dist/_virtual/formats.js.map +1 -0
- package/dist/_virtual/id.js +5 -0
- package/dist/_virtual/id.js.map +1 -0
- package/dist/_virtual/if.js +5 -0
- package/dist/_virtual/if.js.map +1 -0
- package/dist/_virtual/index.js +8 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/index10.js +5 -0
- package/dist/_virtual/index10.js.map +1 -0
- package/dist/_virtual/index11.js +5 -0
- package/dist/_virtual/index11.js.map +1 -0
- package/dist/_virtual/index12.js +5 -0
- package/dist/_virtual/index12.js.map +1 -0
- package/dist/_virtual/index2.js +5 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/index3.js +5 -0
- package/dist/_virtual/index3.js.map +1 -0
- package/dist/_virtual/index4.js +5 -0
- package/dist/_virtual/index4.js.map +1 -0
- package/dist/_virtual/index5.js +5 -0
- package/dist/_virtual/index5.js.map +1 -0
- package/dist/_virtual/index6.js +5 -0
- package/dist/_virtual/index6.js.map +1 -0
- package/dist/_virtual/index7.js +5 -0
- package/dist/_virtual/index7.js.map +1 -0
- package/dist/_virtual/index8.js +5 -0
- package/dist/_virtual/index8.js.map +1 -0
- package/dist/_virtual/index9.js +5 -0
- package/dist/_virtual/index9.js.map +1 -0
- package/dist/_virtual/items.js +5 -0
- package/dist/_virtual/items.js.map +1 -0
- package/dist/_virtual/items2020.js +5 -0
- package/dist/_virtual/items2020.js.map +1 -0
- package/dist/_virtual/keyword.js +5 -0
- package/dist/_virtual/keyword.js.map +1 -0
- package/dist/_virtual/limit.js +5 -0
- package/dist/_virtual/limit.js.map +1 -0
- package/dist/_virtual/limitItems.js +5 -0
- package/dist/_virtual/limitItems.js.map +1 -0
- package/dist/_virtual/limitLength.js +5 -0
- package/dist/_virtual/limitLength.js.map +1 -0
- package/dist/_virtual/limitNumber.js +5 -0
- package/dist/_virtual/limitNumber.js.map +1 -0
- package/dist/_virtual/limitProperties.js +5 -0
- package/dist/_virtual/limitProperties.js.map +1 -0
- package/dist/_virtual/metadata.js +5 -0
- package/dist/_virtual/metadata.js.map +1 -0
- package/dist/_virtual/multipleOf.js +5 -0
- package/dist/_virtual/multipleOf.js.map +1 -0
- package/dist/_virtual/names.js +5 -0
- package/dist/_virtual/names.js.map +1 -0
- package/dist/_virtual/not.js +5 -0
- package/dist/_virtual/not.js.map +1 -0
- package/dist/_virtual/oneOf.js +5 -0
- package/dist/_virtual/oneOf.js.map +1 -0
- package/dist/_virtual/pattern.js +5 -0
- package/dist/_virtual/pattern.js.map +1 -0
- package/dist/_virtual/patternProperties.js +5 -0
- package/dist/_virtual/patternProperties.js.map +1 -0
- package/dist/_virtual/prefixItems.js +5 -0
- package/dist/_virtual/prefixItems.js.map +1 -0
- package/dist/_virtual/properties.js +5 -0
- package/dist/_virtual/properties.js.map +1 -0
- package/dist/_virtual/propertyNames.js +5 -0
- package/dist/_virtual/propertyNames.js.map +1 -0
- package/dist/_virtual/ref.js +5 -0
- package/dist/_virtual/ref.js.map +1 -0
- package/dist/_virtual/ref_error.js +5 -0
- package/dist/_virtual/ref_error.js.map +1 -0
- package/dist/_virtual/required.js +5 -0
- package/dist/_virtual/required.js.map +1 -0
- package/dist/_virtual/resolve.js +5 -0
- package/dist/_virtual/resolve.js.map +1 -0
- package/dist/_virtual/rules.js +5 -0
- package/dist/_virtual/rules.js.map +1 -0
- package/dist/_virtual/scope.js +5 -0
- package/dist/_virtual/scope.js.map +1 -0
- package/dist/_virtual/subschema.js +5 -0
- package/dist/_virtual/subschema.js.map +1 -0
- package/dist/_virtual/thenElse.js +5 -0
- package/dist/_virtual/thenElse.js.map +1 -0
- package/dist/_virtual/types.js +5 -0
- package/dist/_virtual/types.js.map +1 -0
- package/dist/_virtual/ucs2length.js +5 -0
- package/dist/_virtual/ucs2length.js.map +1 -0
- package/dist/_virtual/uniqueItems.js +5 -0
- package/dist/_virtual/uniqueItems.js.map +1 -0
- package/dist/_virtual/uri.js +5 -0
- package/dist/_virtual/uri.js.map +1 -0
- package/dist/_virtual/util.js +5 -0
- package/dist/_virtual/util.js.map +1 -0
- package/dist/_virtual/validation_error.js +5 -0
- package/dist/_virtual/validation_error.js.map +1 -0
- package/dist/agents/analyst-agent.d.ts +230 -0
- package/dist/agents/analyst-agent.d.ts.map +1 -0
- package/dist/agents/analyst-agent.js +793 -0
- package/dist/agents/analyst-agent.js.map +1 -0
- package/dist/agents/architect-agent.d.ts +248 -0
- package/dist/agents/architect-agent.d.ts.map +1 -0
- package/dist/agents/architect-agent.js +685 -0
- package/dist/agents/architect-agent.js.map +1 -0
- package/dist/agents/base-agent.d.ts +169 -0
- package/dist/agents/base-agent.d.ts.map +1 -0
- package/dist/agents/base-agent.js +441 -0
- package/dist/agents/base-agent.js.map +1 -0
- package/dist/agents/coder-agent.d.ts +191 -0
- package/dist/agents/coder-agent.d.ts.map +1 -0
- package/dist/agents/coder-agent.js +1008 -0
- package/dist/agents/coder-agent.js.map +1 -0
- package/dist/agents/index.d.ts +18 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +40 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/registry.d.ts +213 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +419 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/researcher-agent.d.ts +226 -0
- package/dist/agents/researcher-agent.d.ts.map +1 -0
- package/dist/agents/researcher-agent.js +572 -0
- package/dist/agents/researcher-agent.js.map +1 -0
- package/dist/agents/rules-engine.d.ts +320 -0
- package/dist/agents/rules-engine.d.ts.map +1 -0
- package/dist/agents/rules-engine.js +552 -0
- package/dist/agents/rules-engine.js.map +1 -0
- package/dist/agents/tester-agent.d.ts +219 -0
- package/dist/agents/tester-agent.d.ts.map +1 -0
- package/dist/agents/tester-agent.js +683 -0
- package/dist/agents/tester-agent.js.map +1 -0
- package/dist/agents/types.d.ts +425 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +57 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/caching/index.d.ts +55 -0
- package/dist/caching/index.d.ts.map +1 -0
- package/dist/caching/index.js +206 -0
- package/dist/caching/index.js.map +1 -0
- package/dist/caching/lru-cache.d.ts +254 -0
- package/dist/caching/lru-cache.d.ts.map +1 -0
- package/dist/caching/types.d.ts +95 -0
- package/dist/caching/types.d.ts.map +1 -0
- package/dist/chunking/chunker.d.ts +94 -0
- package/dist/chunking/chunker.d.ts.map +1 -0
- package/dist/chunking/index.d.ts +125 -0
- package/dist/chunking/index.d.ts.map +1 -0
- package/dist/chunking/index.js +283 -0
- package/dist/chunking/index.js.map +1 -0
- package/dist/chunking/types.d.ts +92 -0
- package/dist/chunking/types.d.ts.map +1 -0
- package/dist/cli/commands/commit.d.ts +11 -0
- package/dist/cli/commands/commit.d.ts.map +1 -0
- package/dist/cli/commands/commit.js +379 -0
- package/dist/cli/commands/commit.js.map +1 -0
- package/dist/cli/commands/config.d.ts +8 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +107 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/cultivate.d.ts +16 -0
- package/dist/cli/commands/cultivate.d.ts.map +1 -0
- package/dist/cli/commands/cultivate.js +254 -0
- package/dist/cli/commands/cultivate.js.map +1 -0
- package/dist/cli/commands/diagnostics.d.ts +8 -0
- package/dist/cli/commands/diagnostics.d.ts.map +1 -0
- package/dist/cli/commands/diagnostics.js +140 -0
- package/dist/cli/commands/diagnostics.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +13 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/init-primitives.d.ts +19 -0
- package/dist/cli/commands/init-primitives.d.ts.map +1 -0
- package/dist/cli/commands/init-primitives.js +208 -0
- package/dist/cli/commands/init-primitives.js.map +1 -0
- package/dist/cli/commands/sop.d.ts +14 -0
- package/dist/cli/commands/sop.d.ts.map +1 -0
- package/dist/cli/commands/sop.js +598 -0
- package/dist/cli/commands/sop.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +40 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/config/index.d.ts +153 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +141 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/manager.d.ts +136 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/types.d.ts +127 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/core/cache.d.ts +185 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js +435 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/cultivation/deep-analyzer.d.ts +129 -0
- package/dist/cultivation/deep-analyzer.d.ts.map +1 -0
- package/dist/cultivation/deep-analyzer.js +322 -0
- package/dist/cultivation/deep-analyzer.js.map +1 -0
- package/dist/cultivation/index.d.ts +13 -0
- package/dist/cultivation/index.d.ts.map +1 -0
- package/dist/cultivation/seed-generator.d.ts +92 -0
- package/dist/cultivation/seed-generator.d.ts.map +1 -0
- package/dist/cultivation/seed-generator.js +1033 -0
- package/dist/cultivation/seed-generator.js.map +1 -0
- package/dist/cultivation/types.d.ts +230 -0
- package/dist/cultivation/types.d.ts.map +1 -0
- package/dist/generators/claude-md.d.ts +7 -0
- package/dist/generators/claude-md.d.ts.map +1 -1
- package/dist/generators/claude-md.js.map +1 -1
- package/dist/generators/docs-init.d.ts +6 -0
- package/dist/generators/docs-init.d.ts.map +1 -1
- package/dist/generators/docs-init.js.map +1 -1
- package/dist/health/checks.d.ts +135 -0
- package/dist/health/checks.d.ts.map +1 -0
- package/dist/health/index.d.ts +119 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +191 -0
- package/dist/health/index.js.map +1 -0
- package/dist/health/monitor.d.ts +146 -0
- package/dist/health/monitor.d.ts.map +1 -0
- package/dist/health/types.d.ts +135 -0
- package/dist/health/types.d.ts.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +173 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/auto-commit.d.ts +175 -0
- package/dist/integrations/auto-commit.d.ts.map +1 -0
- package/dist/integrations/auto-commit.js +399 -0
- package/dist/integrations/auto-commit.js.map +1 -0
- package/dist/integrations/git.d.ts +299 -0
- package/dist/integrations/git.d.ts.map +1 -0
- package/dist/integrations/git.js +465 -0
- package/dist/integrations/git.js.map +1 -0
- package/dist/mcp-server/bin.d.ts +11 -0
- package/dist/mcp-server/bin.d.ts.map +1 -0
- package/dist/mcp-server/handlers/index.d.ts +57 -0
- package/dist/mcp-server/handlers/index.d.ts.map +1 -0
- package/dist/mcp-server/handlers/index.js +235 -0
- package/dist/mcp-server/handlers/index.js.map +1 -0
- package/dist/mcp-server/index.d.ts +28 -0
- package/dist/mcp-server/index.d.ts.map +1 -0
- package/dist/mcp-server/server.d.ts +133 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +280 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/agents/index.d.ts +10 -0
- package/dist/mcp-server/tools/agents/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/agents/list.d.ts +19 -0
- package/dist/mcp-server/tools/agents/list.d.ts.map +1 -0
- package/dist/mcp-server/tools/agents/spawn.d.ts +19 -0
- package/dist/mcp-server/tools/agents/spawn.d.ts.map +1 -0
- package/dist/mcp-server/tools/graph/generate.d.ts +21 -0
- package/dist/mcp-server/tools/graph/generate.d.ts.map +1 -0
- package/dist/mcp-server/tools/graph/index.d.ts +11 -0
- package/dist/mcp-server/tools/graph/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/graph/query.d.ts +22 -0
- package/dist/mcp-server/tools/graph/query.d.ts.map +1 -0
- package/dist/mcp-server/tools/graph/stats.d.ts +22 -0
- package/dist/mcp-server/tools/graph/stats.d.ts.map +1 -0
- package/dist/mcp-server/tools/health.d.ts +21 -0
- package/dist/mcp-server/tools/health.d.ts.map +1 -0
- package/dist/mcp-server/tools/index.d.ts +13 -0
- package/dist/mcp-server/tools/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/registry.d.ts +90 -0
- package/dist/mcp-server/tools/registry.d.ts.map +1 -0
- package/dist/mcp-server/tools/registry.js +663 -0
- package/dist/mcp-server/tools/registry.js.map +1 -0
- package/dist/mcp-server/tools/search/index.d.ts +10 -0
- package/dist/mcp-server/tools/search/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/search/nodes.d.ts +22 -0
- package/dist/mcp-server/tools/search/nodes.d.ts.map +1 -0
- package/dist/mcp-server/tools/search/tags.d.ts +22 -0
- package/dist/mcp-server/tools/search/tags.d.ts.map +1 -0
- package/dist/mcp-server/types/index.d.ts +286 -0
- package/dist/mcp-server/types/index.d.ts.map +1 -0
- package/dist/memory/index.d.ts +10 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/vault-sync.d.ts +212 -0
- package/dist/memory/vault-sync.d.ts.map +1 -0
- package/dist/memory/vault-sync.js +463 -0
- package/dist/memory/vault-sync.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +296 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +71 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +26 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +407 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1332 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +71 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
- package/dist/node_modules/ajv/dist/ajv.js +84 -0
- package/dist/node_modules/ajv/dist/ajv.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/codegen/code.js +160 -0
- package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/codegen/index.js +728 -0
- package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/codegen/scope.js +152 -0
- package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/errors.js +131 -0
- package/dist/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/index.js +234 -0
- package/dist/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/names.js +44 -0
- package/dist/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/ref_error.js +22 -0
- package/dist/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/resolve.js +163 -0
- package/dist/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/rules.js +35 -0
- package/dist/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/util.js +173 -0
- package/dist/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/applicability.js +27 -0
- package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +58 -0
- package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/dataType.js +193 -0
- package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/defaults.js +43 -0
- package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/index.js +522 -0
- package/dist/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/keyword.js +126 -0
- package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/subschema.js +89 -0
- package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/dist/node_modules/ajv/dist/core.js +628 -0
- package/dist/node_modules/ajv/dist/core.js.map +1 -0
- package/dist/node_modules/ajv/dist/refs/data.json.js +24 -0
- package/dist/node_modules/ajv/dist/refs/data.json.js.map +1 -0
- package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +25 -0
- package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/equal.js +16 -0
- package/dist/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/ucs2length.js +30 -0
- package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/uri.js +16 -0
- package/dist/node_modules/ajv/dist/runtime/uri.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/validation_error.js +20 -0
- package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +59 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +114 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +32 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +22 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +100 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +103 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +75 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +68 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +64 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +43 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +36 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +64 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +81 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +22 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +66 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +49 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +23 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/code.js +140 -0
- package/dist/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/id.js +19 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/index.js +27 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +132 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +114 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +18 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/draft7.js +31 -0
- package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/format.js +95 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/index.js +16 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/metadata.js +27 -0
- package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +36 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +56 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +52 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +34 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +39 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +37 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +34 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +33 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +34 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +89 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +75 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/dist/node_modules/ajv-formats/dist/formats.js +209 -0
- package/dist/node_modules/ajv-formats/dist/formats.js.map +1 -0
- package/dist/node_modules/ajv-formats/dist/index.js +51 -0
- package/dist/node_modules/ajv-formats/dist/index.js.map +1 -0
- package/dist/node_modules/ajv-formats/dist/limit.js +80 -0
- package/dist/node_modules/ajv-formats/dist/limit.js.map +1 -0
- package/dist/node_modules/fast-deep-equal/index.js +39 -0
- package/dist/node_modules/fast-deep-equal/index.js.map +1 -0
- package/dist/node_modules/fast-uri/index.js +261 -0
- package/dist/node_modules/fast-uri/index.js.map +1 -0
- package/dist/node_modules/fast-uri/lib/schemes.js +215 -0
- package/dist/node_modules/fast-uri/lib/schemes.js.map +1 -0
- package/dist/node_modules/fast-uri/lib/utils.js +261 -0
- package/dist/node_modules/fast-uri/lib/utils.js.map +1 -0
- package/dist/node_modules/json-schema-traverse/index.js +92 -0
- package/dist/node_modules/json-schema-traverse/index.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.js +37 -0
- package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.js +43 -0
- package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.js +13 -0
- package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.js +688 -0
- package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/api.js +492 -0
- package/dist/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.js +405 -0
- package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/zod/v4/core/core.js +58 -0
- package/dist/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.js +38 -0
- package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.js +82 -0
- package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.js +60 -0
- package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.js +87 -0
- package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.js +52 -0
- package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.js +1283 -0
- package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/util.js +341 -0
- package/dist/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.js +9 -0
- package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +2 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
- package/dist/reasoning/index.d.ts +74 -0
- package/dist/reasoning/index.d.ts.map +1 -0
- package/dist/reasoning/index.js +124 -0
- package/dist/reasoning/index.js.map +1 -0
- package/dist/reasoning/tracker.d.ts +210 -0
- package/dist/reasoning/tracker.d.ts.map +1 -0
- package/dist/reasoning/types.d.ts +146 -0
- package/dist/reasoning/types.d.ts.map +1 -0
- package/dist/recovery/backup.d.ts +110 -0
- package/dist/recovery/backup.d.ts.map +1 -0
- package/dist/recovery/index.d.ts +70 -0
- package/dist/recovery/index.d.ts.map +1 -0
- package/dist/recovery/index.js +186 -0
- package/dist/recovery/index.js.map +1 -0
- package/dist/recovery/integrity.d.ts +74 -0
- package/dist/recovery/integrity.d.ts.map +1 -0
- package/dist/recovery/types.d.ts +94 -0
- package/dist/recovery/types.d.ts.map +1 -0
- package/dist/services/index.d.ts +130 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +134 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/manager.d.ts +140 -0
- package/dist/services/manager.d.ts.map +1 -0
- package/dist/services/types.d.ts +106 -0
- package/dist/services/types.d.ts.map +1 -0
- package/dist/services/watchers.d.ts +95 -0
- package/dist/services/watchers.d.ts.map +1 -0
- package/dist/sops/compliance-checker.d.ts +83 -0
- package/dist/sops/compliance-checker.d.ts.map +1 -0
- package/dist/sops/compliance-checker.js +399 -0
- package/dist/sops/compliance-checker.js.map +1 -0
- package/dist/sops/gap-analyzer.d.ts +124 -0
- package/dist/sops/gap-analyzer.d.ts.map +1 -0
- package/dist/sops/gap-analyzer.js +313 -0
- package/dist/sops/gap-analyzer.js.map +1 -0
- package/dist/sops/index.d.ts +14 -0
- package/dist/sops/index.d.ts.map +1 -0
- package/dist/sops/overlay-manager.d.ts +115 -0
- package/dist/sops/overlay-manager.d.ts.map +1 -0
- package/dist/sops/overlay-manager.js +394 -0
- package/dist/sops/overlay-manager.js.map +1 -0
- package/dist/sops/registry.d.ts +73 -0
- package/dist/sops/registry.d.ts.map +1 -0
- package/dist/sops/registry.js +919 -0
- package/dist/sops/registry.js.map +1 -0
- package/dist/sops/types.d.ts +377 -0
- package/dist/sops/types.d.ts.map +1 -0
- package/dist/sops/types.js +46 -0
- package/dist/sops/types.js.map +1 -0
- package/dist/utils/error-recovery.d.ts +230 -0
- package/dist/utils/error-recovery.d.ts.map +1 -0
- package/dist/utils/error-recovery.js +228 -0
- package/dist/utils/error-recovery.js.map +1 -0
- package/dist/utils/error-taxonomy.d.ts +149 -0
- package/dist/utils/error-taxonomy.d.ts.map +1 -0
- package/dist/utils/error-taxonomy.js +260 -0
- package/dist/utils/error-taxonomy.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +139 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +311 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/workflows/index.d.ts +11 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/registry.d.ts +118 -0
- package/dist/workflows/registry.d.ts.map +1 -0
- package/dist/workflows/registry.js +575 -0
- package/dist/workflows/registry.js.map +1 -0
- package/dist/workflows/types.d.ts +322 -0
- package/dist/workflows/types.d.ts.map +1 -0
- package/dist/workflows/types.js +16 -0
- package/dist/workflows/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { Server } from "../node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js";
|
|
2
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
+
import { McpError, ErrorCode, ListToolsRequestSchema, CallToolRequestSchema } from "../node_modules/@modelcontextprotocol/sdk/dist/esm/types.js";
|
|
4
|
+
import { createLogger } from "../utils/logger.js";
|
|
5
|
+
import { getToolDefinitions, initializeTools, getToolCount } from "./tools/registry.js";
|
|
6
|
+
import { handleToolCall } from "./handlers/index.js";
|
|
7
|
+
const logger = createLogger("mcp-server");
|
|
8
|
+
function generateErrorRefId() {
|
|
9
|
+
const timestamp = Date.now().toString(36);
|
|
10
|
+
const random = Math.random().toString(36).substring(2, 8);
|
|
11
|
+
return `ERR-${timestamp}-${random}`.toUpperCase();
|
|
12
|
+
}
|
|
13
|
+
const DEFAULT_CONFIG = {
|
|
14
|
+
name: "knowledge-graph-mcp-server",
|
|
15
|
+
version: "0.3.0",
|
|
16
|
+
capabilities: {
|
|
17
|
+
tools: {}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
class KnowledgeGraphMCPServer {
|
|
21
|
+
server;
|
|
22
|
+
isRunning = false;
|
|
23
|
+
startTime = 0;
|
|
24
|
+
requestCount = 0;
|
|
25
|
+
config;
|
|
26
|
+
// Rate limiting - tracks request counts per minute
|
|
27
|
+
requestCounts = /* @__PURE__ */ new Map();
|
|
28
|
+
MAX_REQUESTS_PER_MINUTE = 100;
|
|
29
|
+
database;
|
|
30
|
+
cache;
|
|
31
|
+
projectRoot;
|
|
32
|
+
/**
|
|
33
|
+
* Create new MCP server instance
|
|
34
|
+
*
|
|
35
|
+
* @param config - Server configuration
|
|
36
|
+
* @param database - Knowledge graph database instance
|
|
37
|
+
* @param cache - Shadow cache instance
|
|
38
|
+
* @param projectRoot - Project root path
|
|
39
|
+
*/
|
|
40
|
+
constructor(config, database, cache, projectRoot) {
|
|
41
|
+
this.database = database;
|
|
42
|
+
this.cache = cache;
|
|
43
|
+
this.projectRoot = projectRoot;
|
|
44
|
+
this.config = {
|
|
45
|
+
name: config?.name || DEFAULT_CONFIG.name,
|
|
46
|
+
version: config?.version || DEFAULT_CONFIG.version,
|
|
47
|
+
capabilities: {
|
|
48
|
+
...DEFAULT_CONFIG.capabilities,
|
|
49
|
+
...config?.capabilities
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
this.server = new Server(
|
|
53
|
+
{
|
|
54
|
+
name: this.config.name,
|
|
55
|
+
version: this.config.version
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
capabilities: this.config.capabilities
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
this.setupHandlers();
|
|
62
|
+
logger.info("KnowledgeGraphMCPServer initialized", {
|
|
63
|
+
name: this.config.name,
|
|
64
|
+
version: this.config.version
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check rate limit and throw if exceeded
|
|
69
|
+
*
|
|
70
|
+
* Implements a fixed-window rate limit of MAX_REQUESTS_PER_MINUTE per minute.
|
|
71
|
+
* Cleans up old entries to prevent memory leaks.
|
|
72
|
+
*
|
|
73
|
+
* @throws McpError if rate limit is exceeded
|
|
74
|
+
*/
|
|
75
|
+
checkRateLimit() {
|
|
76
|
+
const now = Math.floor(Date.now() / 6e4);
|
|
77
|
+
const count = (this.requestCounts.get(now) || 0) + 1;
|
|
78
|
+
for (const key of this.requestCounts.keys()) {
|
|
79
|
+
if (key < now - 1) this.requestCounts.delete(key);
|
|
80
|
+
}
|
|
81
|
+
if (count > this.MAX_REQUESTS_PER_MINUTE) {
|
|
82
|
+
logger.warn("Rate limit exceeded", { requestsThisMinute: count - 1 });
|
|
83
|
+
throw new McpError(
|
|
84
|
+
ErrorCode.InvalidRequest,
|
|
85
|
+
"Rate limit exceeded. Please slow down."
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
this.requestCounts.set(now, count);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Setup MCP request handlers
|
|
92
|
+
*/
|
|
93
|
+
setupHandlers() {
|
|
94
|
+
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
95
|
+
try {
|
|
96
|
+
const tools = getToolDefinitions();
|
|
97
|
+
logger.debug(`Listing ${tools.length} tools`);
|
|
98
|
+
return { tools };
|
|
99
|
+
} catch (error) {
|
|
100
|
+
const errorRefId = generateErrorRefId();
|
|
101
|
+
logger.error(
|
|
102
|
+
"Failed to list tools",
|
|
103
|
+
error instanceof Error ? error : new Error(String(error)),
|
|
104
|
+
{ errorRefId }
|
|
105
|
+
);
|
|
106
|
+
throw new McpError(
|
|
107
|
+
ErrorCode.InternalError,
|
|
108
|
+
`An internal error occurred [${errorRefId}]`
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
113
|
+
this.checkRateLimit();
|
|
114
|
+
this.requestCount++;
|
|
115
|
+
const toolName = request.params.name;
|
|
116
|
+
try {
|
|
117
|
+
logger.debug(`Handling tool call: ${toolName}`);
|
|
118
|
+
return await handleToolCall(request);
|
|
119
|
+
} catch (error) {
|
|
120
|
+
if (error instanceof McpError) {
|
|
121
|
+
throw error;
|
|
122
|
+
}
|
|
123
|
+
const errorRefId = generateErrorRefId();
|
|
124
|
+
logger.error(
|
|
125
|
+
"Tool execution failed",
|
|
126
|
+
error instanceof Error ? error : new Error(String(error)),
|
|
127
|
+
{ errorRefId, toolName }
|
|
128
|
+
);
|
|
129
|
+
throw new McpError(
|
|
130
|
+
ErrorCode.InternalError,
|
|
131
|
+
`An internal error occurred [${errorRefId}]`
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
logger.debug("Request handlers configured");
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Start the MCP server
|
|
139
|
+
*
|
|
140
|
+
* @throws Error if server is already running
|
|
141
|
+
*/
|
|
142
|
+
async run() {
|
|
143
|
+
if (this.isRunning) {
|
|
144
|
+
throw new Error("Server is already running");
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
await initializeTools(this.database, this.cache, this.projectRoot);
|
|
148
|
+
const transport = new StdioServerTransport();
|
|
149
|
+
await this.server.connect(transport);
|
|
150
|
+
this.isRunning = true;
|
|
151
|
+
this.startTime = Date.now();
|
|
152
|
+
logger.info("KnowledgeGraphMCPServer running on stdio transport");
|
|
153
|
+
logger.info("Ready to accept tool requests from MCP clients");
|
|
154
|
+
} catch (error) {
|
|
155
|
+
logger.error(
|
|
156
|
+
"Failed to start MCP server",
|
|
157
|
+
error instanceof Error ? error : void 0
|
|
158
|
+
);
|
|
159
|
+
throw error;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Shutdown the MCP server gracefully
|
|
164
|
+
*/
|
|
165
|
+
async shutdown() {
|
|
166
|
+
if (!this.isRunning) {
|
|
167
|
+
logger.warn("Server is not running, shutdown skipped");
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
try {
|
|
171
|
+
await this.server.close();
|
|
172
|
+
this.isRunning = false;
|
|
173
|
+
const uptime = Date.now() - this.startTime;
|
|
174
|
+
logger.info("KnowledgeGraphMCPServer shutdown complete", {
|
|
175
|
+
uptime: `${(uptime / 1e3).toFixed(2)}s`,
|
|
176
|
+
requestsHandled: this.requestCount
|
|
177
|
+
});
|
|
178
|
+
} catch (error) {
|
|
179
|
+
logger.error(
|
|
180
|
+
"Error during shutdown",
|
|
181
|
+
error instanceof Error ? error : void 0
|
|
182
|
+
);
|
|
183
|
+
throw error;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get server health status
|
|
188
|
+
*
|
|
189
|
+
* @returns Health status object
|
|
190
|
+
*/
|
|
191
|
+
getHealth() {
|
|
192
|
+
return {
|
|
193
|
+
status: this.isRunning ? "healthy" : "unhealthy",
|
|
194
|
+
components: {
|
|
195
|
+
database: !!this.database,
|
|
196
|
+
cache: !!this.cache,
|
|
197
|
+
agents: true
|
|
198
|
+
// Agents are always available
|
|
199
|
+
},
|
|
200
|
+
uptime: this.isRunning ? Date.now() - this.startTime : 0,
|
|
201
|
+
requestCount: this.requestCount,
|
|
202
|
+
toolCount: getToolCount()
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Check if server is currently running
|
|
207
|
+
*
|
|
208
|
+
* @returns true if server is running
|
|
209
|
+
*/
|
|
210
|
+
isServerRunning() {
|
|
211
|
+
return this.isRunning;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Get server configuration
|
|
215
|
+
*
|
|
216
|
+
* @returns Server configuration
|
|
217
|
+
*/
|
|
218
|
+
getConfig() {
|
|
219
|
+
return { ...this.config };
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Get request count
|
|
223
|
+
*
|
|
224
|
+
* @returns Number of requests handled
|
|
225
|
+
*/
|
|
226
|
+
getRequestCount() {
|
|
227
|
+
return this.requestCount;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Get server uptime in milliseconds
|
|
231
|
+
*
|
|
232
|
+
* @returns Uptime in milliseconds, 0 if not running
|
|
233
|
+
*/
|
|
234
|
+
getUptime() {
|
|
235
|
+
return this.isRunning ? Date.now() - this.startTime : 0;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
async function createMCPServer(config, database, cache, projectRoot) {
|
|
239
|
+
const server = new KnowledgeGraphMCPServer(config, database, cache, projectRoot);
|
|
240
|
+
await server.run();
|
|
241
|
+
return server;
|
|
242
|
+
}
|
|
243
|
+
async function runServer(options) {
|
|
244
|
+
const server = new KnowledgeGraphMCPServer(
|
|
245
|
+
options?.config,
|
|
246
|
+
options?.database,
|
|
247
|
+
options?.cache,
|
|
248
|
+
options?.projectRoot
|
|
249
|
+
);
|
|
250
|
+
process.on("SIGINT", async () => {
|
|
251
|
+
logger.info("Received SIGINT, shutting down...");
|
|
252
|
+
await server.shutdown();
|
|
253
|
+
process.exit(0);
|
|
254
|
+
});
|
|
255
|
+
process.on("SIGTERM", async () => {
|
|
256
|
+
logger.info("Received SIGTERM, shutting down...");
|
|
257
|
+
await server.shutdown();
|
|
258
|
+
process.exit(0);
|
|
259
|
+
});
|
|
260
|
+
process.on("uncaughtException", async (error) => {
|
|
261
|
+
logger.error("Uncaught exception", error);
|
|
262
|
+
await server.shutdown();
|
|
263
|
+
process.exit(1);
|
|
264
|
+
});
|
|
265
|
+
process.on("unhandledRejection", async (reason) => {
|
|
266
|
+
logger.error(
|
|
267
|
+
"Unhandled rejection",
|
|
268
|
+
reason instanceof Error ? reason : void 0
|
|
269
|
+
);
|
|
270
|
+
await server.shutdown();
|
|
271
|
+
process.exit(1);
|
|
272
|
+
});
|
|
273
|
+
await server.run();
|
|
274
|
+
}
|
|
275
|
+
export {
|
|
276
|
+
KnowledgeGraphMCPServer,
|
|
277
|
+
createMCPServer,
|
|
278
|
+
runServer
|
|
279
|
+
};
|
|
280
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sources":["../../src/mcp-server/server.ts"],"sourcesContent":["/**\n * Knowledge Graph MCP Server\n *\n * Main MCP server implementation for exposing knowledge graph functionality\n * to Claude Desktop and other MCP clients.\n *\n * @module mcp-server/server\n */\n\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport {\n CallToolRequestSchema,\n ListToolsRequestSchema,\n ErrorCode,\n McpError,\n} from '@modelcontextprotocol/sdk/types.js';\nimport { createLogger } from '../utils/index.js';\nimport { getToolDefinitions, initializeTools, getToolCount } from './tools/registry.js';\nimport { handleToolCall } from './handlers/index.js';\nimport type { MCPServerConfig, ServerHealth } from './types/index.js';\nimport type { KnowledgeGraphDatabase } from '../core/database.js';\nimport type { ShadowCache } from '../core/cache.js';\n\nconst logger = createLogger('mcp-server');\n\n/**\n * Generate a unique error reference ID for log correlation\n * @returns A unique error reference ID\n */\nfunction generateErrorRefId(): string {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 8);\n return `ERR-${timestamp}-${random}`.toUpperCase();\n}\n\n/**\n * Default server configuration\n */\nconst DEFAULT_CONFIG: MCPServerConfig = {\n name: 'knowledge-graph-mcp-server',\n version: '0.3.0',\n capabilities: {\n tools: {},\n },\n};\n\n/**\n * Knowledge Graph MCP Server\n *\n * Provides MCP protocol implementation for knowledge graph operations.\n * Supports tool listing and execution over stdio transport.\n *\n * @example\n * ```typescript\n * const server = new KnowledgeGraphMCPServer();\n * await server.run();\n * ```\n */\nexport class KnowledgeGraphMCPServer {\n private server: Server;\n private isRunning: boolean = false;\n private startTime: number = 0;\n private requestCount: number = 0;\n private config: MCPServerConfig;\n\n // Rate limiting - tracks request counts per minute\n private requestCounts: Map<number, number> = new Map();\n private readonly MAX_REQUESTS_PER_MINUTE = 100;\n\n private database?: KnowledgeGraphDatabase;\n private cache?: ShadowCache;\n private projectRoot?: string;\n\n /**\n * Create new MCP server instance\n *\n * @param config - Server configuration\n * @param database - Knowledge graph database instance\n * @param cache - Shadow cache instance\n * @param projectRoot - Project root path\n */\n constructor(\n config?: Partial<MCPServerConfig>,\n database?: KnowledgeGraphDatabase,\n cache?: ShadowCache,\n projectRoot?: string\n ) {\n this.database = database;\n this.cache = cache;\n this.projectRoot = projectRoot;\n\n // Merge with default config\n this.config = {\n name: config?.name || DEFAULT_CONFIG.name,\n version: config?.version || DEFAULT_CONFIG.version,\n capabilities: {\n ...DEFAULT_CONFIG.capabilities,\n ...config?.capabilities,\n },\n };\n\n // Create MCP server instance\n this.server = new Server(\n {\n name: this.config.name,\n version: this.config.version,\n },\n {\n capabilities: this.config.capabilities,\n }\n );\n\n // Setup request handlers\n this.setupHandlers();\n\n logger.info('KnowledgeGraphMCPServer initialized', {\n name: this.config.name,\n version: this.config.version,\n });\n }\n\n /**\n * Check rate limit and throw if exceeded\n *\n * Implements a fixed-window rate limit of MAX_REQUESTS_PER_MINUTE per minute.\n * Cleans up old entries to prevent memory leaks.\n *\n * @throws McpError if rate limit is exceeded\n */\n private checkRateLimit(): void {\n const now = Math.floor(Date.now() / 60000); // Current minute\n const count = (this.requestCounts.get(now) || 0) + 1;\n\n // Clean old entries to prevent memory leaks\n for (const key of this.requestCounts.keys()) {\n if (key < now - 1) this.requestCounts.delete(key);\n }\n\n if (count > this.MAX_REQUESTS_PER_MINUTE) {\n logger.warn('Rate limit exceeded', { requestsThisMinute: count - 1 });\n throw new McpError(\n ErrorCode.InvalidRequest,\n 'Rate limit exceeded. Please slow down.'\n );\n }\n\n this.requestCounts.set(now, count);\n }\n\n /**\n * Setup MCP request handlers\n */\n private setupHandlers(): void {\n // Handle ListTools requests\n this.server.setRequestHandler(ListToolsRequestSchema, async () => {\n try {\n const tools = getToolDefinitions();\n logger.debug(`Listing ${tools.length} tools`);\n return { tools };\n } catch (error) {\n const errorRefId = generateErrorRefId();\n logger.error(\n 'Failed to list tools',\n error instanceof Error ? error : new Error(String(error)),\n { errorRefId }\n );\n throw new McpError(\n ErrorCode.InternalError,\n `An internal error occurred [${errorRefId}]`\n );\n }\n });\n\n // Handle CallTool requests\n this.server.setRequestHandler(CallToolRequestSchema, async (request) => {\n // Check rate limit before processing\n this.checkRateLimit();\n\n this.requestCount++;\n const toolName = request.params.name;\n\n try {\n logger.debug(`Handling tool call: ${toolName}`);\n return await handleToolCall(request);\n } catch (error) {\n // Re-throw MCP errors as they are already sanitized\n if (error instanceof McpError) {\n throw error;\n }\n\n // Generate error reference for log correlation\n const errorRefId = generateErrorRefId();\n logger.error(\n 'Tool execution failed',\n error instanceof Error ? error : new Error(String(error)),\n { errorRefId, toolName }\n );\n\n // Return sanitized error message with reference ID\n throw new McpError(\n ErrorCode.InternalError,\n `An internal error occurred [${errorRefId}]`\n );\n }\n });\n\n logger.debug('Request handlers configured');\n }\n\n /**\n * Start the MCP server\n *\n * @throws Error if server is already running\n */\n async run(): Promise<void> {\n if (this.isRunning) {\n throw new Error('Server is already running');\n }\n\n try {\n // Initialize tools with dependencies\n await initializeTools(this.database, this.cache, this.projectRoot);\n\n // Create stdio transport\n const transport = new StdioServerTransport();\n\n // Connect server to transport\n await this.server.connect(transport);\n\n this.isRunning = true;\n this.startTime = Date.now();\n\n logger.info('KnowledgeGraphMCPServer running on stdio transport');\n logger.info('Ready to accept tool requests from MCP clients');\n } catch (error) {\n logger.error(\n 'Failed to start MCP server',\n error instanceof Error ? error : undefined\n );\n throw error;\n }\n }\n\n /**\n * Shutdown the MCP server gracefully\n */\n async shutdown(): Promise<void> {\n if (!this.isRunning) {\n logger.warn('Server is not running, shutdown skipped');\n return;\n }\n\n try {\n // Close server connection\n await this.server.close();\n\n this.isRunning = false;\n\n const uptime = Date.now() - this.startTime;\n logger.info('KnowledgeGraphMCPServer shutdown complete', {\n uptime: `${(uptime / 1000).toFixed(2)}s`,\n requestsHandled: this.requestCount,\n });\n } catch (error) {\n logger.error(\n 'Error during shutdown',\n error instanceof Error ? error : undefined\n );\n throw error;\n }\n }\n\n /**\n * Get server health status\n *\n * @returns Health status object\n */\n getHealth(): ServerHealth {\n return {\n status: this.isRunning ? 'healthy' : 'unhealthy',\n components: {\n database: !!this.database,\n cache: !!this.cache,\n agents: true, // Agents are always available\n },\n uptime: this.isRunning ? Date.now() - this.startTime : 0,\n requestCount: this.requestCount,\n toolCount: getToolCount(),\n };\n }\n\n /**\n * Check if server is currently running\n *\n * @returns true if server is running\n */\n isServerRunning(): boolean {\n return this.isRunning;\n }\n\n /**\n * Get server configuration\n *\n * @returns Server configuration\n */\n getConfig(): MCPServerConfig {\n return { ...this.config };\n }\n\n /**\n * Get request count\n *\n * @returns Number of requests handled\n */\n getRequestCount(): number {\n return this.requestCount;\n }\n\n /**\n * Get server uptime in milliseconds\n *\n * @returns Uptime in milliseconds, 0 if not running\n */\n getUptime(): number {\n return this.isRunning ? Date.now() - this.startTime : 0;\n }\n}\n\n/**\n * Create and start an MCP server\n *\n * Convenience function for creating and running an MCP server in one call.\n *\n * @param config - Server configuration\n * @param database - Knowledge graph database instance\n * @param cache - Shadow cache instance\n * @param projectRoot - Project root path\n * @returns Running MCP server instance\n *\n * @example\n * ```typescript\n * const server = await createMCPServer(\n * { name: 'my-kg-server' },\n * database,\n * cache,\n * '/my/project'\n * );\n * ```\n */\nexport async function createMCPServer(\n config?: Partial<MCPServerConfig>,\n database?: KnowledgeGraphDatabase,\n cache?: ShadowCache,\n projectRoot?: string\n): Promise<KnowledgeGraphMCPServer> {\n const server = new KnowledgeGraphMCPServer(config, database, cache, projectRoot);\n await server.run();\n return server;\n}\n\n/**\n * Run MCP server as standalone process\n *\n * Entry point for running the MCP server from command line.\n *\n * @param options - Server options\n */\nexport async function runServer(options?: {\n config?: Partial<MCPServerConfig>;\n database?: KnowledgeGraphDatabase;\n cache?: ShadowCache;\n projectRoot?: string;\n}): Promise<void> {\n const server = new KnowledgeGraphMCPServer(\n options?.config,\n options?.database,\n options?.cache,\n options?.projectRoot\n );\n\n // Handle graceful shutdown\n process.on('SIGINT', async () => {\n logger.info('Received SIGINT, shutting down...');\n await server.shutdown();\n process.exit(0);\n });\n\n process.on('SIGTERM', async () => {\n logger.info('Received SIGTERM, shutting down...');\n await server.shutdown();\n process.exit(0);\n });\n\n // Handle uncaught errors\n process.on('uncaughtException', async (error) => {\n logger.error('Uncaught exception', error);\n await server.shutdown();\n process.exit(1);\n });\n\n process.on('unhandledRejection', async (reason) => {\n logger.error(\n 'Unhandled rejection',\n reason instanceof Error ? reason : undefined\n );\n await server.shutdown();\n process.exit(1);\n });\n\n await server.run();\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Tools - Barrel Export
|
|
3
|
+
*
|
|
4
|
+
* Exports agent management MCP tools.
|
|
5
|
+
*
|
|
6
|
+
* @module mcp-server/tools/agents
|
|
7
|
+
*/
|
|
8
|
+
export { agentSpawnTool, createAgentSpawnHandler } from './spawn.js';
|
|
9
|
+
export { agentListTool, createAgentListHandler } from './list.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent List Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for listing all active agents and their status.
|
|
5
|
+
* Provides filtering by type and status.
|
|
6
|
+
*
|
|
7
|
+
* @module mcp-server/tools/agents/list
|
|
8
|
+
*/
|
|
9
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
10
|
+
import type { ToolHandler } from '../../types/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Agent list tool definition
|
|
13
|
+
*/
|
|
14
|
+
export declare const agentListTool: Tool;
|
|
15
|
+
/**
|
|
16
|
+
* Create handler for agent list tool
|
|
17
|
+
*/
|
|
18
|
+
export declare function createAgentListHandler(): ToolHandler;
|
|
19
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/agents/list.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAGpE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAkB3B,CAAC;AAqCF;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,CA6FpD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Spawn Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for spawning specialized agents to perform tasks.
|
|
5
|
+
* Integrates with the agent registry for lifecycle management.
|
|
6
|
+
*
|
|
7
|
+
* @module mcp-server/tools/agents/spawn
|
|
8
|
+
*/
|
|
9
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
10
|
+
import type { ToolHandler } from '../../types/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Agent spawn tool definition
|
|
13
|
+
*/
|
|
14
|
+
export declare const agentSpawnTool: Tool;
|
|
15
|
+
/**
|
|
16
|
+
* Create handler for agent spawn tool
|
|
17
|
+
*/
|
|
18
|
+
export declare function createAgentSpawnHandler(): ToolHandler;
|
|
19
|
+
//# sourceMappingURL=spawn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/agents/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAGpE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IA6B5B,CAAC;AAmCF;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CA2FrD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph Generate Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for generating or regenerating the knowledge graph from documentation.
|
|
5
|
+
*
|
|
6
|
+
* @module mcp-server/tools/graph/generate
|
|
7
|
+
*/
|
|
8
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
+
import type { ToolHandler } from '../../types/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Graph generate tool definition
|
|
12
|
+
*/
|
|
13
|
+
export declare const graphGenerateTool: Tool;
|
|
14
|
+
/**
|
|
15
|
+
* Create graph generate handler
|
|
16
|
+
*
|
|
17
|
+
* @param projectRoot - Project root directory path
|
|
18
|
+
* @returns Tool handler function
|
|
19
|
+
*/
|
|
20
|
+
export declare function createGraphGenerateHandler(projectRoot?: string): ToolHandler;
|
|
21
|
+
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/graph/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAGpE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,IAuB/B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CA4F5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/graph/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph Query Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for querying the knowledge graph for nodes and relationships.
|
|
5
|
+
*
|
|
6
|
+
* @module mcp-server/tools/graph/query
|
|
7
|
+
*/
|
|
8
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
+
import type { ToolHandler } from '../../types/index.js';
|
|
10
|
+
import type { KnowledgeGraphDatabase } from '../../../core/database.js';
|
|
11
|
+
/**
|
|
12
|
+
* Graph query tool definition
|
|
13
|
+
*/
|
|
14
|
+
export declare const graphQueryTool: Tool;
|
|
15
|
+
/**
|
|
16
|
+
* Create graph query handler
|
|
17
|
+
*
|
|
18
|
+
* @param database - Knowledge graph database instance
|
|
19
|
+
* @returns Tool handler function
|
|
20
|
+
*/
|
|
21
|
+
export declare function createGraphQueryHandler(database?: KnowledgeGraphDatabase): ToolHandler;
|
|
22
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/graph/query.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IA8B5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,WAAW,CA0FtF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph Stats Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for retrieving statistics about the knowledge graph.
|
|
5
|
+
*
|
|
6
|
+
* @module mcp-server/tools/graph/stats
|
|
7
|
+
*/
|
|
8
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
+
import type { ToolHandler } from '../../types/index.js';
|
|
10
|
+
import type { KnowledgeGraphDatabase } from '../../../core/database.js';
|
|
11
|
+
/**
|
|
12
|
+
* Graph stats tool definition
|
|
13
|
+
*/
|
|
14
|
+
export declare const graphStatsTool: Tool;
|
|
15
|
+
/**
|
|
16
|
+
* Create graph stats handler
|
|
17
|
+
*
|
|
18
|
+
* @param database - Knowledge graph database instance
|
|
19
|
+
* @returns Tool handler function
|
|
20
|
+
*/
|
|
21
|
+
export declare function createGraphStatsHandler(database?: KnowledgeGraphDatabase): ToolHandler;
|
|
22
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/graph/stats.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IAa5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,WAAW,CA2DtF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Health Check Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for checking the health status of the knowledge graph server.
|
|
5
|
+
* Provides detailed diagnostics about all server components.
|
|
6
|
+
*
|
|
7
|
+
* @module mcp-server/tools/health
|
|
8
|
+
*/
|
|
9
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
10
|
+
import type { ToolHandler } from '../types/index.js';
|
|
11
|
+
import type { KnowledgeGraphDatabase } from '../../core/database.js';
|
|
12
|
+
import type { ShadowCache } from '../../core/cache.js';
|
|
13
|
+
/**
|
|
14
|
+
* Health check tool definition
|
|
15
|
+
*/
|
|
16
|
+
export declare const healthCheckTool: Tool;
|
|
17
|
+
/**
|
|
18
|
+
* Create handler for health check tool
|
|
19
|
+
*/
|
|
20
|
+
export declare function createHealthCheckHandler(database?: KnowledgeGraphDatabase, cache?: ShadowCache): ToolHandler;
|
|
21
|
+
//# sourceMappingURL=health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/health.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiBvD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IAqB7B,CAAC;AAyLF;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,CAAC,EAAE,sBAAsB,EACjC,KAAK,CAAC,EAAE,WAAW,GAClB,WAAW,CAgFb"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tools Module
|
|
3
|
+
*
|
|
4
|
+
* Central export for all MCP tool modules.
|
|
5
|
+
*
|
|
6
|
+
* @module mcp-server/tools
|
|
7
|
+
*/
|
|
8
|
+
export { initializeTools, registerTool, getToolHandler, getToolDefinition, getToolDefinitions, getToolCategories, hasToolRegistered, getToolCount, clearRegistry, getToolRegistry, getDatabase, getCache, getProjectRoot, } from './registry.js';
|
|
9
|
+
export { graphQueryTool, createGraphQueryHandler, graphStatsTool, createGraphStatsHandler, graphGenerateTool, createGraphGenerateHandler, } from './graph/index.js';
|
|
10
|
+
export { searchNodesTool, createSearchNodesHandler, searchTagsTool, createSearchTagsHandler, } from './search/index.js';
|
|
11
|
+
export { agentSpawnTool, createAgentSpawnHandler, agentListTool, createAgentListHandler, } from './agents/index.js';
|
|
12
|
+
export { healthCheckTool, createHealthCheckHandler, } from './health.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,WAAW,EACX,QAAQ,EACR,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,cAAc,EACd,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,eAAe,EACf,wBAAwB,GACzB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registry
|
|
3
|
+
*
|
|
4
|
+
* Central registry for all MCP tools. Manages tool definitions and handlers.
|
|
5
|
+
*
|
|
6
|
+
* @module mcp-server/tools/registry
|
|
7
|
+
*/
|
|
8
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
+
import type { ToolHandler, ToolHandlerEntry, ToolCategory } from '../types/index.js';
|
|
10
|
+
import type { KnowledgeGraphDatabase } from '../../core/database.js';
|
|
11
|
+
import type { ShadowCache } from '../../core/cache.js';
|
|
12
|
+
/**
|
|
13
|
+
* Initialize tools with dependencies
|
|
14
|
+
*
|
|
15
|
+
* @param database - Knowledge graph database instance
|
|
16
|
+
* @param cache - Shadow cache instance
|
|
17
|
+
* @param projectRoot - Project root path
|
|
18
|
+
*/
|
|
19
|
+
export declare function initializeTools(database?: KnowledgeGraphDatabase, cache?: ShadowCache, projectRoot?: string): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Get shared database instance
|
|
22
|
+
*/
|
|
23
|
+
export declare function getDatabase(): KnowledgeGraphDatabase | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Get shared cache instance
|
|
26
|
+
*/
|
|
27
|
+
export declare function getCache(): ShadowCache | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Get shared project root
|
|
30
|
+
*/
|
|
31
|
+
export declare function getProjectRoot(): string | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Register a tool with its handler
|
|
34
|
+
*
|
|
35
|
+
* @param name - Tool name
|
|
36
|
+
* @param definition - Tool definition
|
|
37
|
+
* @param handler - Tool handler function
|
|
38
|
+
* @param category - Optional category name
|
|
39
|
+
*/
|
|
40
|
+
export declare function registerTool(name: string, definition: Tool, handler: ToolHandler, category?: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Get tool handler by name
|
|
43
|
+
*
|
|
44
|
+
* @param name - Tool name
|
|
45
|
+
* @returns Tool handler or undefined
|
|
46
|
+
*/
|
|
47
|
+
export declare function getToolHandler(name: string): ToolHandler | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Get tool definition by name
|
|
50
|
+
*
|
|
51
|
+
* @param name - Tool name
|
|
52
|
+
* @returns Tool definition or undefined
|
|
53
|
+
*/
|
|
54
|
+
export declare function getToolDefinition(name: string): Tool | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Get all tool definitions
|
|
57
|
+
*
|
|
58
|
+
* @returns Array of all tool definitions
|
|
59
|
+
*/
|
|
60
|
+
export declare function getToolDefinitions(): Tool[];
|
|
61
|
+
/**
|
|
62
|
+
* Get all tool categories
|
|
63
|
+
*
|
|
64
|
+
* @returns Array of tool categories
|
|
65
|
+
*/
|
|
66
|
+
export declare function getToolCategories(): ToolCategory[];
|
|
67
|
+
/**
|
|
68
|
+
* Check if a tool is registered
|
|
69
|
+
*
|
|
70
|
+
* @param name - Tool name
|
|
71
|
+
* @returns true if tool is registered
|
|
72
|
+
*/
|
|
73
|
+
export declare function hasToolRegistered(name: string): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Get count of registered tools
|
|
76
|
+
*
|
|
77
|
+
* @returns Number of registered tools
|
|
78
|
+
*/
|
|
79
|
+
export declare function getToolCount(): number;
|
|
80
|
+
/**
|
|
81
|
+
* Clear all registered tools (for testing)
|
|
82
|
+
*/
|
|
83
|
+
export declare function clearRegistry(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Get the tool registry Map
|
|
86
|
+
*
|
|
87
|
+
* @returns The tool registry Map
|
|
88
|
+
*/
|
|
89
|
+
export declare function getToolRegistry(): Map<string, ToolHandlerEntry>;
|
|
90
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAqBvD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,CAAC,EAAE,sBAAsB,EACjC,KAAK,CAAC,EAAE,WAAW,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,sBAAsB,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,WAAW,GAAG,SAAS,CAElD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAkBN;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGpE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAE/D"}
|