conductor-oss 0.40.0 → 0.41.0

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 (538) hide show
  1. package/package.json +5 -5
  2. package/web/.next/standalone/package.json +4 -3
  3. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  4. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +7 -5
  5. package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
  6. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  7. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +6 -6
  8. package/web/.next/standalone/packages/web/.next/routes-manifest.json +16 -0
  9. package/web/.next/standalone/packages/web/.next/server/app/__clerk/[[...path]]/route.js +1 -1
  10. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page.js +3 -3
  11. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  14. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  20. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +2 -2
  21. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/api/auth/profile/route.js +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/[bridgeId]/route.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/route.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/app-update/route.js +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/repair/route.js +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/route.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/service-restart/route.js +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/claims/complete/route.js +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/code/route.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/route.js +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/api/bridges/route.js +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +1 -1
  46. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/route.js +1 -1
  48. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/sync/route.js +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/bindings/route.js +1 -0
  56. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/bindings/route.js.nft.json +1 -0
  57. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/bindings/route_client-reference-manifest.js +1 -0
  58. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/route.js +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/stream/route.js +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/integration/route.js +1 -0
  61. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/integration/route.js.nft.json +1 -0
  62. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/integration/route_client-reference-manifest.js +1 -0
  63. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/interrupt/route.js +1 -1
  64. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/preferences/route.js +1 -1
  65. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/route.js +1 -1
  66. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/send/route.js +1 -1
  67. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route.js +1 -1
  68. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/route.js +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/route.js +1 -1
  70. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatchers/route.js +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/open/route.js +1 -1
  72. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/route.js +1 -1
  73. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/setup/route.js +1 -1
  74. package/web/.next/standalone/packages/web/.next/server/app/api/projects/route.js +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +1 -1
  76. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +1 -1
  78. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  79. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +1 -1
  80. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +1 -1
  81. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +1 -1
  82. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +1 -1
  83. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
  84. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +1 -1
  85. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +1 -1
  86. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js +1 -1
  87. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js +1 -1
  88. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js +1 -1
  89. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js +1 -1
  90. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +1 -1
  91. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/relay/route.js +1 -1
  92. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js +1 -1
  93. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js +2 -2
  94. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js +2 -2
  95. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js +1 -1
  96. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js +1 -1
  97. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +1 -1
  98. package/web/.next/standalone/packages/web/.next/server/app/api/skills/activate/route.js +1 -1
  99. package/web/.next/standalone/packages/web/.next/server/app/api/skills/catalog/route.js +1 -1
  100. package/web/.next/standalone/packages/web/.next/server/app/api/skills/deactivate/route.js +1 -1
  101. package/web/.next/standalone/packages/web/.next/server/app/api/skills/install/route.js +1 -1
  102. package/web/.next/standalone/packages/web/.next/server/app/api/skills/installed/route.js +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/app/api/skills/session-active/route.js +1 -1
  104. package/web/.next/standalone/packages/web/.next/server/app/api/skills/uninstall/route.js +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +1 -1
  106. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +1 -1
  107. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +1 -1
  108. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +2 -2
  109. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  110. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  111. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js +2 -2
  112. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.sh/route.js +2 -2
  113. package/web/.next/standalone/packages/web/.next/server/app/icon.svg/route.js +1 -1
  114. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  115. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  117. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  118. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  119. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  120. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +2 -2
  121. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  122. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  123. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +2 -2
  124. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  125. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  126. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +2 -2
  127. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  128. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  129. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +2 -2
  130. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  131. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  132. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +2 -2
  133. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  134. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  135. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +7 -5
  136. package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
  137. package/web/.next/standalone/packages/web/.next/server/chunks/3760.js +1 -0
  138. package/web/.next/standalone/packages/web/.next/server/chunks/4345.js +1 -1
  139. package/web/.next/standalone/packages/web/.next/server/chunks/6801.js +1 -0
  140. package/web/.next/standalone/packages/web/.next/server/chunks/7287.js +1 -1
  141. package/web/.next/standalone/packages/web/.next/server/chunks/8851.js +1 -1
  142. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  144. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  145. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  146. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  147. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  148. package/web/.next/standalone/packages/web/.next/static/chunks/4443.a7f6acda97f57803.js +1 -0
  149. package/web/.next/standalone/packages/web/.next/static/chunks/6183.ad68e06bb8598db2.js +3 -0
  150. package/web/.next/standalone/packages/web/.next/static/chunks/6529-9788c20561fb2d88.js +1 -0
  151. package/web/.next/standalone/packages/web/.next/static/chunks/{8510-2e65606683f58711.js → 8510-a1df43baa1d4e677.js} +1 -1
  152. package/web/.next/standalone/packages/web/.next/static/chunks/9222.e00495e45537070d.js +1 -0
  153. package/web/.next/standalone/packages/web/.next/static/chunks/9739.93afef4b0df014dc.js +1 -0
  154. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-da63d844222da45c.js +1 -0
  155. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-da63d844222da45c.js +1 -0
  156. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-da63d844222da45c.js +1 -0
  157. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-da63d844222da45c.js +1 -0
  158. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-da63d844222da45c.js +1 -0
  159. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-da63d844222da45c.js +1 -0
  160. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-da63d844222da45c.js +1 -0
  161. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-da63d844222da45c.js +1 -0
  162. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-da63d844222da45c.js +1 -0
  163. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-da63d844222da45c.js +1 -0
  164. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-da63d844222da45c.js +1 -0
  165. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-da63d844222da45c.js +1 -0
  166. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-da63d844222da45c.js +1 -0
  167. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-da63d844222da45c.js +1 -0
  168. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-da63d844222da45c.js +1 -0
  169. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-da63d844222da45c.js +1 -0
  170. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-da63d844222da45c.js +1 -0
  171. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-da63d844222da45c.js +1 -0
  172. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-da63d844222da45c.js +1 -0
  173. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-da63d844222da45c.js +1 -0
  174. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-da63d844222da45c.js +1 -0
  175. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-da63d844222da45c.js +1 -0
  176. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-da63d844222da45c.js +1 -0
  177. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-da63d844222da45c.js +1 -0
  178. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-da63d844222da45c.js +1 -0
  179. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-da63d844222da45c.js +1 -0
  180. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-da63d844222da45c.js +1 -0
  181. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-da63d844222da45c.js +1 -0
  182. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-da63d844222da45c.js +1 -0
  183. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-da63d844222da45c.js +1 -0
  184. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-da63d844222da45c.js +1 -0
  185. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-da63d844222da45c.js +1 -0
  186. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-da63d844222da45c.js +1 -0
  187. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-da63d844222da45c.js +1 -0
  188. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-da63d844222da45c.js +1 -0
  189. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-da63d844222da45c.js +1 -0
  190. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-da63d844222da45c.js +1 -0
  191. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-da63d844222da45c.js +1 -0
  192. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-da63d844222da45c.js +1 -0
  193. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-da63d844222da45c.js +1 -0
  194. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-da63d844222da45c.js +1 -0
  195. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-da63d844222da45c.js +1 -0
  196. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-da63d844222da45c.js +1 -0
  197. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-da63d844222da45c.js +1 -0
  198. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-da63d844222da45c.js +1 -0
  199. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-da63d844222da45c.js +1 -0
  200. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-da63d844222da45c.js +1 -0
  201. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-da63d844222da45c.js +1 -0
  202. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-da63d844222da45c.js +1 -0
  203. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-da63d844222da45c.js +1 -0
  204. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-da63d844222da45c.js +1 -0
  205. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-da63d844222da45c.js +1 -0
  206. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-da63d844222da45c.js +1 -0
  207. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-da63d844222da45c.js +1 -0
  208. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-da63d844222da45c.js +1 -0
  209. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-da63d844222da45c.js +1 -0
  210. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-da63d844222da45c.js +1 -0
  211. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-da63d844222da45c.js +1 -0
  212. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-da63d844222da45c.js +1 -0
  213. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-da63d844222da45c.js +1 -0
  214. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-da63d844222da45c.js +1 -0
  215. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-da63d844222da45c.js +1 -0
  216. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-da63d844222da45c.js +1 -0
  217. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-da63d844222da45c.js +1 -0
  218. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-da63d844222da45c.js +1 -0
  219. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-da63d844222da45c.js +1 -0
  220. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-da63d844222da45c.js +1 -0
  221. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-da63d844222da45c.js +1 -0
  222. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-da63d844222da45c.js +1 -0
  223. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-da63d844222da45c.js +1 -0
  224. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-da63d844222da45c.js +1 -0
  225. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-da63d844222da45c.js +1 -0
  226. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-da63d844222da45c.js +1 -0
  227. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-da63d844222da45c.js +1 -0
  228. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-da63d844222da45c.js +1 -0
  229. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-da63d844222da45c.js +1 -0
  230. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-da63d844222da45c.js +1 -0
  231. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-da63d844222da45c.js +1 -0
  232. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-da63d844222da45c.js +1 -0
  233. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-da63d844222da45c.js +1 -0
  234. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-da63d844222da45c.js +1 -0
  235. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-da63d844222da45c.js +1 -0
  236. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-da63d844222da45c.js +1 -0
  237. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-da63d844222da45c.js +1 -0
  238. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-da63d844222da45c.js +1 -0
  239. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-69979301267ca9c5.js +1 -0
  240. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-da63d844222da45c.js +1 -0
  241. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-da63d844222da45c.js +1 -0
  242. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-da63d844222da45c.js +1 -0
  243. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-da63d844222da45c.js +1 -0
  244. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-da63d844222da45c.js +1 -0
  245. package/web/.next/standalone/packages/web/.next/static/chunks/{webpack-a069638fc9c0f639.js → webpack-ac1854bc8b494656.js} +1 -1
  246. package/web/.next/standalone/packages/web/package.json +1 -1
  247. package/web/.next/static/chunks/4443.a7f6acda97f57803.js +1 -0
  248. package/web/.next/static/chunks/6183.ad68e06bb8598db2.js +3 -0
  249. package/web/.next/static/chunks/6529-9788c20561fb2d88.js +1 -0
  250. package/web/.next/static/chunks/{8510-2e65606683f58711.js → 8510-a1df43baa1d4e677.js} +1 -1
  251. package/web/.next/static/chunks/9222.e00495e45537070d.js +1 -0
  252. package/web/.next/static/chunks/9739.93afef4b0df014dc.js +1 -0
  253. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-da63d844222da45c.js +1 -0
  254. package/web/.next/static/chunks/app/_global-error/page-da63d844222da45c.js +1 -0
  255. package/web/.next/static/chunks/app/api/access/route-da63d844222da45c.js +1 -0
  256. package/web/.next/static/chunks/app/api/agents/route-da63d844222da45c.js +1 -0
  257. package/web/.next/static/chunks/app/api/app-update/route-da63d844222da45c.js +1 -0
  258. package/web/.next/static/chunks/app/api/attachments/route-da63d844222da45c.js +1 -0
  259. package/web/.next/static/chunks/app/api/auth/profile/route-da63d844222da45c.js +1 -0
  260. package/web/.next/static/chunks/app/api/boards/comments/route-da63d844222da45c.js +1 -0
  261. package/web/.next/static/chunks/app/api/boards/route-da63d844222da45c.js +1 -0
  262. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-da63d844222da45c.js +1 -0
  263. package/web/.next/static/chunks/app/api/bridge/bridges/route-da63d844222da45c.js +1 -0
  264. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-da63d844222da45c.js +1 -0
  265. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-da63d844222da45c.js +1 -0
  266. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-da63d844222da45c.js +1 -0
  267. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-da63d844222da45c.js +1 -0
  268. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-da63d844222da45c.js +1 -0
  269. package/web/.next/static/chunks/app/api/bridge/devices/code/route-da63d844222da45c.js +1 -0
  270. package/web/.next/static/chunks/app/api/bridge/devices/route-da63d844222da45c.js +1 -0
  271. package/web/.next/static/chunks/app/api/bridges/route-da63d844222da45c.js +1 -0
  272. package/web/.next/static/chunks/app/api/config/route-da63d844222da45c.js +1 -0
  273. package/web/.next/static/chunks/app/api/context-files/open/route-da63d844222da45c.js +1 -0
  274. package/web/.next/static/chunks/app/api/context-files/route-da63d844222da45c.js +1 -0
  275. package/web/.next/static/chunks/app/api/events/route-da63d844222da45c.js +1 -0
  276. package/web/.next/static/chunks/app/api/executor/health/route-da63d844222da45c.js +1 -0
  277. package/web/.next/static/chunks/app/api/filesystem/directory/route-da63d844222da45c.js +1 -0
  278. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-da63d844222da45c.js +1 -0
  279. package/web/.next/static/chunks/app/api/github/projects/route-da63d844222da45c.js +1 -0
  280. package/web/.next/static/chunks/app/api/github/projects/sync/route-da63d844222da45c.js +1 -0
  281. package/web/.next/static/chunks/app/api/github/repos/route-da63d844222da45c.js +1 -0
  282. package/web/.next/static/chunks/app/api/github/webhook/route-da63d844222da45c.js +1 -0
  283. package/web/.next/static/chunks/app/api/health/boards/route-da63d844222da45c.js +1 -0
  284. package/web/.next/static/chunks/app/api/health/sessions/route-da63d844222da45c.js +1 -0
  285. package/web/.next/static/chunks/app/api/notifications/route-da63d844222da45c.js +1 -0
  286. package/web/.next/static/chunks/app/api/preferences/route-da63d844222da45c.js +1 -0
  287. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/bindings/route-da63d844222da45c.js +1 -0
  288. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-da63d844222da45c.js +1 -0
  289. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-da63d844222da45c.js +1 -0
  290. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/integration/route-da63d844222da45c.js +1 -0
  291. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-da63d844222da45c.js +1 -0
  292. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-da63d844222da45c.js +1 -0
  293. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-da63d844222da45c.js +1 -0
  294. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-da63d844222da45c.js +1 -0
  295. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-da63d844222da45c.js +1 -0
  296. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-da63d844222da45c.js +1 -0
  297. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-da63d844222da45c.js +1 -0
  298. package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-da63d844222da45c.js +1 -0
  299. package/web/.next/static/chunks/app/api/projects/[id]/open/route-da63d844222da45c.js +1 -0
  300. package/web/.next/static/chunks/app/api/projects/[id]/route-da63d844222da45c.js +1 -0
  301. package/web/.next/static/chunks/app/api/projects/[id]/setup/route-da63d844222da45c.js +1 -0
  302. package/web/.next/static/chunks/app/api/projects/route-da63d844222da45c.js +1 -0
  303. package/web/.next/static/chunks/app/api/repositories/[id]/route-da63d844222da45c.js +1 -0
  304. package/web/.next/static/chunks/app/api/repositories/route-da63d844222da45c.js +1 -0
  305. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-da63d844222da45c.js +1 -0
  306. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-da63d844222da45c.js +1 -0
  307. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-da63d844222da45c.js +1 -0
  308. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-da63d844222da45c.js +1 -0
  309. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-da63d844222da45c.js +1 -0
  310. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-da63d844222da45c.js +1 -0
  311. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-da63d844222da45c.js +1 -0
  312. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-da63d844222da45c.js +1 -0
  313. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-da63d844222da45c.js +1 -0
  314. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-da63d844222da45c.js +1 -0
  315. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-da63d844222da45c.js +1 -0
  316. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-da63d844222da45c.js +1 -0
  317. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-da63d844222da45c.js +1 -0
  318. package/web/.next/static/chunks/app/api/sessions/[id]/route-da63d844222da45c.js +1 -0
  319. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-da63d844222da45c.js +1 -0
  320. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-da63d844222da45c.js +1 -0
  321. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-da63d844222da45c.js +1 -0
  322. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-da63d844222da45c.js +1 -0
  323. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-da63d844222da45c.js +1 -0
  324. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-da63d844222da45c.js +1 -0
  325. package/web/.next/static/chunks/app/api/sessions/route-da63d844222da45c.js +1 -0
  326. package/web/.next/static/chunks/app/api/skills/activate/route-da63d844222da45c.js +1 -0
  327. package/web/.next/static/chunks/app/api/skills/catalog/route-da63d844222da45c.js +1 -0
  328. package/web/.next/static/chunks/app/api/skills/deactivate/route-da63d844222da45c.js +1 -0
  329. package/web/.next/static/chunks/app/api/skills/install/route-da63d844222da45c.js +1 -0
  330. package/web/.next/static/chunks/app/api/skills/installed/route-da63d844222da45c.js +1 -0
  331. package/web/.next/static/chunks/app/api/skills/session-active/route-da63d844222da45c.js +1 -0
  332. package/web/.next/static/chunks/app/api/skills/uninstall/route-da63d844222da45c.js +1 -0
  333. package/web/.next/static/chunks/app/api/spawn/route-da63d844222da45c.js +1 -0
  334. package/web/.next/static/chunks/app/api/workspaces/branches/route-da63d844222da45c.js +1 -0
  335. package/web/.next/static/chunks/app/api/workspaces/route-da63d844222da45c.js +1 -0
  336. package/web/.next/static/chunks/app/bridge/install.ps1/route-da63d844222da45c.js +1 -0
  337. package/web/.next/static/chunks/app/bridge/install.sh/route-da63d844222da45c.js +1 -0
  338. package/web/.next/static/chunks/app/layout-69979301267ca9c5.js +1 -0
  339. package/web/.next/static/chunks/app/sign-in/hosted/page-da63d844222da45c.js +1 -0
  340. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-da63d844222da45c.js +1 -0
  341. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-da63d844222da45c.js +1 -0
  342. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-da63d844222da45c.js +1 -0
  343. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-da63d844222da45c.js +1 -0
  344. package/web/.next/static/chunks/{webpack-a069638fc9c0f639.js → webpack-ac1854bc8b494656.js} +1 -1
  345. package/web/.next/standalone/packages/web/.next/server/chunks/2428.js +0 -1
  346. package/web/.next/standalone/packages/web/.next/server/chunks/4116.js +0 -1
  347. package/web/.next/standalone/packages/web/.next/static/chunks/3442.078a12ffc3e47b12.js +0 -1
  348. package/web/.next/standalone/packages/web/.next/static/chunks/4443.955d9ae9d19324ea.js +0 -1
  349. package/web/.next/standalone/packages/web/.next/static/chunks/6183.49cffd782e011a68.js +0 -3
  350. package/web/.next/standalone/packages/web/.next/static/chunks/6529-a5011115abc93722.js +0 -1
  351. package/web/.next/standalone/packages/web/.next/static/chunks/9739.9907f9b2a0167464.js +0 -1
  352. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-62253c70bf858792.js +0 -1
  353. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-62253c70bf858792.js +0 -1
  354. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-62253c70bf858792.js +0 -1
  355. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-62253c70bf858792.js +0 -1
  356. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-62253c70bf858792.js +0 -1
  357. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-62253c70bf858792.js +0 -1
  358. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-62253c70bf858792.js +0 -1
  359. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-62253c70bf858792.js +0 -1
  360. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-62253c70bf858792.js +0 -1
  361. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-62253c70bf858792.js +0 -1
  362. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-62253c70bf858792.js +0 -1
  363. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-62253c70bf858792.js +0 -1
  364. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-62253c70bf858792.js +0 -1
  365. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-62253c70bf858792.js +0 -1
  366. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-62253c70bf858792.js +0 -1
  367. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-62253c70bf858792.js +0 -1
  368. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-62253c70bf858792.js +0 -1
  369. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-62253c70bf858792.js +0 -1
  370. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-62253c70bf858792.js +0 -1
  371. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-62253c70bf858792.js +0 -1
  372. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-62253c70bf858792.js +0 -1
  373. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-62253c70bf858792.js +0 -1
  374. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-62253c70bf858792.js +0 -1
  375. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-62253c70bf858792.js +0 -1
  376. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-62253c70bf858792.js +0 -1
  377. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-62253c70bf858792.js +0 -1
  378. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-62253c70bf858792.js +0 -1
  379. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-62253c70bf858792.js +0 -1
  380. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-62253c70bf858792.js +0 -1
  381. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-62253c70bf858792.js +0 -1
  382. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-62253c70bf858792.js +0 -1
  383. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-62253c70bf858792.js +0 -1
  384. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-62253c70bf858792.js +0 -1
  385. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-62253c70bf858792.js +0 -1
  386. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-62253c70bf858792.js +0 -1
  387. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-62253c70bf858792.js +0 -1
  388. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-62253c70bf858792.js +0 -1
  389. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-62253c70bf858792.js +0 -1
  390. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-62253c70bf858792.js +0 -1
  391. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-62253c70bf858792.js +0 -1
  392. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-62253c70bf858792.js +0 -1
  393. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-62253c70bf858792.js +0 -1
  394. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-62253c70bf858792.js +0 -1
  395. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-62253c70bf858792.js +0 -1
  396. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-62253c70bf858792.js +0 -1
  397. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-62253c70bf858792.js +0 -1
  398. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-62253c70bf858792.js +0 -1
  399. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-62253c70bf858792.js +0 -1
  400. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-62253c70bf858792.js +0 -1
  401. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-62253c70bf858792.js +0 -1
  402. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-62253c70bf858792.js +0 -1
  403. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-62253c70bf858792.js +0 -1
  404. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-62253c70bf858792.js +0 -1
  405. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-62253c70bf858792.js +0 -1
  406. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-62253c70bf858792.js +0 -1
  407. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-62253c70bf858792.js +0 -1
  408. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-62253c70bf858792.js +0 -1
  409. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-62253c70bf858792.js +0 -1
  410. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-62253c70bf858792.js +0 -1
  411. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-62253c70bf858792.js +0 -1
  412. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-62253c70bf858792.js +0 -1
  413. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-62253c70bf858792.js +0 -1
  414. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-62253c70bf858792.js +0 -1
  415. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-62253c70bf858792.js +0 -1
  416. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-62253c70bf858792.js +0 -1
  417. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-62253c70bf858792.js +0 -1
  418. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-62253c70bf858792.js +0 -1
  419. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-62253c70bf858792.js +0 -1
  420. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-62253c70bf858792.js +0 -1
  421. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-62253c70bf858792.js +0 -1
  422. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-62253c70bf858792.js +0 -1
  423. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-62253c70bf858792.js +0 -1
  424. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-62253c70bf858792.js +0 -1
  425. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-62253c70bf858792.js +0 -1
  426. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-62253c70bf858792.js +0 -1
  427. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-62253c70bf858792.js +0 -1
  428. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-62253c70bf858792.js +0 -1
  429. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-62253c70bf858792.js +0 -1
  430. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-62253c70bf858792.js +0 -1
  431. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-62253c70bf858792.js +0 -1
  432. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-62253c70bf858792.js +0 -1
  433. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-62253c70bf858792.js +0 -1
  434. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-62253c70bf858792.js +0 -1
  435. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-d132409aceb26fa1.js +0 -1
  436. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-62253c70bf858792.js +0 -1
  437. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-62253c70bf858792.js +0 -1
  438. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-62253c70bf858792.js +0 -1
  439. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-62253c70bf858792.js +0 -1
  440. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-62253c70bf858792.js +0 -1
  441. package/web/.next/static/chunks/3442.078a12ffc3e47b12.js +0 -1
  442. package/web/.next/static/chunks/4443.955d9ae9d19324ea.js +0 -1
  443. package/web/.next/static/chunks/6183.49cffd782e011a68.js +0 -3
  444. package/web/.next/static/chunks/6529-a5011115abc93722.js +0 -1
  445. package/web/.next/static/chunks/9739.9907f9b2a0167464.js +0 -1
  446. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-62253c70bf858792.js +0 -1
  447. package/web/.next/static/chunks/app/_global-error/page-62253c70bf858792.js +0 -1
  448. package/web/.next/static/chunks/app/api/access/route-62253c70bf858792.js +0 -1
  449. package/web/.next/static/chunks/app/api/agents/route-62253c70bf858792.js +0 -1
  450. package/web/.next/static/chunks/app/api/app-update/route-62253c70bf858792.js +0 -1
  451. package/web/.next/static/chunks/app/api/attachments/route-62253c70bf858792.js +0 -1
  452. package/web/.next/static/chunks/app/api/auth/profile/route-62253c70bf858792.js +0 -1
  453. package/web/.next/static/chunks/app/api/boards/comments/route-62253c70bf858792.js +0 -1
  454. package/web/.next/static/chunks/app/api/boards/route-62253c70bf858792.js +0 -1
  455. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-62253c70bf858792.js +0 -1
  456. package/web/.next/static/chunks/app/api/bridge/bridges/route-62253c70bf858792.js +0 -1
  457. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-62253c70bf858792.js +0 -1
  458. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-62253c70bf858792.js +0 -1
  459. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-62253c70bf858792.js +0 -1
  460. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-62253c70bf858792.js +0 -1
  461. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-62253c70bf858792.js +0 -1
  462. package/web/.next/static/chunks/app/api/bridge/devices/code/route-62253c70bf858792.js +0 -1
  463. package/web/.next/static/chunks/app/api/bridge/devices/route-62253c70bf858792.js +0 -1
  464. package/web/.next/static/chunks/app/api/bridges/route-62253c70bf858792.js +0 -1
  465. package/web/.next/static/chunks/app/api/config/route-62253c70bf858792.js +0 -1
  466. package/web/.next/static/chunks/app/api/context-files/open/route-62253c70bf858792.js +0 -1
  467. package/web/.next/static/chunks/app/api/context-files/route-62253c70bf858792.js +0 -1
  468. package/web/.next/static/chunks/app/api/events/route-62253c70bf858792.js +0 -1
  469. package/web/.next/static/chunks/app/api/executor/health/route-62253c70bf858792.js +0 -1
  470. package/web/.next/static/chunks/app/api/filesystem/directory/route-62253c70bf858792.js +0 -1
  471. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-62253c70bf858792.js +0 -1
  472. package/web/.next/static/chunks/app/api/github/projects/route-62253c70bf858792.js +0 -1
  473. package/web/.next/static/chunks/app/api/github/projects/sync/route-62253c70bf858792.js +0 -1
  474. package/web/.next/static/chunks/app/api/github/repos/route-62253c70bf858792.js +0 -1
  475. package/web/.next/static/chunks/app/api/github/webhook/route-62253c70bf858792.js +0 -1
  476. package/web/.next/static/chunks/app/api/health/boards/route-62253c70bf858792.js +0 -1
  477. package/web/.next/static/chunks/app/api/health/sessions/route-62253c70bf858792.js +0 -1
  478. package/web/.next/static/chunks/app/api/notifications/route-62253c70bf858792.js +0 -1
  479. package/web/.next/static/chunks/app/api/preferences/route-62253c70bf858792.js +0 -1
  480. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-62253c70bf858792.js +0 -1
  481. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-62253c70bf858792.js +0 -1
  482. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-62253c70bf858792.js +0 -1
  483. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-62253c70bf858792.js +0 -1
  484. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-62253c70bf858792.js +0 -1
  485. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-62253c70bf858792.js +0 -1
  486. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route-62253c70bf858792.js +0 -1
  487. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/[task]/route-62253c70bf858792.js +0 -1
  488. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/tasks/route-62253c70bf858792.js +0 -1
  489. package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-62253c70bf858792.js +0 -1
  490. package/web/.next/static/chunks/app/api/projects/[id]/open/route-62253c70bf858792.js +0 -1
  491. package/web/.next/static/chunks/app/api/projects/[id]/route-62253c70bf858792.js +0 -1
  492. package/web/.next/static/chunks/app/api/projects/[id]/setup/route-62253c70bf858792.js +0 -1
  493. package/web/.next/static/chunks/app/api/projects/route-62253c70bf858792.js +0 -1
  494. package/web/.next/static/chunks/app/api/repositories/[id]/route-62253c70bf858792.js +0 -1
  495. package/web/.next/static/chunks/app/api/repositories/route-62253c70bf858792.js +0 -1
  496. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-62253c70bf858792.js +0 -1
  497. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-62253c70bf858792.js +0 -1
  498. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-62253c70bf858792.js +0 -1
  499. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-62253c70bf858792.js +0 -1
  500. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-62253c70bf858792.js +0 -1
  501. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-62253c70bf858792.js +0 -1
  502. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-62253c70bf858792.js +0 -1
  503. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-62253c70bf858792.js +0 -1
  504. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-62253c70bf858792.js +0 -1
  505. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-62253c70bf858792.js +0 -1
  506. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-62253c70bf858792.js +0 -1
  507. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-62253c70bf858792.js +0 -1
  508. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-62253c70bf858792.js +0 -1
  509. package/web/.next/static/chunks/app/api/sessions/[id]/route-62253c70bf858792.js +0 -1
  510. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-62253c70bf858792.js +0 -1
  511. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-62253c70bf858792.js +0 -1
  512. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-62253c70bf858792.js +0 -1
  513. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-62253c70bf858792.js +0 -1
  514. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-62253c70bf858792.js +0 -1
  515. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-62253c70bf858792.js +0 -1
  516. package/web/.next/static/chunks/app/api/sessions/route-62253c70bf858792.js +0 -1
  517. package/web/.next/static/chunks/app/api/skills/activate/route-62253c70bf858792.js +0 -1
  518. package/web/.next/static/chunks/app/api/skills/catalog/route-62253c70bf858792.js +0 -1
  519. package/web/.next/static/chunks/app/api/skills/deactivate/route-62253c70bf858792.js +0 -1
  520. package/web/.next/static/chunks/app/api/skills/install/route-62253c70bf858792.js +0 -1
  521. package/web/.next/static/chunks/app/api/skills/installed/route-62253c70bf858792.js +0 -1
  522. package/web/.next/static/chunks/app/api/skills/session-active/route-62253c70bf858792.js +0 -1
  523. package/web/.next/static/chunks/app/api/skills/uninstall/route-62253c70bf858792.js +0 -1
  524. package/web/.next/static/chunks/app/api/spawn/route-62253c70bf858792.js +0 -1
  525. package/web/.next/static/chunks/app/api/workspaces/branches/route-62253c70bf858792.js +0 -1
  526. package/web/.next/static/chunks/app/api/workspaces/route-62253c70bf858792.js +0 -1
  527. package/web/.next/static/chunks/app/bridge/install.ps1/route-62253c70bf858792.js +0 -1
  528. package/web/.next/static/chunks/app/bridge/install.sh/route-62253c70bf858792.js +0 -1
  529. package/web/.next/static/chunks/app/layout-d132409aceb26fa1.js +0 -1
  530. package/web/.next/static/chunks/app/sign-in/hosted/page-62253c70bf858792.js +0 -1
  531. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-62253c70bf858792.js +0 -1
  532. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-62253c70bf858792.js +0 -1
  533. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-62253c70bf858792.js +0 -1
  534. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-62253c70bf858792.js +0 -1
  535. /package/web/.next/standalone/packages/web/.next/static/{4J4LkySac7ZhAHNTZN5F3 → IZz8VMXEsprMU0_CXNVb_}/_buildManifest.js +0 -0
  536. /package/web/.next/standalone/packages/web/.next/static/{4J4LkySac7ZhAHNTZN5F3 → IZz8VMXEsprMU0_CXNVb_}/_ssgManifest.js +0 -0
  537. /package/web/.next/static/{4J4LkySac7ZhAHNTZN5F3 → IZz8VMXEsprMU0_CXNVb_}/_buildManifest.js +0 -0
  538. /package/web/.next/static/{4J4LkySac7ZhAHNTZN5F3 → IZz8VMXEsprMU0_CXNVb_}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6183],{10563:(e,t,a)=>{a.d(t,{s:()=>g});var r=a(54568),s=a(40448),n=a(34041),l=a(34309),i=a(64265),o=a(90124),d=a(46916),c=a(88272),x=a(33866),m=a(64323);let p=["codex","claude-code","gemini"];function u(e){return"xhigh"===e?"Extra High":e.split(/[_-\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function h({agent:e}){let t=(0,x.h7)(e);return(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 sm:gap-1",children:[(0,r.jsx)(o.N,{seed:{label:e},className:"h-3.5 w-3.5 border-none bg-transparent sm:h-3 sm:w-3"}),(0,r.jsx)("span",{className:"truncate",children:t?.label??e})]})}function b({label:e,title:t,disabled:a=!1,accent:l=!1,triggerClassName:i,contentClassName:o,children:c}){return(0,r.jsxs)(s.bL,{children:[(0,r.jsx)(s.l9,{asChild:!0,disabled:a,children:(0,r.jsxs)("button",{type:"button",disabled:a,title:t,className:(0,d.cn)("inline-flex h-10 min-w-0 items-center gap-2 rounded-[11px] border px-3 text-[13px] font-medium transition disabled:cursor-not-allowed disabled:opacity-60 sm:h-[30px] sm:gap-1 sm:rounded-[9px] sm:px-2 sm:text-[11.5px]",l?"border-[rgba(214,163,126,0.28)] bg-[rgba(66,44,35,0.94)] text-[#f2d9cd] hover:bg-[rgba(78,52,41,0.98)]":"border-[rgba(255,255,255,0.08)] bg-[#272220] text-[#f3ead8] hover:bg-[#312926]",i),children:[(0,r.jsx)("span",{className:"min-w-0 truncate",children:e}),(0,r.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-[rgba(255,255,255,0.55)] sm:h-2.5 sm:w-2.5"})]})}),(0,r.jsx)(s.ZL,{children:(0,r.jsx)(s.UC,{align:"start",collisionPadding:8,sideOffset:6,className:(0,d.cn)("z-50 max-h-[70vh] w-[calc(100vw-1rem)] max-w-[22rem] overflow-y-auto rounded-[12px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)] sm:max-h-[22rem] sm:w-auto sm:min-w-[200px] sm:max-w-[26rem] sm:rounded-[10px] sm:p-1.5",o),children:c})})]})}function g({implementationAgent:e,modelSelection:t,modelAccess:a,runtimeModelCatalogs:n,disabled:f=!1,className:v,onImplementationAgentChange:j,onModelSelectionChange:w}){let k=(0,c.Ik)(e,a,n),N=(0,c.xb)(t)??t.catalogModel,y=N?(0,m.M)(e,N):"Change model",S=(0,c.iL)(e,a,n,N),C=t.reasoningEffort.trim().toLowerCase();return(0,r.jsxs)("div",{className:(0,d.cn)("grid w-full gap-1.5 sm:flex sm:flex-wrap sm:items-center",v),children:[(0,r.jsx)("div",{className:"col-span-2 min-w-0 sm:flex-none",children:(0,r.jsxs)(b,{label:(0,r.jsx)(h,{agent:e}),title:`Change coding agent (${(0,x.h7)(e)?.label??e})`,disabled:f,triggerClassName:"w-full justify-between sm:w-auto sm:justify-start sm:max-w-[7.5rem]",children:[(0,r.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Coding agent"}),p.map(t=>{let a=(0,x.h7)(t),n=e===t;return(0,r.jsxs)(s.q7,{onSelect:()=>j(t),className:"flex min-h-[44px] cursor-default items-center gap-2.5 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] sm:min-h-[38px] sm:rounded-[7px] sm:px-2.5 sm:py-1.5 sm:text-[12.5px]",children:[(0,r.jsx)(o.N,{seed:{label:t},className:"h-4 w-4 border-none bg-transparent sm:h-3.5 sm:w-3.5"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12.5px]",children:a?.label??t}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:a?.description??"Coding agent"})]}),n?(0,r.jsx)(l.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},t)})]})}),(0,r.jsx)("div",{className:"col-span-2 min-w-0 sm:flex-none",children:(0,r.jsxs)(b,{label:y,title:`Change model${N?` (${y})`:""}`,disabled:f||0===k.length,triggerClassName:"w-full justify-between sm:w-auto sm:justify-start sm:max-w-[14.75rem]",contentClassName:"sm:min-w-[220px]",children:[(0,r.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Change model"}),k.map(t=>{let i=t.id===N;return(0,r.jsxs)(s.q7,{onSelect:()=>{let r=(0,c.iL)(e,a,n,t.id);w({catalogModel:t.id,customModel:"",reasoningEffort:r.some(e=>e.id===C)?C:(0,c.YS)(e,a,n,t.id)})},className:"flex min-h-[44px] cursor-default items-center gap-2.5 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] sm:min-h-[38px] sm:rounded-[7px] sm:px-2.5 sm:py-1.5 sm:text-[12.5px]",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12.5px]",children:t.label}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:t.description})]}),i?(0,r.jsx)(l.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},t.id)})]})}),S.length>0?(0,r.jsx)("div",{className:"col-span-2 min-w-0 sm:flex-none",children:(0,r.jsxs)(b,{label:(0,r.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 text-[#d7b6a5] sm:h-3 sm:w-3"}),(0,r.jsx)("span",{children:u(C||S[0].id)})]}),title:`Change thinking level (${u(C||S[0].id)})`,disabled:f,accent:!0,triggerClassName:"w-full justify-between sm:w-auto sm:justify-start sm:max-w-[7.75rem]",children:[(0,r.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Thinking"}),S.map(e=>{let a=e.id===C;return(0,r.jsxs)(s.q7,{onSelect:()=>w({...t,reasoningEffort:e.id}),className:"flex min-h-[44px] cursor-default items-center gap-2.5 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] sm:min-h-[38px] sm:rounded-[7px] sm:px-2.5 sm:py-1.5 sm:text-[12.5px]",children:[(0,r.jsx)(i.A,{className:"h-4 w-4 text-[#d7b6a5] sm:h-3.5 sm:w-3.5"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12.5px]",children:e.label}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:e.description})]}),a?(0,r.jsx)(l.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},e.id)})]})}):null]})}},18259:(e,t,a)=>{a.d(t,{AR:()=>n,Fp:()=>i,M_:()=>l,b:()=>o});let r="conductor:project-board-refresh",s=new Set(["dispatcher_task_created","dispatcher_task_updated","dispatcher_task_handed_off"]);function n(e){for(let t of e){let e=function(e){if("system"!==e.kind)return null;let t=e.metadata?.eventType;return"string"==typeof t&&t.trim().length>0?t.trim():null}(t);if(e&&s.has(e))return e}return null}function l(e,t){return!!(e.changedProjectIds?.includes(t)||e.sessions.some(e=>e.projectId===t))||"snapshot_delta"===e.type&&0===e.sessions.length}function i(e){window.dispatchEvent(new CustomEvent(r,{detail:e}))}function o(e,t){let a=a=>{let r=a.detail;r&&r.projectId===e&&t(r)};return window.addEventListener(r,a),()=>{window.removeEventListener(r,a)}}},18510:(e,t,a)=>{a.d(t,{J:()=>s,s:()=>n});var r=a(10926);function s(e){let t=(0,r.C0)(e);if(!t)return"/";let a=new URLSearchParams;return a.set("bridge",t),`/?${a.toString()}`}function n(e,t={}){let a,s=e.trim(),l=(0,r.DW)(s)?s:(a=(0,r.C0)(t.bridgeId))?(0,r.Bp)(a,s):s,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let d=i.toString(),c=`/sessions/${encodeURIComponent(l)}`;return d.length>0?`${c}?${d}`:c}},56183:(e,t,a)=>{a.r(t),a.d(t,{DispatcherPane:()=>em});var r=a(54568),s=a(40448),n=a(7620),l=a(97509),i=a(58299),o=a(96770),d=a(34309),c=a(44968),x=a(38491),m=a(10563),p=a(79748),u=a(8281),h=a(1426),b=a(2939),g=a(76587),f=a(23555),v=a(45894),j=a(97380),w=a(58588),k=a(69863),N=a(87242),y=a(46548),S=a(14796),C=a(34041),A=a(76265),_=a(26083),$=a(36645),E=a(82797),I=a(90124),L=a(76081),T=a(10926),M=a(46916),P=a(31404),R=a(18510),F=a(18259),D=a(33866),O=a(92070);function U(e,t=32){let{clientHeight:a,scrollHeight:r,scrollTop:s}=e;return![a,r,s].every(Number.isFinite)||Math.max(0,r-a-s)<=Math.max(0,t)}let q={entries:[],totalEntries:0,windowLimit:120,truncated:!1,sessionStatus:null,approvalState:null,parserState:null,runtimeStatus:null,source:null,error:null,integration:null};function z(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function H(e){return"string"==typeof e&&e.trim().length>0?e:null}function W(e){let t=z(e),a=H(t.id),r=H(t.kind),s="string"==typeof t.text?t.text:"";return a&&r?{id:a,kind:r,label:H(t.label)??"Session",text:s,createdAt:H(t.createdAt),attachments:Array.isArray(t.attachments)?t.attachments:[],source:H(t.source)??"session",streaming:!0===t.streaming,metadata:z(t.metadata)}:null}function B(e){let t=z(e),a=H(t.kind);return a?{kind:a,message:"string"==typeof t.message?t.message:"",command:H(t.command)}:null}function J(e){let t=z(e);return 0===Object.keys(t).length?null:t}function K(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=z(e.openclaw),a=z(e.heartbeat),r=z(e.memory),s=H(e.projectId),n=H(e.threadId);return s&&n?{projectId:s,threadId:n,bridgeId:null===e.bridgeId?null:H(e.bridgeId),openclaw:{threadId:null===t.threadId?null:H(t.threadId),sessionId:null===t.sessionId?null:H(t.sessionId)},heartbeat:{state:null===a.state?null:H(a.state),nextAt:null===a.nextAt?null:H(a.nextAt)},memory:{projectPath:null===r.projectPath?null:H(r.projectPath),sessionPath:null===r.sessionPath?null:H(r.sessionPath)}}:null}function G(e){let t=z(e);return{entries:Array.isArray(t.entries)?t.entries.map(W).filter(e=>null!==e):[],totalEntries:"number"==typeof t.totalEntries?t.totalEntries:0,windowLimit:"number"==typeof t.windowLimit?t.windowLimit:120,truncated:!0===t.truncated,sessionStatus:H(t.sessionStatus),approvalState:H(t.approvalState),parserState:B(t.parserState),runtimeStatus:J(t.runtimeStatus),source:H(t.source),error:H(t.error),integration:K(t.integration)}}function Z(e){let t=z(e),a=H(t.id),r=H(t.repo),s=H(t.path);if(!a||!r||!s)return null;let n=z(t.pathHealth);return{id:a,displayName:H(t.displayName)??a,repo:r,path:s,agent:H(t.agent)??"codex",agentPermissions:H(t.agentPermissions)??"skip",agentModel:H(t.agentModel)??"",agentReasoningEffort:H(t.agentReasoningEffort)??"",workspaceMode:H(t.workspaceMode)??"local",runtimeMode:H(t.runtimeMode)??"ttyd",scmMode:H(t.scmMode)??"git",defaultWorkingDirectory:H(t.defaultWorkingDirectory)??"",defaultBranch:H(t.defaultBranch)??"main",devServerScript:H(t.devServerScript)??"",devServerCwd:H(t.devServerCwd)??"",devServerUrl:H(t.devServerUrl)??"",devServerPort:H(t.devServerPort)??"",devServerHost:H(t.devServerHost)??"",devServerPath:H(t.devServerPath)??"",devServerHttps:!0===t.devServerHttps,setupScript:H(t.setupScript)??"",runSetupInParallel:!0===t.runSetupInParallel,cleanupScript:H(t.cleanupScript)??"",archiveScript:H(t.archiveScript)??"",copyFiles:H(t.copyFiles)??"",pathHealth:{exists:!0===n.exists,isGitRepository:!0===n.isGitRepository,suggestedPath:H(n.suggestedPath)}}}function V({value:e,maxLength:t=84,className:a}){let s=e.trim(),l=s.length>t||e.includes("\n"),[i,o]=(0,n.useState)(!1);return l?(0,r.jsx)("button",{type:"button",onClick:()=>o(e=>!e),"aria-expanded":i,title:i?"Collapse text":"Expand text",className:(0,M.cn)("max-w-full text-left transition-colors hover:bg-[rgba(255,255,255,0.08)]",i?"whitespace-pre-wrap break-words":"truncate",a),children:i?s:function(e,t=84){let a=e.replace(/\s+/g," ").trim();return a.length<=t?a:`${a.slice(0,Math.max(0,t-1)).trimEnd()}…`}(s,t)}):(0,r.jsx)("span",{className:a,children:s})}function Y(e){let t=(0,D.h7)(e);return t?.label?t.label:e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function Q({text:e}){return(0,r.jsx)(u.o,{remarkPlugins:[h.A],className:"min-w-0 break-words [overflow-wrap:anywhere]",components:{h1:({children:e})=>(0,r.jsx)("h1",{className:"mb-5 text-[22px] font-semibold tracking-[-0.03em] text-[var(--vk-text-strong)] last:mb-0 sm:text-[28px] lg:text-[36px]",children:e}),h2:({children:e})=>(0,r.jsx)("h2",{className:"mb-4 mt-8 text-[20px] font-semibold tracking-[-0.02em] text-[var(--vk-text-strong)] first:mt-0 last:mb-0",children:e}),h3:({children:e})=>(0,r.jsx)("h3",{className:"mb-3 mt-6 text-[16px] font-semibold text-[var(--vk-text-normal)] first:mt-0 last:mb-0",children:e}),p:({children:e})=>(0,r.jsx)("p",{className:"mb-3 last:mb-0",children:e}),hr:()=>(0,r.jsx)("hr",{className:"my-8 border-0 border-t border-[var(--vk-border)]"}),pre:({children:e})=>(0,r.jsx)("pre",{className:"mb-4 overflow-x-auto rounded-[10px] border border-[var(--vk-border)] bg-[#151413] p-3 text-[12px] text-[var(--vk-text-normal)] last:mb-0",children:e}),code:({children:e,className:t})=>(0,r.jsx)("code",{className:(0,M.cn)("rounded-[6px] bg-[#171615] px-1.5 py-0.5 font-mono text-[12px] text-[var(--vk-text-normal)]",t),children:e}),ul:({children:e})=>(0,r.jsx)("ul",{className:"mb-3 list-disc pl-5 last:mb-0",children:e}),ol:({children:e})=>(0,r.jsx)("ol",{className:"mb-3 list-decimal pl-5 last:mb-0",children:e}),li:({children:e})=>(0,r.jsx)("li",{className:"mb-1 last:mb-0",children:e}),table:({children:e})=>(0,r.jsx)("div",{className:"mb-4 overflow-x-auto rounded-[12px] border border-[var(--vk-border)]",children:(0,r.jsx)("table",{className:"min-w-full border-collapse text-left text-[13px]",children:e})}),thead:({children:e})=>(0,r.jsx)("thead",{className:"bg-[rgba(255,255,255,0.03)]",children:e}),tbody:({children:e})=>(0,r.jsx)("tbody",{children:e}),tr:({children:e})=>(0,r.jsx)("tr",{className:"border-b border-[var(--vk-border)] last:border-b-0",children:e}),th:({children:e})=>(0,r.jsx)("th",{className:"px-4 py-3 text-[12px] font-medium text-[var(--vk-text-normal)]",children:e}),td:({children:e})=>(0,r.jsx)("td",{className:"px-4 py-3 align-top text-[13px] text-[var(--vk-text-muted)]",children:e})},children:e})}function X({label:e,tone:t="neutral"}){return(0,r.jsxs)("div",{className:(0,M.cn)("mb-3 flex items-center gap-3 rounded-[10px] border px-3 py-2","prompt"===t?"border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.05)] text-[#f4ede7]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-normal)]"),children:[(0,r.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-[8px] bg-[rgba(0,0,0,0.22)]",children:(0,r.jsx)(b.A,{className:"h-4 w-4"})}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium",children:e}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Attached context"})]})]})}function ee({toolKind:e,toolTitle:t,className:a="h-4 w-4"}){let s=t.trim().toLowerCase(),n=e?.trim().toLowerCase()??"";return"thinking"===n||"thinking"===s?(0,r.jsx)(g.A,{className:(0,M.cn)(a,"text-[var(--vk-text-normal)]")}):"read"===n||s.startsWith("read ")||s.includes("review request")?(0,r.jsx)(b.A,{className:a}):"write"===n||"edit"===n||"multiedit"===n||s.startsWith("write")||s.startsWith("edit")?(0,r.jsx)(x.A,{className:a}):"grep"===n||"search"===n||"find"===n?(0,r.jsx)(f.A,{className:a}):"ls"===n||"glob"===n||"open"===n?(0,r.jsx)(v.A,{className:a}):"websearch"===n||"webfetch"===n?(0,r.jsx)(j.A,{className:a}):"task"===n||"todowrite"===n?(0,r.jsx)(o.A,{className:a}):s.includes("diff")||s.includes("workspace diff")||s.includes("git diff")?(0,r.jsx)(w.A,{className:a}):"bash"===n||"command"===n||s.startsWith("get diff")||s.startsWith("run ")?(0,r.jsx)(k.A,{className:a}):(0,r.jsx)(N.A,{className:a})}function et(e){switch(e){case"create":return"Task created";case"update":return"Task updated";case"handoff":return"Task handed off"}}function ea({entry:e,session:t}){var a;let s=function(e){if(!e)return null;let t=new Date(e).getTime();if(!Number.isFinite(t))return null;let a=Date.now()-t;return a<6e4?"just now":a<36e5?`${Math.max(1,Math.floor(a/6e4))}m ago`:new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}).format(t)}(e.createdAt),n="assistant"===e.kind?"runtime"===e.source?"Thinking":Y(t.metadata.agent?.trim()||"assistant"):e.label||"Session",l=e.attachments.map(e=>{let t=z(e);return H(t.name)??H(t.path)??("string"==typeof e?e:null)}).filter(e=>!!e),i=H(e.metadata.toolTitle)??e.text,d=H(e.metadata.toolKind)?.toLowerCase()??null,c=Array.isArray(a=e.metadata.toolContent)?a.map(e=>H(e)).filter(e=>null!==e):[],x=c[0]??null,m=c[1]??null,p="assistant"===e.kind&&"runtime"===e.source,u="status"===e.kind&&"session-status"===e.source,h=function(e){if("system"!==e.kind)return null;let t=H(e.metadata.eventType),a=null;if("dispatcher_task_created"===t?a="create":"dispatcher_task_updated"===t?a="update":"dispatcher_task_handed_off"===t&&(a="handoff"),!a)return null;let r=H(e.metadata.taskId),s=H(e.metadata.taskRef)??r,n=H(e.metadata.taskTitle);return r&&s&&n?{operation:a,taskId:r,taskRef:s,taskTitle:n,taskRoleLabel:H(e.metadata.taskRoleLabel),taskAgent:H(e.metadata.taskAgent),taskType:H(e.metadata.taskType)}:null}(e);return"tool"===e.kind?(0,r.jsxs)("div",{className:"flex items-start gap-3 text-[13px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("div",{className:"mt-[2px] flex h-5 w-5 shrink-0 items-center justify-center text-[var(--vk-text-muted)]",children:(0,r.jsx)(ee,{toolKind:d,toolTitle:i,className:"h-4 w-4"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1 space-y-1.5",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:i||"Tool call"}),x?(0,r.jsx)(V,{value:x,maxLength:72,className:"rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px] text-[var(--vk-text-muted)]"}):null,s?(0,r.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:s}):null]}),m?(0,r.jsx)(V,{value:m,maxLength:140,className:"block rounded-[6px] bg-[rgba(255,255,255,0.03)] px-2 py-1 text-[12px] leading-5 text-[var(--vk-text-muted)]"}):null]})]}):h?(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:et(h.operation)}),s?(0,r.jsx)("span",{className:"ml-auto text-[11px]",children:s}):null]}),(0,r.jsxs)("div",{className:"rounded-[12px] border border-[rgba(129,101,83,0.35)] bg-[rgba(62,47,40,0.72)] px-4 py-3 text-[15px] leading-6 text-[#efe4dc]",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-start gap-2",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"text-[12px] font-medium uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:et(h.operation)}),(0,r.jsx)("p",{className:"mt-1 break-words text-[16px] font-semibold text-[#fff5ee]",children:h.taskTitle})]}),(0,r.jsx)("span",{className:"rounded-full border border-[rgba(255,255,255,0.12)] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium text-[#fff5ee]",children:h.taskRef})]}),(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2 text-[11px] text-[rgba(255,255,255,0.72)]",children:[h.taskRoleLabel?(0,r.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:h.taskRoleLabel}):null,h.taskAgent?(0,r.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:Y(h.taskAgent)}):null,h.taskType?(0,r.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:h.taskType}):null]})]})]}):p?(0,r.jsxs)("div",{className:"flex items-start gap-3 text-[13px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("div",{className:"mt-[2px] flex h-5 w-5 shrink-0 items-center justify-center text-[var(--vk-text-muted)]",children:(0,r.jsx)(g.A,{className:"h-4 w-4 text-[var(--vk-text-normal)]"})}),(0,r.jsx)("div",{className:"min-w-0 flex-1",children:(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:"Thinking"}),e.text.trim().length>0?(0,r.jsx)(V,{value:e.text,maxLength:96,className:"rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px] text-[var(--vk-text-muted)]"}):null,s?(0,r.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:s}):null]})})]}):u?(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("div",{className:"rounded-[22px] border border-[rgba(113,84,68,0.45)] bg-[rgba(54,40,34,0.9)] px-4 py-3 text-[15px] leading-7 text-[#efe4dc] shadow-[0_8px_18px_rgba(0,0,0,0.14)]",children:(0,r.jsx)(Q,{text:e.text})}),s?(0,r.jsx)("div",{className:"text-right text-[11px] text-[var(--vk-text-muted)]",children:s}):null]}):"user"===e.kind?(0,r.jsxs)("div",{className:"ml-auto max-w-[88%]",children:[(0,r.jsxs)("div",{className:"rounded-[14px] border border-[rgba(124,94,78,0.45)] bg-[rgba(52,39,35,0.92)] px-4 py-3 text-[#f1e7e0] shadow-[0_10px_24px_rgba(0,0,0,0.18)]",children:[l.map(t=>(0,r.jsx)(X,{label:t,tone:"prompt"},`${e.id}-${t}`)),(0,r.jsx)("div",{className:"text-[15px] leading-7 text-[#f4ede7]",children:(0,r.jsx)(Q,{text:e.text})})]}),s?(0,r.jsx)("div",{className:"mt-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:s}):null]}):"assistant"===e.kind?(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"text-[15px] leading-8 text-[var(--vk-text-normal)]",children:[l.map(t=>(0,r.jsx)(X,{label:t},`${e.id}-${t}`)),(0,r.jsx)(Q,{text:e.text})]}),s?(0,r.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:s}):null]}):(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:["status"===e.kind?(0,r.jsx)(y.A,{className:"h-3.5 w-3.5"}):(0,r.jsx)(S.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:n}),s?(0,r.jsx)("span",{className:"ml-auto text-[11px]",children:s}):null]}),(0,r.jsxs)("div",{className:(0,M.cn)("rounded-[12px] border px-4 py-3 text-[15px] leading-7","border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] text-[var(--vk-text-muted)]"),children:[l.map(t=>(0,r.jsx)(X,{label:t},`${e.id}-${t}`)),(0,r.jsx)(Q,{text:e.text})]})]})}function er({project:e,disabled:t=!1,saving:a=!1,onChange:n}){let l=e?.agent?.trim()||"codex";return(0,r.jsxs)(s.bL,{children:[(0,r.jsx)(s.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",disabled:t||!e,className:"inline-flex h-10 w-full min-w-0 max-w-full items-center justify-between gap-3 rounded-[8px] border border-[var(--vk-accent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_88%,black_12%)] px-3 text-left text-[13px] text-white shadow-[0_10px_24px_rgba(0,0,0,0.18)] transition hover:bg-[var(--accent-hover)] disabled:cursor-not-allowed disabled:opacity-60 sm:min-w-[220px] sm:w-auto","aria-label":"Select coding agent",title:e?`Coding agent: ${Y(l)}`:"Project agent unavailable",children:[(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,r.jsx)(I.N,{seed:{label:l},className:"h-5 w-5 border-none bg-transparent"}),(0,r.jsx)("span",{className:"truncate",children:a?"Saving agent…":`Coding Agent \xb7 ${Y(l)}`})]}),a?(0,r.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(C.A,{className:"h-4 w-4 shrink-0"})]})}),(0,r.jsx)(s.ZL,{children:(0,r.jsxs)(s.UC,{align:"start",sideOffset:8,className:"z-50 min-w-[250px] max-w-[calc(100vw-2rem)] rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Coding agent"}),D.pN.map(e=>{let t=e.name===l;return(0,r.jsxs)(s.q7,{onSelect:()=>n(e.name),className:"flex min-h-[46px] cursor-default items-center gap-3 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)]",children:[(0,r.jsx)(I.N,{seed:{label:e.name},className:"h-5 w-5 border-none bg-transparent"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium",children:e.label}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.6)]",children:e.description})]}),t?(0,r.jsx)(d.A,{className:"h-4 w-4 text-white"}):null]},e.name)})]})})]})}let es=new Set(["queued","spawning","running","working"]),en=["## proposed plan","## intended board mutations","## intended tool calls","## task packet","task packet","board mutations"],el=["approve this plan","approve the plan","approve this proposal","request changes","plan-only mode","paused before mutating the board","approve it or request changes","ask for explicit approval","explicit approval"];function ei({session:e,bridgeId:t=null,onClose:a,onToggleCollapse:s,className:l,hideOpenSessionAction:o=!1,hideRepositoryControls:c=!1,hideSessionStatusBadge:x=!1,headerActions:m=null,composerInsert:u=null,composerToolbar:h=null,apiPaths:b}){let g=(0,p.useRouter)(),[f,v]=(0,n.useState)(q),[j,w]=(0,n.useState)(!0),[k,N]=(0,n.useState)(null),[y,C]=(0,n.useState)(""),[D,Q]=(0,n.useState)(null),[X,ee]=(0,n.useState)(!1),[et,eo]=(0,n.useState)(null),[ed,ec]=(0,n.useState)(!0),[ex,em]=(0,n.useState)(null),[ep,eu]=(0,n.useState)(!1),eh=(0,n.useRef)(null),eb=(0,n.useRef)(null),eg=(0,n.useRef)(!0),ef=(0,n.useMemo)(()=>({feed:b.feed,stream:b.stream,send:b.send,interrupt:b.interrupt??null,repositories:b.repositories??"/api/repositories"}),[b]),ev=(0,n.useMemo)(()=>{if("project_dispatcher"===e.metadata.sessionKind)return`Dispatcher / ${e.projectId}`;let t=e.issueId?.trim()||e.projectId,a=e.branch?.trim()||(0,T.kV)(e.id).slice(0,8);return`${t} / ${a}`},[e.branch,e.id,e.issueId,e.metadata.sessionKind,e.projectId]),ej=(0,n.useMemo)(()=>Y(et?.agent?.trim()||e.metadata.agent?.trim()||"agent"),[et?.agent,e.metadata.agent]),ew=(0,n.useMemo)(()=>f.sessionStatus?.trim()||e.status,[f.sessionStatus,e.status]),ek=(0,n.useMemo)(()=>ew.trim().toLowerCase(),[ew]),eN="project_dispatcher"===e.metadata.sessionKind,ey=f.approvalState??e.metadata.acpPlanApprovalState??null,eS=(0,n.useMemo)(()=>eN&&function(e,t,a){if("approval_required"!==t||a?.trim().toLowerCase()!=="needs_input")return!1;for(let t=e.length-1;t>=0;t--){let a=e[t];if("tool"!==a.kind&&"status"!==a.kind&&"system"!==a.kind){if("user"===a.kind)return!1;if("assistant"===a.kind)return function(e){let t=e.trim().toLowerCase();if(t.length<160)return!1;let a=en.reduce((e,a)=>e+ +!!t.includes(a),0),r=el.reduce((e,a)=>e+ +!!t.includes(a),0);return a>=2&&r>=1}(a.text)}}return!1}(f.entries,ey,f.sessionStatus??e.status),[ey,eN,f.entries,f.sessionStatus,e.status]),eC=!!ef.interrupt&&es.has(ek),eA=eN&&eC,e_=eC&&!eA,e$=!c||!x||e_,eE="archived"!==e.status&&!(eN&&eC),eI=(0,n.useCallback)(async()=>{if(c){eo(null),em(null),ec(!1);return}ec(!0),em(null);try{let a=await fetch((0,P.S)(ef.repositories,t),{cache:"no-store"}),r=z(await a.json().catch(()=>null));if(!a.ok)throw Error(H(r.error)??`Failed to load project settings (${a.status})`);let s=Array.isArray(r.repositories)?r.repositories.map(Z).find(t=>null!==t&&t.id===e.projectId)??null:null;eo(s),s||em("Project settings were not found for this session.")}catch(e){eo(null),em(e instanceof Error?e.message:"Failed to load project settings")}finally{ec(!1)}},[t,c,e.projectId,ef.repositories]),eL=(0,n.useCallback)(async()=>{w(!0),N(null);try{let e=await fetch((0,P.S)(ef.feed,t),{cache:"no-store"}),a=G(await e.json().catch(()=>null));if(!e.ok)throw Error(a.error??`Failed to load session feed (${e.status})`);v(a)}catch(e){N(e instanceof Error?e.message:"Failed to load session feed"),v(q)}finally{w(!1)}},[t,ef.feed]);(0,n.useEffect)(()=>{eL()},[eL]),(0,n.useEffect)(()=>{c||eI()},[c,eI]),(0,n.useEffect)(()=>{let a=!1,r=null,s=0,n={current:null},l=()=>{null!==r&&(window.clearTimeout(r),r=null)},i=t=>{let a=null;try{a=JSON.parse(t)}catch{eL();return}let r=a&&"object"==typeof a&&!Array.isArray(a)?a:null;if(r?.type==="refresh"){(0,F.Fp)({projectId:e.projectId,reason:"dispatcher_feed_refresh"}),eL();return}let s=function(e){let t=z(e),a=H(t.type);if(!a&&Array.isArray(t.entries))return{type:"replace",payload:G(e)};if("replace"===a)return{type:a,payload:G(t.payload)};if("append"===a){let e=G(t);return{type:a,entries:e.entries,totalEntries:e.totalEntries,windowLimit:e.windowLimit,truncated:e.truncated,sessionStatus:e.sessionStatus,approvalState:e.approvalState,parserState:e.parserState,runtimeStatus:e.runtimeStatus,source:e.source,error:e.error,integration:e.integration}}if("patch"===a){let e=H(t.entryId);return e?{type:a,entryId:e,entry:W(t.entry),textDelta:"string"==typeof t.textDelta?t.textDelta:null,totalEntries:"number"==typeof t.totalEntries?t.totalEntries:0,windowLimit:"number"==typeof t.windowLimit?t.windowLimit:120,truncated:!0===t.truncated,sessionStatus:H(t.sessionStatus),approvalState:H(t.approvalState),parserState:B(t.parserState),runtimeStatus:J(t.runtimeStatus),source:H(t.source),error:H(t.error),integration:K(t.integration)}:null}return null}(a);if(!s)return;let n="append"===s.type?(0,F.AR)(s.entries):null;n&&(0,F.Fp)({projectId:e.projectId,reason:n}),v(e=>(function(e,t){if("replace"===t.type)return t.payload;if("append"===t.type)return{entries:[...e.entries,...t.entries],totalEntries:t.totalEntries,windowLimit:t.windowLimit,truncated:t.truncated,sessionStatus:t.sessionStatus,approvalState:t.approvalState,parserState:t.parserState,runtimeStatus:t.runtimeStatus,source:t.source,error:t.error,integration:t.integration??e.integration};let a=t.entry;if(!a)return{...e,totalEntries:t.totalEntries,windowLimit:t.windowLimit,truncated:t.truncated,sessionStatus:t.sessionStatus,approvalState:t.approvalState,parserState:t.parserState,runtimeStatus:t.runtimeStatus,source:t.source,error:t.error,integration:t.integration??e.integration};let r=e.entries.slice(),s=-1;for(let e=r.length-1;e>=0;e-=1)if(r[e]?.id===t.entryId){s=e;break}if(s>=0){let e=r[s];null!==t.textDelta&&a.text.startsWith(e.text)?r[s]={...a,text:e.text+t.textDelta}:r[s]=a}else r.push(a);return{entries:r,totalEntries:t.totalEntries,windowLimit:t.windowLimit,truncated:t.truncated,sessionStatus:t.sessionStatus,approvalState:t.approvalState,parserState:t.parserState,runtimeStatus:t.runtimeStatus,source:t.source,error:t.error,integration:t.integration??e.integration}})(e,s))},o=()=>{if(a)return;l();let e=0===s?250:Math.min(500*2**(s-1),12e3);s+=1,r=window.setTimeout(()=>{r=null,d()},e)},d=async()=>{if(a)return;n.current?.abort();let e=new AbortController;n.current=e;let r=(0,P.S)(ef.stream,t);try{let t=await fetch(r,{cache:"no-store",signal:e.signal});if(!t.ok||!t.body){a||(eL(),o());return}for await(let r of(s=0,(0,O.w)(t.body,e.signal))){if(a)return;i(r.data)}a||(eL(),o())}catch{a||e.signal.aborted||(eL(),o())}};return d(),()=>{a=!0,l(),n.current?.abort()}},[t,eL,e.projectId,ef.stream]),(0,n.useEffect)(()=>{eg.current=!0},[e.id]),(0,n.useEffect)(()=>{if(!eh.current||!eg.current)return;let e=window.requestAnimationFrame(()=>{let e=eh.current;e&&eg.current&&(e.scrollTo({top:e.scrollHeight}),eg.current=U(e))});return()=>window.cancelAnimationFrame(e)},[f]),(0,n.useEffect)(()=>{let e=eh.current,t=eb.current;if(!e||!t||"u"<typeof ResizeObserver)return;let a=new ResizeObserver(()=>{eg.current&&(e.scrollTo({top:e.scrollHeight}),eg.current=U(e))});return a.observe(t),()=>a.disconnect()},[j,k,e.id]);let eT=(0,n.useCallback)(e=>{eg.current=U(e.currentTarget)},[]);(0,n.useEffect)(()=>{u&&C(e=>{let t=u.draftText.trim();if(!t)return e;let a=e.trim();return a?a.includes(t)?e:`${e.trimEnd()}
2
+
3
+ ${t}`:t})},[u]);let eM=(0,n.useCallback)(async e=>{let a=e.trim();if(!a||X)return!1;ee(!0),Q(null);try{let e=await fetch((0,P.S)(ef.send,t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:a})}),r=await e.json().catch(()=>null);if(!e.ok)throw Error(H(z(r).error)??`Failed to send message (${e.status})`);return!0}catch(e){return Q(e instanceof Error?e.message:"Failed to send message"),!1}finally{ee(!1)}},[t,X,ef.send]),eP=(0,n.useCallback)(async()=>{let e=y.trim();!e||await eM(e)&&C("")},[y,eM]),eR=(0,n.useCallback)(async e=>{await eM(e)},[eM]),eF=(0,n.useCallback)(async e=>{if(et&&!ep&&e!==et.agent){eu(!0),em(null);try{let a=await fetch((0,P.S)(ef.repositories,t),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...et,agent:e})}),r=z(await a.json().catch(()=>null));if(!a.ok)throw Error(H(r.error)??`Failed to update coding agent (${a.status})`);let s=Z(r.repository);s?eo(s):eo(t=>t?{...t,agent:e}:t)}catch(e){em(e instanceof Error?e.message:"Failed to update coding agent")}finally{eu(!1)}}},[t,et,ep,ef.repositories]),eD=(0,n.useCallback)(async()=>{if(ef.interrupt){ee(!0),Q(null);try{let e=await fetch((0,P.S)(ef.interrupt,t),{method:"POST"}),a=await e.json().catch(()=>null);if(!e.ok)throw Error(H(z(a).error)??`Failed to interrupt session (${e.status})`)}catch(e){Q(e instanceof Error?e.message:"Failed to interrupt session")}finally{ee(!1)}}},[t,ef.interrupt]);return(0,r.jsxs)("aside",{className:(0,M.cn)("flex h-full min-h-0 w-full min-w-0 shrink-0 flex-col overflow-hidden border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] xl:w-[405px] xl:border-l xl:border-t-0",l),children:[(0,r.jsxs)("div",{className:"flex h-[33px] items-center gap-2 border-b border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:ev}),m,s?(0,r.jsx)("button",{type:"button",onClick:s,className:"hidden h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:inline-flex","aria-label":"Collapse dispatcher",title:"Collapse dispatcher",children:(0,r.jsx)(A.A,{className:"h-3.5 w-3.5"})}):null,o?null:(0,r.jsx)("button",{type:"button",onClick:()=>g.push((0,R.s)(e.id,{bridgeId:t,tab:null})),className:"inline-flex h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open full session",children:(0,r.jsx)(_.A,{className:"h-3.5 w-3.5"})}),a?(0,r.jsx)("button",{type:"button",onClick:a,className:"inline-flex h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Close docked session",children:(0,r.jsx)($.A,{className:"h-3.5 w-3.5"})}):null]}),(0,r.jsx)("div",{ref:eh,onScroll:eT,className:"min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden px-3 py-4 sm:px-4",children:j?(0,r.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading dispatcher activity..."]}):k?(0,r.jsx)("div",{className:"rounded-[3px] border border-[color:color-mix(in_srgb,var(--vk-red)_45%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:k}):(0,r.jsxs)("div",{ref:eb,className:"space-y-5",children:[f.parserState||f.truncated?(0,r.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-2 text-[12px] text-[var(--vk-text-muted)]",children:[f.parserState?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-[999px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2 py-0.5",children:[(0,r.jsx)(i.A,{className:"h-3 w-3"}),(0,r.jsx)("span",{children:f.parserState.kind})]}),f.parserState.command?(0,r.jsx)(V,{value:f.parserState.command,maxLength:72,className:"rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px]"}):null]}):null,f.truncated?(0,r.jsxs)(r.Fragment,{children:[f.parserState?(0,r.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}):null,(0,r.jsxs)("span",{children:["Showing latest ",f.windowLimit]})]}):null]}):null,0===f.entries.length?(0,r.jsx)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-4 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"No dispatcher activity yet."}):f.entries.map(t=>(0,r.jsx)(ea,{entry:t,session:e},t.id))]})}),(0,r.jsxs)("div",{className:"border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-4 sm:px-4",children:[e$?(0,r.jsxs)("div",{className:"mb-3 flex min-w-0 flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[c?null:(0,r.jsx)(er,{project:et,disabled:ed,saving:ep,onChange:e=>void eF(e)}),x?null:(0,r.jsxs)("div",{className:(0,M.cn)("inline-flex w-fit max-w-full items-center gap-2 rounded-[999px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-1 text-[11px] text-[var(--vk-text-muted)]",c?null:"sm:ml-auto"),children:[(0,r.jsx)(I.N,{seed:{label:ej},className:"h-4 w-4 border-none bg-transparent"}),(0,r.jsx)("span",{children:ej}),(0,r.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}),(0,r.jsx)("span",{children:ew})]}),e_?(0,r.jsxs)(L.$,{type:"button",variant:"outline",size:"sm",disabled:X,onClick:()=>void eD(),className:"h-[31px] rounded-[6px] border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[#f3ead8] hover:bg-[rgba(255,255,255,0.08)]",children:[X?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)($.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:"Stop"})]}):null]}):null,ex?(0,r.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,r.jsx)(S.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{children:ex})]}):null,D?(0,r.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,r.jsx)(S.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{children:D})]}):null,eS?(0,r.jsxs)("div",{className:"mb-3 rounded-[12px] border border-[rgba(204,163,92,0.35)] bg-[rgba(64,49,27,0.58)] px-3 py-3 text-[12px] text-[#f1e3bf]",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-medium text-[#f6ead0]",children:[(0,r.jsx)(S.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:"Plan-only review ready"})]}),(0,r.jsx)("p",{className:"mt-2 leading-5 text-[#dccba1]",children:"The dispatcher is paused before mutating the board for this turn. Review the proposal above, then approve it or request changes."}),(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,r.jsxs)(L.$,{type:"button",size:"sm",disabled:!eE||X,onClick:()=>void eR("approve"),className:"h-[31px] rounded-[6px] border-[rgba(255,255,255,0.08)] bg-[#e6c786] px-3 text-[13px] text-[#22170d] hover:bg-[#edd39d]",children:[X?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(d.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:"Approve plan"})]}),(0,r.jsxs)(L.$,{type:"button",variant:"outline",size:"sm",disabled:!eE||X,onClick:()=>void eR("reject"),className:"h-[31px] rounded-[6px] border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[#f3ead8] hover:bg-[rgba(255,255,255,0.08)]",children:[(0,r.jsx)($.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:"Request changes"})]})]})]}):null,(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),eP()},className:"rounded-[3px] border border-[var(--vk-border)] bg-[#1f1f1f] px-2.5 py-2.5 sm:px-3 sm:py-3",children:[h?(0,r.jsx)("div",{className:"mb-2.5 sm:mb-3",children:h}):null,(0,r.jsx)("textarea",{value:y,onChange:e=>C(e.target.value),placeholder:"Ask the dispatcher to shape work, create tasks, or update the board...",disabled:!eE||X,rows:2,className:"w-full resize-none bg-transparent text-[15px] leading-5 text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)] disabled:opacity-60 sm:text-[16px] sm:leading-6"}),(0,r.jsx)("div",{className:"mt-2.5 flex items-center justify-end sm:mt-3",children:eA?(0,r.jsxs)(L.$,{type:"button",variant:"outline",size:"sm",disabled:X,onClick:()=>void eD(),className:"h-[29px] rounded-[3px] border-[var(--vk-border)] bg-[#292929] px-3 text-[14px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[X?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)($.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:"Stop"})]}):(0,r.jsx)(L.$,{type:"submit",variant:"outline",size:"sm",disabled:!eE||X||0===y.trim().length,className:"h-[29px] rounded-[3px] border-[var(--vk-border)] bg-[#292929] px-3 text-[14px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:X?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{children:"Send"}),(0,r.jsx)(E.A,{className:"h-3.5 w-3.5"})]})})})]})]})]})}var eo=a(88272);function ed(e,t,a=""){let r=e.metadata?.[t];return"string"==typeof r&&r.trim().length>0?r:a}function ec(e){let t=(e.summary?.trim()||e.metadata.summary?.trim()||"").replace(/\s+/g," ").trim();return t||("needs_input"===e.status?"Waiting for follow-up":"working"===e.status?"Working":`Thread ${e.id.slice(0,8)}`)}function ex({thread:e,deleting:t,error:a,onCancel:s,onConfirm:n}){if("u"<typeof document)return null;let o=ec(e);return(0,l.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{t||s()},children:(0,r.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"delete-dispatcher-thread-title",children:[(0,r.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,r.jsx)("h2",{id:"delete-dispatcher-thread-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Delete Dispatcher Thread"}),(0,r.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Delete thread ",(0,r.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:e.id.slice(0,8)})," from this project."]})]}),(0,r.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,r.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This removes the dispatcher conversation and its saved thread state. Repository files on disk are not changed."}),(0,r.jsxs)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2",children:[(0,r.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Thread summary"}),(0,r.jsx)("p",{className:"mt-1 line-clamp-4 text-[13px] leading-5 text-[var(--vk-text-normal)]",children:o})]}),a?(0,r.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:a}):null]}),(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,r.jsx)(L.$,{type:"button",variant:"ghost",onClick:s,disabled:t,children:"Cancel"}),(0,r.jsxs)(L.$,{type:"button",variant:"danger",onClick:()=>void n(),disabled:t,children:[t?(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,"Delete Thread"]})]})]})}),document.body)}function em({thread:e,threads:t=[],projectId:a,bridgeId:l,modelAccess:p={},runtimeModelCatalogs:u={},onSelectThread:h,onDeleteThread:b,deletingThreadId:g=null,onStartNewConversation:f,creatingConversation:v=!1,onToggleCollapse:j,className:w}){let k=(0,n.useMemo)(()=>ed(e,"acpImplementationAgent","codex"),[e]),N=(0,n.useMemo)(()=>ed(e,"acpImplementationModel"),[e]),y=(0,n.useMemo)(()=>ed(e,"acpImplementationReasoningEffort"),[e]),[S,C]=(0,n.useState)(k),[A,_]=(0,n.useState)(!1),[$,E]=(0,n.useState)(null),[I,L]=(0,n.useState)(null),[T,M]=(0,n.useState)(()=>(0,eo.c0)(k,p,u,N||null,y||null)),[R,F]=(0,n.useState)(!1),D=Object.keys(u).length>0;(0,n.useEffect)(()=>{C(k),M((0,eo.c0)(k,p,u,N||null,y||null))},[p,k,N,y,u]);let O=(0,n.useMemo)(()=>t.find(e=>e.id===$)??null,[$,t]);(0,n.useEffect)(()=>{$&&!O&&(E(null),L(null))},[O,$]);let U=(0,n.useMemo)(()=>`threadId=${encodeURIComponent(e.id)}`,[e.id]),q=t.length>0&&(t.length>1||!!b),z=(0,n.useCallback)(async(e,t)=>{F(!0);try{let r=await fetch((0,P.S)(`/api/projects/${a}/dispatcher/preferences?${U}`,l),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({implementationAgent:e,implementationModel:(0,eo.xb)(t)??"",implementationReasoningEffort:(0,eo.aB)(t)??""})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??"Failed to update dispatcher preferences")}}finally{F(!1)}},[l,a,U]),H=(0,n.useCallback)(e=>{let t=(0,eo.c0)(e,p,u,null,null);C(e),M(t),z(e,t)},[p,z,u]),W=(0,n.useCallback)(e=>{M(e),z(S,e)},[S,z]),B=(0,n.useCallback)(async()=>{if(O&&b){L(null);try{await b(O.id),E(null)}catch(e){L(e instanceof Error?e.message:"Failed to delete dispatcher thread")}}},[O,b]),J=(0,r.jsxs)(r.Fragment,{children:[q?(0,r.jsxs)(s.bL,{open:A,onOpenChange:_,children:[(0,r.jsx)(s.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",className:"inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-6 sm:w-6 sm:rounded-[3px]","aria-label":"Open dispatcher threads",title:"Open dispatcher threads",children:(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"})})}),(0,r.jsx)(s.ZL,{children:(0,r.jsxs)(s.UC,{align:"end",collisionPadding:8,sideOffset:8,className:"z-50 w-[calc(100vw-1rem)] max-w-[26rem] overflow-hidden rounded-[12px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:[(0,r.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Threads"}),(0,r.jsx)("div",{className:"max-h-[70vh] space-y-1 overflow-y-auto pr-1",children:t.map(t=>{let a=t.id===e.id,n=g===t.id,l=ec(t);return(0,r.jsxs)("div",{className:"flex items-stretch gap-2",children:[(0,r.jsx)(s.q7,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",onClick:()=>{h?.(t.id),_(!1)},disabled:n,className:"flex min-h-[64px] min-w-0 flex-1 items-start gap-3 rounded-[10px] px-3 py-3 text-left text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] text-[rgba(255,255,255,0.72)]",children:a?(0,r.jsx)(d.A,{className:"h-3 w-3"}):(0,r.jsx)(o.A,{className:"h-3 w-3"})}),(0,r.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,r.jsx)("span",{className:"block line-clamp-2 break-words text-[13px] font-medium leading-5",children:l}),(0,r.jsxs)("span",{className:"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 text-[11px] text-[rgba(255,255,255,0.58)]",children:[(0,r.jsx)("span",{children:function(e){let t=new Date(e).getTime();if(!Number.isFinite(t))return"Recently";let a=Math.max(0,Math.round((Date.now()-t)/1e3));return a<60?"Just now":a<3600?`${Math.floor(a/60)}m ago`:a<86400?`${Math.floor(a/3600)}h ago`:`${Math.floor(a/86400)}d ago`}(t.lastActivityAt)}),(0,r.jsx)("span",{className:"truncate",children:t.id.slice(0,8)})]})]})]})}),b?(0,r.jsx)("button",{type:"button",onClick:()=>{_(!1),L(null),E(t.id)},disabled:!!g,className:"inline-flex w-11 shrink-0 items-center justify-center rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] text-[rgba(255,255,255,0.68)] transition hover:border-[rgba(210,81,81,0.4)] hover:bg-[rgba(210,81,81,0.12)] hover:text-[#f08b8b] disabled:cursor-not-allowed disabled:opacity-50","aria-label":`Delete dispatcher thread ${t.id.slice(0,8)}`,title:"Delete thread",children:n?(0,r.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(c.A,{className:"h-4 w-4"})}):null]},t.id)})})]})})]}):null,f?(0,r.jsx)("button",{type:"button",onClick:f,disabled:v,className:"inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:cursor-not-allowed disabled:opacity-60 sm:h-6 sm:w-6 sm:rounded-[3px]","aria-label":"Start new dispatcher thread",title:"Start new dispatcher thread",children:v?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(x.A,{className:"h-3.5 w-3.5"})}):null]}),K=D?(0,r.jsx)(m.s,{implementationAgent:S,modelSelection:T,modelAccess:p,runtimeModelCatalogs:u,disabled:R,onImplementationAgentChange:H,onModelSelectionChange:W}):null;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ei,{session:e,bridgeId:l,onToggleCollapse:j,className:w,hideOpenSessionAction:!0,hideRepositoryControls:!0,hideSessionStatusBadge:!0,headerActions:J,composerToolbar:K,apiPaths:{feed:`/api/projects/${encodeURIComponent(a)}/dispatcher/feed?limit=120&${U}`,stream:`/api/projects/${encodeURIComponent(a)}/dispatcher/feed/stream?limit=120&${U}`,send:`/api/projects/${encodeURIComponent(a)}/dispatcher/send?${U}`,interrupt:`/api/projects/${encodeURIComponent(a)}/dispatcher/interrupt?${U}`,integration:`/api/projects/${encodeURIComponent(a)}/dispatcher/integration?${U}`}}),O?(0,r.jsx)(ex,{thread:O,deleting:g===O.id,error:I,onCancel:()=>{g||(E(null),L(null))},onConfirm:B}):null]})}},64323:(e,t,a)=>{a.d(t,{M:()=>s});var r=a(5739);function s(e,t){let a=t.trim(),s=(0,r.q)(e);if(!a)return a;if("claude-code"===s){let e=a.toLowerCase();if("opus"===e)return"Claude Opus";if("sonnet"===e)return"Claude Sonnet";if("haiku"===e)return"Claude Haiku";let t=e.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(t){let e=t[1];return`Claude ${e[0]?.toUpperCase()+e.slice(1)} ${t[2]}.${t[3]}`}}return a.split(/[-_]+/g).filter(Boolean).map(e=>"gpt"===e.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(e)?e:e[0]?.toUpperCase()+e.slice(1)).join("-")}a(76196)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6529],{862:(e,t,n)=>{n.d(t,{G:()=>C});var a=n(54568),r=n(7620),i=n(33593),o=n(90466),s=n(46916),l=n(79748),d=n(58299),c=n(34309),u=n(62868),p=n(2099),f=n(36645),m=n(59706),h=n(76081),g=n(17210),b=n(31404),y=n(44522);let v="conductor-dismissed-update-version";function w(){let e,t,n=(0,l.usePathname)(),i=(0,l.useSearchParams)(),[o,w]=(0,r.useState)(null),[x,C]=(0,r.useState)(null),[k,A]=(0,r.useState)(null),[j,S]=(0,r.useState)(!1),[M,I]=(0,r.useState)(!1),[E,P]=(0,r.useState)(!1),N=(0,r.useMemo)(()=>(0,b.y)(window.location.href),[n,i]),T=(0,r.useCallback)(()=>(0,b.y)(window.location.href),[]),B=(0,r.useCallback)((e=!1)=>{let t=(0,b.S)("/api/app-update",T());if(!e)return t;let n=new URL(t,"http://127.0.0.1");return n.searchParams.set("force","1"),`${n.pathname}${n.search}${n.hash}`},[T]),L=(0,r.useCallback)(async(e=!1)=>{try{let t=await fetch(B(e),{cache:"no-store"}),n=await t.json().catch(()=>null);if(412===t.status)return C(null),null;if(!t.ok)throw Error("string"==typeof n?.error?n.error:`Failed to load update status (${t.status})`);return w(n),C(null),n}catch(e){return C(e instanceof Error?e.message:"Failed to load update status."),null}},[B,T]);(0,r.useEffect)(()=>{try{let e=window.localStorage.getItem(v);A(e&&e.length>0?e:null)}catch{}L(!0);let e=N?()=>{}:(0,g.F)(e=>{e&&(w(e),C(null))}),t=()=>{"visible"===document.visibilityState&&L(!1)};return window.addEventListener("focus",t),document.addEventListener("visibilitychange",t),()=>{e(),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",t)}},[N,L]);let $=o?.latestVersion&&k===o.latestVersion,O=!!o?.restarting||E,R=(0,r.useMemo)(()=>!!o&&(!!O||"running"===o.jobStatus||!$&&("completed"===o.jobStatus||"failed"===o.jobStatus||!o.enabled&&!!o.reason||o.updateAvailable)),[$,O,o]);async function q(){o?.updateCommand&&(await navigator.clipboard.writeText(o.updateCommand),S(!0),window.setTimeout(()=>S(!1),1400))}async function G(){I(!0);try{let e=await fetch((0,b.S)("/api/app-update",T()),{method:"POST",headers:{"content-type":"application/json"}}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Update failed (${e.status})`);w(t),C(null)}catch(e){C(e instanceof Error?e.message:"Failed to trigger update.")}finally{I(!1)}}let U=(0,r.useCallback)(async()=>{let e=Date.now()+6e4;if(N){for(;Date.now()<e;){let e=await L(!1);if(!e?.restarting)return void P(!1);await new Promise(e=>window.setTimeout(e,1e3))}P(!1),C("Restart started on the paired device, but it did not reconnect in time. Retry from the bridge controls.");return}for(;Date.now()<e;){try{if((await fetch("/api/health",{cache:"no-store"})).ok)return void window.location.reload()}catch{}await new Promise(e=>window.setTimeout(e,1e3))}P(!1),C("Restart started, but the dashboard did not come back in time. Reload manually.")},[N,L]);async function F(){try{let e=await fetch((0,b.S)("/api/app-update",T()),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"restart"})}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Restart failed (${e.status})`);w(t),C(null)}catch(e){C(e instanceof Error?e.message:"Failed to restart Conductor.")}}return((0,r.useEffect)(()=>{o?.restarting&&!E&&(P(!0),U())},[E,o?.restarting,U]),R)?(0,a.jsx)("div",{className:"pointer-events-none fixed bottom-3 right-3 z-[70] w-[min(calc(100vw-1.5rem),24rem)] sm:bottom-4 sm:right-4",children:(0,a.jsxs)("section",{className:(0,s.cn)("pointer-events-auto rounded-[14px] border bg-[var(--vk-bg-panel)] p-4 shadow-[0_16px_40px_rgba(0,0,0,0.35)]",o?.jobStatus==="failed"?"border-[color:color-mix(in_srgb,var(--vk-red)_55%,var(--vk-border))]":"border-[var(--vk-border)]"),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[O||o?.jobStatus==="running"?(0,a.jsx)(d.A,{className:"h-4 w-4 animate-spin text-[var(--vk-orange)]"}):o?.jobStatus==="completed"?(0,a.jsx)(c.A,{className:"h-4 w-4 text-[var(--status-ready)]"}):o?.jobStatus==="failed"?(0,a.jsx)(u.A,{className:"h-4 w-4 text-[var(--vk-red)]"}):(0,a.jsx)(p.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}),(0,a.jsx)("h2",{className:"truncate text-[13px] font-semibold text-[var(--vk-text-normal)]",children:o?(t=(e=o.currentVersion?.trim())?` (build ${e})`:"",!o.enabled&&o.reason?`Conductor update unavailable${t}`:o.restarting?`Restarting Conductor${t}`:"running"===o.jobStatus?`Updating Conductor${t}`:"completed"===o.jobStatus?`Conductor updated${t}`:"failed"===o.jobStatus?`Update failed${t}`:o.latestVersion?`Conductor ${o.latestVersion} is available${t}`:`Conductor update available${t}`):"Conductor update"})]}),(0,a.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:o?function(e){if(!e.enabled&&e.reason)return(0,y.N8)(e);if(e.restarting)return"The launcher is restarting the runtime. This tab will reconnect automatically once it is ready.";if("running"===e.jobStatus)return e.jobMessage??"Installing the latest version in the background.";if("completed"===e.jobStatus)return e.jobMessage??"The latest version has been installed. Restart Conductor to use it.";if("failed"===e.jobStatus)return e.jobMessage??"The update command did not finish successfully.";let t=e.currentVersion?`You are running ${e.currentVersion}. `:"";return e.canAutoUpdate?`${t}Install the new release now and restart when it finishes.`:"npx"===e.installMode?`${t}Copy the restart command, run it in a terminal, and the next launch will use the latest release.`:`${t}Copy the update command, run it in a terminal, then restart Conductor.`}(o):"Checking for updates..."})]}),(0,a.jsx)("button",{type:"button",onClick:function(){if(o?.latestVersion){try{window.localStorage.setItem(v,o.latestVersion)}catch{}A(o.latestVersion);return}w(e=>e?{...e,reason:null,enabled:!0}:e)},className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Dismiss update notice",children:(0,a.jsx)(f.A,{className:"h-4 w-4"})})]}),o?.updateCommand?(0,a.jsx)("div",{className:"mt-3 rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]",children:o.updateCommand}):null,o?(0,a.jsx)("p",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:function(e){switch(e){case"npx":return"This session was launched through npx. Copy the restart command, run it in a terminal, and the next launch will use the latest package.";case"unknown":return"Automatic updates are unavailable for this install.";default:return null}}(o.installMode)??(o.restartRequired?"Restart the current Conductor process after the installer completes.":"Update state streams from the running Conductor runtime.")}):null,x?(0,a.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:x}):o?.error?(0,a.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:o.error}):null,o?.logsTail&&"failed"===o.jobStatus?(0,a.jsx)("pre",{className:"mt-2 max-h-32 overflow-auto rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-2 text-[10px] leading-4 text-[var(--vk-text-faint)]",children:o.logsTail}):null,(0,a.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-2",children:[o?.jobStatus==="failed"&&o.canAutoUpdate?(0,a.jsxs)(h.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void G(),disabled:M,children:[M?(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"}),"Retry"]}):null,o?.jobStatus==="idle"&&o.canAutoUpdate?(0,a.jsxs)(h.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void G(),disabled:M,children:[M?(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(p.A,{className:"h-3.5 w-3.5"}),"Update now"]}):null,o?.jobStatus==="idle"&&!o.canAutoUpdate&&o.updateCommand?(0,a.jsxs)(h.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void q(),children:[j?(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 text-[var(--status-ready)]"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"}),j?"Copied":"npx"===o.installMode?"Copy restart command":"Copy command"]}):null,o?.restartRequired&&o.canRestart&&!o.restarting&&!E?(0,a.jsxs)(h.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void F(),children:[(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"}),"Restart now"]}):null,o?.restarting||E?(0,a.jsxs)(h.$,{type:"button",size:"sm",variant:"primary",disabled:!0,children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 animate-spin"}),"Restarting"]}):null]})]})}):null}let x="conductor-workspace-sidebar-width";function C({sidebar:e,children:t,mobileSidebarOpen:n,desktopSidebarOpen:l,onToggleSidebar:d,hideMobileSidebarToggle:c=!1}){let[u,p]=(0,r.useState)(356),[f,m]=(0,r.useState)(!1);(0,r.useEffect)(()=>{try{let e=window.localStorage.getItem(x),t=e?Number.parseInt(e,10):NaN;Number.isFinite(t)&&p(Math.min(460,Math.max(296,t)))}catch{}},[]),(0,r.useEffect)(()=>{if(!f)return;let e=e=>{p(Math.min(460,Math.max(296,e.clientX)))},t=()=>{m(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(x,String(u))}catch{}}},[f,u]);let h={"--workspace-sidebar-width":`${u}px`};return(0,a.jsxs)("div",{style:h,className:"relative flex h-dvh min-h-[100dvh] w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)] [padding-top:env(safe-area-inset-top)] [padding-bottom:env(safe-area-inset-bottom)] pl-[env(safe-area-inset-left)] pr-[env(safe-area-inset-right)]",children:[n&&(0,a.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:d,"aria-label":"Close workspace panel"}),(0,a.jsx)("aside",{className:(0,s.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-full max-w-none flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-[transform,width] duration-200 sm:w-[min(90vw,var(--workspace-sidebar-width))] sm:max-w-[28rem]",n?"translate-x-0":"-translate-x-full",l?"lg:w-[var(--workspace-sidebar-width)]":"lg:w-0 lg:overflow-hidden lg:border-r-0","lg:relative lg:left-auto lg:translate-x-0"),children:e}),l?(0,a.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>m(!0),"aria-hidden":"true",children:(0,a.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,l&&(0,a.jsx)("button",{type:"button",onClick:d,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,a.jsx)(i.A,{className:"h-5 w-5"})}),(0,a.jsxs)("main",{className:"relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!n&&!c&&(0,a.jsx)("button",{type:"button",onClick:d,className:"absolute left-2 top-2 z-40 inline-flex h-11 w-11 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_10px_24px_rgba(0,0,0,0.28)] hover:bg-[var(--vk-bg-hover)] sm:h-8 sm:w-8 lg:hidden","aria-label":"Open workspace panel",children:(0,a.jsx)(o.A,{className:"h-5 w-5"})}),!l&&(0,a.jsx)("button",{type:"button",onClick:d,className:"absolute left-2 top-2 z-40 hidden h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Open workspace panel",children:(0,a.jsx)(o.A,{className:"h-5 w-5"})}),t]}),(0,a.jsx)(w,{})]})}},5739:(e,t,n)=>{n.d(t,{q:()=>a});function a(e){return e.trim().toLowerCase().replace(/[_\s]+/g,"-")}},17210:(e,t,n)=>{n.d(t,{F:()=>M,L:()=>S});var a=n(31404),r=n(92070);let i=new Set,o=new Set,s=null,l=null,d=null,c=null,u=null,p=0;function f(){return i.size>0||o.size>0}function m(){return"u"<typeof document||"visible"===document.visibilityState}function h(e){if(Array.isArray(e))return{type:"snapshot",sessions:e};if(!e||"object"!=typeof e)return null;let t=e.type;return"snapshot"!==t&&"snapshot_delta"!==t?null:Array.isArray(e.sessions)?e:null}function g(e){return e&&"object"==typeof e&&"boolean"==typeof e.enabled?e:null}function b(e){for(let t of i)t(e);let t=g(e.appUpdate);if(t)for(let e of o)e(t)}function y(){return(0,a.y)(window.location.href)}async function v(){if("function"!=typeof fetch)return;let e=(async()=>{let e=y();try{let t=await fetch((0,a.S)("/api/sessions",e));if(!t.ok)return;let n=await t.json().catch(()=>null),r=h(n);if(!r)return;b(r)}catch{}try{let n=await fetch((0,a.S)("/api/app-update",e));if(!n.ok)return;let r=await n.json().catch(()=>null);var t=g(r);for(let e of o)e(t)}catch{}})();s=e.finally(()=>{s===e&&(s=null)}),await e}function w(){null!==u&&(window.clearTimeout(u),u=null)}function x(){if(!f()||!m()||y())return;w();let e=0===p?250:Math.min(400*2**(p-1),12e3);p+=1,u=window.setTimeout(()=>{u=null,A()},e)}function C(){w(),p=0,c?.abort(),c=null}async function k(e){try{let t=await fetch("/api/events",{cache:"no-store",signal:e.signal});if(!t.ok||!t.body){e.signal.aborted||x();return}for await(let n of(p=0,(0,r.w)(t.body,e.signal)))!function(e){let t;if("refresh"===e.event){s||v();return}try{t=JSON.parse(e.data)}catch{return}if(t&&"object"==typeof t&&"refresh"===t.type){s||v();return}let n=h(t);n&&b(n)}(n);e.signal.aborted||x()}catch{e.signal.aborted||x()}}function A(){if("u"<typeof fetch||c||!f()||!m()||y())return;let e=new AbortController;c=e,(async()=>{try{await k(e)}finally{c===e&&(c=null)}})()}function j(){if(!f()){C(),l&&(window.removeEventListener("focus",l),l=null),d&&(document.removeEventListener("visibilitychange",d),d=null);return}(l||d||(l=()=>{f()&&m()&&(A(),s||v())},d=()=>{f()&&m()?(A(),s||v()):C()},window.addEventListener("focus",l),document.addEventListener("visibilitychange",d)),y()||!m())?C():A()}function S(e){return i.add(e),j(),()=>{i.delete(e),j()}}function M(e){return o.add(e),j(),()=>{o.delete(e),j()}}},35821:(e,t,n)=>{n.d(t,{w:()=>r});var a=n(75120);function r(e,t=null,n){return(0,a.DA)(e,t,n)}},46012:(e,t,n)=>{n.d(t,{T:()=>i});var a=n(7620);function r(){return window.innerWidth>=1024}function i(e){let[t,n]=(0,a.useState)(!1),[i,o]=(0,a.useState)(e?.initialDesktopOpen??!0),s=(0,a.useCallback)(()=>{r()?o(e=>!e):n(e=>!e)},[]);return{mobileSidebarOpen:t,desktopSidebarOpen:i,toggleSidebar:s,closeSidebarOnMobile:(0,a.useCallback)(()=>{r()||n(!1)},[]),syncSidebarForViewport:(0,a.useCallback)(()=>{r()?o(!0):n(!1)},[])}}},53649:(e,t,n)=>{n.d(t,{U:()=>o});var a=n(7620),r=n(31404);function i(e,t){return{id:e,repo:"string"==typeof t?.repo?t.repo:null,path:"string"==typeof t?.path?t.path:null,iconUrl:"string"==typeof t?.iconUrl?t.iconUrl:null,boardDir:"string"==typeof t?.boardDir?t.boardDir:null,boardFile:"string"==typeof t?.boardFile?t.boardFile:null,description:"string"==typeof t?.description?t.description:null,defaultBranch:"string"==typeof t?.defaultBranch&&t.defaultBranch.trim().length>0?t.defaultBranch:"main",agent:"string"==typeof t?.agent&&t.agent.trim().length>0?t.agent:"claude-code",agentPermissions:"string"==typeof t?.agentPermissions&&t.agentPermissions.trim().length>0?t.agentPermissions:null,agentModel:"string"==typeof t?.agentModel&&t.agentModel.trim().length>0?t.agentModel:null,agentReasoningEffort:"string"==typeof t?.agentReasoningEffort&&t.agentReasoningEffort.trim().length>0?t.agentReasoningEffort:null}}function o(e,t){let n=t?.enabled??!0,[o,s]=(0,a.useState)([]),[l,d]=(0,a.useState)(n),[c,u]=(0,a.useState)(null),p=(0,a.useCallback)(async()=>{if(!n){s([]),u(null),d(!1);return}d(!0);try{let t=await fetch((0,r.S)("/api/config",e)),n=await t.json().catch(()=>null);if(!t.ok){let e="object"==typeof n&&null!==n?n.error??n.reason:null;throw Error(e??`Failed to fetch config: ${t.status}`)}s(function(e){if(!e||"object"!=typeof e)return[];let t=e.projects;return t?Array.isArray(t)?t.map((e,t)=>e&&"object"==typeof e?i("string"==typeof e.id&&e.id.trim().length>0?e.id:`project-${t+1}`,e):i(`project-${t+1}`,null)):"object"==typeof t?Object.entries(t).map(([e,t])=>i(e,t&&"object"==typeof t?t:null)):[]:[]}(n)),u(null)}catch(e){s([]),u(e instanceof Error?e.message:"Failed to fetch config")}finally{d(!1)}},[e,n]);return(0,a.useEffect)(()=>{p()},[p]),{projects:o,loading:!!n&&l,error:n?c:null,refresh:p}}},75120:(e,t,n)=>{n.d(t,{DA:()=>P,Kc:()=>I,eI:()=>E});var a=n(7620),r=n(31404),i=n(10926),o=n(17210),s=n(77522);let l="local",d=new Map,c=new Map,u=new Map;function p(e){return(0,i.C0)(e)??l}function f(e){let t=d.get(e);return t||(t={sessionsById:new Map,orderedIds:[],version:0,loading:!0,error:null,listInitialized:!1,refreshPromise:null,unsubscribeSnapshots:null,activeConsumers:0,pollTimer:null,focusHandler:null,visibilityHandler:null},d.set(e,t)),t}function m(e){let t=c.get(e);return t||(t=new Set,c.set(e,t)),t}function h(e){for(let t of m(e))t()}function g(e,t){let n=u.get(e);if(n)for(let e of new Set(t)){let t=n.get(e);if(t)for(let e of t)e()}}function b(e){return[...e.values()].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)).map(e=>e.id)}function y(e,t,n){let a=f(e);a.sessionsById=t,a.orderedIds=n,a.version+=1}function v(e,t,n){let a=f(e),r=a.sessionsById.get(t);if(!r)return null;let i=new Map(a.sessionsById),o=n(r);return o?i.set(t,o):i.delete(t),y(e,i,b(i)),a.loading=!1,a.error=null,h(e),g(e,[t]),r}function w(e){return{id:e.id,projectId:e.projectId,bridgeId:e.bridgeId??null,bridgeConnected:e.bridgeConnected??null,bridgeConnection:e.bridgeConnection??null,status:e.status,activity:e.activity,branch:e.branch,model:e.model??null,reasoningEffort:e.reasoningEffort??null,issueId:e.issueId,summary:e.summary??null,createdAt:e.createdAt,lastActivityAt:e.lastActivityAt,pr:e.pr??null,metadata:e.metadata}}async function x(e,t){let n=f(e);if(n.refreshPromise)return void await n.refreshPromise;let a=(async()=>{let a=new Set(n.sessionsById.keys());try{var i;let o=await fetch((0,r.S)("/api/sessions",t),{cache:"no-store"});if(!o.ok){let e=await o.json().catch(()=>null);throw Error(e?.error??e?.reason??`Failed to fetch sessions: ${o.status}`)}let s=(i=await o.json().catch(()=>null),Array.isArray(i)?i:Array.isArray(i?.sessions)?i.sessions:[]);for(let e of s)a.add(e.id);let l=new Map(s.map(e=>[e.id,e]));y(e,l,b(l)),n.error=null}catch(e){n.error=e instanceof Error?e.message:"Failed to fetch sessions"}finally{n.loading=!1,h(e),g(e,a)}})();n.refreshPromise=a.finally(()=>{n.refreshPromise===a&&(n.refreshPromise=null)}),await a}function C(){return"visible"===document.visibilityState}function k(e){let t=f(e);null!==t.pollTimer&&(window.clearTimeout(t.pollTimer),t.pollTimer=null)}function A(e,t){let n=f(e);k(e),e!==l&&0!==n.activeConsumers&&C()&&(n.pollTimer=window.setTimeout(async()=>{0!==f(e).activeConsumers&&C()&&(await x(e,t),A(e,t))},15e3))}function j(e,t){let n=f(e);n.activeConsumers+=1,n.activeConsumers>1||(!function(e){if(e!==l)return;let t=f(e);t.unsubscribeSnapshots||(t.unsubscribeSnapshots=(0,o.L)(t=>{let n=f(e),a=new Set;if("snapshot"===t.type){for(let e of n.sessionsById.keys())a.add(e);for(let e of t.sessions)a.add(e.id);y(e,new Map(t.sessions.map(e=>{let t=w(e);return[t.id,t]})),t.sessions.map(e=>e.id))}else{let r=new Map(n.sessionsById);for(let e of t.sessions){let t=w(e);r.set(t.id,t),a.add(t.id)}for(let e of t.removedSessionIds??[])r.delete(e),a.add(e);y(e,r,b(r))}n.loading=!1,n.error=null,h(e),g(e,a)}))}(e),n.listInitialized||(n.listInitialized=!0),function(e,t){let n=f(e);if(n.focusHandler||n.visibilityHandler)return;let a=()=>{0!==n.activeConsumers&&(x(e,t),A(e,t))},r=()=>{0!==n.activeConsumers&&("visible"===document.visibilityState&&x(e,t),k(e),A(e,t))};n.focusHandler=a,n.visibilityHandler=r,window.addEventListener("focus",a),document.addEventListener("visibilitychange",r)}(e,t),C()&&x(e,t),A(e,t))}function S(e){let t=f(e);if(t.activeConsumers=Math.max(0,t.activeConsumers-1),!(t.activeConsumers>0)){let n;k(e),(n=f(e)).focusHandler&&(window.removeEventListener("focus",n.focusHandler),n.focusHandler=null),n.visibilityHandler&&(document.removeEventListener("visibilitychange",n.visibilityHandler),n.visibilityHandler=null),t.unsubscribeSnapshots?.(),t.unsubscribeSnapshots=null}}async function M(e,t,n){let a=f(t);try{let i=await fetch((0,r.S)(`/api/sessions/${encodeURIComponent(e)}`,n),{cache:"no-store"});if(404===i.status){let n=new Map(a.sessionsById);return n.delete(e),y(t,n,b(n)),a.error=null,null}if(!i.ok){let e=await i.json().catch(()=>null);throw Error(e?.error??e?.reason??`Failed to fetch session: ${i.status}`)}let o=await i.json(),s=new Map(a.sessionsById);return s.set(o.id,o),y(t,s,b(s)),a.error=null,o}catch(e){throw a.error=e instanceof Error?e.message:"Failed to fetch session",e}finally{a.loading=!1,h(t),g(t,[e])}}function I(e,t){let n=e.trim();if(!n)return()=>{};let a=p(t?.bridgeId??(0,i.DW)(n)?.bridgeId??null),r=v(a,n,e=>{if("archived"===e.status.trim().toLowerCase())return e;let t=new Date().toISOString(),n={...e.metadata};return n.archivedAt=n.archivedAt??t,n.finishedAt=n.finishedAt??t,n.summary="Archived",delete n.terminationRequested,{...e,status:"archived",activity:"exited",summary:"Archived",lastActivityAt:t,metadata:n}});if(!r)return()=>{};let o="function"==typeof structuredClone?structuredClone(r):JSON.parse(JSON.stringify(r));return()=>{v(a,n,()=>o)}}function E(e,t){let n=t?.enabled??!0,r=p(t?.bridgeId),i=f(r),[,o]=(0,a.useReducer)(e=>e+1,0),[s,l]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{var e;let a;if(l(!0),!n)return;j(r,t?.bridgeId);let i=(e=()=>o(),(a=m(r)).add(e),()=>{a.delete(e)});return()=>{i(),S(r)}},[n,t?.bridgeId,r]),{sessions:(0,a.useMemo)(()=>{let t,a;return n&&s?(t=f(r),a=e?.trim(),t.orderedIds.map(e=>t.sessionsById.get(e)).filter(e=>!!e).filter(e=>!a||e.projectId===a)):[]},[n,s,e,r,i.version]),loading:!!n&&(!s||i.loading),error:n?i.error:null,refresh:()=>x(r,t?.bridgeId)}}function P(e,t=null,n){let r=n?.enabled??!0,o="string"==typeof e&&e.trim().length>0?e.trim():null,d=(0,i.C0)(n?.bridgeId??t?.bridgeId??(0,i.DW)(o)?.bridgeId??null),c=p(d),m=f(c),[,v]=(0,a.useReducer)(e=>e+1,0),[w,x]=(0,a.useState)(!1),[C,k]=(0,a.useState)(t),[A,I]=(0,a.useState)(null),[E,N]=(0,a.useState)(r&&null!==o&&null===t),T=o?m.sessionsById.get(o)??C??t:null;return(0,a.useEffect)(()=>{x(!0),function(e,t){if(!t)return;let n=f(e),a=n.sessionsById.get(t.id);if(a&&JSON.stringify(a)===JSON.stringify(t))return;let r=new Map(n.sessionsById);r.set(t.id,t),y(e,r,b(r)),n.loading=!1,h(e),g(e,[t.id])}(c,t),k(t),I(null)},[t,c]),(0,a.useEffect)(()=>{if(r&&null!==o){var e;let t,n,a;return e=()=>v(),(t=u.get(c))||(t=new Map,u.set(c,t)),(n=t.get(o))||(n=new Set,t.set(o,n)),(a=n).add(e),()=>{if(a.delete(e),a.size>0)return;let t=u.get(c);t?.delete(o),t&&0===t.size&&u.delete(c)}}},[r,o,c]),(0,a.useEffect)(()=>{if(r&&null!==o)return j(c,d),()=>{S(c)}},[r,d,o,c]),(0,a.useEffect)(()=>{var e;let t;if(!r||null===o||c===l||(e=T?.status,(t=e?.trim().toLowerCase())&&s.C.has(t)))return;let n=()=>{"visible"===document.visibilityState&&M(o,c,d).catch(()=>{})};n();let a=window.setInterval(n,5e3);return()=>{window.clearInterval(a)}},[T?.status,r,d,o,c]),(0,a.useEffect)(()=>{if(!r||null===o){k(null),I(null),N(!1);return}if(t||m.sessionsById.has(o)){k(e=>m.sessionsById.get(o)??e??t),I(null),N(!1);return}let e=!1;return N(!0),I(null),M(o,c,d).then(t=>{e||(k(t),I(null))}).catch(t=>{e||(k(null),I(t instanceof Error?t.message:"Failed to fetch session"))}).finally(()=>{e||N(!1)}),()=>{e=!0}},[r,d,t,o,c,m]),{session:o?w?T??null:t??null:null,loading:E,error:r&&o?A??m.error:null}}},76050:(e,t,n)=>{function a(e){return e?.metadata.sessionKind==="project_dispatcher"}function r(e){return a(e)?"dispatcher":"terminal"}n.d(t,{Zu:()=>a,tK:()=>r})},76196:(e,t,n)=>{n.d(t,{DZ:()=>y,O$:()=>g,Tk:()=>m,Zp:()=>u,Zz:()=>p,d8:()=>h,u6:()=>b,yM:()=>f}),[...new Set(["killed","terminated","done","cleanup","errored","merged"])];let a=["amp","claude-code","codex","cursor-cli","droid","gemini","github-copilot","opencode","qwen-code","ccr"],r={amp:"default",claudeCode:"pro",codex:"chatgpt",cursorCli:"default",droid:"default",gemini:"oauth",githubCopilot:"default",opencode:"default",qwenCode:"oauth",ccr:"default"},i={amp:{agent:"amp",label:"Amp",accessKey:"amp",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Amp CLI catalog and custom override support."}]},"claude-code":{agent:"claude-code",label:"Claude Code",accessKey:"claudeCode",defaultAccess:"pro",accessOptions:[{id:"pro",label:"Claude Pro",description:"Shows the current Sonnet models that Claude Code documents for Pro usage."},{id:"max",label:"Claude Max",description:"Unlocks both Sonnet and Opus model choices in Claude Code."},{id:"api",label:"Anthropic API",description:"Use direct Anthropic API credentials instead of a Claude subscription."}]},codex:{agent:"codex",label:"Codex",accessKey:"codex",defaultAccess:"chatgpt",accessOptions:[{id:"chatgpt",label:"ChatGPT Plan",description:"Use the ChatGPT-backed Codex login flow for paid ChatGPT workspaces."},{id:"api",label:"OpenAI API",description:"Use direct OpenAI API credentials when Codex is pointed at the API."}]},"cursor-cli":{agent:"cursor-cli",label:"Cursor Agent",accessKey:"cursorCli",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Cursor Agent catalog and custom override support."}]},droid:{agent:"droid",label:"Droid",accessKey:"droid",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Droid catalog and custom override support."}]},gemini:{agent:"gemini",label:"Gemini",accessKey:"gemini",defaultAccess:"oauth",accessOptions:[{id:"oauth",label:"Google Login",description:"Use the built-in Google account flow that Gemini CLI ships with."},{id:"api",label:"Gemini API",description:"Use a Gemini API key or Vertex AI project for broader model control."}]},"github-copilot":{agent:"github-copilot",label:"GitHub Copilot",accessKey:"githubCopilot",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Copilot CLI catalog and custom override support."}]},opencode:{agent:"opencode",label:"OpenCode",accessKey:"opencode",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed OpenCode catalog and custom override support."}]},"qwen-code":{agent:"qwen-code",label:"Qwen Code",accessKey:"qwenCode",defaultAccess:"oauth",accessOptions:[{id:"oauth",label:"Qwen OAuth",description:"Use Qwen Code's built-in browser login and bundled provider defaults."},{id:"api",label:"DashScope / Custom API",description:"Use DashScope or another OpenAI-compatible endpoint configured for Qwen Code."}]},ccr:{agent:"ccr",label:"CCR",accessKey:"ccr",defaultAccess:"default",accessOptions:[{id:"default",label:"Local CLI",description:"Use the locally installed Claude Code Router catalog and custom override support."}]}},o=[{id:"low",label:"Low",description:"Fast responses with lighter reasoning."},{id:"medium",label:"Medium",description:"Balanced speed and reasoning depth for everyday tasks."},{id:"high",label:"High",description:"Deeper reasoning for more complex tasks."}],s=[...o,{id:"xhigh",label:"Extra High",description:"Maximum reasoning depth for the hardest tasks."}];function l(e,t,n,a=function(e){return e.trim().split(/[-_]+/g).filter(Boolean).map(e=>"gpt"===e.toLowerCase()?"GPT":e[0]?.toUpperCase()+e.slice(1)).join(" ")}(e)){return{id:e,label:a,description:t,access:n}}let d={amp:{modelsByAccess:{default:[l("free","Amp Free mode prioritizes lower-cost execution.",["default"],"Amp Free"),l("rush","Amp Rush mode prioritizes faster turnaround.",["default"],"Amp Rush"),l("smart","Amp Smart mode balances quality, speed, and tool choice.",["default"],"Amp Smart"),l("deep","Amp Deep mode enables the highest-capability reasoning path.",["default"],"Amp Deep")]},defaultModelByAccess:{default:"smart"}},"claude-code":{modelsByAccess:{pro:[l("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),l("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")],max:[l("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),l("claude-opus-4-6","Highest-capability Claude Code model for deeper reasoning.",["max","api"],"Claude Opus 4.6"),l("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")],api:[l("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),l("claude-opus-4-6","Highest-capability Claude Code model for deeper reasoning.",["max","api"],"Claude Opus 4.6"),l("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")]},defaultModelByAccess:{pro:"claude-sonnet-4-6",max:"claude-opus-4-6",api:"claude-sonnet-4-6"},reasoningOptionsByAccess:{pro:o,max:o,api:o},defaultReasoningByAccess:{pro:"medium",max:"high",api:"medium"}},codex:{modelsByAccess:{chatgpt:[l("gpt-5.4","Latest frontier coding model exposed by Codex.",["chatgpt","api"],"GPT-5.4"),l("gpt-5.4-mini","Smaller GPT-5.4 variant for faster or lower-cost coding tasks.",["chatgpt","api"],"GPT-5.4-Mini"),l("gpt-5.3-codex","Balanced Codex coding model.",["chatgpt","api"],"GPT-5.3-Codex"),l("gpt-5.3-codex-spark","Fast Codex model optimized for rapid iteration.",["chatgpt"],"GPT-5.3-Codex-Spark"),l("gpt-5.2-codex","Previous generation Codex coding model.",["chatgpt","api"],"GPT-5.2-Codex"),l("gpt-5.2","Previous frontier model for professional work with configurable reasoning effort.",["chatgpt","api"],"GPT-5.2"),l("gpt-5.1-codex-max","High-capability legacy Codex model.",["chatgpt","api"],"GPT-5.1-Codex-Max"),l("gpt-5.1-codex-mini","Smaller Codex model for quick tasks.",["chatgpt","api"],"GPT-5.1-Codex-Mini")],api:[l("gpt-5.4","Latest frontier coding model exposed by Codex.",["chatgpt","api"],"GPT-5.4"),l("gpt-5.4-mini","Smaller GPT-5.4 variant for faster or lower-cost coding tasks.",["chatgpt","api"],"GPT-5.4-Mini"),l("gpt-5.3-codex","Balanced Codex coding model.",["chatgpt","api"],"GPT-5.3-Codex"),l("gpt-5.2-codex","Previous generation Codex coding model.",["chatgpt","api"],"GPT-5.2-Codex"),l("gpt-5.2","Previous frontier model for professional work with configurable reasoning effort.",["chatgpt","api"],"GPT-5.2"),l("gpt-5.1-codex-max","High-capability legacy Codex model.",["chatgpt","api"],"GPT-5.1-Codex-Max"),l("gpt-5.1-codex-mini","Smaller Codex model for quick tasks.",["chatgpt","api"],"GPT-5.1-Codex-Mini")]},defaultModelByAccess:{chatgpt:"gpt-5.4",api:"gpt-5.4"},reasoningOptionsByAccess:{chatgpt:s,api:s},defaultReasoningByAccess:{chatgpt:"high",api:"high"}},"cursor-cli":{modelsByAccess:{default:[l("gpt-5","Cursor Agent's GPT-5 preset alias.",["default"],"GPT-5"),l("sonnet-4","Cursor Agent's Sonnet preset alias.",["default"],"Sonnet 4"),l("opus","Cursor Agent's Opus preset alias.",["default"],"Opus")]},defaultModelByAccess:{default:"gpt-5"}},droid:{modelsByAccess:{default:[]},defaultModelByAccess:{}},gemini:{modelsByAccess:{oauth:[l("gemini-3.1-pro-preview","High-capability Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3.1 Pro Preview"),l("gemini-3-flash-preview","Fast Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3 Flash Preview")],api:[l("gemini-3.1-pro-preview","High-capability Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3.1 Pro Preview"),l("gemini-3-flash-preview","Fast Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3 Flash Preview")]},defaultModelByAccess:{oauth:"gemini-3.1-pro-preview",api:"gemini-3.1-pro-preview"}},"github-copilot":{modelsByAccess:{default:[]},defaultModelByAccess:{}},opencode:{modelsByAccess:{default:[]},defaultModelByAccess:{}},"qwen-code":{modelsByAccess:{oauth:[l("coder-model","Model discovered in the local Qwen Code installation.",["oauth","api"],"Coder Model")],api:[l("coder-model","Model discovered in the local Qwen Code installation.",["oauth","api"],"Coder Model")]},defaultModelByAccess:{oauth:"coder-model",api:"coder-model"}},ccr:{modelsByAccess:{default:[l("claude-sonnet-4-6","Balanced Claude model exposed through Claude Code Router.",["default"],"Claude Sonnet 4.6"),l("claude-opus-4-6","Highest-capability Claude model exposed through Claude Code Router.",["default"],"Claude Opus 4.6"),l("claude-haiku-4-5","Fast Claude model exposed through Claude Code Router.",["default"],"Claude Haiku 4.5")]},defaultModelByAccess:{default:"claude-sonnet-4-6"},reasoningOptionsByAccess:{default:o},defaultReasoningByAccess:{default:"medium"}}};function c(e){let t=e.trim().toLowerCase().replace(/[_\s]+/g,"-");return a.includes(t)?t:null}function u(){return{...r}}function p(e){return null!==c(e)}function f(e){let t=c(e);return t?i[t]:null}function m(e,t){let n=f(e);if(!n)return null;let a=t?.[n.accessKey];return"string"==typeof a&&n.accessOptions.some(e=>e.id===a)?a:n.defaultAccess}function h(e,t){let n=c(e);if(!n)return[];let a=m(n,t);if(!a)return[];let r=d[n],i=r.modelsByAccess[a]??[];if(i.length>0)return[...i];let o=[],s=new Set;for(let e of Object.values(r.modelsByAccess))if(Array.isArray(e))for(let t of e)s.has(t.id)||(s.add(t.id),o.push(t));return o}function g(e,t){let n=c(e);if(!n)return null;let a=m(n,t);return a?d[n].defaultModelByAccess[a]??null:null}function b(e,t){let n=c(e);if(!n)return[];let a=m(n,t);return a?d[n].reasoningOptionsByAccess?.[a]??[]:[]}function y(e,t){let n=c(e);if(!n)return null;let a=m(n,t);return a?d[n].defaultReasoningByAccess?.[a]??null:null}},84169:(e,t,n)=>{n.d(t,{V:()=>o});var a=n(54568),r=n(7620),i=n(37270);let o=(0,r.memo)(function({title:e,onOpenPreferences:t,rightContent:n}){return(0,a.jsxs)("header",{className:"flex h-[33px] items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-14 pr-2 text-[12px] text-[var(--vk-text-muted)] sm:pl-5 sm:pr-5 sm:text-[13px]",children:[(0,a.jsx)("div",{className:"min-w-0 flex-1 text-left sm:text-center",children:(0,a.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-muted)]",children:e??"All Projects"})}),n?(0,a.jsx)("div",{className:"ml-1 flex shrink-0 items-center gap-1.5",children:n}):null,t?(0,a.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,a.jsx)("button",{type:"button",onClick:t,className:"inline-flex h-8 w-8 items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open preferences",title:"Preferences",children:(0,a.jsx)(i.A,{className:"h-4 w-4"})})}):null]})})},84527:(e,t,n)=>{n.d(t,{J:()=>o});var a=n(31404),r=n(75120);async function i(e,t){let n=await fetch((0,a.S)(`/api/sessions/${encodeURIComponent(e)}/archive`,t),{method:"POST"}),r=await n.json().catch(()=>null);if(404===n.status&&(n=await fetch((0,a.S)(`/api/sessions/${encodeURIComponent(e)}/actions`,t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archive"})}),r=await n.json().catch(()=>null)),!n.ok)throw Error(r?.error??`Failed to archive session: ${n.status}`)}async function o(e,t){let n=(0,r.Kc)(e,t);try{await i(e,t?.bridgeId)}catch(e){throw n(),e}}},85626:(e,t,n)=>{n.d(t,{$E:()=>u,ww:()=>d,zu:()=>c});let a="abstract-sound-4",r={"abstract-sound-1":{steps:[{frequency:784,durationMs:90,gain:.24},{frequency:988,durationMs:90,gain:.22},{frequency:1175,durationMs:120,gain:.2}]},"abstract-sound-2":{steps:[{frequency:659,durationMs:120,gain:.22},{frequency:523,durationMs:140,gain:.2},{frequency:659,durationMs:120,gain:.18}]},"abstract-sound-3":{steps:[{frequency:440,durationMs:80,gain:.22},{frequency:554,durationMs:80,gain:.22},{frequency:659,durationMs:90,gain:.2},{frequency:880,durationMs:120,gain:.18}]},"abstract-sound-4":{steps:[{frequency:523,durationMs:130,gain:.22},{frequency:659,durationMs:130,gain:.2},{frequency:784,durationMs:150,gain:.18}]},"cow-mooing":{steps:[{frequency:220,durationMs:220,type:"triangle",gain:.24},{frequency:174,durationMs:260,type:"triangle",gain:.2}]},"phone-vibration":{vibrate:[120,60,120,60,180],steps:[{frequency:180,durationMs:140,gain:.16},{frequency:220,durationMs:140,gain:.14}]},rooster:{steps:[{frequency:784,durationMs:70,type:"square",gain:.24},{frequency:1046,durationMs:70,type:"square",gain:.22},{frequency:1318,durationMs:90,type:"square",gain:.2},{frequency:1568,durationMs:120,type:"square",gain:.18}]}},i=null;function o(){let e=window,t=e.AudioContext??e.webkitAudioContext;return t?(i||(i=new t),i):null}function s(e){let t=e?.trim();return t&&t in r?t:a}function l(e,t,n){return Math.min(n,Math.max(t,e))}function d(e){return s(e)}async function c(){let e=o();if(!e)return!1;if("suspended"===e.state)try{await e.resume()}catch{return!1}return"running"===e.state}async function u(e,t){let n=s(e),a=r[n];if("phone-vibration"===n&&a.vibrate&&"u">typeof navigator&&"function"==typeof navigator.vibrate)return navigator.vibrate(a.vibrate);let i=o();if(!i||!a.steps||0===a.steps.length)return!1;if("suspended"===i.state)try{await i.resume()}catch{return!1}if("running"!==i.state)return!1;let d=l(t?.volume??.4,.05,.8),c=i.currentTime+.02;for(let e of a.steps)!function(e,t,n,a){let r=e.createOscillator(),i=e.createGain(),o=l((n.gain??1)*a,.02,.9),s=Math.max(.04,n.durationMs/1e3),d=t+Math.max(.015,Math.min(.05,.35*s)),c=t+Math.max(.02,.7*s),u=t+s;r.type=n.type??"sine",r.frequency.setValueAtTime(n.frequency,t),i.gain.setValueAtTime(1e-4,t),i.gain.linearRampToValueAtTime(o,d),i.gain.exponentialRampToValueAtTime(1e-4,c),i.gain.setValueAtTime(1e-4,u),r.connect(i),i.connect(e.destination),r.start(t),r.stop(u+.05)}(i,c,e,d),c+=Math.max(.06,e.durationMs/1e3+.04);return!0}},86011:(e,t,n)=>{n.d(t,{Q:()=>c});var a=n(7620),r=n(31404),i=n(85626);function o(){return"u"<typeof document||"visible"===document.visibilityState}function s(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function l(e){return`${e.id}::${e.timestamp}`}function d(e){null!==e.current&&(window.clearTimeout(e.current),e.current=null)}function c({enabled:e,projectId:t,preferences:n,bridgeId:u}){let p=(0,a.useRef)(n?.soundEnabled!==!1),f=(0,a.useRef)((0,i.ww)(n?.soundFile)),m=(0,a.useRef)(new Set),h=(0,a.useRef)(null),g=(0,a.useRef)(!1),b=(0,a.useRef)(null),y=(0,a.useRef)(null),v=(0,a.useRef)(null);(0,a.useEffect)(()=>{p.current=n?.soundEnabled!==!1,f.current=(0,i.ww)(n?.soundFile)},[n?.soundEnabled,n?.soundFile]),(0,a.useEffect)(()=>{if(!e)return;let n=t?.trim()||null,a=u?.trim()||null,c=`${a??"local"}::${n??""}`;b.current!==c&&(b.current=c,m.current=new Set,h.current=null,g.current=!1);let w=!1,x=async e=>{if(w||!o())return;if(y.current)return void await y.current;let t=(async()=>{let t=new URLSearchParams({limit:"20"});n&&t.set("project",n),!e&&h.current&&t.set("since",h.current);try{var o;let n,d=await fetch((0,r.S)(`/api/notifications?${t.toString()}`,a),{cache:"no-store"});if(!d.ok)return;let c=(o=await d.json().catch(()=>null),n=s(o),(Array.isArray(n.notifications)?n.notifications:[]).map(e=>{var t;let n,a,r,i,o,l,d,c;return n=s(e),a="string"==typeof n.id?n.id.trim():"",r="string"==typeof n.message?n.message.trim():"",i="string"==typeof n.timestamp?n.timestamp.trim():"",o="string"==typeof n.sessionId?n.sessionId.trim():"",l="string"==typeof n.projectId?n.projectId.trim():"",d="string"==typeof n.type?n.type.trim():"",c="high"===(t=n.priority)||"medium"===t||"low"===t?n.priority:"low",a&&r&&i&&o&&l&&d?{id:a,priority:c,message:r,timestamp:i,sessionId:o,projectId:l,type:d}:null}).filter(e=>null!==e).sort((e,t)=>{let n=Date.parse(t.timestamp)-Date.parse(e.timestamp);return 0!==n?n:t.id.localeCompare(e.id)}));if(0===c.length){g.current=!0;return}if(h.current=c[0]?.timestamp??null,e||!g.current){for(let e of c)m.current.add(l(e));g.current=!0;return}let u=c.filter(e=>!m.current.has(l(e)));for(let e of c)m.current.add(l(e));if(0===u.length)return;let b=u.find(e=>"high"===e.priority)??u.find(e=>"medium"===e.priority)??u[0]??null;if(!b||"low"===b.priority||!p.current)return;await (0,i.$E)(f.current)}catch{}})();y.current=t;try{await t}finally{y.current===t&&(y.current=null),g.current=!0}},C=()=>{d(v),!w&&o()&&(v.current=window.setTimeout(()=>{x(!1).finally(()=>{C()})},1e4))},k=()=>{!w&&o()&&x(!g.current).finally(()=>{C()})},A=()=>{o()?k():d(v)},j=()=>{o()&&k()},S=()=>{(0,i.zu)()};return k(),window.addEventListener("focus",j),document.addEventListener("visibilitychange",A),window.addEventListener("pointerdown",S,!0),window.addEventListener("touchstart",S,!0),window.addEventListener("keydown",S,!0),()=>{w=!0,d(v),window.removeEventListener("focus",j),document.removeEventListener("visibilitychange",A),window.removeEventListener("pointerdown",S,!0),window.removeEventListener("touchstart",S,!0),window.removeEventListener("keydown",S,!0)}},[u,e,t])}},90124:(e,t,n)=>{n.d(t,{N:()=>c});var a=n(54568),r=n(7620);let i=new Map;for(let[e,t]of Object.entries({amp:["amp","amp-code","amp-cli","ampcode","agent-amp"],claude:["claude","claude-code","claude-cli","claudecode","ccr","claude-code-router","claude-mcp","claude-mcp-cli","claude-mcp-agent","agent-claude-code"],codex:["codex","openai-codex","codex-cli","codexcli","openai","agent-codex"],copilot:["copilot","github-copilot","githubcopilot","copilot-cli","agent-github-copilot"],cursor:["cursor","cursor-cli","cursor-agent","cursoragent","agent-cursor-cli"],droid:["droid","factory-droid","factory_droid","agent-droid"],gemini:["gemini","gemini-cli","google-gemini","googlegemini","agent-gemini"],opencode:["opencode","open-code","open_code","open-code-cli","agent-opencode"],qwen:["qwen","qwen-code","qwen_code","qwen-code-cli","agent-qwen-code"]}))for(let n of t)i.set(o(n),e);function o(e){return e.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/_+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function s(e){let t=o(e);if(!t)return null;let n=i.get(t);if(n)return n;for(let e of t.split("-")){let t=i.get(e);if(t)return t}for(let[e,n]of i.entries())if(t===e||t.startsWith(`${e}-`)||t.endsWith(`-${e}`)||t.includes(`-${e}-`))return n;return null}function l(e){try{let t=new URL(e),n=s(t.hostname.replace(/^www\./,"").replace(/\./g,"-"));if(n)return n;return s(t.pathname.replace(/\//g,"-"))}catch{return s(e)}}function d({label:e,className:t}){let n=e.split(/[^a-z0-9]/iu).filter(Boolean).slice(0,2).map(e=>e[0]?.toUpperCase()).join("");return(0,a.jsx)("span",{"aria-hidden":"true",className:`inline-flex shrink-0 items-center justify-center rounded-[0.2rem] text-[9px] font-semibold text-white ${t}`,style:{backgroundColor:function(e){let t=["#14b8a6","#06b6d4","#0ea5e9","#8b5cf6","#ec4899","#f97316","#f59e0b","#ef4444","#22c55e","#84cc16"],n=0;for(let a=0;a<e.length;a+=1)n=(31*n+e.charCodeAt(a))%t.length;return t[Math.abs(n)%t.length]??"#6b7280"}(`${e}:${e.length}`)},children:n||"AI"})}function c({seed:e,className:t="h-6 w-6"}){let[n,i]=(0,r.useState)(0),o=e?.label?.trim()??"",u=(0,r.useMemo)(()=>{var t;if(!o)return[];let n=s((t={label:o,iconUrl:e?.iconUrl,homepage:e?.homepage}).label)??(t.homepage?l(t.homepage):null)??(t.iconUrl?l(t.iconUrl):null),a="string"==typeof e?.iconUrl&&e.iconUrl.trim().length>0?e.iconUrl.trim():null,r=[];return n&&(r.push(`/agents/${n}-dark.svg`),r.push(`/agents/${n}-light.svg`)),a&&r.push(a),r},[o,e?.homepage,e?.iconUrl]);if((0,r.useEffect)(()=>{i(0)},[o,u]),!o)return(0,a.jsx)(d,{label:"AI",className:t});let p=u[n]??null;return p?(0,a.jsx)("img",{src:p,alt:`${o} icon`,loading:"lazy",className:`${t} shrink-0 rounded-[0.2rem] object-contain scale-125`,onError:()=>i(e=>e+1)}):(0,a.jsx)(d,{label:o,className:t})}},92070:(e,t,n)=>{n.d(t,{w:()=>a});async function*a(e,t){let n=e.getReader(),a=new TextDecoder,r="",i=/\r\n\r\n|\n\n/;try{for(;;){let e;if(t?.aborted)return;let{done:o,value:s}=await n.read();if(o)break;for(r+=a.decode(s,{stream:!0});e=i.exec(r);){let t=r.slice(0,e.index);r=r.slice(e.index+e[0].length),i.lastIndex=0;let n=null,a=[];for(let e of t.split(/\r?\n/))e.startsWith("event:")?n=e.slice(6).trimStart():e.startsWith("data:")&&a.push(e.slice(5).trimStart());a.length>0&&(yield{event:n,data:a.join("\n")})}}}finally{n.releaseLock()}}},95106:(e,t,n)=>{n.d(t,{t:()=>r});var a=n(75120);function r(e,t){return(0,a.eI)(e,t)}}}]);
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8510],{2609:(e,t,r)=>{"use strict";r.d(t,{T5:()=>s.T5,hP:()=>n.hP,nO:()=>s.nO,yC:()=>o}),r(16744);var n=r(70590),s=r(87835);function o(e,t,r){let s=t.path||(null==r?void 0:r.path);return"path"===(t.routing||(null==r?void 0:r.routing)||"path")?s?{...r,...t,routing:"path"}:n.sb.throw((0,n.kd)(e)):t.path?n.sb.throw((0,n.s7)(e)):{...r,...t,path:void 0}}},2896:(e,t,r)=>{"use strict";function n({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(54568),r(97509),r(85999),r(12918),r(32106)},5974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={callServer:function(){return o.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(34273),a=r(16409),i=r(97102)},6035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(59113).createAsyncLocalStorage)()},6974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(74468)._(r(7620)).default.createContext(null)},10594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return h},handleClientScriptLoad:function(){return y},initScriptLoader:function(){return v}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(74468),a=r(99649),i=r(54568),l=o._(r(97509)),c=a._(r(7620)),u=r(2737),d=r(66161),p=r(71341),f=new Map,b=new Set,m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:s=null,dangerouslySetInnerHTML:o,children:a="",strategy:i="afterInteractive",onError:c,stylesheets:u}=e,p=r||t;if(p&&b.has(p))return;if(f.has(t)){b.add(p),f.get(t).then(n,c);return}let m=()=>{s&&s(),b.add(p)},y=document.createElement("script"),v=new Promise((e,t)=>{y.addEventListener("load",function(t){e(),n&&n.call(this,t),m()}),y.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(y.innerHTML=o.__html||"",m()):a?(y.textContent="string"==typeof a?a:Array.isArray(a)?a.join(""):"",m()):t&&(y.src=t,f.set(t,v)),(0,d.setAttributesFromProps)(y,e),"worker"===i&&y.setAttribute("type","text/partytown"),y.setAttribute("data-nscript",i),u&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(u),document.body.appendChild(y)};function y(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}):m(e)}function v(e){e.forEach(y),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");b.add(t)})}function _(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:s=null,strategy:o="afterInteractive",onError:a,stylesheets:d,...f}=e,{updateScripts:y,scripts:v,getIsSsr:_,appDir:h,nonce:g}=(0,c.useContext)(u.HeadManagerContext);g=f.nonce||g;let w=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||r;w.current||(s&&e&&b.has(e)&&s(),w.current=!0)},[s,t,r]);let E=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!E.current){if("afterInteractive"===o)m(e);else"lazyOnload"===o&&("complete"===document.readyState?(0,p.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}));E.current=!0}},[e,o]),("beforeInteractive"===o||"worker"===o)&&(y?(v[o]=(v[o]||[]).concat([{id:t,src:r,onLoad:n,onReady:s,onError:a,...f,nonce:g}]),y(v)):_&&_()?b.add(t||r):_&&!_()&&m({...e,nonce:g})),h){if(d&&d.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===o)if(!r)return f.dangerouslySetInnerHTML&&(f.children=f.dangerouslySetInnerHTML.__html,delete f.dangerouslySetInnerHTML),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([0,{...f,id:t}])})`}});else return l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin}),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([r,{...f,id:t}])})`}});"afterInteractive"===o&&r&&l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin})}return null}Object.defineProperty(_,"__nextScript",{value:!0});let h=_;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},23597:(e,t,r)=>{"use strict";function n({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(61841)},30679:(e,t,r)=>{"use strict";r.d(t,{PromisifiedAuthProvider:()=>l,d:()=>c});var n=r(30524),s=r(2609),o=r(45836),a=r(7620);let i=a.createContext(null);function l({authPromise:e,children:t}){return a.createElement(i.Provider,{value:e},t)}function c(e={}){let t=(0,o.useRouter)(),r=a.useContext(i),l=r;return(r&&"then"in r&&(l=a.use(r)),"u"<typeof window)?t?(0,n.As)(e):(0,s.hP)({...l,...e}):(0,n.As)({...l,...e})}},36727:(e,t,r)=>{"use strict";r.r(t),r.d(t,{KeylessCookieSync:()=>a});var n=r(79748),s=r(7620),o=r(38036);function a(e){var t;let a=(null==(t=(0,n.useSelectedLayoutSegments)()[0])?void 0:t.startsWith("/_not-found"))||!1;return(0,s.useEffect)(()=>{o.I&&!a&&r.e(3442).then(r.bind(r,83442)).then(t=>t.syncKeylessConfigAction({...e,returnUrl:window.location.href}))},[a]),e.children}},37204:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ClientClerkProvider:()=>O});var n=r(30524),s=r(20602);let o=new Set;var a=r(42925),i=r(79748),l=r(99321),c=r(7620);let u="u">typeof window?c.useLayoutEffect:c.useEffect,d=c.createContext(void 0);d.displayName="ClerkNextOptionsCtx";let p=()=>{let e=c.useContext(d);return null==e?void 0:e.value},f=e=>{let{children:t,options:r}=e;return c.createElement(d.Provider,{value:{value:r}},t)};var b=r(2609),m=r(10594),y=r.n(m);function v(e){let{publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a}=p(),{domain:i,proxyUrl:l}=(0,n.ho)();if(!t)return null;let u={domain:i,proxyUrl:l,publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a},d=(0,b.nO)(u),f="app"===e.router?"script":y();return c.createElement(f,{src:d,"data-clerk-js-script":!0,async:!0,defer:"pages"!==e.router&&void 0,crossOrigin:"anonymous",strategy:"pages"===e.router?"beforeInteractive":void 0,...(0,b.T5)(u)})}var _=r(38036),h=r(76975),g=r(67160),w=r(63680);let E=e=>{var t;return{...e,publishableKey:e.publishableKey||w.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY||"",clerkJSUrl:e.clerkJSUrl||w.env.NEXT_PUBLIC_CLERK_JS_URL,clerkJSVersion:e.clerkJSVersion||w.env.NEXT_PUBLIC_CLERK_JS_VERSION,proxyUrl:e.proxyUrl||w.env.NEXT_PUBLIC_CLERK_PROXY_URL||"",domain:e.domain||w.env.NEXT_PUBLIC_CLERK_DOMAIN||"",isSatellite:e.isSatellite||(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_IS_SATELLITE),signInUrl:e.signInUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL||"",signUpUrl:e.signUpUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL||"",signInForceRedirectUrl:e.signInForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL||"",signUpForceRedirectUrl:e.signUpForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL||"",signInFallbackRedirectUrl:e.signInFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL||"",signUpFallbackRedirectUrl:e.signUpFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL||"",afterSignInUrl:e.afterSignInUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL||"",afterSignUpUrl:e.afterSignUpUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL||"",newSubscriptionRedirectUrl:e.newSubscriptionRedirectUrl||w.env.NEXT_PUBLIC_CLERK_CHECKOUT_CONTINUE_URL||"",telemetry:null!=(t=e.telemetry)?t:{disabled:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DISABLED),debug:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DEBUG)},sdkMetadata:g.tm}};var x=r(3102),C=r(57042);let k=()=>{var e,t;let r=(0,n.ho)(),{pagesRouter:s}=(0,C.r)();return null==(t=r.telemetry)||t.record((0,x.YF)({router:s?"pages":"app",...(null==(e=null==globalThis?void 0:globalThis.next)?void 0:e.version)?{nextjsVersion:globalThis.next.version}:{}})),null};var L=r(43458),R=r(17956),T=r(95909);let j=e=>{var t;return null!=window.__clerk_internal_navigations||(window.__clerk_internal_navigations={}),null!=(t=window.__clerk_internal_navigations)[e]||(t[e]={}),window.__clerk_internal_navigations[e]},I=e=>{let{windowNav:t,routerNav:r,name:n}=e,s=(0,i.usePathname)(),[o,a]=(0,c.useTransition)();t&&(j(n).fun=(e,s)=>new Promise(o=>{var i,l;null!=(i=j(n)).promisesBuffer||(i.promisesBuffer=[]),null==(l=j(n).promisesBuffer)||l.push(o),a(()=>{var n,o,a;if((null==(n=null==s?void 0:s.__internal_metadata)?void 0:n.navigationType)==="internal")t((null!=(a=null==(o=window.next)?void 0:o.version)?a:"")<"14.1.0"?history.state:null,"",e);else r(e)})}));let l=()=>{var e;null==(e=j(n).promisesBuffer)||e.forEach(e=>e()),j(n).promisesBuffer=[]};return(0,c.useEffect)(()=>(l(),l),[]),(0,c.useEffect)(()=>{o||l()},[s,o]),(0,c.useCallback)((e,t)=>j(n).fun(e,t),[])},P=(0,a.default)(()=>r.e(4443).then(r.bind(r,34443)).then(e=>e.KeylessCreatorOrReader),{loadableGenerated:{webpack:()=>[34443]}}),S=e=>{let t,r;if(L.M0){var a,d;let e=`Clerk:
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8510],{2609:(e,t,r)=>{"use strict";r.d(t,{T5:()=>s.T5,hP:()=>n.hP,nO:()=>s.nO,yC:()=>o}),r(16744);var n=r(70590),s=r(87835);function o(e,t,r){let s=t.path||(null==r?void 0:r.path);return"path"===(t.routing||(null==r?void 0:r.routing)||"path")?s?{...r,...t,routing:"path"}:n.sb.throw((0,n.kd)(e)):t.path?n.sb.throw((0,n.s7)(e)):{...r,...t,path:void 0}}},2896:(e,t,r)=>{"use strict";function n({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(54568),r(97509),r(85999),r(12918),r(32106)},5974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={callServer:function(){return o.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(34273),a=r(16409),i=r(97102)},6035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(59113).createAsyncLocalStorage)()},6974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(74468)._(r(7620)).default.createContext(null)},10594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return h},handleClientScriptLoad:function(){return y},initScriptLoader:function(){return v}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(74468),a=r(99649),i=r(54568),l=o._(r(97509)),c=a._(r(7620)),u=r(2737),d=r(66161),p=r(71341),f=new Map,b=new Set,m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:s=null,dangerouslySetInnerHTML:o,children:a="",strategy:i="afterInteractive",onError:c,stylesheets:u}=e,p=r||t;if(p&&b.has(p))return;if(f.has(t)){b.add(p),f.get(t).then(n,c);return}let m=()=>{s&&s(),b.add(p)},y=document.createElement("script"),v=new Promise((e,t)=>{y.addEventListener("load",function(t){e(),n&&n.call(this,t),m()}),y.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(y.innerHTML=o.__html||"",m()):a?(y.textContent="string"==typeof a?a:Array.isArray(a)?a.join(""):"",m()):t&&(y.src=t,f.set(t,v)),(0,d.setAttributesFromProps)(y,e),"worker"===i&&y.setAttribute("type","text/partytown"),y.setAttribute("data-nscript",i),u&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(u),document.body.appendChild(y)};function y(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}):m(e)}function v(e){e.forEach(y),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");b.add(t)})}function _(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:s=null,strategy:o="afterInteractive",onError:a,stylesheets:d,...f}=e,{updateScripts:y,scripts:v,getIsSsr:_,appDir:h,nonce:g}=(0,c.useContext)(u.HeadManagerContext);g=f.nonce||g;let w=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||r;w.current||(s&&e&&b.has(e)&&s(),w.current=!0)},[s,t,r]);let E=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!E.current){if("afterInteractive"===o)m(e);else"lazyOnload"===o&&("complete"===document.readyState?(0,p.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}));E.current=!0}},[e,o]),("beforeInteractive"===o||"worker"===o)&&(y?(v[o]=(v[o]||[]).concat([{id:t,src:r,onLoad:n,onReady:s,onError:a,...f,nonce:g}]),y(v)):_&&_()?b.add(t||r):_&&!_()&&m({...e,nonce:g})),h){if(d&&d.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===o)if(!r)return f.dangerouslySetInnerHTML&&(f.children=f.dangerouslySetInnerHTML.__html,delete f.dangerouslySetInnerHTML),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([0,{...f,id:t}])})`}});else return l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin}),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([r,{...f,id:t}])})`}});"afterInteractive"===o&&r&&l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin})}return null}Object.defineProperty(_,"__nextScript",{value:!0});let h=_;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},23597:(e,t,r)=>{"use strict";function n({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(61841)},30679:(e,t,r)=>{"use strict";r.d(t,{PromisifiedAuthProvider:()=>l,d:()=>c});var n=r(30524),s=r(2609),o=r(45836),a=r(7620);let i=a.createContext(null);function l({authPromise:e,children:t}){return a.createElement(i.Provider,{value:e},t)}function c(e={}){let t=(0,o.useRouter)(),r=a.useContext(i),l=r;return(r&&"then"in r&&(l=a.use(r)),"u"<typeof window)?t?(0,n.As)(e):(0,s.hP)({...l,...e}):(0,n.As)({...l,...e})}},36727:(e,t,r)=>{"use strict";r.r(t),r.d(t,{KeylessCookieSync:()=>a});var n=r(79748),s=r(7620),o=r(38036);function a(e){var t;let a=(null==(t=(0,n.useSelectedLayoutSegments)()[0])?void 0:t.startsWith("/_not-found"))||!1;return(0,s.useEffect)(()=>{o.I&&!a&&r.e(9222).then(r.bind(r,29222)).then(t=>t.syncKeylessConfigAction({...e,returnUrl:window.location.href}))},[a]),e.children}},37204:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ClientClerkProvider:()=>O});var n=r(30524),s=r(20602);let o=new Set;var a=r(42925),i=r(79748),l=r(99321),c=r(7620);let u="u">typeof window?c.useLayoutEffect:c.useEffect,d=c.createContext(void 0);d.displayName="ClerkNextOptionsCtx";let p=()=>{let e=c.useContext(d);return null==e?void 0:e.value},f=e=>{let{children:t,options:r}=e;return c.createElement(d.Provider,{value:{value:r}},t)};var b=r(2609),m=r(10594),y=r.n(m);function v(e){let{publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a}=p(),{domain:i,proxyUrl:l}=(0,n.ho)();if(!t)return null;let u={domain:i,proxyUrl:l,publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a},d=(0,b.nO)(u),f="app"===e.router?"script":y();return c.createElement(f,{src:d,"data-clerk-js-script":!0,async:!0,defer:"pages"!==e.router&&void 0,crossOrigin:"anonymous",strategy:"pages"===e.router?"beforeInteractive":void 0,...(0,b.T5)(u)})}var _=r(38036),h=r(76975),g=r(67160),w=r(63680);let E=e=>{var t;return{...e,publishableKey:e.publishableKey||w.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY||"",clerkJSUrl:e.clerkJSUrl||w.env.NEXT_PUBLIC_CLERK_JS_URL,clerkJSVersion:e.clerkJSVersion||w.env.NEXT_PUBLIC_CLERK_JS_VERSION,proxyUrl:e.proxyUrl||w.env.NEXT_PUBLIC_CLERK_PROXY_URL||"",domain:e.domain||w.env.NEXT_PUBLIC_CLERK_DOMAIN||"",isSatellite:e.isSatellite||(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_IS_SATELLITE),signInUrl:e.signInUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL||"",signUpUrl:e.signUpUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL||"",signInForceRedirectUrl:e.signInForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL||"",signUpForceRedirectUrl:e.signUpForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL||"",signInFallbackRedirectUrl:e.signInFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL||"",signUpFallbackRedirectUrl:e.signUpFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL||"",afterSignInUrl:e.afterSignInUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL||"",afterSignUpUrl:e.afterSignUpUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL||"",newSubscriptionRedirectUrl:e.newSubscriptionRedirectUrl||w.env.NEXT_PUBLIC_CLERK_CHECKOUT_CONTINUE_URL||"",telemetry:null!=(t=e.telemetry)?t:{disabled:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DISABLED),debug:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DEBUG)},sdkMetadata:g.tm}};var x=r(3102),C=r(57042);let k=()=>{var e,t;let r=(0,n.ho)(),{pagesRouter:s}=(0,C.r)();return null==(t=r.telemetry)||t.record((0,x.YF)({router:s?"pages":"app",...(null==(e=null==globalThis?void 0:globalThis.next)?void 0:e.version)?{nextjsVersion:globalThis.next.version}:{}})),null};var L=r(43458),R=r(644),T=r(55993);let j=e=>{var t;return null!=window.__clerk_internal_navigations||(window.__clerk_internal_navigations={}),null!=(t=window.__clerk_internal_navigations)[e]||(t[e]={}),window.__clerk_internal_navigations[e]},I=e=>{let{windowNav:t,routerNav:r,name:n}=e,s=(0,i.usePathname)(),[o,a]=(0,c.useTransition)();t&&(j(n).fun=(e,s)=>new Promise(o=>{var i,l;null!=(i=j(n)).promisesBuffer||(i.promisesBuffer=[]),null==(l=j(n).promisesBuffer)||l.push(o),a(()=>{var n,o,a;if((null==(n=null==s?void 0:s.__internal_metadata)?void 0:n.navigationType)==="internal")t((null!=(a=null==(o=window.next)?void 0:o.version)?a:"")<"14.1.0"?history.state:null,"",e);else r(e)})}));let l=()=>{var e;null==(e=j(n).promisesBuffer)||e.forEach(e=>e()),j(n).promisesBuffer=[]};return(0,c.useEffect)(()=>(l(),l),[]),(0,c.useEffect)(()=>{o||l()},[s,o]),(0,c.useCallback)((e,t)=>j(n).fun(e,t),[])},P=(0,a.default)(()=>r.e(4443).then(r.bind(r,34443)).then(e=>e.KeylessCreatorOrReader),{loadableGenerated:{webpack:()=>[34443]}}),S=e=>{let t,r;if(L.M0){var a,d;let e=`Clerk:
2
2
  Your current Next.js version (${l.version}) will be deprecated in the next major release of "@clerk/nextjs". Please upgrade to next@14.1.0 or later.`;(0,s.M)()?(a=e,o.has(a)||(o.add(a),console.warn(a))):(d=`
3
3
  \x1b[43m----------
4
4
  ${e}
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9222],{29222:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>a.a,deleteKeylessAction:()=>n,detectKeylessEnvDriftAction:()=>s.A,syncKeylessConfigAction:()=>d});var a=r(33696),s=r(644),t=r(5974);let n=(0,t.createServerReference)("00f16ee53487a72c7232306e8663da1fa6b1264e8d",t.callServer,void 0,t.findSourceMapURL,"deleteKeylessAction"),d=(0,t.createServerReference)("40e4804f1640b73d97d5a7635f29a1bb3783ae5ec1",t.callServer,void 0,t.findSourceMapURL,"syncKeylessConfigAction")},33696:(e,c,r)=>{r.d(c,{a:()=>s});var a=r(5974);let s=(0,a.createServerReference)("008b1c1def771f1a9a43f8bd596c66eab76e1ab0b7",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9739],{2939:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},18259:(e,t,r)=>{r.d(t,{AR:()=>n,Fp:()=>i,M_:()=>l,b:()=>o});let a="conductor:project-board-refresh",s=new Set(["dispatcher_task_created","dispatcher_task_updated","dispatcher_task_handed_off"]);function n(e){for(let t of e){let e=function(e){if("system"!==e.kind)return null;let t=e.metadata?.eventType;return"string"==typeof t&&t.trim().length>0?t.trim():null}(t);if(e&&s.has(e))return e}return null}function l(e,t){return!!(e.changedProjectIds?.includes(t)||e.sessions.some(e=>e.projectId===t))||"snapshot_delta"===e.type&&0===e.sessions.length}function i(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function o(e,t){let r=r=>{let a=r.detail;a&&a.projectId===e&&t(a)};return window.addEventListener(a,r),()=>{window.removeEventListener(a,r)}}},18510:(e,t,r)=>{r.d(t,{J:()=>s,s:()=>n});var a=r(10926);function s(e){let t=(0,a.C0)(e);if(!t)return"/";let r=new URLSearchParams;return r.set("bridge",t),`/?${r.toString()}`}function n(e,t={}){let r,s=e.trim(),l=(0,a.DW)(s)?s:(r=(0,a.C0)(t.bridgeId))?(0,a.Bp)(r,s):s,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let d=i.toString(),c=`/sessions/${encodeURIComponent(l)}`;return d.length>0?`${c}?${d}`:c}},23555:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},26083:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},26463:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},59207:(e,t,r)=>{r.d(t,{g:()=>l});var a=r(7620),s=r(31404);function n(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function l(e,t){let r=t?.enabled??!0,[l,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(r),[c,x]=(0,a.useState)(null),m=(0,a.useCallback)(async()=>{if(!r){i(null),x(null),d(!1);return}try{var t;let r,a,l,o=await fetch((0,s.S)("/api/preferences",e)),d=await o.json().catch(()=>null);if(!o.ok)throw Error(d?.error??d?.reason??`Failed to load preferences: ${o.status}`);i((t=d?.preferences,r=n(t),l=(a=n(r.notifications)).soundFile,{onboardingAcknowledged:!0===r.onboardingAcknowledged,codingAgent:"string"==typeof r.codingAgent&&r.codingAgent.trim().length>0?r.codingAgent.trim():"claude-code",ide:"string"==typeof r.ide&&r.ide.trim().length>0?r.ide.trim():"vscode",markdownEditor:"string"==typeof r.markdownEditor&&r.markdownEditor.trim().length>0?r.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof r.markdownEditorPath?r.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===l?null:"string"==typeof l&&l.trim().length>0?l.trim():"abstract-sound-4"}})),x(null)}catch(e){i(null),x(e instanceof Error?e.message:"Failed to load preferences")}finally{d(!1)}},[e,r]);return(0,a.useEffect)(()=>{r&&m()},[r,m]),{preferences:r?l:null,loading:!!r&&o,error:r?c:null,refresh:m}}},61469:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},67447:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},76265:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},79739:(e,t,r)=>{r.r(t),r.d(t,{WorkspaceKanban:()=>eM});var a=r(54568),s=r(40448),n=r(7620),l=r(79748),i=r(58299),o=r(26083),d=r(34041),c=r(76265),x=r(45894),m=r(26463),p=r(13454);let u=(0,p.A)("file-image",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]);var v=r(2939),h=r(34309);let b=(0,p.A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),g=(0,p.A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]),f=(0,p.A)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var k=r(67447),j=r(23555),y=r(54299);let N=(0,p.A)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),w=(0,p.A)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var C=r(36645);let A=(0,p.A)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);var S=r(61469),P=r(60527),$=r(90124),I=r(59207),E=r(10926),M=r(31404),_=r(46916),R=r(18510),D=r(18259),L=r(17210),O=r(76050);function F(e){return(0,O.tK)({metadata:e?.metadata??{}})}let T={intake:"#3c83f6",ready:"#f59f0a",dispatching:"#fb923c",inProgress:"#f59f0a",needsInput:"#eab308",blocked:"#d53946",errored:"#ef4444",review:"#895af6",merge:"#06b6d4",done:"#21c45d",cancelled:"#6b7280"},B={intake:"To do",ready:"Ready",dispatching:"Dispatching",inProgress:"In progress",needsInput:"Needs input",blocked:"Blocked",errored:"Errored",review:"In review",merge:"Merge",done:"Done",cancelled:"Cancelled"},z={obsidian:"Obsidian",vscode:"VS Code",notion:"Notion",typora:"Typora",logseq:"Logseq",custom:"your editor"},G=[{value:"feature",label:"Feature"},{value:"fix",label:"Fix"},{value:"review",label:"Review"},{value:"chore",label:"Chore"},{value:"docs",label:"Docs"}],U=[{value:"high",label:"High"},{value:"medium",label:"Medium"},{value:"low",label:"Low"}],H="z-[120] rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)]",J="conductor:board-layout",q="conductor:board-list-view:v2",W=["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"],V=["high","medium","low"],K={roles:[],priorities:[],agents:[],sortField:"title",sortDir:"asc",groupBy:"status",collapsedGroups:[]},Z={...K,groupBy:"none"},Q=[{label:"All",roles:[]},{label:"Active",roles:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]},{label:"Backlog",roles:["intake","ready"]},{label:"Done",roles:["done","cancelled"]}];function Y(e){return["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"].includes(e)?e:"intake"}function X(e){let[t,...r]=e.split(" - ");return{title:(t??e).trim(),description:r.join(" - ").trim()}}function ee(e,t){if(!t)return!0;let r=e.comments.map(e=>`${e.author} ${e.body}`).join(" ");return`${e.text} ${e.agent??""} ${e.type??""} ${e.priority??""} ${e.issueId??""} ${e.notes??""} ${e.briefPath??""} ${e.attachments.join(" ")} ${r}`.toLowerCase().includes(t)}function et(e){return e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function er(e){return e.taskRef?.trim()||(e.id.length>12?`TASK-${e.id.split("-")[0]?.toUpperCase()??e.id.toUpperCase()}`:e.id)}function ea(e){return W.indexOf(e)}function es(e){if(!e)return V.length;let t=V.indexOf(e);return t>=0?t:V.length}function en(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function el(e,t){if(e.length!==t.length)return!1;let r=[...e].sort(),a=[...t].sort();return r.every((e,t)=>e===a[t])}function ei(e){try{var t;let r=window.localStorage.getItem(e);if(!r)return{...K};let a=JSON.parse(r),s={...K,...a,roles:Array.isArray(a.roles)?a.roles.filter(e=>W.includes(e)):[],priorities:Array.isArray(a.priorities)?a.priorities.filter(e=>"string"==typeof e):[],agents:Array.isArray(a.agents)?a.agents.filter(e=>"string"==typeof e):[],groupBy:(t=a.groupBy,"status"===t||"priority"===t||"assignee"===t||"none"===t?t:K.groupBy),collapsedGroups:Array.isArray(a.collapsedGroups)?a.collapsedGroups.filter(e=>"string"==typeof e):[]};return el(s.roles,Z.roles)&&el(s.priorities,Z.priorities)&&el(s.agents,Z.agents)&&s.sortField===Z.sortField&&s.sortDir===Z.sortDir&&s.groupBy===Z.groupBy&&el(s.collapsedGroups,Z.collapsedGroups)?{...s,groupBy:K.groupBy}:s}catch{return{...K}}}function eo(e){return e.split("/").map(e=>e.trim()).filter(Boolean)}function ed(e,t){return e.kind!==t.kind?"folder"===e.kind?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base",numeric:!0})}function ec(e){let t=e.displayPath?.trim();return t&&t.length>0?t:e.path}function ex({attachment:e,onOpen:t,opening:r=!1}){return(0,a.jsxs)("button",{type:"button",onClick:t,disabled:r,className:"inline-flex max-w-full items-center gap-1 rounded-[3px] bg-[color:#292929] px-2 py-1 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:e,"aria-label":`Open ${e}`,children:[r?(0,a.jsx)(i.A,{className:"h-3 w-3 shrink-0 animate-spin"}):(0,a.jsx)(o.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:e})]})}function em({node:e,depth:t,expandedFolders:r,selectedPaths:s,openingContextPath:n,contextOpenLabel:l,onToggleFolder:p,onTogglePath:h,onOpenPath:b}){var g;let f=10+16*t;if("folder"===e.kind){let i=r.has(e.path);return(0,a.jsxs)("li",{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>p(e.path),className:"flex w-full items-center gap-1.5 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",style:{paddingLeft:`${f}px`,paddingRight:"10px"},"aria-expanded":i,children:[i?(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),i?(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]}),i?(0,a.jsx)("ul",{children:e.children.map(e=>(0,a.jsx)(em,{node:e,depth:t+1,expandedFolders:r,selectedPaths:s,openingContextPath:n,contextOpenLabel:l,onToggleFolder:p,onTogglePath:h,onOpenPath:b},e.path))}):null]})}let k=s.includes(e.path);return(0,a.jsx)("li",{className:"border-t border-[var(--vk-border)] first:border-t-0",children:(0,a.jsxs)("div",{className:"flex items-start gap-2 py-1.5",style:{paddingLeft:`${f+22}px`,paddingRight:"10px"},children:[(0,a.jsxs)("label",{className:"flex min-w-0 flex-1 cursor-pointer items-start gap-2 text-[12px] text-[var(--vk-text-normal)]",children:[(0,a.jsx)("input",{type:"checkbox",checked:k,onChange:()=>h(e.path),className:"mt-0.5 h-3.5 w-3.5 rounded border-[var(--vk-border)] bg-transparent"}),"image"===e.file.kind?(0,a.jsx)(u,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,a.jsx)(v.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block truncate",children:e.name}),(0,a.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:ec(e.file)}),(0,a.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:[e.file.kind,e.file.source?` \xb7 ${e.file.source}`:"",e.file.sizeBytes?` \xb7 ${!(g=e.file.sizeBytes)||g<=0?"":g<1024?`${g} B`:g<1048576?`${(g/1024).toFixed(1)} KB`:`${(g/1048576).toFixed(1)} MB`}`:""]})]})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>b(e.path),disabled:n===e.path,className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:`${l}: ${e.path}`,"aria-label":`${l}: ${e.path}`,children:[n===e.path?(0,a.jsx)(i.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(o.A,{className:"h-3 w-3"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:l})]})]})})}function ep({value:e,options:t,disabled:r=!1,onChange:n,ariaLabel:l}){return(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",disabled:r,"aria-label":l,className:"inline-flex h-10 w-full items-center justify-between rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-left text-[14px] text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,a.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsx)($.N,{seed:{label:e},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"truncate",children:et(e)})]}),(0,a.jsx)(d.A,{className:"h-4 w-4 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{align:"start",sideOffset:6,className:`${H} min-w-[220px] max-w-[calc(100vw-2rem)] max-h-[min(360px,50vh)] overflow-y-auto sm:min-w-[280px]`,children:[(0,a.jsx)("p",{className:"px-3 pb-1 text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Agents"}),t.map(t=>{let r=t===e;return(0,a.jsxs)(s.q7,{onSelect:()=>n(t),className:"flex min-h-[40px] cursor-default items-center gap-2 rounded-[4px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)($.N,{seed:{label:t},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate",children:et(t)}),(0,a.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:r?(0,a.jsx)(h.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}):null})]},t)})]})})]})}function eu(e,t){if(!e||e.projectId!==t.projectId||e.repository!==t.repository||e.boardPath!==t.boardPath||e.workspacePath!==t.workspacePath||e.primaryRoles.length!==t.primaryRoles.length||e.columns.length!==t.columns.length)return!1;for(let r=0;r<e.primaryRoles.length;r+=1)if(e.primaryRoles[r]!==t.primaryRoles[r])return!1;for(let r=0;r<e.columns.length;r+=1){let a=e.columns[r],s=t.columns[r];if(a.role!==s.role||a.heading!==s.heading||a.tasks.length!==s.tasks.length)return!1;for(let e=0;e<a.tasks.length;e+=1){let t=a.tasks[e],r=s.tasks[e];if(t.id!==r.id||t.text!==r.text||t.checked!==r.checked||t.agent!==r.agent||t.project!==r.project||t.type!==r.type||t.priority!==r.priority||t.taskRef!==r.taskRef||t.attemptRef!==r.attemptRef||t.issueId!==r.issueId||t.githubItemId!==r.githubItemId||t.notes!==r.notes||t.briefPath!==r.briefPath||t.vaultBriefPath!==r.vaultBriefPath||t.commentCount!==r.commentCount||t.comments.length!==r.comments.length||t.attachments.length!==r.attachments.length)return!1;for(let e=0;e<t.attachments.length;e+=1)if(t.attachments[e]!==r.attachments[e])return!1;for(let e=0;e<t.comments.length;e+=1)if(JSON.stringify(t.comments[e])!==JSON.stringify(r.comments[e]))return!1}}let r=e.githubProject??null,a=t.githubProject??null;if(JSON.stringify(r)!==JSON.stringify(a))return!1;let s=e.recentActions??[],n=t.recentActions??[];if(s.length!==n.length)return!1;for(let e=0;e<s.length;e+=1)if(JSON.stringify(s[e])!==JSON.stringify(n[e]))return!1;let l=e.recentWebhookDeliveries??[],i=t.recentWebhookDeliveries??[];if(l.length!==i.length)return!1;for(let e=0;e<l.length;e+=1)if(JSON.stringify(l[e])!==JSON.stringify(i[e]))return!1;return!0}function ev(e){return{...e,repository:e.repository??null,githubProject:e.githubProject??null,recentActions:Array.isArray(e.recentActions)?e.recentActions:[],recentWebhookDeliveries:Array.isArray(e.recentWebhookDeliveries)?e.recentWebhookDeliveries:[],columns:Array.isArray(e.columns)?e.columns.map(e=>({...e,tasks:Array.isArray(e.tasks)?e.tasks.map(e=>({...e,issueId:e.issueId??null,githubItemId:e.githubItemId??null,attachments:Array.isArray(e.attachments)?e.attachments:[],notes:e.notes??null,briefPath:e.briefPath??null,vaultBriefPath:e.vaultBriefPath??null,commentCount:"number"==typeof e.commentCount?e.commentCount:Array.isArray(e.comments)?e.comments.length:0,comments:Array.isArray(e.comments)?e.comments:[]})):[]})):[]}}function eh(e){return e.branch?.trim()||e.summary?.trim()||(0,E.kV)(e.id).slice(0,8)}function eb(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function eg(e,t){let r=e.filter(e=>{var r,a,s;return r=e,r.metadata?.sessionKind!=="board_planning"&&(a=e,s=t,!!(a.id===s.attemptRef||a.metadata?.taskId===s.id||s.taskRef?.trim()&&a.metadata?.taskRef?.trim()===s.taskRef.trim())||a.issueId?.trim()===eb(s))}).sort((e,r)=>e$(e,r,t.attemptRef??null)),a=t.attemptRef?r.find(e=>e.id===t.attemptRef)??null:r[0]??null,s=t.attemptRef&&!r.some(e=>e.id===t.attemptRef)?t.attemptRef:null;return{linkedSessions:r,primaryLinkedSession:a,unresolvedPrimaryLink:s}}function ef(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let r=Math.round((Date.now()-t)/1e3);if(r<60)return"just now";let a=Math.round(r/60);if(a<60)return`${a}m ago`;let s=Math.round(a/60);if(s<24)return`${s}h ago`;let n=Math.round(s/24);return n<30?`${n}d ago`:eC(e)}function ek(e){let t=e.metadata?.agent;return"string"==typeof t&&t.trim().length>0?t.trim():null}function ej(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"Running":"done"===t?"Done":"killed"===t?"Interrupted":"errored"===t?"Errored":"archived"===t?"Archived":e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function ey(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"border-[rgba(60,131,246,0.35)] bg-[rgba(60,131,246,0.12)] text-[#8db8ff]":"done"===t?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"killed"===t||"archived"===t?"border-[rgba(143,143,143,0.35)] bg-[rgba(143,143,143,0.10)] text-[var(--vk-text-muted)]":"errored"===t?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}function eN(e,t){let r=t?.trim();if(!e||!r||!/^\d+$/.test(r))return null;let[a,s]=e.trim().replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/^ssh:\/\/git@github\.com\//,"").replace(/\.git$/,"").replace(/\/+$/,"").split("/");return a&&s?`https://github.com/${a}/${s}/issues/${r}`:null}function ew(e){if(!e?.id)return"No GitHub Project linked";let t="number"==typeof e.number?`#${e.number}`:"Project";return`${t} ${e.title?.trim()||"Untitled"}`.trim()}function eC(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"}).format(new Date(t))}function eA(e,t){if(!e)return null;for(let r of e.columns){let e=r.tasks.find(e=>e.id===t);if(e)return{task:e,role:r.role}}return null}function eS(e,t){return e?.columns.find(e=>e.role===t)??null}function eP(e,t,r){let a=eS(e,r);if(!a)return 0;let s=a.tasks.length;return t?.role===r&&a.tasks.findIndex(e=>e.id===t.taskId)>=0&&(s-=1),Math.max(s,0)}function e$(e,t,r){if(r){if(e.id===r&&t.id!==r)return -1;if(t.id===r&&e.id!==r)return 1}let a=e.lastActivityAt?Date.parse(e.lastActivityAt):0;return(t.lastActivityAt?Date.parse(t.lastActivityAt):0)-a}function eI({task:e,role:t,layout:r,boardRepository:s,projectSessions:n,openingContextPath:l,onOpenContextAttachment:i,onOpenSessionView:d,onOpenEditor:c,dragEnabled:x=!1,isDragging:m=!1,onDragStart:p,onDragOver:u,onDragEnd:v}){let{title:h,description:f}=X(e.text),k=eN(s,e.issueId),{linkedSessions:j,primaryLinkedSession:y,unresolvedPrimaryLink:N}=eg(n,e),w=er(e);return(0,a.jsxs)("div",{draggable:x,onDragStart:x&&p?()=>{p()}:void 0,onDragOver:x?u:void 0,onDragEnd:x?v:void 0,className:(0,_.cn)("kanban"===r?"rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] [content-visibility:auto] [contain-intrinsic-size:240px]":"rounded-[10px] border border-[var(--vk-border)] bg-[rgba(23,25,30,0.72)] p-4 shadow-[0_10px_24px_rgba(0,0,0,0.18)]",m&&"opacity-60"),children:[(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("p",{className:"min-w-0 flex-1 font-mono text-[12px] text-[var(--vk-text-muted)]",children:w}),(0,a.jsx)("button",{type:"button",onClick:()=>c(e,t),className:"inline-flex h-9 w-9 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-6 sm:w-6","aria-label":"Edit task",title:"Edit task",children:(0,a.jsx)(b,{className:"h-3.5 w-3.5"})})]}),(0,a.jsx)("p",{className:"pt-1 text-[15px] leading-[22px] text-[var(--vk-text-normal)]",children:h}),f&&(0,a.jsx)("p",{className:"pt-1 text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:f}),e.notes&&(0,a.jsx)("p",{className:"pt-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:e.notes}),e.commentCount>0&&(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(g,{className:"h-3.5 w-3.5"}),(0,a.jsxs)("span",{children:[e.commentCount," comment",1===e.commentCount?"":"s"]})]}),(e.issueId||e.briefPath||e.attachments.length>0)&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.issueId?k?(0,a.jsxs)("a",{href:k,target:"_blank",rel:"noreferrer",className:"inline-flex h-5 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsxs)("span",{children:["Issue #",e.issueId]}),(0,a.jsx)(o.A,{className:"h-3 w-3"})]}):(0,a.jsxs)("span",{className:"inline-flex h-5 items-center rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:["Issue ",e.issueId]}):null,e.briefPath?(0,a.jsx)(ex,{attachment:e.briefPath,opening:l===e.briefPath,onOpen:()=>void i(e.briefPath)}):null,e.attachments.map(t=>(0,a.jsx)(ex,{attachment:t,opening:l===t,onOpen:()=>void i(t)},`${e.id}-${t}`))]}),(j.length>0||N)&&(0,a.jsxs)("div",{className:"mt-3 rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Runs"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:j.length+ +!!N})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[y?(0,a.jsxs)("button",{type:"button",onClick:()=>void d(y.id,F(y)),className:"flex w-full items-center justify-between gap-2 rounded-[3px] border border-[rgba(255,255,255,0.05)] bg-[rgba(255,255,255,0.03)] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:y.id,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[ek(y)?(0,a.jsx)($.N,{seed:{label:ek(y)},className:"h-5 w-5"}):null,(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:eh(y)}),(0,a.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${ey(y.status)}`,children:ej(y.status)}),(0,a.jsx)(o.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]}):null,j.filter(e=>e.id!==y?.id).map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>void d(e.id,F(e)),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:e.id,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[ek(e)?(0,a.jsx)($.N,{seed:{label:ek(e)},className:"h-5 w-5"}):null,(0,a.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:eh(e)})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${ey(e.status)}`,children:ej(e.status)}),(0,a.jsx)(o.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]},e.id)),N?(0,a.jsxs)("button",{type:"button",onClick:()=>void d(N,"terminal"),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:N,children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:N}),(0,a.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]}),(0,a.jsx)(o.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]}):null]})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("div",{className:"flex min-w-0 items-center gap-1.5",children:e.agent?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)($.N,{seed:{label:e.agent},className:"h-6 w-6"}),(0,a.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:et(e.agent)})]}):(0,a.jsx)("span",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No agent"})}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[e.type&&(0,a.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:e.type}),e.priority&&(0,a.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:e.priority})]})]})]})}function eE({entry:e,boardRepository:t,projectSessions:r,onOpenEditor:s,onOpenSessionView:n}){let{task:l,role:i}=e,{title:o}=X(l.text),d=er(l),c=eN(t,l.issueId),{linkedSessions:x,primaryLinkedSession:m}=eg(r,l),p=x.some(e=>{let t=e.status.trim().toLowerCase();return"working"===t||"running"===t}),u=function(e,t){let r=0;for(let e of t){let t=e.lastActivityAt?Date.parse(e.lastActivityAt):0;!Number.isNaN(t)&&t>r&&(r=t)}for(let t of e.comments){let e=Date.parse(t.timestamp);!Number.isNaN(e)&&e>r&&(r=e)}return r>0?new Date(r).toISOString():null}(l,x);return(0,a.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>s(l,i),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),s(l,i))},className:"group flex items-start gap-2 border-b border-[var(--vk-border)] py-2.5 pl-2 pr-3 text-sm text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)] last:border-b-0 sm:items-center sm:py-2 sm:pl-1",children:[(0,a.jsx)("span",{className:"shrink-0 pt-px sm:hidden",children:(0,a.jsx)("span",{className:"inline-flex h-3.5 w-3.5 rounded-full",style:{backgroundColor:T[i]}})}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1 sm:contents",children:[(0,a.jsx)("span",{className:"line-clamp-2 text-[14px] sm:order-2 sm:min-w-0 sm:flex-1 sm:truncate sm:line-clamp-none",children:o}),(0,a.jsxs)("span",{className:"flex items-center gap-2 sm:order-1 sm:shrink-0",children:[(0,a.jsx)("span",{className:"hidden shrink-0 sm:inline-flex",children:(0,a.jsx)("span",{className:"inline-flex h-3.5 w-3.5 rounded-full",style:{backgroundColor:T[i]}})}),(0,a.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-[var(--vk-text-muted)]",children:d}),p?(0,a.jsxs)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),m&&n(m.id,F(m))},className:"inline-flex items-center gap-1 rounded-full bg-[color:color-mix(in_srgb,var(--status-working)_18%,transparent)] px-2 py-0.5 text-[10px] font-medium text-[var(--status-working)]",children:[(0,a.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,a.jsx)("span",{className:"absolute inline-flex h-full w-full animate-pulse rounded-full bg-[var(--status-working)] opacity-75"}),(0,a.jsx)("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-[var(--status-working)]"})]}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Live"})]}):null,u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)] sm:hidden",children:"\xb7"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)] sm:hidden",children:ef(u)})]}):null]})]}),(0,a.jsxs)("span",{className:"ml-auto hidden shrink-0 items-center gap-2 sm:order-3 sm:flex sm:gap-3",children:[(0,a.jsxs)("span",{className:"hidden items-center gap-1 overflow-hidden md:flex md:max-w-[240px]",children:[l.type?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--vk-text-muted)]",children:l.type}):null,l.priority?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--vk-text-muted)]",children:l.priority}):null,l.commentCount>0?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(g,{className:"h-3 w-3"}),l.commentCount]}):null]}),(0,a.jsx)("div",{className:"flex w-[180px] shrink-0 items-center rounded-md px-2 py-1",children:l.agent?(0,a.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 text-[12px]",children:[(0,a.jsx)($.N,{seed:{label:l.agent},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"truncate",children:et(l.agent)})]}):(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-dashed border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)]",children:(0,a.jsx)(f,{className:"h-3 w-3"})}),"No agent"]})}),c?(0,a.jsxs)("a",{href:c,target:"_blank",rel:"noreferrer",onClick:e=>e.stopPropagation(),className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["#",l.issueId]}):m?(0,a.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),n(m.id,F(m))},className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:eh(m)}):null,u?(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:ef(u)}):null]})]})}function eM({projectId:e,bridgeId:t,defaultAgent:r,agentOptions:x,projectSessions:m,projectLabel:p,headerAccessory:u,onOpenSession:v}){var b;let E=(0,l.useRouter)(),{preferences:O}=(0,I.g)(t),F=e?`${q}:${e}`:q,[K,Z]=(0,n.useState)(null),[er,eg]=(0,n.useState)(!1),[ef,ek]=(0,n.useState)(null),[ej,ey]=(0,n.useState)(""),[eN,e_]=(0,n.useState)("active"),[eR,eD]=(0,n.useState)(()=>{let e=window.localStorage.getItem(J);return"list"===e||"kanban"===e?e:"kanban"}),[eL,eO]=(0,n.useState)(()=>ei(F)),[eF,eT]=(0,n.useState)(!1),[eB,ez]=(0,n.useState)("intake"),[eG,eU]=(0,n.useState)(""),[eH,eJ]=(0,n.useState)(""),[eq,eW]=(0,n.useState)(r),[eV,eK]=(0,n.useState)("feature"),[eZ,eQ]=(0,n.useState)("medium"),[eY,eX]=(0,n.useState)(""),[e0,e1]=(0,n.useState)([]),[e2,e5]=(0,n.useState)([]),[e3,e4]=(0,n.useState)(""),[e6,e8]=(0,n.useState)([]),[e9,e7]=(0,n.useState)(!1),[te,tt]=(0,n.useState)(null),[tr,ta]=(0,n.useState)(null),[ts,tn]=(0,n.useState)([]),[tl,ti]=(0,n.useState)(!1),[to,td]=(0,n.useState)(null),[tc,tx]=(0,n.useState)(null),[tm,tp]=(0,n.useState)("intake"),[tu,tv]=(0,n.useState)(""),[th,tb]=(0,n.useState)(""),[tg,tf]=(0,n.useState)(r),[tk,tj]=(0,n.useState)("feature"),[ty,tN]=(0,n.useState)("medium"),[tw,tC]=(0,n.useState)(""),[tA,tS]=(0,n.useState)(""),[tP,t$]=(0,n.useState)(""),[tI,tE]=(0,n.useState)(!1),[tM,t_]=(0,n.useState)(null),[tR,tD]=(0,n.useState)(""),[tL,tO]=(0,n.useState)(!1),[tF,tT]=(0,n.useState)(null),[tB,tz]=(0,n.useState)(null),[tG,tU]=(0,n.useState)(null),[tH,tJ]=(0,n.useState)(!1),[tq,tW]=(0,n.useState)(!1),[tV,tK]=(0,n.useState)(!1),[tZ,tQ]=(0,n.useState)(null),[tY,tX]=(0,n.useState)(null),[t0,t1]=(0,n.useState)(""),t2=(0,n.useRef)(!1),t5=(0,n.useRef)(!1),t3=(0,n.useRef)(null),t4=(0,n.useRef)(null),t6=(0,n.useRef)(Promise.resolve(null)),t8=(0,n.useRef)(0),t9="obsidian"===(b=O?.markdownEditor?.trim()||"obsidian")||"vscode"===b||"typora"===b||"logseq"===b?`Open in ${z[b]??"your editor"}`:"Open file",[t7,re]=(0,n.useState)(!0),[rt,rr]=(0,n.useState)(!1),ra=(0,n.useMemo)(()=>{let e=[...new Set(x.filter(Boolean))];return e.includes(r)||e.unshift(r),e},[x,r]);(0,n.useEffect)(()=>{t4.current=K},[K]),(0,n.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(min-width: 640px)"),t=()=>{rr(e.matches)};return t(),e.addEventListener?.("change",t),window.addEventListener("resize",t),()=>{e.removeEventListener?.("change",t),window.removeEventListener("resize",t)}},[]),(0,n.useEffect)(()=>{window.localStorage.setItem(J,eR)},[eR]),(0,n.useEffect)(()=>{eO(ei(F))},[F]),(0,n.useEffect)(()=>{window.localStorage.setItem(F,JSON.stringify(eL))},[F,eL]),(0,n.useEffect)(()=>{ra.includes(eq)||eW(ra[0]??r)},[eq,r,ra]),(0,n.useEffect)(()=>{ra.includes(tg)||tf(ra[0]??r)},[r,tg,ra]);let rs=(0,n.useCallback)(e=>{eO(t=>({...t,...e}))},[]);(0,n.useEffect)(()=>{if(!eF&&!tc||!e)return;let r=!1;return(async()=>{e7(!0),tt(null);try{let a=await fetch((0,M.S)(`/api/context-files?projectId=${encodeURIComponent(e)}`,t)),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to load context files: ${a.status}`);if(r)return;let n=Array.isArray(s?.files)?s.files:[];e8(n)}catch(e){if(r)return;e8([]),tt(e instanceof Error?e.message:"Failed to load context files")}finally{r||e7(!1)}})(),()=>{r=!0}},[t,eF,tc,e]),(0,n.useEffect)(()=>{t2.current=!1,tJ(!1),tQ(null),tX(null),t1("")},[t,e]);let rn=(0,n.useCallback)(async r=>{if(!e){Z(null),ek(null),eg(!1),t2.current=!1;return}if(!t5.current&&(!r?.silent||!(t8.current>0))){t5.current=!0,r?.silent||eg(!0);try{let r=await fetch((0,M.S)(`/api/boards?projectId=${encodeURIComponent(e)}`,t)),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load board: ${r.status}`);let s=ev(a);t2.current=!0,Z(e=>eu(e,s)?e:s),ek(null)}catch(e){r?.silent&&t2.current||(Z(null),ek(e instanceof Error?e.message:"Failed to load board"))}finally{r?.silent||eg(!1),t5.current=!1}}},[t,e]),rl=(0,n.useCallback)((e,r="terminal")=>{v?v(e,{tab:r}):E.push((0,R.s)(e,{bridgeId:t,tab:r}))},[t,v,E]),ri=(0,n.useCallback)(t=>{if(!e)return;null!==t3.current&&(window.clearTimeout(t3.current),t3.current=null);let r=t?.debounceMs??250;t3.current=window.setTimeout(()=>{t3.current=null,rn(t)},r)},[rn,e]);(0,n.useEffect)(()=>{if(e)return(0,L.L)(t=>{"snapshot"!==t.type&&"snapshot_delta"!==t.type||(0,D.M_)(t,e)&&ri({silent:!0,debounceMs:80})})},[e,ri]),(0,n.useEffect)(()=>{if(e)return(0,D.b)(e,()=>{ri({silent:!0,debounceMs:80})})},[e,ri]),(0,n.useEffect)(()=>{rn({silent:!1})},[rn]);let ro=(0,n.useCallback)(async()=>{if(!e){tX(null),tQ(null);return}tW(!0),tQ(null);try{let r=await fetch((0,M.S)(`/api/github/projects?projectId=${encodeURIComponent(e)}`,t)),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load GitHub Projects (${r.status})`);let s={...a,projects:Array.isArray(a.projects)?a.projects:[]};tX(s),t1(s.linkedProject?.id?.trim()||s.projects[0]?.id?.trim()||"")}catch(e){tQ(e instanceof Error?e.message:"Failed to load GitHub Projects"),tX(null),t1("")}finally{tW(!1)}},[t,e]);(0,n.useEffect)(()=>{if(!e)return;let t=()=>{t7&&rn({silent:!0})},r=null,a=()=>{let e=t7?5e3:2e4;r=window.setTimeout(()=>{t(),a()},e)};a(),window.addEventListener("focus",t);let s=()=>{let e="visible"===document.visibilityState;re(e),e&&t()};return document.addEventListener("visibilitychange",s),()=>{null!=r&&window.clearTimeout(r),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",s)}},[rn,t7,e]),(0,n.useEffect)(()=>{e&&t2.current&&ri({silent:!0})},[e,m,ri]),(0,n.useEffect)(()=>()=>{null!==t3.current&&(window.clearTimeout(t3.current),t3.current=null)},[rn,e]),(0,n.useEffect)(()=>{tH&&e&&ro()},[ro,e,tH]);let rd=K?.columns??[],rc=(0,n.useMemo)(()=>{let e=ej.trim().toLowerCase(),t="all"===eN?null:new Set("backlog"===eN?["intake","ready"]:"cancelled"===eN?["cancelled"]:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]);return rd.filter(e=>!t||t.has(e.role)).map(t=>e?{...t,tasks:t.tasks.filter(t=>ee(t,e))}:t)},[rd,ej,eN]),rx="kanban"===eR&&0===ej.trim().length,rm=(0,n.useMemo)(()=>{let e;return e=0,eL.roles.length>0&&(e+=1),eL.priorities.length>0&&(e+=1),eL.agents.length>0&&(e+=1),e},[eL]),rp=(0,n.useMemo)(()=>{let e=new Set;for(let t of rd)for(let r of t.tasks)r.agent?.trim()&&e.add(r.agent.trim());return[...e].sort((e,t)=>e.localeCompare(t,void 0,{sensitivity:"base"}))},[rd]),ru=(0,n.useMemo)(()=>{let e=ej.trim().toLowerCase(),t=rd.flatMap(e=>e.tasks.map(t=>({task:t,role:e.role,heading:e.heading||B[e.role]})));e&&(t=t.filter(t=>ee(t.task,e))),eL.roles.length>0&&(t=t.filter(e=>eL.roles.includes(e.role))),eL.priorities.length>0&&(t=t.filter(e=>null!=e.task.priority&&eL.priorities.includes(e.task.priority))),eL.agents.length>0&&(t=t.filter(e=>{let t=e.task.agent?.trim();return t?eL.agents.includes(t):eL.agents.includes("__unassigned")}));let r=[...t];return r.sort((e,t)=>{let r="asc"===eL.sortDir?1:-1;switch(eL.sortField){case"status":return r*(ea(e.role)-ea(t.role));case"priority":return r*(es(e.task.priority)-es(t.task.priority));case"agent":return r*(e.task.agent??"").localeCompare(t.task.agent??"");default:{let a=X(e.task.text).title,s=X(t.task.text).title;return r*a.localeCompare(s)}}}),r},[rd,eL,ej]),rv=(0,n.useMemo)(()=>{if("none"===eL.groupBy)return[{key:"__all",label:null,items:ru}];if("status"===eL.groupBy)return W.map(e=>{let t=ru.filter(t=>t.role===e);return 0===t.length?null:{key:e,label:t[0]?.heading||B[e],items:t}}).filter(e=>null!==e);if("priority"===eL.groupBy)return V.map(e=>{let t=ru.filter(t=>t.task.priority===e);return 0===t.length?null:{key:e,label:e[0]?.toUpperCase()+e.slice(1),items:t}}).filter(e=>null!==e);let e=new Map;for(let t of ru){let r=t.task.agent?.trim()||"__unassigned",a=e.get(r)??[];a.push(t),e.set(r,a)}return[...e.entries()].map(([e,t])=>({key:e,label:"__unassigned"===e?"No agent":et(e),items:t})).sort((e,t)=>(e.label??"").localeCompare(t.label??"",void 0,{sensitivity:"base"}))},[ru,eL.groupBy]),rh=(0,n.useMemo)(()=>rv.filter(e=>null!=e.label).map(e=>e.key),[rv]),rb=rh.length>0&&rh.every(e=>eL.collapsedGroups.includes(e)),rg=(0,n.useMemo)(()=>{let e=e3.trim().toLowerCase(),t=e?e6.filter(t=>`${t.path} ${ec(t)} ${t.name} ${t.source??""}`.toLowerCase().includes(e)):e6,r=new Map;for(let e of t)r.has(e.path)||r.set(e.path,e);return[...r.values()]},[e6,e3]),rf=(0,n.useMemo)(()=>(function(e){let t=new Map;t.set("",new Map);let r=(e,r)=>(t.has(e)||t.set(e,new Map),{kind:"folder",name:r,path:e,children:[]});for(let a of e){let e=ec(a),s=eo(e);if(0===s.length)continue;let n="";for(let e=0;e<s.length-1;e+=1){let a=s[e],l=n?`${n}/${a}`:a,i=t.get(n)??new Map;t.set(n,i),i.has(l)||i.set(l,r(l,a)),t.has(l)||t.set(l,new Map),n=l}let l=t.get(n)??new Map;l.set(a.path,{kind:"file",name:a.name,path:a.path,file:{...a,displayPath:e}}),t.set(n,l)}let a=e=>[...t.get(e)?.values()??[]].map(e=>"folder"===e.kind?{...e,children:a(e.path)}:e).sort(ed);return a("")})(rg),[rg]),rk=(0,n.useMemo)(()=>new Map(e6.map(e=>[e.path,e])),[e6]),rj=(0,n.useMemo)(()=>e0.map(e=>rk.get(e)).filter(e=>!!e),[rk,e0]),ry=(0,n.useMemo)(()=>new Set(rf.filter(e=>"folder"===e.kind).map(e=>e.path)),[rf]),rN=(0,n.useMemo)(()=>e3.trim().length>0?function e(t,r=new Set){for(let a of t)"folder"===a.kind&&(r.add(a.path),e(a.children,r));return r}(rf):function(e){let t=new Set;for(let r of e){let e=eo(r),a="";for(let r=0;r<e.length-1;r+=1)a=a?`${a}/${e[r]}`:e[r],t.add(a)}return t}(e0.map(e=>{let t=rk.get(e);return t?ec(t):e})),[rk,e3,rf,e0]),rw=(0,n.useMemo)(()=>{let e=new Set(ry);for(let t of e2)e.add(t);for(let t of rN)e.add(t);return e},[rN,ry,e2]),rC=(0,n.useMemo)(()=>{let e=rd.find(e=>e.role===eB);return e?.heading||B[eB]},[rd,eB]),rA=(0,n.useMemo)(()=>{if(!tc)return m;let e=eA(K,tc.task.id)??tc,t=eb(e.task);return[...m].sort((r,a)=>{let s=r.id===e.task.attemptRef||r.issueId?.trim()===t;return s!==(a.id===e.task.attemptRef||a.issueId?.trim()===t)?s?-1:1:e$(r,a,e.task.attemptRef)})},[K,tc,m]),rS=(0,n.useMemo)(()=>tc?eA(K,tc.task.id)??tc:null,[K,tc]);function rP(e){ez(e),eT(!0),eU(""),eJ(""),eW(ra[0]??r),eK("feature"),eQ("medium"),td(null),eX(""),e4(""),e1([]),e5([]),tn([])}let r$=(0,n.useCallback)(async t=>{if(e){ta(t),tc?t_(null):eF?td(null):ek(null);try{let r=await fetch("/api/context-files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,path:t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to open context file: ${r.status}`)}catch(e){var r;r=e instanceof Error?e.message:"Failed to open context file",tc?t_(r):eF?td(r):ek(r)}finally{ta(e=>e===t?null:e)}}},[eF,tc,e]);function rI(e){e1(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function rE(e){e5(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}async function rM(){if(e&&eG.trim()){ti(!0),td(null);try{let r=await fetch((0,M.S)("/api/boards",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,title:eG.trim(),description:eH.trim()||void 0,contextNotes:eY.trim()||void 0,attachments:e0.length>0?e0:void 0,agent:eq,role:eB,type:eV.trim()||void 0,priority:eZ.trim()||void 0})}),a=await r.json().catch(()=>null);if(!r.ok||!a||!("columns"in a))throw Error(a?.error??`Failed to create task: ${r.status}`);let s=ev(a),n=s.columns.flatMap(e=>e.tasks).find(e=>e.id===a.createdTaskId);if(ts.length>0&&n){let r=new FormData;for(let t of(r.append("projectId",e),r.append("taskRef",n.taskRef?.trim()||n.id),ts))r.append("files",t);let a=await fetch((0,M.S)("/api/attachments",t),{method:"POST",body:r}),l=await a.json().catch(()=>null);if(!a.ok)throw Error(l?.error??`Upload failed: ${a.status}`);let i=(l?.files??[]).map(e=>e.path?.trim()).filter(e=>!!e);if(i.length>0){let r=await fetch((0,M.S)("/api/boards",t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:n.id,attachments:[...new Set([...n.attachments,...i])]})}),a=await r.json().catch(()=>null);if(!r.ok||!a||!("columns"in a))throw Error(a?.error??`Failed to attach uploads: ${r.status}`);s=ev(a)}}Z(e=>({...e??s,...s})),eU(""),eJ(""),eK("feature"),eQ("medium"),eX(""),e1([]),e4(""),tn([]),eT(!1)}catch(e){td(e instanceof Error?e.message:"Failed to create task")}finally{ti(!1)}}}async function r_(r,a){if(!e)return null;let s=t4.current;if(s&&a?.optimisticUpdate){let e=a.optimisticUpdate(s);e&&(t4.current=e,Z(t=>eu(t,e)?t:e))}t8.current+=1;let n=t6.current.catch(()=>null).then(async()=>{let a=await fetch((0,M.S)("/api/boards",t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,...r})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to update board: ${a.status}`);let n=ev(s);return t4.current=n,Z(e=>eu(e,n)?e:n),ek(null),n});t6.current=n.then(()=>null,()=>null);try{return await n}catch(e){throw a?.optimisticUpdate&&s&&(t4.current=s,Z(e=>eu(e,s)?e:s)),e}finally{t8.current=Math.max(0,t8.current-1)}}async function rR(r){if(e&&!tV){tK(!0),tQ(null);try{let a=await fetch((0,M.S)("/api/github/projects",t),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,link:r?.id?r:null})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to update GitHub Project link (${a.status})`);Z(e=>e?{...e,githubProject:s?.githubProject??null}:e),await ro()}catch(e){tQ(e instanceof Error?e.message:"Failed to update GitHub Project link")}finally{tK(!1)}}}async function rD(r){if(e&&!tV){tK(!0),tQ(null);try{let a=await fetch((0,M.S)("/api/github/projects/sync",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,direction:r})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to ${r} GitHub Project (${a.status})`);if(s?.board){let e=ev(s.board);Z(t=>eu(t,e)?t:e)}else await rn({silent:!0});await ro()}catch(e){tQ(e instanceof Error?e.message:`Failed to ${r} GitHub Project`)}finally{tK(!1)}}}function rL(e,t){let{title:a,description:s}=X(e.text);tx({task:e,role:t}),tp(t),tv(a),tb(s),tf(e.agent??ra[0]??r),tj(e.type??"feature"),tN(e.priority??"medium"),tC(e.issueId??""),tS(e.notes??""),t$(e.attemptRef??""),t_(null),tD(""),tT(null)}function rO(){tI||tL||(tx(null),t_(null),tD(""),tT(null))}async function rF(){if(rS&&tu.trim()){tE(!0),t_(null);try{await r_({taskId:rS.task.id,role:tm,title:tu.trim(),description:th,contextNotes:tA.trim()||"",issueId:tw.trim()||"",agent:tg,type:tk,priority:ty,attemptRef:tP,taskRef:tP?rS.task.taskRef??rS.task.id:rS.task.taskRef??""}),tx(null)}catch(e){t_(e instanceof Error?e.message:"Failed to update task")}finally{tE(!1)}}}async function rT(){if(e&&rS&&tR.trim()){tO(!0),tT(null);try{let r=await fetch((0,M.S)("/api/boards/comments",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:rS.task.id,body:tR.trim()})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to add comment: ${r.status}`);let s=ev(a);Z(e=>eu(e,s)?e:s),tD("")}catch(e){tT(e instanceof Error?e.message:"Failed to add comment")}finally{tO(!1)}}}async function rB(e){if(!tB)return;let t=eS(t4.current,tB.role),r=t?.tasks.findIndex(e=>e.id===tB.taskId)??-1,a=eP(t4.current,tB,e),s=tG?.role===e?tG.index:a,n=tB.role!==e||s!==r;try{n&&await r_({taskId:tB.taskId,role:e,targetIndex:s},{optimisticUpdate:t=>(function(e,t,r,a){if(!e)return e;let s=e.columns.map(e=>({...e,tasks:[...e.tasks]})),n=-1,l=-1,i=null;for(let e=0;e<s.length;e+=1){let r=s[e]?.tasks.findIndex(e=>e.id===t)??-1;if(r>=0){n=e,l=r,i=s[e].tasks.splice(r,1)[0]??null;break}}if(!i||n<0)return e;let o=s.findIndex(e=>e.role===r);o<0&&(s.push({role:r,heading:B[r],tasks:[]}),o=s.length-1);let d=s[o].tasks,c=Math.max(0,Math.min(a,d.length));return(d.splice(c,0,i),n===o&&l===c)?e:{...e,columns:s}})(t,tB.taskId,e,s)})}catch(e){ek(e instanceof Error?e.message:"Failed to move task")}finally{tz(null),tU(null)}}return e?(0,a.jsxs)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden sm:overflow-hidden",children:[(0,a.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-3 py-3 sm:px-4 sm:py-4",children:[(0,a.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-3 sm:mb-4",children:[(0,a.jsx)("div",{className:"min-w-0",children:(0,a.jsx)("h1",{className:"truncate text-[20px] font-medium leading-[28px] text-[var(--vk-text-normal)] sm:text-[24px] sm:leading-[32px]",children:p?.trim()||e})}),u?(0,a.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:u}):null]}),"list"===eR?(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 sm:gap-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2 sm:gap-3",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>rP("intake"),className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"New Issue"})]}),rh.length>0?(0,a.jsx)("button",{type:"button",onClick:()=>rs({collapsedGroups:rb?[]:rh}),className:"hidden h-[31px] w-[31px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:inline-flex","aria-label":rb?"Expand groups":"Collapse groups",title:rb?"Expand groups":"Collapse groups",children:rb?(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}):(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"})}):null,(0,a.jsxs)("label",{className:"relative w-48 sm:w-64 md:w-80",children:[(0,a.jsx)(j.A,{className:"pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:ej,onChange:e=>ey(e.target.value),placeholder:"Search issues...",className:"h-[31px] w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-7 pr-3 text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,a.jsxs)("div",{className:"mr-1 flex items-center overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",children:[(0,a.jsx)("button",{type:"button",className:(0,_.cn)("p-1.5 transition-colors","list"===eR?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),onClick:()=>eD("list"),title:"List view",children:(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)("button",{type:"button",className:(0,_.cn)("p-1.5 transition-colors","text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),onClick:()=>eD("kanban"),title:"Board view",children:(0,a.jsx)(N,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:(0,_.cn)("inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] hover:bg-[var(--vk-bg-hover)]",rm>0?"text-[var(--vk-orange)]":"text-[var(--vk-text-muted)]"),children:[(0,a.jsx)(w,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:rm>0?`Filters: ${rm}`:"Filter"}),rm>0?(0,a.jsx)("span",{className:"text-[10px] font-medium sm:hidden",children:rm}):null,rm>0?(0,a.jsx)(C.A,{className:"hidden h-3 w-3 sm:block",onClick:e=>{e.preventDefault(),e.stopPropagation(),rs({roles:[],priorities:[],agents:[]})}}):null]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${H} w-[min(420px,calc(100vw-2rem))]`,children:(0,a.jsxs)("div",{className:"space-y-3 p-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 pt-1",children:[(0,a.jsx)("span",{className:"text-[12px] font-semibold text-[var(--vk-text-normal)]",children:"Filters"}),rm>0?(0,a.jsx)("button",{type:"button",onClick:()=>rs({roles:[],priorities:[],agents:[]}),className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:"Clear"}):null]}),(0,a.jsxs)("div",{className:"space-y-1.5 px-2",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Quick filters"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:Q.map(e=>{let t=el(eL.roles,e.roles);return(0,a.jsx)("button",{type:"button",onClick:()=>rs({roles:t?[]:[...e.roles]}),className:(0,_.cn)("rounded-full border px-2.5 py-1 text-[11px] transition-colors",t?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_18%,transparent)] text-[var(--vk-text-normal)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.label)})})]}),(0,a.jsx)("div",{className:"border-t border-[var(--vk-border)]"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 px-2 pb-2 sm:grid-cols-2",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Status"}),(0,a.jsx)("div",{className:"space-y-0.5",children:W.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rs({roles:en(eL.roles,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:T[e]}}),(0,a.jsx)("span",{className:"flex-1 truncate",children:B[e]}),eL.roles.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))})]}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Priority"}),(0,a.jsx)("div",{className:"space-y-0.5",children:V.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rs({priorities:en(eL.priorities,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"flex-1 truncate capitalize",children:e}),eL.priorities.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Assignee"}),(0,a.jsxs)("div",{className:"max-h-40 space-y-0.5 overflow-y-auto",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>rs({agents:en(eL.agents,"__unassigned")}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-dashed border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)]",children:(0,a.jsx)(f,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})}),(0,a.jsx)("span",{className:"flex-1 truncate",children:"No agent"}),eL.agents.includes("__unassigned")?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]}),rp.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rs({agents:en(eL.agents,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)($.N,{seed:{label:e},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"flex-1 truncate",children:et(e)}),eL.agents.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))]})]})]})]})]})})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Sort"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${H} min-w-[180px]`,children:[["status","Status"],["priority","Priority"],["title","Title"],["agent","Agent"]].map(([e,t])=>{let r=eL.sortField===e;return(0,a.jsxs)("button",{type:"button",onClick:()=>rs({sortField:e,sortDir:r&&"asc"===eL.sortDir?"desc":"asc"}),className:(0,_.cn)("flex w-full items-center justify-between rounded-[4px] px-3 py-2 text-[13px]",r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,a.jsx)("span",{children:t}),r?(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"asc"===eL.sortDir?"↑":"↓"}):null]},e)})})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(S.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Group"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${H} min-w-[180px]`,children:[["status","Status"],["priority","Priority"],["assignee","Assignee"],["none","None"]].map(([e,t])=>{let r=eL.groupBy===e;return(0,a.jsxs)("button",{type:"button",onClick:()=>rs({groupBy:e}),className:(0,_.cn)("flex w-full items-center justify-between rounded-[4px] px-3 py-2 text-[13px]",r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,a.jsx)("span",{children:t}),r?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e)})})})]})]})]}):(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("div",{className:"inline-flex rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[["active","Active"],["all","All"],["backlog","Backlog"],["cancelled","Cancelled"]].map(([e,t])=>(0,a.jsx)("button",{type:"button",onClick:()=>e_(e),className:(0,_.cn)("px-3 py-[5px] text-[13px]",eN===e?"rounded-[2px] bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:t},e))}),(0,a.jsxs)("button",{type:"button",onClick:()=>eD("list"),className:"inline-flex h-[31px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Switch to list view",title:"Switch to list view",children:[(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"List view"})]}),(0,a.jsxs)("div",{className:"ml-auto flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto sm:min-w-[220px] sm:flex-nowrap sm:flex-none",children:[(0,a.jsxs)("label",{className:"flex h-[31px] min-w-0 flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:min-w-[200px] sm:w-[240px] sm:flex-none",children:[(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:ej,onChange:e=>ey(e.target.value),placeholder:"Search issues...",className:"ml-2 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>rP("intake"),className:"inline-flex h-[31px] w-full items-center justify-center gap-1 rounded-[3px] bg-[var(--vk-orange)] px-3 text-[14px] text-white hover:bg-[var(--accent-hover)] sm:w-auto",children:[(0,a.jsx)("span",{children:"New Issue"}),(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})]})]})]}),(0,a.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>tJ(e=>!e),className:"inline-flex h-[38px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,a.jsx)("span",{className:"hidden sm:inline",children:"GitHub Project"}),(0,a.jsx)("span",{className:"sm:hidden",children:"GitHub"}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:K?.githubProject?.id?ew(K.githubProject):"Connect"})]}),K?.githubProject?.url?(0,a.jsxs)("a",{href:K.githubProject.url,target:"_blank",rel:"noreferrer",className:"inline-flex h-[38px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,a.jsx)("span",{children:"Open Project"}),(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"})]}):null]}),"kanban"===eR&&!rx&&(0,a.jsx)("p",{className:"pt-2 text-[12px] text-[var(--vk-text-muted)]",children:"Clear search to reorder cards."}),tH&&(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("label",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"mb-1 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Linked project"}),(0,a.jsxs)("select",{value:t0,onChange:e=>t1(e.target.value),disabled:tq||tV,className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,a.jsx)("option",{value:"",children:tq?"Loading GitHub Projects...":"Select a GitHub Project"}),(tY?.projects??[]).map(e=>(0,a.jsx)("option",{value:e.id??"",children:ew(e)},e.id??"unknown"))]})]}),(0,a.jsx)("button",{type:"button",disabled:!t0||tq||tV,onClick:()=>{rR(tY?.projects.find(e=>e.id===t0)??null)},className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tV?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Connect"}),(0,a.jsx)("button",{type:"button",disabled:!K?.githubProject?.id||tV,onClick:()=>void rR(null),className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Disconnect"}),(0,a.jsxs)("button",{type:"button",disabled:!K?.githubProject?.id||tV,onClick:()=>void rD("pull"),className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tV?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(P.A,{className:"h-4 w-4"}),"Pull"]}),(0,a.jsx)("button",{type:"button",disabled:!K?.githubProject?.id||tV,onClick:()=>void rD("push"),className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Push"})]}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsxs)("span",{children:["Repository:"," ",K?.repository?.trim()||tY?.repository?.trim()||"Not configured"]}),tY?.ownerLogin?(0,a.jsxs)("span",{children:["Owner: ",tY.ownerLogin]}):null]}),tZ&&(0,a.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:tZ}),(K?.recentWebhookDeliveries?.length??0)>0&&(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Webhook diagnostics"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(K?.recentWebhookDeliveries??[]).length})]}),(0,a.jsx)("div",{className:"space-y-2",children:(K?.recentWebhookDeliveries??[]).slice(0,6).map(e=>{var t;let r,s;return(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${"synced"===(r=e.status.trim().toLowerCase())?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"failed"===r?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}`,children:"synced"===(s=(t=e.status).trim().toLowerCase())?"Synced":"failed"===s?"Failed":"skipped"===s?"Skipped":t}),(0,a.jsxs)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:[e.event,e.action?` / ${e.action}`:""]}),(0,a.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:eC(e.timestamp)})]}),(0,a.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:e.detail}),e.repository?(0,a.jsxs)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Repo: ",e.repository]}):null]},e.id)})})]})]})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain p-3 touch-pan-y sm:p-4 sm:touch-auto",children:er?(0,a.jsxs)("div",{className:"flex h-full items-center justify-center text-[var(--vk-text-muted)]",children:[(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}),(0,a.jsx)("span",{className:"ml-2 text-[14px]",children:"Loading board..."})]}):ef?(0,a.jsx)("div",{className:"rounded-[4px] border border-[color:color-mix(in_srgb,var(--vk-red)_55%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:ef}):"kanban"===eR?(0,a.jsx)("div",{className:"flex h-full min-h-0 flex-col gap-4",children:(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain touch-pan-y sm:touch-auto",children:(0,a.jsx)("div",{className:"flex min-w-0 flex-row items-stretch gap-3 overflow-x-auto overscroll-x-contain pb-3 [-webkit-overflow-scrolling:touch] px-0.5 sm:h-full sm:gap-0 sm:overflow-x-auto sm:px-0 sm:pb-3",children:rc.map(e=>{let t=rd.find(t=>t.role===e.role),r=rx&&tB?.role===e.role?t?.tasks.findIndex(e=>e.id===tB.taskId)??-1:-1,s=Math.max((t?.tasks.length??e.tasks.length)-(r>=0),0);return(0,a.jsxs)("article",{className:(0,_.cn)("flex max-h-[min(560px,65dvh)] min-h-0 w-[min(85vw,320px)] shrink-0 flex-col border border-[var(--vk-border)] bg-[var(--vk-bg-main)] shadow-none sm:max-h-none sm:h-full sm:min-h-[560px] sm:w-[320px] sm:border-l-0 first:sm:border-l",tB&&"snap-start"),children:[(0,a.jsxs)("header",{className:"flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,a.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:T[e.role]}}),(0,a.jsx)("div",{className:"min-w-0 flex-1",children:(0,a.jsx)("p",{className:"truncate text-[14px] font-medium text-[var(--vk-text-normal)]",children:e.heading||B[e.role]})}),(0,a.jsx)("span",{className:"inline-flex h-6 min-w-[28px] items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.18)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:e.tasks.length}),(0,a.jsx)("button",{type:"button",onClick:()=>rP(e.role),className:"inline-flex h-9 w-9 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] sm:h-7 sm:w-7","aria-label":`Add task to ${e.heading}`,children:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)("div",{className:(0,_.cn)("flex-1 min-h-0 overflow-y-auto overscroll-contain px-3 pb-3 pt-2",tB?.role===e.role&&"bg-[rgba(255,255,255,0.02)]"),onDragOver:t=>rx?function(e,t){if(!tB||(e.preventDefault(),e.target!==e.currentTarget))return;let r=eP(t4.current,tB,t);tU(e=>e?.role===t&&e.index===r?e:{role:t,index:r})}(t,e.role):void 0,onDrop:t=>{t.preventDefault(),rx&&rB(e.role)},children:[rx&&tG?.role===e.role&&0===tG.index?(0,a.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,0===e.tasks.length&&(0,a.jsx)("div",{className:"rounded-[10px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"Drop a card here or create a new one."}),(0,a.jsx)("div",{className:"space-y-2",children:e.tasks.map(s=>{let n=t?.tasks.findIndex(e=>e.id===s.id)??0,l=r>=0?s.id===tB?.taskId?null:n>r?n-1:n:n;return(0,a.jsxs)("div",{children:[rx&&tG?.role===e.role&&null!==l&&tG.index===l?(0,a.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,(0,a.jsx)(eI,{task:s,role:e.role,layout:"kanban",boardRepository:K?.repository,projectSessions:m,openingContextPath:tr,onOpenContextAttachment:r$,onOpenSessionView:rl,onOpenEditor:rL,dragEnabled:rx,isDragging:tB?.taskId===s.id,onDragStart:()=>{var t,r;let a;return tz({taskId:t=s.id,role:r=e.role}),a=eP(t4.current,{taskId:t,role:r},r),void tU({role:r,index:a})},onDragOver:t=>(function(e,t,r){if(!tB)return;e.preventDefault();let a=function(e,t,r,a,s,n){let l=eS(e,r);if(!l)return 0;let i=l.tasks.findIndex(e=>e.id===a);if(i<0)return eP(e,t,r);let o=n.getBoundingClientRect(),d=i+ +("after"==(s<o.top+o.height/2?"before":"after"));if(t?.role===r){let e=l.tasks.findIndex(e=>e.id===t.taskId);e>=0&&e<d&&(d-=1)}return d}(t4.current,tB,t,r,e.clientY,e.currentTarget);tU(e=>e?.role===t&&e.index===a?e:{role:t,index:a})})(t,e.role,s.id),onDragEnd:()=>{tz(null),tU(null)}})]},`${e.role}-${s.id}`)})}),rx&&tG?.role===e.role&&tG.index===s?(0,a.jsx)("div",{className:"mt-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null]})]},e.role)})})})}):0===ru.length?(0,a.jsxs)("div",{className:"flex min-h-[280px] flex-col items-center justify-center px-6 text-center",children:[(0,a.jsx)("div",{className:"mb-4 inline-flex h-12 w-12 items-center justify-center rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]",children:(0,a.jsx)(y.A,{className:"h-5 w-5"})}),(0,a.jsx)("p",{className:"text-[14px] font-medium text-[var(--vk-text-normal)]",children:"No tasks match the current filters or search."}),(0,a.jsx)("p",{className:"mt-1 text-[13px] text-[var(--vk-text-muted)]",children:"Adjust the current view or create a new board task."}),(0,a.jsxs)("button",{type:"button",onClick:()=>rP("intake"),className:"mt-4 inline-flex h-[31px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{children:"New Issue"})]})]}):(0,a.jsx)("div",{className:"space-y-4",children:rv.map(e=>{let t=rt&&null!=e.label&&eL.collapsedGroups.includes(e.key),r="status"===eL.groupBy&&W.includes(e.key)?e.key:"intake";return(0,a.jsxs)("section",{className:"space-y-2",children:[e.label?(0,a.jsxs)("div",{className:"flex items-center py-1.5 pl-1 pr-3",children:[rt?(0,a.jsxs)("button",{type:"button",onClick:()=>rs({collapsedGroups:t?eL.collapsedGroups.filter(t=>t!==e.key):[...eL.collapsedGroups,e.key]}),className:"hidden items-center gap-1.5 sm:flex",children:[(0,a.jsx)(c.A,{className:(0,_.cn)("h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)] transition-transform",!t&&"rotate-90")}),(0,a.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-normal)]",children:e.label})]}):(0,a.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-normal)]",children:e.label}),(0,a.jsx)("button",{type:"button",onClick:()=>rP(r),className:"ml-auto inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":`Add task to ${e.label}`,children:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})})]}):null,t?null:(0,a.jsx)("div",{children:e.items.map(e=>(0,a.jsx)(eE,{entry:e,boardRepository:K?.repository,projectSessions:m,onOpenEditor:rL,onOpenSessionView:rl},`${e.role}-${e.task.id}`))})]},e.key)})})}),rS&&(0,a.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:rO,children:(0,a.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[560px] sm:rounded-[6px] sm:border",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,a.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,a.jsx)("h2",{className:"text-[18px] text-[var(--vk-text-strong)]",children:"Edit Board Task"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Move the card, update the task, and link the latest session run."})]}),(0,a.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Title"}),(0,a.jsx)("input",{value:tu,onChange:e=>tv(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Description"}),(0,a.jsx)("textarea",{value:th,onChange:e=>tb(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Column"}),(0,a.jsx)("select",{value:tm,onChange:e=>tp(Y(e.target.value)),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:K?.columns.map(e=>(0,a.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||B[e.role]},e.role))})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,a.jsx)(ep,{value:tg,options:ra,disabled:tI,onChange:tf,ariaLabel:"Select agent for task"})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Type"}),(0,a.jsx)("input",{value:tk,onChange:e=>tj(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Priority"}),(0,a.jsx)("input",{value:ty,onChange:e=>tN(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"GitHub issue id (optional)"}),(0,a.jsx)("input",{value:tw,onChange:e=>tC(e.target.value),placeholder:"123",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Notes"}),(0,a.jsx)("textarea",{value:tA,onChange:e=>tS(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),rS.task.attachments.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Attachments"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:rS.task.attachments.map(e=>(0,a.jsx)(ex,{attachment:e,opening:tr===e,onOpen:()=>void r$(e)},e))})]}),(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Comments"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:rS.task.commentCount})]}),(0,a.jsx)("div",{className:"space-y-2",children:rS.task.comments.length>0?rS.task.comments.map(e=>(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-3 py-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:e.author}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:eC(e.timestamp)})]}),(0,a.jsx)("p",{className:"pt-1 whitespace-pre-wrap text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:e.body})]},e.id)):(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No comments yet."})}),(0,a.jsxs)("label",{className:"mt-3 block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Add comment"}),(0,a.jsx)("textarea",{value:tR,onChange:e=>tD(e.target.value),rows:3,placeholder:"Share status, request input, or leave implementation notes.",className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),tF&&(0,a.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:tF}),(0,a.jsx)("div",{className:"mt-3 flex justify-end",children:(0,a.jsxs)("button",{type:"button",onClick:()=>void rT(),disabled:!tR.trim()||tL,className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tL?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(g,{className:"h-4 w-4"}),"Post comment"]})})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Primary linked run"}),(0,a.jsxs)("select",{value:tP,onChange:e=>t$(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,a.jsx)("option",{value:"",className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:"No linked session"}),rA.map(e=>(0,a.jsxs)("option",{value:e.id,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:[eh(e)," \xb7 ",e.status]},e.id))]})]}),tM&&(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:tM})]}),(0,a.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,a.jsx)("button",{type:"button",onClick:rO,disabled:tI||tL,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void rF(),disabled:!tu.trim()||tI,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tI?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Save Task"})]})]})}),eF&&(0,a.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:()=>!tl&&eT(!1),children:(0,a.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_80px_rgba(0,0,0,0.45)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[980px] sm:rounded-[10px] sm:border",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,a.jsx)("header",{className:"border-b border-[var(--vk-border)] px-4 py-4 sm:px-5",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-[20px] font-medium text-[var(--vk-text-strong)]",children:"Create Board Task"}),(0,a.jsx)("p",{className:"pt-1 text-[13px] leading-5 text-[var(--vk-text-muted)]",children:"Capture the task, route it to the right board column, and attach the notes or files the agent should treat as source of truth."})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2 text-[11px]",children:[(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Column \xb7 ",rC]}),(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Agent \xb7 ",et(eq)]}),(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:[e0.length+ts.length," ","attachment",e0.length+ts.length===1?"":"s"]})]})]})}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4 sm:px-5",children:(0,a.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1.45fr)_minmax(290px,0.95fr)]",children:[(0,a.jsx)("div",{className:"space-y-4",children:(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Task brief"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Write the task the way you want it to appear on the board and in the agent prompt."})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Title"}),(0,a.jsx)("input",{value:eG,onChange:e=>eU(e.target.value),placeholder:"Review payment flow regression",className:"h-11 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[15px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,a.jsx)("p",{className:"mt-1.5 text-[11px] text-[var(--vk-text-muted)]",children:"Keep it short and outcome-focused so the card stays scannable."})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Description"}),(0,a.jsx)("textarea",{value:eH,onChange:e=>eJ(e.target.value),rows:5,placeholder:"Investigate failing specs, confirm the root cause, and propose a safe fix.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Context notes"}),(0,a.jsx)("textarea",{value:eY,onChange:e=>eX(e.target.value),rows:4,placeholder:"Add constraints, pitfalls, or review expectations the agent should keep in mind.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]})}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Routing"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Choose where the card lands and how it should be tagged."})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Column"}),(0,a.jsx)("select",{value:eB,onChange:e=>ez(Y(e.target.value)),className:"h-10 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:rd.map(e=>(0,a.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||B[e.role]},e.role))})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Agent"}),(0,a.jsx)(ep,{value:eq,options:ra,disabled:tl,onChange:eW,ariaLabel:"Select agent for new task"})]})]}),(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Task type"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:G.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>eK(e.value),className:(0,_.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",eV===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]}),(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Priority"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:U.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>eQ(e.value),className:(0,_.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",eZ===e.value?"high"===e.value?"border-[var(--vk-red)] bg-[var(--vk-red)]/10 text-[var(--vk-text-strong)]":"medium"===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.05)] text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]})]}),(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Context"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Attach notes, screenshots, or files the agent should inspect before making changes."})]}),(0,a.jsxs)("label",{className:"inline-flex h-9 cursor-pointer items-center rounded-[6px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("input",{type:"file",multiple:!0,className:"hidden",onChange:e=>{let t=Array.from(e.target.files??[]);0!==t.length&&(tn(e=>{let r=[...e];for(let e of t)r.some(t=>t.name===e.name&&t.size===e.size&&t.lastModified===e.lastModified)||r.push(e);return r}),e.currentTarget.value="")}}),"Upload files/images"]})]}),(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[e0.length," existing file",1===e0.length?"":"s"," selected",ts.length>0?` \xb7 ${ts.length} upload${1===ts.length?"":"s"} ready`:""]}),rj.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Selected files"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:rj.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rI(e.path),className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:`Remove ${ec(e)}`,children:[(0,a.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},e.path))})]}),ts.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Pending uploads"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ts.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>{tn(t=>t.filter(t=>t.name!==e.name||t.size!==e.size||t.lastModified!==e.lastModified))},className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:"Remove upload",children:[(0,a.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},`${e.name}-${e.size}-${e.lastModified}`))})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Browse existing context"}),(0,a.jsxs)("div",{className:"flex h-9 items-center rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3",children:[(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:e3,onChange:e=>e4(e.target.value),placeholder:"Search context files...",className:"ml-2 w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,a.jsx)("div",{className:"mt-3 max-h-[320px] overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.08)]",children:e9?(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,a.jsx)("span",{children:"Loading context files..."})]}):te?(0,a.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-red)]",children:te}):0===rg.length?(0,a.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No context files found."}):(0,a.jsx)("ul",{className:"py-1",children:rf.map(e=>(0,a.jsx)(em,{node:e,depth:0,expandedFolders:rw,selectedPaths:e0,openingContextPath:tr,contextOpenLabel:t9,onToggleFolder:rE,onTogglePath:rI,onOpenPath:e=>void r$(e)},e.path))})})]})]})]})}),to&&(0,a.jsx)("div",{className:"border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:to})}),(0,a.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:[(0,a.jsx)("div",{className:"text-[12px] text-[var(--vk-text-muted)]",children:eG.trim()?"Task is ready to add to the board.":"Add a clear title to enable task creation."}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>eT(!1),disabled:tl,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void rM(),disabled:!eG.trim()||tl,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tl?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Create Task"})]})]})]})})]}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-[14px] text-[var(--vk-text-muted)]",children:"Select a workspace to view its board."})}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,403,664,816,817,916,1035,1082,1097,1131,1280,1474,1649,1652,2043,2046,2164,2170,2273,2318,2328,2503,2518,2631,2637,2938,3004,3032,3419,3464,3530,3738,3896,3925,4089,4164,4237,4275,4301,4344,4474,4627,4896,5333,5350,5368,5452,5605,5638,5936,5951,6159,6220,6281,6419,6541,6810,6819,6849,6865,6935,6946,6984,6988,7074,7398,7613,7812,7851,8080,8145,8167,8204,8301,8320,8344,8365,8503,8531,8977,9169,9183,9229,9514,9560,9726,9745,9907,9937,9957],{51680:()=>{}},_=>{_.O(0,[587,1968,7358],()=>_(_.s=51680)),_N_E=_.O()}]);