@overlordai/server 1.0.144 → 1.0.146

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 (230) hide show
  1. package/database/migrations/014-automations.sql +67 -0
  2. package/dist/adapters/command-parser.utils.d.ts +1 -0
  3. package/dist/adapters/command-parser.utils.d.ts.map +1 -1
  4. package/dist/adapters/command-parser.utils.js +14 -1
  5. package/dist/adapters/command-parser.utils.js.map +1 -1
  6. package/dist/adapters/help-text.d.ts.map +1 -1
  7. package/dist/adapters/help-text.js +2 -1
  8. package/dist/adapters/help-text.js.map +1 -1
  9. package/dist/adapters/nlu.service.d.ts.map +1 -1
  10. package/dist/adapters/nlu.service.js +4 -1
  11. package/dist/adapters/nlu.service.js.map +1 -1
  12. package/dist/app.module.d.ts.map +1 -1
  13. package/dist/app.module.js +2 -0
  14. package/dist/app.module.js.map +1 -1
  15. package/dist/automation/automation-executor.d.ts +23 -0
  16. package/dist/automation/automation-executor.d.ts.map +1 -0
  17. package/dist/automation/automation-executor.js +365 -0
  18. package/dist/automation/automation-executor.js.map +1 -0
  19. package/dist/automation/automation-scheduler.d.ts +21 -0
  20. package/dist/automation/automation-scheduler.d.ts.map +1 -0
  21. package/dist/automation/automation-scheduler.js +124 -0
  22. package/dist/automation/automation-scheduler.js.map +1 -0
  23. package/dist/automation/automation-template.service.d.ts +30 -0
  24. package/dist/automation/automation-template.service.d.ts.map +1 -0
  25. package/dist/automation/automation-template.service.js +66 -0
  26. package/dist/automation/automation-template.service.js.map +1 -0
  27. package/dist/automation/automation-trigger.d.ts +13 -0
  28. package/dist/automation/automation-trigger.d.ts.map +1 -0
  29. package/dist/automation/automation-trigger.js +96 -0
  30. package/dist/automation/automation-trigger.js.map +1 -0
  31. package/dist/automation/automation-validation.d.ts +14 -0
  32. package/dist/automation/automation-validation.d.ts.map +1 -0
  33. package/dist/automation/automation-validation.js +66 -0
  34. package/dist/automation/automation-validation.js.map +1 -0
  35. package/dist/automation/automation.module.d.ts +3 -0
  36. package/dist/automation/automation.module.d.ts.map +1 -0
  37. package/dist/automation/automation.module.js +33 -0
  38. package/dist/automation/automation.module.js.map +1 -0
  39. package/dist/automation/automation.service.d.ts +22 -0
  40. package/dist/automation/automation.service.d.ts.map +1 -0
  41. package/dist/automation/automation.service.js +232 -0
  42. package/dist/automation/automation.service.js.map +1 -0
  43. package/dist/database/database.service.d.ts +8 -0
  44. package/dist/database/database.service.d.ts.map +1 -1
  45. package/dist/database/database.service.js +16 -5
  46. package/dist/database/database.service.js.map +1 -1
  47. package/dist/database/repositories/automation.repository.d.ts +87 -0
  48. package/dist/database/repositories/automation.repository.d.ts.map +1 -0
  49. package/dist/database/repositories/automation.repository.js +531 -0
  50. package/dist/database/repositories/automation.repository.js.map +1 -0
  51. package/dist/database/repositories/task.repository.d.ts +1 -0
  52. package/dist/database/repositories/task.repository.d.ts.map +1 -1
  53. package/dist/database/repositories/task.repository.js +4 -2
  54. package/dist/database/repositories/task.repository.js.map +1 -1
  55. package/dist/database/repository.module.d.ts.map +1 -1
  56. package/dist/database/repository.module.js +2 -0
  57. package/dist/database/repository.module.js.map +1 -1
  58. package/dist/dispatcher/dispatcher.service.d.ts.map +1 -1
  59. package/dist/dispatcher/dispatcher.service.js +1 -0
  60. package/dist/dispatcher/dispatcher.service.js.map +1 -1
  61. package/dist/dispatcher/task-creation.service.d.ts +3 -3
  62. package/dist/dispatcher/task-creation.service.d.ts.map +1 -1
  63. package/dist/dispatcher/task-creation.service.js +14 -5
  64. package/dist/dispatcher/task-creation.service.js.map +1 -1
  65. package/dist/events/event-types.d.ts +31 -0
  66. package/dist/events/event-types.d.ts.map +1 -1
  67. package/dist/events/event-types.js +4 -0
  68. package/dist/events/event-types.js.map +1 -1
  69. package/dist/notifier/notification-consumer.d.ts.map +1 -1
  70. package/dist/notifier/notification-consumer.js +65 -1
  71. package/dist/notifier/notification-consumer.js.map +1 -1
  72. package/dist/notifier/notification-event-listener.d.ts +7 -2
  73. package/dist/notifier/notification-event-listener.d.ts.map +1 -1
  74. package/dist/notifier/notification-event-listener.js +56 -2
  75. package/dist/notifier/notification-event-listener.js.map +1 -1
  76. package/dist/notifier/notifier.service.d.ts +4 -1
  77. package/dist/notifier/notifier.service.d.ts.map +1 -1
  78. package/dist/notifier/notifier.service.js +23 -2
  79. package/dist/notifier/notifier.service.js.map +1 -1
  80. package/dist/notifier/template.service.d.ts +1 -1
  81. package/dist/notifier/template.service.d.ts.map +1 -1
  82. package/dist/notifier/template.service.js +14 -4
  83. package/dist/notifier/template.service.js.map +1 -1
  84. package/dist/web/automation.controller.d.ts +74 -0
  85. package/dist/web/automation.controller.d.ts.map +1 -0
  86. package/dist/web/automation.controller.js +539 -0
  87. package/dist/web/automation.controller.js.map +1 -0
  88. package/dist/web/frame-handlers/automation-report.handler.d.ts +10 -0
  89. package/dist/web/frame-handlers/automation-report.handler.d.ts.map +1 -0
  90. package/dist/web/frame-handlers/automation-report.handler.js +15 -0
  91. package/dist/web/frame-handlers/automation-report.handler.js.map +1 -0
  92. package/dist/web/frame-handlers/index.d.ts +1 -0
  93. package/dist/web/frame-handlers/index.d.ts.map +1 -1
  94. package/dist/web/frame-handlers/index.js +3 -1
  95. package/dist/web/frame-handlers/index.js.map +1 -1
  96. package/dist/web/frame-handlers/stage-confirm.handler.d.ts.map +1 -1
  97. package/dist/web/frame-handlers/stage-confirm.handler.js +1 -1
  98. package/dist/web/frame-handlers/stage-confirm.handler.js.map +1 -1
  99. package/dist/web/task.controller.d.ts +3 -0
  100. package/dist/web/task.controller.d.ts.map +1 -1
  101. package/dist/web/web-event.service.d.ts +20 -1
  102. package/dist/web/web-event.service.d.ts.map +1 -1
  103. package/dist/web/web-event.service.js +66 -2
  104. package/dist/web/web-event.service.js.map +1 -1
  105. package/dist/web/web.module.d.ts.map +1 -1
  106. package/dist/web/web.module.js +4 -1
  107. package/dist/web/web.module.js.map +1 -1
  108. package/dist/web/worker-channel.gateway.d.ts +2 -1
  109. package/dist/web/worker-channel.gateway.d.ts.map +1 -1
  110. package/dist/web/worker-channel.gateway.js +5 -2
  111. package/dist/web/worker-channel.gateway.js.map +1 -1
  112. package/package.json +5 -4
  113. package/public/assets/AccessTokensPage-jZ0fW6lX.js +1 -0
  114. package/public/assets/{AdminPage-OHTVG-ck.js → AdminPage-BhEFd__u.js} +1 -1
  115. package/public/assets/{AgentCliPage-BsZmnI3p.js → AgentCliPage-BlwF0Ske.js} +1 -1
  116. package/public/assets/{ApiReferencePage-8yiImnYs.js → ApiReferencePage-DYw-AFRb.js} +1 -1
  117. package/public/assets/{ArchitecturePage-Deswgqy2.js → ArchitecturePage-Bj4s2Tjl.js} +1 -1
  118. package/public/assets/{AuditLogPage-Hn4ivp8Y.js → AuditLogPage-Dw56aHuy.js} +1 -1
  119. package/public/assets/AutomationCreatePage-Dt2pGfgf.js +1 -0
  120. package/public/assets/AutomationDetailPage-DNYkC31X.js +16 -0
  121. package/public/assets/AutomationEditPage-C8IUsSvR.js +1 -0
  122. package/public/assets/AutomationListPage-Bqog--Ae.js +16 -0
  123. package/public/assets/AutomationRunDetailPage-C3PuPibC.js +6 -0
  124. package/public/assets/{BindPlatformPage-DjGHKswB.js → BindPlatformPage-M_2I5Qrq.js} +1 -1
  125. package/public/assets/BotIntegrationPage-CAwevaIk.js +1 -0
  126. package/public/assets/{BotManage-Dss1Y_jv.js → BotManage-DGBezqSD.js} +2 -2
  127. package/public/assets/{BotSetupPage-C_KKFdu3.js → BotSetupPage-C0Fs8ZnS.js} +2 -2
  128. package/public/assets/{ChangelogPage-5btaAfls.js → ChangelogPage-DlB2ibrO.js} +1 -1
  129. package/public/assets/{CliReferencePage--yAuXfNl.js → CliReferencePage-CZfrDLHw.js} +1 -1
  130. package/public/assets/ConfirmStageDialog-Z0pbQqim.js +7 -0
  131. package/public/assets/{DeploymentPage-Qi860C4T.js → DeploymentPage-7vnTwGfh.js} +1 -1
  132. package/public/assets/{DevWorkflowPage-CZks72g2.js → DevWorkflowPage-DuwsvFYh.js} +1 -1
  133. package/public/assets/DeveloperManage-D4RJh1ZW.js +16 -0
  134. package/public/assets/{DeveloperSetupPage-CSs2Mh7c.js → DeveloperSetupPage-BrCi0Lwe.js} +1 -1
  135. package/public/assets/{DocsIndexPage-BmSMwLvO.js → DocsIndexPage-rnTjEz8b.js} +1 -1
  136. package/public/assets/{DocsLayout-CunlDzH9.js → DocsLayout-C6xN_yk0.js} +1 -1
  137. package/public/assets/{DocsPrimitives-Bqnk0mEW.js → DocsPrimitives-IJB6nZ_z.js} +1 -1
  138. package/public/assets/{EditProjectPage-CJAdaxRE.js → EditProjectPage-BPUvr801.js} +2 -2
  139. package/public/assets/{EmptyState-DpRw-xch.js → EmptyState-CW1xfNCv.js} +1 -1
  140. package/public/assets/{EnvVariablesPage-DWD4RzmX.js → EnvVariablesPage-CR4pvBH3.js} +2 -2
  141. package/public/assets/{HomePage-oShWGYcN.js → HomePage-A0kDqIF6.js} +1 -1
  142. package/public/assets/{InfoRow-CTXIPrG6.js → InfoRow-D-vceQHX.js} +1 -1
  143. package/public/assets/{InstallationPage-BgbU06Ei.js → InstallationPage-DQOr1ZdF.js} +1 -1
  144. package/public/assets/{LandingPage-C-s-hSgz.js → LandingPage-B1mQ0b1M.js} +7 -12
  145. package/public/assets/{LocalDevelopmentPage-Cg4FYaCn.js → LocalDevelopmentPage-B3tPpv14.js} +1 -1
  146. package/public/assets/{LoginPage-BhyQxY5d.js → LoginPage-2TJGugqP.js} +1 -1
  147. package/public/assets/{MetricBar-DZOZStDZ.js → MetricBar-BWriVYES.js} +1 -1
  148. package/public/assets/{NotFoundPage-DaeTOzAm.js → NotFoundPage-CL8L-hAH.js} +1 -1
  149. package/public/assets/{OnboardingGuide-DGH0Yfsj.js → OnboardingGuide-Cdz3B-Hy.js} +1 -1
  150. package/public/assets/{PermissionsPage-D4Lqb40x.js → PermissionsPage-BdKxCcLI.js} +1 -1
  151. package/public/assets/{PipelineConfigPage-CAWpyPiY.js → PipelineConfigPage-CYPnPxIe.js} +1 -1
  152. package/public/assets/{PipelineEditorPage-BLDxO49P.js → PipelineEditorPage-Cx5jQ7sn.js} +2 -2
  153. package/public/assets/{PlanPage-UX5QUlvv.js → PlanPage-B8izWg2B.js} +1 -1
  154. package/public/assets/{ProfilePage-B73YqnCd.js → ProfilePage-S_chkZka.js} +1 -1
  155. package/public/assets/{ProjectDetailPage-eNAn85vT.js → ProjectDetailPage-DPjR4K6z.js} +3 -3
  156. package/public/assets/ProjectListPage-B7KDEb5r.js +6 -0
  157. package/public/assets/PtyTerminal-SPgs4fDa.js +38 -0
  158. package/public/assets/{QuickAuth-DSSMYJEC.js → QuickAuth-kStSentC.js} +1 -1
  159. package/public/assets/RemoveMemberConfirmDialog-nrYU_g4X.js +6 -0
  160. package/public/assets/ReviewAggregatePage-BycSqu1a.js +6 -0
  161. package/public/assets/{ReviewPage-BNa6T3xv.js → ReviewPage-CDyr8wXz.js} +1 -1
  162. package/public/assets/{Select-FmuTJbfh.js → Select-B0NXCdTE.js} +1 -1
  163. package/public/assets/{SettingsPage-aSrpn6Ta.js → SettingsPage-BOXtwa2r.js} +1 -1
  164. package/public/assets/{Skeleton-Bo0DEIHn.js → Skeleton-BiHQNXJ9.js} +1 -1
  165. package/public/assets/{SkillPage-BjiQKd7n.js → SkillPage-DBiTVuCH.js} +1 -1
  166. package/public/assets/{TaskDetailPage-BLNjDqnY.js → TaskDetailPage-CTVJwy-t.js} +2 -2
  167. package/public/assets/{TaskGuidePage-C5o7i2D0.js → TaskGuidePage-BsH7MBPf.js} +1 -1
  168. package/public/assets/TaskListPage-pui2im5r.js +1 -0
  169. package/public/assets/{TaskStatusBadge-CD8sO9C_.js → TaskStatusBadge-CeC-9VO9.js} +1 -1
  170. package/public/assets/TerminalHomePage-Bu10hJuQ.js +6 -0
  171. package/public/assets/TokenManage-Bo15S_D_.js +1 -0
  172. package/public/assets/{Tooltip-BKRBwA7o.js → Tooltip-BtLbD3s1.js} +1 -1
  173. package/public/assets/{TotpSetupPage-IVkRIgKh.js → TotpSetupPage-QOB1KoQV.js} +1 -1
  174. package/public/assets/{WorkerDetailPage-nw_gzQ45.js → WorkerDetailPage-BbUUJ-4x.js} +1 -1
  175. package/public/assets/WorkerListPage-Cz97ZJ44.js +6 -0
  176. package/public/assets/{WorkerOperationsPage-Clh8jDGG.js → WorkerOperationsPage-BVb41hZJ.js} +1 -1
  177. package/public/assets/{WorkerSetupGuidePage-C1wXY1wd.js → WorkerSetupGuidePage-Cidrk_C8.js} +1 -1
  178. package/public/assets/{WorkerSetupPage-CTCwHKaC.js → WorkerSetupPage-BEBJC4eO.js} +1 -1
  179. package/public/assets/{agent-type-options-5v4PgZnP.js → agent-type-options-js05RaN7.js} +1 -1
  180. package/public/assets/{arrow-left-CR_n40mK.js → arrow-left-B7mlJm2S.js} +1 -1
  181. package/public/assets/{arrow-right-D-j7nSgI.js → arrow-right-pahP-ey1.js} +1 -1
  182. package/public/assets/{bot--DUOKBmv.js → bot-Utar32Rx.js} +1 -1
  183. package/public/assets/{chevron-down-CDFiGGBG.js → chevron-down-rRjDei6n.js} +1 -1
  184. package/public/assets/{chevron-left-C_lJcnCg.js → chevron-left-Bh3DdiT8.js} +1 -1
  185. package/public/assets/{chevron-right-IZlTWMcO.js → chevron-right-BUIsW0nB.js} +1 -1
  186. package/public/assets/{chevron-up-DSOCVgRW.js → chevron-up-CC4d-5nr.js} +1 -1
  187. package/public/assets/circle-alert-DfjZjHfx.js +6 -0
  188. package/public/assets/clock-CcoV8c6t.js +6 -0
  189. package/public/assets/{copy-2UMMaHKT.js → copy-CVElRaVS.js} +1 -1
  190. package/public/assets/{download-D2NyL1OR.js → download-Cuv6Ei5j.js} +1 -1
  191. package/public/assets/{external-link-B9CWNSMc.js → external-link-Beb0-hR9.js} +1 -1
  192. package/public/assets/{file-text-COzaNu8e.js → file-text-DQb29yBJ.js} +1 -1
  193. package/public/assets/{git-fork-9KuFRmam.js → git-fork-IyYS1SDo.js} +1 -1
  194. package/public/assets/index-CFc6KjWS.js +257 -0
  195. package/public/assets/index-CdJk2QGi.css +1 -0
  196. package/public/assets/{key-DoJm5thS.js → key-C5pNR-B1.js} +1 -1
  197. package/public/assets/{loader-circle-B5SLmhRr.js → loader-circle-BlnkIjik.js} +1 -1
  198. package/public/assets/{pencil-C_niWuAb.js → pencil-C2RlSzkd.js} +1 -1
  199. package/public/assets/{play-Do-8kkck.js → play-CShsFo4_.js} +1 -1
  200. package/public/assets/{plus-C8aSzgHN.js → plus-Awea36q5.js} +1 -1
  201. package/public/assets/{rotate-ccw-BSPzJeCn.js → rotate-ccw-Lsbc1OqV.js} +1 -1
  202. package/public/assets/{scroll-text-DdqU_dT6.js → scroll-text-Dljs30sR.js} +1 -1
  203. package/public/assets/{settings-C8PB6BpE.js → settings-Dagn2Hyc.js} +1 -1
  204. package/public/assets/{skip-forward-CEuvYtQc.js → skip-forward-DGvJRd3l.js} +1 -1
  205. package/public/assets/{status-colors-0U8b2F2t.js → status-colors-BDICDBur.js} +1 -1
  206. package/public/assets/{task-constants-DTDx5Lfp.js → task-constants-Cla1S92u.js} +1 -1
  207. package/public/assets/{task.store-CGgehOLp.js → task.store-C7wSxS0U.js} +1 -1
  208. package/public/assets/timer-DJB-k-YQ.js +6 -0
  209. package/public/assets/{trash-2-tEkzRo6q.js → trash-2-Dbr1-vpY.js} +1 -1
  210. package/public/assets/{useFetch-CJDmNhIT.js → useFetch-BXXQ6s_s.js} +1 -1
  211. package/public/assets/{users-Cs2w_uVo.js → users-CAOqfuvd.js} +1 -1
  212. package/public/assets/{wifi-BCoKY35p.js → wifi-CxjX29U2.js} +1 -1
  213. package/public/assets/{workflow-BLCy8gMf.js → workflow-BAPA9kNh.js} +1 -1
  214. package/public/assets/zap-yBKAVFp4.js +6 -0
  215. package/public/index.html +2 -2
  216. package/public/sw.js +1 -1
  217. package/public/assets/AccessTokensPage-zuZElOFy.js +0 -1
  218. package/public/assets/BotIntegrationPage-58cLGS0T.js +0 -1
  219. package/public/assets/ConfirmStageDialog-BatYNr9r.js +0 -12
  220. package/public/assets/DeveloperManage-7tpVdYUx.js +0 -16
  221. package/public/assets/ProjectListPage-61CMBaxl.js +0 -6
  222. package/public/assets/PtyTerminal-DOgYXCFD.js +0 -38
  223. package/public/assets/RemoveMemberConfirmDialog-MiS_sqor.js +0 -6
  224. package/public/assets/ReviewAggregatePage-LBAVcz2T.js +0 -11
  225. package/public/assets/TaskListPage-26QNdjqP.js +0 -1
  226. package/public/assets/TerminalHomePage-DBhs1WQJ.js +0 -6
  227. package/public/assets/TokenManage-BQ0e_d4e.js +0 -1
  228. package/public/assets/WorkerListPage-CF1x84G-.js +0 -6
  229. package/public/assets/index-DvdpkDlU.js +0 -252
  230. package/public/assets/index-kJfGgL_V.css +0 -1
