@overlordai/server 1.0.175 → 1.0.177

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 (289) hide show
  1. package/database/migrations/020-connectors.sql +48 -0
  2. package/database/migrations/021-task-design-context.sql +17 -0
  3. package/dist/adapters/command-parser.utils.d.ts +1 -0
  4. package/dist/adapters/command-parser.utils.d.ts.map +1 -1
  5. package/dist/adapters/command-parser.utils.js +9 -0
  6. package/dist/adapters/command-parser.utils.js.map +1 -1
  7. package/dist/adapters/nlu.service.d.ts.map +1 -1
  8. package/dist/adapters/nlu.service.js +4 -1
  9. package/dist/adapters/nlu.service.js.map +1 -1
  10. package/dist/app.module.d.ts.map +1 -1
  11. package/dist/app.module.js +2 -0
  12. package/dist/app.module.js.map +1 -1
  13. package/dist/connectors/connector-closure.service.d.ts +16 -0
  14. package/dist/connectors/connector-closure.service.d.ts.map +1 -0
  15. package/dist/connectors/connector-closure.service.js +97 -0
  16. package/dist/connectors/connector-closure.service.js.map +1 -0
  17. package/dist/connectors/connector-dispatch.service.d.ts +30 -0
  18. package/dist/connectors/connector-dispatch.service.d.ts.map +1 -0
  19. package/dist/connectors/connector-dispatch.service.js +226 -0
  20. package/dist/connectors/connector-dispatch.service.js.map +1 -0
  21. package/dist/connectors/connector.constants.d.ts +4 -0
  22. package/dist/connectors/connector.constants.d.ts.map +1 -0
  23. package/dist/connectors/connector.constants.js +12 -0
  24. package/dist/connectors/connector.constants.js.map +1 -0
  25. package/dist/connectors/connector.controller.d.ts +20 -0
  26. package/dist/connectors/connector.controller.d.ts.map +1 -0
  27. package/dist/connectors/connector.controller.js +166 -0
  28. package/dist/connectors/connector.controller.js.map +1 -0
  29. package/dist/connectors/connector.interface.d.ts +61 -0
  30. package/dist/connectors/connector.interface.d.ts.map +1 -0
  31. package/dist/connectors/connector.interface.js +3 -0
  32. package/dist/connectors/connector.interface.js.map +1 -0
  33. package/dist/connectors/connector.module.d.ts +3 -0
  34. package/dist/connectors/connector.module.d.ts.map +1 -0
  35. package/dist/connectors/connector.module.js +50 -0
  36. package/dist/connectors/connector.module.js.map +1 -0
  37. package/dist/connectors/connector.registry.d.ts +15 -0
  38. package/dist/connectors/connector.registry.d.ts.map +1 -0
  39. package/dist/connectors/connector.registry.js +48 -0
  40. package/dist/connectors/connector.registry.js.map +1 -0
  41. package/dist/connectors/design-context.service.d.ts +21 -0
  42. package/dist/connectors/design-context.service.d.ts.map +1 -0
  43. package/dist/connectors/design-context.service.js +77 -0
  44. package/dist/connectors/design-context.service.js.map +1 -0
  45. package/dist/connectors/design-review-trigger.service.d.ts +15 -0
  46. package/dist/connectors/design-review-trigger.service.d.ts.map +1 -0
  47. package/dist/connectors/design-review-trigger.service.js +98 -0
  48. package/dist/connectors/design-review-trigger.service.js.map +1 -0
  49. package/dist/connectors/figma/figma-url-parser.d.ts +12 -0
  50. package/dist/connectors/figma/figma-url-parser.d.ts.map +1 -0
  51. package/dist/connectors/figma/figma-url-parser.js +28 -0
  52. package/dist/connectors/figma/figma-url-parser.js.map +1 -0
  53. package/dist/connectors/figma/figma.client.d.ts +67 -0
  54. package/dist/connectors/figma/figma.client.d.ts.map +1 -0
  55. package/dist/connectors/figma/figma.client.js +67 -0
  56. package/dist/connectors/figma/figma.client.js.map +1 -0
  57. package/dist/connectors/figma/figma.connector.d.ts +29 -0
  58. package/dist/connectors/figma/figma.connector.d.ts.map +1 -0
  59. package/dist/connectors/figma/figma.connector.js +223 -0
  60. package/dist/connectors/figma/figma.connector.js.map +1 -0
  61. package/dist/connectors/figma/index.d.ts +4 -0
  62. package/dist/connectors/figma/index.d.ts.map +1 -0
  63. package/dist/connectors/figma/index.js +10 -0
  64. package/dist/connectors/figma/index.js.map +1 -0
  65. package/dist/connectors/issue-ref-helpers.d.ts +10 -0
  66. package/dist/connectors/issue-ref-helpers.d.ts.map +1 -0
  67. package/dist/connectors/issue-ref-helpers.js +24 -0
  68. package/dist/connectors/issue-ref-helpers.js.map +1 -0
  69. package/dist/connectors/issue-ref-parser.d.ts +22 -0
  70. package/dist/connectors/issue-ref-parser.d.ts.map +1 -0
  71. package/dist/connectors/issue-ref-parser.js +35 -0
  72. package/dist/connectors/issue-ref-parser.js.map +1 -0
  73. package/dist/connectors/issue-ref-resolver.service.d.ts +44 -0
  74. package/dist/connectors/issue-ref-resolver.service.d.ts.map +1 -0
  75. package/dist/connectors/issue-ref-resolver.service.js +226 -0
  76. package/dist/connectors/issue-ref-resolver.service.js.map +1 -0
  77. package/dist/connectors/jira/jira.client.d.ts +58 -0
  78. package/dist/connectors/jira/jira.client.d.ts.map +1 -0
  79. package/dist/connectors/jira/jira.client.js +70 -0
  80. package/dist/connectors/jira/jira.client.js.map +1 -0
  81. package/dist/connectors/jira/jira.connector.d.ts +17 -0
  82. package/dist/connectors/jira/jira.connector.d.ts.map +1 -0
  83. package/dist/connectors/jira/jira.connector.js +141 -0
  84. package/dist/connectors/jira/jira.connector.js.map +1 -0
  85. package/dist/connectors/sentry/sentry.client.d.ts +54 -0
  86. package/dist/connectors/sentry/sentry.client.d.ts.map +1 -0
  87. package/dist/connectors/sentry/sentry.client.js +69 -0
  88. package/dist/connectors/sentry/sentry.client.js.map +1 -0
  89. package/dist/connectors/sentry/sentry.connector.d.ts +17 -0
  90. package/dist/connectors/sentry/sentry.connector.d.ts.map +1 -0
  91. package/dist/connectors/sentry/sentry.connector.js +173 -0
  92. package/dist/connectors/sentry/sentry.connector.js.map +1 -0
  93. package/dist/connectors/webhook-comment-parser.d.ts +18 -0
  94. package/dist/connectors/webhook-comment-parser.d.ts.map +1 -0
  95. package/dist/connectors/webhook-comment-parser.js +28 -0
  96. package/dist/connectors/webhook-comment-parser.js.map +1 -0
  97. package/dist/database/repositories/connector.repository.d.ts +84 -0
  98. package/dist/database/repositories/connector.repository.d.ts.map +1 -0
  99. package/dist/database/repositories/connector.repository.js +222 -0
  100. package/dist/database/repositories/connector.repository.js.map +1 -0
  101. package/dist/database/repositories/developer.repository.d.ts +6 -1
  102. package/dist/database/repositories/developer.repository.d.ts.map +1 -1
  103. package/dist/database/repositories/developer.repository.js +19 -1
  104. package/dist/database/repositories/developer.repository.js.map +1 -1
  105. package/dist/database/repositories/external-issue-link.repository.d.ts +27 -0
  106. package/dist/database/repositories/external-issue-link.repository.d.ts.map +1 -0
  107. package/dist/database/repositories/external-issue-link.repository.js +85 -0
  108. package/dist/database/repositories/external-issue-link.repository.js.map +1 -0
  109. package/dist/database/repositories/task-design-context.repository.d.ts +33 -0
  110. package/dist/database/repositories/task-design-context.repository.d.ts.map +1 -0
  111. package/dist/database/repositories/task-design-context.repository.js +76 -0
  112. package/dist/database/repositories/task-design-context.repository.js.map +1 -0
  113. package/dist/database/repository.module.d.ts.map +1 -1
  114. package/dist/database/repository.module.js +6 -0
  115. package/dist/database/repository.module.js.map +1 -1
  116. package/dist/dispatcher/dedup.service.d.ts +1 -1
  117. package/dist/dispatcher/dedup.service.d.ts.map +1 -1
  118. package/dist/dispatcher/dedup.service.js +2 -2
  119. package/dist/dispatcher/dedup.service.js.map +1 -1
  120. package/dist/dispatcher/dispatcher.module.d.ts.map +1 -1
  121. package/dist/dispatcher/dispatcher.module.js +2 -1
  122. package/dist/dispatcher/dispatcher.module.js.map +1 -1
  123. package/dist/dispatcher/dispatcher.service.d.ts +7 -1
  124. package/dist/dispatcher/dispatcher.service.d.ts.map +1 -1
  125. package/dist/dispatcher/dispatcher.service.js +79 -8
  126. package/dist/dispatcher/dispatcher.service.js.map +1 -1
  127. package/dist/dispatcher/dispatcher.types.d.ts +26 -0
  128. package/dist/dispatcher/dispatcher.types.d.ts.map +1 -1
  129. package/dist/dispatcher/scheduler.service.d.ts +3 -1
  130. package/dist/dispatcher/scheduler.service.d.ts.map +1 -1
  131. package/dist/dispatcher/scheduler.service.js +16 -2
  132. package/dist/dispatcher/scheduler.service.js.map +1 -1
  133. package/dist/dispatcher/task-creation.service.d.ts +47 -3
  134. package/dist/dispatcher/task-creation.service.d.ts.map +1 -1
  135. package/dist/dispatcher/task-creation.service.js +26 -9
  136. package/dist/dispatcher/task-creation.service.js.map +1 -1
  137. package/dist/dispatcher/task-lifecycle.service.d.ts +5 -1
  138. package/dist/dispatcher/task-lifecycle.service.d.ts.map +1 -1
  139. package/dist/dispatcher/task-lifecycle.service.js +32 -3
  140. package/dist/dispatcher/task-lifecycle.service.js.map +1 -1
  141. package/dist/notifier/notification-consumer.d.ts +3 -1
  142. package/dist/notifier/notification-consumer.d.ts.map +1 -1
  143. package/dist/notifier/notification-consumer.js +26 -5
  144. package/dist/notifier/notification-consumer.js.map +1 -1
  145. package/dist/notifier/template.service.d.ts +6 -0
  146. package/dist/notifier/template.service.d.ts.map +1 -1
  147. package/dist/notifier/template.service.js +12 -0
  148. package/dist/notifier/template.service.js.map +1 -1
  149. package/dist/web/admin/admin-connector.controller.d.ts +58 -0
  150. package/dist/web/admin/admin-connector.controller.d.ts.map +1 -0
  151. package/dist/web/admin/admin-connector.controller.js +327 -0
  152. package/dist/web/admin/admin-connector.controller.js.map +1 -0
  153. package/dist/web/admin/admin-developer.controller.d.ts +1 -1
  154. package/dist/web/admin/admin-developer.controller.d.ts.map +1 -1
  155. package/dist/web/admin/admin-developer.controller.js +16 -5
  156. package/dist/web/admin/admin-developer.controller.js.map +1 -1
  157. package/dist/web/dashboard.controller.d.ts +1 -1
  158. package/dist/web/dashboard.service.d.ts +2 -7
  159. package/dist/web/dashboard.service.d.ts.map +1 -1
  160. package/dist/web/dashboard.service.js +16 -21
  161. package/dist/web/dashboard.service.js.map +1 -1
  162. package/dist/web/frame-handlers/review-report.handler.d.ts +3 -1
  163. package/dist/web/frame-handlers/review-report.handler.d.ts.map +1 -1
  164. package/dist/web/frame-handlers/review-report.handler.js +8 -3
  165. package/dist/web/frame-handlers/review-report.handler.js.map +1 -1
  166. package/dist/web/task.controller.d.ts +11 -1
  167. package/dist/web/task.controller.d.ts.map +1 -1
  168. package/dist/web/task.controller.js +118 -4
  169. package/dist/web/task.controller.js.map +1 -1
  170. package/dist/web/web.module.d.ts.map +1 -1
  171. package/dist/web/web.module.js +4 -1
  172. package/dist/web/web.module.js.map +1 -1
  173. package/dist/web/worker-channel.gateway.d.ts +3 -1
  174. package/dist/web/worker-channel.gateway.d.ts.map +1 -1
  175. package/dist/web/worker-channel.gateway.js +6 -3
  176. package/dist/web/worker-channel.gateway.js.map +1 -1
  177. package/package.json +4 -4
  178. package/public/assets/{AccessTokensPage-BlZBgj0-.js → AccessTokensPage-BhRmma33.js} +1 -1
  179. package/public/assets/{AdminPage-C0OFG0LC.js → AdminPage-ByfD-Bj7.js} +1 -1
  180. package/public/assets/{AgentCliPage-Ci2XVaN8.js → AgentCliPage-DyJnRmFm.js} +1 -1
  181. package/public/assets/{ApiReferencePage-Dm9y-zCM.js → ApiReferencePage-Wcyoo5XT.js} +1 -1
  182. package/public/assets/{ArchitecturePage-BetPO5Ws.js → ArchitecturePage-DgwFpJ3c.js} +1 -1
  183. package/public/assets/{AuditLogPage-Dbd27v1s.js → AuditLogPage-ByFVvlFb.js} +1 -1
  184. package/public/assets/{AutomationCreatePage-BvSw8KoZ.js → AutomationCreatePage-Cx-FCZEr.js} +1 -1
  185. package/public/assets/{AutomationDetailPage-1Y2tp1KP.js → AutomationDetailPage-BDh7SFeh.js} +1 -1
  186. package/public/assets/{AutomationEditPage-C9UO1XrW.js → AutomationEditPage-D76Ybtpz.js} +1 -1
  187. package/public/assets/{AutomationListPage-CJk8o3Vp.js → AutomationListPage-bNDDFN0Y.js} +1 -1
  188. package/public/assets/{AutomationRunDetailPage-h7T4V9Yq.js → AutomationRunDetailPage-BEWaGMai.js} +1 -1
  189. package/public/assets/{BindPlatformPage-DpzV1bpB.js → BindPlatformPage-CgfAbUal.js} +1 -1
  190. package/public/assets/{BotIntegrationPage-9kAG4BIL.js → BotIntegrationPage-D1A10L4d.js} +1 -1
  191. package/public/assets/{BotManage-BanZ5a5-.js → BotManage-IJm4jT-7.js} +1 -1
  192. package/public/assets/{BotSetupPage-BZIfJYqL.js → BotSetupPage-DIUSFgGv.js} +1 -1
  193. package/public/assets/{ChangelogPage-Da8n7_T3.js → ChangelogPage-D3R17QQT.js} +1 -1
  194. package/public/assets/{Checkbox-Dsj1BuTd.js → Checkbox-Drx9oKpj.js} +1 -1
  195. package/public/assets/{CliReferencePage-BDFsLYmx.js → CliReferencePage-BQ6Eyq2_.js} +1 -1
  196. package/public/assets/{ConfirmStageDialog-BUTA9YZ1.js → ConfirmStageDialog-BjjJNcLJ.js} +1 -1
  197. package/public/assets/ConnectorsPage-BgBXQlwq.js +48 -0
  198. package/public/assets/{DeploymentPage-B5TlN0FI.js → DeploymentPage-Cbmb8KKs.js} +1 -1
  199. package/public/assets/{DevWorkflowPage-Abvhng0F.js → DevWorkflowPage-Dur0zn7L.js} +1 -1
  200. package/public/assets/DeveloperManage-BmFhmcbZ.js +16 -0
  201. package/public/assets/{DeveloperSetupPage-QipfVSjp.js → DeveloperSetupPage-G9amle-q.js} +1 -1
  202. package/public/assets/{DocsIndexPage-Dw-saIXq.js → DocsIndexPage-CAPCKH_C.js} +11 -6
  203. package/public/assets/{DocsLayout-BsGaDVp1.js → DocsLayout-gVsQBlHm.js} +1 -1
  204. package/public/assets/{DocsPrimitives-Bv8TQpkc.js → DocsPrimitives-VBA7lZhS.js} +1 -1
  205. package/public/assets/{EditProjectPage-CtNCwK-z.js → EditProjectPage-Dn-MgU4f.js} +1 -1
  206. package/public/assets/{EmptyState-BpbqIJyG.js → EmptyState-B0pdsOsA.js} +1 -1
  207. package/public/assets/{EnvVariablesPage-D5Cn_E5P.js → EnvVariablesPage-DXaJ3Ejc.js} +1 -1
  208. package/public/assets/HomePage-B4ION8nK.js +1 -0
  209. package/public/assets/{InfoRow-BCDb21nt.js → InfoRow-DTHohr5Y.js} +1 -1
  210. package/public/assets/{InstallationPage-DLW6MXhs.js → InstallationPage-BVY5fIOG.js} +1 -1
  211. package/public/assets/{LandingPage-BLcQBvuD.js → LandingPage-DAP65IzR.js} +1 -1
  212. package/public/assets/{LocalDevelopmentPage-BnbdovKe.js → LocalDevelopmentPage-C9pD5y0c.js} +1 -1
  213. package/public/assets/{LoginPage-Bh-p4hP9.js → LoginPage-BToTW-qz.js} +1 -1
  214. package/public/assets/{MetricBar-DLR15rum.js → MetricBar-DA42IEeN.js} +1 -1
  215. package/public/assets/{MultiSelect-BKtGWYgt.js → MultiSelect-5hKAHK2N.js} +1 -1
  216. package/public/assets/{NotFoundPage-BpUwim1l.js → NotFoundPage-BQbQRjCC.js} +1 -1
  217. package/public/assets/{OnboardingGuide-BTsSW7Mq.js → OnboardingGuide-or_CwmfY.js} +1 -1
  218. package/public/assets/{PermissionsPage-A828G2ih.js → PermissionsPage-D867c8K5.js} +1 -1
  219. package/public/assets/{PipelineConfigPage-Cw1OxgKV.js → PipelineConfigPage-DYL-Eg8a.js} +1 -1
  220. package/public/assets/{PipelineEditorPage-tewviYrj.js → PipelineEditorPage-D6EpDvPI.js} +1 -1
  221. package/public/assets/{PlanPage-Bidp5iEn.js → PlanPage-Bfgn9hdf.js} +1 -1
  222. package/public/assets/{ProfilePage-DgFxZS6i.js → ProfilePage-DydZ_JO_.js} +1 -1
  223. package/public/assets/{ProjectDetailPage-BoIU1U3V.js → ProjectDetailPage-BLSkZmV0.js} +1 -1
  224. package/public/assets/{ProjectListPage-DMoN7Ghc.js → ProjectListPage-KWBq3v71.js} +1 -1
  225. package/public/assets/{PtyTerminal-QdM0LGge.js → PtyTerminal-DZ-tRh7i.js} +1 -1
  226. package/public/assets/{QuickAuth-CGnZQLaj.js → QuickAuth-D_2JnzxW.js} +1 -1
  227. package/public/assets/{RemoveMemberConfirmDialog-uFuATit4.js → RemoveMemberConfirmDialog-B1T8FRls.js} +1 -1
  228. package/public/assets/ReviewAggregatePage-D-sgcTHd.js +6 -0
  229. package/public/assets/ReviewPage-DLXr5nmf.js +1 -0
  230. package/public/assets/{Select-CC0FnszM.js → Select-PNbJCK1d.js} +1 -1
  231. package/public/assets/{SettingsPage-DiecpWAG.js → SettingsPage-DgNCPUzP.js} +1 -1
  232. package/public/assets/{Skeleton-WCDZdltv.js → Skeleton-C9OmZNVj.js} +1 -1
  233. package/public/assets/{SkillPage-ABYkJSop.js → SkillPage-jXi2VAvG.js} +1 -1
  234. package/public/assets/TaskDetailPage-Dy0CSg-i.js +21 -0
  235. package/public/assets/{TaskGuidePage-CFzoePPd.js → TaskGuidePage-C2VJEOGp.js} +1 -1
  236. package/public/assets/TaskListPage-63cj9-Gf.js +1 -0
  237. package/public/assets/{TaskStatusBadge-CzUIb3QQ.js → TaskStatusBadge-Ieecwysj.js} +1 -1
  238. package/public/assets/{TerminalHomePage-DP-gqkiq.js → TerminalHomePage-wxZHwphZ.js} +1 -1
  239. package/public/assets/{TokenManage-CbLsJbR9.js → TokenManage-D_fRhfSC.js} +1 -1
  240. package/public/assets/{Tooltip-Ds3lc4sS.js → Tooltip-hO7lE45q.js} +1 -1
  241. package/public/assets/{TotpSetupPage-Bakhx3kM.js → TotpSetupPage-DPv5zEkr.js} +1 -1
  242. package/public/assets/{WorkerDetailPage-W_1tf-Ng.js → WorkerDetailPage-BNHh3G4i.js} +1 -1
  243. package/public/assets/{WorkerListPage-DAgJojBW.js → WorkerListPage-CnUaksv5.js} +1 -1
  244. package/public/assets/{WorkerOperationsPage-BE8gDr3P.js → WorkerOperationsPage-BF-j3TGV.js} +1 -1
  245. package/public/assets/{WorkerSetupGuidePage-Cjwu7yCO.js → WorkerSetupGuidePage-CgoXTtvB.js} +1 -1
  246. package/public/assets/{WorkerSetupPage-C4F2PDWx.js → WorkerSetupPage-C9FJdEtx.js} +1 -1
  247. package/public/assets/{agent-type-options-BTd_pbKQ.js → agent-type-options-DPcGCrTV.js} +1 -1
  248. package/public/assets/{arrow-left-Czit8jGK.js → arrow-left-CMC8xPNU.js} +1 -1
  249. package/public/assets/{arrow-right-DUvU3ZSE.js → arrow-right-CzgMaKkq.js} +1 -1
  250. package/public/assets/{bot-xYitrdXz.js → bot-DZNbJaal.js} +1 -1
  251. package/public/assets/{chevron-down-DwSdaR46.js → chevron-down-Byw_H7qa.js} +1 -1
  252. package/public/assets/{chevron-left-DMFdbT8q.js → chevron-left-B9OwsObK.js} +1 -1
  253. package/public/assets/{chevron-right-BqoEBUXc.js → chevron-right-BDxmkY05.js} +1 -1
  254. package/public/assets/{chevron-up-4jZShvn6.js → chevron-up-qpQChOEd.js} +1 -1
  255. package/public/assets/{circle-alert-gAYg5DQY.js → circle-alert-qjGQBuvk.js} +1 -1
  256. package/public/assets/{clock-Bn8CRcdc.js → clock-RH0F7m7Y.js} +1 -1
  257. package/public/assets/{copy-_C7txolK.js → copy-sq8YNzps.js} +1 -1
  258. package/public/assets/{download-CGR9pdGa.js → download-BILbhyFl.js} +1 -1
  259. package/public/assets/{external-link-DGEar13h.js → external-link-6-aTSDMz.js} +1 -1
  260. package/public/assets/{git-fork-bd2vu3ng.js → git-fork-Tz0-ma48.js} +1 -1
  261. package/public/assets/{index-DAwsREkq.js → index-CqgRY3L6.js} +13 -13
  262. package/public/assets/{key-b6kn-A1T.js → key-D8a2ymYq.js} +1 -1
  263. package/public/assets/{loader-circle-vH-Hp_AS.js → loader-circle-CRxnDWNg.js} +1 -1
  264. package/public/assets/{pencil-Cxzh8oiw.js → pencil-BB-LZCT2.js} +1 -1
  265. package/public/assets/{play-bFi1k4eQ.js → play-DP6MNxNf.js} +1 -1
  266. package/public/assets/{plus-DJTaWh3N.js → plus-DSLmbw91.js} +1 -1
  267. package/public/assets/{rotate-ccw-CXFQ7046.js → rotate-ccw-DkPBqmSU.js} +1 -1
  268. package/public/assets/{scroll-text-UIbwyc0E.js → scroll-text-Cn9LA-xo.js} +1 -1
  269. package/public/assets/{settings-DA_C9Znv.js → settings-DQCRnFRi.js} +1 -1
  270. package/public/assets/{skip-forward-C71GgwGt.js → skip-forward-ZkknEL37.js} +1 -1
  271. package/public/assets/{status-colors-C14ffr9M.js → status-colors-CpKIU449.js} +1 -1
  272. package/public/assets/{task-agent-BasiQZ0L.js → task-agent-knUib-IL.js} +1 -1
  273. package/public/assets/{task-constants-DihuKtBw.js → task-constants-DiU1z_dP.js} +1 -1
  274. package/public/assets/{task.store-MpV9TV7z.js → task.store-BfdxbFUg.js} +1 -1
  275. package/public/assets/{timer-COkLkLUF.js → timer-BJw0BmGT.js} +1 -1
  276. package/public/assets/{trash-2-CDhJihtl.js → trash-2-DLdIg5hq.js} +1 -1
  277. package/public/assets/{useFetch-CgkGfhaP.js → useFetch-cT1ib8kh.js} +1 -1
  278. package/public/assets/{users-BwpIig9c.js → users-D2JV7gxB.js} +1 -1
  279. package/public/assets/{wifi-D5o6IWuC.js → wifi-Jy12B8KN.js} +1 -1
  280. package/public/assets/{workflow-DXTOpHef.js → workflow-BmBIBEn9.js} +1 -1
  281. package/public/assets/{zap-CEUF2oJs.js → zap-oNjSxQ6J.js} +1 -1
  282. package/public/index.html +1 -1
  283. package/public/sw.js +1 -1
  284. package/public/assets/DeveloperManage-DPSHCC6K.js +0 -16
  285. package/public/assets/HomePage-BFNO_Hk6.js +0 -1
  286. package/public/assets/ReviewAggregatePage-D5S57j51.js +0 -6
  287. package/public/assets/ReviewPage-tkUY7vrY.js +0 -1
  288. package/public/assets/TaskDetailPage-D6qSqsm0.js +0 -21
  289. package/public/assets/TaskListPage-rDPMfjmN.js +0 -1
