conductor-oss 0.33.2 → 0.34.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 (593) hide show
  1. package/package.json +5 -5
  2. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  3. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +5 -8
  4. package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
  5. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +21 -30
  7. package/web/.next/standalone/packages/web/.next/routes-manifest.json +0 -24
  8. package/web/.next/standalone/packages/web/.next/server/app/__clerk/[[...path]]/route.js +1 -1
  9. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page.js +3 -3
  10. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  12. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +2 -2
  20. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/api/auth/profile/route.js +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/[bridgeId]/route.js +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/route.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/app-update/route.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/repair/route.js +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/route.js +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/service-restart/route.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/claims/complete/route.js +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/code/route.js +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/route.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/api/bridges/route.js +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +1 -1
  46. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/route.js +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/sync/route.js +1 -1
  48. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/route.js +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/stream/route.js +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/interrupt/route.js +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/preferences/route.js +1 -1
  58. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/route.js +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/send/route.js +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatchers/route.js +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/open/route.js +1 -1
  62. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/route.js +1 -1
  63. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/setup/route.js +1 -1
  64. package/web/.next/standalone/packages/web/.next/server/app/api/projects/route.js +1 -1
  65. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +1 -1
  66. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +1 -1
  67. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +1 -1
  68. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +1 -1
  70. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +1 -1
  72. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +1 -1
  73. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
  74. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +1 -1
  76. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js +1 -1
  78. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js +1 -1
  79. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js +1 -1
  80. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +1 -1
  81. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/relay/route.js +1 -1
  82. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js +1 -1
  83. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js +2 -2
  84. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js +2 -2
  85. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js +1 -1
  86. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js +1 -1
  87. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +1 -1
  88. package/web/.next/standalone/packages/web/.next/server/app/api/skills/activate/route.js +1 -1
  89. package/web/.next/standalone/packages/web/.next/server/app/api/skills/catalog/route.js +1 -1
  90. package/web/.next/standalone/packages/web/.next/server/app/api/skills/deactivate/route.js +1 -1
  91. package/web/.next/standalone/packages/web/.next/server/app/api/skills/install/route.js +1 -1
  92. package/web/.next/standalone/packages/web/.next/server/app/api/skills/installed/route.js +1 -1
  93. package/web/.next/standalone/packages/web/.next/server/app/api/skills/session-active/route.js +1 -1
  94. package/web/.next/standalone/packages/web/.next/server/app/api/skills/uninstall/route.js +1 -1
  95. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +1 -1
  96. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +1 -1
  97. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +1 -1
  98. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +2 -2
  99. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  100. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  101. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js +2 -2
  102. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.sh/route.js +2 -2
  103. package/web/.next/standalone/packages/web/.next/server/app/icon.svg/route.js +1 -1
  104. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  105. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  106. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  107. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  108. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  109. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  110. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +2 -2
  111. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  112. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  113. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +2 -2
  114. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  115. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +2 -2
  117. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  118. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  119. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +2 -2
  120. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  121. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  122. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +2 -2
  123. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  124. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  125. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +5 -8
  126. package/web/.next/standalone/packages/web/.next/server/chunks/15.js +1 -0
  127. package/web/.next/standalone/packages/web/.next/server/chunks/1511.js +1 -0
  128. package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
  129. package/web/.next/standalone/packages/web/.next/server/chunks/2831.js +1 -0
  130. package/web/.next/standalone/packages/web/.next/server/chunks/3855.js +1 -1
  131. package/web/.next/standalone/packages/web/.next/server/chunks/3928.js +1 -0
  132. package/web/.next/standalone/packages/web/.next/server/chunks/5790.js +1 -0
  133. package/web/.next/standalone/packages/web/.next/server/chunks/6054.js +1 -1
  134. package/web/.next/standalone/packages/web/.next/server/chunks/7023.js +1 -1
  135. package/web/.next/standalone/packages/web/.next/server/chunks/8753.js +1 -0
  136. package/web/.next/standalone/packages/web/.next/server/chunks/8851.js +1 -1
  137. package/web/.next/standalone/packages/web/.next/server/chunks/9039.js +1 -0
  138. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  139. package/web/.next/standalone/packages/web/.next/server/chunks/9517.js +1 -1
  140. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  141. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  142. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.js +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +1 -1
  144. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  145. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  146. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  147. package/web/.next/standalone/packages/web/.next/static/chunks/1874.6d895982b7984d7f.js +1 -0
  148. package/web/.next/{static/chunks/7459.f44c3a6a4930b38d.js → standalone/packages/web/.next/static/chunks/1924.efdd3dca61561159.js} +1 -1
  149. package/web/.next/standalone/packages/web/.next/static/chunks/2308.249c5fcea725b9a9.js +1 -0
  150. package/web/.next/standalone/packages/web/.next/static/chunks/2799.d9ce5c7fa7af72b6.js +1 -0
  151. package/web/.next/standalone/packages/web/.next/static/chunks/307.364d1ff853e806b5.js +1 -0
  152. package/web/.next/standalone/packages/web/.next/static/chunks/{3838.6a6becb262496962.js → 3838.43d4c06d3215ad8a.js} +1 -1
  153. package/web/.next/standalone/packages/web/.next/static/chunks/4443.5d89ef41e31c745a.js +1 -0
  154. package/web/.next/{static/chunks/474.dd853e2db181419d.js → standalone/packages/web/.next/static/chunks/474.9e365f2edaec91ff.js} +1 -1
  155. package/web/.next/standalone/packages/web/.next/static/chunks/4997-f297bb4a54382c67.js +1 -0
  156. package/web/.next/{static/chunks/5971-87e3f8c3b526d0d9.js → standalone/packages/web/.next/static/chunks/5971-ec1429f46e2b9f42.js} +1 -1
  157. package/web/.next/standalone/packages/web/.next/static/chunks/7175.99de866f92749238.js +3 -0
  158. package/web/.next/{static/chunks/8510-9f7115b155424a12.js → standalone/packages/web/.next/static/chunks/8510-89095212fce4ab57.js} +1 -1
  159. package/web/.next/standalone/packages/web/.next/static/chunks/9123.89a3946f71e0e678.js +1 -0
  160. package/web/.next/standalone/packages/web/.next/static/chunks/9151-34e398c214c2c7df.js +1 -0
  161. package/web/.next/standalone/packages/web/.next/static/chunks/9505.340358fb294f8acb.js +1 -0
  162. package/web/.next/{static/chunks/1924.5203170f07456b51.js → standalone/packages/web/.next/static/chunks/9543.41a3da37802c1894.js} +1 -1
  163. package/web/.next/standalone/packages/web/.next/static/chunks/9739.2a985335dfd530d7.js +1 -0
  164. package/web/.next/standalone/packages/web/.next/static/chunks/{3866.a0b46c6758f00d32.js → 9847.ef13fb8d4579968a.js} +1 -1
  165. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-1626c8f3980bdc7c.js +1 -0
  166. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-1626c8f3980bdc7c.js +1 -0
  167. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-1626c8f3980bdc7c.js +1 -0
  168. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-1626c8f3980bdc7c.js +1 -0
  169. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-1626c8f3980bdc7c.js +1 -0
  170. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-1626c8f3980bdc7c.js +1 -0
  171. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-1626c8f3980bdc7c.js +1 -0
  172. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-1626c8f3980bdc7c.js +1 -0
  173. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-1626c8f3980bdc7c.js +1 -0
  174. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-1626c8f3980bdc7c.js +1 -0
  175. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-1626c8f3980bdc7c.js +1 -0
  176. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-1626c8f3980bdc7c.js +1 -0
  177. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-1626c8f3980bdc7c.js +1 -0
  178. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-1626c8f3980bdc7c.js +1 -0
  179. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-1626c8f3980bdc7c.js +1 -0
  180. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-1626c8f3980bdc7c.js +1 -0
  181. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-1626c8f3980bdc7c.js +1 -0
  182. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-1626c8f3980bdc7c.js +1 -0
  183. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-1626c8f3980bdc7c.js +1 -0
  184. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-1626c8f3980bdc7c.js +1 -0
  185. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-1626c8f3980bdc7c.js +1 -0
  186. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-1626c8f3980bdc7c.js +1 -0
  187. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-1626c8f3980bdc7c.js +1 -0
  188. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-1626c8f3980bdc7c.js +1 -0
  189. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-1626c8f3980bdc7c.js +1 -0
  190. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-1626c8f3980bdc7c.js +1 -0
  191. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-1626c8f3980bdc7c.js +1 -0
  192. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-1626c8f3980bdc7c.js +1 -0
  193. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-1626c8f3980bdc7c.js +1 -0
  194. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-1626c8f3980bdc7c.js +1 -0
  195. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-1626c8f3980bdc7c.js +1 -0
  196. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-1626c8f3980bdc7c.js +1 -0
  197. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-1626c8f3980bdc7c.js +1 -0
  198. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-1626c8f3980bdc7c.js +1 -0
  199. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-1626c8f3980bdc7c.js +1 -0
  200. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-1626c8f3980bdc7c.js +1 -0
  201. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-1626c8f3980bdc7c.js +1 -0
  202. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-1626c8f3980bdc7c.js +1 -0
  203. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-1626c8f3980bdc7c.js +1 -0
  204. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-1626c8f3980bdc7c.js +1 -0
  205. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-1626c8f3980bdc7c.js +1 -0
  206. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-1626c8f3980bdc7c.js +1 -0
  207. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-1626c8f3980bdc7c.js +1 -0
  208. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-1626c8f3980bdc7c.js +1 -0
  209. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-1626c8f3980bdc7c.js +1 -0
  210. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-1626c8f3980bdc7c.js +1 -0
  211. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-1626c8f3980bdc7c.js +1 -0
  212. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-1626c8f3980bdc7c.js +1 -0
  213. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-1626c8f3980bdc7c.js +1 -0
  214. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-1626c8f3980bdc7c.js +1 -0
  215. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-1626c8f3980bdc7c.js +1 -0
  216. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-1626c8f3980bdc7c.js +1 -0
  217. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-1626c8f3980bdc7c.js +1 -0
  218. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-1626c8f3980bdc7c.js +1 -0
  219. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-1626c8f3980bdc7c.js +1 -0
  220. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-1626c8f3980bdc7c.js +1 -0
  221. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-1626c8f3980bdc7c.js +1 -0
  222. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-1626c8f3980bdc7c.js +1 -0
  223. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-1626c8f3980bdc7c.js +1 -0
  224. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-1626c8f3980bdc7c.js +1 -0
  225. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-1626c8f3980bdc7c.js +1 -0
  226. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-1626c8f3980bdc7c.js +1 -0
  227. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-1626c8f3980bdc7c.js +1 -0
  228. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-1626c8f3980bdc7c.js +1 -0
  229. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-1626c8f3980bdc7c.js +1 -0
  230. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-1626c8f3980bdc7c.js +1 -0
  231. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-1626c8f3980bdc7c.js +1 -0
  232. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-1626c8f3980bdc7c.js +1 -0
  233. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-1626c8f3980bdc7c.js +1 -0
  234. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-1626c8f3980bdc7c.js +1 -0
  235. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-1626c8f3980bdc7c.js +1 -0
  236. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-1626c8f3980bdc7c.js +1 -0
  237. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-1626c8f3980bdc7c.js +1 -0
  238. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-1626c8f3980bdc7c.js +1 -0
  239. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-1626c8f3980bdc7c.js +1 -0
  240. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-1626c8f3980bdc7c.js +1 -0
  241. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-1626c8f3980bdc7c.js +1 -0
  242. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-1626c8f3980bdc7c.js +1 -0
  243. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-1626c8f3980bdc7c.js +1 -0
  244. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-1626c8f3980bdc7c.js +1 -0
  245. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-b90073c28ea65324.js +1 -0
  246. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-564cedc0aaab4614.js +1 -0
  247. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-97c444aff130c9a2.js +1 -0
  248. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-1626c8f3980bdc7c.js +1 -0
  249. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-1626c8f3980bdc7c.js +1 -0
  250. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-1626c8f3980bdc7c.js +1 -0
  251. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-1626c8f3980bdc7c.js +1 -0
  252. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-1626c8f3980bdc7c.js +1 -0
  253. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-8caaa6691d07e9f9.js +1 -0
  254. package/web/.next/standalone/packages/web/.next/static/css/4799d3087a9b0b07.css +1 -0
  255. package/web/.next/static/chunks/1874.6d895982b7984d7f.js +1 -0
  256. package/web/.next/{standalone/packages/web/.next/static/chunks/7459.f44c3a6a4930b38d.js → static/chunks/1924.efdd3dca61561159.js} +1 -1
  257. package/web/.next/static/chunks/2308.249c5fcea725b9a9.js +1 -0
  258. package/web/.next/static/chunks/2799.d9ce5c7fa7af72b6.js +1 -0
  259. package/web/.next/static/chunks/307.364d1ff853e806b5.js +1 -0
  260. package/web/.next/static/chunks/{3838.6a6becb262496962.js → 3838.43d4c06d3215ad8a.js} +1 -1
  261. package/web/.next/static/chunks/4443.5d89ef41e31c745a.js +1 -0
  262. package/web/.next/{standalone/packages/web/.next/static/chunks/474.dd853e2db181419d.js → static/chunks/474.9e365f2edaec91ff.js} +1 -1
  263. package/web/.next/static/chunks/4997-f297bb4a54382c67.js +1 -0
  264. package/web/.next/{standalone/packages/web/.next/static/chunks/5971-87e3f8c3b526d0d9.js → static/chunks/5971-ec1429f46e2b9f42.js} +1 -1
  265. package/web/.next/static/chunks/7175.99de866f92749238.js +3 -0
  266. package/web/.next/{standalone/packages/web/.next/static/chunks/8510-9f7115b155424a12.js → static/chunks/8510-89095212fce4ab57.js} +1 -1
  267. package/web/.next/static/chunks/9123.89a3946f71e0e678.js +1 -0
  268. package/web/.next/static/chunks/9151-34e398c214c2c7df.js +1 -0
  269. package/web/.next/static/chunks/9505.340358fb294f8acb.js +1 -0
  270. package/web/.next/{standalone/packages/web/.next/static/chunks/1924.5203170f07456b51.js → static/chunks/9543.41a3da37802c1894.js} +1 -1
  271. package/web/.next/static/chunks/9739.2a985335dfd530d7.js +1 -0
  272. package/web/.next/static/chunks/{3866.a0b46c6758f00d32.js → 9847.ef13fb8d4579968a.js} +1 -1
  273. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-1626c8f3980bdc7c.js +1 -0
  274. package/web/.next/static/chunks/app/_global-error/page-1626c8f3980bdc7c.js +1 -0
  275. package/web/.next/static/chunks/app/api/access/route-1626c8f3980bdc7c.js +1 -0
  276. package/web/.next/static/chunks/app/api/agents/route-1626c8f3980bdc7c.js +1 -0
  277. package/web/.next/static/chunks/app/api/app-update/route-1626c8f3980bdc7c.js +1 -0
  278. package/web/.next/static/chunks/app/api/attachments/route-1626c8f3980bdc7c.js +1 -0
  279. package/web/.next/static/chunks/app/api/auth/profile/route-1626c8f3980bdc7c.js +1 -0
  280. package/web/.next/static/chunks/app/api/boards/comments/route-1626c8f3980bdc7c.js +1 -0
  281. package/web/.next/static/chunks/app/api/boards/route-1626c8f3980bdc7c.js +1 -0
  282. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-1626c8f3980bdc7c.js +1 -0
  283. package/web/.next/static/chunks/app/api/bridge/bridges/route-1626c8f3980bdc7c.js +1 -0
  284. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-1626c8f3980bdc7c.js +1 -0
  285. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-1626c8f3980bdc7c.js +1 -0
  286. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-1626c8f3980bdc7c.js +1 -0
  287. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-1626c8f3980bdc7c.js +1 -0
  288. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-1626c8f3980bdc7c.js +1 -0
  289. package/web/.next/static/chunks/app/api/bridge/devices/code/route-1626c8f3980bdc7c.js +1 -0
  290. package/web/.next/static/chunks/app/api/bridge/devices/route-1626c8f3980bdc7c.js +1 -0
  291. package/web/.next/static/chunks/app/api/bridges/route-1626c8f3980bdc7c.js +1 -0
  292. package/web/.next/static/chunks/app/api/config/route-1626c8f3980bdc7c.js +1 -0
  293. package/web/.next/static/chunks/app/api/context-files/open/route-1626c8f3980bdc7c.js +1 -0
  294. package/web/.next/static/chunks/app/api/context-files/route-1626c8f3980bdc7c.js +1 -0
  295. package/web/.next/static/chunks/app/api/events/route-1626c8f3980bdc7c.js +1 -0
  296. package/web/.next/static/chunks/app/api/executor/health/route-1626c8f3980bdc7c.js +1 -0
  297. package/web/.next/static/chunks/app/api/filesystem/directory/route-1626c8f3980bdc7c.js +1 -0
  298. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-1626c8f3980bdc7c.js +1 -0
  299. package/web/.next/static/chunks/app/api/github/projects/route-1626c8f3980bdc7c.js +1 -0
  300. package/web/.next/static/chunks/app/api/github/projects/sync/route-1626c8f3980bdc7c.js +1 -0
  301. package/web/.next/static/chunks/app/api/github/repos/route-1626c8f3980bdc7c.js +1 -0
  302. package/web/.next/static/chunks/app/api/github/webhook/route-1626c8f3980bdc7c.js +1 -0
  303. package/web/.next/static/chunks/app/api/health/boards/route-1626c8f3980bdc7c.js +1 -0
  304. package/web/.next/static/chunks/app/api/health/sessions/route-1626c8f3980bdc7c.js +1 -0
  305. package/web/.next/static/chunks/app/api/notifications/route-1626c8f3980bdc7c.js +1 -0
  306. package/web/.next/static/chunks/app/api/preferences/route-1626c8f3980bdc7c.js +1 -0
  307. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-1626c8f3980bdc7c.js +1 -0
  308. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-1626c8f3980bdc7c.js +1 -0
  309. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-1626c8f3980bdc7c.js +1 -0
  310. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-1626c8f3980bdc7c.js +1 -0
  311. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-1626c8f3980bdc7c.js +1 -0
  312. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-1626c8f3980bdc7c.js +1 -0
  313. package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-1626c8f3980bdc7c.js +1 -0
  314. package/web/.next/static/chunks/app/api/projects/[id]/open/route-1626c8f3980bdc7c.js +1 -0
  315. package/web/.next/static/chunks/app/api/projects/[id]/route-1626c8f3980bdc7c.js +1 -0
  316. package/web/.next/static/chunks/app/api/projects/[id]/setup/route-1626c8f3980bdc7c.js +1 -0
  317. package/web/.next/static/chunks/app/api/projects/route-1626c8f3980bdc7c.js +1 -0
  318. package/web/.next/static/chunks/app/api/repositories/[id]/route-1626c8f3980bdc7c.js +1 -0
  319. package/web/.next/static/chunks/app/api/repositories/route-1626c8f3980bdc7c.js +1 -0
  320. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-1626c8f3980bdc7c.js +1 -0
  321. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-1626c8f3980bdc7c.js +1 -0
  322. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-1626c8f3980bdc7c.js +1 -0
  323. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-1626c8f3980bdc7c.js +1 -0
  324. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-1626c8f3980bdc7c.js +1 -0
  325. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-1626c8f3980bdc7c.js +1 -0
  326. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-1626c8f3980bdc7c.js +1 -0
  327. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-1626c8f3980bdc7c.js +1 -0
  328. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-1626c8f3980bdc7c.js +1 -0
  329. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-1626c8f3980bdc7c.js +1 -0
  330. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-1626c8f3980bdc7c.js +1 -0
  331. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-1626c8f3980bdc7c.js +1 -0
  332. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-1626c8f3980bdc7c.js +1 -0
  333. package/web/.next/static/chunks/app/api/sessions/[id]/route-1626c8f3980bdc7c.js +1 -0
  334. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-1626c8f3980bdc7c.js +1 -0
  335. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-1626c8f3980bdc7c.js +1 -0
  336. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-1626c8f3980bdc7c.js +1 -0
  337. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-1626c8f3980bdc7c.js +1 -0
  338. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-1626c8f3980bdc7c.js +1 -0
  339. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-1626c8f3980bdc7c.js +1 -0
  340. package/web/.next/static/chunks/app/api/sessions/route-1626c8f3980bdc7c.js +1 -0
  341. package/web/.next/static/chunks/app/api/skills/activate/route-1626c8f3980bdc7c.js +1 -0
  342. package/web/.next/static/chunks/app/api/skills/catalog/route-1626c8f3980bdc7c.js +1 -0
  343. package/web/.next/static/chunks/app/api/skills/deactivate/route-1626c8f3980bdc7c.js +1 -0
  344. package/web/.next/static/chunks/app/api/skills/install/route-1626c8f3980bdc7c.js +1 -0
  345. package/web/.next/static/chunks/app/api/skills/installed/route-1626c8f3980bdc7c.js +1 -0
  346. package/web/.next/static/chunks/app/api/skills/session-active/route-1626c8f3980bdc7c.js +1 -0
  347. package/web/.next/static/chunks/app/api/skills/uninstall/route-1626c8f3980bdc7c.js +1 -0
  348. package/web/.next/static/chunks/app/api/spawn/route-1626c8f3980bdc7c.js +1 -0
  349. package/web/.next/static/chunks/app/api/workspaces/branches/route-1626c8f3980bdc7c.js +1 -0
  350. package/web/.next/static/chunks/app/api/workspaces/route-1626c8f3980bdc7c.js +1 -0
  351. package/web/.next/static/chunks/app/bridge/install.ps1/route-1626c8f3980bdc7c.js +1 -0
  352. package/web/.next/static/chunks/app/bridge/install.sh/route-1626c8f3980bdc7c.js +1 -0
  353. package/web/.next/static/chunks/app/layout-b90073c28ea65324.js +1 -0
  354. package/web/.next/static/chunks/app/page-564cedc0aaab4614.js +1 -0
  355. package/web/.next/static/chunks/app/sessions/[id]/page-97c444aff130c9a2.js +1 -0
  356. package/web/.next/static/chunks/app/sign-in/hosted/page-1626c8f3980bdc7c.js +1 -0
  357. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-1626c8f3980bdc7c.js +1 -0
  358. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-1626c8f3980bdc7c.js +1 -0
  359. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-1626c8f3980bdc7c.js +1 -0
  360. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-1626c8f3980bdc7c.js +1 -0
  361. package/web/.next/static/chunks/webpack-8caaa6691d07e9f9.js +1 -0
  362. package/web/.next/static/css/4799d3087a9b0b07.css +1 -0
  363. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js +0 -1
  364. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js.nft.json +0 -1
  365. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route_client-reference-manifest.js +0 -1
  366. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js +0 -1
  367. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js.nft.json +0 -1
  368. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route_client-reference-manifest.js +0 -1
  369. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js +0 -1
  370. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js.nft.json +0 -1
  371. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route_client-reference-manifest.js +0 -1
  372. package/web/.next/standalone/packages/web/.next/server/chunks/4548.js +0 -1
  373. package/web/.next/standalone/packages/web/.next/server/chunks/58.js +0 -1
  374. package/web/.next/standalone/packages/web/.next/server/chunks/6189.js +0 -1
  375. package/web/.next/standalone/packages/web/.next/server/chunks/6225.js +0 -1
  376. package/web/.next/standalone/packages/web/.next/server/chunks/6623.js +0 -1
  377. package/web/.next/standalone/packages/web/.next/server/chunks/9088.js +0 -1
  378. package/web/.next/standalone/packages/web/.next/server/chunks/9899.js +0 -1
  379. package/web/.next/standalone/packages/web/.next/server/chunks/9943.js +0 -1
  380. package/web/.next/standalone/packages/web/.next/static/chunks/1089.181cb3da75dbe217.js +0 -1
  381. package/web/.next/standalone/packages/web/.next/static/chunks/1874.19492d60d7ab876f.js +0 -1
  382. package/web/.next/standalone/packages/web/.next/static/chunks/2179.7006531133a17754.js +0 -1
  383. package/web/.next/standalone/packages/web/.next/static/chunks/2799.6969f9e50b30762e.js +0 -1
  384. package/web/.next/standalone/packages/web/.next/static/chunks/4443.ba6c0f59ce39f2ae.js +0 -1
  385. package/web/.next/standalone/packages/web/.next/static/chunks/4997-c8708dafab6fa83a.js +0 -1
  386. package/web/.next/standalone/packages/web/.next/static/chunks/5712.8e9266f6084efb5c.js +0 -1
  387. package/web/.next/standalone/packages/web/.next/static/chunks/6447.dfbd4d74e0e5f4f3.js +0 -1
  388. package/web/.next/standalone/packages/web/.next/static/chunks/7033.5533a482d7b5d023.js +0 -3
  389. package/web/.next/standalone/packages/web/.next/static/chunks/8655.50e0ac40d3c9c518.js +0 -1
  390. package/web/.next/standalone/packages/web/.next/static/chunks/9635-3abbd3704761969a.js +0 -1
  391. package/web/.next/standalone/packages/web/.next/static/chunks/9739.30833bfc37a4646b.js +0 -1
  392. package/web/.next/standalone/packages/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-0e04a17f10f3b8a2.js +0 -1
  393. package/web/.next/standalone/packages/web/.next/static/chunks/app/_global-error/page-0e04a17f10f3b8a2.js +0 -1
  394. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/access/route-0e04a17f10f3b8a2.js +0 -1
  395. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/agents/route-0e04a17f10f3b8a2.js +0 -1
  396. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/app-update/route-0e04a17f10f3b8a2.js +0 -1
  397. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/attachments/route-0e04a17f10f3b8a2.js +0 -1
  398. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/auth/profile/route-0e04a17f10f3b8a2.js +0 -1
  399. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/comments/route-0e04a17f10f3b8a2.js +0 -1
  400. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/boards/route-0e04a17f10f3b8a2.js +0 -1
  401. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-0e04a17f10f3b8a2.js +0 -1
  402. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/bridges/route-0e04a17f10f3b8a2.js +0 -1
  403. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-0e04a17f10f3b8a2.js +0 -1
  404. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-0e04a17f10f3b8a2.js +0 -1
  405. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-0e04a17f10f3b8a2.js +0 -1
  406. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-0e04a17f10f3b8a2.js +0 -1
  407. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-0e04a17f10f3b8a2.js +0 -1
  408. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/code/route-0e04a17f10f3b8a2.js +0 -1
  409. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridge/devices/route-0e04a17f10f3b8a2.js +0 -1
  410. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/bridges/route-0e04a17f10f3b8a2.js +0 -1
  411. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/config/route-0e04a17f10f3b8a2.js +0 -1
  412. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/open/route-0e04a17f10f3b8a2.js +0 -1
  413. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/context-files/route-0e04a17f10f3b8a2.js +0 -1
  414. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/events/route-0e04a17f10f3b8a2.js +0 -1
  415. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/executor/health/route-0e04a17f10f3b8a2.js +0 -1
  416. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/directory/route-0e04a17f10f3b8a2.js +0 -1
  417. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/filesystem/pick-directory/route-0e04a17f10f3b8a2.js +0 -1
  418. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/route-0e04a17f10f3b8a2.js +0 -1
  419. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/projects/sync/route-0e04a17f10f3b8a2.js +0 -1
  420. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/repos/route-0e04a17f10f3b8a2.js +0 -1
  421. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/github/webhook/route-0e04a17f10f3b8a2.js +0 -1
  422. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/boards/route-0e04a17f10f3b8a2.js +0 -1
  423. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/health/sessions/route-0e04a17f10f3b8a2.js +0 -1
  424. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/notifications/route-0e04a17f10f3b8a2.js +0 -1
  425. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/preferences/route-0e04a17f10f3b8a2.js +0 -1
  426. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-0e04a17f10f3b8a2.js +0 -1
  427. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-0e04a17f10f3b8a2.js +0 -1
  428. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-0e04a17f10f3b8a2.js +0 -1
  429. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-0e04a17f10f3b8a2.js +0 -1
  430. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-0e04a17f10f3b8a2.js +0 -1
  431. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-0e04a17f10f3b8a2.js +0 -1
  432. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-0e04a17f10f3b8a2.js +0 -1
  433. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/open/route-0e04a17f10f3b8a2.js +0 -1
  434. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/route-0e04a17f10f3b8a2.js +0 -1
  435. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/[id]/setup/route-0e04a17f10f3b8a2.js +0 -1
  436. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/projects/route-0e04a17f10f3b8a2.js +0 -1
  437. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/[id]/route-0e04a17f10f3b8a2.js +0 -1
  438. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/repositories/route-0e04a17f10f3b8a2.js +0 -1
  439. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/actions/route-0e04a17f10f3b8a2.js +0 -1
  440. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/archive/route-0e04a17f10f3b8a2.js +0 -1
  441. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/checks/route-0e04a17f10f3b8a2.js +0 -1
  442. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/diff/route-0e04a17f10f3b8a2.js +0 -1
  443. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feed/route-0e04a17f10f3b8a2.js +0 -1
  444. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-0e04a17f10f3b8a2.js +0 -1
  445. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/files/route-0e04a17f10f3b8a2.js +0 -1
  446. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-0e04a17f10f3b8a2.js +0 -1
  447. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/keys/route-0e04a17f10f3b8a2.js +0 -1
  448. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/kill/route-0e04a17f10f3b8a2.js +0 -1
  449. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/route-0e04a17f10f3b8a2.js +0 -1
  450. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-0e04a17f10f3b8a2.js +0 -1
  451. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-0e04a17f10f3b8a2.js +0 -1
  452. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/route-0e04a17f10f3b8a2.js +0 -1
  453. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-0e04a17f10f3b8a2.js +0 -1
  454. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/restore/route-0e04a17f10f3b8a2.js +0 -1
  455. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/route-0e04a17f10f3b8a2.js +0 -1
  456. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-0e04a17f10f3b8a2.js +0 -1
  457. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-0e04a17f10f3b8a2.js +0 -1
  458. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-0e04a17f10f3b8a2.js +0 -1
  459. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-0e04a17f10f3b8a2.js +0 -1
  460. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-0e04a17f10f3b8a2.js +0 -1
  461. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-0e04a17f10f3b8a2.js +0 -1
  462. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/sessions/route-0e04a17f10f3b8a2.js +0 -1
  463. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/activate/route-0e04a17f10f3b8a2.js +0 -1
  464. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/catalog/route-0e04a17f10f3b8a2.js +0 -1
  465. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/deactivate/route-0e04a17f10f3b8a2.js +0 -1
  466. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/install/route-0e04a17f10f3b8a2.js +0 -1
  467. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/installed/route-0e04a17f10f3b8a2.js +0 -1
  468. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/session-active/route-0e04a17f10f3b8a2.js +0 -1
  469. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/skills/uninstall/route-0e04a17f10f3b8a2.js +0 -1
  470. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/spawn/route-0e04a17f10f3b8a2.js +0 -1
  471. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/branches/route-0e04a17f10f3b8a2.js +0 -1
  472. package/web/.next/standalone/packages/web/.next/static/chunks/app/api/workspaces/route-0e04a17f10f3b8a2.js +0 -1
  473. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.ps1/route-0e04a17f10f3b8a2.js +0 -1
  474. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/install.sh/route-0e04a17f10f3b8a2.js +0 -1
  475. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-e8d07d02832a7a6d.js +0 -1
  476. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-86a0d8262357ef03.js +0 -1
  477. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-e6ee682bcd6420d9.js +0 -1
  478. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/hosted/page-0e04a17f10f3b8a2.js +0 -1
  479. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/app-error-0e04a17f10f3b8a2.js +0 -1
  480. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-0e04a17f10f3b8a2.js +0 -1
  481. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/not-found-0e04a17f10f3b8a2.js +0 -1
  482. package/web/.next/standalone/packages/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-0e04a17f10f3b8a2.js +0 -1
  483. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-33c0f4bb0776b0da.js +0 -1
  484. package/web/.next/standalone/packages/web/.next/static/css/6cdad7f7ed64598c.css +0 -1
  485. package/web/.next/static/chunks/1089.181cb3da75dbe217.js +0 -1
  486. package/web/.next/static/chunks/1874.19492d60d7ab876f.js +0 -1
  487. package/web/.next/static/chunks/2179.7006531133a17754.js +0 -1
  488. package/web/.next/static/chunks/2799.6969f9e50b30762e.js +0 -1
  489. package/web/.next/static/chunks/4443.ba6c0f59ce39f2ae.js +0 -1
  490. package/web/.next/static/chunks/4997-c8708dafab6fa83a.js +0 -1
  491. package/web/.next/static/chunks/5712.8e9266f6084efb5c.js +0 -1
  492. package/web/.next/static/chunks/6447.dfbd4d74e0e5f4f3.js +0 -1
  493. package/web/.next/static/chunks/7033.5533a482d7b5d023.js +0 -3
  494. package/web/.next/static/chunks/8655.50e0ac40d3c9c518.js +0 -1
  495. package/web/.next/static/chunks/9635-3abbd3704761969a.js +0 -1
  496. package/web/.next/static/chunks/9739.30833bfc37a4646b.js +0 -1
  497. package/web/.next/static/chunks/app/%5F%5Fclerk/[[...path]]/route-0e04a17f10f3b8a2.js +0 -1
  498. package/web/.next/static/chunks/app/_global-error/page-0e04a17f10f3b8a2.js +0 -1
  499. package/web/.next/static/chunks/app/api/access/route-0e04a17f10f3b8a2.js +0 -1
  500. package/web/.next/static/chunks/app/api/agents/route-0e04a17f10f3b8a2.js +0 -1
  501. package/web/.next/static/chunks/app/api/app-update/route-0e04a17f10f3b8a2.js +0 -1
  502. package/web/.next/static/chunks/app/api/attachments/route-0e04a17f10f3b8a2.js +0 -1
  503. package/web/.next/static/chunks/app/api/auth/profile/route-0e04a17f10f3b8a2.js +0 -1
  504. package/web/.next/static/chunks/app/api/boards/comments/route-0e04a17f10f3b8a2.js +0 -1
  505. package/web/.next/static/chunks/app/api/boards/route-0e04a17f10f3b8a2.js +0 -1
  506. package/web/.next/static/chunks/app/api/bridge/bridges/[bridgeId]/route-0e04a17f10f3b8a2.js +0 -1
  507. package/web/.next/static/chunks/app/api/bridge/bridges/route-0e04a17f10f3b8a2.js +0 -1
  508. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/app-update/route-0e04a17f10f3b8a2.js +0 -1
  509. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/repair/route-0e04a17f10f3b8a2.js +0 -1
  510. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/route-0e04a17f10f3b8a2.js +0 -1
  511. package/web/.next/static/chunks/app/api/bridge/devices/[deviceId]/service-restart/route-0e04a17f10f3b8a2.js +0 -1
  512. package/web/.next/static/chunks/app/api/bridge/devices/claims/complete/route-0e04a17f10f3b8a2.js +0 -1
  513. package/web/.next/static/chunks/app/api/bridge/devices/code/route-0e04a17f10f3b8a2.js +0 -1
  514. package/web/.next/static/chunks/app/api/bridge/devices/route-0e04a17f10f3b8a2.js +0 -1
  515. package/web/.next/static/chunks/app/api/bridges/route-0e04a17f10f3b8a2.js +0 -1
  516. package/web/.next/static/chunks/app/api/config/route-0e04a17f10f3b8a2.js +0 -1
  517. package/web/.next/static/chunks/app/api/context-files/open/route-0e04a17f10f3b8a2.js +0 -1
  518. package/web/.next/static/chunks/app/api/context-files/route-0e04a17f10f3b8a2.js +0 -1
  519. package/web/.next/static/chunks/app/api/events/route-0e04a17f10f3b8a2.js +0 -1
  520. package/web/.next/static/chunks/app/api/executor/health/route-0e04a17f10f3b8a2.js +0 -1
  521. package/web/.next/static/chunks/app/api/filesystem/directory/route-0e04a17f10f3b8a2.js +0 -1
  522. package/web/.next/static/chunks/app/api/filesystem/pick-directory/route-0e04a17f10f3b8a2.js +0 -1
  523. package/web/.next/static/chunks/app/api/github/projects/route-0e04a17f10f3b8a2.js +0 -1
  524. package/web/.next/static/chunks/app/api/github/projects/sync/route-0e04a17f10f3b8a2.js +0 -1
  525. package/web/.next/static/chunks/app/api/github/repos/route-0e04a17f10f3b8a2.js +0 -1
  526. package/web/.next/static/chunks/app/api/github/webhook/route-0e04a17f10f3b8a2.js +0 -1
  527. package/web/.next/static/chunks/app/api/health/boards/route-0e04a17f10f3b8a2.js +0 -1
  528. package/web/.next/static/chunks/app/api/health/sessions/route-0e04a17f10f3b8a2.js +0 -1
  529. package/web/.next/static/chunks/app/api/notifications/route-0e04a17f10f3b8a2.js +0 -1
  530. package/web/.next/static/chunks/app/api/preferences/route-0e04a17f10f3b8a2.js +0 -1
  531. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/route-0e04a17f10f3b8a2.js +0 -1
  532. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/feed/stream/route-0e04a17f10f3b8a2.js +0 -1
  533. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/interrupt/route-0e04a17f10f3b8a2.js +0 -1
  534. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/preferences/route-0e04a17f10f3b8a2.js +0 -1
  535. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/route-0e04a17f10f3b8a2.js +0 -1
  536. package/web/.next/static/chunks/app/api/projects/[id]/dispatcher/send/route-0e04a17f10f3b8a2.js +0 -1
  537. package/web/.next/static/chunks/app/api/projects/[id]/dispatchers/route-0e04a17f10f3b8a2.js +0 -1
  538. package/web/.next/static/chunks/app/api/projects/[id]/open/route-0e04a17f10f3b8a2.js +0 -1
  539. package/web/.next/static/chunks/app/api/projects/[id]/route-0e04a17f10f3b8a2.js +0 -1
  540. package/web/.next/static/chunks/app/api/projects/[id]/setup/route-0e04a17f10f3b8a2.js +0 -1
  541. package/web/.next/static/chunks/app/api/projects/route-0e04a17f10f3b8a2.js +0 -1
  542. package/web/.next/static/chunks/app/api/repositories/[id]/route-0e04a17f10f3b8a2.js +0 -1
  543. package/web/.next/static/chunks/app/api/repositories/route-0e04a17f10f3b8a2.js +0 -1
  544. package/web/.next/static/chunks/app/api/sessions/[id]/actions/route-0e04a17f10f3b8a2.js +0 -1
  545. package/web/.next/static/chunks/app/api/sessions/[id]/archive/route-0e04a17f10f3b8a2.js +0 -1
  546. package/web/.next/static/chunks/app/api/sessions/[id]/checks/route-0e04a17f10f3b8a2.js +0 -1
  547. package/web/.next/static/chunks/app/api/sessions/[id]/diff/route-0e04a17f10f3b8a2.js +0 -1
  548. package/web/.next/static/chunks/app/api/sessions/[id]/feed/route-0e04a17f10f3b8a2.js +0 -1
  549. package/web/.next/static/chunks/app/api/sessions/[id]/feedback/route-0e04a17f10f3b8a2.js +0 -1
  550. package/web/.next/static/chunks/app/api/sessions/[id]/files/route-0e04a17f10f3b8a2.js +0 -1
  551. package/web/.next/static/chunks/app/api/sessions/[id]/interrupt/route-0e04a17f10f3b8a2.js +0 -1
  552. package/web/.next/static/chunks/app/api/sessions/[id]/keys/route-0e04a17f10f3b8a2.js +0 -1
  553. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-0e04a17f10f3b8a2.js +0 -1
  554. package/web/.next/static/chunks/app/api/sessions/[id]/output/route-0e04a17f10f3b8a2.js +0 -1
  555. package/web/.next/static/chunks/app/api/sessions/[id]/output/stream/route-0e04a17f10f3b8a2.js +0 -1
  556. package/web/.next/static/chunks/app/api/sessions/[id]/preview/dom/route-0e04a17f10f3b8a2.js +0 -1
  557. package/web/.next/static/chunks/app/api/sessions/[id]/preview/route-0e04a17f10f3b8a2.js +0 -1
  558. package/web/.next/static/chunks/app/api/sessions/[id]/preview/screenshot/route-0e04a17f10f3b8a2.js +0 -1
  559. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-0e04a17f10f3b8a2.js +0 -1
  560. package/web/.next/static/chunks/app/api/sessions/[id]/route-0e04a17f10f3b8a2.js +0 -1
  561. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/relay/route-0e04a17f10f3b8a2.js +0 -1
  562. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/snapshot/route-0e04a17f10f3b8a2.js +0 -1
  563. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/token/route-0e04a17f10f3b8a2.js +0 -1
  564. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/route-0e04a17f10f3b8a2.js +0 -1
  565. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/token/route-0e04a17f10f3b8a2.js +0 -1
  566. package/web/.next/static/chunks/app/api/sessions/[id]/terminal/ttyd/ws/route-0e04a17f10f3b8a2.js +0 -1
  567. package/web/.next/static/chunks/app/api/sessions/route-0e04a17f10f3b8a2.js +0 -1
  568. package/web/.next/static/chunks/app/api/skills/activate/route-0e04a17f10f3b8a2.js +0 -1
  569. package/web/.next/static/chunks/app/api/skills/catalog/route-0e04a17f10f3b8a2.js +0 -1
  570. package/web/.next/static/chunks/app/api/skills/deactivate/route-0e04a17f10f3b8a2.js +0 -1
  571. package/web/.next/static/chunks/app/api/skills/install/route-0e04a17f10f3b8a2.js +0 -1
  572. package/web/.next/static/chunks/app/api/skills/installed/route-0e04a17f10f3b8a2.js +0 -1
  573. package/web/.next/static/chunks/app/api/skills/session-active/route-0e04a17f10f3b8a2.js +0 -1
  574. package/web/.next/static/chunks/app/api/skills/uninstall/route-0e04a17f10f3b8a2.js +0 -1
  575. package/web/.next/static/chunks/app/api/spawn/route-0e04a17f10f3b8a2.js +0 -1
  576. package/web/.next/static/chunks/app/api/workspaces/branches/route-0e04a17f10f3b8a2.js +0 -1
  577. package/web/.next/static/chunks/app/api/workspaces/route-0e04a17f10f3b8a2.js +0 -1
  578. package/web/.next/static/chunks/app/bridge/install.ps1/route-0e04a17f10f3b8a2.js +0 -1
  579. package/web/.next/static/chunks/app/bridge/install.sh/route-0e04a17f10f3b8a2.js +0 -1
  580. package/web/.next/static/chunks/app/layout-e8d07d02832a7a6d.js +0 -1
  581. package/web/.next/static/chunks/app/page-86a0d8262357ef03.js +0 -1
  582. package/web/.next/static/chunks/app/sessions/[id]/page-e6ee682bcd6420d9.js +0 -1
  583. package/web/.next/static/chunks/app/sign-in/hosted/page-0e04a17f10f3b8a2.js +0 -1
  584. package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-0e04a17f10f3b8a2.js +0 -1
  585. package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-0e04a17f10f3b8a2.js +0 -1
  586. package/web/.next/static/chunks/next/dist/client/components/builtin/not-found-0e04a17f10f3b8a2.js +0 -1
  587. package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-0e04a17f10f3b8a2.js +0 -1
  588. package/web/.next/static/chunks/webpack-33c0f4bb0776b0da.js +0 -1
  589. package/web/.next/static/css/6cdad7f7ed64598c.css +0 -1
  590. /package/web/.next/standalone/packages/web/.next/static/{ctyVZJn1Vj7UZ4IOigOmx → B6Gw40KBBzSgaMAVKUedt}/_buildManifest.js +0 -0
  591. /package/web/.next/standalone/packages/web/.next/static/{ctyVZJn1Vj7UZ4IOigOmx → B6Gw40KBBzSgaMAVKUedt}/_ssgManifest.js +0 -0
  592. /package/web/.next/static/{ctyVZJn1Vj7UZ4IOigOmx → B6Gw40KBBzSgaMAVKUedt}/_buildManifest.js +0 -0
  593. /package/web/.next/static/{ctyVZJn1Vj7UZ4IOigOmx → B6Gw40KBBzSgaMAVKUedt}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";exports.id=58,exports.ids=[58],exports.modules={5829:(a,b,c)=>{c.d(b,{V:()=>g});var d=c(92692),e=c(71277);let f=(0,c(37303).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),g=(0,e.memo)(function({title:a,onOpenPreferences:b,rightContent:c}){return(0,d.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,d.jsx)("div",{className:"min-w-0 flex-1 text-left sm:text-center",children:(0,d.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-muted)]",children:a??"All Projects"})}),c?(0,d.jsx)("div",{className:"ml-1 flex shrink-0 items-center gap-1.5",children:c}):null,b?(0,d.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,d.jsx)("button",{type:"button",onClick:b,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,d.jsx)(f,{className:"h-4 w-4"})})}):null]})})},12999:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(71277),e=c(46818);function f(a,b){return{id:a,repo:"string"==typeof b?.repo?b.repo:null,path:"string"==typeof b?.path?b.path:null,iconUrl:"string"==typeof b?.iconUrl?b.iconUrl:null,boardDir:"string"==typeof b?.boardDir?b.boardDir:null,boardFile:"string"==typeof b?.boardFile?b.boardFile:null,description:"string"==typeof b?.description?b.description:null,defaultBranch:"string"==typeof b?.defaultBranch&&b.defaultBranch.trim().length>0?b.defaultBranch:"main",agent:"string"==typeof b?.agent&&b.agent.trim().length>0?b.agent:"claude-code",agentPermissions:"string"==typeof b?.agentPermissions&&b.agentPermissions.trim().length>0?b.agentPermissions:null,agentModel:"string"==typeof b?.agentModel&&b.agentModel.trim().length>0?b.agentModel:null,agentReasoningEffort:"string"==typeof b?.agentReasoningEffort&&b.agentReasoningEffort.trim().length>0?b.agentReasoningEffort:null}}function g(a,b){let c=b?.enabled??!0,[g,h]=(0,d.useState)([]),[i,j]=(0,d.useState)(c),[k,l]=(0,d.useState)(null),m=(0,d.useCallback)(async()=>{if(!c){h([]),l(null),j(!1);return}j(!0);try{let b=await fetch((0,e.S)("/api/config",a)),c=await b.json().catch(()=>null);if(!b.ok){let a="object"==typeof c&&null!==c?c.error??c.reason:null;throw Error(a??`Failed to fetch config: ${b.status}`)}h(function(a){if(!a||"object"!=typeof a)return[];let b=a.projects;return b?Array.isArray(b)?b.map((a,b)=>a&&"object"==typeof a?f("string"==typeof a.id&&a.id.trim().length>0?a.id:`project-${b+1}`,a):f(`project-${b+1}`,null)):"object"==typeof b?Object.entries(b).map(([a,b])=>f(a,b&&"object"==typeof b?b:null)):[]:[]}(c)),l(null)}catch(a){h([]),l(a instanceof Error?a.message:"Failed to fetch config")}finally{j(!1)}},[a,c]);return{projects:g,loading:!!c&&i,error:c?k:null,refresh:m}}},17024:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},29942:(a,b,c)=>{function d(a){return a?.metadata.sessionKind==="project_dispatcher"}function e(a){return"chat"}c.d(b,{Zu:()=>d,tK:()=>e})},33857:(a,b,c)=>{c.d(b,{w:()=>e});var d=c(40788);function e(a,b=null,c){return(0,d.DA)(a,b,c)}},40788:(a,b,c)=>{c.d(b,{DA:()=>n,eI:()=>m});var d=c(71277),e=c(46818),f=c(19954);c(98030);let g=new Map,h=new Map,i=new Map;function j(a){return(0,f.C0)(a)??"local"}function k(a){let b=g.get(a);return b||(b={sessionsById:new Map,orderedIds:[],version:0,loading:!0,error:null,listInitialized:!1,refreshPromise:null,unsubscribeSnapshots:null,activeConsumers:0,pollTimer:null,focusHandler:null,visibilityHandler:null},g.set(a,b)),b}async function l(a,b){let c=k(a);if(c.refreshPromise)return void await c.refreshPromise;let d=(async()=>{let d=new Set(c.sessionsById.keys());try{var f,g;let h,i=await fetch((0,e.S)("/api/sessions",b),{cache:"no-store"});if(!i.ok){let a=await i.json().catch(()=>null);throw Error(a?.error??a?.reason??`Failed to fetch sessions: ${i.status}`)}let j=(f=await i.json().catch(()=>null),Array.isArray(f)?f:Array.isArray(f?.sessions)?f.sessions:[]);for(let a of j)d.add(a.id);let l=new Map(j.map(a=>[a.id,a]));g=[...l.values()].sort((a,b)=>b.createdAt.localeCompare(a.createdAt)).map(a=>a.id),(h=k(a)).sessionsById=l,h.orderedIds=g,h.version+=1,c.error=null}catch(a){c.error=a instanceof Error?a.message:"Failed to fetch sessions"}finally{let b;for(let d of(c.loading=!1,(b=h.get(a))||(b=new Set,h.set(a,b)),b))d();let e=i.get(a);if(e)for(let a of new Set(d)){let b=e.get(a);if(b)for(let a of b)a()}}})();c.refreshPromise=d.finally(()=>{c.refreshPromise===d&&(c.refreshPromise=null)}),await d}function m(a,b){let c=b?.enabled??!0,e=j(b?.bridgeId),f=k(e),[,g]=(0,d.useReducer)(a=>a+1,0),[h,i]=(0,d.useState)(!1);return{sessions:(0,d.useMemo)(()=>{let b,d;return c&&h?(b=k(e),d=a?.trim(),b.orderedIds.map(a=>b.sessionsById.get(a)).filter(a=>!!a).filter(a=>!d||a.projectId===d)):[]},[c,h,a,e,f.version]),loading:!!c&&(!h||f.loading),error:c?f.error:null,refresh:()=>l(e,b?.bridgeId)}}function n(a,b=null,c){let e=c?.enabled??!0,g="string"==typeof a&&a.trim().length>0?a.trim():null,h=k(j((0,f.C0)(c?.bridgeId??b?.bridgeId??(0,f.DW)(g)?.bridgeId??null))),[,i]=(0,d.useReducer)(a=>a+1,0),[l,m]=(0,d.useState)(!1),[o,p]=(0,d.useState)(b),[q,r]=(0,d.useState)(null),[s,t]=(0,d.useState)(e&&null!==g&&null===b);return{session:g?l?h.sessionsById.get(g)??o??b??null:b??null:null,loading:s,error:e&&g?q??h.error:null}}},44462:(a,b,c)=>{c.d(b,{N:()=>k});var d=c(92692),e=c(71277);let f=new Map;for(let[a,b]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 c of b)f.set(g(c),a);function g(a){return a.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/_+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function h(a){let b=g(a);if(!b)return null;let c=f.get(b);if(c)return c;for(let a of b.split("-")){let b=f.get(a);if(b)return b}for(let[a,c]of f.entries())if(b===a||b.startsWith(`${a}-`)||b.endsWith(`-${a}`)||b.includes(`-${a}-`))return c;return null}function i(a){try{let b=new URL(a),c=h(b.hostname.replace(/^www\./,"").replace(/\./g,"-"));if(c)return c;return h(b.pathname.replace(/\//g,"-"))}catch{return h(a)}}function j({label:a,className:b}){let c=a.split(/[^a-z0-9]/iu).filter(Boolean).slice(0,2).map(a=>a[0]?.toUpperCase()).join("");return(0,d.jsx)("span",{"aria-hidden":"true",className:`inline-flex shrink-0 items-center justify-center rounded-[0.2rem] text-[9px] font-semibold text-white ${b}`,style:{backgroundColor:function(a){let b=["#14b8a6","#06b6d4","#0ea5e9","#8b5cf6","#ec4899","#f97316","#f59e0b","#ef4444","#22c55e","#84cc16"],c=0;for(let d=0;d<a.length;d+=1)c=(31*c+a.charCodeAt(d))%b.length;return b[Math.abs(c)%b.length]??"#6b7280"}(`${a}:${a.length}`)},children:c||"AI"})}function k({seed:a,className:b="h-6 w-6"}){let[c,f]=(0,e.useState)(0),g=a?.label?.trim()??"",l=(0,e.useMemo)(()=>{var b;if(!g)return[];let c=h((b={label:g,iconUrl:a?.iconUrl,homepage:a?.homepage}).label)??(b.homepage?i(b.homepage):null)??(b.iconUrl?i(b.iconUrl):null),d="string"==typeof a?.iconUrl&&a.iconUrl.trim().length>0?a.iconUrl.trim():null,e=[];return c&&(e.push(`/agents/${c}-dark.svg`),e.push(`/agents/${c}-light.svg`)),d&&e.push(d),e},[g,a?.homepage,a?.iconUrl]);if(!g)return(0,d.jsx)(j,{label:"AI",className:b});let m=l[c]??null;return m?(0,d.jsx)("img",{src:m,alt:`${g} icon`,loading:"lazy",className:`${b} shrink-0 rounded-[0.2rem] object-contain scale-125`,onError:()=>f(a=>a+1)}):(0,d.jsx)(j,{label:g,className:b})}},48055:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]])},49373:(a,b,c)=>{c.d(b,{Q:()=>f});var d=c(71277);c(46818);var e=c(78126);function f({enabled:a,projectId:b,preferences:c,bridgeId:g}){(0,d.useRef)(c?.soundEnabled!==!1),(0,d.useRef)((0,e.ww)(c?.soundFile)),(0,d.useRef)(new Set),(0,d.useRef)(null),(0,d.useRef)(!1),(0,d.useRef)(null),(0,d.useRef)(null),(0,d.useRef)(null)}},49549:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},51430:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},53092:(a,b,c)=>{c.d(b,{DZ:()=>s,O$:()=>q,Tk:()=>o,Zp:()=>l,Zz:()=>m,d8:()=>p,u6:()=>r,yM:()=>n}),[...new Set(["killed","terminated","done","cleanup","errored","merged"])];let d=["amp","claude-code","codex","cursor-cli","droid","gemini","github-copilot","opencode","qwen-code","ccr"],e={amp:"default",claudeCode:"pro",codex:"chatgpt",cursorCli:"default",droid:"default",gemini:"oauth",githubCopilot:"default",opencode:"default",qwenCode:"oauth",ccr:"default"},f={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."}]}},g=[{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."}],h=[...g,{id:"xhigh",label:"Extra High",description:"Maximum reasoning depth for the hardest tasks."}];function i(a,b,c,d=function(a){return a.trim().split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":a[0]?.toUpperCase()+a.slice(1)).join(" ")}(a)){return{id:a,label:d,description:b,access:c}}let j={amp:{modelsByAccess:{default:[i("free","Amp Free mode prioritizes lower-cost execution.",["default"],"Amp Free"),i("rush","Amp Rush mode prioritizes faster turnaround.",["default"],"Amp Rush"),i("smart","Amp Smart mode balances quality, speed, and tool choice.",["default"],"Amp Smart"),i("deep","Amp Deep mode enables the highest-capability reasoning path.",["default"],"Amp Deep")]},defaultModelByAccess:{default:"smart"}},"claude-code":{modelsByAccess:{pro:[i("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),i("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")],max:[i("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),i("claude-opus-4-6","Highest-capability Claude Code model for deeper reasoning.",["max","api"],"Claude Opus 4.6"),i("claude-haiku-4-5","Fast Claude model for lightweight tasks.",["pro","max","api"],"Claude Haiku 4.5")],api:[i("claude-sonnet-4-6","Balanced Claude Code model for day-to-day coding tasks.",["pro","max","api"],"Claude Sonnet 4.6"),i("claude-opus-4-6","Highest-capability Claude Code model for deeper reasoning.",["max","api"],"Claude Opus 4.6"),i("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:g,max:g,api:g},defaultReasoningByAccess:{pro:"medium",max:"high",api:"medium"}},codex:{modelsByAccess:{chatgpt:[i("gpt-5.4","Latest frontier coding model exposed by Codex.",["chatgpt","api"],"GPT-5.4"),i("gpt-5.4-mini","Smaller GPT-5.4 variant for faster or lower-cost coding tasks.",["chatgpt","api"],"GPT-5.4-Mini"),i("gpt-5.3-codex","Balanced Codex coding model.",["chatgpt","api"],"GPT-5.3-Codex"),i("gpt-5.3-codex-spark","Fast Codex model optimized for rapid iteration.",["chatgpt"],"GPT-5.3-Codex-Spark"),i("gpt-5.2-codex","Previous generation Codex coding model.",["chatgpt","api"],"GPT-5.2-Codex"),i("gpt-5.2","Previous frontier model for professional work with configurable reasoning effort.",["chatgpt","api"],"GPT-5.2"),i("gpt-5.1-codex-max","High-capability legacy Codex model.",["chatgpt","api"],"GPT-5.1-Codex-Max"),i("gpt-5.1-codex-mini","Smaller Codex model for quick tasks.",["chatgpt","api"],"GPT-5.1-Codex-Mini")],api:[i("gpt-5.4","Latest frontier coding model exposed by Codex.",["chatgpt","api"],"GPT-5.4"),i("gpt-5.4-mini","Smaller GPT-5.4 variant for faster or lower-cost coding tasks.",["chatgpt","api"],"GPT-5.4-Mini"),i("gpt-5.3-codex","Balanced Codex coding model.",["chatgpt","api"],"GPT-5.3-Codex"),i("gpt-5.2-codex","Previous generation Codex coding model.",["chatgpt","api"],"GPT-5.2-Codex"),i("gpt-5.2","Previous frontier model for professional work with configurable reasoning effort.",["chatgpt","api"],"GPT-5.2"),i("gpt-5.1-codex-max","High-capability legacy Codex model.",["chatgpt","api"],"GPT-5.1-Codex-Max"),i("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:h,api:h},defaultReasoningByAccess:{chatgpt:"high",api:"high"}},"cursor-cli":{modelsByAccess:{default:[i("gpt-5","Cursor Agent's GPT-5 preset alias.",["default"],"GPT-5"),i("sonnet-4","Cursor Agent's Sonnet preset alias.",["default"],"Sonnet 4"),i("opus","Cursor Agent's Opus preset alias.",["default"],"Opus")]},defaultModelByAccess:{default:"gpt-5"}},droid:{modelsByAccess:{default:[]},defaultModelByAccess:{}},gemini:{modelsByAccess:{oauth:[i("gemini-3.1-pro-preview","High-capability Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3.1 Pro Preview"),i("gemini-3-flash-preview","Fast Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3 Flash Preview")],api:[i("gemini-3.1-pro-preview","High-capability Gemini model discovered in local Gemini sessions.",["oauth","api"],"Gemini 3.1 Pro Preview"),i("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:[i("coder-model","Model discovered in the local Qwen Code installation.",["oauth","api"],"Coder Model")],api:[i("coder-model","Model discovered in the local Qwen Code installation.",["oauth","api"],"Coder Model")]},defaultModelByAccess:{oauth:"coder-model",api:"coder-model"}},ccr:{modelsByAccess:{default:[i("claude-sonnet-4-6","Balanced Claude model exposed through Claude Code Router.",["default"],"Claude Sonnet 4.6"),i("claude-opus-4-6","Highest-capability Claude model exposed through Claude Code Router.",["default"],"Claude Opus 4.6"),i("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:g},defaultReasoningByAccess:{default:"medium"}}};function k(a){let b=a.trim().toLowerCase().replace(/[_\s]+/g,"-");return d.includes(b)?b:null}function l(){return{...e}}function m(a){return null!==k(a)}function n(a){let b=k(a);return b?f[b]:null}function o(a,b){let c=n(a);if(!c)return null;let d=b?.[c.accessKey];return"string"==typeof d&&c.accessOptions.some(a=>a.id===d)?d:c.defaultAccess}function p(a,b){let c=k(a);if(!c)return[];let d=o(c,b);if(!d)return[];let e=j[c],f=e.modelsByAccess[d]??[];if(f.length>0)return[...f];let g=[],h=new Set;for(let a of Object.values(e.modelsByAccess))if(Array.isArray(a))for(let b of a)h.has(b.id)||(h.add(b.id),g.push(b));return g}function q(a,b){let c=k(a);if(!c)return null;let d=o(c,b);return d?j[c].defaultModelByAccess[d]??null:null}function r(a,b){let c=k(a);if(!c)return[];let d=o(c,b);return d?j[c].reasoningOptionsByAccess?.[d]??[]:[]}function s(a,b){let c=k(a);if(!c)return null;let d=o(c,b);return d?j[c].defaultReasoningByAccess?.[d]??null:null}},68894:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(71277);function e(a){let[b,c]=(0,d.useState)(!1),[e,f]=(0,d.useState)(a?.initialDesktopOpen??!0),g=(0,d.useCallback)(()=>{c(a=>!a)},[]);return{mobileSidebarOpen:b,desktopSidebarOpen:e,toggleSidebar:g,closeSidebarOnMobile:(0,d.useCallback)(()=>{c(!1)},[]),syncSidebarForViewport:(0,d.useCallback)(()=>{c(!1)},[])}}},77768:(a,b,c)=>{c.d(b,{t:()=>e});var d=c(40788);function e(a,b){return(0,d.eI)(a,b)}},78126:(a,b,c)=>{c.d(b,{$E:()=>i,ww:()=>g,zu:()=>h});let d="abstract-sound-4",e={"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}]}};function f(a){let b=a?.trim();return b&&b in e?b:d}function g(a){return f(a)}async function h(){return!1}async function i(a,b){let c=f(a),d=e[c];return!!("phone-vibration"===c&&d.vibrate&&"u">typeof navigator)&&"function"==typeof navigator.vibrate&&navigator.vibrate(d.vibrate)}},78724:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},80143:(a,b,c)=>{c.d(b,{G:()=>u});var d=c(92692),e=c(71277),f=c(37303);let g=(0,f.A)("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]),h=(0,f.A)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);var i=c(93544),j=c(67994),k=c(64583),l=c(49549),m=c(78724),n=c(32165),o=c(2625),p=c(13636),q=c(1071);c(98030);var r=c(46818),s=c(95528);function t(){let a,b,c=(0,j.usePathname)(),f=(0,j.useSearchParams)(),[g,h]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(!1),D=(0,e.useMemo)(()=>null,[c,f]),E=(0,e.useCallback)(()=>null,[]),F=(0,e.useCallback)((a=!1)=>{let b=(0,r.S)("/api/app-update",E());if(!a)return b;let c=new URL(b,"http://127.0.0.1");return c.searchParams.set("force","1"),`${c.pathname}${c.search}${c.hash}`},[E]),G=(0,e.useCallback)(async(a=!1)=>{try{let b=await fetch(F(a),{cache:"no-store"}),c=await b.json().catch(()=>null);if(412===b.status)return u(null),null;if(!b.ok)throw Error("string"==typeof c?.error?c.error:`Failed to load update status (${b.status})`);return h(c),u(null),c}catch(a){return u(a instanceof Error?a.message:"Failed to load update status."),null}},[F,E]),H=g?.latestVersion&&v===g.latestVersion,I=!!g?.restarting||B,J=(0,e.useMemo)(()=>!!g&&(!!I||"running"===g.jobStatus||!H&&("completed"===g.jobStatus||"failed"===g.jobStatus||!g.enabled&&!!g.reason||g.updateAvailable)),[H,I,g]);async function K(){g?.updateCommand&&(await navigator.clipboard.writeText(g.updateCommand),y(!0),window.setTimeout(()=>y(!1),1400))}async function L(){A(!0);try{let a=await fetch((0,r.S)("/api/app-update",E()),{method:"POST",headers:{"content-type":"application/json"}}),b=await a.json().catch(()=>null);if(!a.ok)throw Error("string"==typeof b?.error?b.error:`Update failed (${a.status})`);h(b),u(null)}catch(a){u(a instanceof Error?a.message:"Failed to trigger update.")}finally{A(!1)}}async function M(){try{let a=await fetch((0,r.S)("/api/app-update",E()),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"restart"})}),b=await a.json().catch(()=>null);if(!a.ok)throw Error("string"==typeof b?.error?b.error:`Restart failed (${a.status})`);h(b),u(null)}catch(a){u(a instanceof Error?a.message:"Failed to restart Conductor.")}}return((0,e.useCallback)(async()=>{let a=Date.now()+6e4;if(D){for(;Date.now()<a;){let a=await G(!1);if(!a?.restarting)return void C(!1);await new Promise(a=>window.setTimeout(a,1e3))}C(!1),u("Restart started on the paired device, but it did not reconnect in time. Retry from the bridge controls.");return}for(;Date.now()<a;){try{if((await fetch("/api/health",{cache:"no-store"})).ok)return void window.location.reload()}catch{}await new Promise(a=>window.setTimeout(a,1e3))}C(!1),u("Restart started, but the dashboard did not come back in time. Reload manually.")},[D,G]),J)?(0,d.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,d.jsxs)("section",{className:(0,i.cn)("pointer-events-auto rounded-[14px] border bg-[var(--vk-bg-panel)] p-4 shadow-[0_16px_40px_rgba(0,0,0,0.35)]",g?.jobStatus==="failed"?"border-[color:color-mix(in_srgb,var(--vk-red)_55%,var(--vk-border))]":"border-[var(--vk-border)]"),children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[I||g?.jobStatus==="running"?(0,d.jsx)(k.A,{className:"h-4 w-4 animate-spin text-[var(--vk-orange)]"}):g?.jobStatus==="completed"?(0,d.jsx)(l.A,{className:"h-4 w-4 text-[var(--status-ready)]"}):g?.jobStatus==="failed"?(0,d.jsx)(m.A,{className:"h-4 w-4 text-[var(--vk-red)]"}):(0,d.jsx)(n.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}),(0,d.jsx)("h2",{className:"truncate text-[13px] font-semibold text-[var(--vk-text-normal)]",children:g?(b=(a=g.currentVersion?.trim())?` (build ${a})`:"",!g.enabled&&g.reason?`Conductor update unavailable${b}`:g.restarting?`Restarting Conductor${b}`:"running"===g.jobStatus?`Updating Conductor${b}`:"completed"===g.jobStatus?`Conductor updated${b}`:"failed"===g.jobStatus?`Update failed${b}`:g.latestVersion?`Conductor ${g.latestVersion} is available${b}`:`Conductor update available${b}`):"Conductor update"})]}),(0,d.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:g?function(a){if(!a.enabled&&a.reason)return(0,s.N8)(a);if(a.restarting)return"The launcher is restarting the runtime. This tab will reconnect automatically once it is ready.";if("running"===a.jobStatus)return a.jobMessage??"Installing the latest version in the background.";if("completed"===a.jobStatus)return a.jobMessage??"The latest version has been installed. Restart Conductor to use it.";if("failed"===a.jobStatus)return a.jobMessage??"The update command did not finish successfully.";let b=a.currentVersion?`You are running ${a.currentVersion}. `:"";return a.canAutoUpdate?`${b}Install the new release now and restart when it finishes.`:"npx"===a.installMode?`${b}Copy the restart command, run it in a terminal, and the next launch will use the latest release.`:`${b}Copy the update command, run it in a terminal, then restart Conductor.`}(g):"Checking for updates..."})]}),(0,d.jsx)("button",{type:"button",onClick:function(){if(g?.latestVersion){try{window.localStorage.setItem("conductor-dismissed-update-version",g.latestVersion)}catch{}w(g.latestVersion);return}h(a=>a?{...a,reason:null,enabled:!0}:a)},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,d.jsx)(o.A,{className:"h-4 w-4"})})]}),g?.updateCommand?(0,d.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:g.updateCommand}):null,g?(0,d.jsx)("p",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:function(a){switch(a){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}}(g.installMode)??(g.restartRequired?"Restart the current Conductor process after the installer completes.":"Update state streams from the running Conductor runtime.")}):null,t?(0,d.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:t}):g?.error?(0,d.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:g.error}):null,g?.logsTail&&"failed"===g.jobStatus?(0,d.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:g.logsTail}):null,(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-2",children:[g?.jobStatus==="failed"&&g.canAutoUpdate?(0,d.jsxs)(q.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void L(),disabled:z,children:[z?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Retry"]}):null,g?.jobStatus==="idle"&&g.canAutoUpdate?(0,d.jsxs)(q.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void L(),disabled:z,children:[z?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"}),"Update now"]}):null,g?.jobStatus==="idle"&&!g.canAutoUpdate&&g.updateCommand?(0,d.jsxs)(q.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void K(),children:[x?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-[var(--status-ready)]"}):(0,d.jsx)(p.A,{className:"h-3.5 w-3.5"}),x?"Copied":"npx"===g.installMode?"Copy restart command":"Copy command"]}):null,g?.restartRequired&&g.canRestart&&!g.restarting&&!B?(0,d.jsxs)(q.$,{type:"button",size:"sm",variant:"primary",onClick:()=>void M(),children:[(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Restart now"]}):null,g?.restarting||B?(0,d.jsxs)(q.$,{type:"button",size:"sm",variant:"primary",disabled:!0,children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin"}),"Restarting"]}):null]})]})}):null}function u({sidebar:a,children:b,mobileSidebarOpen:c,desktopSidebarOpen:f,onToggleSidebar:j,hideMobileSidebarToggle:k=!1}){let[l,m]=(0,e.useState)(356),[n,o]=(0,e.useState)(!1),p={"--workspace-sidebar-width":`${l}px`};return(0,d.jsxs)("div",{style:p,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:[c&&(0,d.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:j,"aria-label":"Close workspace panel"}),(0,d.jsx)("aside",{className:(0,i.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]",c?"translate-x-0":"-translate-x-full",f?"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:a}),f?(0,d.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:()=>o(!0),"aria-hidden":"true",children:(0,d.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,f&&(0,d.jsx)("button",{type:"button",onClick:j,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,d.jsx)(g,{className:"h-5 w-5"})}),(0,d.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:[!c&&!k&&(0,d.jsx)("button",{type:"button",onClick:j,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,d.jsx)(h,{className:"h-5 w-5"})}),!f&&(0,d.jsx)("button",{type:"button",onClick:j,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,d.jsx)(h,{className:"h-5 w-5"})}),b]}),(0,d.jsx)(t,{})]})}},91515:(a,b,c)=>{c.d(b,{q:()=>d});function d(a){return a.trim().toLowerCase().replace(/[_\s]+/g,"-")}},98030:(a,b,c)=>{c.d(b,{F:()=>t,L:()=>s});var d=c(46818);let e=new Set,f=new Set,g=null,h=null,i=null,j=null;function k(){return e.size>0||f.size>0}function l(){return"u"<typeof document||"visible"===document.visibilityState}function m(){g&&(g.close(),g=null)}function n(a){if(Array.isArray(a))return{type:"snapshot",sessions:a};if(!a||"object"!=typeof a)return null;let b=a.type;return"snapshot"!==b&&"snapshot_delta"!==b?null:Array.isArray(a.sessions)?a:null}function o(a){return a&&"object"==typeof a&&"boolean"==typeof a.enabled?a:null}function p(a){for(let b of e)b(a);let b=o(a.appUpdate);if(b)for(let a of f)a(b)}async function q(){if("function"!=typeof fetch)return;let a=(async()=>{try{let a=await fetch((0,d.S)("/api/sessions",null));if(!a.ok)return;let b=await a.json().catch(()=>null),c=n(b);if(!c)return;p(c)}catch{}try{let b=await fetch((0,d.S)("/api/app-update",null));if(!b.ok)return;let c=await b.json().catch(()=>null);var a=o(c);for(let b of f)b(a)}catch{}})();h=a.finally(()=>{h===a&&(h=null)}),await a}function r(){if(!k()){m(),i&&(window.removeEventListener("focus",i),i=null),j&&(document.removeEventListener("visibilitychange",j),j=null);return}l()?g||"u"<typeof EventSource||!k()||!l()||((g=new EventSource("/api/events")).onmessage=a=>{try{let b=n(JSON.parse(a.data));if(!b)return;p(b)}catch{}},g.addEventListener("refresh",()=>{h||q()}),g.onerror=()=>{k()&&l()||m()}):m()}function s(a){return e.add(a),r(),()=>{e.delete(a),r()}}function t(a){return f.add(a),r(),()=>{f.delete(a),r()}}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=6189,exports.ids=[6189],exports.modules={26189:(a,b,c)=>{c.r(b),c.d(b,{createOrReadKeylessAction:()=>f.a,deleteKeylessAction:()=>e,detectKeylessEnvDriftAction:()=>g.A,syncKeylessConfigAction:()=>h});var d=c(85660);let e=(0,d.createServerReference)("00565802cd544f6451d9dda9e66354b9b8ccb79c79",d.callServer,void 0,d.findSourceMapURL,"deleteKeylessAction");var f=c(41005),g=c(30831);let h=(0,d.createServerReference)("404b4d28b8abc059b11dc8e814e02c06f0418d0aec",d.callServer,void 0,d.findSourceMapURL,"syncKeylessConfigAction")},41005:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(85660);let e=(0,d.createServerReference)("009340f17459d21b8c71dce446480436c023d880a8",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=6225,exports.ids=[6225],exports.modules={31084:(a,b,c)=>{c.d(b,{J:()=>e,s:()=>f});var d=c(19954);function e(a){let b=(0,d.C0)(a);if(!b)return"/";let c=new URLSearchParams;return c.set("bridge",b),`/?${c.toString()}`}function f(a,b={}){let c,e=a.trim(),g=(0,d.DW)(e)?e:(c=(0,d.C0)(b.bridgeId))?(0,d.Bp)(c,e):e,h=new URLSearchParams,i=b.tab?.trim();i&&h.set("tab",i);let j=h.toString(),k=`/sessions/${encodeURIComponent(g)}`;return j.length>0?`${k}?${j}`:k}},96225:(a,b,c)=>{c.r(b),c.d(b,{SessionChatDock:()=>X});var d=c(92692),e=c(140),f=c(67994),g=c(71277),h=c(76578),i=c(91356),j=c(71679),k=c(55163),l=c(33655),m=c(59789),n=c(51430),o=c(52404),p=c(20910),q=c(57658),r=c(7071),s=c(3216),t=c(50898),u=c(60790),v=c(64583),w=c(86263),x=c(49549),y=c(79101),z=c(71943),A=c(2625),B=c(76680),C=c(44462),D=c(1071),E=c(93544),F=c(46818),G=c(31084),H=c(39088);let I={entries:[],totalEntries:0,windowLimit:120,truncated:!1,sessionStatus:null,approvalState:null,parserState:null,runtimeStatus:null,source:null,error:null};function J(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function K(a){return"string"==typeof a&&a.trim().length>0?a:null}function L(a){let b=J(a),c=K(b.id),d=K(b.kind),e="string"==typeof b.text?b.text:"";return c&&d?{id:c,kind:d,label:K(b.label)??"Session",text:e,createdAt:K(b.createdAt),attachments:Array.isArray(b.attachments)?b.attachments:[],source:K(b.source)??"session",streaming:!0===b.streaming,metadata:J(b.metadata)}:null}function M(a){let b=J(a),c=K(b.id),d=K(b.repo),e=K(b.path);if(!c||!d||!e)return null;let f=J(b.pathHealth);return{id:c,displayName:K(b.displayName)??c,repo:d,path:e,agent:K(b.agent)??"codex",agentPermissions:K(b.agentPermissions)??"skip",agentModel:K(b.agentModel)??"",agentReasoningEffort:K(b.agentReasoningEffort)??"",workspaceMode:K(b.workspaceMode)??"local",runtimeMode:K(b.runtimeMode)??"ttyd",scmMode:K(b.scmMode)??"git",defaultWorkingDirectory:K(b.defaultWorkingDirectory)??"",defaultBranch:K(b.defaultBranch)??"main",devServerScript:K(b.devServerScript)??"",devServerCwd:K(b.devServerCwd)??"",devServerUrl:K(b.devServerUrl)??"",devServerPort:K(b.devServerPort)??"",devServerHost:K(b.devServerHost)??"",devServerPath:K(b.devServerPath)??"",devServerHttps:!0===b.devServerHttps,setupScript:K(b.setupScript)??"",runSetupInParallel:!0===b.runSetupInParallel,cleanupScript:K(b.cleanupScript)??"",archiveScript:K(b.archiveScript)??"",copyFiles:K(b.copyFiles)??"",pathHealth:{exists:!0===f.exists,isGitRepository:!0===f.isGitRepository,suggestedPath:K(f.suggestedPath)}}}function N(a,b=84){let c=a.replace(/\s+/g," ").trim();return c.length<=b?c:`${c.slice(0,Math.max(0,b-1)).trimEnd()}…`}function O(a){let b=(0,H.h7)(a);return b?.label?b.label:a.split(/[-_\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}function P({text:a}){return(0,d.jsx)(h.o,{remarkPlugins:[i.A],className:"min-w-0 break-words [overflow-wrap:anywhere]",components:{h1:({children:a})=>(0,d.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:a}),h2:({children:a})=>(0,d.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:a}),h3:({children:a})=>(0,d.jsx)("h3",{className:"mb-3 mt-6 text-[16px] font-semibold text-[var(--vk-text-normal)] first:mt-0 last:mb-0",children:a}),p:({children:a})=>(0,d.jsx)("p",{className:"mb-3 last:mb-0",children:a}),hr:()=>(0,d.jsx)("hr",{className:"my-8 border-0 border-t border-[var(--vk-border)]"}),pre:({children:a})=>(0,d.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:a}),code:({children:a,className:b})=>(0,d.jsx)("code",{className:(0,E.cn)("rounded-[6px] bg-[#171615] px-1.5 py-0.5 font-mono text-[12px] text-[var(--vk-text-normal)]",b),children:a}),ul:({children:a})=>(0,d.jsx)("ul",{className:"mb-3 list-disc pl-5 last:mb-0",children:a}),ol:({children:a})=>(0,d.jsx)("ol",{className:"mb-3 list-decimal pl-5 last:mb-0",children:a}),li:({children:a})=>(0,d.jsx)("li",{className:"mb-1 last:mb-0",children:a}),table:({children:a})=>(0,d.jsx)("div",{className:"mb-4 overflow-x-auto rounded-[12px] border border-[var(--vk-border)]",children:(0,d.jsx)("table",{className:"min-w-full border-collapse text-left text-[13px]",children:a})}),thead:({children:a})=>(0,d.jsx)("thead",{className:"bg-[rgba(255,255,255,0.03)]",children:a}),tbody:({children:a})=>(0,d.jsx)("tbody",{children:a}),tr:({children:a})=>(0,d.jsx)("tr",{className:"border-b border-[var(--vk-border)] last:border-b-0",children:a}),th:({children:a})=>(0,d.jsx)("th",{className:"px-4 py-3 text-[12px] font-medium text-[var(--vk-text-normal)]",children:a}),td:({children:a})=>(0,d.jsx)("td",{className:"px-4 py-3 align-top text-[13px] text-[var(--vk-text-muted)]",children:a})},children:a})}function Q({label:a,tone:b="neutral"}){return(0,d.jsxs)("div",{className:(0,E.cn)("mb-3 flex items-center gap-3 rounded-[10px] border px-3 py-2","prompt"===b?"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,d.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,d.jsx)(j.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium",children:a}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Attached context"})]})]})}function R({toolKind:a,toolTitle:b,className:c="h-4 w-4"}){let e=b.trim().toLowerCase(),f=a?.trim().toLowerCase()??"";return"thinking"===f||"thinking"===e?(0,d.jsx)(k.A,{className:c}):"read"===f||e.startsWith("read ")||e.includes("review request")?(0,d.jsx)(j.A,{className:c}):"write"===f||"edit"===f||"multiedit"===f||e.startsWith("write")||e.startsWith("edit")?(0,d.jsx)(l.A,{className:c}):"grep"===f||"search"===f||"find"===f?(0,d.jsx)(m.A,{className:c}):"ls"===f||"glob"===f||"open"===f?(0,d.jsx)(n.A,{className:c}):"websearch"===f||"webfetch"===f?(0,d.jsx)(o.A,{className:c}):"task"===f||"todowrite"===f?(0,d.jsx)(p.A,{className:c}):e.includes("diff")||e.includes("workspace diff")||e.includes("git diff")?(0,d.jsx)(q.A,{className:c}):"bash"===f||"command"===f||e.startsWith("get diff")||e.startsWith("run ")?(0,d.jsx)(r.A,{className:c}):(0,d.jsx)(s.A,{className:c})}function S({entry:a,session:b}){var c;let e=function(a){if(!a)return null;let b=new Date(a).getTime();if(!Number.isFinite(b))return null;let c=Date.now()-b;return c<6e4?"just now":c<36e5?`${Math.max(1,Math.floor(c/6e4))}m ago`:new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}).format(b)}(a.createdAt),f="assistant"===a.kind?"runtime"===a.source?"Thinking":O(b.metadata.agent?.trim()||"assistant"):a.label||"Session",g=a.attachments.map(a=>{let b=J(a);return K(b.name)??K(b.path)??("string"==typeof a?a:null)}).filter(a=>!!a),h=K(a.metadata.toolTitle)??a.text,i=K(a.metadata.toolKind)?.toLowerCase()??null,j=Array.isArray(c=a.metadata.toolContent)?c.map(a=>K(a)).filter(a=>null!==a):[],l=j[0]??null,m=j[1]??null,n="assistant"===a.kind&&"runtime"===a.source,o="status"===a.kind&&"session-status"===a.source;return"tool"===a.kind?(0,d.jsxs)("div",{className:"flex items-start gap-3 text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)("div",{className:"mt-[2px] flex h-5 w-5 shrink-0 items-center justify-center text-[var(--vk-text-muted)]",children:(0,d.jsx)(R,{toolKind:i,toolTitle:h,className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:"min-w-0 flex-1 space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:h||"Tool call"}),l?(0,d.jsx)("span",{className:"max-w-full truncate rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px] text-[var(--vk-text-muted)]",title:l,children:N(l,72)}):null,e?(0,d.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:e}):null]}),m?(0,d.jsx)("p",{className:"text-[12px] leading-5 text-[var(--vk-text-muted)]",children:N(m,140)}):null]})]}):n?(0,d.jsxs)("div",{className:"flex items-start gap-3 text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)("div",{className:"mt-[2px] flex h-5 w-5 shrink-0 items-center justify-center text-[var(--vk-text-muted)]",children:(0,d.jsx)(k.A,{className:"h-4 w-4"})}),(0,d.jsx)("div",{className:"min-w-0 flex-1",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:"Thinking"}),a.text.trim().length>0?(0,d.jsx)("span",{className:"max-w-full truncate rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px] text-[var(--vk-text-muted)]",title:a.text,children:N(a.text,96)}):null,e?(0,d.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:e}):null]})})]}):o?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.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,d.jsx)(P,{text:a.text})}),e?(0,d.jsx)("div",{className:"text-right text-[11px] text-[var(--vk-text-muted)]",children:e}):null]}):"user"===a.kind?(0,d.jsxs)("div",{className:"ml-auto max-w-[88%]",children:[(0,d.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:[g.map(b=>(0,d.jsx)(Q,{label:b,tone:"prompt"},`${a.id}-${b}`)),(0,d.jsx)("div",{className:"text-[15px] leading-7 text-[#f4ede7]",children:(0,d.jsx)(P,{text:a.text})})]}),e?(0,d.jsx)("div",{className:"mt-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:e}):null]}):"assistant"===a.kind?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"text-[15px] leading-8 text-[var(--vk-text-normal)]",children:[g.map(b=>(0,d.jsx)(Q,{label:b},`${a.id}-${b}`)),(0,d.jsx)(P,{text:a.text})]}),e?(0,d.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:e}):null]}):(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:["status"===a.kind?(0,d.jsx)(t.A,{className:"h-3.5 w-3.5"}):(0,d.jsx)(u.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:f}),e?(0,d.jsx)("span",{className:"ml-auto text-[11px]",children:e}):null]}),(0,d.jsxs)("div",{className:(0,E.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:[g.map(b=>(0,d.jsx)(Q,{label:b},`${a.id}-${b}`)),(0,d.jsx)(P,{text:a.text})]})]})}function T({project:a,disabled:b=!1,saving:c=!1,onChange:f}){let g=a?.agent?.trim()||"codex";return(0,d.jsxs)(e.bL,{children:[(0,d.jsx)(e.l9,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:b||!a,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:a?`Coding agent: ${O(g)}`:"Project agent unavailable",children:[(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(C.N,{seed:{label:g},className:"h-5 w-5 border-none bg-transparent"}),(0,d.jsx)("span",{className:"truncate",children:c?"Saving agent…":`Coding Agent \xb7 ${O(g)}`})]}),c?(0,d.jsx)(v.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(w.A,{className:"h-4 w-4 shrink-0"})]})}),(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.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,d.jsx)("p",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Coding agent"}),H.pN.map(a=>{let b=a.name===g;return(0,d.jsxs)(e.q7,{onSelect:()=>f(a.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,d.jsx)(C.N,{seed:{label:a.name},className:"h-5 w-5 border-none bg-transparent"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium",children:a.label}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.6)]",children:a.description})]}),b?(0,d.jsx)(x.A,{className:"h-4 w-4 text-white"}):null]},a.name)})]})})]})}let U=new Set(["queued","spawning","running","working"]),V=["## proposed plan","## intended board mutations","## intended tool calls","## task packet","task packet","board mutations"],W=["approve this plan","approve the plan","approve this proposal","request changes","ask for explicit approval","explicit approval"];function X({session:a,bridgeId:b=null,onClose:c,onToggleCollapse:e,className:h,hideOpenSessionAction:i=!1,hideRepositoryControls:j=!1,hideSessionStatusBadge:l=!1,headerActions:m=null,composerInsert:n=null,composerToolbar:o=null,apiPaths:p}){let q=(0,f.useRouter)(),[r,t]=(0,g.useState)(I),[w,H]=(0,g.useState)(!0),[P,Q]=(0,g.useState)(null),[R,Y]=(0,g.useState)(""),[Z,$]=(0,g.useState)(null),[_,aa]=(0,g.useState)(!1),[ab,ac]=(0,g.useState)(null),[ad,ae]=(0,g.useState)(!0),[af,ag]=(0,g.useState)(null),[ah,ai]=(0,g.useState)(!1),aj=(0,g.useRef)(null),ak=(0,g.useMemo)(()=>({feed:p?.feed??`/api/sessions/${encodeURIComponent(a.id)}/feed?limit=120`,stream:p?.stream??`/api/sessions/${encodeURIComponent(a.id)}/feed/stream?limit=120`,send:p?.send??`/api/sessions/${encodeURIComponent(a.id)}/feedback`,interrupt:p?.interrupt??null,repositories:p?.repositories??"/api/repositories"}),[p,a.id]),al=(0,g.useMemo)(()=>{if("project_dispatcher"===a.metadata.sessionKind)return`ACP / ${a.projectId}`;let b=a.issueId?.trim()||a.projectId,c=a.branch?.trim()||a.id.slice(0,8);return`${b} / ${c}`},[a.branch,a.id,a.issueId,a.metadata.sessionKind,a.projectId]),am=(0,g.useMemo)(()=>O(ab?.agent?.trim()||a.metadata.agent?.trim()||"agent"),[ab?.agent,a.metadata.agent]),an=(0,g.useMemo)(()=>r.sessionStatus?.trim()||a.status,[r.sessionStatus,a.status]),ao=(0,g.useMemo)(()=>an.trim().toLowerCase(),[an]),ap=(0,g.useMemo)(()=>r.entries.filter(a=>"tool"===a.kind).length,[r.entries]),aq="project_dispatcher"===a.metadata.sessionKind,ar=r.approvalState??a.metadata.acpPlanApprovalState??null,as=(0,g.useMemo)(()=>aq&&function(a,b,c){if("approval_required"!==b||c?.trim().toLowerCase()!=="needs_input")return!1;for(let b=a.length-1;b>=0;b--){let c=a[b];if("tool"!==c.kind&&"status"!==c.kind&&"system"!==c.kind){if("user"===c.kind)return!1;if("assistant"===c.kind)return function(a){let b=a.trim().toLowerCase();if(b.length<160)return!1;let c=V.reduce((a,c)=>a+ +!!b.includes(c),0),d=W.reduce((a,c)=>a+ +!!b.includes(c),0);return c>=2&&d>=1}(c.text)}}return!1}(r.entries,ar,r.sessionStatus??a.status),[ar,aq,r.entries,r.sessionStatus,a.status]),at=(0,g.useMemo)(()=>r.entries.filter(a=>"tool"!==a.kind).length,[r.entries]),au=!!ak.interrupt&&U.has(ao),av=aq&&au,aw=au&&!av,ax=!j||!l||aw,ay="archived"!==a.status&&!(aq&&au);(0,g.useCallback)(async()=>{if(j){ac(null),ag(null),ae(!1);return}ae(!0),ag(null);try{let c=await fetch((0,F.S)(ak.repositories,b),{cache:"no-store"}),d=J(await c.json().catch(()=>null));if(!c.ok)throw Error(K(d.error)??`Failed to load project settings (${c.status})`);let e=Array.isArray(d.repositories)?d.repositories.map(M).find(b=>null!==b&&b.id===a.projectId)??null:null;ac(e),e||ag("Project settings were not found for this session.")}catch(a){ac(null),ag(a instanceof Error?a.message:"Failed to load project settings")}finally{ae(!1)}},[b,j,a.projectId,ak.repositories]),(0,g.useCallback)(async()=>{H(!0),Q(null);try{var a;let c,d,e,f,g=await fetch((0,F.S)(ak.feed,b),{cache:"no-store"}),h=(a=await g.json().catch(()=>null),f=J(a),{entries:Array.isArray(f.entries)?f.entries.map(L).filter(a=>null!==a):[],totalEntries:"number"==typeof f.totalEntries?f.totalEntries:0,windowLimit:"number"==typeof f.windowLimit?f.windowLimit:120,truncated:!0===f.truncated,sessionStatus:K(f.sessionStatus),approvalState:K(f.approvalState),parserState:(c=J(f.parserState),(d=K(c.kind))?{kind:d,message:"string"==typeof c.message?c.message:"",command:K(c.command)}:null),runtimeStatus:(e=J(f.runtimeStatus),0===Object.keys(e).length?null:e),source:K(f.source),error:K(f.error)});if(!g.ok)throw Error(h.error??`Failed to load session feed (${g.status})`);t(h)}catch(a){Q(a instanceof Error?a.message:"Failed to load session feed"),t(I)}finally{H(!1)}},[b,ak.feed]);let az=(0,g.useCallback)(async a=>{let c=a.trim();if(!c||_)return!1;aa(!0),$(null);try{let a=await fetch((0,F.S)(ak.send,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:c})}),d=await a.json().catch(()=>null);if(!a.ok)throw Error(K(J(d).error)??`Failed to send message (${a.status})`);return!0}catch(a){return $(a instanceof Error?a.message:"Failed to send message"),!1}finally{aa(!1)}},[b,_,ak.send]),aA=(0,g.useCallback)(async()=>{let a=R.trim();!a||await az(a)&&Y("")},[R,az]),aB=(0,g.useCallback)(async a=>{await az(a)},[az]),aC=(0,g.useCallback)(async a=>{if(ab&&!ah&&a!==ab.agent){ai(!0),ag(null);try{let c=await fetch((0,F.S)(ak.repositories,b),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...ab,agent:a})}),d=J(await c.json().catch(()=>null));if(!c.ok)throw Error(K(d.error)??`Failed to update coding agent (${c.status})`);let e=M(d.repository);e?ac(e):ac(b=>b?{...b,agent:a}:b)}catch(a){ag(a instanceof Error?a.message:"Failed to update coding agent")}finally{ai(!1)}}},[b,ab,ah,ak.repositories]),aD=(0,g.useCallback)(async()=>{if(ak.interrupt){aa(!0),$(null);try{let a=await fetch((0,F.S)(ak.interrupt,b),{method:"POST"}),c=await a.json().catch(()=>null);if(!a.ok)throw Error(K(J(c).error)??`Failed to interrupt session (${a.status})`)}catch(a){$(a instanceof Error?a.message:"Failed to interrupt session")}finally{aa(!1)}}},[b,ak.interrupt]);return(0,d.jsxs)("aside",{className:(0,E.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",h),children:[(0,d.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,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:al}),e?(0,d.jsx)("button",{type:"button",onClick:e,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":"Collapse dispatcher chat",title:"Collapse dispatcher chat",children:(0,d.jsx)(y.A,{className:"h-3.5 w-3.5"})}):null,m,i?null:(0,d.jsx)("button",{type:"button",onClick:()=>q.push((0,G.s)(a.id,{bridgeId:b,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,d.jsx)(z.A,{className:"h-3.5 w-3.5"})}),c?(0,d.jsx)("button",{type:"button",onClick:c,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,d.jsx)(A.A,{className:"h-3.5 w-3.5"})}):null]}),(0,d.jsx)("div",{ref:aj,className:"min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden px-3 py-4 sm:px-4",children:w?(0,d.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(v.A,{className:"mr-2 h-4 w-4 animate-spin"}),aq?"Loading dispatcher activity…":"Loading session activity…"]}):P?(0,d.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:P}):(0,d.jsxs)("div",{className:"space-y-5",children:[(0,d.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:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,d.jsx)(s.A,{className:"h-3.5 w-3.5"}),(0,d.jsxs)("span",{children:[ap," tool calls, ",at," messages"]})]}),aq?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}),(0,d.jsx)("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:"approved_for_next_mutation"===ar?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(x.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:"Approved execution"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(u.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:"Awaiting approval"})]})})]}):null,r.parserState?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}),(0,d.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,d.jsx)(k.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:r.parserState.kind})]}),r.parserState.command?(0,d.jsx)("span",{className:"max-w-full truncate rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px]",title:r.parserState.command,children:N(r.parserState.command,72)}):null]}):null,r.truncated?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}),(0,d.jsxs)("span",{children:["Showing latest ",r.windowLimit]})]}):null]}),0===r.entries.length?(0,d.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:aq?"No dispatcher activity yet.":"No session feed entries yet."}):r.entries.map(b=>(0,d.jsx)(S,{entry:b,session:a},b.id))]})}),(0,d.jsxs)("div",{className:"border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-4 sm:px-4",children:[ax?(0,d.jsxs)("div",{className:"mb-3 flex min-w-0 flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[j?null:(0,d.jsx)(T,{project:ab,disabled:ad,saving:ah,onChange:a=>void aC(a)}),l?null:(0,d.jsxs)("div",{className:(0,E.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)]",j?null:"sm:ml-auto"),children:[(0,d.jsx)(C.N,{seed:{label:am},className:"h-4 w-4 border-none bg-transparent"}),(0,d.jsx)("span",{children:am}),(0,d.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}),(0,d.jsx)("span",{children:an})]}),aw?(0,d.jsxs)(D.$,{type:"button",variant:"outline",size:"sm",disabled:_,onClick:()=>void aD(),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,d.jsx)(v.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(A.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Stop"})]}):null]}):null,af?(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,d.jsx)(u.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{children:af})]}):null,Z?(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,d.jsx)(u.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{children:Z})]}):null,as?(0,d.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,d.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-medium text-[#f6ead0]",children:[(0,d.jsx)(u.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Plan ready for approval"})]}),(0,d.jsx)("p",{className:"mt-2 leading-5 text-[#dccba1]",children:"ACP will only create or update board tasks after approval. Review the proposal above, then approve it or request changes."}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,d.jsxs)(D.$,{type:"button",size:"sm",disabled:!ay||_,onClick:()=>void aB("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:[_?(0,d.jsx)(v.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(x.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Approve plan"})]}),(0,d.jsxs)(D.$,{type:"button",variant:"outline",size:"sm",disabled:!ay||_,onClick:()=>void aB("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,d.jsx)(A.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Request changes"})]})]})]}):null,(0,d.jsxs)("form",{onSubmit:a=>{a.preventDefault(),aA()},className:"rounded-[3px] border border-[var(--vk-border)] bg-[#1f1f1f] px-3 py-3",children:[o?(0,d.jsx)("div",{className:"mb-3",children:o}):null,(0,d.jsx)("textarea",{value:R,onChange:a=>Y(a.target.value),placeholder:"project_dispatcher"===a.metadata.sessionKind?"Ask the dispatcher to shape work, create tasks, or update the board...":"Continue working on this task...",disabled:!ay||_,rows:2,className:"w-full resize-none bg-transparent text-[16px] leading-6 text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)] disabled:opacity-60"}),(0,d.jsx)("div",{className:"mt-3 flex items-center justify-end",children:av?(0,d.jsxs)(D.$,{type:"button",variant:"outline",size:"sm",disabled:_,onClick:()=>void aD(),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:[_?(0,d.jsx)(v.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(A.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Stop"})]}):(0,d.jsx)(D.$,{type:"submit",variant:"outline",size:"sm",disabled:!ay||_||0===R.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:_?(0,d.jsx)(v.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{children:"Send"}),(0,d.jsx)(B.A,{className:"h-3.5 w-3.5"})]})})})]})]})]})}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=6623,exports.ids=[6623,9789,9943],exports.modules={16249:(a,b,c)=>{c.d(b,{M:()=>e});var d=c(91515);function e(a,b){let c=b.trim(),e=(0,d.q)(a);if(!c)return c;if("claude-code"===e){let a=c.toLowerCase();if("opus"===a)return"Claude Opus";if("sonnet"===a)return"Claude Sonnet";if("haiku"===a)return"Claude Haiku";let b=a.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(b){let a=b[1];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${b[2]}.${b[3]}`}}return c.split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(a)?a:a[0]?.toUpperCase()+a.slice(1)).join("-")}c(53092)},52404:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},59789:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).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"}]])},79101:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},98849:(a,b,c)=>{c.r(b),c.d(b,{ProjectDispatcherPanel:()=>G});var d=c(92692),e=c(71277),f=c(17024);let g=(0,c(37303).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var h=c(64583),i=c(140),j=c(86263),k=c(50898),l=c(55163),m=c(44462),n=c(93544),o=c(23726),p=c(39088),q=c(16249);let r=["codex","claude-code","gemini"];function s({agent:a}){let b=(0,p.h7)(a);return(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(m.N,{seed:{label:a},className:"h-4 w-4 border-none bg-transparent"}),(0,d.jsx)("span",{className:"truncate",children:b?.label??a})]})}function t({label:a,title:b,disabled:c=!1,accent:e=!1,children:f}){return(0,d.jsxs)(i.bL,{children:[(0,d.jsx)(i.l9,{asChild:!0,disabled:c,children:(0,d.jsxs)("button",{type:"button",disabled:c,title:b,className:(0,n.cn)("inline-flex h-10 min-w-0 items-center gap-2 rounded-[12px] border px-3 text-[13px] transition disabled:cursor-not-allowed disabled:opacity-60",e?"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]"),children:[(0,d.jsx)("span",{className:"min-w-0 truncate",children:a}),(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 shrink-0 text-[rgba(255,255,255,0.55)]"})]})}),(0,d.jsx)(i.ZL,{children:(0,d.jsx)(i.UC,{align:"start",sideOffset:8,className:"z-50 min-w-[220px] 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:f})})]})}function u({implementationAgent:a,modelSelection:b,modelAccess:c,runtimeModelCatalogs:e,disabled:f=!1,className:g,onImplementationAgentChange:h,onModelSelectionChange:j}){var v;let w=(0,o.Ik)(a,c,e),x=(0,o.xb)(b)??b.catalogModel,y=x?(0,q.M)(a,x):"Change model",z=(0,o.iL)(a,c,e,x),A=b.reasoningEffort.trim().toLowerCase();return(0,d.jsxs)("div",{className:(0,n.cn)("flex flex-wrap items-center gap-2",g),children:[(0,d.jsxs)(t,{label:y,title:"Change model",disabled:f||0===w.length,children:[(0,d.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"}),w.map(b=>{let f=b.id===x;return(0,d.jsxs)(i.q7,{onSelect:()=>{let d=(0,o.iL)(a,c,e,b.id);j({catalogModel:b.id,customModel:"",reasoningEffort:d.some(a=>a.id===A)?A:(0,o.YS)(a,c,e,b.id)})},className:"flex min-h-[42px] 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,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium",children:b.label}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)]",children:b.description})]}),f?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-[#f2d9cd]"}):null]},b.id)})]}),z.length>0?(0,d.jsxs)(t,{label:(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)(l.A,{className:"h-4 w-4 text-[#d7b6a5]"}),(0,d.jsx)("span",{children:"xhigh"===(v=A||z[0].id)?"Extra High":v.split(/[_-\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")})]}),title:"Change thinking level",disabled:f,accent:!0,children:[(0,d.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"}),z.map(a=>{let c=a.id===A;return(0,d.jsxs)(i.q7,{onSelect:()=>j({...b,reasoningEffort:a.id}),className:"flex min-h-[42px] 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,d.jsx)(l.A,{className:"h-4 w-4 text-[#d7b6a5]"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium",children:a.label}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)]",children:a.description})]}),c?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-[#f2d9cd]"}):null]},a.id)})]}):null,(0,d.jsxs)(t,{label:(0,d.jsx)(s,{agent:a}),title:"Change coding agent",disabled:f,children:[(0,d.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"}),r.map(b=>{let c=(0,p.h7)(b),e=a===b;return(0,d.jsxs)(i.q7,{onSelect:()=>h(b),className:"flex min-h-[42px] 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,d.jsx)(m.N,{seed:{label:b},className:"h-4 w-4 border-none bg-transparent"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium",children:c?.label??b}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)]",children:c?.description??"Coding agent"})]}),e?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-[#f2d9cd]"}):null]},b)})]})]})}var v=c(1071),w=c(20910),x=c(49549),y=c(33655),z=c(96225),A=c(46818);function B(a,b,c=""){let d=a.metadata?.[b];return"string"==typeof d&&d.trim().length>0?d:c}function C(a){return a.split(/[\\/]/).filter(Boolean).at(-1)??a}function D({label:a,title:b,tone:c="neutral"}){return(0,d.jsx)("span",{title:b,className:(0,n.cn)("inline-flex max-w-full items-center rounded-full border px-2.5 py-1 text-[11px] font-medium","active"===c&&"border-[rgba(120,194,142,0.28)] bg-[rgba(28,58,36,0.88)] text-[#c8e9d0]","warn"===c&&"border-[rgba(214,163,126,0.28)] bg-[rgba(66,44,35,0.94)] text-[#f2d9cd]","neutral"===c&&"border-[rgba(255,255,255,0.08)] bg-[#272220] text-[#d7d0c6]"),children:(0,d.jsx)("span",{className:"truncate",children:a})})}function E({thread:a,threads:b,projectId:c,bridgeId:f,modelAccess:g,runtimeModelCatalogs:j,onSelectThread:k,onStartNewConversation:l,creatingConversation:m=!1,onToggleCollapse:n,className:p}){let q=(0,e.useMemo)(()=>B(a,"acpImplementationAgent","codex"),[a]),r=(0,e.useMemo)(()=>B(a,"acpImplementationModel"),[a]),s=(0,e.useMemo)(()=>B(a,"acpImplementationReasoningEffort"),[a]),t=(0,e.useMemo)(()=>B(a,"acpHeartbeatState","active").toLowerCase(),[a]),v=(0,e.useMemo)(()=>B(a,"acpNextHeartbeatAt"),[a]),F=(0,e.useMemo)(()=>B(a,"acpProjectMemoryPath"),[a]),G=(0,e.useMemo)(()=>B(a,"acpSessionMemoryPath"),[a]),[H,I]=(0,e.useState)(q),[J,K]=(0,e.useState)(()=>(0,o.c0)(q,g,j,r||null,s||null)),[L,M]=(0,e.useState)(!1),N=(0,e.useMemo)(()=>`threadId=${encodeURIComponent(a.id)}`,[a.id]),O=(0,e.useCallback)(async(a,b)=>{M(!0);try{let d=await fetch((0,A.S)(`/api/projects/${c}/dispatcher/preferences?${N}`,f),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({implementationAgent:a,implementationModel:(0,o.xb)(b)??"",implementationReasoningEffort:(0,o.aB)(b)??""})});if(!d.ok){let a=await d.json().catch(()=>null);throw Error(a?.error??"Failed to update dispatcher preferences")}}finally{M(!1)}},[f,c,N]),P=(0,e.useCallback)(a=>{let b=(0,o.c0)(a,g,j,null,null);I(a),K(b),O(a,b)},[g,O,j]),Q=(0,e.useCallback)(a=>{K(a),O(H,a)},[H,O]),R=(0,d.jsxs)(d.Fragment,{children:[b.length>1?(0,d.jsxs)(i.bL,{children:[(0,d.jsx)(i.l9,{asChild:!0,children:(0,d.jsx)("button",{type:"button",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":"Switch conversation",title:"Switch conversation",children:(0,d.jsx)(w.A,{className:"h-3.5 w-3.5"})})}),(0,d.jsx)(i.ZL,{children:(0,d.jsxs)(i.UC,{align:"end",sideOffset:8,className:"z-50 min-w-[300px] 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,d.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:"Conversations"}),b.map(b=>{let c,e=b.id===a.id;return(0,d.jsxs)(i.q7,{onSelect:()=>k?.(b.id),className:"flex min-h-[52px] cursor-default items-start 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,d.jsx)("span",{className:"mt-0.5 flex h-5 w-5 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:e?(0,d.jsx)(x.A,{className:"h-3 w-3"}):(0,d.jsx)(w.A,{className:"h-3 w-3"})}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"truncate text-[13px] font-medium",children:(c=b.summary?.trim()||b.metadata.summary?.trim())||("needs_input"===b.status?"Waiting for follow-up":"working"===b.status?"Working":`Conversation ${b.id.slice(0,8)}`)}),(0,d.jsxs)("div",{className:"mt-0.5 flex items-center gap-2 text-[11px] text-[rgba(255,255,255,0.58)]",children:[(0,d.jsx)("span",{children:function(a){let b=new Date(a).getTime();if(!Number.isFinite(b))return"Recently";let c=Math.max(0,Math.round((Date.now()-b)/1e3));return c<60?"Just now":c<3600?`${Math.floor(c/60)}m ago`:c<86400?`${Math.floor(c/3600)}h ago`:`${Math.floor(c/86400)}d ago`}(b.lastActivityAt)}),(0,d.jsx)("span",{className:"truncate",children:b.id.slice(0,8)})]})]})]},b.id)})]})})]}):null,l?(0,d.jsx)("button",{type:"button",onClick:l,disabled:m,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)] disabled:cursor-not-allowed disabled:opacity-60","aria-label":"Start new conversation",title:"Start new conversation",children:m?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(y.A,{className:"h-3.5 w-3.5"})}):null]}),S=(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(u,{implementationAgent:H,modelSelection:J,modelAccess:g,runtimeModelCatalogs:j,disabled:L,onImplementationAgentChange:P,onModelSelectionChange:Q}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(D,{label:"due"===t?"Heartbeat due":"Heartbeat active",title:v?`Next heartbeat: ${v}`:"ACP heartbeat status",tone:"due"===t?"warn":"active"}),F?(0,d.jsx)(D,{label:`Long-term memory: ${C(F)}`,title:F}):null,G?(0,d.jsx)(D,{label:`Short-term memory: ${C(G)}`,title:G}):null]})]});return(0,d.jsx)(z.SessionChatDock,{session:a,bridgeId:f,onToggleCollapse:n,className:p,hideOpenSessionAction:!0,hideRepositoryControls:!0,hideSessionStatusBadge:!0,headerActions:R,composerToolbar:S,apiPaths:{feed:`/api/projects/${encodeURIComponent(c)}/dispatcher/feed?limit=120&${N}`,stream:`/api/projects/${encodeURIComponent(c)}/dispatcher/feed/stream?limit=120&${N}`,send:`/api/projects/${encodeURIComponent(c)}/dispatcher/send?${N}`,interrupt:`/api/projects/${encodeURIComponent(c)}/dispatcher/interrupt?${N}`}})}function F(a,b){return new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()}function G({projectId:a,bridgeId:b,defaultAgent:c,modelAccess:i,runtimeModelCatalogs:j,collapsed:k=!1,onToggleCollapsed:l}){let[m,n]=(0,e.useState)([]),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(!0),[t,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(null),[z,B]=(0,e.useState)(c),[C,D]=(0,e.useState)(()=>(0,o.c0)(c,i,j,null,null)),H=(0,e.useMemo)(()=>p?m.find(a=>a.id===p)??m[0]??null:m[0]??null,[m,p]);(0,e.useCallback)(async()=>{s(!0);try{let c=await fetch((0,A.S)(`/api/projects/${a}/dispatchers`,b),{cache:"no-store"}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??"Failed to load dispatcher sessions");let e=Array.isArray(d?.threads)?[...d.threads].sort(F):[],f="string"==typeof d?.activeThreadId&&d.activeThreadId.trim().length>0?d.activeThreadId:null;n(e),q(a=>a&&e.some(b=>b.id===a)?a:f&&e.some(a=>a.id===f)?f:e[0]?.id??null),y(null)}catch(a){y(a instanceof Error?a.message:"Failed to load dispatcher sessions")}finally{s(!1)}},[b,a]);let I=(0,e.useCallback)(async c=>{w(!0),y(null);try{let d=await fetch((0,A.S)(`/api/projects/${a}/dispatcher`,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({forceNew:c,implementationAgent:z,implementationModel:C.customModel.trim()||C.catalogModel,implementationReasoningEffort:C.reasoningEffort})}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??"Failed to start dispatcher chat");let f=e?.thread??null;if(!f?.id)throw Error("Dispatcher response did not include a thread");n(a=>[f,...a.filter(a=>a.id!==f.id)].sort(F)),q(f.id)}catch(a){y(a instanceof Error?a.message:"Failed to start dispatcher chat")}finally{w(!1)}},[b,z,C.catalogModel,C.customModel,C.reasoningEffort,a]);return k?(0,d.jsx)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-panel)]",children:(0,d.jsxs)("button",{type:"button",onClick:l,className:"flex h-[33px] w-full items-center gap-2 border-b border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:h-full xl:flex-col xl:justify-start xl:px-0 xl:py-3","aria-label":"Expand dispatcher chat",title:"Expand dispatcher chat",children:[(0,d.jsx)(f.A,{className:"h-4 w-4 shrink-0"}),(0,d.jsx)("span",{className:"truncate xl:hidden",children:"Dispatcher"}),(0,d.jsx)(g,{className:"ml-auto h-4 w-4 shrink-0 xl:ml-0"})]})}):r&&!H?(0,d.jsx)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:(0,d.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading dispatcher chat..."]})}):H?(0,d.jsx)("section",{className:"flex h-full min-h-0 min-w-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(E,{thread:H,threads:m,projectId:a,bridgeId:b,modelAccess:i,runtimeModelCatalogs:j,onSelectThread:q,onStartNewConversation:()=>void I(!0),creatingConversation:t,onToggleCollapse:l,className:"w-full border-l-0 border-t-0 xl:w-full"})})}):(0,d.jsxs)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[(0,d.jsxs)("div",{className:"flex h-[33px] items-center gap-2 border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:"Dispatcher"}),l?(0,d.jsx)("button",{type:"button",onClick:l,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":"Collapse dispatcher chat",title:"Collapse dispatcher chat",children:(0,d.jsx)(g,{className:"h-3.5 w-3.5"})}):null]}),(0,d.jsx)("div",{className:"flex min-h-0 flex-1 items-center justify-center overflow-y-auto p-4 sm:p-6",children:(0,d.jsxs)("div",{className:"w-full max-w-[520px] rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-5 text-center shadow-[0_16px_48px_rgba(0,0,0,0.18)]",children:[(0,d.jsx)("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,d.jsx)(f.A,{className:"h-5 w-5"})}),(0,d.jsx)("h2",{className:"mt-4 text-[18px] font-semibold text-[var(--vk-text-strong)]",children:"Start dispatcher chat"}),(0,d.jsx)("p",{className:"mt-2 text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"Use the dispatcher to review the current repo state, shape work, and propose board changes."}),(0,d.jsxs)("div",{className:"mt-5 rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.16)] p-3 text-left",children:[(0,d.jsx)("p",{className:"mb-3 text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Default task handoff"}),(0,d.jsx)(u,{implementationAgent:z,modelSelection:C,modelAccess:i,runtimeModelCatalogs:j,disabled:t,onImplementationAgentChange:a=>{B(a),D((0,o.c0)(a,i,j,null,null))},onModelSelectionChange:D})]}),x?(0,d.jsx)("div",{className:"mt-4 text-[13px] text-[#d25151]",children:x}):null,(0,d.jsx)("div",{className:"mt-5 flex items-center justify-center gap-3",children:(0,d.jsxs)(v.$,{onClick:()=>void I(!1),disabled:t,children:[t?(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,"Start dispatcher chat"]})})]})})]})}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=9088,exports.ids=[9088],exports.modules={39088:(a,b,c)=>{c.d(b,{BO:()=>f,h7:()=>h,pN:()=>e});var d=c(91515);let e=[{name:"codex",label:"Codex",description:"OpenAI Codex CLI",homepage:"https://github.com/openai/codex",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/openai.svg",installHint:"npm install -g @openai/codex",installUrl:"https://github.com/openai/codex",setupUrl:"https://chatgpt.com/codex"},{name:"gemini",label:"Gemini",description:"Google Gemini CLI",homepage:"https://ai.google.dev/gemini-api/docs",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/googlegemini.svg",installHint:"npm install -g @google/gemini-cli",installUrl:"https://ai.google.dev/gemini-api/docs",setupUrl:"https://aistudio.google.com/"},{name:"qwen-code",label:"Qwen Code",description:"Qwen Code CLI",homepage:"https://qwenlm.github.io/announcements/",iconUrl:null,installHint:"npm install -g @qwen-code/qwen-code@latest",installUrl:"https://qwenlm.github.io/announcements/",setupUrl:"https://chat.qwen.ai/"},{name:"droid",label:"Droid",description:"Factory Droid CLI",homepage:"https://github.com/Factory-AI/factory",iconUrl:"https://raw.githubusercontent.com/Factory-AI/factory/main/docs/images/droid_logo_cli.png",installHint:"npm install -g @factory/cli",installUrl:"https://github.com/Factory-AI/factory"},{name:"claude-code",label:"Claude Code",description:"Claude Code CLI",homepage:"https://www.anthropic.com/claude",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @anthropic-ai/claude-code",installUrl:"https://www.anthropic.com/claude-code",setupUrl:"https://claude.ai/"},{name:"amp",label:"Amp",description:"Amp Code CLI",homepage:"https://www.ampcode.com",iconUrl:"https://ampcode.com/amp-mark-color.svg",installHint:"npm install -g @sourcegraph/amp",installUrl:"https://www.ampcode.com"},{name:"opencode",label:"OpenCode",description:"OpenCode CLI",homepage:"https://opencode.ai",iconUrl:null,installHint:"npm install -g opencode-ai",installUrl:"https://opencode.ai"},{name:"github-copilot",label:"GitHub Copilot",description:"GitHub Copilot CLI",homepage:"https://docs.github.com/copilot/how-tos/copilot-cli",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/githubcopilot.svg",installHint:"npm install -g @github/copilot",installUrl:"https://docs.github.com/copilot/how-tos/copilot-cli",setupUrl:"https://github.com/settings/copilot"},{name:"cursor-cli",label:"Cursor Agent",description:"Cursor Agent CLI",homepage:"https://www.cursor.com",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/cursor.svg",installHint:"npm install -g cursor-agent"},{name:"ccr",label:"CCR",description:"Claude Code Router",homepage:"https://www.npmjs.com/package/@musistudio/claude-code-router",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @musistudio/claude-code-router",installUrl:"https://www.npmjs.com/package/@musistudio/claude-code-router"}],f=e.map(a=>a.name),g=new Map(e.map(a=>[(0,d.q)(a.name),a]));function h(a){return g.get((0,d.q)(a))??null}}};
@@ -1 +0,0 @@
1
- exports.id=9899,exports.ids=[9899],exports.modules={5463:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00ee657edf2f445b90f5a6eb85bec7d6e7be4ef79d",d.callServer,void 0,d.findSourceMapURL,"invalidateCacheAction")},14276:()=>{},18420:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00ee657edf2f445b90f5a6eb85bec7d6e7be4ef79d":()=>d.y});var d=c(30254)},22675:(a,b,c)=>{Promise.resolve().then(c.bind(c,3074)),Promise.resolve().then(c.bind(c,82099)),Promise.resolve().then(c.bind(c,6932)),Promise.resolve().then(c.bind(c,66185)),Promise.resolve().then(c.bind(c,87839)),Promise.resolve().then(c.bind(c,53759)),Promise.resolve().then(c.bind(c,90075)),Promise.resolve().then(c.bind(c,66504)),Promise.resolve().then(c.bind(c,46208))},30831:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00a32731079f389e79865c14b9311dde206c2c6c58",d.callServer,void 0,d.findSourceMapURL,"detectKeylessEnvDriftAction")},36026:(a,b,c)=>{"use strict";function d(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString()}catch{return null}}function e(a){let b=a?.trim();if(!b)return null;let c=Number.parseInt(b,10);return!Number.isInteger(c)||c<1||c>65535?null:c}function f(){let a=d(process.env.CONDUCTOR_BACKEND_URL);if(a)return a;let b=d(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL);if(b)return b;let c=e(process.env.CONDUCTOR_BACKEND_PORT);if(null!==c)return`http://127.0.0.1:${c}`;let f=e(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_PORT);return null!==f?`http://127.0.0.1:${f}`:null}function g(){let a=f();if(!a)throw Error("Rust backend URL is not configured");return a}c.d(b,{B:()=>g,_:()=>f})},37806:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>g});var d=c(92692),e=c(71277);let f=(0,e.createContext)({theme:"dark",toggleTheme:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)("dark"),h=(0,e.useCallback)(()=>{c(a=>{let b,c="dark"===a?"light":"dark";return localStorage.setItem("conductor-theme",c),(b=document.documentElement).classList.remove("dark","light"),b.classList.add(c),c})},[]);return(0,d.jsx)(f.Provider,{value:{theme:b,toggleTheme:h},children:a})}},43894:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>h});var d=c(92692),e=c(49588),f=c(71277),g=c(93544);let h=e.Kq;e.bL,e.l9,(0,f.forwardRef)(({className:a,sideOffset:b=8,...c},f)=>(0,d.jsx)(e.ZL,{children:(0,d.jsx)(e.UC,{ref:f,sideOffset:b,className:(0,g.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",a),...c})})).displayName="TooltipContent"},46208:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","Tooltip"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipTrigger"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipContent"),(0,d.registerClientReference)(function(){throw Error("Attempted to call SimpleTooltip() from the server but SimpleTooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","SimpleTooltip")},59627:(a,b,c)=>{Promise.resolve().then(c.bind(c,33996)),Promise.resolve().then(c.bind(c,16413)),Promise.resolve().then(c.bind(c,58002)),Promise.resolve().then(c.bind(c,19867)),Promise.resolve().then(c.bind(c,89833)),Promise.resolve().then(c.bind(c,99896)),Promise.resolve().then(c.bind(c,12589)),Promise.resolve().then(c.bind(c,37806)),Promise.resolve().then(c.bind(c,43894))},66504:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","ThemeProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","useTheme")},72567:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23))},75569:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00565802cd544f6451d9dda9e66354b9b8ccb79c79":()=>e.at,"009340f17459d21b8c71dce446480436c023d880a8":()=>e.ai,"00a32731079f389e79865c14b9311dde206c2c6c58":()=>e.AZ,"00f61e4611a53419bda73c3480bdb0c1f0cb572347":()=>d.i,"404b4d28b8abc059b11dc8e814e02c06f0418d0aec":()=>e.ot,"40d08e06f755bbaacbf25425eaea24c30f66280a32":()=>d.$});var d=c(35515),e=c(78113)},78143:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23))},89257:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23)),Promise.resolve().then(c.t.bind(c,69411,23)),Promise.resolve().then(c.t.bind(c,8447,23)),Promise.resolve().then(c.t.bind(c,50674,23)),Promise.resolve().then(c.t.bind(c,78886,23)),Promise.resolve().then(c.t.bind(c,24194,23)),Promise.resolve().then(c.t.bind(c,93431,23)),Promise.resolve().then(c.bind(c,23858))},91946:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(42131);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?270c676221766b43"}]},93544:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(9537),e=c(43165);function f(...a){return(0,e.QP)((0,d.$)(a))}},95235:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>y,metadata:()=>v,viewport:()=>w});var d=c(2474),e=c(26543),f=c.n(e),g=c(27897),h=c.n(g),i=c(56004),j=c.n(i),k=c(62078),l=c.n(k),m=c(76323),n=c(90075),o=c(9330),p=c(66504),q=c(46208),r=c(36026),s=c(72460);c(14276);let t=`${j().variable} ${f().variable} ${h().variable} ${l().variable}`,u="1"===process.env.VERCEL||"true"===process.env.VERCEL,v={title:"Conductor",description:"Multi-agent orchestrator dashboard"},w={width:"device-width",initialScale:1};function x({children:a}){let b=(0,r._)()??"";return(0,d.jsxs)("html",{lang:"en",className:`${t} dark`,suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("meta",{name:"conductor-backend-url",content:b}),(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:'try{var t=localStorage.getItem("conductor-theme");var e=document.documentElement;e.classList.remove("light","dark");e.classList.add(t==="light"||t==="dark"?t:"dark")}catch{}'}})]}),(0,d.jsx)("body",{className:"bg-[var(--bg-canvas)] text-[var(--text-strong)] antialiased",children:(0,d.jsx)(q.TooltipProvider,{children:(0,d.jsxs)(p.ThemeProvider,{children:[a,u?(0,d.jsx)(n.Analytics,{}):null]})})})]})}async function y({children:a}){let b=await (0,o.headers)(),c=(0,s.Pn)(b),e=(0,s.kE)(b),f=(0,s.EO)(c,e);return f.enabled&&f.publishableKey?(0,d.jsx)(m.lJ,{publishableKey:f.publishableKey,proxyUrl:f.proxyUrl??void 0,clerkJSUrl:f.clerkJSUrl??void 0,signInUrl:f.signInUrl??void 0,signUpUrl:f.signUpUrl??void 0,allowedRedirectOrigins:f.allowedRedirectOrigins.length>0?f.allowedRedirectOrigins:void 0,appearance:{cssLayerName:"clerk"},children:(0,d.jsx)(x,{children:a})}):(0,d.jsx)(x,{children:a})}},98985:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23)),Promise.resolve().then(c.t.bind(c,6413,23)),Promise.resolve().then(c.t.bind(c,61437,23)),Promise.resolve().then(c.t.bind(c,99476,23)),Promise.resolve().then(c.t.bind(c,41452,23)),Promise.resolve().then(c.t.bind(c,86792,23)),Promise.resolve().then(c.t.bind(c,48465,23)),Promise.resolve().then(c.t.bind(c,13592,23))}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=9943,exports.ids=[9789,9943],exports.modules={52404:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},59789:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).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"}]])},79101:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])}};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1089,6447],{23555:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(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,a)=>{a.d(t,{A:()=>r});let r=(0,a(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"}]])},58588:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(13454).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},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)},76265:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(13454).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},91995:(e,t,a)=>{a.r(t),a.d(t,{ProjectDispatcherPanel:()=>_});var r=a(54568),s=a(7620),l=a(30824);let n=(0,a(13454).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var i=a(58299),o=a(40448),c=a(34041),d=a(46548),x=a(72951),m=a(90124),p=a(46916),h=a(88272),u=a(33866),f=a(64323);let b=["codex","claude-code","gemini"];function g({agent:e}){let t=(0,u.h7)(e);return(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,r.jsx)(m.N,{seed:{label:e},className:"h-4 w-4 border-none bg-transparent"}),(0,r.jsx)("span",{className:"truncate",children:t?.label??e})]})}function v({label:e,title:t,disabled:a=!1,accent:s=!1,children:l}){return(0,r.jsxs)(o.bL,{children:[(0,r.jsx)(o.l9,{asChild:!0,disabled:a,children:(0,r.jsxs)("button",{type:"button",disabled:a,title:t,className:(0,p.cn)("inline-flex h-10 min-w-0 items-center gap-2 rounded-[12px] border px-3 text-[13px] transition disabled:cursor-not-allowed disabled:opacity-60",s?"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]"),children:[(0,r.jsx)("span",{className:"min-w-0 truncate",children:e}),(0,r.jsx)(c.A,{className:"h-3.5 w-3.5 shrink-0 text-[rgba(255,255,255,0.55)]"})]})}),(0,r.jsx)(o.ZL,{children:(0,r.jsx)(o.UC,{align:"start",sideOffset:8,className:"z-50 min-w-[220px] 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:l})})]})}function j({implementationAgent:e,modelSelection:t,modelAccess:a,runtimeModelCatalogs:s,disabled:l=!1,className:n,onImplementationAgentChange:i,onModelSelectionChange:c}){var w;let N=(0,h.Ik)(e,a,s),k=(0,h.xb)(t)??t.catalogModel,y=k?(0,f.M)(e,k):"Change model",C=(0,h.iL)(e,a,s,k),A=t.reasoningEffort.trim().toLowerCase();return(0,r.jsxs)("div",{className:(0,p.cn)("flex flex-wrap items-center gap-2",n),children:[(0,r.jsxs)(v,{label:y,title:"Change model",disabled:l||0===N.length,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"}),N.map(t=>{let l=t.id===k;return(0,r.jsxs)(o.q7,{onSelect:()=>{let r=(0,h.iL)(e,a,s,t.id);c({catalogModel:t.id,customModel:"",reasoningEffort:r.some(e=>e.id===A)?A:(0,h.YS)(e,a,s,t.id)})},className:"flex min-h-[42px] 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.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium",children:t.label}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)]",children:t.description})]}),l?(0,r.jsx)(d.A,{className:"h-3.5 w-3.5 text-[#f2d9cd]"}):null]},t.id)})]}),C.length>0?(0,r.jsxs)(v,{label:(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[(0,r.jsx)(x.A,{className:"h-4 w-4 text-[#d7b6a5]"}),(0,r.jsx)("span",{children:"xhigh"===(w=A||C[0].id)?"Extra High":w.split(/[_-\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")})]}),title:"Change thinking level",disabled:l,accent:!0,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"}),C.map(e=>{let a=e.id===A;return(0,r.jsxs)(o.q7,{onSelect:()=>c({...t,reasoningEffort:e.id}),className:"flex min-h-[42px] 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)(x.A,{className:"h-4 w-4 text-[#d7b6a5]"}),(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.58)]",children:e.description})]}),a?(0,r.jsx)(d.A,{className:"h-3.5 w-3.5 text-[#f2d9cd]"}):null]},e.id)})]}):null,(0,r.jsxs)(v,{label:(0,r.jsx)(g,{agent:e}),title:"Change coding agent",disabled:l,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"}),b.map(t=>{let a=(0,u.h7)(t),s=e===t;return(0,r.jsxs)(o.q7,{onSelect:()=>i(t),className:"flex min-h-[42px] 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)(m.N,{seed:{label:t},className:"h-4 w-4 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:a?.label??t}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)]",children:a?.description??"Coding agent"})]}),s?(0,r.jsx)(d.A,{className:"h-3.5 w-3.5 text-[#f2d9cd]"}):null]},t)})]})]})}var w=a(76081),N=a(96770),k=a(34309),y=a(38491),C=a(77033),A=a(31404);function S(e,t,a=""){let r=e.metadata?.[t];return"string"==typeof r&&r.trim().length>0?r:a}function M(e){return e.split(/[\\/]/).filter(Boolean).at(-1)??e}function $({label:e,title:t,tone:a="neutral"}){return(0,r.jsx)("span",{title:t,className:(0,p.cn)("inline-flex max-w-full items-center rounded-full border px-2.5 py-1 text-[11px] font-medium","active"===a&&"border-[rgba(120,194,142,0.28)] bg-[rgba(28,58,36,0.88)] text-[#c8e9d0]","warn"===a&&"border-[rgba(214,163,126,0.28)] bg-[rgba(66,44,35,0.94)] text-[#f2d9cd]","neutral"===a&&"border-[rgba(255,255,255,0.08)] bg-[#272220] text-[#d7d0c6]"),children:(0,r.jsx)("span",{className:"truncate",children:e})})}function E({thread:e,threads:t,projectId:a,bridgeId:l,modelAccess:n,runtimeModelCatalogs:c,onSelectThread:d,onStartNewConversation:x,creatingConversation:m=!1,onToggleCollapse:p,className:u}){let f=(0,s.useMemo)(()=>S(e,"acpImplementationAgent","codex"),[e]),b=(0,s.useMemo)(()=>S(e,"acpImplementationModel"),[e]),g=(0,s.useMemo)(()=>S(e,"acpImplementationReasoningEffort"),[e]),v=(0,s.useMemo)(()=>S(e,"acpHeartbeatState","active").toLowerCase(),[e]),w=(0,s.useMemo)(()=>S(e,"acpNextHeartbeatAt"),[e]),I=(0,s.useMemo)(()=>S(e,"acpProjectMemoryPath"),[e]),T=(0,s.useMemo)(()=>S(e,"acpSessionMemoryPath"),[e]),[_,L]=(0,s.useState)(f),[R,U]=(0,s.useState)(()=>(0,h.c0)(f,n,c,b||null,g||null)),[q,D]=(0,s.useState)(!1);(0,s.useEffect)(()=>{L(f),U((0,h.c0)(f,n,c,b||null,g||null))},[n,f,b,g,c]);let P=(0,s.useMemo)(()=>`threadId=${encodeURIComponent(e.id)}`,[e.id]),H=(0,s.useCallback)(async(e,t)=>{D(!0);try{let r=await fetch((0,A.S)(`/api/projects/${a}/dispatcher/preferences?${P}`,l),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({implementationAgent:e,implementationModel:(0,h.xb)(t)??"",implementationReasoningEffort:(0,h.aB)(t)??""})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??"Failed to update dispatcher preferences")}}finally{D(!1)}},[l,a,P]),F=(0,s.useCallback)(e=>{let t=(0,h.c0)(e,n,c,null,null);L(e),U(t),H(e,t)},[n,H,c]),O=(0,s.useCallback)(e=>{U(e),H(_,e)},[_,H]),B=(0,r.jsxs)(r.Fragment,{children:[t.length>1?(0,r.jsxs)(o.bL,{children:[(0,r.jsx)(o.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",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":"Switch conversation",title:"Switch conversation",children:(0,r.jsx)(N.A,{className:"h-3.5 w-3.5"})})}),(0,r.jsx)(o.ZL,{children:(0,r.jsxs)(o.UC,{align:"end",sideOffset:8,className:"z-50 min-w-[300px] 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:"Conversations"}),t.map(t=>{let a,s=t.id===e.id;return(0,r.jsxs)(o.q7,{onSelect:()=>d?.(t.id),className:"flex min-h-[52px] cursor-default items-start 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)("span",{className:"mt-0.5 flex h-5 w-5 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:s?(0,r.jsx)(k.A,{className:"h-3 w-3"}):(0,r.jsx)(N.A,{className:"h-3 w-3"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate text-[13px] font-medium",children:(a=t.summary?.trim()||t.metadata.summary?.trim())||("needs_input"===t.status?"Waiting for follow-up":"working"===t.status?"Working":`Conversation ${t.id.slice(0,8)}`)}),(0,r.jsxs)("div",{className:"mt-0.5 flex items-center gap-2 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)})]})]})]},t.id)})]})})]}):null,x?(0,r.jsx)("button",{type:"button",onClick:x,disabled:m,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)] disabled:cursor-not-allowed disabled:opacity-60","aria-label":"Start new conversation",title:"Start new conversation",children:m?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(y.A,{className:"h-3.5 w-3.5"})}):null]}),z=(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(j,{implementationAgent:_,modelSelection:R,modelAccess:n,runtimeModelCatalogs:c,disabled:q,onImplementationAgentChange:F,onModelSelectionChange:O}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsx)($,{label:"due"===v?"Heartbeat due":"Heartbeat active",title:w?`Next heartbeat: ${w}`:"ACP heartbeat status",tone:"due"===v?"warn":"active"}),I?(0,r.jsx)($,{label:`Long-term memory: ${M(I)}`,title:I}):null,T?(0,r.jsx)($,{label:`Short-term memory: ${M(T)}`,title:T}):null]})]});return(0,r.jsx)(C.SessionChatDock,{session:e,bridgeId:l,onToggleCollapse:p,className:u,hideOpenSessionAction:!0,hideRepositoryControls:!0,hideSessionStatusBadge:!0,headerActions:B,composerToolbar:z,apiPaths:{feed:`/api/projects/${encodeURIComponent(a)}/dispatcher/feed?limit=120&${P}`,stream:`/api/projects/${encodeURIComponent(a)}/dispatcher/feed/stream?limit=120&${P}`,send:`/api/projects/${encodeURIComponent(a)}/dispatcher/send?${P}`,interrupt:`/api/projects/${encodeURIComponent(a)}/dispatcher/interrupt?${P}`}})}function I(e,t){return new Date(t.lastActivityAt).getTime()-new Date(e.lastActivityAt).getTime()}function T(e,t,a=""){let r=e.metadata?.[t];return"string"==typeof r&&r.trim().length>0?r:a}function _({projectId:e,bridgeId:t,defaultAgent:a,modelAccess:o,runtimeModelCatalogs:c,collapsed:d=!1,onToggleCollapsed:x}){let[m,p]=(0,s.useState)([]),[u,f]=(0,s.useState)(null),[b,g]=(0,s.useState)(!0),[v,N]=(0,s.useState)(!1),[k,y]=(0,s.useState)(null),[C,S]=(0,s.useState)(a),[M,$]=(0,s.useState)(()=>(0,h.c0)(a,o,c,null,null)),L=(0,s.useMemo)(()=>u?m.find(e=>e.id===u)??m[0]??null:m[0]??null,[m,u]);(0,s.useEffect)(()=>{if(!L){S(a),$((0,h.c0)(a,o,c,null,null));return}let e=T(L,"acpImplementationAgent",a);S(e),$((0,h.c0)(e,o,c,T(L,"acpImplementationModel")||null,T(L,"acpImplementationReasoningEffort")||null))},[a,L,o,c]);let R=(0,s.useCallback)(async()=>{g(!0);try{let a=await fetch((0,A.S)(`/api/projects/${e}/dispatchers`,t),{cache:"no-store"}),r=await a.json().catch(()=>null);if(!a.ok)throw Error(r?.error??"Failed to load dispatcher sessions");let s=Array.isArray(r?.threads)?[...r.threads].sort(I):[],l="string"==typeof r?.activeThreadId&&r.activeThreadId.trim().length>0?r.activeThreadId:null;p(s),f(e=>e&&s.some(t=>t.id===e)?e:l&&s.some(e=>e.id===l)?l:s[0]?.id??null),y(null)}catch(e){y(e instanceof Error?e.message:"Failed to load dispatcher sessions")}finally{g(!1)}},[t,e]);(0,s.useEffect)(()=>{R()},[R]),(0,s.useEffect)(()=>{let e=window.setInterval(()=>{R()},15e3);return()=>window.clearInterval(e)},[R]);let U=(0,s.useCallback)(async a=>{N(!0),y(null);try{let r=await fetch((0,A.S)(`/api/projects/${e}/dispatcher`,t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({forceNew:a,implementationAgent:C,implementationModel:M.customModel.trim()||M.catalogModel,implementationReasoningEffort:M.reasoningEffort})}),s=await r.json().catch(()=>null);if(!r.ok)throw Error(s?.error??"Failed to start dispatcher chat");let l=s?.thread??null;if(!l?.id)throw Error("Dispatcher response did not include a thread");p(e=>[l,...e.filter(e=>e.id!==l.id)].sort(I)),f(l.id)}catch(e){y(e instanceof Error?e.message:"Failed to start dispatcher chat")}finally{N(!1)}},[t,C,M.catalogModel,M.customModel,M.reasoningEffort,e]);return d?(0,r.jsx)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-panel)]",children:(0,r.jsxs)("button",{type:"button",onClick:x,className:"flex h-[33px] w-full items-center gap-2 border-b border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:h-full xl:flex-col xl:justify-start xl:px-0 xl:py-3","aria-label":"Expand dispatcher chat",title:"Expand dispatcher chat",children:[(0,r.jsx)(l.A,{className:"h-4 w-4 shrink-0"}),(0,r.jsx)("span",{className:"truncate xl:hidden",children:"Dispatcher"}),(0,r.jsx)(n,{className:"ml-auto h-4 w-4 shrink-0 xl:ml-0"})]})}):b&&!L?(0,r.jsx)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:(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 chat..."]})}):L?(0,r.jsx)("section",{className:"flex h-full min-h-0 min-w-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:(0,r.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,r.jsx)(E,{thread:L,threads:m,projectId:e,bridgeId:t,modelAccess:o,runtimeModelCatalogs:c,onSelectThread:f,onStartNewConversation:()=>void U(!0),creatingConversation:v,onToggleCollapse:x,className:"w-full border-l-0 border-t-0 xl:w-full"})})}):(0,r.jsxs)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[(0,r.jsxs)("div",{className:"flex h-[33px] items-center gap-2 border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:"Dispatcher"}),x?(0,r.jsx)("button",{type:"button",onClick:x,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":"Collapse dispatcher chat",title:"Collapse dispatcher chat",children:(0,r.jsx)(n,{className:"h-3.5 w-3.5"})}):null]}),(0,r.jsx)("div",{className:"flex min-h-0 flex-1 items-center justify-center overflow-y-auto p-4 sm:p-6",children:(0,r.jsxs)("div",{className:"w-full max-w-[520px] rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-5 text-center shadow-[0_16px_48px_rgba(0,0,0,0.18)]",children:[(0,r.jsx)("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,r.jsx)(l.A,{className:"h-5 w-5"})}),(0,r.jsx)("h2",{className:"mt-4 text-[18px] font-semibold text-[var(--vk-text-strong)]",children:"Start dispatcher chat"}),(0,r.jsx)("p",{className:"mt-2 text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"Use the dispatcher to review the current repo state, shape work, and propose board changes."}),(0,r.jsxs)("div",{className:"mt-5 rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.16)] p-3 text-left",children:[(0,r.jsx)("p",{className:"mb-3 text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Default task handoff"}),(0,r.jsx)(j,{implementationAgent:C,modelSelection:M,modelAccess:o,runtimeModelCatalogs:c,disabled:v,onImplementationAgentChange:e=>{S(e),$((0,h.c0)(e,o,c,null,null))},onModelSelectionChange:$})]}),k?(0,r.jsx)("div",{className:"mt-4 text-[13px] text-[#d25151]",children:k}):null,(0,r.jsx)("div",{className:"mt-5 flex items-center justify-center gap-3",children:(0,r.jsxs)(w.$,{onClick:()=>void U(!1),disabled:v,children:[v?(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,"Start dispatcher chat"]})})]})})]})}},97380:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(13454).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1874],{2939:(e,a,t)=>{t.d(a,{A:()=>s});let s=(0,t(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"}]])},46548:(e,a,t)=>{t.d(a,{A:()=>s});let s=(0,t(13454).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},81874:(e,a,t)=>{t.r(a),t.d(a,{SessionSkills:()=>P});var s=t(54568),r=t(7620),l=t(2939),n=t(13454);let i=(0,n.A)("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),d=(0,n.A)("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),o=(0,n.A)("users-round",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]),c=(0,n.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]),x=(0,n.A)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var m=t(46548);let h=(0,n.A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),p=(0,n.A)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),v=(0,n.A)("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);var k=t(23555);let u=(0,n.A)("workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]),g=(0,n.A)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]),f=(0,n.A)("video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]),y=(0,n.A)("megaphone",[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]]);var b=t(97380);let j=(0,n.A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),w=(0,n.A)("notebook-pen",[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]]);var N=t(41007);let M=(0,n.A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var A=t(58299),S=t(22061),C=t(87242),R=t(63322),z=t(31404),E=t(90986),I=t(76081),$=t(40443);let q={FileText:l.A,Presentation:i,Table2:d,UsersRound:o,Palette:c,Image:x,Sparkles:m.A,LayoutGrid:h,Rocket:p,Bug:v,Search:k.A,Workflow:u,Wand2:g,Video:f,Megaphone:y,Globe:b.A,BookOpen:j,NotebookPen:w},H=[l.A,j,b.A,h,c,k.A,m.A,g,u,w,o],U={id:"generic-open-standard",name:"Generic open-standard",projectRoots:[".agents/skills"],userRoots:["~/.agents/skills"]};async function L(e){let a=await e,t=await a.json().catch(()=>null);if(!a.ok)throw Error(function(e,a){if(e&&"object"==typeof e){if("string"==typeof e.error&&e.error.trim().length>0)return e.error;if("string"==typeof e.reason&&e.reason.trim().length>0)return e.reason}return`Request failed (${a})`}(t,a.status));return t}function V(e,a){return e instanceof Error?e.message:a}function P({session:e,sessionId:a,active:t}){let l=e.bridgeId??null,n=e.metadata.agent?.trim()||e.metadata.executor?.trim()||e.metadata.runtimeAgent?.trim()||"",i=e.metadata.workspacePath?.trim()||null,[d,o]=(0,r.useState)(""),[c,x]=(0,r.useState)(n||U.id),[h,p]=(0,r.useState)(i?"workspace":"user"),[v,u]=(0,r.useState)([]),[g,f]=(0,r.useState)([]),[y,b]=(0,r.useState)({}),[j,w]=(0,r.useState)([]),[W,T]=(0,r.useState)([]),[_,D]=(0,r.useState)(!0),[F,O]=(0,r.useState)(null),[G,Z]=(0,r.useState)(null),B=(0,r.useMemo)(()=>g.find(e=>e.id===c)??(c.trim().length>0&&c!==U.id?{id:c,name:c,projectRoots:U.projectRoots,userRoots:U.userRoots}:U),[g,c]),J=(0,r.useMemo)(()=>{let e=[...g];return e.some(e=>e.id===B.id)||e.unshift(B),e.some(e=>e.id===n&&n.trim().length>0)||e.unshift({id:n||U.id,name:n||U.name,projectRoots:U.projectRoots,userRoots:U.userRoots}),e.filter((e,a,t)=>t.findIndex(a=>a.id===e.id)===a)},[n,g,B]),K=(0,r.useCallback)(async(e={})=>{let{clearToast:s=!0}=e;if(t){D(!0),s&&Z(null);try{let[e,t,s]=await Promise.allSettled([L(fetch((0,z.S)("/api/skills/catalog",l),{cache:"no-store"})),L(fetch((0,z.S)(`/api/skills/installed?agent=${encodeURIComponent(c)}${i?`&workspacePath=${encodeURIComponent(i)}`:""}`,l),{cache:"no-store"})),L(fetch((0,z.S)(`/api/skills/session-active?sessionId=${encodeURIComponent(a)}`,l),{cache:"no-store"}))]),r=[];if("fulfilled"===e.status?(u(Array.isArray(e.value.skills)?e.value.skills:[]),f(Array.isArray(e.value.agents)?e.value.agents:[])):r.push(V(e.reason,"Failed to load skills catalog")),"fulfilled"===t.status){let e=Object.fromEntries((t.value.skills??[]).map(e=>[e.skillId,e]));b(e),T(t.value.customSkills??[])}else r.push(V(t.reason,"Failed to load installed skills"));"fulfilled"===s.status?w(s.value.skillIds??[]):r.push(V(s.reason,"Failed to load active session skills")),r.length>0&&Z({kind:"error",message:r[0]})}catch(e){Z({kind:"error",message:e instanceof Error?e.message:"Failed to load skills"})}finally{D(!1)}}},[t,l,a,c,i]);(0,r.useEffect)(()=>{K()},[K]);let Q=(0,r.useMemo)(()=>{let e=d.trim().toLowerCase();return v.filter(a=>0===e.length||a.name.toLowerCase().includes(e)||a.summary.toLowerCase().includes(e)||a.category.toLowerCase().includes(e))},[v,d]),X=(0,r.useCallback)(async(e,t)=>{O(e.id),Z(null);try{let s="activate"===t||"deactivate"===t?{sessionId:a,skillId:e.id}:{skillId:e.id,agent:c,scope:h,workspacePath:i,sessionId:a},r=await fetch((0,z.S)("install"===t?"/api/skills/install":"activate"===t?"/api/skills/activate":"deactivate"===t?"/api/skills/deactivate":"/api/skills/uninstall",l),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(s)}),n=await r.json().catch(()=>({}));if(!r.ok)throw Error(n.error||"Skill action failed");let d={install:`${e.name} installed and activated for this session.`,activate:`${e.name} is active for this session.`,deactivate:`${e.name} is no longer active for this session.`,uninstall:`${e.name} was removed from ${h} scope.`};Z({kind:"success",message:d[t]}),await K({clearToast:!1})}catch(e){Z({kind:"error",message:e instanceof Error?e.message:"Skill action failed"})}finally{O(null)}},[l,K,h,a,c,i]),Y=_&&0===v.length,ee=_&&v.length>0,ea=d.trim().length>0;return(0,s.jsx)("div",{className:"flex h-full min-h-0 min-w-0 flex-col overflow-hidden",children:(0,s.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain pb-4 touch-pan-y lg:overflow-hidden lg:pb-0",children:(0,s.jsxs)("div",{className:"flex min-h-full min-w-0 flex-col gap-3",children:[(0,s.jsx)($.Zp,{className:"min-w-0",children:(0,s.jsxs)($.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--vk-text-normal)]",children:"Skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Install open-agent skills from the curated catalog, detect what is already installed for the selected agent, and mark a skill as active for this session."})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 text-[12px] text-[var(--vk-text-muted)] lg:items-end",children:[(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,s.jsx)(M,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsxs)("span",{className:"min-w-0",children:["Agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:n||"unknown"})]})]}),(0,s.jsxs)("div",{className:"min-w-0",children:["Device: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:l??"local"})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Target agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:B.name})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Workspace: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:i??"Unavailable"})]})]})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,s.jsxs)("label",{className:"flex w-full items-center gap-2 rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,s.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsx)("input",{value:d,onChange:e=>o(e.target.value),placeholder:"Search skills",className:"min-w-0 flex-1 bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Target agent"}),(0,s.jsx)("select",{value:c,onChange:e=>x(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:J.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Install scope"}),(0,s.jsxs)("select",{value:h,onChange:e=>p(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:[(0,s.jsx)("option",{value:"user",children:"User"}),(0,s.jsx)("option",{value:"workspace",disabled:!i,children:"Workspace"})]})]})]}),(0,s.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:["Installs into the selected agent's official skill folders. User scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:B.userRoots.join(" • ")}),"; workspace scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:B.projectRoots.join(" • ")}),"."]}),G?(0,s.jsx)("div",{className:`rounded-[14px] border px-3 py-2 text-[12px] ${"error"===G.kind?"border-red-400/35 bg-red-400/10 text-red-100":"border-emerald-400/35 bg-emerald-400/10 text-emerald-100"}`,children:G.message}):null,ee?(0,s.jsx)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"Refreshing skills..."}):null]})}),(0,s.jsxs)("div",{className:"grid min-h-0 min-w-0 flex-1 gap-3 lg:grid-cols-[minmax(0,1fr)_320px] lg:overflow-hidden",children:[(0,s.jsx)("div",{className:"min-h-0 min-w-0 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] p-3 lg:overflow-y-auto",children:(0,s.jsx)("div",{className:"space-y-3 lg:pr-2",children:Y?(0,s.jsxs)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:[(0,s.jsx)(A.A,{className:"mr-2 h-4 w-4 animate-spin"})," Loading skills..."]}):0===Q.length?(0,s.jsx)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:ea?"No matching skills found.":"No skills available."}):Q.map(e=>{var a;let t,r=y[e.id],l=!!(r?.installedUser||r?.installedWorkspace),n=j.includes(e.id),i=F===e.id,d=(a=e.icon,(t=a?.trim())&&q[t]?q[t]:N.A),o=g.length>0&&e.compatibleAgents.length>=g.length;return(0,s.jsxs)($.Zp,{className:"min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,s.jsxs)($.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,s.jsxs)("div",{className:"flex min-w-0 gap-3",children:[(0,s.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] text-[var(--vk-text-normal)]",children:(0,s.jsx)(d,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,s.jsx)("h3",{className:"min-w-0 text-[14px] font-semibold text-[var(--vk-text-normal)]",children:e.name}),e.verified?(0,s.jsx)(E.E,{children:"Verified"}):(0,s.jsx)(E.E,{variant:"outline",children:"Community"}),(0,s.jsx)(E.E,{variant:"outline",children:e.category}),l?(0,s.jsx)(E.E,{variant:"outline",children:"Installed"}):null,n?(0,s.jsx)(E.E,{variant:"outline",children:"Active now"}):null,null]}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:e.summary}),e.note?(0,s.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,s.jsx)(E.E,{variant:"info",className:"mr-2 align-middle",children:"Note"}),(0,s.jsx)("span",{className:"align-middle",children:e.note})]}):null]})]}),(0,s.jsx)("div",{className:"flex w-full flex-wrap items-center gap-2 xl:w-auto xl:justify-end",children:(0,s.jsxs)("a",{href:e.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[12px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["Docs ",(0,s.jsx)(S.A,{className:"h-3 w-3"})]})})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2 text-[12px] text-[var(--vk-text-muted)]",children:o?(0,s.jsx)(E.E,{variant:"outline",children:"Compatible with all supported agents"}):e.compatibleAgents.map(e=>(0,s.jsx)(E.E,{variant:"outline",children:e},e))})]}),(0,s.jsxs)($.Wu,{className:"space-y-3",children:[r?.installPaths?.length?(0,s.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)] break-words",children:["Installed at: ",r.installPaths.join(" • ")]}):null,(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[l?n?(0,s.jsxs)(I.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void X(e,"deactivate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(C.A,{className:"mr-1 h-3.5 w-3.5"})," Deactivate"]}):(0,s.jsxs)(I.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void X(e,"activate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Use in session"]}):(0,s.jsxs)(I.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void X(e,"install"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Install and use"]}),l?(0,s.jsxs)(I.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void X(e,"uninstall"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):null," Uninstall"]}):null]})]})]},e.id)})})}),(0,s.jsxs)($.Zp,{className:"min-h-0 min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-surface)] lg:overflow-y-auto",children:[(0,s.jsxs)($.aR,{className:"flex-col items-start gap-1.5",children:[(0,s.jsx)("h3",{className:"text-[14px] font-semibold text-[var(--vk-text-normal)]",children:"Detected custom skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Extra skill folders already present on the paired machine that do not match the curated catalog."})]}),(0,s.jsx)($.Wu,{className:"space-y-2 text-[13px] text-[var(--vk-text-muted)]",children:0===W.length?(0,s.jsx)("p",{children:"No custom skill folders detected."}):W.map(e=>{let a=function(e){if(0===e.trim().length)return N.A;let a=0;for(let t of e)a=(a<<5)-a+t.charCodeAt(0)|0;return H[Math.abs(a)%H.length]??m.A}(e.name);return(0,s.jsxs)("div",{className:"flex items-start gap-3 rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 break-words",children:[(0,s.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",children:(0,s.jsx)(a,{className:"h-3.5 w-3.5"})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("div",{className:"font-medium text-[var(--vk-text-normal)]",children:e.name}),(0,s.jsxs)("div",{className:"text-[12px] text-[var(--vk-text-muted)] break-words",children:["Detected from ",e.source]})]})]},e.id)})})]})]})]})})})}},90986:(e,a,t)=>{t.d(a,{E:()=>n});var s=t(54568),r=t(46916);let l={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function n({variant:e="default",className:a,children:t}){return(0,s.jsx)("span",{className:(0,r.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",l[e],a),children:t})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2179],{45744:(e,c,r)=>{r.d(c,{a:()=>d});var a=r(5974);let d=(0,a.createServerReference)("009340f17459d21b8c71dce446480436c023d880a8",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")},62179:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>t.a,deleteKeylessAction:()=>d,detectKeylessEnvDriftAction:()=>s.A,syncKeylessConfigAction:()=>l});var a=r(5974);let d=(0,a.createServerReference)("00565802cd544f6451d9dda9e66354b9b8ccb79c79",a.callServer,void 0,a.findSourceMapURL,"deleteKeylessAction");var t=r(45744),s=r(8782);let l=(0,a.createServerReference)("404b4d28b8abc059b11dc8e814e02c06f0418d0aec",a.callServer,void 0,a.findSourceMapURL,"syncKeylessConfigAction")}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2799],{22799:(e,t,r)=>{r.r(t),r.d(t,{SessionPreview:()=>I});var a=r(54568),n=r(7620),s=r(97380),l=r(60527),i=r(45601),o=r(58299),c=r(89603),d=r(63264),m=r(20732),x=r(59706),u=r(36645),p=r(82797),h=r(22996),v=r(69863),g=r(75646),f=r(90986),b=r(76081),w=r(40443),k=r(11791),j=r(46916);let N=(0,n.forwardRef)(({className:e,children:t,...r},n)=>(0,a.jsxs)(k.bL,{ref:n,className:(0,j.cn)("relative overflow-hidden",e),...r,children:[(0,a.jsx)(k.LM,{className:"h-full w-full rounded-[inherit]",children:t}),(0,a.jsx)(y,{}),(0,a.jsx)(k.OK,{})]}));N.displayName="ScrollArea";let y=(0,n.forwardRef)(({className:e,orientation:t="vertical",...r},n)=>(0,a.jsx)(k.Ze,{ref:n,orientation:t,className:(0,j.cn)("flex touch-none select-none","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-px",e),...r,children:(0,a.jsx)(k.zi,{className:"relative flex-1 rounded-full bg-[color:color-mix(in_srgb,var(--border-strong)_75%,transparent)] hover:bg-[var(--border-strong)]"})}));y.displayName="ScrollBar";let E=/(?:127\.0\.0\.1|0\.0\.0\.0|localhost|::1|\[::1\])/i;function $(e){return e.find(e=>(function(e){try{let t=new URL(e);return E.test(t.hostname)}catch{return!1}})(e))??null}let C=new Map([["Backspace","Backspace"],["Delete","Delete"],["Enter","Enter"],["Tab","Tab"],["Escape","Escape"],["ArrowUp","ArrowUp"],["ArrowDown","ArrowDown"],["ArrowLeft","ArrowLeft"],["ArrowRight","ArrowRight"],["Home","Home"],["End","End"],["PageUp","PageUp"],["PageDown","PageDown"],[" ","Space"]]);function A(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit",second:"2-digit",timeZone:"UTC"}).format(new Date(t))}function M(e,t=120){return e.length<=t?e:`${e.slice(0,t-1)}…`}function S(e,t=180){let r=M((e??"").replace(/\s+/g," ").trim(),t);return r?`"${r.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:null}function F(e){return e.map(e=>e?.trim()).filter(e=>!!e).join("; ")}function _(e,t){return[`[${e}]`,...t.map(e=>e?.trim()).filter(e=>!!e)].join("\n")}function D(e,t){return{inlineText:F(["[Browser selection]",`selector=${S(e.selector,220)}`,`tag=${e.tag}`,e.role?`role=${e.role}`:null,e.name?`name=${S(e.name,140)}`:null,e.text?`text=${S(e.text,180)}`:null,e.frameName?`frame=${S(e.frameName,120)}`:null,t?`page=${S(t,220)}`:null]),draftText:_("Browser selection",[t?`Page: ${t}`:null,`Frame: ${e.frameName} (${e.frameUrl})`,`Selector: ${e.selector}`,`Tag: ${e.tag}`,e.role?`Role: ${e.role}`:null,e.name?`Name: ${e.name}`:null,e.text?`Text: ${e.text}`:null,e.htmlPreview?`HTML preview: ${e.htmlPreview}`:null]),successMessage:"Added the selected element to the chat composer."}}function U(e,t,r,a){let n=t.slice("console"===e?-8:-10),s=n.map(t=>{let r=[t.level,S(t.message,120)];return"network"===e&&(r.unshift(t.method??"GET"),r.push("number"==typeof t.status?String(t.status):null),r.push(t.url?S(t.url,120):null)),r.filter(Boolean).join(" ")});return{inlineText:F(["console"===e?"[Browser console]":"[Browser network]",r?`page=${S(r,220)}`:null,a?`selected=${S(a.selector,180)}`:null,`entries=${S(s.join(" | "),520)}`]),draftText:_("console"===e?"Browser console logs":"Browser network logs",[r?`Page: ${r}`:null,a?`Selected element: ${a.selector}`:null,...n.map(t=>"console"===e?`- ${A(t.timestamp)} ${t.level}: ${t.message}`:`- ${A(t.timestamp)} ${t.method??"GET"} ${t.status??"-"} ${t.url??t.message}`)]),successMessage:"console"===e?"Added recent console logs to the chat composer.":"Added recent network logs to the chat composer."}}function I({sessionId:e,active:t,onQueueTerminalInsert:r,onConnectionChange:k}){let[y,E]=(0,n.useState)(null),[S,F]=(0,n.useState)([]),[_,R]=(0,n.useState)(!1),[L,T]=(0,n.useState)(!1),[W,H]=(0,n.useState)(!0),[P,O]=(0,n.useState)(!0),[z,B]=(0,n.useState)(null),[K,Z]=(0,n.useState)(null),[X,Y]=(0,n.useState)(null),[q,G]=(0,n.useState)(null),[J,Q]=(0,n.useState)("navigate"),[V,ee]=(0,n.useState)(null),[et,er]=(0,n.useState)(""),[ea,en]=(0,n.useState)({naturalWidth:0,naturalHeight:0,renderedWidth:0,renderedHeight:0}),es=(0,n.useRef)(null),el=(0,n.useRef)(Promise.resolve()),ei=(0,n.useRef)(null),eo=(0,n.useRef)(null),[ec,ed]=(0,n.useState)(!0),em=t&&ec,ex=$(y?.candidateUrls??[]);(0,n.useEffect)(()=>{let e=()=>{ed(!document.hidden)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[]);let eu=(0,n.useCallback)(async()=>{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview`,{cache:"no-store"}),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r&&"error"in r?r.error??"Failed to load preview state":`Failed to load preview state: ${t.status}`);E(r),B(null),er(e=>e.trim().length>0&&e!==r.currentUrl?e:r.currentUrl??$(r.candidateUrls)??r.candidateUrls[0]??e)},[e]),ep=(0,n.useCallback)(async t=>{T(!0),B(null);try{let r=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await r.json().catch(()=>null);if(!r.ok)throw a&&"object"==typeof a&&"status"in a&&a.status&&E(a.status),Error(a&&"error"in a?a.error??"Preview command failed":`Preview command failed: ${r.status}`);return E(a),a}finally{T(!1)}},[e]),eh=(0,n.useCallback)((e,t)=>{el.current=el.current.catch(()=>void 0).then(async()=>{try{await ep(e)}catch(e){B(e instanceof Error?e.message:t)}})},[ep]),ev=(0,n.useCallback)(async t=>{if(!y?.connected)return void F([]);R(!0);try{let r=new URLSearchParams;t&&r.set("frameId",t),P&&r.set("interactiveOnly","1");let a=await fetch(`/api/sessions/${encodeURIComponent(e)}/preview/dom?${r.toString()}`,{cache:"no-store"}),n=await a.json().catch(()=>null);if(!a.ok)throw Error(n&&"error"in n?n.error??"Failed to inspect DOM":`Failed to inspect DOM: ${a.status}`);F(n.nodes)}catch(e){B(e instanceof Error?e.message:"Failed to inspect DOM"),F([])}finally{R(!1)}},[P,e,y?.connected]);(0,n.useEffect)(()=>{if(!em)return;let e=!0;(async()=>{try{await eu()}catch(t){e&&B(t instanceof Error?t.message:"Failed to load preview")}finally{e&&H(!1)}})();let t=window.setInterval(()=>{eu().catch(t=>{e&&B(t instanceof Error?t.message:"Failed to refresh preview")})},4e3);return()=>{e=!1,window.clearInterval(t)}},[eu,em]),(0,n.useEffect)(()=>{em&&y?.connected?ev(y.activeFrameId):F([])},[P,ev,em,y?.activeFrameId,y?.connected,y?.screenshotKey]),(0,n.useEffect)(()=>{if(!em)return;if(y?.connected){es.current=null;return}if(ee(null),!ex)return;let e=es.current?.attemptedAt??NaN,t=es.current?.candidate??null,r=Date.now();t===ex&&Number.isFinite(e)&&r-e<5e3||(es.current={candidate:ex,attemptedAt:r},ep({command:"connect",url:ex}).catch(e=>{B(e instanceof Error?e.message:"Failed to connect preview")}))},[ex,ep,em,y?.connected]),(0,n.useEffect)(()=>{k?.(!!(em&&y?.connected&&y?.screenshotKey))},[k,em,y?.connected,y?.screenshotKey]);let eg=(0,n.useMemo)(()=>y?.connected?`/api/sessions/${encodeURIComponent(e)}/preview/screenshot?ts=${encodeURIComponent(y.screenshotKey)}`:null,[e,y?.connected,y?.screenshotKey]),ef=ex??y?.candidateUrls[0]??null,eb=(0,n.useMemo)(()=>y?.frames.find(e=>e.id===y.activeFrameId)??null,[y?.activeFrameId,y?.frames]),ew=(0,n.useMemo)(()=>y?.frames.find(e=>e.isMain)??null,[y?.frames]),ek=null!==q,ej=!!eb?.isMain,eN=(0,n.useMemo)(()=>{let e=y?.selectedElement?.bounds;if(!y?.selectedElement||!e||!ew||y.selectedElement.frameId!==ew.id||!ea.naturalWidth||!ea.naturalHeight||!ea.renderedWidth||!ea.renderedHeight)return null;let t=ea.renderedWidth/ea.naturalWidth,r=ea.renderedHeight/ea.naturalHeight;return{left:`${e.x*t}px`,top:`${e.y*r}px`,width:`${Math.max(e.width*t,2)}px`,height:`${Math.max(e.height*r,2)}px`}},[ea,ew,y?.selectedElement]),ey=(0,n.useCallback)(async()=>{let e=et.trim();if(e)try{await ep({command:"connect",url:e})}catch(e){B(e instanceof Error?e.message:"Failed to connect preview")}},[ep,et]),eE=(0,n.useCallback)((e,t,r=!1)=>{ee({anchorX:e,anchorY:t,pending:r}),Z(null),Y(null)},[]),e$=(0,n.useCallback)(e=>{Q(e),ee(null),Z(null),Y(null)},[]),eC=(0,n.useMemo)(()=>{if(!V)return null;let e=ea.renderedWidth||340,t=ea.renderedHeight||280,r=Math.max(220,t-24);if(e<=520)return{left:"12px",top:`${Math.max(12,t-Math.min(280,r)-12)}px`,width:`${Math.max(e-24,220)}px`,maxHeight:`${r}px`};let a=Math.min(340,Math.max(e-24,240)),n=Math.max(12,e-a-12),s=Math.max(12,t-280-12),l=V.anchorX+18,i=V.anchorY+18,o=l>n?Math.max(12,V.anchorX-a-18):l,c=i>s?Math.max(12,V.anchorY-280-18):i;return{left:`${Math.min(Math.max(o,12),n)}px`,top:`${Math.min(Math.max(c,12),s)}px`,width:`${a}px`,maxHeight:`${r}px`}},[ea.renderedHeight,ea.renderedWidth,V]);(0,n.useEffect)(()=>{if(!V)return;let e=e=>{"Escape"===e.key&&ee(null)};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[V]);let eA=(0,n.useCallback)(e=>{if(!ei.current)return null;let t=ei.current.getBoundingClientRect();if(!t.width||!t.height||!ei.current.naturalWidth||!ei.current.naturalHeight)return null;let r=e.clientX-t.left,a=e.clientY-t.top;return{anchorX:r,anchorY:a,x:r/t.width*ei.current.naturalWidth,y:a/t.height*ei.current.naturalHeight}},[]),eM=(0,n.useCallback)(e=>{r(e),Z(null),Y(e.successMessage)},[r]),eS=(0,n.useCallback)(async(e,t,r,a)=>{eE(r,a,!0);try{let n=await ep({command:"selectAtPoint",x:e,y:t});return eE(r,a,!1),n}catch(e){throw ee(null),e}},[eE,ep]),eF=(0,n.useCallback)(async(e,t)=>{let r=Math.max(ea.renderedWidth-44,12);eE(r,12,!0);try{let a=await ep({command:"selectBySelector",selector:e,frameId:t});return eE(r,12,!1),a}catch(e){throw ee(null),e}},[ea.renderedWidth,eE,ep]),e_=(0,n.useCallback)(async e=>{if(L)return;let t=eA(e);if(t){if(ee(null),Z(null),Y(null),"navigate"===J){eo.current?.focus({preventScroll:!0});try{await ep({command:"clickAtPoint",x:t.x,y:t.y})}catch(e){B(e instanceof Error?e.message:"Failed to interact with preview")}return}if(ej)try{await eS(t.x,t.y,t.anchorX,t.anchorY)}catch(e){B(e instanceof Error?e.message:"Failed to select element")}}},[L,ej,J,eA,ep,eS]),eD=(0,n.useCallback)(async e=>{if(L||"inspect"!==J||!ej)return;let t=eA(e);if(t){Z(null),Y(null);try{let e=await eS(t.x,t.y,t.anchorX,t.anchorY);if(!e.selectedElement)throw Error("No element found at the selected point");eM(D(e.selectedElement,e.currentUrl))}catch(e){B(e instanceof Error?e.message:"Failed to queue selected element")}}},[L,ej,J,eM,eA,eS]),eU=(0,n.useCallback)(e=>{if("navigate"!==J||!y?.connected||e.metaKey||e.ctrlKey||e.altKey)return;let t=C.get(e.key);if(t){e.preventDefault(),eh({command:"pressKey",key:t},"Failed to send key to preview");return}1===e.key.length&&(e.preventDefault(),eh({command:"typeText",text:e.key},"Failed to type into preview"))},[J,eh,y?.connected]),eI=(0,n.useCallback)(e=>{if("navigate"!==J||!y?.connected)return;let t=e.clipboardData.getData("text");t&&(e.preventDefault(),eh({command:"typeText",text:t},"Failed to paste into preview"))},[J,eh,y?.connected]),eR=(0,n.useCallback)(e=>{if(!y)return void Z("Preview state is not loaded yet.");let t=y.consoleLogs.slice(-80),r=y.networkLogs.slice(-80);if("selection"===e&&!y.selectedElement)return void Z("Select an element before adding preview context to the chat composer.");if("console"===e&&!t.length)return void Z("There are no console logs to send yet.");if("network"===e&&!r.length)return void Z("There are no network logs to send yet.");G(e),Z(null),Y(null);try{let a="selection"===e&&y.selectedElement?D(y.selectedElement,y.currentUrl):"console"===e?U("console",t,y.currentUrl,y.selectedElement):U("network",r,y.currentUrl,y.selectedElement);eM(a),"selection"===e&&ee(null)}catch(e){Z(e instanceof Error?e.message:"Failed to queue preview context")}finally{G(null)}},[eM,y]),eL=(0,n.useCallback)(async()=>{let e=y?.selectedElement?.selector;if(e)try{await navigator.clipboard.writeText(e),Y("Selector copied to clipboard."),Z(null)}catch{Z("Clipboard access is unavailable.")}},[y?.selectedElement?.selector]);return(0,a.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-2 overflow-auto",children:[(0,a.jsxs)(w.Zp,{children:[(0,a.jsxs)(w.aR,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(s.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Dev preview browser"}),y?.connected?(0,a.jsx)(f.E,{variant:"success",children:"connected"}):(0,a.jsx)(f.E,{variant:"outline",children:"idle"}),eb?(0,a.jsx)(f.E,{variant:"outline",children:eb.isMain?"main frame":"nested frame"}):null]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)(b.$,{type:"button",variant:"outline",size:"sm",onClick:()=>void eu().catch(e=>{B(e instanceof Error?e.message:"Failed to refresh preview")}),disabled:W||L,children:[(0,a.jsx)(l.A,{className:(0,j.cn)("h-3.5 w-3.5",L&&"animate-spin")}),"Refresh"]}),(0,a.jsxs)(b.$,{type:"button",variant:"outline",size:"sm",onClick:()=>void ep({command:"reload"}).catch(e=>{B(e instanceof Error?e.message:"Failed to reload preview")}),disabled:!y?.connected||L,children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5"}),"Reload page"]})]})]}),(0,a.jsxs)(w.Wu,{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,a.jsx)("input",{value:et,onChange:e=>er(e.target.value),placeholder:ef??"http://127.0.0.1:3000",className:"h-9 min-w-0 flex-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,a.jsxs)(b.$,{type:"button",variant:"primary",onClick:()=>void ey(),disabled:L||!et.trim(),children:[L?(0,a.jsx)(o.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(c.A,{className:"h-4 w-4"}),"Connect"]})]}),y?.candidateUrls.length?(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:y.candidateUrls.map(e=>(0,a.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-1 text-left text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",onClick:()=>{er(e),ep({command:"connect",url:e}).catch(e=>{B(e instanceof Error?e.message:"Failed to connect preview")})},children:[(0,a.jsx)(s.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:e})]},e))}):null,z||y?.lastError?(0,a.jsxs)("div",{className:"flex items-start gap-2 rounded-[4px] 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-[12px] text-[var(--vk-red)]",children:[(0,a.jsx)(d.A,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,a.jsx)("span",{children:z??y?.lastError})]}):null]})]}),(0,a.jsxs)(w.Zp,{className:"min-h-0 shrink-0 overflow-hidden",children:[(0,a.jsxs)(w.aR,{className:"flex flex-col items-start gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(m.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Preview"})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-1",children:[(0,a.jsxs)(b.$,{type:"button",size:"sm",variant:"navigate"===J?"primary":"ghost",onClick:()=>e$("navigate"),children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}),"Navigate"]}),(0,a.jsxs)(b.$,{type:"button",size:"sm",variant:"inspect"===J?"primary":"ghost",onClick:()=>e$("inspect"),children:[(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Inspect"]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(f.E,{variant:"outline",children:y?.title?M(y.title,40):"Untitled page"}),(0,a.jsx)(f.E,{variant:"outline",children:"navigate"===J?"navigate mode: clicks interact with the page":ej?"inspect mode: click once to select, double-click to add to chat":"inspect mode: use DOM list for this frame"})]})]})]}),(0,a.jsx)(w.Wu,{className:"min-h-0",children:(0,a.jsx)("div",{className:"flex h-[56vh] min-h-[200px] max-h-[620px] items-center justify-center overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[#111] p-2 sm:h-[72vh] sm:min-h-[360px] sm:max-h-[760px] sm:p-3",children:W?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[13px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(o.A,{className:"h-4 w-4 animate-spin"}),"Loading preview…"]}):eg?(0,a.jsxs)("div",{ref:eo,tabIndex:y?.connected?0:-1,onKeyDown:eU,onPaste:eI,className:"relative flex max-h-full max-w-full items-start justify-center overflow-auto rounded-[6px] outline-none focus-visible:ring-2 focus-visible:ring-[var(--vk-orange)] focus-visible:ring-offset-2 focus-visible:ring-offset-[#111]",children:[(0,a.jsx)("img",{ref:ei,src:eg,alt:"Session preview",className:(0,j.cn)("max-h-full max-w-full rounded-[4px] object-contain shadow-[0_18px_36px_rgba(0,0,0,0.28)]","navigate"===J?"cursor-pointer":ej?"cursor-crosshair":"cursor-default"),onClick:e=>void e_(e),onDoubleClick:e=>void eD(e),onLoad:e=>{let t=e.currentTarget;en({naturalWidth:t.naturalWidth,naturalHeight:t.naturalHeight,renderedWidth:t.clientWidth,renderedHeight:t.clientHeight})}}),"inspect"===J&&eN?(0,a.jsx)("div",{className:"pointer-events-none absolute border-2 border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_18%,transparent)] shadow-[0_0_0_1px_rgba(0,0,0,0.5)]",style:eN}):null,"inspect"===J&&V&&eC?(0,a.jsxs)("div",{className:"pointer-events-auto absolute z-20 flex flex-col overflow-hidden rounded-[10px] border border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_94%,black_6%)] shadow-[0_20px_44px_rgba(0,0,0,0.42)] backdrop-blur",style:eC,children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:"Chat composer"}),(0,a.jsx)("div",{className:"mt-1 text-[13px] font-medium text-[var(--vk-text-normal)]",children:V.pending?"Selecting element…":"Add selection to chat"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(b.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void eL(),disabled:V.pending||!y?.selectedElement,children:(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(b.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>ee(null),children:(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"})})]})]}),(0,a.jsx)("div",{className:"flex-1 space-y-3 overflow-y-auto px-3 py-3",children:V.pending?(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(o.A,{className:"h-4 w-4 animate-spin"}),"Capturing the selected element from the preview…"]}):y?.selectedElement?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:y.selectedElement.tag}),y.selectedElement.role?(0,a.jsx)(f.E,{variant:"outline",children:y.selectedElement.role}):null]}),(0,a.jsx)("div",{className:"mt-2 text-[12px] text-[var(--vk-text-normal)]",children:M(y.selectedElement.name||y.selectedElement.text||"Selected element",140)}),(0,a.jsx)("div",{className:"mt-2 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:y.selectedElement.selector})]}),(0,a.jsx)("div",{className:"rounded-[6px] border border-dashed border-[var(--vk-border)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"Double-click the element in the preview to add it immediately, or use the button below. The text is inserted into the chat composer instead of being sent right away, so you can add more context before submitting."}),K?(0,a.jsx)("div",{className:"text-[12px] text-[var(--vk-red)]",children:K}):null,(0,a.jsxs)(b.$,{type:"button",variant:"primary",className:"w-full",onClick:()=>void eR("selection"),disabled:ek||!y.selectedElement,children:["selection"===q?(0,a.jsx)(o.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(p.A,{className:"h-4 w-4"}),"Add to chat"]})]}):(0,a.jsx)("div",{className:"rounded-[6px] border border-dashed border-[var(--vk-border)] px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Single-click an element to inspect it here. Double-click to add it to the chat composer."})})]}):null]}):(0,a.jsx)("div",{className:"max-w-md text-center text-[13px] text-[var(--vk-text-muted)]",children:"Connect a local dev URL or explicit preview URL to start the preview browser. In Navigate mode, click the preview first, then type directly into the running app. Switch to Inspect mode to select UI elements and add browser context into the chat composer."})})})]}),X?(0,a.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-green)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-green)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-green)]",children:X}):null,!V&&K?(0,a.jsx)("div",{className:"rounded-[6px] border border-[color:color-mix(in_srgb,var(--vk-red)_35%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_10%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:K}):null,(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsxs)(w.Zp,{className:"min-h-0",children:[(0,a.jsxs)(w.aR,{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(h.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Frames and DOM"}),(0,a.jsx)(f.E,{variant:"outline",children:"inspect"===J?"inspect":"read-only in navigate mode"})]}),(0,a.jsx)(b.$,{type:"button",variant:P?"primary":"outline",size:"sm",onClick:()=>O(e=>!e),children:P?"Interactive only":"All nodes"})]}),(0,a.jsxs)(w.Wu,{className:"grid gap-2 xl:grid-cols-[220px_minmax(0,1fr)]",children:[(0,a.jsx)("div",{className:"space-y-2",children:y?.frames.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>{ep({command:"selectFrame",frameId:e.id}).catch(e=>{B(e instanceof Error?e.message:"Failed to select frame")})},className:(0,j.cn)("flex w-full flex-col items-start gap-1 rounded-[4px] border px-2 py-2 text-left transition-colors",y.activeFrameId===e.id?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(f.E,{variant:"outline",children:e.isMain?"main":"frame"}),(0,a.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:e.name})]}),(0,a.jsx)("span",{className:"w-full truncate text-[11px] text-[var(--vk-text-muted)]",children:e.url||"about:blank"})]},e.id))}),(0,a.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,a.jsx)(N,{className:"h-[200px] sm:h-[300px] xl:h-[360px]",children:(0,a.jsxs)("div",{className:"space-y-1 p-2",children:["navigate"===J?(0,a.jsx)("div",{className:"rounded-[4px] border border-dashed border-[var(--vk-border)] px-2 py-2 text-[11px] text-[var(--vk-text-muted)]",children:"Switch to Inspect mode to pick DOM nodes. Single-click selects a node. Double-click adds it to the chat composer."}):null,_?(0,a.jsxs)("div",{className:"flex items-center gap-2 px-2 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(o.A,{className:"h-4 w-4 animate-spin"}),"Inspecting frame DOM…"]}):S.length?S.map((e,t)=>(0,a.jsxs)("button",{type:"button",className:(0,j.cn)("w-full rounded-[4px] border border-[transparent] px-2 py-2 text-left","inspect"===J?"hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed opacity-60"),disabled:"inspect"!==J,onClick:()=>{ee(null),Z(null),Y(null),eF(e.selector,y?.activeFrameId).catch(e=>{B(e instanceof Error?e.message:"Failed to select DOM node")})},onDoubleClick:()=>{Z(null),Y(null),eF(e.selector,y?.activeFrameId).then(e=>{if(!e.selectedElement)throw Error("Failed to resolve the selected DOM node");eM(D(e.selectedElement,e.currentUrl))}).catch(e=>{B(e instanceof Error?e.message:"Failed to queue DOM node")})},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-mono text-[12px] text-[var(--vk-text-normal)]",children:e.tag}),e.interactive?(0,a.jsx)(f.E,{variant:"warning",children:"interactive"}):null,e.role?(0,a.jsx)(f.E,{variant:"outline",children:e.role}):null]}),(0,a.jsx)("div",{className:"mt-1 break-all font-mono text-[11px] text-[var(--vk-text-muted)]",children:e.selector}),e.text?(0,a.jsx)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-normal)]",children:M(e.text,180)}):null]},`${e.id??"node"}-${t}-${e.selector}-${e.tag}-${e.text}`)):(0,a.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No DOM nodes to show for the current frame yet."})]})})})]})]}),(0,a.jsxs)("div",{className:"grid gap-2 lg:grid-cols-2",children:[(0,a.jsxs)(w.Zp,{className:"min-h-0",children:[(0,a.jsxs)(w.aR,{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(v.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Console"}),(0,a.jsx)(f.E,{variant:"outline",children:y?.consoleLogs.length??0})]}),(0,a.jsxs)(b.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void eR("console"),disabled:ek||!y?.consoleLogs.length,children:["console"===q?(0,a.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(p.A,{className:"h-3.5 w-3.5"}),"Add to chat"]})]}),(0,a.jsx)(w.Wu,{children:(0,a.jsx)(N,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,a.jsx)("div",{className:"space-y-1 p-2",children:y?.consoleLogs.length?y.consoleLogs.map(e=>(0,a.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,a.jsx)("span",{children:e.level}),(0,a.jsx)("span",{children:A(e.timestamp)})]}),(0,a.jsx)("div",{className:"mt-1 whitespace-pre-wrap break-all font-mono",children:e.message})]},e.id)):(0,a.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Console output appears here once the page loads."})})})})]}),(0,a.jsxs)(w.Zp,{className:"min-h-0",children:[(0,a.jsxs)(w.aR,{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(g.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"text-[13px] font-medium text-[var(--vk-text-normal)]",children:"Network"}),(0,a.jsx)(f.E,{variant:"outline",children:y?.networkLogs.length??0})]}),(0,a.jsxs)(b.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void eR("network"),disabled:ek||!y?.networkLogs.length,children:["network"===q?(0,a.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(p.A,{className:"h-3.5 w-3.5"}),"Add to chat"]})]}),(0,a.jsx)(w.Wu,{children:(0,a.jsx)(N,{className:"h-[180px] sm:h-[260px] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:(0,a.jsx)("div",{className:"space-y-1 p-2",children:y?.networkLogs.length?y.networkLogs.map(e=>(0,a.jsxs)("div",{className:"rounded-[3px] px-2 py-1.5 text-[11px] text-[var(--vk-text-normal)]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-wide text-[var(--vk-text-muted)]",children:[(0,a.jsx)("span",{children:e.method??"GET"}),"number"==typeof e.status?(0,a.jsx)("span",{children:e.status}):null,e.resourceType?(0,a.jsx)("span",{children:e.resourceType}):null,(0,a.jsx)("span",{children:A(e.timestamp)})]}),(0,a.jsx)("div",{className:"mt-1 break-all font-mono",children:e.url??e.message})]},e.id)):(0,a.jsx)("div",{className:"px-2 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"Network requests appear here after the preview loads."})})})})]})]})]})]})}},90986:(e,t,r)=>{r.d(t,{E:()=>l});var a=r(54568),n=r(46916);let s={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function l({variant:e="default",className:t,children:r}){return(0,a.jsx)("span",{className:(0,n.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",s[e],t),children:r})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4443],{34443:(e,l,s)=>{s.r(l),s.d(l,{KeylessCreatorOrReader:()=>r});var a=s(79748),n=s(7620),t=s(45744);let r=e=>{var l;let{children:s}=e,r=(null==(l=(0,a.useSelectedLayoutSegments)()[0])?void 0:l.startsWith("/_not-found"))||!1,[i,c]=n.useActionState(t.a,null);return((0,n.useEffect)(()=>{r||n.startTransition(()=>{c()})},[r]),n.isValidElement(s))?n.cloneElement(s,{key:null==i?void 0:i.publishableKey,publishableKey:null==i?void 0:i.publishableKey,__internal_keyless_claimKeylessApplicationUrl:null==i?void 0:i.claimUrl,__internal_keyless_copyInstanceKeysUrl:null==i?void 0:i.apiKeysUrl,__internal_bypassMissingPublishableKey:!0}):s}},45744:(e,l,s)=>{s.d(l,{a:()=>n});var a=s(5974);let n=(0,a.createServerReference)("009340f17459d21b8c71dce446480436c023d880a8",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4997],{4997:(e,t,s)=>{s.r(t),s.d(t,{SessionDetail:()=>eo});var a=s(54568),n=s(42925),r=s(7620),i=s(79748),l=s(7920),c=s(30824),o=s(97380),d=s(41007),u=s(35131),x=s(46916);let m=u.bL,h=(0,r.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(u.B8,{ref:s,className:(0,x.cn)("inline-flex max-w-full items-center gap-0.5 overflow-x-auto rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-0.5 whitespace-nowrap touch-pan-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",e),...t}));h.displayName="TabsList";let f=(0,r.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(u.l9,{ref:s,className:(0,x.cn)("inline-flex min-h-[34px] shrink-0 items-center gap-1.5 rounded-[3px] px-2.5 py-1.5 text-[12px] text-[var(--vk-text-muted)]","data-[state=active]:bg-[var(--vk-bg-active)] data-[state=active]:text-[var(--vk-text-normal)]","hover:text-[var(--vk-text-normal)]","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]",e),...t}));f.displayName="TabsTrigger";let p=(0,r.forwardRef)(({className:e,...t},s)=>(0,a.jsx)(u.UC,{ref:s,className:(0,x.cn)("focus-visible:outline-none",e),...t}));p.displayName="TabsContent";var v=s(40443),g=s(35821),b=s(76050),j=s(34309),w=s(59706),k=s(34041),N=s(76265),y=s(45894),S=s(26463),C=s(96249),A=s(58299),$=s(56050),E=s(23555),I=s(60527),_=s(58588),L=s(99844),R=s(5881),F=s(90124);let D=(0,n.default)(()=>s.e(4535).then(s.bind(s,74535)).then(e=>e.SessionDiff),{loadableGenerated:{webpack:()=>[74535]},loading:()=>(0,a.jsx)("div",{className:"flex h-32 items-center justify-center text-[12px] text-[var(--vk-text-muted)]",children:"Loading changes…"}),ssr:!1});function P({text:e}){let[t,s]=(0,r.useState)(!1);async function n(){try{await navigator.clipboard.writeText(e),s(!0),window.setTimeout(()=>s(!1),1400)}catch{}}return(0,a.jsxs)("button",{type:"button",onClick:()=>void n(),className:"inline-flex max-w-[180px] items-center gap-1 font-mono text-[11px] text-[var(--vk-text-muted)] transition-colors hover:text-[var(--vk-text-normal)]",children:[(0,a.jsx)("span",{className:"truncate",children:e}),t?(0,a.jsx)(j.A,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,a.jsx)(w.A,{className:"h-3 w-3 shrink-0 opacity-50"})]})}function q(e,t){let s=e.metadata[t];return"string"==typeof s&&s.trim().length>0?s:void 0}function M(e){if(!e)return null;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:null}function T({node:e,depth:t,selectedPath:s,expandedDirs:n,onToggleDir:r,onSelectFile:i}){let l=n.has(e.path),c=e.path===s,o=8+16*t;return e.isDir?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>r(e.path),className:"flex w-full items-center gap-1.5 py-1.5 text-left text-[12px] text-[var(--vk-text-muted)] hover:bg-white/4 active:bg-white/6",style:{paddingLeft:o},children:[l?(0,a.jsx)(k.A,{className:"h-3 w-3 shrink-0 opacity-50"}):(0,a.jsx)(N.A,{className:"h-3 w-3 shrink-0 opacity-50"}),l?(0,a.jsx)(y.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}):(0,a.jsx)(S.A,{className:"h-3.5 w-3.5 shrink-0 text-amber-400/70"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]}),l?e.children.map(e=>(0,a.jsx)(T,{node:e,depth:t+1,selectedPath:s,expandedDirs:n,onToggleDir:r,onSelectFile:i},e.path)):null]}):(0,a.jsxs)("button",{type:"button",onClick:()=>i(e.path),className:`flex w-full items-center gap-1.5 py-1.5 pr-2 text-left text-[12px] transition-colors ${c?"bg-blue-500/10 text-[var(--vk-text-strong)]":"text-[var(--vk-text-normal)] hover:bg-white/4"}`,style:{paddingLeft:o+16},children:[(0,a.jsx)(C.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]})}let U={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",mjs:"javascript",cjs:"javascript",mts:"typescript",cts:"typescript",html:"html",htm:"html",css:"css",scss:"scss",sass:"sass",less:"less",vue:"vue",svelte:"svelte",astro:"astro",json:"json",jsonc:"jsonc",json5:"json5",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",xml:"xml",svg:"xml",plist:"xml",csv:"csv",tsv:"csv",md:"markdown",mdx:"mdx",tex:"latex",rst:"rst",rs:"rust",go:"go",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",hh:"cpp",cs:"csharp",java:"java",kt:"kotlin",kts:"kotlin",scala:"scala",swift:"swift",m:"objective-c",mm:"objective-cpp",zig:"zig",nim:"nim",v:"v",d:"d",py:"python",pyi:"python",rb:"ruby",php:"php",pl:"perl",pm:"perl",lua:"lua",r:"r",R:"r",jl:"julia",ex:"elixir",exs:"elixir",erl:"erlang",hrl:"erlang",hs:"haskell",lhs:"haskell",clj:"clojure",cljs:"clojure",ml:"ocaml",mli:"ocaml",fs:"fsharp",fsx:"fsharp",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",psm1:"powershell",bat:"bat",cmd:"bat",dockerfile:"dockerfile",containerfile:"dockerfile",tf:"hcl",hcl:"hcl",nix:"nix",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",proto:"protobuf",thrift:"thrift",makefile:"makefile",cmake:"cmake",asm:"asm",s:"asm",diff:"diff",patch:"diff",log:"log",txt:"plaintext",env:"dotenv",lock:"json"},O={makefile:"makefile",Makefile:"makefile",dockerfile:"dockerfile",Dockerfile:"dockerfile",containerfile:"dockerfile",Containerfile:"dockerfile",gemfile:"ruby",Gemfile:"ruby",rakefile:"ruby",Rakefile:"ruby",cmakelists:"cmake",CMakeLists:"cmake",".gitignore":"gitignore",".dockerignore":"gitignore",".editorconfig":"ini",".prettierrc":"json",".eslintrc":"json",".babelrc":"json",".env":"dotenv",".env.local":"dotenv",".env.production":"dotenv","tsconfig.json":"jsonc","jsconfig.json":"jsonc"},z=new Set(["png","jpg","jpeg","gif","webp","svg","ico","bmp","avif"]);function W(e){let t=e.split("/").pop()??"",s=t.lastIndexOf(".");return s>=0?t.slice(s+1).toLowerCase():""}function B({code:e,lang:t}){let[n,i]=(0,r.useState)(null),l=(0,r.useRef)(e),c=(0,r.useRef)(t);if((0,r.useEffect)(()=>{l.current=e,c.current=t;let a=!1;return(async()=>{try{let{codeToHtml:n}=await Promise.all([s.e(9526),s.e(3838)]).then(s.bind(s,13838));if(a)return;let r=await n(e,{lang:t,theme:"github-dark-default"});a||l.current!==e||c.current!==t||i(r)}catch{if(a)return;try{let{codeToHtml:t}=await Promise.all([s.e(9526),s.e(3838)]).then(s.bind(s,13838));if(a)return;let n=await t(e,{lang:"plaintext",theme:"github-dark-default"});a||i(n)}catch{a||i(null)}}})(),()=>{a=!0}},[e,t]),!n){let t=e.split("\n"),s=String(t.length).length;return(0,a.jsx)("div",{className:"inline-block min-w-full align-top",children:(0,a.jsx)("table",{className:"min-w-full border-collapse font-mono text-[11px] leading-5",children:(0,a.jsx)("tbody",{children:t.map((e,t)=>(0,a.jsxs)("tr",{className:"hover:bg-white/3",children:[(0,a.jsx)("td",{className:"select-none whitespace-nowrap border-r border-white/6 px-2 text-right text-[var(--vk-text-muted)] opacity-40",style:{minWidth:`${s+2}ch`},children:t+1}),(0,a.jsx)("td",{className:"whitespace-pre px-3 text-[var(--vk-text-normal)]",children:e||"\xa0"})]},t))})})})}return(0,a.jsx)("div",{className:"shiki-viewer inline-block min-w-full align-top [&_.shiki]:!bg-transparent [&_.shiki]:p-0 [&_code]:text-[11px] [&_code]:leading-5 [&_pre]:!bg-transparent [&_pre]:!p-0",dangerouslySetInnerHTML:{__html:n}})}function Z({sessionId:e,filePath:t}){let[s,n]=(0,r.useState)(null),[i,l]=(0,r.useState)(!0),[c,o]=(0,r.useState)(null),[d,u]=(0,r.useState)(!1),[x,m]=(0,r.useState)(!1),[h,f]=(0,r.useState)(0);if((0,r.useEffect)(()=>{let s=!1;l(!0),o(null),n(null),u(!1),m(!1),f(0);let a=new URLSearchParams({path:t});return fetch(`/api/sessions/${encodeURIComponent(e)}/files?${a.toString()}`,{cache:"no-store"}).then(async e=>{if(!e.ok)throw Error(`Failed to load file (${e.status})`);return e.json()}).then(e=>{s||(e.binary?u(!0):n("string"==typeof e.content?e.content:""),m(!!e.truncated),f("number"==typeof e.size?e.size:0))}).catch(e=>{s||o(e instanceof Error?e.message:"Failed to load file")}).finally(()=>{s||l(!1)}),()=>{s=!0}},[e,t]),i)return(0,a.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin"}),"Loading…"]});if(c)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-red-400",children:c});if(d&&z.has(W(t))){let s=new URLSearchParams({path:t,raw:"1"}),n=`/api/sessions/${encodeURIComponent(e)}/files?${s.toString()}`;return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-4",children:[(0,a.jsx)("img",{src:n,alt:t,className:"max-h-[60vh] max-w-full rounded-md object-contain"}),(0,a.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[t.split("/").pop(),h>0?` \xb7 ${G(h)}`:""]})]})}if(d){let e=W(t);return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 px-4 text-center",children:[(0,a.jsx)("div",{className:"rounded-lg bg-white/4 p-4",children:(0,a.jsx)(C.A,{className:"mx-auto h-8 w-8 text-[var(--vk-text-muted)]"})}),(0,a.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:["Binary file",e?` (.${e})`:""," — preview not available"]}),h>0?(0,a.jsx)("p",{className:"text-[11px] text-[var(--vk-text-muted)] opacity-60",children:G(h)}):null]})}let p=function(e){let t=e.split("/").pop()??"";if(O[t])return O[t];let s=t.lastIndexOf(".");if(s>=0){let e=t.slice(s+1).toLowerCase();if(U[e])return U[e]}return"plaintext"}(t);return(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[x?(0,a.jsxs)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1 text-[11px] text-amber-300",children:["File truncated",h>0?` (${G(h)} total)`:""]}):null,(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-auto overscroll-contain touch-pan-x touch-pan-y py-2",children:(0,a.jsx)(B,{code:s??"",lang:p})})]})}function G(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function K({sessionId:e,active:t}){let[s,n]=(0,r.useState)([]),[i,l]=(0,r.useState)(!0),[c,o]=(0,r.useState)(null),[d,u]=(0,r.useState)(!1),[x,m]=(0,r.useState)(""),[h,f]=(0,r.useState)(null),[p,v]=(0,r.useState)(new Set),g=(0,r.useRef)(!0),b=(0,r.useCallback)(async()=>{try{l(!0);let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/files`,{cache:"no-store"});if(!t.ok)throw Error(`Failed to load files (${t.status})`);let s=await t.json();if(!g.current)return;n(s.files??[]),u(!!s.truncated),o(null)}catch(e){if(!g.current)return;o(e instanceof Error?e.message:"Failed to load files")}finally{g.current&&l(!1)}},[e]);(0,r.useEffect)(()=>(g.current=!0,t&&b(),()=>{g.current=!1}),[t,b]);let j=(0,r.useMemo)(()=>(function(e){let t={name:"",path:"",children:[],isDir:!0};for(let s of e){let e=s.split("/"),a=t,n="";for(let t=0;t<e.length;t++){let s=e[t];n=n?`${n}/${s}`:s;let r=t===e.length-1,i=a.children.find(e=>e.name===s);i||(i={name:s,path:n,children:[],isDir:!r},a.children.push(i)),a=i}}return function e(t){for(let s of(t.sort((e,t)=>e.isDir!==t.isDir?e.isDir?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base"})),t))s.children.length>0&&e(s.children);return t}(t.children)})(s),[s]),w=(0,r.useMemo)(()=>(function(e,t){if(!t)return e;let s=t.toLowerCase();return function e(t){let a=[];for(let n of t)(function e(t){return!!(t.name.toLowerCase().includes(s)||t.path.toLowerCase().includes(s))||t.children.some(e)})(n)&&(n.isDir?a.push({...n,children:e(n.children)}):a.push(n));return a}(e)})(j,x.trim()),[j,x]);(0,r.useEffect)(()=>{if(x.trim()){let e=new Set;!function t(s){for(let a of s)a.isDir&&(e.add(a.path),t(a.children))}(w),v(e)}},[w,x]);let k=(0,r.useCallback)(e=>{v(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),N=(0,r.useCallback)(e=>{f(e)},[]),y=(0,r.useCallback)(()=>{f(null)},[]);if(i&&0===s.length)return(0,a.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin"}),"Loading workspace files…"]});if(c)return(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-4 text-center",children:[(0,a.jsx)("p",{className:"text-[12px] text-red-400",children:c}),(0,a.jsx)("button",{type:"button",onClick:()=>void b(),className:"text-[11px] text-[var(--vk-text-muted)] underline hover:text-[var(--vk-text-normal)]",children:"Retry"})]});let S=h?(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col lg:hidden",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-2",children:[(0,a.jsx)("button",{type:"button",onClick:y,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6","aria-label":"Back to file list",children:(0,a.jsx)($.A,{className:"h-4 w-4"})}),(0,a.jsx)(C.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:h})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(Z,{sessionId:e,filePath:h})})]}):null;return(0,a.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-y-auto overscroll-contain lg:overflow-hidden",children:[S,(0,a.jsxs)("div",{className:`flex shrink-0 items-center gap-2 border-b border-white/8 px-2 py-1.5 ${h?"hidden lg:flex":""}`,children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 rounded-md bg-white/4 px-2 py-1.5",children:[(0,a.jsx)(E.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{type:"text",value:x,onChange:e=>m(e.target.value),placeholder:"Search files…",className:"min-w-0 flex-1 bg-transparent text-[12px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,a.jsx)("button",{type:"button",onClick:()=>void b(),disabled:i,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[var(--vk-text-muted)] hover:bg-white/6 disabled:opacity-50","aria-label":"Refresh files",children:(0,a.jsx)(I.A,{className:`h-3.5 w-3.5 ${i?"animate-spin":""}`})})]}),d?(0,a.jsx)("div",{className:`shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1.5 text-[11px] text-amber-300 ${h?"hidden lg:block":""}`,children:"File list truncated (4000 file limit)"}):null,(0,a.jsxs)("div",{className:`min-h-0 flex-1 lg:flex lg:flex-row ${h?"hidden lg:flex":"flex flex-col"}`,children:[(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain py-1 lg:max-w-[320px] lg:border-r lg:border-white/8",children:0===w.length?(0,a.jsx)("div",{className:"px-3 py-6 text-center text-[12px] text-[var(--vk-text-muted)]",children:x?"No files match your search.":"No files in workspace."}):w.map(e=>(0,a.jsx)(T,{node:e,depth:0,selectedPath:h,expandedDirs:p,onToggleDir:k,onSelectFile:N},e.path))}),(0,a.jsx)("div",{className:"hidden min-h-0 min-w-0 flex-1 lg:block",children:h?(0,a.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-white/8 px-3 py-2",children:[(0,a.jsx)(C.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsx)("span",{className:"truncate font-mono text-[11px] text-[var(--vk-text-strong)]",children:h})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,a.jsx)(Z,{sessionId:e,filePath:h})})]}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-[12px] text-[var(--vk-text-muted)]",children:"Select a file to view its contents"})})]})]})}function J({session:e,sessionId:t,active:s}){let[n,i]=(0,r.useState)("changes"),l=(0,r.useMemo)(()=>q(e,"task")??q(e,"prompt")??("string"==typeof e.task?e.task:"")??("string"==typeof e.prompt?e.prompt:""),[e]),c=(0,r.useMemo)(()=>q(e,"agent")??("string"==typeof e.agent?e.agent:""),[e]),o=(0,r.useMemo)(()=>(function(e,t){if(!e||!t)return"";let s=new Date(e).getTime(),a=new Date(t).getTime();if(!Number.isFinite(s)||!Number.isFinite(a)||a<s)return"";let n=Math.floor((a-s)/6e4);if(n<1)return"<1m";if(n<60)return`${n}m`;let r=Math.floor(n/60);return`${r}h ${n%60}m`})(q(e,"startedAt")??e.startedAt,q(e,"finishedAt")??e.finishedAt),[e]),d=(0,r.useMemo)(()=>(function(e){if("number"==typeof e.cost)return e.cost;let t=e.metadata.cost;if("string"!=typeof t)return 0;try{let e=JSON.parse(t),s="number"==typeof e.estimatedCostUsd?e.estimatedCostUsd:0,a="number"==typeof e.totalUSD?e.totalUSD:0;return s??a}catch{return 0}})(e),[e]),u=(0,r.useMemo)(()=>M(q(e,"queuePosition")),[e]),x=(0,r.useMemo)(()=>M(q(e,"queueDepth")),[e]),m=(0,r.useMemo)(()=>q(e,"recoveryState")??"",[e]),h=(0,r.useMemo)(()=>"queued"===e.status?u?`Waiting in queue at position ${u}${x?` of ${x}`:""}.`:"Waiting in the launch queue.":"requeued_after_restart"===m?"Session recovered after backend restart and requeued.":"reattach_pending"===m?"Recovering terminal runtime after backend restart.":"detached_runtime"===m?"Backend restarted while agent may still be running.":"resume_required"===m?"Session recovered after restart. Send a message to resume.":"",[x,u,m,e.status]);return(0,a.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-y-auto overscroll-contain lg:overflow-hidden",children:[h?(0,a.jsx)("div",{className:"shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-2",children:(0,a.jsx)("p",{className:"text-[12px] leading-snug text-amber-300",children:h})}):null,l?(0,a.jsx)("div",{className:"shrink-0 border-b border-white/8 px-3 py-2.5",children:(0,a.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap text-[13px] leading-relaxed text-[var(--vk-text-normal)]",children:l})}):null,(0,a.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-x-4 gap-y-1 border-b border-white/8 px-3 py-2 text-[11px] text-[var(--vk-text-muted)]",children:[c?(0,a.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(F.N,{seed:{label:c},className:"h-4 w-4"}),(0,a.jsx)("span",{children:c})]}):null,e.branch?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(_.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)(P,{text:e.branch})]}):null,o?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(L.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{children:o})]}):null,d>0?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(R.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsxs)("span",{children:["$",d.toFixed(3)]})]}):null]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-0 border-b border-white/8 px-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>i("changes"),className:`px-3 py-2 text-[12px] font-medium transition-colors ${"changes"===n?"border-b-2 border-[var(--vk-orange)] text-[var(--vk-text-strong)]":"border-b-2 border-transparent text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"}`,children:"Changes"}),(0,a.jsx)("button",{type:"button",onClick:()=>i("files"),className:`px-3 py-2 text-[12px] font-medium transition-colors ${"files"===n?"border-b-2 border-[var(--vk-orange)] text-[var(--vk-text-strong)]":"border-b-2 border-transparent text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"}`,children:"Files"})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain",children:"changes"===n?(0,a.jsx)(D,{sessionId:t,active:s},t):(0,a.jsx)(K,{sessionId:t,active:s&&"files"===n})})]})}var V=s(40448),H=s(50549),Q=s(26083),X=s(31404),Y=s(59207);let ee="block h-5 w-5 shrink-0 object-contain",et=[{id:"finder",label:"Finder"},{id:"cursor",label:"Cursor"},{id:"antigravity",label:"Antigravity"},{id:"windsurf",label:"Windsurf"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"custom",label:"Custom"}],es={finder:{kind:"image",imageSrc:"/icons/ide/finder.svg",className:ee},vscode:{kind:"image",imageSrc:"/icons/ide/vscode-dark.svg",className:ee},"vscode-insiders":{kind:"image",imageSrc:"/icons/ide/vscode-insiders.svg",className:ee},cursor:{kind:"image",imageSrc:"/icons/ide/cursor-dark.svg",className:ee},windsurf:{kind:"image",imageSrc:"/icons/ide/windsurf-dark.svg",className:ee},"intellij-idea":{kind:"image",imageSrc:"/icons/ide/intellij.svg",className:ee},zed:{kind:"image",imageSrc:"/icons/ide/zed-dark.svg",className:ee},xcode:{kind:"image",imageSrc:"/icons/ide/xcode.svg",className:ee},antigravity:{kind:"image",imageSrc:"/icons/ide/antigravity-dark.svg",className:ee},custom:{kind:"icon",className:`${ee} text-[var(--vk-text-muted)]`}};function ea({editorId:e,label:t}){let s=es[e];return s?"icon"===s.kind?(0,a.jsx)(H.A,{className:s?.className??`${ee} text-[var(--vk-text-muted)]`}):(0,a.jsx)("img",{src:s.imageSrc,alt:`${t} logo`,className:s.className}):(0,a.jsx)(H.A,{className:`${ee} text-[var(--vk-text-muted)]`})}function en({projectId:e,bridgeId:t,label:s="Open",triggerClassName:n}){let{preferences:i}=(0,Y.g)(t),[l,c]=(0,r.useState)(null),o=(0,r.useMemo)(()=>{var e;return e=i?.ide??"vscode",et.find(t=>t.id===e)??{id:e,label:e}},[i?.ide]);async function d(s){if(e&&!l){c(s);try{let a=await fetch((0,X.S)(`/api/projects/${encodeURIComponent(e)}/open`,t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ide:s})}),n=await a.json().catch(()=>null);if(!a.ok)throw Error(n?.error??`Failed to open project (${a.status})`)}catch(e){window.alert(e instanceof Error?e.message:"Failed to open project")}finally{c(null)}}}return(0,a.jsxs)(V.bL,{children:[(0,a.jsx)(V.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",disabled:!e||null!==l,className:(0,x.cn)("inline-flex h-9 items-center gap-2 rounded-[6px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.06)] disabled:cursor-not-allowed disabled:opacity-60",n),"aria-label":"Open project in code editor",title:e?`Open project in ${o.label}`:"No project selected",children:[l?(0,a.jsx)(A.A,{className:"h-4 w-4 animate-spin text-current"}):(0,a.jsx)(Q.A,{className:"h-4 w-4 text-current"}),(0,a.jsx)("span",{className:"hidden font-medium sm:inline",children:s}),(0,a.jsx)(k.A,{className:"h-3.5 w-3.5 text-current"})]})}),(0,a.jsx)(V.ZL,{children:(0,a.jsx)(V.UC,{align:"end",sideOffset:8,className:"z-50 min-w-[240px] rounded-[8px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:et.map(e=>(0,a.jsxs)(V.q7,{onSelect:()=>void d(e.id),className:"flex min-h-[44px] cursor-default items-center gap-3 rounded-[6px] px-3 py-2 text-[14px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)]",children:[(0,a.jsx)(ea,{editorId:e.id,label:e.label}),(0,a.jsx)("span",{className:"flex-1",children:e.label}),o.id===e.id?(0,a.jsx)(j.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}):null]},e.id))})})]})}(0,n.default)(()=>s.e(3816).then(s.bind(s,83816)).then(e=>e.SessionTerminal),{loadableGenerated:{webpack:()=>[83816]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading terminal..."})});let er=(0,n.default)(()=>Promise.all([s.e(8655),s.e(2799)]).then(s.bind(s,22799)).then(e=>e.SessionPreview),{loadableGenerated:{webpack:()=>[22799]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading preview..."})}),ei=(0,n.default)(()=>s.e(1874).then(s.bind(s,81874)).then(e=>e.SessionSkills),{loadableGenerated:{webpack:()=>[81874]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading skills..."})}),el=(0,n.default)(()=>Promise.all([s.e(9526),s.e(7459),s.e(7033),s.e(3866)]).then(s.bind(s,77033)).then(e=>e.SessionChatDock),{loadableGenerated:{webpack:()=>[77033]},loading:()=>(0,a.jsx)("div",{className:"flex h-full min-h-[240px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading chat..."})});function ec(e,t){let s=(0,b.tK)(t);return"overview"===e||"preview"===e||"skills"===e?e:"chat"===e||"terminal"===e?"chat":s}function eo({sessionId:e,initialSession:t=null,bridgeId:s=null,immersiveMobileMode:n=!1,active:u=!0,suppressPreviewAutoOpen:x=!1,onOpenSidebar:j}){let w=(0,i.usePathname)(),k=(0,i.useRouter)(),N=(0,i.useSearchParams)(),{session:y,loading:S,error:C}=(0,g.w)(e,t,{enabled:u,bridgeId:s}),A=(0,r.useRef)(0),$=(0,r.useRef)(!1),[E,I]=(0,r.useState)(null),_=(0,r.useMemo)(()=>ec(N.get("tab"),y),[N,y]),L=(0,r.useCallback)(e=>{let t=ec(e,y),s=(0,b.tK)(y),a=new URLSearchParams(N.toString());t===s?a.delete("tab"):a.set("tab",t);let n=a.toString(),r=n.length>0?`${w}?${n}`:w;k.replace(r,{scroll:!1})},[w,k,N,y]);(0,r.useEffect)(()=>{if(!y)return;let e=N.get("tab"),t=ec(e,y),s=t===(0,b.tK)(y)?null:t;if((e?.trim()?e:null)===s)return;let a=new URLSearchParams(N.toString());s?a.set("tab",s):a.delete("tab");let n=a.toString(),r=n.length>0?`${w}?${n}`:w;k.replace(r,{scroll:!1})},[w,k,N,y]);let R=(0,r.useCallback)(e=>{A.current+=1,I({nonce:A.current,...e}),L("chat")},[L]);(0,r.useEffect)(()=>{$.current=!1,A.current=0,I(null)},[e]);let F=(0,r.useCallback)(e=>{(function({active:e,activeTab:t,alreadyOpened:s,connected:a,suppressAutoOpen:n}){return a&&e&&"terminal"===t&&!s&&!n})({active:u,activeTab:_,alreadyOpened:$.current,connected:e,suppressAutoOpen:x})&&($.current=!0,L("preview"))},[u,_,L,x]);if(S)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(v.Zp,{className:"w-full max-w-md",children:(0,a.jsx)(v.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Loading session workspace..."})})});if(C)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(v.Zp,{className:"w-full max-w-md border-[color:color-mix(in_srgb,var(--status-error)_45%,transparent)]",children:(0,a.jsx)(v.Wu,{className:"py-7 text-center text-[13px] text-[var(--status-error)]",children:C})})});if(!y)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center p-6",children:(0,a.jsx)(v.Zp,{className:"w-full max-w-md",children:(0,a.jsx)(v.Wu,{className:"py-7 text-center text-[13px] text-[var(--text-muted)]",children:"Session not found"})})});let D="string"==typeof y.status?y.status:"unknown";(0,b.Zu)(y);let P=function(e){switch(e){case"needs_input":return"needs input";case"working":return"working";case"running":return"running";case"spawning":return"spawning";case"queued":return"queued";default:return e.replace(/[_-]+/g," ")}}(D),q=function(e){switch(e){case"working":case"running":return"bg-amber-400";case"needs_input":return"bg-blue-400";case"spawning":case"queued":default:return"bg-gray-400";case"done":return"bg-emerald-400";case"errored":return"bg-red-400";case"stuck":return"bg-[var(--vk-accent)]";case"terminated":case"killed":return"bg-gray-500"}}(D),M="working"===D||"running"===D||"spawning"===D||"queued"===D||"needs_input"===D,T="queued"!==D&&"spawning"!==D,U=u&&"preview"===_,O="min-h-[38px] gap-1.5 px-2.5 text-[12px] sm:min-h-0 sm:px-3",z=(0,a.jsxs)(h,{className:"flex w-full overflow-x-auto sm:w-fit sm:inline-flex",children:[(0,a.jsxs)(f,{value:"overview",className:O,children:[(0,a.jsx)(l.A,{className:"h-3.5 w-3.5"}),"Overview"]}),(0,a.jsxs)(f,{value:"chat",className:O,children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}),"Chat"]}),(0,a.jsxs)(f,{value:"preview",className:O,children:[(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Preview"]}),(0,a.jsxs)(f,{value:"skills",className:O,children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"}),"Skills"]})]});return(0,a.jsx)("div",{className:"flex h-full min-h-0 min-w-0 w-full flex-col overflow-y-auto overscroll-contain lg:overflow-hidden",children:(0,a.jsxs)(m,{value:_,onValueChange:L,className:"flex min-h-0 min-w-0 w-full flex-1 flex-col gap-1 p-1 lg:gap-2 lg:p-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1.5 sm:flex-nowrap",children:[z,(0,a.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:ml-auto sm:w-auto sm:justify-end",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:`inline-block h-2 w-2 shrink-0 rounded-full ${q}${M?" animate-pulse":""}`}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:P}),(0,a.jsxs)("span",{className:"hidden font-mono text-[10px] text-[var(--vk-text-muted)] sm:inline",children:["\xb7 ",e.slice(0,7)]})]}),T?(0,a.jsx)(en,{projectId:y.projectId,bridgeId:y.bridgeId??null}):null]})]}),(0,a.jsxs)("div",{className:"relative min-h-0 min-w-0 flex-1 overflow-hidden",children:[(0,a.jsx)(p,{value:"overview",className:"min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:invisible data-[state=inactive]:opacity-0",children:(0,a.jsx)(J,{session:y,sessionId:e,active:u&&"overview"===_})}),(0,a.jsx)(p,{value:"chat",forceMount:!0,className:"min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:invisible data-[state=inactive]:opacity-0",children:(0,a.jsx)(el,{session:y,bridgeId:y.bridgeId??s,className:"h-full w-full border-0 xl:w-full",hideOpenSessionAction:!0,composerInsert:E})}),(0,a.jsx)(p,{value:"preview",className:"min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:invisible data-[state=inactive]:opacity-0",children:U?(0,a.jsx)(er,{sessionId:e,active:U,onQueueTerminalInsert:R,onConnectionChange:F},e):null}),(0,a.jsx)(p,{value:"skills",className:"min-h-0 h-full min-w-0 w-full overflow-hidden focus-visible:outline-none [&[hidden]]:block data-[state=inactive]:pointer-events-none data-[state=inactive]:absolute data-[state=inactive]:inset-0 data-[state=inactive]:invisible data-[state=inactive]:opacity-0",children:(0,a.jsx)(ei,{session:y,sessionId:e,active:u&&"skills"===_})})]})]},e)})}},40443:(e,t,s)=>{s.d(t,{Wu:()=>l,Zp:()=>r,aR:()=>i});var a=s(54568),n=s(46916);let r=(0,s(7620).forwardRef)(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("surface-card rounded-[var(--radius-md)] border",e),...t}));function i({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...t})}function l({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("px-3 py-2",e),...t})}r.displayName="Card"},59207:(e,t,s)=>{s.d(t,{g:()=>i});var a=s(7620),n=s(31404);function r(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function i(e,t){let s=t?.enabled??!0,[i,l]=(0,a.useState)(null),[c,o]=(0,a.useState)(s),[d,u]=(0,a.useState)(null),x=(0,a.useCallback)(async()=>{if(!s){l(null),u(null),o(!1);return}try{var t;let s,a,i,c=await fetch((0,n.S)("/api/preferences",e)),o=await c.json().catch(()=>null);if(!c.ok)throw Error(o?.error??o?.reason??`Failed to load preferences: ${c.status}`);l((t=o?.preferences,s=r(t),i=(a=r(s.notifications)).soundFile,{onboardingAcknowledged:!0===s.onboardingAcknowledged,codingAgent:"string"==typeof s.codingAgent&&s.codingAgent.trim().length>0?s.codingAgent.trim():"claude-code",ide:"string"==typeof s.ide&&s.ide.trim().length>0?s.ide.trim():"vscode",markdownEditor:"string"==typeof s.markdownEditor&&s.markdownEditor.trim().length>0?s.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof s.markdownEditorPath?s.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===i?null:"string"==typeof i&&i.trim().length>0?i.trim():"abstract-sound-4"}})),u(null)}catch(e){l(null),u(e instanceof Error?e.message:"Failed to load preferences")}finally{o(!1)}},[e,s]);return(0,a.useEffect)(()=>{s&&x()},[s,x]),{preferences:s?i:null,loading:!!s&&c,error:s?d:null,refresh:x}}}}]);