crewly 1.0.7 → 1.0.10
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/LICENSE +1 -1
- package/README.md +50 -3
- package/config/constants.ts +59 -0
- package/config/index.ts +2 -0
- package/config/roles/architect/prompt.md +17 -5
- package/config/roles/backend-developer/prompt.md +35 -5
- package/config/roles/designer/prompt.md +17 -5
- package/config/roles/developer/prompt.md +43 -9
- package/config/roles/frontend-developer/prompt.md +35 -5
- package/config/roles/fullstack-dev/prompt.md +35 -5
- package/config/roles/generalist/prompt.md +18 -5
- package/config/roles/orchestrator/prompt.md +126 -3
- package/config/roles/product-manager/prompt.md +24 -9
- package/config/roles/qa/prompt.md +35 -5
- package/config/roles/qa-engineer/prompt.md +35 -5
- package/config/roles/sales/prompt.md +17 -5
- package/config/roles/support/prompt.md +17 -5
- package/config/roles/tpm/prompt.md +17 -5
- package/config/skills/agent/_common/lib.sh +4 -0
- package/config/skills/agent/core/accept-task/execute.sh +21 -0
- package/config/skills/agent/core/accept-task/instructions.md +20 -0
- package/config/skills/agent/core/accept-task/skill.json +20 -0
- package/config/skills/agent/core/block-task/execute.sh +26 -0
- package/config/skills/agent/core/block-task/instructions.md +22 -0
- package/config/skills/agent/core/block-task/skill.json +20 -0
- package/config/skills/agent/core/check-quality-gates/execute.sh +20 -0
- package/config/skills/agent/core/check-quality-gates/instructions.md +23 -0
- package/config/skills/agent/core/check-quality-gates/skill.json +20 -0
- package/config/skills/agent/core/complete-task/execute.sh +29 -0
- package/config/skills/agent/core/complete-task/instructions.md +53 -0
- package/config/skills/agent/core/complete-task/skill.json +20 -0
- package/config/skills/agent/core/get-my-context/execute.sh +23 -0
- package/config/skills/agent/core/get-my-context/instructions.md +21 -0
- package/config/skills/agent/core/get-my-context/skill.json +20 -0
- package/config/skills/agent/core/get-sops/execute.sh +24 -0
- package/config/skills/agent/core/get-sops/instructions.md +21 -0
- package/config/skills/agent/core/get-sops/skill.json +20 -0
- package/config/skills/agent/core/get-team-status/execute.sh +8 -0
- package/config/skills/agent/core/get-team-status/instructions.md +17 -0
- package/config/skills/agent/core/get-team-status/skill.json +20 -0
- package/config/skills/agent/core/heartbeat/execute.sh +22 -0
- package/config/skills/agent/core/heartbeat/instructions.md +23 -0
- package/config/skills/agent/core/heartbeat/skill.json +20 -0
- package/config/skills/agent/core/manage-knowledge/execute.sh +60 -0
- package/config/skills/agent/core/manage-knowledge/instructions.md +46 -0
- package/config/skills/agent/core/marketplace-search/execute.sh +77 -0
- package/config/skills/agent/core/marketplace-search/instructions.md +59 -0
- package/config/skills/agent/core/marketplace-search/skill.json +20 -0
- package/config/skills/agent/core/query-knowledge/execute.sh +30 -0
- package/config/skills/agent/core/query-knowledge/instructions.md +47 -0
- package/config/skills/agent/core/query-knowledge/skill.json +20 -0
- package/config/skills/agent/core/read-task/execute.sh +15 -0
- package/config/skills/agent/core/read-task/instructions.md +19 -0
- package/config/skills/agent/core/read-task/skill.json +20 -0
- package/config/skills/agent/core/recall/execute.sh +24 -0
- package/config/skills/agent/core/recall/instructions.md +23 -0
- package/config/skills/agent/core/recall/skill.json +20 -0
- package/config/skills/agent/core/record-learning/execute.sh +29 -0
- package/config/skills/agent/core/record-learning/instructions.md +24 -0
- package/config/skills/agent/core/record-learning/skill.json +20 -0
- package/config/skills/agent/core/register-self/execute.sh +28 -0
- package/config/skills/agent/core/register-self/instructions.md +18 -0
- package/config/skills/agent/core/register-self/skill.json +20 -0
- package/config/skills/agent/core/remember/execute.sh +29 -0
- package/config/skills/agent/core/remember/instructions.md +24 -0
- package/config/skills/agent/core/remember/skill.json +20 -0
- package/config/skills/agent/core/report-progress/execute.sh +28 -0
- package/config/skills/agent/core/report-progress/instructions.md +25 -0
- package/config/skills/agent/core/report-progress/skill.json +20 -0
- package/config/skills/agent/core/report-status/execute.sh +35 -0
- package/config/skills/agent/core/report-status/instructions.md +36 -0
- package/config/skills/agent/core/report-status/skill.json +20 -0
- package/config/skills/agent/core/send-chat-response/execute.sh +26 -0
- package/config/skills/agent/core/send-chat-response/instructions.md +22 -0
- package/config/skills/agent/core/send-chat-response/skill.json +20 -0
- package/config/skills/agent/core/send-message/execute.sh +17 -0
- package/config/skills/agent/core/send-message/instructions.md +20 -0
- package/config/skills/agent/core/send-message/skill.json +20 -0
- package/config/skills/orchestrator/complete-task/execute.sh +1 -0
- package/config/skills/orchestrator/delegate-task/execute.sh +1 -1
- package/config/skills/registry.json +850 -0
- package/config/templates/agent-claude-md.md +16 -0
- package/config/templates/research-team.json +22 -0
- package/config/templates/startup-team.json +22 -0
- package/config/templates/web-dev-team.json +22 -0
- package/dist/backend/backend/src/constants.d.ts +127 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +119 -8
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/index.d.ts +1 -1
- package/dist/backend/backend/src/controllers/marketplace/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/index.js +1 -1
- package/dist/backend/backend/src/controllers/marketplace/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +64 -8
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +194 -96
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +7 -2
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +7 -0
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +174 -4
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +34 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.js +2 -0
- package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +8 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +89 -17
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +265 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +811 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.js +11 -4
- package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts +11 -0
- package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js +18 -0
- package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +12 -0
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +51 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts +6 -0
- package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -1
- package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js +10 -0
- package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -1
- package/dist/backend/backend/src/services/index.d.ts +3 -0
- package/dist/backend/backend/src/services/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/index.js +5 -0
- package/dist/backend/backend/src/services/index.js.map +1 -1
- package/dist/backend/backend/src/services/marketplace/index.d.ts +1 -0
- package/dist/backend/backend/src/services/marketplace/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/marketplace/index.js +2 -0
- package/dist/backend/backend/src/services/marketplace/index.js.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts +10 -9
- package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js +262 -73
- package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.d.ts +71 -0
- package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.js +339 -0
- package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.js.map +1 -0
- package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts +4 -15
- package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace.service.js +172 -27
- package/dist/backend/backend/src/services/marketplace/marketplace.service.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-client.d.ts +233 -0
- package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -0
- package/dist/backend/backend/src/services/mcp-client.js +297 -0
- package/dist/backend/backend/src/services/mcp-client.js.map +1 -0
- package/dist/backend/backend/src/services/mcp-server.d.ts +167 -0
- package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -0
- package/dist/backend/backend/src/services/mcp-server.js +586 -0
- package/dist/backend/backend/src/services/mcp-server.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts +32 -2
- package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/message-queue.service.js +85 -4
- package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +10 -0
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +129 -41
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +31 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
- package/dist/backend/backend/src/services/quality/index.d.ts +1 -0
- package/dist/backend/backend/src/services/quality/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/quality/index.js +1 -0
- package/dist/backend/backend/src/services/quality/index.js.map +1 -1
- package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts +84 -0
- package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/quality/task-output-validator.service.js +163 -0
- package/dist/backend/backend/src/services/quality/task-output-validator.service.js.map +1 -0
- package/dist/backend/backend/src/services/runtime-adapter.d.ts +254 -0
- package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-adapter.js +201 -0
- package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -0
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +19 -0
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +31 -2
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +14 -0
- package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-command-helper.d.ts +9 -0
- package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-command-helper.js +24 -1
- package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +7 -13
- package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-catalog.service.js +38 -47
- package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill.service.d.ts +3 -0
- package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill.service.js +17 -0
- package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +2 -2
- package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.js +2 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +1 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js +2 -0
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/marketplace.types.d.ts +37 -0
- package/dist/backend/backend/src/types/marketplace.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/messaging.types.d.ts +9 -6
- package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/messaging.types.js +10 -3
- package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
- package/dist/backend/backend/src/types/task-output.types.d.ts +78 -0
- package/dist/backend/backend/src/types/task-output.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/task-output.types.js +27 -0
- package/dist/backend/backend/src/types/task-output.types.js.map +1 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +13 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +12 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/backend/config/constants.d.ts +41 -0
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +57 -0
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/backend/config/index.d.ts +2 -2
- package/dist/backend/config/index.d.ts.map +1 -1
- package/dist/backend/config/index.js +2 -2
- package/dist/backend/config/index.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +817 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -0
- package/dist/cli/backend/src/constants.js +603 -0
- package/dist/cli/backend/src/constants.js.map +1 -0
- package/dist/cli/backend/src/models/Project.d.ts +18 -0
- package/dist/cli/backend/src/models/Project.d.ts.map +1 -0
- package/dist/cli/backend/src/models/Project.js +70 -0
- package/dist/cli/backend/src/models/Project.js.map +1 -0
- package/dist/cli/backend/src/models/ScheduledMessage.d.ts +27 -0
- package/dist/cli/backend/src/models/ScheduledMessage.d.ts.map +1 -0
- package/dist/cli/backend/src/models/ScheduledMessage.js +50 -0
- package/dist/cli/backend/src/models/ScheduledMessage.js.map +1 -0
- package/dist/cli/backend/src/models/Team.d.ts +20 -0
- package/dist/cli/backend/src/models/Team.d.ts.map +1 -0
- package/dist/cli/backend/src/models/Team.js +120 -0
- package/dist/cli/backend/src/models/Team.js.map +1 -0
- package/dist/cli/backend/src/models/Ticket.d.ts +24 -0
- package/dist/cli/backend/src/models/Ticket.d.ts.map +1 -0
- package/dist/cli/backend/src/models/Ticket.js +102 -0
- package/dist/cli/backend/src/models/Ticket.js.map +1 -0
- package/dist/cli/backend/src/models/index.d.ts +5 -0
- package/dist/cli/backend/src/models/index.d.ts.map +1 -0
- package/dist/cli/backend/src/models/index.js +5 -0
- package/dist/cli/backend/src/models/index.js.map +1 -0
- package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts +40 -0
- package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -0
- package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js +74 -0
- package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -0
- package/dist/cli/backend/src/services/core/config.service.d.ts +91 -0
- package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/config.service.js +246 -0
- package/dist/cli/backend/src/services/core/config.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/logger.service.d.ts +70 -0
- package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/logger.service.js +350 -0
- package/dist/cli/backend/src/services/core/logger.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts +269 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/storage.service.js +1406 -0
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +92 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.js +120 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +125 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +247 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts +153 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.js +409 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.js.map +1 -0
- package/dist/cli/backend/src/services/mcp-server.d.ts +167 -0
- package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -0
- package/dist/cli/backend/src/services/mcp-server.js +586 -0
- package/dist/cli/backend/src/services/mcp-server.js.map +1 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +259 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.js +539 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +306 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/memory.service.js +517 -0
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts +252 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.js +600 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -0
- package/dist/cli/backend/src/types/auto-assign.types.d.ts +271 -0
- package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/auto-assign.types.js +136 -0
- package/dist/cli/backend/src/types/auto-assign.types.js.map +1 -0
- package/dist/cli/backend/src/types/budget.types.d.ts +217 -0
- package/dist/cli/backend/src/types/budget.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/budget.types.js +82 -0
- package/dist/cli/backend/src/types/budget.types.js.map +1 -0
- package/dist/cli/backend/src/types/chat.types.d.ts +550 -0
- package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/chat.types.js +743 -0
- package/dist/cli/backend/src/types/chat.types.js.map +1 -0
- package/dist/cli/backend/src/types/continuation.types.d.ts +237 -0
- package/dist/cli/backend/src/types/continuation.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/continuation.types.js +10 -0
- package/dist/cli/backend/src/types/continuation.types.js.map +1 -0
- package/dist/cli/backend/src/types/index.d.ts +164 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -0
- package/dist/cli/backend/src/types/index.js +25 -0
- package/dist/cli/backend/src/types/index.js.map +1 -0
- package/dist/cli/backend/src/types/knowledge.types.d.ts +195 -0
- package/dist/cli/backend/src/types/knowledge.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/knowledge.types.js +38 -0
- package/dist/cli/backend/src/types/knowledge.types.js.map +1 -0
- package/dist/cli/backend/src/types/memory.types.d.ts +587 -0
- package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/memory.types.js +47 -0
- package/dist/cli/backend/src/types/memory.types.js.map +1 -0
- package/dist/cli/backend/src/types/quality-gate.types.d.ts +171 -0
- package/dist/cli/backend/src/types/quality-gate.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/quality-gate.types.js +42 -0
- package/dist/cli/backend/src/types/quality-gate.types.js.map +1 -0
- package/dist/cli/backend/src/types/role.types.d.ts +260 -0
- package/dist/cli/backend/src/types/role.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/role.types.js +238 -0
- package/dist/cli/backend/src/types/role.types.js.map +1 -0
- package/dist/cli/backend/src/types/scheduler.types.d.ts +254 -0
- package/dist/cli/backend/src/types/scheduler.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/scheduler.types.js +32 -0
- package/dist/cli/backend/src/types/scheduler.types.js.map +1 -0
- package/dist/cli/backend/src/types/settings.types.d.ts +178 -0
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/settings.types.js +206 -0
- package/dist/cli/backend/src/types/settings.types.js.map +1 -0
- package/dist/cli/backend/src/types/skill.types.d.ts +515 -0
- package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/skill.types.js +481 -0
- package/dist/cli/backend/src/types/skill.types.js.map +1 -0
- package/dist/cli/backend/src/types/sop.types.d.ts +224 -0
- package/dist/cli/backend/src/types/sop.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/sop.types.js +85 -0
- package/dist/cli/backend/src/types/sop.types.js.map +1 -0
- package/dist/cli/backend/src/types/task-output.types.d.ts +78 -0
- package/dist/cli/backend/src/types/task-output.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/task-output.types.js +27 -0
- package/dist/cli/backend/src/types/task-output.types.js.map +1 -0
- package/dist/cli/backend/src/utils/file-io.utils.d.ts +102 -0
- package/dist/cli/backend/src/utils/file-io.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/file-io.utils.js +214 -0
- package/dist/cli/backend/src/utils/file-io.utils.js.map +1 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.d.ts +54 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.js +97 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.js.map +1 -0
- package/dist/cli/cli/src/commands/mcp-server.d.ts +38 -0
- package/dist/cli/cli/src/commands/mcp-server.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/mcp-server.js +49 -0
- package/dist/cli/cli/src/commands/mcp-server.js.map +1 -0
- package/dist/cli/cli/src/commands/onboard.d.ts +72 -8
- package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/onboard.js +306 -33
- package/dist/cli/cli/src/commands/onboard.js.map +1 -1
- package/dist/cli/cli/src/commands/publish.d.ts +35 -0
- package/dist/cli/cli/src/commands/publish.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/publish.js +93 -0
- package/dist/cli/cli/src/commands/publish.js.map +1 -0
- package/dist/cli/cli/src/commands/seed-marketplace.d.ts +28 -0
- package/dist/cli/cli/src/commands/seed-marketplace.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/seed-marketplace.js +148 -0
- package/dist/cli/cli/src/commands/seed-marketplace.js.map +1 -0
- package/dist/cli/cli/src/index.js +23 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/cli/src/utils/archive-creator.d.ts +82 -0
- package/dist/cli/cli/src/utils/archive-creator.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/archive-creator.js +105 -0
- package/dist/cli/cli/src/utils/archive-creator.js.map +1 -0
- package/dist/cli/cli/src/utils/marketplace.d.ts +17 -4
- package/dist/cli/cli/src/utils/marketplace.d.ts.map +1 -1
- package/dist/cli/cli/src/utils/marketplace.js +172 -58
- package/dist/cli/cli/src/utils/marketplace.js.map +1 -1
- package/dist/cli/cli/src/utils/package-validator.d.ts +62 -0
- package/dist/cli/cli/src/utils/package-validator.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/package-validator.js +122 -0
- package/dist/cli/cli/src/utils/package-validator.js.map +1 -0
- package/dist/cli/cli/src/utils/templates.d.ts +71 -0
- package/dist/cli/cli/src/utils/templates.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/templates.js +91 -0
- package/dist/cli/cli/src/utils/templates.js.map +1 -0
- package/dist/cli/config/constants.d.ts +41 -0
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +57 -0
- package/dist/cli/config/constants.js.map +1 -1
- package/dist/cli/config/index.d.ts +2 -2
- package/dist/cli/config/index.d.ts.map +1 -1
- package/dist/cli/config/index.js +2 -2
- package/dist/cli/config/index.js.map +1 -1
- package/frontend/dist/assets/{index-523c7fce.js → index-0a245b0d.js} +247 -247
- package/frontend/dist/assets/{index-4c050f52.css → index-6972eeee.css} +1 -1
- package/frontend/dist/assets/nunito-cyrillic-400-normal-e44e669f.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-400-normal-ff8e8bdd.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-500-normal-2159679b.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-500-normal-61a3b80e.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-600-normal-ac046097.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-600-normal-e61eb97b.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-700-normal-8fcefcc9.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-700-normal-b9684104.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-800-normal-40253beb.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-800-normal-d80292de.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-20d73ae7.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-d48c37c9.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-16197abd.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-9dcfe9b5.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-d53e9851.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-e3d0201f.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-5936f6ac.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-c8c02775.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-217b8f51.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-796cf7bd.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-400-normal-a5906e15.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-400-normal-b51e7635.woff +0 -0
- package/frontend/dist/assets/nunito-latin-500-normal-23ae3083.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-500-normal-be14dbc6.woff +0 -0
- package/frontend/dist/assets/nunito-latin-600-normal-06a9c8b3.woff +0 -0
- package/frontend/dist/assets/nunito-latin-600-normal-45f437de.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-700-normal-ce9107dc.woff +0 -0
- package/frontend/dist/assets/nunito-latin-700-normal-fa89300b.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-800-normal-0ca02785.woff +0 -0
- package/frontend/dist/assets/nunito-latin-800-normal-2363d3ed.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-400-normal-67250a41.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-400-normal-d7e2415e.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-500-normal-06f35d1c.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-500-normal-343e7adc.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-600-normal-5a8efd17.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-600-normal-a7ba5f4f.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-700-normal-0a4e4a02.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-700-normal-0c607961.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-800-normal-39f54b55.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-800-normal-466d0211.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-400-normal-2a755616.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-400-normal-9c01ea9f.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-500-normal-452e5e08.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-500-normal-dc98d965.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-600-normal-2ffbb85f.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-600-normal-cf95b95d.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-700-normal-0e29c28c.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-700-normal-7793b75e.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-800-normal-5baf507e.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-800-normal-fac6740e.woff2 +0 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +16 -6
- package/config/skills/chrome-browser/instructions.md +0 -42
- package/config/skills/chrome-browser/skill.json +0 -39
- package/config/skills/nano-banana-image/generate.sh +0 -73
- package/config/skills/nano-banana-image/instructions.md +0 -50
- package/config/skills/nano-banana-image/skill.json +0 -39
- package/config/skills/playwright-chrome-browser/instructions.md +0 -95
- package/config/skills/playwright-chrome-browser/skill.json +0 -44
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export interface AppConfig {
|
|
2
|
+
server: {
|
|
3
|
+
port: number;
|
|
4
|
+
host: string;
|
|
5
|
+
nodeEnv: 'development' | 'production' | 'test';
|
|
6
|
+
corsOrigin: string[];
|
|
7
|
+
trustProxy: boolean;
|
|
8
|
+
};
|
|
9
|
+
mcp: {
|
|
10
|
+
port: number;
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
maxConnections: number;
|
|
13
|
+
timeoutMs: number;
|
|
14
|
+
};
|
|
15
|
+
storage: {
|
|
16
|
+
dataPath: string;
|
|
17
|
+
backupEnabled: boolean;
|
|
18
|
+
backupInterval: number;
|
|
19
|
+
maxBackups: number;
|
|
20
|
+
};
|
|
21
|
+
git: {
|
|
22
|
+
autoCommitEnabled: boolean;
|
|
23
|
+
autoCommitInterval: number;
|
|
24
|
+
defaultBranch: string;
|
|
25
|
+
pushToRemote: boolean;
|
|
26
|
+
};
|
|
27
|
+
logging: {
|
|
28
|
+
level: 'error' | 'warn' | 'info' | 'debug';
|
|
29
|
+
format: 'json' | 'simple';
|
|
30
|
+
enableFileLogging: boolean;
|
|
31
|
+
logDir: string;
|
|
32
|
+
maxFiles: number;
|
|
33
|
+
maxSize: string;
|
|
34
|
+
};
|
|
35
|
+
monitoring: {
|
|
36
|
+
metricsEnabled: boolean;
|
|
37
|
+
healthCheckInterval: number;
|
|
38
|
+
performanceTrackingEnabled: boolean;
|
|
39
|
+
memoryThreshold: number;
|
|
40
|
+
cpuThreshold: number;
|
|
41
|
+
};
|
|
42
|
+
security: {
|
|
43
|
+
rateLimitEnabled: boolean;
|
|
44
|
+
rateLimitWindow: number;
|
|
45
|
+
rateLimitMax: number;
|
|
46
|
+
enableHelmet: boolean;
|
|
47
|
+
sessionSecret?: string;
|
|
48
|
+
};
|
|
49
|
+
websocket: {
|
|
50
|
+
enabled: boolean;
|
|
51
|
+
pingTimeout: number;
|
|
52
|
+
pingInterval: number;
|
|
53
|
+
maxConnections: number;
|
|
54
|
+
};
|
|
55
|
+
agents: {
|
|
56
|
+
maxConcurrentAgents: number;
|
|
57
|
+
defaultTimeout: number;
|
|
58
|
+
maxMemoryPerAgent: number;
|
|
59
|
+
contextRefreshInterval: number;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export declare class ConfigService {
|
|
63
|
+
private static instance;
|
|
64
|
+
private config;
|
|
65
|
+
private configPath;
|
|
66
|
+
private _logger;
|
|
67
|
+
/**
|
|
68
|
+
* Gets the component logger, lazily initializing it to avoid circular
|
|
69
|
+
* dependency with LoggerService (which depends on ConfigService).
|
|
70
|
+
*/
|
|
71
|
+
private getLogger;
|
|
72
|
+
private constructor();
|
|
73
|
+
static getInstance(): ConfigService;
|
|
74
|
+
private resolveConfigPath;
|
|
75
|
+
private getDefaultConfig;
|
|
76
|
+
private loadConfig;
|
|
77
|
+
private mergeConfigs;
|
|
78
|
+
getConfig(): AppConfig;
|
|
79
|
+
get<K extends keyof AppConfig>(section: K): AppConfig[K];
|
|
80
|
+
updateConfig(updates: Partial<AppConfig>): Promise<void>;
|
|
81
|
+
createDefaultConfigFile(): Promise<void>;
|
|
82
|
+
validateConfig(): {
|
|
83
|
+
isValid: boolean;
|
|
84
|
+
errors: string[];
|
|
85
|
+
};
|
|
86
|
+
getEnvironmentInfo(): Record<string, any>;
|
|
87
|
+
isDevelopment(): boolean;
|
|
88
|
+
isProduction(): boolean;
|
|
89
|
+
isTest(): boolean;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=config.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/core/config.service.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IAEzB,MAAM,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,aAAa,GAAG,YAAY,GAAG,MAAM,CAAC;QAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;KACpB,CAAC;IAGF,GAAG,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IAGF,OAAO,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IAGF,GAAG,EAAE;QACJ,iBAAiB,EAAE,OAAO,CAAC;QAC3B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,CAAC;IAGF,OAAO,EAAE;QACR,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAC3C,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;QAC1B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAGF,UAAU,EAAE;QACX,cAAc,EAAE,OAAO,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,0BAA0B,EAAE,OAAO,CAAC;QACpC,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IAGF,QAAQ,EAAE;QACT,gBAAgB,EAAE,OAAO,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAGF,SAAS,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACvB,CAAC;IAGF,MAAM,EAAE;QACP,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;KAC/B,CAAC;CACF;AAED,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAgC;IAE/C;;;OAGG;IACH,OAAO,CAAC,SAAS;IAOjB,OAAO;WAKO,WAAW,IAAI,aAAa;IAO1C,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,gBAAgB;IA2ExB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,YAAY;IAcb,SAAS,IAAI,SAAS;IAItB,GAAG,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAIlD,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB9C,cAAc,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IA+CxD,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAgBzC,aAAa,IAAI,OAAO;IAIxB,YAAY,IAAI,OAAO;IAIvB,MAAM,IAAI,OAAO;CAGxB"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import * as fs from 'fs/promises';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { existsSync } from 'fs';
|
|
4
|
+
import { LoggerService } from './logger.service.js';
|
|
5
|
+
export class ConfigService {
|
|
6
|
+
static instance;
|
|
7
|
+
config;
|
|
8
|
+
configPath;
|
|
9
|
+
_logger = null;
|
|
10
|
+
/**
|
|
11
|
+
* Gets the component logger, lazily initializing it to avoid circular
|
|
12
|
+
* dependency with LoggerService (which depends on ConfigService).
|
|
13
|
+
*/
|
|
14
|
+
getLogger() {
|
|
15
|
+
if (!this._logger) {
|
|
16
|
+
this._logger = LoggerService.getInstance().createComponentLogger('ConfigService');
|
|
17
|
+
}
|
|
18
|
+
return this._logger;
|
|
19
|
+
}
|
|
20
|
+
constructor() {
|
|
21
|
+
this.configPath = this.resolveConfigPath();
|
|
22
|
+
this.config = this.loadConfig();
|
|
23
|
+
}
|
|
24
|
+
static getInstance() {
|
|
25
|
+
if (!ConfigService.instance) {
|
|
26
|
+
ConfigService.instance = new ConfigService();
|
|
27
|
+
}
|
|
28
|
+
return ConfigService.instance;
|
|
29
|
+
}
|
|
30
|
+
resolveConfigPath() {
|
|
31
|
+
const possiblePaths = [
|
|
32
|
+
process.env.CONFIG_PATH,
|
|
33
|
+
path.join(process.cwd(), 'config.json'),
|
|
34
|
+
path.join(process.cwd(), 'config', 'app.json'),
|
|
35
|
+
path.join(process.cwd(), '.crewly', 'config.json'),
|
|
36
|
+
].filter(Boolean);
|
|
37
|
+
for (const configPath of possiblePaths) {
|
|
38
|
+
if (existsSync(configPath)) {
|
|
39
|
+
return configPath;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Return default path if no config file exists
|
|
43
|
+
return path.join(process.cwd(), 'config.json');
|
|
44
|
+
}
|
|
45
|
+
getDefaultConfig() {
|
|
46
|
+
return {
|
|
47
|
+
server: {
|
|
48
|
+
port: parseInt(process.env.PORT || '3000', 10),
|
|
49
|
+
host: process.env.HOST || 'localhost',
|
|
50
|
+
nodeEnv: process.env.NODE_ENV || 'development',
|
|
51
|
+
corsOrigin: process.env.CORS_ORIGIN?.split(',') || ['http://localhost:3000'],
|
|
52
|
+
trustProxy: process.env.TRUST_PROXY === 'true',
|
|
53
|
+
},
|
|
54
|
+
mcp: {
|
|
55
|
+
port: parseInt(process.env.CREWLY_MCP_PORT || '3001', 10),
|
|
56
|
+
enabled: process.env.MCP_ENABLED !== 'false',
|
|
57
|
+
maxConnections: parseInt(process.env.MCP_MAX_CONNECTIONS || '100', 10),
|
|
58
|
+
timeoutMs: parseInt(process.env.MCP_TIMEOUT || '30000', 10),
|
|
59
|
+
},
|
|
60
|
+
storage: {
|
|
61
|
+
dataPath: process.env.DATA_PATH || path.join(process.cwd(), 'data'),
|
|
62
|
+
backupEnabled: process.env.BACKUP_ENABLED === 'true',
|
|
63
|
+
backupInterval: parseInt(process.env.BACKUP_INTERVAL || '3600000', 10), // 1 hour
|
|
64
|
+
maxBackups: parseInt(process.env.MAX_BACKUPS || '10', 10),
|
|
65
|
+
},
|
|
66
|
+
git: {
|
|
67
|
+
autoCommitEnabled: process.env.GIT_AUTO_COMMIT !== 'false',
|
|
68
|
+
autoCommitInterval: parseInt(process.env.GIT_AUTO_COMMIT_INTERVAL || '30', 10),
|
|
69
|
+
defaultBranch: process.env.GIT_DEFAULT_BRANCH || 'main',
|
|
70
|
+
pushToRemote: process.env.GIT_PUSH_TO_REMOTE === 'true',
|
|
71
|
+
},
|
|
72
|
+
logging: {
|
|
73
|
+
level: process.env.LOG_LEVEL || 'info',
|
|
74
|
+
format: process.env.LOG_FORMAT || 'simple',
|
|
75
|
+
enableFileLogging: process.env.FILE_LOGGING === 'true',
|
|
76
|
+
logDir: process.env.LOG_DIR || path.join(process.cwd(), 'logs'),
|
|
77
|
+
maxFiles: parseInt(process.env.LOG_MAX_FILES || '5', 10),
|
|
78
|
+
maxSize: process.env.LOG_MAX_SIZE || '10m',
|
|
79
|
+
},
|
|
80
|
+
monitoring: {
|
|
81
|
+
metricsEnabled: process.env.METRICS_ENABLED === 'true',
|
|
82
|
+
healthCheckInterval: parseInt(process.env.HEALTH_CHECK_INTERVAL || '30000', 10),
|
|
83
|
+
performanceTrackingEnabled: process.env.PERF_TRACKING === 'true',
|
|
84
|
+
memoryThreshold: parseInt(process.env.MEMORY_THRESHOLD || '512', 10), // MB
|
|
85
|
+
cpuThreshold: parseInt(process.env.CPU_THRESHOLD || '80', 10), // %
|
|
86
|
+
},
|
|
87
|
+
security: {
|
|
88
|
+
rateLimitEnabled: process.env.RATE_LIMIT_ENABLED !== 'false',
|
|
89
|
+
rateLimitWindow: parseInt(process.env.RATE_LIMIT_WINDOW || '900000', 10), // 15 min
|
|
90
|
+
rateLimitMax: parseInt(process.env.RATE_LIMIT_MAX || '1000', 10),
|
|
91
|
+
enableHelmet: process.env.HELMET_ENABLED !== 'false',
|
|
92
|
+
sessionSecret: process.env.SESSION_SECRET,
|
|
93
|
+
},
|
|
94
|
+
websocket: {
|
|
95
|
+
enabled: process.env.WEBSOCKET_ENABLED !== 'false',
|
|
96
|
+
pingTimeout: parseInt(process.env.WS_PING_TIMEOUT || '60000', 10),
|
|
97
|
+
pingInterval: parseInt(process.env.WS_PING_INTERVAL || '25000', 10),
|
|
98
|
+
maxConnections: parseInt(process.env.WS_MAX_CONNECTIONS || '1000', 10),
|
|
99
|
+
},
|
|
100
|
+
agents: {
|
|
101
|
+
maxConcurrentAgents: parseInt(process.env.MAX_CONCURRENT_AGENTS || '50', 10),
|
|
102
|
+
defaultTimeout: parseInt(process.env.AGENT_DEFAULT_TIMEOUT || '300000', 10), // 5 min
|
|
103
|
+
maxMemoryPerAgent: parseInt(process.env.MAX_MEMORY_PER_AGENT || '256', 10), // MB
|
|
104
|
+
contextRefreshInterval: parseInt(process.env.CONTEXT_REFRESH_INTERVAL || '1800000', 10), // 30 min
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
loadConfig() {
|
|
109
|
+
// NOTE: This method is called from the constructor, before LoggerService
|
|
110
|
+
// is available. Using this.getLogger() here causes infinite recursion:
|
|
111
|
+
// LoggerService() → ConfigService.getInstance() → loadConfig() → getLogger() → LoggerService()
|
|
112
|
+
// Use console.log/console.error for constructor-time logging instead.
|
|
113
|
+
try {
|
|
114
|
+
const defaultConfig = this.getDefaultConfig();
|
|
115
|
+
if (!existsSync(this.configPath)) {
|
|
116
|
+
console.log(`No config file found at ${this.configPath}, using default configuration`);
|
|
117
|
+
return defaultConfig;
|
|
118
|
+
}
|
|
119
|
+
const fileContent = require('fs').readFileSync(this.configPath, 'utf-8');
|
|
120
|
+
const fileConfig = JSON.parse(fileContent);
|
|
121
|
+
// Deep merge with defaults
|
|
122
|
+
return this.mergeConfigs(defaultConfig, fileConfig);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.error('Error loading configuration, falling back to defaults:', error);
|
|
126
|
+
return this.getDefaultConfig();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
mergeConfigs(defaultConfig, fileConfig) {
|
|
130
|
+
const merged = { ...defaultConfig };
|
|
131
|
+
for (const [key, value] of Object.entries(fileConfig)) {
|
|
132
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
133
|
+
merged[key] = { ...merged[key], ...value };
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
merged[key] = value;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return merged;
|
|
140
|
+
}
|
|
141
|
+
getConfig() {
|
|
142
|
+
return this.config;
|
|
143
|
+
}
|
|
144
|
+
get(section) {
|
|
145
|
+
return this.config[section];
|
|
146
|
+
}
|
|
147
|
+
async updateConfig(updates) {
|
|
148
|
+
// Update in-memory config
|
|
149
|
+
this.config = this.mergeConfigs(this.config, updates);
|
|
150
|
+
// Write to file
|
|
151
|
+
try {
|
|
152
|
+
const configData = JSON.stringify(this.config, null, 2);
|
|
153
|
+
await fs.writeFile(this.configPath, configData, 'utf-8');
|
|
154
|
+
this.getLogger().info('Configuration updated and saved', { configPath: this.configPath });
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
this.getLogger().error('Failed to save configuration', {
|
|
158
|
+
error: error instanceof Error ? error.message : String(error),
|
|
159
|
+
});
|
|
160
|
+
throw new Error('Failed to save configuration');
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
async createDefaultConfigFile() {
|
|
164
|
+
if (existsSync(this.configPath)) {
|
|
165
|
+
this.getLogger().info('Configuration file already exists', { configPath: this.configPath });
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
const defaultConfig = this.getDefaultConfig();
|
|
170
|
+
const configData = JSON.stringify(defaultConfig, null, 2);
|
|
171
|
+
// Ensure directory exists
|
|
172
|
+
const configDir = path.dirname(this.configPath);
|
|
173
|
+
await fs.mkdir(configDir, { recursive: true });
|
|
174
|
+
await fs.writeFile(this.configPath, configData, 'utf-8');
|
|
175
|
+
this.getLogger().info('Default configuration file created', { configPath: this.configPath });
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
this.getLogger().error('Failed to create default configuration file', {
|
|
179
|
+
error: error instanceof Error ? error.message : String(error),
|
|
180
|
+
});
|
|
181
|
+
throw new Error('Failed to create configuration file');
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
validateConfig() {
|
|
185
|
+
const errors = [];
|
|
186
|
+
const config = this.config;
|
|
187
|
+
// Validate server config
|
|
188
|
+
if (config.server.port < 1 || config.server.port > 65535) {
|
|
189
|
+
errors.push('Server port must be between 1 and 65535');
|
|
190
|
+
}
|
|
191
|
+
if (!['development', 'production', 'test'].includes(config.server.nodeEnv)) {
|
|
192
|
+
errors.push('NODE_ENV must be development, production, or test');
|
|
193
|
+
}
|
|
194
|
+
// Validate MCP config
|
|
195
|
+
if (config.mcp.port < 1 || config.mcp.port > 65535) {
|
|
196
|
+
errors.push('MCP port must be between 1 and 65535');
|
|
197
|
+
}
|
|
198
|
+
if (config.mcp.port === config.server.port) {
|
|
199
|
+
errors.push('MCP port cannot be the same as server port');
|
|
200
|
+
}
|
|
201
|
+
// Validate logging config
|
|
202
|
+
if (!['error', 'warn', 'info', 'debug'].includes(config.logging.level)) {
|
|
203
|
+
errors.push('Log level must be error, warn, info, or debug');
|
|
204
|
+
}
|
|
205
|
+
// Validate monitoring thresholds
|
|
206
|
+
if (config.monitoring.memoryThreshold < 64) {
|
|
207
|
+
errors.push('Memory threshold should be at least 64MB');
|
|
208
|
+
}
|
|
209
|
+
if (config.monitoring.cpuThreshold < 1 || config.monitoring.cpuThreshold > 100) {
|
|
210
|
+
errors.push('CPU threshold must be between 1 and 100');
|
|
211
|
+
}
|
|
212
|
+
// Validate security config
|
|
213
|
+
if (config.server.nodeEnv === 'production' && !config.security.sessionSecret) {
|
|
214
|
+
errors.push('Session secret is required in production');
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
isValid: errors.length === 0,
|
|
218
|
+
errors,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
getEnvironmentInfo() {
|
|
222
|
+
return {
|
|
223
|
+
nodeVersion: process.version,
|
|
224
|
+
platform: process.platform,
|
|
225
|
+
architecture: process.arch,
|
|
226
|
+
nodeEnv: this.config.server.nodeEnv,
|
|
227
|
+
processId: process.pid,
|
|
228
|
+
uptime: process.uptime(),
|
|
229
|
+
memoryUsage: process.memoryUsage(),
|
|
230
|
+
configPath: this.configPath,
|
|
231
|
+
configLastModified: existsSync(this.configPath)
|
|
232
|
+
? require('fs').statSync(this.configPath).mtime
|
|
233
|
+
: null,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
isDevelopment() {
|
|
237
|
+
return this.config.server.nodeEnv === 'development';
|
|
238
|
+
}
|
|
239
|
+
isProduction() {
|
|
240
|
+
return this.config.server.nodeEnv === 'production';
|
|
241
|
+
}
|
|
242
|
+
isTest() {
|
|
243
|
+
return this.config.server.nodeEnv === 'test';
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=config.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/core/config.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export type LogLevel = 'error' | 'warn' | 'info' | 'debug';
|
|
2
|
+
export interface LogEntry {
|
|
3
|
+
timestamp: string;
|
|
4
|
+
level: LogLevel;
|
|
5
|
+
message: string;
|
|
6
|
+
context?: Record<string, any>;
|
|
7
|
+
stack?: string;
|
|
8
|
+
requestId?: string;
|
|
9
|
+
userId?: string;
|
|
10
|
+
component?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface LoggerOptions {
|
|
13
|
+
component?: string;
|
|
14
|
+
requestId?: string;
|
|
15
|
+
userId?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class LoggerService {
|
|
18
|
+
private static instance;
|
|
19
|
+
private config;
|
|
20
|
+
private logQueue;
|
|
21
|
+
private flushTimer;
|
|
22
|
+
private isShuttingDown;
|
|
23
|
+
private readonly LOG_LEVELS;
|
|
24
|
+
private constructor();
|
|
25
|
+
static getInstance(): LoggerService;
|
|
26
|
+
private initializeLogDirectory;
|
|
27
|
+
private startLogFlusher;
|
|
28
|
+
private setupProcessHandlers;
|
|
29
|
+
private shouldLog;
|
|
30
|
+
private formatLogEntry;
|
|
31
|
+
private writeToFile;
|
|
32
|
+
private rotateLogs;
|
|
33
|
+
private log;
|
|
34
|
+
private writeToConsole;
|
|
35
|
+
private flushLogs;
|
|
36
|
+
error(message: string, context?: Record<string, any>, options?: LoggerOptions): void;
|
|
37
|
+
warn(message: string, context?: Record<string, any>, options?: LoggerOptions): void;
|
|
38
|
+
info(message: string, context?: Record<string, any>, options?: LoggerOptions): void;
|
|
39
|
+
debug(message: string, context?: Record<string, any>, options?: LoggerOptions): void;
|
|
40
|
+
logHttpRequest(method: string, url: string, statusCode: number, duration: number, options?: LoggerOptions): void;
|
|
41
|
+
logHttpError(method: string, url: string, statusCode: number, error: string, options?: LoggerOptions): void;
|
|
42
|
+
logAgentAction(agentId: string, action: string, success: boolean, details?: Record<string, any>, options?: LoggerOptions): void;
|
|
43
|
+
logSystemMetric(metric: string, value: number, unit: string, options?: LoggerOptions): void;
|
|
44
|
+
logSecurityEvent(event: string, details: Record<string, any>, options?: LoggerOptions): void;
|
|
45
|
+
logDatabaseOperation(operation: string, table: string, duration: number, success: boolean, options?: LoggerOptions): void;
|
|
46
|
+
createComponentLogger(component: string): ComponentLogger;
|
|
47
|
+
createRequestLogger(requestId: string, userId?: string): RequestLogger;
|
|
48
|
+
getRecentLogs(level?: LogLevel, limit?: number): Promise<LogEntry[]>;
|
|
49
|
+
shutdown(): void;
|
|
50
|
+
}
|
|
51
|
+
export declare class ComponentLogger {
|
|
52
|
+
private logger;
|
|
53
|
+
private component;
|
|
54
|
+
constructor(logger: LoggerService, component: string);
|
|
55
|
+
error(message: string, context?: Record<string, any>, options?: Omit<LoggerOptions, 'component'>): void;
|
|
56
|
+
warn(message: string, context?: Record<string, any>, options?: Omit<LoggerOptions, 'component'>): void;
|
|
57
|
+
info(message: string, context?: Record<string, any>, options?: Omit<LoggerOptions, 'component'>): void;
|
|
58
|
+
debug(message: string, context?: Record<string, any>, options?: Omit<LoggerOptions, 'component'>): void;
|
|
59
|
+
}
|
|
60
|
+
export declare class RequestLogger {
|
|
61
|
+
private logger;
|
|
62
|
+
private requestId;
|
|
63
|
+
private userId?;
|
|
64
|
+
constructor(logger: LoggerService, requestId: string, userId?: string | undefined);
|
|
65
|
+
error(message: string, context?: Record<string, any>, options?: Omit<LoggerOptions, 'requestId' | 'userId'>): void;
|
|
66
|
+
warn(message: string, context?: Record<string, any>, options?: Omit<LoggerOptions, 'requestId' | 'userId'>): void;
|
|
67
|
+
info(message: string, context?: Record<string, any>, options?: Omit<LoggerOptions, 'requestId' | 'userId'>): void;
|
|
68
|
+
debug(message: string, context?: Record<string, any>, options?: Omit<LoggerOptions, 'requestId' | 'userId'>): void;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=logger.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/core/logger.service.ts"],"names":[],"mappings":"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"}
|