@@ -0,0 +1,58 @@
1
+ import { ConnectorRepository } from '../../database/repositories/connector.repository';
2
+ import { ProjectRepository } from '../../database/repositories/project.repository';
3
+ import { AuditLogRepository } from '../../database/repositories/audit-log.repository';
4
+ import { CryptoService } from '../../common/crypto.service';
5
+ import { ConnectorRegistry } from '../../connectors/connector.registry';
6
+ import type { AuthenticatedRequest } from '../../auth/authenticated-request';
7
+ export declare class AdminConnectorController {
8
+ private readonly connectorRepo;
9
+ private readonly projectRepo;
10
+ private readonly auditLogRepo;
11
+ private readonly cryptoService;
12
+ private readonly connectorRegistry;
13
+ constructor(connectorRepo: ConnectorRepository, projectRepo: ProjectRepository, auditLogRepo: AuditLogRepository, cryptoService: CryptoService, connectorRegistry: ConnectorRegistry);
14
+ listConnectors(): Omit<import("../../database/repositories/connector.repository").ConnectorInstanceRow, "credentials" | "webhookSecret">[];
15
+ createConnector(body: {
16
+ platform: string;
17
+ name: string;
18
+ baseUrl?: string;
19
+ credentials: Record<string, string>;
20
+ webhookSecret?: string;
21
+ scope?: string;
22
+ mentionKeyword?: string;
23
+ }, req: AuthenticatedRequest): Omit<import("../../database/repositories/connector.repository").ConnectorInstanceRow, "credentials" | "webhookSecret">;
24
+ updateConnector(id: number, body: {
25
+ name?: string;
26
+ baseUrl?: string;
27
+ credentials?: Record<string, string>;
28
+ webhookSecret?: string;
29
+ status?: string;
30
+ mentionKeyword?: string;
31
+ }, req: AuthenticatedRequest): Omit<import("../../database/repositories/connector.repository").ConnectorInstanceRow, "credentials" | "webhookSecret">;
32
+ deleteConnector(id: number, req: AuthenticatedRequest): {
33
+ success: boolean;
34
+ };
35
+ validateCredentials(id: number): Promise<{
36
+ valid: boolean;
37
+ }>;
38
+ listAllBindings(): (import("../../database/repositories/connector.repository").ConnectorBindingRow & {
39
+ connectorName: string;
40
+ platform: string;
41
+ })[];
42
+ listBindings(id: number): import("../../database/repositories/connector.repository").ConnectorBindingRow[];
43
+ createBinding(id: number, body: {
44
+ projectKey: string;
45
+ externalProjectKey?: string;
46
+ isDefault?: boolean;
47
+ statusMapping?: Record<string, string>;
48
+ autoDesignReview?: boolean;
49
+ }, req: AuthenticatedRequest): import("../../database/repositories/connector.repository").ConnectorBindingRow;
50
+ updateBinding(bindingId: number, body: {
51
+ autoDesignReview?: boolean;
52
+ statusMapping?: Record<string, string> | null;
53
+ }, req: AuthenticatedRequest): import("../../database/repositories/connector.repository").ConnectorBindingRow | null;
54
+ deleteBinding(bindingId: number, req: AuthenticatedRequest): {
55
+ success: boolean;
56
+ };
57
+ }
58
+ //# sourceMappingURL=admin-connector.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-connector.controller.d.ts","sourceRoot":"","sources":["../../../src/web/admin/admin-connector.controller.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAM7E,qBAGa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAJjB,aAAa,EAAE,mBAAmB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EAAE,kBAAkB,EAChC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB;IAIvD,cAAc;IAMd,eAAe,CACL,IAAI,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EACM,GAAG,EAAE,oBAAoB;IAsDlC,eAAe,CACc,EAAE,EAAE,MAAM,EAC7B,IAAI,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EACM,GAAG,EAAE,oBAAoB;IA8ClC,eAAe,CACc,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,oBAAoB;;;IAkB5B,mBAAmB,CACI,EAAE,EAAE,MAAM;;;IAgBvC,eAAe;;;;IAKf,YAAY,CAA4B,EAAE,EAAE,MAAM;IAOlD,aAAa,CACgB,EAAE,EAAE,MAAM,EAC7B,IAAI,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,EACM,GAAG,EAAE,oBAAoB;IAkDlC,aAAa,CACuB,SAAS,EAAE,MAAM,EAC3C,IAAI,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;KAAE,EACpF,GAAG,EAAE,oBAAoB;IAqBlC,aAAa,CACuB,SAAS,EAAE,MAAM,EAC5C,GAAG,EAAE,oBAAoB;;;CAgBnC"}
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AdminConnectorController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const protocol_1 = require("@overlordai/protocol");
18
+ const jwt_auth_guard_1 = require("../../auth/guards/jwt-auth.guard");
19
+ const roles_guard_1 = require("../../auth/guards/roles.guard");
20
+ const roles_decorator_1 = require("../../auth/decorators/roles.decorator");
21
+ const connector_repository_1 = require("../../database/repositories/connector.repository");
22
+ const project_repository_1 = require("../../database/repositories/project.repository");
23
+ const audit_log_repository_1 = require("../../database/repositories/audit-log.repository");
24
+ const crypto_service_1 = require("../../common/crypto.service");
25
+ const connector_registry_1 = require("../../connectors/connector.registry");
26
+ // Only accept platforms that have a registered connector implementation.
27
+ // ConnectorPlatform enum includes 'linear' but no Linear connector exists yet.
28
+ const VALID_PLATFORMS = new Set([protocol_1.ConnectorPlatform.JIRA, protocol_1.ConnectorPlatform.SENTRY, protocol_1.ConnectorPlatform.FIGMA]);
29
+ let AdminConnectorController = class AdminConnectorController {
30
+ constructor(connectorRepo, projectRepo, auditLogRepo, cryptoService, connectorRegistry) {
31
+ this.connectorRepo = connectorRepo;
32
+ this.projectRepo = projectRepo;
33
+ this.auditLogRepo = auditLogRepo;
34
+ this.cryptoService = cryptoService;
35
+ this.connectorRegistry = connectorRegistry;
36
+ }
37
+ listConnectors() {
38
+ const instances = this.connectorRepo.findAllInstances();
39
+ return instances.map(connector_repository_1.ConnectorRepository.stripSecrets);
40
+ }
41
+ createConnector(body, req) {
42
+ if (!VALID_PLATFORMS.has(body.platform)) {
43
+ throw new common_1.BadRequestException(`Invalid platform. Must be one of: ${[...VALID_PLATFORMS].join(', ')}`);
44
+ }
45
+ if (!body.name?.trim()) {
46
+ throw new common_1.BadRequestException('name must be a non-empty string');
47
+ }
48
+ if (!body.credentials || typeof body.credentials !== 'object') {
49
+ throw new common_1.BadRequestException('credentials must be a non-empty object');
50
+ }
51
+ // Platform-specific credential validation
52
+ if (body.platform === 'sentry' && (!body.credentials.authToken || !body.credentials.org)) {
53
+ throw new common_1.BadRequestException('Sentry credentials must include "authToken" and "org" (organization slug)');
54
+ }
55
+ if (body.platform === 'jira' && (!body.credentials.email || !body.credentials.apiToken)) {
56
+ throw new common_1.BadRequestException('Jira credentials must include "email" and "apiToken"');
57
+ }
58
+ if (body.platform === 'figma') {
59
+ if (!body.credentials.personalAccessToken) {
60
+ throw new common_1.BadRequestException('Figma credentials must include "personalAccessToken"');
61
+ }
62
+ if (!body.webhookSecret) {
63
+ throw new common_1.BadRequestException('Figma connectors require a webhookSecret (passcode) for webhook verification');
64
+ }
65
+ }
66
+ const encryptedCredentials = this.cryptoService.encryptAes(JSON.stringify(body.credentials));
67
+ const encryptedWebhookSecret = body.webhookSecret
68
+ ? this.cryptoService.encryptAes(body.webhookSecret)
69
+ : undefined;
70
+ const instance = this.connectorRepo.createInstance({
71
+ platform: body.platform,
72
+ name: body.name.trim(),
73
+ baseUrl: body.baseUrl?.trim(),
74
+ credentials: encryptedCredentials,
75
+ webhookSecret: encryptedWebhookSecret,
76
+ scope: body.scope,
77
+ mentionKeyword: body.mentionKeyword,
78
+ createdBy: req.user.sub,
79
+ });
80
+ this.auditLogRepo.create({
81
+ userId: req.user.sub,
82
+ action: 'connector_create',
83
+ resource: `connector:${instance.id}`,
84
+ detail: `Created connector '${instance.name}' for platform '${instance.platform}'`,
85
+ });
86
+ return connector_repository_1.ConnectorRepository.stripSecrets(instance);
87
+ }
88
+ updateConnector(id, body, req) {
89
+ const instance = this.connectorRepo.findInstanceById(id);
90
+ if (!instance)
91
+ throw new common_1.NotFoundException(`Connector #${id} not found`);
92
+ // Validate credentials if being updated
93
+ if (body.credentials) {
94
+ if (instance.platform === 'sentry' && (!body.credentials.authToken || !body.credentials.org)) {
95
+ throw new common_1.BadRequestException('Sentry credentials must include "authToken" and "org" (organization slug)');
96
+ }
97
+ if (instance.platform === 'jira' && (!body.credentials.email || !body.credentials.apiToken)) {
98
+ throw new common_1.BadRequestException('Jira credentials must include "email" and "apiToken"');
99
+ }
100
+ if (instance.platform === 'figma' && !body.credentials.personalAccessToken) {
101
+ throw new common_1.BadRequestException('Figma credentials must include "personalAccessToken"');
102
+ }
103
+ }
104
+ const updates = {};
105
+ if (body.name !== undefined)
106
+ updates.name = body.name.trim();
107
+ if (body.baseUrl !== undefined)
108
+ updates.baseUrl = body.baseUrl?.trim() || null;
109
+ if (body.credentials)
110
+ updates.credentials = this.cryptoService.encryptAes(JSON.stringify(body.credentials));
111
+ if (body.webhookSecret !== undefined) {
112
+ if (!body.webhookSecret && instance.platform === 'figma') {
113
+ throw new common_1.BadRequestException('Figma connectors require a webhookSecret (passcode)');
114
+ }
115
+ updates.webhookSecret = body.webhookSecret
116
+ ? this.cryptoService.encryptAes(body.webhookSecret)
117
+ : null;
118
+ }
119
+ if (body.status !== undefined)
120
+ updates.status = body.status;
121
+ if (body.mentionKeyword !== undefined)
122
+ updates.mentionKeyword = body.mentionKeyword;
123
+ this.connectorRepo.updateInstance(id, updates);
124
+ this.auditLogRepo.create({
125
+ userId: req.user.sub,
126
+ action: 'connector_update',
127
+ resource: `connector:${id}`,
128
+ detail: `Updated connector '${instance.name}'`,
129
+ });
130
+ return connector_repository_1.ConnectorRepository.stripSecrets(this.connectorRepo.findInstanceById(id));
131
+ }
132
+ deleteConnector(id, req) {
133
+ const instance = this.connectorRepo.findInstanceById(id);
134
+ if (!instance)
135
+ throw new common_1.NotFoundException(`Connector #${id} not found`);
136
+ this.connectorRepo.deleteInstance(id);
137
+ this.auditLogRepo.create({
138
+ userId: req.user.sub,
139
+ action: 'connector_delete',
140
+ resource: `connector:${id}`,
141
+ detail: `Deleted connector '${instance.name}' and its bindings`,
142
+ });
143
+ return { success: true };
144
+ }
145
+ async validateCredentials(id) {
146
+ const instance = this.connectorRepo.findInstanceById(id);
147
+ if (!instance)
148
+ throw new common_1.NotFoundException(`Connector #${id} not found`);
149
+ const connector = this.connectorRegistry.get(instance.platform);
150
+ if (!connector)
151
+ throw new common_1.BadRequestException(`No connector handler for platform '${instance.platform}'`);
152
+ const credentials = JSON.parse(this.cryptoService.decryptAes(instance.credentials));
153
+ const valid = await connector.validateCredentials(credentials, instance.baseUrl ?? undefined);
154
+ return { valid };
155
+ }
156
+ // --- Bindings ---
157
+ listAllBindings() {
158
+ return this.connectorRepo.findAllBindings();
159
+ }
160
+ listBindings(id) {
161
+ const instance = this.connectorRepo.findInstanceById(id);
162
+ if (!instance)
163
+ throw new common_1.NotFoundException(`Connector #${id} not found`);
164
+ return this.connectorRepo.findBindingsByInstanceId(id);
165
+ }
166
+ createBinding(id, body, req) {
167
+ const instance = this.connectorRepo.findInstanceById(id);
168
+ if (!instance)
169
+ throw new common_1.NotFoundException(`Connector #${id} not found`);
170
+ const projectKey = body.projectKey?.trim();
171
+ if (!projectKey)
172
+ throw new common_1.BadRequestException('projectKey must be a non-empty string');
173
+ const project = this.projectRepo.findByKey(projectKey);
174
+ if (!project)
175
+ throw new common_1.NotFoundException(`Project '${projectKey}' not found`);
176
+ // Enforce single default per instance
177
+ if (body.isDefault) {
178
+ const existingBindings = this.connectorRepo.findBindingsByInstanceId(id);
179
+ const existingDefault = existingBindings.find((b) => b.isDefault);
180
+ if (existingDefault) {
181
+ throw new common_1.ConflictException(`Connector #${id} already has a default binding (project '${existingDefault.projectKey}'). Remove or update the existing default first.`);
182
+ }
183
+ }
184
+ let binding;
185
+ try {
186
+ binding = this.connectorRepo.createBinding({
187
+ connectorInstanceId: id,
188
+ projectKey: project.key,
189
+ externalProjectKey: body.externalProjectKey?.trim(),
190
+ isDefault: body.isDefault,
191
+ statusMapping: body.statusMapping,
192
+ autoDesignReview: body.autoDesignReview,
193
+ });
194
+ }
195
+ catch (err) {
196
+ if (err instanceof Error && err.message.includes('UNIQUE constraint failed')) {
197
+ throw new common_1.ConflictException(`Binding already exists for connector #${id} and project '${projectKey}'`);
198
+ }
199
+ throw err;
200
+ }
201
+ this.auditLogRepo.create({
202
+ userId: req.user.sub,
203
+ action: 'connector_binding_create',
204
+ resource: `connector:${id}`,
205
+ detail: `Created binding to project '${project.key}'${body.externalProjectKey ? ` (external: ${body.externalProjectKey})` : ''}`,
206
+ });
207
+ return binding;
208
+ }
209
+ updateBinding(bindingId, body, req) {
210
+ const binding = this.connectorRepo.findBindingById(bindingId);
211
+ if (!binding)
212
+ throw new common_1.NotFoundException('Binding not found');
213
+ this.connectorRepo.updateBinding(bindingId, {
214
+ autoDesignReview: body.autoDesignReview,
215
+ statusMapping: body.statusMapping,
216
+ });
217
+ this.auditLogRepo.create({
218
+ userId: req.user.sub,
219
+ action: 'connector_binding_update',
220
+ resource: `connector:${binding.connectorInstanceId}`,
221
+ detail: `Updated binding for project '${binding.projectKey}'`,
222
+ });
223
+ return this.connectorRepo.findBindingById(bindingId);
224
+ }
225
+ deleteBinding(bindingId, req) {
226
+ const binding = this.connectorRepo.findBindingById(bindingId);
227
+ if (!binding)
228
+ throw new common_1.NotFoundException('Binding not found');
229
+ this.connectorRepo.deleteBinding(bindingId);
230
+ this.auditLogRepo.create({
231
+ userId: req.user.sub,
232
+ action: 'connector_binding_delete',
233
+ resource: `connector:${binding.connectorInstanceId}`,
234
+ detail: `Deleted binding for project '${binding.projectKey}'`,
235
+ });
236
+ return { success: true };
237
+ }
238
+ };
239
+ exports.AdminConnectorController = AdminConnectorController;
240
+ __decorate([
241
+ (0, common_1.Get)(),
242
+ __metadata("design:type", Function),
243
+ __metadata("design:paramtypes", []),
244
+ __metadata("design:returntype", void 0)
245
+ ], AdminConnectorController.prototype, "listConnectors", null);
246
+ __decorate([
247
+ (0, common_1.Post)(),
248
+ __param(0, (0, common_1.Body)()),
249
+ __param(1, (0, common_1.Req)()),
250
+ __metadata("design:type", Function),
251
+ __metadata("design:paramtypes", [Object, Object]),
252
+ __metadata("design:returntype", void 0)
253
+ ], AdminConnectorController.prototype, "createConnector", null);
254
+ __decorate([
255
+ (0, common_1.Put)(':id'),
256
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
257
+ __param(1, (0, common_1.Body)()),
258
+ __param(2, (0, common_1.Req)()),
259
+ __metadata("design:type", Function),
260
+ __metadata("design:paramtypes", [Number, Object, Object]),
261
+ __metadata("design:returntype", void 0)
262
+ ], AdminConnectorController.prototype, "updateConnector", null);
263
+ __decorate([
264
+ (0, common_1.Delete)(':id'),
265
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
266
+ __param(1, (0, common_1.Req)()),
267
+ __metadata("design:type", Function),
268
+ __metadata("design:paramtypes", [Number, Object]),
269
+ __metadata("design:returntype", void 0)
270
+ ], AdminConnectorController.prototype, "deleteConnector", null);
271
+ __decorate([
272
+ (0, common_1.Post)(':id/validate'),
273
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
274
+ __metadata("design:type", Function),
275
+ __metadata("design:paramtypes", [Number]),
276
+ __metadata("design:returntype", Promise)
277
+ ], AdminConnectorController.prototype, "validateCredentials", null);
278
+ __decorate([
279
+ (0, common_1.Get)('bindings'),
280
+ __metadata("design:type", Function),
281
+ __metadata("design:paramtypes", []),
282
+ __metadata("design:returntype", void 0)
283
+ ], AdminConnectorController.prototype, "listAllBindings", null);
284
+ __decorate([
285
+ (0, common_1.Get)(':id/bindings'),
286
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
287
+ __metadata("design:type", Function),
288
+ __metadata("design:paramtypes", [Number]),
289
+ __metadata("design:returntype", void 0)
290
+ ], AdminConnectorController.prototype, "listBindings", null);
291
+ __decorate([
292
+ (0, common_1.Post)(':id/bindings'),
293
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
294
+ __param(1, (0, common_1.Body)()),
295
+ __param(2, (0, common_1.Req)()),
296
+ __metadata("design:type", Function),
297
+ __metadata("design:paramtypes", [Number, Object, Object]),
298
+ __metadata("design:returntype", void 0)
299
+ ], AdminConnectorController.prototype, "createBinding", null);
300
+ __decorate([
301
+ (0, common_1.Put)('bindings/:bindingId'),
302
+ __param(0, (0, common_1.Param)('bindingId', common_1.ParseIntPipe)),
303
+ __param(1, (0, common_1.Body)()),
304
+ __param(2, (0, common_1.Req)()),
305
+ __metadata("design:type", Function),
306
+ __metadata("design:paramtypes", [Number, Object, Object]),
307
+ __metadata("design:returntype", void 0)
308
+ ], AdminConnectorController.prototype, "updateBinding", null);
309
+ __decorate([
310
+ (0, common_1.Delete)('bindings/:bindingId'),
311
+ __param(0, (0, common_1.Param)('bindingId', common_1.ParseIntPipe)),
312
+ __param(1, (0, common_1.Req)()),
313
+ __metadata("design:type", Function),
314
+ __metadata("design:paramtypes", [Number, Object]),
315
+ __metadata("design:returntype", void 0)
316
+ ], AdminConnectorController.prototype, "deleteBinding", null);
317
+ exports.AdminConnectorController = AdminConnectorController = __decorate([
318
+ (0, common_1.Controller)('api/admin/connectors'),
319
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard),
320
+ (0, roles_decorator_1.Roles)(protocol_1.DeveloperRole.ADMIN),
321
+ __metadata("design:paramtypes", [connector_repository_1.ConnectorRepository,
322
+ project_repository_1.ProjectRepository,
323
+ audit_log_repository_1.AuditLogRepository,
324
+ crypto_service_1.CryptoService,
325
+ connector_registry_1.ConnectorRegistry])
326
+ ], AdminConnectorController);
327
+ //# sourceMappingURL=admin-connector.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-connector.controller.js","sourceRoot":"","sources":["../../../src/web/admin/admin-connector.controller.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export declare class AdminDeveloperController {
11
11
  private readonly cryptoService;