@@ -1,6 +0,0 @@
1
- import{c as I,a as E,r as o,G as x,O as z,j as e,h as P,f as H,v as M}from"./index-DvdpkDlU.js";import{S as U}from"./Select-FmuTJbfh.js";import{a as R}from"./agent-type-options-5v4PgZnP.js";import{E as O}from"./EmptyState-DpRw-xch.js";import{T as D}from"./Skeleton-Bo0DEIHn.js";import{t as J}from"./date-RFA7-ZGs.js";import{u as q}from"./useFetch-CJDmNhIT.js";import{P as W}from"./plus-C8aSzgHN.js";import{A as $}from"./arrow-left-CR_n40mK.js";import"./chevron-down-CDFiGGBG.js";/**
2
- * @license lucide-react v0.469.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const K=I("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),m={width:"100%",padding:"0.5rem 0.75rem",backgroundColor:"var(--bg-input)",border:"1px solid var(--border)",borderRadius:"4px",color:"var(--text-primary)",fontSize:"0.75rem",fontFamily:"'JetBrains Mono', monospace",outline:"none",boxSizing:"border-box"},i={display:"block",color:"var(--text-secondary)",fontSize:"0.7rem",marginBottom:"0.25rem",fontFamily:"'JetBrains Mono', monospace"};function V({isOpen:l,onClose:a,onCreated:j}){const{t}=E(),d=R(r=>r),[c,u]=o.useState(""),[s,b]=o.useState(""),[n,y]=o.useState(""),[f,C]=o.useState(""),[_,k]=o.useState("main"),[N,S]=o.useState(x.GITHUB),[B,T]=o.useState(z.CLAUDE),[p,w]=o.useState(!1),[F,v]=o.useState("");o.useEffect(()=>{l&&A()},[l]);function A(){u(""),b(""),y(""),C(""),k("main"),S(x.GITHUB),T(z.CLAUDE),v("")}function g(){A(),a()}async function L(r){r.preventDefault(),v(""),w(!0);try{const h=await P.post("admin/projects",{json:{name:c,key:s,repoUrl:n,sshUrl:f||void 0,defaultBranch:_,gitPlatform:N,agentType:B}}).json();j(h),g()}catch(h){const G=h instanceof Error?h.message:t("projects.failed_to_create_project");v(G)}finally{w(!1)}}return l?e.jsx("div",{onClick:g,style:{position:"fixed",inset:0,zIndex:50,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"var(--modal-backdrop, rgba(12,12,12,0.6))",padding:"1rem"},children:e.jsxs("div",{onClick:r=>r.stopPropagation(),style:{width:"100%",maxWidth:"480px",backgroundColor:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"4px",padding:"1.5rem",fontFamily:"'JetBrains Mono', monospace"},children:[e.jsxs("div",{style:{marginBottom:"1.25rem"},children:[e.jsxs("div",{style:{color:"var(--accent)",fontSize:"0.875rem",fontWeight:600},children:["> ",t("projects.create_project")]}),e.jsx("div",{style:{color:"var(--text-muted)",fontSize:"0.7rem",marginTop:"0.25rem"},children:t("projects.add_project_desc")})]}),F&&e.jsx("div",{style:{marginBottom:"1rem",padding:"0.5rem 0.75rem",borderRadius:"4px",backgroundColor:"rgba(239, 68, 68, 0.1)",border:"1px solid rgba(239, 68, 68, 0.3)",color:"var(--destructive)",fontSize:"0.7rem"},children:F}),e.jsxs("form",{onSubmit:L,style:{display:"flex",flexDirection:"column",gap:"0.875rem"},children:[e.jsxs("div",{children:[e.jsx("label",{style:i,children:t("projects.project_name")}),e.jsx("input",{type:"text",value:c,onChange:r=>u(r.target.value),placeholder:t("projects.project_name_placeholder"),required:!0,autoFocus:!0,style:m,onFocus:r=>r.target.style.borderColor="var(--accent)",onBlur:r=>r.target.style.borderColor="var(--border)"})]}),e.jsxs("div",{children:[e.jsx("label",{style:i,children:t("projects.project_key")}),e.jsx("input",{type:"text",value:s,onChange:r=>b(r.target.value.toLowerCase().replace(/[^a-z0-9-]/g,"")),placeholder:t("projects.project_key_placeholder"),required:!0,style:m,onFocus:r=>r.target.style.borderColor="var(--accent)",onBlur:r=>r.target.style.borderColor="var(--border)"}),e.jsx("div",{style:{color:"var(--text-muted)",fontSize:"0.65rem",marginTop:"0.25rem"},children:t("projects.project_key_hint")})]}),e.jsxs("div",{children:[e.jsx("label",{style:i,children:t("projects.repo_url")}),e.jsx("input",{type:"text",value:n,onChange:r=>y(r.target.value),placeholder:t("projects.repo_url_placeholder"),required:!0,style:m,onFocus:r=>r.target.style.borderColor="var(--accent)",onBlur:r=>r.target.style.borderColor="var(--border)"})]}),e.jsxs("div",{children:[e.jsx("label",{style:i,children:t("projects.ssh_url")}),e.jsx("input",{type:"text",value:f,onChange:r=>C(r.target.value),placeholder:t("projects.ssh_url_placeholder"),style:m,onFocus:r=>r.target.style.borderColor="var(--accent)",onBlur:r=>r.target.style.borderColor="var(--border)"}),e.jsx("div",{style:{color:"var(--text-muted)",fontSize:"0.65rem",marginTop:"0.25rem"},children:t("projects.ssh_url_hint")})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-3",children:[e.jsxs("div",{children:[e.jsx("label",{style:i,children:t("projects.default_branch")}),e.jsx("input",{type:"text",value:_,onChange:r=>k(r.target.value),placeholder:t("projects.main"),style:m,onFocus:r=>r.target.style.borderColor="var(--accent)",onBlur:r=>r.target.style.borderColor="var(--border)"})]}),e.jsxs("div",{children:[e.jsx("label",{style:i,children:t("projects.git_platform")}),e.jsx(U,{value:N,onChange:r=>S(r),options:[{value:x.GITHUB,label:t("projects.github")},{value:x.GITLAB,label:t("projects.gitlab")},{value:x.GITEA,label:t("projects.gitea")}]})]}),e.jsxs("div",{children:[e.jsx("label",{style:i,children:t("projects.agent_type")}),e.jsx(U,{value:B,onChange:r=>T(r),options:d})]})]}),e.jsxs("div",{style:{display:"flex",gap:"0.75rem",marginTop:"0.5rem"},children:[e.jsx("button",{type:"button",onClick:g,disabled:p,style:{flex:1,padding:"0.5rem",backgroundColor:"transparent",border:"1px solid var(--border)",borderRadius:"4px",fontSize:"0.75rem",fontFamily:"'JetBrains Mono', monospace",cursor:"pointer",transition:"color 0.15s, border-color 0.15s"},className:"text-[var(--text-muted)] hover:text-[var(--text-primary)] hover:border-[var(--text-muted)]",children:t("common.cancel")}),e.jsx("button",{type:"submit",disabled:p||!c||!s||!n,style:{flex:1,padding:"0.5rem",backgroundColor:"var(--accent)",color:"#0C0C0C",border:"none",borderRadius:"4px",fontSize:"0.75rem",fontWeight:600,fontFamily:"'JetBrains Mono', monospace",cursor:p||!c||!s||!n?"not-allowed":"pointer",opacity:p||!c||!s||!n?.7:1},children:t(p?"common.creating":"common.create")})]})]})]})}):null}function ne(){const l=H(),{t:a}=E(),[j,t]=o.useState(!1),{data:d,loading:c,refetch:u}=q(()=>P.get("web/projects").json(),[]);return M(o.useMemo(()=>e.jsxs("button",{onClick:()=>t(!0),className:"flex items-center gap-1.5 rounded-[4px] bg-[var(--accent)] px-3 py-1.5 text-xs font-medium text-black",children:[e.jsx(W,{className:"h-3.5 w-3.5"}),a("projects.create_project")]}),[a])),e.jsxs("div",{className:"mx-auto max-w-5xl",children:[e.jsxs("div",{className:"flex items-center gap-3 border-b border-[var(--border)] bg-[var(--bg-primary)] px-4 py-3 shrink-0 md:hidden",children:[e.jsx("button",{onClick:()=>l("/dashboard"),className:"shrink-0 text-[var(--text-muted)]",children:e.jsx($,{className:"h-4 w-4"})}),e.jsx("span",{className:"truncate text-sm font-medium text-[var(--text-primary)]",children:a("projects.title")})]}),e.jsxs("div",{className:"px-4 md:px-6 py-8",children:[c?e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-4",children:e.jsx(D,{rows:4})}):!d||d.length===0?e.jsx(O,{icon:K,title:a("projects.no_projects_yet"),description:a("projects.create_first_project"),actionLabel:a("projects.create_project"),onAction:()=>t(!0)}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-col gap-2 md:hidden",children:d.map(s=>e.jsxs("div",{onClick:()=>l(`/projects/${s.key}`),className:"cursor-pointer rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-3 transition-colors active:bg-[var(--bg-input)]",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-xs font-medium text-[var(--accent)]",children:s.key}),e.jsxs("span",{className:"text-[11px] text-[var(--text-muted)]",children:[s.taskCount??0," tasks"]})]}),e.jsx("span",{className:"mt-1 block text-[11px] text-[var(--text-primary)]",children:s.name}),e.jsx("span",{className:"mt-0.5 block text-[11px] text-[var(--text-muted)]",children:s.agentType})]},s.key))}),e.jsxs("div",{className:"hidden md:block rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)]",children:[e.jsxs("div",{className:"grid grid-cols-[36px_90px_1fr_120px_60px_80px] gap-3 border-b border-[var(--border-row)] px-4 py-2.5 text-xs font-medium text-[var(--text-muted)]",children:[e.jsx("span",{children:"#"}),e.jsx("span",{children:a("projects.key")}),e.jsx("span",{children:a("projects.name")}),e.jsx("span",{children:a("projects.members")}),e.jsx("span",{children:a("projects.tasks_count")}),e.jsx("span",{children:a("projects.last_activity")})]}),d.map((s,b)=>e.jsxs("div",{onClick:()=>l(`/projects/${s.key}`),className:"grid cursor-pointer grid-cols-[36px_90px_1fr_120px_60px_80px] gap-3 border-b border-[var(--border-row)] px-4 py-3 last:border-b-0 hover:bg-[var(--bg-input)] transition-colors items-center",children:[e.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:b+1}),e.jsx("span",{className:"truncate text-xs text-[var(--accent)]",children:s.key}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"block truncate text-xs text-[var(--text-primary)]",children:s.name}),e.jsxs("span",{className:"block truncate text-[11px] text-[var(--text-muted)]",children:[s.agentType," · ",s.repoUrl.replace(/^https?:\/\//,"").split("/").slice(-2).join("/")]})]}),e.jsx("div",{className:"flex items-center",children:e.jsxs("div",{className:"flex -space-x-1.5",children:[(s.members??[]).map(n=>e.jsx("div",{className:"flex h-6 w-6 items-center justify-center rounded-full border-2 border-[var(--bg-card)] bg-[var(--accent)]/20 text-[11px] font-bold text-[var(--accent)]",title:n.name,children:n.name.charAt(0).toUpperCase()},n.id)),(s.memberCount??0)>5&&e.jsxs("div",{className:"flex h-6 w-6 items-center justify-center rounded-full border-2 border-[var(--bg-card)] bg-[var(--bg-input)] text-[11px] text-[var(--text-muted)]",children:["+",s.memberCount-5]})]})}),e.jsx("span",{className:"text-xs text-[var(--text-secondary)]",children:s.taskCount??0}),e.jsx("span",{className:"text-[11px] text-[var(--text-muted)]",children:J(s.lastActivity??null)})]},s.key))]})]}),e.jsx(V,{isOpen:j,onClose:()=>t(!1),onCreated:u})]})]})}export{ne as default};