atabey 0.0.15 → 0.0.16

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.
Files changed (122) hide show
  1. package/LICENSE +672 -21
  2. package/README.md +20 -11
  3. package/dist/framework-mcp/src/index.js +69 -10
  4. package/dist/framework-mcp/src/index.js.map +1 -1
  5. package/dist/framework-mcp/src/tools/control_plane/registry.d.ts +1 -1
  6. package/dist/framework-mcp/src/tools/control_plane/registry.js +52 -4
  7. package/dist/framework-mcp/src/tools/control_plane/registry.js.map +1 -1
  8. package/dist/framework-mcp/src/tools/definitions.js +1 -1
  9. package/dist/framework-mcp/src/tools/file_system/read_file.js +5 -0
  10. package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -1
  11. package/dist/framework-mcp/src/tools/messaging/approve_operation.d.ts +2 -0
  12. package/dist/framework-mcp/src/tools/messaging/approve_operation.js +1 -1
  13. package/dist/framework-mcp/src/tools/messaging/approve_operation.js.map +1 -1
  14. package/dist/framework-mcp/src/tools/messaging/send_message.js +19 -3
  15. package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -1
  16. package/dist/framework-mcp/src/tools/schemas.d.ts +4 -4
  17. package/dist/framework-mcp/src/tools/search/grep_search.js +11 -4
  18. package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -1
  19. package/dist/framework-mcp/src/tools/search/list_dir.js +3 -0
  20. package/dist/framework-mcp/src/tools/search/list_dir.js.map +1 -1
  21. package/dist/framework-mcp/src/tools/shell/run_command.js +47 -1
  22. package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -1
  23. package/dist/framework-mcp/src/utils/auth.d.ts +26 -2
  24. package/dist/framework-mcp/src/utils/auth.js +71 -4
  25. package/dist/framework-mcp/src/utils/auth.js.map +1 -1
  26. package/dist/framework-mcp/src/utils/compliance.js +45 -13
  27. package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
  28. package/dist/framework-mcp/src/utils/discipline.d.ts +1 -0
  29. package/dist/framework-mcp/src/utils/discipline.js +41 -2
  30. package/dist/framework-mcp/src/utils/discipline.js.map +1 -1
  31. package/dist/framework-mcp/src/utils/human-in-loop.d.ts +35 -2
  32. package/dist/framework-mcp/src/utils/human-in-loop.js +113 -9
  33. package/dist/framework-mcp/src/utils/human-in-loop.js.map +1 -1
  34. package/dist/framework-mcp/src/utils/permissions.d.ts +67 -3
  35. package/dist/framework-mcp/src/utils/permissions.js +179 -43
  36. package/dist/framework-mcp/src/utils/permissions.js.map +1 -1
  37. package/dist/framework-mcp/src/utils/prompt-injection.d.ts +20 -0
  38. package/dist/framework-mcp/src/utils/prompt-injection.js +64 -0
  39. package/dist/framework-mcp/src/utils/prompt-injection.js.map +1 -0
  40. package/dist/framework-mcp/tests/tools/file_system/permissions.test.js +174 -71
  41. package/dist/framework-mcp/tests/tools/file_system/permissions.test.js.map +1 -1
  42. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +36 -30
  43. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
  44. package/dist/framework-mcp/tests/utils/human-in-loop.test.js +152 -4
  45. package/dist/framework-mcp/tests/utils/human-in-loop.test.js.map +1 -1
  46. package/dist/framework-mcp/tests/utils/loop-detector.test.js +0 -2
  47. package/dist/framework-mcp/tests/utils/loop-detector.test.js.map +1 -1
  48. package/dist/framework-mcp/tests/utils/prompt-injection.test.d.ts +1 -0
  49. package/dist/framework-mcp/tests/utils/prompt-injection.test.js +43 -0
  50. package/dist/framework-mcp/tests/utils/prompt-injection.test.js.map +1 -0
  51. package/dist/src/cli/commands/dashboard.js +167 -2
  52. package/dist/src/cli/commands/dashboard.js.map +1 -1
  53. package/dist/src/cli/commands/init/scaffold-standards.js +1 -1
  54. package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
  55. package/dist/src/cli/commands/log.js +8 -5
  56. package/dist/src/cli/commands/log.js.map +1 -1
  57. package/dist/src/cli/commands/orchestrate.d.ts +4 -4
  58. package/dist/src/cli/commands/orchestrate.js +14 -2
  59. package/dist/src/cli/commands/orchestrate.js.map +1 -1
  60. package/dist/src/cli/commands/status.js +21 -1
  61. package/dist/src/cli/commands/status.js.map +1 -1
  62. package/dist/src/cli/utils/memory.js +6 -5
  63. package/dist/src/cli/utils/memory.js.map +1 -1
  64. package/dist/src/cli/utils/schemas.d.ts +2 -2
  65. package/dist/src/contracts/tasks.d.ts +4 -4
  66. package/dist/src/modules/contracts/api.d.ts +6 -6
  67. package/dist/src/modules/engines/agent-executor.js +30 -19
  68. package/dist/src/modules/engines/agent-executor.js.map +1 -1
  69. package/dist/src/modules/engines/evaluation-engine.d.ts +0 -3
  70. package/dist/src/modules/engines/evaluation-engine.js +17 -16
  71. package/dist/src/modules/engines/evaluation-engine.js.map +1 -1
  72. package/dist/src/modules/engines/quality-gate.js +4 -2
  73. package/dist/src/modules/engines/quality-gate.js.map +1 -1
  74. package/dist/src/modules/engines/risk-engine.d.ts +17 -1
  75. package/dist/src/modules/engines/risk-engine.js +98 -3
  76. package/dist/src/modules/engines/risk-engine.js.map +1 -1
  77. package/dist/src/modules/engines/routing-engine.d.ts +26 -1
  78. package/dist/src/modules/engines/routing-engine.js +97 -1
  79. package/dist/src/modules/engines/routing-engine.js.map +1 -1
  80. package/dist/src/modules/providers/shared.js +2 -3
  81. package/dist/src/modules/providers/shared.js.map +1 -1
  82. package/dist/src/shared/storage.d.ts +17 -0
  83. package/dist/src/shared/storage.js +76 -2
  84. package/dist/src/shared/storage.js.map +1 -1
  85. package/dist/tests/cli/commands/dashboard-coverage.test.js +3 -1
  86. package/dist/tests/cli/commands/dashboard-coverage.test.js.map +1 -1
  87. package/dist/tests/modules/engines/evaluation-engine.test.js +2 -2
  88. package/dist/tests/modules/engines/evaluation-engine.test.js.map +1 -1
  89. package/dist/tests/status-cost.test.js +2 -0
  90. package/dist/tests/status-cost.test.js.map +1 -1
  91. package/dist/tests/storage-operations.test.js +31 -4
  92. package/dist/tests/storage-operations.test.js.map +1 -1
  93. package/dist/vitest.config.js +6 -4
  94. package/dist/vitest.config.js.map +1 -1
  95. package/framework-mcp/README.md +18 -32
  96. package/framework-mcp/dist/dashboard/assets/index-B-Eu7_J9.js +1260 -0
  97. package/framework-mcp/dist/dashboard/index.html +1 -1
  98. package/framework-mcp/dist/framework-mcp/src/index.js +69 -10
  99. package/framework-mcp/dist/framework-mcp/src/tools/control_plane/registry.js +52 -4
  100. package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +1 -1
  101. package/framework-mcp/dist/framework-mcp/src/tools/file_system/read_file.js +5 -0
  102. package/framework-mcp/dist/framework-mcp/src/tools/messaging/approve_operation.js +1 -1
  103. package/framework-mcp/dist/framework-mcp/src/tools/messaging/send_message.js +19 -3
  104. package/framework-mcp/dist/framework-mcp/src/tools/search/grep_search.js +11 -4
  105. package/framework-mcp/dist/framework-mcp/src/tools/search/list_dir.js +3 -0
  106. package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +47 -1
  107. package/framework-mcp/dist/framework-mcp/src/utils/auth.js +71 -4
  108. package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +45 -13
  109. package/framework-mcp/dist/framework-mcp/src/utils/discipline.js +41 -2
  110. package/framework-mcp/dist/framework-mcp/src/utils/human-in-loop.js +113 -9
  111. package/framework-mcp/dist/framework-mcp/src/utils/permissions.js +179 -43
  112. package/framework-mcp/dist/framework-mcp/src/utils/prompt-injection.js +63 -0
  113. package/framework-mcp/dist/src/cli/utils/memory.js +6 -5
  114. package/framework-mcp/dist/src/modules/engines/evaluation-engine.js +17 -16
  115. package/framework-mcp/dist/src/modules/engines/quality-gate.js +4 -2
  116. package/framework-mcp/dist/src/modules/engines/risk-engine.js +98 -3
  117. package/framework-mcp/dist/src/modules/engines/routing-engine.js +97 -1
  118. package/framework-mcp/dist/src/modules/providers/shared.js +2 -3
  119. package/framework-mcp/dist/src/shared/storage.js +76 -2
  120. package/framework-mcp/package.json +21 -18
  121. package/package.json +3 -3
  122. package/framework-mcp/dist/dashboard/assets/index-B_rK57vi.js +0 -1221
