@weavelogic/knowledge-graph-agent 0.2.0 → 0.4.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 +972 -303
- 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/audit/config.d.ts +150 -0
- package/dist/audit/config.d.ts.map +1 -0
- package/dist/audit/config.js +111 -0
- package/dist/audit/config.js.map +1 -0
- package/dist/audit/index.d.ts +38 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/services/audit-chain.d.ts +276 -0
- package/dist/audit/services/audit-chain.d.ts.map +1 -0
- package/dist/audit/services/audit-chain.js +502 -0
- package/dist/audit/services/audit-chain.js.map +1 -0
- package/dist/audit/services/index.d.ts +11 -0
- package/dist/audit/services/index.d.ts.map +1 -0
- package/dist/audit/services/syndication.d.ts +334 -0
- package/dist/audit/services/syndication.d.ts.map +1 -0
- package/dist/audit/services/syndication.js +589 -0
- package/dist/audit/services/syndication.js.map +1 -0
- package/dist/audit/types.d.ts +453 -0
- package/dist/audit/types.d.ts.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/audit.d.ts +21 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +621 -0
- package/dist/cli/commands/audit.js.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/commands/vector.d.ts +14 -0
- package/dist/cli/commands/vector.d.ts.map +1 -0
- package/dist/cli/commands/vector.js +429 -0
- package/dist/cli/commands/vector.js.map +1 -0
- package/dist/cli/commands/workflow.d.ts +12 -0
- package/dist/cli/commands/workflow.d.ts.map +1 -0
- package/dist/cli/commands/workflow.js +471 -0
- package/dist/cli/commands/workflow.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +66 -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/database/schemas/index.d.ts +85 -0
- package/dist/database/schemas/index.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 +32 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +182 -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/audit/checkpoint.d.ts +58 -0
- package/dist/mcp-server/tools/audit/checkpoint.d.ts.map +1 -0
- package/dist/mcp-server/tools/audit/checkpoint.js +73 -0
- package/dist/mcp-server/tools/audit/checkpoint.js.map +1 -0
- package/dist/mcp-server/tools/audit/index.d.ts +53 -0
- package/dist/mcp-server/tools/audit/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/audit/index.js +12 -0
- package/dist/mcp-server/tools/audit/index.js.map +1 -0
- package/dist/mcp-server/tools/audit/query.d.ts +58 -0
- package/dist/mcp-server/tools/audit/query.d.ts.map +1 -0
- package/dist/mcp-server/tools/audit/query.js +125 -0
- package/dist/mcp-server/tools/audit/query.js.map +1 -0
- package/dist/mcp-server/tools/audit/sync.d.ts +58 -0
- package/dist/mcp-server/tools/audit/sync.d.ts.map +1 -0
- package/dist/mcp-server/tools/audit/sync.js +126 -0
- package/dist/mcp-server/tools/audit/sync.js.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 +16 -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 +753 -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/tools/vector/index.d.ts +12 -0
- package/dist/mcp-server/tools/vector/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/vector/index.js +12 -0
- package/dist/mcp-server/tools/vector/index.js.map +1 -0
- package/dist/mcp-server/tools/vector/search.d.ts +41 -0
- package/dist/mcp-server/tools/vector/search.d.ts.map +1 -0
- package/dist/mcp-server/tools/vector/search.js +224 -0
- package/dist/mcp-server/tools/vector/search.js.map +1 -0
- package/dist/mcp-server/tools/vector/trajectory.d.ts +39 -0
- package/dist/mcp-server/tools/vector/trajectory.d.ts.map +1 -0
- package/dist/mcp-server/tools/vector/trajectory.js +170 -0
- package/dist/mcp-server/tools/vector/trajectory.js.map +1 -0
- package/dist/mcp-server/tools/vector/upsert.d.ts +44 -0
- package/dist/mcp-server/tools/vector/upsert.d.ts.map +1 -0
- package/dist/mcp-server/tools/vector/upsert.js +175 -0
- package/dist/mcp-server/tools/vector/upsert.js.map +1 -0
- package/dist/mcp-server/tools/workflow/index.d.ts +29 -0
- package/dist/mcp-server/tools/workflow/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/workflow/index.js +12 -0
- package/dist/mcp-server/tools/workflow/index.js.map +1 -0
- package/dist/mcp-server/tools/workflow/list.d.ts +41 -0
- package/dist/mcp-server/tools/workflow/list.d.ts.map +1 -0
- package/dist/mcp-server/tools/workflow/list.js +195 -0
- package/dist/mcp-server/tools/workflow/list.js.map +1 -0
- package/dist/mcp-server/tools/workflow/start.d.ts +40 -0
- package/dist/mcp-server/tools/workflow/start.d.ts.map +1 -0
- package/dist/mcp-server/tools/workflow/start.js +165 -0
- package/dist/mcp-server/tools/workflow/start.js.map +1 -0
- package/dist/mcp-server/tools/workflow/status.d.ts +38 -0
- package/dist/mcp-server/tools/workflow/status.d.ts.map +1 -0
- package/dist/mcp-server/tools/workflow/status.js +97 -0
- package/dist/mcp-server/tools/workflow/status.js.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/vector/config.d.ts +300 -0
- package/dist/vector/config.d.ts.map +1 -0
- package/dist/vector/config.js +124 -0
- package/dist/vector/config.js.map +1 -0
- package/dist/vector/index.d.ts +50 -0
- package/dist/vector/index.d.ts.map +1 -0
- package/dist/vector/services/index.d.ts +13 -0
- package/dist/vector/services/index.d.ts.map +1 -0
- package/dist/vector/services/trajectory-tracker.d.ts +405 -0
- package/dist/vector/services/trajectory-tracker.d.ts.map +1 -0
- package/dist/vector/services/trajectory-tracker.js +445 -0
- package/dist/vector/services/trajectory-tracker.js.map +1 -0
- package/dist/vector/services/vector-store.d.ts +339 -0
- package/dist/vector/services/vector-store.d.ts.map +1 -0
- package/dist/vector/services/vector-store.js +748 -0
- package/dist/vector/services/vector-store.js.map +1 -0
- package/dist/vector/types.d.ts +677 -0
- package/dist/vector/types.d.ts.map +1 -0
- package/dist/workflow/adapters/goap-adapter.d.ts +196 -0
- package/dist/workflow/adapters/goap-adapter.d.ts.map +1 -0
- package/dist/workflow/adapters/goap-adapter.js +706 -0
- package/dist/workflow/adapters/goap-adapter.js.map +1 -0
- package/dist/workflow/adapters/index.d.ts +10 -0
- package/dist/workflow/adapters/index.d.ts.map +1 -0
- package/dist/workflow/config.d.ts +135 -0
- package/dist/workflow/config.d.ts.map +1 -0
- package/dist/workflow/config.js +92 -0
- package/dist/workflow/config.js.map +1 -0
- package/dist/workflow/handlers/index.d.ts +9 -0
- package/dist/workflow/handlers/index.d.ts.map +1 -0
- package/dist/workflow/handlers/webhook-handlers.d.ts +397 -0
- package/dist/workflow/handlers/webhook-handlers.d.ts.map +1 -0
- package/dist/workflow/handlers/webhook-handlers.js +454 -0
- package/dist/workflow/handlers/webhook-handlers.js.map +1 -0
- package/dist/workflow/index.d.ts +42 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/services/index.d.ts +9 -0
- package/dist/workflow/services/index.d.ts.map +1 -0
- package/dist/workflow/services/workflow-service.d.ts +318 -0
- package/dist/workflow/services/workflow-service.d.ts.map +1 -0
- package/dist/workflow/services/workflow-service.js +577 -0
- package/dist/workflow/services/workflow-service.js.map +1 -0
- package/dist/workflow/types.d.ts +470 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/workflows/realtime-collab.d.ts +245 -0
- package/dist/workflow/workflows/realtime-collab.d.ts.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":";;;;;;AAwBA,MAAM,SAAS,aAAa,YAAY;AAMxC,SAAS,qBAA6B;AACpC,QAAM,YAAY,KAAK,IAAA,EAAM,SAAS,EAAE;AACxC,QAAM,SAAS,KAAK,SAAS,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC;AACxD,SAAO,OAAO,SAAS,IAAI,MAAM,GAAG,YAAA;AACtC;AAKA,MAAM,iBAAkC;AAAA,EACtC,MAAM;AAAA,EACN,SAAS;AAAA,EACT,cAAc;AAAA,IACZ,OAAO,CAAA;AAAA,EAAC;AAEZ;AAcO,MAAM,wBAAwB;AAAA,EAC3B;AAAA,EACA,YAAqB;AAAA,EACrB,YAAoB;AAAA,EACpB,eAAuB;AAAA,EACvB;AAAA;AAAA,EAGA,oCAAyC,IAAA;AAAA,EAChC,0BAA0B;AAAA,EAEnC;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUR,YACE,QACA,UACA,OACA,aACA;AACA,SAAK,WAAW;AAChB,SAAK,QAAQ;AACb,SAAK,cAAc;AAGnB,SAAK,SAAS;AAAA,MACZ,MAAM,QAAQ,QAAQ,eAAe;AAAA,MACrC,SAAS,QAAQ,WAAW,eAAe;AAAA,MAC3C,cAAc;AAAA,QACZ,GAAG,eAAe;AAAA,QAClB,GAAG,QAAQ;AAAA,MAAA;AAAA,IACb;AAIF,SAAK,SAAS,IAAI;AAAA,MAChB;AAAA,QACE,MAAM,KAAK,OAAO;AAAA,QAClB,SAAS,KAAK,OAAO;AAAA,MAAA;AAAA,MAEvB;AAAA,QACE,cAAc,KAAK,OAAO;AAAA,MAAA;AAAA,IAC5B;AAIF,SAAK,cAAA;AAEL,WAAO,KAAK,uCAAuC;AAAA,MACjD,MAAM,KAAK,OAAO;AAAA,MAClB,SAAS,KAAK,OAAO;AAAA,IAAA,CACtB;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUQ,iBAAuB;AAC7B,UAAM,MAAM,KAAK,MAAM,KAAK,IAAA,IAAQ,GAAK;AACzC,UAAM,SAAS,KAAK,cAAc,IAAI,GAAG,KAAK,KAAK;AAGnD,eAAW,OAAO,KAAK,cAAc,KAAA,GAAQ;AAC3C,UAAI,MAAM,MAAM,EAAG,MAAK,cAAc,OAAO,GAAG;AAAA,IAClD;AAEA,QAAI,QAAQ,KAAK,yBAAyB;AACxC,aAAO,KAAK,uBAAuB,EAAE,oBAAoB,QAAQ,GAAG;AACpE,YAAM,IAAI;AAAA,QACR,UAAU;AAAA,QACV;AAAA,MAAA;AAAA,IAEJ;AAEA,SAAK,cAAc,IAAI,KAAK,KAAK;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKQ,gBAAsB;AAE5B,SAAK,OAAO,kBAAkB,wBAAwB,YAAY;AAChE,UAAI;AACF,cAAM,QAAQ,mBAAA;AACd,eAAO,MAAM,WAAW,MAAM,MAAM,QAAQ;AAC5C,eAAO,EAAE,MAAA;AAAA,MACX,SAAS,OAAO;AACd,cAAM,aAAa,mBAAA;AACnB,eAAO;AAAA,UACL;AAAA,UACA,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAAA,UACxD,EAAE,WAAA;AAAA,QAAW;AAEf,cAAM,IAAI;AAAA,UACR,UAAU;AAAA,UACV,+BAA+B,UAAU;AAAA,QAAA;AAAA,MAE7C;AAAA,IACF,CAAC;AAGD,SAAK,OAAO,kBAAkB,uBAAuB,OAAO,YAAY;AAEtE,WAAK,eAAA;AAEL,WAAK;AACL,YAAM,WAAW,QAAQ,OAAO;AAEhC,UAAI;AACF,eAAO,MAAM,uBAAuB,QAAQ,EAAE;AAC9C,eAAO,MAAM,eAAe,OAAO;AAAA,MACrC,SAAS,OAAO;AAEd,YAAI,iBAAiB,UAAU;AAC7B,gBAAM;AAAA,QACR;AAGA,cAAM,aAAa,mBAAA;AACnB,eAAO;AAAA,UACL;AAAA,UACA,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAAA,UACxD,EAAE,YAAY,SAAA;AAAA,QAAS;AAIzB,cAAM,IAAI;AAAA,UACR,UAAU;AAAA,UACV,+BAA+B,UAAU;AAAA,QAAA;AAAA,MAE7C;AAAA,IACF,CAAC;AAED,WAAO,MAAM,6BAA6B;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,MAAqB;AACzB,QAAI,KAAK,WAAW;AAClB,YAAM,IAAI,MAAM,2BAA2B;AAAA,IAC7C;AAEA,QAAI;AAEF,YAAM,gBAAgB,KAAK,UAAU,KAAK,OAAO,KAAK,WAAW;AAGjE,YAAM,YAAY,IAAI,qBAAA;AAGtB,YAAM,KAAK,OAAO,QAAQ,SAAS;AAEnC,WAAK,YAAY;AACjB,WAAK,YAAY,KAAK,IAAA;AAEtB,aAAO,KAAK,oDAAoD;AAChE,aAAO,KAAK,gDAAgD;AAAA,IAC9D,SAAS,OAAO;AACd,aAAO;AAAA,QACL;AAAA,QACA,iBAAiB,QAAQ,QAAQ;AAAA,MAAA;AAEnC,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,WAA0B;AAC9B,QAAI,CAAC,KAAK,WAAW;AACnB,aAAO,KAAK,yCAAyC;AACrD;AAAA,IACF;AAEA,QAAI;AAEF,YAAM,KAAK,OAAO,MAAA;AAElB,WAAK,YAAY;AAEjB,YAAM,SAAS,KAAK,IAAA,IAAQ,KAAK;AACjC,aAAO,KAAK,6CAA6C;AAAA,QACvD,QAAQ,IAAI,SAAS,KAAM,QAAQ,CAAC,CAAC;AAAA,QACrC,iBAAiB,KAAK;AAAA,MAAA,CACvB;AAAA,IACH,SAAS,OAAO;AACd,aAAO;AAAA,QACL;AAAA,QACA,iBAAiB,QAAQ,QAAQ;AAAA,MAAA;AAEnC,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAA0B;AACxB,WAAO;AAAA,MACL,QAAQ,KAAK,YAAY,YAAY;AAAA,MACrC,YAAY;AAAA,QACV,UAAU,CAAC,CAAC,KAAK;AAAA,QACjB,OAAO,CAAC,CAAC,KAAK;AAAA,QACd,QAAQ;AAAA;AAAA,MAAA;AAAA,MAEV,QAAQ,KAAK,YAAY,KAAK,QAAQ,KAAK,YAAY;AAAA,MACvD,cAAc,KAAK;AAAA,MACnB,WAAW,aAAA;AAAA,IAAa;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAA2B;AACzB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAA6B;AAC3B,WAAO,EAAE,GAAG,KAAK,OAAA;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAA0B;AACxB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAoB;AAClB,WAAO,KAAK,YAAY,KAAK,IAAA,IAAQ,KAAK,YAAY;AAAA,EACxD;AACF;AAuBA,eAAsB,gBACpB,QACA,UACA,OACA,aACkC;AAClC,QAAM,SAAS,IAAI,wBAAwB,QAAQ,UAAU,OAAO,WAAW;AAC/E,QAAM,OAAO,IAAA;AACb,SAAO;AACT;AASA,eAAsB,UAAU,SAKd;AAChB,QAAM,SAAS,IAAI;AAAA,IACjB,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAAS;AAAA,EAAA;AAIX,UAAQ,GAAG,UAAU,YAAY;AAC/B,WAAO,KAAK,mCAAmC;AAC/C,UAAM,OAAO,SAAA;AACb,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AAED,UAAQ,GAAG,WAAW,YAAY;AAChC,WAAO,KAAK,oCAAoC;AAChD,UAAM,OAAO,SAAA;AACb,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AAGD,UAAQ,GAAG,qBAAqB,OAAO,UAAU;AAC/C,WAAO,MAAM,sBAAsB,KAAK;AACxC,UAAM,OAAO,SAAA;AACb,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AAED,UAAQ,GAAG,sBAAsB,OAAO,WAAW;AACjD,WAAO;AAAA,MACL;AAAA,MACA,kBAAkB,QAAQ,SAAS;AAAA,IAAA;AAErC,UAAM,OAAO,SAAA;AACb,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AAED,QAAM,OAAO,IAAA;AACf;"}
|
|
@@ -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,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit Checkpoint Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for creating checkpoints in the audit chain.
|
|
5
|
+
* Checkpoints provide periodic state snapshots for efficient
|
|
6
|
+
* verification and sync recovery.
|
|
7
|
+
*
|
|
8
|
+
* @module mcp-server/tools/audit/checkpoint
|
|
9
|
+
*/
|
|
10
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
11
|
+
import type { ToolHandler } from '../../types/index.js';
|
|
12
|
+
import type { AuditChain } from '../../../audit/services/audit-chain.js';
|
|
13
|
+
/**
|
|
14
|
+
* Audit checkpoint tool definition
|
|
15
|
+
*
|
|
16
|
+
* Creates a checkpoint in the audit chain with optional
|
|
17
|
+
* name and tags for identification.
|
|
18
|
+
*/
|
|
19
|
+
export declare const auditCheckpointTool: Tool;
|
|
20
|
+
/**
|
|
21
|
+
* Parameters for the audit checkpoint tool
|
|
22
|
+
*/
|
|
23
|
+
export interface AuditCheckpointParams {
|
|
24
|
+
/** Optional checkpoint name */
|
|
25
|
+
name?: string;
|
|
26
|
+
/** Optional tags for the checkpoint */
|
|
27
|
+
tags?: string[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create audit checkpoint handler
|
|
31
|
+
*
|
|
32
|
+
* Factory function that creates a tool handler for checkpoint creation.
|
|
33
|
+
*
|
|
34
|
+
* @param auditChain - The audit chain instance
|
|
35
|
+
* @returns Tool handler function
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const auditChain = createAuditChain({ agentDid: 'did:exo:agent-1' });
|
|
40
|
+
* const handler = createAuditCheckpointHandler(auditChain);
|
|
41
|
+
*
|
|
42
|
+
* const result = await handler({
|
|
43
|
+
* name: 'pre-migration',
|
|
44
|
+
* tags: ['migration', 'backup']
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare function createAuditCheckpointHandler(auditChain?: AuditChain): ToolHandler;
|
|
49
|
+
/**
|
|
50
|
+
* Get the latest checkpoint from the audit chain
|
|
51
|
+
*
|
|
52
|
+
* Utility function to retrieve the most recent checkpoint.
|
|
53
|
+
*
|
|
54
|
+
* @param auditChain - The audit chain instance
|
|
55
|
+
* @returns The latest checkpoint or null if none exist
|
|
56
|
+
*/
|
|
57
|
+
export declare function getLatestCheckpoint(auditChain: AuditChain): import("../../../audit/types.js").Checkpoint | null;
|
|
58
|
+
//# sourceMappingURL=checkpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/audit/checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,IAmBjC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,WAAW,CA4DjF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,uDAEzD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
const auditCheckpointTool = {
|
|
2
|
+
name: "kg_audit_checkpoint",
|
|
3
|
+
description: "Create a checkpoint in the audit chain. Checkpoints provide periodic state snapshots for efficient verification and sync recovery points.",
|
|
4
|
+
inputSchema: {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
name: {
|
|
8
|
+
type: "string",
|
|
9
|
+
description: "Optional name for the checkpoint (for reference purposes)"
|
|
10
|
+
},
|
|
11
|
+
tags: {
|
|
12
|
+
type: "array",
|
|
13
|
+
description: "Optional tags for categorizing the checkpoint",
|
|
14
|
+
items: {
|
|
15
|
+
type: "string"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
function createAuditCheckpointHandler(auditChain) {
|
|
22
|
+
return async (params) => {
|
|
23
|
+
const startTime = Date.now();
|
|
24
|
+
const { name, tags } = params;
|
|
25
|
+
try {
|
|
26
|
+
if (!auditChain) {
|
|
27
|
+
return {
|
|
28
|
+
success: false,
|
|
29
|
+
error: "Audit chain not initialized. The exochain audit system is not available.",
|
|
30
|
+
metadata: { executionTime: Date.now() - startTime }
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const statsBefore = auditChain.getStats();
|
|
34
|
+
const previousCheckpoint = auditChain.getLatestCheckpoint();
|
|
35
|
+
const checkpoint = await auditChain.createCheckpoint();
|
|
36
|
+
const statsAfter = auditChain.getStats();
|
|
37
|
+
const checkpointData = {
|
|
38
|
+
height: checkpoint.height,
|
|
39
|
+
eventRoot: checkpoint.eventRoot,
|
|
40
|
+
stateRoot: checkpoint.stateRoot,
|
|
41
|
+
timestamp: checkpoint.timestamp.toISOString(),
|
|
42
|
+
validatorCount: checkpoint.validatorSignatures.length,
|
|
43
|
+
metadata: {
|
|
44
|
+
name: name || null,
|
|
45
|
+
tags: tags || []
|
|
46
|
+
},
|
|
47
|
+
stats: {
|
|
48
|
+
totalEventsAtCheckpoint: statsAfter.totalEvents,
|
|
49
|
+
eventsSincePreviousCheckpoint: previousCheckpoint ? statsAfter.totalEvents - statsBefore.totalEvents : statsAfter.totalEvents,
|
|
50
|
+
previousCheckpointHeight: previousCheckpoint?.height ?? null
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
return {
|
|
54
|
+
success: true,
|
|
55
|
+
data: checkpointData,
|
|
56
|
+
metadata: {
|
|
57
|
+
executionTime: Date.now() - startTime
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
} catch (error) {
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
error: error instanceof Error ? error.message : String(error),
|
|
64
|
+
metadata: { executionTime: Date.now() - startTime }
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
auditCheckpointTool,
|
|
71
|
+
createAuditCheckpointHandler
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=checkpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sources":["../../../../src/mcp-server/tools/audit/checkpoint.ts"],"sourcesContent":["/**\n * Audit Checkpoint Tool\n *\n * MCP tool for creating checkpoints in the audit chain.\n * Checkpoints provide periodic state snapshots for efficient\n * verification and sync recovery.\n *\n * @module mcp-server/tools/audit/checkpoint\n */\n\nimport type { Tool } from '@modelcontextprotocol/sdk/types.js';\nimport type { ToolHandler, ToolResult } from '../../types/index.js';\nimport type { AuditChain } from '../../../audit/services/audit-chain.js';\n\n/**\n * Audit checkpoint tool definition\n *\n * Creates a checkpoint in the audit chain with optional\n * name and tags for identification.\n */\nexport const auditCheckpointTool: Tool = {\n name: 'kg_audit_checkpoint',\n description: 'Create a checkpoint in the audit chain. Checkpoints provide periodic state snapshots for efficient verification and sync recovery points.',\n inputSchema: {\n type: 'object' as const,\n properties: {\n name: {\n type: 'string',\n description: 'Optional name for the checkpoint (for reference purposes)',\n },\n tags: {\n type: 'array',\n description: 'Optional tags for categorizing the checkpoint',\n items: {\n type: 'string',\n },\n },\n },\n },\n};\n\n/**\n * Parameters for the audit checkpoint tool\n */\nexport interface AuditCheckpointParams {\n /** Optional checkpoint name */\n name?: string;\n /** Optional tags for the checkpoint */\n tags?: string[];\n}\n\n/**\n * Create audit checkpoint handler\n *\n * Factory function that creates a tool handler for checkpoint creation.\n *\n * @param auditChain - The audit chain instance\n * @returns Tool handler function\n *\n * @example\n * ```typescript\n * const auditChain = createAuditChain({ agentDid: 'did:exo:agent-1' });\n * const handler = createAuditCheckpointHandler(auditChain);\n *\n * const result = await handler({\n * name: 'pre-migration',\n * tags: ['migration', 'backup']\n * });\n * ```\n */\nexport function createAuditCheckpointHandler(auditChain?: AuditChain): ToolHandler {\n return async (params: Record<string, unknown>): Promise<ToolResult> => {\n const startTime = Date.now();\n const { name, tags } = params as AuditCheckpointParams;\n\n try {\n // Check audit chain availability\n if (!auditChain) {\n return {\n success: false,\n error: 'Audit chain not initialized. The exochain audit system is not available.',\n metadata: { executionTime: Date.now() - startTime },\n };\n }\n\n // Get current stats before checkpoint\n const statsBefore = auditChain.getStats();\n const previousCheckpoint = auditChain.getLatestCheckpoint();\n\n // Create checkpoint\n const checkpoint = await auditChain.createCheckpoint();\n\n // Get stats after checkpoint\n const statsAfter = auditChain.getStats();\n\n // Format response\n const checkpointData = {\n height: checkpoint.height,\n eventRoot: checkpoint.eventRoot,\n stateRoot: checkpoint.stateRoot,\n timestamp: checkpoint.timestamp.toISOString(),\n validatorCount: checkpoint.validatorSignatures.length,\n metadata: {\n name: name || null,\n tags: tags || [],\n },\n stats: {\n totalEventsAtCheckpoint: statsAfter.totalEvents,\n eventsSincePreviousCheckpoint: previousCheckpoint\n ? statsAfter.totalEvents - statsBefore.totalEvents\n : statsAfter.totalEvents,\n previousCheckpointHeight: previousCheckpoint?.height ?? null,\n },\n };\n\n return {\n success: true,\n data: checkpointData,\n metadata: {\n executionTime: Date.now() - startTime,\n },\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n metadata: { executionTime: Date.now() - startTime },\n };\n }\n };\n}\n\n/**\n * Get the latest checkpoint from the audit chain\n *\n * Utility function to retrieve the most recent checkpoint.\n *\n * @param auditChain - The audit chain instance\n * @returns The latest checkpoint or null if none exist\n */\nexport function getLatestCheckpoint(auditChain: AuditChain) {\n return auditChain.getLatestCheckpoint();\n}\n"],"names":[],"mappings":"AAoBO,MAAM,sBAA4B;AAAA,EACvC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,aAAa;AAAA,IACX,MAAM;AAAA,IACN,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,aAAa;AAAA,MAAA;AAAA,MAEf,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,UACL,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ;AA+BO,SAAS,6BAA6B,YAAsC;AACjF,SAAO,OAAO,WAAyD;AACrE,UAAM,YAAY,KAAK,IAAA;AACvB,UAAM,EAAE,MAAM,KAAA,IAAS;AAEvB,QAAI;AAEF,UAAI,CAAC,YAAY;AACf,eAAO;AAAA,UACL,SAAS;AAAA,UACT,OAAO;AAAA,UACP,UAAU,EAAE,eAAe,KAAK,IAAA,IAAQ,UAAA;AAAA,QAAU;AAAA,MAEtD;AAGA,YAAM,cAAc,WAAW,SAAA;AAC/B,YAAM,qBAAqB,WAAW,oBAAA;AAGtC,YAAM,aAAa,MAAM,WAAW,iBAAA;AAGpC,YAAM,aAAa,WAAW,SAAA;AAG9B,YAAM,iBAAiB;AAAA,QACrB,QAAQ,WAAW;AAAA,QACnB,WAAW,WAAW;AAAA,QACtB,WAAW,WAAW;AAAA,QACtB,WAAW,WAAW,UAAU,YAAA;AAAA,QAChC,gBAAgB,WAAW,oBAAoB;AAAA,QAC/C,UAAU;AAAA,UACR,MAAM,QAAQ;AAAA,UACd,MAAM,QAAQ,CAAA;AAAA,QAAC;AAAA,QAEjB,OAAO;AAAA,UACL,yBAAyB,WAAW;AAAA,UACpC,+BAA+B,qBAC3B,WAAW,cAAc,YAAY,cACrC,WAAW;AAAA,UACf,0BAA0B,oBAAoB,UAAU;AAAA,QAAA;AAAA,MAC1D;AAGF,aAAO;AAAA,QACL,SAAS;AAAA,QACT,MAAM;AAAA,QACN,UAAU;AAAA,UACR,eAAe,KAAK,QAAQ;AAAA,QAAA;AAAA,MAC9B;AAAA,IAEJ,SAAS,OAAO;AACd,aAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,QAC5D,UAAU,EAAE,eAAe,KAAK,IAAA,IAAQ,UAAA;AAAA,MAAU;AAAA,IAEtD;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tools for the exochain audit system, providing:
|
|
5
|
+
* - Event querying with filtering
|
|
6
|
+
* - Checkpoint creation for state snapshots
|
|
7
|
+
* - Sync status monitoring for peer environments
|
|
8
|
+
*
|
|
9
|
+
* @module mcp-server/tools/audit
|
|
10
|
+
*/
|
|
11
|
+
export { auditQueryTool, createAuditQueryHandler, type AuditQueryParams, } from './query.js';
|
|
12
|
+
export { auditCheckpointTool, createAuditCheckpointHandler, getLatestCheckpoint, type AuditCheckpointParams, } from './checkpoint.js';
|
|
13
|
+
export { syncStatusTool, createSyncStatusHandler, triggerManualSync, type SyncStatusParams, } from './sync.js';
|
|
14
|
+
/**
|
|
15
|
+
* All audit tool definitions for registration
|
|
16
|
+
*/
|
|
17
|
+
export declare const auditToolDefinitions: {
|
|
18
|
+
inputSchema: {
|
|
19
|
+
[x: string]: unknown;
|
|
20
|
+
type: "object";
|
|
21
|
+
properties?: {
|
|
22
|
+
[x: string]: object;
|
|
23
|
+
} | undefined;
|
|
24
|
+
required?: string[] | undefined;
|
|
25
|
+
};
|
|
26
|
+
name: string;
|
|
27
|
+
description?: string | undefined;
|
|
28
|
+
outputSchema?: {
|
|
29
|
+
[x: string]: unknown;
|
|
30
|
+
type: "object";
|
|
31
|
+
properties?: {
|
|
32
|
+
[x: string]: object;
|
|
33
|
+
} | undefined;
|
|
34
|
+
required?: string[] | undefined;
|
|
35
|
+
} | undefined;
|
|
36
|
+
annotations?: {
|
|
37
|
+
title?: string | undefined;
|
|
38
|
+
readOnlyHint?: boolean | undefined;
|
|
39
|
+
destructiveHint?: boolean | undefined;
|
|
40
|
+
idempotentHint?: boolean | undefined;
|
|
41
|
+
openWorldHint?: boolean | undefined;
|
|
42
|
+
} | undefined;
|
|
43
|
+
_meta?: {
|
|
44
|
+
[x: string]: unknown;
|
|
45
|
+
} | undefined;
|
|
46
|
+
icons?: {
|
|
47
|
+
src: string;
|
|
48
|
+
mimeType?: string | undefined;
|
|
49
|
+
sizes?: string[] | undefined;
|
|
50
|
+
}[] | undefined;
|
|
51
|
+
title?: string | undefined;
|
|
52
|
+
}[];
|
|
53
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/audit/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC;AAMnB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIhC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { auditQueryTool, createAuditQueryHandler } from "./query.js";
|
|
2
|
+
import { auditCheckpointTool, createAuditCheckpointHandler } from "./checkpoint.js";
|
|
3
|
+
import { createSyncStatusHandler, syncStatusTool } from "./sync.js";
|
|
4
|
+
export {
|
|
5
|
+
auditCheckpointTool,
|
|
6
|
+
auditQueryTool,
|
|
7
|
+
createAuditCheckpointHandler,
|
|
8
|
+
createAuditQueryHandler,
|
|
9
|
+
createSyncStatusHandler,
|
|
10
|
+
syncStatusTool
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit Query Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for querying the audit log with filtering by event type,
|
|
5
|
+
* time range, and result limits.
|
|
6
|
+
*
|
|
7
|
+
* @module mcp-server/tools/audit/query
|
|
8
|
+
*/
|
|
9
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
10
|
+
import type { ToolHandler } from '../../types/index.js';
|
|
11
|
+
import type { AuditChain } from '../../../audit/services/audit-chain.js';
|
|
12
|
+
/**
|
|
13
|
+
* Audit query tool definition
|
|
14
|
+
*
|
|
15
|
+
* Provides filtering capabilities for the audit log including:
|
|
16
|
+
* - Event type filtering
|
|
17
|
+
* - Time range filtering via ISO timestamps
|
|
18
|
+
* - Result limiting
|
|
19
|
+
* - Optional payload inclusion
|
|
20
|
+
*/
|
|
21
|
+
export declare const auditQueryTool: Tool;
|
|
22
|
+
/**
|
|
23
|
+
* Parameters for the audit query tool
|
|
24
|
+
*/
|
|
25
|
+
export interface AuditQueryParams {
|
|
26
|
+
/** Filter by event type */
|
|
27
|
+
eventType?: string;
|
|
28
|
+
/** Start time as ISO timestamp */
|
|
29
|
+
startTime?: string;
|
|
30
|
+
/** End time as ISO timestamp */
|
|
31
|
+
endTime?: string;
|
|
32
|
+
/** Maximum results to return */
|
|
33
|
+
limit?: number;
|
|
34
|
+
/** Include full payload in results */
|
|
35
|
+
includePayload?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create audit query handler
|
|
39
|
+
*
|
|
40
|
+
* Factory function that creates a tool handler with access to the audit chain.
|
|
41
|
+
*
|
|
42
|
+
* @param auditChain - The audit chain instance to query
|
|
43
|
+
* @returns Tool handler function
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const auditChain = createAuditChain({ agentDid: 'did:exo:agent-1' });
|
|
48
|
+
* const handler = createAuditQueryHandler(auditChain);
|
|
49
|
+
*
|
|
50
|
+
* const result = await handler({
|
|
51
|
+
* eventType: 'NodeCreated',
|
|
52
|
+
* limit: 10,
|
|
53
|
+
* includePayload: true
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function createAuditQueryHandler(auditChain?: AuditChain): ToolHandler;
|
|
58
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/audit/query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAGzE;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,IAgC5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,WAAW,CA8G5E"}
|