@overlordai/server 1.0.53 → 1.0.54
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/database/migrations/001-init-schema.sql +73 -9
- package/dist/adapters/adapter.interface.d.ts +1 -4
- package/dist/adapters/adapter.interface.d.ts.map +1 -1
- package/dist/adapters/adapter.interface.js.map +1 -1
- package/dist/adapters/adapter.module.d.ts.map +1 -1
- package/dist/adapters/adapter.module.js +8 -7
- package/dist/adapters/adapter.module.js.map +1 -1
- package/dist/adapters/lark/lark-card.builder.d.ts +1 -25
- package/dist/adapters/lark/lark-card.builder.d.ts.map +1 -1
- package/dist/adapters/lark/lark-card.builder.js +6 -110
- package/dist/adapters/lark/lark-card.builder.js.map +1 -1
- package/dist/adapters/lark/lark-message.parser.d.ts +4 -4
- package/dist/adapters/lark/lark-message.parser.d.ts.map +1 -1
- package/dist/adapters/lark/lark-message.parser.js +20 -13
- package/dist/adapters/lark/lark-message.parser.js.map +1 -1
- package/dist/adapters/lark/lark-signature.d.ts.map +1 -1
- package/dist/adapters/lark/lark-signature.js +6 -0
- package/dist/adapters/lark/lark-signature.js.map +1 -1
- package/dist/adapters/lark/lark.adapter.d.ts +14 -9
- package/dist/adapters/lark/lark.adapter.d.ts.map +1 -1
- package/dist/adapters/lark/lark.adapter.js +99 -177
- package/dist/adapters/lark/lark.adapter.js.map +1 -1
- package/dist/adapters/lark/lark.controller.d.ts +10 -1
- package/dist/adapters/lark/lark.controller.d.ts.map +1 -1
- package/dist/adapters/lark/lark.controller.js +48 -14
- package/dist/adapters/lark/lark.controller.js.map +1 -1
- package/dist/adapters/slack/slack-block.builder.d.ts +8 -0
- package/dist/adapters/slack/slack-block.builder.d.ts.map +1 -0
- package/dist/adapters/slack/slack-block.builder.js +117 -0
- package/dist/adapters/slack/slack-block.builder.js.map +1 -0
- package/dist/adapters/slack/slack-message.parser.d.ts +15 -0
- package/dist/adapters/slack/slack-message.parser.d.ts.map +1 -0
- package/dist/adapters/slack/slack-message.parser.js +158 -0
- package/dist/adapters/slack/slack-message.parser.js.map +1 -0
- package/dist/adapters/slack/slack-signature.d.ts +7 -0
- package/dist/adapters/slack/slack-signature.d.ts.map +1 -0
- package/dist/adapters/slack/slack-signature.js +59 -0
- package/dist/adapters/slack/slack-signature.js.map +1 -0
- package/dist/adapters/slack/slack.adapter.d.ts +67 -13
- package/dist/adapters/slack/slack.adapter.d.ts.map +1 -1
- package/dist/adapters/slack/slack.adapter.js +468 -19
- package/dist/adapters/slack/slack.adapter.js.map +1 -1
- package/dist/adapters/slack/slack.controller.d.ts +20 -0
- package/dist/adapters/slack/slack.controller.d.ts.map +1 -0
- package/dist/adapters/slack/slack.controller.js +257 -0
- package/dist/adapters/slack/slack.controller.js.map +1 -0
- package/dist/app.module.d.ts.map +1 -1
- package/dist/app.module.js +4 -0
- package/dist/app.module.js.map +1 -1
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.controller.js +1 -0
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.module.d.ts.map +1 -1
- package/dist/auth/auth.module.js +4 -5
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/auth.service.d.ts +9 -2
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +50 -79
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/authenticated-request.d.ts +10 -0
- package/dist/auth/authenticated-request.d.ts.map +1 -0
- package/dist/auth/authenticated-request.js +3 -0
- package/dist/auth/authenticated-request.js.map +1 -0
- package/dist/auth/extract-user.middleware.d.ts.map +1 -1
- package/dist/auth/extract-user.middleware.js +2 -1
- package/dist/auth/extract-user.middleware.js.map +1 -1
- package/dist/auth/guards/jwt-auth.guard.d.ts.map +1 -1
- package/dist/auth/guards/jwt-auth.guard.js +5 -2
- package/dist/auth/guards/jwt-auth.guard.js.map +1 -1
- package/dist/auth/guards/project-role.guard.d.ts.map +1 -1
- package/dist/auth/guards/project-role.guard.js +6 -8
- package/dist/auth/guards/project-role.guard.js.map +1 -1
- package/dist/auth/jwt.strategy.d.ts +6 -3
- package/dist/auth/jwt.strategy.d.ts.map +1 -1
- package/dist/auth/jwt.strategy.js +15 -5
- package/dist/auth/jwt.strategy.js.map +1 -1
- package/dist/common/command-parser.d.ts +29 -0
- package/dist/common/command-parser.d.ts.map +1 -0
- package/dist/common/command-parser.js +133 -0
- package/dist/common/command-parser.js.map +1 -0
- package/dist/common/config.d.ts +17 -0
- package/dist/common/config.d.ts.map +1 -0
- package/dist/common/config.js +47 -0
- package/dist/common/config.js.map +1 -0
- package/dist/common/crypto.service.d.ts +4 -1
- package/dist/common/crypto.service.d.ts.map +1 -1
- package/dist/common/crypto.service.js +14 -7
- package/dist/common/crypto.service.js.map +1 -1
- package/dist/common/error-filter.d.ts +1 -0
- package/dist/common/error-filter.d.ts.map +1 -1
- package/dist/common/error-filter.js +6 -2
- package/dist/common/error-filter.js.map +1 -1
- package/dist/common/git-utils.d.ts +9 -0
- package/dist/common/git-utils.d.ts.map +1 -0
- package/dist/common/git-utils.js +41 -0
- package/dist/common/git-utils.js.map +1 -0
- package/dist/common/health.controller.d.ts.map +1 -1
- package/dist/common/health.controller.js +3 -5
- package/dist/common/health.controller.js.map +1 -1
- package/dist/common/machine-utils.d.ts +32 -0
- package/dist/common/machine-utils.d.ts.map +1 -0
- package/dist/common/machine-utils.js +12 -0
- package/dist/common/machine-utils.js.map +1 -0
- package/dist/common/pagination.d.ts +12 -5
- package/dist/common/pagination.d.ts.map +1 -1
- package/dist/common/pagination.js +27 -17
- package/dist/common/pagination.js.map +1 -1
- package/dist/common/project-validation.d.ts +7 -0
- package/dist/common/project-validation.d.ts.map +1 -0
- package/dist/common/project-validation.js +86 -0
- package/dist/common/project-validation.js.map +1 -0
- package/dist/common/rate-limit.guard.d.ts +4 -3
- package/dist/common/rate-limit.guard.d.ts.map +1 -1
- package/dist/common/rate-limit.guard.js +14 -5
- package/dist/common/rate-limit.guard.js.map +1 -1
- package/dist/common/sql-utils.d.ts +6 -0
- package/dist/common/sql-utils.d.ts.map +1 -0
- package/dist/common/sql-utils.js +11 -0
- package/dist/common/sql-utils.js.map +1 -0
- package/dist/common/string-utils.d.ts +6 -0
- package/dist/common/string-utils.d.ts.map +1 -0
- package/dist/common/string-utils.js +15 -0
- package/dist/common/string-utils.js.map +1 -0
- package/dist/common/worker-utils.d.ts +31 -0
- package/dist/common/worker-utils.d.ts.map +1 -0
- package/dist/common/worker-utils.js +12 -0
- package/dist/common/worker-utils.js.map +1 -0
- package/dist/database/base.repository.d.ts +56 -0
- package/dist/database/base.repository.d.ts.map +1 -0
- package/dist/database/base.repository.js +82 -0
- package/dist/database/base.repository.js.map +1 -0
- package/dist/database/database.service.d.ts.map +1 -1
- package/dist/database/database.service.js +9 -1
- package/dist/database/database.service.js.map +1 -1
- package/dist/database/migration-runner.d.ts.map +1 -1
- package/dist/database/migration-runner.js +2 -1
- package/dist/database/migration-runner.js.map +1 -1
- package/dist/database/repositories/audit-log.repository.d.ts.map +1 -1
- package/dist/database/repositories/audit-log.repository.js +16 -18
- package/dist/database/repositories/audit-log.repository.js.map +1 -1
- package/dist/database/repositories/bot.repository.d.ts +18 -32
- package/dist/database/repositories/bot.repository.d.ts.map +1 -1
- package/dist/database/repositories/bot.repository.js +42 -21
- package/dist/database/repositories/bot.repository.js.map +1 -1
- package/dist/database/repositories/developer-token.repository.d.ts +7 -17
- package/dist/database/repositories/developer-token.repository.d.ts.map +1 -1
- package/dist/database/repositories/developer-token.repository.js +24 -15
- package/dist/database/repositories/developer-token.repository.js.map +1 -1
- package/dist/database/repositories/developer.repository.d.ts +5 -1
- package/dist/database/repositories/developer.repository.d.ts.map +1 -1
- package/dist/database/repositories/developer.repository.js +60 -49
- package/dist/database/repositories/developer.repository.js.map +1 -1
- package/dist/database/repositories/machine.repository.d.ts.map +1 -1
- package/dist/database/repositories/machine.repository.js +2 -7
- package/dist/database/repositories/machine.repository.js.map +1 -1
- package/dist/database/repositories/notification.repository.d.ts +1 -0
- package/dist/database/repositories/notification.repository.d.ts.map +1 -1
- package/dist/database/repositories/notification.repository.js +25 -20
- package/dist/database/repositories/notification.repository.js.map +1 -1
- package/dist/database/repositories/project-member.repository.d.ts +7 -16
- package/dist/database/repositories/project-member.repository.d.ts.map +1 -1
- package/dist/database/repositories/project-member.repository.js +34 -24
- package/dist/database/repositories/project-member.repository.js.map +1 -1
- package/dist/database/repositories/project.repository.d.ts +2 -1
- package/dist/database/repositories/project.repository.d.ts.map +1 -1
- package/dist/database/repositories/project.repository.js +70 -71
- package/dist/database/repositories/project.repository.js.map +1 -1
- package/dist/database/repositories/session.repository.d.ts.map +1 -1
- package/dist/database/repositories/session.repository.js +22 -25
- package/dist/database/repositories/session.repository.js.map +1 -1
- package/dist/database/repositories/task.repository.d.ts +31 -7
- package/dist/database/repositories/task.repository.d.ts.map +1 -1
- package/dist/database/repositories/task.repository.js +134 -86
- package/dist/database/repositories/task.repository.js.map +1 -1
- package/dist/database/repositories/worker-token.repository.d.ts.map +1 -1
- package/dist/database/repositories/worker-token.repository.js +18 -16
- package/dist/database/repositories/worker-token.repository.js.map +1 -1
- package/dist/database/repositories/worker.repository.d.ts +50 -0
- package/dist/database/repositories/worker.repository.d.ts.map +1 -0
- package/dist/database/repositories/worker.repository.js +215 -0
- package/dist/database/repositories/worker.repository.js.map +1 -0
- package/dist/database/repositories/workspace.repository.d.ts +3 -2
- package/dist/database/repositories/workspace.repository.d.ts.map +1 -1
- package/dist/database/repositories/workspace.repository.js +29 -21
- package/dist/database/repositories/workspace.repository.js.map +1 -1
- package/dist/database/repository.module.d.ts +3 -0
- package/dist/database/repository.module.d.ts.map +1 -0
- package/dist/database/repository.module.js +45 -0
- package/dist/database/repository.module.js.map +1 -0
- package/dist/dispatcher/capability.service.d.ts +19 -14
- package/dist/dispatcher/capability.service.d.ts.map +1 -1
- package/dist/dispatcher/capability.service.js +77 -69
- package/dist/dispatcher/capability.service.js.map +1 -1
- package/dist/dispatcher/cleanup.service.d.ts +1 -1
- package/dist/dispatcher/cleanup.service.d.ts.map +1 -1
- package/dist/dispatcher/cleanup.service.js +13 -13
- package/dist/dispatcher/cleanup.service.js.map +1 -1
- package/dist/dispatcher/dedup.service.d.ts +17 -3
- package/dist/dispatcher/dedup.service.d.ts.map +1 -1
- package/dist/dispatcher/dedup.service.js +76 -82
- package/dist/dispatcher/dedup.service.js.map +1 -1
- package/dist/dispatcher/dispatcher.module.d.ts.map +1 -1
- package/dist/dispatcher/dispatcher.module.js +11 -18
- package/dist/dispatcher/dispatcher.module.js.map +1 -1
- package/dist/dispatcher/dispatcher.service.d.ts +14 -116
- package/dist/dispatcher/dispatcher.service.d.ts.map +1 -1
- package/dist/dispatcher/dispatcher.service.js +62 -940
- package/dist/dispatcher/dispatcher.service.js.map +1 -1
- package/dist/dispatcher/dispatcher.types.d.ts +33 -0
- package/dist/dispatcher/dispatcher.types.d.ts.map +1 -0
- package/dist/dispatcher/dispatcher.types.js +3 -0
- package/dist/dispatcher/dispatcher.types.js.map +1 -0
- package/dist/dispatcher/heartbeat.service.d.ts +17 -10
- package/dist/dispatcher/heartbeat.service.d.ts.map +1 -1
- package/dist/dispatcher/heartbeat.service.js +47 -51
- package/dist/dispatcher/heartbeat.service.js.map +1 -1
- package/dist/dispatcher/pty-relay.service.d.ts.map +1 -1
- package/dist/dispatcher/pty-relay.service.js +7 -15
- package/dist/dispatcher/pty-relay.service.js.map +1 -1
- package/dist/dispatcher/reconciler.d.ts +18 -8
- package/dist/dispatcher/reconciler.d.ts.map +1 -1
- package/dist/dispatcher/reconciler.js +219 -130
- package/dist/dispatcher/reconciler.js.map +1 -1
- package/dist/dispatcher/scheduler.service.d.ts +15 -9
- package/dist/dispatcher/scheduler.service.d.ts.map +1 -1
- package/dist/dispatcher/scheduler.service.js +95 -53
- package/dist/dispatcher/scheduler.service.js.map +1 -1
- package/dist/dispatcher/state-machine.d.ts.map +1 -1
- package/dist/dispatcher/state-machine.js +1 -5
- package/dist/dispatcher/state-machine.js.map +1 -1
- package/dist/dispatcher/task-creation.service.d.ts +30 -0
- package/dist/dispatcher/task-creation.service.d.ts.map +1 -0
- package/dist/dispatcher/task-creation.service.js +242 -0
- package/dist/dispatcher/task-creation.service.js.map +1 -0
- package/dist/dispatcher/task-lifecycle.service.d.ts +63 -0
- package/dist/dispatcher/task-lifecycle.service.d.ts.map +1 -0
- package/dist/dispatcher/task-lifecycle.service.js +584 -0
- package/dist/dispatcher/task-lifecycle.service.js.map +1 -0
- package/dist/dispatcher/task-log-batcher.d.ts.map +1 -1
- package/dist/dispatcher/task-log-batcher.js +4 -11
- package/dist/dispatcher/task-log-batcher.js.map +1 -1
- package/dist/dispatcher/worker-auth.service.d.ts +29 -0
- package/dist/dispatcher/worker-auth.service.d.ts.map +1 -0
- package/dist/dispatcher/worker-auth.service.js +296 -0
- package/dist/dispatcher/worker-auth.service.js.map +1 -0
- package/dist/dispatcher/worker-connection.manager.d.ts +15 -15
- package/dist/dispatcher/worker-connection.manager.d.ts.map +1 -1
- package/dist/dispatcher/worker-connection.manager.js +35 -43
- package/dist/dispatcher/worker-connection.manager.js.map +1 -1
- package/dist/dispatcher/worker-selector.d.ts +18 -0
- package/dist/dispatcher/worker-selector.d.ts.map +1 -0
- package/dist/dispatcher/worker-selector.js +150 -0
- package/dist/dispatcher/worker-selector.js.map +1 -0
- package/dist/events/event-types.d.ts +31 -0
- package/dist/events/event-types.d.ts.map +1 -0
- package/dist/events/event-types.js +16 -0
- package/dist/events/event-types.js.map +1 -0
- package/dist/events/events.module.d.ts +7 -0
- package/dist/events/events.module.d.ts.map +1 -0
- package/dist/events/events.module.js +26 -0
- package/dist/events/events.module.js.map +1 -0
- package/dist/main.js +22 -0
- package/dist/main.js.map +1 -1
- package/dist/notifier/debouncer.d.ts +1 -1
- package/dist/notifier/debouncer.d.ts.map +1 -1
- package/dist/notifier/debouncer.js +2 -1
- package/dist/notifier/debouncer.js.map +1 -1
- package/dist/notifier/notification-consumer.d.ts +1 -1
- package/dist/notifier/notification-consumer.d.ts.map +1 -1
- package/dist/notifier/notification-consumer.js +5 -5
- package/dist/notifier/notification-consumer.js.map +1 -1
- package/dist/notifier/notifier.module.d.ts.map +1 -1
- package/dist/notifier/notifier.module.js +0 -6
- package/dist/notifier/notifier.module.js.map +1 -1
- package/dist/notifier/notifier.service.d.ts +1 -1
- package/dist/notifier/notifier.service.d.ts.map +1 -1
- package/dist/notifier/notifier.service.js +7 -9
- package/dist/notifier/notifier.service.js.map +1 -1
- package/dist/notifier/template.service.d.ts +1 -1
- package/dist/notifier/template.service.d.ts.map +1 -1
- package/dist/notifier/template.service.js +6 -10
- package/dist/notifier/template.service.js.map +1 -1
- package/dist/redis/redis.service.d.ts.map +1 -1
- package/dist/redis/redis.service.js +2 -2
- package/dist/redis/redis.service.js.map +1 -1
- package/dist/web/admin/admin-audit.controller.d.ts.map +1 -1
- package/dist/web/admin/admin-audit.controller.js +2 -1
- package/dist/web/admin/admin-audit.controller.js.map +1 -1
- package/dist/web/admin/admin-bot.controller.d.ts +11 -48
- package/dist/web/admin/admin-bot.controller.d.ts.map +1 -1
- package/dist/web/admin/admin-bot.controller.js +50 -18
- package/dist/web/admin/admin-bot.controller.js.map +1 -1
- package/dist/web/admin/admin-developer.controller.d.ts +14 -27
- package/dist/web/admin/admin-developer.controller.d.ts.map +1 -1
- package/dist/web/admin/admin-developer.controller.js +62 -28
- package/dist/web/admin/admin-developer.controller.js.map +1 -1
- package/dist/web/admin/admin-machine.controller.d.ts +1 -8
- package/dist/web/admin/admin-machine.controller.d.ts.map +1 -1
- package/dist/web/admin/admin-machine.controller.js +3 -6
- package/dist/web/admin/admin-machine.controller.js.map +1 -1
- package/dist/web/admin/admin-project.controller.d.ts +9 -30
- package/dist/web/admin/admin-project.controller.d.ts.map +1 -1
- package/dist/web/admin/admin-project.controller.js +15 -60
- package/dist/web/admin/admin-project.controller.js.map +1 -1
- package/dist/web/admin/admin-settings.controller.d.ts +7 -10
- package/dist/web/admin/admin-settings.controller.d.ts.map +1 -1
- package/dist/web/admin/admin-settings.controller.js +14 -6
- package/dist/web/admin/admin-settings.controller.js.map +1 -1
- package/dist/web/admin/admin-token.controller.d.ts +6 -13
- package/dist/web/admin/admin-token.controller.d.ts.map +1 -1
- package/dist/web/admin/admin-token.controller.js +15 -27
- package/dist/web/admin/admin-token.controller.js.map +1 -1
- package/dist/web/admin/admin-worker.controller.d.ts +26 -0
- package/dist/web/admin/admin-worker.controller.d.ts.map +1 -0
- package/dist/web/admin/admin-worker.controller.js +184 -0
- package/dist/web/admin/admin-worker.controller.js.map +1 -0
- package/dist/web/dashboard.controller.d.ts +6 -12
- package/dist/web/dashboard.controller.d.ts.map +1 -1
- package/dist/web/dashboard.controller.js +30 -18
- package/dist/web/dashboard.controller.js.map +1 -1
- package/dist/web/dashboard.service.d.ts +21 -12
- package/dist/web/dashboard.service.d.ts.map +1 -1
- package/dist/web/dashboard.service.js +169 -119
- package/dist/web/dashboard.service.js.map +1 -1
- package/dist/web/event.gateway.d.ts +32 -0
- package/dist/web/event.gateway.d.ts.map +1 -0
- package/dist/web/event.gateway.js +168 -0
- package/dist/web/event.gateway.js.map +1 -0
- package/dist/web/frame-handlers/frame-handler.interface.d.ts +24 -0
- package/dist/web/frame-handlers/frame-handler.interface.d.ts.map +1 -0
- package/dist/web/frame-handlers/frame-handler.interface.js +3 -0
- package/dist/web/frame-handlers/frame-handler.interface.js.map +1 -0
- package/dist/web/frame-handlers/frame-handler.registry.d.ts +16 -0
- package/dist/web/frame-handlers/frame-handler.registry.d.ts.map +1 -0
- package/dist/web/frame-handlers/frame-handler.registry.js +39 -0
- package/dist/web/frame-handlers/frame-handler.registry.js.map +1 -0
- package/dist/web/frame-handlers/heartbeat.handler.d.ts +13 -0
- package/dist/web/frame-handlers/heartbeat.handler.d.ts.map +1 -0
- package/dist/web/frame-handlers/heartbeat.handler.js +35 -0
- package/dist/web/frame-handlers/heartbeat.handler.js.map +1 -0
- package/dist/web/frame-handlers/index.d.ts +7 -0
- package/dist/web/frame-handlers/index.d.ts.map +1 -0
- package/dist/web/frame-handlers/index.js +14 -0
- package/dist/web/frame-handlers/index.js.map +1 -0
- package/dist/web/frame-handlers/progress.handler.d.ts +25 -0
- package/dist/web/frame-handlers/progress.handler.d.ts.map +1 -0
- package/dist/web/frame-handlers/progress.handler.js +69 -0
- package/dist/web/frame-handlers/progress.handler.js.map +1 -0
- package/dist/web/frame-handlers/stage-confirm.handler.d.ts +15 -0
- package/dist/web/frame-handlers/stage-confirm.handler.d.ts.map +1 -0
- package/dist/web/frame-handlers/stage-confirm.handler.js +39 -0
- package/dist/web/frame-handlers/stage-confirm.handler.js.map +1 -0
- package/dist/web/frame-handlers/tunnel.handler.d.ts +10 -0
- package/dist/web/frame-handlers/tunnel.handler.d.ts.map +1 -0
- package/dist/web/frame-handlers/tunnel.handler.js +31 -0
- package/dist/web/frame-handlers/tunnel.handler.js.map +1 -0
- package/dist/web/interaction.service.d.ts +0 -4
- package/dist/web/interaction.service.d.ts.map +1 -1
- package/dist/web/interaction.service.js +0 -10
- package/dist/web/interaction.service.js.map +1 -1
- package/dist/web/machine.controller.d.ts +1 -8
- package/dist/web/machine.controller.d.ts.map +1 -1
- package/dist/web/machine.controller.js +6 -9
- package/dist/web/machine.controller.js.map +1 -1
- package/dist/web/notification.controller.d.ts +1 -8
- package/dist/web/notification.controller.d.ts.map +1 -1
- package/dist/web/notification.controller.js +3 -2
- package/dist/web/notification.controller.js.map +1 -1
- package/dist/web/profile.controller.d.ts +19 -10
- package/dist/web/profile.controller.d.ts.map +1 -1
- package/dist/web/profile.controller.js +100 -13
- package/dist/web/profile.controller.js.map +1 -1
- package/dist/web/project-member.service.d.ts +16 -0
- package/dist/web/project-member.service.d.ts.map +1 -0
- package/dist/web/project-member.service.js +90 -0
- package/dist/web/project-member.service.js.map +1 -0
- package/dist/web/project.controller.d.ts +43 -26
- package/dist/web/project.controller.d.ts.map +1 -1
- package/dist/web/project.controller.js +73 -46
- package/dist/web/project.controller.js.map +1 -1
- package/dist/web/pty.gateway.d.ts +9 -3
- package/dist/web/pty.gateway.d.ts.map +1 -1
- package/dist/web/pty.gateway.js +46 -18
- package/dist/web/pty.gateway.js.map +1 -1
- package/dist/web/search.service.d.ts +9 -2
- package/dist/web/search.service.d.ts.map +1 -1
- package/dist/web/search.service.js +53 -26
- package/dist/web/search.service.js.map +1 -1
- package/dist/web/task.controller.d.ts +15 -24
- package/dist/web/task.controller.d.ts.map +1 -1
- package/dist/web/task.controller.js +70 -53
- package/dist/web/task.controller.js.map +1 -1
- package/dist/web/tunnel.service.d.ts +74 -0
- package/dist/web/tunnel.service.d.ts.map +1 -0
- package/dist/web/tunnel.service.js +250 -0
- package/dist/web/tunnel.service.js.map +1 -0
- package/dist/web/web-event.service.d.ts +25 -0
- package/dist/web/web-event.service.d.ts.map +1 -0
- package/dist/web/web-event.service.js +116 -0
- package/dist/web/web-event.service.js.map +1 -0
- package/dist/web/web.module.d.ts.map +1 -1
- package/dist/web/web.module.js +13 -28
- package/dist/web/web.module.js.map +1 -1
- package/dist/web/worker-channel.gateway.d.ts +10 -18
- package/dist/web/worker-channel.gateway.d.ts.map +1 -1
- package/dist/web/worker-channel.gateway.js +70 -144
- package/dist/web/worker-channel.gateway.js.map +1 -1
- package/dist/web/worker-web.controller.d.ts +15 -0
- package/dist/web/worker-web.controller.d.ts.map +1 -0
- package/dist/web/worker-web.controller.js +143 -0
- package/dist/web/worker-web.controller.js.map +1 -0
- package/dist/web/worker.controller.d.ts +3 -3
- package/dist/web/worker.controller.d.ts.map +1 -1
- package/dist/web/worker.controller.js +8 -8
- package/dist/web/worker.controller.js.map +1 -1
- package/dist/web/workspace.controller.d.ts +8 -33
- package/dist/web/workspace.controller.d.ts.map +1 -1
- package/dist/web/workspace.controller.js +93 -205
- package/dist/web/workspace.controller.js.map +1 -1
- package/package.json +10 -2
- package/public/apple-touch-icon-120x120.png +0 -0
- package/public/apple-touch-icon-152x152.png +0 -0
- package/public/apple-touch-icon-180x180.png +0 -0
- package/public/assets/AccessTokensPage-DPQB2fbi.js +1 -0
- package/public/assets/AdminPage-BqVelYNu.js +1 -0
- package/public/assets/ApiReferencePage-CiGvbLxL.js +1 -0
- package/public/assets/AuditLogPage-DSo4jVYm.js +6 -0
- package/public/assets/BindPlatformPage-CTqzpOmt.js +1 -0
- package/public/assets/BotManage-CIR0rrK7.js +6 -0
- package/public/assets/CliReferencePage-C8GmlwUz.js +14 -0
- package/public/assets/DeveloperManage-r6y2AoB4.js +16 -0
- package/public/assets/EditProjectPage-7WCsNltj.js +2 -0
- package/public/assets/{EmptyState-CvmhFgWJ.js → EmptyState-D3foEiul.js} +1 -1
- package/public/assets/HomePage-D4yv4orb.js +1 -0
- package/public/assets/InfoRow-DhdTYoY9.js +1 -0
- package/public/assets/LandingPage-CqS0E2eC.js +43 -0
- package/public/assets/LoginPage-DDXkdcz_.js +1 -0
- package/public/assets/MetricBar-DMMHfS0A.js +1 -0
- package/public/assets/{NotFoundPage-BuiAS4g4.js → NotFoundPage-D5x5BrlX.js} +1 -1
- package/public/assets/OnboardingGuide-D8RyPcEd.js +1 -0
- package/public/assets/PipelineEditorPage-y2-Q8ofQ.js +3 -0
- package/public/assets/ProfilePage-DN7usHOi.js +1 -0
- package/public/assets/ProjectDetailPage-DJexg49z.js +7 -0
- package/public/assets/ProjectListPage-Bz7I2D0H.js +6 -0
- package/public/assets/QuickAuth-Dr0Q50ld.js +1 -0
- package/public/assets/{RemoveMemberConfirmDialog-DS9z6jQT.js → RemoveMemberConfirmDialog-BCrue0AP.js} +2 -2
- package/public/assets/Select-BnV8yZlD.js +6 -0
- package/public/assets/SettingsPage-HaUCcsgl.js +6 -0
- package/public/assets/{Skeleton-CcVqz28_.js → Skeleton-DUgWc2LJ.js} +1 -1
- package/public/assets/SkillPage-BInwZTQh.js +1 -0
- package/public/assets/TaskDetailPage-CfwEj1hy.js +31 -0
- package/public/assets/TaskListPage-Dh59ldSZ.js +1 -0
- package/public/assets/TaskStatusBadge-DuOoGIwE.js +1 -0
- package/public/assets/TerminalHomePage-BwXJjr-a.js +16 -0
- package/public/assets/TokenManage-B0Cpv6SO.js +1 -0
- package/public/assets/TotpSetupPage-MSCCURj9.js +9 -0
- package/public/assets/WorkerDetailPage-R2veIzKo.js +1 -0
- package/public/assets/WorkerListPage-CserMjGO.js +6 -0
- package/public/assets/WorkerSetupGuidePage-SqO2lzVa.js +11 -0
- package/public/assets/{arrow-left-CVKez32c.js → arrow-left-DklRsENx.js} +1 -1
- package/public/assets/{arrow-right-g7hTftEi.js → arrow-right-MDrzFe3K.js} +1 -1
- package/public/assets/{bot-DYvBcsZn.js → bot-DPaziJPf.js} +1 -1
- package/public/assets/{chevron-right-COxU2yxz.js → chevron-right-CqyufMDW.js} +1 -1
- package/public/assets/{copy-BGttVgA1.js → copy-BUH7P2Hf.js} +1 -1
- package/public/assets/date-BdNtiQTP.js +1 -0
- package/public/assets/{external-link-DXlCfUjE.js → external-link-ChPgQ7N_.js} +1 -1
- package/public/assets/index-BS0Fbx5V.css +1 -0
- package/public/assets/index-vL7aQJNr.js +225 -0
- package/public/assets/{key-3eDVdGih.js → key-CxvwwHnW.js} +1 -1
- package/public/assets/{loader-circle-DPm92ETj.js → loader-circle-DS5g1-Od.js} +1 -1
- package/public/assets/password-CHk45-jw.js +1 -0
- package/public/assets/{pencil-Bs3PwH2W.js → pencil-B6spIBcw.js} +1 -1
- package/public/assets/{plus-d-PLzbVX.js → plus-Bnd1Vz2Y.js} +1 -1
- package/public/assets/{rotate-ccw-Cus8CABi.js → rotate-ccw-CgcLAXNR.js} +1 -1
- package/public/assets/{scroll-text-CV3wlIy2.js → scroll-text-CecZ0Fk5.js} +1 -1
- package/public/assets/{settings-Ccijf48b.js → settings-C1uOD3PZ.js} +1 -1
- package/public/assets/status-colors-BPEUp90-.js +1 -0
- package/public/assets/string-B39tzdVK.js +1 -0
- package/public/assets/task-constants-BbFyCyKk.js +14 -0
- package/public/assets/task.store-BE6fEPu4.js +1 -0
- package/public/assets/{trash-2-bRJ-xwtq.js → trash-2-A2FsT1yG.js} +1 -1
- package/public/assets/useFetch-vGZMAvGi.js +1 -0
- package/public/assets/{users-LNQqKSEN.js → users-CEdRS_A3.js} +1 -1
- package/public/assets/wifi-D60NkK6F.js +6 -0
- package/public/assets/zap-DXw1NrWz.js +6 -0
- package/public/icon-192x192.png +0 -0
- package/public/icon-512x512.png +0 -0
- package/public/icon-maskable-192x192.png +0 -0
- package/public/icon-maskable-512x512.png +0 -0
- package/public/index.html +21 -4
- package/public/manifest.webmanifest +1 -0
- package/public/og-image.png +0 -0
- package/public/registerSW.js +1 -0
- package/public/sw.js +1 -0
- package/public/workbox-6e9b121d.js +1 -0
- package/database/migrations/002-add-indexes.sql +0 -17
- package/database/migrations/003-add-settings-table.sql +0 -4
- package/database/migrations/004-add-developer-id-index.sql +0 -5
- package/database/migrations/005-add-worker-version.sql +0 -2
- package/database/migrations/006-add-decommission-fields.sql +0 -2
- package/database/migrations/007-add-ssh-url.sql +0 -1
- package/public/assets/AccessTokensPage-Cb5hGBfN.js +0 -1
- package/public/assets/AdminPage-C7Xytkfo.js +0 -1
- package/public/assets/ApiReferencePage-DLGVc4xN.js +0 -1
- package/public/assets/AuditLogPage-BgqsUJ7x.js +0 -6
- package/public/assets/BotManage-Ds9DYQZA.js +0 -6
- package/public/assets/CliReferencePage-WXinn_69.js +0 -8
- package/public/assets/DeveloperManage-saSq3Hfx.js +0 -16
- package/public/assets/EditProjectPage-C4xWYLTo.js +0 -2
- package/public/assets/HomePage-y20pQ52r.js +0 -1
- package/public/assets/LandingPage-CB5BBbdI.js +0 -36
- package/public/assets/LoginPage-DLljhJkQ.js +0 -1
- package/public/assets/MachineDetailPage-CPm9tfdp.js +0 -1
- package/public/assets/MachineListPage-D-nhVz-m.js +0 -6
- package/public/assets/PipelineEditorPage-B9GgqAju.js +0 -3
- package/public/assets/ProfilePage-DASpeJq6.js +0 -1
- package/public/assets/ProjectDetailPage-DWZyNwTV.js +0 -7
- package/public/assets/ProjectListPage-BUMX3Dxa.js +0 -6
- package/public/assets/QuickAuth-B9mvq7ht.js +0 -1
- package/public/assets/Select-A7PXobk_.js +0 -6
- package/public/assets/SettingsPage-WGzxUbGp.js +0 -6
- package/public/assets/SkillPage-BIt2kF3W.js +0 -1
- package/public/assets/TaskDetailPage-CePyNfp6.js +0 -44
- package/public/assets/TaskListPage-MO4_PSve.js +0 -1
- package/public/assets/TaskStatusBadge-QtQUDscM.js +0 -1
- package/public/assets/TokenManage-Sf0RGymw.js +0 -1
- package/public/assets/TotpSetupPage-D-rbEYLf.js +0 -9
- package/public/assets/WorkerSetupGuidePage-D6Fv1MQo.js +0 -16
- package/public/assets/index-CDBuOPx4.js +0 -212
- package/public/assets/index-CQojj7Zu.css +0 -1
- package/public/assets/protocol-C5uQmiiB.js +0 -1
- package/public/assets/task.store-CvjSr507.js +0 -1
- /package/public/assets/{TaskDetailPage-Beg8tuEN.css → task-constants-Beg8tuEN.css} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
-- 001-init-schema.sql
|
|
2
|
-
--
|
|
2
|
+
-- Complete schema for Overlord v1.1
|
|
3
|
+
-- Consolidated from migrations 001-013
|
|
3
4
|
|
|
4
5
|
-- Tasks
|
|
5
6
|
CREATE TABLE tasks (
|
|
@@ -8,9 +9,8 @@ CREATE TABLE tasks (
|
|
|
8
9
|
fingerprint TEXT,
|
|
9
10
|
status TEXT NOT NULL DEFAULT 'QUEUED',
|
|
10
11
|
project_key TEXT NOT NULL REFERENCES projects(key),
|
|
11
|
-
|
|
12
|
+
worker_id TEXT REFERENCES workers(id),
|
|
12
13
|
developer_id INTEGER REFERENCES developers(id),
|
|
13
|
-
app TEXT,
|
|
14
14
|
branch TEXT,
|
|
15
15
|
mr_url TEXT,
|
|
16
16
|
mr_number INTEGER,
|
|
@@ -56,8 +56,8 @@ CREATE TABLE worker_tokens (
|
|
|
56
56
|
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ', 'now'))
|
|
57
57
|
);
|
|
58
58
|
|
|
59
|
-
--
|
|
60
|
-
CREATE TABLE
|
|
59
|
+
-- Workers (renamed from machines in v1.0)
|
|
60
|
+
CREATE TABLE workers (
|
|
61
61
|
id TEXT PRIMARY KEY,
|
|
62
62
|
name TEXT NOT NULL UNIQUE,
|
|
63
63
|
host TEXT NOT NULL,
|
|
@@ -78,6 +78,10 @@ CREATE TABLE machines (
|
|
|
78
78
|
protocol_version TEXT NOT NULL,
|
|
79
79
|
last_heartbeat TEXT,
|
|
80
80
|
status TEXT NOT NULL DEFAULT 'online',
|
|
81
|
+
worker_version TEXT,
|
|
82
|
+
cpu_model TEXT,
|
|
83
|
+
decommissioned_at TEXT,
|
|
84
|
+
decommissioned_by INTEGER REFERENCES developers(id),
|
|
81
85
|
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ', 'now'))
|
|
82
86
|
);
|
|
83
87
|
|
|
@@ -107,7 +111,6 @@ CREATE TABLE agent_sessions (
|
|
|
107
111
|
pty_owner TEXT NOT NULL DEFAULT 'pipeline',
|
|
108
112
|
owner_revision INTEGER NOT NULL DEFAULT 0,
|
|
109
113
|
exit_code INTEGER,
|
|
110
|
-
output_lines INTEGER NOT NULL DEFAULT 0,
|
|
111
114
|
revision INTEGER NOT NULL DEFAULT 0,
|
|
112
115
|
started_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
|
|
113
116
|
finished_at TEXT
|
|
@@ -117,13 +120,12 @@ CREATE TABLE agent_sessions (
|
|
|
117
120
|
CREATE TABLE workspaces (
|
|
118
121
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
119
122
|
task_id INTEGER NOT NULL UNIQUE REFERENCES tasks(id),
|
|
120
|
-
|
|
123
|
+
worker_id TEXT NOT NULL REFERENCES workers(id),
|
|
121
124
|
project_key TEXT NOT NULL REFERENCES projects(key),
|
|
122
125
|
developer_id INTEGER NOT NULL REFERENCES developers(id),
|
|
123
126
|
path TEXT NOT NULL,
|
|
124
127
|
branch TEXT,
|
|
125
|
-
status TEXT NOT NULL DEFAULT 'active'
|
|
126
|
-
expires_at TEXT
|
|
128
|
+
status TEXT NOT NULL DEFAULT 'active'
|
|
127
129
|
);
|
|
128
130
|
|
|
129
131
|
-- Projects
|
|
@@ -146,6 +148,9 @@ CREATE TABLE projects (
|
|
|
146
148
|
pipeline TEXT,
|
|
147
149
|
pty_output_filter INTEGER NOT NULL DEFAULT 0,
|
|
148
150
|
is_default INTEGER NOT NULL DEFAULT 0,
|
|
151
|
+
ssh_url TEXT,
|
|
152
|
+
default_reviewers TEXT DEFAULT NULL,
|
|
153
|
+
git_token_encrypted TEXT DEFAULT NULL,
|
|
149
154
|
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ', 'now'))
|
|
150
155
|
);
|
|
151
156
|
|
|
@@ -219,8 +224,67 @@ CREATE TABLE developer_tokens (
|
|
|
219
224
|
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ', 'now'))
|
|
220
225
|
);
|
|
221
226
|
|
|
227
|
+
-- Settings (key-value)
|
|
228
|
+
CREATE TABLE settings (
|
|
229
|
+
key TEXT PRIMARY KEY,
|
|
230
|
+
value TEXT NOT NULL
|
|
231
|
+
);
|
|
232
|
+
|
|
222
233
|
-- Trigger: auto-update tasks.updated_at
|
|
223
234
|
CREATE TRIGGER trg_tasks_updated_at AFTER UPDATE ON tasks
|
|
224
235
|
BEGIN
|
|
225
236
|
UPDATE tasks SET updated_at = strftime('%Y-%m-%dT%H:%M:%SZ', 'now') WHERE id = NEW.id;
|
|
226
237
|
END;
|
|
238
|
+
|
|
239
|
+
-- =============================================================================
|
|
240
|
+
-- Indexes
|
|
241
|
+
-- =============================================================================
|
|
242
|
+
|
|
243
|
+
-- Tasks
|
|
244
|
+
CREATE INDEX idx_tasks_status_created ON tasks(status, created_at DESC);
|
|
245
|
+
CREATE INDEX idx_tasks_worker_developer ON tasks(worker_id, developer_id);
|
|
246
|
+
CREATE INDEX idx_tasks_project ON tasks(project_key);
|
|
247
|
+
CREATE UNIQUE INDEX idx_tasks_active_fingerprint ON tasks(fingerprint)
|
|
248
|
+
WHERE fingerprint IS NOT NULL AND status IN ('QUEUED', 'ASSIGNED', 'RUNNING', 'SUSPENDED');
|
|
249
|
+
CREATE INDEX idx_tasks_developer_id ON tasks(developer_id);
|
|
250
|
+
CREATE INDEX idx_tasks_created_by ON tasks(created_by);
|
|
251
|
+
CREATE INDEX idx_tasks_worker_status ON tasks(worker_id, status);
|
|
252
|
+
CREATE INDEX idx_tasks_created_by_status ON tasks(created_by, status);
|
|
253
|
+
CREATE INDEX idx_tasks_project_status ON tasks(project_key, status);
|
|
254
|
+
|
|
255
|
+
-- Task logs
|
|
256
|
+
CREATE INDEX idx_task_logs_task_id ON task_logs(task_id, timestamp DESC);
|
|
257
|
+
|
|
258
|
+
-- Agent sessions
|
|
259
|
+
CREATE INDEX idx_agent_sessions_task ON agent_sessions(task_id, status);
|
|
260
|
+
|
|
261
|
+
-- Workspaces
|
|
262
|
+
CREATE INDEX idx_workspaces_task_id ON workspaces(task_id);
|
|
263
|
+
CREATE INDEX idx_workspaces_project ON workspaces(project_key);
|
|
264
|
+
CREATE INDEX idx_workspaces_worker ON workspaces(worker_id);
|
|
265
|
+
|
|
266
|
+
-- Project members
|
|
267
|
+
CREATE INDEX idx_project_members_dev ON project_members(developer_id);
|
|
268
|
+
CREATE INDEX idx_project_members_project ON project_members(project_key);
|
|
269
|
+
|
|
270
|
+
-- Audit logs
|
|
271
|
+
CREATE INDEX idx_audit_logs_user_time ON audit_logs(user_id, created_at DESC);
|
|
272
|
+
CREATE INDEX idx_audit_logs_action ON audit_logs(action, created_at DESC);
|
|
273
|
+
|
|
274
|
+
-- Notifications
|
|
275
|
+
CREATE INDEX idx_notifications_dev_unread ON notifications(developer_id, is_read, created_at DESC);
|
|
276
|
+
|
|
277
|
+
-- Worker tokens
|
|
278
|
+
CREATE INDEX idx_worker_tokens_token_hash ON worker_tokens(token_hash);
|
|
279
|
+
|
|
280
|
+
-- Developer tokens
|
|
281
|
+
CREATE INDEX idx_developer_tokens_dev ON developer_tokens(developer_id);
|
|
282
|
+
CREATE INDEX idx_developer_tokens_token_hash ON developer_tokens(token_hash);
|
|
283
|
+
|
|
284
|
+
-- Workers
|
|
285
|
+
CREATE INDEX idx_workers_token_id ON workers(token_id);
|
|
286
|
+
CREATE INDEX idx_workers_status ON workers(status);
|
|
287
|
+
|
|
288
|
+
-- Chat bindings
|
|
289
|
+
CREATE INDEX idx_chat_bindings_platform_chat_id ON chat_bindings(platform_chat_id);
|
|
290
|
+
CREATE INDEX idx_chat_bindings_bot_instance_id ON chat_bindings(bot_instance_id);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Request } from 'express';
|
|
2
|
-
import type { Command, DeveloperPublic, Platform
|
|
2
|
+
import type { Command, DeveloperPublic, Platform } from '@overlordai/protocol';
|
|
3
3
|
/**
|
|
4
4
|
* Unified message content — adapters convert this into platform-specific format.
|
|
5
5
|
*/
|
|
@@ -17,9 +17,6 @@ export interface AdapterMessage {
|
|
|
17
17
|
url?: string;
|
|
18
18
|
value?: string;
|
|
19
19
|
}>;
|
|
20
|
-
confirmMode?: StageConfirmMode;
|
|
21
|
-
choices?: StageChoiceOption[];
|
|
22
|
-
prompt?: string;
|
|
23
20
|
};
|
|
24
21
|
}
|
|
25
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.interface.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EACf,QAAQ,
|
|
1
|
+
{"version":3,"file":"adapter.interface.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EACf,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAChD,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClE,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,gFAAgF;IAChF,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAErD,iEAAiE;IACjE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtE,uDAAuD;IACvD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE,uFAAuF;IACvF,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;CACnE;AAED,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,eAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.interface.js","sourceRoot":"","sources":["../../src/adapters/adapter.interface.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"adapter.interface.js","sourceRoot":"","sources":["../../src/adapters/adapter.interface.ts"],"names":[],"mappings":";;;AAuCA,mDAAmD;AACtC,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.module.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAU,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.module.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAU,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAiBzC,qBA6Ba,aAAc,YAAW,YAAY;IAGpC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;gBAE5B,SAAS,EAAE,SAAS;IAEjD,YAAY,IAAI,IAAI;CAgBrB"}
|
|
@@ -14,8 +14,6 @@ exports.AdapterModule = void 0;
|
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
15
|
const core_1 = require("@nestjs/core");
|
|
16
16
|
const dispatcher_module_1 = require("../dispatcher/dispatcher.module");
|
|
17
|
-
const bot_repository_1 = require("../database/repositories/bot.repository");
|
|
18
|
-
const developer_repository_1 = require("../database/repositories/developer.repository");
|
|
19
17
|
const crypto_service_1 = require("../common/crypto.service");
|
|
20
18
|
const adapter_interface_1 = require("./adapter.interface");
|
|
21
19
|
const adapter_registry_1 = require("./adapter.registry");
|
|
@@ -24,6 +22,9 @@ const lark_controller_1 = require("./lark/lark.controller");
|
|
|
24
22
|
const lark_message_parser_1 = require("./lark/lark-message.parser");
|
|
25
23
|
const lark_card_builder_1 = require("./lark/lark-card.builder");
|
|
26
24
|
const slack_adapter_1 = require("./slack/slack.adapter");
|
|
25
|
+
const slack_controller_1 = require("./slack/slack.controller");
|
|
26
|
+
const slack_message_parser_1 = require("./slack/slack-message.parser");
|
|
27
|
+
const slack_block_builder_1 = require("./slack/slack-block.builder");
|
|
27
28
|
let AdapterModule = AdapterModule_1 = class AdapterModule {
|
|
28
29
|
moduleRef;
|
|
29
30
|
logger = new common_1.Logger(AdapterModule_1.name);
|
|
@@ -52,15 +53,15 @@ exports.AdapterModule = AdapterModule;
|
|
|
52
53
|
exports.AdapterModule = AdapterModule = AdapterModule_1 = __decorate([
|
|
53
54
|
(0, common_1.Module)({
|
|
54
55
|
imports: [dispatcher_module_1.DispatcherModule],
|
|
55
|
-
controllers: [lark_controller_1.LarkController],
|
|
56
|
+
controllers: [lark_controller_1.LarkController, slack_controller_1.SlackController],
|
|
56
57
|
providers: [
|
|
57
58
|
// Shared dependencies (RedisService is @Global, no need to re-provide)
|
|
58
|
-
bot_repository_1.BotRepository,
|
|
59
|
-
developer_repository_1.DeveloperRepository,
|
|
60
59
|
crypto_service_1.CryptoService,
|
|
61
|
-
// Parser & Card Builder
|
|
60
|
+
// Parser & Card/Block Builder
|
|
62
61
|
lark_message_parser_1.LarkMessageParser,
|
|
63
62
|
lark_card_builder_1.LarkCardBuilder,
|
|
63
|
+
slack_message_parser_1.SlackMessageParser,
|
|
64
|
+
slack_block_builder_1.SlackBlockBuilder,
|
|
64
65
|
// Adapters
|
|
65
66
|
lark_adapter_1.LarkAdapter,
|
|
66
67
|
slack_adapter_1.SlackAdapter,
|
|
@@ -73,7 +74,7 @@ exports.AdapterModule = AdapterModule = AdapterModule_1 = __decorate([
|
|
|
73
74
|
// Registry
|
|
74
75
|
adapter_registry_1.AdapterRegistry,
|
|
75
76
|
],
|
|
76
|
-
exports: [adapter_registry_1.AdapterRegistry, lark_adapter_1.LarkAdapter, lark_card_builder_1.LarkCardBuilder],
|
|
77
|
+
exports: [adapter_registry_1.AdapterRegistry, lark_adapter_1.LarkAdapter, lark_card_builder_1.LarkCardBuilder, slack_adapter_1.SlackAdapter, slack_block_builder_1.SlackBlockBuilder],
|
|
77
78
|
}),
|
|
78
79
|
__metadata("design:paramtypes", [core_1.ModuleRef])
|
|
79
80
|
], AdapterModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.module.js","sourceRoot":"","sources":["../../src/adapters/adapter.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmE;AACnE,uCAAyC;AACzC,uEAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"adapter.module.js","sourceRoot":"","sources":["../../src/adapters/adapter.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmE;AACnE,uCAAyC;AACzC,uEAAmE;AACnE,6DAAyD;AAEzD,2DAAuD;AACvD,yDAAqD;AAErD,sDAAkD;AAClD,4DAAwD;AACxD,oEAA+D;AAC/D,gEAA2D;AAE3D,yDAAqD;AACrD,+DAA2D;AAC3D,uEAAkE;AAClE,qEAAgE;AA+BzD,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAGK;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IAEzD,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,YAAY;QACV,+DAA+D;QAC/D,qEAAqE;QACrE,kEAAkE;QAClE,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,IAAI,QAAQ,EAAE,kBAAkB,EAAE,CAAC;gBACjC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;CACF,CAAA;AArBY,sCAAa;wBAAb,aAAa;IA7BzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,oCAAgB,CAAC;QAC3B,WAAW,EAAE,CAAC,gCAAc,EAAE,kCAAe,CAAC;QAC9C,SAAS,EAAE;YACT,uEAAuE;YACvE,8BAAa;YAEb,8BAA8B;YAC9B,uCAAiB;YACjB,mCAAe;YACf,yCAAkB;YAClB,uCAAiB;YAEjB,WAAW;YACX,0BAAW;YACX,4BAAY;YAEZ,+CAA+C;YAC/C;gBACE,OAAO,EAAE,oCAAgB;gBACzB,UAAU,EAAE,CAAC,IAAiB,EAAE,KAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;gBACrE,MAAM,EAAE,CAAC,0BAAW,EAAE,4BAAY,CAAC;aACpC;YAED,WAAW;YACX,kCAAe;SAChB;QACD,OAAO,EAAE,CAAC,kCAAe,EAAE,0BAAW,EAAE,mCAAe,EAAE,4BAAY,EAAE,uCAAiB,CAAC;KAC1F,CAAC;qCAIwC,gBAAS;GAHtC,aAAa,CAqBzB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Task
|
|
1
|
+
import type { Task } from '@overlordai/protocol';
|
|
2
2
|
import type { AdapterMessage } from '../adapter.interface';
|
|
3
3
|
/**
|
|
4
4
|
* Builds Lark Interactive Message Cards for task notifications.
|
|
@@ -7,10 +7,6 @@ import type { AdapterMessage } from '../adapter.interface';
|
|
|
7
7
|
* which LarkAdapter converts into Lark-native card JSON.
|
|
8
8
|
*/
|
|
9
9
|
export declare class LarkCardBuilder {
|
|
10
|
-
/**
|
|
11
|
-
* Truncate a description to a maximum length.
|
|
12
|
-
*/
|
|
13
|
-
private truncate;
|
|
14
10
|
/**
|
|
15
11
|
* Build a task status notification card.
|
|
16
12
|
*/
|
|
@@ -19,26 +15,6 @@ export declare class LarkCardBuilder {
|
|
|
19
15
|
* Build a dedup confirmation card — shown when a similar task already exists.
|
|
20
16
|
*/
|
|
21
17
|
buildDedupConfirmCard(existingTaskId: number, description: string, confirmKey: string): AdapterMessage;
|
|
22
|
-
/**
|
|
23
|
-
* Build an interactive stage card — confirm mode.
|
|
24
|
-
* Displays prompt + "Continue" / "Cancel" buttons.
|
|
25
|
-
*/
|
|
26
|
-
buildConfirmStageCard(taskId: number, stageIndex: number, prompt: string): AdapterMessage;
|
|
27
|
-
/**
|
|
28
|
-
* Build an interactive stage card — choice mode.
|
|
29
|
-
* Displays prompt + one button per choice option.
|
|
30
|
-
*/
|
|
31
|
-
buildChoiceStageCard(taskId: number, stageIndex: number, prompt: string, choices: StageChoiceOption[]): AdapterMessage;
|
|
32
|
-
/**
|
|
33
|
-
* Build an interactive stage card — input mode.
|
|
34
|
-
* Displays prompt + instruction to reply to the message.
|
|
35
|
-
*/
|
|
36
|
-
buildInputStageCard(taskId: number, stageIndex: number, prompt: string): AdapterMessage;
|
|
37
|
-
/**
|
|
38
|
-
* Build an "already selected" card to replace an interactive card after a
|
|
39
|
-
* button has been clicked (card action callback response).
|
|
40
|
-
*/
|
|
41
|
-
buildSelectedCard(taskId: number, selectedLabel: string): AdapterMessage;
|
|
42
18
|
/**
|
|
43
19
|
* Convert an AdapterMessage into a Lark Interactive Message Card JSON
|
|
44
20
|
* (the `content` field for Lark's send message API).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lark-card.builder.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark-card.builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"lark-card.builder.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark-card.builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAe3D;;;;;GAKG;AACH,qBACa,eAAe;IAC1B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc;IAqCzC;;OAEG;IACH,qBAAqB,CACnB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,cAAc;IA2BjB;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM;CA8D5C"}
|
|
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.LarkCardBuilder = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const protocol_1 = require("@overlordai/protocol");
|
|
12
|
+
const config_1 = require("../../common/config");
|
|
13
|
+
const string_utils_1 = require("../../common/string-utils");
|
|
12
14
|
/** Status color mapping for Lark card templates. */
|
|
13
15
|
const STATUS_COLORS = {
|
|
14
16
|
[protocol_1.TaskStatus.QUEUED]: 'grey',
|
|
@@ -19,10 +21,6 @@ const STATUS_COLORS = {
|
|
|
19
21
|
[protocol_1.TaskStatus.FAILED]: 'red',
|
|
20
22
|
[protocol_1.TaskStatus.CANCELLED]: 'grey',
|
|
21
23
|
};
|
|
22
|
-
/** Base URL for web detail links (configurable via env). */
|
|
23
|
-
function getWebBaseUrl() {
|
|
24
|
-
return process.env.OVERLORD_WEB_URL || 'http://localhost:3000';
|
|
25
|
-
}
|
|
26
24
|
/**
|
|
27
25
|
* Builds Lark Interactive Message Cards for task notifications.
|
|
28
26
|
*
|
|
@@ -30,23 +28,15 @@ function getWebBaseUrl() {
|
|
|
30
28
|
* which LarkAdapter converts into Lark-native card JSON.
|
|
31
29
|
*/
|
|
32
30
|
let LarkCardBuilder = class LarkCardBuilder {
|
|
33
|
-
/**
|
|
34
|
-
* Truncate a description to a maximum length.
|
|
35
|
-
*/
|
|
36
|
-
truncate(text, maxLength = 50) {
|
|
37
|
-
if (text.length <= maxLength)
|
|
38
|
-
return text;
|
|
39
|
-
return text.slice(0, maxLength) + '...';
|
|
40
|
-
}
|
|
41
31
|
/**
|
|
42
32
|
* Build a task status notification card.
|
|
43
33
|
*/
|
|
44
34
|
buildTaskCard(task) {
|
|
45
35
|
const color = STATUS_COLORS[task.status] ?? 'grey';
|
|
46
|
-
const webUrl = `${
|
|
36
|
+
const webUrl = `${(0, config_1.getWebUrl)()}/tasks/${task.id}`;
|
|
47
37
|
const fields = [
|
|
48
38
|
{ label: 'Task', value: `#${task.id}` },
|
|
49
|
-
{ label: 'Description', value:
|
|
39
|
+
{ label: 'Description', value: (0, string_utils_1.truncate)(task.description, 50) },
|
|
50
40
|
{ label: 'Status', value: `[${color}] ${task.status}` },
|
|
51
41
|
{ label: 'Project', value: task.projectKey },
|
|
52
42
|
];
|
|
@@ -57,7 +47,7 @@ let LarkCardBuilder = class LarkCardBuilder {
|
|
|
57
47
|
fields.push({ label: 'MR/PR', value: task.mrUrl });
|
|
58
48
|
}
|
|
59
49
|
if (task.errorMessage) {
|
|
60
|
-
fields.push({ label: 'Error', value:
|
|
50
|
+
fields.push({ label: 'Error', value: (0, string_utils_1.truncate)(task.errorMessage, 100) });
|
|
61
51
|
}
|
|
62
52
|
const actions = [
|
|
63
53
|
{ label: 'View Details', url: webUrl },
|
|
@@ -81,7 +71,7 @@ let LarkCardBuilder = class LarkCardBuilder {
|
|
|
81
71
|
title: 'Duplicate Task Detected',
|
|
82
72
|
fields: [
|
|
83
73
|
{ label: 'Existing Task', value: `#${existingTaskId}` },
|
|
84
|
-
{ label: 'Description', value:
|
|
74
|
+
{ label: 'Description', value: (0, string_utils_1.truncate)(description, 50) },
|
|
85
75
|
],
|
|
86
76
|
actions: [
|
|
87
77
|
{
|
|
@@ -96,100 +86,6 @@ let LarkCardBuilder = class LarkCardBuilder {
|
|
|
96
86
|
},
|
|
97
87
|
};
|
|
98
88
|
}
|
|
99
|
-
/**
|
|
100
|
-
* Build an interactive stage card — confirm mode.
|
|
101
|
-
* Displays prompt + "Continue" / "Cancel" buttons.
|
|
102
|
-
*/
|
|
103
|
-
buildConfirmStageCard(taskId, stageIndex, prompt) {
|
|
104
|
-
return {
|
|
105
|
-
type: 'card',
|
|
106
|
-
card: {
|
|
107
|
-
title: `Task #${taskId} — Confirmation Required`,
|
|
108
|
-
fields: [
|
|
109
|
-
{ label: 'Task', value: `#${taskId}` },
|
|
110
|
-
{ label: 'Prompt', value: prompt },
|
|
111
|
-
],
|
|
112
|
-
actions: [
|
|
113
|
-
{
|
|
114
|
-
label: 'Continue',
|
|
115
|
-
value: JSON.stringify({ taskId, stageIndex, result: 'confirm' }),
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
label: 'Cancel',
|
|
119
|
-
value: JSON.stringify({ taskId, stageIndex, result: 'cancel' }),
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
confirmMode: 'confirm',
|
|
123
|
-
prompt,
|
|
124
|
-
},
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Build an interactive stage card — choice mode.
|
|
129
|
-
* Displays prompt + one button per choice option.
|
|
130
|
-
*/
|
|
131
|
-
buildChoiceStageCard(taskId, stageIndex, prompt, choices) {
|
|
132
|
-
const actions = choices.map((choice) => ({
|
|
133
|
-
label: choice.label,
|
|
134
|
-
value: JSON.stringify({ taskId, stageIndex, result: choice.value }),
|
|
135
|
-
}));
|
|
136
|
-
return {
|
|
137
|
-
type: 'card',
|
|
138
|
-
card: {
|
|
139
|
-
title: `Task #${taskId} — Choose an Option`,
|
|
140
|
-
fields: [
|
|
141
|
-
{ label: 'Task', value: `#${taskId}` },
|
|
142
|
-
{ label: 'Prompt', value: prompt },
|
|
143
|
-
],
|
|
144
|
-
actions,
|
|
145
|
-
confirmMode: 'choice',
|
|
146
|
-
choices,
|
|
147
|
-
prompt,
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Build an interactive stage card — input mode.
|
|
153
|
-
* Displays prompt + instruction to reply to the message.
|
|
154
|
-
*/
|
|
155
|
-
buildInputStageCard(taskId, stageIndex, prompt) {
|
|
156
|
-
const webUrl = `${getWebBaseUrl()}/tasks/${taskId}`;
|
|
157
|
-
return {
|
|
158
|
-
type: 'card',
|
|
159
|
-
card: {
|
|
160
|
-
title: `Task #${taskId} — Input Required`,
|
|
161
|
-
fields: [
|
|
162
|
-
{ label: 'Task', value: `#${taskId}` },
|
|
163
|
-
{ label: 'Prompt', value: prompt },
|
|
164
|
-
{
|
|
165
|
-
label: 'Instructions',
|
|
166
|
-
value: 'Please reply to this message with your input.',
|
|
167
|
-
},
|
|
168
|
-
],
|
|
169
|
-
actions: [
|
|
170
|
-
{ label: 'Enter via Web', url: webUrl },
|
|
171
|
-
],
|
|
172
|
-
confirmMode: 'input',
|
|
173
|
-
prompt,
|
|
174
|
-
},
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Build an "already selected" card to replace an interactive card after a
|
|
179
|
-
* button has been clicked (card action callback response).
|
|
180
|
-
*/
|
|
181
|
-
buildSelectedCard(taskId, selectedLabel) {
|
|
182
|
-
return {
|
|
183
|
-
type: 'card',
|
|
184
|
-
card: {
|
|
185
|
-
title: `Task #${taskId} — Selection Confirmed`,
|
|
186
|
-
fields: [
|
|
187
|
-
{ label: 'Task', value: `#${taskId}` },
|
|
188
|
-
{ label: 'Selected', value: selectedLabel },
|
|
189
|
-
],
|
|
190
|
-
},
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
89
|
// ---------------------------------------------------------------------------
|
|
194
90
|
// Lark-native card JSON converters
|
|
195
91
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lark-card.builder.js","sourceRoot":"","sources":["../../../src/adapters/lark/lark-card.builder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,mDAAkD;
|
|
1
|
+
{"version":3,"file":"lark-card.builder.js","sourceRoot":"","sources":["../../../src/adapters/lark/lark-card.builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export interface ParsedCommand {
|
|
|
7
7
|
args: {
|
|
8
8
|
description?: string;
|
|
9
9
|
project?: string;
|
|
10
|
-
|
|
10
|
+
worker?: string;
|
|
11
11
|
taskId?: number;
|
|
12
12
|
};
|
|
13
13
|
}
|
|
@@ -23,8 +23,8 @@ export interface ParsedCommand {
|
|
|
23
23
|
* @bot workspace #42
|
|
24
24
|
* @bot logs #42
|
|
25
25
|
* @bot confirm #42
|
|
26
|
-
* @bot drain
|
|
27
|
-
* @bot undrain
|
|
26
|
+
* @bot drain worker-name
|
|
27
|
+
* @bot undrain worker-name
|
|
28
28
|
*/
|
|
29
29
|
export declare class LarkMessageParser {
|
|
30
30
|
/**
|
|
@@ -37,7 +37,7 @@ export declare class LarkMessageParser {
|
|
|
37
37
|
private parseWithOptionalTaskId;
|
|
38
38
|
private parseWithRequiredTaskId;
|
|
39
39
|
private parseList;
|
|
40
|
-
private
|
|
40
|
+
private parseWorkerCommand;
|
|
41
41
|
/**
|
|
42
42
|
* Extract a task ID from tokens. Recognises `#42` or bare `42`.
|
|
43
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lark-message.parser.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark-message.parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE;QACJ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,
|
|
1
|
+
{"version":3,"file":"lark-message.parser.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark-message.parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE;QACJ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;;;;;;;;;;;;;GAcG;AACH,qBACa,iBAAiB;IAC5B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAgElC,OAAO,CAAC,YAAY;IA6CpB,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAejB"}
|
|
@@ -21,8 +21,8 @@ const protocol_1 = require("@overlordai/protocol");
|
|
|
21
21
|
* @bot workspace #42
|
|
22
22
|
* @bot logs #42
|
|
23
23
|
* @bot confirm #42
|
|
24
|
-
* @bot drain
|
|
25
|
-
* @bot undrain
|
|
24
|
+
* @bot drain worker-name
|
|
25
|
+
* @bot undrain worker-name
|
|
26
26
|
*/
|
|
27
27
|
let LarkMessageParser = class LarkMessageParser {
|
|
28
28
|
/**
|
|
@@ -63,9 +63,13 @@ let LarkMessageParser = class LarkMessageParser {
|
|
|
63
63
|
case 'confirm':
|
|
64
64
|
return this.parseWithRequiredTaskId(protocol_1.CommandType.CONFIRM, tokens.slice(1));
|
|
65
65
|
case 'drain':
|
|
66
|
-
return this.
|
|
66
|
+
return this.parseWorkerCommand(protocol_1.CommandType.DRAIN, tokens.slice(1));
|
|
67
67
|
case 'undrain':
|
|
68
|
-
return this.
|
|
68
|
+
return this.parseWorkerCommand(protocol_1.CommandType.UNDRAIN, tokens.slice(1));
|
|
69
|
+
case 'bind':
|
|
70
|
+
return { type: protocol_1.CommandType.BIND, args: {} };
|
|
71
|
+
case 'info':
|
|
72
|
+
return { type: protocol_1.CommandType.INFO, args: {} };
|
|
69
73
|
default:
|
|
70
74
|
return { type: 'help', args: {} };
|
|
71
75
|
}
|
|
@@ -76,19 +80,21 @@ let LarkMessageParser = class LarkMessageParser {
|
|
|
76
80
|
parseDevelop(tokens) {
|
|
77
81
|
let description;
|
|
78
82
|
let project;
|
|
79
|
-
let
|
|
83
|
+
let worker;
|
|
80
84
|
let i = 0;
|
|
81
85
|
while (i < tokens.length) {
|
|
82
86
|
const token = tokens[i];
|
|
83
87
|
if (token === '--project' || token === '-p') {
|
|
84
88
|
i++;
|
|
85
|
-
|
|
89
|
+
if (i < tokens.length)
|
|
90
|
+
project = tokens[i];
|
|
86
91
|
i++;
|
|
87
92
|
continue;
|
|
88
93
|
}
|
|
89
94
|
if (token === '--on') {
|
|
90
95
|
i++;
|
|
91
|
-
|
|
96
|
+
if (i < tokens.length)
|
|
97
|
+
worker = tokens[i];
|
|
92
98
|
i++;
|
|
93
99
|
continue;
|
|
94
100
|
}
|
|
@@ -106,7 +112,7 @@ let LarkMessageParser = class LarkMessageParser {
|
|
|
106
112
|
args: {
|
|
107
113
|
description: description.trim(),
|
|
108
114
|
...(project ? { project } : {}),
|
|
109
|
-
...(
|
|
115
|
+
...(worker ? { worker } : {}),
|
|
110
116
|
},
|
|
111
117
|
};
|
|
112
118
|
}
|
|
@@ -131,7 +137,8 @@ let LarkMessageParser = class LarkMessageParser {
|
|
|
131
137
|
const token = tokens[i];
|
|
132
138
|
if (token === '--project' || token === '-p') {
|
|
133
139
|
i++;
|
|
134
|
-
|
|
140
|
+
if (i < tokens.length)
|
|
141
|
+
project = tokens[i];
|
|
135
142
|
i++;
|
|
136
143
|
continue;
|
|
137
144
|
}
|
|
@@ -142,12 +149,12 @@ let LarkMessageParser = class LarkMessageParser {
|
|
|
142
149
|
args: project ? { project } : {},
|
|
143
150
|
};
|
|
144
151
|
}
|
|
145
|
-
|
|
146
|
-
const
|
|
147
|
-
if (!
|
|
152
|
+
parseWorkerCommand(type, tokens) {
|
|
153
|
+
const workerName = tokens[0];
|
|
154
|
+
if (!workerName) {
|
|
148
155
|
return { type: 'help', args: {} };
|
|
149
156
|
}
|
|
150
|
-
return { type, args: {
|
|
157
|
+
return { type, args: { worker: workerName } };
|
|
151
158
|
}
|
|
152
159
|
// ---------------------------------------------------------------------------
|
|
153
160
|
// Helpers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lark-message.parser.js","sourceRoot":"","sources":["../../../src/adapters/lark/lark-message.parser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,mDAAmD;AAenD;;;;;;;;;;;;;;GAcG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B;;;;OAIG;IACH,KAAK,CAAC,IAAY;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpC,CAAC;QAED,gDAAgD;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAE5C,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,SAAS,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5C,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7E,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3E,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAW,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1E,KAAK,MAAM,CAAC;YACZ,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzC,KAAK,WAAW,CAAC;YACjB,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAW,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9E,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAW,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzE,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAW,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5E,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"lark-message.parser.js","sourceRoot":"","sources":["../../../src/adapters/lark/lark-message.parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lark-signature.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark-signature.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"lark-signature.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark-signature.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAcT"}
|
|
@@ -47,6 +47,12 @@ const crypto = __importStar(require("node:crypto"));
|
|
|
47
47
|
* sha256(timestamp + nonce + app_secret + rawBody)
|
|
48
48
|
*/
|
|
49
49
|
function verifyLarkSignature(timestamp, nonce, body, secret, signature) {
|
|
50
|
+
// Reject stale requests (older than 5 minutes) to prevent replay attacks
|
|
51
|
+
const nowSeconds = Math.floor(Date.now() / 1000);
|
|
52
|
+
const tsSeconds = parseInt(timestamp, 10);
|
|
53
|
+
if (isNaN(tsSeconds) || Math.abs(nowSeconds - tsSeconds) > 300) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
50
56
|
const content = timestamp + nonce + secret + body;
|
|
51
57
|
const hash = crypto.createHash('sha256').update(content).digest('hex');
|
|
52
58
|
const hashBuf = Buffer.from(hash, 'utf-8');
|