@@ -1 +1 @@
1
- {"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../../../framework-mcp/src/utils/compliance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../../../framework-mcp/src/utils/compliance.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ declare const CONFIG: {
32
32
  export declare function enforceDiscipline(agent: string, toolName: string, args: Record<string, unknown>): Promise<string | null>;
33
33
  /**
34
34
  * Validate tool response content before returning to AI.
35
+ * Blocks: oversized responses, binary data, and prompt injection attempts.
35
36
  * Returns error message if blocked, null if allowed.
36
37
  */
37
38
  export declare function validateResponse(toolName: string, result: {
@@ -156,8 +156,41 @@ export async function enforceDiscipline(agent, toolName, args) {
156
156
  });
157
157
  return null;
158
158
  }
159
+ // ─── Prompt Injection Patterns ─────────────────────────────────────────────
160
+ // Common adversarial patterns that attempt to override agent instructions.
161
+ // These are checked in tool responses to prevent exfiltrated injection payloads
162
+ // (e.g. from malicious file content, API responses, or external user input)
163
+ // from reaching the AI and overriding the system prompt.
164
+ const PROMPT_INJECTION_PATTERNS = [
165
+ { pattern: /ignore\s+(previous|prior|above|all)\s+instructions?/i, label: "ignore-instructions" },
166
+ { pattern: /disregard\s+(previous|prior|above|all)\s+instructions?/i, label: "disregard-instructions" },
167
+ { pattern: /forget\s+(everything|all|prior|previous)/i, label: "forget-prior" },
168
+ { pattern: /you\s+are\s+now\s+(a|an)\s+/i, label: "persona-override" },
169
+ { pattern: /\bsystem\s*:\s*(you|your|ignore|forget|act)/i, label: "system-prompt-inject" },
170
+ { pattern: /\bnew\s+instructions?\s*:/i, label: "new-instructions" },
171
+ { pattern: /\bact\s+as\s+(if\s+you\s+are|a|an)\s+/i, label: "act-as-override" },
172
+ { pattern: /\boverride\s+(safety|rules|guidelines|instructions)/i, label: "safety-override" },
173
+ { pattern: /\bdo\s+not\s+follow\s+(your|the|any)\s+(rules|instructions)/i, label: "rule-bypass" },
174
+ { pattern: /\bdeveloper\s+mode\s+(enabled|activated|on)/i, label: "developer-mode" },
175
+ { pattern: /\bjailbreak/i, label: "jailbreak" },
176
+ { pattern: /<\|.*?\|>/, label: "token-boundary-inject" },
177
+ { pattern: /\[INST\]|\[\/?SYS\]|<<SYS>>/, label: "llm-template-inject" },
178
+ ];
179
+ /**
180
+ * Scans a text block for known prompt injection patterns.
181
+ * Returns the matched pattern label if injection is detected, null otherwise.
182
+ */
183
+ function scanForPromptInjection(text) {
184
+ for (const { pattern, label } of PROMPT_INJECTION_PATTERNS) {
185
+ if (pattern.test(text)) {
186
+ return label;
187
+ }
188
+ }
189
+ return null;
190
+ }
159
191
  /**
160
192
  * Validate tool response content before returning to AI.
193
+ * Blocks: oversized responses, binary data, and prompt injection attempts.
161
194
  * Returns error message if blocked, null if allowed.
162
195
  */
163
196
  export function validateResponse(toolName, result) {
@@ -166,15 +199,21 @@ export function validateResponse(toolName, result) {
166
199
  for (const block of result.content) {
167
200
  if (block.type !== "text" || !block.text)
168
201
  continue;
169
- // Check response size
202
+ // 1. Check response size
170
203
  if (block.text.length > CONFIG.MAX_RESPONSE_SIZE) {
171
204
  return `[DISCIPLINE] Response too large (${(block.text.length / 1024).toFixed(1)}KB, max: ${(CONFIG.MAX_RESPONSE_SIZE / 1024).toFixed(1)}KB).`;
172
205
  }
173
- // Block binary/gibberish content in text responses
206
+ // 2. Block binary/gibberish content in text responses
174
207
  const nonPrintable = (block.text.match(/[^\x20-\x7E\n\r\t]/g) || []).length;
175
208
  if (nonPrintable > block.text.length * 0.3) {
176
209
  return `[DISCIPLINE] Response contains too much binary data (${nonPrintable} non-printable chars). Blocked.`;
177
210
  }
211
+ // 3. Prompt injection detection — scan for adversarial override patterns
212
+ // that may have been embedded in file content, API responses, or user input.
213
+ const injectionLabel = scanForPromptInjection(block.text);
214
+ if (injectionLabel) {
215
+ return `[DISCIPLINE] Prompt injection pattern detected in "${toolName}" response (pattern: ${injectionLabel}). Response blocked to protect agent integrity.`;
216
+ }
178
217
  }
179
218
  return null;
180
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discipline.js","sourceRoot":"","sources":["../../../../framework-mcp/src/utils/discipline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAkBxB,gCAAgC;AAChC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA2B,CAAC;AAE3D,qEAAqE;AAErE,MAAM,MAAM,GAAG;IACX,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,EAAE,EAAE,CAAC;IAChF,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,KAAK,EAAE,EAAE,CAAC;IACvE,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,EAAE,EAAE,CAAC;IACvE,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,QAAQ,EAAE,EAAE,CAAC;IACtE,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,EAAE,EAAE,CAAC;IACjE,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,QAAQ,EAAE,EAAE,CAAC,EAAE,qBAAqB;IACrG,yBAAyB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,IAAI,EAAE,EAAE,CAAC;IAE1F,gBAAgB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;SACrD,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IAElD,6EAA6E;IAC7E,oBAAoB,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC;CACxF,CAAC;AAEF,SAAS,mBAAmB,CAAC,KAAa;IACtC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC;IACvB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC5B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACjB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE5C,SAAS,gBAAgB,CAAC,KAAa;IACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QACjE,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE;YACvB,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,gBAAgB,EAAE,SAAS;YAC3B,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,WAAmB,KAAK;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IACrC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,MAAc;IAClD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACb,UAAU,CAAC,UAAU,EAAE,CAAC;QACxB,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC;IACtC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,KAAa,EACb,QAAgB,EAChB,IAA6B;IAE7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE3C,oBAAoB;IACpB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACzD,OAAO,sBAAsB,KAAK,uBAAuB,SAAS,uBAAuB,CAAC;IAC9F,CAAC;IAED,+CAA+C;IAC/C,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,eAAe,CAAC,KAAK,EAAE,qCAAqC,QAAQ,EAAE,CAAC,CAAC;QACxE,OAAO,sBAAsB,QAAQ,0BAA0B,KAAK,iBAAiB,CAAC;IAC1F,CAAC;IAED,oCAAoC;IACpC,IAAI,UAAU,CAAC,gBAAgB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5E,eAAe,CAAC,KAAK,EAAE,0CAA0C,QAAQ,EAAE,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO,sBAAsB,KAAK,2BAA2B,QAAQ,qBAAqB,OAAO,EAAE,CAAC;IACxG,CAAC;IAED,4BAA4B;IAC5B,IAAI,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAClD,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,eAAe,CAAC,KAAK,EAAE,6BAA6B,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;QAC/E,OAAO,sBAAsB,KAAK,8BAA8B,MAAM,CAAC,eAAe,eAAe,MAAM,CAAC,WAAW,GAAC,IAAI,IAAI,CAAC;IACrI,CAAC;IAED,yCAAyC;IACzC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1B,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACzD,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,eAAe,CAAC,KAAK,EAAE,wBAAwB,MAAM,CAAC,oBAAoB,OAAO,CAAC,CAAC;QACnF,OAAO,sBAAsB,KAAK,yBAAyB,MAAM,CAAC,oBAAoB,mBAAmB,MAAM,CAAC,WAAW,GAAC,IAAI,IAAI,CAAC;IACzI,CAAC;IAED,kDAAkD;IAClD,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC;YACV,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACtD,eAAe,CAAC,KAAK,EAAE,gCAAgC,QAAQ,KAAK,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;YACxG,OAAO,sBAAsB,KAAK,YAAY,QAAQ,KAAK,MAAM,CAAC,yBAAyB,2CAA2C,CAAC;QAC3I,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACxC,eAAe,CAAC,KAAK,EAAE,mBAAmB,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;QAClE,OAAO,0CAA0C,OAAO,CAAC,MAAM,gBAAgB,MAAM,CAAC,aAAa,IAAI,CAAC;IAC5G,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACvE,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;YAChE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBACnC,OAAO,gCAAgC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC;gBAC1K,CAAC;YACL,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,kBAAkB;IAClB,UAAU,CAAC,UAAU,EAAE,CAAC;IACxB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,OAAO,CAAC,MAAM;KAC3B,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,MAA0D;IACzG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,SAAS;QAEnD,sBAAsB;QACtB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC/C,OAAO,oCAAoC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACnJ,CAAC;QAED,mDAAmD;QACnD,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5E,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACzC,OAAO,wDAAwD,YAAY,iCAAiC,CAAC;QACjH,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAQ5C,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC1H,CAAC;IAED,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1B,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO;QACH,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;QACpC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC;QAC/B,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,aAAa,EAAE,UAAU,CAAC,aAAa;KAC1C,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IAOjC,MAAM,KAAK,GAA0D,EAAE,CAAC;IACxE,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;QACpC,KAAK,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC3B,eAAe,CAAC,KAAK,EAAE,CAAC;IACxB,SAAS,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"discipline.js","sourceRoot":"","sources":["../../../../framework-mcp/src/utils/discipline.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,28 @@ declare const CONFIG: {
28
28
  AUTO_APPROVE_LOW_RISK: boolean;
29
29
  /** Approval timeout in seconds */
30
30
  APPROVAL_TIMEOUT_SECONDS: number;
31
+ /**
32
+ * Minimum risk score requiring Lead/Admin approval (legacy compat).
33
+ * Superseded by ROLE_RISK_MAP below — kept for backward compatibility with env var.
34
+ */
35
+ RBAC_HIGH_RISK_THRESHOLD: number;
31
36
  };
37
+ export type UserRole = "junior" | "developer" | "lead" | "admin";
38
+ /**
39
+ * Maximum risk score each role is allowed to approve.
40
+ * A role can approve any operation with riskScore <= its max.
41
+ * Override via MCP_RBAC_ROLE_* env vars.
42
+ *
43
+ * junior → cannot approve anything (max = -1)
44
+ * developer → can approve MEDIUM risk (0–59)
45
+ * lead → can approve HIGH risk (0–79)
46
+ * admin → can approve any risk (0–100)
47
+ */
48
+ export declare const ROLE_RISK_MAP: Record<UserRole, number>;
49
+ /**
50
+ * Returns the minimum role required to approve an operation at the given risk score.
51
+ */
52
+ export declare function getMinimumRoleForScore(riskScore: number): UserRole;
32
53
  export type RiskLevel = "LOW" | "MEDIUM" | "HIGH";
33
54
  export interface ApprovalRequest {
34
55
  traceId: string;
@@ -41,6 +62,7 @@ export interface ApprovalRequest {
41
62
  createdAt: number;
42
63
  expiresAt: number;
43
64
  status: "PENDING" | "APPROVED" | "REJECTED" | "EXPIRED";
65
+ passcode?: string;
44
66
  }
45
67
  /**
46
68
  * Determine risk level from risk score.
@@ -72,15 +94,26 @@ export declare function checkRiskGate(traceId: string, toolName: string, agent:
72
94
  export declare function getApprovalStatus(traceId: string): ApprovalRequest | null;
73
95
  /**
74
96
  * Approve a pending operation.
97
+ *
98
+ * RBAC enforcement (AI Governance layer):
99
+ * - Role is read from process.env.MCP_USER_ROLE ONLY.
100
+ * - The userRole parameter is accepted for API compatibility but completely IGNORED.
101
+ * This prevents AI agents (Claude Code, Gemini, Cursor) from escalating privilege
102
+ * by passing {userRole: "admin"} in the tool call arguments.
103
+ * - The passcode printed to stderr is the second factor — AI cannot read stderr.
75
104
  */
76
- export declare function approveOperation(traceId: string): {
105
+ export declare function approveOperation(traceId: string, passcode?: string, _userRoleIgnored?: string): {
77
106
  success: boolean;
78
107
  message: string;
79
108
  };
80
109
  /**
81
110
  * Reject a pending operation.
111
+ *
112
+ * RBAC: junior-role users cannot reject HIGH/CRITICAL operations.
113
+ * This prevents rogue or misconfigured recon agents from killing
114
+ * manager-delegated critical operations.
82
115
  */
83
- export declare function rejectOperation(traceId: string): {
116
+ export declare function rejectOperation(traceId: string, _userRoleIgnored?: string): {
84
117
  success: boolean;
85
118
  message: string;
86
119
  };
@@ -31,7 +31,49 @@ const CONFIG = {
31
31
  AUTO_APPROVE_LOW_RISK: process.env.MCP_AUTO_APPROVE_LOW_RISK !== "false",
32
32
  /** Approval timeout in seconds */
33
33
  APPROVAL_TIMEOUT_SECONDS: parseInt(process.env.MCP_APPROVAL_TIMEOUT || "300", 10), // 5 min
34
+ /**
35
+ * Minimum risk score requiring Lead/Admin approval (legacy compat).
36
+ * Superseded by ROLE_RISK_MAP below — kept for backward compatibility with env var.
37
+ */
38
+ RBAC_HIGH_RISK_THRESHOLD: parseInt(process.env.MCP_RBAC_HIGH_RISK_THRESHOLD || "80", 10),
34
39
  };
40
+ /**
41
+ * Maximum risk score each role is allowed to approve.
42
+ * A role can approve any operation with riskScore <= its max.
43
+ * Override via MCP_RBAC_ROLE_* env vars.
44
+ *
45
+ * junior → cannot approve anything (max = -1)
46
+ * developer → can approve MEDIUM risk (0–59)
47
+ * lead → can approve HIGH risk (0–79)
48
+ * admin → can approve any risk (0–100)
49
+ */
50
+ export const ROLE_RISK_MAP = {
51
+ admin: parseInt(process.env.MCP_RBAC_ROLE_ADMIN || "100", 10),
52
+ lead: parseInt(process.env.MCP_RBAC_ROLE_LEAD || "79", 10),
53
+ developer: parseInt(process.env.MCP_RBAC_ROLE_DEVELOPER || "59", 10),
54
+ junior: parseInt(process.env.MCP_RBAC_ROLE_JUNIOR || "-1", 10), // cannot approve
55
+ };
56
+ /**
57
+ * Returns the minimum role required to approve an operation at the given risk score.
58
+ */
59
+ export function getMinimumRoleForScore(riskScore) {
60
+ if (riskScore <= ROLE_RISK_MAP.developer)
61
+ return "developer";
62
+ if (riskScore <= ROLE_RISK_MAP.lead)
63
+ return "lead";
64
+ return "admin";
65
+ }
66
+ /**
67
+ * Reads the active user role from environment only.
68
+ * AI-supplied userRole arguments are NOT trusted.
69
+ */
70
+ function getActiveUserRole() {
71
+ const envRole = process.env.MCP_USER_ROLE?.trim().toLowerCase();
72
+ if (envRole === "admin" || envRole === "lead" || envRole === "developer" || envRole === "junior") {
73
+ return envRole;
74
+ }
75
+ return "junior"; // safest default
76
+ }
35
77
  // ─── Active Approval Requests ─────────────────────────────────────
36
78
  const activeApprovals = new Map();
37
79
  /**
@@ -44,12 +86,25 @@ export function getRiskLevel(score) {
44
86
  return "MEDIUM";
45
87
  return "LOW";
46
88
  }
89
+ /**
90
+ * Create an approval request for a high-risk operation.
91
+ * Returns the approval request and a message for the AI/developer.
92
+ */
93
+ function generatePasscode() {
94
+ const chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
95
+ let code = "";
96
+ for (let i = 0; i < 5; i++) {
97
+ code += chars.charAt(Math.floor(Math.random() * chars.length));
98
+ }
99
+ return code;
100
+ }
47
101
  /**
48
102
  * Create an approval request for a high-risk operation.
49
103
  * Returns the approval request and a message for the AI/developer.
50
104
  */
51
105
  export function createApprovalRequest(traceId, toolName, agent, riskScore, reason, args) {
52
106
  const now = Date.now();
107
+ const passcode = generatePasscode();
53
108
  const request = {
54
109
  traceId,
55
110
  toolName,
@@ -61,8 +116,11 @@ export function createApprovalRequest(traceId, toolName, agent, riskScore, reaso
61
116
  createdAt: now,
62
117
  expiresAt: now + CONFIG.APPROVAL_TIMEOUT_SECONDS * 1000,
63
118
  status: "PENDING",
119
+ passcode,
64
120
  };
65
121
  activeApprovals.set(traceId, request);
122
+ // Print passcode to stderr so the human developer sees it but AI cannot access it
123
+ process.stderr.write(`\n[ATABEY SECURITY GATES] APPROVAL PASSCODE FOR TRACE ${traceId}: ${passcode}\n\n`);
66
124
  // Create a Hermes approval message
67
125
  AtabeyStorage.saveMessage({
68
126
  from: asAgentID(agent),
@@ -92,14 +150,14 @@ export function createApprovalRequest(traceId, toolName, agent, riskScore, reaso
92
150
  ` Trace ID: ${traceId}`,
93
151
  "",
94
152
  "─── IN-CHAT APPROVAL ────────────────────────────────────────",
95
- "Ask your AI assistant to call the approve_operation tool:",
153
+ "This is a high-risk operation. To prevent autonomous bypass,",
154
+ "Atabey has printed a 5-character PASSCODE to your terminal's stderr.",
96
155
  "",
97
- ` To approve: approve_operation { "action": "approve", "traceId": "${traceId}" }`,
98
- ` To reject: approve_operation { "action": "reject", "traceId": "${traceId}" }`,
99
- " To list: approve_operation { \"action\": \"list\" }",
156
+ "Ask the user for the passcode, then call the approve_operation tool:",
157
+ ` approve_operation { "action": "approve", "traceId": "${traceId}", "passcode": "<passcode_from_user>" }`,
100
158
  "─────────────────────────────────────────────────────────────",
101
159
  "",
102
- `Alternative: atabey hitl answer "${traceId}:approve" in your terminal.`,
160
+ `Alternative: Run 'atabey approve ${traceId}' in your local terminal.`,
103
161
  ].join("\n");
104
162
  return { request, message };
105
163
  }
@@ -147,8 +205,16 @@ export function getApprovalStatus(traceId) {
147
205
  }
148
206
  /**
149
207
  * Approve a pending operation.
208
+ *
209
+ * RBAC enforcement (AI Governance layer):
210
+ * - Role is read from process.env.MCP_USER_ROLE ONLY.
211
+ * - The userRole parameter is accepted for API compatibility but completely IGNORED.
212
+ * This prevents AI agents (Claude Code, Gemini, Cursor) from escalating privilege
213
+ * by passing {userRole: "admin"} in the tool call arguments.
214
+ * - The passcode printed to stderr is the second factor — AI cannot read stderr.
150
215
  */
151
- export function approveOperation(traceId) {
216
+ export function approveOperation(traceId, passcode, _userRoleIgnored // kept for API compat — value is intentionally ignored
217
+ ) {
152
218
  const request = activeApprovals.get(traceId);
153
219
  if (!request) {
154
220
  return { success: false, message: `No pending approval found for trace: ${traceId}` };
@@ -156,6 +222,29 @@ export function approveOperation(traceId) {
156
222
  if (request.status !== "PENDING") {
157
223
  return { success: false, message: `Approval for ${traceId} is already ${request.status}` };
158
224
  }
225
+ // ── RBAC Check ──────────────────────────────────────────────────────────
226
+ // Role is read exclusively from the environment — not from the tool argument.
227
+ // This ensures Claude Code, Gemini CLI, Cursor, or any MCP client cannot
228
+ // escalate privilege by injecting a role in the tool args.
229
+ const role = getActiveUserRole();
230
+ const maxApprovable = ROLE_RISK_MAP[role];
231
+ if (request.riskScore <= maxApprovable) {
232
+ // Role is allowed — proceed to passcode check
233
+ }
234
+ else {
235
+ const requiredRole = getMinimumRoleForScore(request.riskScore);
236
+ return {
237
+ success: false,
238
+ message: `[RBAC] Approval denied: Risk score ${request.riskScore}/100 requires at least '${requiredRole}' role. ` +
239
+ `Current role: '${role}' (max approvable: ${maxApprovable}). ` +
240
+ "Set MCP_USER_ROLE env var to a role with sufficient authority."
241
+ };
242
+ }
243
+ // ── End RBAC Check ──────────────────────────────────────────────────────
244
+ // Passcode second-factor (printed to stderr — AI cannot intercept)
245
+ if (request.passcode && (!passcode || passcode.trim().toUpperCase() !== request.passcode)) {
246
+ return { success: false, message: "Invalid or missing approval passcode. Verify the passcode printed to stderr." };
247
+ }
159
248
  request.status = "APPROVED";
160
249
  // Update Hermes message status
161
250
  const messages = AtabeyStorage.getPendingMessages();
@@ -165,12 +254,17 @@ export function approveOperation(traceId) {
165
254
  AtabeyStorage.updateMessageStatus(msg.id, "APPROVED");
166
255
  }
167
256
  }
168
- return { success: true, message: `Operation ${traceId} approved. You may retry.` };
257
+ return { success: true, message: `Operation ${traceId} approved by '${role}'. You may retry.` };
169
258
  }
170
259
  /**
171
260
  * Reject a pending operation.
261
+ *
262
+ * RBAC: junior-role users cannot reject HIGH/CRITICAL operations.
263
+ * This prevents rogue or misconfigured recon agents from killing
264
+ * manager-delegated critical operations.
172
265
  */
173
- export function rejectOperation(traceId) {
266
+ export function rejectOperation(traceId, _userRoleIgnored // kept for API compat — value intentionally ignored
267
+ ) {
174
268
  const request = activeApprovals.get(traceId);
175
269
  if (!request) {
176
270
  return { success: false, message: `No pending approval found for trace: ${traceId}` };
@@ -178,6 +272,16 @@ export function rejectOperation(traceId) {
178
272
  if (request.status !== "PENDING") {
179
273
  return { success: false, message: `Approval for ${traceId} is already ${request.status}` };
180
274
  }
275
+ // RBAC: reject also requires minimum role for HIGH+ operations
276
+ const role = getActiveUserRole();
277
+ const canReject = !(role === "junior" && request.riskScore >= CONFIG.HIGH_RISK_THRESHOLD);
278
+ if (!canReject) {
279
+ return {
280
+ success: false,
281
+ message: `[RBAC] Reject denied: Risk score ${request.riskScore}/100 operations cannot be rejected by '${role}'. ` +
282
+ "Minimum role required to reject is 'developer'. Set MCP_USER_ROLE env var."
283
+ };
284
+ }
181
285
  request.status = "REJECTED";
182
286
  // Update Hermes message status
183
287
  const messages = AtabeyStorage.getPendingMessages();
@@ -187,7 +291,7 @@ export function rejectOperation(traceId) {
187
291
  AtabeyStorage.updateMessageStatus(msg.id, "REJECTED");
188
292
  }
189
293
  }
190
- return { success: true, message: `Operation ${traceId} rejected.` };
294
+ return { success: true, message: `Operation ${traceId} rejected by '${role}'.` };
191
295
  }
192
296
  /**
193
297
  * Get all pending approval requests.
@@ -1 +1 @@
1
- {"version":3,"file":"human-in-loop.js","sourceRoot":"","sources":["../../../../framework-mcp/src/utils/human-in-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"human-in-loop.js","sourceRoot":"","sources":["../../../../framework-mcp/src/utils/human-in-loop.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,76 @@
1
+ /**
2
+ * ─── RBAC PERMISSION MATRIX ───────────────────────────────────────────────
3
+ *
4
+ * Enforces agent-scoped file system permissions at the MCP tool layer.
5
+ * This is the file-level RBAC enforcement point for:
6
+ * - Claude Code (calls write_file / read_file via MCP sub-agents)
7
+ * - Gemini CLI (calls write_file / read_file via MCP server)
8
+ * - Cursor (calls write_file / read_file via MCP rules)
9
+ * - Codex CLI (calls write_file / read_file via agent allowed-tools)
10
+ * - Antigravity (calls write_file / read_file via customAgentSpec tools)
11
+ *
12
+ * Permission matrix is stored in `.atabey/permission-matrix.json`:
13
+ * {
14
+ * "@frontend": { "write": ["apps/web/**"], "read": ["apps/web/**", "docs/**"] },
15
+ * "@backend": { "write": ["apps/backend/**"], "read": ["apps/backend/**", "apps/web/types/**"] }
16
+ * }
17
+ *
18
+ * Agent Tier enforcement:
19
+ * supreme (@manager, @security) — no write/read restrictions (omnipotent)
20
+ * core (@backend, @frontend, ...) — matrix-enforced
21
+ * recon (@explorer, @git, @analyst, @native) — read-only by default,
22
+ * write requires explicit matrix entry
23
+ */
1
24
  export interface PermissionMatrix {
2
25
  [agent: string]: {
3
26
  write: string[];
4
27
  read?: string[];
5
28
  };
6
29
  }
30
+ /** Atabey AgentTier — mirrors src/modules/agents/types.ts */
31
+ export type AgentTier = "supreme" | "core" | "recon";
32
+ export declare function getAgentTier(agentName: string): AgentTier;
33
+ /**
34
+ * Resolves the active agent for the current operation.
35
+ *
36
+ * Priority order:
37
+ * 1. ATABEY_ACTIVE_AGENT env var (set by AgentLoop per-invocation — most reliable)
38
+ * 2. `.atabey/memory/status.json` first EXECUTING agent (legacy fallback)
39
+ *
40
+ * Note: The traceId-scoped approach is preferred when AgentLoop sets
41
+ * ATABEY_ACTIVE_AGENT before spawning the MCP tool call.
42
+ */
43
+ export declare function resolveActiveAgent(frameworkDir: string): string | null;
7
44
  /**
8
- * Validates if the active agent has write permission for the target file.
9
- * Automatically identifies the active agent by checking the status.json store
10
- * for the agent in the "EXECUTING" state.
45
+ * Verifies that the active agent has WRITE permission for the target file.
46
+ * Called by: write_file, replace_text, batch_surgical_edit, patch_file
47
+ *
48
+ * Throws a descriptive error if permission is denied.
11
49
  */
12
50
  export declare function verifyWritePermission(projectRoot: string, targetFilePath: string): void;
51
+ /**
52
+ * Verifies that the active agent has READ permission for the target file.
53
+ * Called by: read_file, view_file (alias)
54
+ *
55
+ * Throws a descriptive error if permission is denied.
56
+ * Note: read enforcement is SOFTER than write — recon agents can read freely
57
+ * unless an explicit read matrix restriction is defined.
58
+ */
59
+ export declare function verifyReadPermission(projectRoot: string, targetFilePath: string): void;
60
+ /**
61
+ * Verifies that the sender agent is allowed to send messages to the target agent
62
+ * based on the AgentTier hierarchy.
63
+ *
64
+ * Messaging rules (AI IDE governance layer):
65
+ * - Any tier → supreme: allowed (escalation always permitted)
66
+ * - core → core: allowed
67
+ * - recon → core: allowed (recon can delegate up)
68
+ * - recon → supreme: allowed
69
+ * - core → recon: BLOCKED (core agents should not delegate down to recon)
70
+ * - supreme → any: allowed
71
+ *
72
+ * Rationale: Recon agents (@explorer, @git) are information-gatherers.
73
+ * If a core agent delegates to a recon agent, it bypasses the quality gate
74
+ * and risk engine — a potential governance gap.
75
+ */
76
+ export declare function verifyMessagingPermission(fromAgent: string, toAgent: string): void;