crewly 1.2.4 → 1.2.7
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/config/constants.ts +4 -2
- package/config/roles/auditor/prompt.md +84 -0
- package/config/roles/orchestrator/prompt.md +62 -7
- package/config/runtime_scripts/runtime-config.json +5 -5
- package/config/skills/orchestrator/cancel-all-schedules/execute.sh +24 -0
- package/config/skills/orchestrator/cancel-all-schedules/instructions.md +23 -0
- package/config/skills/orchestrator/cancel-all-schedules/skill.json +17 -0
- package/config/skills/orchestrator/list-schedules/execute.sh +19 -0
- package/config/skills/orchestrator/list-schedules/instructions.md +24 -0
- package/config/skills/orchestrator/list-schedules/skill.json +12 -0
- package/dist/backend/backend/src/constants.d.ts +77 -13
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +78 -16
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/auditor/auditor.controller.d.ts +37 -0
- package/dist/backend/backend/src/controllers/auditor/auditor.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/auditor/auditor.controller.js +64 -0
- package/dist/backend/backend/src/controllers/auditor/auditor.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/auditor/auditor.routes.d.ts +15 -0
- package/dist/backend/backend/src/controllers/auditor/auditor.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/auditor/auditor.routes.js +23 -0
- package/dist/backend/backend/src/controllers/auditor/auditor.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.d.ts +23 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.js +42 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin-auth.middleware.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.d.ts +56 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.js +173 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.d.ts +22 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.js +33 -0
- package/dist/backend/backend/src/controllers/cloud/admin/admin.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/admin/index.d.ts +7 -0
- package/dist/backend/backend/src/controllers/cloud/admin/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/admin/index.js +7 -0
- package/dist/backend/backend/src/controllers/cloud/admin/index.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.d.ts +1 -1
- package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js +5 -5
- package/dist/backend/backend/src/controllers/cloud/auth/auth.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js +0 -3
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/index.d.ts +0 -5
- package/dist/backend/backend/src/controllers/cloud/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/index.js +0 -5
- package/dist/backend/backend/src/controllers/cloud/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts +6 -45
- package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.controller.js +6 -165
- package/dist/backend/backend/src/controllers/cloud/relay.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts +5 -9
- package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.routes.js +11 -21
- package/dist/backend/backend/src/controllers/cloud/relay.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts +5 -2
- package/dist/backend/backend/src/controllers/cloud/tasks/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/tasks/index.js +5 -2
- package/dist/backend/backend/src/controllers/cloud/tasks/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.d.ts +6 -2
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js +12 -8
- package/dist/backend/backend/src/controllers/marketplace/template-marketplace.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts +7 -0
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +64 -3
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +32 -4
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/payment/payment.controller.d.ts +16 -5
- package/dist/backend/backend/src/controllers/payment/payment.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/payment/payment.controller.js +6 -6
- package/dist/backend/backend/src/controllers/payment/payment.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts +6 -2
- package/dist/backend/backend/src/controllers/payment/payment.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/payment/payment.routes.js +22 -8
- package/dist/backend/backend/src/controllers/payment/payment.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/payment/payment.types.d.ts +1 -1
- package/dist/backend/backend/src/controllers/payment/payment.types.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/payment/payment.types.js +1 -1
- package/dist/backend/backend/src/controllers/payment/payment.types.js.map +1 -1
- package/dist/backend/backend/src/controllers/request-types.d.ts +2 -2
- package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts +19 -0
- package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js +51 -0
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +13 -5
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/template/template.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/template/template.controller.js +2 -2
- package/dist/backend/backend/src/controllers/template/template.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +33 -30
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +4 -12
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/log-rotation.routes.d.ts +8 -0
- package/dist/backend/backend/src/routes/modules/log-rotation.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/routes/modules/log-rotation.routes.js +62 -0
- package/dist/backend/backend/src/routes/modules/log-rotation.routes.js.map +1 -0
- package/dist/backend/backend/src/routes/modules/scheduler.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/scheduler.routes.js +2 -0
- package/dist/backend/backend/src/routes/modules/scheduler.routes.js.map +1 -1
- package/dist/backend/backend/src/scripts/run-log-rotation.d.ts +3 -0
- package/dist/backend/backend/src/scripts/run-log-rotation.d.ts.map +1 -0
- package/dist/backend/backend/src/scripts/run-log-rotation.js +31 -0
- package/dist/backend/backend/src/scripts/run-log-rotation.js.map +1 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +10 -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 +85 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/auditor-scheduler.service.d.ts +150 -0
- package/dist/backend/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js +307 -0
- package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +105 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +199 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts +68 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js +131 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts +29 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +229 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +127 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +242 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +95 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +130 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts +14 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js +14 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +57 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +93 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts +13 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js +91 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +29 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +519 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +159 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js +63 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -0
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +56 -1
- 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 +273 -215
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-service.factory.js +8 -8
- package/dist/backend/backend/src/services/agent/runtime-service.factory.js.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.d.ts +7 -1
- package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.js +14 -5
- package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/admin-seed.service.d.ts +18 -0
- package/dist/backend/backend/src/services/cloud/admin-seed.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/admin-seed.service.js +50 -0
- package/dist/backend/backend/src/services/cloud/admin-seed.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-features.d.ts +19 -0
- package/dist/backend/backend/src/services/cloud/cloud-features.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-features.js +23 -0
- package/dist/backend/backend/src/services/cloud/cloud-features.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts +3 -3
- package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js +10 -6
- package/dist/backend/backend/src/services/cloud/cloud-task-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/mongodb.service.d.ts +45 -0
- package/dist/backend/backend/src/services/cloud/mongodb.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/mongodb.service.js +76 -0
- package/dist/backend/backend/src/services/cloud/mongodb.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts +0 -2
- package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-server.service.js +7 -36
- package/dist/backend/backend/src/services/cloud/relay-server.service.js.map +1 -1
- package/dist/backend/backend/src/services/continuation/continuation.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/continuation/continuation.service.js +5 -10
- package/dist/backend/backend/src/services/continuation/continuation.service.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts +10 -2
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js +47 -12
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-server.js +1 -1
- package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts +95 -22
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js +284 -60
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js.map +1 -1
- 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 +2 -1
- 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.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +22 -4
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/response-router.service.d.ts +8 -0
- package/dist/backend/backend/src/services/messaging/response-router.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/response-router.service.js +42 -0
- package/dist/backend/backend/src/services/messaging/response-router.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +6 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
- package/dist/backend/backend/src/services/payment/stripe.service.d.ts +4 -43
- package/dist/backend/backend/src/services/payment/stripe.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/payment/stripe.service.js +56 -180
- package/dist/backend/backend/src/services/payment/stripe.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/index.d.ts +2 -0
- package/dist/backend/backend/src/services/session/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/index.js +2 -0
- package/dist/backend/backend/src/services/session/index.js.map +1 -1
- package/dist/backend/backend/src/services/session/log-rotation.service.d.ts +163 -0
- package/dist/backend/backend/src/services/session/log-rotation.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/session/log-rotation.service.js +362 -0
- package/dist/backend/backend/src/services/session/log-rotation.service.js.map +1 -0
- package/dist/backend/backend/src/services/settings/settings.service.js +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +11 -0
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +83 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/template/template.service.d.ts +9 -44
- package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/template/template.service.js +7 -80
- package/dist/backend/backend/src/services/template/template.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +35 -0
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +133 -0
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/types/chat.types.d.ts +1 -1
- package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/chat.types.js +21 -17
- package/dist/backend/backend/src/types/chat.types.js.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +31 -0
- package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.js +50 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +1 -1
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/messaging.types.d.ts +4 -0
- package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +4 -4
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/backend/backend/src/types/team-template.types.d.ts +2 -2
- package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/team-template.types.js +1 -1
- package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +4 -4
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +9 -6
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/backend/config/constants.d.ts +4 -2
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +4 -2
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +77 -13
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +78 -16
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/mcp-server.js +1 -1
- package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
- package/dist/cli/backend/src/types/chat.types.d.ts +1 -1
- package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/chat.types.js +21 -17
- package/dist/cli/backend/src/types/chat.types.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +1 -1
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +4 -4
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/config/constants.d.ts +4 -2
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +4 -2
- package/dist/cli/config/constants.js.map +1 -1
- package/frontend/dist/assets/index-5cf8820f.js +4919 -0
- package/frontend/dist/assets/index-dee3a3a9.css +33 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +15 -9
- package/frontend/dist/assets/index-510ab719.css +0 -33
- package/frontend/dist/assets/index-935cd846.js +0 -4961
|
@@ -8,15 +8,8 @@
|
|
|
8
8
|
* methods return graceful errors instead of crashing, allowing the
|
|
9
9
|
* rest of the backend to run without Stripe credentials.
|
|
10
10
|
*
|
|
11
|
-
* Subscription state is persisted locally via a file-based store so
|
|
12
|
-
* that GET /subscription queries do not require a Stripe API call.
|
|
13
|
-
*
|
|
14
11
|
* @module services/payment/stripe.service
|
|
15
12
|
*/
|
|
16
|
-
import Stripe from 'stripe';
|
|
17
|
-
import { readFile, writeFile, mkdir } from 'node:fs/promises';
|
|
18
|
-
import { join } from 'node:path';
|
|
19
|
-
import { homedir } from 'node:os';
|
|
20
13
|
import { LoggerService } from '../core/logger.service.js';
|
|
21
14
|
import { isHandledWebhookEvent } from '../../controllers/payment/payment.types.js';
|
|
22
15
|
// ---------------------------------------------------------------------------
|
|
@@ -26,31 +19,21 @@ import { isHandledWebhookEvent } from '../../controllers/payment/payment.types.j
|
|
|
26
19
|
const STRIPE_SECRET_KEY_ENV = 'STRIPE_SECRET_KEY';
|
|
27
20
|
/** Environment variable name for the Stripe webhook signing secret. */
|
|
28
21
|
const STRIPE_WEBHOOK_SECRET_ENV = 'STRIPE_WEBHOOK_SECRET';
|
|
29
|
-
/** Stripe API version to pin. */
|
|
30
|
-
const STRIPE_API_VERSION = '2025-04-30.basil';
|
|
31
|
-
/** Storage directory for subscription state. */
|
|
32
|
-
const SUBSCRIPTION_STORAGE_DIR = join(homedir(), '.crewly', 'cloud', 'subscriptions');
|
|
33
|
-
/** Subscription state file. */
|
|
34
|
-
const SUBSCRIPTION_FILE = 'subscriptions.json';
|
|
35
22
|
/**
|
|
36
23
|
* Stripe Price ID mapping.
|
|
37
24
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
25
|
+
* In production these would come from env vars or a config table.
|
|
26
|
+
* For now they are placeholders that show the expected shape.
|
|
40
27
|
*/
|
|
41
28
|
const PRICE_IDS = {
|
|
42
29
|
free: { month: '', year: '' },
|
|
43
|
-
|
|
44
|
-
month: process.env['
|
|
45
|
-
year: process.env['
|
|
46
|
-
},
|
|
47
|
-
team: {
|
|
48
|
-
month: process.env['STRIPE_TEAM_MONTHLY_PRICE_ID'] || 'price_team_monthly',
|
|
49
|
-
year: process.env['STRIPE_TEAM_YEARLY_PRICE_ID'] || 'price_team_yearly',
|
|
30
|
+
pro: {
|
|
31
|
+
month: process.env['STRIPE_PRO_MONTHLY_PRICE_ID'] || 'price_pro_monthly',
|
|
32
|
+
year: process.env['STRIPE_PRO_YEARLY_PRICE_ID'] || 'price_pro_yearly',
|
|
50
33
|
},
|
|
51
|
-
|
|
52
|
-
month: process.env['
|
|
53
|
-
year: process.env['
|
|
34
|
+
enterprise: {
|
|
35
|
+
month: process.env['STRIPE_ENT_MONTHLY_PRICE_ID'] || 'price_enterprise_monthly',
|
|
36
|
+
year: process.env['STRIPE_ENT_YEARLY_PRICE_ID'] || 'price_enterprise_yearly',
|
|
54
37
|
},
|
|
55
38
|
};
|
|
56
39
|
// ---------------------------------------------------------------------------
|
|
@@ -67,17 +50,11 @@ export class StripeService {
|
|
|
67
50
|
logger;
|
|
68
51
|
secretKey;
|
|
69
52
|
webhookSecret;
|
|
70
|
-
stripe = null;
|
|
71
|
-
subscriptions = new Map();
|
|
72
|
-
subscriptionsLoaded = false;
|
|
73
53
|
constructor() {
|
|
74
54
|
this.logger = LoggerService.getInstance().createComponentLogger('StripeService');
|
|
75
55
|
this.secretKey = process.env[STRIPE_SECRET_KEY_ENV];
|
|
76
56
|
this.webhookSecret = process.env[STRIPE_WEBHOOK_SECRET_ENV];
|
|
77
|
-
if (this.secretKey) {
|
|
78
|
-
this.stripe = new Stripe(this.secretKey, { apiVersion: STRIPE_API_VERSION });
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
57
|
+
if (!this.secretKey) {
|
|
81
58
|
this.logger.warn('STRIPE_SECRET_KEY not set — payment features are disabled');
|
|
82
59
|
}
|
|
83
60
|
}
|
|
@@ -107,75 +84,6 @@ export class StripeService {
|
|
|
107
84
|
return !!this.secretKey;
|
|
108
85
|
}
|
|
109
86
|
// -----------------------------------------------------------------------
|
|
110
|
-
// Subscription Store
|
|
111
|
-
// -----------------------------------------------------------------------
|
|
112
|
-
/**
|
|
113
|
-
* Load subscription state from disk. Idempotent.
|
|
114
|
-
*/
|
|
115
|
-
async loadSubscriptions() {
|
|
116
|
-
if (this.subscriptionsLoaded)
|
|
117
|
-
return;
|
|
118
|
-
try {
|
|
119
|
-
await mkdir(SUBSCRIPTION_STORAGE_DIR, { recursive: true });
|
|
120
|
-
const filePath = join(SUBSCRIPTION_STORAGE_DIR, SUBSCRIPTION_FILE);
|
|
121
|
-
const raw = await readFile(filePath, 'utf-8').catch(() => '[]');
|
|
122
|
-
const parsed = JSON.parse(raw);
|
|
123
|
-
for (const sub of parsed) {
|
|
124
|
-
this.subscriptions.set(sub.userId, sub);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
this.subscriptions = new Map();
|
|
129
|
-
}
|
|
130
|
-
this.subscriptionsLoaded = true;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Persist subscription state to disk.
|
|
134
|
-
*/
|
|
135
|
-
async persistSubscriptions() {
|
|
136
|
-
try {
|
|
137
|
-
await mkdir(SUBSCRIPTION_STORAGE_DIR, { recursive: true });
|
|
138
|
-
const filePath = join(SUBSCRIPTION_STORAGE_DIR, SUBSCRIPTION_FILE);
|
|
139
|
-
const data = JSON.stringify(Array.from(this.subscriptions.values()), null, 2);
|
|
140
|
-
await writeFile(filePath, data, 'utf-8');
|
|
141
|
-
}
|
|
142
|
-
catch (err) {
|
|
143
|
-
this.logger.error('Failed to persist subscriptions', { error: String(err) });
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Update or create a subscription record from a webhook event.
|
|
148
|
-
*
|
|
149
|
-
* @param payload - Processed webhook payload
|
|
150
|
-
*/
|
|
151
|
-
async upsertSubscriptionFromWebhook(payload) {
|
|
152
|
-
if (!payload.userId)
|
|
153
|
-
return;
|
|
154
|
-
await this.loadSubscriptions();
|
|
155
|
-
const existing = this.subscriptions.get(payload.userId);
|
|
156
|
-
const now = new Date().toISOString();
|
|
157
|
-
if (payload.type === 'customer.subscription.deleted') {
|
|
158
|
-
if (existing) {
|
|
159
|
-
existing.status = 'canceled';
|
|
160
|
-
existing.updatedAt = now;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
const sub = {
|
|
165
|
-
userId: payload.userId,
|
|
166
|
-
customerId: payload.customerId || existing?.customerId || '',
|
|
167
|
-
subscriptionId: payload.subscriptionId || existing?.subscriptionId || '',
|
|
168
|
-
planId: payload.planId || existing?.planId || 'free',
|
|
169
|
-
status: payload.type === 'invoice.payment_failed' ? 'past_due' : 'active',
|
|
170
|
-
currentPeriodEnd: existing?.currentPeriodEnd || null,
|
|
171
|
-
cancelAtPeriodEnd: existing?.cancelAtPeriodEnd || false,
|
|
172
|
-
updatedAt: now,
|
|
173
|
-
};
|
|
174
|
-
this.subscriptions.set(payload.userId, sub);
|
|
175
|
-
}
|
|
176
|
-
await this.persistSubscriptions();
|
|
177
|
-
}
|
|
178
|
-
// -----------------------------------------------------------------------
|
|
179
87
|
// Checkout
|
|
180
88
|
// -----------------------------------------------------------------------
|
|
181
89
|
/**
|
|
@@ -189,7 +97,7 @@ export class StripeService {
|
|
|
189
97
|
* @returns Result containing the checkout URL and session ID
|
|
190
98
|
*/
|
|
191
99
|
async createCheckoutSession(userId, planId, interval, successUrl, cancelUrl) {
|
|
192
|
-
if (!this.isConfigured()
|
|
100
|
+
if (!this.isConfigured()) {
|
|
193
101
|
return { success: false, message: 'Stripe is not configured. Set STRIPE_SECRET_KEY to enable payments.' };
|
|
194
102
|
}
|
|
195
103
|
if (planId === 'free') {
|
|
@@ -200,24 +108,18 @@ export class StripeService {
|
|
|
200
108
|
return { success: false, message: `No price configured for ${planId}/${interval}` };
|
|
201
109
|
}
|
|
202
110
|
try {
|
|
111
|
+
// In production this calls:
|
|
112
|
+
// const stripe = new Stripe(this.secretKey);
|
|
113
|
+
// const session = await stripe.checkout.sessions.create({ ... });
|
|
114
|
+
//
|
|
115
|
+
// For now, return a placeholder that shows the expected shape:
|
|
203
116
|
this.logger.info(`Creating checkout session: user=${userId} plan=${planId} interval=${interval}`);
|
|
204
|
-
const session = await this.stripe.checkout.sessions.create({
|
|
205
|
-
mode: 'subscription',
|
|
206
|
-
payment_method_types: ['card'],
|
|
207
|
-
line_items: [{ price: priceId, quantity: 1 }],
|
|
208
|
-
success_url: successUrl,
|
|
209
|
-
cancel_url: cancelUrl,
|
|
210
|
-
metadata: { userId, planId },
|
|
211
|
-
subscription_data: {
|
|
212
|
-
metadata: { userId, planId },
|
|
213
|
-
},
|
|
214
|
-
});
|
|
215
117
|
return {
|
|
216
118
|
success: true,
|
|
217
119
|
message: 'Checkout session created',
|
|
218
120
|
data: {
|
|
219
|
-
checkoutUrl:
|
|
220
|
-
sessionId:
|
|
121
|
+
checkoutUrl: `https://checkout.stripe.com/pay/placeholder_${planId}_${interval}`,
|
|
122
|
+
sessionId: `cs_placeholder_${Date.now()}`,
|
|
221
123
|
},
|
|
222
124
|
};
|
|
223
125
|
}
|
|
@@ -233,61 +135,44 @@ export class StripeService {
|
|
|
233
135
|
/**
|
|
234
136
|
* Get the current subscription for a user.
|
|
235
137
|
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
138
|
+
* Queries the Supabase `licenses` table (or Stripe customer lookup)
|
|
139
|
+
* to determine the user's active subscription.
|
|
238
140
|
*
|
|
239
141
|
* @param userId - Supabase user ID
|
|
240
142
|
* @returns Subscription info
|
|
241
143
|
*/
|
|
242
144
|
async getSubscription(userId) {
|
|
243
|
-
const freeDefaults = {
|
|
244
|
-
active: false,
|
|
245
|
-
planId: 'free',
|
|
246
|
-
status: null,
|
|
247
|
-
currentPeriodEnd: null,
|
|
248
|
-
cancelAtPeriodEnd: false,
|
|
249
|
-
};
|
|
250
145
|
if (!this.isConfigured()) {
|
|
251
146
|
return {
|
|
252
147
|
success: true,
|
|
253
148
|
message: 'Stripe not configured — returning free plan defaults',
|
|
254
|
-
data:
|
|
149
|
+
data: {
|
|
150
|
+
active: false,
|
|
151
|
+
planId: 'free',
|
|
152
|
+
status: null,
|
|
153
|
+
currentPeriodEnd: null,
|
|
154
|
+
cancelAtPeriodEnd: false,
|
|
155
|
+
},
|
|
255
156
|
};
|
|
256
157
|
}
|
|
257
158
|
try {
|
|
258
|
-
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
active: true,
|
|
266
|
-
planId: stored.planId,
|
|
267
|
-
status: stored.status,
|
|
268
|
-
currentPeriodEnd: stored.currentPeriodEnd,
|
|
269
|
-
cancelAtPeriodEnd: stored.cancelAtPeriodEnd,
|
|
270
|
-
},
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
if (stored) {
|
|
274
|
-
return {
|
|
275
|
-
success: true,
|
|
276
|
-
message: 'Subscription retrieved from local store',
|
|
277
|
-
data: {
|
|
278
|
-
active: stored.status === 'trialing',
|
|
279
|
-
planId: stored.planId,
|
|
280
|
-
status: stored.status,
|
|
281
|
-
currentPeriodEnd: stored.currentPeriodEnd,
|
|
282
|
-
cancelAtPeriodEnd: stored.cancelAtPeriodEnd,
|
|
283
|
-
},
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
this.logger.info(`No stored subscription for user=${userId}, returning free defaults`);
|
|
159
|
+
// In production this calls:
|
|
160
|
+
// const stripe = new Stripe(this.secretKey);
|
|
161
|
+
// const customers = await stripe.customers.search({ query: `metadata['userId']:'${userId}'` });
|
|
162
|
+
// const subscription = await stripe.subscriptions.list({ customer: customers.data[0].id });
|
|
163
|
+
//
|
|
164
|
+
// For now, return free plan defaults:
|
|
165
|
+
this.logger.info(`Getting subscription for user=${userId}`);
|
|
287
166
|
return {
|
|
288
167
|
success: true,
|
|
289
|
-
message: '
|
|
290
|
-
data:
|
|
168
|
+
message: 'Subscription retrieved',
|
|
169
|
+
data: {
|
|
170
|
+
active: false,
|
|
171
|
+
planId: 'free',
|
|
172
|
+
status: null,
|
|
173
|
+
currentPeriodEnd: null,
|
|
174
|
+
cancelAtPeriodEnd: false,
|
|
175
|
+
},
|
|
291
176
|
};
|
|
292
177
|
}
|
|
293
178
|
catch (error) {
|
|
@@ -307,25 +192,20 @@ export class StripeService {
|
|
|
307
192
|
* @returns Portal URL
|
|
308
193
|
*/
|
|
309
194
|
async createPortalSession(userId, returnUrl) {
|
|
310
|
-
if (!this.isConfigured()
|
|
195
|
+
if (!this.isConfigured()) {
|
|
311
196
|
return { success: false, message: 'Stripe is not configured. Set STRIPE_SECRET_KEY to enable payments.' };
|
|
312
197
|
}
|
|
313
198
|
try {
|
|
314
|
-
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
}
|
|
199
|
+
// In production this calls:
|
|
200
|
+
// const stripe = new Stripe(this.secretKey);
|
|
201
|
+
// const session = await stripe.billingPortal.sessions.create({ customer, return_url });
|
|
202
|
+
//
|
|
319
203
|
this.logger.info(`Creating portal session for user=${userId}`);
|
|
320
|
-
const session = await this.stripe.billingPortal.sessions.create({
|
|
321
|
-
customer: stored.customerId,
|
|
322
|
-
return_url: returnUrl,
|
|
323
|
-
});
|
|
324
204
|
return {
|
|
325
205
|
success: true,
|
|
326
206
|
message: 'Portal session created',
|
|
327
207
|
data: {
|
|
328
|
-
portalUrl: session.
|
|
208
|
+
portalUrl: `https://billing.stripe.com/session/placeholder_${Date.now()}`,
|
|
329
209
|
},
|
|
330
210
|
};
|
|
331
211
|
}
|
|
@@ -341,8 +221,8 @@ export class StripeService {
|
|
|
341
221
|
/**
|
|
342
222
|
* Verify and process a Stripe webhook event.
|
|
343
223
|
*
|
|
344
|
-
*
|
|
345
|
-
*
|
|
224
|
+
* Validates the webhook signature, then extracts relevant data
|
|
225
|
+
* from the event payload.
|
|
346
226
|
*
|
|
347
227
|
* @param rawBody - Raw request body (Buffer)
|
|
348
228
|
* @param signature - Stripe-Signature header value
|
|
@@ -359,15 +239,13 @@ export class StripeService {
|
|
|
359
239
|
return { success: false, message: 'Missing Stripe-Signature header' };
|
|
360
240
|
}
|
|
361
241
|
try {
|
|
362
|
-
|
|
363
|
-
//
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
eventData = JSON.parse(rawBody.toString());
|
|
370
|
-
}
|
|
242
|
+
// TODO(security): Enable Stripe signature verification before production deployment.
|
|
243
|
+
// When the Stripe SDK is available, replace the JSON.parse below with:
|
|
244
|
+
// const stripe = new Stripe(this.secretKey);
|
|
245
|
+
// const event = stripe.webhooks.constructEvent(rawBody, signature, this.webhookSecret);
|
|
246
|
+
// This prevents forged webhook events from unauthorized sources.
|
|
247
|
+
this.logger.warn('Webhook signature verification not yet implemented — accepting unverified events');
|
|
248
|
+
const eventData = JSON.parse(rawBody.toString());
|
|
371
249
|
const eventType = eventData.type || '';
|
|
372
250
|
if (!isHandledWebhookEvent(eventType)) {
|
|
373
251
|
return {
|
|
@@ -384,8 +262,6 @@ export class StripeService {
|
|
|
384
262
|
subscriptionId: obj['subscription'] || obj['id'] || null,
|
|
385
263
|
planId: obj['metadata']?.['planId'] || null,
|
|
386
264
|
};
|
|
387
|
-
// Persist subscription state change
|
|
388
|
-
await this.upsertSubscriptionFromWebhook(payload);
|
|
389
265
|
this.logger.info(`Webhook processed: type=${eventType} eventId=${payload.eventId}`);
|
|
390
266
|
return {
|
|
391
267
|
success: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/payment/stripe.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stripe.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/payment/stripe.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,4 +40,6 @@ export { PtySession, PtySessionBackend, PtyTerminalBuffer } from './pty/index.js
|
|
|
40
40
|
export { SessionCommandHelper, createSessionCommandHelper, KEY_CODES, } from './session-command-helper.js';
|
|
41
41
|
export { SessionStatePersistence, getSessionStatePersistence, resetSessionStatePersistence, } from './session-state-persistence.js';
|
|
42
42
|
export type { PersistedSessionInfo, PersistedState } from './session-state-persistence.js';
|
|
43
|
+
export { LogRotationService } from './log-rotation.service.js';
|
|
44
|
+
export type { LogFileInfo, RotationRunResult, LogRotationStatus, } from './log-rotation.service.js';
|
|
43
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,YAAY,EACX,QAAQ,EACR,eAAe,EACf,cAAc,EACd,kBAAkB,GAClB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACN,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,GACb,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,GAC3B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGlF,OAAO,EACN,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,GACT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,gCAAgC,CAAC;AAExC,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,YAAY,EACX,QAAQ,EACR,eAAe,EACf,cAAc,EACd,kBAAkB,GAClB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACN,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,GACb,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,GAC3B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGlF,OAAO,EACN,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,GACT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,gCAAgC,CAAC;AAExC,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAG3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,2BAA2B,CAAC"}
|
|
@@ -43,4 +43,6 @@ export { PtySession, PtySessionBackend, PtyTerminalBuffer } from './pty/index.js
|
|
|
43
43
|
export { SessionCommandHelper, createSessionCommandHelper, KEY_CODES, } from './session-command-helper.js';
|
|
44
44
|
// Re-export session state persistence
|
|
45
45
|
export { SessionStatePersistence, getSessionStatePersistence, resetSessionStatePersistence, } from './session-state-persistence.js';
|
|
46
|
+
// Re-export log rotation service
|
|
47
|
+
export { LogRotationService } from './log-rotation.service.js';
|
|
46
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../backend/src/services/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAUH,sBAAsB;AACtB,OAAO,EACN,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,GACb,MAAM,gCAAgC,CAAC;AAExC,8BAA8B;AAC9B,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,GAC3B,MAAM,8BAA8B,CAAC;AAEtC,gCAAgC;AAChC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAElF,mCAAmC;AACnC,OAAO,EACN,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,GACT,MAAM,6BAA6B,CAAC;AAErC,sCAAsC;AACtC,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../backend/src/services/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAUH,sBAAsB;AACtB,OAAO,EACN,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,GACb,MAAM,gCAAgC,CAAC;AAExC,8BAA8B;AAC9B,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,GAC3B,MAAM,8BAA8B,CAAC;AAEtC,gCAAgC;AAChC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAElF,mCAAmC;AACnC,OAAO,EACN,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,GACT,MAAM,6BAA6B,CAAC;AAErC,sCAAsC;AACtC,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,gCAAgC,CAAC;AAIxC,iCAAiC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status information for a single log file
|
|
3
|
+
*/
|
|
4
|
+
export interface LogFileInfo {
|
|
5
|
+
/** File name (e.g., crewly-orc.log) */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Full absolute path */
|
|
8
|
+
path: string;
|
|
9
|
+
/** File size in bytes */
|
|
10
|
+
sizeBytes: number;
|
|
11
|
+
/** Whether this log belongs to an active session */
|
|
12
|
+
isOrphan: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Result of a single rotation run
|
|
16
|
+
*/
|
|
17
|
+
export interface RotationRunResult {
|
|
18
|
+
/** Timestamp of the run */
|
|
19
|
+
timestamp: Date;
|
|
20
|
+
/** Number of files scanned */
|
|
21
|
+
filesScanned: number;
|
|
22
|
+
/** Number of files truncated */
|
|
23
|
+
filesTruncated: number;
|
|
24
|
+
/** Number of archives created */
|
|
25
|
+
archivesCreated: number;
|
|
26
|
+
/** Number of stale archives deleted */
|
|
27
|
+
staleArchivesDeleted: number;
|
|
28
|
+
/** Bytes freed by truncation */
|
|
29
|
+
bytesFreed: number;
|
|
30
|
+
/** Errors encountered during rotation */
|
|
31
|
+
errors: string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Overall status of the log rotation service
|
|
35
|
+
*/
|
|
36
|
+
export interface LogRotationStatus {
|
|
37
|
+
/** Whether the service is running */
|
|
38
|
+
isRunning: boolean;
|
|
39
|
+
/** Last rotation run result */
|
|
40
|
+
lastRun: RotationRunResult | null;
|
|
41
|
+
/** Current log files and their sizes */
|
|
42
|
+
currentFiles: LogFileInfo[];
|
|
43
|
+
/** Total size of all log files in bytes */
|
|
44
|
+
totalSizeBytes: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Service that manages session log file sizes through periodic rotation.
|
|
48
|
+
*
|
|
49
|
+
* Scans ~/.crewly/logs/sessions/ for .log files, truncates oversized files
|
|
50
|
+
* (keeping the tail), optionally archives old content as .gz, and cleans up
|
|
51
|
+
* stale archives. Orphan logs (no matching active session) are truncated
|
|
52
|
+
* more aggressively.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const service = LogRotationService.getInstance();
|
|
57
|
+
* service.start(activeSessionNames);
|
|
58
|
+
* // ... later
|
|
59
|
+
* service.stop();
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare class LogRotationService {
|
|
63
|
+
private static instance;
|
|
64
|
+
private logger;
|
|
65
|
+
private timer;
|
|
66
|
+
private isRunning;
|
|
67
|
+
private lastRunResult;
|
|
68
|
+
private activeSessionNames;
|
|
69
|
+
private readonly sessionsDir;
|
|
70
|
+
private readonly archiveDir;
|
|
71
|
+
private constructor();
|
|
72
|
+
/**
|
|
73
|
+
* Returns the singleton instance of LogRotationService
|
|
74
|
+
* @returns The shared LogRotationService instance
|
|
75
|
+
*/
|
|
76
|
+
static getInstance(): LogRotationService;
|
|
77
|
+
/**
|
|
78
|
+
* Resets the singleton instance (for testing only)
|
|
79
|
+
*/
|
|
80
|
+
static resetInstance(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Starts the log rotation service. Runs an immediate rotation, then
|
|
83
|
+
* schedules periodic rotations at the configured interval.
|
|
84
|
+
*
|
|
85
|
+
* @param activeSessionNames - Names of currently active sessions (used for orphan detection)
|
|
86
|
+
*/
|
|
87
|
+
start(activeSessionNames?: string[]): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Stops the log rotation service and clears the periodic timer.
|
|
90
|
+
*/
|
|
91
|
+
stop(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Updates the set of active session names (for orphan detection).
|
|
94
|
+
* Call this when sessions start or stop.
|
|
95
|
+
*
|
|
96
|
+
* @param names - Current active session names
|
|
97
|
+
*/
|
|
98
|
+
updateActiveSessionNames(names: string[]): void;
|
|
99
|
+
/**
|
|
100
|
+
* Executes a single rotation pass: scan, archive, truncate, and clean archives.
|
|
101
|
+
*
|
|
102
|
+
* @returns Result of the rotation run
|
|
103
|
+
*/
|
|
104
|
+
runRotation(): Promise<RotationRunResult>;
|
|
105
|
+
/**
|
|
106
|
+
* Returns the current status of all log files and the service.
|
|
107
|
+
*
|
|
108
|
+
* @returns Status including file sizes and last run info
|
|
109
|
+
*/
|
|
110
|
+
getStatus(): Promise<LogRotationStatus>;
|
|
111
|
+
/**
|
|
112
|
+
* Scans the sessions log directory for .log files and returns their info.
|
|
113
|
+
*
|
|
114
|
+
* @returns Array of log file information
|
|
115
|
+
*/
|
|
116
|
+
private scanLogFiles;
|
|
117
|
+
/**
|
|
118
|
+
* Checks if a session name matches any active session.
|
|
119
|
+
* A session is active if its name is in the active set.
|
|
120
|
+
*
|
|
121
|
+
* @param sessionName - The session name derived from the log file name
|
|
122
|
+
* @returns true if the session is currently active
|
|
123
|
+
*/
|
|
124
|
+
private isActiveSession;
|
|
125
|
+
/**
|
|
126
|
+
* Rotates a single log file: optionally archives, then truncates to keep
|
|
127
|
+
* only the tail portion up to maxSize.
|
|
128
|
+
*
|
|
129
|
+
* Uses atomic write (temp file + rename) to prevent data corruption.
|
|
130
|
+
*
|
|
131
|
+
* @param file - Log file information
|
|
132
|
+
* @param maxSize - Maximum allowed size in bytes
|
|
133
|
+
* @param result - Rotation result to update archive count
|
|
134
|
+
* @returns Number of bytes freed
|
|
135
|
+
*/
|
|
136
|
+
private rotateFile;
|
|
137
|
+
/**
|
|
138
|
+
* Compresses a log file to the archive directory as a gzipped file.
|
|
139
|
+
*
|
|
140
|
+
* @param file - Log file to archive
|
|
141
|
+
*/
|
|
142
|
+
private archiveFile;
|
|
143
|
+
/**
|
|
144
|
+
* Truncates a file to keep only the last `keepBytes` bytes.
|
|
145
|
+
* Uses atomic write: reads tail → writes to temp → renames over original.
|
|
146
|
+
*
|
|
147
|
+
* @param filePath - Path to the file to truncate
|
|
148
|
+
* @param keepBytes - Number of bytes to keep from the end
|
|
149
|
+
*/
|
|
150
|
+
private truncateFile;
|
|
151
|
+
/**
|
|
152
|
+
* Deletes archive files older than the configured retention period.
|
|
153
|
+
*
|
|
154
|
+
* @param result - Rotation result to record errors
|
|
155
|
+
* @returns Number of stale archives deleted
|
|
156
|
+
*/
|
|
157
|
+
private cleanStaleArchives;
|
|
158
|
+
/** @internal */
|
|
159
|
+
getSessionsDir(): string;
|
|
160
|
+
/** @internal */
|
|
161
|
+
getArchiveDir(): string;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=log-rotation.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-rotation.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/session/log-rotation.service.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,2BAA2B;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,wCAAwC;IACxC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,kBAAkB,CAA0B;IAEpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,OAAO;IAOP;;;OAGG;IACH,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAOxC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;;;;OAKG;IACG,KAAK,CAAC,kBAAkB,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC7D;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;;;;OAKG;IACH,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI/C;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA+D/C;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAkB7C;;;;OAIG;YACW,YAAY;IA6B1B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAKvB;;;;;;;;;;OAUG;YACW,UAAU;IAqBxB;;;;OAIG;YACW,WAAW;IAiBzB;;;;;;OAMG;YACW,YAAY;IA0B1B;;;;;OAKG;YACW,kBAAkB;IAgChC,gBAAgB;IAChB,cAAc,IAAI,MAAM;IACxB,gBAAgB;IAChB,aAAa,IAAI,MAAM;CACvB"}
|