atabey 0.0.5 → 0.0.7
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 +4 -4
- package/README.md +35 -33
- package/bin/cli.js +2 -2
- package/bin/validate-agent-army.js +6 -6
- package/dist/framework-mcp/src/constants.js +1 -1
- package/dist/framework-mcp/src/constants.js.map +1 -1
- package/dist/framework-mcp/src/index.d.ts +1 -0
- package/dist/framework-mcp/src/index.js +30 -5
- package/dist/framework-mcp/src/index.js.map +1 -1
- package/dist/framework-mcp/src/resources/index.d.ts +10 -0
- package/dist/framework-mcp/src/resources/index.js +59 -0
- package/dist/framework-mcp/src/resources/index.js.map +1 -0
- package/dist/framework-mcp/src/tools/control_plane/locking.js +3 -3
- package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -1
- package/dist/framework-mcp/src/tools/control_plane/registry.js +3 -2
- package/dist/framework-mcp/src/tools/control_plane/registry.js.map +1 -1
- package/dist/framework-mcp/src/tools/definitions.js +33 -1
- package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.d.ts +1 -1
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +8 -3
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/patch_file.d.ts +1 -1
- package/dist/framework-mcp/src/tools/file_system/patch_file.js +8 -3
- package/dist/framework-mcp/src/tools/file_system/patch_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/read_file.js +3 -3
- package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/replace_text.d.ts +1 -1
- package/dist/framework-mcp/src/tools/file_system/replace_text.js +8 -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 +10 -5
- package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/audit_deps.js +2 -2
- package/dist/framework-mcp/src/tools/framework/audit_deps.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/run_tests.js +2 -2
- package/dist/framework-mcp/src/tools/framework/run_tests.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/submit_plan.d.ts +10 -0
- package/dist/framework-mcp/src/tools/framework/submit_plan.js +14 -0
- package/dist/framework-mcp/src/tools/framework/submit_plan.js.map +1 -0
- package/dist/framework-mcp/src/tools/framework/update_memory.js +1 -1
- package/dist/framework-mcp/src/tools/framework/update_memory.js.map +1 -1
- package/dist/framework-mcp/src/tools/index.js +2 -0
- package/dist/framework-mcp/src/tools/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/memory/get_insights.js +1 -1
- package/dist/framework-mcp/src/tools/memory/get_insights.js.map +1 -1
- package/dist/framework-mcp/src/tools/messaging/log_action.js +1 -1
- package/dist/framework-mcp/src/tools/messaging/log_action.js.map +1 -1
- package/dist/framework-mcp/src/tools/messaging/send_message.js +5 -5
- package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -1
- 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/quality/check_lint.js +2 -2
- package/dist/framework-mcp/src/tools/quality/check_lint.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/get_gaps.js +1 -1
- package/dist/framework-mcp/src/tools/search/get_gaps.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/grep_search.js +3 -3
- package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -1
- package/dist/framework-mcp/src/tools/types.d.ts +1 -0
- package/dist/framework-mcp/src/utils/compliance.d.ts +6 -0
- package/dist/framework-mcp/src/utils/compliance.js +158 -5
- package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
- package/dist/framework-mcp/src/utils/permissions.d.ts +12 -0
- package/dist/framework-mcp/src/utils/permissions.js +72 -0
- package/dist/framework-mcp/src/utils/permissions.js.map +1 -0
- package/dist/framework-mcp/tests/tools/file_system/compliance-risk.test.js +84 -0
- package/dist/framework-mcp/tests/tools/file_system/compliance-risk.test.js.map +1 -0
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +31 -31
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/file_system/permissions.test.d.ts +1 -0
- package/dist/framework-mcp/tests/tools/file_system/permissions.test.js +92 -0
- package/dist/framework-mcp/tests/tools/file_system/permissions.test.js.map +1 -0
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +5 -5
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
- package/dist/src/cli/adapters/core.js +1 -1
- package/dist/src/cli/adapters/core.js.map +1 -1
- package/dist/src/cli/adapters/scaffold.js +2 -2
- package/dist/src/cli/adapters/scaffold.js.map +1 -1
- package/dist/src/cli/commands/check.js +5 -3
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/compliance.js +2 -2
- package/dist/src/cli/commands/compliance.js.map +1 -1
- package/dist/src/cli/commands/contract.js +2 -2
- package/dist/src/cli/commands/contract.js.map +1 -1
- package/dist/src/cli/commands/dashboard.d.ts +5 -0
- package/dist/src/cli/commands/dashboard.js +124 -0
- package/dist/src/cli/commands/dashboard.js.map +1 -0
- package/dist/src/cli/commands/explorer.js +3 -3
- package/dist/src/cli/commands/explorer.js.map +1 -1
- package/dist/src/cli/commands/git.js +3 -3
- package/dist/src/cli/commands/git.js.map +1 -1
- package/dist/src/cli/commands/init/create-agent.d.ts +4 -0
- package/dist/src/cli/commands/init/create-agent.js +59 -0
- package/dist/src/cli/commands/init/create-agent.js.map +1 -0
- package/dist/src/cli/commands/init/scaffold-core.d.ts +1 -0
- package/dist/src/cli/commands/init/scaffold-core.js +11 -7
- package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-docs.d.ts +1 -0
- package/dist/src/cli/commands/init/scaffold-docs.js +4 -6
- package/dist/src/cli/commands/init/scaffold-docs.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-ops.js +4 -4
- package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-standards.js +10 -8
- package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
- package/dist/src/cli/commands/init.js +26 -10
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/knowledge.js +3 -3
- package/dist/src/cli/commands/knowledge.js.map +1 -1
- package/dist/src/cli/commands/lint.js +2 -2
- package/dist/src/cli/commands/lint.js.map +1 -1
- package/dist/src/cli/commands/log.js +6 -28
- package/dist/src/cli/commands/log.js.map +1 -1
- package/dist/src/cli/commands/orchestrate.d.ts +10 -17
- package/dist/src/cli/commands/orchestrate.js +92 -341
- package/dist/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/src/cli/commands/plan.d.ts +5 -0
- package/dist/src/cli/commands/plan.js +80 -59
- package/dist/src/cli/commands/plan.js.map +1 -1
- package/dist/src/cli/commands/script.js +3 -3
- package/dist/src/cli/commands/script.js.map +1 -1
- package/dist/src/cli/commands/security.js +2 -2
- package/dist/src/cli/commands/security.js.map +1 -1
- package/dist/src/cli/commands/status.js +65 -8
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/commands/trace.d.ts +4 -0
- package/dist/src/cli/commands/trace.js +83 -2
- package/dist/src/cli/commands/trace.js.map +1 -1
- package/dist/src/cli/index.js +68 -18
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/shims.js +14 -14
- package/dist/src/cli/utils/claude.js +1 -1
- package/dist/src/cli/utils/claude.js.map +1 -1
- package/dist/src/cli/utils/compliance.js +7 -1
- package/dist/src/cli/utils/compliance.js.map +1 -1
- package/dist/src/cli/utils/fs.js +1 -1
- package/dist/src/cli/utils/fs.js.map +1 -1
- package/dist/src/cli/utils/i18n.d.ts +1 -0
- package/dist/src/cli/utils/i18n.js +2 -0
- package/dist/src/cli/utils/i18n.js.map +1 -1
- package/dist/src/cli/utils/memory.d.ts +12 -3
- package/dist/src/cli/utils/memory.js +39 -31
- package/dist/src/cli/utils/memory.js.map +1 -1
- package/dist/src/cli/utils/pkg.js +2 -2
- package/dist/src/cli/utils/pkg.js.map +1 -1
- package/dist/src/cli/utils/schemas.d.ts +8 -8
- package/dist/src/cli/utils/ui.js +4 -4
- package/dist/src/cli/utils/ui.js.map +1 -1
- package/dist/src/contracts/tasks.d.ts +2 -2
- package/dist/src/dashboard/vite.config.d.ts +2 -0
- package/dist/src/dashboard/vite.config.js +16 -0
- package/dist/src/dashboard/vite.config.js.map +1 -0
- package/dist/src/modules/adapters/definitions.js +10 -10
- package/dist/src/modules/adapters/definitions.js.map +1 -1
- package/dist/src/modules/adapters/shared.js +4 -4
- package/dist/src/modules/adapters/shared.js.map +1 -1
- package/dist/src/modules/agents/definitions.d.ts +19 -0
- package/dist/src/modules/agents/definitions.js +74 -21
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/src/modules/agents/registry/backend.js +8 -0
- package/dist/src/modules/agents/registry/backend.js.map +1 -1
- package/dist/src/modules/agents/registry/database.js +7 -0
- package/dist/src/modules/agents/registry/database.js.map +1 -1
- package/dist/src/modules/agents/registry/devops.js +6 -0
- package/dist/src/modules/agents/registry/devops.js.map +1 -1
- package/dist/src/modules/agents/registry/frontend.js +8 -0
- package/dist/src/modules/agents/registry/frontend.js.map +1 -1
- package/dist/src/modules/agents/registry/security.js +6 -0
- package/dist/src/modules/agents/registry/security.js.map +1 -1
- package/dist/src/modules/agents/types.d.ts +2 -0
- package/dist/src/modules/engines/evaluation-engine.d.ts +11 -0
- package/dist/src/modules/engines/evaluation-engine.js +103 -0
- package/dist/src/modules/engines/evaluation-engine.js.map +1 -0
- package/dist/src/modules/engines/health-engine.d.ts +16 -0
- package/dist/src/modules/engines/health-engine.js +50 -0
- package/dist/src/modules/engines/health-engine.js.map +1 -0
- package/dist/src/modules/engines/planning-engine.d.ts +25 -0
- package/dist/src/modules/engines/planning-engine.js +79 -0
- package/dist/src/modules/engines/planning-engine.js.map +1 -0
- package/dist/src/modules/engines/risk-engine.d.ts +18 -0
- package/dist/src/modules/engines/risk-engine.js +106 -0
- package/dist/src/modules/engines/risk-engine.js.map +1 -0
- package/dist/src/modules/engines/routing-engine.d.ts +11 -0
- package/dist/src/modules/engines/routing-engine.js +74 -0
- package/dist/src/modules/engines/routing-engine.js.map +1 -0
- package/dist/src/modules/engines/types.d.ts +47 -0
- package/dist/src/modules/engines/types.js +2 -0
- package/dist/src/modules/engines/types.js.map +1 -0
- package/dist/src/shared/constants.d.ts +5 -2
- package/dist/src/shared/constants.js +4 -1
- package/dist/src/shared/constants.js.map +1 -1
- package/dist/src/shared/fs.d.ts +1 -0
- package/dist/src/shared/fs.js +4 -0
- package/dist/src/shared/fs.js.map +1 -1
- package/dist/src/shared/storage.d.ts +60 -0
- package/dist/src/shared/storage.js +208 -0
- package/dist/src/shared/storage.js.map +1 -0
- package/dist/tests/agent-memory-v2.test.d.ts +1 -0
- package/dist/tests/agent-memory-v2.test.js +68 -0
- package/dist/tests/agent-memory-v2.test.js.map +1 -0
- package/dist/tests/agents-definitions.test.js +42 -0
- package/dist/tests/agents-definitions.test.js.map +1 -1
- package/dist/tests/integration/hermes_locking.test.js +7 -10
- package/dist/tests/integration/hermes_locking.test.js.map +1 -1
- package/dist/tests/orchestrate.test.js +5 -1
- package/dist/tests/orchestrate.test.js.map +1 -1
- package/dist/tests/orchestrator-dependencies.test.d.ts +1 -0
- package/dist/tests/orchestrator-dependencies.test.js +52 -0
- package/dist/tests/orchestrator-dependencies.test.js.map +1 -0
- package/dist/tests/plan.test.d.ts +1 -0
- package/dist/tests/plan.test.js +63 -0
- package/dist/tests/plan.test.js.map +1 -0
- package/dist/tests/planning-engine.test.d.ts +1 -0
- package/dist/tests/planning-engine.test.js +50 -0
- package/dist/tests/planning-engine.test.js.map +1 -0
- package/dist/tests/status-cost.test.d.ts +1 -0
- package/dist/tests/status-cost.test.js +54 -0
- package/dist/tests/status-cost.test.js.map +1 -0
- package/dist/tests/status.test.js +8 -7
- package/dist/tests/status.test.js.map +1 -1
- package/dist/tests/trace-replay.test.d.ts +1 -0
- package/dist/tests/trace-replay.test.js +65 -0
- package/dist/tests/trace-replay.test.js.map +1 -0
- package/dist/tests/trace.test.js +14 -7
- package/dist/tests/trace.test.js.map +1 -1
- package/dist/ui/assets/index-Bkt7APzu.css +1 -0
- package/dist/ui/assets/index-CeX-06mI.js +49 -0
- package/dist/ui/index.html +14 -0
- package/package.json +5 -4
- package/templates/prompts/contract-design-recipe.md +1 -1
- package/templates/prompts/db-management-recipe.md +3 -3
- package/templates/prompts/deployment-recipe.md +3 -3
- package/templates/prompts/performance-optimization-recipe.md +3 -3
- package/templates/prompts/pull-request-template.md +2 -2
- package/templates/prompts/security-audit-recipe.md +3 -3
- package/templates/standards/crud-governance.md +1 -1
- package/templates/standards/deployment-standards.md +1 -1
- package/templates/standards/governance-standards.md +1 -1
- package/templates/standards/llm-governance.md +1 -1
- package/templates/standards/nextjs-standards.md +13 -0
- package/templates/standards/observability-standards.md +1 -1
- package/templates/standards/security-audit-standards.md +1 -1
- package/templates/standards/security-standards.md +1 -1
- package/templates/standards/testing-standards.md +1 -1
- package/templates/standards/vite-standards.md +13 -0
- package/framework-mcp/dist/constants.js +0 -64
- package/framework-mcp/dist/index.js +0 -119
- package/framework-mcp/dist/tools/control_plane/locking.js +0 -82
- package/framework-mcp/dist/tools/control_plane/registry.js +0 -34
- package/framework-mcp/dist/tools/definitions.js +0 -290
- package/framework-mcp/dist/tools/file_system/batch_surgical_edit.js +0 -59
- package/framework-mcp/dist/tools/file_system/patch_file.js +0 -29
- package/framework-mcp/dist/tools/file_system/read_file.js +0 -51
- package/framework-mcp/dist/tools/file_system/replace_text.js +0 -45
- package/framework-mcp/dist/tools/file_system/write_file.js +0 -38
- package/framework-mcp/dist/tools/framework/audit_deps.js +0 -41
- package/framework-mcp/dist/tools/framework/get_status.js +0 -5
- package/framework-mcp/dist/tools/framework/orchestrate.js +0 -5
- package/framework-mcp/dist/tools/framework/run_tests.js +0 -27
- package/framework-mcp/dist/tools/framework/update_contract_hash.js +0 -5
- package/framework-mcp/dist/tools/framework/update_memory.js +0 -8
- package/framework-mcp/dist/tools/index.js +0 -60
- package/framework-mcp/dist/tools/memory/get_insights.js +0 -34
- package/framework-mcp/dist/tools/memory/read_memory.js +0 -28
- package/framework-mcp/dist/tools/messaging/log_action.js +0 -22
- package/framework-mcp/dist/tools/messaging/send_message.js +0 -94
- package/framework-mcp/dist/tools/observability/check_ports.js +0 -26
- package/framework-mcp/dist/tools/observability/get_health.js +0 -19
- package/framework-mcp/dist/tools/quality/check_lint.js +0 -30
- package/framework-mcp/dist/tools/search/get_gaps.js +0 -48
- package/framework-mcp/dist/tools/search/get_map.js +0 -43
- package/framework-mcp/dist/tools/search/grep_search.js +0 -75
- package/framework-mcp/dist/tools/search/list_dir.js +0 -28
- package/framework-mcp/dist/tools/shell/run_command.js +0 -56
- package/framework-mcp/dist/utils/cli.js +0 -59
- package/framework-mcp/dist/utils/compliance.js +0 -78
- package/framework-mcp/dist/utils/fs.js +0 -44
- package/framework-mcp/dist/utils/metrics.js +0 -56
- package/framework-mcp/dist/utils/security.js +0 -60
- package/framework-mcp/package-lock.json +0 -1191
- package/framework-mcp/package.json +0 -26
- package/framework-mcp/src/constants.ts +0 -78
- package/framework-mcp/src/declarations.d.ts +0 -17
- package/framework-mcp/src/index.ts +0 -144
- package/framework-mcp/src/tools/control_plane/locking.ts +0 -89
- package/framework-mcp/src/tools/control_plane/registry.ts +0 -38
- package/framework-mcp/src/tools/definitions.ts +0 -292
- package/framework-mcp/src/tools/file_system/batch_surgical_edit.ts +0 -79
- package/framework-mcp/src/tools/file_system/patch_file.ts +0 -39
- package/framework-mcp/src/tools/file_system/read_file.ts +0 -58
- package/framework-mcp/src/tools/file_system/replace_text.ts +0 -54
- package/framework-mcp/src/tools/file_system/write_file.ts +0 -45
- package/framework-mcp/src/tools/framework/audit_deps.ts +0 -49
- package/framework-mcp/src/tools/framework/get_status.ts +0 -7
- package/framework-mcp/src/tools/framework/orchestrate.ts +0 -7
- package/framework-mcp/src/tools/framework/run_tests.ts +0 -30
- package/framework-mcp/src/tools/framework/update_contract_hash.ts +0 -7
- package/framework-mcp/src/tools/framework/update_memory.ts +0 -10
- package/framework-mcp/src/tools/index.ts +0 -64
- package/framework-mcp/src/tools/memory/get_insights.ts +0 -41
- package/framework-mcp/src/tools/memory/read_memory.ts +0 -31
- package/framework-mcp/src/tools/messaging/log_action.ts +0 -28
- package/framework-mcp/src/tools/messaging/send_message.ts +0 -97
- package/framework-mcp/src/tools/observability/check_ports.ts +0 -30
- package/framework-mcp/src/tools/observability/get_health.ts +0 -24
- package/framework-mcp/src/tools/quality/check_lint.ts +0 -36
- package/framework-mcp/src/tools/search/get_gaps.ts +0 -54
- package/framework-mcp/src/tools/search/get_map.ts +0 -48
- package/framework-mcp/src/tools/search/grep_search.ts +0 -75
- package/framework-mcp/src/tools/search/list_dir.ts +0 -34
- package/framework-mcp/src/tools/shell/run_command.ts +0 -66
- package/framework-mcp/src/tools/types.ts +0 -89
- package/framework-mcp/src/utils/cli.ts +0 -53
- package/framework-mcp/src/utils/compliance.ts +0 -95
- package/framework-mcp/src/utils/fs.ts +0 -45
- package/framework-mcp/src/utils/metrics.ts +0 -73
- package/framework-mcp/src/utils/security.ts +0 -66
- package/framework-mcp/tests/tools/file_system/file_system_tools.test.ts +0 -212
- package/framework-mcp/tests/tools/messaging/send_message.test.ts +0 -136
- package/framework-mcp/tests/tools/quality/check_lint.test.ts +0 -46
- package/framework-mcp/tests/tools/shell/run_command.test.ts +0 -55
- package/framework-mcp/tsconfig.json +0 -14
- package/src/cli/adapters/core.ts +0 -91
- package/src/cli/adapters/index.ts +0 -5
- package/src/cli/adapters/paths.ts +0 -135
- package/src/cli/adapters/scaffold.ts +0 -95
- package/src/cli/adapters/utils.ts +0 -87
- package/src/cli/commands/approve.ts +0 -73
- package/src/cli/commands/check.ts +0 -188
- package/src/cli/commands/compliance.ts +0 -55
- package/src/cli/commands/contract.ts +0 -68
- package/src/cli/commands/explorer.ts +0 -45
- package/src/cli/commands/git.ts +0 -39
- package/src/cli/commands/init/scaffold-core.ts +0 -136
- package/src/cli/commands/init/scaffold-docs.ts +0 -44
- package/src/cli/commands/init/scaffold-ops.ts +0 -83
- package/src/cli/commands/init/scaffold-standards.ts +0 -67
- package/src/cli/commands/init.ts +0 -193
- package/src/cli/commands/knowledge.ts +0 -44
- package/src/cli/commands/lint.ts +0 -23
- package/src/cli/commands/log.ts +0 -37
- package/src/cli/commands/memory.ts +0 -6
- package/src/cli/commands/orchestrate.ts +0 -450
- package/src/cli/commands/plan.ts +0 -113
- package/src/cli/commands/script.ts +0 -20
- package/src/cli/commands/security.ts +0 -38
- package/src/cli/commands/status.ts +0 -44
- package/src/cli/commands/trace.ts +0 -31
- package/src/cli/index.ts +0 -322
- package/src/cli/shims.ts +0 -66
- package/src/cli/utils/claude.ts +0 -63
- package/src/cli/utils/compliance.ts +0 -191
- package/src/cli/utils/config-schema.ts +0 -48
- package/src/cli/utils/fs.ts +0 -170
- package/src/cli/utils/i18n.ts +0 -44
- package/src/cli/utils/memory.ts +0 -303
- package/src/cli/utils/pkg.ts +0 -317
- package/src/cli/utils/schemas.ts +0 -22
- package/src/cli/utils/string.ts +0 -55
- package/src/cli/utils/time.ts +0 -27
- package/src/cli/utils/ui.ts +0 -66
- package/src/contracts/index.ts +0 -1
- package/src/contracts/tasks.ts +0 -26
- package/src/modules/adapters/definitions.ts +0 -171
- package/src/modules/adapters/registry.ts +0 -27
- package/src/modules/adapters/shared.ts +0 -120
- package/src/modules/adapters/types.ts +0 -16
- package/src/modules/agents/definitions.ts +0 -460
- package/src/modules/agents/registry/analyst.ts +0 -44
- package/src/modules/agents/registry/architect.ts +0 -47
- package/src/modules/agents/registry/backend.ts +0 -46
- package/src/modules/agents/registry/database.ts +0 -43
- package/src/modules/agents/registry/devops.ts +0 -44
- package/src/modules/agents/registry/explorer.ts +0 -41
- package/src/modules/agents/registry/frontend.ts +0 -48
- package/src/modules/agents/registry/git.ts +0 -41
- package/src/modules/agents/registry/manager.ts +0 -58
- package/src/modules/agents/registry/mobile.ts +0 -44
- package/src/modules/agents/registry/native.ts +0 -44
- package/src/modules/agents/registry/quality.ts +0 -46
- package/src/modules/agents/registry/security.ts +0 -42
- package/src/modules/agents/types.ts +0 -37
- package/src/modules/skills/definitions.ts +0 -71
- package/src/schema/agent-lifecycle-schema.json +0 -59
- package/src/shared/constants.ts +0 -218
- package/src/shared/errors.ts +0 -75
- package/src/shared/fs.ts +0 -50
- package/src/shared/logger.ts +0 -139
- package/src/shared/types.ts +0 -20
- /package/{framework-mcp/dist/tools/types.js → dist/framework-mcp/tests/tools/file_system/compliance-risk.test.d.ts} +0 -0
package/ATABEY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Atabey Enterprise
|
|
2
2
|
# Place in project root. This file is the single source of truth for Base Project AI Extensions.
|
|
3
3
|
|
|
4
|
-
##
|
|
4
|
+
## [ATABEY] SUPREME LAW & ZERO DEVIATION POLICY (MANDATORY)
|
|
5
5
|
> Any deviation from these rules is considered a violation of "Atabey Order," and the development process is immediately HALTED.
|
|
6
6
|
- [ ] **Surgical Precision:** No file editing is allowed except via `replace_text` or `patch_file`. Overwriting the entire file is forbidden.
|
|
7
7
|
- [ ] **Zero Type Hole:** Using the `any` type is a disciplinary offense at the level of 'treason'.
|
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
- [ ] **Phase Discipline:** Phases cannot be skipped. No transition to the next step until success criteria are met.
|
|
10
10
|
- [ ] **Contract First:** Code cannot be written if the contract signature (`contract_hash`) is broken.
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## [GOV] DISCIPLINE HIERARCHY
|
|
13
13
|
1. **ATABEY.md:** The Supreme Law.
|
|
14
14
|
2. **Standard Operating Procedures (SOPs):** All rules under `.atabey/knowledge/*.md`.
|
|
15
15
|
3. **Manager Directives:** Tasks and approvals issued by @manager.
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## [MEMORY] INTELLIGENCE & DISCOVERY PROTOCOLS
|
|
20
20
|
|
|
21
21
|
### 🔍 Architecture Discovery Protocol (ADP)
|
|
22
22
|
When encountering a project, agents must never assume a specific folder structure. Use the following algorithm:
|
|
@@ -55,7 +55,7 @@ This file (`./ATABEY.md`) and the `.atabey/knowledge/` folder represent the "Sup
|
|
|
55
55
|
|
|
56
56
|
---
|
|
57
57
|
|
|
58
|
-
##
|
|
58
|
+
## [GOV] HIERARCHY OF AUTHORITY
|
|
59
59
|
1. **ATABEY.md:** The Supreme Law.
|
|
60
60
|
2. **SECURITY.md & ARCHITECTURE.md:** Domain Laws.
|
|
61
61
|
3. **memory/DECISIONS.md:** Fixed architectural choices.
|
package/README.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
#
|
|
1
|
+
# [GOV] Agent Atabey — Enterprise AI Governance & Autonomous Orchestration Framework
|
|
2
2
|
|
|
3
3
|
[](https://github.com/ysf-bkr/atabey)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## [TR] TÜRKÇE — Genel Bakış
|
|
9
9
|
|
|
10
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
11
|
|
|
12
|
-
###
|
|
12
|
+
### [GOAL] Çözdüğümüz Problemler
|
|
13
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
14
|
- **Kontrolsüz Yapay Zeka (Rogue AI):** Dosyaların tamamının kontrolsüzce yeniden yazılması.
|
|
15
15
|
- **Bağlam Kayması (Context Drift):** Oturumlar arasında ciddi hafıza kaybı.
|
|
@@ -17,22 +17,24 @@ Standart yapay zeka kod asistanları (Claude, Cursor, Aider vb.) bağımsız "ko
|
|
|
17
17
|
- **Çoklu Ajan Kaosu:** Farklı ajanlar arasında çakışmalar ve yarış durumları.
|
|
18
18
|
- **Kurumsal Kontrol Kaybı:** Denetimsiz CRUD işlemleri ve şema değişiklikleri.
|
|
19
19
|
|
|
20
|
-
###
|
|
20
|
+
### [START] Temel Özellikler
|
|
21
21
|
- **Çok Dilli İletişim (TR/EN):** Ajan ordusuyla Türkçe veya İngilizce iletişim kurma seçeneği.
|
|
22
22
|
- **Dil Bağımsız Backend Orkestrasyonu:** Go, Java, Python, .NET veya Node.js projeleri için özelleştirilmiş ajan yetenekleri.
|
|
23
23
|
- **Sıkı Yönetişim:** Kritik işlemler için "Human-in-the-Loop" onayı ve Trace ID tabanlı izleme.
|
|
24
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.
|
|
25
27
|
- **Token Ekonomisi:** %90'a varan tasarruf sağlayan "Cerrahi Müdahale" (Surgical Edits) mantığı.
|
|
26
28
|
- **Hermes Mesaj Aracısı:** Ajan çakışmalarını engelleyen asenkron, olay tabanlı iletişim.
|
|
27
29
|
- **Güvenli Yerel AI:** %100 veri gizliliği için **Yerel LLM** (Ollama, vLLM) desteği.
|
|
28
30
|
|
|
29
31
|
---
|
|
30
32
|
|
|
31
|
-
##
|
|
33
|
+
## [EN] ENGLISH — Overview
|
|
32
34
|
|
|
33
35
|
**Agent Atabey** is an advanced "Supreme AI Governance & Autonomous Orchestration Framework" designed for complex, scalable, and highly auditable enterprise software projects. It transforms chaotic AI coding into a disciplined, governed, and traceable "Autonomous Army" operation.
|
|
34
36
|
|
|
35
|
-
###
|
|
37
|
+
### [GOAL] The Problem We Solve
|
|
36
38
|
Standard AI coding assistants act as independent "code writers". Without strict governance, this leads to:
|
|
37
39
|
- **Rogue AI:** Uncontrolled rewrites of entire files.
|
|
38
40
|
- **Context Drift:** Severe memory loss between development sessions.
|
|
@@ -40,7 +42,7 @@ Standard AI coding assistants act as independent "code writers". Without strict
|
|
|
40
42
|
- **Multi-Agent Chaos:** Conflicts and race conditions between different agents.
|
|
41
43
|
- **Loss of Corporate Control:** Unsupervised CRUD operations and schema changes.
|
|
42
44
|
|
|
43
|
-
###
|
|
45
|
+
### [START] Core Features
|
|
44
46
|
- **Multi-Language Communication (TR/EN):** Option to interact with your agent army in Turkish or English.
|
|
45
47
|
- **Language-Agnostic Backend Orchestration:** Specialized agent capabilities for Go, Java, Python, .NET, or Node.js projects.
|
|
46
48
|
- **Strict Governance:** "Human-in-the-Loop" for critical operations and Trace ID tracking.
|
|
@@ -51,7 +53,7 @@ Standard AI coding assistants act as independent "code writers". Without strict
|
|
|
51
53
|
|
|
52
54
|
---
|
|
53
55
|
|
|
54
|
-
##
|
|
56
|
+
## [ARMY] The 13-Agent Specialized Army / 13 Uzman Ajanlık Ordu
|
|
55
57
|
|
|
56
58
|
| Agent | Tier | Role & Responsibility / Rol ve Sorumluluk |
|
|
57
59
|
| :--- | :--- | :--- |
|
|
@@ -71,26 +73,26 @@ Standard AI coding assistants act as independent "code writers". Without strict
|
|
|
71
73
|
|
|
72
74
|
---
|
|
73
75
|
|
|
74
|
-
##
|
|
76
|
+
## [SKILL] Core Agent Skills / Temel Ajan Yetenekleri
|
|
75
77
|
|
|
76
|
-
1.
|
|
77
|
-
2.
|
|
78
|
-
3.
|
|
79
|
-
4.
|
|
80
|
-
5.
|
|
81
|
-
6.
|
|
82
|
-
7.
|
|
78
|
+
1. **[DIR] File System Mastery:** Token-verimli dosya okuma ve yazma.
|
|
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ı.
|
|
83
85
|
|
|
84
86
|
---
|
|
85
87
|
|
|
86
|
-
##
|
|
88
|
+
## [CONFIG] Structural Modes / Yapısal Modlar
|
|
87
89
|
|
|
88
90
|
- **Unified Mode (`--unified`):** Tüm AI yapılandırmalarını tek bir `.atabey/` klasöründe toplar. Temiz çalışma alanları için kurumsal standarttır.
|
|
89
91
|
- **Native Mode:** Her AI asistanı için ayrı klasörler (örn: `.claude`, `.gemini`) kullanır.
|
|
90
92
|
|
|
91
93
|
---
|
|
92
94
|
|
|
93
|
-
##
|
|
95
|
+
## [COST] Open Core & Pricing Model / Fiyatlandırma Modeli
|
|
94
96
|
|
|
95
97
|
Agent Atabey **Open Core** modelini takip eder. Çekirdek çerçeve açık kaynaklıdır (MIT). Kurumsal uyumluluk ve sınırsız ölçeklendirme için **Enterprise Edition** sunulmaktadır.
|
|
96
98
|
|
|
@@ -104,21 +106,21 @@ Agent Atabey **Open Core** modelini takip eder. Çekirdek çerçeve açık kayna
|
|
|
104
106
|
|
|
105
107
|
---
|
|
106
108
|
|
|
107
|
-
##
|
|
109
|
+
## [TOOLS] Kurulum ve Başlatma / Initializing Framework
|
|
108
110
|
|
|
109
111
|
`atabey init` komutu, projenizi otonom ajan ordusu yönetimine hazır hale getirir. Kurulum esnasında anayasal kuralları (`ATABEY.md`), platform entegrasyon dosyalarını (shims), mesajlaşma kanallarını, bellek klasörlerini ve MCP (Model Context Protocol) sunucu yapılandırmasını otomatik olarak hazırlar.
|
|
110
112
|
|
|
111
|
-
###
|
|
113
|
+
### [CONFIG] Kurulum Seçenekleri ve Parametreleri (Flags)
|
|
112
114
|
* **İnteraktif Kurulum:** `npx atabey init` komutuyla iletişim dilinizi ve backend teknolojinizi seçebilirsiniz.
|
|
113
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.
|
|
114
116
|
* `--yes` veya `-y`: Etkileşimli soruları atlayarak varsayılan değerlerle (TR dili, Node.js backend, Modern Mavi tema) hızlı kurulum yapar.
|
|
115
117
|
* `--dry-run`: Dosya yazmadan sadece kurulum adımlarını simüle eder.
|
|
116
118
|
|
|
117
|
-
###
|
|
119
|
+
### [CONN] Desteklenen Adaptör Kurulum Komutları
|
|
118
120
|
|
|
119
121
|
Hangi yapay zeka asistanını veya IDE'yi kullanıyorsanız ona uygun adaptör komutunu çalıştırabilirsiniz:
|
|
120
122
|
|
|
121
|
-
####
|
|
123
|
+
#### [GEMINI] Gemini CLI Adaptörü (`gemini`)
|
|
122
124
|
Gemini modelleri için stratejik komuta merkezi yapılandırması sunar.
|
|
123
125
|
```bash
|
|
124
126
|
# Kurumsal Hızlı Kurulum
|
|
@@ -127,7 +129,7 @@ npx atabey init gemini --unified --yes
|
|
|
127
129
|
* **Çalışma Dizini:** `.gemini/`
|
|
128
130
|
* **Entegrasyon (Shim) Dosyası:** `GEMINI.md`
|
|
129
131
|
|
|
130
|
-
####
|
|
132
|
+
#### [START] Claude Code Adaptörü (`claude`)
|
|
131
133
|
Anthropic Claude CLI/Code araçları için optimize edilmiş cerrahi müdahale yapılandırmasıdır.
|
|
132
134
|
```bash
|
|
133
135
|
npx atabey init claude --unified --yes
|
|
@@ -135,7 +137,7 @@ npx atabey init claude --unified --yes
|
|
|
135
137
|
* **Çalışma Dizini:** `.claude/`
|
|
136
138
|
* **Entegrasyon (Shim) Dosyası:** `CLAUDE.md`
|
|
137
139
|
|
|
138
|
-
####
|
|
140
|
+
#### [AI] Grok Adaptörü (`grok`)
|
|
139
141
|
xAI Grok arayüzü ve CLI araçları için otonom keşif yapılandırmasıdır.
|
|
140
142
|
```bash
|
|
141
143
|
npx atabey init grok --unified --yes
|
|
@@ -143,7 +145,7 @@ npx atabey init grok --unified --yes
|
|
|
143
145
|
* **Çalışma Dizini:** `.grok/`
|
|
144
146
|
* **Entegrasyon (Shim) Dosyası:** `GROK.md`
|
|
145
147
|
|
|
146
|
-
####
|
|
148
|
+
#### [CURSOR] Cursor IDE Adaptörü (`cursor`)
|
|
147
149
|
Cursor IDE'de otomatik uygulanan kurallar (`.cursor/rules/*.mdc`) oluşturur.
|
|
148
150
|
```bash
|
|
149
151
|
npx atabey init cursor --yes
|
|
@@ -151,7 +153,7 @@ npx atabey init cursor --yes
|
|
|
151
153
|
* **Çalışma Dizini:** `.cursor/rules/`
|
|
152
154
|
* **Ajan Dosya Uzantısı:** `.mdc`
|
|
153
155
|
|
|
154
|
-
####
|
|
156
|
+
#### [TIP] GitHub Copilot / Codex Adaptörü (`codex`)
|
|
155
157
|
VS Code ve Copilot entegrasyonu için yapılandırılmıştır.
|
|
156
158
|
```bash
|
|
157
159
|
npx atabey init codex --yes
|
|
@@ -159,7 +161,7 @@ npx atabey init codex --yes
|
|
|
159
161
|
* **Çalışma Dizini:** `.agents/`
|
|
160
162
|
* **Entegrasyon (Shim) Dosyası:** `copilot-instructions.md`
|
|
161
163
|
|
|
162
|
-
####
|
|
164
|
+
#### [LOCAL] Yerel LLM / Ollama Adaptörü (`local`)
|
|
163
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.
|
|
164
166
|
```bash
|
|
165
167
|
npx atabey init local --yes
|
|
@@ -167,7 +169,7 @@ npx atabey init local --yes
|
|
|
167
169
|
* **Çalışma Dizini:** `.atabey/`
|
|
168
170
|
* **Entegrasyon (Shim) Dosyası:** `LOCAL_AI.md`
|
|
169
171
|
|
|
170
|
-
####
|
|
172
|
+
#### [ANTIGRAVITY] Antigravity CLI Adaptörü (`antigravity-cli`)
|
|
171
173
|
Atabey'in kendi otonom CLI motoru ve plugin'leri için iç disiplin yapılandırmasıdır.
|
|
172
174
|
```bash
|
|
173
175
|
npx atabey init antigravity-cli --yes
|
|
@@ -175,7 +177,7 @@ npx atabey init antigravity-cli --yes
|
|
|
175
177
|
* **Çalışma Dizini:** `.antigravity/`
|
|
176
178
|
* **Entegrasyon (Shim) Dosyası:** `AGENTS.md`
|
|
177
179
|
|
|
178
|
-
###
|
|
180
|
+
### [DIR] Kurulum Sonrası Oluşan Klasör ve Dosya Yapısı
|
|
179
181
|
|
|
180
182
|
Başarılı bir `init` kurulumundan sonra projenizin kök dizininde şu yapı oluşturulur:
|
|
181
183
|
|
|
@@ -188,17 +190,17 @@ Başarılı bir `init` kurulumundan sonra projenizin kök dizininde şu yapı ol
|
|
|
188
190
|
* **.atabey/memory/PROJECT_MEMORY.md:** Aktif geliştirme bağlamı ve bellek dosyası.
|
|
189
191
|
* **.atabey/memory-graph/shared-facts.json:** Proje teknoloji yığını ve temel gerçekleri.
|
|
190
192
|
|
|
191
|
-
##
|
|
193
|
+
## [NEW] Changelog / Güncellemeler (v0.0.4)
|
|
192
194
|
|
|
193
|
-
###
|
|
195
|
+
### [TR] Türkçe
|
|
194
196
|
* **Taşınabilir MCP Yolları:** `atabey init` esnasında üretilen `mcp.json` ayarlarında yerel `npx` cache veya mutlak kullanıcı yolları yerine, projenin kendi `node_modules/atabey/framework-mcp/dist/index.js` altındaki taşınabilir göreli yollar kullanılmaya başlandı.
|
|
195
197
|
* **Güvenlik & AST Denetim Açığı Kapatıldı:** `patch_file` aracı da artık anayasal denetim (`verifyCorporateCompliance`) kapsamına alındı. Böylece ajanların `patch_file` ile `any` veya `console.log` yasaklarını delmesi engellendi.
|
|
196
198
|
|
|
197
|
-
###
|
|
199
|
+
### [EN] English
|
|
198
200
|
* **Portable MCP Server Paths:** During `atabey init`, generated `mcp.json` configs now use portable relative paths (`node_modules/atabey/...`) instead of local absolute or temporary `npx` cache paths.
|
|
199
201
|
* **Security & AST compliance hole patched:** Added `verifyCorporateCompliance` check to the `patch_file` tool. Agents can no longer bypass zero-any and zero-console checks via line-range patching.
|
|
200
202
|
|
|
201
|
-
##
|
|
203
|
+
## [MAP] Agent Army Visualization / Ajan Ordusu Görseli
|
|
202
204
|
|
|
203
205
|

|
|
204
206
|
|
package/bin/cli.js
CHANGED
|
@@ -10,8 +10,8 @@ const __dirname = dirname(__filename);
|
|
|
10
10
|
const cliPath = join(__dirname, "../dist/src/cli/index.js");
|
|
11
11
|
|
|
12
12
|
if (!fs.existsSync(cliPath)) {
|
|
13
|
-
process.stderr.write("\n
|
|
14
|
-
process.stderr.write("
|
|
13
|
+
process.stderr.write("\n[ERROR] Error: Compiled CLI not found at 'dist/src/cli/index.js'\n");
|
|
14
|
+
process.stderr.write("[TIP] Solution Tip: Run 'npm run build' to compile the project first.\n\n");
|
|
15
15
|
process.exit(1);
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -94,7 +94,7 @@ try {
|
|
|
94
94
|
|
|
95
95
|
let totalFailed = 0;
|
|
96
96
|
|
|
97
|
-
process.stderr.write(`\n
|
|
97
|
+
process.stderr.write(`\n[SECURITY] STARTING AGENT ARMY AL 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");
|
|
@@ -112,7 +112,7 @@ try {
|
|
|
112
112
|
agent = isMd ? parseFrontmatter(content) : JSON.parse(content);
|
|
113
113
|
if (!agent && isMd) throw new Error("Missing Frontmatter");
|
|
114
114
|
} catch (e) {
|
|
115
|
-
process.stderr.write(`| ${fileName.padEnd(9)} | ${isMd ? "MD " : "JSON"} |
|
|
115
|
+
process.stderr.write(`| ${fileName.padEnd(9)} | ${isMd ? "MD " : "JSON"} | [ERROR] INVALID | ${String(e.message).slice(0, 14)} |\n`);
|
|
116
116
|
totalFailed++;
|
|
117
117
|
continue;
|
|
118
118
|
}
|
|
@@ -124,22 +124,22 @@ try {
|
|
|
124
124
|
if (!agent.tags) missing.push("tags");
|
|
125
125
|
|
|
126
126
|
if (missing.length > 0) {
|
|
127
|
-
process.stderr.write(`| ${fileName.padEnd(9)} | ${isMd ? "MD " : "JSON"} |
|
|
127
|
+
process.stderr.write(`| ${fileName.padEnd(9)} | ${isMd ? "MD " : "JSON"} | [ERROR] FAILED | ${missing.join(",").slice(0, 14)} |\n`);
|
|
128
128
|
totalFailed++;
|
|
129
129
|
} else {
|
|
130
130
|
const cat = Array.isArray(agent.tags) ? agent.tags[0] : "core";
|
|
131
|
-
process.stderr.write(`| ${agent.name.padEnd(9)} | ${isMd ? "MD " : "JSON"} |
|
|
131
|
+
process.stderr.write(`| ${agent.name.padEnd(9)} | ${isMd ? "MD " : "JSON"} | [OK] PASSED | ${cat.padEnd(14)} |\n`);
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
process.stderr.write("--------------------------------------------------\n");
|
|
136
136
|
if (totalFailed > 0) {
|
|
137
|
-
process.stderr.write(
|
|
137
|
+
process.stderr.write(`[ERROR] Validation failed! Detected ${totalFailed} invalid agent configurations.\n`);
|
|
138
138
|
process.exit(1);
|
|
139
139
|
} else {
|
|
140
140
|
process.stderr.write("🎉 SUCCESS: All core agents are AL-Compliant!\n");
|
|
141
141
|
}
|
|
142
142
|
} catch (e) {
|
|
143
|
-
process.stderr.write(
|
|
143
|
+
process.stderr.write(`[ERROR] Critical error during validation: ${e}\n`);
|
|
144
144
|
process.exit(1);
|
|
145
145
|
}
|
|
@@ -46,7 +46,7 @@ export const NATIVE_AGENT_PATHS = {
|
|
|
46
46
|
cursor: ".cursor/rules",
|
|
47
47
|
codex: ".agents/instructions",
|
|
48
48
|
grok: ".grok",
|
|
49
|
-
"antigravity-cli": ".
|
|
49
|
+
"antigravity-cli": ".agents/agents",
|
|
50
50
|
};
|
|
51
51
|
// ─── Backward-compatible aliases ──────────────────────────────────────────
|
|
52
52
|
export const CORE_FRAMEWORK_DIR = FRAMEWORK.CORE_DIR;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../framework-mcp/src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;GAGG;AAEH,6EAA6E;AAE7E,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;IACnB,oFAAoF;IACpF,eAAe,EAAE,SAAS;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,MAAM;IAChB,sCAAsC;IACtC,UAAU,EAAE,QAAQ;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,GAAG,EAAE,UAAU;IACf,cAAc,EAAE,qBAAqB;IACrC,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,kBAAkB;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG;IACf,4DAA4D;IAC5D,gBAAgB,EAAE,qBAAqB;IACvC,qCAAqC;IACrC,YAAY,EAAE,iBAAiB;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,KAAK,EAAE,YAAY;IACnB,YAAY,EAAE,mBAAmB;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,sBAAsB;IAC7B,IAAI,EAAE,OAAO;IACb,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../framework-mcp/src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;GAGG;AAEH,6EAA6E;AAE7E,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;IACnB,oFAAoF;IACpF,eAAe,EAAE,SAAS;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,MAAM;IAChB,sCAAsC;IACtC,UAAU,EAAE,QAAQ;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,GAAG,EAAE,UAAU;IACf,cAAc,EAAE,qBAAqB;IACrC,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,kBAAkB;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG;IACf,4DAA4D;IAC5D,gBAAgB,EAAE,qBAAqB;IACvC,qCAAqC;IACrC,YAAY,EAAE,iBAAiB;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,KAAK,EAAE,YAAY;IACnB,YAAY,EAAE,mBAAmB;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,sBAAsB;IAC7B,IAAI,EAAE,OAAO;IACb,iBAAiB,EAAE,gBAAgB;CACtC,CAAC;AAEF,6EAA6E;AAE7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAEnF,6EAA6E;AAE7E,SAAS,QAAQ,CAAC,GAAG,IAAc;IAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,QAAgB;IAC9C,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC1C,OAAO,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
1
2
|
import fs from "fs";
|
|
2
3
|
import path from "path";
|
|
3
4
|
import { fileURLToPath } from "url";
|
|
4
5
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
5
6
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
6
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
7
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
7
8
|
import { TOOLS, toolHandlers } from "./tools/index.js";
|
|
9
|
+
import { RESOURCES, handleReadResource } from "./resources/index.js";
|
|
8
10
|
// ─── Server Setup ─────────────────────────────────────────────────
|
|
9
11
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
10
12
|
// Robustly find package.json by walking up from __dirname
|
|
@@ -27,6 +29,7 @@ const server = new Server({
|
|
|
27
29
|
}, {
|
|
28
30
|
capabilities: {
|
|
29
31
|
tools: {},
|
|
32
|
+
resources: {},
|
|
30
33
|
},
|
|
31
34
|
});
|
|
32
35
|
// Basic Schema Validator for Required Fields
|
|
@@ -50,6 +53,28 @@ server.setRequestHandler(ListToolsRequestSchema, async (request) => {
|
|
|
50
53
|
}
|
|
51
54
|
return { tools: TOOLS };
|
|
52
55
|
});
|
|
56
|
+
server.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
57
|
+
return { resources: RESOURCES };
|
|
58
|
+
});
|
|
59
|
+
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
60
|
+
const uri = request.params.uri;
|
|
61
|
+
try {
|
|
62
|
+
const content = await handleReadResource(uri);
|
|
63
|
+
return {
|
|
64
|
+
contents: [
|
|
65
|
+
{
|
|
66
|
+
uri,
|
|
67
|
+
mimeType: "text/markdown",
|
|
68
|
+
text: content,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
75
|
+
throw new Error(`Failed to read resource: ${message}`, { cause: error });
|
|
76
|
+
}
|
|
77
|
+
});
|
|
53
78
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
54
79
|
const req = request;
|
|
55
80
|
const { name, arguments: args } = req.params;
|
|
@@ -64,15 +89,15 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
64
89
|
if (!handler) {
|
|
65
90
|
return {
|
|
66
91
|
isError: true,
|
|
67
|
-
content: [{ type: "text", text:
|
|
92
|
+
content: [{ type: "text", text: `[ERROR] Unknown tool: ${name}` }],
|
|
68
93
|
};
|
|
69
94
|
}
|
|
70
|
-
//
|
|
95
|
+
// [SECURITY] Runtime Validation
|
|
71
96
|
const validationError = validateArgs(name, args || {});
|
|
72
97
|
if (validationError) {
|
|
73
98
|
return {
|
|
74
99
|
isError: true,
|
|
75
|
-
content: [{ type: "text", text:
|
|
100
|
+
content: [{ type: "text", text: `[ERROR] Validation Error: ${validationError}` }],
|
|
76
101
|
};
|
|
77
102
|
}
|
|
78
103
|
return await handler(projectRoot, args || {});
|
|
@@ -81,7 +106,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
81
106
|
const message = error instanceof Error ? error.message : "Unknown error occurred";
|
|
82
107
|
return {
|
|
83
108
|
isError: true,
|
|
84
|
-
content: [{ type: "text", text:
|
|
109
|
+
content: [{ type: "text", text: `[ERROR] Execution failed: ${message}` }],
|
|
85
110
|
};
|
|
86
111
|
}
|
|
87
112
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../framework-mcp/src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../framework-mcp/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Storage } from "../../../src/shared/storage.js";
|
|
2
|
+
/**
|
|
3
|
+
* [DATA] MCP Resource Definitions
|
|
4
|
+
*/
|
|
5
|
+
export const RESOURCES = [
|
|
6
|
+
{
|
|
7
|
+
uri: "atabey://army/status",
|
|
8
|
+
name: "Agent Army Status",
|
|
9
|
+
description: "Real-time state and active tasks of all specialized agents.",
|
|
10
|
+
mimeType: "text/markdown"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
uri: "atabey://plan/active",
|
|
14
|
+
name: "Active Execution Plan",
|
|
15
|
+
description: "The current DAG of tasks and their completion status.",
|
|
16
|
+
mimeType: "text/markdown"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
uri: "atabey://memory/project",
|
|
20
|
+
name: "Project Memory",
|
|
21
|
+
description: "The central source of truth for project context (PROJECT_MEMORY.md).",
|
|
22
|
+
mimeType: "text/markdown"
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
export async function handleReadResource(uri) {
|
|
26
|
+
if (uri === "atabey://army/status") {
|
|
27
|
+
const agents = Storage.getAllAgents();
|
|
28
|
+
let md = "# [AI] Agent Army Status\n\n| Agent | State | Active Task | Last Updated |\n| :--- | :--- | :--- | :--- |\n";
|
|
29
|
+
agents.forEach((a) => {
|
|
30
|
+
md += `| @${a.name} | ${a.state} | ${a.task} | ${a.last_updated} |\n`;
|
|
31
|
+
});
|
|
32
|
+
return md;
|
|
33
|
+
}
|
|
34
|
+
if (uri === "atabey://plan/active") {
|
|
35
|
+
const tasks = Storage.getTasks();
|
|
36
|
+
let md = "# 📋 Active Execution Plan\n\n| ID | Task | Agent | Status | Dependencies |\n| :--- | :--- | :--- | :--- | :--- |\n";
|
|
37
|
+
tasks.forEach((t) => {
|
|
38
|
+
const deps = t.dependencies.join(", ") || "-";
|
|
39
|
+
md += `| ${t.id} | ${t.description} | ${t.agent} | ${t.status} | ${deps} |\n`;
|
|
40
|
+
});
|
|
41
|
+
return md;
|
|
42
|
+
}
|
|
43
|
+
if (uri === "atabey://memory/project") {
|
|
44
|
+
const fs = await import("fs");
|
|
45
|
+
const path = await import("path");
|
|
46
|
+
const { getFrameworkDir } = await import("../../../src/cli/utils/memory.js");
|
|
47
|
+
const projectRoot = process.env.ATABEY_PROJECT_ROOT || process.cwd();
|
|
48
|
+
const fwDir = getFrameworkDir();
|
|
49
|
+
const p = path.isAbsolute(fwDir)
|
|
50
|
+
? path.join(fwDir, "memory", "PROJECT_MEMORY.md")
|
|
51
|
+
: path.join(projectRoot, fwDir, "memory", "PROJECT_MEMORY.md");
|
|
52
|
+
if (fs.existsSync(p)) {
|
|
53
|
+
return fs.readFileSync(p, "utf8");
|
|
54
|
+
}
|
|
55
|
+
return "Project memory not found. Run 'atabey init' first.";
|
|
56
|
+
}
|
|
57
|
+
throw new Error(`Unknown resource URI: ${uri}`);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../framework-mcp/src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAqB,MAAM,gCAAgC,CAAC;AAE5E;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB;QACI,GAAG,EAAE,sBAAsB;QAC3B,IAAI,EAAE,mBAAmB;QACzB,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,sBAAsB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,EAAE,GAAG,6GAA6G,CAAC;QACvH,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,qHAAqH,CAAC;QAC/H,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,kCAAkC,CAAC,CAAC;QAE7E,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"}
|
|
@@ -38,7 +38,7 @@ export async function handleAcquireLock(projectRoot, args) {
|
|
|
38
38
|
const lockData = JSON.stringify({ agent, timestamp: new Date().toISOString() });
|
|
39
39
|
fs.writeFileSync(lockPath, lockData, { flag: "wx" });
|
|
40
40
|
return {
|
|
41
|
-
content: [{ type: "text", text:
|
|
41
|
+
content: [{ type: "text", text: `[OK] Lock acquired for resource '${resource}' by ${agent}.` }]
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
catch (e) {
|
|
@@ -70,11 +70,11 @@ export async function handleReleaseLock(projectRoot, args) {
|
|
|
70
70
|
if (lockData.agent !== agent) {
|
|
71
71
|
return {
|
|
72
72
|
isError: true,
|
|
73
|
-
content: [{ type: "text", text:
|
|
73
|
+
content: [{ type: "text", text: `[ERROR] Denied: You do not own the lock for '${resource}'. Owned by ${lockData.agent}.` }]
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
fs.unlinkSync(lockPath);
|
|
77
|
-
return { content: [{ type: "text", text:
|
|
77
|
+
return { content: [{ type: "text", text: `[OK] Lock released for resource '${resource}' by ${agent}.` }] };
|
|
78
78
|
}
|
|
79
79
|
catch (e) {
|
|
80
80
|
return { isError: true, content: [{ type: "text", text: `Failed to release lock: ${String(e)}` }] };
|
|
@@ -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;AAE9D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAAmB,EAAE,IAAqB;IAC9E,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IAC3C,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,6BAA6B;QAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YAExC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;gBACZ,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,QAAQ,yCAAyC,EAAE,CAAC;iBACpG,CAAC;YACN,CAAC;YACD,4EAA4E;YAC5E,MAAM,YAAY,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YAClF,IAAI,CAAC;gBACD,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACtC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACL,yEAAyE;gBACzE,kGAAkG;YACtG,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAErD,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"locking.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/control_plane/locking.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { resolveFrameworkDir } from "../../utils/security.js";
|
|
|
6
6
|
* This can be used to validate permissions and active status.
|
|
7
7
|
*/
|
|
8
8
|
export async function handleRegisterAgent(projectRoot, args) {
|
|
9
|
-
const { agent, role, capability = 5 } = args;
|
|
9
|
+
const { agent, role, capability = 5, specialties } = args;
|
|
10
10
|
const frameworkDir = resolveFrameworkDir(projectRoot);
|
|
11
11
|
const registryDir = path.join(projectRoot, frameworkDir, "registry");
|
|
12
12
|
const agentFile = path.join(registryDir, `${agent.replace("@", "")}_active.json`);
|
|
@@ -17,12 +17,13 @@ export async function handleRegisterAgent(projectRoot, args) {
|
|
|
17
17
|
agent,
|
|
18
18
|
role,
|
|
19
19
|
capability,
|
|
20
|
+
specialties,
|
|
20
21
|
last_seen: new Date().toISOString(),
|
|
21
22
|
status: "ACTIVE"
|
|
22
23
|
};
|
|
23
24
|
fs.writeFileSync(agentFile, JSON.stringify(agentData, null, 2));
|
|
24
25
|
return {
|
|
25
|
-
content: [{ type: "text", text:
|
|
26
|
+
content: [{ type: "text", text: `[ATABEY] Agent ${agent} (${role}) registered successfully in the Atabey Control Plane.` }]
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
29
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/control_plane/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB,EAAE,IAAuB;IAClF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/control_plane/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB,EAAE,IAAuB;IAClF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC1D,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAElF,IAAI,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhF,MAAM,SAAS,GAAG;YACd,KAAK;YACL,IAAI;YACJ,UAAU;YACV,WAAW;YACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,QAAQ;SACnB,CAAC;QAEF,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhE,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,KAAK,IAAI,wDAAwD,EAAE,CAAC;SAC9H,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,6BAA6B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC9E,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -232,7 +232,12 @@ export const TOOLS = [
|
|
|
232
232
|
properties: {
|
|
233
233
|
agent: { type: "string", description: "The agent name (e.g., '@backend')." },
|
|
234
234
|
role: { type: "string", description: "The role of the agent." },
|
|
235
|
-
capability: { type: "number", description: "The capability score (1-10)." }
|
|
235
|
+
capability: { type: "number", description: "The capability score (1-10)." },
|
|
236
|
+
specialties: {
|
|
237
|
+
type: "object",
|
|
238
|
+
additionalProperties: { type: "number" },
|
|
239
|
+
description: "Sub-specialty weights mapping (e.g. {\"postgres\": 10, \"redis\": 8})"
|
|
240
|
+
}
|
|
236
241
|
},
|
|
237
242
|
required: ["agent", "role"]
|
|
238
243
|
}
|
|
@@ -274,6 +279,33 @@ export const TOOLS = [
|
|
|
274
279
|
description: "Run the project's linter (e.g., ESLint) to check for code quality and style issues.",
|
|
275
280
|
inputSchema: { type: "object", properties: {} },
|
|
276
281
|
},
|
|
282
|
+
{
|
|
283
|
+
name: "submit_plan",
|
|
284
|
+
description: "Submit a structured DAG plan of tasks for the project. This will be decomposed and queued for execution.",
|
|
285
|
+
inputSchema: {
|
|
286
|
+
type: "object",
|
|
287
|
+
properties: {
|
|
288
|
+
tasks: {
|
|
289
|
+
type: "array",
|
|
290
|
+
items: {
|
|
291
|
+
type: "object",
|
|
292
|
+
properties: {
|
|
293
|
+
id: { type: "string", description: "Unique task ID (e.g. TASK_01)" },
|
|
294
|
+
agent: { type: "string", description: "The agent responsible for the task (e.g. @backend)" },
|
|
295
|
+
task: { type: "string", description: "The task description" },
|
|
296
|
+
dependencies: {
|
|
297
|
+
type: "array",
|
|
298
|
+
items: { type: "string" },
|
|
299
|
+
description: "List of task IDs that must be completed before this task."
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
required: ["id", "agent", "task"]
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
required: ["tasks"],
|
|
307
|
+
},
|
|
308
|
+
},
|
|
277
309
|
{
|
|
278
310
|
name: "view_file",
|
|
279
311
|
description: "Alias for read_file. Reads the content of a file within the project.",
|