12
12
  private readonly dashboardService;
13
13
  constructor(developerRepo: DeveloperRepository, auditLogRepo: AuditLogRepository, cryptoService: CryptoService, dashboardService: DashboardService);
14
- listDevelopers(q?: string): {
14
+ listDevelopers(q?: string, status?: string): {
15
15
  totpEnabled: boolean;
16
16
  id: number;
17
17
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-developer.controller.d.ts","sourceRoot":"","sources":["../../../src/web/admin/admin-developer.controller.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,qBAGa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHhB,aAAa,EAAE,mBAAmB,EAClC,YAAY,EAAE,kBAAkB,EAChC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB;IAIrD,cAAc,CAAa,CAAC,CAAC,EAAE,MAAM;;;;;;;;;;;IAW/B,eAAe,CACX,IAAI,EAAE,sBAAsB,EAC7B,GAAG,EAAE,oBAAoB;IAkClC,eAAe,CACc,EAAE,EAAE,MAAM,EAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,oBAAoB;;;;;;;;;;;IAkFlC,SAAS,CACoB,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,oBAAoB;;;CAsBnC"}
1
+ {"version":3,"file":"admin-developer.controller.d.ts","sourceRoot":"","sources":["../../../src/web/admin/admin-developer.controller.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,qBAGa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHhB,aAAa,EAAE,mBAAmB,EAClC,YAAY,EAAE,kBAAkB,EAChC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB;IAIrD,cAAc,CAAa,CAAC,CAAC,EAAE,MAAM,EAAmB,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;IAmBjE,eAAe,CACX,IAAI,EAAE,sBAAsB,EAC7B,GAAG,EAAE,oBAAoB;IAkClC,eAAe,CACc,EAAE,EAAE,MAAM,EAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,oBAAoB;;;;;;;;;;;IAkFlC,SAAS,CACoB,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,oBAAoB;;;CAsBnC"}
@@ -30,10 +30,20 @@ let AdminDeveloperController = class AdminDeveloperController {
30
30
  this.cryptoService = cryptoService;
31
31
  this.dashboardService = dashboardService;
32
32
  }
33
- listDevelopers(q) {
34
- const developers = q
35
- ? this.developerRepo.findBySearch(q)
36
- : this.developerRepo.findAll();
33
+ listDevelopers(q, status) {
34
+ if (status && !Object.values(protocol_1.DeveloperStatus).includes(status)) {
35
+ throw new common_1.BadRequestException(`Invalid status. Must be one of: ${Object.values(protocol_1.DeveloperStatus).join(', ')}`);
36
+ }
37
+ let developers;
38
+ if (q) {
39
+ developers = this.developerRepo.findBySearch(q, { status });
40
+ }
41
+ else if (status) {
42
+ developers = this.developerRepo.findByStatus(status);
43
+ }
44
+ else {
45
+ developers = this.developerRepo.findAll();
46
+ }
37
47
  return developers.map((d) => ({
38
48
  ...developer_repository_1.DeveloperRepository.stripSecrets(d),
39
49
  totpEnabled: !!d.totpSecret,
@@ -155,8 +165,9 @@ exports.AdminDeveloperController = AdminDeveloperController;
155
165
  __decorate([
156
166
  (0, common_1.Get)(),
157
167
  __param(0, (0, common_1.Query)('q')),
168
+ __param(1, (0, common_1.Query)('status')),
158
169
  __metadata("design:type", Function),
159
- __metadata("design:paramtypes", [String]),
170
+ __metadata("design:paramtypes", [String, String]),
160
171
  __metadata("design:returntype", void 0)
161
172
  ], AdminDeveloperController.prototype, "listDevelopers", null);
162
173
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"admin-developer.controller.js","sourceRoot":"","sources":["../../../src/web/admin/admin-developer.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-developer.controller.js","sourceRoot":"","sources":["../../../src/web/admin/admin-developer.controller.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export declare class DashboardController {
16
16
  completed_today: number;
17
17
  project_count: number;
18
18
  developer_count: number;
19
- task_success_rate_7d: number;
19
+ task_success_rate_14d: number;
20
20
  success_rate_daily: number[];
21
21
  task_count_daily: number[];
22
22
  queue_avg_wait_ms: number;
@@ -9,7 +9,7 @@ export interface DashboardStats {
9
9
  completed_today: number;
10
10
  project_count: number;
11
11
  developer_count: number;
12
- task_success_rate_7d: number;
12
+ task_success_rate_14d: number;
13
13
  success_rate_daily: number[];
14
14
  task_count_daily: number[];
15
15
  queue_avg_wait_ms: number;
@@ -65,12 +65,7 @@ export declare class DashboardService implements OnModuleInit, OnModuleDestroy {
65
65
  };
66
66
  private computeTimezoneAwareStats;
67
67
  refreshStats(): void;
68
- /**
69
- * Build a 7-day array of daily success rates, filling missing days with 0.
70
- * @param rows — query result with { day: string; rate: number }
71
- * @param now — reference date (UTC or local-adjusted) for computing day offsets
72
- */
73
- /** Build a 7-day array by extracting a numeric value from day-keyed rows. */
68
+ /** Build a 14-day array by extracting a numeric value from day-keyed rows. */
74
69
  private buildDailyArray;
75
70
  /**
76
71
  * Count tasks completed today by a specific developer (timezone-aware).
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":"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"}