atabey 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ATABEY.md +52 -249
- package/PRIVACY.md +161 -0
- package/README.md +355 -140
- package/bin/completion.sh +30 -0
- package/bin/{validate-agent-army.js → validate-al-registry.js} +6 -6
- package/dist/framework-mcp/src/index.js +14 -2
- package/dist/framework-mcp/src/index.js.map +1 -1
- package/dist/framework-mcp/src/resources/index.js +5 -5
- package/dist/framework-mcp/src/resources/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +1 -1
- package/dist/framework-mcp/src/tools/control_plane/locking.js +11 -9
- package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -1
- package/dist/framework-mcp/src/tools/definitions.d.ts +5 -0
- package/dist/framework-mcp/src/tools/definitions.js +116 -241
- package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +4 -4
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/read_file.js +1 -1
- package/dist/framework-mcp/src/tools/file_system/replace_text.js +3 -3
- package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/write_file.d.ts +1 -1
- package/dist/framework-mcp/src/tools/file_system/write_file.js +4 -4
- package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/audit_deps.js +1 -1
- package/dist/framework-mcp/src/tools/framework/audit_deps.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/submit_plan.d.ts +4 -3
- package/dist/framework-mcp/src/tools/framework/submit_plan.js.map +1 -1
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.d.ts +19 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +138 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js.map +1 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.d.ts +8 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +91 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js.map +1 -0
- package/dist/framework-mcp/src/tools/index.d.ts +2 -0
- package/dist/framework-mcp/src/tools/index.js +81 -17
- package/dist/framework-mcp/src/tools/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.d.ts +8 -0
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.js +29 -0
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.js.map +1 -0
- package/dist/framework-mcp/src/tools/memory/read_memory.js +1 -1
- package/dist/framework-mcp/src/tools/memory/read_memory.js.map +1 -1
- package/dist/framework-mcp/src/tools/memory/search_knowledge.d.ts +8 -0
- package/dist/framework-mcp/src/tools/memory/search_knowledge.js +49 -0
- package/dist/framework-mcp/src/tools/memory/search_knowledge.js.map +1 -0
- package/dist/framework-mcp/src/tools/memory/store_knowledge.d.ts +10 -0
- package/dist/framework-mcp/src/tools/memory/store_knowledge.js +31 -0
- package/dist/framework-mcp/src/tools/memory/store_knowledge.js.map +1 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.d.ts +6 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.js +31 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.js.map +1 -0
- package/dist/framework-mcp/src/tools/observability/check_ports.js +1 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
- package/dist/framework-mcp/src/tools/observability/get_health.js +1 -1
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.d.ts +11 -0
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +166 -0
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js.map +1 -0
- package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.d.ts +11 -0
- package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +135 -0
- package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js.map +1 -0
- package/dist/framework-mcp/src/tools/schemas.d.ts +439 -0
- package/dist/framework-mcp/src/tools/schemas.js +183 -0
- package/dist/framework-mcp/src/tools/schemas.js.map +1 -0
- package/dist/framework-mcp/src/tools/search/get_map.js +2 -2
- package/dist/framework-mcp/src/tools/search/get_map.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/grep_search.js +10 -7
- package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -1
- package/dist/framework-mcp/src/tools/shell/run_command.js +72 -7
- package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -1
- package/dist/framework-mcp/src/tools/types.d.ts +10 -9
- package/dist/framework-mcp/src/utils/compliance.d.ts +10 -0
- package/dist/framework-mcp/src/utils/compliance.js +102 -41
- package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
- package/dist/framework-mcp/src/utils/fs.d.ts +10 -7
- package/dist/framework-mcp/src/utils/fs.js +10 -7
- package/dist/framework-mcp/src/utils/fs.js.map +1 -1
- package/dist/framework-mcp/src/utils/types.d.ts +8 -0
- package/dist/framework-mcp/src/utils/types.js +4 -0
- package/dist/framework-mcp/src/utils/types.js.map +1 -1
- package/dist/framework-mcp/src/utils/zod-to-mcp.d.ts +10 -0
- package/dist/framework-mcp/src/utils/zod-to-mcp.js +80 -0
- package/dist/framework-mcp/src/utils/zod-to-mcp.js.map +1 -0
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +4 -4
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +17 -16
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
- package/dist/src/cli/adapters/core.js +2 -1
- package/dist/src/cli/adapters/core.js.map +1 -1
- package/dist/src/cli/adapters/scaffold.js +2 -1
- package/dist/src/cli/adapters/scaffold.js.map +1 -1
- package/dist/src/cli/commands/check.js +17 -17
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/compliance.d.ts +5 -1
- package/dist/src/cli/commands/compliance.js +34 -42
- package/dist/src/cli/commands/compliance.js.map +1 -1
- package/dist/src/cli/commands/contract.js +6 -5
- package/dist/src/cli/commands/contract.js.map +1 -1
- package/dist/src/cli/commands/coverage.d.ts +1 -0
- package/dist/src/cli/commands/coverage.js +121 -0
- package/dist/src/cli/commands/coverage.js.map +1 -0
- package/dist/src/cli/commands/dashboard.d.ts +1 -1
- package/dist/src/cli/commands/dashboard.js +479 -39
- package/dist/src/cli/commands/dashboard.js.map +1 -1
- package/dist/src/cli/commands/explorer.js +8 -7
- package/dist/src/cli/commands/explorer.js.map +1 -1
- package/dist/src/cli/commands/gateway.d.ts +1 -0
- package/dist/src/cli/commands/gateway.js +172 -0
- package/dist/src/cli/commands/gateway.js.map +1 -0
- package/dist/src/cli/commands/git.js +8 -9
- package/dist/src/cli/commands/git.js.map +1 -1
- package/dist/src/cli/commands/index-codebase.d.ts +4 -0
- package/dist/src/cli/commands/index-codebase.js +52 -0
- package/dist/src/cli/commands/index-codebase.js.map +1 -0
- package/dist/src/cli/commands/init/create-agent.js +3 -3
- package/dist/src/cli/commands/init/create-agent.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-core.d.ts +1 -1
- package/dist/src/cli/commands/init/scaffold-core.js +7 -6
- package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-docs.js +4 -3
- package/dist/src/cli/commands/init/scaffold-docs.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-ops.js +3 -3
- package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-standards.js +11 -7
- package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts +2 -0
- package/dist/src/cli/commands/init.js +127 -45
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/knowledge.js +5 -32
- package/dist/src/cli/commands/knowledge.js.map +1 -1
- package/dist/src/cli/commands/lint.js +5 -4
- package/dist/src/cli/commands/lint.js.map +1 -1
- package/dist/src/cli/commands/mcp.d.ts +11 -0
- package/dist/src/cli/commands/mcp.js +130 -0
- package/dist/src/cli/commands/mcp.js.map +1 -0
- package/dist/src/cli/commands/orchestrate.d.ts +10 -9
- package/dist/src/cli/commands/orchestrate.js +132 -66
- package/dist/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/src/cli/commands/plan.js +16 -14
- package/dist/src/cli/commands/plan.js.map +1 -1
- package/dist/src/cli/commands/quickstart.d.ts +9 -0
- package/dist/src/cli/commands/quickstart.js +72 -0
- package/dist/src/cli/commands/quickstart.js.map +1 -0
- package/dist/src/cli/commands/script.js +6 -5
- package/dist/src/cli/commands/script.js.map +1 -1
- package/dist/src/cli/commands/security.js +5 -8
- package/dist/src/cli/commands/security.js.map +1 -1
- package/dist/src/cli/commands/status.js +23 -19
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/commands/trace.d.ts +2 -0
- package/dist/src/cli/commands/trace.js +59 -61
- package/dist/src/cli/commands/trace.js.map +1 -1
- package/dist/src/cli/index.js +236 -294
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/platforms/core.d.ts +12 -0
- package/dist/src/cli/platforms/core.js +73 -0
- package/dist/src/cli/platforms/core.js.map +1 -0
- package/dist/src/cli/platforms/index.d.ts +5 -0
- package/dist/src/cli/platforms/index.js +6 -0
- package/dist/src/cli/platforms/index.js.map +1 -0
- package/dist/src/cli/platforms/paths.d.ts +15 -0
- package/dist/src/cli/platforms/paths.js +102 -0
- package/dist/src/cli/platforms/paths.js.map +1 -0
- package/dist/src/cli/platforms/scaffold.d.ts +2 -0
- package/dist/src/cli/platforms/scaffold.js +73 -0
- package/dist/src/cli/platforms/scaffold.js.map +1 -0
- package/dist/src/cli/platforms/utils.d.ts +4 -0
- package/dist/src/cli/platforms/utils.js +76 -0
- package/dist/src/cli/platforms/utils.js.map +1 -0
- package/dist/src/cli/shims.js +5 -5
- package/dist/src/cli/utils/claude.js +2 -1
- package/dist/src/cli/utils/claude.js.map +1 -1
- package/dist/src/cli/utils/compliance.d.ts +10 -9
- package/dist/src/cli/utils/compliance.js +10 -171
- package/dist/src/cli/utils/compliance.js.map +1 -1
- package/dist/src/cli/utils/fs.d.ts +3 -3
- package/dist/src/cli/utils/fs.js +8 -7
- package/dist/src/cli/utils/fs.js.map +1 -1
- package/dist/src/cli/utils/i18n.d.ts +5 -0
- package/dist/src/cli/utils/i18n.js +5 -0
- package/dist/src/cli/utils/i18n.js.map +1 -1
- package/dist/src/cli/utils/memory.js +9 -6
- package/dist/src/cli/utils/memory.js.map +1 -1
- package/dist/src/cli/utils/pkg.js +8 -7
- package/dist/src/cli/utils/pkg.js.map +1 -1
- package/dist/src/cli/utils/schemas.d.ts +4 -4
- package/dist/src/cli/utils/ui.d.ts +23 -0
- package/dist/src/cli/utils/ui.js +42 -0
- package/dist/src/cli/utils/ui.js.map +1 -1
- package/dist/src/contracts/tasks.d.ts +4 -4
- package/dist/src/dashboard/src/hooks/useApi.d.ts +18 -0
- package/dist/src/dashboard/src/hooks/useApi.js +47 -0
- package/dist/src/dashboard/src/hooks/useApi.js.map +1 -0
- package/dist/src/dashboard/src/hooks/useSSE.d.ts +12 -0
- package/dist/src/dashboard/src/hooks/useSSE.js +60 -0
- package/dist/src/dashboard/src/hooks/useSSE.js.map +1 -0
- package/dist/src/modules/adapters/shared.js +3 -3
- package/dist/src/modules/adapters/shared.js.map +1 -1
- package/dist/src/modules/agents/definitions.d.ts +5 -13
- package/dist/src/modules/agents/definitions.js +179 -78
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/src/modules/agents/registry/analyst.js +2 -1
- package/dist/src/modules/agents/registry/analyst.js.map +1 -1
- package/dist/src/modules/agents/registry/architect.js +1 -0
- package/dist/src/modules/agents/registry/architect.js.map +1 -1
- package/dist/src/modules/agents/registry/backend.js +8 -6
- package/dist/src/modules/agents/registry/backend.js.map +1 -1
- package/dist/src/modules/agents/registry/database.js.map +1 -1
- package/dist/src/modules/agents/registry/devops.js.map +1 -1
- package/dist/src/modules/agents/registry/explorer.js +2 -0
- package/dist/src/modules/agents/registry/explorer.js.map +1 -1
- package/dist/src/modules/agents/registry/frontend.js +8 -6
- package/dist/src/modules/agents/registry/frontend.js.map +1 -1
- package/dist/src/modules/agents/registry/git.js.map +1 -1
- package/dist/src/modules/agents/registry/manager.js +11 -4
- package/dist/src/modules/agents/registry/manager.js.map +1 -1
- package/dist/src/modules/agents/registry/mobile.js +7 -5
- package/dist/src/modules/agents/registry/mobile.js.map +1 -1
- package/dist/src/modules/agents/registry/native.js +7 -5
- package/dist/src/modules/agents/registry/native.js.map +1 -1
- package/dist/src/modules/agents/registry/quality.js +11 -8
- package/dist/src/modules/agents/registry/quality.js.map +1 -1
- package/dist/src/modules/agents/registry/security.js.map +1 -1
- package/dist/src/modules/contracts/api.d.ts +178 -0
- package/dist/src/modules/contracts/api.js +56 -0
- package/dist/src/modules/contracts/api.js.map +1 -0
- package/dist/src/modules/contracts/index.d.ts +5 -0
- package/dist/src/modules/contracts/index.js +6 -0
- package/dist/src/modules/contracts/index.js.map +1 -0
- package/dist/src/modules/engines/agent-executor.d.ts +50 -0
- package/dist/src/modules/engines/agent-executor.js +188 -0
- package/dist/src/modules/engines/agent-executor.js.map +1 -0
- package/dist/src/modules/engines/health-engine.d.ts +7 -1
- package/dist/src/modules/engines/health-engine.js +85 -8
- package/dist/src/modules/engines/health-engine.js.map +1 -1
- package/dist/src/modules/engines/planning-engine.d.ts +1 -1
- package/dist/src/modules/engines/planning-engine.js +5 -4
- package/dist/src/modules/engines/planning-engine.js.map +1 -1
- package/dist/src/modules/engines/quality-gate.d.ts +23 -0
- package/dist/src/modules/engines/quality-gate.js +85 -0
- package/dist/src/modules/engines/quality-gate.js.map +1 -0
- package/dist/src/modules/engines/risk-engine.js +6 -6
- package/dist/src/modules/engines/risk-engine.js.map +1 -1
- package/dist/src/modules/engines/routing-engine.d.ts +59 -1
- package/dist/src/modules/engines/routing-engine.js +353 -25
- package/dist/src/modules/engines/routing-engine.js.map +1 -1
- package/dist/src/modules/engines/types.d.ts +7 -3
- package/dist/src/modules/gateway/circuit-breaker.d.ts +40 -0
- package/dist/src/modules/gateway/circuit-breaker.js +163 -0
- package/dist/src/modules/gateway/circuit-breaker.js.map +1 -0
- package/dist/src/modules/gateway/cost-tracker.d.ts +55 -0
- package/dist/src/modules/gateway/cost-tracker.js +127 -0
- package/dist/src/modules/gateway/cost-tracker.js.map +1 -0
- package/dist/src/modules/gateway/gateway.d.ts +68 -0
- package/dist/src/modules/gateway/gateway.js +235 -0
- package/dist/src/modules/gateway/gateway.js.map +1 -0
- package/dist/src/modules/gateway/index.d.ts +19 -0
- package/dist/src/modules/gateway/index.js +19 -0
- package/dist/src/modules/gateway/index.js.map +1 -0
- package/dist/src/modules/gateway/load-balancer.d.ts +86 -0
- package/dist/src/modules/gateway/load-balancer.js +230 -0
- package/dist/src/modules/gateway/load-balancer.js.map +1 -0
- package/dist/src/modules/gateway/providers/anthropic.d.ts +14 -0
- package/dist/src/modules/gateway/providers/anthropic.js +169 -0
- package/dist/src/modules/gateway/providers/anthropic.js.map +1 -0
- package/dist/src/modules/gateway/providers/base.d.ts +38 -0
- package/dist/src/modules/gateway/providers/base.js +42 -0
- package/dist/src/modules/gateway/providers/base.js.map +1 -0
- package/dist/src/modules/gateway/providers/google.d.ts +18 -0
- package/dist/src/modules/gateway/providers/google.js +176 -0
- package/dist/src/modules/gateway/providers/google.js.map +1 -0
- package/dist/src/modules/gateway/providers/grok.d.ts +14 -0
- package/dist/src/modules/gateway/providers/grok.js +166 -0
- package/dist/src/modules/gateway/providers/grok.js.map +1 -0
- package/dist/src/modules/gateway/providers/index.d.ts +21 -0
- package/dist/src/modules/gateway/providers/index.js +38 -0
- package/dist/src/modules/gateway/providers/index.js.map +1 -0
- package/dist/src/modules/gateway/providers/ollama.d.ts +23 -0
- package/dist/src/modules/gateway/providers/ollama.js +187 -0
- package/dist/src/modules/gateway/providers/ollama.js.map +1 -0
- package/dist/src/modules/gateway/providers/openai.d.ts +14 -0
- package/dist/src/modules/gateway/providers/openai.js +170 -0
- package/dist/src/modules/gateway/providers/openai.js.map +1 -0
- package/dist/src/modules/gateway/rate-limiter.d.ts +41 -0
- package/dist/src/modules/gateway/rate-limiter.js +119 -0
- package/dist/src/modules/gateway/rate-limiter.js.map +1 -0
- package/dist/src/modules/gateway/types.d.ts +114 -0
- package/dist/src/modules/gateway/types.js +8 -0
- package/dist/src/modules/gateway/types.js.map +1 -0
- package/dist/src/modules/memory/core.d.ts +42 -0
- package/dist/src/modules/memory/core.js +100 -0
- package/dist/src/modules/memory/core.js.map +1 -0
- package/dist/src/modules/memory/embedding.d.ts +28 -0
- package/dist/src/modules/memory/embedding.js +131 -0
- package/dist/src/modules/memory/embedding.js.map +1 -0
- package/dist/src/modules/memory/types.d.ts +18 -0
- package/dist/src/modules/memory/types.js +2 -0
- package/dist/src/modules/memory/types.js.map +1 -0
- package/dist/src/modules/memory/vector-store.d.ts +13 -0
- package/dist/src/modules/memory/vector-store.js +75 -0
- package/dist/src/modules/memory/vector-store.js.map +1 -0
- package/dist/src/modules/providers/definitions.d.ts +9 -0
- package/dist/src/modules/providers/definitions.js +141 -0
- package/dist/src/modules/providers/definitions.js.map +1 -0
- package/dist/src/modules/providers/registry.d.ts +12 -0
- package/dist/src/modules/providers/registry.js +19 -0
- package/dist/src/modules/providers/registry.js.map +1 -0
- package/dist/src/modules/providers/shared.d.ts +1 -0
- package/dist/src/modules/providers/shared.js +105 -0
- package/dist/src/modules/providers/shared.js.map +1 -0
- package/dist/src/modules/providers/types.d.ts +14 -0
- package/dist/src/modules/providers/types.js +2 -0
- package/dist/src/modules/providers/types.js.map +1 -0
- package/dist/src/modules/skills/adapter-skills.d.ts +68 -0
- package/dist/src/modules/skills/adapter-skills.js +450 -0
- package/dist/src/modules/skills/adapter-skills.js.map +1 -0
- package/dist/src/shared/audit.d.ts +105 -0
- package/dist/src/shared/audit.js +220 -0
- package/dist/src/shared/audit.js.map +1 -0
- package/dist/src/shared/constants.d.ts +11 -11
- package/dist/src/shared/constants.js +3 -3
- package/dist/src/shared/constants.js.map +1 -1
- package/dist/src/shared/fs.js +4 -2
- package/dist/src/shared/fs.js.map +1 -1
- package/dist/src/shared/lock.d.ts +82 -0
- package/dist/src/shared/lock.js +160 -0
- package/dist/src/shared/lock.js.map +1 -0
- package/dist/src/shared/logger.d.ts +2 -0
- package/dist/src/shared/logger.js +15 -5
- package/dist/src/shared/logger.js.map +1 -1
- package/dist/src/shared/pii.d.ts +37 -0
- package/dist/src/shared/pii.js +122 -0
- package/dist/src/shared/pii.js.map +1 -0
- package/dist/src/shared/retention.d.ts +63 -0
- package/dist/src/shared/retention.js +171 -0
- package/dist/src/shared/retention.js.map +1 -0
- package/dist/src/shared/storage.d.ts +13 -11
- package/dist/src/shared/storage.js +18 -14
- package/dist/src/shared/storage.js.map +1 -1
- package/dist/src/shared/string.d.ts +1 -0
- package/dist/src/shared/string.js +30 -0
- package/dist/src/shared/string.js.map +1 -0
- package/dist/src/shared/types.d.ts +8 -0
- package/dist/src/shared/types.js +4 -0
- package/dist/src/shared/types.js.map +1 -1
- package/dist/tests/adapter.test.js +3 -2
- package/dist/tests/adapter.test.js.map +1 -1
- package/dist/tests/adapters/paths.test.js +4 -4
- package/dist/tests/adapters/paths.test.js.map +1 -1
- package/dist/tests/cli/commands/check.test.d.ts +1 -0
- package/dist/tests/cli/commands/check.test.js +9 -0
- package/dist/tests/cli/commands/check.test.js.map +1 -0
- package/dist/tests/cli/commands/coverage.test.d.ts +1 -0
- package/dist/tests/cli/commands/coverage.test.js +9 -0
- package/dist/tests/cli/commands/coverage.test.js.map +1 -0
- package/dist/tests/cli/commands/dashboard-coverage.test.d.ts +1 -0
- package/dist/tests/cli/commands/dashboard-coverage.test.js +88 -0
- package/dist/tests/cli/commands/dashboard-coverage.test.js.map +1 -0
- package/dist/tests/cli/commands/exports.test.d.ts +1 -0
- package/dist/tests/cli/commands/exports.test.js +61 -0
- package/dist/tests/cli/commands/exports.test.js.map +1 -0
- package/dist/tests/cli/commands/lint.test.d.ts +1 -0
- package/dist/tests/cli/commands/lint.test.js +9 -0
- package/dist/tests/cli/commands/lint.test.js.map +1 -0
- package/dist/tests/cli/init/adapter_init.test.js +4 -5
- package/dist/tests/cli/init/adapter_init.test.js.map +1 -1
- package/dist/tests/cli/init/unified_init.test.js +5 -7
- package/dist/tests/cli/init/unified_init.test.js.map +1 -1
- package/dist/tests/core-memory.test.d.ts +1 -0
- package/dist/tests/core-memory.test.js +78 -0
- package/dist/tests/core-memory.test.js.map +1 -0
- package/dist/tests/dashboard.test.d.ts +1 -0
- package/dist/tests/dashboard.test.js +116 -0
- package/dist/tests/dashboard.test.js.map +1 -0
- package/dist/tests/fs-utils.test.js +5 -5
- package/dist/tests/fs-utils.test.js.map +1 -1
- package/dist/tests/integration/agent_flow.test.js +24 -10
- package/dist/tests/integration/agent_flow.test.js.map +1 -1
- package/dist/tests/modules/adapters/adapters.test.js +2 -2
- package/dist/tests/modules/adapters/adapters.test.js.map +1 -1
- package/dist/tests/modules/contracts/contracts.test.d.ts +1 -0
- package/dist/tests/modules/contracts/contracts.test.js +73 -0
- package/dist/tests/modules/contracts/contracts.test.js.map +1 -0
- package/dist/tests/modules/engines/agent-executor.test.d.ts +1 -0
- package/dist/tests/modules/engines/agent-executor.test.js +61 -0
- package/dist/tests/modules/engines/agent-executor.test.js.map +1 -0
- package/dist/tests/modules/engines/evaluation-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/evaluation-engine.test.js +45 -0
- package/dist/tests/modules/engines/evaluation-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/health-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/health-engine.test.js +56 -0
- package/dist/tests/modules/engines/health-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/planning-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/planning-engine.test.js +75 -0
- package/dist/tests/modules/engines/planning-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/risk-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/risk-engine.test.js +61 -0
- package/dist/tests/modules/engines/risk-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/routing-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/routing-engine.test.js +56 -0
- package/dist/tests/modules/engines/routing-engine.test.js.map +1 -0
- package/dist/tests/modules/gateway/circuit-breaker.test.d.ts +1 -0
- package/dist/tests/modules/gateway/circuit-breaker.test.js +124 -0
- package/dist/tests/modules/gateway/circuit-breaker.test.js.map +1 -0
- package/dist/tests/modules/gateway/cost-tracker.test.d.ts +1 -0
- package/dist/tests/modules/gateway/cost-tracker.test.js +74 -0
- package/dist/tests/modules/gateway/cost-tracker.test.js.map +1 -0
- package/dist/tests/modules/gateway/load-balancer.test.d.ts +1 -0
- package/dist/tests/modules/gateway/load-balancer.test.js +70 -0
- package/dist/tests/modules/gateway/load-balancer.test.js.map +1 -0
- package/dist/tests/modules/gateway/rate-limiter.test.d.ts +1 -0
- package/dist/tests/modules/gateway/rate-limiter.test.js +62 -0
- package/dist/tests/modules/gateway/rate-limiter.test.js.map +1 -0
- package/dist/tests/modules/memory/vector-store.test.d.ts +1 -0
- package/dist/tests/modules/memory/vector-store.test.js +109 -0
- package/dist/tests/modules/memory/vector-store.test.js.map +1 -0
- package/dist/tests/orchestrator-dependencies.test.js +40 -22
- package/dist/tests/orchestrator-dependencies.test.js.map +1 -1
- package/dist/tests/planning-engine.test.js +9 -8
- package/dist/tests/planning-engine.test.js.map +1 -1
- package/dist/tests/risk-engine.test.d.ts +1 -0
- package/dist/tests/risk-engine.test.js +44 -0
- package/dist/tests/risk-engine.test.js.map +1 -0
- package/dist/tests/shared/audit.test.d.ts +1 -0
- package/dist/tests/shared/audit.test.js +53 -0
- package/dist/tests/shared/audit.test.js.map +1 -0
- package/dist/tests/status-cost.test.js +15 -24
- package/dist/tests/status-cost.test.js.map +1 -1
- package/dist/tests/status.test.js +16 -17
- package/dist/tests/status.test.js.map +1 -1
- package/dist/tests/storage-operations.test.d.ts +1 -0
- package/dist/tests/storage-operations.test.js +116 -0
- package/dist/tests/storage-operations.test.js.map +1 -0
- package/dist/tests/trace-replay.test.js +34 -40
- package/dist/tests/trace-replay.test.js.map +1 -1
- package/dist/ui/assets/index-B-d2ejS8.js +519 -0
- package/dist/ui/assets/index-CyXywq5G.css +1 -0
- package/dist/ui/index.html +2 -2
- package/dist/vitest.config.js +5 -5
- package/dist/vitest.config.js.map +1 -1
- package/framework-mcp/README.md +339 -25
- package/framework-mcp/dist/dashboard/assets/index-BAPGLiWE.js +267 -0
- package/framework-mcp/dist/dashboard/index.html +15 -0
- package/framework-mcp/dist/framework-mcp/src/constants.js +64 -0
- package/framework-mcp/dist/framework-mcp/src/index.js +156 -0
- package/framework-mcp/dist/framework-mcp/src/resources/index.js +58 -0
- package/framework-mcp/dist/framework-mcp/src/tools/control_plane/locking.js +84 -0
- package/framework-mcp/dist/framework-mcp/src/tools/control_plane/registry.js +35 -0
- package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +197 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +64 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/patch_file.js +34 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/read_file.js +51 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/replace_text.js +50 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/write_file.js +55 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/audit_deps.js +41 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/get_status.js +5 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/orchestrate.js +5 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +27 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/submit_plan.js +13 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/update_contract_hash.js +5 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/update_memory.js +8 -0
- package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +137 -0
- package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +90 -0
- package/framework-mcp/dist/framework-mcp/src/tools/index.js +126 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/delete_knowledge.js +28 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/get_insights.js +22 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/read_memory.js +28 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/search_knowledge.js +48 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/store_knowledge.js +30 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/ask_human.js +30 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/log_action.js +22 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/send_message.js +94 -0
- package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +26 -0
- package/framework-mcp/dist/framework-mcp/src/tools/observability/get_health.js +19 -0
- package/framework-mcp/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +165 -0
- package/framework-mcp/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +134 -0
- package/framework-mcp/dist/framework-mcp/src/tools/quality/check_lint.js +30 -0
- package/framework-mcp/dist/framework-mcp/src/tools/schemas.js +182 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/get_gaps.js +48 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/get_map.js +43 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/grep_search.js +78 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/list_dir.js +28 -0
- package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +121 -0
- package/framework-mcp/dist/framework-mcp/src/tools/types.js +1 -0
- package/framework-mcp/dist/framework-mcp/src/utils/cli.js +59 -0
- package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +292 -0
- package/framework-mcp/dist/framework-mcp/src/utils/errors.js +68 -0
- package/framework-mcp/dist/framework-mcp/src/utils/fs.js +47 -0
- package/framework-mcp/dist/framework-mcp/src/utils/memory.js +74 -0
- package/framework-mcp/dist/framework-mcp/src/utils/metrics.js +56 -0
- package/framework-mcp/dist/framework-mcp/src/utils/permissions.js +71 -0
- package/framework-mcp/dist/framework-mcp/src/utils/security.js +60 -0
- package/framework-mcp/dist/framework-mcp/src/utils/storage.js +207 -0
- package/framework-mcp/dist/framework-mcp/src/utils/types.js +16 -0
- package/framework-mcp/dist/framework-mcp/src/utils/zod-to-mcp.js +79 -0
- package/framework-mcp/dist/index.js +14 -2
- package/framework-mcp/dist/src/cli/utils/memory.js +279 -0
- package/framework-mcp/dist/src/cli/utils/time.js +27 -0
- package/framework-mcp/dist/src/cli/utils/ui.js +100 -0
- package/framework-mcp/dist/src/modules/memory/core.js +99 -0
- package/framework-mcp/dist/src/modules/memory/embedding.js +130 -0
- package/framework-mcp/dist/src/modules/memory/types.js +1 -0
- package/framework-mcp/dist/src/modules/memory/vector-store.js +74 -0
- package/framework-mcp/dist/src/shared/constants.js +187 -0
- package/framework-mcp/dist/src/shared/fs.js +53 -0
- package/framework-mcp/dist/src/shared/logger.js +126 -0
- package/framework-mcp/dist/src/shared/pii.js +121 -0
- package/framework-mcp/dist/src/shared/storage.js +211 -0
- package/framework-mcp/dist/src/shared/types.js +16 -0
- package/framework-mcp/dist/tools/definitions.js +79 -247
- package/framework-mcp/dist/tools/index.js +37 -0
- package/framework-mcp/dist/tools/schemas.js +133 -0
- package/framework-mcp/dist/utils/types.js +4 -0
- package/framework-mcp/dist/utils/zod-to-mcp.js +77 -0
- package/framework-mcp/package.json +2 -2
- package/mcp.json +5 -4
- package/package.json +19 -17
- package/templates/full/ATABEY_FULL.md +515 -0
- package/templates/standards/crud-governance.md +1 -1
- package/templates/standards/logging-and-secrets.md +1 -1
- package/templates/standards/performance-standards.md +2 -2
- package/templates/standards/quality-standards.md +1 -1
- package/dist/ui/assets/index-Bkt7APzu.css +0 -1
- package/dist/ui/assets/index-CeX-06mI.js +0 -49
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { collectFiles } from "../utils/fs.js";
|
|
4
|
+
import { UI } from "../utils/ui.js";
|
|
4
5
|
const targetDir = process.cwd();
|
|
5
6
|
export async function explorerGraphCommand(targetPath) {
|
|
6
|
-
|
|
7
|
+
UI.info(`Generating Dependency Graph for: ${targetPath}...`);
|
|
7
8
|
const files = collectFiles(path.join(targetDir, targetPath), [".ts", ".tsx"]);
|
|
8
9
|
const edges = [];
|
|
9
10
|
files.forEach((f) => {
|
|
@@ -16,14 +17,14 @@ export async function explorerGraphCommand(targetPath) {
|
|
|
16
17
|
});
|
|
17
18
|
});
|
|
18
19
|
if (edges.length === 0) {
|
|
19
|
-
|
|
20
|
+
UI.info("No internal dependencies found.");
|
|
20
21
|
}
|
|
21
22
|
else {
|
|
22
|
-
|
|
23
|
+
process.stdout.write("```mermaid\ngraph TD\n" + Array.from(new Set(edges)).join("\n") + "\n```\n");
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
export async function explorerAuditCommand(targetPath) {
|
|
26
|
-
|
|
27
|
+
UI.info(`Codebase Intelligence Scan: ${targetPath}...`);
|
|
27
28
|
const files = collectFiles(path.join(targetDir, targetPath), [".ts", ".tsx"]);
|
|
28
29
|
const complexity = [];
|
|
29
30
|
files.forEach((f) => {
|
|
@@ -33,11 +34,11 @@ export async function explorerAuditCommand(targetPath) {
|
|
|
33
34
|
complexity.push(`${path.relative(targetDir, f)} (${lines} lines)`);
|
|
34
35
|
});
|
|
35
36
|
if (complexity.length > 0) {
|
|
36
|
-
|
|
37
|
-
complexity.forEach((c) =>
|
|
37
|
+
process.stdout.write("\nComplexity Spikes:\n");
|
|
38
|
+
complexity.forEach((c) => process.stdout.write(`- ${c}\n`));
|
|
38
39
|
}
|
|
39
40
|
else {
|
|
40
|
-
|
|
41
|
+
UI.success("Codebase structure looks clean.");
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
//# sourceMappingURL=explorer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer.js","sourceRoot":"","sources":["../../../../src/cli/commands/explorer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"explorer.js","sourceRoot":"","sources":["../../../../src/cli/commands/explorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function gatewayCommand(args: string[]): Promise<void>;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ATABEY CLI — Gateway Commands
|
|
3
|
+
*
|
|
4
|
+
* Manage the LLM Gateway / Load Balancer from the CLI.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* atabey gateway status — Show gateway health & stats
|
|
8
|
+
* atabey gateway providers — List all providers
|
|
9
|
+
* atabey gateway stats — Show usage statistics & costs
|
|
10
|
+
* atabey gateway strategy <name> — Set load balancing strategy
|
|
11
|
+
* atabey gateway toggle <provider> — Enable/disable a provider
|
|
12
|
+
* atabey gateway reset — Reset all circuit breakers
|
|
13
|
+
* atabey gateway call <prompt> — Send a test query through the gateway
|
|
14
|
+
* atabey gateway budget <amount> — Set monthly budget in USD
|
|
15
|
+
*/
|
|
16
|
+
import { LLMGateway } from "../../modules/gateway/gateway.js";
|
|
17
|
+
import { UI } from "../utils/ui.js";
|
|
18
|
+
const gateway = new LLMGateway();
|
|
19
|
+
export async function gatewayCommand(args) {
|
|
20
|
+
const subcommand = args[0] || "status";
|
|
21
|
+
switch (subcommand) {
|
|
22
|
+
case "status":
|
|
23
|
+
showGatewayStatus();
|
|
24
|
+
break;
|
|
25
|
+
case "providers":
|
|
26
|
+
listProviders();
|
|
27
|
+
break;
|
|
28
|
+
case "stats":
|
|
29
|
+
showStats();
|
|
30
|
+
break;
|
|
31
|
+
case "strategy": {
|
|
32
|
+
const strategy = args[1];
|
|
33
|
+
if (!strategy) {
|
|
34
|
+
process.stdout.write(`[GATEWAY] Current strategy: ${gateway.loadBalancer.getStrategy()}\n`);
|
|
35
|
+
process.stdout.write("[GATEWAY] Available: round-robin, least-latency, cost-optimized, failover, priority-based, model-based\n");
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const valid = [
|
|
39
|
+
"round-robin", "least-latency", "cost-optimized",
|
|
40
|
+
"failover", "priority-based", "model-based"
|
|
41
|
+
];
|
|
42
|
+
if (!valid.includes(strategy)) {
|
|
43
|
+
UI.error(`Invalid strategy. Available: ${valid.join(", ")}`);
|
|
44
|
+
process.exit(64);
|
|
45
|
+
}
|
|
46
|
+
gateway.loadBalancer.setStrategy(strategy);
|
|
47
|
+
process.stdout.write(`[GATEWAY] Strategy set to: ${strategy}\n`);
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
case "toggle": {
|
|
51
|
+
const providerId = args[1];
|
|
52
|
+
if (!providerId) {
|
|
53
|
+
UI.error("Provider ID required. Available: openai, anthropic, google, grok, ollama");
|
|
54
|
+
process.exit(64);
|
|
55
|
+
}
|
|
56
|
+
const provider = gateway.loadBalancer.getProvider(providerId);
|
|
57
|
+
if (!provider) {
|
|
58
|
+
UI.error(`Unknown provider: ${providerId}`);
|
|
59
|
+
process.exit(64);
|
|
60
|
+
}
|
|
61
|
+
const newState = !provider.config.enabled;
|
|
62
|
+
gateway.setProviderEnabled(providerId, newState);
|
|
63
|
+
process.stdout.write(`[GATEWAY] ${providerId} ${newState ? "enabled" : "disabled"}\n`);
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
case "reset":
|
|
67
|
+
gateway.resetCircuitBreakers();
|
|
68
|
+
process.stdout.write("[GATEWAY] All circuit breakers reset\n");
|
|
69
|
+
break;
|
|
70
|
+
case "call": {
|
|
71
|
+
const prompt = args.slice(1).join(" ");
|
|
72
|
+
if (!prompt) {
|
|
73
|
+
UI.error("Prompt required. Usage: atabey gateway call \"your prompt\"");
|
|
74
|
+
process.exit(64);
|
|
75
|
+
}
|
|
76
|
+
await callGateway(prompt);
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case "budget": {
|
|
80
|
+
const amount = parseFloat(args[1]);
|
|
81
|
+
if (isNaN(amount) || amount <= 0) {
|
|
82
|
+
UI.error("Valid budget amount required (USD). Usage: atabey gateway budget 50");
|
|
83
|
+
process.exit(64);
|
|
84
|
+
}
|
|
85
|
+
gateway.costTracker.setBudget(amount);
|
|
86
|
+
process.stdout.write(`[GATEWAY] Monthly budget set to $${amount}\n`);
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
default:
|
|
90
|
+
process.stdout.write(`
|
|
91
|
+
Usage: atabey gateway <subcommand>
|
|
92
|
+
|
|
93
|
+
Subcommands:
|
|
94
|
+
status Show gateway health and status
|
|
95
|
+
providers List all registered providers
|
|
96
|
+
stats Show usage statistics and costs
|
|
97
|
+
strategy [name] Set load balancing strategy
|
|
98
|
+
toggle <provider> Enable/disable a provider
|
|
99
|
+
reset Reset all circuit breakers
|
|
100
|
+
call <prompt> Send a test query through the gateway
|
|
101
|
+
budget <amount> Set monthly budget in USD
|
|
102
|
+
\n`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function showGatewayStatus() {
|
|
106
|
+
const health = gateway.loadBalancer.getProviderHealthList();
|
|
107
|
+
const strategy = gateway.loadBalancer.getStrategy();
|
|
108
|
+
const budget = gateway.costTracker.getBudgetStatus();
|
|
109
|
+
process.stdout.write("\n=== Gateway Status ===\n\n");
|
|
110
|
+
process.stdout.write(`Strategy: ${strategy}\n`);
|
|
111
|
+
process.stdout.write(`Budget: ${budget ? `$${budget.spent.toFixed(2)} / $${budget.budget} (${budget.percentUsed.toFixed(1)}%)` : "Not set"}\n\n`);
|
|
112
|
+
process.stdout.write("Providers:\n");
|
|
113
|
+
for (const p of health) {
|
|
114
|
+
const icon = p.healthy ? "●" : "○";
|
|
115
|
+
const color = p.enabled ? "" : " (disabled)";
|
|
116
|
+
process.stdout.write(` ${icon} ${p.id}${color} — ${p.latencyMs.toFixed(0)}ms (priority ${p.priority})\n`);
|
|
117
|
+
}
|
|
118
|
+
process.stdout.write("\n");
|
|
119
|
+
}
|
|
120
|
+
function listProviders() {
|
|
121
|
+
const health = gateway.loadBalancer.getProviderHealthList();
|
|
122
|
+
process.stdout.write("\nRegistered Providers:\n\n");
|
|
123
|
+
for (const p of health) {
|
|
124
|
+
process.stdout.write(` ${p.name} (${p.id}):\n`);
|
|
125
|
+
process.stdout.write(` Status: ${p.enabled ? (p.healthy ? "Healthy" : "Unhealthy") : "Disabled"}\n`);
|
|
126
|
+
process.stdout.write(` Latency: ${p.latencyMs.toFixed(0)}ms\n`);
|
|
127
|
+
process.stdout.write(` Models: ${p.models.join(", ")}\n\n`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function showStats() {
|
|
131
|
+
const stats = gateway.costTracker.getStats();
|
|
132
|
+
const budget = gateway.costTracker.getBudgetStatus();
|
|
133
|
+
process.stdout.write("\n=== Gateway Statistics ===\n\n");
|
|
134
|
+
process.stdout.write(`Total Requests: ${stats.totalRequests}\n`);
|
|
135
|
+
process.stdout.write(`Total Cost: $${stats.totalCost.toFixed(4)}\n`);
|
|
136
|
+
if (budget) {
|
|
137
|
+
process.stdout.write(`Budget Usage: $${budget.spent.toFixed(2)} / $${budget.budget} (${budget.percentUsed.toFixed(1)}%)\n`);
|
|
138
|
+
}
|
|
139
|
+
process.stdout.write("\nCosts by Provider:\n");
|
|
140
|
+
for (const [provider, cost] of Object.entries(stats.costsByProvider)) {
|
|
141
|
+
if (cost > 0) {
|
|
142
|
+
process.stdout.write(` ${provider}: $${cost.toFixed(4)}\n`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
process.stdout.write(`\nUptime: ${Math.floor(stats.uptime / 3600)}h ${Math.floor((stats.uptime % 3600) / 60)}m\n`);
|
|
146
|
+
process.stdout.write("\n");
|
|
147
|
+
}
|
|
148
|
+
async function callGateway(prompt) {
|
|
149
|
+
process.stdout.write(`\n[GATEWAY] Sending query: "${prompt.substring(0, 80)}..."\n`);
|
|
150
|
+
try {
|
|
151
|
+
const result = await gateway.chat({
|
|
152
|
+
messages: [{ role: "user", content: prompt }],
|
|
153
|
+
system: "You are a helpful assistant.",
|
|
154
|
+
provider: undefined,
|
|
155
|
+
model: undefined,
|
|
156
|
+
});
|
|
157
|
+
if (result.success) {
|
|
158
|
+
process.stdout.write(`\n✓ Response from ${result.provider} (${result.model})\n`);
|
|
159
|
+
process.stdout.write(` Cost: $${result.cost.toFixed(6)}\n`);
|
|
160
|
+
process.stdout.write(` Tokens: ${result.usage.totalTokens}\n`);
|
|
161
|
+
process.stdout.write(` Latency: ${result.latencyMs}ms\n\n`);
|
|
162
|
+
process.stdout.write(`${result.content.substring(0, 1000)}\n`);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
UI.error("Gateway call failed");
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
catch (err) {
|
|
169
|
+
UI.error(`Gateway call failed: ${err.message}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../src/cli/commands/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import cp from "child_process";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { getConfiguredPaths } from "../utils/memory.js";
|
|
4
|
+
import { UI } from "../utils/ui.js";
|
|
4
5
|
export async function gitCommitCommand(traceId) {
|
|
5
6
|
try {
|
|
6
7
|
const diff = cp.execSync("git diff --staged", { encoding: "utf8" });
|
|
7
8
|
if (!diff) {
|
|
8
|
-
|
|
9
|
+
UI.info("No staged changes found. Use 'git add' first.");
|
|
9
10
|
return;
|
|
10
11
|
}
|
|
11
|
-
const files = cp.execSync("git diff --staged --name-only", { encoding: "utf8" })
|
|
12
|
-
.split("\n")
|
|
13
|
-
.filter(Boolean);
|
|
12
|
+
const files = cp.execSync("git diff --staged --name-only", { encoding: "utf8" }).split("\n").filter(Boolean);
|
|
14
13
|
const pathsMap = getConfiguredPaths();
|
|
15
14
|
const backendTypesPath = path.join(pathsMap.backend, "src/types");
|
|
16
15
|
let type = "feat";
|
|
@@ -22,20 +21,20 @@ export async function gitCommitCommand(traceId) {
|
|
|
22
21
|
else if (files.some((f) => f.includes("bin/cli.js")))
|
|
23
22
|
type = "fix";
|
|
24
23
|
const summary = files.length === 1 ? `update ${path.basename(files[0])}` : `update ${files.length} files`;
|
|
25
|
-
|
|
24
|
+
process.stdout.write(`\n### SUGGESTED COMMIT MESSAGE ###\n\n[${traceId}] ${type}(${scope}): ${summary}\n`);
|
|
26
25
|
}
|
|
27
26
|
catch {
|
|
28
|
-
|
|
27
|
+
UI.error("Git command failed.");
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
30
|
export async function gitSyncCommand() {
|
|
32
|
-
|
|
31
|
+
UI.info("Syncing with remote repository...");
|
|
33
32
|
try {
|
|
34
33
|
cp.execSync("git pull origin main --rebase", { stdio: "inherit" });
|
|
35
|
-
|
|
34
|
+
UI.success("Successfully synced and rebased.");
|
|
36
35
|
}
|
|
37
36
|
catch {
|
|
38
|
-
|
|
37
|
+
UI.error("Sync failed. Please resolve conflicts manually.");
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
40
|
//# sourceMappingURL=git.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/cli/commands/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/cli/commands/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe;IAClD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,EAAE,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YACzD,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7G,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClE,IAAI,IAAI,GAAG,MAAM,CAAC;QAClB,MAAM,KAAK,GAAG,MAAM,CAAC;QACrB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAAE,IAAI,GAAG,MAAM,CAAC;aACnD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAAE,IAAI,GAAG,MAAM,CAAC;aACnE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAAE,IAAI,GAAG,KAAK,CAAC;QAEnE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,QAAQ,CAAC;QAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,OAAO,KAAK,IAAI,IAAI,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC;IAC/G,CAAC;IAAC,MAAM,CAAC;QACL,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACpC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAChC,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC7C,IAAI,CAAC;QACD,EAAE,CAAC,QAAQ,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACL,EAAE,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAChE,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { CoreMemory } from "../../modules/memory/core.js";
|
|
4
|
+
import { UI } from "../utils/ui.js";
|
|
5
|
+
/**
|
|
6
|
+
* Iteratively reads all relevant codebase files and indexes them into Vector Memory.
|
|
7
|
+
*/
|
|
8
|
+
export async function indexCodebaseCommand(dirPath = process.cwd()) {
|
|
9
|
+
UI.intent("Codebase RAG", `Indexing workspace at ${dirPath} into Vector Memory...`);
|
|
10
|
+
const ignoreDirs = ["node_modules", "dist", ".git", ".atabey", "framework-mcp", "coverage"];
|
|
11
|
+
const validExtensions = [".ts", ".js", ".tsx", ".jsx", ".md", ".json"];
|
|
12
|
+
const filesToIndex = [];
|
|
13
|
+
function traverse(currentPath) {
|
|
14
|
+
const entries = fs.readdirSync(currentPath, { withFileTypes: true });
|
|
15
|
+
for (const entry of entries) {
|
|
16
|
+
if (ignoreDirs.includes(entry.name))
|
|
17
|
+
continue;
|
|
18
|
+
const fullPath = path.join(currentPath, entry.name);
|
|
19
|
+
if (entry.isDirectory()) {
|
|
20
|
+
traverse(fullPath);
|
|
21
|
+
}
|
|
22
|
+
else if (entry.isFile() && validExtensions.includes(path.extname(entry.name))) {
|
|
23
|
+
filesToIndex.push(fullPath);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
traverse(dirPath);
|
|
29
|
+
UI.success(`Found ${filesToIndex.length} files to index.`);
|
|
30
|
+
await CoreMemory.init();
|
|
31
|
+
let count = 0;
|
|
32
|
+
for (const file of filesToIndex) {
|
|
33
|
+
const relativePath = path.relative(process.cwd(), file);
|
|
34
|
+
const content = fs.readFileSync(file, "utf8");
|
|
35
|
+
// Skip huge files
|
|
36
|
+
if (content.length > 50000)
|
|
37
|
+
continue;
|
|
38
|
+
await CoreMemory.remember({
|
|
39
|
+
content,
|
|
40
|
+
category: "CODE_SNIPPET",
|
|
41
|
+
filePath: relativePath,
|
|
42
|
+
tags: ["codebase", path.extname(file).replace(".", "")]
|
|
43
|
+
});
|
|
44
|
+
count++;
|
|
45
|
+
}
|
|
46
|
+
UI.success(`Successfully indexed ${count} files into Core Memory (RAG).`);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
UI.error(`Indexing failed: ${err.message}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=index-codebase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-codebase.js","sourceRoot":"","sources":["../../../../src/cli/commands/index-codebase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IACtE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,yBAAyB,OAAO,wBAAwB,CAAC,CAAC;IAEpF,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAC5F,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,SAAS,QAAQ,CAAC,WAAmB;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtB,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC9E,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClB,EAAE,CAAC,OAAO,CAAC,SAAS,YAAY,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAE3D,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAExB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAE9C,kBAAkB;YAClB,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK;gBAAE,SAAS;YAErC,MAAM,UAAU,CAAC,QAAQ,CAAC;gBACtB,OAAO;gBACP,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aAC1D,CAAC,CAAC;YACH,KAAK,EAAE,CAAC;QACZ,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,wBAAwB,KAAK,gCAAgC,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,EAAE,CAAC,KAAK,CAAC,oBAAqB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import { UI } from "../../utils/ui.js";
|
|
4
3
|
import { writeTextFile } from "../../../shared/fs.js";
|
|
4
|
+
import { UI } from "../../utils/ui.js";
|
|
5
5
|
/**
|
|
6
6
|
* Plugin SDK: Creates a new custom agent template.
|
|
7
7
|
*/
|
|
@@ -9,12 +9,12 @@ export async function createAgentCommand(name) {
|
|
|
9
9
|
const projectRoot = process.cwd();
|
|
10
10
|
const agentsDir = path.join(projectRoot, "src/modules/agents/registry");
|
|
11
11
|
if (!fs.existsSync(agentsDir)) {
|
|
12
|
-
UI.error("
|
|
12
|
+
UI.error("Agent registry directory not found. Please ensure you are in an Atabey development environment.");
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
const filePath = path.join(agentsDir, `${name}.ts`);
|
|
16
16
|
if (fs.existsSync(filePath)) {
|
|
17
|
-
UI.error(`
|
|
17
|
+
UI.error(`Agent '${name}' already exists.`);
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
const template = `import { AgentDefinition } from "../types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../../../../src/cli/commands/init/create-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../../../../src/cli/commands/init/create-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAY;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;IAExE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,KAAK,CAAC,iGAAiG,CAAC,CAAC;QAC5G,OAAO;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACpD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAC;QAC5C,OAAO;IACX,CAAC;IAED,MAAM,QAAQ,GAAG;;;;eAIN,IAAI;aACN,IAAI;oBACG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;qBAe3C,IAAI,CAAC,WAAW,EAAE;6CACM,IAAI;;;;;;;;;UASvC,IAAI;;;CAGb,CAAC;IAEE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,EAAE,CAAC,OAAO,CAAC,mBAAmB,IAAI,4CAA4C,IAAI,KAAK,CAAC,CAAC;IACzF,EAAE,CAAC,OAAO,CAAC,gFAAgF,CAAC,CAAC;AACjG,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AdapterConfig, type AdapterId } from "../../
|
|
1
|
+
import { type AdapterConfig, type AdapterId } from "../../platforms/index.js";
|
|
2
2
|
import { type SupportedLanguage } from "../../utils/i18n.js";
|
|
3
3
|
export declare function scaffoldConstitution(targetDir: string, frameworkDir: string, adapterId: AdapterId, dryRun: boolean, language?: SupportedLanguage): void;
|
|
4
4
|
export declare function scaffoldFrameworkConfigs(targetDir: string, fDir: string, adapter: AdapterConfig, dryRun: boolean, selectedPalette: string, options?: {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import {
|
|
3
|
+
import { ALL_AGENTS } from "../../../modules/agents/definitions.js";
|
|
4
|
+
import { ADAPTERS, remapFrameworkContent } from "../../platforms/index.js";
|
|
4
5
|
import { SHIM_TEMPLATES } from "../../shims.js";
|
|
5
6
|
import { writeJsonFile, writeTextFile } from "../../utils/fs.js";
|
|
6
7
|
import { getPackageRoot, getPackageVersion } from "../../utils/pkg.js";
|
|
7
|
-
import { ALL_AGENTS } from "../../../modules/agents/definitions.js";
|
|
8
8
|
import { TRANSLATIONS } from "../../utils/i18n.js";
|
|
9
|
+
import { UI } from "../../utils/ui.js";
|
|
9
10
|
const FRAMEWORK_NAME = "Agent Atabey";
|
|
10
11
|
const COLOR_PALETTES = {
|
|
11
12
|
"Modern Blue": { primary: "#0ea5e9", secondary: "#64748b", accent: "#f43f5e" },
|
|
@@ -26,12 +27,12 @@ export function scaffoldConstitution(targetDir, frameworkDir, adapterId, dryRun,
|
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
catch (e) {
|
|
29
|
-
|
|
30
|
+
UI.warning(` Failed to read global constitution template: ${e}`);
|
|
30
31
|
}
|
|
31
32
|
content = remapFrameworkContent(content, frameworkDir, adapterId);
|
|
32
33
|
const destPath = path.join(targetDir, frameworkDir, "ATABEY.md");
|
|
33
34
|
writeTextFile(destPath, content);
|
|
34
|
-
|
|
35
|
+
UI.success(` Constitution file created inside: ${frameworkDir}/ATABEY.md${readSuccess ? "" : " (default template)"}`);
|
|
35
36
|
}
|
|
36
37
|
export function scaffoldFrameworkConfigs(targetDir, fDir, adapter, dryRun, selectedPalette, options) {
|
|
37
38
|
if (dryRun)
|
|
@@ -102,10 +103,10 @@ export function scaffoldShims(projectRoot, coreDir, adapterId, adapter, dryRun,
|
|
|
102
103
|
if (!dryRun)
|
|
103
104
|
writeTextFile(path.join(projectRoot, shimFileName), shimContent);
|
|
104
105
|
if (isSelectedAdapter) {
|
|
105
|
-
|
|
106
|
+
UI.success(` Platform shim created: ${shimFileName}`);
|
|
106
107
|
}
|
|
107
108
|
else if (unified) {
|
|
108
|
-
|
|
109
|
+
UI.success(` Unified platform shim added: ${shimFileName}`);
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-core.js","sourceRoot":"","sources":["../../../../../src/cli/commands/init/scaffold-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"scaffold-core.js","sourceRoot":"","sources":["../../../../../src/cli/commands/init/scaffold-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
|
+
import { logger } from "../../../shared/logger.js";
|
|
3
4
|
import { writeTextFile } from "../../utils/fs.js";
|
|
4
5
|
import { getPackageRoot } from "../../utils/pkg.js";
|
|
5
|
-
import {
|
|
6
|
+
import { UI } from "../../utils/ui.js";
|
|
6
7
|
export function scaffoldProjectDocs(projectRoot, options, dryRun) {
|
|
7
8
|
if (dryRun)
|
|
8
9
|
return;
|
|
@@ -27,9 +28,9 @@ export function scaffoldProjectDocs(projectRoot, options, dryRun) {
|
|
|
27
28
|
logger.debug("Failed to read tech-stack.md template", e);
|
|
28
29
|
}
|
|
29
30
|
if (!techStackContent) {
|
|
30
|
-
techStackContent = `#
|
|
31
|
+
techStackContent = `# [TOOL] Project Tech Stack\n\n- **Backend Language:** ${options.backendLanguage}\n- **Frontend Framework:** ${options.frontendFramework || "Vite (React)"}\n`;
|
|
31
32
|
}
|
|
32
33
|
writeTextFile(techStackPath, techStackContent);
|
|
33
|
-
|
|
34
|
+
UI.success(` Project documentation updated: docs/tech-stack.md (Backend: ${options.backendLanguage}, Frontend: ${options.frontendFramework || "Vite (React)"})`);
|
|
34
35
|
}
|
|
35
36
|
//# sourceMappingURL=scaffold-docs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-docs.js","sourceRoot":"","sources":["../../../../../src/cli/commands/init/scaffold-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scaffold-docs.js","sourceRoot":"","sources":["../../../../../src/cli/commands/init/scaffold-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,OAAgE,EAAE,MAAe;IACtI,IAAI,MAAM;QAAE,OAAO;IAEnB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExE,8CAA8C;IAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC1D,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACvE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAEzD,+CAA+C;YAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;YACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,IAAI,cAAc,CAAC;YAE7D,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CACvC,uCAAuC,EACvC,6BAA6B,IAAI,IAAI,CACxC,CAAC;YAEF,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CACvC,wCAAwC,EACxC,8BAA8B,QAAQ,IAAI,CAC7C,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,gBAAgB,GAAG,0DAA0D,OAAO,CAAC,eAAe,+BAA+B,OAAO,CAAC,iBAAiB,IAAI,cAAc,IAAI,CAAC;IACvL,CAAC;IAED,aAAa,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC/C,EAAE,CAAC,OAAO,CAAC,gEAAgE,OAAO,CAAC,eAAe,eAAe,OAAO,CAAC,iBAAiB,IAAI,cAAc,GAAG,CAAC,CAAC;AACrK,CAAC"}
|
|
@@ -54,7 +54,7 @@ export function scaffoldOps(frameworkDir, dryRun) {
|
|
|
54
54
|
const registryDir = path.join(frameworkDir, "registry");
|
|
55
55
|
if (!fs.existsSync(registryDir))
|
|
56
56
|
fs.mkdirSync(registryDir, { recursive: true });
|
|
57
|
-
writeTextFile(path.join(registryDir, "agent_registry.md"), "# [ATABEY] Agent Atabey —
|
|
57
|
+
writeTextFile(path.join(registryDir, "agent_registry.md"), "# [ATABEY] Agent Atabey — AL Registry\n\nList of active agents.");
|
|
58
58
|
// Scaffold observability files
|
|
59
59
|
const obsDir = path.join(frameworkDir, "observability");
|
|
60
60
|
if (!fs.existsSync(obsDir))
|
|
@@ -71,11 +71,11 @@ export function scaffoldOps(frameworkDir, dryRun) {
|
|
|
71
71
|
if (!fs.existsSync(rulesDir))
|
|
72
72
|
fs.mkdirSync(rulesDir, { recursive: true });
|
|
73
73
|
writeTextFile(path.join(rulesDir, "global_rules.mdc"), `---
|
|
74
|
-
description: Global Rules for Agent Atabey
|
|
74
|
+
description: Global Rules for Agent Atabey AL
|
|
75
75
|
globs: **/*
|
|
76
76
|
---
|
|
77
77
|
|
|
78
|
-
# [ATABEY] Agent Atabey — Global
|
|
78
|
+
# [ATABEY] Agent Atabey — Global AL Rules
|
|
79
79
|
`);
|
|
80
80
|
}
|
|
81
81
|
//# sourceMappingURL=scaffold-ops.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-ops.js","sourceRoot":"","sources":["../../../../../src/cli/commands/init/scaffold-ops.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scaffold-ops.js","sourceRoot":"","sources":["../../../../../src/cli/commands/init/scaffold-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
|
+
import { CORE_SKILLS } from "../../../modules/skills/definitions.js";
|
|
4
|
+
import { logger } from "../../../shared/logger.js";
|
|
3
5
|
import { ensureDir, writeTextFile } from "../../utils/fs.js";
|
|
4
6
|
import { getPackageRoot } from "../../utils/pkg.js";
|
|
5
|
-
import { CORE_SKILLS } from "../../../modules/skills/definitions.js";
|
|
6
7
|
const FRAMEWORK_NAME = "Agent Atabey";
|
|
7
8
|
export function scaffoldSkills(skillsBaseDir, dryRun) {
|
|
8
9
|
if (dryRun)
|
|
9
10
|
return;
|
|
10
11
|
ensureDir(skillsBaseDir, dryRun);
|
|
11
12
|
for (const [key, skill] of Object.entries(CORE_SKILLS)) {
|
|
12
|
-
const mdContent = `#
|
|
13
|
+
const mdContent = `# [TOOL] ${FRAMEWORK_NAME} Skill — ${skill.name}\n\n${skill.description}\n\n## [PLUGIN] Associated Tools\n${skill.tools.map(t => `- \`${t}\``).join("\n")}\n\n## [SECURITY] Core Mandates\n${skill.mandates.join("\n")}\n`;
|
|
13
14
|
writeTextFile(path.join(skillsBaseDir, `${key.toLowerCase()}.md`), mdContent);
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -39,19 +40,19 @@ This document outlines the strict ESLint coding standards for Agent Atabey proje
|
|
|
39
40
|
{ file: "architecture-standards.md", template: "templates/standards/architecture-standards.md", default: "# 📐 Corporate Architecture Standards" },
|
|
40
41
|
{ file: "frontend-standards.md", template: "templates/standards/frontend-standards.md", default: "# 🎨 Corporate Frontend Standards" },
|
|
41
42
|
{ file: "vite-standards.md", template: "templates/standards/vite-standards.md", default: "# ⚡ Corporate Vite Standards" },
|
|
42
|
-
{ file: "nextjs-standards.md", template: "templates/standards/nextjs-standards.md", default: "#
|
|
43
|
+
{ file: "nextjs-standards.md", template: "templates/standards/nextjs-standards.md", default: "# [REACT] Corporate Next.js Standards" },
|
|
43
44
|
{ file: "tailwind-standards.md", template: "templates/standards/tailwind-standards.md", default: "# 🌊 Corporate Tailwind Standards" },
|
|
44
45
|
{ file: "mobile-standards.md", template: "templates/standards/mobile-standards.md", default: "# 📱 Corporate Mobile Standards" },
|
|
45
46
|
{ file: "security-standards.md", template: "templates/standards/security-standards.md", default: "# [SECURITY] Corporate Security Standards" },
|
|
46
|
-
{ file: "quality-standards.md", template: "templates/standards/quality-standards.md", default: "#
|
|
47
|
+
{ file: "quality-standards.md", template: "templates/standards/quality-standards.md", default: "# [CHECK] Corporate Code Quality Standards" },
|
|
47
48
|
{ file: "logging-and-secrets.md", template: "templates/standards/logging-and-secrets.md", default: "# 🪵 Corporate Logging Standards" },
|
|
48
49
|
{ file: "testing-standards.md", template: "templates/standards/testing-standards.md", default: "# [SKILL] Corporate Testing Standards" },
|
|
49
|
-
{ file: "i18n-standards.md", template: "templates/standards/i18n-standards.md", default: "#
|
|
50
|
+
{ file: "i18n-standards.md", template: "templates/standards/i18n-standards.md", default: "# [LANG] Corporate i18n Standards" },
|
|
50
51
|
{ file: "llm-governance.md", template: "templates/standards/llm-governance.md", default: "# [AI] LLM Governance Standards" },
|
|
51
52
|
{ file: "observability-standards.md", template: "templates/standards/observability-standards.md", default: "# 📈 Corporate Observability Standards" },
|
|
52
53
|
{ file: "deployment-standards.md", template: "templates/standards/deployment-standards.md", default: "# [START] Corporate Deployment Standards" },
|
|
53
54
|
{ file: "performance-standards.md", template: "templates/standards/performance-standards.md", default: "# ⚡ Corporate Performance Standards" },
|
|
54
|
-
{ file: "security-audit-standards.md", template: "templates/standards/security-audit-standards.md", default: "#
|
|
55
|
+
{ file: "security-audit-standards.md", template: "templates/standards/security-audit-standards.md", default: "# [OK] Corporate Security Audit Standards" }
|
|
55
56
|
];
|
|
56
57
|
for (const std of standards) {
|
|
57
58
|
let content = std.default;
|
|
@@ -61,7 +62,10 @@ This document outlines the strict ESLint coding standards for Agent Atabey proje
|
|
|
61
62
|
content = fs.readFileSync(fullTemplatePath, "utf8");
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
|
-
catch {
|
|
65
|
+
catch (err) {
|
|
66
|
+
// Fallback to default content
|
|
67
|
+
logger.warn(`Failed to read template ${std.template}, using default`, err);
|
|
68
|
+
}
|
|
65
69
|
writeTextFile(path.join(knowledgePath, std.file), content);
|
|
66
70
|
}
|
|
67
71
|
}
|