atabey 0.0.10 → 0.0.12
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/ATABEY.md +272 -15
- package/README.md +112 -162
- package/bin/completion.sh +30 -0
- package/bin/{validate-agent-army.js → validate-al-registry.js} +2 -2
- package/dist/framework-mcp/src/index.js +14 -2
- package/dist/framework-mcp/src/index.js.map +1 -1
- package/dist/framework-mcp/src/resources/index.js +5 -5
- package/dist/framework-mcp/src/resources/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +1 -1
- package/dist/framework-mcp/src/tools/control_plane/locking.js +11 -9
- package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -1
- package/dist/framework-mcp/src/tools/definitions.d.ts +5 -0
- package/dist/framework-mcp/src/tools/definitions.js +99 -246
- package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +4 -4
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/read_file.js +7 -7
- package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/replace_text.js +3 -3
- package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/write_file.d.ts +1 -1
- package/dist/framework-mcp/src/tools/file_system/write_file.js +16 -4
- package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/audit_deps.js +1 -1
- package/dist/framework-mcp/src/tools/framework/audit_deps.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/submit_plan.d.ts +4 -3
- package/dist/framework-mcp/src/tools/framework/submit_plan.js.map +1 -1
- package/dist/framework-mcp/src/tools/index.d.ts +2 -0
- package/dist/framework-mcp/src/tools/index.js +49 -0
- package/dist/framework-mcp/src/tools/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.d.ts +8 -0
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.js +29 -0
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.js.map +1 -0
- package/dist/framework-mcp/src/tools/memory/get_insights.d.ts +2 -2
- package/dist/framework-mcp/src/tools/memory/get_insights.js +9 -21
- package/dist/framework-mcp/src/tools/memory/get_insights.js.map +1 -1
- package/dist/framework-mcp/src/tools/memory/read_memory.js +1 -1
- package/dist/framework-mcp/src/tools/memory/read_memory.js.map +1 -1
- package/dist/framework-mcp/src/tools/memory/search_knowledge.d.ts +8 -0
- package/dist/framework-mcp/src/tools/memory/search_knowledge.js +49 -0
- package/dist/framework-mcp/src/tools/memory/search_knowledge.js.map +1 -0
- package/dist/framework-mcp/src/tools/memory/store_knowledge.d.ts +10 -0
- package/dist/framework-mcp/src/tools/memory/store_knowledge.js +31 -0
- package/dist/framework-mcp/src/tools/memory/store_knowledge.js.map +1 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.d.ts +6 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.js +31 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.js.map +1 -0
- package/dist/framework-mcp/src/tools/observability/check_ports.js +1 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
- package/dist/framework-mcp/src/tools/observability/get_health.js +1 -1
- package/dist/framework-mcp/src/tools/schemas.d.ts +359 -0
- package/dist/framework-mcp/src/tools/schemas.js +154 -0
- package/dist/framework-mcp/src/tools/schemas.js.map +1 -0
- package/dist/framework-mcp/src/tools/search/get_map.js +2 -2
- package/dist/framework-mcp/src/tools/search/get_map.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/grep_search.js +10 -7
- package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -1
- package/dist/framework-mcp/src/tools/shell/run_command.js +72 -7
- package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -1
- package/dist/framework-mcp/src/tools/types.d.ts +10 -9
- package/dist/framework-mcp/src/utils/compliance.d.ts +10 -0
- package/dist/framework-mcp/src/utils/compliance.js +102 -41
- package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
- package/dist/framework-mcp/src/utils/fs.d.ts +10 -7
- package/dist/framework-mcp/src/utils/fs.js +10 -7
- package/dist/framework-mcp/src/utils/fs.js.map +1 -1
- package/dist/framework-mcp/src/utils/types.d.ts +8 -0
- package/dist/framework-mcp/src/utils/types.js +4 -0
- package/dist/framework-mcp/src/utils/types.js.map +1 -1
- package/dist/framework-mcp/src/utils/zod-to-mcp.d.ts +10 -0
- package/dist/framework-mcp/src/utils/zod-to-mcp.js +80 -0
- package/dist/framework-mcp/src/utils/zod-to-mcp.js.map +1 -0
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +4 -4
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +17 -16
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
- package/dist/src/cli/adapters/core.js +2 -1
- package/dist/src/cli/adapters/core.js.map +1 -1
- package/dist/src/cli/adapters/scaffold.js +2 -1
- package/dist/src/cli/adapters/scaffold.js.map +1 -1
- package/dist/src/cli/commands/check.js +17 -17
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/compliance.d.ts +5 -1
- package/dist/src/cli/commands/compliance.js +34 -42
- package/dist/src/cli/commands/compliance.js.map +1 -1
- package/dist/src/cli/commands/contract.js +6 -5
- package/dist/src/cli/commands/contract.js.map +1 -1
- package/dist/src/cli/commands/coverage.d.ts +1 -0
- package/dist/src/cli/commands/coverage.js +121 -0
- package/dist/src/cli/commands/coverage.js.map +1 -0
- package/dist/src/cli/commands/dashboard.d.ts +1 -1
- package/dist/src/cli/commands/dashboard.js +255 -38
- package/dist/src/cli/commands/dashboard.js.map +1 -1
- package/dist/src/cli/commands/explorer.js +8 -7
- package/dist/src/cli/commands/explorer.js.map +1 -1
- package/dist/src/cli/commands/git.js +8 -9
- package/dist/src/cli/commands/git.js.map +1 -1
- package/dist/src/cli/commands/index-codebase.d.ts +4 -0
- package/dist/src/cli/commands/index-codebase.js +52 -0
- package/dist/src/cli/commands/index-codebase.js.map +1 -0
- package/dist/src/cli/commands/init/scaffold-core.js +7 -6
- package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-docs.js +4 -3
- package/dist/src/cli/commands/init/scaffold-docs.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-ops.js +3 -3
- package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-standards.js +11 -7
- package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
- package/dist/src/cli/commands/init.js +27 -27
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/knowledge.js +5 -32
- package/dist/src/cli/commands/knowledge.js.map +1 -1
- package/dist/src/cli/commands/lint.js +5 -4
- package/dist/src/cli/commands/lint.js.map +1 -1
- package/dist/src/cli/commands/mcp.d.ts +4 -0
- package/dist/src/cli/commands/mcp.js +107 -0
- package/dist/src/cli/commands/mcp.js.map +1 -0
- package/dist/src/cli/commands/orchestrate.d.ts +11 -11
- package/dist/src/cli/commands/orchestrate.js +131 -66
- package/dist/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/src/cli/commands/plan.js +16 -14
- package/dist/src/cli/commands/plan.js.map +1 -1
- package/dist/src/cli/commands/quickstart.d.ts +9 -0
- package/dist/src/cli/commands/quickstart.js +72 -0
- package/dist/src/cli/commands/quickstart.js.map +1 -0
- package/dist/src/cli/commands/script.js +6 -5
- package/dist/src/cli/commands/script.js.map +1 -1
- package/dist/src/cli/commands/security.js +5 -8
- package/dist/src/cli/commands/security.js.map +1 -1
- package/dist/src/cli/commands/status.js +23 -19
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/commands/trace.d.ts +2 -0
- package/dist/src/cli/commands/trace.js +59 -61
- package/dist/src/cli/commands/trace.js.map +1 -1
- package/dist/src/cli/index.js +38 -6
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/shims.js +2 -2
- package/dist/src/cli/utils/claude.js +2 -1
- package/dist/src/cli/utils/claude.js.map +1 -1
- package/dist/src/cli/utils/compliance.d.ts +10 -9
- package/dist/src/cli/utils/compliance.js +10 -171
- package/dist/src/cli/utils/compliance.js.map +1 -1
- package/dist/src/cli/utils/fs.d.ts +2 -2
- package/dist/src/cli/utils/fs.js +7 -6
- package/dist/src/cli/utils/fs.js.map +1 -1
- package/dist/src/cli/utils/i18n.d.ts +5 -0
- package/dist/src/cli/utils/i18n.js +5 -0
- package/dist/src/cli/utils/i18n.js.map +1 -1
- package/dist/src/cli/utils/memory.js +9 -6
- package/dist/src/cli/utils/memory.js.map +1 -1
- package/dist/src/cli/utils/pkg.js +8 -7
- package/dist/src/cli/utils/pkg.js.map +1 -1
- package/dist/src/cli/utils/schemas.d.ts +4 -4
- package/dist/src/cli/utils/ui.d.ts +23 -0
- package/dist/src/cli/utils/ui.js +42 -0
- package/dist/src/cli/utils/ui.js.map +1 -1
- package/dist/src/contracts/tasks.d.ts +4 -4
- package/dist/src/dashboard/src/hooks/useApi.d.ts +18 -0
- package/dist/src/dashboard/src/hooks/useApi.js +47 -0
- package/dist/src/dashboard/src/hooks/useApi.js.map +1 -0
- package/dist/src/dashboard/src/hooks/useSSE.d.ts +12 -0
- package/dist/src/dashboard/src/hooks/useSSE.js +60 -0
- package/dist/src/dashboard/src/hooks/useSSE.js.map +1 -0
- package/dist/src/modules/adapters/shared.js +3 -3
- package/dist/src/modules/adapters/shared.js.map +1 -1
- package/dist/src/modules/agents/definitions.d.ts +5 -13
- package/dist/src/modules/agents/definitions.js +143 -78
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/src/modules/agents/registry/analyst.js +2 -2
- package/dist/src/modules/agents/registry/analyst.js.map +1 -1
- package/dist/src/modules/agents/registry/architect.js +1 -1
- package/dist/src/modules/agents/registry/architect.js.map +1 -1
- package/dist/src/modules/agents/registry/backend.js +8 -7
- package/dist/src/modules/agents/registry/backend.js.map +1 -1
- package/dist/src/modules/agents/registry/database.js +1 -1
- package/dist/src/modules/agents/registry/database.js.map +1 -1
- package/dist/src/modules/agents/registry/devops.js +1 -1
- package/dist/src/modules/agents/registry/devops.js.map +1 -1
- package/dist/src/modules/agents/registry/explorer.js +2 -1
- package/dist/src/modules/agents/registry/explorer.js.map +1 -1
- package/dist/src/modules/agents/registry/frontend.js +8 -7
- package/dist/src/modules/agents/registry/frontend.js.map +1 -1
- package/dist/src/modules/agents/registry/git.js +1 -1
- package/dist/src/modules/agents/registry/git.js.map +1 -1
- package/dist/src/modules/agents/registry/manager.js +11 -5
- package/dist/src/modules/agents/registry/manager.js.map +1 -1
- package/dist/src/modules/agents/registry/mobile.js +8 -6
- package/dist/src/modules/agents/registry/mobile.js.map +1 -1
- package/dist/src/modules/agents/registry/native.js +8 -6
- package/dist/src/modules/agents/registry/native.js.map +1 -1
- package/dist/src/modules/agents/registry/quality.js +11 -9
- package/dist/src/modules/agents/registry/quality.js.map +1 -1
- package/dist/src/modules/agents/registry/security.js +0 -1
- package/dist/src/modules/agents/registry/security.js.map +1 -1
- package/dist/src/modules/engines/agent-executor.d.ts +51 -0
- package/dist/src/modules/engines/agent-executor.js +160 -0
- package/dist/src/modules/engines/agent-executor.js.map +1 -0
- package/dist/src/modules/engines/health-engine.d.ts +7 -1
- package/dist/src/modules/engines/health-engine.js +85 -8
- package/dist/src/modules/engines/health-engine.js.map +1 -1
- package/dist/src/modules/engines/planning-engine.d.ts +1 -1
- package/dist/src/modules/engines/planning-engine.js +5 -4
- package/dist/src/modules/engines/planning-engine.js.map +1 -1
- package/dist/src/modules/engines/quality-gate.d.ts +23 -0
- package/dist/src/modules/engines/quality-gate.js +85 -0
- package/dist/src/modules/engines/quality-gate.js.map +1 -0
- package/dist/src/modules/engines/risk-engine.js +6 -6
- package/dist/src/modules/engines/risk-engine.js.map +1 -1
- package/dist/src/modules/engines/routing-engine.d.ts +68 -1
- package/dist/src/modules/engines/routing-engine.js +328 -26
- package/dist/src/modules/engines/routing-engine.js.map +1 -1
- package/dist/src/modules/engines/types.d.ts +7 -3
- package/dist/src/modules/memory/core.d.ts +50 -0
- package/dist/src/modules/memory/core.js +107 -0
- package/dist/src/modules/memory/core.js.map +1 -0
- package/dist/src/modules/memory/types.d.ts +18 -0
- package/dist/src/modules/memory/types.js +2 -0
- package/dist/src/modules/memory/types.js.map +1 -0
- package/dist/src/modules/memory/vector-store.d.ts +13 -0
- package/dist/src/modules/memory/vector-store.js +75 -0
- package/dist/src/modules/memory/vector-store.js.map +1 -0
- package/dist/src/shared/constants.d.ts +11 -11
- package/dist/src/shared/constants.js +3 -3
- package/dist/src/shared/constants.js.map +1 -1
- package/dist/src/shared/storage.d.ts +10 -10
- package/dist/src/shared/storage.js +15 -13
- package/dist/src/shared/storage.js.map +1 -1
- package/dist/src/shared/string.d.ts +1 -0
- package/dist/src/shared/string.js +30 -0
- package/dist/src/shared/string.js.map +1 -0
- package/dist/src/shared/types.d.ts +8 -0
- package/dist/src/shared/types.js +4 -0
- package/dist/src/shared/types.js.map +1 -1
- package/dist/tests/adapter.test.js +2 -1
- package/dist/tests/adapter.test.js.map +1 -1
- package/dist/tests/cli/commands/check.test.d.ts +1 -0
- package/dist/tests/cli/commands/check.test.js +9 -0
- package/dist/tests/cli/commands/check.test.js.map +1 -0
- package/dist/tests/cli/commands/coverage.test.d.ts +1 -0
- package/dist/tests/cli/commands/coverage.test.js +9 -0
- package/dist/tests/cli/commands/coverage.test.js.map +1 -0
- package/dist/tests/cli/commands/exports.test.d.ts +1 -0
- package/dist/tests/cli/commands/exports.test.js +61 -0
- package/dist/tests/cli/commands/exports.test.js.map +1 -0
- package/dist/tests/cli/commands/lint.test.d.ts +1 -0
- package/dist/tests/cli/commands/lint.test.js +9 -0
- package/dist/tests/cli/commands/lint.test.js.map +1 -0
- package/dist/tests/core-memory.test.d.ts +1 -0
- package/dist/tests/core-memory.test.js +78 -0
- package/dist/tests/core-memory.test.js.map +1 -0
- package/dist/tests/dashboard.test.d.ts +1 -0
- package/dist/tests/dashboard.test.js +116 -0
- package/dist/tests/dashboard.test.js.map +1 -0
- package/dist/tests/fs-utils.test.js +5 -5
- package/dist/tests/fs-utils.test.js.map +1 -1
- package/dist/tests/integration/agent_flow.test.js +18 -10
- package/dist/tests/integration/agent_flow.test.js.map +1 -1
- package/dist/tests/modules/engines/agent-executor.test.d.ts +1 -0
- package/dist/tests/modules/engines/agent-executor.test.js +54 -0
- package/dist/tests/modules/engines/agent-executor.test.js.map +1 -0
- package/dist/tests/modules/engines/evaluation-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/evaluation-engine.test.js +45 -0
- package/dist/tests/modules/engines/evaluation-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/health-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/health-engine.test.js +56 -0
- package/dist/tests/modules/engines/health-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/planning-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/planning-engine.test.js +75 -0
- package/dist/tests/modules/engines/planning-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/risk-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/risk-engine.test.js +61 -0
- package/dist/tests/modules/engines/risk-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/routing-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/routing-engine.test.js +56 -0
- package/dist/tests/modules/engines/routing-engine.test.js.map +1 -0
- package/dist/tests/modules/memory/vector-store.test.d.ts +1 -0
- package/dist/tests/modules/memory/vector-store.test.js +109 -0
- package/dist/tests/modules/memory/vector-store.test.js.map +1 -0
- package/dist/tests/orchestrator-dependencies.test.js +17 -16
- package/dist/tests/orchestrator-dependencies.test.js.map +1 -1
- package/dist/tests/planning-engine.test.js +9 -8
- package/dist/tests/planning-engine.test.js.map +1 -1
- package/dist/tests/risk-engine.test.d.ts +1 -0
- package/dist/tests/risk-engine.test.js +44 -0
- package/dist/tests/risk-engine.test.js.map +1 -0
- package/dist/tests/status-cost.test.js +15 -24
- package/dist/tests/status-cost.test.js.map +1 -1
- package/dist/tests/status.test.js +16 -17
- package/dist/tests/status.test.js.map +1 -1
- package/dist/tests/trace-replay.test.js +34 -40
- package/dist/tests/trace-replay.test.js.map +1 -1
- package/dist/ui/assets/index-B-d2ejS8.js +519 -0
- package/dist/ui/assets/index-CyXywq5G.css +1 -0
- package/dist/ui/index.html +2 -2
- package/dist/vitest.config.js +5 -5
- package/dist/vitest.config.js.map +1 -1
- package/framework-mcp/README.md +96 -29
- package/framework-mcp/dist/framework-mcp/src/constants.js +64 -0
- package/framework-mcp/dist/framework-mcp/src/index.js +156 -0
- package/framework-mcp/dist/framework-mcp/src/resources/index.js +58 -0
- package/framework-mcp/dist/framework-mcp/src/tools/control_plane/locking.js +84 -0
- package/framework-mcp/dist/framework-mcp/src/tools/control_plane/registry.js +35 -0
- package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +175 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +64 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/patch_file.js +34 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/read_file.js +51 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/replace_text.js +50 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/write_file.js +55 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/audit_deps.js +41 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/get_status.js +5 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/orchestrate.js +5 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +27 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/submit_plan.js +13 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/update_contract_hash.js +5 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/update_memory.js +8 -0
- package/framework-mcp/dist/framework-mcp/src/tools/index.js +111 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/delete_knowledge.js +28 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/get_insights.js +22 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/read_memory.js +28 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/search_knowledge.js +48 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/store_knowledge.js +30 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/ask_human.js +30 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/log_action.js +22 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/send_message.js +94 -0
- package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +26 -0
- package/framework-mcp/dist/framework-mcp/src/tools/observability/get_health.js +19 -0
- package/framework-mcp/dist/framework-mcp/src/tools/quality/check_lint.js +30 -0
- package/framework-mcp/dist/framework-mcp/src/tools/schemas.js +153 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/get_gaps.js +48 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/get_map.js +43 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/grep_search.js +78 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/list_dir.js +28 -0
- package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +121 -0
- package/framework-mcp/dist/framework-mcp/src/tools/types.js +1 -0
- package/framework-mcp/dist/framework-mcp/src/utils/cli.js +59 -0
- package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +292 -0
- package/framework-mcp/dist/framework-mcp/src/utils/errors.js +68 -0
- package/framework-mcp/dist/framework-mcp/src/utils/fs.js +47 -0
- package/framework-mcp/dist/framework-mcp/src/utils/memory.js +74 -0
- package/framework-mcp/dist/framework-mcp/src/utils/metrics.js +56 -0
- package/framework-mcp/dist/framework-mcp/src/utils/permissions.js +71 -0
- package/framework-mcp/dist/framework-mcp/src/utils/security.js +60 -0
- package/framework-mcp/dist/framework-mcp/src/utils/storage.js +207 -0
- package/framework-mcp/dist/framework-mcp/src/utils/types.js +16 -0
- package/framework-mcp/dist/framework-mcp/src/utils/zod-to-mcp.js +79 -0
- package/framework-mcp/dist/index.js +14 -2
- package/framework-mcp/dist/src/cli/utils/memory.js +279 -0
- package/framework-mcp/dist/src/cli/utils/time.js +27 -0
- package/framework-mcp/dist/src/cli/utils/ui.js +100 -0
- package/framework-mcp/dist/src/modules/memory/core.js +106 -0
- package/framework-mcp/dist/src/modules/memory/types.js +1 -0
- package/framework-mcp/dist/src/modules/memory/vector-store.js +74 -0
- package/framework-mcp/dist/src/shared/constants.js +187 -0
- package/framework-mcp/dist/src/shared/fs.js +51 -0
- package/framework-mcp/dist/src/shared/logger.js +116 -0
- package/framework-mcp/dist/src/shared/storage.js +209 -0
- package/framework-mcp/dist/src/shared/types.js +16 -0
- package/framework-mcp/dist/tools/definitions.js +79 -247
- package/framework-mcp/dist/tools/file_system/read_file.js +7 -7
- package/framework-mcp/dist/tools/file_system/write_file.js +12 -0
- package/framework-mcp/dist/tools/index.js +37 -0
- package/framework-mcp/dist/tools/memory/get_insights.js +9 -21
- package/framework-mcp/dist/tools/schemas.js +133 -0
- package/framework-mcp/dist/utils/types.js +4 -0
- package/framework-mcp/dist/utils/zod-to-mcp.js +77 -0
- package/framework-mcp/package.json +2 -2
- package/mcp.json +5 -4
- package/package.json +10 -14
- package/templates/standards/crud-governance.md +1 -1
- package/templates/standards/logging-and-secrets.md +1 -1
- package/templates/standards/performance-standards.md +2 -2
- package/templates/standards/quality-standards.md +1 -1
- package/dist/ui/assets/index-Bkt7APzu.css +0 -1
- package/dist/ui/assets/index-CeX-06mI.js +0 -49
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import {
|
|
4
|
-
import { writeTextFileAtomic, appendFileSafe } from "../../utils/fs.js";
|
|
3
|
+
import { appendFile, writeTextFile } from "../../utils/fs.js";
|
|
5
4
|
import { Metrics } from "../../utils/metrics.js";
|
|
5
|
+
import { resolveFrameworkDir, safePath } from "../../utils/security.js";
|
|
6
6
|
import { verifyCorporateCompliance, verifyRiskAndAwaitApproval } from "../../utils/compliance.js";
|
|
7
7
|
import { verifyWritePermission } from "../../utils/permissions.js";
|
|
8
8
|
export async function handleWriteFile(projectRoot, args) {
|
|
@@ -13,6 +13,18 @@ export async function handleWriteFile(projectRoot, args) {
|
|
|
13
13
|
}
|
|
14
14
|
try {
|
|
15
15
|
const filePath = safePath(projectRoot, args.path);
|
|
16
|
+
// ENFORCE TOKEN ECONOMY: Prevent full-file rewrites of existing files
|
|
17
|
+
if (fs.existsSync(filePath)) {
|
|
18
|
+
const errMsg = `[TOKEN ECONOMY GUARD] The file '${args.path}' already exists. Overwriting entire existing files is FORBIDDEN to save tokens and prevent context drift. You MUST use 'patch_file' or 'replace_text' tools to make surgical edits.`;
|
|
19
|
+
Metrics.logError(projectRoot, "@mcp", `write_file: ${args.path} (blocked)`, errMsg);
|
|
20
|
+
return {
|
|
21
|
+
isError: true,
|
|
22
|
+
content: [{
|
|
23
|
+
type: "text",
|
|
24
|
+
text: `[ERROR] ${errMsg}`
|
|
25
|
+
}]
|
|
26
|
+
};
|
|
27
|
+
}
|
|
16
28
|
const content = args.content;
|
|
17
29
|
// ENFORCE PERMISSION MATRIX
|
|
18
30
|
verifyWritePermission(projectRoot, args.path);
|
|
@@ -20,7 +32,7 @@ export async function handleWriteFile(projectRoot, args) {
|
|
|
20
32
|
verifyCorporateCompliance(content, args.path);
|
|
21
33
|
// ENFORCE RISK & HUMAN APPROVAL GATEWAY
|
|
22
34
|
await verifyRiskAndAwaitApproval(projectRoot, content, args.path);
|
|
23
|
-
|
|
35
|
+
writeTextFile(filePath, content);
|
|
24
36
|
// AUTO-LOGGING & METRICS
|
|
25
37
|
const tokens = Metrics.estimateTokens(content);
|
|
26
38
|
Metrics.logUsage(projectRoot, "@mcp", `write_file: ${args.path}`, tokens);
|
|
@@ -29,7 +41,7 @@ export async function handleWriteFile(projectRoot, args) {
|
|
|
29
41
|
const memoryPath = path.join(projectRoot, frameworkDir, "memory/PROJECT_MEMORY.md");
|
|
30
42
|
if (fs.existsSync(memoryPath)) {
|
|
31
43
|
const entry = `\n### ${new Date().toISOString().split("T")[0]} — Auto-Update\n- **Action:** wrote file \`${args.path}\` (${tokens} tokens estimated).\n`;
|
|
32
|
-
|
|
44
|
+
appendFile(memoryPath, entry);
|
|
33
45
|
}
|
|
34
46
|
}
|
|
35
47
|
catch { /* ignore memory logging errors */ }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write_file.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/write_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"write_file.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/write_file.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export function handleAuditDependencies(projectRoot, _args) {
|
|
|
28
28
|
// 2. Scan for "any" usage in package names (bad practice markers)
|
|
29
29
|
const legacyDeps = depNames.filter(d => d.includes("legacy") || d.includes("compat"));
|
|
30
30
|
if (legacyDeps.length > 0) {
|
|
31
|
-
results.push(
|
|
31
|
+
results.push(`[INFO] Legacy compatibility packages detected: ${legacyDeps.join(", ")}`);
|
|
32
32
|
}
|
|
33
33
|
return {
|
|
34
34
|
content: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit_deps.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/framework/audit_deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,KAAe;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,sDAAsD;IACtD,MAAM,gBAAgB,GAA6B;QAC/C,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC;QAC5E,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;QACjD,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;KACvC,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,oCAAoC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"audit_deps.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/framework/audit_deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,KAAe;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,sDAAsD;IACtD,MAAM,gBAAgB,GAA6B;QAC/C,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC;QAC5E,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;QACjD,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;KACvC,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,oCAAoC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,mDAAmD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO;QACH,OAAO,EAAE,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;oBACpB,CAAC,CAAC,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACtD,CAAC,CAAC,gDAAgD;aACzD,CAAC;KACL,CAAC;AACN,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ToolResult } from "../types.js";
|
|
2
|
+
import { TaskID, AgentID } from "../../utils/types.js";
|
|
2
3
|
export interface SubmitPlanArgs {
|
|
3
4
|
tasks: {
|
|
4
|
-
id:
|
|
5
|
-
agent:
|
|
5
|
+
id: TaskID;
|
|
6
|
+
agent: AgentID;
|
|
6
7
|
task: string;
|
|
7
|
-
dependencies?:
|
|
8
|
+
dependencies?: TaskID[];
|
|
8
9
|
}[];
|
|
9
10
|
}
|
|
10
11
|
export declare function handleSubmitPlan(projectRoot: string, args: SubmitPlanArgs): ToolResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit_plan.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/framework/submit_plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"submit_plan.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/framework/submit_plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAa9C,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,IAAoB;IACtE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2DAA2D,EAAE,CAAC;SACjG,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,4EAA4E;IAC5E,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;IAEjF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACzD,CAAC"}
|
|
@@ -19,12 +19,17 @@ import { handleSubmitPlan } from "./framework/submit_plan.js";
|
|
|
19
19
|
import { handleUpdateContractHash } from "./framework/update_contract_hash.js";
|
|
20
20
|
import { handleReadProjectMemory } from "./memory/read_memory.js";
|
|
21
21
|
import { handleGetMemoryInsights } from "./memory/get_insights.js";
|
|
22
|
+
import { handleStoreKnowledge } from "./memory/store_knowledge.js";
|
|
23
|
+
import { handleSearchKnowledge } from "./memory/search_knowledge.js";
|
|
24
|
+
import { handleDeleteKnowledge } from "./memory/delete_knowledge.js";
|
|
22
25
|
import { handleSendAgentMessage } from "./messaging/send_message.js";
|
|
23
26
|
import { handleLogAgentAction } from "./messaging/log_action.js";
|
|
27
|
+
import { handleAskHuman } from "./messaging/ask_human.js";
|
|
24
28
|
import { handleAcquireLock, handleReleaseLock } from "./control_plane/locking.js";
|
|
25
29
|
import { handleRegisterAgent } from "./control_plane/registry.js";
|
|
26
30
|
import { handleRunCommand } from "./shell/run_command.js";
|
|
27
31
|
import { handleCheckLint } from "./quality/check_lint.js";
|
|
32
|
+
import * as schemas from "./schemas.js";
|
|
28
33
|
// Map of tool names to their handler functions
|
|
29
34
|
const bind = (fn) => {
|
|
30
35
|
return (root, args) => fn(root, args);
|
|
@@ -43,6 +48,9 @@ export const toolHandlers = {
|
|
|
43
48
|
get_framework_status: bind(handleGetFrameworkStatus),
|
|
44
49
|
read_project_memory: bind(handleReadProjectMemory),
|
|
45
50
|
get_memory_insights: bind(handleGetMemoryInsights),
|
|
51
|
+
store_knowledge: bind(handleStoreKnowledge),
|
|
52
|
+
search_knowledge: bind(handleSearchKnowledge),
|
|
53
|
+
delete_knowledge: bind(handleDeleteKnowledge),
|
|
46
54
|
update_project_memory: bind(handleUpdateProjectMemory),
|
|
47
55
|
audit_dependencies: bind(handleAuditDependencies),
|
|
48
56
|
run_tests: bind(handleRunTests),
|
|
@@ -52,6 +60,7 @@ export const toolHandlers = {
|
|
|
52
60
|
submit_plan: bind(handleSubmitPlan),
|
|
53
61
|
send_agent_message: bind(handleSendAgentMessage),
|
|
54
62
|
log_agent_action: bind(handleLogAgentAction),
|
|
63
|
+
ask_human: bind(handleAskHuman),
|
|
55
64
|
update_contract_hash: bind(handleUpdateContractHash),
|
|
56
65
|
acquire_lock: bind(handleAcquireLock),
|
|
57
66
|
release_lock: bind(handleReleaseLock),
|
|
@@ -59,5 +68,45 @@ export const toolHandlers = {
|
|
|
59
68
|
run_shell_command: bind(handleRunCommand),
|
|
60
69
|
check_lint: bind(handleCheckLint),
|
|
61
70
|
};
|
|
71
|
+
// Map of tool names to their Zod validation schemas
|
|
72
|
+
export const toolSchemas = {
|
|
73
|
+
// File System
|
|
74
|
+
read_file: schemas.ReadFileSchema,
|
|
75
|
+
view_file: schemas.ReadFileSchema,
|
|
76
|
+
write_file: schemas.WriteFileSchema,
|
|
77
|
+
replace_text: schemas.ReplaceTextSchema,
|
|
78
|
+
batch_surgical_edit: schemas.BatchSurgicalEditSchema,
|
|
79
|
+
patch_file: schemas.PatchFileSchema,
|
|
80
|
+
// Search & Exploration
|
|
81
|
+
list_dir: schemas.ListDirSchema,
|
|
82
|
+
grep_search: schemas.GrepSearchSchema,
|
|
83
|
+
get_project_map: schemas.GetProjectMapSchema,
|
|
84
|
+
get_project_gaps: schemas.GetProjectGapsSchema,
|
|
85
|
+
// Framework & System
|
|
86
|
+
run_shell_command: schemas.RunShellCommandSchema,
|
|
87
|
+
run_tests: schemas.RunTestsSchema,
|
|
88
|
+
get_system_health: schemas.GetSystemHealthSchema,
|
|
89
|
+
check_active_ports: schemas.CheckPortsSchema,
|
|
90
|
+
get_framework_status: schemas.GetFrameworkStatusSchema,
|
|
91
|
+
read_project_memory: schemas.ReadProjectMemorySchema,
|
|
92
|
+
get_memory_insights: schemas.GetMemoryInsightsSchema,
|
|
93
|
+
store_knowledge: schemas.StoreKnowledgeSchema,
|
|
94
|
+
search_knowledge: schemas.SearchKnowledgeSchema,
|
|
95
|
+
delete_knowledge: schemas.DeleteKnowledgeSchema,
|
|
96
|
+
update_project_memory: schemas.UpdateProjectMemorySchema,
|
|
97
|
+
orchestrate_loop: schemas.OrchestrateLoopSchema,
|
|
98
|
+
submit_plan: schemas.SubmitPlanSchema,
|
|
99
|
+
update_contract_hash: schemas.UpdateContractHashSchema,
|
|
100
|
+
audit_dependencies: schemas.AuditDependenciesSchema,
|
|
101
|
+
check_lint: schemas.CheckLintSchema,
|
|
102
|
+
// Control Plane
|
|
103
|
+
acquire_lock: schemas.AcquireLockSchema,
|
|
104
|
+
release_lock: schemas.ReleaseLockSchema,
|
|
105
|
+
register_agent: schemas.RegisterAgentSchema,
|
|
106
|
+
// Messaging (Hermes)
|
|
107
|
+
send_agent_message: schemas.SendAgentMessageSchema,
|
|
108
|
+
log_agent_action: schemas.LogAgentActionSchema,
|
|
109
|
+
ask_human: schemas.AskHumanSchema,
|
|
110
|
+
};
|
|
62
111
|
export { TOOLS };
|
|
63
112
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../framework-mcp/src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../framework-mcp/src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC,+CAA+C;AAC/C,MAAM,IAAI,GAAG,CAAI,EAA+D,EAAe,EAAE;IAC7F,OAAO,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAS,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAgC;IACrD,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;IAC/B,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,QAAQ;IACzC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;IAC7B,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACnC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;IAC1C,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAC5C,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC;IACjC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,CAAC;IAClD,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC;IACjC,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,CAAC;IACpD,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,CAAC;IAClD,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,CAAC;IAClD,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAC3C,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC7C,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC7C,qBAAqB,EAAE,IAAI,CAAC,yBAAyB,CAAC;IACtD,kBAAkB,EAAE,IAAI,CAAC,uBAAuB,CAAC;IACjD,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;IAC/B,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC9C,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAC1C,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC7C,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC;IAChD,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAC5C,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;IAC/B,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,CAAC;IACpD,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC;IACrC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC;IACrC,cAAc,EAAE,IAAI,CAAC,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACzC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC;CACpC,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAA8B;IAClD,cAAc;IACd,SAAS,EAAE,OAAO,CAAC,cAAc;IACjC,SAAS,EAAE,OAAO,CAAC,cAAc;IACjC,UAAU,EAAE,OAAO,CAAC,eAAe;IACnC,YAAY,EAAE,OAAO,CAAC,iBAAiB;IACvC,mBAAmB,EAAE,OAAO,CAAC,uBAAuB;IACpD,UAAU,EAAE,OAAO,CAAC,eAAe;IAEnC,uBAAuB;IACvB,QAAQ,EAAE,OAAO,CAAC,aAAa;IAC/B,WAAW,EAAE,OAAO,CAAC,gBAAgB;IACrC,eAAe,EAAE,OAAO,CAAC,mBAAmB;IAC5C,gBAAgB,EAAE,OAAO,CAAC,oBAAoB;IAE9C,qBAAqB;IACrB,iBAAiB,EAAE,OAAO,CAAC,qBAAqB;IAChD,SAAS,EAAE,OAAO,CAAC,cAAc;IACjC,iBAAiB,EAAE,OAAO,CAAC,qBAAqB;IAChD,kBAAkB,EAAE,OAAO,CAAC,gBAAgB;IAC5C,oBAAoB,EAAE,OAAO,CAAC,wBAAwB;IACtD,mBAAmB,EAAE,OAAO,CAAC,uBAAuB;IACpD,mBAAmB,EAAE,OAAO,CAAC,uBAAuB;IACpD,eAAe,EAAE,OAAO,CAAC,oBAAoB;IAC7C,gBAAgB,EAAE,OAAO,CAAC,qBAAqB;IAC/C,gBAAgB,EAAE,OAAO,CAAC,qBAAqB;IAC/C,qBAAqB,EAAE,OAAO,CAAC,yBAAyB;IACxD,gBAAgB,EAAE,OAAO,CAAC,qBAAqB;IAC/C,WAAW,EAAE,OAAO,CAAC,gBAAgB;IACrC,oBAAoB,EAAE,OAAO,CAAC,wBAAwB;IACtD,kBAAkB,EAAE,OAAO,CAAC,uBAAuB;IACnD,UAAU,EAAE,OAAO,CAAC,eAAe;IAEnC,gBAAgB;IAChB,YAAY,EAAE,OAAO,CAAC,iBAAiB;IACvC,YAAY,EAAE,OAAO,CAAC,iBAAiB;IACvC,cAAc,EAAE,OAAO,CAAC,mBAAmB;IAE3C,qBAAqB;IACrB,kBAAkB,EAAE,OAAO,CAAC,sBAAsB;IAClD,gBAAgB,EAAE,OAAO,CAAC,oBAAoB;IAC9C,SAAS,EAAE,OAAO,CAAC,cAAc;CACpC,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ToolResult } from "../types.js";
|
|
2
|
+
interface DeleteKnowledgeArgs {
|
|
3
|
+
query?: string;
|
|
4
|
+
category?: "ARCHITECTURE" | "DECISION" | "CODE_SNIPPET" | "RULE" | "TASK_HISTORY";
|
|
5
|
+
id?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function handleDeleteKnowledge(root: string, args: DeleteKnowledgeArgs): Promise<ToolResult>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Storage } from "../../../../src/shared/storage.js";
|
|
2
|
+
export async function handleDeleteKnowledge(root, args) {
|
|
3
|
+
try {
|
|
4
|
+
const db = Storage.getDB();
|
|
5
|
+
if (args.id) {
|
|
6
|
+
const info = db.prepare("DELETE FROM vector_memory WHERE id = ?").run(args.id);
|
|
7
|
+
if (info.changes > 0) {
|
|
8
|
+
return { content: [{ type: "text", text: `[SUCCESS] Knowledge entry '${args.id}' deleted from Core Memory.` }] };
|
|
9
|
+
}
|
|
10
|
+
return { content: [{ type: "text", text: `[INFO] No entry found with ID '${args.id}'.` }] };
|
|
11
|
+
}
|
|
12
|
+
if (args.category) {
|
|
13
|
+
const info = db.prepare("DELETE FROM vector_memory WHERE category = ?").run(args.category);
|
|
14
|
+
return { content: [{ type: "text", text: `[SUCCESS] Purged ${info.changes} entries from category '${args.category}'.` }] };
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
isError: true,
|
|
18
|
+
content: [{ type: "text", text: "[ERROR] You must provide either an 'id' or a 'category' to delete knowledge." }]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
23
|
+
return {
|
|
24
|
+
isError: true,
|
|
25
|
+
content: [{ type: "text", text: `[ERROR] Failed to delete knowledge: ${message}` }]
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=delete_knowledge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete_knowledge.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/memory/delete_knowledge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAQ5D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAyB;IAC/E,IAAI,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/E,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,IAAI,CAAC,EAAE,6BAA6B,EAAE,CAAC,EAAE,CAAC;YACrH,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAChG,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,IAAI,CAAC,OAAO,2BAA2B,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/H,CAAC;QAED,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8EAA8E,EAAE,CAAC;SACpH,CAAC;IAEN,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uCAAuC,OAAO,EAAE,EAAE,CAAC;SACtF,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ToolArgs, ToolResult } from "../types.js";
|
|
2
2
|
/**
|
|
3
|
-
* Extracts key insights from the
|
|
3
|
+
* Extracts key insights from the SQLite database to minimize token usage.
|
|
4
4
|
* Returns only the active phase, trace, and the last 5 decisions/tasks.
|
|
5
5
|
*/
|
|
6
|
-
export declare function handleGetMemoryInsights(
|
|
6
|
+
export declare function handleGetMemoryInsights(_projectRoot: string, _args: ToolArgs): ToolResult;
|
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { resolveFrameworkDir } from "../../utils/security.js";
|
|
1
|
+
import { Storage } from "../../utils/storage.js";
|
|
4
2
|
/**
|
|
5
|
-
* Extracts key insights from the
|
|
3
|
+
* Extracts key insights from the SQLite database to minimize token usage.
|
|
6
4
|
* Returns only the active phase, trace, and the last 5 decisions/tasks.
|
|
7
5
|
*/
|
|
8
|
-
export function handleGetMemoryInsights(
|
|
6
|
+
export function handleGetMemoryInsights(_projectRoot, _args) {
|
|
9
7
|
try {
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
const content = fs.readFileSync(memoryPath, "utf8");
|
|
16
|
-
const lines = content.split("\n");
|
|
17
|
-
const activePhase = lines.find(l => l.includes("**Phase:**"))?.split("**Phase:**")[1]?.trim() || "Unknown";
|
|
18
|
-
const activeTrace = lines.find(l => l.includes("**Trace ID:**"))?.split("**Trace ID:**")[1]?.trim() || "None";
|
|
19
|
-
// Find the last 5 history items (heuristic)
|
|
20
|
-
const historyStartIndex = lines.findIndex(l => l.toUpperCase().includes("HISTORY"));
|
|
8
|
+
const activePhase = Storage.getMetadata("phase") || "PHASE_0";
|
|
9
|
+
const activeTrace = Storage.getMetadata("traceId") || "None";
|
|
10
|
+
// Get the last 5 logs from SQLite
|
|
11
|
+
const recentLogs = Storage.getLogs().slice(0, 5);
|
|
21
12
|
let recentHistory = "No history found.";
|
|
22
|
-
if (
|
|
23
|
-
recentHistory =
|
|
24
|
-
.filter(l => l.trim().startsWith("-"))
|
|
25
|
-
.slice(-5)
|
|
26
|
-
.join("\n");
|
|
13
|
+
if (recentLogs.length > 0) {
|
|
14
|
+
recentHistory = recentLogs.map(log => `- [${log.agent}] ${log.action}: ${log.summary}`).join("\n");
|
|
27
15
|
}
|
|
28
16
|
const insights = `[MEMORY] **Memory Insights**\n- **Phase:** ${activePhase}\n- **Trace:** ${activeTrace}\n\n**Recent Actions:**\n${recentHistory}`;
|
|
29
17
|
return { content: [{ type: "text", text: insights }] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_insights.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/memory/get_insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_insights.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/memory/get_insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAoB,EAAE,KAAe;IACzE,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;QAE7D,kCAAkC;QAClC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,aAAa,GAAG,mBAAmB,CAAC;QAExC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACjC,MAAM,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,CACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,8CAA8C,WAAW,kBAAkB,WAAW,4BAA4B,aAAa,EAAE,CAAC;QAEnJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5G,CAAC;AACL,CAAC"}
|
|
@@ -11,7 +11,7 @@ export function handleReadProjectMemory(projectRoot, _args) {
|
|
|
11
11
|
const memoryPath = path.join(projectRoot, frameworkDir, "memory/PROJECT_MEMORY.md");
|
|
12
12
|
if (!fs.existsSync(memoryPath)) {
|
|
13
13
|
return {
|
|
14
|
-
content: [{ type: "text", text: "
|
|
14
|
+
content: [{ type: "text", text: "[INFO] Project memory file not found. It might be a new project." }]
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
const content = fs.readFileSync(memoryPath, "utf8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read_memory.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/memory/read_memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,KAAe;IACxE,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,0BAA0B,CAAC,CAAC;QAEpF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"read_memory.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/memory/read_memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,KAAe;IACxE,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,0BAA0B,CAAC,CAAC;QAEpF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kEAAkE,EAAE,CAAC;aACxG,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC7C,CAAC;IACN,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACnF,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ToolResult } from "../types.js";
|
|
2
|
+
interface SearchKnowledgeArgs {
|
|
3
|
+
query: string;
|
|
4
|
+
category?: "ARCHITECTURE" | "DECISION" | "CODE_SNIPPET" | "RULE" | "TASK_HISTORY";
|
|
5
|
+
limit?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function handleSearchKnowledge(root: string, args: SearchKnowledgeArgs): Promise<ToolResult>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { CoreMemory } from "../../../../src/modules/memory/core.js";
|
|
2
|
+
export async function handleSearchKnowledge(root, args) {
|
|
3
|
+
try {
|
|
4
|
+
await CoreMemory.init();
|
|
5
|
+
const results = await CoreMemory.recall(args.query, {
|
|
6
|
+
category: args.category,
|
|
7
|
+
limit: args.limit
|
|
8
|
+
});
|
|
9
|
+
if (results.length === 0) {
|
|
10
|
+
return {
|
|
11
|
+
content: [{
|
|
12
|
+
type: "text",
|
|
13
|
+
text: "[INFO] No relevant knowledge found."
|
|
14
|
+
}]
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const output = results.map(r => {
|
|
18
|
+
const meta = r.entry.metadata;
|
|
19
|
+
return `---
|
|
20
|
+
ID: ${r.entry.id}
|
|
21
|
+
Score: ${r.score.toFixed(4)}
|
|
22
|
+
Category: ${meta.category}
|
|
23
|
+
Tags: ${meta.tags.join(", ") || "none"}
|
|
24
|
+
File: ${meta.filePath || "N/A"}
|
|
25
|
+
Trace: ${meta.traceId || "N/A"}
|
|
26
|
+
|
|
27
|
+
Content:
|
|
28
|
+
${r.entry.content}
|
|
29
|
+
`;
|
|
30
|
+
}).join("\n");
|
|
31
|
+
return {
|
|
32
|
+
content: [{
|
|
33
|
+
type: "text",
|
|
34
|
+
text: `[SUCCESS] Found ${results.length} relevant entries:\n\n${output}`
|
|
35
|
+
}]
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
40
|
+
return {
|
|
41
|
+
isError: true,
|
|
42
|
+
content: [{
|
|
43
|
+
type: "text",
|
|
44
|
+
text: `[ERROR] Search failed: ${message}`
|
|
45
|
+
}]
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=search_knowledge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search_knowledge.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/memory/search_knowledge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AASpE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAyB;IAC/E,IAAI,CAAC;QACD,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YAChD,QAAQ,EAAE,IAAI,CAAC,QAA0B;YACzC,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qCAAqC;qBAC9C,CAAC;aACL,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC9B,OAAO;MACb,CAAC,CAAC,KAAK,CAAC,EAAE;SACP,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;QAC9B,IAAI,CAAC,QAAQ,IAAI,KAAK;SACrB,IAAI,CAAC,OAAO,IAAI,KAAK;;;EAG5B,CAAC,CAAC,KAAK,CAAC,OAAO;CAChB,CAAC;QACM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,mBAAmB,OAAO,CAAC,MAAM,yBAAyB,MAAM,EAAE;iBAC3E,CAAC;SACL,CAAC;IACN,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,OAAO,EAAE;iBAC5C,CAAC;SACL,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ToolResult } from "../types.js";
|
|
2
|
+
interface StoreKnowledgeArgs {
|
|
3
|
+
content: string;
|
|
4
|
+
category: "ARCHITECTURE" | "DECISION" | "CODE_SNIPPET" | "RULE" | "TASK_HISTORY";
|
|
5
|
+
tags?: string[];
|
|
6
|
+
filePath?: string;
|
|
7
|
+
traceId?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function handleStoreKnowledge(root: string, args: StoreKnowledgeArgs): Promise<ToolResult>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CoreMemory } from "../../../../src/modules/memory/core.js";
|
|
2
|
+
import { asTraceID } from "../../../../src/shared/types.js";
|
|
3
|
+
export async function handleStoreKnowledge(root, args) {
|
|
4
|
+
try {
|
|
5
|
+
await CoreMemory.init();
|
|
6
|
+
const id = await CoreMemory.remember({
|
|
7
|
+
content: args.content,
|
|
8
|
+
category: args.category,
|
|
9
|
+
tags: args.tags,
|
|
10
|
+
filePath: args.filePath,
|
|
11
|
+
traceId: args.traceId ? asTraceID(args.traceId) : undefined
|
|
12
|
+
});
|
|
13
|
+
return {
|
|
14
|
+
content: [{
|
|
15
|
+
type: "text",
|
|
16
|
+
text: `[SUCCESS] Knowledge stored with ID: ${id}`
|
|
17
|
+
}]
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
22
|
+
return {
|
|
23
|
+
isError: true,
|
|
24
|
+
content: [{
|
|
25
|
+
type: "text",
|
|
26
|
+
text: `[ERROR] Failed to store knowledge: ${message}`
|
|
27
|
+
}]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=store_knowledge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store_knowledge.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/memory/store_knowledge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAU5D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,IAAwB;IAC7E,IAAI,CAAC;QACD,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAA0B;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,uCAAuC,EAAE,EAAE;iBACpD,CAAC;SACL,CAAC;IACN,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sCAAsC,OAAO,EAAE;iBACxD,CAAC;SACL,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
export async function handleAskHuman(root, args) {
|
|
3
|
+
if (process.env.ATABEY_TEST_DIR || !process.stdin.isTTY) {
|
|
4
|
+
return { content: [{ type: "text", text: "[SKIPPED] Non-interactive environment. Cannot ask human." }] };
|
|
5
|
+
}
|
|
6
|
+
try {
|
|
7
|
+
const readline = await import("readline");
|
|
8
|
+
const rl = readline.createInterface({
|
|
9
|
+
input: process.stdin,
|
|
10
|
+
output: process.stdout
|
|
11
|
+
});
|
|
12
|
+
return new Promise((resolve) => {
|
|
13
|
+
process.stdout.write("\n" + chalk.bgMagenta.white.bold(" [HUMAN-IN-THE-LOOP REQUIRED] ") + "\n");
|
|
14
|
+
process.stdout.write(chalk.magenta("An agent has paused execution to ask you a question:\n"));
|
|
15
|
+
rl.question(`\n${chalk.bold(args.question)}\n${chalk.gray("> ")}`, (answer) => {
|
|
16
|
+
rl.close();
|
|
17
|
+
resolve({
|
|
18
|
+
content: [{ type: "text", text: `[HUMAN RESPONSE] ${answer}` }]
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
25
|
+
return {
|
|
26
|
+
isError: true,
|
|
27
|
+
content: [{ type: "text", text: `[ERROR] Failed to ask human: ${message}` }]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ask_human.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask_human.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/messaging/ask_human.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,IAAkB;IACjE,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0DAA0D,EAAE,CAAC,EAAE,CAAC;IAC7G,CAAC;IAED,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,GAAG,IAAI,CAAC,CAAC;YACjG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,CAAC;YAE9F,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC1E,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC;oBACJ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,MAAM,EAAE,EAAE,CAAC;iBAClE,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gCAAgC,OAAO,EAAE,EAAE,CAAC;SAC/E,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -20,7 +20,7 @@ export function handleCheckPorts(projectRoot, args) {
|
|
|
20
20
|
}
|
|
21
21
|
catch (_e) {
|
|
22
22
|
return {
|
|
23
|
-
content: [{ type: "text", text: "
|
|
23
|
+
content: [{ type: "text", text: "[INFO] No active ports found or command failed (this is normal if nothing is listening)." }]
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_ports.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/observability/check_ports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,IAA0B;IAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,kCAAkC;IAEpE,IAAI,CAAC;QACD,mEAAmE;QACnE,0EAA0E;QAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YACxC,CAAC,CAAC,oCAAoC,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3E,CAAC,CAAC,+BAA+B,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAExE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvD,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,2CAA2C,MAAM,IAAI,kDAAkD,EAAE;iBAClH,CAAC;SACL,CAAC;IACN,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACV,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"check_ports.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/observability/check_ports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,IAA0B;IAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,kCAAkC;IAEpE,IAAI,CAAC;QACD,mEAAmE;QACnE,0EAA0E;QAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YACxC,CAAC,CAAC,oCAAoC,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3E,CAAC,CAAC,+BAA+B,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAExE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvD,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,2CAA2C,MAAM,IAAI,kDAAkD,EAAE;iBAClH,CAAC;SACL,CAAC;IACN,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACV,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0FAA0F,EAAE,CAAC;SAChI,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -8,7 +8,7 @@ export function handleGetSystemHealth(_projectRoot, _args) {
|
|
|
8
8
|
const usedMem = totalMem - freeMem;
|
|
9
9
|
const memUsagePercent = ((usedMem / totalMem) * 100).toFixed(2);
|
|
10
10
|
const loadAvg = os.loadavg(); // [1, 5, 15] minute averages
|
|
11
|
-
const healthReport =
|
|
11
|
+
const healthReport = `[SERVER] **System Health Report**
|
|
12
12
|
- **Memory:** ${memUsagePercent}% used (${(usedMem / 1024 / 1024 / 1024).toFixed(2)} GB / ${(totalMem / 1024 / 1024 / 1024).toFixed(2)} GB)
|
|
13
13
|
- **CPU Load (1m, 5m, 15m):** ${loadAvg.map(l => l.toFixed(2)).join(", ")}
|
|
14
14
|
- **Platform:** ${os.platform()} (${os.release()})
|