atabey 0.0.18 → 0.0.20
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/README.md +2 -2
- package/bin/cli.js +14 -2
- package/dist/atabey/src/cli/commands/check.js +150 -13
- package/dist/atabey/src/cli/commands/check.js.map +1 -1
- package/dist/atabey/src/cli/commands/explorer.js.map +1 -1
- package/dist/atabey/src/cli/commands/index-codebase.js +13 -2
- package/dist/atabey/src/cli/commands/index-codebase.js.map +1 -1
- package/dist/atabey/src/cli/commands/init/scaffold-core.js +67 -8
- package/dist/atabey/src/cli/commands/init/scaffold-core.js.map +1 -1
- package/dist/atabey/src/cli/commands/init.js +12 -4
- package/dist/atabey/src/cli/commands/init.js.map +1 -1
- package/dist/atabey/src/cli/commands/mcp.js +21 -25
- package/dist/atabey/src/cli/commands/mcp.js.map +1 -1
- package/dist/atabey/src/cli/commands/orchestrate.d.ts +11 -10
- package/dist/atabey/src/cli/commands/orchestrate.js +49 -24
- package/dist/atabey/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/atabey/src/cli/index.js +8 -1
- package/dist/atabey/src/cli/index.js.map +1 -1
- package/dist/atabey/src/cli/platforms/core.d.ts +4 -0
- package/dist/atabey/src/cli/platforms/core.js +12 -8
- package/dist/atabey/src/cli/platforms/core.js.map +1 -1
- package/dist/atabey/src/cli/platforms/index.d.ts +1 -1
- package/dist/atabey/src/cli/platforms/index.js +1 -1
- package/dist/atabey/src/cli/platforms/index.js.map +1 -1
- package/dist/atabey/src/cli/utils/config-schema.d.ts +117 -0
- package/dist/atabey/src/cli/utils/config-schema.js +25 -1
- package/dist/atabey/src/cli/utils/config-schema.js.map +1 -1
- package/dist/atabey/src/cli/utils/memory.d.ts +13 -7
- package/dist/atabey/src/cli/utils/memory.js +74 -16
- package/dist/atabey/src/cli/utils/memory.js.map +1 -1
- package/dist/atabey/src/cli/utils/quality.js +2 -7
- package/dist/atabey/src/cli/utils/quality.js.map +1 -1
- package/dist/atabey/src/cli/utils/schemas.d.ts +8 -8
- package/dist/atabey/src/contracts/tasks.d.ts +6 -6
- package/dist/atabey/src/modules/agents/definitions.js +9 -14
- package/dist/atabey/src/modules/agents/definitions.js.map +1 -1
- package/dist/atabey/src/modules/agents/registry/manager.js +1 -1
- package/dist/atabey/src/modules/agents/registry/manager.js.map +1 -1
- package/dist/atabey/src/modules/engines/crud-governance.d.ts +4 -2
- package/dist/atabey/src/modules/engines/crud-governance.js +41 -6
- package/dist/atabey/src/modules/engines/crud-governance.js.map +1 -1
- package/dist/atabey/src/modules/skills/adapter-skills.d.ts +2 -0
- package/dist/atabey/src/modules/skills/adapter-skills.js.map +1 -1
- package/dist/atabey/src/shared/audit.d.ts +1 -105
- package/dist/atabey/src/shared/audit.js +1 -220
- package/dist/atabey/src/shared/audit.js.map +1 -1
- package/dist/atabey/src/shared/constants.d.ts +1 -120
- package/dist/atabey/src/shared/constants.js +1 -187
- package/dist/atabey/src/shared/constants.js.map +1 -1
- package/dist/atabey/src/shared/errors.d.ts +1 -46
- package/dist/atabey/src/shared/errors.js +1 -68
- package/dist/atabey/src/shared/errors.js.map +1 -1
- package/dist/atabey/src/shared/fs.d.ts +1 -9
- package/dist/atabey/src/shared/fs.js +1 -53
- package/dist/atabey/src/shared/fs.js.map +1 -1
- package/dist/atabey/src/shared/lock.d.ts +1 -82
- package/dist/atabey/src/shared/lock.js +1 -159
- package/dist/atabey/src/shared/lock.js.map +1 -1
- package/dist/atabey/src/shared/logger.d.ts +1 -30
- package/dist/atabey/src/shared/logger.js +1 -126
- package/dist/atabey/src/shared/logger.js.map +1 -1
- package/dist/atabey/src/shared/pii.d.ts +1 -69
- package/dist/atabey/src/shared/pii.js +1 -212
- package/dist/atabey/src/shared/pii.js.map +1 -1
- package/dist/atabey/src/shared/retention.d.ts +1 -63
- package/dist/atabey/src/shared/retention.js +1 -170
- package/dist/atabey/src/shared/retention.js.map +1 -1
- package/dist/atabey/src/shared/storage.js +7 -3
- package/dist/atabey/src/shared/storage.js.map +1 -1
- package/dist/atabey/src/shared/string.d.ts +1 -1
- package/dist/atabey/src/shared/string.js +1 -29
- package/dist/atabey/src/shared/string.js.map +1 -1
- package/dist/atabey/src/shared/types.d.ts +1 -27
- package/dist/atabey/src/shared/types.js +1 -16
- package/dist/atabey/src/shared/types.js.map +1 -1
- package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js +1 -1
- package/dist/atabey-mcp/src/mcp/utils/context-optimizer.js.map +1 -1
- package/dist/atabey-mcp/src/mcp/utils/finops.d.ts +7 -11
- package/dist/atabey-mcp/src/mcp/utils/finops.js +24 -26
- package/dist/atabey-mcp/src/mcp/utils/finops.js.map +1 -1
- package/dist/atabey-mcp/src/shared/logger.d.ts +1 -30
- package/dist/atabey-mcp/src/shared/logger.js +1 -126
- package/dist/atabey-mcp/src/shared/logger.js.map +1 -1
- package/dist/atabey-mcp/src/shared/pii.d.ts +1 -69
- package/dist/atabey-mcp/src/shared/pii.js +1 -212
- package/dist/atabey-mcp/src/shared/pii.js.map +1 -1
- package/dist/atabey-mcp/src/shared/storage.js +3 -1
- package/dist/atabey-mcp/src/shared/storage.js.map +1 -1
- package/dist/atabey-mcp/src/shared/types.d.ts +1 -27
- package/dist/atabey-mcp/src/shared/types.js +1 -16
- package/dist/atabey-mcp/src/shared/types.js.map +1 -1
- package/dist/{src/shared → shared/src}/audit.js +8 -8
- package/dist/shared/src/audit.js.map +1 -0
- package/dist/{src/shared → shared/src}/constants.d.ts +30 -1
- package/dist/{src/shared → shared/src}/constants.js +25 -2
- package/dist/shared/src/constants.js.map +1 -0
- package/dist/shared/src/database.d.ts +5 -0
- package/dist/shared/src/database.js +13 -0
- package/dist/shared/src/database.js.map +1 -0
- package/dist/shared/src/errors.js.map +1 -0
- package/dist/shared/src/fs.js.map +1 -0
- package/dist/shared/src/index.d.ts +11 -0
- package/dist/shared/src/index.js +12 -0
- package/dist/shared/src/index.js.map +1 -0
- package/dist/{src/shared → shared/src}/lock.js +22 -26
- package/dist/shared/src/lock.js.map +1 -0
- package/dist/shared/src/logger.js.map +1 -0
- package/dist/{src/shared → shared/src}/pii.js +4 -1
- package/dist/shared/src/pii.js.map +1 -0
- package/dist/{src/shared → shared/src}/retention.js +6 -6
- package/dist/shared/src/retention.js.map +1 -0
- package/dist/shared/src/string.js.map +1 -0
- package/dist/shared/src/types.js.map +1 -0
- package/package.json +19 -3
- package/dist/atabey-mcp/src/mcp/utils/quality.d.ts +0 -19
- package/dist/atabey-mcp/src/mcp/utils/quality.js +0 -125
- package/dist/atabey-mcp/src/mcp/utils/quality.js.map +0 -1
- package/dist/atabey-mcp/src/shared/fs.js.map +0 -1
- package/dist/src/cli/commands/approve.d.ts +0 -1
- package/dist/src/cli/commands/approve.js +0 -64
- package/dist/src/cli/commands/approve.js.map +0 -1
- package/dist/src/cli/commands/check.d.ts +0 -1
- package/dist/src/cli/commands/check.js +0 -197
- package/dist/src/cli/commands/check.js.map +0 -1
- package/dist/src/cli/commands/compliance.d.ts +0 -5
- package/dist/src/cli/commands/compliance.js +0 -43
- package/dist/src/cli/commands/compliance.js.map +0 -1
- package/dist/src/cli/commands/contract.d.ts +0 -10
- package/dist/src/cli/commands/contract.js +0 -52
- package/dist/src/cli/commands/contract.js.map +0 -1
- package/dist/src/cli/commands/coverage.d.ts +0 -1
- package/dist/src/cli/commands/coverage.js +0 -121
- package/dist/src/cli/commands/coverage.js.map +0 -1
- package/dist/src/cli/commands/dashboard.d.ts +0 -5
- package/dist/src/cli/commands/dashboard.js +0 -753
- package/dist/src/cli/commands/dashboard.js.map +0 -1
- package/dist/src/cli/commands/explorer.d.ts +0 -2
- package/dist/src/cli/commands/explorer.js +0 -44
- package/dist/src/cli/commands/explorer.js.map +0 -1
- package/dist/src/cli/commands/git.d.ts +0 -2
- package/dist/src/cli/commands/git.js +0 -40
- package/dist/src/cli/commands/git.js.map +0 -1
- package/dist/src/cli/commands/index-codebase.d.ts +0 -4
- package/dist/src/cli/commands/index-codebase.js +0 -52
- package/dist/src/cli/commands/index-codebase.js.map +0 -1
- package/dist/src/cli/commands/init/create-agent.d.ts +0 -4
- package/dist/src/cli/commands/init/create-agent.js +0 -59
- package/dist/src/cli/commands/init/create-agent.js.map +0 -1
- package/dist/src/cli/commands/init/scaffold-core.d.ts +0 -13
- package/dist/src/cli/commands/init/scaffold-core.js +0 -129
- package/dist/src/cli/commands/init/scaffold-core.js.map +0 -1
- package/dist/src/cli/commands/init/scaffold-docs.d.ts +0 -4
- package/dist/src/cli/commands/init/scaffold-docs.js +0 -36
- package/dist/src/cli/commands/init/scaffold-docs.js.map +0 -1
- package/dist/src/cli/commands/init/scaffold-ops.d.ts +0 -1
- package/dist/src/cli/commands/init/scaffold-ops.js +0 -81
- package/dist/src/cli/commands/init/scaffold-ops.js.map +0 -1
- package/dist/src/cli/commands/init/scaffold-standards.d.ts +0 -2
- package/dist/src/cli/commands/init/scaffold-standards.js +0 -84
- package/dist/src/cli/commands/init/scaffold-standards.js.map +0 -1
- package/dist/src/cli/commands/init.d.ts +0 -11
- package/dist/src/cli/commands/init.js +0 -362
- package/dist/src/cli/commands/init.js.map +0 -1
- package/dist/src/cli/commands/knowledge.d.ts +0 -2
- package/dist/src/cli/commands/knowledge.js +0 -16
- package/dist/src/cli/commands/knowledge.js.map +0 -1
- package/dist/src/cli/commands/lint.d.ts +0 -4
- package/dist/src/cli/commands/lint.js +0 -24
- package/dist/src/cli/commands/lint.js.map +0 -1
- package/dist/src/cli/commands/log.d.ts +0 -10
- package/dist/src/cli/commands/log.js +0 -14
- package/dist/src/cli/commands/log.js.map +0 -1
- package/dist/src/cli/commands/mcp.d.ts +0 -11
- package/dist/src/cli/commands/mcp.js +0 -132
- package/dist/src/cli/commands/mcp.js.map +0 -1
- package/dist/src/cli/commands/memory.d.ts +0 -1
- package/dist/src/cli/commands/memory.js +0 -5
- package/dist/src/cli/commands/memory.js.map +0 -1
- package/dist/src/cli/commands/orchestrate.d.ts +0 -61
- package/dist/src/cli/commands/orchestrate.js +0 -238
- package/dist/src/cli/commands/orchestrate.js.map +0 -1
- package/dist/src/cli/commands/plan.d.ts +0 -11
- package/dist/src/cli/commands/plan.js +0 -120
- package/dist/src/cli/commands/plan.js.map +0 -1
- package/dist/src/cli/commands/quickstart.d.ts +0 -9
- package/dist/src/cli/commands/quickstart.js +0 -60
- package/dist/src/cli/commands/quickstart.js.map +0 -1
- package/dist/src/cli/commands/script.d.ts +0 -1
- package/dist/src/cli/commands/script.js +0 -28
- package/dist/src/cli/commands/script.js.map +0 -1
- package/dist/src/cli/commands/security.d.ts +0 -1
- package/dist/src/cli/commands/security.js +0 -34
- package/dist/src/cli/commands/security.js.map +0 -1
- package/dist/src/cli/commands/status.d.ts +0 -4
- package/dist/src/cli/commands/status.js +0 -122
- package/dist/src/cli/commands/status.js.map +0 -1
- package/dist/src/cli/commands/trace.d.ts +0 -10
- package/dist/src/cli/commands/trace.js +0 -108
- package/dist/src/cli/commands/trace.js.map +0 -1
- package/dist/src/cli/index.d.ts +0 -2
- package/dist/src/cli/index.js +0 -282
- package/dist/src/cli/index.js.map +0 -1
- package/dist/src/cli/platforms/core.d.ts +0 -12
- package/dist/src/cli/platforms/core.js +0 -73
- package/dist/src/cli/platforms/core.js.map +0 -1
- package/dist/src/cli/platforms/index.d.ts +0 -5
- package/dist/src/cli/platforms/index.js +0 -6
- package/dist/src/cli/platforms/index.js.map +0 -1
- package/dist/src/cli/platforms/paths.d.ts +0 -15
- package/dist/src/cli/platforms/paths.js +0 -102
- package/dist/src/cli/platforms/paths.js.map +0 -1
- package/dist/src/cli/platforms/scaffold.d.ts +0 -2
- package/dist/src/cli/platforms/scaffold.js +0 -73
- package/dist/src/cli/platforms/scaffold.js.map +0 -1
- package/dist/src/cli/platforms/utils.d.ts +0 -4
- package/dist/src/cli/platforms/utils.js +0 -76
- package/dist/src/cli/platforms/utils.js.map +0 -1
- package/dist/src/cli/shims.d.ts +0 -1
- package/dist/src/cli/shims.js +0 -67
- package/dist/src/cli/shims.js.map +0 -1
- package/dist/src/cli/utils/claude.d.ts +0 -8
- package/dist/src/cli/utils/claude.js +0 -58
- package/dist/src/cli/utils/claude.js.map +0 -1
- package/dist/src/cli/utils/compliance.d.ts +0 -42
- package/dist/src/cli/utils/compliance.js +0 -150
- package/dist/src/cli/utils/compliance.js.map +0 -1
- package/dist/src/cli/utils/config-schema.d.ts +0 -139
- package/dist/src/cli/utils/config-schema.js +0 -43
- package/dist/src/cli/utils/config-schema.js.map +0 -1
- package/dist/src/cli/utils/fs.d.ts +0 -10
- package/dist/src/cli/utils/fs.js +0 -139
- package/dist/src/cli/utils/fs.js.map +0 -1
- package/dist/src/cli/utils/i18n.d.ts +0 -21
- package/dist/src/cli/utils/i18n.js +0 -36
- package/dist/src/cli/utils/i18n.js.map +0 -1
- package/dist/src/cli/utils/memory.d.ts +0 -39
- package/dist/src/cli/utils/memory.js +0 -281
- package/dist/src/cli/utils/memory.js.map +0 -1
- package/dist/src/cli/utils/pkg.d.ts +0 -43
- package/dist/src/cli/utils/pkg.js +0 -283
- package/dist/src/cli/utils/pkg.js.map +0 -1
- package/dist/src/cli/utils/quality.d.ts +0 -8
- package/dist/src/cli/utils/quality.js +0 -8
- package/dist/src/cli/utils/quality.js.map +0 -1
- package/dist/src/cli/utils/schemas.d.ts +0 -49
- package/dist/src/cli/utils/schemas.js +0 -20
- package/dist/src/cli/utils/schemas.js.map +0 -1
- package/dist/src/cli/utils/string.d.ts +0 -7
- package/dist/src/cli/utils/string.js +0 -50
- package/dist/src/cli/utils/string.js.map +0 -1
- package/dist/src/cli/utils/time.d.ts +0 -2
- package/dist/src/cli/utils/time.js +0 -28
- package/dist/src/cli/utils/time.js.map +0 -1
- package/dist/src/cli/utils/ui.d.ts +0 -53
- package/dist/src/cli/utils/ui.js +0 -101
- package/dist/src/cli/utils/ui.js.map +0 -1
- package/dist/src/contracts/index.d.ts +0 -1
- package/dist/src/contracts/index.js +0 -2
- package/dist/src/contracts/index.js.map +0 -1
- package/dist/src/contracts/tasks.d.ts +0 -44
- package/dist/src/contracts/tasks.js +0 -21
- package/dist/src/contracts/tasks.js.map +0 -1
- package/dist/src/modules/agents/definitions.d.ts +0 -26
- package/dist/src/modules/agents/definitions.js +0 -564
- package/dist/src/modules/agents/definitions.js.map +0 -1
- package/dist/src/modules/agents/registry/analyst.d.ts +0 -2
- package/dist/src/modules/agents/registry/analyst.js +0 -40
- package/dist/src/modules/agents/registry/analyst.js.map +0 -1
- package/dist/src/modules/agents/registry/architect.d.ts +0 -2
- package/dist/src/modules/agents/registry/architect.js +0 -43
- package/dist/src/modules/agents/registry/architect.js.map +0 -1
- package/dist/src/modules/agents/registry/backend.d.ts +0 -2
- package/dist/src/modules/agents/registry/backend.js +0 -51
- package/dist/src/modules/agents/registry/backend.js.map +0 -1
- package/dist/src/modules/agents/registry/database.d.ts +0 -2
- package/dist/src/modules/agents/registry/database.js +0 -46
- package/dist/src/modules/agents/registry/database.js.map +0 -1
- package/dist/src/modules/agents/registry/devops.d.ts +0 -2
- package/dist/src/modules/agents/registry/devops.js +0 -46
- package/dist/src/modules/agents/registry/devops.js.map +0 -1
- package/dist/src/modules/agents/registry/explorer.d.ts +0 -2
- package/dist/src/modules/agents/registry/explorer.js +0 -38
- package/dist/src/modules/agents/registry/explorer.js.map +0 -1
- package/dist/src/modules/agents/registry/frontend.d.ts +0 -2
- package/dist/src/modules/agents/registry/frontend.js +0 -53
- package/dist/src/modules/agents/registry/frontend.js.map +0 -1
- package/dist/src/modules/agents/registry/git.d.ts +0 -2
- package/dist/src/modules/agents/registry/git.js +0 -37
- package/dist/src/modules/agents/registry/git.js.map +0 -1
- package/dist/src/modules/agents/registry/manager.d.ts +0 -2
- package/dist/src/modules/agents/registry/manager.js +0 -65
- package/dist/src/modules/agents/registry/manager.js.map +0 -1
- package/dist/src/modules/agents/registry/mobile.d.ts +0 -2
- package/dist/src/modules/agents/registry/mobile.js +0 -42
- package/dist/src/modules/agents/registry/mobile.js.map +0 -1
- package/dist/src/modules/agents/registry/native.d.ts +0 -2
- package/dist/src/modules/agents/registry/native.js +0 -42
- package/dist/src/modules/agents/registry/native.js.map +0 -1
- package/dist/src/modules/agents/registry/quality.d.ts +0 -2
- package/dist/src/modules/agents/registry/quality.js +0 -44
- package/dist/src/modules/agents/registry/quality.js.map +0 -1
- package/dist/src/modules/agents/registry/security.d.ts +0 -2
- package/dist/src/modules/agents/registry/security.js +0 -43
- package/dist/src/modules/agents/registry/security.js.map +0 -1
- package/dist/src/modules/agents/types.d.ts +0 -33
- package/dist/src/modules/agents/types.js +0 -2
- package/dist/src/modules/agents/types.js.map +0 -1
- package/dist/src/modules/contracts/api.d.ts +0 -178
- package/dist/src/modules/contracts/api.js +0 -56
- package/dist/src/modules/contracts/api.js.map +0 -1
- package/dist/src/modules/contracts/index.d.ts +0 -5
- package/dist/src/modules/contracts/index.js +0 -6
- package/dist/src/modules/contracts/index.js.map +0 -1
- package/dist/src/modules/engines/agent-executor.d.ts +0 -46
- package/dist/src/modules/engines/agent-executor.js +0 -241
- package/dist/src/modules/engines/agent-executor.js.map +0 -1
- package/dist/src/modules/engines/agent-loop.d.ts +0 -34
- package/dist/src/modules/engines/agent-loop.js +0 -102
- package/dist/src/modules/engines/agent-loop.js.map +0 -1
- package/dist/src/modules/engines/contract-engine.d.ts +0 -46
- package/dist/src/modules/engines/contract-engine.js +0 -116
- package/dist/src/modules/engines/contract-engine.js.map +0 -1
- package/dist/src/modules/engines/crud-governance.d.ts +0 -64
- package/dist/src/modules/engines/crud-governance.js +0 -184
- package/dist/src/modules/engines/crud-governance.js.map +0 -1
- package/dist/src/modules/engines/discovery-engine.d.ts +0 -42
- package/dist/src/modules/engines/discovery-engine.js +0 -161
- package/dist/src/modules/engines/discovery-engine.js.map +0 -1
- package/dist/src/modules/engines/evaluation-engine.d.ts +0 -18
- package/dist/src/modules/engines/evaluation-engine.js +0 -171
- package/dist/src/modules/engines/evaluation-engine.js.map +0 -1
- package/dist/src/modules/engines/file-lock.d.ts +0 -41
- package/dist/src/modules/engines/file-lock.js +0 -168
- package/dist/src/modules/engines/file-lock.js.map +0 -1
- package/dist/src/modules/engines/health-engine.d.ts +0 -22
- package/dist/src/modules/engines/health-engine.js +0 -127
- package/dist/src/modules/engines/health-engine.js.map +0 -1
- package/dist/src/modules/engines/phase-engine.d.ts +0 -82
- package/dist/src/modules/engines/phase-engine.js +0 -211
- package/dist/src/modules/engines/phase-engine.js.map +0 -1
- package/dist/src/modules/engines/planning-engine.d.ts +0 -25
- package/dist/src/modules/engines/planning-engine.js +0 -80
- package/dist/src/modules/engines/planning-engine.js.map +0 -1
- package/dist/src/modules/engines/policy-engine.d.ts +0 -63
- package/dist/src/modules/engines/policy-engine.js +0 -186
- package/dist/src/modules/engines/policy-engine.js.map +0 -1
- package/dist/src/modules/engines/quality-gate.d.ts +0 -31
- package/dist/src/modules/engines/quality-gate.js +0 -95
- package/dist/src/modules/engines/quality-gate.js.map +0 -1
- package/dist/src/modules/engines/risk-engine.d.ts +0 -34
- package/dist/src/modules/engines/risk-engine.js +0 -201
- package/dist/src/modules/engines/risk-engine.js.map +0 -1
- package/dist/src/modules/engines/routing-engine.d.ts +0 -96
- package/dist/src/modules/engines/routing-engine.js +0 -505
- package/dist/src/modules/engines/routing-engine.js.map +0 -1
- package/dist/src/modules/engines/session-engine.d.ts +0 -68
- package/dist/src/modules/engines/session-engine.js +0 -141
- package/dist/src/modules/engines/session-engine.js.map +0 -1
- package/dist/src/modules/engines/types.d.ts +0 -51
- package/dist/src/modules/engines/types.js +0 -2
- package/dist/src/modules/engines/types.js.map +0 -1
- package/dist/src/modules/memory/core.d.ts +0 -42
- package/dist/src/modules/memory/core.js +0 -100
- package/dist/src/modules/memory/core.js.map +0 -1
- package/dist/src/modules/memory/embedding.d.ts +0 -28
- package/dist/src/modules/memory/embedding.js +0 -131
- package/dist/src/modules/memory/embedding.js.map +0 -1
- package/dist/src/modules/memory/types.d.ts +0 -18
- package/dist/src/modules/memory/types.js +0 -2
- package/dist/src/modules/memory/types.js.map +0 -1
- package/dist/src/modules/memory/vector-store.d.ts +0 -13
- package/dist/src/modules/memory/vector-store.js +0 -75
- package/dist/src/modules/memory/vector-store.js.map +0 -1
- package/dist/src/modules/providers/definitions.d.ts +0 -9
- package/dist/src/modules/providers/definitions.js +0 -141
- package/dist/src/modules/providers/definitions.js.map +0 -1
- package/dist/src/modules/providers/llm-provider.d.ts +0 -87
- package/dist/src/modules/providers/llm-provider.js +0 -242
- package/dist/src/modules/providers/llm-provider.js.map +0 -1
- package/dist/src/modules/providers/registry.d.ts +0 -12
- package/dist/src/modules/providers/registry.js +0 -19
- package/dist/src/modules/providers/registry.js.map +0 -1
- package/dist/src/modules/providers/shared.d.ts +0 -1
- package/dist/src/modules/providers/shared.js +0 -104
- package/dist/src/modules/providers/shared.js.map +0 -1
- package/dist/src/modules/providers/types.d.ts +0 -14
- package/dist/src/modules/providers/types.js +0 -2
- package/dist/src/modules/providers/types.js.map +0 -1
- package/dist/src/modules/skills/adapter-skills.d.ts +0 -68
- package/dist/src/modules/skills/adapter-skills.js +0 -450
- package/dist/src/modules/skills/adapter-skills.js.map +0 -1
- package/dist/src/modules/skills/definitions.d.ts +0 -48
- package/dist/src/modules/skills/definitions.js +0 -71
- package/dist/src/modules/skills/definitions.js.map +0 -1
- package/dist/src/shared/audit.js.map +0 -1
- package/dist/src/shared/constants.js.map +0 -1
- package/dist/src/shared/errors.js.map +0 -1
- package/dist/src/shared/fs.d.ts +0 -9
- package/dist/src/shared/fs.js +0 -54
- package/dist/src/shared/fs.js.map +0 -1
- package/dist/src/shared/lock.js.map +0 -1
- package/dist/src/shared/logger.js.map +0 -1
- package/dist/src/shared/pii.js.map +0 -1
- package/dist/src/shared/retention.js.map +0 -1
- package/dist/src/shared/storage.d.ts +0 -141
- package/dist/src/shared/storage.js +0 -326
- package/dist/src/shared/storage.js.map +0 -1
- package/dist/src/shared/string.js.map +0 -1
- package/dist/src/shared/types.js.map +0 -1
- package/dist/tests/adapter.test.d.ts +0 -1
- package/dist/tests/adapter.test.js +0 -130
- package/dist/tests/adapter.test.js.map +0 -1
- package/dist/tests/adapters/paths.test.d.ts +0 -1
- package/dist/tests/adapters/paths.test.js +0 -63
- package/dist/tests/adapters/paths.test.js.map +0 -1
- package/dist/tests/agent-memory-v2.test.d.ts +0 -1
- package/dist/tests/agent-memory-v2.test.js +0 -68
- package/dist/tests/agent-memory-v2.test.js.map +0 -1
- package/dist/tests/agents-definitions.test.d.ts +0 -1
- package/dist/tests/agents-definitions.test.js +0 -103
- package/dist/tests/agents-definitions.test.js.map +0 -1
- package/dist/tests/approve.test.d.ts +0 -1
- package/dist/tests/approve.test.js +0 -52
- package/dist/tests/approve.test.js.map +0 -1
- package/dist/tests/cli/commands/check.test.d.ts +0 -1
- package/dist/tests/cli/commands/check.test.js +0 -9
- package/dist/tests/cli/commands/check.test.js.map +0 -1
- package/dist/tests/cli/commands/coverage.test.d.ts +0 -1
- package/dist/tests/cli/commands/coverage.test.js +0 -9
- package/dist/tests/cli/commands/coverage.test.js.map +0 -1
- package/dist/tests/cli/commands/dashboard-coverage.test.d.ts +0 -1
- package/dist/tests/cli/commands/dashboard-coverage.test.js +0 -90
- package/dist/tests/cli/commands/dashboard-coverage.test.js.map +0 -1
- package/dist/tests/cli/commands/exports.test.d.ts +0 -1
- package/dist/tests/cli/commands/exports.test.js +0 -61
- package/dist/tests/cli/commands/exports.test.js.map +0 -1
- package/dist/tests/cli/commands/lint.test.d.ts +0 -1
- package/dist/tests/cli/commands/lint.test.js +0 -9
- package/dist/tests/cli/commands/lint.test.js.map +0 -1
- package/dist/tests/cli/init/adapter_init.test.d.ts +0 -1
- package/dist/tests/cli/init/adapter_init.test.js +0 -49
- package/dist/tests/cli/init/adapter_init.test.js.map +0 -1
- package/dist/tests/cli/init/unified_init.test.d.ts +0 -1
- package/dist/tests/cli/init/unified_init.test.js +0 -56
- package/dist/tests/cli/init/unified_init.test.js.map +0 -1
- package/dist/tests/core-memory.test.d.ts +0 -1
- package/dist/tests/core-memory.test.js +0 -78
- package/dist/tests/core-memory.test.js.map +0 -1
- package/dist/tests/embedding.test.d.ts +0 -1
- package/dist/tests/embedding.test.js +0 -82
- package/dist/tests/embedding.test.js.map +0 -1
- package/dist/tests/engines/evaluation-engine.test.d.ts +0 -1
- package/dist/tests/engines/evaluation-engine.test.js +0 -71
- package/dist/tests/engines/evaluation-engine.test.js.map +0 -1
- package/dist/tests/engines/planning-engine.test.d.ts +0 -1
- package/dist/tests/engines/planning-engine.test.js +0 -100
- package/dist/tests/engines/planning-engine.test.js.map +0 -1
- package/dist/tests/engines/quality-gate.test.d.ts +0 -1
- package/dist/tests/engines/quality-gate.test.js +0 -59
- package/dist/tests/engines/quality-gate.test.js.map +0 -1
- package/dist/tests/engines/risk-engine.test.d.ts +0 -1
- package/dist/tests/engines/risk-engine.test.js +0 -80
- package/dist/tests/engines/risk-engine.test.js.map +0 -1
- package/dist/tests/engines/routing-engine.test.d.ts +0 -1
- package/dist/tests/engines/routing-engine.test.js +0 -78
- package/dist/tests/engines/routing-engine.test.js.map +0 -1
- package/dist/tests/errors.test.d.ts +0 -1
- package/dist/tests/errors.test.js +0 -64
- package/dist/tests/errors.test.js.map +0 -1
- package/dist/tests/fs-utils.test.d.ts +0 -1
- package/dist/tests/fs-utils.test.js +0 -101
- package/dist/tests/fs-utils.test.js.map +0 -1
- package/dist/tests/integration/agent_flow.test.d.ts +0 -1
- package/dist/tests/integration/agent_flow.test.js +0 -69
- package/dist/tests/integration/agent_flow.test.js.map +0 -1
- package/dist/tests/integration/hermes_locking.test.d.ts +0 -1
- package/dist/tests/integration/hermes_locking.test.js +0 -62
- package/dist/tests/integration/hermes_locking.test.js.map +0 -1
- package/dist/tests/logger.test.d.ts +0 -1
- package/dist/tests/logger.test.js +0 -81
- package/dist/tests/logger.test.js.map +0 -1
- package/dist/tests/memory-utils.test.d.ts +0 -1
- package/dist/tests/memory-utils.test.js +0 -59
- package/dist/tests/memory-utils.test.js.map +0 -1
- package/dist/tests/modules/adapters/adapters.test.d.ts +0 -1
- package/dist/tests/modules/adapters/adapters.test.js +0 -30
- package/dist/tests/modules/adapters/adapters.test.js.map +0 -1
- package/dist/tests/modules/contracts/contracts.test.d.ts +0 -1
- package/dist/tests/modules/contracts/contracts.test.js +0 -73
- package/dist/tests/modules/contracts/contracts.test.js.map +0 -1
- package/dist/tests/modules/engines/agent-executor.test.d.ts +0 -1
- package/dist/tests/modules/engines/agent-executor.test.js +0 -61
- package/dist/tests/modules/engines/agent-executor.test.js.map +0 -1
- package/dist/tests/modules/engines/evaluation-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/evaluation-engine.test.js +0 -45
- package/dist/tests/modules/engines/evaluation-engine.test.js.map +0 -1
- package/dist/tests/modules/engines/health-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/health-engine.test.js +0 -56
- package/dist/tests/modules/engines/health-engine.test.js.map +0 -1
- package/dist/tests/modules/engines/planning-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/planning-engine.test.js +0 -75
- package/dist/tests/modules/engines/planning-engine.test.js.map +0 -1
- package/dist/tests/modules/engines/risk-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/risk-engine.test.js +0 -61
- package/dist/tests/modules/engines/risk-engine.test.js.map +0 -1
- package/dist/tests/modules/engines/routing-engine.test.d.ts +0 -1
- package/dist/tests/modules/engines/routing-engine.test.js +0 -56
- package/dist/tests/modules/engines/routing-engine.test.js.map +0 -1
- package/dist/tests/modules/memory/vector-store.test.d.ts +0 -1
- package/dist/tests/modules/memory/vector-store.test.js +0 -109
- package/dist/tests/modules/memory/vector-store.test.js.map +0 -1
- package/dist/tests/orchestrate.test.d.ts +0 -1
- package/dist/tests/orchestrate.test.js +0 -71
- package/dist/tests/orchestrate.test.js.map +0 -1
- package/dist/tests/orchestrator-dependencies.test.d.ts +0 -1
- package/dist/tests/orchestrator-dependencies.test.js +0 -70
- package/dist/tests/orchestrator-dependencies.test.js.map +0 -1
- package/dist/tests/plan.test.d.ts +0 -1
- package/dist/tests/plan.test.js +0 -63
- package/dist/tests/plan.test.js.map +0 -1
- package/dist/tests/shared/audit.test.d.ts +0 -1
- package/dist/tests/shared/audit.test.js +0 -53
- package/dist/tests/shared/audit.test.js.map +0 -1
- package/dist/tests/shared/constants.test.d.ts +0 -1
- package/dist/tests/shared/constants.test.js +0 -17
- package/dist/tests/shared/constants.test.js.map +0 -1
- package/dist/tests/shared/lock.test.d.ts +0 -1
- package/dist/tests/shared/lock.test.js +0 -95
- package/dist/tests/shared/lock.test.js.map +0 -1
- package/dist/tests/shared/pii.test.d.ts +0 -1
- package/dist/tests/shared/pii.test.js +0 -183
- package/dist/tests/shared/pii.test.js.map +0 -1
- package/dist/tests/skills-definitions.test.d.ts +0 -1
- package/dist/tests/skills-definitions.test.js +0 -34
- package/dist/tests/skills-definitions.test.js.map +0 -1
- package/dist/tests/status-cost.test.d.ts +0 -1
- package/dist/tests/status-cost.test.js +0 -47
- package/dist/tests/status-cost.test.js.map +0 -1
- package/dist/tests/status.test.d.ts +0 -1
- package/dist/tests/status.test.js +0 -49
- package/dist/tests/status.test.js.map +0 -1
- package/dist/tests/storage-operations.test.d.ts +0 -1
- package/dist/tests/storage-operations.test.js +0 -143
- package/dist/tests/storage-operations.test.js.map +0 -1
- package/dist/tests/string.test.d.ts +0 -1
- package/dist/tests/string.test.js +0 -89
- package/dist/tests/string.test.js.map +0 -1
- package/dist/tests/time.test.d.ts +0 -1
- package/dist/tests/time.test.js +0 -48
- package/dist/tests/time.test.js.map +0 -1
- package/dist/tests/trace-replay.test.d.ts +0 -1
- package/dist/tests/trace-replay.test.js +0 -59
- package/dist/tests/trace-replay.test.js.map +0 -1
- package/dist/tests/trace.test.d.ts +0 -1
- package/dist/tests/trace.test.js +0 -35
- package/dist/tests/trace.test.js.map +0 -1
- /package/dist/{src/shared → shared/src}/audit.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/errors.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/errors.js +0 -0
- /package/dist/{atabey-mcp/src/shared → shared/src}/fs.d.ts +0 -0
- /package/dist/{atabey-mcp/src/shared → shared/src}/fs.js +0 -0
- /package/dist/{src/shared → shared/src}/lock.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/logger.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/logger.js +0 -0
- /package/dist/{src/shared → shared/src}/pii.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/retention.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/string.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/string.js +0 -0
- /package/dist/{src/shared → shared/src}/types.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/types.js +0 -0
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { scanProjectCompliance } from "../../cli/utils/compliance.js";
|
|
4
|
-
import { getFrameworkDir } from "../../cli/utils/memory.js";
|
|
5
|
-
import { ensureDir, writeJsonFile } from "../../shared/fs.js";
|
|
6
|
-
import { Storage } from "../../shared/storage.js";
|
|
7
|
-
/**
|
|
8
|
-
* [DATA] Evaluation & Health Engine
|
|
9
|
-
* Rates agent performance and tracks overall project stability.
|
|
10
|
-
* Now uses real metrics from SQLite, compliance scans, and agent states.
|
|
11
|
-
*/
|
|
12
|
-
export class HealthEngine {
|
|
13
|
-
/**
|
|
14
|
-
* Records a post-task evaluation.
|
|
15
|
-
*/
|
|
16
|
-
static async recordEvaluation(result) {
|
|
17
|
-
const evalDir = path.join(getFrameworkDir(), "memory", "evaluations");
|
|
18
|
-
ensureDir(evalDir);
|
|
19
|
-
const filePath = path.join(evalDir, `${result.traceId}_${result.agent}.json`);
|
|
20
|
-
writeJsonFile(filePath, result);
|
|
21
|
-
// Trigger health update
|
|
22
|
-
await this.updateProjectHealth();
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Aggregates real data to calculate the overall Project Health.
|
|
26
|
-
* Uses actual metrics from:
|
|
27
|
-
* - Agent success rates from SQLite logs
|
|
28
|
-
* - Compliance violations from AST scanning
|
|
29
|
-
* - Agent state distribution (blocked/ready ratio)
|
|
30
|
-
* - Test results from recent evaluations
|
|
31
|
-
*/
|
|
32
|
-
static async updateProjectHealth() {
|
|
33
|
-
const frameworkDir = getFrameworkDir();
|
|
34
|
-
const agents = Storage.getAllAgents();
|
|
35
|
-
const logs = Storage.getLogs();
|
|
36
|
-
const evaluationsDir = path.join(frameworkDir, "memory", "evaluations");
|
|
37
|
-
// 1. Agent Health Score (based on success rate & state distribution)
|
|
38
|
-
let agentScore = 100;
|
|
39
|
-
const totalLogs = logs.length;
|
|
40
|
-
if (totalLogs > 0) {
|
|
41
|
-
const successCount = logs.filter((l) => l.status === "SUCCESS").length;
|
|
42
|
-
const successRate = (successCount / totalLogs) * 100;
|
|
43
|
-
agentScore = Math.round(successRate);
|
|
44
|
-
}
|
|
45
|
-
// Penalize blocked/timeout agents
|
|
46
|
-
const blockedAgents = agents.filter((a) => a.state === "BLOCKED" || a.state === "TIMEOUT").length;
|
|
47
|
-
if (blockedAgents > 0) {
|
|
48
|
-
agentScore -= blockedAgents * 10;
|
|
49
|
-
}
|
|
50
|
-
// 2. Code Quality Score (based on compliance violations)
|
|
51
|
-
let qualityScore = 100;
|
|
52
|
-
try {
|
|
53
|
-
const violations = scanProjectCompliance("src");
|
|
54
|
-
if (violations.length > 0) {
|
|
55
|
-
qualityScore -= Math.min(violations.length * 5, 50);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
qualityScore = 70; // Fallback if scan fails
|
|
60
|
-
}
|
|
61
|
-
// 3. Security Score (based on evaluation findings)
|
|
62
|
-
let securityScore = 100;
|
|
63
|
-
if (fs.existsSync(evaluationsDir)) {
|
|
64
|
-
const evalFiles = fs.readdirSync(evaluationsDir).filter((f) => f.endsWith(".json"));
|
|
65
|
-
let securityIssues = 0;
|
|
66
|
-
let totalEvalMetrics = 0;
|
|
67
|
-
for (const file of evalFiles.slice(-20)) { // Last 20 evaluations
|
|
68
|
-
try {
|
|
69
|
-
const evalData = JSON.parse(fs.readFileSync(path.join(evaluationsDir, file), "utf8"));
|
|
70
|
-
if (evalData.metrics) {
|
|
71
|
-
totalEvalMetrics++;
|
|
72
|
-
if (!evalData.metrics.compilation)
|
|
73
|
-
securityIssues += 2;
|
|
74
|
-
if (!evalData.metrics.lint)
|
|
75
|
-
securityIssues += 1;
|
|
76
|
-
if (!evalData.metrics.tests)
|
|
77
|
-
securityIssues += 3;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
// Skip corrupted files
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
if (totalEvalMetrics > 0) {
|
|
85
|
-
securityScore -= Math.min((securityIssues / totalEvalMetrics) * 20, 40);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// 4. Architecture Score (based on metadata stability)
|
|
89
|
-
const phaseOrder = ["PHASE_0", "PHASE_1", "PHASE_2", "PHASE_3", "PHASE_4"];
|
|
90
|
-
const currentPhase = Storage.getMetadata("phase") || "PHASE_0";
|
|
91
|
-
const phaseIndex = phaseOrder.indexOf(currentPhase);
|
|
92
|
-
const architectureScore = Math.min(60 + phaseIndex * 10, 100);
|
|
93
|
-
// Calculate weighted final score
|
|
94
|
-
const score = Math.max(0, Math.min(100, Math.round(agentScore * 0.30 + // Agent performance: 30%
|
|
95
|
-
qualityScore * 0.25 + // Code quality: 25%
|
|
96
|
-
securityScore * 0.25 + // Security: 25%
|
|
97
|
-
architectureScore * 0.20 // Architecture: 20%
|
|
98
|
-
)));
|
|
99
|
-
const health = {
|
|
100
|
-
score,
|
|
101
|
-
codeQuality: Math.max(0, qualityScore),
|
|
102
|
-
security: Math.max(0, securityScore),
|
|
103
|
-
architecture: architectureScore,
|
|
104
|
-
agentHealth: Math.max(0, agentScore),
|
|
105
|
-
totalAgents: agents.length,
|
|
106
|
-
activeAgents: agents.filter((a) => a.state === "EXECUTING" || a.state === "ACTIVE").length,
|
|
107
|
-
blockedAgents,
|
|
108
|
-
totalLogs,
|
|
109
|
-
lastUpdated: new Date().toISOString()
|
|
110
|
-
};
|
|
111
|
-
const healthFile = path.join(frameworkDir, "memory", "HEALTH.json");
|
|
112
|
-
writeJsonFile(healthFile, health);
|
|
113
|
-
return health;
|
|
114
|
-
}
|
|
115
|
-
static getHealth() {
|
|
116
|
-
try {
|
|
117
|
-
const healthFile = path.join(getFrameworkDir(), "memory", "HEALTH.json");
|
|
118
|
-
if (!fs.existsSync(healthFile))
|
|
119
|
-
return null;
|
|
120
|
-
return JSON.parse(fs.readFileSync(healthFile, "utf8"));
|
|
121
|
-
}
|
|
122
|
-
catch {
|
|
123
|
-
return null;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=health-engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"health-engine.js","sourceRoot":"","sources":["../../../../src/modules/engines/health-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [ENGINE] Phase Engine — State Machine for Development Lifecycle
|
|
3
|
-
*
|
|
4
|
-
* Implements the PHASE_0 → PHASE_4 state machine from ATABEY.md.
|
|
5
|
-
* Prevents phase skipping and enforces rollback when contracts break.
|
|
6
|
-
*
|
|
7
|
-
* Phases:
|
|
8
|
-
* PHASE_0 (Discovery & Setup) → Requirements analysis, docs validation
|
|
9
|
-
* PHASE_1 (Architecture & Contracts) → Data models, API schemas, types
|
|
10
|
-
* PHASE_2 (Core Development) → Feature implementation
|
|
11
|
-
* PHASE_3 (Integration & Testing) → System integration, QA
|
|
12
|
-
* PHASE_4 (Optimization & Deployment) → Performance audit, deploy
|
|
13
|
-
*
|
|
14
|
-
* Rollback:
|
|
15
|
-
* If contracts break during PHASE_2+ → auto rollback to PHASE_1
|
|
16
|
-
*/
|
|
17
|
-
export type Phase = "PHASE_0" | "PHASE_1" | "PHASE_2" | "PHASE_3" | "PHASE_4" | "ROLLBACK_PHASE_1";
|
|
18
|
-
export interface PhaseTransition {
|
|
19
|
-
from: Phase;
|
|
20
|
-
to: Phase;
|
|
21
|
-
timestamp: string;
|
|
22
|
-
reason: string;
|
|
23
|
-
triggeredBy: string;
|
|
24
|
-
}
|
|
25
|
-
export interface PhaseRequirements {
|
|
26
|
-
phase: Phase;
|
|
27
|
-
name: string;
|
|
28
|
-
allowedWork: string[];
|
|
29
|
-
successCriteria: string[];
|
|
30
|
-
prohibitedWork: string[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Phase Engine — manages the development lifecycle state machine.
|
|
34
|
-
* Stored in Storage metadata under "phase" key.
|
|
35
|
-
* Transition history stored in `.atabey/logs/phase-transitions.json`.
|
|
36
|
-
*/
|
|
37
|
-
export declare class PhaseEngine {
|
|
38
|
-
private static readonly VALID_TRANSITIONS;
|
|
39
|
-
private static readonly PHASE_DEFINITIONS;
|
|
40
|
-
/**
|
|
41
|
-
* Returns the current phase from storage.
|
|
42
|
-
*/
|
|
43
|
-
static getCurrentPhase(): Phase;
|
|
44
|
-
/**
|
|
45
|
-
* Attempts to transition to a new phase.
|
|
46
|
-
* Validates that the transition is allowed by the state machine.
|
|
47
|
-
*/
|
|
48
|
-
static transitionTo(targetPhase: Phase, reason: string, triggeredBy: string): Promise<{
|
|
49
|
-
success: boolean;
|
|
50
|
-
from: Phase;
|
|
51
|
-
to: Phase;
|
|
52
|
-
error?: string;
|
|
53
|
-
}>;
|
|
54
|
-
/**
|
|
55
|
-
* Checks if a given work type is allowed in the current phase.
|
|
56
|
-
*/
|
|
57
|
-
static isWorkAllowed(work: string): boolean;
|
|
58
|
-
/**
|
|
59
|
-
* Returns the requirements for the current phase.
|
|
60
|
-
*/
|
|
61
|
-
static getCurrentPhaseRequirements(): PhaseRequirements;
|
|
62
|
-
/**
|
|
63
|
-
* Checks if all success criteria for the current phase are met.
|
|
64
|
-
*/
|
|
65
|
-
static checkPhaseCompletion(): Promise<{
|
|
66
|
-
complete: boolean;
|
|
67
|
-
missingCriteria: string[];
|
|
68
|
-
}>;
|
|
69
|
-
/**
|
|
70
|
-
* Marks a success criterion as completed.
|
|
71
|
-
*/
|
|
72
|
-
static markCriteriaMet(criteria: string, agent: string): Promise<void>;
|
|
73
|
-
/**
|
|
74
|
-
* Detects if contracts are broken and auto-triggers rollback.
|
|
75
|
-
* Called by ContractEngine when contract_hash changes unexpectedly.
|
|
76
|
-
*/
|
|
77
|
-
static detectBrokenContracts(triggeredBy: string): Promise<void>;
|
|
78
|
-
/**
|
|
79
|
-
* Notifies all agents to switch to WAITING state during rollback.
|
|
80
|
-
*/
|
|
81
|
-
private static notifyAgentsOfRollback;
|
|
82
|
-
}
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [ENGINE] Phase Engine — State Machine for Development Lifecycle
|
|
3
|
-
*
|
|
4
|
-
* Implements the PHASE_0 → PHASE_4 state machine from ATABEY.md.
|
|
5
|
-
* Prevents phase skipping and enforces rollback when contracts break.
|
|
6
|
-
*
|
|
7
|
-
* Phases:
|
|
8
|
-
* PHASE_0 (Discovery & Setup) → Requirements analysis, docs validation
|
|
9
|
-
* PHASE_1 (Architecture & Contracts) → Data models, API schemas, types
|
|
10
|
-
* PHASE_2 (Core Development) → Feature implementation
|
|
11
|
-
* PHASE_3 (Integration & Testing) → System integration, QA
|
|
12
|
-
* PHASE_4 (Optimization & Deployment) → Performance audit, deploy
|
|
13
|
-
*
|
|
14
|
-
* Rollback:
|
|
15
|
-
* If contracts break during PHASE_2+ → auto rollback to PHASE_1
|
|
16
|
-
*/
|
|
17
|
-
import { logger } from "../../shared/logger.js";
|
|
18
|
-
import { AtabeyStorage } from "../../shared/storage.js";
|
|
19
|
-
/**
|
|
20
|
-
* Phase Engine — manages the development lifecycle state machine.
|
|
21
|
-
* Stored in Storage metadata under "phase" key.
|
|
22
|
-
* Transition history stored in `.atabey/logs/phase-transitions.json`.
|
|
23
|
-
*/
|
|
24
|
-
export class PhaseEngine {
|
|
25
|
-
static VALID_TRANSITIONS = {
|
|
26
|
-
"PHASE_0": ["PHASE_1"],
|
|
27
|
-
"PHASE_1": ["PHASE_2", "ROLLBACK_PHASE_1"],
|
|
28
|
-
"PHASE_2": ["PHASE_3", "ROLLBACK_PHASE_1"],
|
|
29
|
-
"PHASE_3": ["PHASE_4", "ROLLBACK_PHASE_1"],
|
|
30
|
-
"PHASE_4": ["PHASE_0"], // Release → restart cycle
|
|
31
|
-
"ROLLBACK_PHASE_1": ["PHASE_1"], // Rollback → fix → re-enter PHASE_1
|
|
32
|
-
};
|
|
33
|
-
static PHASE_DEFINITIONS = {
|
|
34
|
-
"PHASE_0": {
|
|
35
|
-
phase: "PHASE_0",
|
|
36
|
-
name: "Discovery & Setup",
|
|
37
|
-
allowedWork: ["Requirement analysis", "Documentation validation", "Environment setup", "Scaffolding"],
|
|
38
|
-
successCriteria: ["docs/README.md validated", "Technology stack confirmed", "Target audience identified"],
|
|
39
|
-
prohibitedWork: ["Any code implementation", "Database migrations", "API development"],
|
|
40
|
-
},
|
|
41
|
-
"PHASE_1": {
|
|
42
|
-
phase: "PHASE_1",
|
|
43
|
-
name: "Architecture & Contracts",
|
|
44
|
-
allowedWork: ["Type definitions", "API schema design", "Interface design", "Contract versioning"],
|
|
45
|
-
successCriteria: ["contract.version.json created", "All shared types defined", "Frontend + Backend approve schemas"],
|
|
46
|
-
prohibitedWork: ["Business logic implementation", "Database queries", "UI components"],
|
|
47
|
-
},
|
|
48
|
-
"PHASE_2": {
|
|
49
|
-
phase: "PHASE_2",
|
|
50
|
-
name: "Core Development",
|
|
51
|
-
allowedWork: ["Feature implementation", "Business logic", "API endpoints", "UI components", "Tests"],
|
|
52
|
-
successCriteria: ["All features implemented", "Tests passing", "Contract hash verified"],
|
|
53
|
-
prohibitedWork: ["Production deployment", "Schema changes without rollback"],
|
|
54
|
-
},
|
|
55
|
-
"PHASE_3": {
|
|
56
|
-
phase: "PHASE_3",
|
|
57
|
-
name: "Integration & Testing",
|
|
58
|
-
allowedWork: ["System integration", "End-to-end testing", "Performance testing", "Security audit"],
|
|
59
|
-
successCriteria: ["All integration tests pass", "No critical bugs", "Security scan clean"],
|
|
60
|
-
prohibitedWork: ["New features", "Schema changes"],
|
|
61
|
-
},
|
|
62
|
-
"PHASE_4": {
|
|
63
|
-
phase: "PHASE_4",
|
|
64
|
-
name: "Optimization & Deployment",
|
|
65
|
-
allowedWork: ["Performance optimization", "Deployment", "Post-release monitoring"],
|
|
66
|
-
successCriteria: ["Deployment successful", "Health checks passing", "Rollback plan ready"],
|
|
67
|
-
prohibitedWork: ["New features", "Schema changes"],
|
|
68
|
-
},
|
|
69
|
-
"ROLLBACK_PHASE_1": {
|
|
70
|
-
phase: "ROLLBACK_PHASE_1",
|
|
71
|
-
name: "Contract Rollback",
|
|
72
|
-
allowedWork: ["Contract repair", "Type definition fixes", "Schema corrections"],
|
|
73
|
-
successCriteria: ["Contracts fixed", "contract_hash recalculated"],
|
|
74
|
-
prohibitedWork: ["New features", "Deployment"],
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* Returns the current phase from storage.
|
|
79
|
-
*/
|
|
80
|
-
static getCurrentPhase() {
|
|
81
|
-
const phase = AtabeyStorage.getMetadata("phase");
|
|
82
|
-
return phase || "PHASE_0";
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Attempts to transition to a new phase.
|
|
86
|
-
* Validates that the transition is allowed by the state machine.
|
|
87
|
-
*/
|
|
88
|
-
static async transitionTo(targetPhase, reason, triggeredBy) {
|
|
89
|
-
const currentPhase = PhaseEngine.getCurrentPhase();
|
|
90
|
-
const allowedTransitions = PhaseEngine.VALID_TRANSITIONS[currentPhase];
|
|
91
|
-
if (!allowedTransitions || !allowedTransitions.includes(targetPhase)) {
|
|
92
|
-
const errorMsg = `Phase transition ${currentPhase} → ${targetPhase} is NOT ALLOWED. Allowed: ${allowedTransitions?.join(", ") || "none"}`;
|
|
93
|
-
logger.warn(`[PHASE] ${errorMsg}`);
|
|
94
|
-
AtabeyStorage.saveLog({
|
|
95
|
-
agent: triggeredBy,
|
|
96
|
-
action: "PHASE_TRANSITION_BLOCKED",
|
|
97
|
-
trace_id: AtabeyStorage.getMetadata("traceId") || "N/A",
|
|
98
|
-
status: "FAILED",
|
|
99
|
-
summary: errorMsg
|
|
100
|
-
});
|
|
101
|
-
return {
|
|
102
|
-
success: false,
|
|
103
|
-
from: currentPhase,
|
|
104
|
-
to: targetPhase,
|
|
105
|
-
error: errorMsg,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
// Execute transition
|
|
109
|
-
AtabeyStorage.setMetadata("phase", targetPhase);
|
|
110
|
-
const transition = {
|
|
111
|
-
from: currentPhase,
|
|
112
|
-
to: targetPhase,
|
|
113
|
-
timestamp: new Date().toISOString(),
|
|
114
|
-
reason,
|
|
115
|
-
triggeredBy,
|
|
116
|
-
};
|
|
117
|
-
// Log transition
|
|
118
|
-
AtabeyStorage.saveLog({
|
|
119
|
-
agent: triggeredBy,
|
|
120
|
-
action: "PHASE_TRANSITION",
|
|
121
|
-
trace_id: AtabeyStorage.getMetadata("traceId") || "N/A",
|
|
122
|
-
status: "SUCCESS",
|
|
123
|
-
summary: `${currentPhase} → ${targetPhase}: ${reason}`
|
|
124
|
-
});
|
|
125
|
-
logger.info(`[PHASE] ${currentPhase} → ${targetPhase} (by ${triggeredBy}): ${reason}`);
|
|
126
|
-
// If entering ROLLBACK, notify all agents to switch to WAITING
|
|
127
|
-
if (targetPhase === "ROLLBACK_PHASE_1") {
|
|
128
|
-
await PhaseEngine.notifyAgentsOfRollback();
|
|
129
|
-
}
|
|
130
|
-
return {
|
|
131
|
-
success: true,
|
|
132
|
-
from: currentPhase,
|
|
133
|
-
to: targetPhase,
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Checks if a given work type is allowed in the current phase.
|
|
138
|
-
*/
|
|
139
|
-
static isWorkAllowed(work) {
|
|
140
|
-
const currentPhase = PhaseEngine.getCurrentPhase();
|
|
141
|
-
const phaseDef = PhaseEngine.PHASE_DEFINITIONS[currentPhase];
|
|
142
|
-
if (!phaseDef)
|
|
143
|
-
return false;
|
|
144
|
-
const workLower = work.toLowerCase();
|
|
145
|
-
return phaseDef.allowedWork.some(allowed => workLower.includes(allowed.toLowerCase()));
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Returns the requirements for the current phase.
|
|
149
|
-
*/
|
|
150
|
-
static getCurrentPhaseRequirements() {
|
|
151
|
-
const currentPhase = PhaseEngine.getCurrentPhase();
|
|
152
|
-
return PhaseEngine.PHASE_DEFINITIONS[currentPhase] || PhaseEngine.PHASE_DEFINITIONS["PHASE_0"];
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Checks if all success criteria for the current phase are met.
|
|
156
|
-
*/
|
|
157
|
-
static async checkPhaseCompletion() {
|
|
158
|
-
const phaseDef = PhaseEngine.getCurrentPhaseRequirements();
|
|
159
|
-
const missingCriteria = [];
|
|
160
|
-
for (const criteria of phaseDef.successCriteria) {
|
|
161
|
-
// Check if the criteria has been logged as completed
|
|
162
|
-
const logs = AtabeyStorage.getLogs();
|
|
163
|
-
const isCompleted = logs.some(l => l.action === "PHASE_CRITERIA_MET" &&
|
|
164
|
-
l.summary.includes(criteria));
|
|
165
|
-
if (!isCompleted) {
|
|
166
|
-
missingCriteria.push(criteria);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
return {
|
|
170
|
-
complete: missingCriteria.length === 0,
|
|
171
|
-
missingCriteria,
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Marks a success criterion as completed.
|
|
176
|
-
*/
|
|
177
|
-
static async markCriteriaMet(criteria, agent) {
|
|
178
|
-
AtabeyStorage.saveLog({
|
|
179
|
-
agent,
|
|
180
|
-
action: "PHASE_CRITERIA_MET",
|
|
181
|
-
trace_id: AtabeyStorage.getMetadata("traceId") || "N/A",
|
|
182
|
-
status: "SUCCESS",
|
|
183
|
-
summary: criteria
|
|
184
|
-
});
|
|
185
|
-
logger.info(`[PHASE] Criteria met: ${criteria} (by ${agent})`);
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Detects if contracts are broken and auto-triggers rollback.
|
|
189
|
-
* Called by ContractEngine when contract_hash changes unexpectedly.
|
|
190
|
-
*/
|
|
191
|
-
static async detectBrokenContracts(triggeredBy) {
|
|
192
|
-
const currentPhase = PhaseEngine.getCurrentPhase();
|
|
193
|
-
if (currentPhase === "PHASE_2" || currentPhase === "PHASE_3" || currentPhase === "PHASE_4") {
|
|
194
|
-
logger.warn(`[PHASE] Broken contracts detected in ${currentPhase}. Auto-rolling back to PHASE_1.`);
|
|
195
|
-
await PhaseEngine.transitionTo("ROLLBACK_PHASE_1", "Contract hash mismatch detected — automatic rollback", triggeredBy);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Notifies all agents to switch to WAITING state during rollback.
|
|
200
|
-
*/
|
|
201
|
-
static async notifyAgentsOfRollback() {
|
|
202
|
-
const agents = AtabeyStorage.getAllAgents();
|
|
203
|
-
for (const agent of agents) {
|
|
204
|
-
if (agent.state === "EXECUTING" || agent.state === "COMPLETED") {
|
|
205
|
-
AtabeyStorage.updateAgentStatus(agent.name, "WAITING", `Contract rollback in progress — phase reset to PHASE_1`);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
logger.info("[PHASE] All agents notified of rollback. Waiting for contract fixes.");
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
//# sourceMappingURL=phase-engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"phase-engine.js","sourceRoot":"","sources":["../../../../src/modules/engines/phase-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Plan } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* [MAP] Planning Engine (The Strategist)
|
|
4
|
-
* Responsible for decomposing complex requests into a DAG of atomic tasks.
|
|
5
|
-
*/
|
|
6
|
-
export declare class PlanningEngine {
|
|
7
|
-
/**
|
|
8
|
-
* Creates a new Plan structure.
|
|
9
|
-
* In a real enterprise scenario, this would be fueled by an LLM prompt.
|
|
10
|
-
* For now, it provides the structural backbone.
|
|
11
|
-
*/
|
|
12
|
-
static createPlan(rawTasks: {
|
|
13
|
-
id?: string;
|
|
14
|
-
task: string;
|
|
15
|
-
agent?: string;
|
|
16
|
-
dependencies?: string[];
|
|
17
|
-
}[]): Plan;
|
|
18
|
-
/**
|
|
19
|
-
* Validates a plan's integrity (no circular dependencies, all agents valid).
|
|
20
|
-
*/
|
|
21
|
-
static validatePlan(plan: Plan): {
|
|
22
|
-
valid: boolean;
|
|
23
|
-
errors: string[];
|
|
24
|
-
};
|
|
25
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { asPlanID, asTaskID } from "../../shared/types.js";
|
|
2
|
-
import { generateULID } from "../../cli/utils/time.js";
|
|
3
|
-
import { RoutingEngine } from "./routing-engine.js";
|
|
4
|
-
/**
|
|
5
|
-
* [MAP] Planning Engine (The Strategist)
|
|
6
|
-
* Responsible for decomposing complex requests into a DAG of atomic tasks.
|
|
7
|
-
*/
|
|
8
|
-
export class PlanningEngine {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new Plan structure.
|
|
11
|
-
* In a real enterprise scenario, this would be fueled by an LLM prompt.
|
|
12
|
-
* For now, it provides the structural backbone.
|
|
13
|
-
*/
|
|
14
|
-
static createPlan(rawTasks) {
|
|
15
|
-
const planId = asPlanID(generateULID());
|
|
16
|
-
const tasks = rawTasks.map((t, index) => {
|
|
17
|
-
const id = t.id || `TASK_${String(index + 1).padStart(2, "0")}`;
|
|
18
|
-
return {
|
|
19
|
-
id: asTaskID(id),
|
|
20
|
-
agent: t.agent || RoutingEngine.resolveAgent(t.task),
|
|
21
|
-
task: t.task,
|
|
22
|
-
dependencies: (t.dependencies || []).map(d => asTaskID(d))
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
return {
|
|
26
|
-
planId,
|
|
27
|
-
tasks
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Validates a plan's integrity (no circular dependencies, all agents valid).
|
|
32
|
-
*/
|
|
33
|
-
static validatePlan(plan) {
|
|
34
|
-
const errors = [];
|
|
35
|
-
const taskIds = new Set(plan.tasks.map(t => t.id));
|
|
36
|
-
for (const task of plan.tasks) {
|
|
37
|
-
// Check dependencies exist
|
|
38
|
-
for (const dep of task.dependencies) {
|
|
39
|
-
if (!taskIds.has(dep)) {
|
|
40
|
-
errors.push(`Task ${task.id} has non-existent dependency: ${dep}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Check circular dependencies (simple check for now)
|
|
44
|
-
if (task.dependencies.includes(task.id)) {
|
|
45
|
-
errors.push(`Task ${task.id} cannot depend on itself.`);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// Circular dependency detection using DFS
|
|
49
|
-
const visited = new Set();
|
|
50
|
-
const recStack = new Set();
|
|
51
|
-
const hasCycle = (taskId) => {
|
|
52
|
-
if (recStack.has(taskId))
|
|
53
|
-
return true;
|
|
54
|
-
if (visited.has(taskId))
|
|
55
|
-
return false;
|
|
56
|
-
visited.add(taskId);
|
|
57
|
-
recStack.add(taskId);
|
|
58
|
-
const task = plan.tasks.find(t => t.id === taskId);
|
|
59
|
-
if (task) {
|
|
60
|
-
for (const dep of task.dependencies) {
|
|
61
|
-
if (hasCycle(dep))
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
recStack.delete(taskId);
|
|
66
|
-
return false;
|
|
67
|
-
};
|
|
68
|
-
for (const task of plan.tasks) {
|
|
69
|
-
if (hasCycle(task.id)) {
|
|
70
|
-
errors.push("Circular dependency detected in plan.");
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return {
|
|
75
|
-
valid: errors.length === 0,
|
|
76
|
-
errors
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=planning-engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"planning-engine.js","sourceRoot":"","sources":["../../../../src/modules/engines/planning-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAO,cAAc;IACvB;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAC,QAAkF;QACvG,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QACxC,MAAM,KAAK,GAAe,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAChD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,QAAQ,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO;gBACH,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpD,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC7D,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,MAAM;YACN,KAAK;SACR,CAAC;IACN,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,IAAU;QACjC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,2BAA2B;YAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,iCAAiC,GAAG,EAAE,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC;YAED,qDAAqD;YACrD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QAEnC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAW,EAAE;YACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YACtC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YAEtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAErB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACnD,IAAI,IAAI,EAAE,CAAC;gBACP,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClC,IAAI,QAAQ,CAAC,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAC;gBACnC,CAAC;YACL,CAAC;YAED,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBACrD,MAAM;YACV,CAAC;QACL,CAAC;QAED,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;SACT,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [ENGINE] Policy Engine — Language, CLI, Dashboard & Parallel Rules
|
|
3
|
-
*
|
|
4
|
-
* Combines remaining vision items:
|
|
5
|
-
* 5. API Versioning Strategy — URL versioning enforcement
|
|
6
|
-
* 7. Dashboard Live Features — WebSocket ApprovalCenter, CompliancePanel
|
|
7
|
-
* 8. CLI Command Map — .atabey/cli-commands.json management
|
|
8
|
-
* 9. Language Policy Enforcer — English-only comments/variables
|
|
9
|
-
* 10. Parallel Execution Rules — dependency lock, ownership, commit logging
|
|
10
|
-
*/
|
|
11
|
-
export interface CliCommandEntry {
|
|
12
|
-
command: string;
|
|
13
|
-
agent: string;
|
|
14
|
-
description: string;
|
|
15
|
-
outputFormat?: "json" | "text";
|
|
16
|
-
}
|
|
17
|
-
export interface LanguageViolation {
|
|
18
|
-
file: string;
|
|
19
|
-
line: number;
|
|
20
|
-
type: "turkish_comment" | "non_english_variable" | "ui_text_not_english";
|
|
21
|
-
content: string;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Policy Engine — enforces language policy, manages CLI command map,
|
|
25
|
-
* provides dashboard live data, and enforces parallel execution rules.
|
|
26
|
-
*/
|
|
27
|
-
export declare class PolicyEngine {
|
|
28
|
-
/**
|
|
29
|
-
* Validates that API endpoints use versioned paths (/api/v{N}/...).
|
|
30
|
-
*/
|
|
31
|
-
static validateApiVersioning(filePath: string, content: string): string[];
|
|
32
|
-
/**
|
|
33
|
-
* Returns dashboard live data for WebSocket broadcast.
|
|
34
|
-
*/
|
|
35
|
-
static getDashboardData(): Record<string, unknown>;
|
|
36
|
-
/**
|
|
37
|
-
* Gets the CLI command map from .atabey/cli-commands.json.
|
|
38
|
-
*/
|
|
39
|
-
static getCliCommands(): CliCommandEntry[];
|
|
40
|
-
/**
|
|
41
|
-
* Saves CLI command map.
|
|
42
|
-
*/
|
|
43
|
-
static saveCliCommand(command: CliCommandEntry): void;
|
|
44
|
-
private static getDefaultCommands;
|
|
45
|
-
/**
|
|
46
|
-
* Scans files for language policy violations.
|
|
47
|
-
* Rules: comments in English, variable/function names in English, UI text in English.
|
|
48
|
-
*/
|
|
49
|
-
static scanLanguagePolicy(filePath: string, content: string): LanguageViolation[];
|
|
50
|
-
/**
|
|
51
|
-
* Checks implicit dependency lock — if an agent's required output
|
|
52
|
-
* is not ready, the dependent agent switches to WAITING state.
|
|
53
|
-
*/
|
|
54
|
-
static checkImplicitDependency(agentName: string, requiredAgent: string): boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Enforces file ownership — an agent cannot modify files outside its scope.
|
|
57
|
-
*/
|
|
58
|
-
static enforceOwnership(agentName: string, filePath: string): boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Logs commit-level information for traceability.
|
|
61
|
-
*/
|
|
62
|
-
static logCommit(agentName: string, message: string, traceId: string): void;
|
|
63
|
-
}
|