@overlordai/server 1.0.113 → 1.0.115

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.
Files changed (288) hide show
  1. package/database/migrations/003-chat-bindings-project-key-index.sql +1 -0
  2. package/database/migrations/004-drop-agent-command.sql +2 -0
  3. package/database/migrations/005-task-name.sql +1 -0
  4. package/dist/adapters/adapter.interface.d.ts +4 -0
  5. package/dist/adapters/adapter.interface.d.ts.map +1 -1
  6. package/dist/adapters/adapter.interface.js.map +1 -1
  7. package/dist/adapters/command-parser.utils.d.ts +45 -0
  8. package/dist/adapters/command-parser.utils.d.ts.map +1 -0
  9. package/dist/adapters/command-parser.utils.js +144 -0
  10. package/dist/adapters/command-parser.utils.js.map +1 -0
  11. package/dist/adapters/help-text.d.ts +2 -0
  12. package/dist/adapters/help-text.d.ts.map +1 -0
  13. package/dist/adapters/help-text.js +24 -0
  14. package/dist/adapters/help-text.js.map +1 -0
  15. package/dist/adapters/lark/lark-card.builder.d.ts.map +1 -1
  16. package/dist/adapters/lark/lark-card.builder.js +10 -17
  17. package/dist/adapters/lark/lark-card.builder.js.map +1 -1
  18. package/dist/adapters/lark/lark-message.parser.d.ts +2 -35
  19. package/dist/adapters/lark/lark-message.parser.d.ts.map +1 -1
  20. package/dist/adapters/lark/lark-message.parser.js +12 -162
  21. package/dist/adapters/lark/lark-message.parser.js.map +1 -1
  22. package/dist/adapters/lark/lark.adapter.d.ts +18 -0
  23. package/dist/adapters/lark/lark.adapter.d.ts.map +1 -1
  24. package/dist/adapters/lark/lark.adapter.js +152 -23
  25. package/dist/adapters/lark/lark.adapter.js.map +1 -1
  26. package/dist/adapters/lark/lark.controller.d.ts.map +1 -1
  27. package/dist/adapters/lark/lark.controller.js +2 -1
  28. package/dist/adapters/lark/lark.controller.js.map +1 -1
  29. package/dist/adapters/slack/slack-block.builder.d.ts.map +1 -1
  30. package/dist/adapters/slack/slack-block.builder.js +7 -14
  31. package/dist/adapters/slack/slack-block.builder.js.map +1 -1
  32. package/dist/adapters/slack/slack-message.parser.d.ts +2 -11
  33. package/dist/adapters/slack/slack-message.parser.d.ts.map +1 -1
  34. package/dist/adapters/slack/slack-message.parser.js +12 -135
  35. package/dist/adapters/slack/slack-message.parser.js.map +1 -1
  36. package/dist/adapters/slack/slack.adapter.d.ts +5 -0
  37. package/dist/adapters/slack/slack.adapter.d.ts.map +1 -1
  38. package/dist/adapters/slack/slack.adapter.js +101 -25
  39. package/dist/adapters/slack/slack.adapter.js.map +1 -1
  40. package/dist/adapters/slack/slack.controller.d.ts.map +1 -1
  41. package/dist/adapters/slack/slack.controller.js +3 -4
  42. package/dist/adapters/slack/slack.controller.js.map +1 -1
  43. package/dist/common/config.d.ts +15 -0
  44. package/dist/common/config.d.ts.map +1 -1
  45. package/dist/common/config.js +27 -0
  46. package/dist/common/config.js.map +1 -1
  47. package/dist/common/project-validation.d.ts +1 -1
  48. package/dist/common/project-validation.d.ts.map +1 -1
  49. package/dist/common/project-validation.js +1 -9
  50. package/dist/common/project-validation.js.map +1 -1
  51. package/dist/common/status-display.d.ts +10 -0
  52. package/dist/common/status-display.d.ts.map +1 -0
  53. package/dist/common/status-display.js +35 -0
  54. package/dist/common/status-display.js.map +1 -0
  55. package/dist/common/string-utils.d.ts +3 -0
  56. package/dist/common/string-utils.d.ts.map +1 -1
  57. package/dist/common/string-utils.js +5 -0
  58. package/dist/common/string-utils.js.map +1 -1
  59. package/dist/database/repositories/bot.repository.d.ts +4 -0
  60. package/dist/database/repositories/bot.repository.d.ts.map +1 -1
  61. package/dist/database/repositories/bot.repository.js +15 -0
  62. package/dist/database/repositories/bot.repository.js.map +1 -1
  63. package/dist/database/repositories/project.repository.d.ts.map +1 -1
  64. package/dist/database/repositories/project.repository.js +0 -2
  65. package/dist/database/repositories/project.repository.js.map +1 -1
  66. package/dist/database/repositories/task.repository.d.ts +2 -1
  67. package/dist/database/repositories/task.repository.d.ts.map +1 -1
  68. package/dist/database/repositories/task.repository.js +19 -1
  69. package/dist/database/repositories/task.repository.js.map +1 -1
  70. package/dist/dispatcher/cleanup.service.d.ts +5 -0
  71. package/dist/dispatcher/cleanup.service.d.ts.map +1 -1
  72. package/dist/dispatcher/cleanup.service.js +19 -0
  73. package/dist/dispatcher/cleanup.service.js.map +1 -1
  74. package/dist/dispatcher/dispatcher.module.d.ts.map +1 -1
  75. package/dist/dispatcher/dispatcher.module.js +4 -0
  76. package/dist/dispatcher/dispatcher.module.js.map +1 -1
  77. package/dist/dispatcher/dispatcher.service.d.ts +0 -1
  78. package/dist/dispatcher/dispatcher.service.d.ts.map +1 -1
  79. package/dist/dispatcher/dispatcher.service.js +46 -45
  80. package/dist/dispatcher/dispatcher.service.js.map +1 -1
  81. package/dist/dispatcher/dispatcher.types.d.ts +1 -0
  82. package/dist/dispatcher/dispatcher.types.d.ts.map +1 -1
  83. package/dist/dispatcher/scheduler.service.d.ts.map +1 -1
  84. package/dist/dispatcher/scheduler.service.js +14 -3
  85. package/dist/dispatcher/scheduler.service.js.map +1 -1
  86. package/dist/dispatcher/stage-confirm-timeout.service.d.ts +15 -0
  87. package/dist/dispatcher/stage-confirm-timeout.service.d.ts.map +1 -0
  88. package/dist/dispatcher/stage-confirm-timeout.service.js +81 -0
  89. package/dist/dispatcher/stage-confirm-timeout.service.js.map +1 -0
  90. package/dist/dispatcher/task-creation.service.d.ts +3 -1
  91. package/dist/dispatcher/task-creation.service.d.ts.map +1 -1
  92. package/dist/dispatcher/task-creation.service.js +30 -4
  93. package/dist/dispatcher/task-creation.service.js.map +1 -1
  94. package/dist/dispatcher/task-lifecycle.service.d.ts +4 -2
  95. package/dist/dispatcher/task-lifecycle.service.d.ts.map +1 -1
  96. package/dist/dispatcher/task-lifecycle.service.js +78 -8
  97. package/dist/dispatcher/task-lifecycle.service.js.map +1 -1
  98. package/dist/dispatcher/task-name.service.d.ts +14 -0
  99. package/dist/dispatcher/task-name.service.d.ts.map +1 -0
  100. package/dist/dispatcher/task-name.service.js +80 -0
  101. package/dist/dispatcher/task-name.service.js.map +1 -0
  102. package/dist/events/event-types.d.ts +1 -0
  103. package/dist/events/event-types.d.ts.map +1 -1
  104. package/dist/notifier/notification-consumer.d.ts +33 -1
  105. package/dist/notifier/notification-consumer.d.ts.map +1 -1
  106. package/dist/notifier/notification-consumer.js +235 -11
  107. package/dist/notifier/notification-consumer.js.map +1 -1
  108. package/dist/notifier/notifier.service.d.ts +5 -1
  109. package/dist/notifier/notifier.service.d.ts.map +1 -1
  110. package/dist/notifier/notifier.service.js +6 -3
  111. package/dist/notifier/notifier.service.js.map +1 -1
  112. package/dist/notifier/template.service.d.ts +15 -0
  113. package/dist/notifier/template.service.d.ts.map +1 -1
  114. package/dist/notifier/template.service.js +92 -31
  115. package/dist/notifier/template.service.js.map +1 -1
  116. package/dist/web/admin/admin-developer.controller.d.ts +2 -2
  117. package/dist/web/admin/admin-settings.controller.d.ts.map +1 -1
  118. package/dist/web/admin/admin-settings.controller.js +0 -1
  119. package/dist/web/admin/admin-settings.controller.js.map +1 -1
  120. package/dist/web/dashboard.controller.d.ts +1 -1
  121. package/dist/web/dashboard.controller.d.ts.map +1 -1
  122. package/dist/web/dashboard.controller.js +12 -4
  123. package/dist/web/dashboard.controller.js.map +1 -1
  124. package/dist/web/dashboard.service.d.ts +18 -0
  125. package/dist/web/dashboard.service.d.ts.map +1 -1
  126. package/dist/web/dashboard.service.js +81 -11
  127. package/dist/web/dashboard.service.js.map +1 -1
  128. package/dist/web/frame-handlers/index.d.ts +2 -0
  129. package/dist/web/frame-handlers/index.d.ts.map +1 -1
  130. package/dist/web/frame-handlers/index.js +5 -1
  131. package/dist/web/frame-handlers/index.js.map +1 -1
  132. package/dist/web/frame-handlers/progress.handler.d.ts +3 -1
  133. package/dist/web/frame-handlers/progress.handler.d.ts.map +1 -1
  134. package/dist/web/frame-handlers/progress.handler.js +22 -3
  135. package/dist/web/frame-handlers/progress.handler.js.map +1 -1
  136. package/dist/web/frame-handlers/stage-choice.handler.d.ts +15 -0
  137. package/dist/web/frame-handlers/stage-choice.handler.d.ts.map +1 -0
  138. package/dist/web/frame-handlers/stage-choice.handler.js +39 -0
  139. package/dist/web/frame-handlers/stage-choice.handler.js.map +1 -0
  140. package/dist/web/frame-handlers/stage-confirm.handler.d.ts.map +1 -1
  141. package/dist/web/frame-handlers/stage-confirm.handler.js +1 -0
  142. package/dist/web/frame-handlers/stage-confirm.handler.js.map +1 -1
  143. package/dist/web/frame-handlers/stage-input.handler.d.ts +15 -0
  144. package/dist/web/frame-handlers/stage-input.handler.d.ts.map +1 -0
  145. package/dist/web/frame-handlers/stage-input.handler.js +39 -0
  146. package/dist/web/frame-handlers/stage-input.handler.js.map +1 -0
  147. package/dist/web/project.controller.d.ts +2 -4
  148. package/dist/web/project.controller.d.ts.map +1 -1
  149. package/dist/web/search.service.d.ts +1 -0
  150. package/dist/web/search.service.d.ts.map +1 -1
  151. package/dist/web/search.service.js +6 -6
  152. package/dist/web/search.service.js.map +1 -1
  153. package/dist/web/task.controller.d.ts +16 -1
  154. package/dist/web/task.controller.d.ts.map +1 -1
  155. package/dist/web/task.controller.js +57 -5
  156. package/dist/web/task.controller.js.map +1 -1
  157. package/dist/web/web-event.service.d.ts.map +1 -1
  158. package/dist/web/web-event.service.js +1 -0
  159. package/dist/web/web-event.service.js.map +1 -1
  160. package/dist/web/worker-channel.gateway.d.ts.map +1 -1
  161. package/dist/web/worker-channel.gateway.js +3 -1
  162. package/dist/web/worker-channel.gateway.js.map +1 -1
  163. package/package.json +4 -4
  164. package/public/assets/{AccessTokensPage-D_A93EkP.js → AccessTokensPage-Yp8IfrfF.js} +1 -1
  165. package/public/assets/{AdminPage-DnmoRibU.js → AdminPage-CS2HrhOC.js} +1 -1
  166. package/public/assets/ApiReferencePage-DTinm3RG.js +1 -0
  167. package/public/assets/{ArchitecturePage-Co5G-15M.js → ArchitecturePage-BpA3PUuf.js} +1 -1
  168. package/public/assets/{AuditLogPage-DoaVh4un.js → AuditLogPage-B_Qopq3a.js} +2 -2
  169. package/public/assets/{BindPlatformPage-C2bIjAbT.js → BindPlatformPage-BkV-IfaR.js} +1 -1
  170. package/public/assets/BotIntegrationPage-DLuRDIam.js +1 -0
  171. package/public/assets/BotManage-XKHjrA-7.js +6 -0
  172. package/public/assets/BotSetupPage-Cn40afR9.js +33 -0
  173. package/public/assets/{ChangelogPage-CazGvq6Y.js → ChangelogPage-ChiapPDH.js} +1 -1
  174. package/public/assets/{CliReferencePage-tonM0XBs.js → CliReferencePage-3eHb6kRq.js} +1 -1
  175. package/public/assets/{DeploymentPage-DwifcnIe.js → DeploymentPage-CvT9Pcow.js} +1 -1
  176. package/public/assets/{DevWorkflowPage-DJddffhm.js → DevWorkflowPage-BLEIbUu1.js} +1 -1
  177. package/public/assets/{DeveloperManage-DwaEFuLo.js → DeveloperManage-DAJBvmdv.js} +2 -2
  178. package/public/assets/{DeveloperSetupPage-DA4BHPuG.js → DeveloperSetupPage-BhE83ouS.js} +1 -1
  179. package/public/assets/{DocsIndexPage-C-FZbN8Z.js → DocsIndexPage-BE_tyO2Q.js} +1 -1
  180. package/public/assets/{DocsLayout-HdiVoWKl.js → DocsLayout-D1S4KUeB.js} +1 -1
  181. package/public/assets/{DocsPrimitives-DU41lKXb.js → DocsPrimitives-BQXfZXxZ.js} +1 -1
  182. package/public/assets/EditProjectPage-BjgRi6kG.js +2 -0
  183. package/public/assets/{EmptyState-i9jXL5NQ.js → EmptyState-Dlt6FhVC.js} +1 -1
  184. package/public/assets/EnvVariablesPage-CvcP4GZM.js +24 -0
  185. package/public/assets/HomePage-uEE3mJNM.js +1 -0
  186. package/public/assets/{InfoRow-kU23cpPE.js → InfoRow-Db2nisGq.js} +1 -1
  187. package/public/assets/{InstallationPage-JxXYftV0.js → InstallationPage-kt-du5Rr.js} +2 -2
  188. package/public/assets/{LandingPage-7--4I0lt.js → LandingPage-2irRMduO.js} +1 -1
  189. package/public/assets/{LocalDevelopmentPage-B0C1C5Rs.js → LocalDevelopmentPage-7JvSDwD1.js} +1 -1
  190. package/public/assets/{LoginPage-2Io9O_Q7.js → LoginPage-DDk_X1sv.js} +1 -1
  191. package/public/assets/{MetricBar-BSwVCFMX.js → MetricBar-BhjbfPOa.js} +1 -1
  192. package/public/assets/{NotFoundPage-DbO52kqL.js → NotFoundPage-ByRykDvA.js} +1 -1
  193. package/public/assets/{OnboardingGuide-BeP-StZq.js → OnboardingGuide-CinJRqx5.js} +1 -1
  194. package/public/assets/{PermissionsPage-BMM-SA8k.js → PermissionsPage-C5RXlztC.js} +1 -1
  195. package/public/assets/PipelineConfigPage-BSkSRngC.js +22 -0
  196. package/public/assets/{PipelineEditorPage-CpW1dBVH.js → PipelineEditorPage-BoZ_MVNO.js} +2 -2
  197. package/public/assets/{ProfilePage-BaDJoNI7.js → ProfilePage-CePUfQDH.js} +1 -1
  198. package/public/assets/ProjectDetailPage-_DswTp8-.js +7 -0
  199. package/public/assets/ProjectListPage-fVbDom8_.js +6 -0
  200. package/public/assets/{PtyTerminal-CEkY7dvk.js → PtyTerminal-Dpk4L7LN.js} +1 -1
  201. package/public/assets/{QuickAuth-9InsfbSA.js → QuickAuth-BAmZCI4O.js} +1 -1
  202. package/public/assets/{RemoveMemberConfirmDialog-Do5LW-9Q.js → RemoveMemberConfirmDialog-DYi6BAz2.js} +2 -2
  203. package/public/assets/{Select-8IQBiBBw.js → Select-DnIOEVCT.js} +1 -1
  204. package/public/assets/SettingsPage-CwV-t8vo.js +6 -0
  205. package/public/assets/{Skeleton-B3ZvE5gP.js → Skeleton--qglldqs.js} +1 -1
  206. package/public/assets/{SkillPage-BhiRgb-S.js → SkillPage-CsXXruJZ.js} +1 -1
  207. package/public/assets/TaskDetailPage-gOUWMfkb.js +21 -0
  208. package/public/assets/TaskListPage-vF17zpt2.js +1 -0
  209. package/public/assets/{TaskStatusBadge-B6mxAWy2.js → TaskStatusBadge-CCh-nmLz.js} +1 -1
  210. package/public/assets/TerminalHomePage-DXFg88Q9.js +11 -0
  211. package/public/assets/{TokenManage-CenYPcRv.js → TokenManage-P98_TYIe.js} +1 -1
  212. package/public/assets/Tooltip-DGoJgM_K.js +1 -0
  213. package/public/assets/{TotpSetupPage-DQyx573Y.js → TotpSetupPage-D5GUedMd.js} +1 -1
  214. package/public/assets/WorkerDetailPage-CkI1feoH.js +1 -0
  215. package/public/assets/{WorkerListPage-_bt8SJDK.js → WorkerListPage-C90v6nLx.js} +2 -2
  216. package/public/assets/{WorkerOperationsPage-CDat2rGV.js → WorkerOperationsPage-OxH0Ky0Y.js} +1 -1
  217. package/public/assets/{WorkerSetupGuidePage-CN7fSwA-.js → WorkerSetupGuidePage-DGlgYS82.js} +1 -1
  218. package/public/assets/{WorkerSetupPage--spDks6s.js → WorkerSetupPage-DJ359PwT.js} +1 -1
  219. package/public/assets/{arrow-left-CQ-bmyEx.js → arrow-left-BPgCxdEG.js} +1 -1
  220. package/public/assets/{arrow-right-BOWA0FvU.js → arrow-right-Z-hFp5rr.js} +1 -1
  221. package/public/assets/{bot-BpTfNKBP.js → bot-B7Bl9J0r.js} +1 -1
  222. package/public/assets/{chevron-right-D-xhzuZQ.js → chevron-right-D_hyYdgn.js} +1 -1
  223. package/public/assets/{copy-DXSXnWX4.js → copy-SJf3OFPQ.js} +1 -1
  224. package/public/assets/{download-FbsyL-QU.js → download-D7rCJJks.js} +1 -1
  225. package/public/assets/{external-link-CPRFmfE1.js → external-link-BrXLoqUZ.js} +1 -1
  226. package/public/assets/index-BiItJ2NI.css +1 -0
  227. package/public/assets/{index-D205WYza.js → index-DPCzKHL-.js} +23 -23
  228. package/public/assets/{key-Diuh2Udi.js → key-CCF8A0TZ.js} +1 -1
  229. package/public/assets/{loader-circle-CsopNBbX.js → loader-circle-BO0HYeDT.js} +1 -1
  230. package/public/assets/{pencil-n52F1Vop.js → pencil-BhxWbYup.js} +1 -1
  231. package/public/assets/{plus-BHkYD1iG.js → plus-BnJSQWb4.js} +1 -1
  232. package/public/assets/{rotate-ccw-Bl22woOU.js → rotate-ccw-CioNXT1z.js} +1 -1
  233. package/public/assets/{scroll-text-DbVWAYzk.js → scroll-text-DpFjChL8.js} +1 -1
  234. package/public/assets/{settings-0li6vYCf.js → settings-Bklbsj12.js} +1 -1
  235. package/public/assets/{status-colors-C6o-wKJJ.js → status-colors-BkxgT8vX.js} +1 -1
  236. package/public/assets/{task-constants-a8NftfbJ.js → task-constants-Ctac6aky.js} +1 -1
  237. package/public/assets/task-display-J_FNKBLK.js +1 -0
  238. package/public/assets/{trash-2-LoxvLZVm.js → trash-2-_3SD7t1j.js} +1 -1
  239. package/public/assets/{useFetch-DIPC8gCD.js → useFetch-D8w38eG7.js} +1 -1
  240. package/public/assets/{users-BgBBs7IT.js → users-BBjD2TJy.js} +1 -1
  241. package/public/assets/{wifi-CF0XZj9i.js → wifi-KyET3jRD.js} +1 -1
  242. package/public/assets/{workflow-DBOppGKP.js → workflow-EN1ACj2x.js} +1 -1
  243. package/public/index.html +2 -2
  244. package/public/sw.js +1 -1
  245. package/dist/common/command-parser.d.ts +0 -29
  246. package/dist/common/command-parser.d.ts.map +0 -1
  247. package/dist/common/command-parser.js +0 -133
  248. package/dist/common/command-parser.js.map +0 -1
  249. package/dist/common/machine-utils.d.ts +0 -32
  250. package/dist/common/machine-utils.d.ts.map +0 -1
  251. package/dist/common/machine-utils.js +0 -12
  252. package/dist/common/machine-utils.js.map +0 -1
  253. package/dist/common/worker-utils.d.ts +0 -31
  254. package/dist/common/worker-utils.d.ts.map +0 -1
  255. package/dist/common/worker-utils.js +0 -12
  256. package/dist/common/worker-utils.js.map +0 -1
  257. package/dist/database/repositories/machine.repository.d.ts +0 -46
  258. package/dist/database/repositories/machine.repository.d.ts.map +0 -1
  259. package/dist/database/repositories/machine.repository.js +0 -200
  260. package/dist/database/repositories/machine.repository.js.map +0 -1
  261. package/dist/dispatcher/machine-selector.d.ts +0 -18
  262. package/dist/dispatcher/machine-selector.d.ts.map +0 -1
  263. package/dist/dispatcher/machine-selector.js +0 -148
  264. package/dist/dispatcher/machine-selector.js.map +0 -1
  265. package/dist/web/admin/admin-machine.controller.d.ts +0 -72
  266. package/dist/web/admin/admin-machine.controller.d.ts.map +0 -1
  267. package/dist/web/admin/admin-machine.controller.js +0 -176
  268. package/dist/web/admin/admin-machine.controller.js.map +0 -1
  269. package/dist/web/machine.controller.d.ts +0 -115
  270. package/dist/web/machine.controller.d.ts.map +0 -1
  271. package/dist/web/machine.controller.js +0 -125
  272. package/dist/web/machine.controller.js.map +0 -1
  273. package/public/assets/ApiReferencePage-8Fvke3MS.js +0 -1
  274. package/public/assets/BotIntegrationPage-BgK7NXyQ.js +0 -1
  275. package/public/assets/BotManage-BlWUAERC.js +0 -6
  276. package/public/assets/BotSetupPage-BhNhgobr.js +0 -33
  277. package/public/assets/EditProjectPage-0HfKfeFS.js +0 -2
  278. package/public/assets/EnvVariablesPage-DofRDtyz.js +0 -1
  279. package/public/assets/HomePage-Ct5rkEIu.js +0 -1
  280. package/public/assets/PipelineConfigPage-6KxS3scE.js +0 -28
  281. package/public/assets/ProjectDetailPage-QjUSwxfS.js +0 -7
  282. package/public/assets/ProjectListPage-Bs0GPEJb.js +0 -6
  283. package/public/assets/SettingsPage-DRWkl-_N.js +0 -6
  284. package/public/assets/TaskDetailPage-vwqcnwqe.js +0 -21
  285. package/public/assets/TaskListPage-DRiTh03Z.js +0 -1
  286. package/public/assets/TerminalHomePage-sK-nSIOn.js +0 -11
  287. package/public/assets/WorkerDetailPage-BV7YTrMb.js +0 -1
  288. package/public/assets/index-DrlMKbMb.css +0 -1
