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
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud Admin Controller
|
|
3
|
+
*
|
|
4
|
+
* CRUD operations for managing users directly in MongoDB.
|
|
5
|
+
* Protected by X-Admin-Secret header.
|
|
6
|
+
*
|
|
7
|
+
* Endpoints:
|
|
8
|
+
* - POST /api/cloud/admin/users — Create user
|
|
9
|
+
* - GET /api/cloud/admin/users — List all users
|
|
10
|
+
* - PATCH /api/cloud/admin/users/:id — Update user plan
|
|
11
|
+
* - DELETE /api/cloud/admin/users/:id — Delete user
|
|
12
|
+
*
|
|
13
|
+
* @module controllers/cloud/admin/admin.controller
|
|
14
|
+
*/
|
|
15
|
+
import { MongoDBService } from '../../../services/cloud/mongodb.service.js';
|
|
16
|
+
import { LoggerService } from '../../../services/core/logger.service.js';
|
|
17
|
+
const logger = LoggerService.getInstance().createComponentLogger('AdminController');
|
|
18
|
+
/** Valid plan values. */
|
|
19
|
+
const VALID_PLANS = ['free', 'pro', 'team'];
|
|
20
|
+
/**
|
|
21
|
+
* POST /api/cloud/admin/users
|
|
22
|
+
*
|
|
23
|
+
* Create a test user directly in MongoDB (no Google OAuth needed).
|
|
24
|
+
*
|
|
25
|
+
* @param req - Request with body: { email, name, plan? }
|
|
26
|
+
* @param res - Response with created user
|
|
27
|
+
* @param next - Next function for error propagation
|
|
28
|
+
*/
|
|
29
|
+
export async function adminCreateUser(req, res, next) {
|
|
30
|
+
try {
|
|
31
|
+
const { email, name, plan } = req.body;
|
|
32
|
+
if (!email) {
|
|
33
|
+
res.status(400).json({ success: false, error: 'Missing required field: email' });
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (!name) {
|
|
37
|
+
res.status(400).json({ success: false, error: 'Missing required field: name' });
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const userPlan = plan || 'free';
|
|
41
|
+
if (!VALID_PLANS.includes(userPlan)) {
|
|
42
|
+
res.status(400).json({ success: false, error: `Invalid plan. Must be one of: ${VALID_PLANS.join(', ')}` });
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const mongo = MongoDBService.getInstance();
|
|
46
|
+
const users = await mongo.users();
|
|
47
|
+
// Check if user already exists
|
|
48
|
+
const existing = await users.findOne({ email });
|
|
49
|
+
if (existing) {
|
|
50
|
+
res.status(409).json({ success: false, error: 'User with this email already exists' });
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const now = new Date().toISOString();
|
|
54
|
+
const googleId = `admin-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
55
|
+
const doc = {
|
|
56
|
+
googleId,
|
|
57
|
+
email,
|
|
58
|
+
name,
|
|
59
|
+
avatar: '',
|
|
60
|
+
plan: userPlan,
|
|
61
|
+
createdAt: now,
|
|
62
|
+
updatedAt: now,
|
|
63
|
+
};
|
|
64
|
+
await users.insertOne(doc);
|
|
65
|
+
logger.info('Admin created user', { email, plan: userPlan });
|
|
66
|
+
res.status(201).json({ success: true, data: doc });
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
logger.error('Admin create user failed', { error: error instanceof Error ? error.message : String(error) });
|
|
70
|
+
next(error);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* GET /api/cloud/admin/users
|
|
75
|
+
*
|
|
76
|
+
* List all registered users.
|
|
77
|
+
*
|
|
78
|
+
* @param req - Express request
|
|
79
|
+
* @param res - Response with user array
|
|
80
|
+
* @param next - Next function for error propagation
|
|
81
|
+
*/
|
|
82
|
+
export async function adminListUsers(req, res, next) {
|
|
83
|
+
try {
|
|
84
|
+
const mongo = MongoDBService.getInstance();
|
|
85
|
+
const users = await mongo.users();
|
|
86
|
+
const allUsers = await users.find({}).toArray();
|
|
87
|
+
res.json({ success: true, data: allUsers, count: allUsers.length });
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
logger.error('Admin list users failed', { error: error instanceof Error ? error.message : String(error) });
|
|
91
|
+
next(error);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* PATCH /api/cloud/admin/users/:id
|
|
96
|
+
*
|
|
97
|
+
* Update a user's plan.
|
|
98
|
+
*
|
|
99
|
+
* @param req - Request with params.id (googleId) and body: { plan, name?, email? }
|
|
100
|
+
* @param res - Response with updated user
|
|
101
|
+
* @param next - Next function for error propagation
|
|
102
|
+
*/
|
|
103
|
+
export async function adminUpdateUser(req, res, next) {
|
|
104
|
+
try {
|
|
105
|
+
const { id } = req.params;
|
|
106
|
+
const { plan, name, email } = req.body;
|
|
107
|
+
if (!id) {
|
|
108
|
+
res.status(400).json({ success: false, error: 'Missing user ID' });
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
// Build update fields
|
|
112
|
+
const updateFields = { updatedAt: new Date().toISOString() };
|
|
113
|
+
if (plan) {
|
|
114
|
+
if (!VALID_PLANS.includes(plan)) {
|
|
115
|
+
res.status(400).json({ success: false, error: `Invalid plan. Must be one of: ${VALID_PLANS.join(', ')}` });
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
updateFields['plan'] = plan;
|
|
119
|
+
}
|
|
120
|
+
if (name)
|
|
121
|
+
updateFields['name'] = name;
|
|
122
|
+
if (email)
|
|
123
|
+
updateFields['email'] = email;
|
|
124
|
+
const mongo = MongoDBService.getInstance();
|
|
125
|
+
const users = await mongo.users();
|
|
126
|
+
const result = await users.findOneAndUpdate({ googleId: id }, { $set: updateFields }, { returnDocument: 'after' });
|
|
127
|
+
if (!result) {
|
|
128
|
+
res.status(404).json({ success: false, error: 'User not found' });
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
logger.info('Admin updated user', { id, fields: Object.keys(updateFields) });
|
|
132
|
+
res.json({ success: true, data: result });
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
logger.error('Admin update user failed', { error: error instanceof Error ? error.message : String(error) });
|
|
136
|
+
next(error);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* DELETE /api/cloud/admin/users/:id
|
|
141
|
+
*
|
|
142
|
+
* Remove a user and their sessions from MongoDB.
|
|
143
|
+
*
|
|
144
|
+
* @param req - Request with params.id (googleId)
|
|
145
|
+
* @param res - Response with deletion confirmation
|
|
146
|
+
* @param next - Next function for error propagation
|
|
147
|
+
*/
|
|
148
|
+
export async function adminDeleteUser(req, res, next) {
|
|
149
|
+
try {
|
|
150
|
+
const { id } = req.params;
|
|
151
|
+
if (!id) {
|
|
152
|
+
res.status(400).json({ success: false, error: 'Missing user ID' });
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const mongo = MongoDBService.getInstance();
|
|
156
|
+
const users = await mongo.users();
|
|
157
|
+
const sessions = await mongo.sessions();
|
|
158
|
+
const result = await users.deleteOne({ googleId: id });
|
|
159
|
+
if (result.deletedCount === 0) {
|
|
160
|
+
res.status(404).json({ success: false, error: 'User not found' });
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
// Also clean up sessions
|
|
164
|
+
const sessionsResult = await sessions.deleteMany({ userId: id });
|
|
165
|
+
logger.info('Admin deleted user', { id, sessionsRemoved: sessionsResult.deletedCount });
|
|
166
|
+
res.json({ success: true, data: { deleted: true, sessionsRemoved: sessionsResult.deletedCount } });
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
logger.error('Admin delete user failed', { error: error instanceof Error ? error.message : String(error) });
|
|
170
|
+
next(error);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=admin.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.controller.js","sourceRoot":"","sources":["../../../../../../../backend/src/controllers/cloud/admin/admin.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud Admin Routes
|
|
3
|
+
*
|
|
4
|
+
* Router for admin user management endpoints.
|
|
5
|
+
* All routes are protected by requireAdminAuth middleware.
|
|
6
|
+
*
|
|
7
|
+
* Endpoints:
|
|
8
|
+
* - POST /users — Create user
|
|
9
|
+
* - GET /users — List all users
|
|
10
|
+
* - PATCH /users/:id — Update user
|
|
11
|
+
* - DELETE /users/:id — Delete user
|
|
12
|
+
*
|
|
13
|
+
* @module controllers/cloud/admin/admin.routes
|
|
14
|
+
*/
|
|
15
|
+
import { Router } from 'express';
|
|
16
|
+
/**
|
|
17
|
+
* Creates the admin router with user management endpoints.
|
|
18
|
+
*
|
|
19
|
+
* @returns Express router configured with admin routes
|
|
20
|
+
*/
|
|
21
|
+
export declare function createAdminRouter(): Router;
|
|
22
|
+
//# sourceMappingURL=admin.routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.routes.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/controllers/cloud/admin/admin.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AASjC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAY1C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud Admin Routes
|
|
3
|
+
*
|
|
4
|
+
* Router for admin user management endpoints.
|
|
5
|
+
* All routes are protected by requireAdminAuth middleware.
|
|
6
|
+
*
|
|
7
|
+
* Endpoints:
|
|
8
|
+
* - POST /users — Create user
|
|
9
|
+
* - GET /users — List all users
|
|
10
|
+
* - PATCH /users/:id — Update user
|
|
11
|
+
* - DELETE /users/:id — Delete user
|
|
12
|
+
*
|
|
13
|
+
* @module controllers/cloud/admin/admin.routes
|
|
14
|
+
*/
|
|
15
|
+
import { Router } from 'express';
|
|
16
|
+
import { requireAdminAuth } from './admin-auth.middleware.js';
|
|
17
|
+
import { adminCreateUser, adminListUsers, adminUpdateUser, adminDeleteUser, } from './admin.controller.js';
|
|
18
|
+
/**
|
|
19
|
+
* Creates the admin router with user management endpoints.
|
|
20
|
+
*
|
|
21
|
+
* @returns Express router configured with admin routes
|
|
22
|
+
*/
|
|
23
|
+
export function createAdminRouter() {
|
|
24
|
+
const router = Router();
|
|
25
|
+
// All admin routes require the X-Admin-Secret header
|
|
26
|
+
router.use(requireAdminAuth);
|
|
27
|
+
router.post('/users', adminCreateUser);
|
|
28
|
+
router.get('/users', adminListUsers);
|
|
29
|
+
router.patch('/users/:id', adminUpdateUser);
|
|
30
|
+
router.delete('/users/:id', adminDeleteUser);
|
|
31
|
+
return router;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=admin.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.routes.js","sourceRoot":"","sources":["../../../../../../../backend/src/controllers/cloud/admin/admin.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,qDAAqD;IACrD,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE7B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAE7C,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/controllers/cloud/admin/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../backend/src/controllers/cloud/admin/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - POST /login — authenticate (via Supabase)
|
|
9
9
|
* - POST /refresh — refresh token (via Supabase)
|
|
10
10
|
*
|
|
11
|
-
* Protected endpoints (
|
|
11
|
+
* Protected endpoints (requireCloudConnection middleware):
|
|
12
12
|
* - GET /me — get profile
|
|
13
13
|
* - PUT /me — update profile
|
|
14
14
|
* - GET /license — check license status
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - POST /login — authenticate (via Supabase)
|
|
9
9
|
* - POST /refresh — refresh token (via Supabase)
|
|
10
10
|
*
|
|
11
|
-
* Protected endpoints (
|
|
11
|
+
* Protected endpoints (requireCloudConnection middleware):
|
|
12
12
|
* - GET /me — get profile
|
|
13
13
|
* - PUT /me — update profile
|
|
14
14
|
* - GET /license — check license status
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { Router } from 'express';
|
|
19
19
|
import { register, login, refresh, getProfile, updateProfile, getLicense, } from './auth.controller.js';
|
|
20
|
-
import {
|
|
20
|
+
import { requireCloudConnection } from '../../../services/cloud/cloud-auth.middleware.js';
|
|
21
21
|
/**
|
|
22
22
|
* Creates the auth router with all account management endpoints.
|
|
23
23
|
*
|
|
@@ -30,9 +30,9 @@ export function createAuthRouter() {
|
|
|
30
30
|
router.post('/login', login);
|
|
31
31
|
router.post('/refresh', refresh);
|
|
32
32
|
// Protected endpoints (require valid Supabase JWT)
|
|
33
|
-
router.get('/me',
|
|
34
|
-
router.put('/me',
|
|
35
|
-
router.get('/license',
|
|
33
|
+
router.get('/me', requireCloudConnection, getProfile);
|
|
34
|
+
router.put('/me', requireCloudConnection, updateProfile);
|
|
35
|
+
router.get('/license', requireCloudConnection, getLicense);
|
|
36
36
|
return router;
|
|
37
37
|
}
|
|
38
38
|
//# sourceMappingURL=auth.routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.routes.js","sourceRoot":"","sources":["../../../../../../../backend/src/controllers/cloud/auth/auth.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.routes.js","sourceRoot":"","sources":["../../../../../../../backend/src/controllers/cloud/auth/auth.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAE1F;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,mBAAmB;IACnB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEjC,mDAAmD;IACnD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAC;IACzD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC;IAE3D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/cloud.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cloud.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/cloud.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAOjC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C"}
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { Router } from 'express';
|
|
15
15
|
import { connectToCloud, disconnectFromCloud, getCloudStatus, getCloudTemplates, } from './cloud.controller.js';
|
|
16
|
-
import { createCloudAuthRouter } from './cloud-auth.routes.js';
|
|
17
16
|
/**
|
|
18
17
|
* Creates the cloud router with all CrewlyAI Cloud endpoints.
|
|
19
18
|
*
|
|
@@ -25,8 +24,6 @@ export function createCloudRouter() {
|
|
|
25
24
|
router.post('/disconnect', disconnectFromCloud);
|
|
26
25
|
router.get('/status', getCloudStatus);
|
|
27
26
|
router.get('/templates', getCloudTemplates);
|
|
28
|
-
// Supabase-backed cloud auth endpoints (register, login, logout, session, license)
|
|
29
|
-
router.use('/', createCloudAuthRouter());
|
|
30
27
|
return router;
|
|
31
28
|
}
|
|
32
29
|
//# sourceMappingURL=cloud.routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/cloud.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B
|
|
1
|
+
{"version":3,"file":"cloud.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/cloud.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -6,9 +6,4 @@
|
|
|
6
6
|
export { createCloudRouter } from './cloud.routes.js';
|
|
7
7
|
export { createRelayRouter } from './relay.routes.js';
|
|
8
8
|
export { createAuthRouter } from './auth/auth.routes.js';
|
|
9
|
-
export { createCloudAuthRouter } from './cloud-auth.routes.js';
|
|
10
|
-
export { createCloudTasksRouter } from './tasks/index.js';
|
|
11
|
-
export { createCloudFilesRouter } from './files/index.js';
|
|
12
|
-
export { createH5EntryRouter } from './h5/index.js';
|
|
13
|
-
export { createMagicMomentRouter } from './magic-moment/index.js';
|
|
14
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -6,9 +6,4 @@
|
|
|
6
6
|
export { createCloudRouter } from './cloud.routes.js';
|
|
7
7
|
export { createRelayRouter } from './relay.routes.js';
|
|
8
8
|
export { createAuthRouter } from './auth/auth.routes.js';
|
|
9
|
-
export { createCloudAuthRouter } from './cloud-auth.routes.js';
|
|
10
|
-
export { createCloudTasksRouter } from './tasks/index.js';
|
|
11
|
-
export { createCloudFilesRouter } from './files/index.js';
|
|
12
|
-
export { createH5EntryRouter } from './h5/index.js';
|
|
13
|
-
export { createMagicMomentRouter } from './magic-moment/index.js';
|
|
14
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Relay REST Controller
|
|
2
|
+
* Relay REST Controller (Client-side only)
|
|
3
3
|
*
|
|
4
|
-
* Handles HTTP requests for
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Server-side endpoints:
|
|
8
|
-
* - POST /relay/register — register a local instance as a relay node
|
|
9
|
-
* - GET /relay/status — get relay server status and active sessions
|
|
4
|
+
* Handles HTTP requests for the relay client lifecycle (connecting
|
|
5
|
+
* to a remote relay server). Server-side relay management has been
|
|
6
|
+
* moved to the cloud services repository.
|
|
10
7
|
*
|
|
11
8
|
* Client-side endpoints:
|
|
12
9
|
* - POST /relay/connect — connect to a remote relay server
|
|
@@ -17,28 +14,6 @@
|
|
|
17
14
|
* @module controllers/cloud/relay.controller
|
|
18
15
|
*/
|
|
19
16
|
import type { Request, Response, NextFunction } from 'express';
|
|
20
|
-
/**
|
|
21
|
-
* POST /relay/register
|
|
22
|
-
*
|
|
23
|
-
* Register a local Crewly instance as a relay node. Returns a session ID
|
|
24
|
-
* and the WebSocket URL to connect to for relay communication.
|
|
25
|
-
*
|
|
26
|
-
* @param req - Request with body: { role, pairingCode }
|
|
27
|
-
* @param res - Response returning RelayRegisterResponse
|
|
28
|
-
* @param next - Next function for error propagation
|
|
29
|
-
*/
|
|
30
|
-
export declare function registerRelayNode(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* GET /relay/status
|
|
33
|
-
*
|
|
34
|
-
* Get the current relay server status, including whether it's running,
|
|
35
|
-
* the number of connected clients, and active session details.
|
|
36
|
-
*
|
|
37
|
-
* @param req - Express request (no params required)
|
|
38
|
-
* @param res - Response returning relay status object
|
|
39
|
-
* @param next - Next function for error propagation
|
|
40
|
-
*/
|
|
41
|
-
export declare function getRelayStatus(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
42
17
|
/**
|
|
43
18
|
* POST /relay/connect
|
|
44
19
|
*
|
|
@@ -64,8 +39,8 @@ export declare function disconnectFromRelay(req: Request, res: Response, next: N
|
|
|
64
39
|
/**
|
|
65
40
|
* GET /relay/devices
|
|
66
41
|
*
|
|
67
|
-
* List connected devices visible through the relay. Returns
|
|
68
|
-
* relay client state
|
|
42
|
+
* List connected devices visible through the relay. Returns the local
|
|
43
|
+
* relay client state.
|
|
69
44
|
*
|
|
70
45
|
* @param req - Express request (no params required)
|
|
71
46
|
* @param res - Response with device list
|
|
@@ -84,18 +59,4 @@ export declare function getRelayDevices(req: Request, res: Response, next: NextF
|
|
|
84
59
|
* @param next - Next function for error propagation
|
|
85
60
|
*/
|
|
86
61
|
export declare function sendRelayMessage(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
87
|
-
/**
|
|
88
|
-
* POST /relay/auto-connect
|
|
89
|
-
*
|
|
90
|
-
* Magic Connection endpoint: uses the authenticated Supabase user_id as
|
|
91
|
-
* the pairingCode, auto-determines the role (orchestrator if no other
|
|
92
|
-
* device for this user, agent otherwise), and returns connection details.
|
|
93
|
-
*
|
|
94
|
-
* The frontend calls this single endpoint after login — zero manual config.
|
|
95
|
-
*
|
|
96
|
-
* @param req - Authenticated request (Supabase JWT)
|
|
97
|
-
* @param res - Response with { pairingCode, role, wsUrl, hostname }
|
|
98
|
-
* @param next - Next function for error propagation
|
|
99
|
-
*/
|
|
100
|
-
export declare function autoConnectRelay(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
101
62
|
//# sourceMappingURL=relay.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/relay.controller.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"relay.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cloud/relay.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAyB/D;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDnG;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBxG;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBpG;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCrG"}
|