atabey 0.0.17 → 0.0.19
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 +257 -0
- package/bin/cli.js +14 -2
- package/dist/atabey/src/cli/commands/check.js +2 -3
- 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 +22 -0
- package/dist/atabey/src/cli/commands/init/scaffold-core.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 +7 -0
- package/dist/atabey/src/cli/index.js.map +1 -1
- package/dist/atabey/src/cli/utils/config-schema.d.ts +28 -0
- package/dist/atabey/src/cli/utils/config-schema.js +6 -1
- package/dist/atabey/src/cli/utils/config-schema.js.map +1 -1
- package/dist/atabey/src/cli/utils/memory.js +26 -0
- 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/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/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 +7 -2
- 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}/constants.d.ts +0 -0
- /package/dist/{src/shared → shared/src}/constants.js +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,161 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [ENGINE] Architecture Discovery Protocol (ADP)
|
|
3
|
-
*
|
|
4
|
-
* Implements the ADP from ATABEY_FULL.md:
|
|
5
|
-
* 1. Entry Point Hunt — find main entry points (index.ts, main.ts, server.ts)
|
|
6
|
-
* 2. Business Logic Mapping — search for service/repository/controller patterns
|
|
7
|
-
* 3. Contract Analysis — locate type definitions and API schemas
|
|
8
|
-
* 4. Adaptive Scaffolding — propose architectural improvements before coding
|
|
9
|
-
*/
|
|
10
|
-
import fs from "fs";
|
|
11
|
-
import path from "path";
|
|
12
|
-
import { logger } from "../../shared/logger.js";
|
|
13
|
-
import { AtabeyStorage } from "../../shared/storage.js";
|
|
14
|
-
export class DiscoveryEngine {
|
|
15
|
-
/**
|
|
16
|
-
* Runs the full Architecture Discovery Protocol on a project.
|
|
17
|
-
*/
|
|
18
|
-
static async discover(projectRoot) {
|
|
19
|
-
logger.info(`[ADP] Starting Architecture Discovery Protocol for ${projectRoot}`);
|
|
20
|
-
const entryPoints = DiscoveryEngine.findEntryPoints(projectRoot);
|
|
21
|
-
const businessLogic = DiscoveryEngine.mapBusinessLogic(projectRoot);
|
|
22
|
-
const contracts = DiscoveryEngine.analyzeContracts(projectRoot);
|
|
23
|
-
const architecture = DiscoveryEngine.detectArchitecture(projectRoot);
|
|
24
|
-
const recommendations = DiscoveryEngine.generateRecommendations(entryPoints, businessLogic, contracts, architecture);
|
|
25
|
-
// Log discovery results
|
|
26
|
-
AtabeyStorage.saveLog({
|
|
27
|
-
agent: "@explorer",
|
|
28
|
-
action: "ARCHITECTURE_DISCOVERY",
|
|
29
|
-
trace_id: AtabeyStorage.getMetadata("traceId") || "N/A",
|
|
30
|
-
status: "SUCCESS",
|
|
31
|
-
summary: `ADP complete: ${entryPoints.length} entry points, ${businessLogic.length} logic files, ${contracts.length} contracts`
|
|
32
|
-
});
|
|
33
|
-
return { entryPoints, businessLogic, contracts, architecture, recommendations };
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Step 1: Entry Point Hunt — find main entry points.
|
|
37
|
-
*/
|
|
38
|
-
static findEntryPoints(projectRoot) {
|
|
39
|
-
const entryPoints = [];
|
|
40
|
-
const patterns = ["index.ts", "main.ts", "server.ts", "app.ts", "index.js", "main.js", "server.js"];
|
|
41
|
-
const searchDir = (dir, depth) => {
|
|
42
|
-
if (depth > 3)
|
|
43
|
-
return; // Limit depth
|
|
44
|
-
try {
|
|
45
|
-
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
46
|
-
for (const entry of entries) {
|
|
47
|
-
if (entry.isDirectory() && !entry.name.startsWith(".") && entry.name !== "node_modules") {
|
|
48
|
-
searchDir(path.join(dir, entry.name), depth + 1);
|
|
49
|
-
}
|
|
50
|
-
else if (patterns.includes(entry.name)) {
|
|
51
|
-
entryPoints.push(path.relative(projectRoot, path.join(dir, entry.name)));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
catch { /* skip unreadable */ }
|
|
56
|
-
};
|
|
57
|
-
searchDir(projectRoot, 0);
|
|
58
|
-
return entryPoints;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Step 2: Business Logic Mapping — find service/repository/controller patterns.
|
|
62
|
-
*/
|
|
63
|
-
static mapBusinessLogic(projectRoot) {
|
|
64
|
-
const logicFiles = [];
|
|
65
|
-
const patterns = ["service", "repository", "controller", "handler", "use-case", "domain"];
|
|
66
|
-
const searchDir = (dir) => {
|
|
67
|
-
try {
|
|
68
|
-
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
69
|
-
for (const entry of entries) {
|
|
70
|
-
const fullPath = path.join(dir, entry.name);
|
|
71
|
-
if (entry.isDirectory() && !entry.name.startsWith(".") && entry.name !== "node_modules") {
|
|
72
|
-
searchDir(fullPath);
|
|
73
|
-
}
|
|
74
|
-
else if (entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".js"))) {
|
|
75
|
-
const lower = entry.name.toLowerCase();
|
|
76
|
-
if (patterns.some(p => lower.includes(p))) {
|
|
77
|
-
logicFiles.push(path.relative(projectRoot, fullPath));
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
catch { /* skip unreadable */ }
|
|
83
|
-
};
|
|
84
|
-
searchDir(projectRoot);
|
|
85
|
-
return logicFiles;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Step 3: Contract Analysis — find type definitions and API schemas.
|
|
89
|
-
*/
|
|
90
|
-
static analyzeContracts(projectRoot) {
|
|
91
|
-
const contractFiles = [];
|
|
92
|
-
const patterns = ["types.ts", "schema.ts", "contract.ts", "interface.ts", "dto.ts", "api.ts"];
|
|
93
|
-
const searchDir = (dir) => {
|
|
94
|
-
try {
|
|
95
|
-
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
96
|
-
for (const entry of entries) {
|
|
97
|
-
const fullPath = path.join(dir, entry.name);
|
|
98
|
-
if (entry.isDirectory() && !entry.name.startsWith(".") && entry.name !== "node_modules") {
|
|
99
|
-
searchDir(fullPath);
|
|
100
|
-
}
|
|
101
|
-
else if (entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".d.ts"))) {
|
|
102
|
-
const lower = entry.name.toLowerCase();
|
|
103
|
-
if (patterns.some(p => lower.includes(p))) {
|
|
104
|
-
contractFiles.push(path.relative(projectRoot, fullPath));
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
catch { /* skip unreadable */ }
|
|
110
|
-
};
|
|
111
|
-
searchDir(projectRoot);
|
|
112
|
-
return contractFiles;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Detects the project architecture type.
|
|
116
|
-
*/
|
|
117
|
-
static detectArchitecture(projectRoot) {
|
|
118
|
-
const hasSrc = fs.existsSync(path.join(projectRoot, "src"));
|
|
119
|
-
const hasApps = fs.existsSync(path.join(projectRoot, "apps"));
|
|
120
|
-
const hasPackages = fs.existsSync(path.join(projectRoot, "packages"));
|
|
121
|
-
const hasBackend = fs.existsSync(path.join(projectRoot, "backend")) || fs.existsSync(path.join(projectRoot, "server"));
|
|
122
|
-
const hasFrontend = fs.existsSync(path.join(projectRoot, "frontend")) || fs.existsSync(path.join(projectRoot, "web"));
|
|
123
|
-
const hasPackageJson = fs.existsSync(path.join(projectRoot, "package.json"));
|
|
124
|
-
if (hasApps || hasPackages)
|
|
125
|
-
return "monorepo";
|
|
126
|
-
if (hasSrc && hasBackend && hasFrontend)
|
|
127
|
-
return "fullstack-src";
|
|
128
|
-
if (hasBackend && hasFrontend)
|
|
129
|
-
return "fullstack";
|
|
130
|
-
if (hasBackend)
|
|
131
|
-
return "backend-only";
|
|
132
|
-
if (hasFrontend)
|
|
133
|
-
return "frontend-only";
|
|
134
|
-
if (hasSrc)
|
|
135
|
-
return "src-based";
|
|
136
|
-
if (hasPackageJson)
|
|
137
|
-
return "simple-node";
|
|
138
|
-
return "unknown";
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Generates recommendations based on discovery results.
|
|
142
|
-
*/
|
|
143
|
-
static generateRecommendations(entryPoints, businessLogic, contracts, architecture) {
|
|
144
|
-
const recommendations = [];
|
|
145
|
-
if (entryPoints.length === 0) {
|
|
146
|
-
recommendations.push("No entry point found. Consider creating a standard entry point (index.ts, main.ts).");
|
|
147
|
-
}
|
|
148
|
-
if (businessLogic.length === 0) {
|
|
149
|
-
recommendations.push("No business logic files found. Consider using service/repository pattern.");
|
|
150
|
-
}
|
|
151
|
-
if (contracts.length === 0) {
|
|
152
|
-
recommendations.push("No contract/type files found. Define shared types before implementation.");
|
|
153
|
-
}
|
|
154
|
-
if (architecture === "unknown") {
|
|
155
|
-
recommendations.push("Architecture type undetected. Run `atabey init` to scaffold project structure.");
|
|
156
|
-
}
|
|
157
|
-
recommendations.push(`Detected architecture: ${architecture}`);
|
|
158
|
-
return recommendations;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=discovery-engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"discovery-engine.js","sourceRoot":"","sources":["../../../../src/modules/engines/discovery-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { EvaluationResult } from "./types.js";
|
|
2
|
-
export declare class EvaluationEngine {
|
|
3
|
-
/**
|
|
4
|
-
* Evaluates a completed task, calculates a score, and updates Specialty Memory.
|
|
5
|
-
* Saves lessons from both failures AND successes.
|
|
6
|
-
*/
|
|
7
|
-
static evaluateTask(traceIdStr: string, agentName: string, durationMs: number, taskDescription?: string): EvaluationResult;
|
|
8
|
-
private static extractSuccessLesson;
|
|
9
|
-
/**
|
|
10
|
-
* Reads learned conventions from an agent's specialty memory.
|
|
11
|
-
* Used by silent-router to inject context into AI calls.
|
|
12
|
-
*/
|
|
13
|
-
static readLearnedConventions(agentName: string): string;
|
|
14
|
-
/**
|
|
15
|
-
* Appends learned lessons to the agent's specialty memory.
|
|
16
|
-
*/
|
|
17
|
-
private static updateSpecialtyMemory;
|
|
18
|
-
}
|
|
@@ -1,171 +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 { appendFile, ensureDir, runCommandQuiet, writeTextFile } from "../../shared/fs.js";
|
|
6
|
-
import { logger } from "../../shared/logger.js";
|
|
7
|
-
import { asTraceID } from "../../shared/types.js";
|
|
8
|
-
export class EvaluationEngine {
|
|
9
|
-
/**
|
|
10
|
-
* Evaluates a completed task, calculates a score, and updates Specialty Memory.
|
|
11
|
-
* Saves lessons from both failures AND successes.
|
|
12
|
-
*/
|
|
13
|
-
static evaluateTask(traceIdStr, agentName, durationMs, taskDescription) {
|
|
14
|
-
const traceId = asTraceID(traceIdStr);
|
|
15
|
-
logger.debug(`Starting evaluation for Trace ${traceId} by ${agentName}`);
|
|
16
|
-
let score = 100;
|
|
17
|
-
const metrics = {
|
|
18
|
-
compilation: true,
|
|
19
|
-
lint: true,
|
|
20
|
-
tests: true,
|
|
21
|
-
compliance: 0
|
|
22
|
-
};
|
|
23
|
-
const projectRoot = process.cwd();
|
|
24
|
-
const lessons = [];
|
|
25
|
-
// 1. Compliance Check (AST-based discipline check)
|
|
26
|
-
try {
|
|
27
|
-
const issues = scanProjectCompliance("src");
|
|
28
|
-
metrics.compliance = issues.length;
|
|
29
|
-
if (issues.length > 0) {
|
|
30
|
-
score -= Math.min(issues.length * 5, 40);
|
|
31
|
-
lessons.push("Compliance Violations Detected: Ensure strict adherence to zero-any, zero-console.log policies.");
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
lessons.push("Compliance check passed: No any types or console.log violations found.");
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
-
logger.debug("Compliance check failed during evaluation", e);
|
|
39
|
-
}
|
|
40
|
-
// 2. Compilation Check
|
|
41
|
-
try {
|
|
42
|
-
if (fs.existsSync(path.join(projectRoot, "tsconfig.json"))) {
|
|
43
|
-
runCommandQuiet("npx", ["tsc", "--noEmit"], projectRoot);
|
|
44
|
-
lessons.push("TypeScript compilation succeeded. Project is type-safe.");
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
metrics.compilation = false;
|
|
49
|
-
score -= 20;
|
|
50
|
-
lessons.push("Compilation Error: Always run 'npx tsc --noEmit' to verify type safety before completing a task.");
|
|
51
|
-
}
|
|
52
|
-
// 3. Lint Check
|
|
53
|
-
try {
|
|
54
|
-
if (fs.existsSync(path.join(projectRoot, "eslint.config.js"))) {
|
|
55
|
-
runCommandQuiet("npx", ["eslint", ".", "--max-warnings", "0"], projectRoot);
|
|
56
|
-
lessons.push("Lint check passed. Code follows project style guidelines.");
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
metrics.lint = false;
|
|
61
|
-
score -= 10;
|
|
62
|
-
}
|
|
63
|
-
// 4. Test Check
|
|
64
|
-
try {
|
|
65
|
-
if (fs.existsSync(path.join(projectRoot, "vitest.config.ts"))) {
|
|
66
|
-
runCommandQuiet("npx", ["vitest", "run", "--passWithNoTests"], projectRoot);
|
|
67
|
-
lessons.push("All tests passed. Changes are verified.");
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
metrics.tests = false;
|
|
72
|
-
score -= 20;
|
|
73
|
-
lessons.push("Test Failure: Ensure all unit tests pass before marking a task as COMPLETED.");
|
|
74
|
-
}
|
|
75
|
-
// 5. Efficiency Check
|
|
76
|
-
if (durationMs > 120000) {
|
|
77
|
-
score -= 10;
|
|
78
|
-
lessons.push("Task took longer than 2 minutes. Consider breaking large tasks into smaller steps.");
|
|
79
|
-
}
|
|
80
|
-
else if (score >= 80) {
|
|
81
|
-
lessons.push("Task completed efficiently within expected timeframe.");
|
|
82
|
-
}
|
|
83
|
-
// 6. Success Lesson — if score is high and no critical errors
|
|
84
|
-
if (score >= 80 && taskDescription) {
|
|
85
|
-
const successLesson = this.extractSuccessLesson(agentName, taskDescription);
|
|
86
|
-
if (successLesson) {
|
|
87
|
-
lessons.push(successLesson);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
// Save all lessons to specialty memory
|
|
91
|
-
for (const lesson of lessons) {
|
|
92
|
-
this.updateSpecialtyMemory(agentName, lesson);
|
|
93
|
-
}
|
|
94
|
-
const result = {
|
|
95
|
-
traceId,
|
|
96
|
-
agent: agentName.replace("@", ""),
|
|
97
|
-
score: Math.max(0, score),
|
|
98
|
-
metrics,
|
|
99
|
-
durationMs,
|
|
100
|
-
timestamp: new Date().toISOString()
|
|
101
|
-
};
|
|
102
|
-
logger.debug(`Evaluation completed for ${agentName}: Score ${result.score}/100`);
|
|
103
|
-
return result;
|
|
104
|
-
}
|
|
105
|
-
static extractSuccessLesson(agentName, taskDescription) {
|
|
106
|
-
const patterns = [
|
|
107
|
-
{ keywords: ["api", "endpoint", "route", "rest"], category: "REST API pattern" },
|
|
108
|
-
{ keywords: ["auth", "login", "jwt", "token"], category: "Authentication/authorization/JWT pattern" },
|
|
109
|
-
{ keywords: ["test", "spec", "vitest"], category: "Test-driven development approach" },
|
|
110
|
-
{ keywords: ["migration", "schema", "database", "sql"], category: "Database schema/migration pattern" },
|
|
111
|
-
{ keywords: ["component", "react", "ui", "page"], category: "UI component design pattern" },
|
|
112
|
-
{ keywords: ["middleware", "guard", "interceptor"], category: "Middleware/guard pipeline pattern" },
|
|
113
|
-
{ keywords: ["service", "repository", "inject"], category: "Service/repository architecture pattern" },
|
|
114
|
-
{ keywords: ["error", "exception", "catch", "try"], category: "Robust error handling pattern" },
|
|
115
|
-
{ keywords: ["config", "env", "environment"], category: "Configuration and environment control pattern" },
|
|
116
|
-
];
|
|
117
|
-
const lower = taskDescription.toLowerCase();
|
|
118
|
-
let categoryStr = "";
|
|
119
|
-
for (const { keywords, category } of patterns) {
|
|
120
|
-
if (keywords.some(k => lower.includes(k))) {
|
|
121
|
-
categoryStr = ` using ${category}`;
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
const cleanedTask = taskDescription.replace(/\r?\n/g, " ").trim();
|
|
126
|
-
const truncatedTask = cleanedTask.length > 120 ? cleanedTask.substring(0, 117) + "..." : cleanedTask;
|
|
127
|
-
const capitalizedTask = truncatedTask.charAt(0).toUpperCase() + truncatedTask.slice(1);
|
|
128
|
-
return `Successfully completed task: "${capitalizedTask}"${categoryStr}.`;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Reads learned conventions from an agent's specialty memory.
|
|
132
|
-
* Used by silent-router to inject context into AI calls.
|
|
133
|
-
*/
|
|
134
|
-
static readLearnedConventions(agentName) {
|
|
135
|
-
const cleanName = agentName.replace("@", "");
|
|
136
|
-
const fwDir = getFrameworkDir();
|
|
137
|
-
const filePath = path.join(fwDir, "memory", "specialties", `${cleanName}.md`);
|
|
138
|
-
try {
|
|
139
|
-
if (fs.existsSync(filePath)) {
|
|
140
|
-
const content = fs.readFileSync(filePath, "utf8").trim();
|
|
141
|
-
if (content)
|
|
142
|
-
return content;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
catch {
|
|
146
|
-
// File might not exist yet
|
|
147
|
-
}
|
|
148
|
-
return "";
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Appends learned lessons to the agent's specialty memory.
|
|
152
|
-
*/
|
|
153
|
-
static updateSpecialtyMemory(agentName, lesson) {
|
|
154
|
-
const cleanName = agentName.replace("@", "");
|
|
155
|
-
const fwDir = getFrameworkDir();
|
|
156
|
-
const specialtiesDir = path.join(fwDir, "memory", "specialties");
|
|
157
|
-
ensureDir(specialtiesDir);
|
|
158
|
-
const filePath = path.join(specialtiesDir, `${cleanName}.md`);
|
|
159
|
-
const timestamp = new Date().toISOString().split("T")[0];
|
|
160
|
-
const entry = `- **[${timestamp}]**: ${lesson}\n`;
|
|
161
|
-
if (!fs.existsSync(filePath)) {
|
|
162
|
-
writeTextFile(filePath, `# Learned Conventions for @${cleanName}\n\n`);
|
|
163
|
-
}
|
|
164
|
-
// Avoid duplicate lessons on the same day
|
|
165
|
-
const currentContent = fs.readFileSync(filePath, "utf8");
|
|
166
|
-
if (!currentContent.includes(lesson)) {
|
|
167
|
-
appendFile(filePath, entry);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=evaluation-engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation-engine.js","sourceRoot":"","sources":["../../../../src/modules/engines/evaluation-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [ENGINE] File Lock — Conflict Resolution for Multi-Agent File Access
|
|
3
|
-
*
|
|
4
|
-
* Prevents two agents from writing to the same file simultaneously.
|
|
5
|
-
* Uses .atabey/locks/ directory with per-file lock files.
|
|
6
|
-
*
|
|
7
|
-
* Flow:
|
|
8
|
-
* 1. Agent A acquires lock on src/file.ts → writes .atabey/locks/src/file.ts.lock
|
|
9
|
-
* 2. Agent B tries to write src/file.ts → lock exists → WAITING state
|
|
10
|
-
* 3. Agent A releases lock → Agent B can proceed
|
|
11
|
-
*
|
|
12
|
-
* Stale lock detection: locks older than 5 minutes are auto-released.
|
|
13
|
-
*/
|
|
14
|
-
export declare class FileLock {
|
|
15
|
-
private static LOCKS_DIR;
|
|
16
|
-
private static STALE_TIMEOUT_MS;
|
|
17
|
-
/**
|
|
18
|
-
* Attempts to acquire a lock for a file on behalf of an agent.
|
|
19
|
-
* Returns true if lock acquired, false if another agent holds it.
|
|
20
|
-
*/
|
|
21
|
-
static acquire(agentName: string, filePath: string): boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Releases a lock held by an agent.
|
|
24
|
-
* Only the lock-owning agent can release (others get warning).
|
|
25
|
-
*/
|
|
26
|
-
static release(agentName: string, filePath: string): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Checks if a file is currently locked.
|
|
29
|
-
* Returns the locking agent name or null.
|
|
30
|
-
*/
|
|
31
|
-
static isLocked(filePath: string): string | null;
|
|
32
|
-
/**
|
|
33
|
-
* Lists all currently active locks.
|
|
34
|
-
*/
|
|
35
|
-
static listLocks(): Array<{
|
|
36
|
-
agent: string;
|
|
37
|
-
file: string;
|
|
38
|
-
acquiredAt: string;
|
|
39
|
-
}>;
|
|
40
|
-
private static getLockPath;
|
|
41
|
-
}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { logger } from "../../shared/logger.js";
|
|
4
|
-
import { AtabeyStorage } from "../../shared/storage.js";
|
|
5
|
-
/**
|
|
6
|
-
* [ENGINE] File Lock — Conflict Resolution for Multi-Agent File Access
|
|
7
|
-
*
|
|
8
|
-
* Prevents two agents from writing to the same file simultaneously.
|
|
9
|
-
* Uses .atabey/locks/ directory with per-file lock files.
|
|
10
|
-
*
|
|
11
|
-
* Flow:
|
|
12
|
-
* 1. Agent A acquires lock on src/file.ts → writes .atabey/locks/src/file.ts.lock
|
|
13
|
-
* 2. Agent B tries to write src/file.ts → lock exists → WAITING state
|
|
14
|
-
* 3. Agent A releases lock → Agent B can proceed
|
|
15
|
-
*
|
|
16
|
-
* Stale lock detection: locks older than 5 minutes are auto-released.
|
|
17
|
-
*/
|
|
18
|
-
export class FileLock {
|
|
19
|
-
static LOCKS_DIR = ".atabey/locks";
|
|
20
|
-
static STALE_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
|
|
21
|
-
/**
|
|
22
|
-
* Attempts to acquire a lock for a file on behalf of an agent.
|
|
23
|
-
* Returns true if lock acquired, false if another agent holds it.
|
|
24
|
-
*/
|
|
25
|
-
static acquire(agentName, filePath) {
|
|
26
|
-
const lockFile = FileLock.getLockPath(filePath);
|
|
27
|
-
const lockDir = path.dirname(lockFile);
|
|
28
|
-
// Ensure locks directory exists
|
|
29
|
-
if (!fs.existsSync(lockDir)) {
|
|
30
|
-
fs.mkdirSync(lockDir, { recursive: true });
|
|
31
|
-
}
|
|
32
|
-
// Check if lock already exists
|
|
33
|
-
if (fs.existsSync(lockFile)) {
|
|
34
|
-
try {
|
|
35
|
-
const lockData = JSON.parse(fs.readFileSync(lockFile, "utf8"));
|
|
36
|
-
// Check if lock is stale (older than 5 min)
|
|
37
|
-
const lockAge = Date.now() - new Date(lockData.acquiredAt).getTime();
|
|
38
|
-
if (lockAge > FileLock.STALE_TIMEOUT_MS) {
|
|
39
|
-
logger.warn(`[FILE_LOCK] Stale lock detected for ${filePath} (age: ${Math.round(lockAge / 1000)}s). Overriding.`);
|
|
40
|
-
fs.unlinkSync(lockFile);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
// Lock is held by another agent — conflict
|
|
44
|
-
logger.warn(`[FILE_LOCK] CONFLICT: ${agentName} cannot write ${filePath} — locked by ${lockData.agent}`);
|
|
45
|
-
AtabeyStorage.saveLog({
|
|
46
|
-
agent: agentName,
|
|
47
|
-
action: "FILE_LOCK_CONFLICT",
|
|
48
|
-
trace_id: AtabeyStorage.getMetadata("traceId") || "N/A",
|
|
49
|
-
status: "BLOCKED",
|
|
50
|
-
summary: `File ${filePath} is locked by ${lockData.agent}. Waiting for release.`
|
|
51
|
-
});
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
// Corrupted lock file — remove and retry
|
|
57
|
-
fs.unlinkSync(lockFile);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
// Acquire lock
|
|
61
|
-
fs.writeFileSync(lockFile, JSON.stringify({
|
|
62
|
-
agent: agentName,
|
|
63
|
-
file: filePath,
|
|
64
|
-
acquiredAt: new Date().toISOString(),
|
|
65
|
-
traceId: AtabeyStorage.getMetadata("traceId") || "N/A"
|
|
66
|
-
}, null, 2));
|
|
67
|
-
logger.debug(`[FILE_LOCK] ${agentName} acquired lock on ${filePath}`);
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Releases a lock held by an agent.
|
|
72
|
-
* Only the lock-owning agent can release (others get warning).
|
|
73
|
-
*/
|
|
74
|
-
static release(agentName, filePath) {
|
|
75
|
-
const lockFile = FileLock.getLockPath(filePath);
|
|
76
|
-
if (!fs.existsSync(lockFile)) {
|
|
77
|
-
return true; // No lock to release
|
|
78
|
-
}
|
|
79
|
-
try {
|
|
80
|
-
const lockData = JSON.parse(fs.readFileSync(lockFile, "utf8"));
|
|
81
|
-
if (lockData.agent !== agentName) {
|
|
82
|
-
logger.warn(`[FILE_LOCK] ${agentName} tried to release lock held by ${lockData.agent} on ${filePath}`);
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
fs.unlinkSync(lockFile);
|
|
86
|
-
logger.debug(`[FILE_LOCK] ${agentName} released lock on ${filePath}`);
|
|
87
|
-
return true;
|
|
88
|
-
}
|
|
89
|
-
catch {
|
|
90
|
-
// Corrupted lock file — just remove it
|
|
91
|
-
try {
|
|
92
|
-
fs.unlinkSync(lockFile);
|
|
93
|
-
}
|
|
94
|
-
catch { /* ignore */ }
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Checks if a file is currently locked.
|
|
100
|
-
* Returns the locking agent name or null.
|
|
101
|
-
*/
|
|
102
|
-
static isLocked(filePath) {
|
|
103
|
-
const lockFile = FileLock.getLockPath(filePath);
|
|
104
|
-
if (!fs.existsSync(lockFile))
|
|
105
|
-
return null;
|
|
106
|
-
try {
|
|
107
|
-
const lockData = JSON.parse(fs.readFileSync(lockFile, "utf8"));
|
|
108
|
-
// Check for stale lock
|
|
109
|
-
const lockAge = Date.now() - new Date(lockData.acquiredAt).getTime();
|
|
110
|
-
if (lockAge > FileLock.STALE_TIMEOUT_MS) {
|
|
111
|
-
fs.unlinkSync(lockFile);
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
return lockData.agent;
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
try {
|
|
118
|
-
fs.unlinkSync(lockFile);
|
|
119
|
-
}
|
|
120
|
-
catch { /* ignore */ }
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Lists all currently active locks.
|
|
126
|
-
*/
|
|
127
|
-
static listLocks() {
|
|
128
|
-
const locksDir = path.join(process.cwd(), FileLock.LOCKS_DIR);
|
|
129
|
-
if (!fs.existsSync(locksDir))
|
|
130
|
-
return [];
|
|
131
|
-
const locks = [];
|
|
132
|
-
const walkDir = (dir) => {
|
|
133
|
-
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
134
|
-
for (const entry of entries) {
|
|
135
|
-
const fullPath = path.join(dir, entry.name);
|
|
136
|
-
if (entry.isDirectory()) {
|
|
137
|
-
walkDir(fullPath);
|
|
138
|
-
}
|
|
139
|
-
else if (entry.name.endsWith(".lock")) {
|
|
140
|
-
try {
|
|
141
|
-
const data = JSON.parse(fs.readFileSync(fullPath, "utf8"));
|
|
142
|
-
const lockAge = Date.now() - new Date(data.acquiredAt).getTime();
|
|
143
|
-
if (lockAge <= FileLock.STALE_TIMEOUT_MS) {
|
|
144
|
-
locks.push(data);
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
fs.unlinkSync(fullPath); // Clean stale
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
catch {
|
|
151
|
-
try {
|
|
152
|
-
fs.unlinkSync(fullPath);
|
|
153
|
-
}
|
|
154
|
-
catch { /* ignore */ }
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
walkDir(locksDir);
|
|
160
|
-
return locks;
|
|
161
|
-
}
|
|
162
|
-
static getLockPath(filePath) {
|
|
163
|
-
// Convert absolute/relative path to lock file path
|
|
164
|
-
const relativePath = path.relative(process.cwd(), filePath).replace(/^\.\.\//, "");
|
|
165
|
-
return path.join(process.cwd(), FileLock.LOCKS_DIR, `${relativePath}.lock`);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=file-lock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../../../../src/modules/engines/file-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { EvaluationResult, ProjectHealth } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* [DATA] Evaluation & Health Engine
|
|
4
|
-
* Rates agent performance and tracks overall project stability.
|
|
5
|
-
* Now uses real metrics from SQLite, compliance scans, and agent states.
|
|
6
|
-
*/
|
|
7
|
-
export declare class HealthEngine {
|
|
8
|
-
/**
|
|
9
|
-
* Records a post-task evaluation.
|
|
10
|
-
*/
|
|
11
|
-
static recordEvaluation(result: EvaluationResult): Promise<void>;
|
|
12
|
-
/**
|
|
13
|
-
* Aggregates real data to calculate the overall Project Health.
|
|
14
|
-
* Uses actual metrics from:
|
|
15
|
-
* - Agent success rates from SQLite logs
|
|
16
|
-
* - Compliance violations from AST scanning
|
|
17
|
-
* - Agent state distribution (blocked/ready ratio)
|
|
18
|
-
* - Test results from recent evaluations
|
|
19
|
-
*/
|
|
20
|
-
static updateProjectHealth(): Promise<ProjectHealth>;
|
|
21
|
-
static getHealth(): ProjectHealth | null;
|
|
22
|
-
}
|