atabey 0.0.15 → 0.0.17
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/dist/atabey/src/cli/commands/approve.d.ts +1 -0
- package/dist/atabey/src/cli/commands/approve.js +64 -0
- package/dist/atabey/src/cli/commands/approve.js.map +1 -0
- package/dist/atabey/src/cli/commands/check.d.ts +1 -0
- package/dist/atabey/src/cli/commands/check.js +197 -0
- package/dist/atabey/src/cli/commands/check.js.map +1 -0
- package/dist/atabey/src/cli/commands/compliance.d.ts +5 -0
- package/dist/atabey/src/cli/commands/compliance.js +43 -0
- package/dist/atabey/src/cli/commands/compliance.js.map +1 -0
- package/dist/atabey/src/cli/commands/contract.d.ts +10 -0
- package/dist/atabey/src/cli/commands/contract.js +52 -0
- package/dist/atabey/src/cli/commands/contract.js.map +1 -0
- package/dist/atabey/src/cli/commands/coverage.d.ts +1 -0
- package/dist/atabey/src/cli/commands/coverage.js +121 -0
- package/dist/atabey/src/cli/commands/coverage.js.map +1 -0
- package/dist/atabey/src/cli/commands/dashboard.d.ts +5 -0
- package/dist/atabey/src/cli/commands/dashboard.js +753 -0
- package/dist/atabey/src/cli/commands/dashboard.js.map +1 -0
- package/dist/atabey/src/cli/commands/explorer.d.ts +2 -0
- package/dist/atabey/src/cli/commands/explorer.js +44 -0
- package/dist/atabey/src/cli/commands/explorer.js.map +1 -0
- package/dist/atabey/src/cli/commands/git.d.ts +2 -0
- package/dist/atabey/src/cli/commands/git.js +40 -0
- package/dist/atabey/src/cli/commands/git.js.map +1 -0
- package/dist/atabey/src/cli/commands/index-codebase.d.ts +4 -0
- package/dist/atabey/src/cli/commands/index-codebase.js +52 -0
- package/dist/atabey/src/cli/commands/index-codebase.js.map +1 -0
- package/dist/atabey/src/cli/commands/init/create-agent.d.ts +4 -0
- package/dist/atabey/src/cli/commands/init/create-agent.js +59 -0
- package/dist/atabey/src/cli/commands/init/create-agent.js.map +1 -0
- package/dist/atabey/src/cli/commands/init/scaffold-core.d.ts +13 -0
- package/dist/atabey/src/cli/commands/init/scaffold-core.js +129 -0
- package/dist/atabey/src/cli/commands/init/scaffold-core.js.map +1 -0
- package/dist/atabey/src/cli/commands/init/scaffold-docs.d.ts +4 -0
- package/dist/atabey/src/cli/commands/init/scaffold-docs.js +36 -0
- package/dist/atabey/src/cli/commands/init/scaffold-docs.js.map +1 -0
- package/dist/atabey/src/cli/commands/init/scaffold-ops.d.ts +1 -0
- package/dist/atabey/src/cli/commands/init/scaffold-ops.js +81 -0
- package/dist/atabey/src/cli/commands/init/scaffold-ops.js.map +1 -0
- package/dist/atabey/src/cli/commands/init/scaffold-standards.d.ts +2 -0
- package/dist/atabey/src/cli/commands/init/scaffold-standards.js +84 -0
- package/dist/atabey/src/cli/commands/init/scaffold-standards.js.map +1 -0
- package/dist/atabey/src/cli/commands/init.d.ts +11 -0
- package/dist/atabey/src/cli/commands/init.js +362 -0
- package/dist/atabey/src/cli/commands/init.js.map +1 -0
- package/dist/atabey/src/cli/commands/knowledge.d.ts +2 -0
- package/dist/atabey/src/cli/commands/knowledge.js +16 -0
- package/dist/atabey/src/cli/commands/knowledge.js.map +1 -0
- package/dist/atabey/src/cli/commands/lint.d.ts +4 -0
- package/dist/atabey/src/cli/commands/lint.js +24 -0
- package/dist/atabey/src/cli/commands/lint.js.map +1 -0
- package/dist/atabey/src/cli/commands/log.d.ts +10 -0
- package/dist/atabey/src/cli/commands/log.js +14 -0
- package/dist/atabey/src/cli/commands/log.js.map +1 -0
- package/dist/atabey/src/cli/commands/mcp.d.ts +11 -0
- package/dist/atabey/src/cli/commands/mcp.js +132 -0
- package/dist/atabey/src/cli/commands/mcp.js.map +1 -0
- package/dist/atabey/src/cli/commands/memory.d.ts +1 -0
- package/dist/atabey/src/cli/commands/memory.js +5 -0
- package/dist/atabey/src/cli/commands/memory.js.map +1 -0
- package/dist/atabey/src/cli/commands/orchestrate.d.ts +61 -0
- package/dist/atabey/src/cli/commands/orchestrate.js +238 -0
- package/dist/atabey/src/cli/commands/orchestrate.js.map +1 -0
- package/dist/atabey/src/cli/commands/plan.d.ts +11 -0
- package/dist/atabey/src/cli/commands/plan.js +120 -0
- package/dist/atabey/src/cli/commands/plan.js.map +1 -0
- package/dist/atabey/src/cli/commands/quickstart.d.ts +9 -0
- package/dist/atabey/src/cli/commands/quickstart.js +60 -0
- package/dist/atabey/src/cli/commands/quickstart.js.map +1 -0
- package/dist/atabey/src/cli/commands/script.d.ts +1 -0
- package/dist/atabey/src/cli/commands/script.js +28 -0
- package/dist/atabey/src/cli/commands/script.js.map +1 -0
- package/dist/atabey/src/cli/commands/security.d.ts +1 -0
- package/dist/atabey/src/cli/commands/security.js +34 -0
- package/dist/atabey/src/cli/commands/security.js.map +1 -0
- package/dist/atabey/src/cli/commands/status.d.ts +4 -0
- package/dist/atabey/src/cli/commands/status.js +122 -0
- package/dist/atabey/src/cli/commands/status.js.map +1 -0
- package/dist/atabey/src/cli/commands/trace.d.ts +10 -0
- package/dist/atabey/src/cli/commands/trace.js +108 -0
- package/dist/atabey/src/cli/commands/trace.js.map +1 -0
- package/dist/atabey/src/cli/index.js +282 -0
- package/dist/atabey/src/cli/index.js.map +1 -0
- package/dist/atabey/src/cli/platforms/core.d.ts +12 -0
- package/dist/atabey/src/cli/platforms/core.js +73 -0
- package/dist/atabey/src/cli/platforms/core.js.map +1 -0
- package/dist/atabey/src/cli/platforms/index.d.ts +5 -0
- package/dist/atabey/src/cli/platforms/index.js +6 -0
- package/dist/atabey/src/cli/platforms/index.js.map +1 -0
- package/dist/atabey/src/cli/platforms/paths.d.ts +15 -0
- package/dist/atabey/src/cli/platforms/paths.js +102 -0
- package/dist/atabey/src/cli/platforms/paths.js.map +1 -0
- package/dist/atabey/src/cli/platforms/scaffold.d.ts +2 -0
- package/dist/atabey/src/cli/platforms/scaffold.js +73 -0
- package/dist/atabey/src/cli/platforms/scaffold.js.map +1 -0
- package/dist/atabey/src/cli/platforms/utils.d.ts +4 -0
- package/dist/atabey/src/cli/platforms/utils.js.map +1 -0
- package/dist/atabey/src/cli/shims.d.ts +1 -0
- package/dist/atabey/src/cli/shims.js +67 -0
- package/dist/atabey/src/cli/shims.js.map +1 -0
- package/dist/atabey/src/cli/utils/claude.d.ts +8 -0
- package/dist/atabey/src/cli/utils/claude.js +58 -0
- package/dist/atabey/src/cli/utils/claude.js.map +1 -0
- package/dist/atabey/src/cli/utils/compliance.d.ts +42 -0
- package/dist/atabey/src/cli/utils/compliance.js +150 -0
- package/dist/atabey/src/cli/utils/compliance.js.map +1 -0
- package/dist/atabey/src/cli/utils/config-schema.d.ts +139 -0
- package/dist/atabey/src/cli/utils/config-schema.js +43 -0
- package/dist/atabey/src/cli/utils/config-schema.js.map +1 -0
- package/dist/atabey/src/cli/utils/fs.d.ts +10 -0
- package/dist/atabey/src/cli/utils/fs.js +139 -0
- package/dist/atabey/src/cli/utils/fs.js.map +1 -0
- package/dist/atabey/src/cli/utils/i18n.d.ts +21 -0
- package/dist/atabey/src/cli/utils/i18n.js +36 -0
- package/dist/atabey/src/cli/utils/i18n.js.map +1 -0
- package/dist/atabey/src/cli/utils/memory.d.ts +39 -0
- package/dist/atabey/src/cli/utils/memory.js +281 -0
- package/dist/atabey/src/cli/utils/memory.js.map +1 -0
- package/dist/atabey/src/cli/utils/pkg.d.ts +43 -0
- package/dist/atabey/src/cli/utils/pkg.js +283 -0
- package/dist/atabey/src/cli/utils/pkg.js.map +1 -0
- package/dist/atabey/src/cli/utils/quality.d.ts +25 -0
- package/dist/atabey/src/cli/utils/quality.js +66 -0
- package/dist/atabey/src/cli/utils/quality.js.map +1 -0
- package/dist/atabey/src/cli/utils/schemas.d.ts +49 -0
- package/dist/atabey/src/cli/utils/schemas.js +20 -0
- package/dist/atabey/src/cli/utils/schemas.js.map +1 -0
- package/dist/atabey/src/cli/utils/string.d.ts +7 -0
- package/dist/atabey/src/cli/utils/string.js +50 -0
- package/dist/atabey/src/cli/utils/string.js.map +1 -0
- package/dist/atabey/src/cli/utils/time.d.ts +2 -0
- package/dist/atabey/src/cli/utils/time.js +28 -0
- package/dist/atabey/src/cli/utils/time.js.map +1 -0
- package/dist/atabey/src/cli/utils/ui.d.ts +53 -0
- package/dist/atabey/src/cli/utils/ui.js +101 -0
- package/dist/atabey/src/cli/utils/ui.js.map +1 -0
- package/dist/atabey/src/contracts/index.d.ts +1 -0
- package/dist/atabey/src/contracts/index.js +2 -0
- package/dist/atabey/src/contracts/index.js.map +1 -0
- package/dist/atabey/src/contracts/tasks.d.ts +44 -0
- package/dist/atabey/src/contracts/tasks.js +21 -0
- package/dist/atabey/src/contracts/tasks.js.map +1 -0
- package/dist/atabey/src/modules/agents/definitions.d.ts +26 -0
- package/dist/atabey/src/modules/agents/definitions.js +564 -0
- package/dist/atabey/src/modules/agents/definitions.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/analyst.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/analyst.js +40 -0
- package/dist/atabey/src/modules/agents/registry/analyst.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/architect.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/architect.js +43 -0
- package/dist/atabey/src/modules/agents/registry/architect.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/backend.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/backend.js +51 -0
- package/dist/atabey/src/modules/agents/registry/backend.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/database.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/database.js +46 -0
- package/dist/atabey/src/modules/agents/registry/database.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/devops.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/devops.js +46 -0
- package/dist/atabey/src/modules/agents/registry/devops.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/explorer.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/explorer.js +38 -0
- package/dist/atabey/src/modules/agents/registry/explorer.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/frontend.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/frontend.js +53 -0
- package/dist/atabey/src/modules/agents/registry/frontend.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/git.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/git.js +37 -0
- package/dist/atabey/src/modules/agents/registry/git.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/manager.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/manager.js +65 -0
- package/dist/atabey/src/modules/agents/registry/manager.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/mobile.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/mobile.js +42 -0
- package/dist/atabey/src/modules/agents/registry/mobile.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/native.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/native.js +42 -0
- package/dist/atabey/src/modules/agents/registry/native.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/quality.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/quality.js +44 -0
- package/dist/atabey/src/modules/agents/registry/quality.js.map +1 -0
- package/dist/atabey/src/modules/agents/registry/security.d.ts +2 -0
- package/dist/atabey/src/modules/agents/registry/security.js +43 -0
- package/dist/atabey/src/modules/agents/registry/security.js.map +1 -0
- package/dist/atabey/src/modules/agents/types.d.ts +33 -0
- package/dist/atabey/src/modules/agents/types.js +2 -0
- package/dist/atabey/src/modules/agents/types.js.map +1 -0
- package/dist/atabey/src/modules/contracts/api.d.ts +178 -0
- package/dist/atabey/src/modules/contracts/api.js +56 -0
- package/dist/atabey/src/modules/contracts/api.js.map +1 -0
- package/dist/atabey/src/modules/contracts/index.d.ts +5 -0
- package/dist/atabey/src/modules/contracts/index.js +6 -0
- package/dist/atabey/src/modules/contracts/index.js.map +1 -0
- package/dist/atabey/src/modules/engines/agent-executor.d.ts +46 -0
- package/dist/atabey/src/modules/engines/agent-executor.js +241 -0
- package/dist/atabey/src/modules/engines/agent-executor.js.map +1 -0
- package/dist/atabey/src/modules/engines/agent-loop.d.ts +34 -0
- package/dist/atabey/src/modules/engines/agent-loop.js +102 -0
- package/dist/atabey/src/modules/engines/agent-loop.js.map +1 -0
- package/dist/atabey/src/modules/engines/contract-engine.d.ts +46 -0
- package/dist/atabey/src/modules/engines/contract-engine.js +116 -0
- package/dist/atabey/src/modules/engines/contract-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/crud-governance.d.ts +64 -0
- package/dist/atabey/src/modules/engines/crud-governance.js +184 -0
- package/dist/atabey/src/modules/engines/crud-governance.js.map +1 -0
- package/dist/atabey/src/modules/engines/discovery-engine.d.ts +42 -0
- package/dist/atabey/src/modules/engines/discovery-engine.js +161 -0
- package/dist/atabey/src/modules/engines/discovery-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/evaluation-engine.d.ts +18 -0
- package/dist/atabey/src/modules/engines/evaluation-engine.js +171 -0
- package/dist/atabey/src/modules/engines/evaluation-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/file-lock.d.ts +41 -0
- package/dist/atabey/src/modules/engines/file-lock.js +168 -0
- package/dist/atabey/src/modules/engines/file-lock.js.map +1 -0
- package/dist/atabey/src/modules/engines/health-engine.d.ts +22 -0
- package/dist/atabey/src/modules/engines/health-engine.js +127 -0
- package/dist/atabey/src/modules/engines/health-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/phase-engine.d.ts +82 -0
- package/dist/atabey/src/modules/engines/phase-engine.js +211 -0
- package/dist/atabey/src/modules/engines/phase-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/planning-engine.d.ts +25 -0
- package/dist/atabey/src/modules/engines/planning-engine.js +80 -0
- package/dist/atabey/src/modules/engines/planning-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/policy-engine.d.ts +63 -0
- package/dist/atabey/src/modules/engines/policy-engine.js +186 -0
- package/dist/atabey/src/modules/engines/policy-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/quality-gate.d.ts +31 -0
- package/dist/atabey/src/modules/engines/quality-gate.js +95 -0
- package/dist/atabey/src/modules/engines/quality-gate.js.map +1 -0
- package/dist/atabey/src/modules/engines/risk-engine.d.ts +34 -0
- package/dist/atabey/src/modules/engines/risk-engine.js +201 -0
- package/dist/atabey/src/modules/engines/risk-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/routing-engine.d.ts +96 -0
- package/dist/atabey/src/modules/engines/routing-engine.js +505 -0
- package/dist/atabey/src/modules/engines/routing-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/session-engine.d.ts +68 -0
- package/dist/atabey/src/modules/engines/session-engine.js +141 -0
- package/dist/atabey/src/modules/engines/session-engine.js.map +1 -0
- package/dist/atabey/src/modules/engines/types.d.ts +51 -0
- package/dist/atabey/src/modules/engines/types.js +2 -0
- package/dist/atabey/src/modules/engines/types.js.map +1 -0
- package/dist/atabey/src/modules/memory/core.d.ts +42 -0
- package/dist/atabey/src/modules/memory/core.js +100 -0
- package/dist/atabey/src/modules/memory/core.js.map +1 -0
- package/dist/atabey/src/modules/memory/embedding.d.ts +28 -0
- package/dist/atabey/src/modules/memory/embedding.js +131 -0
- package/dist/atabey/src/modules/memory/embedding.js.map +1 -0
- package/dist/atabey/src/modules/memory/types.d.ts +18 -0
- package/dist/atabey/src/modules/memory/types.js +2 -0
- package/dist/atabey/src/modules/memory/types.js.map +1 -0
- package/dist/atabey/src/modules/memory/vector-store.d.ts +13 -0
- package/dist/atabey/src/modules/memory/vector-store.js +75 -0
- package/dist/atabey/src/modules/memory/vector-store.js.map +1 -0
- package/dist/atabey/src/modules/providers/definitions.js.map +1 -0
- package/dist/atabey/src/modules/providers/llm-provider.d.ts +87 -0
- package/dist/atabey/src/modules/providers/llm-provider.js +242 -0
- package/dist/atabey/src/modules/providers/llm-provider.js.map +1 -0
- package/dist/atabey/src/modules/providers/registry.js.map +1 -0
- package/dist/atabey/src/modules/providers/shared.js +104 -0
- package/dist/atabey/src/modules/providers/shared.js.map +1 -0
- package/dist/atabey/src/modules/providers/types.js.map +1 -0
- package/dist/atabey/src/modules/skills/adapter-skills.d.ts +68 -0
- package/dist/atabey/src/modules/skills/adapter-skills.js +450 -0
- package/dist/atabey/src/modules/skills/adapter-skills.js.map +1 -0
- package/dist/atabey/src/modules/skills/definitions.d.ts +48 -0
- package/dist/atabey/src/modules/skills/definitions.js +71 -0
- package/dist/atabey/src/modules/skills/definitions.js.map +1 -0
- package/dist/atabey/src/shared/audit.d.ts +105 -0
- package/dist/atabey/src/shared/audit.js +221 -0
- package/dist/atabey/src/shared/audit.js.map +1 -0
- package/dist/atabey/src/shared/constants.d.ts +120 -0
- package/dist/atabey/src/shared/constants.js +188 -0
- package/dist/atabey/src/shared/constants.js.map +1 -0
- package/dist/atabey/src/shared/errors.js.map +1 -0
- package/dist/atabey/src/shared/fs.d.ts +9 -0
- package/dist/atabey/src/shared/fs.js +54 -0
- package/dist/atabey/src/shared/fs.js.map +1 -0
- package/dist/atabey/src/shared/lock.d.ts +82 -0
- package/dist/atabey/src/shared/lock.js +160 -0
- package/dist/atabey/src/shared/lock.js.map +1 -0
- package/dist/atabey/src/shared/logger.d.ts +30 -0
- package/dist/atabey/src/shared/logger.js +127 -0
- package/dist/atabey/src/shared/logger.js.map +1 -0
- package/dist/atabey/src/shared/pii.d.ts +69 -0
- package/dist/atabey/src/shared/pii.js +213 -0
- package/dist/atabey/src/shared/pii.js.map +1 -0
- package/dist/atabey/src/shared/retention.d.ts +63 -0
- package/dist/atabey/src/shared/retention.js +171 -0
- package/dist/atabey/src/shared/retention.js.map +1 -0
- package/dist/atabey/src/shared/storage.d.ts +141 -0
- package/dist/atabey/src/shared/storage.js +326 -0
- package/dist/atabey/src/shared/storage.js.map +1 -0
- package/dist/atabey/src/shared/string.d.ts +1 -0
- package/dist/atabey/src/shared/string.js +30 -0
- package/dist/atabey/src/shared/string.js.map +1 -0
- package/dist/atabey/src/shared/types.d.ts +27 -0
- package/dist/atabey/src/shared/types.js +17 -0
- package/dist/atabey/src/shared/types.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/auth.d.ts +40 -0
- package/dist/atabey-mcp/src/mcp/utils/auth.js +154 -0
- package/dist/atabey-mcp/src/mcp/utils/auth.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/auto-rollback.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/context-optimizer.d.ts +110 -0
- package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js +391 -0
- package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/discipline.d.ts +69 -0
- package/dist/atabey-mcp/src/mcp/utils/discipline.js +257 -0
- package/dist/atabey-mcp/src/mcp/utils/discipline.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/finops.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/license-scanner.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/loop-detector.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/memory.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/quality.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/rules-engine.js.map +1 -0
- package/dist/atabey-mcp/src/mcp/utils/telemetry-streamer.js +397 -0
- package/dist/atabey-mcp/src/mcp/utils/telemetry-streamer.js.map +1 -0
- package/dist/atabey-mcp/src/shared/fs.d.ts +9 -0
- package/dist/atabey-mcp/src/shared/fs.js +54 -0
- package/dist/atabey-mcp/src/shared/fs.js.map +1 -0
- package/dist/atabey-mcp/src/shared/logger.d.ts +30 -0
- package/dist/atabey-mcp/src/shared/logger.js +127 -0
- package/dist/atabey-mcp/src/shared/logger.js.map +1 -0
- package/dist/atabey-mcp/src/shared/pii.d.ts +69 -0
- package/dist/atabey-mcp/src/shared/pii.js +213 -0
- package/dist/atabey-mcp/src/shared/pii.js.map +1 -0
- package/dist/atabey-mcp/src/shared/storage.d.ts +167 -0
- package/dist/atabey-mcp/src/shared/storage.js +293 -0
- package/dist/atabey-mcp/src/shared/storage.js.map +1 -0
- package/dist/atabey-mcp/src/shared/types.js.map +1 -0
- package/dist/src/cli/commands/check.js +1 -1
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/dashboard.js +168 -3
- package/dist/src/cli/commands/dashboard.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-standards.js +1 -1
- package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
- package/dist/src/cli/commands/log.js +8 -5
- package/dist/src/cli/commands/log.js.map +1 -1
- package/dist/src/cli/commands/mcp.js +3 -3
- package/dist/src/cli/commands/mcp.js.map +1 -1
- package/dist/src/cli/commands/orchestrate.d.ts +6 -6
- package/dist/src/cli/commands/orchestrate.js +14 -2
- package/dist/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/src/cli/commands/status.js +21 -1
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/utils/compliance.d.ts +37 -7
- package/dist/src/cli/utils/compliance.js +144 -7
- package/dist/src/cli/utils/compliance.js.map +1 -1
- package/dist/src/cli/utils/memory.js +6 -5
- package/dist/src/cli/utils/memory.js.map +1 -1
- package/dist/src/cli/utils/pkg.js +1 -1
- package/dist/src/cli/utils/pkg.js.map +1 -1
- package/dist/src/cli/utils/quality.d.ts +4 -6
- package/dist/src/cli/utils/quality.js +3 -5
- package/dist/src/cli/utils/quality.js.map +1 -1
- package/dist/src/cli/utils/schemas.d.ts +4 -4
- package/dist/src/contracts/tasks.d.ts +4 -4
- package/dist/src/modules/engines/agent-executor.js +30 -19
- package/dist/src/modules/engines/agent-executor.js.map +1 -1
- package/dist/src/modules/engines/contract-engine.d.ts +46 -0
- package/dist/src/modules/engines/contract-engine.js +116 -0
- package/dist/src/modules/engines/contract-engine.js.map +1 -0
- package/dist/src/modules/engines/crud-governance.d.ts +64 -0
- package/dist/src/modules/engines/crud-governance.js +184 -0
- package/dist/src/modules/engines/crud-governance.js.map +1 -0
- package/dist/src/modules/engines/discovery-engine.d.ts +42 -0
- package/dist/src/modules/engines/discovery-engine.js +161 -0
- package/dist/src/modules/engines/discovery-engine.js.map +1 -0
- package/dist/src/modules/engines/evaluation-engine.d.ts +0 -3
- package/dist/src/modules/engines/evaluation-engine.js +17 -16
- package/dist/src/modules/engines/evaluation-engine.js.map +1 -1
- package/dist/src/modules/engines/file-lock.d.ts +41 -0
- package/dist/src/modules/engines/file-lock.js +168 -0
- package/dist/src/modules/engines/file-lock.js.map +1 -0
- package/dist/src/modules/engines/phase-engine.d.ts +82 -0
- package/dist/src/modules/engines/phase-engine.js +211 -0
- package/dist/src/modules/engines/phase-engine.js.map +1 -0
- package/dist/src/modules/engines/policy-engine.d.ts +63 -0
- package/dist/src/modules/engines/policy-engine.js +186 -0
- package/dist/src/modules/engines/policy-engine.js.map +1 -0
- package/dist/src/modules/engines/quality-gate.js +4 -2
- package/dist/src/modules/engines/quality-gate.js.map +1 -1
- package/dist/src/modules/engines/risk-engine.d.ts +17 -1
- package/dist/src/modules/engines/risk-engine.js +98 -3
- package/dist/src/modules/engines/risk-engine.js.map +1 -1
- package/dist/src/modules/engines/routing-engine.d.ts +26 -1
- package/dist/src/modules/engines/routing-engine.js +97 -1
- package/dist/src/modules/engines/routing-engine.js.map +1 -1
- package/dist/src/modules/engines/session-engine.d.ts +68 -0
- package/dist/src/modules/engines/session-engine.js +141 -0
- package/dist/src/modules/engines/session-engine.js.map +1 -0
- package/dist/src/modules/providers/llm-provider.d.ts +87 -0
- package/dist/src/modules/providers/llm-provider.js +242 -0
- package/dist/src/modules/providers/llm-provider.js.map +1 -0
- package/dist/src/modules/providers/shared.js +2 -3
- package/dist/src/modules/providers/shared.js.map +1 -1
- package/dist/src/shared/constants.d.ts +1 -1
- package/dist/src/shared/constants.js +1 -1
- package/dist/src/shared/constants.js.map +1 -1
- package/dist/src/shared/storage.d.ts +17 -0
- package/dist/src/shared/storage.js +76 -2
- package/dist/src/shared/storage.js.map +1 -1
- package/dist/tests/cli/commands/dashboard-coverage.test.js +3 -1
- package/dist/tests/cli/commands/dashboard-coverage.test.js.map +1 -1
- package/dist/tests/modules/engines/evaluation-engine.test.js +2 -2
- package/dist/tests/modules/engines/evaluation-engine.test.js.map +1 -1
- package/dist/tests/status-cost.test.js +2 -0
- package/dist/tests/status-cost.test.js.map +1 -1
- package/dist/tests/storage-operations.test.js +31 -4
- package/dist/tests/storage-operations.test.js.map +1 -1
- package/package.json +13 -55
- package/LICENSE +0 -21
- package/README.md +0 -773
- package/dist/framework-mcp/src/constants.d.ts +0 -47
- package/dist/framework-mcp/src/constants.js +0 -65
- package/dist/framework-mcp/src/constants.js.map +0 -1
- package/dist/framework-mcp/src/index.js +0 -1082
- package/dist/framework-mcp/src/index.js.map +0 -1
- package/dist/framework-mcp/src/resources/index.d.ts +0 -10
- package/dist/framework-mcp/src/resources/index.js +0 -59
- package/dist/framework-mcp/src/resources/index.js.map +0 -1
- package/dist/framework-mcp/src/tools/compliance/mask_pii.d.ts +0 -17
- package/dist/framework-mcp/src/tools/compliance/mask_pii.js +0 -56
- package/dist/framework-mcp/src/tools/compliance/mask_pii.js.map +0 -1
- package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +0 -9
- package/dist/framework-mcp/src/tools/control_plane/locking.js +0 -85
- package/dist/framework-mcp/src/tools/control_plane/locking.js.map +0 -1
- package/dist/framework-mcp/src/tools/control_plane/registry.d.ts +0 -6
- package/dist/framework-mcp/src/tools/control_plane/registry.js +0 -36
- package/dist/framework-mcp/src/tools/control_plane/registry.js.map +0 -1
- package/dist/framework-mcp/src/tools/definitions.d.ts +0 -7
- package/dist/framework-mcp/src/tools/definitions.js +0 -199
- package/dist/framework-mcp/src/tools/definitions.js.map +0 -1
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.d.ts +0 -5
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +0 -65
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +0 -1
- package/dist/framework-mcp/src/tools/file_system/patch_file.d.ts +0 -2
- package/dist/framework-mcp/src/tools/file_system/patch_file.js +0 -35
- package/dist/framework-mcp/src/tools/file_system/patch_file.js.map +0 -1
- package/dist/framework-mcp/src/tools/file_system/read_file.d.ts +0 -2
- package/dist/framework-mcp/src/tools/file_system/read_file.js +0 -52
- package/dist/framework-mcp/src/tools/file_system/read_file.js.map +0 -1
- package/dist/framework-mcp/src/tools/file_system/replace_text.d.ts +0 -2
- package/dist/framework-mcp/src/tools/file_system/replace_text.js +0 -51
- package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +0 -1
- package/dist/framework-mcp/src/tools/file_system/write_file.d.ts +0 -2
- package/dist/framework-mcp/src/tools/file_system/write_file.js +0 -56
- package/dist/framework-mcp/src/tools/file_system/write_file.js.map +0 -1
- package/dist/framework-mcp/src/tools/framework/audit_deps.d.ts +0 -6
- package/dist/framework-mcp/src/tools/framework/audit_deps.js +0 -42
- package/dist/framework-mcp/src/tools/framework/audit_deps.js.map +0 -1
- package/dist/framework-mcp/src/tools/framework/get_status.d.ts +0 -2
- package/dist/framework-mcp/src/tools/framework/get_status.js +0 -6
- package/dist/framework-mcp/src/tools/framework/get_status.js.map +0 -1
- package/dist/framework-mcp/src/tools/framework/orchestrate.d.ts +0 -2
- package/dist/framework-mcp/src/tools/framework/orchestrate.js +0 -6
- package/dist/framework-mcp/src/tools/framework/orchestrate.js.map +0 -1
- package/dist/framework-mcp/src/tools/framework/run_tests.d.ts +0 -5
- package/dist/framework-mcp/src/tools/framework/run_tests.js +0 -53
- package/dist/framework-mcp/src/tools/framework/run_tests.js.map +0 -1
- package/dist/framework-mcp/src/tools/framework/submit_plan.d.ts +0 -11
- package/dist/framework-mcp/src/tools/framework/submit_plan.js +0 -14
- package/dist/framework-mcp/src/tools/framework/submit_plan.js.map +0 -1
- package/dist/framework-mcp/src/tools/framework/update_contract_hash.d.ts +0 -2
- package/dist/framework-mcp/src/tools/framework/update_contract_hash.js +0 -6
- package/dist/framework-mcp/src/tools/framework/update_contract_hash.js.map +0 -1
- package/dist/framework-mcp/src/tools/framework/update_memory.d.ts +0 -2
- package/dist/framework-mcp/src/tools/framework/update_memory.js +0 -9
- package/dist/framework-mcp/src/tools/framework/update_memory.js.map +0 -1
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.d.ts +0 -19
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +0 -138
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js.map +0 -1
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.d.ts +0 -8
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +0 -91
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js.map +0 -1
- package/dist/framework-mcp/src/tools/index.d.ts +0 -6
- package/dist/framework-mcp/src/tools/index.js +0 -126
- package/dist/framework-mcp/src/tools/index.js.map +0 -1
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.d.ts +0 -8
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.js +0 -29
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.js.map +0 -1
- package/dist/framework-mcp/src/tools/memory/get_insights.d.ts +0 -6
- package/dist/framework-mcp/src/tools/memory/get_insights.js +0 -23
- package/dist/framework-mcp/src/tools/memory/get_insights.js.map +0 -1
- package/dist/framework-mcp/src/tools/memory/read_memory.d.ts +0 -6
- package/dist/framework-mcp/src/tools/memory/read_memory.js +0 -29
- package/dist/framework-mcp/src/tools/memory/read_memory.js.map +0 -1
- package/dist/framework-mcp/src/tools/memory/search_knowledge.d.ts +0 -8
- package/dist/framework-mcp/src/tools/memory/search_knowledge.js +0 -49
- package/dist/framework-mcp/src/tools/memory/search_knowledge.js.map +0 -1
- package/dist/framework-mcp/src/tools/memory/store_knowledge.d.ts +0 -10
- package/dist/framework-mcp/src/tools/memory/store_knowledge.js +0 -31
- package/dist/framework-mcp/src/tools/memory/store_knowledge.js.map +0 -1
- package/dist/framework-mcp/src/tools/messaging/approve_operation.d.ts +0 -22
- package/dist/framework-mcp/src/tools/messaging/approve_operation.js +0 -81
- package/dist/framework-mcp/src/tools/messaging/approve_operation.js.map +0 -1
- package/dist/framework-mcp/src/tools/messaging/ask_human.d.ts +0 -21
- package/dist/framework-mcp/src/tools/messaging/ask_human.js +0 -100
- package/dist/framework-mcp/src/tools/messaging/ask_human.js.map +0 -1
- package/dist/framework-mcp/src/tools/messaging/log_action.d.ts +0 -2
- package/dist/framework-mcp/src/tools/messaging/log_action.js +0 -23
- package/dist/framework-mcp/src/tools/messaging/log_action.js.map +0 -1
- package/dist/framework-mcp/src/tools/messaging/send_message.d.ts +0 -2
- package/dist/framework-mcp/src/tools/messaging/send_message.js +0 -95
- package/dist/framework-mcp/src/tools/messaging/send_message.js.map +0 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.d.ts +0 -6
- package/dist/framework-mcp/src/tools/observability/check_ports.js +0 -43
- package/dist/framework-mcp/src/tools/observability/check_ports.js.map +0 -1
- package/dist/framework-mcp/src/tools/observability/get_health.d.ts +0 -5
- package/dist/framework-mcp/src/tools/observability/get_health.js +0 -20
- package/dist/framework-mcp/src/tools/observability/get_health.js.map +0 -1
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.d.ts +0 -11
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +0 -115
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js.map +0 -1
- package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.d.ts +0 -11
- package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +0 -135
- package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js.map +0 -1
- package/dist/framework-mcp/src/tools/quality/check_lint.d.ts +0 -5
- package/dist/framework-mcp/src/tools/quality/check_lint.js +0 -31
- package/dist/framework-mcp/src/tools/quality/check_lint.js.map +0 -1
- package/dist/framework-mcp/src/tools/schemas.d.ts +0 -434
- package/dist/framework-mcp/src/tools/schemas.js +0 -179
- package/dist/framework-mcp/src/tools/schemas.js.map +0 -1
- package/dist/framework-mcp/src/tools/search/get_gaps.d.ts +0 -6
- package/dist/framework-mcp/src/tools/search/get_gaps.js +0 -49
- package/dist/framework-mcp/src/tools/search/get_gaps.js.map +0 -1
- package/dist/framework-mcp/src/tools/search/get_map.d.ts +0 -6
- package/dist/framework-mcp/src/tools/search/get_map.js +0 -44
- package/dist/framework-mcp/src/tools/search/get_map.js.map +0 -1
- package/dist/framework-mcp/src/tools/search/grep_search.d.ts +0 -5
- package/dist/framework-mcp/src/tools/search/grep_search.js +0 -79
- package/dist/framework-mcp/src/tools/search/grep_search.js.map +0 -1
- package/dist/framework-mcp/src/tools/search/list_dir.d.ts +0 -5
- package/dist/framework-mcp/src/tools/search/list_dir.js +0 -29
- package/dist/framework-mcp/src/tools/search/list_dir.js.map +0 -1
- package/dist/framework-mcp/src/tools/shell/run_command.d.ts +0 -2
- package/dist/framework-mcp/src/tools/shell/run_command.js +0 -178
- package/dist/framework-mcp/src/tools/shell/run_command.js.map +0 -1
- package/dist/framework-mcp/src/tools/types.d.ts +0 -28
- package/dist/framework-mcp/src/tools/types.js +0 -3
- package/dist/framework-mcp/src/tools/types.js.map +0 -1
- package/dist/framework-mcp/src/utils/auth.d.ts +0 -36
- package/dist/framework-mcp/src/utils/auth.js +0 -79
- package/dist/framework-mcp/src/utils/auth.js.map +0 -1
- package/dist/framework-mcp/src/utils/auto-rollback.js.map +0 -1
- package/dist/framework-mcp/src/utils/cli.d.ts +0 -16
- package/dist/framework-mcp/src/utils/cli.js +0 -60
- package/dist/framework-mcp/src/utils/cli.js.map +0 -1
- package/dist/framework-mcp/src/utils/compliance.d.ts +0 -21
- package/dist/framework-mcp/src/utils/compliance.js +0 -301
- package/dist/framework-mcp/src/utils/compliance.js.map +0 -1
- package/dist/framework-mcp/src/utils/context-optimizer.d.ts +0 -69
- package/dist/framework-mcp/src/utils/context-optimizer.js +0 -157
- package/dist/framework-mcp/src/utils/context-optimizer.js.map +0 -1
- package/dist/framework-mcp/src/utils/discipline.d.ts +0 -68
- package/dist/framework-mcp/src/utils/discipline.js +0 -218
- package/dist/framework-mcp/src/utils/discipline.js.map +0 -1
- package/dist/framework-mcp/src/utils/errors.js.map +0 -1
- package/dist/framework-mcp/src/utils/finops.js.map +0 -1
- package/dist/framework-mcp/src/utils/fs.d.ts +0 -19
- package/dist/framework-mcp/src/utils/fs.js +0 -48
- package/dist/framework-mcp/src/utils/fs.js.map +0 -1
- package/dist/framework-mcp/src/utils/human-in-loop.d.ts +0 -95
- package/dist/framework-mcp/src/utils/human-in-loop.js +0 -216
- package/dist/framework-mcp/src/utils/human-in-loop.js.map +0 -1
- package/dist/framework-mcp/src/utils/license-scanner.js.map +0 -1
- package/dist/framework-mcp/src/utils/loop-detector.js.map +0 -1
- package/dist/framework-mcp/src/utils/memory.js.map +0 -1
- package/dist/framework-mcp/src/utils/metrics.d.ts +0 -30
- package/dist/framework-mcp/src/utils/metrics.js +0 -57
- package/dist/framework-mcp/src/utils/metrics.js.map +0 -1
- package/dist/framework-mcp/src/utils/permissions.d.ts +0 -12
- package/dist/framework-mcp/src/utils/permissions.js +0 -72
- package/dist/framework-mcp/src/utils/permissions.js.map +0 -1
- package/dist/framework-mcp/src/utils/quality.js.map +0 -1
- package/dist/framework-mcp/src/utils/rules-engine.js.map +0 -1
- package/dist/framework-mcp/src/utils/security.d.ts +0 -10
- package/dist/framework-mcp/src/utils/security.js +0 -61
- package/dist/framework-mcp/src/utils/security.js.map +0 -1
- package/dist/framework-mcp/src/utils/silent-router.d.ts +0 -49
- package/dist/framework-mcp/src/utils/silent-router.js +0 -155
- package/dist/framework-mcp/src/utils/silent-router.js.map +0 -1
- package/dist/framework-mcp/src/utils/storage.d.ts +0 -61
- package/dist/framework-mcp/src/utils/storage.js +0 -208
- package/dist/framework-mcp/src/utils/storage.js.map +0 -1
- package/dist/framework-mcp/src/utils/telemetry-streamer.js +0 -397
- package/dist/framework-mcp/src/utils/telemetry-streamer.js.map +0 -1
- package/dist/framework-mcp/src/utils/types.js.map +0 -1
- package/dist/framework-mcp/src/utils/zod-to-mcp.d.ts +0 -10
- package/dist/framework-mcp/src/utils/zod-to-mcp.js +0 -80
- package/dist/framework-mcp/src/utils/zod-to-mcp.js.map +0 -1
- package/dist/framework-mcp/tests/tools/file_system/compliance-risk.test.d.ts +0 -1
- package/dist/framework-mcp/tests/tools/file_system/compliance-risk.test.js +0 -84
- package/dist/framework-mcp/tests/tools/file_system/compliance-risk.test.js.map +0 -1
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.d.ts +0 -1
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +0 -192
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +0 -1
- package/dist/framework-mcp/tests/tools/file_system/permissions.test.d.ts +0 -1
- package/dist/framework-mcp/tests/tools/file_system/permissions.test.js +0 -92
- package/dist/framework-mcp/tests/tools/file_system/permissions.test.js.map +0 -1
- package/dist/framework-mcp/tests/tools/framework/run_tests.test.d.ts +0 -1
- package/dist/framework-mcp/tests/tools/framework/run_tests.test.js +0 -49
- package/dist/framework-mcp/tests/tools/framework/run_tests.test.js.map +0 -1
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.d.ts +0 -1
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +0 -125
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +0 -1
- package/dist/framework-mcp/tests/tools/observability/check_ports.test.d.ts +0 -1
- package/dist/framework-mcp/tests/tools/observability/check_ports.test.js +0 -44
- package/dist/framework-mcp/tests/tools/observability/check_ports.test.js.map +0 -1
- package/dist/framework-mcp/tests/tools/quality/check_lint.test.d.ts +0 -1
- package/dist/framework-mcp/tests/tools/quality/check_lint.test.js +0 -36
- package/dist/framework-mcp/tests/tools/quality/check_lint.test.js.map +0 -1
- package/dist/framework-mcp/tests/tools/shell/run_command.test.d.ts +0 -1
- package/dist/framework-mcp/tests/tools/shell/run_command.test.js +0 -73
- package/dist/framework-mcp/tests/tools/shell/run_command.test.js.map +0 -1
- package/dist/framework-mcp/tests/utils/auto-rollback.test.d.ts +0 -7
- package/dist/framework-mcp/tests/utils/auto-rollback.test.js +0 -178
- package/dist/framework-mcp/tests/utils/auto-rollback.test.js.map +0 -1
- package/dist/framework-mcp/tests/utils/context-optimizer.test.d.ts +0 -1
- package/dist/framework-mcp/tests/utils/context-optimizer.test.js +0 -62
- package/dist/framework-mcp/tests/utils/context-optimizer.test.js.map +0 -1
- package/dist/framework-mcp/tests/utils/finops.test.d.ts +0 -7
- package/dist/framework-mcp/tests/utils/finops.test.js +0 -157
- package/dist/framework-mcp/tests/utils/finops.test.js.map +0 -1
- package/dist/framework-mcp/tests/utils/human-in-loop.test.d.ts +0 -1
- package/dist/framework-mcp/tests/utils/human-in-loop.test.js +0 -59
- package/dist/framework-mcp/tests/utils/human-in-loop.test.js.map +0 -1
- package/dist/framework-mcp/tests/utils/license-scanner.test.d.ts +0 -7
- package/dist/framework-mcp/tests/utils/license-scanner.test.js +0 -131
- package/dist/framework-mcp/tests/utils/license-scanner.test.js.map +0 -1
- package/dist/framework-mcp/tests/utils/loop-detector.test.d.ts +0 -7
- package/dist/framework-mcp/tests/utils/loop-detector.test.js +0 -204
- package/dist/framework-mcp/tests/utils/loop-detector.test.js.map +0 -1
- package/dist/framework-mcp/tests/utils/rules-engine.test.d.ts +0 -1
- package/dist/framework-mcp/tests/utils/rules-engine.test.js +0 -106
- package/dist/framework-mcp/tests/utils/rules-engine.test.js.map +0 -1
- package/dist/framework-mcp/tests/utils/telemetry-streamer.test.d.ts +0 -7
- package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js +0 -201
- package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js.map +0 -1
- package/dist/src/cli/adapters/core.d.ts +0 -12
- package/dist/src/cli/adapters/core.js +0 -73
- package/dist/src/cli/adapters/core.js.map +0 -1
- package/dist/src/cli/adapters/index.d.ts +0 -5
- package/dist/src/cli/adapters/index.js +0 -6
- package/dist/src/cli/adapters/index.js.map +0 -1
- package/dist/src/cli/adapters/paths.d.ts +0 -15
- package/dist/src/cli/adapters/paths.js +0 -102
- package/dist/src/cli/adapters/paths.js.map +0 -1
- package/dist/src/cli/adapters/scaffold.d.ts +0 -2
- package/dist/src/cli/adapters/scaffold.js +0 -73
- package/dist/src/cli/adapters/scaffold.js.map +0 -1
- package/dist/src/cli/adapters/utils.d.ts +0 -4
- package/dist/src/cli/adapters/utils.js.map +0 -1
- package/dist/src/cli/commands/gateway.d.ts +0 -1
- package/dist/src/cli/commands/gateway.js +0 -172
- package/dist/src/cli/commands/gateway.js.map +0 -1
- package/dist/src/dashboard/src/hooks/useApi.d.ts +0 -18
- package/dist/src/dashboard/src/hooks/useApi.js +0 -47
- package/dist/src/dashboard/src/hooks/useApi.js.map +0 -1
- package/dist/src/dashboard/src/hooks/useSSE.d.ts +0 -12
- package/dist/src/dashboard/src/hooks/useSSE.js +0 -60
- package/dist/src/dashboard/src/hooks/useSSE.js.map +0 -1
- package/dist/src/dashboard/vite.config.d.ts +0 -2
- package/dist/src/dashboard/vite.config.js +0 -16
- package/dist/src/dashboard/vite.config.js.map +0 -1
- package/dist/src/modules/adapters/definitions.js.map +0 -1
- package/dist/src/modules/adapters/registry.js.map +0 -1
- package/dist/src/modules/adapters/shared.js +0 -105
- package/dist/src/modules/adapters/shared.js.map +0 -1
- package/dist/src/modules/adapters/types.js.map +0 -1
- package/dist/src/modules/gateway/circuit-breaker.d.ts +0 -40
- package/dist/src/modules/gateway/circuit-breaker.js +0 -163
- package/dist/src/modules/gateway/circuit-breaker.js.map +0 -1
- package/dist/src/modules/gateway/cost-tracker.d.ts +0 -60
- package/dist/src/modules/gateway/cost-tracker.js +0 -198
- package/dist/src/modules/gateway/cost-tracker.js.map +0 -1
- package/dist/src/modules/gateway/gateway.d.ts +0 -72
- package/dist/src/modules/gateway/gateway.js +0 -243
- package/dist/src/modules/gateway/gateway.js.map +0 -1
- package/dist/src/modules/gateway/index.d.ts +0 -19
- package/dist/src/modules/gateway/index.js +0 -19
- package/dist/src/modules/gateway/index.js.map +0 -1
- package/dist/src/modules/gateway/load-balancer.d.ts +0 -86
- package/dist/src/modules/gateway/load-balancer.js +0 -230
- package/dist/src/modules/gateway/load-balancer.js.map +0 -1
- package/dist/src/modules/gateway/providers/anthropic.d.ts +0 -14
- package/dist/src/modules/gateway/providers/anthropic.js +0 -169
- package/dist/src/modules/gateway/providers/anthropic.js.map +0 -1
- package/dist/src/modules/gateway/providers/base.d.ts +0 -38
- package/dist/src/modules/gateway/providers/base.js +0 -42
- package/dist/src/modules/gateway/providers/base.js.map +0 -1
- package/dist/src/modules/gateway/providers/google.d.ts +0 -18
- package/dist/src/modules/gateway/providers/google.js +0 -176
- package/dist/src/modules/gateway/providers/google.js.map +0 -1
- package/dist/src/modules/gateway/providers/grok.d.ts +0 -14
- package/dist/src/modules/gateway/providers/grok.js +0 -166
- package/dist/src/modules/gateway/providers/grok.js.map +0 -1
- package/dist/src/modules/gateway/providers/index.d.ts +0 -21
- package/dist/src/modules/gateway/providers/index.js +0 -38
- package/dist/src/modules/gateway/providers/index.js.map +0 -1
- package/dist/src/modules/gateway/providers/ollama.d.ts +0 -23
- package/dist/src/modules/gateway/providers/ollama.js +0 -187
- package/dist/src/modules/gateway/providers/ollama.js.map +0 -1
- package/dist/src/modules/gateway/providers/openai.d.ts +0 -14
- package/dist/src/modules/gateway/providers/openai.js +0 -170
- package/dist/src/modules/gateway/providers/openai.js.map +0 -1
- package/dist/src/modules/gateway/rate-limiter.d.ts +0 -41
- package/dist/src/modules/gateway/rate-limiter.js +0 -119
- package/dist/src/modules/gateway/rate-limiter.js.map +0 -1
- package/dist/src/modules/gateway/types.d.ts +0 -114
- package/dist/src/modules/gateway/types.js +0 -8
- package/dist/src/modules/gateway/types.js.map +0 -1
- package/dist/tests/dashboard.test.d.ts +0 -1
- package/dist/tests/dashboard.test.js +0 -116
- package/dist/tests/dashboard.test.js.map +0 -1
- package/dist/tests/modules/gateway/circuit-breaker.test.d.ts +0 -1
- package/dist/tests/modules/gateway/circuit-breaker.test.js +0 -124
- package/dist/tests/modules/gateway/circuit-breaker.test.js.map +0 -1
- package/dist/tests/modules/gateway/cost-tracker.test.d.ts +0 -1
- package/dist/tests/modules/gateway/cost-tracker.test.js +0 -93
- package/dist/tests/modules/gateway/cost-tracker.test.js.map +0 -1
- package/dist/tests/modules/gateway/load-balancer.test.d.ts +0 -1
- package/dist/tests/modules/gateway/load-balancer.test.js +0 -70
- package/dist/tests/modules/gateway/load-balancer.test.js.map +0 -1
- package/dist/tests/modules/gateway/rate-limiter.test.d.ts +0 -1
- package/dist/tests/modules/gateway/rate-limiter.test.js +0 -62
- package/dist/tests/modules/gateway/rate-limiter.test.js.map +0 -1
- package/dist/tests/planning-engine.test.d.ts +0 -1
- package/dist/tests/planning-engine.test.js +0 -51
- package/dist/tests/planning-engine.test.js.map +0 -1
- package/dist/tests/risk-engine.test.d.ts +0 -1
- package/dist/tests/risk-engine.test.js +0 -44
- package/dist/tests/risk-engine.test.js.map +0 -1
- package/dist/ui/assets/index-B-d2ejS8.js +0 -519
- package/dist/ui/assets/index-CyXywq5G.css +0 -1
- package/dist/ui/index.html +0 -14
- package/dist/vitest.config.d.ts +0 -2
- package/dist/vitest.config.js +0 -20
- package/dist/vitest.config.js.map +0 -1
- package/framework-mcp/README.md +0 -634
- package/framework-mcp/dist/constants.js +0 -64
- package/framework-mcp/dist/dashboard/assets/index-B_rK57vi.js +0 -1221
- package/framework-mcp/dist/dashboard/index.html +0 -15
- package/framework-mcp/dist/framework-mcp/src/constants.js +0 -64
- package/framework-mcp/dist/framework-mcp/src/index.js +0 -1081
- package/framework-mcp/dist/framework-mcp/src/resources/index.js +0 -58
- package/framework-mcp/dist/framework-mcp/src/tools/compliance/mask_pii.js +0 -55
- package/framework-mcp/dist/framework-mcp/src/tools/control_plane/locking.js +0 -84
- package/framework-mcp/dist/framework-mcp/src/tools/control_plane/registry.js +0 -35
- package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +0 -198
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +0 -64
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/patch_file.js +0 -34
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/read_file.js +0 -51
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/replace_text.js +0 -50
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/write_file.js +0 -55
- package/framework-mcp/dist/framework-mcp/src/tools/framework/audit_deps.js +0 -41
- package/framework-mcp/dist/framework-mcp/src/tools/framework/get_status.js +0 -5
- package/framework-mcp/dist/framework-mcp/src/tools/framework/orchestrate.js +0 -5
- package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +0 -52
- package/framework-mcp/dist/framework-mcp/src/tools/framework/submit_plan.js +0 -13
- package/framework-mcp/dist/framework-mcp/src/tools/framework/update_contract_hash.js +0 -5
- package/framework-mcp/dist/framework-mcp/src/tools/framework/update_memory.js +0 -8
- package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +0 -137
- package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +0 -90
- package/framework-mcp/dist/framework-mcp/src/tools/index.js +0 -125
- package/framework-mcp/dist/framework-mcp/src/tools/memory/delete_knowledge.js +0 -28
- package/framework-mcp/dist/framework-mcp/src/tools/memory/get_insights.js +0 -22
- package/framework-mcp/dist/framework-mcp/src/tools/memory/read_memory.js +0 -28
- package/framework-mcp/dist/framework-mcp/src/tools/memory/search_knowledge.js +0 -48
- package/framework-mcp/dist/framework-mcp/src/tools/memory/store_knowledge.js +0 -30
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/approve_operation.js +0 -80
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/ask_human.js +0 -99
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/log_action.js +0 -22
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/send_message.js +0 -94
- package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +0 -42
- package/framework-mcp/dist/framework-mcp/src/tools/observability/get_health.js +0 -19
- package/framework-mcp/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +0 -114
- package/framework-mcp/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +0 -134
- package/framework-mcp/dist/framework-mcp/src/tools/quality/check_lint.js +0 -30
- package/framework-mcp/dist/framework-mcp/src/tools/schemas.js +0 -178
- package/framework-mcp/dist/framework-mcp/src/tools/search/get_gaps.js +0 -48
- package/framework-mcp/dist/framework-mcp/src/tools/search/get_map.js +0 -43
- package/framework-mcp/dist/framework-mcp/src/tools/search/grep_search.js +0 -78
- package/framework-mcp/dist/framework-mcp/src/tools/search/list_dir.js +0 -28
- package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +0 -177
- package/framework-mcp/dist/framework-mcp/src/tools/types.js +0 -2
- package/framework-mcp/dist/framework-mcp/src/utils/auth.js +0 -78
- package/framework-mcp/dist/framework-mcp/src/utils/auto-rollback.js +0 -265
- package/framework-mcp/dist/framework-mcp/src/utils/cli.js +0 -59
- package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +0 -300
- package/framework-mcp/dist/framework-mcp/src/utils/context-optimizer.js +0 -156
- package/framework-mcp/dist/framework-mcp/src/utils/discipline.js +0 -217
- package/framework-mcp/dist/framework-mcp/src/utils/errors.js +0 -68
- package/framework-mcp/dist/framework-mcp/src/utils/finops.js +0 -325
- package/framework-mcp/dist/framework-mcp/src/utils/fs.js +0 -47
- package/framework-mcp/dist/framework-mcp/src/utils/human-in-loop.js +0 -215
- package/framework-mcp/dist/framework-mcp/src/utils/license-scanner.js +0 -283
- package/framework-mcp/dist/framework-mcp/src/utils/loop-detector.js +0 -361
- package/framework-mcp/dist/framework-mcp/src/utils/memory.js +0 -74
- package/framework-mcp/dist/framework-mcp/src/utils/metrics.js +0 -56
- package/framework-mcp/dist/framework-mcp/src/utils/permissions.js +0 -71
- package/framework-mcp/dist/framework-mcp/src/utils/quality.js +0 -124
- package/framework-mcp/dist/framework-mcp/src/utils/rules-engine.js +0 -231
- package/framework-mcp/dist/framework-mcp/src/utils/security.js +0 -60
- package/framework-mcp/dist/framework-mcp/src/utils/silent-router.js +0 -154
- package/framework-mcp/dist/framework-mcp/src/utils/storage.js +0 -207
- package/framework-mcp/dist/framework-mcp/src/utils/telemetry-streamer.js +0 -396
- package/framework-mcp/dist/framework-mcp/src/utils/types.js +0 -16
- package/framework-mcp/dist/framework-mcp/src/utils/zod-to-mcp.js +0 -79
- package/framework-mcp/dist/index.js +0 -156
- package/framework-mcp/dist/resources/index.js +0 -58
- package/framework-mcp/dist/src/cli/platforms/core.js +0 -72
- package/framework-mcp/dist/src/cli/platforms/index.js +0 -5
- package/framework-mcp/dist/src/cli/platforms/paths.js +0 -101
- package/framework-mcp/dist/src/cli/platforms/scaffold.js +0 -72
- package/framework-mcp/dist/src/cli/platforms/utils.js +0 -75
- package/framework-mcp/dist/src/cli/utils/claude.js +0 -57
- package/framework-mcp/dist/src/cli/utils/compliance.js +0 -12
- package/framework-mcp/dist/src/cli/utils/fs.js +0 -138
- package/framework-mcp/dist/src/cli/utils/memory.js +0 -279
- package/framework-mcp/dist/src/cli/utils/pkg.js +0 -282
- package/framework-mcp/dist/src/cli/utils/quality.js +0 -9
- package/framework-mcp/dist/src/cli/utils/time.js +0 -27
- package/framework-mcp/dist/src/cli/utils/ui.js +0 -100
- package/framework-mcp/dist/src/modules/agents/definitions.js +0 -563
- package/framework-mcp/dist/src/modules/agents/registry/analyst.js +0 -39
- package/framework-mcp/dist/src/modules/agents/registry/architect.js +0 -42
- package/framework-mcp/dist/src/modules/agents/registry/backend.js +0 -50
- package/framework-mcp/dist/src/modules/agents/registry/database.js +0 -45
- package/framework-mcp/dist/src/modules/agents/registry/devops.js +0 -45
- package/framework-mcp/dist/src/modules/agents/registry/explorer.js +0 -37
- package/framework-mcp/dist/src/modules/agents/registry/frontend.js +0 -52
- package/framework-mcp/dist/src/modules/agents/registry/git.js +0 -36
- package/framework-mcp/dist/src/modules/agents/registry/manager.js +0 -64
- package/framework-mcp/dist/src/modules/agents/registry/mobile.js +0 -41
- package/framework-mcp/dist/src/modules/agents/registry/native.js +0 -41
- package/framework-mcp/dist/src/modules/agents/registry/quality.js +0 -43
- package/framework-mcp/dist/src/modules/agents/registry/security.js +0 -42
- package/framework-mcp/dist/src/modules/agents/types.js +0 -1
- package/framework-mcp/dist/src/modules/engines/evaluation-engine.js +0 -169
- package/framework-mcp/dist/src/modules/engines/quality-gate.js +0 -92
- package/framework-mcp/dist/src/modules/engines/risk-engine.js +0 -105
- package/framework-mcp/dist/src/modules/engines/routing-engine.js +0 -408
- package/framework-mcp/dist/src/modules/engines/types.js +0 -1
- package/framework-mcp/dist/src/modules/memory/core.js +0 -99
- package/framework-mcp/dist/src/modules/memory/embedding.js +0 -130
- package/framework-mcp/dist/src/modules/memory/types.js +0 -1
- package/framework-mcp/dist/src/modules/memory/vector-store.js +0 -74
- package/framework-mcp/dist/src/modules/providers/definitions.js +0 -140
- package/framework-mcp/dist/src/modules/providers/registry.js +0 -18
- package/framework-mcp/dist/src/modules/providers/shared.js +0 -104
- package/framework-mcp/dist/src/modules/providers/types.js +0 -1
- package/framework-mcp/dist/src/modules/skills/adapter-skills.js +0 -449
- package/framework-mcp/dist/src/modules/skills/definitions.js +0 -70
- package/framework-mcp/dist/src/shared/audit.js +0 -220
- package/framework-mcp/dist/src/shared/constants.js +0 -187
- package/framework-mcp/dist/src/shared/errors.js +0 -68
- package/framework-mcp/dist/src/shared/fs.js +0 -53
- package/framework-mcp/dist/src/shared/lock.js +0 -159
- package/framework-mcp/dist/src/shared/logger.js +0 -126
- package/framework-mcp/dist/src/shared/pii.js +0 -212
- package/framework-mcp/dist/src/shared/retention.js +0 -170
- package/framework-mcp/dist/src/shared/storage.js +0 -251
- package/framework-mcp/dist/src/shared/string.js +0 -29
- package/framework-mcp/dist/src/shared/types.js +0 -16
- package/framework-mcp/dist/tools/control_plane/locking.js +0 -82
- package/framework-mcp/dist/tools/control_plane/registry.js +0 -35
- package/framework-mcp/dist/tools/definitions.js +0 -154
- package/framework-mcp/dist/tools/file_system/batch_surgical_edit.js +0 -64
- package/framework-mcp/dist/tools/file_system/patch_file.js +0 -34
- package/framework-mcp/dist/tools/file_system/read_file.js +0 -51
- package/framework-mcp/dist/tools/file_system/replace_text.js +0 -50
- package/framework-mcp/dist/tools/file_system/write_file.js +0 -55
- 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/submit_plan.js +0 -13
- 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 -99
- package/framework-mcp/dist/tools/memory/get_insights.js +0 -22
- 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/schemas.js +0 -133
- 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/tools/types.js +0 -1
- package/framework-mcp/dist/utils/cli.js +0 -59
- package/framework-mcp/dist/utils/compliance.js +0 -231
- package/framework-mcp/dist/utils/errors.js +0 -68
- package/framework-mcp/dist/utils/fs.js +0 -44
- package/framework-mcp/dist/utils/memory.js +0 -74
- package/framework-mcp/dist/utils/metrics.js +0 -56
- package/framework-mcp/dist/utils/permissions.js +0 -71
- package/framework-mcp/dist/utils/security.js +0 -60
- package/framework-mcp/dist/utils/storage.js +0 -207
- package/framework-mcp/dist/utils/types.js +0 -16
- package/framework-mcp/dist/utils/zod-to-mcp.js +0 -77
- package/framework-mcp/package.json +0 -43
- package/mcp.json +0 -20
- /package/dist/{framework-mcp/src → atabey/src/cli}/index.d.ts +0 -0
- /package/dist/{src/cli/adapters → atabey/src/cli/platforms}/utils.js +0 -0
- /package/dist/{src/modules/adapters → atabey/src/modules/providers}/definitions.d.ts +0 -0
- /package/dist/{src/modules/adapters → atabey/src/modules/providers}/definitions.js +0 -0
- /package/dist/{src/modules/adapters → atabey/src/modules/providers}/registry.d.ts +0 -0
- /package/dist/{src/modules/adapters → atabey/src/modules/providers}/registry.js +0 -0
- /package/dist/{src/modules/adapters → atabey/src/modules/providers}/shared.d.ts +0 -0
- /package/dist/{src/modules/adapters → atabey/src/modules/providers}/types.d.ts +0 -0
- /package/dist/{src/modules/adapters → atabey/src/modules/providers}/types.js +0 -0
- /package/dist/{framework-mcp/src/utils → atabey/src/shared}/errors.d.ts +0 -0
- /package/dist/{framework-mcp/src/utils → atabey/src/shared}/errors.js +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/auto-rollback.d.ts +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/auto-rollback.js +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/finops.d.ts +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/finops.js +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/license-scanner.d.ts +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/license-scanner.js +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/loop-detector.d.ts +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/loop-detector.js +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/memory.d.ts +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/memory.js +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/quality.d.ts +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/quality.js +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/rules-engine.d.ts +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/rules-engine.js +0 -0
- /package/dist/{framework-mcp/src → atabey-mcp/src/mcp}/utils/telemetry-streamer.d.ts +0 -0
- /package/dist/{framework-mcp/src/utils → atabey-mcp/src/shared}/types.d.ts +0 -0
- /package/dist/{framework-mcp/src/utils → atabey-mcp/src/shared}/types.js +0 -0
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import os from "os";
|
|
3
|
-
import path from "path";
|
|
4
|
-
const CWD = process.cwd();
|
|
5
|
-
const HOME = os.homedir();
|
|
6
|
-
const FRAMEWORK = {
|
|
7
|
-
CORE_DIR: ".atabey",
|
|
8
|
-
};
|
|
9
|
-
const FRAMEWORK_DIR_CANDIDATES = [
|
|
10
|
-
".atabey",
|
|
11
|
-
".agents",
|
|
12
|
-
".claude",
|
|
13
|
-
".gemini",
|
|
14
|
-
".grok",
|
|
15
|
-
".cursor",
|
|
16
|
-
];
|
|
17
|
-
const MCP = {
|
|
18
|
-
TEST_DIR_ENV: "ATABEY_TEST_DIR",
|
|
19
|
-
};
|
|
20
|
-
function findFrameworkDir(basePath) {
|
|
21
|
-
try {
|
|
22
|
-
const pkgPath = path.join(basePath, "package.json");
|
|
23
|
-
if (fs.existsSync(pkgPath)) {
|
|
24
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
25
|
-
if (pkg.atabey && typeof pkg.atabey.frameworkDir === "string") {
|
|
26
|
-
const customDir = path.join(basePath, pkg.atabey.frameworkDir);
|
|
27
|
-
if (fs.existsSync(customDir))
|
|
28
|
-
return customDir;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
// ignore
|
|
34
|
-
}
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
export function isFrameworkDevelopmentRepo() {
|
|
38
|
-
try {
|
|
39
|
-
const pkgPath = path.join(CWD, "package.json");
|
|
40
|
-
if (fs.existsSync(pkgPath)) {
|
|
41
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
42
|
-
if (pkg.name === "atabey") {
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
// ignore
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
export function getConfigDir() {
|
|
53
|
-
const localDir = findFrameworkDir(CWD);
|
|
54
|
-
if (localDir)
|
|
55
|
-
return localDir;
|
|
56
|
-
// Check for standard local directories if package.json doesn't specify
|
|
57
|
-
const localCandidates = [...FRAMEWORK_DIR_CANDIDATES, ".agent"];
|
|
58
|
-
for (const cand of localCandidates) {
|
|
59
|
-
const p = path.join(CWD, cand);
|
|
60
|
-
if (fs.existsSync(p))
|
|
61
|
-
return p;
|
|
62
|
-
}
|
|
63
|
-
// In dev repo, don't fall back to global dir. Point to local default.
|
|
64
|
-
if (isFrameworkDevelopmentRepo()) {
|
|
65
|
-
return path.join(CWD, FRAMEWORK.CORE_DIR);
|
|
66
|
-
}
|
|
67
|
-
return path.join(HOME, FRAMEWORK.CORE_DIR);
|
|
68
|
-
}
|
|
69
|
-
export function getFrameworkDir() {
|
|
70
|
-
const testDir = process.env[MCP.TEST_DIR_ENV];
|
|
71
|
-
if (testDir)
|
|
72
|
-
return testDir;
|
|
73
|
-
return getConfigDir();
|
|
74
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { resolveFrameworkDir } from "./security.js";
|
|
4
|
-
export const Metrics = {
|
|
5
|
-
/**
|
|
6
|
-
* Estimates tokens based on character count (rough heuristic: 1 token ~= 4 chars).
|
|
7
|
-
*/
|
|
8
|
-
estimateTokens: (text) => {
|
|
9
|
-
return Math.ceil(text.length / 4);
|
|
10
|
-
},
|
|
11
|
-
/**
|
|
12
|
-
* Logs the token usage and action to the observability metrics file.
|
|
13
|
-
*/
|
|
14
|
-
logUsage: (projectRoot, agent, action, tokens) => {
|
|
15
|
-
Metrics.saveMetric(projectRoot, {
|
|
16
|
-
timestamp: new Date().toISOString(),
|
|
17
|
-
agent,
|
|
18
|
-
action,
|
|
19
|
-
estimatedTokens: tokens
|
|
20
|
-
});
|
|
21
|
-
},
|
|
22
|
-
/**
|
|
23
|
-
* Logs an error occurrence to the observability metrics file.
|
|
24
|
-
*/
|
|
25
|
-
logError: (projectRoot, agent, action, error) => {
|
|
26
|
-
Metrics.saveMetric(projectRoot, {
|
|
27
|
-
timestamp: new Date().toISOString(),
|
|
28
|
-
agent,
|
|
29
|
-
action: `ERROR: ${action}`,
|
|
30
|
-
estimatedTokens: 0,
|
|
31
|
-
error
|
|
32
|
-
});
|
|
33
|
-
},
|
|
34
|
-
/**
|
|
35
|
-
* Internal helper to save metric entries.
|
|
36
|
-
*/
|
|
37
|
-
saveMetric: (projectRoot, entry) => {
|
|
38
|
-
const frameworkDir = resolveFrameworkDir(projectRoot);
|
|
39
|
-
const metricsPath = path.join(projectRoot, frameworkDir, "observability/metrics.json");
|
|
40
|
-
try {
|
|
41
|
-
const metricsDir = path.dirname(metricsPath);
|
|
42
|
-
if (!fs.existsSync(metricsDir))
|
|
43
|
-
fs.mkdirSync(metricsDir, { recursive: true });
|
|
44
|
-
let currentMetrics = [];
|
|
45
|
-
if (fs.existsSync(metricsPath)) {
|
|
46
|
-
currentMetrics = JSON.parse(fs.readFileSync(metricsPath, "utf8"));
|
|
47
|
-
}
|
|
48
|
-
currentMetrics.push(entry);
|
|
49
|
-
// Keep only last 100 entries to save space
|
|
50
|
-
if (currentMetrics.length > 100)
|
|
51
|
-
currentMetrics.shift();
|
|
52
|
-
fs.writeFileSync(metricsPath, JSON.stringify(currentMetrics, null, 2));
|
|
53
|
-
}
|
|
54
|
-
catch { /* ignore: metrics should not block the main process */ }
|
|
55
|
-
}
|
|
56
|
-
};
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { resolveFrameworkDir } from "./security.js";
|
|
4
|
-
function globToRegex(glob) {
|
|
5
|
-
const escaped = glob.replace(/[.+^${}()|[\]\\]/g, "\\$&");
|
|
6
|
-
const step1 = escaped.replace(/\*\*/g, "__DBL_STR__");
|
|
7
|
-
const step2 = step1.replace(/\*/g, "[^/]*");
|
|
8
|
-
const regexStr = "^" + step2.replace(/__DBL_STR__/g, ".*") + "$";
|
|
9
|
-
return new RegExp(regexStr);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Validates if the active agent has write permission for the target file.
|
|
13
|
-
* Automatically identifies the active agent by checking the status.json store
|
|
14
|
-
* for the agent in the "EXECUTING" state.
|
|
15
|
-
*/
|
|
16
|
-
export function verifyWritePermission(projectRoot, targetFilePath) {
|
|
17
|
-
const frameworkDir = resolveFrameworkDir(projectRoot);
|
|
18
|
-
const absoluteFrameworkPath = path.isAbsolute(frameworkDir)
|
|
19
|
-
? frameworkDir
|
|
20
|
-
: path.resolve(projectRoot, frameworkDir);
|
|
21
|
-
const matrixPath = path.join(absoluteFrameworkPath, "permission-matrix.json");
|
|
22
|
-
// If no permission matrix exists, skip enforcement (default allow)
|
|
23
|
-
if (!fs.existsSync(matrixPath)) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
let matrix;
|
|
27
|
-
try {
|
|
28
|
-
matrix = JSON.parse(fs.readFileSync(matrixPath, "utf8"));
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
throw new Error(`Failed to parse permission-matrix.json: ${String(e)}`, { cause: e });
|
|
32
|
-
}
|
|
33
|
-
// Determine the active agent from status.json
|
|
34
|
-
const statusPath = path.join(absoluteFrameworkPath, "memory", "status.json");
|
|
35
|
-
let activeAgent = null;
|
|
36
|
-
if (fs.existsSync(statusPath)) {
|
|
37
|
-
try {
|
|
38
|
-
const status = JSON.parse(fs.readFileSync(statusPath, "utf8"));
|
|
39
|
-
// Find an agent that is currently in the EXECUTING state
|
|
40
|
-
for (const [agentName, info] of Object.entries(status)) {
|
|
41
|
-
const data = info;
|
|
42
|
-
if (data.state === "EXECUTING") {
|
|
43
|
-
activeAgent = agentName.startsWith("@") ? agentName : `@${agentName}`;
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (e) {
|
|
49
|
-
// Log warning but don't crash, default to allowing if status can't be parsed
|
|
50
|
-
process.stderr.write(`[Permissions] Warning: Failed to read status.json: ${String(e)}\n`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
// If no active executing agent is found, default to allowing
|
|
54
|
-
if (!activeAgent) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const agentRules = matrix[activeAgent];
|
|
58
|
-
// If no rules defined for the agent, default to allowing
|
|
59
|
-
if (!agentRules || !agentRules.write) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
// Resolve target path relative to project root for glob matching
|
|
63
|
-
const relativeTargetPath = path.relative(projectRoot, path.resolve(projectRoot, targetFilePath));
|
|
64
|
-
const allowed = agentRules.write.some(glob => {
|
|
65
|
-
const regex = globToRegex(glob);
|
|
66
|
-
return regex.test(relativeTargetPath);
|
|
67
|
-
});
|
|
68
|
-
if (!allowed) {
|
|
69
|
-
throw new Error(`Permission Denied: Agent ${activeAgent} is not authorized to write to "${relativeTargetPath}". Matrix rules restrict writes to: [${agentRules.write.join(", ")}].`);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
/**
|
|
4
|
-
* Shared Code Quality Heuristic Scanner
|
|
5
|
-
* Evaluates functions lengths, nesting depth, and usage of the forbidden 'any' type.
|
|
6
|
-
*/
|
|
7
|
-
export function analyzePathQuality(projectRoot, targetPath) {
|
|
8
|
-
const absolutePath = path.resolve(projectRoot, targetPath);
|
|
9
|
-
const files = [];
|
|
10
|
-
function collectFilesSync(dir, exts) {
|
|
11
|
-
if (!fs.existsSync(dir))
|
|
12
|
-
return;
|
|
13
|
-
try {
|
|
14
|
-
const stat = fs.statSync(dir);
|
|
15
|
-
if (stat.isFile()) {
|
|
16
|
-
if (exts.some(ext => dir.endsWith(ext))) {
|
|
17
|
-
files.push(dir);
|
|
18
|
-
}
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
22
|
-
for (const entry of entries) {
|
|
23
|
-
const fullPath = path.join(dir, entry.name);
|
|
24
|
-
if (entry.isDirectory() && !entry.name.startsWith("node_modules") && !entry.name.startsWith(".")) {
|
|
25
|
-
collectFilesSync(fullPath, exts);
|
|
26
|
-
}
|
|
27
|
-
else if (entry.isFile() && exts.some(ext => entry.name.endsWith(ext))) {
|
|
28
|
-
files.push(fullPath);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
// Ignore errors reading files/dirs
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
collectFilesSync(absolutePath, [".ts", ".tsx"]);
|
|
37
|
-
const issues = [];
|
|
38
|
-
let longFunctions = 0;
|
|
39
|
-
let deepNesting = 0;
|
|
40
|
-
let anyTypes = 0;
|
|
41
|
-
files.forEach((f) => {
|
|
42
|
-
try {
|
|
43
|
-
const content = fs.readFileSync(f, "utf8");
|
|
44
|
-
const lines = content.split("\n");
|
|
45
|
-
const relativePath = path.relative(projectRoot, f);
|
|
46
|
-
// Check for `any` type
|
|
47
|
-
lines.forEach((line, idx) => {
|
|
48
|
-
if (line.trim().startsWith("//") || line.trim().startsWith("/*"))
|
|
49
|
-
return;
|
|
50
|
-
if (line.match(/\bany\b/) && !line.includes("// eslint-disable") && !line.includes("as any")) {
|
|
51
|
-
anyTypes++;
|
|
52
|
-
issues.push({
|
|
53
|
-
file: relativePath,
|
|
54
|
-
line: idx + 1,
|
|
55
|
-
type: "any-type",
|
|
56
|
-
message: `Line ${idx + 1}: Usage of 'any' type`
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
// Check for long functions
|
|
61
|
-
let inFunction = false;
|
|
62
|
-
let funcLines = 0;
|
|
63
|
-
let startLine = 0;
|
|
64
|
-
let funcName = "anonymous";
|
|
65
|
-
for (let i = 0; i < lines.length; i++) {
|
|
66
|
-
const line = lines[i];
|
|
67
|
-
// Detect function/method starts using regex
|
|
68
|
-
const funcMatch = line.match(/(?:public|private|protected|static\s+)?(?:async\s+)?(?:function\s+)?(\w+)\s*\([^)]*\)\s*{/);
|
|
69
|
-
const methodMatch = !funcMatch ? line.match(/^\s*(?:public|private|protected|static\s+)?(\w+)\s*\([^)]*\)\s*{/) : null;
|
|
70
|
-
const arrowMatch = !funcMatch && !methodMatch ? line.match(/(?:const|let|var)?\s*(\w+)?\s*=\s*(?:async\s*)?\([^)]*\)\s*=>\s*{/) : null;
|
|
71
|
-
if (funcMatch || methodMatch || arrowMatch) {
|
|
72
|
-
inFunction = true;
|
|
73
|
-
funcLines = 1;
|
|
74
|
-
startLine = i + 1;
|
|
75
|
-
funcName = (funcMatch?.[1] || methodMatch?.[1] || arrowMatch?.[1] || "anonymous").trim();
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
if (inFunction) {
|
|
79
|
-
funcLines++;
|
|
80
|
-
if (line.includes("}")) {
|
|
81
|
-
if (funcLines > 50) {
|
|
82
|
-
longFunctions++;
|
|
83
|
-
issues.push({
|
|
84
|
-
file: relativePath,
|
|
85
|
-
line: startLine,
|
|
86
|
-
type: "complexity",
|
|
87
|
-
message: `Function '${funcName}' is ${funcLines} lines long (max: 50)`
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
inFunction = false;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
// Check nesting depth
|
|
95
|
-
lines.forEach((line, idx) => {
|
|
96
|
-
const leadingSpaces = line.match(/^(\s*)/)?.[0].length || 0;
|
|
97
|
-
if (leadingSpaces >= 10 && !line.trim().startsWith("//") && !line.trim().startsWith("*")) {
|
|
98
|
-
const indentSize = (leadingSpaces % 4 === 0) ? 4 : 2;
|
|
99
|
-
const depth = Math.floor(leadingSpaces / indentSize);
|
|
100
|
-
if (depth > 4) {
|
|
101
|
-
deepNesting++;
|
|
102
|
-
issues.push({
|
|
103
|
-
file: relativePath,
|
|
104
|
-
line: idx + 1,
|
|
105
|
-
type: "complexity",
|
|
106
|
-
message: `Line ${idx + 1}: Nesting depth ${depth}`
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
// Ignore files that can't be read
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
return {
|
|
117
|
-
totalFiles: files.length,
|
|
118
|
-
totalIssues: issues.length,
|
|
119
|
-
longFunctions,
|
|
120
|
-
deepNesting,
|
|
121
|
-
anyTypes,
|
|
122
|
-
issues
|
|
123
|
-
};
|
|
124
|
-
}
|
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ─── RULES ENGINE (Prompt Conflict Resolution) ────────────────────
|
|
3
|
-
*
|
|
4
|
-
* Resolves conflicts between AI CLI built-in prompts and Atabey governance rules.
|
|
5
|
-
* Ensures Atabey's critical rules ALWAYS override CLI-level instructions.
|
|
6
|
-
*
|
|
7
|
-
* Priority System:
|
|
8
|
-
* - CRITICAL (P0): Non-bypassable rules (zero any, no console.log, PII masking)
|
|
9
|
-
* - HIGH (P1): Important rules that should not be violated
|
|
10
|
-
* - MEDIUM (P2): Standard best practices
|
|
11
|
-
* - LOW (P3): Recommendations only
|
|
12
|
-
*
|
|
13
|
-
* Enforcement Mechanisms:
|
|
14
|
-
* 1. Pre-execution: Rule validation BEFORE tool runs
|
|
15
|
-
* 2. Post-execution: Scan changed files for violations → auto-rollback
|
|
16
|
-
* 3. CLI System Prompt Override: Inject critical rules at MCP initialization
|
|
17
|
-
*/
|
|
18
|
-
import path from "path";
|
|
19
|
-
// ─── Built-in Governance Rules ────────────────────────────────────
|
|
20
|
-
const GOVERNANCE_RULES = [
|
|
21
|
-
// ── CRITICAL (P0) Rules ────────────────────────────────────
|
|
22
|
-
{
|
|
23
|
-
id: "no-any-types",
|
|
24
|
-
name: "Zero Any Type Policy",
|
|
25
|
-
description: "TypeScript 'any' type is strictly forbidden",
|
|
26
|
-
priority: "CRITICAL",
|
|
27
|
-
detectPattern: /:\s*any\b/g,
|
|
28
|
-
appliesToExtensions: [".ts", ".tsx"],
|
|
29
|
-
errorMessage: "CRITICAL: 'any' type is forbidden. Use 'unknown' with proper type guards instead.",
|
|
30
|
-
bypassable: false,
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
id: "no-console-log",
|
|
34
|
-
name: "No Console Log",
|
|
35
|
-
description: "console.log/error/warn is forbidden (use logger instead)",
|
|
36
|
-
priority: "CRITICAL",
|
|
37
|
-
detectPattern: /console\.(log|error|warn|debug|info)\s*\(/g,
|
|
38
|
-
appliesToExtensions: [".ts", ".tsx", ".js", ".jsx"],
|
|
39
|
-
errorMessage: "CRITICAL: console.log/error/warn is forbidden. Use the project's logger instead.",
|
|
40
|
-
bypassable: false,
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
id: "pii-masking",
|
|
44
|
-
name: "PII Masking Required",
|
|
45
|
-
description: "Sensitive data must be masked before logging or storing",
|
|
46
|
-
priority: "CRITICAL",
|
|
47
|
-
errorMessage: "CRITICAL: Detected potential PII in unmasked form. Use maskText() / maskObject() from pii.ts.",
|
|
48
|
-
bypassable: false,
|
|
49
|
-
},
|
|
50
|
-
// ── HIGH (P1) Rules ────────────────────────────────────────
|
|
51
|
-
{
|
|
52
|
-
id: "no-hardcoded-secrets",
|
|
53
|
-
name: "No Hardcoded Secrets",
|
|
54
|
-
description: "API keys, tokens, passwords must use environment variables",
|
|
55
|
-
priority: "HIGH",
|
|
56
|
-
detectPattern: /(['"])sk-[a-zA-Z0-9]{20,}['"]|(['"])ghp_[a-zA-Z0-9]{36,}['"]|(['"])AIza[0-9A-Za-z_-]{35}['"]/g,
|
|
57
|
-
appliesToExtensions: [".ts", ".tsx", ".js", ".jsx", ".py", ".go", ".java", ".yaml", ".yml", ".env.example"],
|
|
58
|
-
errorMessage: "HIGH: Hardcoded API keys/tokens detected. Use environment variables (process.env.*).",
|
|
59
|
-
bypassable: false,
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
id: "no-commented-code",
|
|
63
|
-
name: "No Commented-Out Code",
|
|
64
|
-
description: "Dead code should be removed, not commented out",
|
|
65
|
-
priority: "HIGH",
|
|
66
|
-
detectPattern: /\/\/\s*.{10,}/g,
|
|
67
|
-
appliesToExtensions: [".ts", ".tsx", ".js", ".jsx"],
|
|
68
|
-
errorMessage: "HIGH: Commented-out code detected. Remove dead code instead of commenting.",
|
|
69
|
-
bypassable: true,
|
|
70
|
-
},
|
|
71
|
-
// ── MEDIUM (P2) Rules ──────────────────────────────────────
|
|
72
|
-
{
|
|
73
|
-
id: "no-console-in-jsx",
|
|
74
|
-
name: "No Console in JSX",
|
|
75
|
-
description: "Avoid console statements inside JSX/TSX components",
|
|
76
|
-
priority: "MEDIUM",
|
|
77
|
-
detectPattern: /{.*console\.(log|error|warn)\(.*}/g,
|
|
78
|
-
appliesToExtensions: [".tsx", ".jsx"],
|
|
79
|
-
errorMessage: "MEDIUM: Console statement inside JSX detected. Move to event handler or useEffect.",
|
|
80
|
-
bypassable: true,
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
id: "i18n-usage",
|
|
84
|
-
name: "Internationalization Required",
|
|
85
|
-
description: "Use i18n for user-facing strings",
|
|
86
|
-
priority: "MEDIUM",
|
|
87
|
-
detectPattern: /(['"])([A-Z][a-z]+ [a-z]+ [a-z]+)['"]/g,
|
|
88
|
-
appliesToExtensions: [".tsx", ".jsx"],
|
|
89
|
-
errorMessage: "MEDIUM: User-facing string detected. Use i18n translation function instead.",
|
|
90
|
-
bypassable: true,
|
|
91
|
-
},
|
|
92
|
-
];
|
|
93
|
-
// ─── Rule Engine ──────────────────────────────────────────────────
|
|
94
|
-
let rulesMap = null;
|
|
95
|
-
function getRulesMap() {
|
|
96
|
-
if (!rulesMap) {
|
|
97
|
-
rulesMap = new Map();
|
|
98
|
-
for (const rule of GOVERNANCE_RULES) {
|
|
99
|
-
rulesMap.set(rule.id, rule);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return rulesMap;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Get all governance rules.
|
|
106
|
-
*/
|
|
107
|
-
export function getAllRules() {
|
|
108
|
-
return [...GOVERNANCE_RULES];
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Get rules by priority level.
|
|
112
|
-
*/
|
|
113
|
-
export function getRulesByPriority(priority) {
|
|
114
|
-
return GOVERNANCE_RULES.filter(r => r.priority === priority);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Get non-bypassable rules (CRITICAL + HIGH non-bypassable).
|
|
118
|
-
*/
|
|
119
|
-
export function getNonBypassableRules() {
|
|
120
|
-
return GOVERNANCE_RULES.filter(r => !r.bypassable);
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Scan file content for rule violations.
|
|
124
|
-
* Returns array of violations found.
|
|
125
|
-
*/
|
|
126
|
-
export function scanFileForViolations(filePath, content) {
|
|
127
|
-
const ext = path.extname(filePath);
|
|
128
|
-
const violations = [];
|
|
129
|
-
const lines = content.split("\n");
|
|
130
|
-
for (const rule of GOVERNANCE_RULES) {
|
|
131
|
-
// Check if rule applies to this file extension
|
|
132
|
-
if (rule.appliesToExtensions && !rule.appliesToExtensions.includes(ext)) {
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
// Check if rule has a detect pattern
|
|
136
|
-
if (!rule.detectPattern)
|
|
137
|
-
continue;
|
|
138
|
-
// Scan each line
|
|
139
|
-
for (let i = 0; i < lines.length; i++) {
|
|
140
|
-
const match = lines[i].match(rule.detectPattern);
|
|
141
|
-
if (match) {
|
|
142
|
-
violations.push({
|
|
143
|
-
rule,
|
|
144
|
-
match: match[0],
|
|
145
|
-
line: i + 1,
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return violations;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Validate tool arguments against governance rules.
|
|
154
|
-
* Returns violation messages if any critical rule is violated.
|
|
155
|
-
*/
|
|
156
|
-
export function validateArgsAgainstRules(toolName, args) {
|
|
157
|
-
const nonBypassable = getNonBypassableRules();
|
|
158
|
-
for (const rule of nonBypassable) {
|
|
159
|
-
// Check if rule applies to this tool
|
|
160
|
-
if (rule.appliesToTools && !rule.appliesToTools.includes(toolName)) {
|
|
161
|
-
continue;
|
|
162
|
-
}
|
|
163
|
-
// For write_file and replace_text, check content for violations
|
|
164
|
-
if ((toolName === "write_file" || toolName === "replace_text") && args.content) {
|
|
165
|
-
const content = args.content;
|
|
166
|
-
const filePath = args.path || "unknown.ts";
|
|
167
|
-
const violations = scanFileForViolations(filePath, content);
|
|
168
|
-
if (violations.length > 0) {
|
|
169
|
-
const details = violations.map(v => ` Line ${v.line}: ${v.match} (${v.rule.name} - ${v.rule.priority})`).join("\n");
|
|
170
|
-
return [
|
|
171
|
-
`[GOVERNANCE] ${rule.priority} rule violation: ${rule.name}`,
|
|
172
|
-
`${rule.errorMessage}`,
|
|
173
|
-
"\nViolations:",
|
|
174
|
-
details,
|
|
175
|
-
].join("\n");
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
return null;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Validate tool response for governance violations.
|
|
183
|
-
* Returns violation messages if found.
|
|
184
|
-
*/
|
|
185
|
-
export function validateResponseAgainstRules(toolName, responseText) {
|
|
186
|
-
// For file reads, check if the content contains PII or secrets
|
|
187
|
-
if (toolName === "read_file" && responseText.length > 0) {
|
|
188
|
-
const criticalRules = getNonBypassableRules();
|
|
189
|
-
for (const rule of criticalRules) {
|
|
190
|
-
if (rule.detectPattern && rule.detectPattern.test(responseText)) {
|
|
191
|
-
return `[GOVERNANCE] ${rule.priority} violation detected in response: ${rule.name}. ${rule.errorMessage}`;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
return null;
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Build system prompt override block for CLI initialization.
|
|
199
|
-
* This is injected into the AI's system prompt at MCP connect time.
|
|
200
|
-
*/
|
|
201
|
-
export function buildSystemPromptOverride() {
|
|
202
|
-
const criticalRules = getRulesByPriority("CRITICAL");
|
|
203
|
-
const highRules = getRulesByPriority("HIGH");
|
|
204
|
-
return [
|
|
205
|
-
"## [ATABEY GOVERNANCE] Critical Rules — DO NOT OVERRIDE",
|
|
206
|
-
"",
|
|
207
|
-
"The following rules are ENFORCED by the Atabey Governance Layer.",
|
|
208
|
-
"They CANNOT be bypassed or disabled.",
|
|
209
|
-
"",
|
|
210
|
-
"### Critical Rules (Non-Bypassable)",
|
|
211
|
-
...criticalRules.map(r => `- 🔴 ${r.name}: ${r.description}`),
|
|
212
|
-
"",
|
|
213
|
-
"### High Priority Rules",
|
|
214
|
-
...highRules.map(r => `- 🟠 ${r.name}: ${r.description}`),
|
|
215
|
-
"",
|
|
216
|
-
"> These rules are injected at the MCP middleware layer and enforced",
|
|
217
|
-
"> at both pre-execution and post-execution stages.",
|
|
218
|
-
"",
|
|
219
|
-
].join("\n");
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Add a custom governance rule at runtime.
|
|
223
|
-
*/
|
|
224
|
-
export function addRule(rule) {
|
|
225
|
-
const map = getRulesMap();
|
|
226
|
-
if (!map.has(rule.id)) {
|
|
227
|
-
GOVERNANCE_RULES.push(rule);
|
|
228
|
-
map.set(rule.id, rule);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
export { GOVERNANCE_RULES as DefaultGovernanceRules };
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import fs from "fs";
|
|
3
|
-
import { FRAMEWORK, MCP, UNIFIED_HUB_DIR } from "../constants.js"; // New import
|
|
4
|
-
import os from "os"; // Need os.homedir()
|
|
5
|
-
/**
|
|
6
|
-
* Validates and resolves a user-provided path to prevent path traversal attacks.
|
|
7
|
-
* Ensures the resolved path stays within the project root boundary.
|
|
8
|
-
*/
|
|
9
|
-
export function safePath(projectRoot, userPath) {
|
|
10
|
-
const resolved = path.resolve(projectRoot, userPath);
|
|
11
|
-
const normalizedRoot = path.resolve(projectRoot);
|
|
12
|
-
if (!resolved.startsWith(normalizedRoot + path.sep) && resolved !== normalizedRoot) {
|
|
13
|
-
throw new Error(`Access denied: path "${userPath}" escapes project root.`);
|
|
14
|
-
}
|
|
15
|
-
return resolved;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Resolves the active framework directory.
|
|
19
|
-
* Priority: ATABEY_TEST_DIR (env) -> package.json `atabey.frameworkDir` -> `.atabey` -> other adapter dirs -> global HOME.
|
|
20
|
-
*/
|
|
21
|
-
export function resolveFrameworkDir(projectRoot) {
|
|
22
|
-
// For test environments, use the explicitly set test directory.
|
|
23
|
-
const testDir = process.env[MCP.TEST_DIR_ENV];
|
|
24
|
-
if (testDir)
|
|
25
|
-
return testDir;
|
|
26
|
-
// 1. Authoritative source: read from package.json if present
|
|
27
|
-
try {
|
|
28
|
-
const pkgPath = path.join(projectRoot, "package.json");
|
|
29
|
-
if (fs.existsSync(pkgPath)) {
|
|
30
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
31
|
-
const atabeyConfig = pkg["atabey"];
|
|
32
|
-
if (atabeyConfig && typeof atabeyConfig["frameworkDir"] === "string") {
|
|
33
|
-
// Ensure the path is relative if it's within the project, otherwise use as-is.
|
|
34
|
-
const resolvedDir = path.resolve(projectRoot, atabeyConfig["frameworkDir"]);
|
|
35
|
-
if (resolvedDir.startsWith(path.resolve(projectRoot))) {
|
|
36
|
-
return path.relative(projectRoot, resolvedDir);
|
|
37
|
-
}
|
|
38
|
-
return atabeyConfig["frameworkDir"];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
// ignore — fall through to filesystem scan
|
|
44
|
-
}
|
|
45
|
-
// 2. Filesystem scan in projectRoot for common framework directories
|
|
46
|
-
const localCandidates = [
|
|
47
|
-
FRAMEWORK.CORE_DIR, // .atabey
|
|
48
|
-
UNIFIED_HUB_DIR, // .agents
|
|
49
|
-
// Add other adapter specific directories if needed, or remove if unified is strictly enforced
|
|
50
|
-
];
|
|
51
|
-
for (const candidate of localCandidates) {
|
|
52
|
-
const candidatePath = path.join(projectRoot, candidate);
|
|
53
|
-
if (fs.existsSync(candidatePath)) {
|
|
54
|
-
return candidate;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
// 3. Fallback to global home directory.
|
|
58
|
-
const homeDir = os.homedir();
|
|
59
|
-
return path.join(homeDir, FRAMEWORK.CORE_DIR);
|
|
60
|
-
}
|