@@ -11,27 +11,16 @@ const common_1 = require("@nestjs/common");
11
11
  const protocol_1 = require("@overlordai/protocol");
12
12
  const config_1 = require("../common/config");
13
13
  const string_utils_1 = require("../common/string-utils");
14
- /** Status display configuration: emoji + color label. */
15
- const STATUS_DISPLAY = {
16
- [protocol_1.TaskStatus.QUEUED]: { emoji: '🕐', label: 'Queued', color: 'grey' },
17
- [protocol_1.TaskStatus.ASSIGNED]: { emoji: '📋', label: 'Assigned', color: 'blue' },
18
- [protocol_1.TaskStatus.RUNNING]: { emoji: '🔄', label: 'Running', color: 'blue' },
19
- [protocol_1.TaskStatus.SUSPENDED]: {
20
- emoji: '⏸️',
21
- label: 'Suspended',
22
- color: 'orange',
23
- },
24
- [protocol_1.TaskStatus.COMPLETED]: {
25
- emoji: '✅',
26
- label: 'Completed',
27
- color: 'green',
28
- },
29
- [protocol_1.TaskStatus.FAILED]: { emoji: '❌', label: 'Failed', color: 'red' },
30
- [protocol_1.TaskStatus.CANCELLED]: {
31
- emoji: '🚫',
32
- label: 'Cancelled',
33
- color: 'grey',
34
- },
14
+ const status_display_1 = require("../common/status-display");
15
+ /** Status label mapping (title-cased names for display). */
16
+ const STATUS_LABELS = {
17
+ [protocol_1.TaskStatus.QUEUED]: 'Queued',
18
+ [protocol_1.TaskStatus.ASSIGNED]: 'Assigned',
19
+ [protocol_1.TaskStatus.RUNNING]: 'Running',
20
+ [protocol_1.TaskStatus.SUSPENDED]: 'Suspended',
21
+ [protocol_1.TaskStatus.COMPLETED]: 'Completed',
22
+ [protocol_1.TaskStatus.FAILED]: 'Failed',
23
+ [protocol_1.TaskStatus.CANCELLED]: 'Cancelled',
35
24
  };
36
25
  let TemplateService = class TemplateService {
37
26
  get webBaseUrl() { return (0, config_1.getWebUrl)(); }
@@ -39,12 +28,12 @@ let TemplateService = class TemplateService {
39
28
  * Build a task notification (created, running, stage changed, completed, etc.).
40
29
  */
41
30
  buildTaskNotification(task, eventType, extra) {
42
- const statusInfo = STATUS_DISPLAY[task.status] ?? {
43
- emoji: '❓',
44
- label: task.status,
45
- color: 'grey',
31
+ const statusInfo = {
32
+ emoji: status_display_1.TASK_STATUS_EMOJIS[task.status] ?? '❓',
33
+ label: STATUS_LABELS[task.status] ?? task.status,
34
+ color: status_display_1.TASK_STATUS_COLORS[task.status] ?? 'grey',
46
35
  };
47
- const desc = (0, string_utils_1.truncate)(task.description, 50);
36
+ const desc = (0, string_utils_1.taskDisplayName)(task);
48
37
  const webLink = `${this.webBaseUrl}/tasks/${task.id}`;
49
38
  const title = this.buildTitle(eventType, task, statusInfo);
50
39
  const fields = this.buildFields(task, statusInfo, extra);
@@ -59,6 +48,13 @@ let TemplateService = class TemplateService {
59
48
  `Task #${task.id}: ${desc}`,
60
49
  `Status: ${statusInfo.emoji} ${statusInfo.label}`,
61
50
  ];
51
+ // Include project info when available (enriched for task_completed).
52
+ if (extra?.projectName) {
53
+ textLines.push(`Project: ${extra.projectName} (${task.projectKey})`);
54
+ }
55
+ if (extra?.projectRepoUrl) {
56
+ textLines.push(`Repository: ${extra.projectRepoUrl}`);
57
+ }
62
58
  if (task.currentStage) {
63
59
  textLines.push(`Stage: ${task.currentStage}`);
64
60
  }
@@ -74,13 +70,16 @@ let TemplateService = class TemplateService {
74
70
  if (extra?.reason) {
75
71
  textLines.push(`Reason: ${extra.reason}`);
76
72
  }
73
+ if (task.branch) {
74
+ textLines.push(`Branch: ${task.branch}`);
75
+ }
77
76
  if (task.mrUrl) {
78
77
  textLines.push(`MR/PR: ${task.mrUrl}`);
79
78
  }
80
79
  textLines.push(`Details: ${webLink}`);
81
80
  return {
82
81
  text: textLines.join('\n'),
83
- card: { title, fields, actions },
82
+ card: { title, color: statusInfo.color, fields, actions },
84
83
  };
85
84
  }
86
85
  /**
@@ -88,7 +87,7 @@ let TemplateService = class TemplateService {
88
87
  */
89
88
  buildStageConfirmNotification(task, stage) {
90
89
  const webLink = `${this.webBaseUrl}/tasks/${task.id}`;
91
- const desc = (0, string_utils_1.truncate)(task.description, 50);
90
+ const desc = (0, string_utils_1.taskDisplayName)(task);
92
91
  const title = `⚠️ Stage Confirmation Required — Task #${task.id}`;
93
92
  const fields = [
94
93
  { label: 'Task', value: `#${task.id}: ${desc}` },
@@ -105,7 +104,59 @@ let TemplateService = class TemplateService {
105
104
  `Stage "${stage}" requires confirmation.`,
106
105
  `Confirm: ${webLink}?confirm=${stage}`,
107
106
  ].join('\n');
108
- return { text, card: { title, fields, actions } };
107
+ return { text, card: { title, color: 'orange', fields, actions } };
108
+ }
109
+ /**
110
+ * Build a stage-choice-required notification.
111
+ */
112
+ buildStageChoiceNotification(task, stage, prompt, options) {
113
+ const webLink = `${this.webBaseUrl}/tasks/${task.id}`;
114
+ const desc = (0, string_utils_1.taskDisplayName)(task);
115
+ const title = `⚠️ Choice Required — Task #${task.id}`;
116
+ const fields = [
117
+ { label: 'Task', value: `#${task.id} — ${desc}` },
118
+ { label: 'Stage', value: stage },
119
+ { label: 'Prompt', value: prompt },
120
+ { label: 'Options', value: options.map(o => o.label).join(', ') },
121
+ ];
122
+ const actions = [
123
+ { label: 'Choose in Dashboard', url: `${webLink}?choose=${encodeURIComponent(stage)}` },
124
+ { label: 'View Details', url: webLink },
125
+ ];
126
+ const text = [
127
+ title,
128
+ `Task #${task.id}: ${desc}`,
129
+ `Stage "${stage}" requires a choice: ${prompt}`,
130
+ `Options: ${options.map(o => o.label).join(', ')}`,
131
+ `Choose: ${webLink}?choose=${encodeURIComponent(stage)}`,
132
+ ].join('\n');
133
+ return { text, card: { title, color: 'orange', fields, actions } };
134
+ }
135
+ /**
136
+ * Build a stage-input-required notification.
137
+ */
138
+ buildStageInputNotification(task, stage, prompt, placeholder) {
139
+ const webLink = `${this.webBaseUrl}/tasks/${task.id}`;
140
+ const desc = (0, string_utils_1.taskDisplayName)(task);
141
+ const title = `✏️ Input Required — Task #${task.id}`;
142
+ const fields = [
143
+ { label: 'Task', value: `#${task.id} — ${desc}` },
144
+ { label: 'Stage', value: stage },
145
+ { label: 'Prompt', value: prompt },
146
+ ...(placeholder ? [{ label: 'Placeholder', value: placeholder }] : []),
147
+ ];
148
+ const actions = [
149
+ { label: 'Submit in Dashboard', url: `${webLink}?input=${encodeURIComponent(stage)}` },
150
+ { label: 'View Details', url: webLink },
151
+ ];
152
+ const text = [
153
+ title,
154
+ `Task #${task.id}: ${desc}`,
155
+ `Stage "${stage}" requires input: ${prompt}`,
156
+ ...(placeholder ? [`Placeholder: ${placeholder}`] : []),
157
+ `Submit: ${webLink}?input=${encodeURIComponent(stage)}`,
158
+ ].join('\n');
159
+ return { text, card: { title, color: 'orange', fields, actions } };
109
160
  }
110
161
  /**
111
162
  * Build an admin alert notification.
@@ -127,7 +178,7 @@ let TemplateService = class TemplateService {
127
178
  }
128
179
  return {
129
180
  text: textLines.join('\n'),
130
- card: { title, fields },
181
+ card: { title, color: 'red', fields },
131
182
  };
132
183
  }
133
184
  buildTitle(eventType, task, statusInfo) {
@@ -158,11 +209,18 @@ let TemplateService = class TemplateService {
158
209
  }
159
210
  }
160
211
  buildFields(task, statusInfo, extra) {
161
- const desc = (0, string_utils_1.truncate)(task.description, 50);
212
+ const desc = (0, string_utils_1.taskDisplayName)(task);
162
213
  const fields = [
163
214
  { label: 'Task', value: `#${task.id}: ${desc}` },
164
215
  { label: 'Status', value: `${statusInfo.emoji} ${statusInfo.label}` },
165
216
  ];
217
+ // Project info (enriched for task_completed).
218
+ if (extra?.projectName) {
219
+ fields.push({ label: 'Project', value: `${extra.projectName} (${task.projectKey})` });
220
+ }
221
+ if (extra?.projectRepoUrl) {
222
+ fields.push({ label: 'Repository', value: extra.projectRepoUrl });
223
+ }
166
224
  if (task.currentStage) {
167
225
  fields.push({ label: 'Stage', value: task.currentStage });
168
226
  }
@@ -184,6 +242,9 @@ let TemplateService = class TemplateService {
184
242
  if (extra?.reason) {
185
243
  fields.push({ label: 'Reason', value: extra.reason });
186
244
  }
245
+ if (task.branch) {
246
+ fields.push({ label: 'Branch', value: task.branch });
247
+ }
187
248
  if (task.mrUrl) {
188
249
  fields.push({ label: 'MR/PR', value: task.mrUrl });
189
250
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../src/notifier/template.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../src/notifier/template.service.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,9 @@ export declare class AdminDeveloperController {
14
14
  listDevelopers(q?: string): {
15
15
  totpEnabled: boolean;
16
16
  id: number;
17
+ name: string;
17
18
  status: DeveloperStatus;
18
19
  createdAt: string;
19
- name: string;
20
20
  role: DeveloperRole;
21
21
  gitName: string;
22
22
  gitEmail: string;
@@ -26,9 +26,9 @@ export declare class AdminDeveloperController {
26
26
  updateDeveloper(id: number, body: Record<string, unknown>, req: AuthenticatedRequest): {
27
27
  totpEnabled: boolean;
28
28
  id: number;
29
+ name: string;
29
30
  status: DeveloperStatus;
30
31
  createdAt: string;
31
- name: string;
32
32
  role: DeveloperRole;
33
33
  gitName: string;
34
34
  gitEmail: string;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-settings.controller.d.ts","sourceRoot":"","sources":["../../../src/web/admin/admin-settings.controller.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAmB7E,qBAGa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,kBAAkB;IAInD,WAAW;;;IAWX,cAAc,CACJ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,GAAG,EAAE,oBAAoB;;;CA2CnC"}
1
+ {"version":3,"file":"admin-settings.controller.d.ts","sourceRoot":"","sources":["../../../src/web/admin/admin-settings.controller.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAkB7E,qBAGa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,kBAAkB;IAInD,WAAW;;;IAWX,cAAc,CACJ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,GAAG,EAAE,oBAAoB;;;CA2CnC"}
@@ -28,7 +28,6 @@ const ALLOWED_SETTINGS_KEYS = new Set([
28
28
  'heartbeat_interval_seconds',
29
29
  'worker_offline_threshold_seconds',
30
30
  'default_agent_type',
31
- 'server_url',
32
31
  ]);
33
32
  let AdminSettingsController = class AdminSettingsController {
34
33
  database;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-settings.controller.js","sourceRoot":"","sources":["../../../src/web/admin/admin-settings.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-settings.controller.js","sourceRoot":"","sources":["../../../src/web/admin/admin-settings.controller.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare class DashboardController {
8
8
  private readonly projectMemberRepo;
9
9
  constructor(dashboardService: DashboardService, searchService: SearchService, projectMemberRepo: ProjectMemberRepository);
10
10
  private getMaintainerProjectKeys;
11
- getStats(): Promise<import("./dashboard.service").DashboardStats>;
11
+ getStats(tz?: string): Promise<import("./dashboard.service").DashboardStats>;
12
12
  getRecentTasks(req: AuthenticatedRequest, limit?: string): import("../database/repositories/task.repository").EnrichedTask[] | Promise<import("../database/repositories/task.repository").EnrichedTask[]>;
13
13
  getRecentActivity(req: AuthenticatedRequest, limit?: string): {
14
14
  id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.controller.d.ts","sourceRoot":"","sources":["../../src/web/dashboard.controller.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAE7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAG1E,qBAEa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,uBAAuB;IAG7D,OAAO,CAAC,wBAAwB;IAQhC,QAAQ;IAKR,cAAc,CACL,GAAG,EAAE,oBAAoB,EAChB,KAAK,CAAC,EAAE,MAAM;IAgBhC,iBAAiB,CACR,GAAG,EAAE,oBAAoB,EAChB,KAAK,CAAC,EAAE,MAAM;;;;;IAgBhC,MAAM,CACG,GAAG,EAAE,oBAAoB,EACpB,CAAC,CAAC,EAAE,MAAM,EACN,KAAK,CAAC,EAAE,MAAM;CAejC"}
1
+ {"version":3,"file":"dashboard.controller.d.ts","sourceRoot":"","sources":["../../src/web/dashboard.controller.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAE7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAG1E,qBAEa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,uBAAuB;IAG7D,OAAO,CAAC,wBAAwB;IAQ1B,QAAQ,CAAc,EAAE,CAAC,EAAE,MAAM;IAcvC,cAAc,CACL,GAAG,EAAE,oBAAoB,EAChB,KAAK,CAAC,EAAE,MAAM;IAgBhC,iBAAiB,CACR,GAAG,EAAE,oBAAoB,EAChB,KAAK,CAAC,EAAE,MAAM;;;;;IAgBhC,MAAM,CACG,GAAG,EAAE,oBAAoB,EACpB,CAAC,CAAC,EAAE,MAAM,EACN,KAAK,CAAC,EAAE,MAAM;CAejC"}
@@ -35,8 +35,15 @@ let DashboardController = class DashboardController {
35
35
  .filter((m) => m.role === protocol_1.ProjectRole.MAINTAINER)
36
36
  .map((m) => m.projectKey);
37
37
  }
38
- getStats() {
39
- return this.dashboardService.getStats();
38
+ async getStats(tz) {
39
+ const stats = await this.dashboardService.getStats();
40
+ // If the client sends its timezone offset, override date-sensitive fields
41
+ const tzOffset = tz !== undefined ? Number(tz) : NaN;
42
+ if (!Number.isNaN(tzOffset) && Number.isFinite(tzOffset) && Math.abs(tzOffset) <= 840) {
43
+ const tzStats = this.dashboardService.getTimezoneAwareStats(tzOffset);
44
+ return { ...stats, ...tzStats };
45
+ }
46
+ return stats;
40
47
  }
41
48
  getRecentTasks(req, limit) {
42
49
  const parsedLimit = (0, pagination_1.clampLimit)(limit);
@@ -63,9 +70,10 @@ let DashboardController = class DashboardController {
63
70
  exports.DashboardController = DashboardController;
64
71
  __decorate([
65
72
  (0, common_1.Get)('dashboard/stats'),
73
+ __param(0, (0, common_1.Query)('tz')),
66
74
  __metadata("design:type", Function),
67
- __metadata("design:paramtypes", []),
68
- __metadata("design:returntype", void 0)
75
+ __metadata("design:paramtypes", [String]),
76
+ __metadata("design:returntype", Promise)
69
77
  ], DashboardController.prototype, "getStats", null);
70
78
  __decorate([
71
79
  (0, common_1.Get)('dashboard/recent-tasks'),
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.controller.js","sourceRoot":"","sources":["../../src/web/dashboard.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.controller.js","sourceRoot":"","sources":["../../src/web/dashboard.controller.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,8 @@ export declare class DashboardService implements OnModuleInit, OnModuleDestroy {
31
31
  private static readonly CACHE_TTL_STATS;
32
32
  private static readonly CACHE_KEY_USER_PREFIX;
33
33
  private static readonly CACHE_TTL_USER;
34
+ private static readonly TZ_CACHE_TTL_MS;
35
+ private tzStatsCache;
34
36
  constructor(db: DatabaseService, redis?: RedisService | undefined);
35
37
  onModuleInit(): void;
36
38
  onModuleDestroy(): void;
@@ -50,7 +52,23 @@ export declare class DashboardService implements OnModuleInit, OnModuleDestroy {
50
52
  private refreshStatsAndCache;
51
53
  /** Force-refresh stats (in-memory + Redis cache). Call after mutations that affect counts. */
52
54
  invalidateStats(): void;
55
+ /**
56
+ * Compute timezone-sensitive stats (completed_today + success_rate_daily)
57
+ * using the browser's timezone offset, with a short TTL cache.
58
+ * @param tzOffsetMinutes — value from `new Date().getTimezoneOffset()` (positive = west of UTC)
59
+ */
60
+ getTimezoneAwareStats(tzOffsetMinutes: number): {
61
+ completed_today: number;
62
+ success_rate_daily: number[];
63
+ };
64
+ private computeTimezoneAwareStats;
53
65
  refreshStats(): void;
66
+ /**
67
+ * Build a 7-day array of daily success rates, filling missing days with 0.
68
+ * @param rows — query result with { day: string; rate: number }
69
+ * @param now — reference date (UTC or local-adjusted) for computing day offsets
70
+ */
71
+ private buildDailyRateArray;
54
72
  private defaultStats;
55
73
  }
56
74
  //# sourceMappingURL=dashboard.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAkBtD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,WAAW,EAAE,KAAK,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,qBACa,gBAAiB,YAAW,YAAY,EAAE,eAAe;IAalE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACP,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAbrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAkB;IAEtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAM;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAqB;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAM;gBAGzB,EAAE,EAAE,eAAe,EACP,KAAK,CAAC,EAAE,YAAY,YAAA;IAGnD,YAAY,IAAI,IAAI;IAYpB,eAAe,IAAI,IAAI;IAIjB,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAiBnC,cAAc,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkBzD,qBAAqB,CACnB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,EAAE,GAC9B,YAAY,EAAE;IAoCjB,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,EAAE,GAC9B,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAuC5D,iBAAiB,CAAC,KAAK,SAAK,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAmBxF,OAAO,CAAC,oBAAoB;IAkB5B,8FAA8F;IAC9F,eAAe,IAAI,IAAI;IAIvB,YAAY,IAAI,IAAI;IA8JpB,OAAO,CAAC,YAAY;CAerB"}
1
+ {"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ function mapActivityRow(row) {
23
23
  return {
24
24
  id: row.id,
25
25
  timestamp: row.updated_at,
26
- message: `task #${row.id} [${row.project_key}] ${row.status}: ${row.description.slice(0, 60)}`,
26
+ message: `task #${row.id} [${row.project_key}] ${row.status}: ${row.name ?? row.description.slice(0, 60)}`,
27
27
  };
28
28
  }
29
29
  let DashboardService = class DashboardService {
@@ -39,6 +39,8 @@ let DashboardService = class DashboardService {
39
39
  static CACHE_TTL_STATS = 60; // seconds
40
40
  static CACHE_KEY_USER_PREFIX = 'dashboard:user:';
41
41
  static CACHE_TTL_USER = 30; // seconds
42
+ static TZ_CACHE_TTL_MS = 60_000; // 1 minute
43
+ tzStatsCache = new Map();
42
44
  constructor(db, redis) {
43
45
  this.db = db;
44
46
  this.redis = redis;
@@ -123,7 +125,7 @@ let DashboardService = class DashboardService {
123
125
  const params = [developerId, developerId, ...maintainerProjectKeys];
124
126
  const where = `WHERE t.updated_at IS NOT NULL AND ${conditions.join(' AND ')}`;
125
127
  const rows = database
126
- .prepare(`SELECT t.id, t.status, t.project_key, t.description, t.updated_at
128
+ .prepare(`SELECT t.id, t.status, t.project_key, t.name, t.description, t.updated_at
127
129
  FROM tasks t
128
130
  ${where}
129
131
  ORDER BY t.updated_at DESC
@@ -147,7 +149,7 @@ let DashboardService = class DashboardService {
147
149
  try {
148
150
  const database = this.db.getDb();
149
151
  const rows = database
150
- .prepare(`SELECT id, status, project_key, description, updated_at
152
+ .prepare(`SELECT id, status, project_key, name, description, updated_at
151
153
  FROM tasks
152
154
  WHERE updated_at IS NOT NULL
153
155
  ORDER BY updated_at DESC
@@ -176,6 +178,65 @@ let DashboardService = class DashboardService {
176
178
  invalidateStats() {
177
179
  this.refreshStatsAndCache();
178
180
  }
181
+ /**
182
+ * Compute timezone-sensitive stats (completed_today + success_rate_daily)
183
+ * using the browser's timezone offset, with a short TTL cache.
184
+ * @param tzOffsetMinutes — value from `new Date().getTimezoneOffset()` (positive = west of UTC)
185
+ */
186
+ getTimezoneAwareStats(tzOffsetMinutes) {
187
+ const now = Date.now();
188
+ const cached = this.tzStatsCache.get(tzOffsetMinutes);
189
+ if (cached && cached.expiresAt > now) {
190
+ return cached.data;
191
+ }
192
+ const result = this.computeTimezoneAwareStats(tzOffsetMinutes);
193
+ this.tzStatsCache.set(tzOffsetMinutes, { data: result, expiresAt: now + DashboardService_1.TZ_CACHE_TTL_MS });
194
+ // Evict stale entries
195
+ if (this.tzStatsCache.size > 50) {
196
+ for (const [key, entry] of this.tzStatsCache) {
197
+ if (entry.expiresAt <= now)
198
+ this.tzStatsCache.delete(key);
199
+ }
200
+ }
201
+ return result;
202
+ }
203
+ computeTimezoneAwareStats(tzOffsetMinutes) {
204
+ const database = this.db.getDb();
205
+ // getTimezoneOffset() returns positive for west of UTC, negative for east.
206
+ // To convert UTC→local we negate: UTC+8 → offset=-480 → modifier="+480 minutes"
207
+ const localModMinutes = -tzOffsetMinutes;
208
+ const modifier = localModMinutes >= 0
209
+ ? `+${localModMinutes} minutes`
210
+ : `${localModMinutes} minutes`;
211
+ // completed_today in user's local timezone
212
+ const completedRow = database
213
+ .prepare(`SELECT COUNT(*) AS cnt FROM tasks
214
+ WHERE status = ?
215
+ AND date(completed_at, ?) >= date('now', ?)`)
216
+ .get(protocol_1.TaskStatus.COMPLETED, modifier, modifier);
217
+ // Daily success rates grouped by local date
218
+ const dailyRateRows = database
219
+ .prepare(`SELECT
220
+ date(completed_at, ?) AS day,
221
+ COALESCE(
222
+ CAST(SUM(CASE WHEN status = ? THEN 1 ELSE 0 END) AS REAL) /
223
+ NULLIF(COUNT(*), 0) * 100,
224
+ 0
225
+ ) AS rate
226
+ FROM tasks
227
+ WHERE date(completed_at, ?) >= date('now', ?, '-6 days')
228
+ AND status IN (?, ?)
229
+ GROUP BY day
230
+ ORDER BY day ASC`)
231
+ .all(modifier, protocol_1.TaskStatus.COMPLETED, modifier, modifier, protocol_1.TaskStatus.COMPLETED, protocol_1.TaskStatus.FAILED);
232
+ // Build 7-day array using user's local "now"
233
+ const nowLocal = new Date(Date.now() + localModMinutes * 60_000);
234
+ const successRateDaily = this.buildDailyRateArray(dailyRateRows, nowLocal);
235
+ return {
236
+ completed_today: completedRow.cnt,
237
+ success_rate_daily: successRateDaily,
238
+ };
239
+ }
179
240
  refreshStats() {
180
241
  try {
181
242
  const database = this.db.getDb();
@@ -227,14 +288,7 @@ let DashboardService = class DashboardService {
227
288
  ORDER BY day ASC`)
228
289
  .all(protocol_1.TaskStatus.COMPLETED, protocol_1.TaskStatus.COMPLETED, protocol_1.TaskStatus.FAILED);
229
290
  // Build array of 7 daily rates, filling missing days with 0
230
- const dailyRateMap = new Map(dailyRateRows.map((r) => [r.day, Math.round(r.rate)]));
231
- const successRateDaily = [];
232
- for (let i = 6; i >= 0; i--) {
233
- const d = new Date();
234
- d.setDate(d.getDate() - i);
235
- const key = d.toISOString().slice(0, 10);
236
- successRateDaily.push(dailyRateMap.get(key) ?? 0);
237
- }
291
+ const successRateDaily = this.buildDailyRateArray(dailyRateRows, new Date());
238
292
  const failureRows = database
239
293
  .prepare(`SELECT
240
294
  COALESCE(SUBSTR(error_message, 1, 50), 'unknown') AS error_category,
@@ -290,6 +344,22 @@ let DashboardService = class DashboardService {
290
344
  // Keep stale cache on failure - do not throw
291
345
  }
292
346
  }
347
+ /**
348
+ * Build a 7-day array of daily success rates, filling missing days with 0.
349
+ * @param rows — query result with { day: string; rate: number }
350
+ * @param now — reference date (UTC or local-adjusted) for computing day offsets
351
+ */
352
+ buildDailyRateArray(rows, now) {
353
+ const dailyRateMap = new Map(rows.map((r) => [r.day, Math.round(r.rate)]));
354
+ const result = [];
355
+ for (let i = 6; i >= 0; i--) {
356
+ const d = new Date(now);
357
+ d.setUTCDate(d.getUTCDate() - i);
358
+ const key = d.toISOString().slice(0, 10);
359
+ result.push(dailyRateMap.get(key) ?? 0);
360
+ }
361
+ return result;
362
+ }
293
363
  defaultStats() {
294
364
  return {
295
365
  active_tasks: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ export type { FrameHandler, FrameHandlerContext } from './frame-handler.interfac
2
2
  export { FrameHandlerRegistry } from './frame-handler.registry';
3
3
  export { HeartbeatHandler } from './heartbeat.handler';
4
4
  export { ProgressHandler } from './progress.handler';
5
+ export { StageChoiceHandler } from './stage-choice.handler';
5
6
  export { StageConfirmHandler } from './stage-confirm.handler';
7
+ export { StageInputHandler } from './stage-input.handler';
6
8
  export { TunnelHandler } from './tunnel.handler';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/frame-handlers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/frame-handlers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TunnelHandler = exports.StageConfirmHandler = exports.ProgressHandler = exports.HeartbeatHandler = exports.FrameHandlerRegistry = void 0;
3
+ exports.TunnelHandler = exports.StageInputHandler = exports.StageConfirmHandler = exports.StageChoiceHandler = exports.ProgressHandler = exports.HeartbeatHandler = exports.FrameHandlerRegistry = void 0;
4
4
  var frame_handler_registry_1 = require("./frame-handler.registry");
5
5
  Object.defineProperty(exports, "FrameHandlerRegistry", { enumerable: true, get: function () { return frame_handler_registry_1.FrameHandlerRegistry; } });
6
6
  var heartbeat_handler_1 = require("./heartbeat.handler");
7
7
  Object.defineProperty(exports, "HeartbeatHandler", { enumerable: true, get: function () { return heartbeat_handler_1.HeartbeatHandler; } });
8
8
  var progress_handler_1 = require("./progress.handler");
9
9
  Object.defineProperty(exports, "ProgressHandler", { enumerable: true, get: function () { return progress_handler_1.ProgressHandler; } });
10
+ var stage_choice_handler_1 = require("./stage-choice.handler");
11
+ Object.defineProperty(exports, "StageChoiceHandler", { enumerable: true, get: function () { return stage_choice_handler_1.StageChoiceHandler; } });
10
12
  var stage_confirm_handler_1 = require("./stage-confirm.handler");
11
13
  Object.defineProperty(exports, "StageConfirmHandler", { enumerable: true, get: function () { return stage_confirm_handler_1.StageConfirmHandler; } });
14
+ var stage_input_handler_1 = require("./stage-input.handler");
15
+ Object.defineProperty(exports, "StageInputHandler", { enumerable: true, get: function () { return stage_input_handler_1.StageInputHandler; } });
12
16
  var tunnel_handler_1 = require("./tunnel.handler");
13
17
  Object.defineProperty(exports, "TunnelHandler", { enumerable: true, get: function () { return tunnel_handler_1.TunnelHandler; } });
14
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/web/frame-handlers/index.ts"],"names":[],"mappings":";;;AACA,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAC7B,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/web/frame-handlers/index.ts"],"names":[],"mappings":";;;AACA,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAC7B,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}