kemdicode-mcp 1.15.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/LICENSE +674 -0
- package/README.md +486 -0
- package/dist/ai/agents.d.ts +40 -0
- package/dist/ai/agents.d.ts.map +1 -0
- package/dist/ai/agents.js +164 -0
- package/dist/ai/agents.js.map +1 -0
- package/dist/ai/client.d.ts +73 -0
- package/dist/ai/client.d.ts.map +1 -0
- package/dist/ai/client.js +235 -0
- package/dist/ai/client.js.map +1 -0
- package/dist/ai/execute.d.ts +61 -0
- package/dist/ai/execute.d.ts.map +1 -0
- package/dist/ai/execute.js +98 -0
- package/dist/ai/execute.js.map +1 -0
- package/dist/ai/file-context.d.ts +44 -0
- package/dist/ai/file-context.d.ts.map +1 -0
- package/dist/ai/file-context.js +220 -0
- package/dist/ai/file-context.js.map +1 -0
- package/dist/ai/index.d.ts +14 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +21 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/model-spec.d.ts +33 -0
- package/dist/ai/model-spec.d.ts.map +1 -0
- package/dist/ai/model-spec.js +106 -0
- package/dist/ai/model-spec.js.map +1 -0
- package/dist/ai/providers/anthropic.provider.d.ts +23 -0
- package/dist/ai/providers/anthropic.provider.d.ts.map +1 -0
- package/dist/ai/providers/anthropic.provider.js +135 -0
- package/dist/ai/providers/anthropic.provider.js.map +1 -0
- package/dist/ai/providers/gemini.provider.d.ts +20 -0
- package/dist/ai/providers/gemini.provider.d.ts.map +1 -0
- package/dist/ai/providers/gemini.provider.js +113 -0
- package/dist/ai/providers/gemini.provider.js.map +1 -0
- package/dist/ai/providers/index.d.ts +13 -0
- package/dist/ai/providers/index.d.ts.map +1 -0
- package/dist/ai/providers/index.js +12 -0
- package/dist/ai/providers/index.js.map +1 -0
- package/dist/ai/providers/openai-compat.provider.d.ts +13 -0
- package/dist/ai/providers/openai-compat.provider.d.ts.map +1 -0
- package/dist/ai/providers/openai-compat.provider.js +68 -0
- package/dist/ai/providers/openai-compat.provider.js.map +1 -0
- package/dist/ai/providers/openai-shared.d.ts +41 -0
- package/dist/ai/providers/openai-shared.d.ts.map +1 -0
- package/dist/ai/providers/openai-shared.js +67 -0
- package/dist/ai/providers/openai-shared.js.map +1 -0
- package/dist/ai/providers/openai.provider.d.ts +22 -0
- package/dist/ai/providers/openai.provider.d.ts.map +1 -0
- package/dist/ai/providers/openai.provider.js +74 -0
- package/dist/ai/providers/openai.provider.js.map +1 -0
- package/dist/ai/providers/registry.d.ts +33 -0
- package/dist/ai/providers/registry.d.ts.map +1 -0
- package/dist/ai/providers/registry.js +137 -0
- package/dist/ai/providers/registry.js.map +1 -0
- package/dist/ai/providers/types.d.ts +59 -0
- package/dist/ai/providers/types.d.ts.map +1 -0
- package/dist/ai/providers/types.js +58 -0
- package/dist/ai/providers/types.js.map +1 -0
- package/dist/ai/workspace-editor.d.ts +59 -0
- package/dist/ai/workspace-editor.d.ts.map +1 -0
- package/dist/ai/workspace-editor.js +155 -0
- package/dist/ai/workspace-editor.js.map +1 -0
- package/dist/config/defaults.d.ts +31 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +100 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +45 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +44 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/manager.d.ts +101 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +338 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/schema.d.ts +382 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +150 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/types.d.ts +189 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +32 -0
- package/dist/config/types.js.map +1 -0
- package/dist/constants.d.ts +92 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +100 -0
- package/dist/constants.js.map +1 -0
- package/dist/context/agent-monitor.d.ts +173 -0
- package/dist/context/agent-monitor.d.ts.map +1 -0
- package/dist/context/agent-monitor.js +958 -0
- package/dist/context/agent-monitor.js.map +1 -0
- package/dist/context/feedback-loop.d.ts +73 -0
- package/dist/context/feedback-loop.d.ts.map +1 -0
- package/dist/context/feedback-loop.js +303 -0
- package/dist/context/feedback-loop.js.map +1 -0
- package/dist/context/index.d.ts +29 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +29 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/integration.d.ts +83 -0
- package/dist/context/integration.d.ts.map +1 -0
- package/dist/context/integration.js +276 -0
- package/dist/context/integration.js.map +1 -0
- package/dist/context/iteration-tracker.d.ts +87 -0
- package/dist/context/iteration-tracker.d.ts.map +1 -0
- package/dist/context/iteration-tracker.js +333 -0
- package/dist/context/iteration-tracker.js.map +1 -0
- package/dist/context/storage.d.ts +234 -0
- package/dist/context/storage.d.ts.map +1 -0
- package/dist/context/storage.js +513 -0
- package/dist/context/storage.js.map +1 -0
- package/dist/context/types.d.ts +396 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +125 -0
- package/dist/context/types.js.map +1 -0
- package/dist/index.d.ts +70 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +207 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/redis/connection.d.ts +111 -0
- package/dist/infrastructure/redis/connection.d.ts.map +1 -0
- package/dist/infrastructure/redis/connection.js +242 -0
- package/dist/infrastructure/redis/connection.js.map +1 -0
- package/dist/infrastructure/redis/index.d.ts +2 -0
- package/dist/infrastructure/redis/index.d.ts.map +1 -0
- package/dist/infrastructure/redis/index.js +2 -0
- package/dist/infrastructure/redis/index.js.map +1 -0
- package/dist/infrastructure/redis/redis-backed-service.d.ts +35 -0
- package/dist/infrastructure/redis/redis-backed-service.d.ts.map +1 -0
- package/dist/infrastructure/redis/redis-backed-service.js +55 -0
- package/dist/infrastructure/redis/redis-backed-service.js.map +1 -0
- package/dist/kanban/board-store.d.ts +222 -0
- package/dist/kanban/board-store.d.ts.map +1 -0
- package/dist/kanban/board-store.js +486 -0
- package/dist/kanban/board-store.js.map +1 -0
- package/dist/kanban/index.d.ts +33 -0
- package/dist/kanban/index.d.ts.map +1 -0
- package/dist/kanban/index.js +37 -0
- package/dist/kanban/index.js.map +1 -0
- package/dist/kanban/kanban-store.d.ts +236 -0
- package/dist/kanban/kanban-store.d.ts.map +1 -0
- package/dist/kanban/kanban-store.js +854 -0
- package/dist/kanban/kanban-store.js.map +1 -0
- package/dist/kanban/membership-store.d.ts +230 -0
- package/dist/kanban/membership-store.d.ts.map +1 -0
- package/dist/kanban/membership-store.js +384 -0
- package/dist/kanban/membership-store.js.map +1 -0
- package/dist/kanban/migration.d.ts +131 -0
- package/dist/kanban/migration.d.ts.map +1 -0
- package/dist/kanban/migration.js +275 -0
- package/dist/kanban/migration.js.map +1 -0
- package/dist/kanban/types.d.ts +314 -0
- package/dist/kanban/types.d.ts.map +1 -0
- package/dist/kanban/types.js +126 -0
- package/dist/kanban/types.js.map +1 -0
- package/dist/kanban/workspace-store.d.ts +193 -0
- package/dist/kanban/workspace-store.d.ts.map +1 -0
- package/dist/kanban/workspace-store.js +386 -0
- package/dist/kanban/workspace-store.js.map +1 -0
- package/dist/loci/graph-storage.d.ts +120 -0
- package/dist/loci/graph-storage.d.ts.map +1 -0
- package/dist/loci/graph-storage.js +489 -0
- package/dist/loci/graph-storage.js.map +1 -0
- package/dist/loci/graph-traversal.d.ts +56 -0
- package/dist/loci/graph-traversal.d.ts.map +1 -0
- package/dist/loci/graph-traversal.js +291 -0
- package/dist/loci/graph-traversal.js.map +1 -0
- package/dist/loci/index.d.ts +30 -0
- package/dist/loci/index.d.ts.map +1 -0
- package/dist/loci/index.js +27 -0
- package/dist/loci/index.js.map +1 -0
- package/dist/loci/loci-manager.d.ts +119 -0
- package/dist/loci/loci-manager.d.ts.map +1 -0
- package/dist/loci/loci-manager.js +435 -0
- package/dist/loci/loci-manager.js.map +1 -0
- package/dist/loci/sequence-tracker.d.ts +89 -0
- package/dist/loci/sequence-tracker.d.ts.map +1 -0
- package/dist/loci/sequence-tracker.js +311 -0
- package/dist/loci/sequence-tracker.js.map +1 -0
- package/dist/loci/types.d.ts +306 -0
- package/dist/loci/types.d.ts.map +1 -0
- package/dist/loci/types.js +143 -0
- package/dist/loci/types.js.map +1 -0
- package/dist/mpc/auth.d.ts +67 -0
- package/dist/mpc/auth.d.ts.map +1 -0
- package/dist/mpc/auth.js +173 -0
- package/dist/mpc/auth.js.map +1 -0
- package/dist/mpc/crypto.d.ts +139 -0
- package/dist/mpc/crypto.d.ts.map +1 -0
- package/dist/mpc/crypto.js +287 -0
- package/dist/mpc/crypto.js.map +1 -0
- package/dist/mpc/index.d.ts +30 -0
- package/dist/mpc/index.d.ts.map +1 -0
- package/dist/mpc/index.js +27 -0
- package/dist/mpc/index.js.map +1 -0
- package/dist/mpc/redis-store.d.ts +88 -0
- package/dist/mpc/redis-store.d.ts.map +1 -0
- package/dist/mpc/redis-store.js +337 -0
- package/dist/mpc/redis-store.js.map +1 -0
- package/dist/mpc/share-manager.d.ts +59 -0
- package/dist/mpc/share-manager.d.ts.map +1 -0
- package/dist/mpc/share-manager.js +254 -0
- package/dist/mpc/share-manager.js.map +1 -0
- package/dist/mpc/types.d.ts +213 -0
- package/dist/mpc/types.d.ts.map +1 -0
- package/dist/mpc/types.js +42 -0
- package/dist/mpc/types.js.map +1 -0
- package/dist/recursive/index.d.ts +27 -0
- package/dist/recursive/index.d.ts.map +1 -0
- package/dist/recursive/index.js +27 -0
- package/dist/recursive/index.js.map +1 -0
- package/dist/recursive/tool-invoker.d.ts +51 -0
- package/dist/recursive/tool-invoker.d.ts.map +1 -0
- package/dist/recursive/tool-invoker.js +293 -0
- package/dist/recursive/tool-invoker.js.map +1 -0
- package/dist/recursive/types.d.ts +110 -0
- package/dist/recursive/types.d.ts.map +1 -0
- package/dist/recursive/types.js +52 -0
- package/dist/recursive/types.js.map +1 -0
- package/dist/rl/dopamine.d.ts +96 -0
- package/dist/rl/dopamine.d.ts.map +1 -0
- package/dist/rl/dopamine.js +242 -0
- package/dist/rl/dopamine.js.map +1 -0
- package/dist/rl/index.d.ts +30 -0
- package/dist/rl/index.d.ts.map +1 -0
- package/dist/rl/index.js +27 -0
- package/dist/rl/index.js.map +1 -0
- package/dist/rl/potential.d.ts +78 -0
- package/dist/rl/potential.d.ts.map +1 -0
- package/dist/rl/potential.js +152 -0
- package/dist/rl/potential.js.map +1 -0
- package/dist/rl/rewards.d.ts +92 -0
- package/dist/rl/rewards.d.ts.map +1 -0
- package/dist/rl/rewards.js +278 -0
- package/dist/rl/rewards.js.map +1 -0
- package/dist/rl/state-tracker.d.ts +107 -0
- package/dist/rl/state-tracker.d.ts.map +1 -0
- package/dist/rl/state-tracker.js +285 -0
- package/dist/rl/state-tracker.js.map +1 -0
- package/dist/rl/types.d.ts +274 -0
- package/dist/rl/types.d.ts.map +1 -0
- package/dist/rl/types.js +145 -0
- package/dist/rl/types.js.map +1 -0
- package/dist/runtime/crypto.d.ts +87 -0
- package/dist/runtime/crypto.d.ts.map +1 -0
- package/dist/runtime/crypto.js +226 -0
- package/dist/runtime/crypto.js.map +1 -0
- package/dist/runtime/http.d.ts +111 -0
- package/dist/runtime/http.d.ts.map +1 -0
- package/dist/runtime/http.js +350 -0
- package/dist/runtime/http.js.map +1 -0
- package/dist/runtime/index.d.ts +48 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +43 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/net.d.ts +42 -0
- package/dist/runtime/net.d.ts.map +1 -0
- package/dist/runtime/net.js +108 -0
- package/dist/runtime/net.js.map +1 -0
- package/dist/runtime/process.d.ts +54 -0
- package/dist/runtime/process.d.ts.map +1 -0
- package/dist/runtime/process.js +247 -0
- package/dist/runtime/process.js.map +1 -0
- package/dist/runtime/types.d.ts +143 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +19 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/server/http-server.d.ts +26 -0
- package/dist/server/http-server.d.ts.map +1 -0
- package/dist/server/http-server.js +290 -0
- package/dist/server/http-server.js.map +1 -0
- package/dist/server/index.d.ts +22 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +25 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/progress.d.ts +74 -0
- package/dist/server/progress.d.ts.map +1 -0
- package/dist/server/progress.js +174 -0
- package/dist/server/progress.js.map +1 -0
- package/dist/server/session-server.d.ts +76 -0
- package/dist/server/session-server.d.ts.map +1 -0
- package/dist/server/session-server.js +186 -0
- package/dist/server/session-server.js.map +1 -0
- package/dist/server/types.d.ts +82 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +25 -0
- package/dist/server/types.js.map +1 -0
- package/dist/session/cwd-resolver.d.ts +136 -0
- package/dist/session/cwd-resolver.d.ts.map +1 -0
- package/dist/session/cwd-resolver.js +715 -0
- package/dist/session/cwd-resolver.js.map +1 -0
- package/dist/session/index.d.ts +27 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +27 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/manager.d.ts +296 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +605 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/session/types.d.ts +152 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +60 -0
- package/dist/session/types.js.map +1 -0
- package/dist/tools/agents/agent-alert.tool.d.ts +20 -0
- package/dist/tools/agents/agent-alert.tool.d.ts.map +1 -0
- package/dist/tools/agents/agent-alert.tool.js +103 -0
- package/dist/tools/agents/agent-alert.tool.js.map +1 -0
- package/dist/tools/agents/agent-history.tool.d.ts +20 -0
- package/dist/tools/agents/agent-history.tool.d.ts.map +1 -0
- package/dist/tools/agents/agent-history.tool.js +133 -0
- package/dist/tools/agents/agent-history.tool.js.map +1 -0
- package/dist/tools/agents/agent-inject.tool.d.ts +39 -0
- package/dist/tools/agents/agent-inject.tool.d.ts.map +1 -0
- package/dist/tools/agents/agent-inject.tool.js +121 -0
- package/dist/tools/agents/agent-inject.tool.js.map +1 -0
- package/dist/tools/agents/agent-list.tool.d.ts +20 -0
- package/dist/tools/agents/agent-list.tool.d.ts.map +1 -0
- package/dist/tools/agents/agent-list.tool.js +86 -0
- package/dist/tools/agents/agent-list.tool.js.map +1 -0
- package/dist/tools/agents/agent-register.tool.d.ts +20 -0
- package/dist/tools/agents/agent-register.tool.d.ts.map +1 -0
- package/dist/tools/agents/agent-register.tool.js +114 -0
- package/dist/tools/agents/agent-register.tool.js.map +1 -0
- package/dist/tools/agents/agent-summary.tool.d.ts +20 -0
- package/dist/tools/agents/agent-summary.tool.d.ts.map +1 -0
- package/dist/tools/agents/agent-summary.tool.js +99 -0
- package/dist/tools/agents/agent-summary.tool.js.map +1 -0
- package/dist/tools/agents/agent-watch.tool.d.ts +20 -0
- package/dist/tools/agents/agent-watch.tool.d.ts.map +1 -0
- package/dist/tools/agents/agent-watch.tool.js +56 -0
- package/dist/tools/agents/agent-watch.tool.js.map +1 -0
- package/dist/tools/agents/index.d.ts +41 -0
- package/dist/tools/agents/index.d.ts.map +1 -0
- package/dist/tools/agents/index.js +41 -0
- package/dist/tools/agents/index.js.map +1 -0
- package/dist/tools/agents/monitor.tool.d.ts +20 -0
- package/dist/tools/agents/monitor.tool.d.ts.map +1 -0
- package/dist/tools/agents/monitor.tool.js +314 -0
- package/dist/tools/agents/monitor.tool.js.map +1 -0
- package/dist/tools/agents/queue-message.tool.d.ts +20 -0
- package/dist/tools/agents/queue-message.tool.d.ts.map +1 -0
- package/dist/tools/agents/queue-message.tool.js +176 -0
- package/dist/tools/agents/queue-message.tool.js.map +1 -0
- package/dist/tools/ask-ai.tool.d.ts +20 -0
- package/dist/tools/ask-ai.tool.d.ts.map +1 -0
- package/dist/tools/ask-ai.tool.js +49 -0
- package/dist/tools/ask-ai.tool.js.map +1 -0
- package/dist/tools/batch.tool.d.ts +42 -0
- package/dist/tools/batch.tool.d.ts.map +1 -0
- package/dist/tools/batch.tool.js +146 -0
- package/dist/tools/batch.tool.js.map +1 -0
- package/dist/tools/brainstorm.tool.d.ts +20 -0
- package/dist/tools/brainstorm.tool.d.ts.map +1 -0
- package/dist/tools/brainstorm.tool.js +86 -0
- package/dist/tools/brainstorm.tool.js.map +1 -0
- package/dist/tools/code/code-outline.tool.d.ts +20 -0
- package/dist/tools/code/code-outline.tool.d.ts.map +1 -0
- package/dist/tools/code/code-outline.tool.js +803 -0
- package/dist/tools/code/code-outline.tool.js.map +1 -0
- package/dist/tools/code/find-definition.tool.d.ts +20 -0
- package/dist/tools/code/find-definition.tool.d.ts.map +1 -0
- package/dist/tools/code/find-definition.tool.js +218 -0
- package/dist/tools/code/find-definition.tool.js.map +1 -0
- package/dist/tools/code/find-references.tool.d.ts +20 -0
- package/dist/tools/code/find-references.tool.d.ts.map +1 -0
- package/dist/tools/code/find-references.tool.js +207 -0
- package/dist/tools/code/find-references.tool.js.map +1 -0
- package/dist/tools/code/find-symbols.tool.d.ts +20 -0
- package/dist/tools/code/find-symbols.tool.d.ts.map +1 -0
- package/dist/tools/code/find-symbols.tool.js +367 -0
- package/dist/tools/code/find-symbols.tool.js.map +1 -0
- package/dist/tools/code/index.d.ts +34 -0
- package/dist/tools/code/index.d.ts.map +1 -0
- package/dist/tools/code/index.js +35 -0
- package/dist/tools/code/index.js.map +1 -0
- package/dist/tools/code/insert-after-symbol.tool.d.ts +20 -0
- package/dist/tools/code/insert-after-symbol.tool.d.ts.map +1 -0
- package/dist/tools/code/insert-after-symbol.tool.js +224 -0
- package/dist/tools/code/insert-after-symbol.tool.js.map +1 -0
- package/dist/tools/code/insert-before-symbol.tool.d.ts +20 -0
- package/dist/tools/code/insert-before-symbol.tool.d.ts.map +1 -0
- package/dist/tools/code/insert-before-symbol.tool.js +136 -0
- package/dist/tools/code/insert-before-symbol.tool.js.map +1 -0
- package/dist/tools/code/rename-symbol.tool.d.ts +20 -0
- package/dist/tools/code/rename-symbol.tool.d.ts.map +1 -0
- package/dist/tools/code/rename-symbol.tool.js +255 -0
- package/dist/tools/code/rename-symbol.tool.js.map +1 -0
- package/dist/tools/code/semantic-search.tool.d.ts +20 -0
- package/dist/tools/code/semantic-search.tool.d.ts.map +1 -0
- package/dist/tools/code/semantic-search.tool.js +172 -0
- package/dist/tools/code/semantic-search.tool.js.map +1 -0
- package/dist/tools/code/symbol-search.d.ts +39 -0
- package/dist/tools/code/symbol-search.d.ts.map +1 -0
- package/dist/tools/code/symbol-search.js +118 -0
- package/dist/tools/code/symbol-search.js.map +1 -0
- package/dist/tools/context/feedback.tool.d.ts +20 -0
- package/dist/tools/context/feedback.tool.d.ts.map +1 -0
- package/dist/tools/context/feedback.tool.js +176 -0
- package/dist/tools/context/feedback.tool.js.map +1 -0
- package/dist/tools/context/get-shared-context.tool.d.ts +20 -0
- package/dist/tools/context/get-shared-context.tool.d.ts.map +1 -0
- package/dist/tools/context/get-shared-context.tool.js +83 -0
- package/dist/tools/context/get-shared-context.tool.js.map +1 -0
- package/dist/tools/context/index.d.ts +26 -0
- package/dist/tools/context/index.d.ts.map +1 -0
- package/dist/tools/context/index.js +26 -0
- package/dist/tools/context/index.js.map +1 -0
- package/dist/tools/context/shared-thoughts.tool.d.ts +20 -0
- package/dist/tools/context/shared-thoughts.tool.d.ts.map +1 -0
- package/dist/tools/context/shared-thoughts.tool.js +199 -0
- package/dist/tools/context/shared-thoughts.tool.js.map +1 -0
- package/dist/tools/edit/delete-lines.tool.d.ts +20 -0
- package/dist/tools/edit/delete-lines.tool.d.ts.map +1 -0
- package/dist/tools/edit/delete-lines.tool.js +88 -0
- package/dist/tools/edit/delete-lines.tool.js.map +1 -0
- package/dist/tools/edit/edit-shared.d.ts +55 -0
- package/dist/tools/edit/edit-shared.d.ts.map +1 -0
- package/dist/tools/edit/edit-shared.js +122 -0
- package/dist/tools/edit/edit-shared.js.map +1 -0
- package/dist/tools/edit/index.d.ts +29 -0
- package/dist/tools/edit/index.d.ts.map +1 -0
- package/dist/tools/edit/index.js +29 -0
- package/dist/tools/edit/index.js.map +1 -0
- package/dist/tools/edit/insert-at-line.tool.d.ts +20 -0
- package/dist/tools/edit/insert-at-line.tool.d.ts.map +1 -0
- package/dist/tools/edit/insert-at-line.tool.js +92 -0
- package/dist/tools/edit/insert-at-line.tool.js.map +1 -0
- package/dist/tools/edit/replace-content.tool.d.ts +20 -0
- package/dist/tools/edit/replace-content.tool.d.ts.map +1 -0
- package/dist/tools/edit/replace-content.tool.js +214 -0
- package/dist/tools/edit/replace-content.tool.js.map +1 -0
- package/dist/tools/edit/replace-lines.tool.d.ts +20 -0
- package/dist/tools/edit/replace-lines.tool.d.ts.map +1 -0
- package/dist/tools/edit/replace-lines.tool.js +97 -0
- package/dist/tools/edit/replace-lines.tool.js.map +1 -0
- package/dist/tools/file/file-diff.tool.d.ts +20 -0
- package/dist/tools/file/file-diff.tool.d.ts.map +1 -0
- package/dist/tools/file/file-diff.tool.js +359 -0
- package/dist/tools/file/file-diff.tool.js.map +1 -0
- package/dist/tools/file/file-read.tool.d.ts +20 -0
- package/dist/tools/file/file-read.tool.d.ts.map +1 -0
- package/dist/tools/file/file-read.tool.js +270 -0
- package/dist/tools/file/file-read.tool.js.map +1 -0
- package/dist/tools/file/file-search.tool.d.ts +20 -0
- package/dist/tools/file/file-search.tool.d.ts.map +1 -0
- package/dist/tools/file/file-search.tool.js +339 -0
- package/dist/tools/file/file-search.tool.js.map +1 -0
- package/dist/tools/file/file-tree.tool.d.ts +49 -0
- package/dist/tools/file/file-tree.tool.d.ts.map +1 -0
- package/dist/tools/file/file-tree.tool.js +398 -0
- package/dist/tools/file/file-tree.tool.js.map +1 -0
- package/dist/tools/file/file-write.tool.d.ts +20 -0
- package/dist/tools/file/file-write.tool.d.ts.map +1 -0
- package/dist/tools/file/file-write.tool.js +204 -0
- package/dist/tools/file/file-write.tool.js.map +1 -0
- package/dist/tools/file/index.d.ts +31 -0
- package/dist/tools/file/index.d.ts.map +1 -0
- package/dist/tools/file/index.js +31 -0
- package/dist/tools/file/index.js.map +1 -0
- package/dist/tools/git/git-blame.tool.d.ts +20 -0
- package/dist/tools/git/git-blame.tool.d.ts.map +1 -0
- package/dist/tools/git/git-blame.tool.js +138 -0
- package/dist/tools/git/git-blame.tool.js.map +1 -0
- package/dist/tools/git/git-branch.tool.d.ts +20 -0
- package/dist/tools/git/git-branch.tool.d.ts.map +1 -0
- package/dist/tools/git/git-branch.tool.js +158 -0
- package/dist/tools/git/git-branch.tool.js.map +1 -0
- package/dist/tools/git/git-diff.tool.d.ts +20 -0
- package/dist/tools/git/git-diff.tool.d.ts.map +1 -0
- package/dist/tools/git/git-diff.tool.js +117 -0
- package/dist/tools/git/git-diff.tool.js.map +1 -0
- package/dist/tools/git/git-log.tool.d.ts +20 -0
- package/dist/tools/git/git-log.tool.d.ts.map +1 -0
- package/dist/tools/git/git-log.tool.js +150 -0
- package/dist/tools/git/git-log.tool.js.map +1 -0
- package/dist/tools/git/git-status.tool.d.ts +20 -0
- package/dist/tools/git/git-status.tool.d.ts.map +1 -0
- package/dist/tools/git/git-status.tool.js +81 -0
- package/dist/tools/git/git-status.tool.js.map +1 -0
- package/dist/tools/git/index.d.ts +31 -0
- package/dist/tools/git/index.d.ts.map +1 -0
- package/dist/tools/git/index.js +32 -0
- package/dist/tools/git/index.js.map +1 -0
- package/dist/tools/index.d.ts +19 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +170 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/kanban/board-create.tool.d.ts +20 -0
- package/dist/tools/kanban/board-create.tool.d.ts.map +1 -0
- package/dist/tools/kanban/board-create.tool.js +92 -0
- package/dist/tools/kanban/board-create.tool.js.map +1 -0
- package/dist/tools/kanban/board-invite.tool.d.ts +20 -0
- package/dist/tools/kanban/board-invite.tool.d.ts.map +1 -0
- package/dist/tools/kanban/board-invite.tool.js +96 -0
- package/dist/tools/kanban/board-invite.tool.js.map +1 -0
- package/dist/tools/kanban/board-list.tool.d.ts +20 -0
- package/dist/tools/kanban/board-list.tool.d.ts.map +1 -0
- package/dist/tools/kanban/board-list.tool.js +94 -0
- package/dist/tools/kanban/board-list.tool.js.map +1 -0
- package/dist/tools/kanban/board-members.tool.d.ts +20 -0
- package/dist/tools/kanban/board-members.tool.d.ts.map +1 -0
- package/dist/tools/kanban/board-members.tool.js +153 -0
- package/dist/tools/kanban/board-members.tool.js.map +1 -0
- package/dist/tools/kanban/board-share.tool.d.ts +20 -0
- package/dist/tools/kanban/board-share.tool.d.ts.map +1 -0
- package/dist/tools/kanban/board-share.tool.js +91 -0
- package/dist/tools/kanban/board-share.tool.js.map +1 -0
- package/dist/tools/kanban/board-status.tool.d.ts +20 -0
- package/dist/tools/kanban/board-status.tool.d.ts.map +1 -0
- package/dist/tools/kanban/board-status.tool.js +79 -0
- package/dist/tools/kanban/board-status.tool.js.map +1 -0
- package/dist/tools/kanban/index.d.ts +42 -0
- package/dist/tools/kanban/index.d.ts.map +1 -0
- package/dist/tools/kanban/index.js +46 -0
- package/dist/tools/kanban/index.js.map +1 -0
- package/dist/tools/kanban/task-assign.tool.d.ts +20 -0
- package/dist/tools/kanban/task-assign.tool.d.ts.map +1 -0
- package/dist/tools/kanban/task-assign.tool.js +103 -0
- package/dist/tools/kanban/task-assign.tool.js.map +1 -0
- package/dist/tools/kanban/task-claim.tool.d.ts +20 -0
- package/dist/tools/kanban/task-claim.tool.d.ts.map +1 -0
- package/dist/tools/kanban/task-claim.tool.js +107 -0
- package/dist/tools/kanban/task-claim.tool.js.map +1 -0
- package/dist/tools/kanban/task-create.tool.d.ts +20 -0
- package/dist/tools/kanban/task-create.tool.d.ts.map +1 -0
- package/dist/tools/kanban/task-create.tool.js +123 -0
- package/dist/tools/kanban/task-create.tool.js.map +1 -0
- package/dist/tools/kanban/task-list.tool.d.ts +20 -0
- package/dist/tools/kanban/task-list.tool.d.ts.map +1 -0
- package/dist/tools/kanban/task-list.tool.js +95 -0
- package/dist/tools/kanban/task-list.tool.js.map +1 -0
- package/dist/tools/kanban/task-push-multi.tool.d.ts +20 -0
- package/dist/tools/kanban/task-push-multi.tool.d.ts.map +1 -0
- package/dist/tools/kanban/task-push-multi.tool.js +273 -0
- package/dist/tools/kanban/task-push-multi.tool.js.map +1 -0
- package/dist/tools/kanban/task-update.tool.d.ts +20 -0
- package/dist/tools/kanban/task-update.tool.d.ts.map +1 -0
- package/dist/tools/kanban/task-update.tool.js +173 -0
- package/dist/tools/kanban/task-update.tool.js.map +1 -0
- package/dist/tools/kanban/workspace-create.tool.d.ts +20 -0
- package/dist/tools/kanban/workspace-create.tool.d.ts.map +1 -0
- package/dist/tools/kanban/workspace-create.tool.js +84 -0
- package/dist/tools/kanban/workspace-create.tool.js.map +1 -0
- package/dist/tools/kanban/workspace-join.tool.d.ts +20 -0
- package/dist/tools/kanban/workspace-join.tool.d.ts.map +1 -0
- package/dist/tools/kanban/workspace-join.tool.js +76 -0
- package/dist/tools/kanban/workspace-join.tool.js.map +1 -0
- package/dist/tools/kanban/workspace-leave.tool.d.ts +20 -0
- package/dist/tools/kanban/workspace-leave.tool.d.ts.map +1 -0
- package/dist/tools/kanban/workspace-leave.tool.js +74 -0
- package/dist/tools/kanban/workspace-leave.tool.js.map +1 -0
- package/dist/tools/kanban/workspace-list.tool.d.ts +20 -0
- package/dist/tools/kanban/workspace-list.tool.d.ts.map +1 -0
- package/dist/tools/kanban/workspace-list.tool.js +75 -0
- package/dist/tools/kanban/workspace-list.tool.js.map +1 -0
- package/dist/tools/loci/graph-find-path.tool.d.ts +38 -0
- package/dist/tools/loci/graph-find-path.tool.d.ts.map +1 -0
- package/dist/tools/loci/graph-find-path.tool.js +133 -0
- package/dist/tools/loci/graph-find-path.tool.js.map +1 -0
- package/dist/tools/loci/graph-query.tool.d.ts +55 -0
- package/dist/tools/loci/graph-query.tool.d.ts.map +1 -0
- package/dist/tools/loci/graph-query.tool.js +98 -0
- package/dist/tools/loci/graph-query.tool.js.map +1 -0
- package/dist/tools/loci/index.d.ts +27 -0
- package/dist/tools/loci/index.d.ts.map +1 -0
- package/dist/tools/loci/index.js +27 -0
- package/dist/tools/loci/index.js.map +1 -0
- package/dist/tools/loci/loci-recall.tool.d.ts +33 -0
- package/dist/tools/loci/loci-recall.tool.d.ts.map +1 -0
- package/dist/tools/loci/loci-recall.tool.js +156 -0
- package/dist/tools/loci/loci-recall.tool.js.map +1 -0
- package/dist/tools/loci/sequence-recommend.tool.d.ts +33 -0
- package/dist/tools/loci/sequence-recommend.tool.d.ts.map +1 -0
- package/dist/tools/loci/sequence-recommend.tool.js +114 -0
- package/dist/tools/loci/sequence-recommend.tool.js.map +1 -0
- package/dist/tools/memory/delete-memory.tool.d.ts +20 -0
- package/dist/tools/memory/delete-memory.tool.d.ts.map +1 -0
- package/dist/tools/memory/delete-memory.tool.js +96 -0
- package/dist/tools/memory/delete-memory.tool.js.map +1 -0
- package/dist/tools/memory/edit-memory.tool.d.ts +20 -0
- package/dist/tools/memory/edit-memory.tool.d.ts.map +1 -0
- package/dist/tools/memory/edit-memory.tool.js +172 -0
- package/dist/tools/memory/edit-memory.tool.js.map +1 -0
- package/dist/tools/memory/index.d.ts +31 -0
- package/dist/tools/memory/index.d.ts.map +1 -0
- package/dist/tools/memory/index.js +31 -0
- package/dist/tools/memory/index.js.map +1 -0
- package/dist/tools/memory/list-memories.tool.d.ts +20 -0
- package/dist/tools/memory/list-memories.tool.d.ts.map +1 -0
- package/dist/tools/memory/list-memories.tool.js +142 -0
- package/dist/tools/memory/list-memories.tool.js.map +1 -0
- package/dist/tools/memory/read-memory.tool.d.ts +20 -0
- package/dist/tools/memory/read-memory.tool.d.ts.map +1 -0
- package/dist/tools/memory/read-memory.tool.js +98 -0
- package/dist/tools/memory/read-memory.tool.js.map +1 -0
- package/dist/tools/memory/write-memory.tool.d.ts +20 -0
- package/dist/tools/memory/write-memory.tool.d.ts.map +1 -0
- package/dist/tools/memory/write-memory.tool.js +162 -0
- package/dist/tools/memory/write-memory.tool.js.map +1 -0
- package/dist/tools/mpc/index.d.ts +27 -0
- package/dist/tools/mpc/index.d.ts.map +1 -0
- package/dist/tools/mpc/index.js +27 -0
- package/dist/tools/mpc/index.js.map +1 -0
- package/dist/tools/mpc/mpc-distribute.tool.d.ts +36 -0
- package/dist/tools/mpc/mpc-distribute.tool.d.ts.map +1 -0
- package/dist/tools/mpc/mpc-distribute.tool.js +129 -0
- package/dist/tools/mpc/mpc-distribute.tool.js.map +1 -0
- package/dist/tools/mpc/mpc-reconstruct.tool.d.ts +28 -0
- package/dist/tools/mpc/mpc-reconstruct.tool.d.ts.map +1 -0
- package/dist/tools/mpc/mpc-reconstruct.tool.js +125 -0
- package/dist/tools/mpc/mpc-reconstruct.tool.js.map +1 -0
- package/dist/tools/mpc/mpc-split.tool.d.ts +43 -0
- package/dist/tools/mpc/mpc-split.tool.d.ts.map +1 -0
- package/dist/tools/mpc/mpc-split.tool.js +120 -0
- package/dist/tools/mpc/mpc-split.tool.js.map +1 -0
- package/dist/tools/mpc/mpc-status.tool.d.ts +33 -0
- package/dist/tools/mpc/mpc-status.tool.d.ts.map +1 -0
- package/dist/tools/mpc/mpc-status.tool.js +129 -0
- package/dist/tools/mpc/mpc-status.tool.js.map +1 -0
- package/dist/tools/multi-llm/consensus-prompt.tool.d.ts +9 -0
- package/dist/tools/multi-llm/consensus-prompt.tool.d.ts.map +1 -0
- package/dist/tools/multi-llm/consensus-prompt.tool.js +165 -0
- package/dist/tools/multi-llm/consensus-prompt.tool.js.map +1 -0
- package/dist/tools/multi-llm/index.d.ts +8 -0
- package/dist/tools/multi-llm/index.d.ts.map +1 -0
- package/dist/tools/multi-llm/index.js +8 -0
- package/dist/tools/multi-llm/index.js.map +1 -0
- package/dist/tools/multi-llm/multi-prompt.tool.d.ts +9 -0
- package/dist/tools/multi-llm/multi-prompt.tool.d.ts.map +1 -0
- package/dist/tools/multi-llm/multi-prompt.tool.js +90 -0
- package/dist/tools/multi-llm/multi-prompt.tool.js.map +1 -0
- package/dist/tools/project/check-types.tool.d.ts +20 -0
- package/dist/tools/project/check-types.tool.d.ts.map +1 -0
- package/dist/tools/project/check-types.tool.js +254 -0
- package/dist/tools/project/check-types.tool.js.map +1 -0
- package/dist/tools/project/index.d.ts +35 -0
- package/dist/tools/project/index.d.ts.map +1 -0
- package/dist/tools/project/index.js +35 -0
- package/dist/tools/project/index.js.map +1 -0
- package/dist/tools/project/project-info.tool.d.ts +20 -0
- package/dist/tools/project/project-info.tool.d.ts.map +1 -0
- package/dist/tools/project/project-info.tool.js +364 -0
- package/dist/tools/project/project-info.tool.js.map +1 -0
- package/dist/tools/project/run-lint.tool.d.ts +20 -0
- package/dist/tools/project/run-lint.tool.d.ts.map +1 -0
- package/dist/tools/project/run-lint.tool.js +279 -0
- package/dist/tools/project/run-lint.tool.js.map +1 -0
- package/dist/tools/project/run-script.tool.d.ts +20 -0
- package/dist/tools/project/run-script.tool.d.ts.map +1 -0
- package/dist/tools/project/run-script.tool.js +141 -0
- package/dist/tools/project/run-script.tool.js.map +1 -0
- package/dist/tools/project/run-tests.tool.d.ts +20 -0
- package/dist/tools/project/run-tests.tool.d.ts.map +1 -0
- package/dist/tools/project/run-tests.tool.js +357 -0
- package/dist/tools/project/run-tests.tool.js.map +1 -0
- package/dist/tools/recursive/index.d.ts +28 -0
- package/dist/tools/recursive/index.d.ts.map +1 -0
- package/dist/tools/recursive/index.js +28 -0
- package/dist/tools/recursive/index.js.map +1 -0
- package/dist/tools/recursive/invocation-log.tool.d.ts +20 -0
- package/dist/tools/recursive/invocation-log.tool.d.ts.map +1 -0
- package/dist/tools/recursive/invocation-log.tool.js +110 -0
- package/dist/tools/recursive/invocation-log.tool.js.map +1 -0
- package/dist/tools/recursive/invoke-batch.tool.d.ts +20 -0
- package/dist/tools/recursive/invoke-batch.tool.d.ts.map +1 -0
- package/dist/tools/recursive/invoke-batch.tool.js +99 -0
- package/dist/tools/recursive/invoke-batch.tool.js.map +1 -0
- package/dist/tools/recursive/invoke-tool.tool.d.ts +20 -0
- package/dist/tools/recursive/invoke-tool.tool.d.ts.map +1 -0
- package/dist/tools/recursive/invoke-tool.tool.js +100 -0
- package/dist/tools/recursive/invoke-tool.tool.js.map +1 -0
- package/dist/tools/registry.d.ts +261 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +462 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/rl/index.d.ts +25 -0
- package/dist/tools/rl/index.d.ts.map +1 -0
- package/dist/tools/rl/index.js +25 -0
- package/dist/tools/rl/index.js.map +1 -0
- package/dist/tools/rl/rl-dopamine-log.tool.d.ts +32 -0
- package/dist/tools/rl/rl-dopamine-log.tool.d.ts.map +1 -0
- package/dist/tools/rl/rl-dopamine-log.tool.js +112 -0
- package/dist/tools/rl/rl-dopamine-log.tool.js.map +1 -0
- package/dist/tools/rl/rl-reward-stats.tool.d.ts +33 -0
- package/dist/tools/rl/rl-reward-stats.tool.d.ts.map +1 -0
- package/dist/tools/rl/rl-reward-stats.tool.js +100 -0
- package/dist/tools/rl/rl-reward-stats.tool.js.map +1 -0
- package/dist/tools/session/index.d.ts +28 -0
- package/dist/tools/session/index.d.ts.map +1 -0
- package/dist/tools/session/index.js +28 -0
- package/dist/tools/session/index.js.map +1 -0
- package/dist/tools/session/session-create.tool.d.ts +35 -0
- package/dist/tools/session/session-create.tool.d.ts.map +1 -0
- package/dist/tools/session/session-create.tool.js +74 -0
- package/dist/tools/session/session-create.tool.js.map +1 -0
- package/dist/tools/session/session-delete.tool.d.ts +32 -0
- package/dist/tools/session/session-delete.tool.d.ts.map +1 -0
- package/dist/tools/session/session-delete.tool.js +94 -0
- package/dist/tools/session/session-delete.tool.js.map +1 -0
- package/dist/tools/session/session-info.tool.d.ts +30 -0
- package/dist/tools/session/session-info.tool.d.ts.map +1 -0
- package/dist/tools/session/session-info.tool.js +89 -0
- package/dist/tools/session/session-info.tool.js.map +1 -0
- package/dist/tools/session/session-list.tool.d.ts +43 -0
- package/dist/tools/session/session-list.tool.d.ts.map +1 -0
- package/dist/tools/session/session-list.tool.js +85 -0
- package/dist/tools/session/session-list.tool.js.map +1 -0
- package/dist/tools/session/session-switch.tool.d.ts +32 -0
- package/dist/tools/session/session-switch.tool.d.ts.map +1 -0
- package/dist/tools/session/session-switch.tool.js +75 -0
- package/dist/tools/session/session-switch.tool.js.map +1 -0
- package/dist/tools/simple-tools.d.ts +23 -0
- package/dist/tools/simple-tools.d.ts.map +1 -0
- package/dist/tools/simple-tools.js +73 -0
- package/dist/tools/simple-tools.js.map +1 -0
- package/dist/tools/specialized/analyze-deps.tool.d.ts +20 -0
- package/dist/tools/specialized/analyze-deps.tool.d.ts.map +1 -0
- package/dist/tools/specialized/analyze-deps.tool.js +102 -0
- package/dist/tools/specialized/analyze-deps.tool.js.map +1 -0
- package/dist/tools/specialized/auto-fix-agent.tool.d.ts +12 -0
- package/dist/tools/specialized/auto-fix-agent.tool.d.ts.map +1 -0
- package/dist/tools/specialized/auto-fix-agent.tool.js +154 -0
- package/dist/tools/specialized/auto-fix-agent.tool.js.map +1 -0
- package/dist/tools/specialized/auto-fix.tool.d.ts +20 -0
- package/dist/tools/specialized/auto-fix.tool.d.ts.map +1 -0
- package/dist/tools/specialized/auto-fix.tool.js +264 -0
- package/dist/tools/specialized/auto-fix.tool.js.map +1 -0
- package/dist/tools/specialized/code-review.tool.d.ts +20 -0
- package/dist/tools/specialized/code-review.tool.d.ts.map +1 -0
- package/dist/tools/specialized/code-review.tool.js +140 -0
- package/dist/tools/specialized/code-review.tool.js.map +1 -0
- package/dist/tools/specialized/explain-code.tool.d.ts +20 -0
- package/dist/tools/specialized/explain-code.tool.d.ts.map +1 -0
- package/dist/tools/specialized/explain-code.tool.js +90 -0
- package/dist/tools/specialized/explain-code.tool.js.map +1 -0
- package/dist/tools/specialized/fix-bug.tool.d.ts +20 -0
- package/dist/tools/specialized/fix-bug.tool.d.ts.map +1 -0
- package/dist/tools/specialized/fix-bug.tool.js +107 -0
- package/dist/tools/specialized/fix-bug.tool.js.map +1 -0
- package/dist/tools/specialized/index.d.ts +26 -0
- package/dist/tools/specialized/index.d.ts.map +1 -0
- package/dist/tools/specialized/index.js +26 -0
- package/dist/tools/specialized/index.js.map +1 -0
- package/dist/tools/specialized/refactor.tool.d.ts +20 -0
- package/dist/tools/specialized/refactor.tool.d.ts.map +1 -0
- package/dist/tools/specialized/refactor.tool.js +115 -0
- package/dist/tools/specialized/refactor.tool.js.map +1 -0
- package/dist/tools/specialized/write-tests.tool.d.ts +20 -0
- package/dist/tools/specialized/write-tests.tool.d.ts.map +1 -0
- package/dist/tools/specialized/write-tests.tool.js +115 -0
- package/dist/tools/specialized/write-tests.tool.js.map +1 -0
- package/dist/tools/system/ai-config.tool.d.ts +13 -0
- package/dist/tools/system/ai-config.tool.d.ts.map +1 -0
- package/dist/tools/system/ai-config.tool.js +252 -0
- package/dist/tools/system/ai-config.tool.js.map +1 -0
- package/dist/tools/system/ai-models.tool.d.ts +45 -0
- package/dist/tools/system/ai-models.tool.d.ts.map +1 -0
- package/dist/tools/system/ai-models.tool.js +194 -0
- package/dist/tools/system/ai-models.tool.js.map +1 -0
- package/dist/tools/system/config.tool.d.ts +57 -0
- package/dist/tools/system/config.tool.d.ts.map +1 -0
- package/dist/tools/system/config.tool.js +320 -0
- package/dist/tools/system/config.tool.js.map +1 -0
- package/dist/tools/system/env-info.tool.d.ts +20 -0
- package/dist/tools/system/env-info.tool.d.ts.map +1 -0
- package/dist/tools/system/env-info.tool.js +228 -0
- package/dist/tools/system/env-info.tool.js.map +1 -0
- package/dist/tools/system/index.d.ts +37 -0
- package/dist/tools/system/index.d.ts.map +1 -0
- package/dist/tools/system/index.js +37 -0
- package/dist/tools/system/index.js.map +1 -0
- package/dist/tools/system/memory-usage.tool.d.ts +20 -0
- package/dist/tools/system/memory-usage.tool.d.ts.map +1 -0
- package/dist/tools/system/memory-usage.tool.js +223 -0
- package/dist/tools/system/memory-usage.tool.js.map +1 -0
- package/dist/tools/system/process-list.tool.d.ts +20 -0
- package/dist/tools/system/process-list.tool.d.ts.map +1 -0
- package/dist/tools/system/process-list.tool.js +202 -0
- package/dist/tools/system/process-list.tool.js.map +1 -0
- package/dist/tools/system/shell-exec.tool.d.ts +20 -0
- package/dist/tools/system/shell-exec.tool.d.ts.map +1 -0
- package/dist/tools/system/shell-exec.tool.js +293 -0
- package/dist/tools/system/shell-exec.tool.js.map +1 -0
- package/dist/tools/timeout-test.tool.d.ts +20 -0
- package/dist/tools/timeout-test.tool.d.ts.map +1 -0
- package/dist/tools/timeout-test.tool.js +46 -0
- package/dist/tools/timeout-test.tool.js.map +1 -0
- package/dist/tree-sitter/index.d.ts +27 -0
- package/dist/tree-sitter/index.d.ts.map +1 -0
- package/dist/tree-sitter/index.js +27 -0
- package/dist/tree-sitter/index.js.map +1 -0
- package/dist/tree-sitter/parser-manager.d.ts +83 -0
- package/dist/tree-sitter/parser-manager.d.ts.map +1 -0
- package/dist/tree-sitter/parser-manager.js +430 -0
- package/dist/tree-sitter/parser-manager.js.map +1 -0
- package/dist/tree-sitter/types.d.ts +117 -0
- package/dist/tree-sitter/types.d.ts.map +1 -0
- package/dist/tree-sitter/types.js +375 -0
- package/dist/tree-sitter/types.js.map +1 -0
- package/dist/types/file-types.d.ts +277 -0
- package/dist/types/file-types.d.ts.map +1 -0
- package/dist/types/file-types.js +75 -0
- package/dist/types/file-types.js.map +1 -0
- package/dist/types/git-types.d.ts +270 -0
- package/dist/types/git-types.d.ts.map +1 -0
- package/dist/types/git-types.js +26 -0
- package/dist/types/git-types.js.map +1 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +31 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/tool-types.d.ts +231 -0
- package/dist/types/tool-types.d.ts.map +1 -0
- package/dist/types/tool-types.js +30 -0
- package/dist/types/tool-types.js.map +1 -0
- package/dist/utils/bun-file.d.ts +99 -0
- package/dist/utils/bun-file.d.ts.map +1 -0
- package/dist/utils/bun-file.js +393 -0
- package/dist/utils/bun-file.js.map +1 -0
- package/dist/utils/cache.d.ts +124 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +228 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/commandExecutor.d.ts +54 -0
- package/dist/utils/commandExecutor.d.ts.map +1 -0
- package/dist/utils/commandExecutor.js +165 -0
- package/dist/utils/commandExecutor.js.map +1 -0
- package/dist/utils/edit-utils.d.ts +72 -0
- package/dist/utils/edit-utils.d.ts.map +1 -0
- package/dist/utils/edit-utils.js +129 -0
- package/dist/utils/edit-utils.js.map +1 -0
- package/dist/utils/errors.d.ts +170 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +304 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/file-utils.d.ts +195 -0
- package/dist/utils/file-utils.d.ts.map +1 -0
- package/dist/utils/file-utils.js +401 -0
- package/dist/utils/file-utils.js.map +1 -0
- package/dist/utils/git-utils.d.ts +204 -0
- package/dist/utils/git-utils.d.ts.map +1 -0
- package/dist/utils/git-utils.js +352 -0
- package/dist/utils/git-utils.js.map +1 -0
- package/dist/utils/languageDetection.d.ts +54 -0
- package/dist/utils/languageDetection.d.ts.map +1 -0
- package/dist/utils/languageDetection.js +340 -0
- package/dist/utils/languageDetection.js.map +1 -0
- package/dist/utils/logger.d.ts +207 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +484 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/process-utils.d.ts +196 -0
- package/dist/utils/process-utils.d.ts.map +1 -0
- package/dist/utils/process-utils.js +302 -0
- package/dist/utils/process-utils.js.map +1 -0
- package/dist/utils/projectContext.enhanced.d.ts +71 -0
- package/dist/utils/projectContext.enhanced.d.ts.map +1 -0
- package/dist/utils/projectContext.enhanced.js +816 -0
- package/dist/utils/projectContext.enhanced.js.map +1 -0
- package/dist/utils/security.d.ts +123 -0
- package/dist/utils/security.d.ts.map +1 -0
- package/dist/utils/security.js +337 -0
- package/dist/utils/security.js.map +1 -0
- package/dist/utils/validation.d.ts +163 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +558 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/version.d.ts +17 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +17 -0
- package/dist/version.js.map +1 -0
- package/kemdi-code-mcp-logo.png +0 -0
- package/package.json +136 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KemdiCode MCP Server
|
|
3
|
+
* Copyright (C) 2025-2026 Kemdi Sp. z o.o.
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Default loci templates
|
|
20
|
+
*/
|
|
21
|
+
export const LOCI_TEMPLATES = {
|
|
22
|
+
'error-volcano': {
|
|
23
|
+
name: 'The Error Volcano',
|
|
24
|
+
description: 'An active volcano that erupts with stack traces and error messages',
|
|
25
|
+
category: 'error',
|
|
26
|
+
associations: [
|
|
27
|
+
'Red TypeError lava flows down the slopes',
|
|
28
|
+
'Green ReferenceError gas rises from vents',
|
|
29
|
+
'Blue SyntaxError crystals form in caves',
|
|
30
|
+
'The rumbling sound of uncaught exceptions',
|
|
31
|
+
],
|
|
32
|
+
icon: '🌋',
|
|
33
|
+
color: '#e74c3c',
|
|
34
|
+
},
|
|
35
|
+
'solution-library': {
|
|
36
|
+
name: 'The Solution Library',
|
|
37
|
+
description: 'An infinite library with books containing fixes and solutions',
|
|
38
|
+
category: 'solution',
|
|
39
|
+
associations: [
|
|
40
|
+
'Golden shelves organized by error type',
|
|
41
|
+
'Glowing books that open when you approach',
|
|
42
|
+
'Whispered hints from ancient scrolls',
|
|
43
|
+
'A wise librarian who knows all patterns',
|
|
44
|
+
],
|
|
45
|
+
icon: '📚',
|
|
46
|
+
color: '#3498db',
|
|
47
|
+
},
|
|
48
|
+
'dependency-dungeon': {
|
|
49
|
+
name: 'The Dependency Dungeon',
|
|
50
|
+
description: 'A dark dungeon where npm packages are kept in cages',
|
|
51
|
+
category: 'dependency',
|
|
52
|
+
associations: [
|
|
53
|
+
'Rusty chains connecting package versions',
|
|
54
|
+
'Torches showing peer dependency paths',
|
|
55
|
+
'Guards checking semver compatibility',
|
|
56
|
+
'A map of the node_modules labyrinth',
|
|
57
|
+
],
|
|
58
|
+
icon: '⛓️',
|
|
59
|
+
color: '#9b59b6',
|
|
60
|
+
},
|
|
61
|
+
'tool-workshop': {
|
|
62
|
+
name: 'The Tool Workshop',
|
|
63
|
+
description: 'A craftsman workshop filled with powerful tools',
|
|
64
|
+
category: 'tool',
|
|
65
|
+
associations: [
|
|
66
|
+
'Sparkling code-review magnifying glass',
|
|
67
|
+
'Refactoring hammer that reshapes code',
|
|
68
|
+
'Testing anvil that finds weaknesses',
|
|
69
|
+
'Git time machine in the corner',
|
|
70
|
+
],
|
|
71
|
+
icon: '🛠️',
|
|
72
|
+
color: '#f39c12',
|
|
73
|
+
},
|
|
74
|
+
'pattern-garden': {
|
|
75
|
+
name: 'The Pattern Garden',
|
|
76
|
+
description: 'A serene garden where design patterns grow as plants',
|
|
77
|
+
category: 'pattern',
|
|
78
|
+
associations: [
|
|
79
|
+
'Factory trees producing object fruits',
|
|
80
|
+
'Singleton rose that blooms once',
|
|
81
|
+
'Observer vines that notice everything',
|
|
82
|
+
'Strategy flowers that adapt to weather',
|
|
83
|
+
],
|
|
84
|
+
icon: '🌸',
|
|
85
|
+
color: '#2ecc71',
|
|
86
|
+
},
|
|
87
|
+
'concept-cloud': {
|
|
88
|
+
name: 'The Concept Cloud',
|
|
89
|
+
description: 'Floating platforms in the sky holding abstract concepts',
|
|
90
|
+
category: 'concept',
|
|
91
|
+
associations: [
|
|
92
|
+
'Async clouds that float on promises',
|
|
93
|
+
'Type bridges connecting platforms',
|
|
94
|
+
'Rainbow streams of data flow',
|
|
95
|
+
'Thunder of breaking changes',
|
|
96
|
+
],
|
|
97
|
+
icon: '☁️',
|
|
98
|
+
color: '#1abc9c',
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Redis key patterns for Loci/Graph
|
|
103
|
+
*/
|
|
104
|
+
export const LOCI_KEYS = {
|
|
105
|
+
/** Node: mcp:graph:node:{nodeId} */
|
|
106
|
+
node: (nodeId) => `mcp:graph:node:${nodeId}`,
|
|
107
|
+
/** Nodes by type: mcp:graph:type:{nodeType} */
|
|
108
|
+
nodesByType: (nodeType) => `mcp:graph:type:${nodeType}`,
|
|
109
|
+
/** Nodes by session: mcp:graph:session:{sessionId} */
|
|
110
|
+
nodesBySession: (sessionId) => `mcp:graph:session:${sessionId}`,
|
|
111
|
+
/** Outgoing edges: mcp:graph:edges:out:{nodeId} */
|
|
112
|
+
edgesOut: (nodeId) => `mcp:graph:edges:out:${nodeId}`,
|
|
113
|
+
/** Incoming edges: mcp:graph:edges:in:{nodeId} */
|
|
114
|
+
edgesIn: (nodeId) => `mcp:graph:edges:in:${nodeId}`,
|
|
115
|
+
/** Edge data: mcp:graph:edge:{edgeId} */
|
|
116
|
+
edge: (edgeId) => `mcp:graph:edge:${edgeId}`,
|
|
117
|
+
/** Loci: mcp:loci:{lociId} */
|
|
118
|
+
loci: (lociId) => `mcp:loci:${lociId}`,
|
|
119
|
+
/** Loci by name: mcp:loci:name:{normalizedName} */
|
|
120
|
+
lociByName: (name) => `mcp:loci:name:${name.toLowerCase().replace(/\s+/g, '-')}`,
|
|
121
|
+
/** Loci by category: mcp:loci:category:{category} */
|
|
122
|
+
lociByCategory: (category) => `mcp:loci:category:${category}`,
|
|
123
|
+
/** Loci by session: mcp:loci:session:{sessionId} */
|
|
124
|
+
lociBySession: (sessionId) => `mcp:loci:session:${sessionId}`,
|
|
125
|
+
/** Tool sequences: mcp:sequences:{sessionId} */
|
|
126
|
+
sequences: (sessionId) => `mcp:sequences:${sessionId}`,
|
|
127
|
+
/** Current tool chain: mcp:chain:{agentId} */
|
|
128
|
+
currentChain: (agentId) => `mcp:chain:${agentId}`,
|
|
129
|
+
/** Tool transition matrix: mcp:transitions */
|
|
130
|
+
transitions: () => `mcp:transitions`,
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Default auto-population configuration
|
|
134
|
+
*/
|
|
135
|
+
export const DEFAULT_AUTO_POPULATION_CONFIG = {
|
|
136
|
+
enabled: true,
|
|
137
|
+
events: ['tool_executed', 'error_detected', 'fix_applied', 'pattern_learned'],
|
|
138
|
+
defaultEdgeWeight: 0.5,
|
|
139
|
+
defaultNodeWeight: 0.5,
|
|
140
|
+
autoLociAssociation: true,
|
|
141
|
+
minSequenceOccurrences: 3,
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/loci/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KemdiCode MCP Server
|
|
3
|
+
* Copyright (C) 2025-2026 Kemdi Sp. z o.o.
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import { MPC_ALLOWED_ROLES } from './types.js';
|
|
19
|
+
import type { AgentRole } from '../context/types.js';
|
|
20
|
+
/**
|
|
21
|
+
* MPC operation types
|
|
22
|
+
*/
|
|
23
|
+
export type MpcOperation = keyof typeof MPC_ALLOWED_ROLES;
|
|
24
|
+
/**
|
|
25
|
+
* Authorization result
|
|
26
|
+
*/
|
|
27
|
+
export interface MpcAuthResult {
|
|
28
|
+
/** Whether the agent is authorized */
|
|
29
|
+
authorized: boolean;
|
|
30
|
+
/** Agent's role (if found) */
|
|
31
|
+
role?: AgentRole;
|
|
32
|
+
/** Error message (if not authorized) */
|
|
33
|
+
error?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Generate HMAC signature for agent verification
|
|
37
|
+
* This creates a signature that can be verified later to prevent spoofing.
|
|
38
|
+
*/
|
|
39
|
+
export declare function generateAgentSignature(agentId: string, sessionId: string, timestamp: number): string;
|
|
40
|
+
/**
|
|
41
|
+
* Verify agent signature to prevent spoofing
|
|
42
|
+
*/
|
|
43
|
+
export declare function verifyAgentSignature(agentId: string, sessionId: string, timestamp: number, signature: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Verify agent authorization for an MPC operation
|
|
46
|
+
*
|
|
47
|
+
* SECURITY: Includes rate limiting to prevent brute-force attacks.
|
|
48
|
+
*
|
|
49
|
+
* @param agentId - The agent ID to verify
|
|
50
|
+
* @param operation - The MPC operation being performed
|
|
51
|
+
* @param signature - Optional HMAC signature for enhanced security
|
|
52
|
+
* @param sessionId - Session ID (required if signature provided)
|
|
53
|
+
* @param timestamp - Timestamp (required if signature provided)
|
|
54
|
+
* @returns Authorization result with role info or error
|
|
55
|
+
*/
|
|
56
|
+
export declare function verifyMpcAuthorization(agentId: string, operation: MpcOperation, signature?: string, sessionId?: string, timestamp?: number): Promise<MpcAuthResult>;
|
|
57
|
+
/**
|
|
58
|
+
* Check if an operation requires authorization
|
|
59
|
+
*
|
|
60
|
+
* All MPC operations except 'viewStatus' require supervisor/coordinator role.
|
|
61
|
+
*/
|
|
62
|
+
export declare function requiresElevatedRole(operation: MpcOperation): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Get human-readable description of required roles for an operation
|
|
65
|
+
*/
|
|
66
|
+
export declare function getRequiredRolesDescription(operation: MpcOperation): string;
|
|
67
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/mpc/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAWrD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqCD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAkBT;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,YAAY,EACvB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAqDxB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAIrE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,CAG3E"}
|
package/dist/mpc/auth.js
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KemdiCode MCP Server
|
|
3
|
+
* Copyright (C) 2025-2026 Kemdi Sp. z o.o.
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* MPC Authorization Module
|
|
20
|
+
*
|
|
21
|
+
* Provides role-based access control for MPC operations.
|
|
22
|
+
* Only authorized agent roles can perform sensitive operations.
|
|
23
|
+
*
|
|
24
|
+
* SECURITY: Includes rate limiting to prevent brute-force attacks on agent IDs.
|
|
25
|
+
*/
|
|
26
|
+
import { getAgentMonitor } from '../context/agent-monitor.js';
|
|
27
|
+
import { MPC_ALLOWED_ROLES } from './types.js';
|
|
28
|
+
import { createHmac } from 'crypto';
|
|
29
|
+
/**
|
|
30
|
+
* Rate limiter for authorization attempts
|
|
31
|
+
*/
|
|
32
|
+
const authAttempts = new Map();
|
|
33
|
+
const MAX_AUTH_ATTEMPTS = 10;
|
|
34
|
+
const MAX_AUTH_KEYS = 1000;
|
|
35
|
+
const RATE_LIMIT_WINDOW_MS = 60000; // 1 minute
|
|
36
|
+
/**
|
|
37
|
+
* Check rate limit for authorization attempts
|
|
38
|
+
*/
|
|
39
|
+
function checkRateLimit(agentId) {
|
|
40
|
+
const now = Date.now();
|
|
41
|
+
const key = `auth:${agentId}`;
|
|
42
|
+
const record = authAttempts.get(key);
|
|
43
|
+
if (record) {
|
|
44
|
+
if (now > record.resetAt) {
|
|
45
|
+
// Window expired, reset
|
|
46
|
+
authAttempts.set(key, { count: 1, resetAt: now + RATE_LIMIT_WINDOW_MS });
|
|
47
|
+
return { allowed: true };
|
|
48
|
+
}
|
|
49
|
+
if (record.count >= MAX_AUTH_ATTEMPTS) {
|
|
50
|
+
return { allowed: false, retryAfterMs: record.resetAt - now };
|
|
51
|
+
}
|
|
52
|
+
record.count++;
|
|
53
|
+
return { allowed: true };
|
|
54
|
+
}
|
|
55
|
+
// Evict expired entries if map grows too large
|
|
56
|
+
if (authAttempts.size > MAX_AUTH_KEYS) {
|
|
57
|
+
for (const [k, v] of authAttempts) {
|
|
58
|
+
if (now > v.resetAt)
|
|
59
|
+
authAttempts.delete(k);
|
|
60
|
+
if (authAttempts.size <= MAX_AUTH_KEYS)
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
authAttempts.set(key, { count: 1, resetAt: now + RATE_LIMIT_WINDOW_MS });
|
|
65
|
+
return { allowed: true };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Generate HMAC signature for agent verification
|
|
69
|
+
* This creates a signature that can be verified later to prevent spoofing.
|
|
70
|
+
*/
|
|
71
|
+
export function generateAgentSignature(agentId, sessionId, timestamp) {
|
|
72
|
+
const secret = process.env.MPC_MASTER_SECRET || '';
|
|
73
|
+
if (!secret) {
|
|
74
|
+
throw new Error('MPC_MASTER_SECRET required for agent signature generation');
|
|
75
|
+
}
|
|
76
|
+
const data = `${agentId}:${sessionId}:${timestamp}`;
|
|
77
|
+
return createHmac('sha256', secret).update(data).digest('hex');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Verify agent signature to prevent spoofing
|
|
81
|
+
*/
|
|
82
|
+
export function verifyAgentSignature(agentId, sessionId, timestamp, signature) {
|
|
83
|
+
// Signature must not be older than 5 minutes
|
|
84
|
+
const MAX_SIGNATURE_AGE_MS = 5 * 60 * 1000;
|
|
85
|
+
if (Date.now() - timestamp > MAX_SIGNATURE_AGE_MS) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
const expectedSignature = generateAgentSignature(agentId, sessionId, timestamp);
|
|
89
|
+
// Constant-time comparison to prevent timing attacks
|
|
90
|
+
if (signature.length !== expectedSignature.length) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
let result = 0;
|
|
94
|
+
for (let i = 0; i < signature.length; i++) {
|
|
95
|
+
result |= signature.charCodeAt(i) ^ expectedSignature.charCodeAt(i);
|
|
96
|
+
}
|
|
97
|
+
return result === 0;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Verify agent authorization for an MPC operation
|
|
101
|
+
*
|
|
102
|
+
* SECURITY: Includes rate limiting to prevent brute-force attacks.
|
|
103
|
+
*
|
|
104
|
+
* @param agentId - The agent ID to verify
|
|
105
|
+
* @param operation - The MPC operation being performed
|
|
106
|
+
* @param signature - Optional HMAC signature for enhanced security
|
|
107
|
+
* @param sessionId - Session ID (required if signature provided)
|
|
108
|
+
* @param timestamp - Timestamp (required if signature provided)
|
|
109
|
+
* @returns Authorization result with role info or error
|
|
110
|
+
*/
|
|
111
|
+
export async function verifyMpcAuthorization(agentId, operation, signature, sessionId, timestamp) {
|
|
112
|
+
// SECURITY: Check rate limit first
|
|
113
|
+
const rateCheck = checkRateLimit(agentId);
|
|
114
|
+
if (!rateCheck.allowed) {
|
|
115
|
+
return {
|
|
116
|
+
authorized: false,
|
|
117
|
+
error: `Rate limit exceeded. Too many authorization attempts. ` +
|
|
118
|
+
`Try again in ${Math.ceil((rateCheck.retryAfterMs || 0) / 1000)} seconds.`,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
const monitor = getAgentMonitor();
|
|
122
|
+
// Get agent info from registry
|
|
123
|
+
const agent = await monitor.getAgent(agentId);
|
|
124
|
+
if (!agent) {
|
|
125
|
+
return {
|
|
126
|
+
authorized: false,
|
|
127
|
+
error: `Agent ${agentId} not found in registry. Register agent first using agent-register tool.`,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
// SECURITY: If signature provided, verify it to prevent spoofing
|
|
131
|
+
if (signature && sessionId && timestamp) {
|
|
132
|
+
if (!verifyAgentSignature(agentId, sessionId, timestamp, signature)) {
|
|
133
|
+
return {
|
|
134
|
+
authorized: false,
|
|
135
|
+
role: agent.role,
|
|
136
|
+
error: 'Invalid or expired agent signature. Agent identity could not be verified.',
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Check if agent's role is allowed for this operation
|
|
141
|
+
const allowedRoles = MPC_ALLOWED_ROLES[operation];
|
|
142
|
+
const isAllowed = allowedRoles.includes(agent.role);
|
|
143
|
+
if (!isAllowed) {
|
|
144
|
+
return {
|
|
145
|
+
authorized: false,
|
|
146
|
+
role: agent.role,
|
|
147
|
+
error: `Agent role '${agent.role}' is not authorized for '${operation}' operation. ` +
|
|
148
|
+
`Required roles: ${allowedRoles.join(', ')}`,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
authorized: true,
|
|
153
|
+
role: agent.role,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Check if an operation requires authorization
|
|
158
|
+
*
|
|
159
|
+
* All MPC operations except 'viewStatus' require supervisor/coordinator role.
|
|
160
|
+
*/
|
|
161
|
+
export function requiresElevatedRole(operation) {
|
|
162
|
+
const roles = MPC_ALLOWED_ROLES[operation];
|
|
163
|
+
// If workers are allowed, it's not elevated
|
|
164
|
+
return !roles.includes('worker');
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get human-readable description of required roles for an operation
|
|
168
|
+
*/
|
|
169
|
+
export function getRequiredRolesDescription(operation) {
|
|
170
|
+
const roles = MPC_ALLOWED_ROLES[operation];
|
|
171
|
+
return roles.join(' or ');
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/mpc/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KemdiCode MCP Server
|
|
3
|
+
* Copyright (C) 2025-2026 Kemdi Sp. z o.o.
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Encryption result with IV and auth tag
|
|
20
|
+
*/
|
|
21
|
+
export interface EncryptedData {
|
|
22
|
+
/** Encrypted data (hex) */
|
|
23
|
+
ciphertext: string;
|
|
24
|
+
/** Initialization vector (hex) */
|
|
25
|
+
iv: string;
|
|
26
|
+
/** Authentication tag (hex) */
|
|
27
|
+
authTag: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Generate a random 256-bit key
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateKey(): Buffer;
|
|
33
|
+
/**
|
|
34
|
+
* Generate a random 96-bit IV for AES-GCM
|
|
35
|
+
*/
|
|
36
|
+
export declare function generateIV(): Buffer;
|
|
37
|
+
/**
|
|
38
|
+
* Derive a key from a password/passphrase using PBKDF2
|
|
39
|
+
*/
|
|
40
|
+
export declare function deriveKey(passphrase: string, salt?: Buffer): {
|
|
41
|
+
key: Buffer;
|
|
42
|
+
salt: Buffer;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Derive a session-specific key from session ID using HKDF
|
|
46
|
+
*
|
|
47
|
+
* SECURITY: Uses HKDF (HMAC-based Key Derivation Function) with proper
|
|
48
|
+
* salt derivation instead of simple SHA256 concatenation.
|
|
49
|
+
* This prevents collision attacks and provides proper key separation.
|
|
50
|
+
*/
|
|
51
|
+
export declare function deriveSessionKey(sessionId: string, masterSecret: string): Buffer;
|
|
52
|
+
/**
|
|
53
|
+
* Encrypt data using AES-256-GCM
|
|
54
|
+
*/
|
|
55
|
+
export declare function encrypt(data: string, key: Buffer): EncryptedData;
|
|
56
|
+
/**
|
|
57
|
+
* Decrypt data using AES-256-GCM
|
|
58
|
+
*/
|
|
59
|
+
export declare function decrypt(encrypted: EncryptedData, key: Buffer): string;
|
|
60
|
+
/**
|
|
61
|
+
* Hash data using SHA-256
|
|
62
|
+
*/
|
|
63
|
+
export declare function sha256(data: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Generate a verification hash for a secret
|
|
66
|
+
* Uses double hashing for security
|
|
67
|
+
*/
|
|
68
|
+
export declare function generateVerificationHash(secret: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Verify a secret against its verification hash
|
|
71
|
+
*/
|
|
72
|
+
export declare function verifySecretHash(secret: string, verificationHash: string): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Generate a unique secret ID
|
|
75
|
+
*/
|
|
76
|
+
export declare function generateSecretId(): string;
|
|
77
|
+
/**
|
|
78
|
+
* Generate a unique share ID
|
|
79
|
+
*/
|
|
80
|
+
export declare function generateShareId(secretId: string, index: number): string;
|
|
81
|
+
/**
|
|
82
|
+
* Encrypt a share for storage
|
|
83
|
+
*/
|
|
84
|
+
export declare function encryptShare(shareData: string, sessionKey: Buffer): EncryptedData;
|
|
85
|
+
/**
|
|
86
|
+
* Decrypt a share from storage
|
|
87
|
+
*/
|
|
88
|
+
export declare function decryptShare(encrypted: EncryptedData, sessionKey: Buffer): string;
|
|
89
|
+
/**
|
|
90
|
+
* Key management for MPC operations
|
|
91
|
+
*
|
|
92
|
+
* SECURITY: Session keys are cached with TTL to limit exposure window.
|
|
93
|
+
*/
|
|
94
|
+
export declare class MpcKeyManager {
|
|
95
|
+
private sessionKeys;
|
|
96
|
+
private masterSecret;
|
|
97
|
+
private static readonly KEY_TTL_MS;
|
|
98
|
+
constructor(masterSecret?: string);
|
|
99
|
+
/**
|
|
100
|
+
* Check if secret has adequate entropy
|
|
101
|
+
* Rejects patterns like "aaaa...", "1234...", "0000..."
|
|
102
|
+
*/
|
|
103
|
+
private hasAdequateEntropy;
|
|
104
|
+
/**
|
|
105
|
+
* Get or derive a session key
|
|
106
|
+
*
|
|
107
|
+
* SECURITY: Keys are cached with TTL to limit exposure window.
|
|
108
|
+
*/
|
|
109
|
+
getSessionKey(sessionId: string): Buffer;
|
|
110
|
+
/**
|
|
111
|
+
* Remove expired keys from cache
|
|
112
|
+
*/
|
|
113
|
+
private cleanupExpiredKeys;
|
|
114
|
+
/**
|
|
115
|
+
* Clear a session key
|
|
116
|
+
*/
|
|
117
|
+
clearSessionKey(sessionId: string): void;
|
|
118
|
+
/**
|
|
119
|
+
* Clear all session keys
|
|
120
|
+
*/
|
|
121
|
+
clearAllKeys(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Encrypt data for a session
|
|
124
|
+
*/
|
|
125
|
+
encryptForSession(sessionId: string, data: string): EncryptedData;
|
|
126
|
+
/**
|
|
127
|
+
* Decrypt data for a session
|
|
128
|
+
*/
|
|
129
|
+
decryptForSession(sessionId: string, encrypted: EncryptedData): string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get the global MPC key manager
|
|
133
|
+
*/
|
|
134
|
+
export declare function getKeyManager(): MpcKeyManager;
|
|
135
|
+
/**
|
|
136
|
+
* Reset the global key manager (for testing)
|
|
137
|
+
*/
|
|
138
|
+
export declare function resetKeyManager(): void;
|
|
139
|
+
//# sourceMappingURL=crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/mpc/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAI1F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAahF;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAchE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAWrE;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAWlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAEjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjF;AAiBD;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAExC,YAAY,CAAC,EAAE,MAAM;IA+BjC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;;;OAIG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAwBxC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa;IAKjE;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,MAAM;CAIvE;AAKD;;GAEG;AACH,wBAAgB,aAAa,IAAI,aAAa,CAK7C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAKtC"}
|