conductor-oss 0.7.1 → 0.9.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 (381) hide show
  1. package/README.md +173 -134
  2. package/dist/backend.d.ts.map +1 -1
  3. package/dist/backend.js +18 -2
  4. package/dist/backend.js.map +1 -1
  5. package/dist/commands/dashboard.d.ts.map +1 -1
  6. package/dist/commands/dashboard.js +13 -7
  7. package/dist/commands/dashboard.js.map +1 -1
  8. package/node_modules/@conductor-oss/core/dist/config.d.ts.map +1 -1
  9. package/node_modules/@conductor-oss/core/dist/config.js +6 -1
  10. package/node_modules/@conductor-oss/core/dist/config.js.map +1 -1
  11. package/package.json +8 -6
  12. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  13. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +2 -0
  14. package/web/.next/standalone/packages/web/.next/build-manifest.json +7 -7
  15. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  16. package/web/.next/standalone/packages/web/.next/routes-manifest.json +44 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page/build-manifest.json +5 -5
  18. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +2 -2
  20. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +7 -7
  21. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  22. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  23. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  24. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  25. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/build-manifest.json +5 -5
  27. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  28. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +2 -2
  29. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/_not-found.rsc +11 -11
  33. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  34. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  35. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  36. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  37. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  38. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  39. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js +2 -2
  40. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +2 -2
  42. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js +2 -2
  44. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js.nft.json +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +2 -2
  46. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js +2 -2
  48. package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js.nft.json +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js +2 -2
  50. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js.nft.json +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +2 -2
  52. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +2 -2
  54. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js +2 -2
  56. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js.nft.json +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +2 -2
  58. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +2 -2
  60. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +2 -2
  62. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.nft.json +1 -1
  63. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +2 -2
  64. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
  65. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +2 -2
  66. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.nft.json +1 -1
  67. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +2 -2
  68. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js +2 -2
  70. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js.nft.json +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +2 -2
  72. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
  73. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +2 -2
  74. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +2 -2
  76. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +2 -2
  78. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
  79. package/web/.next/standalone/packages/web/.next/server/app/api/remote-access/route.js +2 -2
  80. package/web/.next/standalone/packages/web/.next/server/app/api/remote-access/route.js.nft.json +1 -1
  81. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +2 -2
  82. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  83. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +2 -2
  84. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
  85. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +2 -2
  86. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
  87. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +2 -2
  88. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
  89. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +2 -2
  90. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
  91. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +2 -2
  92. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
  93. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js +2 -2
  94. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js.nft.json +1 -1
  95. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/stream/route.js +2 -2
  96. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/stream/route.js.nft.json +1 -1
  97. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js +2 -2
  98. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js.nft.json +1 -1
  99. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +2 -2
  100. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
  101. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js +2 -2
  102. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js.nft.json +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +2 -2
  104. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js.nft.json +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +2 -2
  106. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
  107. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +2 -2
  108. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
  109. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +2 -2
  110. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js.nft.json +1 -1
  111. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js +1 -1
  112. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js.nft.json +1 -1
  113. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js +1 -1
  114. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js.nft.json +1 -1
  115. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js.nft.json +1 -1
  117. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js +2 -2
  118. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
  119. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +2 -2
  120. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  121. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js +2 -2
  122. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
  123. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route/app-paths-manifest.json +3 -0
  124. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route/build-manifest.json +11 -0
  125. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route/server-reference-manifest.json +4 -0
  126. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route.js +10 -0
  127. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route.js.map +5 -0
  128. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route.js.nft.json +1 -0
  129. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route_client-reference-manifest.js +2 -0
  130. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route/app-paths-manifest.json +3 -0
  131. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route/build-manifest.json +11 -0
  132. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route/server-reference-manifest.json +4 -0
  133. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js +10 -0
  134. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.map +5 -0
  135. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.nft.json +1 -0
  136. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route_client-reference-manifest.js +2 -0
  137. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +2 -2
  138. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  139. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +2 -2
  140. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
  141. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +2 -2
  142. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +2 -2
  144. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  145. package/web/.next/standalone/packages/web/.next/server/app/page/build-manifest.json +5 -5
  146. package/web/.next/standalone/packages/web/.next/server/app/page/react-loadable-manifest.json +4 -4
  147. package/web/.next/standalone/packages/web/.next/server/app/page/server-reference-manifest.json +7 -7
  148. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  149. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  150. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  151. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/build-manifest.json +5 -5
  152. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/server-reference-manifest.json +7 -7
  153. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  154. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  155. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  156. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/build-manifest.json +5 -5
  157. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/server-reference-manifest.json +7 -7
  158. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  159. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  160. package/web/.next/standalone/packages/web/.next/server/app/unlock/page/build-manifest.json +5 -5
  161. package/web/.next/standalone/packages/web/.next/server/app/unlock/page/server-reference-manifest.json +14 -14
  162. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  163. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  164. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +2 -0
  165. package/web/.next/standalone/packages/web/.next/server/chunks/26076_server_app_api_sessions_[id]_terminal_connection_route_actions_46c114ee.js +3 -0
  166. package/web/.next/standalone/packages/web/.next/server/chunks/26076_server_app_api_sessions_[id]_terminal_snapshot_route_actions_cfb4de43.js +3 -0
  167. package/web/.next/standalone/packages/web/.next/server/chunks/730ea_web__next-internal_server_app_api_sessions_[id]_restore_route_actions_41a4c356.js +1 -1
  168. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b716459f._.js → [root-of-the-server]__08556fc3._.js} +2 -2
  169. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__624bcdc9._.js → [root-of-the-server]__0e496df1._.js} +2 -2
  170. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__9bf61231._.js → [root-of-the-server]__115b433b._.js} +2 -2
  171. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__70929198._.js → [root-of-the-server]__120a0868._.js} +2 -2
  172. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__17d710ef._.js → [root-of-the-server]__1a623333._.js} +2 -2
  173. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__262e987e._.js +1 -1
  174. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__31053ac2._.js → [root-of-the-server]__2713bac9._.js} +2 -2
  175. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8c576b6a._.js → [root-of-the-server]__2798ac7c._.js} +2 -2
  176. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__747e6415._.js → [root-of-the-server]__27b2bd14._.js} +2 -2
  177. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__a4b1a94c._.js → [root-of-the-server]__29d94573._.js} +2 -2
  178. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__732fc06e._.js → [root-of-the-server]__2b59cba9._.js} +2 -2
  179. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2ce39d51._.js +1 -1
  180. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3e507276._.js → [root-of-the-server]__2fea4a4c._.js} +2 -2
  181. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__59635ca5._.js → [root-of-the-server]__36559d88._.js} +2 -2
  182. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__f0ec1021._.js → [root-of-the-server]__4117784b._.js} +2 -2
  183. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__543bc377._.js → [root-of-the-server]__43b35d39._.js} +2 -2
  184. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__ba70a88e._.js → [root-of-the-server]__444bf146._.js} +2 -2
  185. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__fd0a681b._.js → [root-of-the-server]__45483f4b._.js} +2 -2
  186. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__98f4a7bd._.js → [root-of-the-server]__4644a89e._.js} +2 -2
  187. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4c78886c._.js +3 -0
  188. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__e7aaee2d._.js → [root-of-the-server]__4cea5dca._.js} +2 -2
  189. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__33494588._.js → [root-of-the-server]__575c7392._.js} +2 -2
  190. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__eae97345._.js → [root-of-the-server]__57605af7._.js} +2 -2
  191. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__be233a9f._.js → [root-of-the-server]__57c8ca1a._.js} +2 -2
  192. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5e2b35cd._.js +3 -0
  193. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8ace49d1._.js → [root-of-the-server]__5f5433df._.js} +2 -2
  194. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6313c91e._.js +3 -3
  195. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3dc4c761._.js → [root-of-the-server]__6a8b5dc7._.js} +2 -2
  196. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3318d8a1._.js → [root-of-the-server]__717081d9._.js} +2 -2
  197. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__ae73aa49._.js → [root-of-the-server]__75668566._.js} +2 -2
  198. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b4039db5._.js → [root-of-the-server]__7a6210dc._.js} +2 -2
  199. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__34e636e5._.js → [root-of-the-server]__7ca5b93b._.js} +2 -2
  200. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b53b70e7._.js → [root-of-the-server]__8462ddf1._.js} +2 -2
  201. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3937a996._.js → [root-of-the-server]__9e363e9c._.js} +2 -2
  202. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__4c5f7cab._.js → [root-of-the-server]__a0467c5b._.js} +2 -2
  203. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__9576223c._.js → [root-of-the-server]__a8d68307._.js} +2 -2
  204. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__82e86bb6._.js → [root-of-the-server]__ac79a67b._.js} +2 -2
  205. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__bcd0c846._.js → [root-of-the-server]__af5be1d9._.js} +2 -2
  206. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b3cd93ca._.js +3 -0
  207. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__540ebc7f._.js → [root-of-the-server]__b7314f2a._.js} +2 -2
  208. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__bb2675cd._.js → [root-of-the-server]__bcbc6330._.js} +2 -2
  209. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__fe4c1384._.js → [root-of-the-server]__bfbdd808._.js} +2 -2
  210. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b00db558._.js → [root-of-the-server]__c205eff4._.js} +2 -2
  211. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__c455995a._.js → [root-of-the-server]__c39ceb71._.js} +2 -2
  212. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c9cb9ac6._.js +3 -0
  213. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cff9ddef._.js +1 -1
  214. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__7c87a52f._.js → [root-of-the-server]__d65b8403._.js} +2 -2
  215. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__eb6e6bb9._.js → [root-of-the-server]__d7b9cb55._.js} +2 -2
  216. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__53daf5c6._.js → [root-of-the-server]__df103a4a._.js} +2 -2
  217. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ea845f9f._.js +1 -1
  218. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8ee7749b._.js → [root-of-the-server]__f5a16619._.js} +2 -2
  219. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__9940de77._.js → [root-of-the-server]__f62d8a1f._.js} +2 -2
  220. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__5df70a62._.js → [root-of-the-server]__f7c7ed71._.js} +2 -2
  221. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__520aa408._.js → [root-of-the-server]__fa5bbdc8._.js} +2 -2
  222. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__e385846c._.js → [root-of-the-server]__fed9223f._.js} +2 -2
  223. package/web/.next/standalone/packages/web/.next/server/chunks/_2c837d66._.js +5 -5
  224. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_eaad1f33.js +1 -1
  225. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__000b8c99._.js +1 -1
  226. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__4f387f9d._.js → [root-of-the-server]__10a850c6._.js} +2 -2
  227. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__7829c78d._.js → [root-of-the-server]__17f5cb6a._.js} +2 -2
  228. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__29d8d063._.js +1 -1
  229. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__3ea76517._.js +3 -0
  230. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__99387ae7._.js → [root-of-the-server]__6647f7ec._.js} +2 -2
  231. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__a509d17d._.js → [root-of-the-server]__9f45b36b._.js} +2 -2
  232. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__bc8d015f._.js → [root-of-the-server]__f8f50c0b._.js} +2 -2
  233. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_0e1412de._.js +1 -1
  234. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_230c0c14._.js +4 -4
  235. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_2b5578a1._.js +3 -0
  236. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_b6d31783._.js → _532f707d._.js} +3 -3
  237. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_5571204d._.js +3 -0
  238. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_69e05fca._.js +1 -1
  239. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_6cfd06c2._.js +1 -1
  240. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_80efe193._.js +1 -1
  241. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_a4a4deb7._.js → _9e7585e3._.js} +2 -2
  242. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b214b154._.js +1 -1
  243. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b8358e63._.js +3 -0
  244. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_c0f0e227._.js +1 -1
  245. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_8982bbf3._.js → _de3b7194._.js} +2 -2
  246. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_f36ddaa9._.js +1 -1
  247. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{node_modules_@clerk_nextjs_dist_esm_app-router_743f164d._.js → node_modules_@clerk_nextjs_dist_esm_app-router_a9e633d8._.js} +2 -2
  248. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_f33d83e6._.js +3 -0
  249. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@radix-ui_d03fdd57._.js +3 -0
  250. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@xterm_addon-fit_lib_addon-fit_mjs_9b7cb17b._.js +3 -0
  251. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@xterm_addon-search_lib_addon-search_mjs_8d69d9d7._.js +11 -0
  252. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@xterm_xterm_lib_xterm_mjs_a1a7b9e9._.js +20 -0
  253. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_afb6e107._.js +3 -0
  254. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_refresh-cw_50f1c1e7.js +3 -0
  255. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_next_dist_2df23979._.js +1 -1
  256. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_cd51dad4.js +2 -2
  257. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_board_WorkspaceKanban_tsx_735b7999._.js +1 -1
  258. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_sessions_SessionDetail_tsx_5fcad270._.js +6 -0
  259. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_features_dashboard_DashboardClient_tsx_81ae42b0._.js +1 -1
  260. package/web/.next/standalone/packages/web/.next/server/functions-config-manifest.json +3 -1
  261. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +5 -5
  262. package/web/.next/standalone/packages/web/.next/server/pages/404.html +1 -1
  263. package/web/.next/standalone/packages/web/.next/server/pages/500.html +2 -2
  264. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  265. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +15 -15
  266. package/web/.next/standalone/packages/web/.next/static/chunks/07be250784a6a689.js +1 -0
  267. package/web/.next/standalone/packages/web/.next/static/chunks/0866f5c380851a16.js +1 -0
  268. package/web/.next/standalone/packages/web/.next/static/chunks/0cdc18649f440c71.js +1 -0
  269. package/web/.next/standalone/packages/web/.next/static/chunks/0f7eb6d5a59ee3ae.js +1 -0
  270. package/web/.next/standalone/packages/web/.next/static/chunks/144b356fe7daff8d.js +1 -0
  271. package/web/.next/standalone/packages/web/.next/static/chunks/{c4c79d5d0b280aeb.js → 2f236954d6a65e12.js} +1 -1
  272. package/web/.next/standalone/packages/web/.next/static/chunks/3cdf839644f79d43.js +18 -0
  273. package/web/.next/standalone/packages/web/.next/static/chunks/5a4c4d4d5f30829b.css +3 -0
  274. package/web/.next/standalone/packages/web/.next/static/chunks/6850a6cda159c98d.js +1 -0
  275. package/web/.next/{static/chunks/06bdd070b8d25946.js → standalone/packages/web/.next/static/chunks/69be39811437728d.js} +1 -1
  276. package/web/.next/standalone/packages/web/.next/static/chunks/6cec31da5f555e99.js +1 -0
  277. package/web/.next/standalone/packages/web/.next/static/chunks/70d1e7a526f0f4e2.js +9 -0
  278. package/web/.next/standalone/packages/web/.next/static/chunks/{ba2aa8b54e912820.js → 723acbe92d3f9e7e.js} +1 -1
  279. package/web/.next/standalone/packages/web/.next/static/chunks/739c6f71243d76d8.js +1 -0
  280. package/web/.next/standalone/packages/web/.next/static/chunks/a6ec1ab37eb7b410.js +1 -0
  281. package/web/.next/standalone/packages/web/.next/static/chunks/af8bfb72187b7cbf.js +1 -0
  282. package/web/.next/standalone/packages/web/.next/static/chunks/b86b8884ddf84717.js +1 -0
  283. package/web/.next/standalone/packages/web/.next/static/chunks/c1b8a2d2c623a0dc.js +6 -0
  284. package/web/.next/standalone/packages/web/.next/static/chunks/c993a1a4204fce88.js +4 -0
  285. package/web/.next/standalone/packages/web/.next/static/chunks/ca3e38b4495a3d39.js +1 -0
  286. package/web/.next/standalone/packages/web/.next/static/chunks/{45bd2451c2b0790c.js → caf02f8136b16992.js} +2 -2
  287. package/web/.next/standalone/packages/web/.next/static/chunks/d4269c59429734ad.js +1 -0
  288. package/web/.next/{static/chunks/28eac764d6544827.js → standalone/packages/web/.next/static/chunks/e5bcec03f80af56a.js} +1 -1
  289. package/web/.next/standalone/packages/web/.next/static/chunks/{turbopack-49f4119854e8206e.js → turbopack-26870d017b23fcf0.js} +1 -1
  290. package/web/.next/standalone/packages/web/next.config.ts +16 -0
  291. package/web/.next/standalone/packages/web/package.json +3 -1
  292. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/terminal/connection/route.ts +64 -0
  293. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/terminal/snapshot/route.ts +14 -0
  294. package/web/.next/standalone/packages/web/src/app/globals.css +12 -4
  295. package/web/.next/standalone/packages/web/src/components/Dashboard.tsx +1 -5
  296. package/web/.next/standalone/packages/web/src/components/TerminalView.tsx +528 -100
  297. package/web/.next/standalone/packages/web/src/components/board/WorkspaceKanban.tsx +3 -3
  298. package/web/.next/standalone/packages/web/src/components/layout/AppShell.tsx +3 -3
  299. package/web/.next/standalone/packages/web/src/components/layout/Sidebar.tsx +29 -18
  300. package/web/.next/standalone/packages/web/src/components/layout/TopBar.tsx +3 -3
  301. package/web/.next/standalone/packages/web/src/components/sessions/ChatPanel.tsx +61 -5
  302. package/web/.next/standalone/packages/web/src/components/sessions/SessionDetail.tsx +99 -46
  303. package/web/.next/standalone/packages/web/src/components/sessions/SessionPreview.tsx +231 -233
  304. package/web/.next/standalone/packages/web/src/components/sessions/SessionTerminal.tsx +1212 -0
  305. package/web/.next/standalone/packages/web/src/components/sessions/terminalInsert.ts +6 -0
  306. package/web/.next/standalone/packages/web/src/components/terminal/xtermTheme.ts +70 -0
  307. package/web/.next/standalone/packages/web/src/components/ui/Tabs.tsx +2 -2
  308. package/web/.next/standalone/packages/web/src/features/dashboard/DashboardClient.tsx +104 -31
  309. package/web/.next/standalone/packages/web/src/features/sessions/SessionPageClient.tsx +2 -2
  310. package/web/.next/standalone/packages/web/src/lib/devPreviewBrowser.ts +15 -3
  311. package/web/.next/static/chunks/07be250784a6a689.js +1 -0
  312. package/web/.next/static/chunks/0866f5c380851a16.js +1 -0
  313. package/web/.next/static/chunks/0cdc18649f440c71.js +1 -0
  314. package/web/.next/static/chunks/0f7eb6d5a59ee3ae.js +1 -0
  315. package/web/.next/static/chunks/144b356fe7daff8d.js +1 -0
  316. package/web/.next/static/chunks/{c4c79d5d0b280aeb.js → 2f236954d6a65e12.js} +1 -1
  317. package/web/.next/static/chunks/3cdf839644f79d43.js +18 -0
  318. package/web/.next/static/chunks/5a4c4d4d5f30829b.css +3 -0
  319. package/web/.next/static/chunks/6850a6cda159c98d.js +1 -0
  320. package/web/.next/{standalone/packages/web/.next/static/chunks/06bdd070b8d25946.js → static/chunks/69be39811437728d.js} +1 -1
  321. package/web/.next/static/chunks/6cec31da5f555e99.js +1 -0
  322. package/web/.next/static/chunks/70d1e7a526f0f4e2.js +9 -0
  323. package/web/.next/static/chunks/{ba2aa8b54e912820.js → 723acbe92d3f9e7e.js} +1 -1
  324. package/web/.next/static/chunks/739c6f71243d76d8.js +1 -0
  325. package/web/.next/static/chunks/a6ec1ab37eb7b410.js +1 -0
  326. package/web/.next/static/chunks/af8bfb72187b7cbf.js +1 -0
  327. package/web/.next/static/chunks/b86b8884ddf84717.js +1 -0
  328. package/web/.next/static/chunks/c1b8a2d2c623a0dc.js +6 -0
  329. package/web/.next/static/chunks/c993a1a4204fce88.js +4 -0
  330. package/web/.next/static/chunks/ca3e38b4495a3d39.js +1 -0
  331. package/web/.next/static/chunks/{45bd2451c2b0790c.js → caf02f8136b16992.js} +2 -2
  332. package/web/.next/static/chunks/d4269c59429734ad.js +1 -0
  333. package/web/.next/{standalone/packages/web/.next/static/chunks/28eac764d6544827.js → static/chunks/e5bcec03f80af56a.js} +1 -1
  334. package/web/.next/static/chunks/{turbopack-49f4119854e8206e.js → turbopack-26870d017b23fcf0.js} +1 -1
  335. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__29091976._.js +0 -3
  336. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__784e6aef._.js +0 -3
  337. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__b388693f._.js +0 -3
  338. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__d1efcbf0._.js +0 -3
  339. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_e1c18705._.js +0 -3
  340. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_2a090a71._.js +0 -3
  341. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@radix-ui_02f0d3f0._.js +0 -3
  342. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_message-square_2e76b8d9.js +0 -3
  343. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_ui_Tooltip_tsx_6becc8ca._.js +0 -3
  344. package/web/.next/standalone/packages/web/.next/static/chunks/07f3b9a104ce0ff4.js +0 -1
  345. package/web/.next/standalone/packages/web/.next/static/chunks/1004422d31074d62.js +0 -1
  346. package/web/.next/standalone/packages/web/.next/static/chunks/25afa19789883705.js +0 -6
  347. package/web/.next/standalone/packages/web/.next/static/chunks/2bc11b604b131190.js +0 -1
  348. package/web/.next/standalone/packages/web/.next/static/chunks/30ababddac1b82dc.js +0 -1
  349. package/web/.next/standalone/packages/web/.next/static/chunks/64f0033534ca1ad3.css +0 -3
  350. package/web/.next/standalone/packages/web/.next/static/chunks/902a6ba5837e1e57.js +0 -1
  351. package/web/.next/standalone/packages/web/.next/static/chunks/a28bcda8dd6b68ee.js +0 -1
  352. package/web/.next/standalone/packages/web/.next/static/chunks/aabc80195233b4da.js +0 -1
  353. package/web/.next/standalone/packages/web/.next/static/chunks/b6069d0eb07a978f.js +0 -1
  354. package/web/.next/standalone/packages/web/.next/static/chunks/c2caa064748bb0b5.js +0 -1
  355. package/web/.next/standalone/packages/web/.next/static/chunks/c5f8e486166298c2.js +0 -1
  356. package/web/.next/standalone/packages/web/.next/static/chunks/d6a81d2f8b98b4be.js +0 -1
  357. package/web/.next/standalone/packages/web/.next/static/chunks/dfa8ef24e636ca14.js +0 -1
  358. package/web/.next/standalone/packages/web/.next/static/chunks/e9d0e95bbaa0f4fb.js +0 -1
  359. package/web/.next/standalone/packages/web/.next/static/chunks/ebaa0c535c4135f1.js +0 -1
  360. package/web/.next/static/chunks/07f3b9a104ce0ff4.js +0 -1
  361. package/web/.next/static/chunks/1004422d31074d62.js +0 -1
  362. package/web/.next/static/chunks/25afa19789883705.js +0 -6
  363. package/web/.next/static/chunks/2bc11b604b131190.js +0 -1
  364. package/web/.next/static/chunks/30ababddac1b82dc.js +0 -1
  365. package/web/.next/static/chunks/64f0033534ca1ad3.css +0 -3
  366. package/web/.next/static/chunks/902a6ba5837e1e57.js +0 -1
  367. package/web/.next/static/chunks/a28bcda8dd6b68ee.js +0 -1
  368. package/web/.next/static/chunks/aabc80195233b4da.js +0 -1
  369. package/web/.next/static/chunks/b6069d0eb07a978f.js +0 -1
  370. package/web/.next/static/chunks/c2caa064748bb0b5.js +0 -1
  371. package/web/.next/static/chunks/c5f8e486166298c2.js +0 -1
  372. package/web/.next/static/chunks/d6a81d2f8b98b4be.js +0 -1
  373. package/web/.next/static/chunks/dfa8ef24e636ca14.js +0 -1
  374. package/web/.next/static/chunks/e9d0e95bbaa0f4fb.js +0 -1
  375. package/web/.next/static/chunks/ebaa0c535c4135f1.js +0 -1
  376. /package/web/.next/standalone/packages/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_buildManifest.js +0 -0
  377. /package/web/.next/standalone/packages/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_clientMiddlewareManifest.json +0 -0
  378. /package/web/.next/standalone/packages/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_ssgManifest.js +0 -0
  379. /package/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_buildManifest.js +0 -0
  380. /package/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_clientMiddlewareManifest.json +0 -0
  381. /package/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,90092,e=>{"use strict";let t=(0,e.i(75254).default)("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"}]]);e.s(["RefreshCcw",()=>t],90092)},89965,e=>{"use strict";var t=e.i(71645),a=e.i(97878);function r(e){let[r,n]=(0,t.useState)([]),[s,l]=(0,t.useState)(!0),[i,o]=(0,t.useState)(null),c=(0,t.useRef)(!0),d=(0,t.useCallback)(e=>{n(t=>!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let a=0;a<e.length;a+=1){let r=e[a],n=t[a];if(!r||!n||r.id!==n.id||r.status!==n.status||r.activity!==n.activity||r.projectId!==n.projectId||r.issueId!==n.issueId||r.branch!==n.branch||r.lastActivityAt!==n.lastActivityAt||r.summary!==n.summary)return!1;let s=r.metadata??{},l=n.metadata??{},i=Object.keys(s),o=Object.keys(l);if(i.length!==o.length)return!1;for(let e of i)if(s[e]!==l[e])return!1}return!0}(t,e)?e:t)},[]),u=(0,t.useCallback)(async()=>{try{let t="string"==typeof e&&e.trim().length>0?`?project=${encodeURIComponent(e.trim())}`:"",a=await fetch(`/api/sessions${t}`);if(!a.ok)throw Error(`Failed to fetch sessions: ${a.status}`);let r=await a.json(),n=Array.isArray(r)?r:Array.isArray(r.sessions)?r.sessions:[];if(!c.current)return;d(n),o(null)}catch(e){c.current&&o(e instanceof Error?e.message:"Unknown error")}finally{c.current&&l(!1)}},[d,e]);return(0,t.useEffect)(()=>{c.current=!0,l(!0),u();let t=null,r=()=>{null!==t&&(window.clearTimeout(t),t=null)},n=()=>{r(),t=window.setTimeout(async()=>{c.current&&(await u(),c.current&&n())},"visible"===document.visibilityState?15e3:45e3)};n();let s=(0,a.subscribeToSnapshotEvents)(t=>{var a;let r;c.current&&(d((a=t.sessions,(r=e?.trim())?a.filter(e=>e.projectId===r):a)),o(null),l(!1))}),i=()=>{u(),n()},m=()=>{"visible"===document.visibilityState?i():n()};return window.addEventListener("focus",i),document.addEventListener("visibilitychange",m),()=>{c.current=!1,s(),r(),window.removeEventListener("focus",i),document.removeEventListener("visibilitychange",m)}},[d,u,e]),{sessions:r,loading:s,error:i,refresh:u}}e.s(["useSessions",()=>r])},2004,e=>{"use strict";var t=e.i(71645);function a(e,t){return{id:e,repo:"string"==typeof t?.repo?t.repo:null,path:"string"==typeof t?.path?t.path:null,iconUrl:"string"==typeof t?.iconUrl?t.iconUrl:null,boardDir:"string"==typeof t?.boardDir?t.boardDir:null,boardFile:"string"==typeof t?.boardFile?t.boardFile:null,description:"string"==typeof t?.description?t.description:null,defaultBranch:"string"==typeof t?.defaultBranch&&t.defaultBranch.trim().length>0?t.defaultBranch:"main",agent:"string"==typeof t?.agent&&t.agent.trim().length>0?t.agent:"claude-code",agentPermissions:"string"==typeof t?.agentPermissions&&t.agentPermissions.trim().length>0?t.agentPermissions:null,agentModel:"string"==typeof t?.agentModel&&t.agentModel.trim().length>0?t.agentModel:null,agentReasoningEffort:"string"==typeof t?.agentReasoningEffort&&t.agentReasoningEffort.trim().length>0?t.agentReasoningEffort:null}}function r(){let[e,r]=(0,t.useState)([]),[n,s]=(0,t.useState)(!0),[l,i]=(0,t.useState)(null),o=(0,t.useRef)(!1),c=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/config");if(!e.ok)throw Error(`Failed to fetch config: ${e.status}`);let t=await e.json();r(function(e){if(!e||"object"!=typeof e)return[];let t=e.projects;return t?Array.isArray(t)?t.map((e,t)=>e&&"object"==typeof e?a("string"==typeof e.id&&e.id.trim().length>0?e.id:`project-${t+1}`,e):a(`project-${t+1}`,null)):"object"==typeof t?Object.entries(t).map(([e,t])=>a(e,t&&"object"==typeof t?t:null)):[]:[]}(t)),i(null)}catch(e){r([]),i(e instanceof Error?e.message:"Failed to fetch config")}finally{s(!1)}},[]);return(0,t.useEffect)(()=>{o.current||(o.current=!0,c())},[c]),{projects:e,loading:n,error:l,refresh:c}}e.s(["useConfig",()=>r])},94102,99647,61555,40160,e=>{"use strict";var t=e.i(71645);function a(){return window.innerWidth>=1024}function r(){let[e,r]=(0,t.useState)(!1),[n,s]=(0,t.useState)(!0),l=(0,t.useCallback)(()=>{a()?s(e=>!e):r(e=>!e)},[]);return{mobileSidebarOpen:e,desktopSidebarOpen:n,toggleSidebar:l,closeSidebarOnMobile:(0,t.useCallback)(()=>{a()||r(!1)},[]),syncSidebarForViewport:(0,t.useCallback)(()=>{a()?s(!0):r(!1)},[])}}e.s(["useResponsiveSidebarState",()=>r],94102);var n=e.i(75254);let s=(0,n.default)("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"}]]);e.s(["PanelLeftOpen",()=>s],99647);let l=(0,n.default)("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"}]]);e.s(["PanelRightClose",()=>l],61555);let i=(0,n.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",()=>i],40160)},36832,80235,45241,e=>{"use strict";var t=e.i(43476),a=e.i(71645),r=e.i(99647),n=e.i(61555),s=e.i(18620),l=e.i(43531),i=e.i(74886),o=e.i(40160),c=e.i(31278),d=e.i(90092),u=e.i(37727),m=e.i(11077),x=e.i(97878);let p="conductor-dismissed-update-version";function h(){let[e,r]=(0,a.useState)(null),[n,h]=(0,a.useState)(null),[v,b]=(0,a.useState)(null),[f,g]=(0,a.useState)(!1),[k,w]=(0,a.useState)(!1),[y,j]=(0,a.useState)(!1),N=(0,a.useCallback)(async(e=!1)=>{try{let t=await fetch(`/api/app-update${e?"?force=1":""}`,{cache:"no-store"}),a=await t.json().catch(()=>null);if(!t.ok)throw Error("string"==typeof a?.error?a.error:`Failed to load update status (${t.status})`);r(a),h(null)}catch(e){h(e instanceof Error?e.message:"Failed to load update status.")}},[]);(0,a.useEffect)(()=>{try{let e=window.localStorage.getItem(p);b(e&&e.length>0?e:null)}catch{}N(!0);let e=(0,x.subscribeToAppUpdateEvents)(e=>{e&&(r(e),h(null))}),t=()=>{"visible"===document.visibilityState&&N(!1)};return window.addEventListener("focus",t),document.addEventListener("visibilitychange",t),()=>{e(),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",t)}},[N]);let C=e?.latestVersion&&v===e.latestVersion,S=!!e?.restarting||y,A=(0,a.useMemo)(()=>!!e?.enabled&&(!!S||"idle"!==e.jobStatus||!C&&e.updateAvailable),[C,S,e]);async function E(){e?.updateCommand&&(await navigator.clipboard.writeText(e.updateCommand),g(!0),window.setTimeout(()=>g(!1),1400))}async function M(){w(!0);try{let e=await fetch("/api/app-update",{method:"POST",headers:{"content-type":"application/json"}}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Update failed (${e.status})`);r(t),h(null)}catch(e){h(e instanceof Error?e.message:"Failed to trigger update.")}finally{w(!1)}}let R=(0,a.useCallback)(async()=>{let e=Date.now()+6e4;for(;Date.now()<e;){try{if((await fetch("/api/health",{cache:"no-store"})).ok)return void window.location.reload()}catch{}await new Promise(e=>window.setTimeout(e,1e3))}j(!1),h("Restart started, but the dashboard did not come back in time. Reload manually.")},[]);async function L(){try{let e=await fetch("/api/app-update",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"restart"})}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Restart failed (${e.status})`);r(t),h(null)}catch(e){h(e instanceof Error?e.message:"Failed to restart Conductor.")}}return((0,a.useEffect)(()=>{e?.restarting&&!y&&(j(!0),R())},[y,e?.restarting,R]),A)?(0,t.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,t.jsxs)("section",{className:(0,s.cn)("pointer-events-auto rounded-[14px] border bg-[var(--vk-bg-panel)] p-4 shadow-[0_16px_40px_rgba(0,0,0,0.35)]",e?.jobStatus==="failed"?"border-[color:color-mix(in_srgb,var(--vk-red)_55%,var(--vk-border))]":"border-[var(--vk-border)]"),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[S||e?.jobStatus==="running"?(0,t.jsx)(c.Loader2,{className:"h-4 w-4 animate-spin text-[var(--vk-orange)]"}):e?.jobStatus==="completed"?(0,t.jsx)(l.Check,{className:"h-4 w-4 text-[var(--status-ready)]"}):e?.jobStatus==="failed"?(0,t.jsx)(d.RefreshCcw,{className:"h-4 w-4 text-[var(--vk-red)]"}):(0,t.jsx)(o.Download,{className:"h-4 w-4 text-[var(--vk-orange)]"}),(0,t.jsx)("h2",{className:"truncate text-[13px] font-semibold text-[var(--vk-text-normal)]",children:e?e.restarting?"Restarting Conductor":"running"===e.jobStatus?"Updating Conductor":"completed"===e.jobStatus?"Conductor updated":"failed"===e.jobStatus?"Update failed":e.latestVersion?`Conductor ${e.latestVersion} is available`:"Conductor update available":"Conductor update"})]}),(0,t.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:e?function(e){if(e.restarting)return"The launcher is restarting the runtime. This tab will reconnect automatically once it is ready.";if("running"===e.jobStatus)return e.jobMessage??"Installing the latest version in the background.";if("completed"===e.jobStatus)return e.jobMessage??"The latest version has been installed. Restart Conductor to use it.";if("failed"===e.jobStatus)return e.jobMessage??"The update command did not finish successfully.";let t=e.currentVersion?`You are running ${e.currentVersion}. `:"";return e.canAutoUpdate?`${t}Install the new release now and restart when it finishes.`:"npx"===e.installMode?`${t}Copy the restart command, run it in a terminal, and the next launch will use the latest release.`:`${t}Copy the update command, run it in a terminal, then restart Conductor.`}(e):"Checking for updates..."})]}),(0,t.jsx)("button",{type:"button",onClick:function(){if(e?.latestVersion){try{window.localStorage.setItem(p,e.latestVersion)}catch{}b(e.latestVersion);return}r(e=>e?{...e,enabled:!1}:e)},className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Dismiss update notice",children:(0,t.jsx)(u.X,{className:"h-4 w-4"})})]}),e?.updateCommand?(0,t.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:e.updateCommand}):null,e?(0,t.jsx)("p",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:function(e){switch(e){case"npx":return"This session was launched through npx. Copy the restart command, run it in a terminal, and the next launch will use the latest package.";case"unknown":return"Automatic updates are unavailable for this install.";default:return null}}(e.installMode)??(e.restartRequired?"Restart the current Conductor process after the installer completes.":"Update state streams from the running Conductor runtime.")}):null,n?(0,t.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:n}):e?.error?(0,t.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:e.error}):null,e?.logsTail&&"failed"===e.jobStatus?(0,t.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:e.logsTail}):null,(0,t.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-2",children:[e?.jobStatus==="failed"&&e.canAutoUpdate?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"primary",onClick:()=>void M(),disabled:k,children:[k?(0,t.jsx)(c.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(d.RefreshCcw,{className:"h-3.5 w-3.5"}),"Retry"]}):null,e?.jobStatus==="idle"&&e.canAutoUpdate?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"primary",onClick:()=>void M(),disabled:k,children:[k?(0,t.jsx)(c.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(o.Download,{className:"h-3.5 w-3.5"}),"Update now"]}):null,e?.jobStatus==="idle"&&!e.canAutoUpdate&&e.updateCommand?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>void E(),children:[f?(0,t.jsx)(l.Check,{className:"h-3.5 w-3.5 text-[var(--status-ready)]"}):(0,t.jsx)(i.Copy,{className:"h-3.5 w-3.5"}),f?"Copied":"npx"===e.installMode?"Copy restart command":"Copy command"]}):null,e?.restartRequired&&e.canRestart&&!e.restarting&&!y?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"primary",onClick:()=>void L(),children:[(0,t.jsx)(d.RefreshCcw,{className:"h-3.5 w-3.5"}),"Restart now"]}):null,e?.restarting||y?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"primary",disabled:!0,children:[(0,t.jsx)(c.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),"Restarting"]}):null]})]})}):null}let v="conductor-workspace-sidebar-width";function b({sidebar:e,children:l,mobileSidebarOpen:i,desktopSidebarOpen:o,onToggleSidebar:c}){let[d,u]=(0,a.useState)(356),[m,x]=(0,a.useState)(!1);(0,a.useEffect)(()=>{try{let e=window.localStorage.getItem(v),t=e?Number.parseInt(e,10):NaN;Number.isFinite(t)&&u(Math.min(460,Math.max(296,t)))}catch{}},[]),(0,a.useEffect)(()=>{if(!m)return;let e=e=>{u(Math.min(460,Math.max(296,e.clientX)))},t=()=>{x(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(v,String(d))}catch{}}},[m,d]);let p={"--workspace-sidebar-width":`${d}px`};return(0,t.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)]",children:[i&&(0,t.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:c,"aria-label":"Close workspace panel"}),(0,t.jsx)("aside",{className:(0,s.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-full max-w-none flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-[transform,width] duration-200 sm:w-[min(90vw,var(--workspace-sidebar-width))] sm:max-w-[28rem]",i?"translate-x-0":"-translate-x-full",o?"lg:w-[var(--workspace-sidebar-width)]":"lg:w-0 lg:overflow-hidden lg:border-r-0","lg:relative lg:left-auto lg:translate-x-0"),children:e}),o?(0,t.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:()=>x(!0),"aria-hidden":"true",children:(0,t.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,o&&(0,t.jsx)("button",{type:"button",onClick:c,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,t.jsx)(n.PanelRightClose,{className:"h-5 w-5"})}),(0,t.jsxs)("main",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!i&&(0,t.jsx)("button",{type:"button",onClick:c,className:"absolute left-2 top-2 z-40 inline-flex h-8 w-8 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)] lg:hidden","aria-label":"Open workspace panel",children:(0,t.jsx)(r.PanelLeftOpen,{className:"h-5 w-5"})}),!o&&(0,t.jsx)("button",{type:"button",onClick:c,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,t.jsx)(r.PanelLeftOpen,{className:"h-5 w-5"})}),l]}),(0,t.jsx)(h,{})]})}e.s(["AppShell",()=>b],36832);var f=e.i(75254);let g=(0,f.default)("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"}]]),k=(0,a.memo)(function({title:e,onOpenPreferences:a}){return(0,t.jsxs)("header",{className:"flex h-11 items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-12 pr-3 text-[13px] text-[var(--vk-text-muted)] sm:h-14 sm:px-5 sm:text-[14px]",children:[(0,t.jsx)("div",{className:"min-w-0 flex-1 text-left sm:text-center",children:(0,t.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-normal)]",children:e??"All Projects"})}),a?(0,t.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,t.jsx)("button",{type:"button",onClick:a,className:"inline-flex h-9 w-9 items-center justify-center rounded-[6px] 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,t.jsx)(g,{className:"h-4 w-4"})})}):null]})});e.s(["TopBar",0,k],80235);var w=e.i(74080),y=e.i(7233),j=e.i(52808);let N=(0,f.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var C=e.i(55436),S=e.i(69242);let A=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];function E(e){let t=e.metadata.worktree?.trim()??"";return t&&t.replace(/\\/g,"/").replace(/\/+$/,"").includes("/worktrees/")?"worktree":"local"}function M(e){let t=e.branch?.trim();if(t)return t;let a=e.summary?.trim()||e.metadata.summary?.trim();return a||(e.status?.trim()?e.status.replace(/[_-]+/g," "):e.id.slice(0,8))}function R(e){return[e.id,e.status,e.lastActivityAt,e.branch??"",e.metadata.worktree??""].join(":")}function L(){let[e,r]=(0,a.useState)(0);return(0,a.useEffect)(()=>{let e=window.setInterval(()=>{r(e=>(e+1)%A.length)},80);return()=>window.clearInterval(e)},[]),(0,t.jsx)("span",{"aria-hidden":"true",className:"inline-block select-none font-mono text-[18px] leading-none text-[var(--vk-text-strong)]",children:A[e]})}function P({running:e}){return e?(0,t.jsx)("span",{className:"mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center",children:(0,t.jsx)(L,{})}):null}function T({additions:e,deletions:a,isSelected:r}){return(0,t.jsx)("span",{className:(0,s.cn)("inline-flex shrink-0 items-center rounded-[10px] px-3 py-1.5 font-mono text-[12px] leading-none tabular-nums",r?"bg-[rgba(255,255,255,0.1)]":"bg-[rgba(255,255,255,0.06)]"),children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-3",children:[(0,t.jsxs)("span",{className:"text-[#18c58f]",children:["+",e]}),(0,t.jsxs)("span",{className:"text-[#f26d6d]",children:["−",a]})]})})}function I({sessions:e,selectedId:r,onSelect:n,onArchive:l,onCreateWorkspace:i,showHeader:o=!0}){let[c,d]=(0,a.useState)(""),[u,m]=(0,a.useState)(null),[x,p]=(0,a.useState)(null),[h,v]=(0,a.useState)({}),b=(0,a.useMemo)(()=>{let t=e.filter(e=>"archived"!==e.status);if(!c.trim())return t;let a=c.toLowerCase();return t.filter(e=>{let t=e.summary??"",r=e.branch??"",n=e.metadata.agent??"",s=E(e),l=M(e);return e.id.toLowerCase().includes(a)||e.projectId.toLowerCase().includes(a)||t.toLowerCase().includes(a)||r.toLowerCase().includes(a)||n.toLowerCase().includes(a)||s.toLowerCase().includes(a)||l.toLowerCase().includes(a)})},[c,e]),f=async(e,t)=>{if(e.stopPropagation(),e.preventDefault(),l&&u!==t){m(t);try{await l(t)}catch(e){console.error("Failed to archive session",e),p(t),window.setTimeout(()=>p(null),3e3)}finally{m(e=>e===t?null:e)}}},g=(0,a.useMemo)(()=>[...b].sort((e,t)=>new Date(t.lastActivityAt).getTime()-new Date(e.lastActivityAt).getTime()),[b]);return(0,a.useEffect)(()=>{let e=!1,t=g.filter(e=>{let t=R(e);return h[e.id]?.key!==t});return 0===t.length?()=>{e=!0}:(Promise.all(t.map(async e=>{let t=R(e);try{let a=await fetch(`/api/sessions/${encodeURIComponent(e.id)}/diff`);if(!a.ok)return[e.id,{key:t,stats:null}];let r=await a.json();return[e.id,{key:t,stats:function(e){if(!e||"object"!=typeof e)return null;let t=Array.isArray(e.files)?e.files:[],a=0,r=0;for(let e of t){let t="number"==typeof e?.additions&&Number.isFinite(e.additions)?Math.max(0,e.additions):0,n="number"==typeof e?.deletions&&Number.isFinite(e.deletions)?Math.max(0,e.deletions):0;a+=t,r+=n}return a<=0&&r<=0?null:{additions:a,deletions:r}}(r)}]}catch(a){return console.error("Failed to load session diff stats",a),[e.id,{key:t,stats:null}]}})).then(t=>{if(e)return;let a=t.filter(e=>null!==e);0!==a.length&&v(e=>{let t={...e};for(let[e,r]of a)t[e]=r;return t})}),()=>{e=!0})},[h,g]),(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[o&&(0,t.jsxs)("div",{className:"flex h-[33px] items-center gap-1 px-2",children:[(0,t.jsx)("p",{className:"text-[16px] text-[var(--vk-text-normal)]",children:"Workspaces"}),i&&(0,t.jsx)("button",{type:"button",onClick:i,className:"ml-auto inline-flex h-5 w-5 items-center justify-center rounded-[3px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"New workspace",children:(0,t.jsx)("span",{className:"text-[14px]",children:"+"})})]}),(0,t.jsx)("div",{className:(0,s.cn)("flex h-[38px] items-center px-2 pb-1.5",!o&&"pt-1.5"),children:(0,t.jsxs)("label",{className:"flex h-[30px] flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2",children:[(0,t.jsx)(C.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,t.jsx)("input",{value:c,onChange:e=>d(e.target.value),placeholder:"Search...",className:"ml-1.5 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-2 pb-2",children:0===g.length?(0,t.jsx)("p",{className:"px-2 py-2 text-[14px] text-[var(--vk-text-muted)]",children:"No sessions"}):(0,t.jsx)("div",{className:"space-y-2",children:g.map(e=>{let a=(0,j.getAttentionLevel)(e),i=h[e.id]?.stats??function(e){for(let t of[e.metadata.lastStderr,e.metadata.summary,e.summary]){if(!t)continue;let e=t.match(/(\d+)\s+insertions?\(\+\),\s+(\d+)\s+deletions?\(-\)/i);if(!e)continue;let a=Number.parseInt(e[1]??"0",10),r=Number.parseInt(e[2]??"0",10);if(Number.isFinite(a)&&Number.isFinite(r))return{additions:a,deletions:r}}return null}(e),o=function(e,t){let a=`${e.summary??""} ${e.metadata.summary??""}`.toLowerCase();if("killed"===e.status||a.includes("interrupted"))return{label:"Interrupted",className:"text-[var(--vk-orange)]"};switch(t){case"merge":return{label:"Ready",className:"text-[var(--vk-green)]"};case"respond":return{label:"Needs input",className:"text-[var(--vk-red)]"};case"review":return{label:"Review",className:"text-[var(--vk-orange)]"};case"working":return{label:"Running",className:"text-[#4e87f3]"};case"done":return{label:"Done",className:"text-[var(--vk-text-muted)]"};default:return{label:"Queued",className:"text-[var(--vk-text-muted)]"}}}(e,a),c=e.metadata.agent?.trim()||null,d=e.id===r,m="active"===e.activity||"spawning"===e.status||"running"===e.status||"working"===e.status,p=u===e.id,v=x===e.id;return(0,t.jsxs)("div",{onClick:()=>n(e.id),onKeyDown:t=>{var a;return a=e.id,void(("Enter"===t.key||" "===t.key)&&(t.preventDefault(),n(a)))},role:"button",tabIndex:0,className:(0,s.cn)("group flex w-full items-start gap-3 rounded-[8px] border px-3 py-3 text-left transition-colors",d?"border-[rgba(234,122,42,0.28)] bg-[rgba(255,255,255,0.08)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsx)(P,{running:m}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-start gap-2",children:[(0,t.jsxs)("span",{className:"min-w-0 flex flex-1 items-center gap-2",children:[c?(0,t.jsx)("span",{className:"inline-flex h-5 w-5 shrink-0 items-center justify-center",title:c,"aria-label":`${c} agent`,children:(0,t.jsx)(S.AgentTileIcon,{seed:{label:c},className:"h-4 w-4"})}):null,(0,t.jsx)("span",{className:"min-w-0 truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:E(e)})]}),i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"hidden shrink-0 sm:block",children:(0,t.jsx)(T,{additions:i.additions,deletions:i.deletions,isSelected:d})}),(0,t.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium sm:hidden",children:(0,t.jsx)("span",{className:o.className,children:o.label})})]}):(0,t.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium",children:(0,t.jsx)("span",{className:o.className,children:o.label})})]}),(0,t.jsx)("span",{className:"mt-1 block truncate text-[12px] text-[var(--vk-text-muted)]",children:M(e)})]}),l?(0,t.jsx)("button",{type:"button",onClick:t=>void f(t,e.id),disabled:p,className:(0,s.cn)("mt-0.5 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[6px] border border-[var(--vk-border)] text-[var(--vk-text-muted)] transition","opacity-70 group-hover:opacity-100 focus-visible:opacity-100","hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",p&&"cursor-wait opacity-100"),"aria-label":`Archive session ${e.id}`,title:v?"Archive failed":"Archive session",children:(0,t.jsx)(N,{className:(0,s.cn)("h-3.5 w-3.5",v&&"text-red-400")})}):null]},e.id)})})})]})}let U=(0,a.memo)(function({projects:e,selectedProjectId:r,onSelectProject:n,onUnlinkProject:l,sessions:i,selectedSessionId:o,onSelectSession:c,onArchiveSession:d,onCreateWorkspace:x}){let[p,h]=(0,a.useState)(null),[v,b]=(0,a.useState)(null),[f,g]=(0,a.useState)(null),k=(0,a.useMemo)(()=>{let e=new Map;for(let t of i){if("archived"===t.status)continue;let a=e.get(t.projectId)??{total:0,active:0};a.total+=1,"done"!==(0,j.getAttentionLevel)(t)&&(a.active+=1),e.set(t.projectId,a)}return e},[i]),N=(0,a.useMemo)(()=>e.find(e=>e.id===v)??null,[v,e]);async function C(){if(l&&v){h(v),g(null);try{await l(v),b(null)}catch(e){g(e instanceof Error?e.message:"Failed to unlink project.")}finally{h(null)}}}return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-col bg-[var(--vk-bg-panel)]",children:[(0,t.jsxs)("section",{className:"border-b border-[var(--vk-border)] px-4 py-4",children:[(0,t.jsx)("div",{className:"flex justify-center text-center",children:(0,t.jsx)("p",{className:"text-[22px] font-bold leading-none uppercase tracking-[0.32em] text-[var(--vk-text-strong)]",children:"Conductor"})}),(0,t.jsxs)("button",{type:"button",onClick:x,className:"mt-3 inline-flex h-8 w-full items-center justify-center gap-1 rounded-[6px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Add workspace",children:[(0,t.jsx)(y.Plus,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:"Add Workspace"})]})]}),(0,t.jsxs)("section",{className:"border-b border-[var(--vk-border)] pb-2 pt-1.5",children:[(0,t.jsx)("div",{className:"flex h-[28px] items-center px-3",children:(0,t.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Projects"})}),(0,t.jsxs)("div",{className:"max-h-[260px] overflow-y-auto px-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>n(null),className:(0,s.cn)("mb-1.5 flex w-full items-center gap-3 rounded-[6px] px-3 py-2.5 text-left text-[14px] leading-[21px]",null===r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"truncate",children:"All projects"}),(0,t.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:e.length})]}),e.map(e=>{let a=r===e.id,i=k.get(e.id)??{total:0,active:0},o=p===e.id;return(0,t.jsxs)("div",{className:(0,s.cn)("group relative mb-1.5 flex items-center rounded-[6px]",a?"bg-[var(--vk-bg-hover)]":"hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsxs)("button",{type:"button",onClick:()=>n(e.id),className:(0,s.cn)("flex min-w-0 flex-1 items-center gap-3 px-3 py-2.5 text-left text-[14px] leading-[21px]",a?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"),children:[(0,t.jsx)("span",{className:"mt-1 h-2.5 w-2.5 shrink-0 rounded-full bg-[#3c83f6]"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate",children:e.id}),e.description?(0,t.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:e.description}):null]}),(0,t.jsxs)("span",{className:"shrink-0 text-right",children:[(0,t.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-normal)]",children:[i.active," active"]}),(0,t.jsxs)("span",{className:"block text-[10px] text-[var(--vk-text-muted)]",children:[i.total," total"]})]})]}),l&&(0,t.jsx)("button",{type:"button",disabled:o,onClick:t=>{t.stopPropagation(),g(null),b(e.id)},className:"mr-2 inline-flex shrink-0 items-center justify-center rounded-[4px] p-1 text-[var(--vk-text-muted)] hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)] disabled:opacity-50","aria-label":`Unlink ${e.id}`,title:"Unlink project",children:(0,t.jsx)(u.X,{className:"h-3.5 w-3.5"})})]},e.id)})]})]}),(0,t.jsx)("section",{className:"flex min-h-0 flex-1 flex-col pt-1.5",children:(0,t.jsx)(I,{sessions:i,selectedId:o,onSelect:c,onArchive:d,onCreateWorkspace:x,showHeader:!1})})]}),N&&"u">typeof document?(0,w.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{p||(b(null),g(null))},children:(0,t.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"unlink-project-title",children:[(0,t.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)("h2",{id:"unlink-project-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Unlink Project"}),(0,t.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Remove ",(0,t.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:N.id})," from this workspace configuration."]})]}),(0,t.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,t.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This only removes the project from Conductor. Repository files on disk are not deleted."}),f?(0,t.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:f}):null]}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)(m.Button,{type:"button",variant:"ghost",onClick:()=>{b(null),g(null)},disabled:null!==p,children:"Cancel"}),(0,t.jsx)(m.Button,{type:"button",variant:"danger",onClick:()=>void C(),disabled:null!==p,children:p===N.id?"Unlinking...":"Unlink Project"})]})]})}),document.body):null]})});e.s(["WorkspaceSidebarPanel",0,U],45241)}]);
@@ -0,0 +1,9 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,6433,e=>{"use strict";var t,i,s,r=e.i(47167),n=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?h.isErrorNoTelemetry(e)?new h(e.message+`
2
+
3
+ `+e.stack):Error(e.message+`
4
+
5
+ `+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function o(e){var t;(t=e)instanceof l||t instanceof Error&&t.name===a&&t.message===a||n.onUnexpectedError(e)}var a="Canceled",l=class extends Error{constructor(){super(a),this.name=this.message}},h=class e extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(t){if(t instanceof e)return t;let i=new e;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}};(b=T||={}).isLessThan=function(e){return e<0},b.isLessThanOrEqual=function(e){return e<=0},b.isGreaterThan=function(e){return e>0},b.isNeitherLessOrGreaterThan=function(e){return 0===e},b.greaterThan=1,b.lessThan=-1,b.neitherLessOrGreaterThan=0;var c=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(i=>!t(i)||e(i)))}map(t){return new e(e=>this.iterate(i=>e(t(i))))}some(e){let t=!1;return this.iterate(i=>!(t=e(i))),t}findFirst(e){let t;return this.iterate(i=>!e(i)||(t=i,!1)),t}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(s=>((i||T.isGreaterThan(e(s,t)))&&(i=!1,t=s),!0)),t}};c.empty=new c(e=>{});function u(e){}function d(e,t){}function _(e){if(D.is(e)){let t=[];for(let i of e)if(i)try{i.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function f(...e){let t=g(()=>_(e));return t}function g(e){let t={dispose:function(e,t){let i=this,s=!1,r;return function(){if(s)return r;if(s=!0,t)try{r=e.apply(i,arguments)}finally{t()}else r=e.apply(i,arguments);return r}}(()=>{u(t),e()})};return t}(e=>{function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;let i=Object.freeze([]);function*s(e){yield e}e.empty=function(){return i},e.single=s,e.wrap=function(e){return t(e)?e:s(e)},e.from=function(e){return e||i},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let i=0;for(let s of e)if(t(s,i++))return!0;return!1},e.find=function(e,t){for(let i of e)if(t(i))return i},e.filter=function*(e,t){for(let i of e)t(i)&&(yield i)},e.map=function*(e,t){let i=0;for(let s of e)yield t(s,i++)},e.flatMap=function*(e,t){let i=0;for(let s of e)yield*t(s,i++)},e.concat=function*(...e){for(let t of e)yield*t},e.reduce=function(e,t,i){let s=i;for(let i of e)s=t(s,i);return s},e.slice=function*(e,t,i=e.length){for(t<0&&(t+=e.length),i<0?i+=e.length:i>e.length&&(i=e.length);t<i;t++)yield e[t]},e.consume=function(t,i=1/0){let s=[];if(0===i)return[s,t];let r=t[Symbol.iterator]();for(let t=0;t<i;t++){let t=r.next();if(t.done)return[s,e.empty()];s.push(t.value)}return[s,{[Symbol.iterator]:()=>r}]},e.asyncToArray=async function(e){let t=[];for await(let i of e)t.push(i);return Promise.resolve(t)}})(D||={});var p=class e{constructor(){var e;this._toDispose=new Set,this._isDisposed=!1,e=this}dispose(){this._isDisposed||(u(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{_(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error("Cannot register a disposable on itself!");return d(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),d(e,null))}};p.DISABLE_DISPOSED_WARNING=!1;var m=class{constructor(){var e;this._store=new p,e=this,d(this._store,this)}dispose(){u(this),this._store.dispose()}_register(e){if(e===this)throw Error("Cannot register a disposable on itself!");return this._store.add(e)}};m.None=Object.freeze({dispose(){}});var v=class{constructor(){var e;this._isDisposed=!1,e=this}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&d(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,u(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&d(e,null),e}},w=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};w.Undefined=new w(void 0);var C=globalThis.performance&&"function"==typeof globalThis.performance.now,y=class e{static create(t){return new e(t)}constructor(e){this._now=C&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return -1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}};(e=>{function t(e){}function i(e){return(t,i=null,s)=>{let r=!1,n;return n=e(e=>{if(!r)return n?n.dispose():r=!0,t.call(i,e)},null,s),r&&n.dispose(),n}}function s(e,t,i){return n((i,s=null,r)=>e(e=>i.call(s,t(e)),null,r),i)}function r(e,t,i){return n((i,s=null,r)=>e(e=>t(e)&&i.call(s,e),null,r),i)}function n(e,i){let s,r={onWillAddFirstListener(){s=e(n.fire,n)},onDidRemoveLastListener(){s?.dispose()}};i||t(r);let n=new P(r);return i?.add(n),n.event}function o(e,i,s=100,r=!1,n=!1,a,l){let h,c,u,d=0,_,f={leakWarningThreshold:a,onWillAddFirstListener(){h=e(e=>{d++,c=i(c,e),r&&!u&&(g.fire(c),c=void 0),_=()=>{let e=c;c=void 0,u=void 0,(!r||d>1)&&g.fire(e),d=0},"number"==typeof s?(clearTimeout(u),u=setTimeout(_,s)):void 0===u&&(u=0,queueMicrotask(_))})},onWillRemoveListener(){n&&d>0&&_?.()},onDidRemoveLastListener(){_=void 0,h.dispose()}};l||t(f);let g=new P(f);return l?.add(g),g.event}e.None=()=>m.None,e.defer=function(e,t){return o(e,()=>{},0,void 0,!0,void 0,t)},e.once=i,e.map=s,e.forEach=function(e,t,i){return n((i,s=null,r)=>e(e=>{t(e),i.call(s,e)},null,r),i)},e.filter=r,e.signal=function(e){return e},e.any=function(...e){return(t,i=null,s)=>{var r,n;return r=f(...e.map(e=>e(e=>t.call(i,e)))),(n=s)instanceof Array?n.push(r):n&&n.add(r),r}},e.reduce=function(e,t,i,r){let n=i;return s(e,e=>n=t(n,e),r)},e.debounce=o,e.accumulate=function(t,i=0,s){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],i,void 0,!0,void 0,s)},e.latch=function(e,t=(e,t)=>e===t,i){let s=!0,n;return r(e,e=>{let i=s||!t(e,n);return s=!1,n=e,i},i)},e.split=function(t,i,s){return[e.filter(t,i,s),e.filter(t,e=>!i(e),s)]},e.buffer=function(e,t=!1,i=[],s){let r=i.slice(),n=e(e=>{r?r.push(e):a.fire(e)});s&&s.add(n);let o=()=>{r?.forEach(e=>a.fire(e)),r=null},a=new P({onWillAddFirstListener(){n||(n=e(e=>a.fire(e)),s&&s.add(n))},onDidAddFirstListener(){r&&(t?setTimeout(o):o())},onDidRemoveLastListener(){n&&n.dispose(),n=null}});return s&&s.add(a),a.event},e.chain=function(e,t){return(i,s,r)=>{let n=t(new l);return e(function(e){let t=n.evaluate(e);t!==a&&i.call(s,t)},void 0,r)}};let a=Symbol("HaltChainable");class l{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:a),this}reduce(e,t){let i=t;return this.steps.push(t=>i=e(i,t)),this}latch(e=(e,t)=>e===t){let t=!0,i;return this.steps.push(s=>{let r=t||!e(s,i);return t=!1,i=s,r?s:a}),this}evaluate(e){for(let t of this.steps)if((e=t(e))===a)break;return e}}e.fromNodeEventEmitter=function(e,t,i=e=>e){let s=(...e)=>r.fire(i(...e)),r=new P({onWillAddFirstListener:()=>e.on(t,s),onDidRemoveLastListener:()=>e.removeListener(t,s)});return r.event},e.fromDOMEventEmitter=function(e,t,i=e=>e){let s=(...e)=>r.fire(i(...e)),r=new P({onWillAddFirstListener:()=>e.addEventListener(t,s),onDidRemoveLastListener:()=>e.removeEventListener(t,s)});return r.event},e.toPromise=function(e){return new Promise(t=>i(e)(t))},e.fromPromise=function(e){let t=new P;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event},e.forward=function(e,t){return e(e=>t.fire(e))},e.runAndSubscribe=function(e,t,i){return t(i),e(e=>t(e))};class h{constructor(e,i){this._observable=e,this._counter=0,this._hasChanged=!1;let s={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};i||t(s),this.emitter=new P(s),i&&i.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new h(e,t).emitter.event},e.fromObservableLight=function(e){return(t,i,s)=>{let r=0,n=!1,o={beginUpdate(){r++},endUpdate(){0==--r&&(e.reportChanges(),n&&(n=!1,t.call(i)))},handlePossibleChange(){},handleChange(){n=!0}};e.addObserver(o),e.reportChanges();let a={dispose(){e.removeObserver(o)}};return s instanceof p?s.add(a):Array.isArray(s)&&s.push(a),a}}})(R||={});var S=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new y,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};S.all=new Set,S._idPool=0;var L=class e{constructor(t,i,s=(e._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t,this.threshold=i,this.name=s,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let i=this.threshold;if(i<=0||t<i)return;this._stacks||(this._stacks=new Map);let s=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,s+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=.5*i;let[e,s]=this.getMostFrequentStack(),r=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${s}):`;console.warn(r),console.warn(e);let n=new E(r,e);this._errorHandler(n)}return()=>{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[i,s]of this._stacks)(!e||t<s)&&(e=[i,s],t=s);return e}};L._idPool=1;var b,T,D,R,x,k,O=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??"")}print(){console.warn(this.value.split(`
6
+ `).slice(2).join(`
7
+ `))}},E=class extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}},A=class extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}},M=0,W=class{constructor(e){this.value=e,this.id=M++}},P=class{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new L(e?.onListenerError??o,this._options?.leakWarningThreshold??-1):void 0,this._perfMon=this._options?._profName?new S(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],i=new A(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||o)(i),m.None}if(this._disposed)return m.None;t&&(e=e.bind(t));let s=new W(e),r;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(s.stack=O.create(),r=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof W?(this._deliveryQueue??=new I,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._size++;let n=g(()=>{x?.unregister(n),r?.(),this._removeListener(s)});if(i instanceof p?i.add(n):Array.isArray(i)&&i.push(n),x){let e=Error().stack.split(`
8
+ `).slice(2,3).join(`
9
+ `).trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);x.register(n,t?.[2]??e,n)}return n},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,i=t.indexOf(e);if(-1===i)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;let s=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let i=0;i<t.length;i++)t[i]?t[e++]=t[i]:s&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let i=this._options?.onListenerError||o;try{e.value(t)}catch(e){i(e)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof W)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}},I=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},N=Object.freeze(function(e,t){let i=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(i)}}});(z=k||={}).isCancellationToken=function(e){return e===z.None||e===z.Cancelled||e instanceof H||!!e&&"object"==typeof e&&"boolean"==typeof e.isCancellationRequested&&"function"==typeof e.onCancellationRequested},z.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:R.None}),z.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:N});var z,U,F,H=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?N:(this._emitter||(this._emitter=new P),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},j=!1,q="en",B=globalThis;"u">typeof B.vscode&&"u">typeof B.vscode.process?F=B.vscode.process:"u">typeof r.default&&"string"==typeof r.default?.versions?.node&&(F=r.default);var Q="string"==typeof F?.versions?.electron&&F?.type==="renderer";if("object"==typeof F){F.platform,F.platform,"linux"===F.platform&&F.env.SNAP&&F.env.SNAP_REVISION,F.env.CI||F.env.BUILD_ARTIFACTSTAGINGDIRECTORY,q="en";let e=F.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,q=t.resolvedLanguage||"en",t.languagePack?.translationsConfigFile}catch{}}else"object"!=typeof navigator||Q?console.error("Unable to resolve platform."):((U=navigator.userAgent).indexOf("Windows"),U.indexOf("Macintosh"),(U.indexOf("Macintosh")>=0||U.indexOf("iPad")>=0||U.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,U.indexOf("Linux"),U?.indexOf("Mobi"),j=!0,q=globalThis._VSCODE_NLS_LANGUAGE||"en",navigator.language.toLowerCase());j&&"function"==typeof B.importScripts&&B.origin;var $,Y=U,G=q;(t=$||={}).value=function(){return G},t.isDefaultVariant=function(){return 2===G.length?"en"===G:G.length>=3&&"e"===G[0]&&"n"===G[1]&&"-"===G[2]},t.isDefault=function(){return"en"===G};var V="function"==typeof B.postMessage&&!B.importScripts,K=(()=>{if(V){let e=[];B.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,s=e.length;i<s;i++){let s=e[i];if(s.id===t.data.vscodeScheduleAsyncWork){e.splice(i,1),s.callback();return}}});let t=0;return i=>{let s=++t;e.push({id:s,callback:i}),B.postMessage({vscodeScheduleAsyncWork:s},"*")}}return e=>setTimeout(e)})(),J=!!(Y&&Y.indexOf("Chrome")>=0);function X(e,t=0,i){let s=setTimeout(()=>{e(),i&&r.dispose()},t),r=g(()=>{clearTimeout(s),i?.deleteAndLeak(r)});return i?.add(r),r}Y&&Y.indexOf("Firefox"),!J&&Y&&Y.indexOf("Safari"),Y&&Y.indexOf("Edg/"),Y&&Y.indexOf("Android"),Symbol("MicrotaskDelay"),(i=s||={}).settled=async function(e){let t,i=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||(t=e)})));if("u">typeof t)throw t;return i},i.withAsyncBody=function(e){return new Promise(async(t,i)=>{try{await e(t,i)}catch(e){i(e)}})};var Z=class e{static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let i of t)e.emitOne(i)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new P,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(1===this._state)return{done:!0,value:void 0};await R.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,i){return new e(async e=>{for await(let s of t)e.emitOne(i(s))})}map(t){return e.map(this,t)}static filter(t,i){return new e(async e=>{for await(let s of t)i(s)&&e.emitOne(s)})}filter(t){return e.filter(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let t=[];for await(let i of e)t.push(i);return t}toPromise(){return e.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}};Z.EMPTY=Z.fromArray([]);var ee=class extends m{constructor(e){super(),this._terminal=e,this._linesCacheTimeout=this._register(new v),this._linesCacheDisposables=this._register(new v),this._register(g(()=>this._destroyLinesCache()))}initLinesCache(){this._linesCache||(this._linesCache=Array(this._terminal.buffer.active.length),this._linesCacheDisposables.value=f(this._terminal.onLineFeed(()=>this._destroyLinesCache()),this._terminal.onCursorMove(()=>this._destroyLinesCache()),this._terminal.onResize(()=>this._destroyLinesCache()))),this._linesCacheTimeout.value=X(()=>this._destroyLinesCache(),15e3)}_destroyLinesCache(){this._linesCache=void 0,this._linesCacheDisposables.clear(),this._linesCacheTimeout.clear()}getLineFromCache(e){return this._linesCache?.[e]}setLineInCache(e,t){this._linesCache&&(this._linesCache[e]=t)}translateBufferLineToStringWithWrap(e,t){let i=[],s=[0],r=this._terminal.buffer.active.getLine(e);for(;r;){let n=this._terminal.buffer.active.getLine(e+1),o=!!n&&n.isWrapped,a=r.translateToString(!o&&t);if(o&&n){let e=r.getCell(r.length-1);e&&0===e.getCode()&&1===e.getWidth()&&n.getCell(0)?.getWidth()===2&&(a=a.slice(0,-1))}if(i.push(a),o)s.push(s[s.length-1]+a.length);else break;e++,r=n}return[i.join(""),s]}},et=class{get cachedSearchTerm(){return this._cachedSearchTerm}set cachedSearchTerm(e){this._cachedSearchTerm=e}get lastSearchOptions(){return this._lastSearchOptions}set lastSearchOptions(e){this._lastSearchOptions=e}isValidSearchTerm(e){return!!(e&&e.length>0)}didOptionsChange(e){return!this._lastSearchOptions||!!e&&(this._lastSearchOptions.caseSensitive!==e.caseSensitive||this._lastSearchOptions.regex!==e.regex||this._lastSearchOptions.wholeWord!==e.wholeWord)}shouldUpdateHighlighting(e,t){return!!t?.decorations&&(void 0===this._cachedSearchTerm||e!==this._cachedSearchTerm||this.didOptionsChange(t))}clearCachedTerm(){this._cachedSearchTerm=void 0}reset(){this._cachedSearchTerm=void 0,this._lastSearchOptions=void 0}},ei=class{constructor(e,t){this._terminal=e,this._lineCache=t}find(e,t,i,s){if(!e||0===e.length)return void this._terminal.clearSelection();if(i>this._terminal.cols)throw Error(`Invalid col: ${i} to search in terminal of ${this._terminal.cols} cols`);this._lineCache.initLinesCache();let r={startRow:t,startCol:i},n=this._findInLine(e,r,s);if(!n)for(let i=t+1;i<this._terminal.buffer.active.baseY+this._terminal.rows&&(r.startRow=i,r.startCol=0,!(n=this._findInLine(e,r,s)));i++);return n}findNextWithSelection(e,t,i){if(!e||0===e.length)return void this._terminal.clearSelection();let s=this._terminal.getSelectionPosition();this._terminal.clearSelection();let r=0,n=0;s&&(i===e?(r=s.end.x,n=s.end.y):(r=s.start.x,n=s.start.y)),this._lineCache.initLinesCache();let o={startRow:n,startCol:r},a=this._findInLine(e,o,t);if(!a)for(let i=n+1;i<this._terminal.buffer.active.baseY+this._terminal.rows&&(o.startRow=i,o.startCol=0,!(a=this._findInLine(e,o,t)));i++);if(!a&&0!==n)for(let i=0;i<n&&(o.startRow=i,o.startCol=0,!(a=this._findInLine(e,o,t)));i++);return!a&&s&&(o.startRow=s.start.y,o.startCol=0,a=this._findInLine(e,o,t)),a}findPreviousWithSelection(e,t,i){if(!e||0===e.length)return void this._terminal.clearSelection();let s=this._terminal.getSelectionPosition();this._terminal.clearSelection();let r=this._terminal.buffer.active.baseY+this._terminal.rows-1,n=this._terminal.cols;this._lineCache.initLinesCache();let o={startRow:r,startCol:n},a;if(s&&(o.startRow=r=s.start.y,o.startCol=n=s.start.x,i!==e&&((a=this._findInLine(e,o,t,!1))||(o.startRow=r=s.end.y,o.startCol=n=s.end.x))),a||(a=this._findInLine(e,o,t,!0)),!a){o.startCol=Math.max(o.startCol,this._terminal.cols);for(let i=r-1;i>=0&&(o.startRow=i,!(a=this._findInLine(e,o,t,!0)));i--);}if(!a&&r!==this._terminal.buffer.active.baseY+this._terminal.rows-1)for(let i=this._terminal.buffer.active.baseY+this._terminal.rows-1;i>=r&&(o.startRow=i,!(a=this._findInLine(e,o,t,!0)));i--);return a}_isWholeWord(e,t,i){return(0===e||" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?".includes(t[e-1]))&&(e+i.length===t.length||" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?".includes(t[e+i.length]))}_findInLine(e,t,i={},s=!1){let r=t.startRow,n=t.startCol;if(this._terminal.buffer.active.getLine(r)?.isWrapped){if(s){t.startCol+=this._terminal.cols;return}return t.startRow--,t.startCol+=this._terminal.cols,this._findInLine(e,t,i)}let o=this._lineCache.getLineFromCache(r);o||(o=this._lineCache.translateBufferLineToStringWithWrap(r,!0),this._lineCache.setLineInCache(r,o));let[a,l]=o,h=this._bufferColsToStringOffset(r,n),c=e,u=a;i.regex||(c=i.caseSensitive?e:e.toLowerCase(),u=i.caseSensitive?a:a.toLowerCase());let d=-1;if(i.regex){let t=RegExp(c,i.caseSensitive?"g":"gi"),r;if(s)for(;r=t.exec(u.slice(0,h));)d=t.lastIndex-r[0].length,e=r[0],t.lastIndex-=e.length-1;else(r=t.exec(u.slice(h)))&&r[0].length>0&&(d=h+(t.lastIndex-r[0].length),e=r[0])}else s?h-c.length>=0&&(d=u.lastIndexOf(c,h-c.length)):d=u.indexOf(c,h);if(d>=0){if(i.wholeWord&&!this._isWholeWord(d,u,e))return;let t=0;for(;t<l.length-1&&d>=l[t+1];)t++;let s=t;for(;s<l.length-1&&d+e.length>=l[s+1];)s++;let n=d-l[t],o=d+e.length-l[s],a=this._stringLengthToBufferSize(r+t,n),h=this._stringLengthToBufferSize(r+s,o)-a+this._terminal.cols*(s-t);return{term:e,col:a,row:r+t,size:h}}}_stringLengthToBufferSize(e,t){let i=this._terminal.buffer.active.getLine(e);if(!i)return 0;for(let e=0;e<t;e++){let s=i.getCell(e);if(!s)break;let r=s.getChars();r.length>1&&(t-=r.length-1);let n=i.getCell(e+1);n&&0===n.getWidth()&&t++}return t}_bufferColsToStringOffset(e,t){let i=e,s=0,r=this._terminal.buffer.active.getLine(i);for(;t>0&&r;){for(let e=0;e<t&&e<this._terminal.cols;e++){let t=r.getCell(e);if(!t)break;t.getWidth()&&(s+=0===t.getCode()?1:t.getChars().length)}if(i++,(r=this._terminal.buffer.active.getLine(i))&&!r.isWrapped)break;t-=this._terminal.cols}return s}},es=class extends m{constructor(e){super(),this._terminal=e,this._highlightDecorations=[],this._highlightedLines=new Set,this._register(g(()=>this.clearHighlightDecorations()))}createHighlightDecorations(e,t){for(let i of(this.clearHighlightDecorations(),e)){let e=this._createResultDecorations(i,t,!1);if(e)for(let t of e)this._storeDecoration(t,i)}}createActiveDecoration(e,t){let i=this._createResultDecorations(e,t,!0);if(i)return{decorations:i,match:e,dispose(){_(i)}}}clearHighlightDecorations(){_(this._highlightDecorations),this._highlightDecorations=[],this._highlightedLines.clear()}_storeDecoration(e,t){this._highlightedLines.add(e.marker.line),this._highlightDecorations.push({decoration:e,match:t,dispose(){e.dispose()}})}_applyStyles(e,t,i){e.classList.contains("xterm-find-result-decoration")||(e.classList.add("xterm-find-result-decoration"),t&&(e.style.outline=`1px solid ${t}`)),i&&e.classList.add("xterm-find-active-result-decoration")}_createResultDecorations(e,t,i){let s=[],r=e.col,n=e.size,o=-this._terminal.buffer.active.baseY-this._terminal.buffer.active.cursorY+e.row;for(;n>0;){let e=Math.min(this._terminal.cols-r,n);s.push([o,r,e]),r=0,n-=e,o++}let a=[];for(let e of s){let s=this._terminal.registerMarker(e[0]),r=this._terminal.registerDecoration({marker:s,x:e[1],width:e[2],backgroundColor:i?t.activeMatchBackground:t.matchBackground,overviewRulerOptions:this._highlightedLines.has(s.line)?void 0:{color:i?t.activeMatchColorOverviewRuler:t.matchOverviewRuler,position:"center"}});if(r){let e=[];e.push(s),e.push(r.onRender(e=>this._applyStyles(e,i?t.activeMatchBorder:t.matchBorder,!1))),e.push(r.onDispose(()=>_(e))),a.push(r)}}return 0===a.length?void 0:a}},er=class extends m{constructor(){super(...arguments),this._searchResults=[],this._onDidChangeResults=this._register(new P)}get onDidChangeResults(){return this._onDidChangeResults.event}get searchResults(){return this._searchResults}get selectedDecoration(){return this._selectedDecoration}set selectedDecoration(e){this._selectedDecoration=e}updateResults(e,t){this._searchResults=e.slice(0,t)}clearResults(){this._searchResults=[]}clearSelectedDecoration(){this._selectedDecoration&&(this._selectedDecoration.dispose(),this._selectedDecoration=void 0)}findResultIndex(e){for(let t=0;t<this._searchResults.length;t++){let i=this._searchResults[t];if(i.row===e.row&&i.col===e.col&&i.size===e.size)return t}return -1}fireResultsChanged(e){if(!e)return;let t=-1;this._selectedDecoration&&(t=this.findResultIndex(this._selectedDecoration.match)),this._onDidChangeResults.fire({resultIndex:t,resultCount:this._searchResults.length})}reset(){this.clearSelectedDecoration(),this.clearResults()}},en=class extends m{constructor(e){super(),this._highlightTimeout=this._register(new v),this._lineCache=this._register(new v),this._state=new et,this._resultTracker=this._register(new er),this._highlightLimit=e?.highlightLimit??1e3}get onDidChangeResults(){return this._resultTracker.onDidChangeResults}activate(e){this._terminal=e,this._lineCache.value=new ee(e),this._engine=new ei(e,this._lineCache.value),this._decorationManager=new es(e),this._register(this._terminal.onWriteParsed(()=>this._updateMatches())),this._register(this._terminal.onResize(()=>this._updateMatches())),this._register(g(()=>this.clearDecorations()))}_updateMatches(){this._highlightTimeout.clear(),this._state.cachedSearchTerm&&this._state.lastSearchOptions?.decorations&&(this._highlightTimeout.value=X(()=>{let e=this._state.cachedSearchTerm;this._state.clearCachedTerm(),this.findPrevious(e,{...this._state.lastSearchOptions,incremental:!0},{noScroll:!0})},200))}clearDecorations(e){this._resultTracker.clearSelectedDecoration(),this._decorationManager?.clearHighlightDecorations(),this._resultTracker.clearResults(),e||this._state.clearCachedTerm()}clearActiveDecoration(){this._resultTracker.clearSelectedDecoration()}findNext(e,t,i){if(!this._terminal||!this._engine)throw Error("Cannot use addon until it has been loaded");this._state.lastSearchOptions=t,this._state.shouldUpdateHighlighting(e,t)&&this._highlightAllMatches(e,t);let s=this._findNextAndSelect(e,t,i);return this._fireResults(t),this._state.cachedSearchTerm=e,s}_highlightAllMatches(e,t){if(!this._terminal||!this._engine||!this._decorationManager)throw Error("Cannot use addon until it has been loaded");if(!this._state.isValidSearchTerm(e))return void this.clearDecorations();this.clearDecorations(!0);let i=[],s,r=this._engine.find(e,0,0,t);for(;r&&(s?.row!==r.row||s?.col!==r.col)&&!(i.length>=this._highlightLimit);)s=r,i.push(s),r=this._engine.find(e,s.col+s.term.length>=this._terminal.cols?s.row+1:s.row,s.col+s.term.length>=this._terminal.cols?0:s.col+1,t);this._resultTracker.updateResults(i,this._highlightLimit),t.decorations&&this._decorationManager.createHighlightDecorations(i,t.decorations)}_findNextAndSelect(e,t,i){if(!this._terminal||!this._engine)return!1;if(!this._state.isValidSearchTerm(e))return this._terminal.clearSelection(),this.clearDecorations(),!1;let s=this._engine.findNextWithSelection(e,t,this._state.cachedSearchTerm);return this._selectResult(s,t?.decorations,i?.noScroll)}findPrevious(e,t,i){if(!this._terminal||!this._engine)throw Error("Cannot use addon until it has been loaded");this._state.lastSearchOptions=t,this._state.shouldUpdateHighlighting(e,t)&&this._highlightAllMatches(e,t);let s=this._findPreviousAndSelect(e,t,i);return this._fireResults(t),this._state.cachedSearchTerm=e,s}_fireResults(e){this._resultTracker.fireResultsChanged(!!e?.decorations)}_findPreviousAndSelect(e,t,i){if(!this._terminal||!this._engine)return!1;if(!this._state.isValidSearchTerm(e))return this._terminal.clearSelection(),this.clearDecorations(),!1;let s=this._engine.findPreviousWithSelection(e,t,this._state.cachedSearchTerm);return this._selectResult(s,t?.decorations,i?.noScroll)}_selectResult(e,t,i){if(!this._terminal||!this._decorationManager)return!1;if(this._resultTracker.clearSelectedDecoration(),!e)return this._terminal.clearSelection(),!1;if(this._terminal.select(e.col,e.row,e.size),t){let i=this._decorationManager.createActiveDecoration(e,t);i&&(this._resultTracker.selectedDecoration=i)}if(!i&&(e.row>=this._terminal.buffer.active.viewportY+this._terminal.rows||e.row<this._terminal.buffer.active.viewportY)){let t=e.row-this._terminal.buffer.active.viewportY;t-=Math.floor(this._terminal.rows/2),this._terminal.scrollLines(t)}return!0}};e.s(["SearchAddon",()=>en])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return n}});let o="u"<typeof window?e.r(63599).workAsyncStorage:void 0;function n({error:e}){if(o){let t=o.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68027,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let o=e.r(18050),n=e.r(12354),l={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},i={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},u=function({error:e}){let t=e?.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(n.HandleISRError,{error:e}),(0,o.jsx)("div",{style:l,children:(0,o.jsxs)("div",{children:[(0,o.jsxs)("h2",{style:i,children:["Application error: a ",t?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",t?"server logs":"browser console"," for more information)."]}),t?(0,o.jsx)("p",{style:i,children:`Digest: ${t}`}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22737,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"setAttributesFromProps",{enumerable:!0,get:function(){return i}});let o={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},n=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function l(e){return["async","defer","noModule"].includes(e)}function i(e,t){for(let[r,i]of Object.entries(t)){if(!t.hasOwnProperty(r)||n.includes(r)||void 0===i)continue;let u=o[r]||r.toLowerCase();"SCRIPT"===e.tagName&&l(u)?e[u]=!!i:e.setAttribute(u,String(i)),(!1===i||"SCRIPT"===e.tagName&&l(u)&&(!i||"false"===i))&&(e.setAttribute(u,""),e.removeAttribute(u))}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},42732,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return o}});let o=e.r(55682)._(e.r(71645)).default.createContext({})}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return n}});let o="u"<typeof window?e.r(63599).workAsyncStorage:void 0;function n({error:e}){if(o){let t=o.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68027,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let o=e.r(43476),n=e.r(12354),l={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},i={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},u=function({error:e}){let t=e?.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(n.HandleISRError,{error:e}),(0,o.jsx)("div",{style:l,children:(0,o.jsxs)("div",{children:[(0,o.jsxs)("h2",{style:i,children:["Application error: a ",t?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",t?"server logs":"browser console"," for more information)."]}),t?(0,o.jsx)("p",{style:i,children:`Digest: ${t}`}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22737,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"setAttributesFromProps",{enumerable:!0,get:function(){return i}});let o={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},n=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function l(e){return["async","defer","noModule"].includes(e)}function i(e,t){for(let[r,i]of Object.entries(t)){if(!t.hasOwnProperty(r)||n.includes(r)||void 0===i)continue;let u=o[r]||r.toLowerCase();"SCRIPT"===e.tagName&&l(u)?e[u]=!!i:e.setAttribute(u,String(i)),(!1===i||"SCRIPT"===e.tagName&&l(u)&&(!i||"false"===i))&&(e.setAttribute(u,""),e.removeAttribute(u))}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},42732,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return o}});let o=e.r(55682)._(e.r(71645)).default.createContext({})}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:l="",children:a,iconNode:c,...u},d)=>(0,t.createElement)("svg",{ref:d,...i,width:n,height:n,stroke:e,strokeWidth:o?24*Number(s)/Number(n):s,className:r("lucide",l),...!a&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(a)?a:[a]])),o=(e,i)=>{let o=(0,t.forwardRef)(({className:o,...l},a)=>(0,t.createElement)(s,{ref:a,iconNode:i,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...l}));return o.displayName=n(e),o};e.s(["default",()=>o],75254)},31278,e=>{"use strict";let t=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],31278)},55436,e=>{"use strict";let t=(0,e.i(75254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],55436)},97878,e=>{"use strict";let t=new Set,r=new Set,n=null,i=null;function s(e){return Array.isArray(e)?{type:"snapshot",sessions:e}:e&&"object"==typeof e&&"snapshot"===e.type&&Array.isArray(e.sessions)?e:null}function o(e){return e&&"object"==typeof e&&"boolean"==typeof e.enabled?e:null}function l(e){for(let r of t)r(e);let n=o(e.appUpdate);if(n)for(let e of r)e(n)}async function a(){if("function"!=typeof fetch)return;let e=(async()=>{try{let e=await fetch("/api/sessions");if(!e.ok)return;let t=await e.json().catch(()=>null),r=s(t);if(!r)return;l(r)}catch{}try{let t=await fetch("/api/app-update");if(!t.ok)return;let n=await t.json().catch(()=>null);var e=o(n);for(let t of r)t(e)}catch{}})();i=e.finally(()=>{i===e&&(i=null)}),await e}function c(){!n&&"u">typeof EventSource&&((n=new EventSource("/api/events")).onmessage=e=>{try{let t=s(JSON.parse(e.data));if(!t)return;l(t)}catch{}},n.addEventListener("refresh",()=>{i||a()}),n.onerror=()=>{0===t.size&&0===r.size&&(n?.close(),n=null)})}function u(e){return t.add(e),c(),()=>{t.delete(e),0===t.size&&0===r.size&&n&&(n.close(),n=null)}}function d(e){return r.add(e),c(),()=>{r.delete(e),0===t.size&&0===r.size&&n&&(n.close(),n=null)}}e.s(["subscribeToAppUpdateEvents",()=>d,"subscribeToSnapshotEvents",()=>u])},69242,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n=new Map;for(let[e,t]of Object.entries({amp:["amp","amp-code","amp-cli","ampcode","agent-amp"],claude:["claude","claude-code","claude-cli","claudecode","ccr","claude-code-router","claude-mcp","claude-mcp-cli","claude-mcp-agent","agent-claude-code"],codex:["codex","openai-codex","codex-cli","codexcli","openai","agent-codex"],copilot:["copilot","github-copilot","githubcopilot","copilot-cli","agent-github-copilot"],cursor:["cursor","cursor-cli","cursor-agent","cursoragent","agent-cursor-cli"],droid:["droid","factory-droid","factory_droid","agent-droid"],gemini:["gemini","gemini-cli","google-gemini","googlegemini","agent-gemini"],opencode:["opencode","open-code","open_code","open-code-cli","agent-opencode"],qwen:["qwen","qwen-code","qwen_code","qwen-code-cli","agent-qwen-code"]}))for(let r of t)n.set(i(r),e);function i(e){return e.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/_+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function s(e){let t=i(e);if(!t)return null;let r=n.get(t);if(r)return r;for(let e of t.split("-")){let t=n.get(e);if(t)return t}for(let[e,r]of n.entries())if(t===e||t.startsWith(`${e}-`)||t.endsWith(`-${e}`)||t.includes(`-${e}-`))return r;return null}function o(e){try{let t=new URL(e),r=s(t.hostname.replace(/^www\./,"").replace(/\./g,"-"));if(r)return r;return s(t.pathname.replace(/\//g,"-"))}catch{return s(e)}}function l({label:e,className:r}){let n=e.split(/[^a-z0-9]/iu).filter(Boolean).slice(0,2).map(e=>e[0]?.toUpperCase()).join("");return(0,t.jsx)("span",{"aria-hidden":"true",className:`inline-flex shrink-0 items-center justify-center rounded-[0.2rem] text-[9px] font-semibold text-white ${r}`,style:{backgroundColor:function(e){let t=["#14b8a6","#06b6d4","#0ea5e9","#8b5cf6","#ec4899","#f97316","#f59e0b","#ef4444","#22c55e","#84cc16"],r=0;for(let n=0;n<e.length;n+=1)r=(31*r+e.charCodeAt(n))%t.length;return t[Math.abs(r)%t.length]??"#6b7280"}(`${e}:${e.length}`)},children:n||"AI"})}function a({seed:e,className:n="h-6 w-6"}){let[i,a]=(0,r.useState)(0),c=e?.label?.trim()??"",u=(0,r.useMemo)(()=>{var t;if(!c)return[];let r=s((t={label:c,iconUrl:e?.iconUrl,homepage:e?.homepage}).label)??(t.homepage?o(t.homepage):null)??(t.iconUrl?o(t.iconUrl):null),n="string"==typeof e?.iconUrl&&e.iconUrl.trim().length>0?e.iconUrl.trim():null,i=[];return r&&(i.push(`/agents/${r}-dark.svg`),i.push(`/agents/${r}-light.svg`)),n&&i.push(n),i},[c,e?.homepage,e?.iconUrl]);if((0,r.useEffect)(()=>{a(0)},[c,u]),!c)return(0,t.jsx)(l,{label:"AI",className:n});let d=u[i]??null;return d?(0,t.jsx)("img",{src:d,alt:`${c} icon`,loading:"lazy",className:`${n} shrink-0 rounded-[0.2rem] object-contain scale-125`,onError:()=>a(e=>e+1)}):(0,t.jsx)(l,{label:c,className:n})}e.s(["AgentTileIcon",()=>a])},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},42727,75830,86318,e=>{"use strict";var t=e.i(71645),r=e.i(81140),n=e.i(30030),i=e.i(20783),s=e.i(43476);function o(e){var r;let n,o=(r=e,(n=t.forwardRef((e,r)=>{let{children:n,...s}=e;if(t.isValidElement(n)){var o;let e,l,a=(o=n,(l=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(l=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),c=function(e,t){let r={...t};for(let n in t){let i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...e)=>{let t=s(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...s}:"className"===n&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}(s,n.props);return n.type!==t.Fragment&&(c.ref=r?(0,i.composeRefs)(r,a):a),t.cloneElement(n,c)}return t.Children.count(n)>1?t.Children.only(null):null})).displayName=`${r}.SlotClone`,n),l=t.forwardRef((e,r)=>{let{children:n,...i}=e,l=t.Children.toArray(n),c=l.find(a);if(c){let e=c.props.children,n=l.map(r=>r!==c?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,s.jsx)(o,{...i,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,n):null})}return(0,s.jsx)(o,{...i,ref:r,children:n})});return l.displayName=`${e}.Slot`,l}var l=Symbol("radix.slottable");function a(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===l}function c(e){let r=e+"CollectionProvider",[l,a]=(0,n.createContextScope)(r),[c,u]=l(r,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:n}=e,i=t.default.useRef(null),o=t.default.useRef(new Map).current;return(0,s.jsx)(c,{scope:r,itemMap:o,collectionRef:i,children:n})};d.displayName=r;let f=e+"CollectionSlot",p=o(f),h=t.default.forwardRef((e,t)=>{let{scope:r,children:n}=e,o=u(f,r),l=(0,i.useComposedRefs)(t,o.collectionRef);return(0,s.jsx)(p,{ref:l,children:n})});h.displayName=f;let v=e+"CollectionItemSlot",m="data-radix-collection-item",y=o(v),g=t.default.forwardRef((e,r)=>{let{scope:n,children:o,...l}=e,a=t.default.useRef(null),c=(0,i.useComposedRefs)(r,a),d=u(v,n);return t.default.useEffect(()=>(d.itemMap.set(a,{ref:a,...l}),()=>void d.itemMap.delete(a))),(0,s.jsx)(y,{...{[m]:""},ref:c,children:o})});return g.displayName=v,[{Provider:d,Slot:h,ItemSlot:g},function(r){let n=u(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},a]}var u=new WeakMap;function d(e,t){var r,n;let i,s,o;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(r=e,n=t,i=r.length,(o=(s=f(n))>=0?s:i+s)<0||o>=i?-1:o);return -1===l?void 0:e[l]}function f(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],u.set(this,!0)}set(e,t){return u.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,i=this.has(t),s=this.#e.length,o=f(e),l=o>=0?o:s+o,a=l<0||l>=s?-1:l;if(a===this.size||i&&a===this.size-1||-1===a)return this.set(t,r),this;let c=this.size+ +!i;o<0&&l++;let u=[...this.#e],d=!1;for(let e=l;e<c;e++)if(l===e){let s=u[e];u[e]===t&&(s=u[e+1]),i&&this.delete(t),n=this.get(s),this.set(t,r)}else{d||u[e-1]!==t||(d=!0);let r=u[d?e:e-1],i=n;n=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,n){let i=new e(this);return i.insert(t,r,n),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=d(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=d(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return d(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&n.push(e),i++;return new e(n)}map(t,r){let n=[],i=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(n)}reduce(...e){let[t,r]=e,n=0,i=r??this.at(0);for(let r of this)i=0===n&&1===e.length?r:Reflect.apply(t,this,[i,r,n,this]),n++;return i}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);n=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[n,i,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,i=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>c],75830);var p=e.i(10772),h=e.i(48425),v=e.i(30207),m=e.i(69340),y=t.createContext(void 0);function g(e){let r=t.useContext(y);return e||r||"ltr"}e.s(["useDirection",()=>g],86318);var b="rovingFocusGroup.onEntryFocus",x={bubbles:!1,cancelable:!0},k="RovingFocusGroup",[w,R,C]=c(k),[A,j]=(0,n.createContextScope)(k,[C]),[S,E]=A(k),_=t.forwardRef((e,t)=>(0,s.jsx)(w.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,s.jsx)(w.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,s.jsx)(z,{...e,ref:t})})}));_.displayName=k;var z=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:o,orientation:l,loop:a=!1,dir:c,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:f,onEntryFocus:p,preventScrollOnEntryFocus:y=!1,...w}=e,C=t.useRef(null),A=(0,i.useComposedRefs)(n,C),j=g(c),[E,_]=(0,m.useControllableState)({prop:u,defaultProp:d??null,onChange:f,caller:k}),[z,N]=t.useState(!1),M=(0,v.useCallbackRef)(p),O=R(o),$=t.useRef(!1),[D,F]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(b,M),()=>e.removeEventListener(b,M)},[M]),(0,s.jsx)(S,{scope:o,orientation:l,dir:j,loop:a,currentTabStopId:E,onItemFocus:t.useCallback(e=>_(e),[_]),onItemShiftTab:t.useCallback(()=>N(!0),[]),onFocusableItemAdd:t.useCallback(()=>F(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>F(e=>e-1),[]),children:(0,s.jsx)(h.Primitive.div,{tabIndex:z||0===D?-1:0,"data-orientation":l,...w,ref:A,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{$.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!$.current;if(e.target===e.currentTarget&&t&&!z){let t=new CustomEvent(b,x);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=O().filter(e=>e.focusable);I([e.find(e=>e.active),e.find(e=>e.id===E),...e].filter(Boolean).map(e=>e.ref.current),y)}}$.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>N(!1))})})}),N="RovingFocusGroupItem",M=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:i,focusable:o=!0,active:l=!1,tabStopId:a,children:c,...u}=e,d=(0,p.useId)(),f=a||d,v=E(N,i),m=v.currentTabStopId===f,y=R(i),{onFocusableItemAdd:g,onFocusableItemRemove:b,currentTabStopId:x}=v;return t.useEffect(()=>{if(o)return g(),()=>b()},[o,g,b]),(0,s.jsx)(w.ItemSlot,{scope:i,id:f,focusable:o,active:l,children:(0,s.jsx)(h.Primitive.span,{tabIndex:m?0:-1,"data-orientation":v.orientation,...u,ref:n,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{o?v.onItemFocus(f):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>v.onItemFocus(f)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let i=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return O[i]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=y().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&i.reverse();let s=i.indexOf(e.currentTarget);i=v.loop?(r=i,n=s+1,r.map((e,t)=>r[(n+t)%r.length])):i.slice(s+1)}setTimeout(()=>I(i))}}),children:"function"==typeof c?c({isCurrentTabStop:m,hasTabStop:null!=x}):c})})});M.displayName=N;var O={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function I(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>M,"Root",()=>_,"createRovingFocusGroupScope",()=>j],42727)},43531,e=>{"use strict";let t=(0,e.i(75254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],43531)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],64659)},74886,e=>{"use strict";let t=(0,e.i(75254).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],74886)},86536,e=>{"use strict";let t=(0,e.i(75254).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],86536)},75505,e=>{"use strict";let t=(0,e.i(75254).default)("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"}]]);e.s(["FolderOpen",()=>t],75505)},90272,e=>{"use strict";let t=(0,e.i(75254).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 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.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",()=>t],90272)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},11077,e=>{"use strict";let t,r,n;var i=e.i(43476),s=e.i(18620),o=e.i(71645),l=e.i(20783),a=Symbol.for("react.lazy"),c=o[" use ".trim().toString()];function u(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===a&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var d=((n=o.forwardRef((e,t)=>{let{children:r,...n}=e;if(u(r)&&"function"==typeof c&&(r=c(r._payload)),o.isValidElement(r)){var i;let e,s,a=(i=r,(s=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.ref:(s=(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),c=function(e,t){let r={...t};for(let n in t){let i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...e)=>{let t=s(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...s}:"className"===n&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==o.Fragment&&(c.ref=t?(0,l.composeRefs)(t,a):a),o.cloneElement(r,c)}return o.Children.count(r)>1?o.Children.only(null):null})).displayName="Slot.SlotClone",t=n,(r=o.forwardRef((e,r)=>{let{children:n,...s}=e;u(n)&&"function"==typeof c&&(n=c(n._payload));let l=o.Children.toArray(n),a=l.find(p);if(a){let e=a.props.children,n=l.map(t=>t!==a?t:o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null);return(0,i.jsx)(t,{...s,ref:r,children:o.isValidElement(e)?o.cloneElement(e,void 0,n):null})}return(0,i.jsx)(t,{...s,ref:r,children:n})})).displayName="Slot.Slot",r),f=Symbol("radix.slottable");function p(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===f}let h={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},v={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},m=(0,o.forwardRef)(({variant:e="default",size:t="md",asChild:r,className:n,children:o,...l},a)=>(0,i.jsx)(r?d:"button",{ref:a,className:(0,s.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",h[e],v[t],n),...l,children:o}));m.displayName="Button",e.s(["Button",0,m],11077)},52808,e=>{"use strict";let t=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function r(e){return"merged"===e.status||"archived"===e.status||"killed"===e.status||"errored"===e.status||"cleanup"===e.status||"done"===e.status||"terminated"===e.status||e.pr&&("merged"===e.pr.state||"closed"===e.pr.state)?"done":"mergeable"===e.status||"approved"===e.status||e.pr?.mergeability.mergeable?"merge":"waiting_input"===e.activity||"blocked"===e.activity||"needs_input"===e.status||"stuck"===e.status?"respond":"queued"===e.status?"pending":"exited"===e.activity?"respond":"ci_failed"===e.status||"changes_requested"===e.status||e.pr&&("failing"===e.pr.ciStatus||"changes_requested"===e.pr.reviewDecision||!e.pr.mergeability.noConflicts)?"review":"review_pending"===e.status||e.pr&&!e.pr.isDraft&&("pending"===e.pr.reviewDecision||"none"===e.pr.reviewDecision)?"pending":"working"}e.s(["TERMINAL_STATUSES",0,t,"getAttentionLevel",()=>r])},55716,e=>{"use strict";let t=(0,e.i(75254).default)("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"}]]);e.s(["GitBranch",()=>t],55716)},17442,e=>{"use strict";var t=e.i(43476),r=e.i(18620);let n={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 i({variant:e="default",className:i,children:s}){return(0,t.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",n[e],i),children:s})}e.s(["Badge",()=>i])},90993,e=>{"use strict";var t=e.i(43476),r=e.i(18620);let n=(0,e.i(71645).forwardRef)(({className:e,...n},i)=>(0,t.jsx)("div",{ref:i,className:(0,r.cn)("surface-card rounded-[var(--radius-md)] border",e),...n}));function i({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...n})}function s({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("px-3 py-2",e),...n})}n.displayName="Card",e.s(["Card",0,n,"CardContent",()=>s,"CardHeader",()=>i])},64816,e=>{e.v(t=>Promise.all(["static/chunks/d4269c59429734ad.js","static/chunks/c993a1a4204fce88.js"].map(t=>e.l(t))).then(()=>t(31437)))},24629,e=>{e.v(t=>Promise.all(["static/chunks/0f7eb6d5a59ee3ae.js","static/chunks/a6ec1ab37eb7b410.js"].map(t=>e.l(t))).then(()=>t(96933)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,1965,e=>{"use strict";var t=e.i(43476),r=e.i(71645),a=e.i(18566),s=e.i(75254);let n=(0,s.default)("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"}]]);var l=e.i(31278);let o=(0,s.default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]),i=(0,s.default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);var d=e.i(7233),c=e.i(16715),x=e.i(55436),p=e.i(69242);function m(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}var u=e.i(18620),v=e.i(97878);let b={intake:"#3c83f6",ready:"#f59f0a",dispatching:"#fb923c",inProgress:"#f59f0a",needsInput:"#eab308",blocked:"#d53946",errored:"#ef4444",review:"#895af6",merge:"#06b6d4",done:"#21c45d",cancelled:"#6b7280"},h={intake:"To do",ready:"Ready",dispatching:"Dispatching",inProgress:"In progress",needsInput:"Needs input",blocked:"Blocked",errored:"Errored",review:"In review",merge:"Merge",done:"Done",cancelled:"Cancelled"},g={obsidian:"Obsidian",vscode:"VS Code",notion:"Notion",typora:"Typora",logseq:"Logseq",custom:"your editor"};function k(e){return["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"].includes(e)?e:"intake"}function f(e){let[t,...r]=e.split(" - ");return{title:(t??e).trim(),description:r.join(" - ").trim()}}function j(e){return e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function N({attachment:e,onOpen:r,opening:a=!1}){return(0,t.jsxs)("button",{type:"button",onClick:r,disabled:a,className:"inline-flex max-w-full items-center gap-1 rounded-[3px] bg-[color:#292929] px-2 py-1 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:e,"aria-label":`Open ${e}`,children:[a?(0,t.jsx)(l.Loader2,{className:"h-3 w-3 shrink-0 animate-spin"}):(0,t.jsx)(n,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e})]})}function y(e,t){if(!e||e.projectId!==t.projectId||e.repository!==t.repository||e.boardPath!==t.boardPath||e.workspacePath!==t.workspacePath||e.watcherHint!==t.watcherHint||e.primaryRoles.length!==t.primaryRoles.length||e.columns.length!==t.columns.length)return!1;for(let r=0;r<e.primaryRoles.length;r+=1)if(e.primaryRoles[r]!==t.primaryRoles[r])return!1;for(let r=0;r<e.columns.length;r+=1){let a=e.columns[r],s=t.columns[r];if(a.role!==s.role||a.heading!==s.heading||a.tasks.length!==s.tasks.length)return!1;for(let e=0;e<a.tasks.length;e+=1){let t=a.tasks[e],r=s.tasks[e];if(t.id!==r.id||t.text!==r.text||t.checked!==r.checked||t.agent!==r.agent||t.project!==r.project||t.type!==r.type||t.priority!==r.priority||t.taskRef!==r.taskRef||t.attemptRef!==r.attemptRef||t.issueId!==r.issueId||t.githubItemId!==r.githubItemId||t.notes!==r.notes||t.commentCount!==r.commentCount||t.comments.length!==r.comments.length||t.attachments.length!==r.attachments.length)return!1;for(let e=0;e<t.attachments.length;e+=1)if(t.attachments[e]!==r.attachments[e])return!1;for(let e=0;e<t.comments.length;e+=1)if(JSON.stringify(t.comments[e])!==JSON.stringify(r.comments[e]))return!1}}let r=e.githubProject??null,a=t.githubProject??null;if(JSON.stringify(r)!==JSON.stringify(a))return!1;let s=e.recentActions??[],n=t.recentActions??[];if(s.length!==n.length)return!1;for(let e=0;e<s.length;e+=1)if(JSON.stringify(s[e])!==JSON.stringify(n[e]))return!1;let l=e.recentWebhookDeliveries??[],o=t.recentWebhookDeliveries??[];if(l.length!==o.length)return!1;for(let e=0;e<l.length;e+=1)if(JSON.stringify(l[e])!==JSON.stringify(o[e]))return!1;return!0}function w(e){return{...e,repository:e.repository??null,githubProject:e.githubProject??null,recentActions:Array.isArray(e.recentActions)?e.recentActions:[],recentWebhookDeliveries:Array.isArray(e.recentWebhookDeliveries)?e.recentWebhookDeliveries:[],columns:Array.isArray(e.columns)?e.columns.map(e=>({...e,tasks:Array.isArray(e.tasks)?e.tasks.map(e=>({...e,issueId:e.issueId??null,githubItemId:e.githubItemId??null,attachments:Array.isArray(e.attachments)?e.attachments:[],notes:e.notes??null,commentCount:"number"==typeof e.commentCount?e.commentCount:Array.isArray(e.comments)?e.comments.length:0,comments:Array.isArray(e.comments)?e.comments:[]})):[]})):[]}}function C(e){return e.branch?.trim()||e.summary?.trim()||e.id.slice(0,8)}function S(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function $(e){let t=e.metadata?.agent;return"string"==typeof t&&t.trim().length>0?t.trim():null}function A(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"Running":"done"===t?"Done":"killed"===t?"Interrupted":"errored"===t?"Errored":"archived"===t?"Archived":e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function I(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"border-[rgba(60,131,246,0.35)] bg-[rgba(60,131,246,0.12)] text-[#8db8ff]":"done"===t?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"killed"===t||"archived"===t?"border-[rgba(143,143,143,0.35)] bg-[rgba(143,143,143,0.10)] text-[var(--vk-text-muted)]":"errored"===t?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}function P(e){if(!e?.id)return"No GitHub Project linked";let t="number"==typeof e.number?`#${e.number}`:"Project";return`${t} ${e.title?.trim()||"Untitled"}`.trim()}function E(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(new Date(t))}function R(e,t){if(!e)return null;for(let r of e.columns){let e=r.tasks.find(e=>e.id===t);if(e)return{task:e,role:r.role}}return null}function T(e,t,r){if(r){if(e.id===r&&t.id!==r)return -1;if(t.id===r&&e.id!==r)return 1}let a=e.lastActivityAt?Date.parse(e.lastActivityAt):0;return(t.lastActivityAt?Date.parse(t.lastActivityAt):0)-a}function O({projectId:e,defaultAgent:s,agentOptions:O}){var F;let L=(0,a.useRouter)(),{preferences:D}=function(){let[e,t]=(0,r.useState)(null),[a,s]=(0,r.useState)(!0),[n,l]=(0,r.useState)(null),o=(0,r.useRef)(!1),i=(0,r.useCallback)(async()=>{try{var e;let r,a,s,n=await fetch("/api/preferences"),o=await n.json().catch(()=>null);if(!n.ok)throw Error(o?.error??`Failed to load preferences: ${n.status}`);t((e=o?.preferences,r=m(e),s=(a=m(r.notifications)).soundFile,{onboardingAcknowledged:!0===r.onboardingAcknowledged,codingAgent:"string"==typeof r.codingAgent&&r.codingAgent.trim().length>0?r.codingAgent.trim():"claude-code",ide:"string"==typeof r.ide&&r.ide.trim().length>0?r.ide.trim():"vscode",markdownEditor:"string"==typeof r.markdownEditor&&r.markdownEditor.trim().length>0?r.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof r.markdownEditorPath?r.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===s?null:"string"==typeof s&&s.trim().length>0?s.trim():"abstract-sound-4"}})),l(null)}catch(e){t(null),l(e instanceof Error?e.message:"Failed to load preferences")}finally{s(!1)}},[]);return(0,r.useEffect)(()=>{o.current||(o.current=!0,i())},[i]),{preferences:e,loading:a,error:n,refresh:i}}(),[M,H]=(0,r.useState)(null),[U,B]=(0,r.useState)(!1),[J,z]=(0,r.useState)(null),[G,W]=(0,r.useState)(""),[q,_]=(0,r.useState)("active"),[K,V]=(0,r.useState)(!1),[Q,X]=(0,r.useState)("intake"),[Y,Z]=(0,r.useState)(""),[ee,et]=(0,r.useState)(""),[er,ea]=(0,r.useState)(s),[es,en]=(0,r.useState)("feature"),[el,eo]=(0,r.useState)("normal"),[ei,ed]=(0,r.useState)(""),[ec,ex]=(0,r.useState)([]),[ep,em]=(0,r.useState)(""),[eu,ev]=(0,r.useState)([]),[eb,eh]=(0,r.useState)(!1),[eg,ek]=(0,r.useState)(null),[ef,ej]=(0,r.useState)(null),[eN,ey]=(0,r.useState)([]),[ew,eC]=(0,r.useState)(!1),[eS,e$]=(0,r.useState)(null),[eA,eI]=(0,r.useState)([]),[eP,eE]=(0,r.useState)(null),[eR,eT]=(0,r.useState)("intake"),[eO,eF]=(0,r.useState)(""),[eL,eD]=(0,r.useState)(""),[eM,eH]=(0,r.useState)(s),[eU,eB]=(0,r.useState)("feature"),[eJ,ez]=(0,r.useState)("normal"),[eG,eW]=(0,r.useState)(""),[eq,e_]=(0,r.useState)(""),[eK,eV]=(0,r.useState)(""),[eQ,eX]=(0,r.useState)(!1),[eY,eZ]=(0,r.useState)(null),[e0,e1]=(0,r.useState)(""),[e2,e3]=(0,r.useState)(!1),[e5,e4]=(0,r.useState)(null),[e6,e9]=(0,r.useState)(null),[e8,e7]=(0,r.useState)(!1),[te,tt]=(0,r.useState)(!1),[tr,ta]=(0,r.useState)(!1),[ts,tn]=(0,r.useState)(null),[tl,to]=(0,r.useState)(null),[ti,td]=(0,r.useState)(""),tc=(0,r.useRef)(!1),tx=(0,r.useRef)(!1),tp="obsidian"===(F=D?.markdownEditor?.trim()||"obsidian")||"vscode"===F||"typora"===F||"logseq"===F?`Open in ${g[F]??"your editor"}`:"Open file",tm=(0,r.useMemo)(()=>{let e=[...new Set(O.filter(Boolean))];return e.includes(s)||e.unshift(s),e},[O,s]);(0,r.useEffect)(()=>{tm.includes(er)||ea(tm[0]??s)},[er,s,tm]),(0,r.useEffect)(()=>{tm.includes(eM)||eH(tm[0]??s)},[s,eM,tm]),(0,r.useEffect)(()=>{if(!K&&!eP||!e)return;let t=!1;return(async()=>{eh(!0),ek(null);try{let r=await fetch(`/api/context-files?projectId=${encodeURIComponent(e)}`),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load context files: ${r.status}`);if(t)return;let s=Array.isArray(a?.files)?a.files:[];ev(s)}catch(e){if(t)return;ev([]),ek(e instanceof Error?e.message:"Failed to load context files")}finally{t||eh(!1)}})(),()=>{t=!0}},[K,eP,e]),(0,r.useEffect)(()=>{if(!e||!K&&!eP)return;let t=!1;return(async()=>{try{let r=await fetch(`/api/sessions?project=${encodeURIComponent(e)}`),a=await r.json().catch(()=>null);if(!r.ok)throw Error(`Failed to load sessions: ${r.status}`);if(t)return;let s=Array.isArray(a)?a:Array.isArray(a?.sessions)?a.sessions:[];eI(s)}catch{t||eI([])}})(),()=>{t=!0}},[K,eP,e]),(0,r.useEffect)(()=>{tc.current=!1,e7(!1),tn(null),to(null),td("")},[e]);let tu=(0,r.useCallback)(async t=>{if(!e){H(null),z(null),B(!1),tc.current=!1;return}if(!tx.current){tx.current=!0,t?.silent||B(!0);try{let t=await fetch(`/api/boards?projectId=${encodeURIComponent(e)}`),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r?.error??`Failed to load board: ${t.status}`);let a=w(r);tc.current=!0,H(e=>y(e,a)?e:a),z(null)}catch(e){t?.silent&&tc.current||(H(null),z(e instanceof Error?e.message:"Failed to load board"))}finally{t?.silent||B(!1),tx.current=!1}}},[e]);(0,r.useEffect)(()=>{tu({silent:!1})},[tu]);let tv=(0,r.useCallback)(async()=>{if(!e){to(null),tn(null);return}tt(!0),tn(null);try{let t=await fetch(`/api/github/projects?projectId=${encodeURIComponent(e)}`),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r?.error??`Failed to load GitHub Projects (${t.status})`);let a={...r,projects:Array.isArray(r.projects)?r.projects:[]};to(a),td(a.linkedProject?.id?.trim()||a.projects[0]?.id?.trim()||"")}catch(e){tn(e instanceof Error?e.message:"Failed to load GitHub Projects"),to(null),td("")}finally{tt(!1)}},[e]);(0,r.useEffect)(()=>{if(!e)return;let t=()=>{("u"<typeof document||"hidden"!==document.visibilityState)&&tu({silent:!0})},r=null,a=()=>{let e="visible"===document.visibilityState?1e4:3e4;r=window.setTimeout(()=>{t(),a()},e)};a(),window.addEventListener("focus",t);let s=()=>{"visible"===document.visibilityState&&t()};return document.addEventListener("visibilitychange",s),()=>{null!=r&&window.clearTimeout(r),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",s)}},[tu,e]),(0,r.useEffect)(()=>{if(e)return(0,v.subscribeToSnapshotEvents)(()=>{tu({silent:!0})})},[tu,e]),(0,r.useEffect)(()=>{e8&&e&&tv()},[tv,e,e8]);let tb=(0,r.useMemo)(()=>{let e=G.trim().toLowerCase(),t=M?.columns??[],r="all"===q?null:new Set("backlog"===q?["intake","ready"]:"cancelled"===q?["cancelled"]:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]);return t.filter(e=>!r||r.has(e.role)).map(t=>e?{...t,tasks:t.tasks.filter(t=>{let r=t.comments.map(e=>`${e.author} ${e.body}`).join(" ");return`${t.text} ${t.agent??""} ${t.type??""} ${t.priority??""} ${t.issueId??""} ${t.notes??""} ${t.attachments.join(" ")} ${r}`.toLowerCase().includes(e)})}:t)},[M?.columns,G,q]),th=(0,r.useMemo)(()=>{let e=ep.trim().toLowerCase();return e?eu.filter(t=>`${t.path} ${t.name} ${t.source??""}`.toLowerCase().includes(e)):eu},[eu,ep]),tg=(0,r.useMemo)(()=>{if(!eP)return eA;let e=R(M,eP.task.id)??eP,t=S(e.task);return[...eA].sort((r,a)=>{let s=r.id===e.task.attemptRef||r.issueId?.trim()===t;return s!==(a.id===e.task.attemptRef||a.issueId?.trim()===t)?s?-1:1:T(r,a,e.task.attemptRef)})},[M,eP,eA]),tk=(0,r.useMemo)(()=>eP?R(M,eP.task.id)??eP:null,[M,eP]);function tf(e){X(e),V(!0),e$(null),ed(""),em(""),ex([]),ey([])}let tj=(0,r.useCallback)(async t=>{if(e){ej(t),eP?eZ(null):K?e$(null):z(null);try{let r=await fetch("/api/context-files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,path:t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to open context file: ${r.status}`)}catch(e){var r;r=e instanceof Error?e.message:"Failed to open context file",eP?eZ(r):K?e$(r):z(r)}finally{ej(e=>e===t?null:e)}}},[K,eP,e]);async function tN(){if(e&&Y.trim()){eC(!0),e$(null);try{let t=[];if(eN.length>0){let r=new FormData;for(let t of(r.append("projectId",e),eN))r.append("files",t);let a=await fetch("/api/attachments",{method:"POST",body:r}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Upload failed: ${a.status}`);t=(s?.files??[]).map(e=>e.path?.trim()).filter(e=>!!e)}let r=[...new Set([...ec,...t])],a=await fetch("/api/boards",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,title:Y.trim(),description:ee.trim()||void 0,contextNotes:ei.trim()||void 0,attachments:r.length>0?r:void 0,agent:er,role:Q,type:es.trim()||void 0,priority:el.trim()||void 0})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to create task: ${a.status}`);H(e=>{if(!s||!("columns"in s))return e;let t=w(s);return{...e??t,...t}}),Z(""),et(""),en("feature"),eo("normal"),ed(""),ex([]),em(""),ey([]),V(!1)}catch(e){e$(e instanceof Error?e.message:"Failed to create task")}finally{eC(!1)}}}let ty=(0,r.useRef)(!1);async function tw(t){if(e&&!ty.current){ty.current=!0;try{let r=await fetch("/api/boards",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,...t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to update board: ${r.status}`);let s=w(a);H(e=>y(e,s)?e:s),z(null)}finally{ty.current=!1}}}async function tC(t){if(e&&!tr){ta(!0),tn(null);try{let r=await fetch("/api/github/projects",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,link:t?.id?t:null})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to update GitHub Project link (${r.status})`);H(e=>e?{...e,githubProject:a?.githubProject??null}:e),await tv()}catch(e){tn(e instanceof Error?e.message:"Failed to update GitHub Project link")}finally{ta(!1)}}}async function tS(t){if(e&&!tr){ta(!0),tn(null);try{let r=await fetch("/api/github/projects/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,direction:t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to ${t} GitHub Project (${r.status})`);if(a?.board){let e=w(a.board);H(t=>y(t,e)?t:e)}else await tu({silent:!0});await tv()}catch(e){tn(e instanceof Error?e.message:`Failed to ${t} GitHub Project`)}finally{ta(!1)}}}function t$(){eQ||e2||(eE(null),eZ(null),e1(""),e4(null))}async function tA(){if(tk&&eO.trim()){eX(!0),eZ(null);try{await tw({taskId:tk.task.id,role:eR,title:eO.trim(),description:eL,contextNotes:eq.trim()||"",issueId:eG.trim()||"",agent:eM,type:eU,priority:eJ,attemptRef:eK,taskRef:eK?tk.task.taskRef??tk.task.id:tk.task.taskRef??""}),eE(null)}catch(e){eZ(e instanceof Error?e.message:"Failed to update task")}finally{eX(!1)}}}async function tI(){if(e&&tk&&e0.trim()){e3(!0),e4(null);try{let t=await fetch("/api/boards/comments",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:tk.task.id,body:e0.trim()})}),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r?.error??`Failed to add comment: ${t.status}`);let a=w(r);H(e=>y(e,a)?e:a),e1("")}catch(e){e4(e instanceof Error?e.message:"Failed to add comment")}finally{e3(!1)}}}return e?(0,t.jsxs)("section",{className:"flex h-full min-h-0 flex-col",children:[(0,t.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("div",{className:"inline-flex rounded-[3px] border border-[var(--vk-border)] p-px",children:[["active","Active"],["all","All"],["backlog","Backlog"],["cancelled","Cancelled"]].map(([e,r])=>(0,t.jsx)("button",{type:"button",onClick:()=>_(e),className:(0,u.cn)("px-3 py-1 text-[13px]",q===e?"rounded-[2px] bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:r},e))}),(0,t.jsxs)("div",{className:"ml-auto flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto sm:min-w-[220px] sm:flex-nowrap sm:flex-none",children:[(0,t.jsxs)("label",{className:"flex h-[31px] min-w-0 flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:min-w-[200px] sm:w-[240px] sm:flex-none",children:[(0,t.jsx)(x.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,t.jsx)("input",{value:G,onChange:e=>W(e.target.value),placeholder:"Search tasks...",className:"ml-2 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,t.jsxs)("button",{type:"button",onClick:()=>tf("intake"),className:"inline-flex h-[31px] w-full items-center justify-center gap-1 rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[14px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] sm:w-auto",children:[(0,t.jsx)("span",{children:"New Issue"}),(0,t.jsx)(d.Plus,{className:"h-3.5 w-3.5"})]})]})]}),(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>e7(e=>!e),className:"inline-flex h-[31px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,t.jsx)("span",{children:"GitHub Project"}),(0,t.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:M?.githubProject?.id?P(M.githubProject):"Connect"})]}),M?.githubProject?.url?(0,t.jsxs)("a",{href:M.githubProject.url,target:"_blank",rel:"noreferrer",className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,t.jsx)("span",{children:"Open Project"}),(0,t.jsx)(n,{className:"h-3.5 w-3.5"})]}):null]}),e8&&(0,t.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("label",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"mb-1 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Linked project"}),(0,t.jsxs)("select",{value:ti,onChange:e=>td(e.target.value),disabled:te||tr,className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,t.jsx)("option",{value:"",children:te?"Loading GitHub Projects...":"Select a GitHub Project"}),(tl?.projects??[]).map(e=>(0,t.jsx)("option",{value:e.id??"",children:P(e)},e.id??"unknown"))]})]}),(0,t.jsx)("button",{type:"button",disabled:!ti||te||tr,onClick:()=>{tC(tl?.projects.find(e=>e.id===ti)??null)},className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tr?(0,t.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin"}):"Connect"}),(0,t.jsx)("button",{type:"button",disabled:!M?.githubProject?.id||tr,onClick:()=>void tC(null),className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Disconnect"}),(0,t.jsxs)("button",{type:"button",disabled:!M?.githubProject?.id||tr,onClick:()=>void tS("pull"),className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tr?(0,t.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(c.RefreshCw,{className:"h-4 w-4"}),"Pull"]}),(0,t.jsx)("button",{type:"button",disabled:!M?.githubProject?.id||tr,onClick:()=>void tS("push"),className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Push"})]}),(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,t.jsxs)("span",{children:["Repository:"," ",M?.repository?.trim()||tl?.repository?.trim()||"Not configured"]}),tl?.ownerLogin?(0,t.jsxs)("span",{children:["Owner: ",tl.ownerLogin]}):null]}),ts&&(0,t.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:ts}),(M?.recentWebhookDeliveries?.length??0)>0&&(0,t.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,t.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Webhook diagnostics"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(M?.recentWebhookDeliveries??[]).length})]}),(0,t.jsx)("div",{className:"space-y-2",children:(M?.recentWebhookDeliveries??[]).slice(0,6).map(e=>{var r;let a,s;return(0,t.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${"synced"===(a=e.status.trim().toLowerCase())?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"failed"===a?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}`,children:"synced"===(s=(r=e.status).trim().toLowerCase())?"Synced":"failed"===s?"Failed":"skipped"===s?"Skipped":r}),(0,t.jsxs)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:[e.event,e.action?` / ${e.action}`:""]}),(0,t.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:E(e.timestamp)})]}),(0,t.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:e.detail}),e.repository?(0,t.jsxs)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Repo: ",e.repository]}):null]},e.id)})})]})]}),M?.watcherHint&&(0,t.jsx)("p",{className:"pt-2 text-[12px] text-[var(--vk-text-muted)]",children:M.watcherHint}),(M?.recentActions?.length??0)>0&&(0,t.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,t.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Recent activity"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(M?.recentActions??[]).length})]}),(0,t.jsx)("div",{className:"space-y-2",children:(M?.recentActions??[]).slice(0,6).map(e=>(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 text-[12px]",children:[(0,t.jsx)("span",{className:"rounded-[3px] bg-[color:#292929] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:e.source}),(0,t.jsx)("span",{className:"text-[var(--vk-text-normal)]",children:e.action}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[var(--vk-text-muted)]",title:e.detail,children:e.detail}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:E(e.timestamp)})]},e.id))})]})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto p-4",children:U?(0,t.jsxs)("div",{className:"flex h-full items-center justify-center text-[var(--vk-text-muted)]",children:[(0,t.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin"}),(0,t.jsx)("span",{className:"ml-2 text-[14px]",children:"Loading board..."})]}):J?(0,t.jsx)("div",{className:"rounded-[4px] border border-[color:color-mix(in_srgb,var(--vk-red)_55%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:J}):(0,t.jsx)("div",{className:"flex min-w-0 flex-col gap-3 rounded-[4px] border border-[var(--vk-border)] lg:grid lg:gap-0",style:{gridTemplateColumns:`repeat(${Math.max(tb.length,1)}, minmax(240px, 1fr))`},children:tb.map((e,r)=>(0,t.jsxs)("article",{className:(0,u.cn)("flex min-h-[320px] flex-col border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] lg:min-h-[540px] lg:border-b-0 lg:border-r",r===tb.length-1&&"border-b-0 lg:border-r-0"),children:[(0,t.jsxs)("header",{className:"flex h-[41px] items-center border-b border-[var(--vk-border)] px-2",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full",style:{backgroundColor:b[e.role]}}),(0,t.jsx)("span",{className:"ml-2 text-[14px] text-[var(--vk-text-normal)]",children:e.heading||h[e.role]}),(0,t.jsx)("button",{type:"button",onClick:()=>tf(e.role),className:"ml-auto inline-flex h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":`Add task to ${e.heading}`,children:(0,t.jsx)(d.Plus,{className:"h-3.5 w-3.5"})})]}),(0,t.jsxs)("div",{className:(0,u.cn)("flex-1 space-y-2 overflow-y-auto p-2",e6?.role===e.role&&"bg-[rgba(255,255,255,0.02)]"),onDragOver:e=>{e6&&e.preventDefault()},onDrop:t=>{t.preventDefault(),e6&&e6.role!==e.role&&(tw({taskId:e6.taskId,role:e.role}).catch(e=>{z(e instanceof Error?e.message:"Failed to move task")}),e9(null))},children:[0===e.tasks.length&&(0,t.jsx)("div",{className:"rounded-[3px] border border-dashed border-[var(--vk-border)] px-2 py-2 text-[13px] text-[var(--vk-text-muted)]",children:"No tasks"}),e.tasks.map(r=>{let{title:a,description:l}=f(r.text),d=S(r),c=function(e,t){let r=t?.trim();if(!e||!r||!/^\d+$/.test(r))return null;let[a,s]=e.trim().replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/^ssh:\/\/git@github\.com\//,"").replace(/\.git$/,"").replace(/\/+$/,"").split("/");return a&&s?`https://github.com/${a}/${s}/issues/${r}`:null}(M?.repository,r.issueId),x=eA.filter(e=>e.id===r.attemptRef||e.issueId?.trim()===d).sort((e,t)=>T(e,t,r.attemptRef??null)),m=r.attemptRef?x.find(e=>e.id===r.attemptRef)??null:x[0]??null,v=r.attemptRef&&!x.some(e=>e.id===r.attemptRef)?r.attemptRef:null;return(0,t.jsxs)("div",{draggable:!0,onDragStart:()=>e9({taskId:r.id,role:e.role}),onDragEnd:()=>e9(null),className:(0,u.cn)("rounded-[3px] border border-[var(--vk-border)] bg-[color:#212121] p-2",e6?.taskId===r.id&&"opacity-60"),children:[(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)("p",{className:"min-w-0 flex-1 font-mono text-[12px] text-[var(--vk-text-muted)]",children:r.taskRef?.trim()||(r.id.length>12?`TASK-${r.id.split("-")[0]?.toUpperCase()??r.id.toUpperCase()}`:r.id)}),(0,t.jsx)("button",{type:"button",onClick:()=>(function(e,t){let{title:r,description:a}=f(e.text);eE({task:e,role:t}),eT(t),eF(r),eD(a),eH(e.agent??tm[0]??s),eB(e.type??"feature"),ez(e.priority??"normal"),eW(e.issueId??""),e_(e.notes??""),eV(e.attemptRef??""),eZ(null),e1(""),e4(null)})(r,e.role),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":"Edit task",title:"Edit task",children:(0,t.jsx)(i,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)("p",{className:"pt-1 text-[15px] leading-[22px] text-[var(--vk-text-normal)]",children:a}),l&&(0,t.jsx)("p",{className:"pt-1 text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:l}),r.notes&&(0,t.jsx)("p",{className:"pt-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:r.notes}),r.commentCount>0&&(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)(o,{className:"h-3.5 w-3.5"}),(0,t.jsxs)("span",{children:[r.commentCount," comment",1===r.commentCount?"":"s"]})]}),(r.issueId||r.attachments.length>0)&&(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[r.issueId?c?(0,t.jsxs)("a",{href:c,target:"_blank",rel:"noreferrer",className:"inline-flex h-5 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,t.jsxs)("span",{children:["Issue #",r.issueId]}),(0,t.jsx)(n,{className:"h-3 w-3"})]}):(0,t.jsxs)("span",{className:"inline-flex h-5 items-center rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:["Issue ",r.issueId]}):null,r.attachments.map(e=>(0,t.jsx)(N,{attachment:e,opening:ef===e,onOpen:()=>void tj(e)},`${r.id}-${e}`))]}),(x.length>0||v)&&(0,t.jsxs)("div",{className:"mt-3 rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Runs"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:x.length+ +!!v})]}),(0,t.jsxs)("div",{className:"mt-2 space-y-1.5",children:[m?(0,t.jsxs)("button",{type:"button",onClick:()=>L.push(`/sessions/${encodeURIComponent(m.id)}`),className:"flex w-full items-center justify-between gap-2 rounded-[3px] border border-[rgba(255,255,255,0.05)] bg-[rgba(255,255,255,0.03)] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:m.id,children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[$(m)?(0,t.jsx)(p.AgentTileIcon,{seed:{label:$(m)},className:"h-5 w-5"}):null,(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:C(m)}),(0,t.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${I(m.status)}`,children:A(m.status)}),(0,t.jsx)(n,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]}):null,x.filter(e=>e.id!==m?.id).map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>L.push(`/sessions/${encodeURIComponent(e.id)}`),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:e.id,children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[$(e)?(0,t.jsx)(p.AgentTileIcon,{seed:{label:$(e)},className:"h-5 w-5"}):null,(0,t.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:C(e)})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${I(e.status)}`,children:A(e.status)}),(0,t.jsx)(n,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]},e.id)),v?(0,t.jsxs)("button",{type:"button",onClick:()=>L.push(`/sessions/${encodeURIComponent(v)}`),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:v,children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:v}),(0,t.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]}),(0,t.jsx)(n,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]}):null]})]}),(0,t.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"flex min-w-0 items-center gap-1.5",children:r.agent?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p.AgentTileIcon,{seed:{label:r.agent},className:"h-6 w-6"}),(0,t.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:j(r.agent)})]}):(0,t.jsx)("span",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No agent"})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[r.type&&(0,t.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:r.type}),r.priority&&(0,t.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:r.priority})]})]})]},`${e.role}-${r.id}`)})]})]},e.role))})}),tk&&(0,t.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:t$,children:(0,t.jsxs)("div",{className:"flex max-h-[calc(100dvh-1.5rem)] w-full max-w-[560px] flex-col overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,t.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)("h2",{className:"text-[18px] text-[var(--vk-text-strong)]",children:"Edit Board Task"}),(0,t.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Move the card, update the task, and link the latest session run."})]}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Title"}),(0,t.jsx)("input",{value:eO,onChange:e=>eF(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Description"}),(0,t.jsx)("textarea",{value:eL,onChange:e=>eD(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Column"}),(0,t.jsx)("select",{value:eR,onChange:e=>eT(k(e.target.value)),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:M?.columns.map(e=>(0,t.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||h[e.role]},e.role))})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,t.jsx)("select",{value:eM,onChange:e=>eH(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:tm.map(e=>(0,t.jsx)("option",{value:e,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:j(e)},e))})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Type"}),(0,t.jsx)("input",{value:eU,onChange:e=>eB(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Priority"}),(0,t.jsx)("input",{value:eJ,onChange:e=>ez(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"GitHub issue id (optional)"}),(0,t.jsx)("input",{value:eG,onChange:e=>eW(e.target.value),placeholder:"123",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Notes"}),(0,t.jsx)("textarea",{value:eq,onChange:e=>e_(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),tk.task.attachments.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Attachments"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:tk.task.attachments.map(e=>(0,t.jsx)(N,{attachment:e,opening:ef===e,onOpen:()=>void tj(e)},e))})]}),(0,t.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Comments"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:tk.task.commentCount})]}),(0,t.jsx)("div",{className:"space-y-2",children:tk.task.comments.length>0?tk.task.comments.map(e=>(0,t.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:e.author}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:E(e.timestamp)})]}),(0,t.jsx)("p",{className:"pt-1 whitespace-pre-wrap text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:e.body})]},e.id)):(0,t.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No comments yet."})}),(0,t.jsxs)("label",{className:"mt-3 block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Add comment"}),(0,t.jsx)("textarea",{value:e0,onChange:e=>e1(e.target.value),rows:3,placeholder:"Share status, request input, or leave implementation notes.",className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),e5&&(0,t.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:e5}),(0,t.jsx)("div",{className:"mt-3 flex justify-end",children:(0,t.jsxs)("button",{type:"button",onClick:()=>void tI(),disabled:!e0.trim()||e2,className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[e2?(0,t.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(o,{className:"h-4 w-4"}),"Post comment"]})})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Primary linked run"}),(0,t.jsxs)("select",{value:eK,onChange:e=>eV(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,t.jsx)("option",{value:"",className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:"No linked session"}),tg.map(e=>(0,t.jsxs)("option",{value:e.id,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:[C(e)," · ",e.status]},e.id))]})]}),eY&&(0,t.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:eY})]}),(0,t.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)("button",{type:"button",onClick:t$,disabled:eQ||e2,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>void tA(),disabled:!eO.trim()||eQ,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:eQ?(0,t.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin"}):"Save Task"})]})]})}),K&&(0,t.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:()=>!ew&&V(!1),children:(0,t.jsxs)("div",{className:"flex max-h-[calc(100dvh-1.5rem)] w-full max-w-[560px] flex-col overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,t.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)("h2",{className:"text-[18px] text-[var(--vk-text-strong)]",children:"Create Board Task"}),(0,t.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Add a task card with project and agent tags for Obsidian + conductor watcher."})]}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Title"}),(0,t.jsx)("input",{value:Y,onChange:e=>Z(e.target.value),placeholder:"Review payment flow regression",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Description (optional)"}),(0,t.jsx)("textarea",{value:ee,onChange:e=>et(e.target.value),rows:3,placeholder:"Investigate failing specs and propose a safe fix.",className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Context notes (optional)"}),(0,t.jsx)("textarea",{value:ei,onChange:e=>ed(e.target.value),rows:2,placeholder:"Anything the agent should prioritize or avoid for this task.",className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,t.jsx)("select",{value:er,onChange:e=>ea(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:tm.map(e=>(0,t.jsx)("option",{value:e,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:j(e)},e))})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Column"}),(0,t.jsx)("select",{value:Q,onChange:e=>X(k(e.target.value)),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:tb.map(e=>(0,t.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||h[e.role]},e.role))})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Type"}),(0,t.jsx)("input",{value:es,onChange:e=>en(e.target.value),placeholder:"feature",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Priority"}),(0,t.jsx)("input",{value:el,onChange:e=>eo(e.target.value),placeholder:"normal",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]}),(0,t.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] p-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Context attachments"}),(0,t.jsxs)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:[ec.length," selected",eN.length>0?` \xb7 ${eN.length} upload(s)`:""]})]}),(0,t.jsx)("div",{className:"mt-2",children:(0,t.jsxs)("label",{className:"inline-flex cursor-pointer items-center rounded-[3px] border border-[var(--vk-border)] px-2 py-1 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,t.jsx)("input",{type:"file",multiple:!0,className:"hidden",onChange:e=>{let t=Array.from(e.target.files??[]);0!==t.length&&(ey(e=>{let r=[...e];for(let e of t)r.some(t=>t.name===e.name&&t.size===e.size&&t.lastModified===e.lastModified)||r.push(e);return r}),e.currentTarget.value="")}}),"Upload files/images"]})}),eN.length>0&&(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:eN.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{ey(t=>t.filter(t=>t.name!==e.name||t.size!==e.size||t.lastModified!==e.lastModified))},className:"inline-flex items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2 py-1 text-[11px] text-[var(--vk-text-normal)]",title:"Remove upload",children:[(0,t.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,t.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"×"})]},`${e.name}-${e.size}-${e.lastModified}`))}),(0,t.jsxs)("label",{className:"mt-3 block",children:[(0,t.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Select existing context"}),(0,t.jsx)("input",{value:ep,onChange:e=>em(e.target.value),placeholder:"Search context files...",className:"h-8 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[13px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,t.jsx)("div",{className:"mt-2 max-h-[180px] overflow-auto rounded-[3px] border border-[var(--vk-border)]",children:eb?(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,t.jsx)(l.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),(0,t.jsx)("span",{children:"Loading context files..."})]}):eg?(0,t.jsx)("p",{className:"px-2 py-2 text-[12px] text-[var(--vk-red)]",children:eg}):0===th.length?(0,t.jsx)("p",{className:"px-2 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"No context files found."}):(0,t.jsx)("ul",{className:"divide-y divide-[var(--vk-border)]",children:th.map(e=>{var r;let a=ec.includes(e.path);return(0,t.jsx)("li",{className:"px-2 py-1.5",children:(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsxs)("label",{className:"flex min-w-0 flex-1 cursor-pointer items-start gap-2 text-[12px] text-[var(--vk-text-normal)]",children:[(0,t.jsx)("input",{type:"checkbox",checked:a,onChange:()=>{var t;return t=e.path,void ex(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t])},className:"mt-0.5 h-3.5 w-3.5 rounded border-[var(--vk-border)] bg-transparent"}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"block truncate",children:e.path}),(0,t.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:[e.kind,e.source?` \xb7 ${e.source}`:"",e.sizeBytes?` \xb7 ${!(r=e.sizeBytes)||r<=0?"":r<1024?`${r} B`:r<1048576?`${(r/1024).toFixed(1)} KB`:`${(r/1048576).toFixed(1)} MB`}`:""]})]})]}),(0,t.jsxs)("button",{type:"button",onClick:()=>void tj(e.path),disabled:ef===e.path,className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:`${tp}: ${e.path}`,"aria-label":`${tp}: ${e.path}`,children:[ef===e.path?(0,t.jsx)(l.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:tp})]})]})},e.path)})})})]}),eS&&(0,t.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:eS})]}),(0,t.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)("button",{type:"button",onClick:()=>V(!1),disabled:ew,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>void tN(),disabled:!Y.trim()||ew,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:ew?(0,t.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin"}):"Create Task"})]})]})})]}):(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-[14px] text-[var(--vk-text-muted)]",children:"Select a workspace to view its Kanban board."})}e.s(["WorkspaceKanban",()=>O],1965)},96933,e=>{e.n(e.i(1965))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,93309,t=>{"use strict";var e=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let e=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(e._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(0===t.css.cell.width||0===t.css.cell.height)return;let e=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),i=parseInt(r.getPropertyValue("height")),s=Math.max(0,parseInt(r.getPropertyValue("width"))),l=window.getComputedStyle(this._terminal.element),o={top:parseInt(l.getPropertyValue("padding-top")),bottom:parseInt(l.getPropertyValue("padding-bottom")),right:parseInt(l.getPropertyValue("padding-right")),left:parseInt(l.getPropertyValue("padding-left"))},n=o.top+o.bottom;return{cols:Math.max(2,Math.floor((s-(o.right+o.left)-e)/t.css.cell.width)),rows:Math.max(1,Math.floor((i-n)/t.css.cell.height))}}};t.s(["FitAddon",()=>e])}]);