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
package/README.md
CHANGED
|
@@ -1,209 +1,159 @@
|
|
|
1
|
-
# [GOV] Agent Atabey
|
|
1
|
+
# [GOV] Agent Atabey -- Enterprise AI Governance & Autonomous Orchestration Framework
|
|
2
2
|
|
|
3
|
+
[](https://github.com/ysf-bkr/atabey)
|
|
4
|
+
[](https://www.npmjs.com/package/atabey)
|
|
5
|
+
[](https://www.npmjs.com/package/atabey-mcp)
|
|
3
6
|
[](https://github.com/ysf-bkr/atabey)
|
|
4
7
|
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://github.com/ysf-bkr/atabey)
|
|
9
|
+
[](https://github.com/ysf-bkr/atabey/actions)
|
|
5
10
|
|
|
6
|
-
|
|
11
|
+
**[EN]** Agent Atabey is a Supreme AI Governance & Autonomous Orchestration Framework designed for Enterprise Development. It enforces strict "Zero Type Hole" and "Zero Mock" policies via deterministic Quality Gates, provides local Vector Memory, and orchestrates 13 specialized AI agents through a SQLite-backed Hermes Message Broker. Production ready for MCP integrations (Claude, Gemini, Cursor).
|
|
7
12
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
**Agent Atabey**, karmaÅÄąk, Ãļlçeklenebilir ve yÃŧksek denetim gerektiren kurumsal yazÄąlÄąm projeleri için tasarlanmÄąÅ bir **"ÃstÃŧn Yapay Zeka YÃļnetiÅimi ve Otonom Orkestrasyon Ãerçevesidir"**. Kaotik yapay zeka kodlamasÄąnÄą disiplinli, yÃļnetilebilir ve izlenebilir bir **"Otonom Ordu"** operasyonuna dÃļnÃŧÅtÃŧrÃŧr.
|
|
11
|
-
|
|
12
|
-
### [GOAL] ÃÃļzdÃŧÄÃŧmÃŧz Problemler
|
|
13
|
-
Standart yapay zeka kod asistanlarÄą (Claude, Cursor, Aider vb.) baÄÄąmsÄąz "kod yazÄącÄąlar" olarak çalÄąÅÄąr. SÄąkÄą bir yÃļnetiÅim olmadan bu durum Åunlara yol açar:
|
|
14
|
-
- **KontrolsÃŧz Yapay Zeka (Rogue AI):** DosyalarÄąn tamamÄąnÄąn kontrolsÃŧzce yeniden yazÄąlmasÄą.
|
|
15
|
-
- **BaÄlam KaymasÄą (Context Drift):** Oturumlar arasÄąnda ciddi hafÄąza kaybÄą.
|
|
16
|
-
- **Token İsrafÄą:** Optimizasyon eksikliÄi nedeniyle yÃŧksek API maliyetleri.
|
|
17
|
-
- **Ãoklu Ajan Kaosu:** FarklÄą ajanlar arasÄąnda çakÄąÅmalar ve yarÄąÅ durumlarÄą.
|
|
18
|
-
- **Kurumsal Kontrol KaybÄą:** Denetimsiz CRUD iÅlemleri ve Åema deÄiÅiklikleri.
|
|
19
|
-
|
|
20
|
-
### [START] Temel Ãzellikler
|
|
21
|
-
- **Ãok Dilli İletiÅim (TR/EN):** Ajan ordusuyla TÃŧrkçe veya İngilizce iletiÅim kurma seçeneÄi.
|
|
22
|
-
- **Dil BaÄÄąmsÄąz Backend Orkestrasyonu:** Go, Java, Python, .NET veya Node.js projeleri için ÃļzelleÅtirilmiÅ ajan yetenekleri.
|
|
23
|
-
- **SÄąkÄą YÃļnetiÅim:** Kritik iÅlemler için "Human-in-the-Loop" onayÄą ve Trace ID tabanlÄą izleme.
|
|
24
|
-
- **GeliÅmiÅ HafÄąza Sistemi:** BaÄlam kaymasÄąnÄą engelleyen 3 katmanlÄą hafÄąza mimarisi.
|
|
25
|
-
- **Dinamik GÃļrev PlanlayÄącÄą:** KarmaÅÄąk istekleri otonom olarak DAG (Directed Acyclic Graph) yapÄąsÄąnda planlama.
|
|
26
|
-
- **GÃļrsel Kontrol Paneli (Hermes UI):** Ajan durumlarÄąnÄą ve bellek akÄąÅÄąnÄą anlÄąk izleyen API ve Dashboard desteÄi.
|
|
27
|
-
- **Token Ekonomisi:** %90'a varan tasarruf saÄlayan "Cerrahi MÃŧdahale" (Surgical Edits) mantÄąÄÄą.
|
|
28
|
-
- **Hermes Mesaj AracÄąsÄą:** Ajan çakÄąÅmalarÄąnÄą engelleyen asenkron, olay tabanlÄą iletiÅim.
|
|
29
|
-
- **GÃŧvenli Yerel AI:** %100 veri gizliliÄi için **Yerel LLM** (Ollama, vLLM) desteÄi.
|
|
13
|
+
**[TR]** Agent Atabey, kurumsal projeler için geliÅtirilmiÅ YÃŧce Yapay Zeka YÃļnetiÅim ve Otonom Orkestrasyon Ãerçevesidir. Deterministik Kalite KapÄąlarÄą ile katÄą "Zero Type Hole" ve "Zero Mock" kurallarÄąnÄą uygular, yerel VektÃļrel HafÄąza saÄlar ve 13 uzman yapay zeka ajanÄąnÄą SQLite tabanlÄą Hermes MesajlaÅma AracÄąsÄą Ãŧzerinden koordine eder. MCP entegrasyonlarÄą (Claude, Gemini, Cursor) için Ãŧretime tam hazÄąrdÄąr.
|
|
30
14
|
|
|
31
15
|
---
|
|
32
16
|
|
|
33
|
-
## [
|
|
17
|
+
## [INSTALL] Installation / Kurulum
|
|
34
18
|
|
|
35
|
-
|
|
19
|
+
### Requirements / Gereksinimler
|
|
36
20
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
- **Multi-Agent Chaos:** Conflicts and race conditions between different agents.
|
|
43
|
-
- **Loss of Corporate Control:** Unsupervised CRUD operations and schema changes.
|
|
21
|
+
| Requirement | Version |
|
|
22
|
+
|-----------|----------|
|
|
23
|
+
| **Node.js** | >= 18.0.0 |
|
|
24
|
+
| **npm** | >= 9.0.0 |
|
|
25
|
+
| **SQLite** | Built-in (via better-sqlite3) |
|
|
44
26
|
|
|
45
|
-
###
|
|
46
|
-
- **Multi-Language Communication (TR/EN):** Option to interact with your agent army in Turkish or English.
|
|
47
|
-
- **Language-Agnostic Backend Orchestration:** Specialized agent capabilities for Go, Java, Python, .NET, or Node.js projects.
|
|
48
|
-
- **Strict Governance:** "Human-in-the-Loop" for critical operations and Trace ID tracking.
|
|
49
|
-
- **Advanced Memory System:** 3-tier architecture that prevents context drift.
|
|
50
|
-
- **Token Economy:** Up to 90% savings via "Surgical Edits" instead of full rewrites.
|
|
51
|
-
- **Hermes Message Broker:** Asynchronous communication preventing agent conflicts.
|
|
52
|
-
- **Private & Secure AI:** Support for **Local LLMs** (Ollama, vLLM) ensuring 100% data privacy.
|
|
27
|
+
### Global Install / Global Kurulum
|
|
53
28
|
|
|
54
|
-
|
|
29
|
+
**[EN]** Install the main CLI and the optional MCP server globally.
|
|
30
|
+
**[TR]** Ana CLI aracÄąnÄą ve isteÄe baÄlÄą MCP sunucusunu global olarak kurun.
|
|
55
31
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
| **@security** | Core | **Safety Guardian:** Manages auth, encryption, RLS, and secret protection. |
|
|
64
|
-
| **@backend** | Core | **Domain Logic:** API design, branded types, and layered architecture. |
|
|
65
|
-
| **@database** | Core | **DB Management:** Schema migrations, query optimization, type-safe access. |
|
|
66
|
-
| **@frontend** | Core | **UI Specialist:** Atomic, responsive-first interfaces, Zero-UI dependency. |
|
|
67
|
-
| **@mobile** | Core | **Mobile Engineer:** React Native/Expo specialist, offline-first focus. |
|
|
68
|
-
| **@native** | Core | **Native Division:** OS-level integrations, desktop (Tauri/Electron) layers. |
|
|
69
|
-
| **@quality** | Recon | **QA & Testing:** Enforces 80% coverage and zero-mock testing policies. |
|
|
70
|
-
| **@explorer** | Recon | **Intel Explorer:** Codebase discovery, dependency mapping, recon reports. |
|
|
71
|
-
| **@git** | Recon | **Logistics Master:** Version control hygiene, Trace-ID commit enforcement. |
|
|
72
|
-
| **@devops** | Recon | **Infrastructure:** CI/CD pipelines, containers, immutable deployments. |
|
|
32
|
+
```bash
|
|
33
|
+
# Main package / Ana Paket (CLI + Framework)
|
|
34
|
+
npm install -g atabey
|
|
35
|
+
|
|
36
|
+
# MCP Server (for Claude/Gemini integration)
|
|
37
|
+
npm install -g atabey-mcp
|
|
38
|
+
```
|
|
73
39
|
|
|
74
40
|
---
|
|
75
41
|
|
|
76
|
-
## [
|
|
42
|
+
## [QUICKSTART] Quick Start / HÄązlÄą BaÅlangÄąÃ§
|
|
77
43
|
|
|
78
|
-
1.
|
|
79
|
-
2. **[EDIT] Surgical Modification:** `replace_text` ile milimetrik kod dÃŧzenleme.
|
|
80
|
-
3. **[MSG] Hermes Messaging:** Trace-ID takipli ajanlar arasÄą iletiÅim.
|
|
81
|
-
4. **[GOV] Governance & Locking:** OS seviyesinde kaynak kilitleme (Race condition korumasÄą).
|
|
82
|
-
5. **[SKILL] QA & Discipline:** AST tabanlÄą kod uyumluluk denetimi ve test kapÄąlarÄą.
|
|
83
|
-
6. **[DB] Database Excellence:** Tip-gÃŧvenli sorgular (Kysely) ve repository desenleri.
|
|
84
|
-
7. **[START] DevOps Automation:** GÃŧvenli sÄąr (secret) yÃļnetimi ve otonom yayÄąn hatlarÄą.
|
|
44
|
+
### 1. Initialize Your Project / Projeyi BaÅlat
|
|
85
45
|
|
|
86
|
-
|
|
46
|
+
**[EN]** Enable Atabey in your project. This creates the `.atabey/` working directory, configures 13 specialized agents, and initializes the Hermes message infrastructure.
|
|
47
|
+
**[TR]** Atabey'i proje dizininde aktif edin. Bu komut `.atabey/` çalÄąÅma dizinini oluÅturur, 13 uzman ajanÄą yapÄąlandÄąrÄąr ve Hermes mesaj altyapÄąsÄąnÄą baÅlatÄąr.
|
|
87
48
|
|
|
88
|
-
|
|
49
|
+
```bash
|
|
50
|
+
atabey init gemini --unified --yes
|
|
51
|
+
```
|
|
89
52
|
|
|
90
|
-
|
|
91
|
-
- **Native Mode:** Her AI asistanÄą için ayrÄą klasÃļrler (Ãļrn: `.claude`, `.gemini`) kullanÄąr.
|
|
53
|
+
### 2. Start a Task / Ajanlara GÃļrev Ver
|
|
92
54
|
|
|
93
|
-
|
|
55
|
+
**[EN]** Delegate directly to an agent or start smart orchestration.
|
|
56
|
+
**[TR]** DoÄrudan bir ajana gÃļrev verin veya akÄąllÄą orkestrasyonu baÅlatÄąn.
|
|
94
57
|
|
|
95
|
-
|
|
58
|
+
```bash
|
|
59
|
+
# Direct delegation
|
|
60
|
+
atabey @backend "Write and test the user login service"
|
|
96
61
|
|
|
97
|
-
|
|
62
|
+
# Smart orchestration
|
|
63
|
+
atabey orchestrate
|
|
64
|
+
```
|
|
98
65
|
|
|
99
|
-
|
|
100
|
-
| :--- | :--- | :--- | :--- |
|
|
101
|
-
| **Agent Army** | 13 Standard Agents | 13 Standard + Custom Agents | Unlimited Custom Agents |
|
|
102
|
-
| **Memory System** | Standard 3-Tier Memory | Extended Context & History | Infinite Archival & Vector DB |
|
|
103
|
-
| **Governance** | Basic Rules | Advanced Team Policies | EU AI Act & Full Audit |
|
|
104
|
-
| **Security & RBAC** | Basic Access | Role-Based Workflows | Advanced RLS & SSO |
|
|
105
|
-
| **Support** | Community / GitHub | Standard Email Support | 24/7 SLA & Success Manager |
|
|
66
|
+
### 3. Dashboard / Kontrol Paneli
|
|
106
67
|
|
|
107
|
-
|
|
68
|
+
**[EN]** Open the web-based visual control panel.
|
|
69
|
+
**[TR]** Web tabanlÄą gÃļrsel yÃļnetim panelini aÃ§Äąn.
|
|
108
70
|
|
|
109
|
-
|
|
71
|
+
```bash
|
|
72
|
+
atabey dashboard
|
|
73
|
+
```
|
|
110
74
|
|
|
111
|
-
|
|
75
|
+
---
|
|
112
76
|
|
|
113
|
-
|
|
114
|
-
* **İnteraktif Kurulum:** `npx atabey init` komutuyla iletiÅim dilinizi ve backend teknolojinizi seçebilirsiniz.
|
|
115
|
-
* `--unified`: TÃŧm konfigÃŧrasyonu ve ajan tanÄąmlarÄąnÄą tek bir `.atabey/` (veya `.agents/`) klasÃļrÃŧnde toplar. ÃalÄąÅma alanÄąnÄą temiz tutmak için kurumsal standarttÄąr.
|
|
116
|
-
* `--yes` veya `-y`: EtkileÅimli sorularÄą atlayarak varsayÄąlan deÄerlerle (TR dili, Node.js backend, Modern Mavi tema) hÄązlÄą kurulum yapar.
|
|
117
|
-
* `--dry-run`: Dosya yazmadan sadece kurulum adÄąmlarÄąnÄą simÃŧle eder.
|
|
77
|
+
## [FEATURES] Core Features / Temel Ãzellikler
|
|
118
78
|
|
|
119
|
-
###
|
|
79
|
+
### 1. Deterministic Quality Gate / Deterministik Kalite KapÄąsÄą
|
|
80
|
+
**[EN]** No agent can push code directly to production. All outputs pass through AST Analysis (Compliance), Linting, and Unit Tests. If the code fails, the agent is forced into an automatic 3-attempt Retry Loop to fix its mistakes.
|
|
81
|
+
**[TR]** Hiçbir ajan doÄrudan Ãŧretime kod gÃļnderemez. TÃŧm Ã§ÄąktÄąlar AST Analizi, Lint ve Unit Test sÃŧreçlerinden geçer. Kod baÅarÄąsÄąz olursa, ajan hatalarÄąnÄą dÃŧzeltmesi için otomatik olarak 3 denemelik bir dÃļngÃŧye sokulur.
|
|
120
82
|
|
|
121
|
-
|
|
83
|
+
### 2. Autonomous Vector Memory / Otonom VektÃļr HafÄązasÄą
|
|
84
|
+
**[EN]** Atabey stores project context, contracts, and past tasks locally via `better-sqlite3` using a TF-IDF semantic search engine (Cosine Similarity). Agents can search and retrieve past architectural decisions.
|
|
85
|
+
**[TR]** Proje baÄlamÄą, kontratlar ve geçmiÅ gÃļrevler yerel SQLite Ãŧzerinde anlamsal bir arama motoruyla vektÃļrel olarak depolanÄąr. Ajanlar geçmiÅ mimari kararlarÄą arayÄąp bulabilir.
|
|
122
86
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
# Kurumsal HÄązlÄą Kurulum
|
|
127
|
-
npx atabey init gemini --unified --yes
|
|
128
|
-
```
|
|
129
|
-
* **ÃalÄąÅma Dizini:** `.gemini/`
|
|
130
|
-
* **Entegrasyon (Shim) DosyasÄą:** `GEMINI.md`
|
|
87
|
+
### 3. Hermes Message Broker / Hermes Mesaj KuyruÄu
|
|
88
|
+
**[EN]** Agents communicate asynchronously via a SQLite-backed message queue (`@manager` -> `@backend` -> `@quality`). A file-based Lock Protocol is used to prevent race conditions.
|
|
89
|
+
**[TR]** Ajanlar SQLite tabanlÄą bir mesaj kuyruÄu Ãŧzerinden birbirleriyle asenkron olarak haberleÅir. ÃakÄąÅmalarÄą Ãļnlemek için dosya tabanlÄą kilit protokolÃŧ kullanÄąlÄąr.
|
|
131
90
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
npx atabey init claude --unified --yes
|
|
136
|
-
```
|
|
137
|
-
* **ÃalÄąÅma Dizini:** `.claude/`
|
|
138
|
-
* **Entegrasyon (Shim) DosyasÄą:** `CLAUDE.md`
|
|
91
|
+
### 4. Risk Engine / Risk Motoru
|
|
92
|
+
**[EN]** Operations containing `DROP`, `DELETE`, `TRUNCATE`, or secret manipulation are flagged. Execution is blocked until a human administrator approves it via `atabey approve <traceId>` (Human-in-the-Loop).
|
|
93
|
+
**[TR]** Tehlikeli veritabanÄą komutlarÄą veya gizli anahtar manipÃŧlasyonu içeren iÅlemler iÅaretlenir. YÃļnetici `atabey approve <traceId>` ile onay verene kadar iÅlem durdurulur (Human-in-the-Loop).
|
|
139
94
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
npx atabey init grok --unified --yes
|
|
144
|
-
```
|
|
145
|
-
* **ÃalÄąÅma Dizini:** `.grok/`
|
|
146
|
-
* **Entegrasyon (Shim) DosyasÄą:** `GROK.md`
|
|
95
|
+
### 5. Smart Routing Engine / AkÄąllÄą YÃļnlendirme Motoru
|
|
96
|
+
**[EN]** Uses TF-IDF based keyword matching (Specialty + Role + DisplayName) to automatically route the user's natural language task to the most capable agent and split it into sub-tasks.
|
|
97
|
+
**[TR]** TF-IDF tabanlÄą kelime eÅleÅtirme kullanarak kullanÄącÄąnÄąn doÄal dildeki gÃļrevini en yetkin ajana yÃļnlendirir ve alt gÃļrevlere bÃļler.
|
|
147
98
|
|
|
148
|
-
|
|
149
|
-
Cursor IDE'de otomatik uygulanan kurallar (`.cursor/rules/*.mdc`) oluÅturur.
|
|
150
|
-
```bash
|
|
151
|
-
npx atabey init cursor --yes
|
|
152
|
-
```
|
|
153
|
-
* **ÃalÄąÅma Dizini:** `.cursor/rules/`
|
|
154
|
-
* **Ajan Dosya UzantÄąsÄą:** `.mdc`
|
|
99
|
+
---
|
|
155
100
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
101
|
+
## [AGENTS] 13 Specialized Agents / 13 Uzman Ajan
|
|
102
|
+
|
|
103
|
+
**[EN]** The framework consists of 13 agents divided into 3 tiers based on authority and role:
|
|
104
|
+
**[TR]** Framework, yetki ve gÃļrevlerine gÃļre 3 katmana ayrÄąlmÄąÅ 13 ajandan oluÅur:
|
|
105
|
+
|
|
106
|
+
| Agent | Tier | Role | Description |
|
|
107
|
+
|------|------|------|-------------|
|
|
108
|
+
| **@manager** | [S] Supreme | Orchestration | Manages all agents, distributes tasks, oversees the Quality Gate. |
|
|
109
|
+
| **@security** | [S] Supreme | Security Audit | Enforces Zero-Trust, encryption, and secret management. |
|
|
110
|
+
| **@architect** | [C] Core | System Design | Manages system architecture and API contracts. |
|
|
111
|
+
| **@backend** | [C] Core | Backend Dev. | Develops API endpoints, business logic, and writes mandatory tests. |
|
|
112
|
+
| **@frontend** | [C] Core | Frontend Dev. | Builds UI, atomic components, and responsive designs (React/Vite). |
|
|
113
|
+
| **@quality** | [C] Core | Quality Audit | Validates code compliance (Lint, AST) and test coverage. |
|
|
114
|
+
| **@database** | [C] Core | DB Management | Handles schemas, migrations, and query optimization. |
|
|
115
|
+
| **@analyst** | [C] Core | Strategy | Performs requirement analysis and contract validation. |
|
|
116
|
+
| **@mobile** | [C] Core | Mobile Dev. | Develops offline-first React Native architecture. |
|
|
117
|
+
| **@native** | [C] Core | Native Ops. | Handles OS-level integrations and system calls. |
|
|
118
|
+
| **@devops** | [C] Core | Infrastructure | Manages CI/CD, Docker configurations, and server health. |
|
|
119
|
+
| **@explorer** | [R] Recon | Discovery | Maps the codebase and analyzes dependencies. |
|
|
120
|
+
| **@git** | [R] Recon | Version Control | Enforces Trace ID-based commit discipline and Git operations. |
|
|
163
121
|
|
|
164
|
-
|
|
165
|
-
%100 veri gizliliÄi saÄlamak amacÄąyla Ollama veya vLLM gibi yerel çalÄąÅan LLM'ler için yapÄąlandÄąrÄąlmÄąÅtÄąr.
|
|
166
|
-
```bash
|
|
167
|
-
npx atabey init local --yes
|
|
168
|
-
```
|
|
169
|
-
* **ÃalÄąÅma Dizini:** `.atabey/`
|
|
170
|
-
* **Entegrasyon (Shim) DosyasÄą:** `LOCAL_AI.md`
|
|
122
|
+
---
|
|
171
123
|
|
|
172
|
-
|
|
173
|
-
Atabey'in kendi otonom CLI motoru ve plugin'leri için iç disiplin yapÄąlandÄąrmasÄądÄąr.
|
|
174
|
-
```bash
|
|
175
|
-
npx atabey init antigravity-cli --yes
|
|
176
|
-
```
|
|
177
|
-
* **ÃalÄąÅma Dizini:** `.antigravity/`
|
|
178
|
-
* **Entegrasyon (Shim) DosyasÄą:** `AGENTS.md`
|
|
124
|
+
## [CLI] Command Reference / Komut ReferansÄą
|
|
179
125
|
|
|
180
|
-
|
|
126
|
+
| Command | Usage | Description |
|
|
127
|
+
|-------|-------|-------------|
|
|
128
|
+
| `init` | `atabey init <adapter>` | Initialize the project and structure |
|
|
129
|
+
| `orchestrate` | `atabey orchestrate` | Start the autonomous agent orchestration loop |
|
|
130
|
+
| `dashboard` | `atabey dashboard` | Open the web-based visual control panel |
|
|
131
|
+
| `approve` | `atabey approve <traceId>` | Approve a blocked high-risk task |
|
|
132
|
+
| `status` | `atabey status` | Show current agent statuses and costs |
|
|
133
|
+
| `trace` | `atabey trace [id]` | View execution trace history |
|
|
134
|
+
| `check` | `atabey check` | Run AST compliance check |
|
|
135
|
+
| `lint` | `atabey lint` | Run code quality checks (ESLint) |
|
|
136
|
+
| `mcp` | `atabey mcp` | Manage MCP server configuration |
|
|
181
137
|
|
|
182
|
-
|
|
138
|
+
---
|
|
183
139
|
|
|
184
|
-
|
|
185
|
-
* **mcp.json:** Root MCP Sunucu Entegrasyonu.
|
|
186
|
-
* **.atabey/config.json:** Atabey tema, adaptÃļr ve profil ayarlarÄą.
|
|
187
|
-
* **.atabey/STATUS.md:** Ajan durumlarÄąnÄą gÃļsteren canlÄą tablo.
|
|
188
|
-
* **.atabey/messages/:** Ajanlar arasÄą asenkron kuyruk klasÃļrÃŧ (.lock dahil).
|
|
189
|
-
* **.atabey/logs/:** AjanlarÄąn iÅlem loglarÄą.
|
|
190
|
-
* **.atabey/memory/PROJECT_MEMORY.md:** Aktif geliÅtirme baÄlamÄą ve bellek dosyasÄą.
|
|
191
|
-
* **.atabey/memory-graph/shared-facts.json:** Proje teknoloji yÄąÄÄąnÄą ve temel gerçekleri.
|
|
140
|
+
## [TEST] Testing / Testler
|
|
192
141
|
|
|
193
|
-
|
|
142
|
+
**[EN]** The project is comprehensively tested using Vitest (100% Success).
|
|
143
|
+
**[TR]** Proje Vitest kullanÄąlarak kapsamlÄą bir Åekilde test edilmektedir (%100 BaÅarÄą).
|
|
194
144
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
145
|
+
```bash
|
|
146
|
+
# Run all tests
|
|
147
|
+
npm test
|
|
198
148
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
149
|
+
# Test coverage report
|
|
150
|
+
npm run test:coverage
|
|
151
|
+
```
|
|
202
152
|
|
|
203
|
-
|
|
153
|
+
---
|
|
204
154
|
|
|
205
|
-
|
|
155
|
+
## [LICENSE] License / Lisans
|
|
206
156
|
|
|
207
|
-
|
|
157
|
+
MIT License -- [Yusuf BEKAR](mailto:ybekar@msn.com)
|
|
208
158
|
|
|
209
|
-
|
|
159
|
+
Enterprise inquiries: **ybekar@msn.com**
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Atabey CLI Bash/Zsh Completion
|
|
4
|
+
# To enable, add this to your .bashrc or .zshrc:
|
|
5
|
+
# source /path/to/atabey/bin/completion.sh
|
|
6
|
+
|
|
7
|
+
_atabey_completion() {
|
|
8
|
+
local cur prev opts
|
|
9
|
+
COMPREPLY=()
|
|
10
|
+
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
11
|
+
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
12
|
+
opts="init check status trace:new trace:replay update_project_memory plan plan:submit orchestrate loop verify-contract update-contract dashboard validate validate-al-registry check:al version help git:commit git:sync check:compliance explorer:graph explorer:audit knowledge:update knowledge:search log:action run-script security:audit check:lint approve create-agent mcp index quickstart"
|
|
13
|
+
|
|
14
|
+
if [[ ${cur} == @* ]] ; then
|
|
15
|
+
local agents="@manager @security @architect @backend @frontend @mobile @quality @database @devops @analyst @native @explorer @git"
|
|
16
|
+
COMPREPLY=( $(compgen -W "${agents}" -- ${cur}) )
|
|
17
|
+
return 0
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
case "${prev}" in
|
|
21
|
+
atabey)
|
|
22
|
+
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
23
|
+
return 0
|
|
24
|
+
;;
|
|
25
|
+
*)
|
|
26
|
+
;;
|
|
27
|
+
esac
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
complete -F _atabey_completion atabey
|
|
@@ -94,7 +94,7 @@ try {
|
|
|
94
94
|
|
|
95
95
|
let totalFailed = 0;
|
|
96
96
|
|
|
97
|
-
process.stderr.write(`\n[SECURITY] STARTING
|
|
97
|
+
process.stderr.write(`\n[SECURITY] STARTING AL REGISTRY VALIDATION (${detected.frameworkDir})...\n`);
|
|
98
98
|
process.stderr.write("--------------------------------------------------\n");
|
|
99
99
|
process.stderr.write("| Agent ID | Format | Status | Category |\n");
|
|
100
100
|
process.stderr.write("--------------------------------------------------\n");
|
|
@@ -102,7 +102,7 @@ try {
|
|
|
102
102
|
for (const file of files) {
|
|
103
103
|
const fileName = file.name;
|
|
104
104
|
const filePath = file.path;
|
|
105
|
-
if (fileName === "
|
|
105
|
+
if (fileName === "agent_AL_schema.json" || fileName === "schema") continue;
|
|
106
106
|
|
|
107
107
|
const content = fs.readFileSync(filePath, "utf8");
|
|
108
108
|
const isMd = fileName.endsWith(".md");
|
|
@@ -5,7 +5,7 @@ import { fileURLToPath } from "url";
|
|
|
5
5
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
6
6
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
7
7
|
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
8
|
-
import { TOOLS, toolHandlers } from "./tools/index.js";
|
|
8
|
+
import { TOOLS, toolHandlers, toolSchemas } from "./tools/index.js";
|
|
9
9
|
import { RESOURCES, handleReadResource } from "./resources/index.js";
|
|
10
10
|
// âââ Server Setup âââââââââââââââââââââââââââââââââââââââââââââââââ
|
|
11
11
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
@@ -32,8 +32,20 @@ const server = new Server({
|
|
|
32
32
|
resources: {},
|
|
33
33
|
},
|
|
34
34
|
});
|
|
35
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Validates tool arguments using Zod schemas for "Zero Type Hole" compliance.
|
|
37
|
+
* Falls back to basic presence check if no Zod schema is defined for the tool.
|
|
38
|
+
*/
|
|
36
39
|
function validateArgs(toolName, args) {
|
|
40
|
+
const schema = toolSchemas[toolName];
|
|
41
|
+
if (schema) {
|
|
42
|
+
const result = schema.safeParse(args);
|
|
43
|
+
if (!result.success) {
|
|
44
|
+
return result.error.errors.map(e => `${e.path.join(".")}: ${e.message}`).join(", ");
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
// Fallback for tools without Zod schemas yet
|
|
37
49
|
const definition = TOOLS.find(t => t.name === toolName);
|
|
38
50
|
if (!definition)
|
|
39
51
|
return `Unknown tool: ${toolName}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../framework-mcp/src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC5B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../framework-mcp/src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC5B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,qEAAqE;AAErE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,0DAA0D;AAC1D,SAAS,eAAe,CAAC,QAAgB;IACrC,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,OAAO,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC3C,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC;AAElC,MAAM,MAAM,GAAG,IAAI,MAAM,CACrB;IACI,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,aAAa;CACzB,EACD;IACI,YAAY,EAAE;QACV,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KAChB;CACJ,CACJ,CAAC;AAEF;;;GAGG;AACH,SAAS,YAAY,CAAC,QAAgB,EAAE,IAA6B;IACjE,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAErC,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU;QAAE,OAAO,iBAAiB,QAAQ,EAAE,CAAC;IAEpD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1E,OAAO,+BAA+B,KAAK,eAAe,QAAQ,GAAG,CAAC;QAC1E,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/D,kEAAkE;IAClE,MAAM,IAAI,GAAI,OAAwE,CAAC,KAAK,CAAC;IAC7F,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC;IACjI,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAClE,MAAM,GAAG,GAAI,OAAuC,CAAC,MAAM,CAAC,GAAG,CAAC;IAChE,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO;YACH,QAAQ,EAAE;gBACN;oBACI,GAAG;oBACH,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,OAAO;iBAChB;aACJ;SACJ,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,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9D,MAAM,GAAG,GAAG,OAA4E,CAAC;IACzF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7C,MAAM,IAAI,GAAI,OAAwE,CAAC,KAAK,CAAC;IAE7F,0DAA0D;IAC1D,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,aAAa,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,SAAS,KAAK,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAErE,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,IAAI,EAAE,EAAE,CAAC;aAC9E,CAAC;QACN,CAAC;QAED,gCAAgC;QAChC,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,eAAe,EAAE,CAAC;YAClB,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,eAAe,EAAE,EAAE,CAAC;aAC7F,CAAC;QACN,CAAC;QAED,OAAO,MAAM,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAClF,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,OAAO,EAAE,EAAE,CAAC;SACrF,CAAC;IACN,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,qEAAqE;AAErE,KAAK,UAAU,GAAG;IACd,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,wDAAwD;IACxD,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAY,EAAE,EAAE;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO;CAC7E,CAAC,CAAC;IACC,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAe,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,OAAO;CACxE,CAAC,CAAC;IACC,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACL,4CAA4C;QAChD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,KAAK,CAAC,OAAO;CAC1E,CAAC,CAAC;IACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -4,8 +4,8 @@ import { Storage } from "../utils/storage.js";
|
|
|
4
4
|
*/
|
|
5
5
|
export const RESOURCES = [
|
|
6
6
|
{
|
|
7
|
-
uri: "atabey://
|
|
8
|
-
name: "
|
|
7
|
+
uri: "atabey://AL/status",
|
|
8
|
+
name: "AL Registry Status",
|
|
9
9
|
description: "Real-time state and active tasks of all specialized agents.",
|
|
10
10
|
mimeType: "text/markdown"
|
|
11
11
|
},
|
|
@@ -23,9 +23,9 @@ export const RESOURCES = [
|
|
|
23
23
|
}
|
|
24
24
|
];
|
|
25
25
|
export async function handleReadResource(uri) {
|
|
26
|
-
if (uri === "atabey://
|
|
26
|
+
if (uri === "atabey://AL/status") {
|
|
27
27
|
const agents = Storage.getAllAgents();
|
|
28
|
-
let md = "# [AI]
|
|
28
|
+
let md = "# [AI] AL Registry Status\n\n| Agent | State | Active Task | Last Updated |\n| :--- | :--- | :--- | :--- |\n";
|
|
29
29
|
agents.forEach((a) => {
|
|
30
30
|
md += `| @${a.name} | ${a.state} | ${a.task} | ${a.last_updated} |\n`;
|
|
31
31
|
});
|
|
@@ -33,7 +33,7 @@ export async function handleReadResource(uri) {
|
|
|
33
33
|
}
|
|
34
34
|
if (uri === "atabey://plan/active") {
|
|
35
35
|
const tasks = Storage.getTasks();
|
|
36
|
-
let md = "#
|
|
36
|
+
let md = "# [LIST] Active Execution Plan\n\n| ID | Task | Agent | Status | Dependencies |\n| :--- | :--- | :--- | :--- | :--- |\n";
|
|
37
37
|
tasks.forEach((t) => {
|
|
38
38
|
const deps = t.dependencies.join(", ") || "-";
|
|
39
39
|
md += `| ${t.id} | ${t.description} | ${t.agent} | ${t.status} | ${deps} |\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../framework-mcp/src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAqB,MAAM,qBAAqB,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB;QACI,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../framework-mcp/src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAqB,MAAM,qBAAqB,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB;QACI,GAAG,EAAE,oBAAoB;QACzB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,6DAA6D;QAC1E,QAAQ,EAAE,eAAe;KAC5B;IACD;QACI,GAAG,EAAE,sBAAsB;QAC3B,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,eAAe;KAC5B;IACD;QACI,GAAG,EAAE,yBAAyB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,eAAe;KAC5B;CACJ,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAChD,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,EAAE,GAAG,8GAA8G,CAAC;QACxH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAW,EAAE,EAAE;YAC3B,EAAE,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,YAAY,MAAM,CAAC;QAC1E,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,EAAE,GAAG,yHAAyH,CAAC;QACnI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;YAC9C,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,MAAM,IAAI,MAAM,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,GAAG,KAAK,yBAAyB,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAEnE,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,oDAAoD,CAAC;IAChE,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ToolResult, AcquireLockArgs, ReleaseLockArgs } from "../types.js";
|
|
2
2
|
/**
|
|
3
|
-
* Handles acquiring a stateful lock on a resource.
|
|
3
|
+
* Handles acquiring a stateful lock on a resource with Deadlock Resolution.
|
|
4
4
|
*/
|
|
5
5
|
export declare function handleAcquireLock(projectRoot: string, args: AcquireLockArgs): Promise<ToolResult>;
|
|
6
6
|
/**
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { resolveFrameworkDir } from "../../utils/security.js";
|
|
4
|
+
import { Metrics } from "../../utils/metrics.js";
|
|
4
5
|
/**
|
|
5
|
-
* Handles acquiring a stateful lock on a resource.
|
|
6
|
+
* Handles acquiring a stateful lock on a resource with Deadlock Resolution.
|
|
6
7
|
*/
|
|
7
8
|
export async function handleAcquireLock(projectRoot, args) {
|
|
8
|
-
const { resource, agent, ttl =
|
|
9
|
+
const { resource, agent, ttl = 300 } = args; // Default TTL 5 minutes to prevent deadlocks
|
|
9
10
|
const frameworkDir = resolveFrameworkDir(projectRoot);
|
|
10
11
|
const lockDir = path.join(projectRoot, frameworkDir, "locks");
|
|
11
12
|
const lockPath = path.join(lockDir, `${resource}.lock`);
|
|
12
13
|
try {
|
|
13
14
|
if (!fs.existsSync(lockDir))
|
|
14
15
|
fs.mkdirSync(lockDir, { recursive: true });
|
|
15
|
-
// Check for stale lock first
|
|
16
|
+
// Check for stale lock first (DEADLOCK RESOLUTION)
|
|
16
17
|
if (fs.existsSync(lockPath)) {
|
|
17
18
|
const stat = fs.statSync(lockPath);
|
|
18
19
|
const now = new Date().getTime();
|
|
@@ -20,18 +21,19 @@ export async function handleAcquireLock(projectRoot, args) {
|
|
|
20
21
|
if (age < ttl) {
|
|
21
22
|
return {
|
|
22
23
|
isError: true,
|
|
23
|
-
content: [{ type: "text", text: `Resource '${resource}' is currently locked by another agent.` }]
|
|
24
|
+
content: [{ type: "text", text: `[LOCKED] Resource '${resource}' is currently locked by another agent. Try again later.` }]
|
|
24
25
|
};
|
|
25
26
|
}
|
|
26
|
-
// Lock expired
|
|
27
|
+
// Lock expired: Force Eviction
|
|
28
|
+
const oldLockData = JSON.parse(fs.readFileSync(lockPath, "utf8"));
|
|
29
|
+
Metrics.logError(projectRoot, "@mcp", "lock_eviction", `Forcefully evicted stale lock on '${resource}' held by ${oldLockData.agent} for ${Math.round(age)}s.`);
|
|
27
30
|
const tempLockPath = `${lockPath}.${Math.random().toString(36).substring(2)}.old`;
|
|
28
31
|
try {
|
|
29
32
|
fs.renameSync(lockPath, tempLockPath);
|
|
30
33
|
fs.unlinkSync(tempLockPath);
|
|
31
34
|
}
|
|
32
35
|
catch {
|
|
33
|
-
//
|
|
34
|
-
// Do not delete anything else; proceed and let writeFileSync (wx flag) fail if a new lock exists.
|
|
36
|
+
// Ignore if already evicted by race condition
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
39
|
// Use 'wx' flag for atomic file creation
|
|
@@ -46,7 +48,7 @@ export async function handleAcquireLock(projectRoot, args) {
|
|
|
46
48
|
if (error.code === "EEXIST") {
|
|
47
49
|
return {
|
|
48
50
|
isError: true,
|
|
49
|
-
content: [{ type: "text", text: `Resource '${resource}' was just acquired by another agent.` }]
|
|
51
|
+
content: [{ type: "text", text: `[LOCKED] Resource '${resource}' was just acquired by another agent.` }]
|
|
50
52
|
};
|
|
51
53
|
}
|
|
52
54
|
return {
|
|
@@ -64,7 +66,7 @@ export async function handleReleaseLock(projectRoot, args) {
|
|
|
64
66
|
const lockPath = path.join(projectRoot, frameworkDir, "locks", `${resource}.lock`);
|
|
65
67
|
try {
|
|
66
68
|
if (!fs.existsSync(lockPath)) {
|
|
67
|
-
return { content: [{ type: "text", text:
|
|
69
|
+
return { content: [{ type: "text", text: `[INFO] No lock found for resource '${resource}'.` }] };
|
|
68
70
|
}
|
|
69
71
|
const lockData = JSON.parse(fs.readFileSync(lockPath, "utf8"));
|
|
70
72
|
if (lockData.agent !== agent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locking.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/control_plane/locking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"locking.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/control_plane/locking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
import { ToolDefinition } from "../tools/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* âââ SUPREME TOOL REGISTRY âââââââââââââââââââââââââââââââââââââââââ
|
|
4
|
+
* Every tool is dynamically generated from its Zod schema.
|
|
5
|
+
* ZERO manual JSON schema maintenance permitted.
|
|
6
|
+
*/
|
|
2
7
|
export declare const TOOLS: ToolDefinition[];
|