atabey 0.0.13 → 0.0.14
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 +1 -1
- package/README.md +252 -52
- package/dist/framework-mcp/src/index.js +914 -62
- package/dist/framework-mcp/src/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/compliance/mask_pii.d.ts +17 -0
- package/dist/framework-mcp/src/tools/compliance/mask_pii.js +56 -0
- package/dist/framework-mcp/src/tools/compliance/mask_pii.js.map +1 -0
- package/dist/framework-mcp/src/tools/definitions.js +10 -9
- package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/run_tests.js +25 -0
- package/dist/framework-mcp/src/tools/framework/run_tests.js.map +1 -1
- package/dist/framework-mcp/src/tools/index.js +7 -8
- package/dist/framework-mcp/src/tools/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/messaging/approve_operation.d.ts +22 -0
- package/dist/framework-mcp/src/tools/messaging/approve_operation.js +81 -0
- package/dist/framework-mcp/src/tools/messaging/approve_operation.js.map +1 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.d.ts +15 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.js +89 -20
- package/dist/framework-mcp/src/tools/messaging/ask_human.js.map +1 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.js +3 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +13 -64
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js.map +1 -1
- package/dist/framework-mcp/src/tools/schemas.d.ts +48 -53
- package/dist/framework-mcp/src/tools/schemas.js +18 -22
- package/dist/framework-mcp/src/tools/schemas.js.map +1 -1
- package/dist/framework-mcp/src/tools/shell/run_command.js +10 -0
- package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -1
- package/dist/framework-mcp/src/tools/types.d.ts +11 -105
- package/dist/framework-mcp/src/tools/types.js +1 -0
- package/dist/framework-mcp/src/tools/types.js.map +1 -1
- package/dist/framework-mcp/src/utils/auth.d.ts +36 -0
- package/dist/framework-mcp/src/utils/auth.js +79 -0
- package/dist/framework-mcp/src/utils/auth.js.map +1 -0
- package/dist/framework-mcp/src/utils/auto-rollback.d.ts +71 -0
- package/dist/framework-mcp/src/utils/auto-rollback.js +266 -0
- package/dist/framework-mcp/src/utils/auto-rollback.js.map +1 -0
- package/dist/framework-mcp/src/utils/compliance.js +12 -4
- package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
- package/dist/framework-mcp/src/utils/context-optimizer.d.ts +69 -0
- package/dist/framework-mcp/src/utils/context-optimizer.js +157 -0
- package/dist/framework-mcp/src/utils/context-optimizer.js.map +1 -0
- package/dist/framework-mcp/src/utils/discipline.d.ts +68 -0
- package/dist/framework-mcp/src/utils/discipline.js +218 -0
- package/dist/framework-mcp/src/utils/discipline.js.map +1 -0
- package/dist/framework-mcp/src/utils/finops.d.ts +143 -0
- package/dist/framework-mcp/src/utils/finops.js +326 -0
- package/dist/framework-mcp/src/utils/finops.js.map +1 -0
- package/dist/framework-mcp/src/utils/human-in-loop.d.ts +95 -0
- package/dist/framework-mcp/src/utils/human-in-loop.js +216 -0
- package/dist/framework-mcp/src/utils/human-in-loop.js.map +1 -0
- package/dist/framework-mcp/src/utils/license-scanner.d.ts +71 -0
- package/dist/framework-mcp/src/utils/license-scanner.js +284 -0
- package/dist/framework-mcp/src/utils/license-scanner.js.map +1 -0
- package/dist/framework-mcp/src/utils/loop-detector.d.ts +105 -0
- package/dist/framework-mcp/src/utils/loop-detector.js +362 -0
- package/dist/framework-mcp/src/utils/loop-detector.js.map +1 -0
- package/dist/framework-mcp/src/utils/quality.d.ts +19 -0
- package/dist/framework-mcp/src/utils/quality.js +124 -0
- package/dist/framework-mcp/src/utils/quality.js.map +1 -0
- package/dist/framework-mcp/src/utils/rules-engine.d.ts +78 -0
- package/dist/framework-mcp/src/utils/rules-engine.js +232 -0
- package/dist/framework-mcp/src/utils/rules-engine.js.map +1 -0
- package/dist/framework-mcp/src/utils/silent-router.d.ts +47 -0
- package/dist/framework-mcp/src/utils/silent-router.js +129 -0
- package/dist/framework-mcp/src/utils/silent-router.js.map +1 -0
- package/dist/framework-mcp/src/utils/storage.d.ts +1 -0
- package/dist/framework-mcp/src/utils/storage.js +2 -2
- package/dist/framework-mcp/src/utils/storage.js.map +1 -1
- package/dist/framework-mcp/src/utils/telemetry-streamer.d.ts +133 -0
- package/dist/framework-mcp/src/utils/telemetry-streamer.js +397 -0
- package/dist/framework-mcp/src/utils/telemetry-streamer.js.map +1 -0
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +2 -2
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/framework/run_tests.test.d.ts +1 -0
- package/dist/framework-mcp/tests/tools/framework/run_tests.test.js +49 -0
- package/dist/framework-mcp/tests/tools/framework/run_tests.test.js.map +1 -0
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +14 -5
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/observability/check_ports.test.d.ts +1 -0
- package/dist/framework-mcp/tests/tools/observability/check_ports.test.js +30 -0
- package/dist/framework-mcp/tests/tools/observability/check_ports.test.js.map +1 -0
- package/dist/framework-mcp/tests/tools/shell/run_command.test.js +7 -0
- package/dist/framework-mcp/tests/tools/shell/run_command.test.js.map +1 -1
- package/dist/framework-mcp/tests/utils/auto-rollback.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/auto-rollback.test.js +178 -0
- package/dist/framework-mcp/tests/utils/auto-rollback.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/context-optimizer.test.d.ts +1 -0
- package/dist/framework-mcp/tests/utils/context-optimizer.test.js +62 -0
- package/dist/framework-mcp/tests/utils/context-optimizer.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/finops.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/finops.test.js +157 -0
- package/dist/framework-mcp/tests/utils/finops.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/human-in-loop.test.d.ts +1 -0
- package/dist/framework-mcp/tests/utils/human-in-loop.test.js +59 -0
- package/dist/framework-mcp/tests/utils/human-in-loop.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/license-scanner.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/license-scanner.test.js +131 -0
- package/dist/framework-mcp/tests/utils/license-scanner.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/loop-detector.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/loop-detector.test.js +204 -0
- package/dist/framework-mcp/tests/utils/loop-detector.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/rules-engine.test.d.ts +1 -0
- package/dist/framework-mcp/tests/utils/rules-engine.test.js +106 -0
- package/dist/framework-mcp/tests/utils/rules-engine.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/telemetry-streamer.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js +201 -0
- package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js.map +1 -0
- package/dist/src/cli/commands/check.js +16 -1
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/dashboard.js +188 -164
- package/dist/src/cli/commands/dashboard.js.map +1 -1
- package/dist/src/cli/commands/gateway.js +2 -2
- package/dist/src/cli/commands/gateway.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-core.d.ts +2 -0
- package/dist/src/cli/commands/init/scaffold-core.js +16 -1
- package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-ops.js +2 -2
- package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-standards.js +13 -1
- package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts +4 -0
- package/dist/src/cli/commands/init.js +80 -24
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/quickstart.d.ts +1 -1
- package/dist/src/cli/commands/quickstart.js +12 -24
- package/dist/src/cli/commands/quickstart.js.map +1 -1
- package/dist/src/cli/index.js +24 -23
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/shims.js +7 -7
- package/dist/src/cli/utils/pkg.js +2 -3
- package/dist/src/cli/utils/pkg.js.map +1 -1
- package/dist/src/cli/utils/quality.d.ts +10 -0
- package/dist/src/cli/utils/quality.js +10 -0
- package/dist/src/cli/utils/quality.js.map +1 -0
- package/dist/src/modules/agents/definitions.js +45 -40
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/src/modules/agents/registry/manager.js +6 -1
- package/dist/src/modules/agents/registry/manager.js.map +1 -1
- package/dist/src/modules/engines/agent-executor.d.ts +6 -10
- package/dist/src/modules/engines/agent-executor.js +53 -21
- package/dist/src/modules/engines/agent-executor.js.map +1 -1
- package/dist/src/modules/engines/agent-loop.d.ts +34 -0
- package/dist/src/modules/engines/agent-loop.js +102 -0
- package/dist/src/modules/engines/agent-loop.js.map +1 -0
- package/dist/src/modules/engines/evaluation-engine.js +2 -2
- package/dist/src/modules/engines/evaluation-engine.js.map +1 -1
- package/dist/src/modules/engines/quality-gate.d.ts +13 -5
- package/dist/src/modules/engines/quality-gate.js +39 -31
- package/dist/src/modules/engines/quality-gate.js.map +1 -1
- package/dist/src/modules/engines/routing-engine.d.ts +5 -3
- package/dist/src/modules/engines/routing-engine.js +16 -9
- package/dist/src/modules/engines/routing-engine.js.map +1 -1
- package/dist/src/modules/gateway/cost-tracker.d.ts +5 -0
- package/dist/src/modules/gateway/cost-tracker.js +71 -0
- package/dist/src/modules/gateway/cost-tracker.js.map +1 -1
- package/dist/src/modules/gateway/gateway.d.ts +4 -0
- package/dist/src/modules/gateway/gateway.js +8 -0
- package/dist/src/modules/gateway/gateway.js.map +1 -1
- package/dist/src/shared/audit.js +3 -2
- package/dist/src/shared/audit.js.map +1 -1
- package/dist/src/shared/pii.d.ts +41 -9
- package/dist/src/shared/pii.js +122 -31
- package/dist/src/shared/pii.js.map +1 -1
- package/dist/src/shared/storage.d.ts +19 -0
- package/dist/src/shared/storage.js +46 -6
- package/dist/src/shared/storage.js.map +1 -1
- package/dist/tests/embedding.test.d.ts +1 -0
- package/dist/tests/embedding.test.js +82 -0
- package/dist/tests/embedding.test.js.map +1 -0
- package/dist/tests/engines/evaluation-engine.test.d.ts +1 -0
- package/dist/tests/engines/evaluation-engine.test.js +71 -0
- package/dist/tests/engines/evaluation-engine.test.js.map +1 -0
- package/dist/tests/engines/planning-engine.test.d.ts +1 -0
- package/dist/tests/engines/planning-engine.test.js +100 -0
- package/dist/tests/engines/planning-engine.test.js.map +1 -0
- package/dist/tests/engines/quality-gate.test.d.ts +1 -0
- package/dist/tests/engines/quality-gate.test.js +59 -0
- package/dist/tests/engines/quality-gate.test.js.map +1 -0
- package/dist/tests/engines/risk-engine.test.d.ts +1 -0
- package/dist/tests/engines/risk-engine.test.js +80 -0
- package/dist/tests/engines/risk-engine.test.js.map +1 -0
- package/dist/tests/engines/routing-engine.test.d.ts +1 -0
- package/dist/tests/engines/routing-engine.test.js +78 -0
- package/dist/tests/engines/routing-engine.test.js.map +1 -0
- package/dist/tests/integration/hermes_locking.test.js +1 -0
- package/dist/tests/integration/hermes_locking.test.js.map +1 -1
- package/dist/tests/modules/gateway/cost-tracker.test.js +20 -1
- package/dist/tests/modules/gateway/cost-tracker.test.js.map +1 -1
- package/dist/tests/shared/lock.test.d.ts +1 -0
- package/dist/tests/shared/lock.test.js +95 -0
- package/dist/tests/shared/lock.test.js.map +1 -0
- package/dist/tests/shared/pii.test.d.ts +1 -0
- package/dist/tests/shared/pii.test.js +183 -0
- package/dist/tests/shared/pii.test.js.map +1 -0
- package/framework-mcp/README.md +307 -35
- package/framework-mcp/dist/dashboard/assets/index-B2mYld0c.js +1221 -0
- package/framework-mcp/dist/dashboard/index.html +1 -1
- package/framework-mcp/dist/framework-mcp/src/index.js +914 -62
- package/framework-mcp/dist/framework-mcp/src/tools/compliance/mask_pii.js +55 -0
- package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +10 -9
- package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +25 -0
- package/framework-mcp/dist/framework-mcp/src/tools/index.js +7 -8
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/approve_operation.js +80 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/ask_human.js +89 -20
- package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +3 -1
- package/framework-mcp/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +13 -64
- package/framework-mcp/dist/framework-mcp/src/tools/schemas.js +18 -22
- package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +10 -0
- package/framework-mcp/dist/framework-mcp/src/tools/types.js +1 -0
- package/framework-mcp/dist/framework-mcp/src/utils/auth.js +78 -0
- package/framework-mcp/dist/framework-mcp/src/utils/auto-rollback.js +265 -0
- package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +12 -4
- package/framework-mcp/dist/framework-mcp/src/utils/context-optimizer.js +156 -0
- package/framework-mcp/dist/framework-mcp/src/utils/discipline.js +217 -0
- package/framework-mcp/dist/framework-mcp/src/utils/finops.js +325 -0
- package/framework-mcp/dist/framework-mcp/src/utils/human-in-loop.js +215 -0
- package/framework-mcp/dist/framework-mcp/src/utils/license-scanner.js +283 -0
- package/framework-mcp/dist/framework-mcp/src/utils/loop-detector.js +361 -0
- package/framework-mcp/dist/framework-mcp/src/utils/quality.js +123 -0
- package/framework-mcp/dist/framework-mcp/src/utils/rules-engine.js +231 -0
- package/framework-mcp/dist/framework-mcp/src/utils/silent-router.js +128 -0
- package/framework-mcp/dist/framework-mcp/src/utils/storage.js +2 -2
- package/framework-mcp/dist/framework-mcp/src/utils/telemetry-streamer.js +396 -0
- package/framework-mcp/dist/src/cli/platforms/core.js +72 -0
- package/framework-mcp/dist/src/cli/platforms/index.js +5 -0
- package/framework-mcp/dist/src/cli/platforms/paths.js +101 -0
- package/framework-mcp/dist/src/cli/platforms/scaffold.js +72 -0
- package/framework-mcp/dist/src/cli/platforms/utils.js +75 -0
- package/framework-mcp/dist/src/cli/utils/claude.js +57 -0
- package/framework-mcp/dist/src/cli/utils/compliance.js +12 -0
- package/framework-mcp/dist/src/cli/utils/fs.js +138 -0
- package/framework-mcp/dist/src/cli/utils/pkg.js +282 -0
- package/framework-mcp/dist/src/cli/utils/quality.js +9 -0
- package/framework-mcp/dist/src/modules/agents/definitions.js +563 -0
- package/framework-mcp/dist/src/modules/agents/registry/analyst.js +39 -0
- package/framework-mcp/dist/src/modules/agents/registry/architect.js +42 -0
- package/framework-mcp/dist/src/modules/agents/registry/backend.js +50 -0
- package/framework-mcp/dist/src/modules/agents/registry/database.js +45 -0
- package/framework-mcp/dist/src/modules/agents/registry/devops.js +45 -0
- package/framework-mcp/dist/src/modules/agents/registry/explorer.js +37 -0
- package/framework-mcp/dist/src/modules/agents/registry/frontend.js +52 -0
- package/framework-mcp/dist/src/modules/agents/registry/git.js +36 -0
- package/framework-mcp/dist/src/modules/agents/registry/manager.js +64 -0
- package/framework-mcp/dist/src/modules/agents/registry/mobile.js +41 -0
- package/framework-mcp/dist/src/modules/agents/registry/native.js +41 -0
- package/framework-mcp/dist/src/modules/agents/registry/quality.js +43 -0
- package/framework-mcp/dist/src/modules/agents/registry/security.js +42 -0
- package/framework-mcp/dist/src/modules/agents/types.js +1 -0
- package/framework-mcp/dist/src/modules/engines/quality-gate.js +92 -0
- package/framework-mcp/dist/src/modules/engines/risk-engine.js +105 -0
- package/framework-mcp/dist/src/modules/engines/routing-engine.js +408 -0
- package/framework-mcp/dist/src/modules/engines/types.js +1 -0
- package/framework-mcp/dist/src/modules/providers/definitions.js +140 -0
- package/framework-mcp/dist/src/modules/providers/registry.js +18 -0
- package/framework-mcp/dist/src/modules/providers/shared.js +104 -0
- package/framework-mcp/dist/src/modules/providers/types.js +1 -0
- package/framework-mcp/dist/src/modules/skills/adapter-skills.js +449 -0
- package/framework-mcp/dist/src/modules/skills/definitions.js +70 -0
- package/framework-mcp/dist/src/shared/audit.js +220 -0
- package/framework-mcp/dist/src/shared/errors.js +68 -0
- package/framework-mcp/dist/src/shared/lock.js +159 -0
- package/framework-mcp/dist/src/shared/pii.js +122 -31
- package/framework-mcp/dist/src/shared/retention.js +170 -0
- package/framework-mcp/dist/src/shared/storage.js +46 -6
- package/framework-mcp/dist/src/shared/string.js +29 -0
- package/framework-mcp/package.json +8 -2
- package/mcp.json +11 -6
- package/package.json +13 -6
- package/templates/full/ATABEY_FULL.md +1 -1
- package/framework-mcp/dist/dashboard/assets/index-BAPGLiWE.js +0 -267
package/ATABEY.md
CHANGED
package/README.md
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# [GOV] Agent Atabey — MCP-Powered AI Governance & Autonomous Orchestration
|
|
2
2
|
|
|
3
|
-
[](https://github.com/ysf-bkr/atabey)
|
|
4
4
|
[](https://www.npmjs.com/package/atabey)
|
|
5
5
|
[](https://www.npmjs.com/package/atabey-mcp)
|
|
6
6
|
[](https://modelcontextprotocol.io)
|
|
7
7
|
[](https://github.com/ysf-bkr/atabey)
|
|
8
8
|
[](https://opensource.org/licenses/MIT)
|
|
9
|
-
[](https://github.com/ysf-bkr/atabey)
|
|
10
|
+
[](https://github.com/ysf-bkr/atabey)
|
|
11
|
+
[](https://github.com/ysf-bkr/atabey)
|
|
10
12
|
|
|
11
13
|
**Agent Atabey** is a **MCP (Model Context Protocol) server** that plugs directly into your AI coding interface — Claude Code, Gemini CLI, or Cursor — adding 13 specialized AI agents with enterprise-grade governance.
|
|
12
14
|
|
|
@@ -49,7 +51,6 @@ You (@backend): "Create a user login service with JWT authentication"
|
|
|
49
51
|
- [Dashboard](#dashboard)
|
|
50
52
|
- [CLI Reference](#cli-reference)
|
|
51
53
|
- [Architecture](#architecture)
|
|
52
|
-
- [LLM Gateway](#llm-gateway)
|
|
53
54
|
- [Security](#security)
|
|
54
55
|
- [Contributing](#contributing)
|
|
55
56
|
|
|
@@ -74,7 +75,7 @@ Atabey generates an `mcp.json` config. Point your AI assistant to it:
|
|
|
74
75
|
"mcpServers": {
|
|
75
76
|
"atabey": {
|
|
76
77
|
"command": "npx",
|
|
77
|
-
"args": ["atabey-mcp"],
|
|
78
|
+
"args": ["-y", "atabey-mcp"],
|
|
78
79
|
"env": {
|
|
79
80
|
"ATABEY_PROJECT_ROOT": "/path/to/your/project"
|
|
80
81
|
}
|
|
@@ -86,7 +87,7 @@ Atabey generates an `mcp.json` config. Point your AI assistant to it:
|
|
|
86
87
|
**Gemini CLI:**
|
|
87
88
|
```bash
|
|
88
89
|
gemini config set mcpServers.atabey.command "npx"
|
|
89
|
-
gemini config set mcpServers.atabey.args "[\"atabey-mcp\"]"
|
|
90
|
+
gemini config set mcpServers.atabey.args "[\"-y\", \"atabey-mcp\"]"
|
|
90
91
|
```
|
|
91
92
|
|
|
92
93
|
**Cursor:**
|
|
@@ -96,7 +97,7 @@ gemini config set mcpServers.atabey.args "[\"atabey-mcp\"]"
|
|
|
96
97
|
"mcpServers": {
|
|
97
98
|
"atabey": {
|
|
98
99
|
"command": "npx",
|
|
99
|
-
"args": ["atabey-mcp"]
|
|
100
|
+
"args": ["-y", "atabey-mcp"]
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
}
|
|
@@ -129,8 +130,8 @@ Open your AI interface and simply type:
|
|
|
129
130
|
├──────────────────────────────────────────────────────────────────┤
|
|
130
131
|
│ ATABEY MCP SERVER │
|
|
131
132
|
│ ┌──────────────────────────────────────────────────────────┐ │
|
|
132
|
-
│ │
|
|
133
|
-
│ │ orchestrate_loop, run_tests, check_lint
|
|
133
|
+
│ │ 34 Tools: read_file, write_file, send_message, │ │
|
|
134
|
+
│ │ orchestrate_loop, run_tests, check_lint │ │
|
|
134
135
|
│ └──────────────────────────────────────────────────────────┘ │
|
|
135
136
|
├──────────────────────────────────────────────────────────────────┤
|
|
136
137
|
│ GOVERNANCE LAYER │
|
|
@@ -177,34 +178,42 @@ npx atabey dashboard
|
|
|
177
178
|
|
|
178
179
|
## Profile-Based Setup
|
|
179
180
|
|
|
180
|
-
Choose the profile that matches your team size.
|
|
181
|
+
Choose the profile that matches your team size. You can also customize your setup using **`--focus`** and **`--lang`** options to match your project type and preferred language.
|
|
181
182
|
|
|
182
183
|
### `--profile freelancer` (1-3 people)
|
|
183
184
|
|
|
184
185
|
```bash
|
|
186
|
+
# Default setup (Fullstack)
|
|
185
187
|
npx atabey init gemini --profile freelancer
|
|
188
|
+
|
|
189
|
+
# Custom focus (Mobile) in English
|
|
190
|
+
npx atabey init gemini --profile freelancer --focus mobile --lang en --yes
|
|
186
191
|
```
|
|
187
192
|
|
|
188
193
|
| Feature | What You Get |
|
|
189
194
|
|---------|-------------|
|
|
190
|
-
| **Agents** | `@manager`, `@backend
|
|
195
|
+
| **Agents** | `@manager`, `@quality` + focus-specific agents (`@backend` for backend, `@frontend` for frontend, `@mobile` for mobile) |
|
|
191
196
|
| **Setup Time** | ~10 seconds |
|
|
192
|
-
| **Daily Workflow** | Chat with AI using
|
|
197
|
+
| **Daily Workflow** | Chat with AI using focus-specific specialist agents |
|
|
193
198
|
| **Governance** | Basic quality gate + risk engine |
|
|
194
199
|
| **Why?** | Minimal overhead, just code |
|
|
195
200
|
|
|
196
201
|
### `--profile team` (5-15 people)
|
|
197
202
|
|
|
198
203
|
```bash
|
|
204
|
+
# Default setup (Fullstack)
|
|
199
205
|
npx atabey init gemini --profile team --unified
|
|
206
|
+
|
|
207
|
+
# Custom focus (Backend-only)
|
|
208
|
+
npx atabey init gemini --profile team --focus backend --yes
|
|
200
209
|
```
|
|
201
210
|
|
|
202
211
|
| Feature | What You Get |
|
|
203
212
|
|---------|-------------|
|
|
204
|
-
| **Agents** |
|
|
213
|
+
| **Agents** | 5-8 focus-specific agents (e.g. manager, architect, backend, quality, database, security for backend focus) |
|
|
205
214
|
| **Setup Time** | ~30 seconds |
|
|
206
215
|
| **Daily Workflow** | Multi-agent collaboration with quality gate |
|
|
207
|
-
| **Dashboard** |
|
|
216
|
+
| **Dashboard** | 12 live modules, WebSocket real-time (shows only configured agents) |
|
|
208
217
|
| **Governance** | Quality gate + risk engine + contract validation |
|
|
209
218
|
| **Why?** | Team-scale governance without overhead |
|
|
210
219
|
|
|
@@ -219,14 +228,14 @@ npx atabey init gemini --profile enterprise
|
|
|
219
228
|
| **Agents** | All 13 agents (Supreme + Core + Recon) |
|
|
220
229
|
| **Setup Time** | ~1 minute |
|
|
221
230
|
| **Daily Workflow** | Full governance with human-in-the-loop |
|
|
222
|
-
| **Dashboard** |
|
|
231
|
+
| **Dashboard** | 12 modules + audit/error/memory tracking |
|
|
223
232
|
| **Security** | Human-in-the-Loop, KVKK PII masking, audit log |
|
|
224
233
|
|
|
225
234
|
### Custom Setup
|
|
226
235
|
|
|
227
236
|
```bash
|
|
228
237
|
npx atabey init gemini
|
|
229
|
-
# Interactive menu: choose agents, directories, colors manually
|
|
238
|
+
# Interactive menu: choose agents, directories, focus, languages, and colors manually
|
|
230
239
|
```
|
|
231
240
|
|
|
232
241
|
---
|
|
@@ -262,24 +271,199 @@ Project context, contracts, and past tasks are stored locally via `better-sqlite
|
|
|
262
271
|
### 3. Hermes Message Broker
|
|
263
272
|
Agents communicate asynchronously via a SQLite-backed message queue. A file-based lock protocol prevents race conditions.
|
|
264
273
|
|
|
265
|
-
### 4. Risk Engine (Human-in-the-Loop)
|
|
266
|
-
Operations containing `DROP`, `DELETE`, `TRUNCATE`, or secret manipulation are flagged. Execution is blocked until human approval
|
|
274
|
+
### 4. Risk Engine (Human-in-the-Loop — In-Chat Approval)
|
|
275
|
+
Operations containing `DROP`, `DELETE`, `TRUNCATE`, or secret manipulation are flagged. Execution is blocked until human approval.
|
|
276
|
+
|
|
277
|
+
**In-Chat Approval (no terminal switch needed):**
|
|
278
|
+
When an operation is blocked, the AI is instructed to call the `approve_operation` MCP tool:
|
|
279
|
+
```
|
|
280
|
+
# AI calls this tool directly in chat:
|
|
281
|
+
approve_operation { "action": "approve", "traceId": "trace-xyz" }
|
|
282
|
+
approve_operation { "action": "reject", "traceId": "trace-xyz" }
|
|
283
|
+
approve_operation { "action": "list" } # See all pending approvals
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Alternative (terminal):** `atabey approve <traceId>`
|
|
267
287
|
|
|
268
288
|
### 5. Smart Routing Engine
|
|
269
289
|
TF-IDF keyword matching routes natural language tasks to the most capable agent. Uses specialized weights for all 13 agents.
|
|
270
290
|
|
|
271
291
|
### 6. Web Dashboard
|
|
272
|
-
Real-time WebSocket dashboard with
|
|
273
|
-
|
|
274
|
-
### 7. LLM Gateway & Load Balancer
|
|
275
|
-
Load balancing across multiple LLM providers (OpenAI, Anthropic, Google, Groq, Ollama) with circuit breaker, rate limiting, and cost tracking.
|
|
292
|
+
Real-time WebSocket dashboard with 12 live modules. Fully responsive (mobile + desktop).
|
|
276
293
|
|
|
277
|
-
###
|
|
294
|
+
### 7. Multi-Platform Support
|
|
278
295
|
Claude Code, Gemini CLI, Cursor, Codex CLI, Antigravity CLI — automatic agent configuration for all platforms.
|
|
279
296
|
|
|
280
|
-
###
|
|
297
|
+
### 8. Polyglot Backend Support
|
|
281
298
|
Node.js, Go, Java, Python, .NET — automatic scaffolding based on backend language selection.
|
|
282
299
|
|
|
300
|
+
### 9. Multi-User Distributed Lock Registry
|
|
301
|
+
When multiple developers work on the same repository, their autonomous agents might attempt to modify the same files simultaneously. Atabey implements a Git-aware distributed locking mechanism (`DistributedLock`). It dynamically identifies the lock owner using `git config user.name` and blocks other processes from mutating the locked resources until released or expired, preventing merge conflicts and race conditions.
|
|
302
|
+
|
|
303
|
+
### 10. Multi-Client MCP Support (Stdio + HTTP/SSE)
|
|
304
|
+
Atabey supports two transport modes:
|
|
305
|
+
|
|
306
|
+
**Stdio Mode (Default - Each developer runs their own instance):**
|
|
307
|
+
```bash
|
|
308
|
+
# Each developer on their own machine
|
|
309
|
+
atabey mcp start
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**HTTP/SSE Mode (Single server serves the entire team):**
|
|
313
|
+
```bash
|
|
314
|
+
# Run on a shared server or one developer's machine
|
|
315
|
+
MCP_TRANSPORT=http MCP_PORT=5858 atabey mcp start
|
|
316
|
+
```
|
|
317
|
+
```json
|
|
318
|
+
// Each developer's mcp.json:
|
|
319
|
+
{
|
|
320
|
+
"mcpServers": {
|
|
321
|
+
"atabey": {
|
|
322
|
+
"url": "http://192.168.1.100:5858/sse"
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
```
|
|
327
|
+
In SSE mode, multiple IDEs/clients can connect simultaneously. Each client gets a dedicated session. Configure via `MCP_PORT` (default: **5858**) and `MCP_HOST` environment variables.
|
|
328
|
+
|
|
329
|
+
### 11. AI Discipline Engine (Tool-Level Governance)
|
|
330
|
+
Atabey enforces strict AI behavior rules **at the MCP middleware layer** — AI cannot bypass these:
|
|
331
|
+
|
|
332
|
+
- **Rate Limiting**: Max 60 calls/minute per agent (configurable via `MCP_MAX_CALLS_PER_MINUTE`)
|
|
333
|
+
- **File Size Limits**: Prevents reading/writing files >1MB (configurable via `MCP_MAX_FILE_SIZE`)
|
|
334
|
+
- **Tool Blacklist/Whitelist**: Per-agent tool access control (`MCP_RESTRICTED_TOOLS`, `MCP_AGENT_TOOL_WHITELIST`)
|
|
335
|
+
- **Loop Detection**: Blocks consecutive same-tool calls (>10 in a row triggers cooldown)
|
|
336
|
+
- **Response Validation**: Checks response size and binary content before returning to AI
|
|
337
|
+
- **Cooldown Mechanism**: Automatic cooldown when limits are exceeded
|
|
338
|
+
|
|
339
|
+
> **Note:** `run_shell_command` is **not restricted by default** — it uses a command allowlist (`npm test`, `git`, `go test`, etc.) with shell metacharacter injection protection. Restrict specific commands via `MCP_RESTRICTED_TOOLS` if needed.
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
# Restrict specific tools (optional, empty by default)
|
|
343
|
+
export MCP_RESTRICTED_TOOLS="some_dangerous_tool"
|
|
344
|
+
export MCP_AGENT_TOOL_WHITELIST="@backend:read_file,write_file,replace_text"
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### 12. Token Economy & Cost Tracking
|
|
348
|
+
Every MCP tool call is tracked for token usage and estimated cost:
|
|
349
|
+
|
|
350
|
+
- **Per-Agent Metrics**: Total calls, tokens consumed, estimated cost per agent
|
|
351
|
+
- **Per-Action Metrics**: Most expensive operations tracked
|
|
352
|
+
- **Dashboard Integration**: Real-time cost visualization in the Metrics panel
|
|
353
|
+
- **Cost Calculation**: Estimated at $0.003 per 1K tokens
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
# View metrics via API
|
|
357
|
+
curl http://localhost:5858/api/metrics
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### 13. MCP Authentication (HTTP/SSE Mode)
|
|
361
|
+
When running in HTTP/SSE mode, API and MCP routes are protected with Bearer token authentication:
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
# Set auth token
|
|
365
|
+
export MCP_AUTH_TOKEN="your-secret-token"
|
|
366
|
+
|
|
367
|
+
# Client connects with token
|
|
368
|
+
curl -H "Authorization: Bearer your-secret-token" http://localhost:5858/api/status
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
- Public endpoints: `/api/health`, `/mcp/health`, static UI
|
|
372
|
+
- Protected endpoints: all `/api/*` and `/mcp/*` routes
|
|
373
|
+
- Unauthorized requests return 401 with configuration instructions
|
|
374
|
+
|
|
375
|
+
### 14. Data Classification & Portability
|
|
376
|
+
Atabey automatically classifies data into security levels:
|
|
377
|
+
|
|
378
|
+
| Level | Description | Example |
|
|
379
|
+
|-------|-------------|---------|
|
|
380
|
+
| **public** | No sensitive data | General code |
|
|
381
|
+
| **internal** | Project-internal data | Configuration |
|
|
382
|
+
| **confidential** | PII detected | Emails, phones |
|
|
383
|
+
| **restricted** | Highly sensitive | API keys, tokens, IBAN |
|
|
384
|
+
| **critical** | Security-critical | Credentials, secrets |
|
|
385
|
+
|
|
386
|
+
Data portability (KVKK Art. 11 / GDPR Art. 20):
|
|
387
|
+
```bash
|
|
388
|
+
# Export all data
|
|
389
|
+
atabey kvkk:export
|
|
390
|
+
|
|
391
|
+
# Export audit logs
|
|
392
|
+
atabey gateway stats
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### 15. Adapter-Skill System
|
|
396
|
+
Each AI platform (Claude, Gemini, Cursor, Codex) has a unique skill mapping:
|
|
397
|
+
|
|
398
|
+
- **Platform-Specific Tool Mapping**: Internal tool names → platform-native identifiers
|
|
399
|
+
- **Skill-Based Agent Configuration**: Each agent gets platform-optimized tool sets
|
|
400
|
+
- **Unified Hub**: `.agents/` directory supports multi-adapter configurations
|
|
401
|
+
|
|
402
|
+
### 16. Explorer & Security Audit Commands
|
|
403
|
+
Built-in codebase analysis tools:
|
|
404
|
+
|
|
405
|
+
```bash
|
|
406
|
+
# Generate dependency graph
|
|
407
|
+
atabey explorer graph src/
|
|
408
|
+
|
|
409
|
+
# Run security audit
|
|
410
|
+
atabey security src/
|
|
411
|
+
|
|
412
|
+
# Audit code quality
|
|
413
|
+
atabey explorer audit src/
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### 17. Memory Layers
|
|
417
|
+
Atabey uses a multi-layered memory architecture:
|
|
418
|
+
|
|
419
|
+
| Layer | Description | Storage |
|
|
420
|
+
|-------|-------------|---------|
|
|
421
|
+
| **Core Memory** | Project state, trace, status | SQLite + JSON |
|
|
422
|
+
| **Vector Memory** | TF-IDF document embeddings | SQLite |
|
|
423
|
+
| **Knowledge Base** | Structured project knowledge | SQLite |
|
|
424
|
+
| **Task Store** | Planned tasks with DAG dependencies | SQLite |
|
|
425
|
+
| **Audit Logs** | All operation records | SQLite |
|
|
426
|
+
| **Specialty Memory** | Per-agent learned conventions | Markdown files |
|
|
427
|
+
|
|
428
|
+
### 18. GDPR & KVKK - Automated PII Masking
|
|
429
|
+
Atabey implements **multi-layer PII masking** for compliance with KVKK (Turkish Law No. 6698) and GDPR (European Union):
|
|
430
|
+
|
|
431
|
+
**Layer 1 - MCP Middleware (Automatic):**
|
|
432
|
+
All MCP tool calls are intercepted:
|
|
433
|
+
- **Args Masking**: Tool arguments from the AI are masked before reaching the handler
|
|
434
|
+
- **Result Masking**: Handler results are masked before returning to the AI
|
|
435
|
+
- **No sensitive data ever reaches the AI model**
|
|
436
|
+
|
|
437
|
+
**Layer 2 - Logger PII Masking:**
|
|
438
|
+
All log entries are scanned for PII before being written. Sensitive data is automatically redacted.
|
|
439
|
+
|
|
440
|
+
**Layer 3 - Manual `mask_pii` Tool:**
|
|
441
|
+
Users can manually mask text or objects on demand:
|
|
442
|
+
```
|
|
443
|
+
mask_pii(text: "Email: user@example.com") → "Email: ***@***"
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
**Supported Patterns:**
|
|
447
|
+
| Pattern | Example | Masked |
|
|
448
|
+
|---------|---------|--------|
|
|
449
|
+
| Email | `user@example.com` | `***@***` |
|
|
450
|
+
| Phone | `+90 555 123 45 67` | `***-***-****` |
|
|
451
|
+
| TC ID (Turkish ID) | `12345678901` | `***********` |
|
|
452
|
+
| API Key | `sk-abc...xyz` | `***-REDACTED-***` |
|
|
453
|
+
| JWT Token | `eyJ...eyJ...` | `***-JWT-REDACTED-***` |
|
|
454
|
+
| IP Address | `192.168.1.1` | `***.***.***.***` |
|
|
455
|
+
| Credit Card | `4111 1111 1111 1111` | `****-****-****-****` |
|
|
456
|
+
| IBAN | `TR33...1326` | `****-IBAN-REDACTED-****` |
|
|
457
|
+
| Date of Birth | `15/08/1990` | `**/**/****` |
|
|
458
|
+
| SSN | `123-45-6789` | `***-**-****` |
|
|
459
|
+
|
|
460
|
+
**Dashboard GDPR/KVKK Panel:**
|
|
461
|
+
- PII masked/detected statistics
|
|
462
|
+
- Data category distribution (USER_DATA, SECURITY, COMPLIANCE, RESTRICTED)
|
|
463
|
+
- Audit trail with masked data details
|
|
464
|
+
- GDPR Art. 17 / KVKK Art. 7 - Right to Erasure (Unutulma Hakkı) execution
|
|
465
|
+
- Category filter for event viewing
|
|
466
|
+
|
|
283
467
|
---
|
|
284
468
|
|
|
285
469
|
## Dashboard
|
|
@@ -291,30 +475,38 @@ npx atabey dashboard # Opens at http://localhost:5858
|
|
|
291
475
|
| Module | Description | Update |
|
|
292
476
|
|--------|-------------|--------|
|
|
293
477
|
| 🤖 **Agent Monitor** | AI agent status + tasks | WS (5s) |
|
|
294
|
-
| 📨 **Hermes
|
|
295
|
-
|
|
|
478
|
+
| 📨 **Hermes Stats** | Message queue statistics | WS (5s) |
|
|
479
|
+
| 💬 **Hermes Messages** | Message queue viewer + filter | WS (5s) |
|
|
480
|
+
| 🔐 **Approval Center** | Human-in-the-Loop approvals | WS |
|
|
296
481
|
| 📋 **Task Planner** | Task DAG + progress | REST (5s) |
|
|
297
482
|
| 📝 **Agent Logs** | Execution logs | WS (5s) |
|
|
298
|
-
| ⚠️ **Error Tracker** | Lint/compliance errors | WS |
|
|
483
|
+
| ⚠️ **Error Tracker** | Lint/compliance/security errors | WS |
|
|
299
484
|
| 🧠 **Memory Insights** | Vector memory search | REST |
|
|
300
|
-
| 🛡️ **Compliance** | Quality gate
|
|
485
|
+
| 🛡️ **Compliance** | Quality gate violations | REST (15s) |
|
|
486
|
+
| ✅ **Quality Panel** | Code quality analysis | REST |
|
|
487
|
+
| 🔌 **Adapters** | Adapter-skill mapping | REST |
|
|
488
|
+
| 🔒 **GDPR / KVKK** | PII masking, erasure, audit trail | REST |
|
|
489
|
+
| 📊 **Dashboard** | System overview | Mixed |
|
|
301
490
|
|
|
302
491
|
---
|
|
303
492
|
|
|
304
493
|
## CLI Reference
|
|
305
494
|
|
|
306
495
|
```bash
|
|
307
|
-
atabey init [adapter]
|
|
308
|
-
atabey mcp start
|
|
309
|
-
atabey mcp install
|
|
310
|
-
atabey dashboard [port]
|
|
311
|
-
atabey status
|
|
312
|
-
atabey check
|
|
313
|
-
atabey orchestrate
|
|
314
|
-
atabey approve <traceId>
|
|
315
|
-
atabey
|
|
496
|
+
atabey init [adapter] Initialize Atabey (--profile freelancer|team|enterprise)
|
|
497
|
+
atabey mcp start Start MCP server (connects to your AI interface)
|
|
498
|
+
atabey mcp install Generate mcp.json config for AI integration
|
|
499
|
+
atabey dashboard [port] Open web dashboard (default: 5858)
|
|
500
|
+
atabey status Show agent statuses and costs
|
|
501
|
+
atabey check Full health and compliance check
|
|
502
|
+
atabey orchestrate Start autonomous orchestration loop
|
|
503
|
+
atabey approve <traceId> Approve a blocked high-risk task (terminal alternative)
|
|
504
|
+
atabey hitl answer "<text>" Answer a pending ask_human question
|
|
505
|
+
atabey @agent "task" Send task directly to an agent
|
|
316
506
|
```
|
|
317
507
|
|
|
508
|
+
> **In-chat alternative:** Use `approve_operation` MCP tool directly in your AI CLI chat — no terminal switch needed.
|
|
509
|
+
|
|
318
510
|
Full command list: see `atabey help` or [ARCHITECTURE.md](ARCHITECTURE.md)
|
|
319
511
|
|
|
320
512
|
---
|
|
@@ -327,7 +519,7 @@ Full command list: see `atabey help` or [ARCHITECTURE.md](ARCHITECTURE.md)
|
|
|
327
519
|
│ @backend Create login service (in Claude/Gemini/Cursor) │
|
|
328
520
|
├──────────────────────────────────────────────────────────────────┤
|
|
329
521
|
│ MCP Server (framework-mcp/) │
|
|
330
|
-
│
|
|
522
|
+
│ 34 Tools · Stdio Transport │
|
|
331
523
|
│ Zod Validation · Error Handling │
|
|
332
524
|
├──────────────────────────────────────────────────────────────────┤
|
|
333
525
|
│ src/cli/ 30+ Commands │
|
|
@@ -346,22 +538,29 @@ Full command list: see `atabey help` or [ARCHITECTURE.md](ARCHITECTURE.md)
|
|
|
346
538
|
|
|
347
539
|
---
|
|
348
540
|
|
|
349
|
-
## LLM Gateway
|
|
350
541
|
|
|
351
|
-
|
|
542
|
+
## ✅ Implemented Governance Features
|
|
352
543
|
|
|
353
|
-
|
|
354
|
-
|----------|--------|--------|
|
|
355
|
-
| **OpenAI** | GPT-4, GPT-4o, o3, o4-mini | ✅ Active |
|
|
356
|
-
| **Anthropic** | Claude Opus 4.5, Sonnet 4.5, Haiku 3.5 | ✅ Active |
|
|
357
|
-
| **Google** | Gemini 2.5 Pro, Flash, Flash-Lite | ✅ Active |
|
|
358
|
-
| **Groq** | Llama, Mixtral (fast inference) | ✅ Active |
|
|
359
|
-
| **Ollama** | Local models (LLaMA, Mistral, etc.) | ✅ Active |
|
|
544
|
+
> These features were previously listed as "Blind Spots" but are now fully implemented:
|
|
360
545
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
546
|
+
| # | Feature | Status | Implementation |
|
|
547
|
+
|---|---------|--------|---------------|
|
|
548
|
+
| 1 | Token Budget / Circuit Breaker | ✅ **Implemented** | `context-optimizer.ts` — budget tracking, per-agent limits, 50/80/90/100% alert thresholds |
|
|
549
|
+
| 2 | Silent Semantic Routing | ✅ **Implemented** | `silent-router.ts` — TF-IDF detection, stealth context injection via tool response |
|
|
550
|
+
| 3 | In-Chat Human-in-the-Loop | ✅ **Implemented** | `approve_operation` MCP tool — approve/reject/list without leaving AI CLI chat |
|
|
551
|
+
| 4 | Prompt Conflict Resolution (Auto-Rollback) | ✅ **Implemented** | `auto-rollback.ts` — AST scan, secret detection, file snapshot + restore + instruction |
|
|
552
|
+
| 5 | Distributed CLI Telemetry | 🟡 **Partial** | `telemetry-streamer.ts` — local JSONL + HTTPS batch ready; central server not yet deployed |
|
|
553
|
+
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
## Strategic Roadmap
|
|
557
|
+
|
|
558
|
+
| # | Feature | Priority | Status |
|
|
559
|
+
|---|---------|----------|--------|
|
|
560
|
+
| 1 | Agent specialty memory → auto-sync to agent files | 🟠 High | Planned |
|
|
561
|
+
| 2 | MCP `prompts/` endpoint for session-level governance injection | 🟠 High | Planned |
|
|
562
|
+
| 3 | Central Enterprise Server (telemetry ingest + org dashboard) | 🟡 Medium | Planned |
|
|
563
|
+
| 4 | Dynamic rule loading from `.atabey/rules/*.json` | 🟡 Medium | Planned |
|
|
365
564
|
|
|
366
565
|
---
|
|
367
566
|
|
|
@@ -384,14 +583,15 @@ npx atabey gateway configure
|
|
|
384
583
|
### Human-in-the-Loop
|
|
385
584
|
- Risk score ≥ 60 requires human approval
|
|
386
585
|
- `DROP`, `DELETE`, `TRUNCATE` operations blocked
|
|
387
|
-
-
|
|
586
|
+
- **In-chat approval:** `approve_operation` MCP tool (no terminal switch)
|
|
587
|
+
- **Terminal fallback:** `atabey approve <traceId>`
|
|
388
588
|
|
|
389
589
|
---
|
|
390
590
|
|
|
391
591
|
## Testing
|
|
392
592
|
|
|
393
593
|
```bash
|
|
394
|
-
npm test # Run all tests (
|
|
594
|
+
npm test # Run all tests (266 passing)
|
|
395
595
|
npm run test:watch # Watch mode
|
|
396
596
|
npm run test:coverage # Coverage report
|
|
397
597
|
```
|