conductor-oss 0.61.21 → 0.61.23

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 (360) hide show
  1. package/node_modules/@conductor-oss/core/package.json +1 -1
  2. package/package.json +6 -6
  3. package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
  4. package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +219 -0
  5. package/web/.next/standalone/node_modules/@img/{sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.18.3} +0 -0
  6. package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +2 -2
  7. package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +20 -20
  8. package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  9. package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +219 -0
  10. package/web/.next/standalone/node_modules/@img/{sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 → sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.3} +0 -0
  11. package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +2 -2
  12. package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +20 -20
  13. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/index.cjs +1 -0
  14. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64-0.35.0.node +0 -0
  15. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +6 -5
  16. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/index.cjs +1 -0
  17. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.0.node +0 -0
  18. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +6 -5
  19. package/web/.next/standalone/node_modules/@next/env/package.json +8 -9
  20. package/web/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  21. package/web/.next/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
  22. package/web/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +102 -2
  23. package/web/.next/standalone/node_modules/next/dist/compiled/http-proxy/index.js +5 -5
  24. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +11 -10
  25. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +12 -11
  26. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +14 -13
  27. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +11 -10
  28. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +2 -2
  29. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +9 -9
  30. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +9 -9
  31. package/web/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  32. package/web/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +147 -42
  33. package/web/.next/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +52 -4
  34. package/web/.next/standalone/node_modules/next/dist/server/config-schema.js +1 -1
  35. package/web/.next/standalone/node_modules/next/dist/server/config-shared.js +0 -2
  36. package/web/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  37. package/web/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  38. package/web/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  39. package/web/.next/standalone/node_modules/next/dist/server/image-optimizer.js +8 -27
  40. package/web/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  41. package/web/.next/standalone/node_modules/next/dist/server/lib/encode-cache-tag.js +45 -0
  42. package/web/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +6 -3
  43. package/web/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/index.js +90 -53
  44. package/web/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +20 -3
  45. package/web/.next/standalone/node_modules/next/dist/server/lib/router-utils/proxy-request.js +4 -0
  46. package/web/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  47. package/web/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  48. package/web/.next/standalone/node_modules/next/dist/shared/lib/router/router.js +8 -1
  49. package/web/.next/standalone/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +2 -1
  50. package/web/.next/standalone/node_modules/next/dist/shared/lib/server-reference-info.js +12 -0
  51. package/web/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  52. package/web/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  53. package/web/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  54. package/web/.next/standalone/node_modules/next/package.json +10 -252
  55. package/web/.next/standalone/node_modules/postcss/lib/container.js +81 -34
  56. package/web/.next/standalone/node_modules/postcss/lib/fromJSON.js +76 -23
  57. package/web/.next/standalone/node_modules/postcss/lib/input.js +13 -4
  58. package/web/.next/standalone/node_modules/postcss/lib/lazy-result.js +55 -13
  59. package/web/.next/standalone/node_modules/postcss/lib/node.js +105 -60
  60. package/web/.next/standalone/node_modules/postcss/lib/previous-map.js +11 -2
  61. package/web/.next/standalone/node_modules/postcss/lib/processor.js +1 -1
  62. package/web/.next/standalone/node_modules/postcss/lib/stringifier.js +90 -25
  63. package/web/.next/standalone/node_modules/postcss/package.json +1 -1
  64. package/web/.next/standalone/node_modules/sharp/{lib/channel.js → dist/channel.cjs} +1 -1
  65. package/web/.next/standalone/node_modules/sharp/{lib/colour.js → dist/colour.cjs} +1 -1
  66. package/web/.next/standalone/node_modules/sharp/{lib/composite.js → dist/composite.cjs} +2 -1
  67. package/web/.next/standalone/node_modules/sharp/{lib/constructor.js → dist/constructor.cjs} +41 -29
  68. package/web/.next/standalone/node_modules/sharp/dist/index.cjs +25 -0
  69. package/web/.next/standalone/node_modules/sharp/{lib/input.js → dist/input.cjs} +19 -14
  70. package/web/.next/standalone/node_modules/sharp/{lib/libvips.js → dist/libvips.cjs} +35 -30
  71. package/web/.next/standalone/node_modules/sharp/{lib/operation.js → dist/operation.cjs} +6 -35
  72. package/web/.next/standalone/node_modules/sharp/{lib/output.js → dist/output.cjs} +142 -14
  73. package/web/.next/standalone/node_modules/sharp/{lib/resize.js → dist/resize.cjs} +19 -1
  74. package/web/.next/standalone/node_modules/sharp/dist/sharp.cjs +164 -0
  75. package/web/.next/standalone/node_modules/sharp/{lib/utility.js → dist/utility.cjs} +11 -7
  76. package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/range.js +24 -4
  77. package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/semver.js +19 -2
  78. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/clean.js +8 -0
  79. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare-build.js +9 -0
  80. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare-loose.js +5 -0
  81. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/diff.js +60 -0
  82. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/inc.js +21 -0
  83. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/major.js +5 -0
  84. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/minor.js +5 -0
  85. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/patch.js +5 -0
  86. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/prerelease.js +8 -0
  87. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/rcompare.js +5 -0
  88. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/rsort.js +5 -0
  89. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/sort.js +5 -0
  90. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/truncate.js +48 -0
  91. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/valid.js +8 -0
  92. package/web/.next/standalone/node_modules/sharp/node_modules/semver/index.js +93 -0
  93. package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/re.js +1 -1
  94. package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/package.json +4 -4
  95. package/web/.next/standalone/node_modules/sharp/node_modules/semver/preload.js +4 -0
  96. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/gtr.js +6 -0
  97. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/intersects.js +9 -0
  98. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/ltr.js +6 -0
  99. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/max-satisfying.js +27 -0
  100. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/min-satisfying.js +26 -0
  101. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/min-version.js +63 -0
  102. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/outside.js +82 -0
  103. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/simplify.js +49 -0
  104. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/subset.js +249 -0
  105. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/to-comparators.js +10 -0
  106. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/valid.js +13 -0
  107. package/web/.next/standalone/node_modules/sharp/package.json +60 -49
  108. package/web/.next/standalone/package.json +3 -2
  109. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  110. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +9 -9
  111. package/web/.next/standalone/packages/web/.next/build-manifest.json +4 -4
  112. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  113. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +8 -8
  114. package/web/.next/standalone/packages/web/.next/required-server-files.json +6 -1
  115. package/web/.next/standalone/packages/web/.next/server/app/__clerk/[[...path]]/route.js.nft.json +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  117. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  118. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  119. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  120. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  121. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  122. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  123. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  124. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  125. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  126. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
  127. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  128. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  129. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
  130. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +1 -1
  131. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js.nft.json +1 -1
  132. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
  133. package/web/.next/standalone/packages/web/.next/server/app/api/auth/profile/route.js.nft.json +1 -1
  134. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js.nft.json +1 -1
  135. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
  136. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/[bridgeId]/route.js.nft.json +1 -1
  137. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/route.js.nft.json +1 -1
  138. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/app-update/route.js.nft.json +1 -1
  139. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/repair/route.js.nft.json +1 -1
  140. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/route.js.nft.json +1 -1
  141. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/service-restart/route.js.nft.json +1 -1
  142. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/claims/complete/route.js.nft.json +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/code/route.js.nft.json +1 -1
  144. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/route.js.nft.json +1 -1
  145. package/web/.next/standalone/packages/web/.next/server/app/api/bridges/route.js.nft.json +1 -1
  146. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
  147. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js.nft.json +1 -1
  148. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
  149. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
  150. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.nft.json +1 -1
  151. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
  152. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.nft.json +1 -1
  153. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/route.js.nft.json +1 -1
  154. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/sync/route.js.nft.json +1 -1
  155. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
  156. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js.nft.json +1 -1
  157. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
  158. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
  159. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
  160. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
  161. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/backlinks/route.js.nft.json +1 -1
  162. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/daily/route.js.nft.json +1 -1
  163. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/file/route.js.nft.json +1 -1
  164. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/graph/route.js.nft.json +1 -1
  165. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/open/route.js.nft.json +1 -1
  166. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/route.js.nft.json +1 -1
  167. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/approve/route.js.nft.json +1 -1
  168. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/bindings/route.js.nft.json +1 -1
  169. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/route.js.nft.json +1 -1
  170. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/stream/route.js.nft.json +1 -1
  171. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/integration/route.js.nft.json +1 -1
  172. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/interrupt/route.js.nft.json +1 -1
  173. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/preferences/route.js.nft.json +1 -1
  174. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/reject/route.js.nft.json +1 -1
  175. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/route.js.nft.json +1 -1
  176. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/send/route.js.nft.json +1 -1
  177. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route.js.nft.json +1 -1
  178. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/route.js.nft.json +1 -1
  179. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/route.js.nft.json +1 -1
  180. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatchers/route.js.nft.json +1 -1
  181. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/open/route.js.nft.json +1 -1
  182. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  183. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/setup/route.js.nft.json +1 -1
  184. package/web/.next/standalone/packages/web/.next/server/app/api/projects/route.js.nft.json +1 -1
  185. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  186. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
  187. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
  188. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
  189. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
  190. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
  191. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
  192. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js.nft.json +1 -1
  193. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
  194. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
  195. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js.nft.json +1 -1
  196. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js.nft.json +1 -1
  197. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js.nft.json +1 -1
  198. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js.nft.json +1 -1
  199. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
  200. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  201. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
  202. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/relay/route.js.nft.json +1 -1
  203. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.nft.json +1 -1
  204. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js.nft.json +1 -1
  205. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js.nft.json +1 -1
  206. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js.nft.json +1 -1
  207. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js.nft.json +1 -1
  208. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  209. package/web/.next/standalone/packages/web/.next/server/app/api/skills/activate/route.js.nft.json +1 -1
  210. package/web/.next/standalone/packages/web/.next/server/app/api/skills/catalog/route.js.nft.json +1 -1
  211. package/web/.next/standalone/packages/web/.next/server/app/api/skills/deactivate/route.js.nft.json +1 -1
  212. package/web/.next/standalone/packages/web/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  213. package/web/.next/standalone/packages/web/.next/server/app/api/skills/installed/route.js.nft.json +1 -1
  214. package/web/.next/standalone/packages/web/.next/server/app/api/skills/session-active/route.js.nft.json +1 -1
  215. package/web/.next/standalone/packages/web/.next/server/app/api/skills/uninstall/route.js.nft.json +1 -1
  216. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
  217. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
  218. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  219. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
  220. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  221. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  222. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js.nft.json +1 -1
  223. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.sh/route.js.nft.json +1 -1
  224. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js +1 -1
  225. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js.nft.json +1 -1
  226. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page_client-reference-manifest.js +1 -1
  227. package/web/.next/standalone/packages/web/.next/server/app/icon.svg/route.js.nft.json +1 -1
  228. package/web/.next/standalone/packages/web/.next/server/app/page.js +1 -1
  229. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  230. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  231. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  232. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  233. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  234. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
  235. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  236. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  237. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
  238. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  239. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  240. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
  241. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  242. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  243. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
  244. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  245. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  246. package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page.js +1 -1
  247. package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page.js.nft.json +1 -1
  248. package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page_client-reference-manifest.js +1 -1
  249. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
  250. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  251. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  252. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +9 -9
  253. package/web/.next/standalone/packages/web/.next/server/chunks/2074.js +1 -0
  254. package/web/.next/standalone/packages/web/.next/server/chunks/2512.js +3 -3
  255. package/web/.next/standalone/packages/web/.next/server/chunks/3303.js +1 -1
  256. package/web/.next/standalone/packages/web/.next/server/chunks/3698.js +5 -3
  257. package/web/.next/standalone/packages/web/.next/server/chunks/3786.js +2 -2
  258. package/web/.next/standalone/packages/web/.next/server/chunks/6108.js +1 -0
  259. package/web/.next/standalone/packages/web/.next/server/chunks/6472.js +1 -1
  260. package/web/.next/standalone/packages/web/.next/server/chunks/724.js +1 -1
  261. package/web/.next/standalone/packages/web/.next/server/chunks/7481.js +1 -1
  262. package/web/.next/standalone/packages/web/.next/server/chunks/7776.js +1 -1
  263. package/web/.next/standalone/packages/web/.next/server/chunks/8688.js +1 -0
  264. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  265. package/web/.next/standalone/packages/web/.next/server/chunks/9787.js +3 -3
  266. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  267. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  268. package/web/.next/standalone/packages/web/.next/server/middleware.js +4 -4
  269. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.js +1 -1
  270. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +1 -1
  271. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  272. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  273. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  274. package/web/.next/standalone/packages/web/.next/static/chunks/17319.f853545792589ec2.js +1 -0
  275. package/web/.next/standalone/packages/web/.next/static/chunks/{34443.c71c524d5fcc197f.js → 34443.fa5f443480cf2b8a.js} +1 -1
  276. package/web/.next/standalone/packages/web/.next/static/chunks/39816.fd2a8af735afdbe1.js +1 -0
  277. package/web/.next/standalone/packages/web/.next/static/chunks/41696.3e691c667c1e7b81.js +1 -0
  278. package/web/.next/standalone/packages/web/.next/static/chunks/41998.bfd148a33a5b285a.js +1 -0
  279. package/web/.next/standalone/packages/web/.next/static/chunks/{61968-84de5fd1d154571d.js → 61968-1d55f423ea1ad7fb.js} +1 -1
  280. package/web/.next/standalone/packages/web/.next/static/chunks/76892-86e55e6d0e7ca057.js +1 -0
  281. package/web/.next/{static/chunks/79593-c8c8ed0f8829c660.js → standalone/packages/web/.next/static/chunks/79593-2f58ba44bc178231.js} +2 -2
  282. package/web/.next/standalone/packages/web/.next/static/chunks/81132.92c626a062747078.js +3 -0
  283. package/web/.next/standalone/packages/web/.next/static/chunks/9016-c4fa23038e6de72b.js +1 -0
  284. package/web/.next/standalone/packages/web/.next/static/chunks/app/{layout-1d6034a5d57a2849.js → layout-dc8ca6126999c95c.js} +1 -1
  285. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-f3925343b6c5eaa9.js +1 -0
  286. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-b1d7e1d41fba2817.js +1 -0
  287. package/web/.next/{static/chunks/main-e776ff7a08a61c77.js → standalone/packages/web/.next/static/chunks/main-0a70c45f3b60fdcf.js} +1 -1
  288. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-0562fb102dd7e557.js +1 -0
  289. package/web/.next/standalone/packages/web/.next/static/css/dfd1cecfd68c43ff.css +1 -0
  290. package/web/.next/standalone/packages/web/package.json +2 -1
  291. package/web/.next/standalone/packages/web/server.js +1 -1
  292. package/web/.next/static/chunks/17319.f853545792589ec2.js +1 -0
  293. package/web/.next/static/chunks/{34443.c71c524d5fcc197f.js → 34443.fa5f443480cf2b8a.js} +1 -1
  294. package/web/.next/static/chunks/39816.fd2a8af735afdbe1.js +1 -0
  295. package/web/.next/static/chunks/41696.3e691c667c1e7b81.js +1 -0
  296. package/web/.next/static/chunks/41998.bfd148a33a5b285a.js +1 -0
  297. package/web/.next/static/chunks/{61968-84de5fd1d154571d.js → 61968-1d55f423ea1ad7fb.js} +1 -1
  298. package/web/.next/static/chunks/76892-86e55e6d0e7ca057.js +1 -0
  299. package/web/.next/{standalone/packages/web/.next/static/chunks/79593-c8c8ed0f8829c660.js → static/chunks/79593-2f58ba44bc178231.js} +2 -2
  300. package/web/.next/static/chunks/81132.92c626a062747078.js +3 -0
  301. package/web/.next/static/chunks/9016-c4fa23038e6de72b.js +1 -0
  302. package/web/.next/static/chunks/app/{layout-1d6034a5d57a2849.js → layout-dc8ca6126999c95c.js} +1 -1
  303. package/web/.next/static/chunks/app/page-f3925343b6c5eaa9.js +1 -0
  304. package/web/.next/static/chunks/app/sessions/[id]/page-b1d7e1d41fba2817.js +1 -0
  305. package/web/.next/{standalone/packages/web/.next/static/chunks/main-e776ff7a08a61c77.js → static/chunks/main-0a70c45f3b60fdcf.js} +1 -1
  306. package/web/.next/static/chunks/webpack-0562fb102dd7e557.js +1 -0
  307. package/web/.next/static/css/dfd1cecfd68c43ff.css +1 -0
  308. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/LICENSE +0 -191
  309. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  310. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/LICENSE +0 -191
  311. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  312. package/web/.next/standalone/node_modules/sharp/lib/index.js +0 -16
  313. package/web/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
  314. package/web/.next/standalone/packages/web/.next/server/chunks/1364.js +0 -1
  315. package/web/.next/standalone/packages/web/.next/server/chunks/4013.js +0 -1
  316. package/web/.next/standalone/packages/web/.next/server/chunks/9398.js +0 -1
  317. package/web/.next/standalone/packages/web/.next/static/chunks/28386-0121205400994756.js +0 -1
  318. package/web/.next/standalone/packages/web/.next/static/chunks/39816.a3835fb513390d7c.js +0 -1
  319. package/web/.next/standalone/packages/web/.next/static/chunks/41696.08fe09203aaf1a18.js +0 -1
  320. package/web/.next/standalone/packages/web/.next/static/chunks/41998.4a8b2f9f7d29a4dc.js +0 -1
  321. package/web/.next/standalone/packages/web/.next/static/chunks/81132.bfc52d50d21324b2.js +0 -3
  322. package/web/.next/standalone/packages/web/.next/static/chunks/84322.a03fd8fc2bb2e8d7.js +0 -1
  323. package/web/.next/standalone/packages/web/.next/static/chunks/9016-2b7d7b8b143a8323.js +0 -1
  324. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-0ba7acf47a6b3ac6.js +0 -1
  325. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-aeb1ccc1a89248d5.js +0 -1
  326. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-c447583f01d6313b.js +0 -1
  327. package/web/.next/standalone/packages/web/.next/static/css/895fa8ff3c08143e.css +0 -1
  328. package/web/.next/static/chunks/28386-0121205400994756.js +0 -1
  329. package/web/.next/static/chunks/39816.a3835fb513390d7c.js +0 -1
  330. package/web/.next/static/chunks/41696.08fe09203aaf1a18.js +0 -1
  331. package/web/.next/static/chunks/41998.4a8b2f9f7d29a4dc.js +0 -1
  332. package/web/.next/static/chunks/81132.bfc52d50d21324b2.js +0 -3
  333. package/web/.next/static/chunks/84322.a03fd8fc2bb2e8d7.js +0 -1
  334. package/web/.next/static/chunks/9016-2b7d7b8b143a8323.js +0 -1
  335. package/web/.next/static/chunks/app/page-0ba7acf47a6b3ac6.js +0 -1
  336. package/web/.next/static/chunks/app/sessions/[id]/page-aeb1ccc1a89248d5.js +0 -1
  337. package/web/.next/static/chunks/webpack-c447583f01d6313b.js +0 -1
  338. package/web/.next/static/css/895fa8ff3c08143e.css +0 -1
  339. /package/web/.next/standalone/node_modules/sharp/{lib/is.js → dist/is.cjs} +0 -0
  340. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/comparator.js +0 -0
  341. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/cmp.js +0 -0
  342. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/coerce.js +0 -0
  343. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/compare.js +0 -0
  344. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/eq.js +0 -0
  345. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gt.js +0 -0
  346. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gte.js +0 -0
  347. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lt.js +0 -0
  348. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lte.js +0 -0
  349. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/neq.js +0 -0
  350. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/parse.js +0 -0
  351. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/satisfies.js +0 -0
  352. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/constants.js +0 -0
  353. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/debug.js +0 -0
  354. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/identifiers.js +0 -0
  355. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/lrucache.js +0 -0
  356. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/parse-options.js +0 -0
  357. /package/web/.next/standalone/packages/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_buildManifest.js +0 -0
  358. /package/web/.next/standalone/packages/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_ssgManifest.js +0 -0
  359. /package/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_buildManifest.js +0 -0
  360. /package/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39816,88742],{7378:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},11896:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},18259:(e,t,r)=>{r.d(t,{AR:()=>n,Fp:()=>i,M_:()=>l,b:()=>o});let a="conductor:project-board-refresh",s=new Set(["dispatcher_task_created","dispatcher_task_updated","dispatcher_task_handed_off"]);function n(e){for(let t of e){let e=function(e){if("system"!==e.kind)return null;let t=e.metadata?.eventType;return"string"==typeof t&&t.trim().length>0?t.trim():null}(t);if(e&&s.has(e))return e}return null}function l(e,t){return!!(e.changedProjectIds?.includes(t)||e.sessions.some(e=>e.projectId===t))||"snapshot_delta"===e.type&&0===e.sessions.length}function i(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function o(e,t){let r=r=>{let a=r.detail;a&&a.projectId===e&&t(a)};return window.addEventListener(a,r),()=>{window.removeEventListener(a,r)}}},18510:(e,t,r)=>{r.d(t,{J:()=>s,s:()=>n});var a=r(10926);function s(e){let t=(0,a.C0)(e);if(!t)return"/";let r=new URLSearchParams;return r.set("bridge",t),`/?${r.toString()}`}function n(e,t={}){let r,s=e.trim(),l=(0,a.DW)(s)?s:(r=(0,a.C0)(t.bridgeId))?(0,a.Bp)(r,s):s,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let d=i.toString(),c=`/sessions/${encodeURIComponent(l)}`;return d.length>0?`${c}?${d}`:c}},24774:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},39816:(e,t,r)=>{r.r(t),r.d(t,{WorkspaceKanban:()=>eL});var a=r(54568),s=r(96869),n=r(7620),l=r(79748),i=r(38874),o=r(24774),d=r(37812),c=r(58564),x=r(1173),m=r(57770),p=r(39789);let u=(0,p.A)("file-image",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]);var v=r(99250),h=r(77024);let b=(0,p.A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),g=(0,p.A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]),f=(0,p.A)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var k=r(7378),j=r(88742),y=r(5966);let N=(0,p.A)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),w=(0,p.A)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var C=r(13932);let A=(0,p.A)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);var S=r(11896),P=r(94110),$=r(72410),I=r(59207),M=r(10926),E=r(31404),_=r(46916),R=r(18510),L=r(18259),D=r(17210),O=r(76050);function F(e){return(0,O.tK)({metadata:e?.metadata??{}})}let T={intake:"#3c83f6",ready:"#f59f0a",dispatching:"#fb923c",inProgress:"#f59f0a",needsInput:"#eab308",blocked:"#d53946",errored:"#ef4444",review:"#895af6",merge:"#06b6d4",done:"#21c45d",cancelled:"#6b7280"},B={feature:{bg:"color-mix(in srgb, #3c83f6 16%, transparent)",text:"#60a5fa"},fix:{bg:"color-mix(in srgb, #f59f0a 16%, transparent)",text:"#fbbf24"},review:{bg:"color-mix(in srgb, #895af6 16%, transparent)",text:"#a78bfa"},chore:{bg:"color-mix(in srgb, #6b7280 16%, transparent)",text:"#9ca3af"},docs:{bg:"color-mix(in srgb, #21c45d 16%, transparent)",text:"#34d399"}},G={high:{bg:"color-mix(in srgb, #ef4444 14%, transparent)",text:"#f87171",dot:"#ef4444"},medium:{bg:"color-mix(in srgb, #f59f0a 14%, transparent)",text:"#fbbf24",dot:"#f59f0a"},low:{bg:"color-mix(in srgb, #3c83f6 14%, transparent)",text:"#60a5fa",dot:"#3c83f6"}},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"},z={intake:"New tasks",ready:"Cleared to dispatch",dispatching:"Launching agents",inProgress:"Agents working",needsInput:"Human needed",blocked:"Blocked on dependency",errored:"Needs attention",review:"Code waiting on eyes",merge:"Ready to land",done:"Completed",cancelled:"Cancelled"},U={obsidian:"Obsidian",vscode:"VS Code",notion:"Notion",typora:"Typora",logseq:"Logseq",custom:"your editor"},J=[{value:"feature",label:"Feature"},{value:"fix",label:"Fix"},{value:"review",label:"Review"},{value:"chore",label:"Chore"},{value:"docs",label:"Docs"}],q=[{value:"high",label:"High"},{value:"medium",label:"Medium"},{value:"low",label:"Low"}],W="z-[120] rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)]",V="conductor:board-layout",K="conductor:board-list-view:v2",Z=["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"],Q=["high","medium","low"],Y={roles:[],priorities:[],agents:[],sortField:"title",sortDir:"asc",groupBy:"status",collapsedGroups:[]},X={...Y,groupBy:"none"},ee=[{label:"All",roles:[]},{label:"Active",roles:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]},{label:"Backlog",roles:["intake","ready"]},{label:"Done",roles:["done","cancelled"]}];function et(e){return["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"].includes(e)?e:"intake"}function er(e){let[t,...r]=e.split(" - ");return{title:(t??e).trim(),description:r.join(" - ").trim()}}function ea(e,t){if(!t)return!0;let r=e.comments.map(e=>`${e.author} ${e.body}`).join(" ");return`${e.text} ${e.agent??""} ${e.type??""} ${e.priority??""} ${e.issueId??""} ${e.notes??""} ${e.briefPath??""} ${e.attachments.join(" ")} ${r}`.toLowerCase().includes(t)}function es(e){return e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function en(e){return e.taskRef?.trim()||(e.id.length>12?`TASK-${e.id.split("-")[0]?.toUpperCase()??e.id.toUpperCase()}`:e.id)}function el(e){return Z.indexOf(e)}function ei(e){if(!e)return Q.length;let t=Q.indexOf(e);return t>=0?t:Q.length}function eo(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function ed(e,t){if(e.length!==t.length)return!1;let r=[...e].sort(),a=[...t].sort();return r.every((e,t)=>e===a[t])}function ec(e){try{var t;let r=window.localStorage.getItem(e);if(!r)return{...Y};let a=JSON.parse(r),s={...Y,...a,roles:Array.isArray(a.roles)?a.roles.filter(e=>Z.includes(e)):[],priorities:Array.isArray(a.priorities)?a.priorities.filter(e=>"string"==typeof e):[],agents:Array.isArray(a.agents)?a.agents.filter(e=>"string"==typeof e):[],groupBy:(t=a.groupBy,"status"===t||"priority"===t||"assignee"===t||"none"===t?t:Y.groupBy),collapsedGroups:Array.isArray(a.collapsedGroups)?a.collapsedGroups.filter(e=>"string"==typeof e):[]};return ed(s.roles,X.roles)&&ed(s.priorities,X.priorities)&&ed(s.agents,X.agents)&&s.sortField===X.sortField&&s.sortDir===X.sortDir&&s.groupBy===X.groupBy&&ed(s.collapsedGroups,X.collapsedGroups)?{...s,groupBy:Y.groupBy}:s}catch{return{...Y}}}function ex(e){return e.split("/").map(e=>e.trim()).filter(Boolean)}function em(e,t){return e.kind!==t.kind?"folder"===e.kind?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base",numeric:!0})}function ep(e){let t=e.displayPath?.trim();return t&&t.length>0?t:e.path}function eu({attachment:e,onOpen:t,opening:r=!1}){return(0,a.jsxs)("button",{type:"button",onClick:t,disabled:r,className:"inline-flex max-w-full items-center gap-1 rounded-[3px] bg-[color:#292929] px-2 py-1 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:e,"aria-label":`Open ${e}`,children:[r?(0,a.jsx)(i.A,{className:"h-3 w-3 shrink-0 animate-spin"}):(0,a.jsx)(o.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:e})]})}function ev({node:e,depth:t,expandedFolders:r,selectedPaths:s,openingContextPath:n,contextOpenLabel:l,onToggleFolder:p,onTogglePath:h,onOpenPath:b}){var g;let f=10+16*t;if("folder"===e.kind){let i=r.has(e.path);return(0,a.jsxs)("li",{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>p(e.path),className:"flex w-full items-center gap-1.5 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",style:{paddingLeft:`${f}px`,paddingRight:"10px"},"aria-expanded":i,children:[i?(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),i?(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]}),i?(0,a.jsx)("ul",{children:e.children.map(e=>(0,a.jsx)(ev,{node:e,depth:t+1,expandedFolders:r,selectedPaths:s,openingContextPath:n,contextOpenLabel:l,onToggleFolder:p,onTogglePath:h,onOpenPath:b},e.path))}):null]})}let k=s.includes(e.path);return(0,a.jsx)("li",{className:"border-t border-[var(--vk-border)] first:border-t-0",children:(0,a.jsxs)("div",{className:"flex items-start gap-2 py-1.5",style:{paddingLeft:`${f+22}px`,paddingRight:"10px"},children:[(0,a.jsxs)("label",{className:"flex min-w-0 flex-1 cursor-pointer items-start gap-2 text-[12px] text-[var(--vk-text-normal)]",children:[(0,a.jsx)("input",{type:"checkbox",checked:k,onChange:()=>h(e.path),className:"mt-0.5 h-3.5 w-3.5 rounded border-[var(--vk-border)] bg-transparent"}),"image"===e.file.kind?(0,a.jsx)(u,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,a.jsx)(v.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block truncate",children:e.name}),(0,a.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:ep(e.file)}),(0,a.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:[e.file.kind,e.file.source?` \xb7 ${e.file.source}`:"",e.file.sizeBytes?` \xb7 ${!(g=e.file.sizeBytes)||g<=0?"":g<1024?`${g} B`:g<1048576?`${(g/1024).toFixed(1)} KB`:`${(g/1048576).toFixed(1)} MB`}`:""]})]})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>b(e.path),disabled:n===e.path,className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:`${l}: ${e.path}`,"aria-label":`${l}: ${e.path}`,children:[n===e.path?(0,a.jsx)(i.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(o.A,{className:"h-3 w-3"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:l})]})]})})}function eh({value:e,options:t,disabled:r=!1,onChange:n,ariaLabel:l}){return(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",disabled:r,"aria-label":l,className:"inline-flex h-10 w-full items-center justify-between rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-left text-[14px] text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,a.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsx)($.N,{seed:{label:e},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"truncate",children:es(e)})]}),(0,a.jsx)(d.A,{className:"h-4 w-4 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{align:"start",sideOffset:6,className:`${W} min-w-[220px] max-w-[calc(100vw-2rem)] max-h-[min(360px,50vh)] overflow-y-auto sm:min-w-[280px]`,children:[(0,a.jsx)("p",{className:"px-3 pb-1 text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Agents"}),t.map(t=>{let r=t===e;return(0,a.jsxs)(s.q7,{onSelect:()=>n(t),className:"flex min-h-[40px] cursor-default items-center gap-2 rounded-[4px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)($.N,{seed:{label:t},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate",children:es(t)}),(0,a.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:r?(0,a.jsx)(h.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}):null})]},t)})]})})]})}function eb(e,t){if(!e||e.projectId!==t.projectId||e.repository!==t.repository||e.boardPath!==t.boardPath||e.workspacePath!==t.workspacePath||e.primaryRoles.length!==t.primaryRoles.length||e.columns.length!==t.columns.length)return!1;for(let r=0;r<e.primaryRoles.length;r+=1)if(e.primaryRoles[r]!==t.primaryRoles[r])return!1;for(let r=0;r<e.columns.length;r+=1){let a=e.columns[r],s=t.columns[r];if(a.role!==s.role||a.heading!==s.heading||a.tasks.length!==s.tasks.length)return!1;for(let e=0;e<a.tasks.length;e+=1){let t=a.tasks[e],r=s.tasks[e];if(t.id!==r.id||t.text!==r.text||t.checked!==r.checked||t.agent!==r.agent||t.project!==r.project||t.type!==r.type||t.priority!==r.priority||t.taskRef!==r.taskRef||t.attemptRef!==r.attemptRef||t.issueId!==r.issueId||t.githubItemId!==r.githubItemId||t.notes!==r.notes||t.briefPath!==r.briefPath||t.vaultBriefPath!==r.vaultBriefPath||t.commentCount!==r.commentCount||t.comments.length!==r.comments.length||t.attachments.length!==r.attachments.length)return!1;for(let e=0;e<t.attachments.length;e+=1)if(t.attachments[e]!==r.attachments[e])return!1;for(let e=0;e<t.comments.length;e+=1)if(JSON.stringify(t.comments[e])!==JSON.stringify(r.comments[e]))return!1}}let r=e.githubProject??null,a=t.githubProject??null;if(JSON.stringify(r)!==JSON.stringify(a))return!1;let s=e.recentActions??[],n=t.recentActions??[];if(s.length!==n.length)return!1;for(let e=0;e<s.length;e+=1)if(JSON.stringify(s[e])!==JSON.stringify(n[e]))return!1;let l=e.recentWebhookDeliveries??[],i=t.recentWebhookDeliveries??[];if(l.length!==i.length)return!1;for(let e=0;e<l.length;e+=1)if(JSON.stringify(l[e])!==JSON.stringify(i[e]))return!1;return!0}function eg(e){return{...e,repository:e.repository??null,githubProject:e.githubProject??null,recentActions:Array.isArray(e.recentActions)?e.recentActions:[],recentWebhookDeliveries:Array.isArray(e.recentWebhookDeliveries)?e.recentWebhookDeliveries:[],columns:Array.isArray(e.columns)?e.columns.map(e=>({...e,tasks:Array.isArray(e.tasks)?e.tasks.map(e=>({...e,issueId:e.issueId??null,githubItemId:e.githubItemId??null,attachments:Array.isArray(e.attachments)?e.attachments:[],notes:e.notes??null,briefPath:e.briefPath??null,vaultBriefPath:e.vaultBriefPath??null,commentCount:"number"==typeof e.commentCount?e.commentCount:Array.isArray(e.comments)?e.comments.length:0,comments:Array.isArray(e.comments)?e.comments:[]})):[]})):[]}}function ef(e){return e.branch?.trim()||e.summary?.trim()||(0,M.kV)(e.id).slice(0,8)}function ek(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function ej(e,t){let r=e.filter(e=>{var r,a,s;return r=e,r.metadata?.sessionKind!=="board_planning"&&(a=e,s=t,!!(a.id===s.attemptRef||a.metadata?.taskId===s.id||s.taskRef?.trim()&&a.metadata?.taskRef?.trim()===s.taskRef.trim())||a.issueId?.trim()===ek(s))}).sort((e,r)=>eE(e,r,t.attemptRef??null)),a=t.attemptRef?r.find(e=>e.id===t.attemptRef)??null:r[0]??null,s=t.attemptRef&&!r.some(e=>e.id===t.attemptRef)?t.attemptRef:null;return{linkedSessions:r,primaryLinkedSession:a,unresolvedPrimaryLink:s}}function ey(e,t){let r=0;for(let e of t){let t=e.lastActivityAt?Date.parse(e.lastActivityAt):0;!Number.isNaN(t)&&t>r&&(r=t)}for(let t of e.comments){let e=Date.parse(t.timestamp);!Number.isNaN(e)&&e>r&&(r=e)}return r>0?new Date(r).toISOString():null}function eN(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let r=Math.round((Date.now()-t)/1e3);if(r<60)return"just now";let a=Math.round(r/60);if(a<60)return`${a}m ago`;let s=Math.round(a/60);if(s<24)return`${s}h ago`;let n=Math.round(s/24);return n<30?`${n}d ago`:eP(e)}function ew(e){let t=e.metadata?.agent;return"string"==typeof t&&t.trim().length>0?t.trim():null}function eC(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 eA(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 eS(e,t){let r=t?.trim();if(!e||!r||!/^\d+$/.test(r))return null;let[a,s]=e.trim().replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/^ssh:\/\/git@github\.com\//,"").replace(/\.git$/,"").replace(/\/+$/,"").split("/");return a&&s?`https://github.com/${a}/${s}/issues/${r}`:null}function eP(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"}).format(new Date(t))}function e$(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 eI(e,t){return e?.columns.find(e=>e.role===t)??null}function eM(e,t,r){let a=eI(e,r);if(!a)return 0;let s=a.tasks.length;return t?.role===r&&a.tasks.findIndex(e=>e.id===t.taskId)>=0&&(s-=1),Math.max(s,0)}function eE(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 e_({task:e,role:t,layout:r,boardRepository:s,projectSessions:n,openingContextPath:l,onOpenContextAttachment:i,onOpenSessionView:d,onOpenEditor:c,dragEnabled:x=!1,isDragging:m=!1,onDragStart:p,onDragOver:u,onDragEnd:v}){let{title:h,description:f}=er(e.text),k=eS(s,e.issueId),{linkedSessions:j,primaryLinkedSession:y,unresolvedPrimaryLink:N}=ej(n,e),w=en(e),C=ey(e,j),A=j.some(e=>{let t=e.status?.trim().toLowerCase()??"";return"working"===t||"running"===t||"dispatching"===t}),S=e.priority?G[e.priority]?.dot:null;return(0,a.jsxs)("div",{draggable:x,onDragStart:x&&p?()=>{p()}:void 0,onDragOver:x?u:void 0,onDragEnd:x?v:void 0,className:(0,_.cn)("kanban"===r?"relative rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] [content-visibility:auto] [contain-intrinsic-size:240px]":"relative rounded-[10px] border border-[var(--vk-border)] bg-[rgba(23,25,30,0.72)] p-4 shadow-[0_10px_24px_rgba(0,0,0,0.18)]",m&&"opacity-60",A&&"border-l-2"),style:A?{borderLeftColor:T[t]}:void 0,children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:T[t],opacity:A?1:.4}}),(0,a.jsx)("p",{className:"min-w-0 flex-1 font-mono text-[11px] text-[var(--vk-text-muted)]",children:w}),S&&(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:S},title:`${e.priority} priority`}),(0,a.jsx)("button",{type:"button",onClick:()=>c(e,t),className:"inline-flex h-9 w-9 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-6 sm:w-6","aria-label":"Edit task",title:"Edit task",children:(0,a.jsx)(b,{className:"h-3.5 w-3.5"})})]}),(0,a.jsx)("p",{className:"pt-1.5 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-strong)]",children:h}),f&&(0,a.jsx)("p",{className:"pt-1 text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:f}),e.notes&&(0,a.jsx)("p",{className:"pt-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:e.notes}),e.commentCount>0&&(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(g,{className:"h-3.5 w-3.5"}),(0,a.jsxs)("span",{children:[e.commentCount," comment",1===e.commentCount?"":"s"]})]}),(e.issueId||e.briefPath||e.attachments.length>0)&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.issueId?k?(0,a.jsxs)("a",{href:k,target:"_blank",rel:"noreferrer",className:"inline-flex h-5 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsxs)("span",{children:["Issue #",e.issueId]}),(0,a.jsx)(o.A,{className:"h-3 w-3"})]}):(0,a.jsxs)("span",{className:"inline-flex h-5 items-center rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:["Issue ",e.issueId]}):null,e.briefPath?(0,a.jsx)(eu,{attachment:e.briefPath,opening:l===e.briefPath,onOpen:()=>void i(e.briefPath)}):null,e.attachments.map(t=>(0,a.jsx)(eu,{attachment:t,opening:l===t,onOpen:()=>void i(t)},`${e.id}-${t}`))]}),(j.length>0||N)&&(0,a.jsxs)("div",{className:"mt-3 rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Runs"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:j.length+ +!!N})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[y?(0,a.jsxs)("button",{type:"button",onClick:()=>void d(y.id,F(y)),className:"flex w-full items-center justify-between gap-2 rounded-[3px] border border-[rgba(255,255,255,0.05)] bg-[rgba(255,255,255,0.03)] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:y.id,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[ew(y)?(0,a.jsx)($.N,{seed:{label:ew(y)},className:"h-5 w-5"}):null,(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:ef(y)}),(0,a.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${eA(y.status)}`,children:eC(y.status)}),(0,a.jsx)(o.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]}):null,j.filter(e=>e.id!==y?.id).map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>void d(e.id,F(e)),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:e.id,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[ew(e)?(0,a.jsx)($.N,{seed:{label:ew(e)},className:"h-5 w-5"}):null,(0,a.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:ef(e)})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${eA(e.status)}`,children:eC(e.status)}),(0,a.jsx)(o.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]},e.id)),N?(0,a.jsxs)("button",{type:"button",onClick:()=>void d(N,"terminal"),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:N,children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:N}),(0,a.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]}),(0,a.jsx)(o.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]}):null]})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[e.agent?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-[color:color-mix(in_srgb,var(--vk-text-muted)_10%,transparent)] px-2 py-0.5",children:[(0,a.jsx)($.N,{seed:{label:e.agent},className:"h-4 w-4"}),(0,a.jsx)("span",{className:"truncate text-[11px] font-medium text-[var(--vk-text-secondary)]",children:es(e.agent)})]}):(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-faint)]",children:"No agent"}),C&&(0,a.jsx)("span",{className:"text-[10px] text-[var(--vk-text-faint)]",children:eN(C)})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[e.type&&(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-semibold",style:{background:B[e.type]?.bg??"color-mix(in srgb, var(--vk-text-muted) 10%, transparent)",color:B[e.type]?.text??"var(--vk-text-muted)"},children:e.type}),e.priority&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-semibold",style:{background:G[e.priority]?.bg??"color-mix(in srgb, var(--vk-text-muted) 10%, transparent)",color:G[e.priority]?.text??"var(--vk-text-muted)"},children:[(0,a.jsx)("span",{className:"h-1.5 w-1.5 rounded-full",style:{background:G[e.priority]?.dot??"var(--vk-text-faint)"}}),e.priority]})]})]})]})}function eR({entry:e,boardRepository:t,projectSessions:r,onOpenEditor:s,onOpenSessionView:n}){let{task:l,role:i}=e,{title:o}=er(l.text),d=en(l),c=eS(t,l.issueId),{linkedSessions:x,primaryLinkedSession:m}=ej(r,l),p=x.some(e=>{let t=e.status.trim().toLowerCase();return"working"===t||"running"===t}),u=ey(l,x);return(0,a.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>s(l,i),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),s(l,i))},className:"group flex items-start gap-2 border-b border-[var(--vk-border)] py-2.5 pl-2 pr-3 text-sm text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)] last:border-b-0 sm:items-center sm:py-2 sm:pl-1",children:[(0,a.jsx)("span",{className:"shrink-0 pt-px sm:hidden",children:(0,a.jsx)("span",{className:"inline-flex h-3.5 w-3.5 rounded-full",style:{backgroundColor:T[i]}})}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1 sm:contents",children:[(0,a.jsx)("span",{className:"line-clamp-2 text-[14px] sm:order-2 sm:min-w-0 sm:flex-1 sm:truncate sm:line-clamp-none",children:o}),(0,a.jsxs)("span",{className:"flex items-center gap-2 sm:order-1 sm:shrink-0",children:[(0,a.jsx)("span",{className:"hidden shrink-0 sm:inline-flex",children:(0,a.jsx)("span",{className:"inline-flex h-3.5 w-3.5 rounded-full",style:{backgroundColor:T[i]}})}),(0,a.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-[var(--vk-text-muted)]",children:d}),p?(0,a.jsxs)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),m&&n(m.id,F(m))},className:"inline-flex items-center gap-1 rounded-full bg-[color:color-mix(in_srgb,var(--status-working)_18%,transparent)] px-2 py-0.5 text-[10px] font-medium text-[var(--status-working)]",children:[(0,a.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,a.jsx)("span",{className:"absolute inline-flex h-full w-full animate-pulse rounded-full bg-[var(--status-working)] opacity-75"}),(0,a.jsx)("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-[var(--status-working)]"})]}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Live"})]}):null,u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)] sm:hidden",children:"\xb7"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)] sm:hidden",children:eN(u)})]}):null]})]}),(0,a.jsxs)("span",{className:"ml-auto hidden shrink-0 items-center gap-2 sm:order-3 sm:flex sm:gap-3",children:[(0,a.jsxs)("span",{className:"hidden items-center gap-1 overflow-hidden md:flex md:max-w-[240px]",children:[l.type?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--vk-text-muted)]",children:l.type}):null,l.priority?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--vk-text-muted)]",children:l.priority}):null,l.commentCount>0?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(g,{className:"h-3 w-3"}),l.commentCount]}):null]}),(0,a.jsx)("div",{className:"flex w-[180px] shrink-0 items-center rounded-md px-2 py-1",children:l.agent?(0,a.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 text-[12px]",children:[(0,a.jsx)($.N,{seed:{label:l.agent},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"truncate",children:es(l.agent)})]}):(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-dashed border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)]",children:(0,a.jsx)(f,{className:"h-3 w-3"})}),"No agent"]})}),c?(0,a.jsxs)("a",{href:c,target:"_blank",rel:"noreferrer",onClick:e=>e.stopPropagation(),className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["#",l.issueId]}):m?(0,a.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),n(m.id,F(m))},className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:ef(m)}):null,u?(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:eN(u)}):null]})]})}function eL({projectId:e,bridgeId:t,defaultAgent:r,agentOptions:x,projectSessions:m,projectLabel:p,headerAccessory:u,onOpenSession:v}){var b;let M=(0,l.useRouter)(),{preferences:O}=(0,I.g)(t),F=e?`${K}:${e}`:K,[B,G]=(0,n.useState)(null),[Y,X]=(0,n.useState)(!1),[en,ej]=(0,n.useState)(null),[ey,eN]=(0,n.useState)(""),[ew,eC]=(0,n.useState)("active"),[eA,eS]=(0,n.useState)(()=>{let e=window.localStorage.getItem(V);return"list"===e||"kanban"===e?e:"kanban"}),[eD,eO]=(0,n.useState)(()=>ec(F)),[eF,eT]=(0,n.useState)(!1),[eB,eG]=(0,n.useState)("intake"),[eH,ez]=(0,n.useState)(""),[eU,eJ]=(0,n.useState)(""),[eq,eW]=(0,n.useState)(r),[eV,eK]=(0,n.useState)("feature"),[eZ,eQ]=(0,n.useState)("medium"),[eY,eX]=(0,n.useState)(""),[e0,e1]=(0,n.useState)([]),[e2,e5]=(0,n.useState)([]),[e3,e4]=(0,n.useState)(""),[e8,e6]=(0,n.useState)([]),[e9,e7]=(0,n.useState)(!1),[te,tt]=(0,n.useState)(null),[tr,ta]=(0,n.useState)(null),[ts,tn]=(0,n.useState)([]),[tl,ti]=(0,n.useState)(!1),[to,td]=(0,n.useState)(null),[tc,tx]=(0,n.useState)(null),[tm,tp]=(0,n.useState)("intake"),[tu,tv]=(0,n.useState)(""),[th,tb]=(0,n.useState)(""),[tg,tf]=(0,n.useState)(r),[tk,tj]=(0,n.useState)("feature"),[ty,tN]=(0,n.useState)("medium"),[tw,tC]=(0,n.useState)(""),[tA,tS]=(0,n.useState)(""),[tP,t$]=(0,n.useState)(""),[tI,tM]=(0,n.useState)(!1),[tE,t_]=(0,n.useState)(null),[tR,tL]=(0,n.useState)(""),[tD,tO]=(0,n.useState)(!1),[tF,tT]=(0,n.useState)(null),[tB,tG]=(0,n.useState)(null),[tH,tz]=(0,n.useState)(null),[tU,tJ]=(0,n.useState)(!1),[tq,tW]=(0,n.useState)(!1),[tV,tK]=(0,n.useState)(!1),[tZ,tQ]=(0,n.useState)(null),[tY,tX]=(0,n.useState)(null),[t0,t1]=(0,n.useState)(""),t2=(0,n.useRef)(!1),t5=(0,n.useRef)(!1),t3=(0,n.useRef)(null),t4=(0,n.useRef)(null),t8=(0,n.useRef)(Promise.resolve(null)),t6=(0,n.useRef)(0),t9="obsidian"===(b=O?.markdownEditor?.trim()||"obsidian")||"vscode"===b||"typora"===b||"logseq"===b?`Open in ${U[b]??"your editor"}`:"Open file",[t7,re]=(0,n.useState)(!0),[rt,rr]=(0,n.useState)(!1),ra=(0,n.useMemo)(()=>{let e=[...new Set(x.filter(Boolean))];return e.includes(r)||e.unshift(r),e},[x,r]);(0,n.useEffect)(()=>{t4.current=B},[B]),(0,n.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(min-width: 640px)"),t=()=>{rr(e.matches)};return t(),e.addEventListener?.("change",t),window.addEventListener("resize",t),()=>{e.removeEventListener?.("change",t),window.removeEventListener("resize",t)}},[]),(0,n.useEffect)(()=>{window.localStorage.setItem(V,eA)},[eA]),(0,n.useEffect)(()=>{eO(ec(F))},[F]),(0,n.useEffect)(()=>{window.localStorage.setItem(F,JSON.stringify(eD))},[F,eD]),(0,n.useEffect)(()=>{ra.includes(eq)||eW(ra[0]??r)},[eq,r,ra]),(0,n.useEffect)(()=>{ra.includes(tg)||tf(ra[0]??r)},[r,tg,ra]);let rs=(0,n.useCallback)(e=>{eO(t=>({...t,...e}))},[]);(0,n.useEffect)(()=>{if(!eF&&!tc||!e)return;let r=!1;return(async()=>{e7(!0),tt(null);try{let a=await fetch((0,E.S)(`/api/context-files?projectId=${encodeURIComponent(e)}`,t)),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to load context files: ${a.status}`);if(r)return;let n=Array.isArray(s?.files)?s.files:[];e6(n)}catch(e){if(r)return;e6([]),tt(e instanceof Error?e.message:"Failed to load context files")}finally{r||e7(!1)}})(),()=>{r=!0}},[t,eF,tc,e]),(0,n.useEffect)(()=>{t2.current=!1,tJ(!1),tQ(null),tX(null),t1("")},[t,e]);let rn=(0,n.useCallback)(async r=>{if(!e){G(null),ej(null),X(!1),t2.current=!1;return}if(!t5.current&&(!r?.silent||!(t6.current>0))){t5.current=!0,r?.silent||X(!0);try{let r=await fetch((0,E.S)(`/api/boards?projectId=${encodeURIComponent(e)}`,t)),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load board: ${r.status}`);let s=eg(a);t2.current=!0,G(e=>eb(e,s)?e:s),ej(null)}catch(e){r?.silent&&t2.current||(G(null),ej(e instanceof Error?e.message:"Failed to load board"))}finally{r?.silent||X(!1),t5.current=!1}}},[t,e]),rl=(0,n.useCallback)((e,r="terminal")=>{v?v(e,{tab:r}):M.push((0,R.s)(e,{bridgeId:t,tab:r}))},[t,v,M]),ri=(0,n.useCallback)(t=>{if(!e)return;null!==t3.current&&(window.clearTimeout(t3.current),t3.current=null);let r=t?.debounceMs??250;t3.current=window.setTimeout(()=>{t3.current=null,rn(t)},r)},[rn,e]);(0,n.useEffect)(()=>{if(e)return(0,D.L)(t=>{"snapshot"!==t.type&&"snapshot_delta"!==t.type||(0,L.M_)(t,e)&&ri({silent:!0,debounceMs:80})})},[e,ri]),(0,n.useEffect)(()=>{if(e)return(0,L.b)(e,()=>{ri({silent:!0,debounceMs:80})})},[e,ri]),(0,n.useEffect)(()=>{rn({silent:!1})},[rn]);let ro=(0,n.useCallback)(async()=>{if(!e){tX(null),tQ(null);return}tW(!0),tQ(null);try{let r=await fetch((0,E.S)(`/api/github/projects?projectId=${encodeURIComponent(e)}`,t)),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load GitHub Projects (${r.status})`);let s={...a,projects:Array.isArray(a.projects)?a.projects:[]};tX(s),t1(s.linkedProject?.id?.trim()||s.projects[0]?.id?.trim()||"")}catch(e){tQ(e instanceof Error?e.message:"Failed to load GitHub Projects"),tX(null),t1("")}finally{tW(!1)}},[t,e]);(0,n.useEffect)(()=>{if(!e)return;let t=()=>{t7&&rn({silent:!0})},r=null,a=()=>{let e=t7?5e3:2e4;r=window.setTimeout(()=>{t(),a()},e)};a(),window.addEventListener("focus",t);let s=()=>{let e="visible"===document.visibilityState;re(e),e&&t()};return document.addEventListener("visibilitychange",s),()=>{null!=r&&window.clearTimeout(r),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",s)}},[rn,t7,e]),(0,n.useEffect)(()=>{e&&t2.current&&ri({silent:!0})},[e,m,ri]),(0,n.useEffect)(()=>()=>{null!==t3.current&&(window.clearTimeout(t3.current),t3.current=null)},[rn,e]);let rd=tU||!!B?.githubProject?.id?.trim(),rc=(0,n.useMemo)(()=>{let e=tY?.projects??[],t=B?.githubProject??tY?.linkedProject??null,r=[...e];if(t?.id?.trim()){let e=t.id.trim();r.some(t=>t.id===e)||r.unshift({...t,id:e})}return r},[B?.githubProject,tY?.linkedProject,tY?.projects]);(0,n.useEffect)(()=>{rd&&e&&ro()},[rd,ro,e]);let rx=B?.columns??[],rm=(0,n.useMemo)(()=>{let e=ey.trim().toLowerCase(),t="all"===ew?null:new Set("backlog"===ew?["intake","ready"]:"cancelled"===ew?["cancelled"]:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]);return rx.filter(e=>!t||t.has(e.role)).map(t=>e?{...t,tasks:t.tasks.filter(t=>ea(t,e))}:t)},[rx,ey,ew]),rp="kanban"===eA&&0===ey.trim().length,ru=(0,n.useMemo)(()=>{let e;return e=0,eD.roles.length>0&&(e+=1),eD.priorities.length>0&&(e+=1),eD.agents.length>0&&(e+=1),e},[eD]),rv=(0,n.useMemo)(()=>{let e=new Set;for(let t of rx)for(let r of t.tasks)r.agent?.trim()&&e.add(r.agent.trim());return[...e].sort((e,t)=>e.localeCompare(t,void 0,{sensitivity:"base"}))},[rx]),rh=(0,n.useMemo)(()=>{let e=ey.trim().toLowerCase(),t=rx.flatMap(e=>e.tasks.map(t=>({task:t,role:e.role,heading:e.heading||H[e.role]})));e&&(t=t.filter(t=>ea(t.task,e))),eD.roles.length>0&&(t=t.filter(e=>eD.roles.includes(e.role))),eD.priorities.length>0&&(t=t.filter(e=>null!=e.task.priority&&eD.priorities.includes(e.task.priority))),eD.agents.length>0&&(t=t.filter(e=>{let t=e.task.agent?.trim();return t?eD.agents.includes(t):eD.agents.includes("__unassigned")}));let r=[...t];return r.sort((e,t)=>{let r="asc"===eD.sortDir?1:-1;switch(eD.sortField){case"status":return r*(el(e.role)-el(t.role));case"priority":return r*(ei(e.task.priority)-ei(t.task.priority));case"agent":return r*(e.task.agent??"").localeCompare(t.task.agent??"");default:{let a=er(e.task.text).title,s=er(t.task.text).title;return r*a.localeCompare(s)}}}),r},[rx,eD,ey]),rb=(0,n.useMemo)(()=>{if("none"===eD.groupBy)return[{key:"__all",label:null,items:rh}];if("status"===eD.groupBy)return Z.map(e=>{let t=rh.filter(t=>t.role===e);return 0===t.length?null:{key:e,label:t[0]?.heading||H[e],items:t}}).filter(e=>null!==e);if("priority"===eD.groupBy)return Q.map(e=>{let t=rh.filter(t=>t.task.priority===e);return 0===t.length?null:{key:e,label:e[0]?.toUpperCase()+e.slice(1),items:t}}).filter(e=>null!==e);let e=new Map;for(let t of rh){let r=t.task.agent?.trim()||"__unassigned",a=e.get(r)??[];a.push(t),e.set(r,a)}return[...e.entries()].map(([e,t])=>({key:e,label:"__unassigned"===e?"No agent":es(e),items:t})).sort((e,t)=>(e.label??"").localeCompare(t.label??"",void 0,{sensitivity:"base"}))},[rh,eD.groupBy]),rg=(0,n.useMemo)(()=>rb.filter(e=>null!=e.label).map(e=>e.key),[rb]),rf=rg.length>0&&rg.every(e=>eD.collapsedGroups.includes(e)),rk=(0,n.useMemo)(()=>{let e=e3.trim().toLowerCase(),t=e?e8.filter(t=>`${t.path} ${ep(t)} ${t.name} ${t.source??""}`.toLowerCase().includes(e)):e8,r=new Map;for(let e of t)r.has(e.path)||r.set(e.path,e);return[...r.values()]},[e8,e3]),rj=(0,n.useMemo)(()=>(function(e){let t=new Map;t.set("",new Map);let r=(e,r)=>(t.has(e)||t.set(e,new Map),{kind:"folder",name:r,path:e,children:[]});for(let a of e){let e=ep(a),s=ex(e);if(0===s.length)continue;let n="";for(let e=0;e<s.length-1;e+=1){let a=s[e],l=n?`${n}/${a}`:a,i=t.get(n)??new Map;t.set(n,i),i.has(l)||i.set(l,r(l,a)),t.has(l)||t.set(l,new Map),n=l}let l=t.get(n)??new Map;l.set(a.path,{kind:"file",name:a.name,path:a.path,file:{...a,displayPath:e}}),t.set(n,l)}let a=e=>[...t.get(e)?.values()??[]].map(e=>"folder"===e.kind?{...e,children:a(e.path)}:e).sort(em);return a("")})(rk),[rk]),ry=(0,n.useMemo)(()=>new Map(e8.map(e=>[e.path,e])),[e8]),rN=(0,n.useMemo)(()=>e0.map(e=>ry.get(e)).filter(e=>!!e),[ry,e0]),rw=(0,n.useMemo)(()=>new Set(rj.filter(e=>"folder"===e.kind).map(e=>e.path)),[rj]),rC=(0,n.useMemo)(()=>e3.trim().length>0?function e(t,r=new Set){for(let a of t)"folder"===a.kind&&(r.add(a.path),e(a.children,r));return r}(rj):function(e){let t=new Set;for(let r of e){let e=ex(r),a="";for(let r=0;r<e.length-1;r+=1)a=a?`${a}/${e[r]}`:e[r],t.add(a)}return t}(e0.map(e=>{let t=ry.get(e);return t?ep(t):e})),[ry,e3,rj,e0]),rA=(0,n.useMemo)(()=>{let e=new Set(rw);for(let t of e2)e.add(t);for(let t of rC)e.add(t);return e},[rC,rw,e2]),rS=(0,n.useMemo)(()=>{let e=rx.find(e=>e.role===eB);return e?.heading||H[eB]},[rx,eB]),rP=(0,n.useMemo)(()=>{if(!tc)return m;let e=e$(B,tc.task.id)??tc,t=ek(e.task);return[...m].sort((r,a)=>{let s=r.id===e.task.attemptRef||r.issueId?.trim()===t;return s!==(a.id===e.task.attemptRef||a.issueId?.trim()===t)?s?-1:1:eE(r,a,e.task.attemptRef)})},[B,tc,m]),r$=(0,n.useMemo)(()=>tc?e$(B,tc.task.id)??tc:null,[B,tc]);function rI(e){eG(e),eT(!0),ez(""),eJ(""),eW(ra[0]??r),eK("feature"),eQ("medium"),td(null),eX(""),e4(""),e1([]),e5([]),tn([])}let rM=(0,n.useCallback)(async t=>{if(e){ta(t),tc?t_(null):eF?td(null):ej(null);try{let r=await fetch("/api/context-files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,path:t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to open context file: ${r.status}`)}catch(e){var r;r=e instanceof Error?e.message:"Failed to open context file",tc?t_(r):eF?td(r):ej(r)}finally{ta(e=>e===t?null:e)}}},[eF,tc,e]);function rE(e){e1(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function r_(e){e5(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}async function rR(){if(e&&eH.trim()){ti(!0),td(null);try{let r=await fetch((0,E.S)("/api/boards",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,title:eH.trim(),description:eU.trim()||void 0,contextNotes:eY.trim()||void 0,attachments:e0.length>0?e0:void 0,agent:eq,role:eB,type:eV.trim()||void 0,priority:eZ.trim()||void 0})}),a=await r.json().catch(()=>null);if(!r.ok||!a||!("columns"in a))throw Error(a?.error??`Failed to create task: ${r.status}`);let s=eg(a),n=s.columns.flatMap(e=>e.tasks).find(e=>e.id===a.createdTaskId);if(ts.length>0&&n){let r=new FormData;for(let t of(r.append("projectId",e),r.append("taskRef",n.taskRef?.trim()||n.id),ts))r.append("files",t);let a=await fetch((0,E.S)("/api/attachments",t),{method:"POST",body:r}),l=await a.json().catch(()=>null);if(!a.ok)throw Error(l?.error??`Upload failed: ${a.status}`);let i=(l?.files??[]).map(e=>e.path?.trim()).filter(e=>!!e);if(i.length>0){let r=await fetch((0,E.S)("/api/boards",t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:n.id,attachments:[...new Set([...n.attachments,...i])]})}),a=await r.json().catch(()=>null);if(!r.ok||!a||!("columns"in a))throw Error(a?.error??`Failed to attach uploads: ${r.status}`);s=eg(a)}}G(e=>({...e??s,...s})),ez(""),eJ(""),eK("feature"),eQ("medium"),eX(""),e1([]),e4(""),tn([]),eT(!1)}catch(e){td(e instanceof Error?e.message:"Failed to create task")}finally{ti(!1)}}}async function rL(r,a){if(!e)return null;let s=t4.current;if(s&&a?.optimisticUpdate){let e=a.optimisticUpdate(s);e&&(t4.current=e,G(t=>eb(t,e)?t:e))}t6.current+=1;let n=t8.current.catch(()=>null).then(async()=>{let a=await fetch((0,E.S)("/api/boards",t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,...r})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to update board: ${a.status}`);let n=eg(s);return t4.current=n,G(e=>eb(e,n)?e:n),ej(null),n});t8.current=n.then(()=>null,()=>null);try{return await n}catch(e){throw a?.optimisticUpdate&&s&&(t4.current=s,G(e=>eb(e,s)?e:s)),e}finally{t6.current=Math.max(0,t6.current-1)}}async function rD(r){if(e&&!tV){tK(!0),tQ(null);try{let a=await fetch((0,E.S)("/api/github/projects",t),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,link:r?.id?r:null})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to update GitHub Project link (${a.status})`);G(e=>e?{...e,githubProject:s?.githubProject??null}:e),await ro()}catch(e){tQ(e instanceof Error?e.message:"Failed to update GitHub Project link")}finally{tK(!1)}}}async function rO(r){if(e&&!tV){tK(!0),tQ(null);try{let a=await fetch((0,E.S)("/api/github/projects/sync",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,direction:r})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to ${r} GitHub Project (${a.status})`);if(s?.board){let e=eg(s.board);G(t=>eb(t,e)?t:e)}else await rn({silent:!0});await ro()}catch(e){tQ(e instanceof Error?e.message:`Failed to ${r} GitHub Project`)}finally{tK(!1)}}}function rF(e,t){let{title:a,description:s}=er(e.text);tx({task:e,role:t}),tp(t),tv(a),tb(s),tf(e.agent??ra[0]??r),tj(e.type??"feature"),tN(e.priority??"medium"),tC(e.issueId??""),tS(e.notes??""),t$(e.attemptRef??""),t_(null),tL(""),tT(null)}function rT(){tI||tD||(tx(null),t_(null),tL(""),tT(null))}async function rB(){if(r$&&tu.trim()){tM(!0),t_(null);try{await rL({taskId:r$.task.id,role:tm,title:tu.trim(),description:th,contextNotes:tA.trim()||"",issueId:tw.trim()||"",agent:tg,type:tk,priority:ty,attemptRef:tP,taskRef:tP?r$.task.taskRef??r$.task.id:r$.task.taskRef??""}),tx(null)}catch(e){t_(e instanceof Error?e.message:"Failed to update task")}finally{tM(!1)}}}async function rG(){if(e&&r$&&tR.trim()){tO(!0),tT(null);try{let r=await fetch((0,E.S)("/api/boards/comments",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:r$.task.id,body:tR.trim()})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to add comment: ${r.status}`);let s=eg(a);G(e=>eb(e,s)?e:s),tL("")}catch(e){tT(e instanceof Error?e.message:"Failed to add comment")}finally{tO(!1)}}}async function rH(e){if(!tB)return;let t=eI(t4.current,tB.role),r=t?.tasks.findIndex(e=>e.id===tB.taskId)??-1,a=eM(t4.current,tB,e),s=tH?.role===e?tH.index:a,n=tB.role!==e||s!==r;try{n&&await rL({taskId:tB.taskId,role:e,targetIndex:s},{optimisticUpdate:t=>(function(e,t,r,a){if(!e)return e;let s=e.columns.map(e=>({...e,tasks:[...e.tasks]})),n=-1,l=-1,i=null;for(let e=0;e<s.length;e+=1){let r=s[e]?.tasks.findIndex(e=>e.id===t)??-1;if(r>=0){n=e,l=r,i=s[e].tasks.splice(r,1)[0]??null;break}}if(!i||n<0)return e;let o=s.findIndex(e=>e.role===r);o<0&&(s.push({role:r,heading:H[r],tasks:[]}),o=s.length-1);let d=s[o].tasks,c=Math.max(0,Math.min(a,d.length));return(d.splice(c,0,i),n===o&&l===c)?e:{...e,columns:s}})(t,tB.taskId,e,s)})}catch(e){ej(e instanceof Error?e.message:"Failed to move task")}finally{tG(null),tz(null)}}return e?(0,a.jsxs)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden sm:overflow-hidden",children:[(0,a.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-3 py-3 sm:px-4 sm:py-4",children:[(0,a.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-3 sm:mb-4",children:[(0,a.jsx)("div",{className:"min-w-0",children:(0,a.jsx)("h1",{className:"truncate text-[20px] font-medium leading-[28px] text-[var(--vk-text-normal)] sm:text-[24px] sm:leading-[32px]",children:p?.trim()||e})}),u?(0,a.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:u}):null]}),"list"===eA?(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 sm:gap-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2 sm:gap-3",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>rI("intake"),className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"New Issue"})]}),rg.length>0?(0,a.jsx)("button",{type:"button",onClick:()=>rs({collapsedGroups:rf?[]:rg}),className:"hidden h-[31px] w-[31px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:inline-flex","aria-label":rf?"Expand groups":"Collapse groups",title:rf?"Expand groups":"Collapse groups",children:rf?(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}):(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"})}):null,(0,a.jsxs)("label",{className:"relative w-48 sm:w-64 md:w-80",children:[(0,a.jsx)(j.A,{className:"pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:ey,onChange:e=>eN(e.target.value),placeholder:"Search issues...",className:"h-[31px] w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-7 pr-3 text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,a.jsxs)("div",{className:"mr-1 flex items-center overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",children:[(0,a.jsx)("button",{type:"button",className:(0,_.cn)("p-1.5 transition-colors","list"===eA?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),onClick:()=>eS("list"),title:"List view",children:(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)("button",{type:"button",className:(0,_.cn)("p-1.5 transition-colors","text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),onClick:()=>eS("kanban"),title:"Board view",children:(0,a.jsx)(N,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:(0,_.cn)("inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] hover:bg-[var(--vk-bg-hover)]",ru>0?"text-[var(--vk-orange)]":"text-[var(--vk-text-muted)]"),children:[(0,a.jsx)(w,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:ru>0?`Filters: ${ru}`:"Filter"}),ru>0?(0,a.jsx)("span",{className:"text-[10px] font-medium sm:hidden",children:ru}):null,ru>0?(0,a.jsx)(C.A,{className:"hidden h-3 w-3 sm:block",onClick:e=>{e.preventDefault(),e.stopPropagation(),rs({roles:[],priorities:[],agents:[]})}}):null]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${W} w-[min(420px,calc(100vw-2rem))]`,children:(0,a.jsxs)("div",{className:"space-y-3 p-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 pt-1",children:[(0,a.jsx)("span",{className:"text-[12px] font-semibold text-[var(--vk-text-normal)]",children:"Filters"}),ru>0?(0,a.jsx)("button",{type:"button",onClick:()=>rs({roles:[],priorities:[],agents:[]}),className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:"Clear"}):null]}),(0,a.jsxs)("div",{className:"space-y-1.5 px-2",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Quick filters"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ee.map(e=>{let t=ed(eD.roles,e.roles);return(0,a.jsx)("button",{type:"button",onClick:()=>rs({roles:t?[]:[...e.roles]}),className:(0,_.cn)("rounded-full border px-2.5 py-1 text-[11px] transition-colors",t?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_18%,transparent)] text-[var(--vk-text-normal)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.label)})})]}),(0,a.jsx)("div",{className:"border-t border-[var(--vk-border)]"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 px-2 pb-2 sm:grid-cols-2",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Status"}),(0,a.jsx)("div",{className:"space-y-0.5",children:Z.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rs({roles:eo(eD.roles,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:T[e]}}),(0,a.jsx)("span",{className:"flex-1 truncate",children:H[e]}),eD.roles.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))})]}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Priority"}),(0,a.jsx)("div",{className:"space-y-0.5",children:Q.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rs({priorities:eo(eD.priorities,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"flex-1 truncate capitalize",children:e}),eD.priorities.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Assignee"}),(0,a.jsxs)("div",{className:"max-h-40 space-y-0.5 overflow-y-auto",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>rs({agents:eo(eD.agents,"__unassigned")}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-dashed border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)]",children:(0,a.jsx)(f,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})}),(0,a.jsx)("span",{className:"flex-1 truncate",children:"No agent"}),eD.agents.includes("__unassigned")?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]}),rv.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rs({agents:eo(eD.agents,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)($.N,{seed:{label:e},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"flex-1 truncate",children:es(e)}),eD.agents.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))]})]})]})]})]})})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Sort"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${W} min-w-[180px]`,children:[["status","Status"],["priority","Priority"],["title","Title"],["agent","Agent"]].map(([e,t])=>{let r=eD.sortField===e;return(0,a.jsxs)("button",{type:"button",onClick:()=>rs({sortField:e,sortDir:r&&"asc"===eD.sortDir?"desc":"asc"}),className:(0,_.cn)("flex w-full items-center justify-between rounded-[4px] px-3 py-2 text-[13px]",r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,a.jsx)("span",{children:t}),r?(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"asc"===eD.sortDir?"↑":"↓"}):null]},e)})})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(S.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Group"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${W} min-w-[180px]`,children:[["status","Status"],["priority","Priority"],["assignee","Assignee"],["none","None"]].map(([e,t])=>{let r=eD.groupBy===e;return(0,a.jsxs)("button",{type:"button",onClick:()=>rs({groupBy:e}),className:(0,_.cn)("flex w-full items-center justify-between rounded-[4px] px-3 py-2 text-[13px]",r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,a.jsx)("span",{children:t}),r?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e)})})})]})]})]}):(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("div",{className:"inline-flex rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[["active","Active"],["all","All"],["backlog","Backlog"],["cancelled","Cancelled"]].map(([e,t])=>(0,a.jsx)("button",{type:"button",onClick:()=>eC(e),className:(0,_.cn)("px-3 py-[5px] text-[13px]",ew===e?"rounded-[2px] bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:t},e))}),(0,a.jsxs)("button",{type:"button",onClick:()=>eS("list"),className:"inline-flex h-[31px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Switch to list view",title:"Switch to list view",children:[(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"List view"})]}),(0,a.jsxs)("div",{className:"ml-auto flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto sm:min-w-[220px] sm:flex-nowrap sm:flex-none",children:[(0,a.jsxs)("label",{className:"flex h-[31px] min-w-0 flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:min-w-[200px] sm:w-[240px] sm:flex-none",children:[(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:ey,onChange:e=>eN(e.target.value),placeholder:"Search issues...",className:"ml-2 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>rI("intake"),className:"inline-flex h-[31px] w-full items-center justify-center gap-1 rounded-[3px] bg-[var(--vk-orange)] px-3 text-[14px] text-white hover:bg-[var(--accent-hover)] sm:w-auto",children:[(0,a.jsx)("span",{children:"New Issue"}),(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})]})]})]}),(0,a.jsxs)("div",{className:"mt-3 flex flex-col gap-2",children:[(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:rd?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"hidden text-[13px] text-[var(--vk-text-muted)] sm:inline",children:"GitHub Project"}),(0,a.jsxs)("select",{"aria-label":"GitHub Project",value:t0,onChange:function(t){let r=t.target.value.trim();if(t1(r),!r||!e||tV)return;let a=rc.find(e=>e.id===r)??null;if(!a?.id)return;let s=B?.githubProject?.id?.trim()??"";a.id!==s&&rD(a)},disabled:tq||tV,className:"h-9 min-w-0 flex-1 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)] sm:min-w-[220px] sm:max-w-md sm:flex-none",children:[(0,a.jsx)("option",{value:"",children:tq?"Loading GitHub Projects...":0===rc.length?"No GitHub Projects found":"Select a GitHub Project"}),rc.map(e=>(0,a.jsx)("option",{value:e.id??"",children:function(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()}(e)},e.id??"unknown"))]}),(0,a.jsx)("button",{type:"button",disabled:!B?.githubProject?.id||tV,onClick:()=>{rD(null),tJ(!1)},className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Disconnect"}),(0,a.jsxs)("button",{type:"button",disabled:!B?.githubProject?.id||tV,onClick:()=>void rO("pull"),className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tV?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(P.A,{className:"h-4 w-4"}),"Pull"]}),(0,a.jsx)("button",{type:"button",disabled:!B?.githubProject?.id||tV,onClick:()=>void rO("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"}),B?.githubProject?.url?(0,a.jsxs)("a",{href:B.githubProject.url,target:"_blank",rel:"noreferrer",className:"inline-flex h-9 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,a.jsx)("span",{children:"Open"}),(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"})]}):null,B?.githubProject?.id?null:(0,a.jsx)("button",{type:"button",onClick:()=>tJ(!1),className:"inline-flex h-9 items-center rounded-[3px] px-2 text-[13px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",children:"Cancel"})]}):(0,a.jsxs)("button",{type:"button",onClick:()=>tJ(!0),className:"inline-flex h-[38px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,a.jsx)("span",{className:"hidden sm:inline",children:"GitHub Project"}),(0,a.jsx)("span",{className:"sm:hidden",children:"GitHub"}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"Connect"})]})}),rd?(0,a.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsxs)("span",{children:["Repository:"," ",B?.repository?.trim()||tY?.repository?.trim()||"Not configured"]}),tY?.ownerLogin?(0,a.jsxs)("span",{children:["Owner: ",tY.ownerLogin]}):null]}),tZ?(0,a.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:tZ}):null,(B?.recentWebhookDeliveries?.length??0)>0?(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Webhook diagnostics"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(B?.recentWebhookDeliveries??[]).length})]}),(0,a.jsx)("div",{className:"space-y-2",children:(B?.recentWebhookDeliveries??[]).slice(0,6).map(e=>{var t;let r,s;return(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${"synced"===(r=e.status.trim().toLowerCase())?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"failed"===r?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}`,children:"synced"===(s=(t=e.status).trim().toLowerCase())?"Synced":"failed"===s?"Failed":"skipped"===s?"Skipped":t}),(0,a.jsxs)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:[e.event,e.action?` / ${e.action}`:""]}),(0,a.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:eP(e.timestamp)})]}),(0,a.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:e.detail}),e.repository?(0,a.jsxs)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Repo: ",e.repository]}):null]},e.id)})})]}):null]}):null]}),"kanban"===eA&&!rp&&(0,a.jsx)("p",{className:"pt-2 text-[12px] text-[var(--vk-text-muted)]",children:"Clear search to reorder cards."})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain p-3 touch-pan-y sm:p-4 sm:touch-auto",children:Y?(0,a.jsxs)("div",{className:"flex h-full items-center justify-center text-[var(--vk-text-muted)]",children:[(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}),(0,a.jsx)("span",{className:"ml-2 text-[14px]",children:"Loading board..."})]}):en?(0,a.jsx)("div",{className:"rounded-[4px] border border-[color:color-mix(in_srgb,var(--vk-red)_55%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:en}):"kanban"===eA?(0,a.jsx)("div",{className:"flex h-full min-h-0 flex-col gap-4",children:(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain touch-pan-y sm:touch-auto",children:(0,a.jsx)("div",{className:"flex min-w-0 flex-row items-stretch gap-3 overflow-x-auto overscroll-x-contain pb-3 [-webkit-overflow-scrolling:touch] px-0.5 sm:h-full sm:gap-0 sm:overflow-x-auto sm:px-0 sm:pb-3",children:rm.map(e=>{let t=rx.find(t=>t.role===e.role),r=rp&&tB?.role===e.role?t?.tasks.findIndex(e=>e.id===tB.taskId)??-1:-1,s=Math.max((t?.tasks.length??e.tasks.length)-(r>=0),0);return(0,a.jsxs)("article",{className:(0,_.cn)("flex max-h-[min(560px,65dvh)] min-h-0 w-[min(85vw,320px)] shrink-0 flex-col border border-[var(--vk-border)] bg-[var(--vk-bg-main)] shadow-none sm:max-h-none sm:h-full sm:min-h-[560px] sm:w-[320px] sm:border-l-0 first:sm:border-l",tB&&"snap-start"),children:[(0,a.jsxs)("header",{className:"flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,a.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:T[e.role]}}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"truncate text-[14px] font-medium text-[var(--vk-text-normal)]",children:e.heading||H[e.role]}),(0,a.jsx)("p",{className:"truncate text-[10px] text-[var(--text-faint)]",children:z[e.role]})]}),(0,a.jsx)("span",{className:"inline-flex h-6 min-w-[28px] items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.18)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:e.tasks.length}),(0,a.jsx)("button",{type:"button",onClick:()=>rI(e.role),className:"inline-flex h-9 w-9 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] sm:h-7 sm:w-7","aria-label":`Add task to ${e.heading}`,children:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)("div",{className:(0,_.cn)("flex-1 min-h-0 overflow-y-auto overscroll-contain px-3 pb-3 pt-2",tB?.role===e.role&&"bg-[rgba(255,255,255,0.02)]"),onDragOver:t=>rp?function(e,t){if(!tB||(e.preventDefault(),e.target!==e.currentTarget))return;let r=eM(t4.current,tB,t);tz(e=>e?.role===t&&e.index===r?e:{role:t,index:r})}(t,e.role):void 0,onDrop:t=>{t.preventDefault(),rp&&rH(e.role)},children:[rp&&tH?.role===e.role&&0===tH.index?(0,a.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,0===e.tasks.length&&(0,a.jsx)("div",{className:"rounded-[10px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"Drop a card here or create a new one."}),(0,a.jsx)("div",{className:"space-y-2",children:e.tasks.map(s=>{let n=t?.tasks.findIndex(e=>e.id===s.id)??0,l=r>=0?s.id===tB?.taskId?null:n>r?n-1:n:n;return(0,a.jsxs)("div",{children:[rp&&tH?.role===e.role&&null!==l&&tH.index===l?(0,a.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,(0,a.jsx)(e_,{task:s,role:e.role,layout:"kanban",boardRepository:B?.repository,projectSessions:m,openingContextPath:tr,onOpenContextAttachment:rM,onOpenSessionView:rl,onOpenEditor:rF,dragEnabled:rp,isDragging:tB?.taskId===s.id,onDragStart:()=>{var t,r;let a;return tG({taskId:t=s.id,role:r=e.role}),a=eM(t4.current,{taskId:t,role:r},r),void tz({role:r,index:a})},onDragOver:t=>(function(e,t,r){if(!tB)return;e.preventDefault();let a=function(e,t,r,a,s,n){let l=eI(e,r);if(!l)return 0;let i=l.tasks.findIndex(e=>e.id===a);if(i<0)return eM(e,t,r);let o=n.getBoundingClientRect(),d=i+ +("after"==(s<o.top+o.height/2?"before":"after"));if(t?.role===r){let e=l.tasks.findIndex(e=>e.id===t.taskId);e>=0&&e<d&&(d-=1)}return d}(t4.current,tB,t,r,e.clientY,e.currentTarget);tz(e=>e?.role===t&&e.index===a?e:{role:t,index:a})})(t,e.role,s.id),onDragEnd:()=>{tG(null),tz(null)}})]},`${e.role}-${s.id}`)})}),rp&&tH?.role===e.role&&tH.index===s?(0,a.jsx)("div",{className:"mt-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null]})]},e.role)})})})}):0===rh.length?(0,a.jsxs)("div",{className:"flex min-h-[280px] flex-col items-center justify-center px-6 text-center",children:[(0,a.jsx)("div",{className:"mb-4 inline-flex h-12 w-12 items-center justify-center rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]",children:(0,a.jsx)(y.A,{className:"h-5 w-5"})}),(0,a.jsx)("p",{className:"text-[14px] font-medium text-[var(--vk-text-normal)]",children:"No tasks match the current filters or search."}),(0,a.jsx)("p",{className:"mt-1 text-[13px] text-[var(--vk-text-muted)]",children:"Adjust the current view or create a new board task."}),(0,a.jsxs)("button",{type:"button",onClick:()=>rI("intake"),className:"mt-4 inline-flex h-[31px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{children:"New Issue"})]})]}):(0,a.jsx)("div",{className:"space-y-4",children:rb.map(e=>{let t=rt&&null!=e.label&&eD.collapsedGroups.includes(e.key),r="status"===eD.groupBy&&Z.includes(e.key)?e.key:"intake";return(0,a.jsxs)("section",{className:"space-y-2",children:[e.label?(0,a.jsxs)("div",{className:"flex items-center py-1.5 pl-1 pr-3",children:[rt?(0,a.jsxs)("button",{type:"button",onClick:()=>rs({collapsedGroups:t?eD.collapsedGroups.filter(t=>t!==e.key):[...eD.collapsedGroups,e.key]}),className:"hidden items-center gap-1.5 sm:flex",children:[(0,a.jsx)(c.A,{className:(0,_.cn)("h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)] transition-transform",!t&&"rotate-90")}),(0,a.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-normal)]",children:e.label})]}):(0,a.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-normal)]",children:e.label}),(0,a.jsx)("button",{type:"button",onClick:()=>rI(r),className:"ml-auto inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":`Add task to ${e.label}`,children:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})})]}):null,t?null:(0,a.jsx)("div",{children:e.items.map(e=>(0,a.jsx)(eR,{entry:e,boardRepository:B?.repository,projectSessions:m,onOpenEditor:rF,onOpenSessionView:rl},`${e.role}-${e.task.id}`))})]},e.key)})})}),r$&&(0,a.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:rT,children:(0,a.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[560px] sm:rounded-[6px] sm:border",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,a.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,a.jsx)("h2",{className:"text-[18px] text-[var(--vk-text-strong)]",children:"Edit Board Task"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Move the card, update the task, and link the latest session run."})]}),(0,a.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Title"}),(0,a.jsx)("input",{value:tu,onChange:e=>tv(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Description"}),(0,a.jsx)("textarea",{value:th,onChange:e=>tb(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Column"}),(0,a.jsx)("select",{value:tm,onChange:e=>tp(et(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:B?.columns.map(e=>(0,a.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,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,a.jsx)(eh,{value:tg,options:ra,disabled:tI,onChange:tf,ariaLabel:"Select agent for task"})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Type"}),(0,a.jsx)("input",{value:tk,onChange:e=>tj(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Priority"}),(0,a.jsx)("input",{value:ty,onChange:e=>tN(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"GitHub issue id (optional)"}),(0,a.jsx)("input",{value:tw,onChange:e=>tC(e.target.value),placeholder:"123",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Notes"}),(0,a.jsx)("textarea",{value:tA,onChange:e=>tS(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),r$.task.attachments.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Attachments"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:r$.task.attachments.map(e=>(0,a.jsx)(eu,{attachment:e,opening:tr===e,onOpen:()=>void rM(e)},e))})]}),(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Comments"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:r$.task.commentCount})]}),(0,a.jsx)("div",{className:"space-y-2",children:r$.task.comments.length>0?r$.task.comments.map(e=>(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-3 py-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:e.author}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:eP(e.timestamp)})]}),(0,a.jsx)("p",{className:"pt-1 whitespace-pre-wrap text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:e.body})]},e.id)):(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No comments yet."})}),(0,a.jsxs)("label",{className:"mt-3 block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Add comment"}),(0,a.jsx)("textarea",{value:tR,onChange:e=>tL(e.target.value),rows:3,placeholder:"Share status, request input, or leave implementation notes.",className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),tF&&(0,a.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:tF}),(0,a.jsx)("div",{className:"mt-3 flex justify-end",children:(0,a.jsxs)("button",{type:"button",onClick:()=>void rG(),disabled:!tR.trim()||tD,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:[tD?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(g,{className:"h-4 w-4"}),"Post comment"]})})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Primary linked run"}),(0,a.jsxs)("select",{value:tP,onChange:e=>t$(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,a.jsx)("option",{value:"",className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:"No linked session"}),rP.map(e=>(0,a.jsxs)("option",{value:e.id,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:[ef(e)," \xb7 ",e.status]},e.id))]})]}),tE&&(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:tE})]}),(0,a.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,a.jsx)("button",{type:"button",onClick:rT,disabled:tI||tD,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void rB(),disabled:!tu.trim()||tI,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tI?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Save Task"})]})]})}),eF&&(0,a.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:()=>!tl&&eT(!1),children:(0,a.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_80px_rgba(0,0,0,0.45)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[980px] sm:rounded-[10px] sm:border",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,a.jsx)("header",{className:"border-b border-[var(--vk-border)] px-4 py-4 sm:px-5",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-[20px] font-medium text-[var(--vk-text-strong)]",children:"Create Board Task"}),(0,a.jsx)("p",{className:"pt-1 text-[13px] leading-5 text-[var(--vk-text-muted)]",children:"Capture the task, route it to the right board column, and attach the notes or files the agent should treat as source of truth."})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2 text-[11px]",children:[(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Column \xb7 ",rS]}),(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Agent \xb7 ",es(eq)]}),(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:[e0.length+ts.length," ","attachment",e0.length+ts.length===1?"":"s"]})]})]})}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4 sm:px-5",children:(0,a.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1.45fr)_minmax(290px,0.95fr)]",children:[(0,a.jsx)("div",{className:"space-y-4",children:(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Task brief"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Write the task the way you want it to appear on the board and in the agent prompt."})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Title"}),(0,a.jsx)("input",{value:eH,onChange:e=>ez(e.target.value),placeholder:"Review payment flow regression",className:"h-11 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[15px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,a.jsx)("p",{className:"mt-1.5 text-[11px] text-[var(--vk-text-muted)]",children:"Keep it short and outcome-focused so the card stays scannable."})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Description"}),(0,a.jsx)("textarea",{value:eU,onChange:e=>eJ(e.target.value),rows:5,placeholder:"Investigate failing specs, confirm the root cause, and propose a safe fix.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Context notes"}),(0,a.jsx)("textarea",{value:eY,onChange:e=>eX(e.target.value),rows:4,placeholder:"Add constraints, pitfalls, or review expectations the agent should keep in mind.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]})}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Routing"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Choose where the card lands and how it should be tagged."})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Column"}),(0,a.jsx)("select",{value:eB,onChange:e=>eG(et(e.target.value)),className:"h-10 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:rx.map(e=>(0,a.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,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Agent"}),(0,a.jsx)(eh,{value:eq,options:ra,disabled:tl,onChange:eW,ariaLabel:"Select agent for new task"})]})]}),(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Task type"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:J.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>eK(e.value),className:(0,_.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",eV===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]}),(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Priority"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:q.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>eQ(e.value),className:(0,_.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",eZ===e.value?"high"===e.value?"border-[var(--vk-red)] bg-[var(--vk-red)]/10 text-[var(--vk-text-strong)]":"medium"===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.05)] text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]})]}),(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Context"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Attach notes, screenshots, or files the agent should inspect before making changes."})]}),(0,a.jsxs)("label",{className:"inline-flex h-9 cursor-pointer items-center rounded-[6px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("input",{type:"file",multiple:!0,className:"hidden",onChange:e=>{let t=Array.from(e.target.files??[]);0!==t.length&&(tn(e=>{let r=[...e];for(let e of t)r.some(t=>t.name===e.name&&t.size===e.size&&t.lastModified===e.lastModified)||r.push(e);return r}),e.currentTarget.value="")}}),"Upload files/images"]})]}),(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[e0.length," existing file",1===e0.length?"":"s"," selected",ts.length>0?` \xb7 ${ts.length} upload${1===ts.length?"":"s"} ready`:""]}),rN.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Selected files"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:rN.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rE(e.path),className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:`Remove ${ep(e)}`,children:[(0,a.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},e.path))})]}),ts.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Pending uploads"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ts.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>{tn(t=>t.filter(t=>t.name!==e.name||t.size!==e.size||t.lastModified!==e.lastModified))},className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:"Remove upload",children:[(0,a.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},`${e.name}-${e.size}-${e.lastModified}`))})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Browse existing context"}),(0,a.jsxs)("div",{className:"flex h-9 items-center rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3",children:[(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:e3,onChange:e=>e4(e.target.value),placeholder:"Search context files...",className:"ml-2 w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,a.jsx)("div",{className:"mt-3 max-h-[320px] overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.08)]",children:e9?(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,a.jsx)("span",{children:"Loading context files..."})]}):te?(0,a.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-red)]",children:te}):0===rk.length?(0,a.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No context files found."}):(0,a.jsx)("ul",{className:"py-1",children:rj.map(e=>(0,a.jsx)(ev,{node:e,depth:0,expandedFolders:rA,selectedPaths:e0,openingContextPath:tr,contextOpenLabel:t9,onToggleFolder:r_,onTogglePath:rE,onOpenPath:e=>void rM(e)},e.path))})})]})]})]})}),to&&(0,a.jsx)("div",{className:"border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:to})}),(0,a.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:[(0,a.jsx)("div",{className:"text-[12px] text-[var(--vk-text-muted)]",children:eH.trim()?"Task is ready to add to the board.":"Add a clear title to enable task creation."}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>eT(!1),disabled:tl,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void rR(),disabled:!eH.trim()||tl,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tl?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Create Task"})]})]})]})})]}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-[14px] text-[var(--vk-text-muted)]",children:"Select a workspace to view its board."})}},57770:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},58564:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},59207:(e,t,r)=>{r.d(t,{g:()=>l});var a=r(7620),s=r(31404);function n(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function l(e,t){let r=t?.enabled??!0,[l,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(r),[c,x]=(0,a.useState)(null),m=(0,a.useCallback)(async()=>{if(!r){i(null),x(null),d(!1);return}try{var t;let r,a,l,o=await fetch((0,s.S)("/api/preferences",e)),d=await o.json().catch(()=>null);if(!o.ok)throw Error(d?.error??d?.reason??`Failed to load preferences: ${o.status}`);i((t=d?.preferences,r=n(t),l=(a=n(r.notifications)).soundFile,{onboardingAcknowledged:!0===r.onboardingAcknowledged,codingAgent:"string"==typeof r.codingAgent&&r.codingAgent.trim().length>0?r.codingAgent.trim():"claude-code",ide:"string"==typeof r.ide&&r.ide.trim().length>0?r.ide.trim():"vscode",markdownEditor:"string"==typeof r.markdownEditor&&r.markdownEditor.trim().length>0?r.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof r.markdownEditorPath?r.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===l?null:"string"==typeof l&&l.trim().length>0?l.trim():"abstract-sound-4"}})),x(null)}catch(e){i(null),x(e instanceof Error?e.message:"Failed to load preferences")}finally{d(!1)}},[e,r]);return(0,a.useEffect)(()=>{r&&m()},[r,m]),{preferences:r?l:null,loading:!!r&&o,error:r?c:null,refresh:m}}},88742:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},99250:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[41696],{11896:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},18510:(e,t,r)=>{r.d(t,{J:()=>s,s:()=>n});var a=r(10926);function s(e){let t=(0,a.C0)(e);if(!t)return"/";let r=new URLSearchParams;return r.set("bridge",t),`/?${r.toString()}`}function n(e,t={}){let r,s=e.trim(),l=(0,a.DW)(s)?s:(r=(0,a.C0)(t.bridgeId))?(0,a.Bp)(r,s):s,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let c=i.toString(),d=`/sessions/${encodeURIComponent(l)}`;return c.length>0?`${d}?${c}`:d}},21207:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},24774:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},33507:(e,t,r)=>{r.d(t,{DK:()=>s,VM:()=>l,hq:()=>a,qg:()=>n,re:()=>i});let a="overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch]",s=`overflow-y-auto ${a}`,n="min-h-0 flex-1 overflow-hidden bg-[#0f1012] p-3",l=a;function i(e){return["flex h-full min-h-0 min-w-0 w-full flex-col",e?"overflow-hidden bg-[#060404]":"overflow-hidden"].join(" ")}},40443:(e,t,r)=>{r.d(t,{Wu:()=>i,Zp:()=>n,aR:()=>l});var a=r(54568),s=r(46916);let n=(0,r(7620).forwardRef)(({className:e,...t},r)=>(0,a.jsx)("div",{ref:r,className:(0,s.cn)("surface-card rounded-[var(--radius-md)] border",e),...t}));function l({className:e,...t}){return(0,a.jsx)("div",{className:(0,s.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...t})}function i({className:e,...t}){return(0,a.jsx)("div",{className:(0,s.cn)("px-3 py-2",e),...t})}n.displayName="Card"},41696:(e,t,r)=>{r.r(t),r.d(t,{WorkspaceOverview:()=>R});var a=r(54568),s=r(7620),n=r(38724),l=r(11896),i=r(21207),o=r(98787),c=r(83328),d=r(76081),x=r(90986),p=r(40443),m=r(33507),g=r(77522),u=r(39789);let v=(0,u.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var b=r(24774);let f=(0,u.A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var h=r(46916);let k={active:{label:"active",dot:"var(--status-working)",bg:"color-mix(in srgb, var(--status-working) 18%, transparent)",text:"var(--status-working)"},ready:{label:"ready",dot:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 18%, transparent)",text:"var(--status-ready)"},idle:{label:"idle",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 20%, transparent)",text:"var(--text-muted)"},waiting_input:{label:"waiting",dot:"var(--status-attention)",bg:"color-mix(in srgb, var(--status-attention) 16%, transparent)",text:"var(--status-attention)"},blocked:{label:"blocked",dot:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 16%, transparent)",text:"var(--status-error)"},exited:{label:"exited",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 18%, transparent)",text:"var(--text-faint)"}},y={label:"unknown",dot:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 16%, transparent)",text:"var(--text-faint)"};function j({activity:e,dotOnly:t=!1,size:r=6}){let s=null!==e&&e in k?k[e]:{...y,label:e??"unknown"},n="active"===e;return t?(0,a.jsx)("div",{className:`shrink-0 rounded-full ${n?"attention-glow":""}`,style:{width:r,height:r,background:s.dot}}):(0,a.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full px-1.5 py-0.5",style:{background:s.bg},children:[(0,a.jsx)("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${n?"attention-glow":""}`,style:{background:s.dot}}),(0,a.jsx)("span",{className:"text-[10px] font-medium",style:{color:s.text},children:s.label})]})}var w=r(72410);let N={passing:{label:"CI passing",bg:"color-mix(in srgb, var(--status-ready) 14%, transparent)",text:"var(--status-ready)",icon:"✓"},failing:{label:"CI failing",bg:"color-mix(in srgb, var(--status-error) 14%, transparent)",text:"var(--status-error)",icon:"✗"},pending:{label:"CI pending",bg:"color-mix(in srgb, var(--status-attention) 12%, transparent)",text:"var(--status-attention)",icon:"●"},none:{label:"—",bg:"transparent",text:"var(--text-faint)",icon:""}};function C({status:e,failedCount:t,compact:r,prUrl:s}){let n=N[e]??N.none;if("none"===e||!e)return(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:"\\u2014"});let l="failing"===e&&t&&t>0?`${t} check${t>1?"s":""} failing`:n.label,i=(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:n.bg,color:n.text},children:[!r&&(0,a.jsx)("span",{children:n.icon}),l]});return s?(0,a.jsx)("a",{href:`${s}/checks`,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"hover:opacity-80",children:i}):i}function A({additions:e,deletions:t,compact:r}){let s,n=(s=e+t)<10?"XS":s<50?"S":s<200?"M":s<500?"L":"XL";return(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-semibold",children:[(0,a.jsxs)("span",{className:"text-[var(--status-ready)]",children:["+",e]}),(0,a.jsxs)("span",{className:"text-[var(--status-error)]",children:["-",t]}),!r&&(0,a.jsx)("span",{className:"text-[var(--text-faint)]",children:n})]})}var M=r(18510);let S=[{bg:"rgba(59,130,246,0.12)",text:"#60a5fa"},{bg:"rgba(139,92,246,0.12)",text:"#a78bfa"},{bg:"rgba(16,185,129,0.12)",text:"#34d399"},{bg:"rgba(245,158,11,0.12)",text:"#fbbf24"},{bg:"rgba(244,63,94,0.12)",text:"#fb7185"},{bg:"rgba(6,182,212,0.12)",text:"#22d3ee"},{bg:"rgba(99,102,241,0.12)",text:"#818cf8"},{bg:"rgba(236,72,153,0.12)",text:"#f472b6"}];function _(e){let t=0;for(let r of e)t=31*t+r.charCodeAt(0)|0;return S[Math.abs(t)%S.length]}let $={merge:"border-[color-mix(in_srgb,var(--status-ready)_30%,transparent)]",respond:"border-[color-mix(in_srgb,var(--status-attention)_30%,transparent)]",review:"border-[color-mix(in_srgb,var(--vk-orange,orange)_20%,transparent)]"},D={working:"text-[13px] font-medium text-[var(--text-secondary)]",pending:"text-[13px] font-medium text-[var(--text-secondary)]"};function q({decision:e}){let t="approved"===e,r="changes_requested"===e;return(0,a.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:t?"color-mix(in srgb, var(--status-ready) 12%, transparent)":r?"color-mix(in srgb, var(--status-error) 12%, transparent)":"color-mix(in srgb, var(--text-faint) 10%, transparent)",color:t?"var(--status-ready)":r?"var(--status-error)":"var(--text-faint)"},children:t?"✅ Approved":r?"Changes req.":`Review: ${e||"pending"}`})}function I({session:e,onSelect:t,onRestore:r}){let[n,l]=(0,s.useState)(!1),i="merged"===e.status||e.pr?.state==="merged"?{label:"merged",color:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 12%, transparent)"}:"killed"===e.status||"terminated"===e.status?{label:e.status,color:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 12%, transparent)"}:{label:e.status||"done",color:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 12%, transparent)"},c=_(e.projectId),d="merged"!==e.status&&g.C.has(e.status);return(0,a.jsxs)("div",{className:(0,h.cn)("rounded-[10px] border border-[rgba(255,255,255,0.06)] bg-[rgba(23,25,30,0.88)] p-3 transition-colors hover:border-[rgba(255,255,255,0.12)]",n&&"border-[rgba(255,255,255,0.1)]"),onClick:e=>{e.target.closest("a, button, input")||l(!n)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:i.bg,color:i.color},children:i.label}),(0,a.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:c.bg,color:c.text},children:e.projectId}),(0,a.jsx)("div",{className:"flex-1"}),d&&(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),r?.(e.id)},className:"inline-flex items-center gap-1 text-[10px] text-[var(--color-accent)] hover:underline",children:[(0,a.jsx)(v,{className:"h-3 w-3"}),"restore"]})]}),(0,a.jsx)("p",{className:"mt-1.5 text-[13px] font-semibold leading-snug text-[var(--text-primary)] line-clamp-2",children:e.summary||e.projectId}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.branch&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,a.jsx)(o.A,{className:"h-2.5 w-2.5 opacity-50"}),e.branch]}),e.pr&&(0,a.jsxs)("a",{href:e.pr.url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-bold text-[var(--text-primary)] hover:underline",children:["#",e.pr.number]}),e.pr?.additions!=null&&e.pr?.deletions!=null&&(0,a.jsx)(A,{additions:e.pr.additions,deletions:e.pr.deletions})]}),n&&(0,a.jsxs)("div",{className:"mt-3 border-t border-[var(--vk-border)] pt-3 space-y-2",children:[e.pr&&(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)(C,{status:e.pr.ciStatus,prUrl:e.pr.url}),(0,a.jsx)(q,{decision:e.pr.reviewDecision})]}),!e.pr&&(0,a.jsx)("p",{className:"text-[11px] text-[var(--text-faint)]",children:"No PR associated."})]})]})}function P({session:e,onSelect:t,onSend:r,onKill:n,onRestore:l,compact:i}){let c,d,[x,p]=(0,s.useState)(!1),[m,u]=(0,s.useState)(""),[k,y]=(0,s.useState)(!1),[N,S]=(0,s.useState)(()=>Date.now()),R=(0,g.n)(e),z=g.C.has(e.status),L=z&&"merged"!==e.status,U=_(e.projectId),E=function(e){let t=e.cost;if(!t)return null;try{let e=JSON.parse(t);return e.estimatedCostUsd??e.totalUSD??null}catch{return null}}(e.metadata),O=(c=[],(d=e.pr)&&("failing"===d.ciStatus&&c.push({key:"ci-failing",label:"CI failing",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),"changes_requested"===d.reviewDecision&&c.push({key:"changes",label:"Changes requested",color:"var(--vk-orange, #f59f0a)",borderColor:"color-mix(in srgb, var(--vk-orange, #f59f0a) 40%, transparent)",bg:"color-mix(in srgb, var(--vk-orange, #f59f0a) 8%, transparent)"}),d.mergeability.noConflicts||c.push({key:"conflicts",label:"Conflicts",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),d.mergeability.mergeable&&d.mergeability.ciPassing&&d.mergeability.approved&&"open"===d.state&&c.push({key:"merge-ready",label:"Ready to merge",color:"var(--status-ready)",borderColor:"color-mix(in srgb, var(--status-ready) 40%, transparent)",bg:"color-mix(in srgb, var(--status-ready) 8%, transparent)"})),c),W=e.metadata?.agent,K=e.pr,T=K?.state==="open"&&K.mergeability.mergeable&&K.mergeability.ciPassing&&K.mergeability.approved,V=(0,s.useCallback)(async()=>{let t=m.trim();if(t&&!k){y(!0);try{await Promise.resolve(r?.(e.id,t)),u("")}finally{setTimeout(()=>y(!1),1500)}}},[m,k,r,e.id]);if((0,s.useEffect)(()=>{S(Date.now());let e=window.setInterval(()=>S(Date.now()),6e4);return()=>window.clearInterval(e)},[]),"done"===R||i)return(0,a.jsx)(I,{session:e,onSelect:t,onSend:r,onKill:n,onRestore:l});let Z=T?$.merge:O.length>0?$.respond:R in $?$[R]:"border-[rgba(255,255,255,0.08)]",F=R in D?D[R]:"text-[14px] font-semibold text-[var(--text-primary)]";return(0,a.jsxs)("div",{className:(0,h.cn)("rounded-[10px] border bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] transition-colors hover:border-[rgba(255,255,255,0.14)]",Z),onClick:r=>{r.target.closest("a, button, input, textarea")||t?.(e.id)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(j,{activity:e.activity}),(0,a.jsx)("span",{className:"font-mono text-[11px] text-[var(--text-muted)] truncate max-w-[120px]",children:e.id}),(0,a.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:U.bg,color:U.text},children:e.projectId}),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(e,t){let r=Math.floor((t-new Date(e).getTime())/6e4);if(r<1)return"now";if(r<60)return`${r}m`;let a=Math.floor(r/60);return a<24?`${a}h`:`${Math.floor(a/24)}d`}(e.createdAt,N)}),(0,a.jsx)("a",{href:(0,M.s)(e.id,{bridgeId:e.bridgeId,tab:"terminal"}),onClick:e=>e.stopPropagation(),className:"inline-flex h-5 w-5 items-center justify-center rounded text-[var(--text-faint)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--text-muted)]",title:"Open session",children:(0,a.jsx)(b.A,{className:"h-3 w-3"})})]}),(0,a.jsx)("div",{className:"mt-1.5",children:(0,a.jsx)("p",{className:(0,h.cn)("leading-snug line-clamp-2",F),children:e.summary||e.projectId})}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.branch&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,a.jsx)(o.A,{className:"h-2.5 w-2.5 opacity-50"}),e.branch]}),K&&(0,a.jsxs)("a",{href:K.url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"font-mono text-[11px] font-bold text-[var(--text-primary)] hover:underline",children:["#",K.number]}),K?.additions!=null&&K?.deletions!=null&&(0,a.jsx)(A,{additions:K.additions,deletions:K.deletions}),W&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-[var(--color-accent-subtle)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--color-accent)]",children:[(0,a.jsx)(w.N,{seed:{label:W},className:"h-4 w-4"}),W]})]}),O.length>0&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[O.map(e=>(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:e.bg,color:e.color,border:`1px solid ${e.borderColor}`},children:e.label},e.key)),K&&(0,a.jsx)(C,{status:K.ciStatus,compact:!0,prUrl:K.url}),K&&"none"!==K.reviewDecision&&"pending"!==K.reviewDecision&&(0,a.jsx)(q,{decision:K.reviewDecision})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-3 border-t border-[var(--vk-border)] pt-2",children:[null!=E&&(0,a.jsxs)("span",{className:"font-mono text-[10px] text-[var(--text-faint)]",children:["$",E.toFixed(2)]}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(e,t){let r=new Date(t).getTime()-new Date(e).getTime();if(r<0)return"-";let a=Math.floor(r/1e3);if(a<60)return`${a}s`;let s=Math.floor(a/60);if(s<60)return`${s}m`;let n=Math.floor(s/60);return`${n}h ${s%60}m`}(e.createdAt,e.lastActivityAt)}),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("span",{className:"text-[10px] capitalize text-[var(--text-muted)]",children:e.status.replace(/_/g," ")})]}),!z&&(0,a.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,a.jsx)("input",{type:"text",value:m,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),V())},placeholder:"Message agent...",className:"flex-1 rounded-md border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2.5 py-1.5 text-[11px] text-[var(--text-primary)] placeholder-[var(--text-faint)] outline-none focus:border-[var(--color-accent)]",onClick:e=>e.stopPropagation()}),(0,a.jsx)("button",{onClick:e=>{e.stopPropagation(),V()},disabled:k||0===m.trim().length,className:"rounded-md bg-[var(--color-accent)] px-2.5 py-1.5 text-[10px] font-medium text-white transition-opacity hover:opacity-90 disabled:opacity-40",children:k?"Sent":"Send"})]}),z&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[L&&(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),l?.(e.id)},className:"inline-flex items-center gap-1 rounded-md border border-[var(--vk-border)] px-2 py-1 text-[10px] font-medium text-[var(--color-accent)] hover:bg-[var(--color-accent-subtle)]",children:[(0,a.jsx)(v,{className:"h-3 w-3"}),"Restore"]}),(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),n?.(e.id)},className:"inline-flex items-center gap-1 rounded-md border border-[color-mix(in_srgb,var(--status-error)_30%,transparent)] px-2 py-1 text-[10px] font-medium text-[var(--status-error)] hover:bg-[color-mix(in_srgb,var(--status-error)_8%,transparent)]",children:[(0,a.jsx)(f,{className:"h-3 w-3"}),"Cleanup"]})]})]})}function R({projects:e,sessions:t,onCreateWorkspace:r,onSelectSession:u}){let v=(0,s.useMemo)(()=>t.filter(e=>"archived"!==e.status),[t]),b=(0,s.useMemo)(()=>(function(e,t){let r=[];for(let a of e){let e=r.length;for(;e>0&&0>r[e-1].lastActivityAt.localeCompare(a.lastActivityAt);)e-=1;!(e>=t)&&(r.splice(e,0,a),r.length>t&&r.pop())}return r})(v,Math.max(v.length,12)),[v]),f=(0,s.useMemo)(()=>{let e=0,t=0,r=0;for(let a of v){let s=(0,g.n)(a);"done"!==s&&(e+=1),"merge"===s?(r+=1,t+=1):("respond"===s||"review"===s)&&(t+=1)}return{active:e,attention:t,merge:r}},[v]),h=0===e.length&&0===v.length,k=[{label:"Projects",value:String(e.length),icon:n.A,caption:"Linked workspaces"},{label:"Active sessions",value:String(f.active),icon:l.A,caption:"Agent sessions in progress"},{label:"Need attention",value:String(f.attention),icon:i.A,caption:"Awaiting review or input"},{label:"Merge ready",value:String(f.merge),icon:o.A,caption:"Cleared to land"}];return h?(0,a.jsx)("div",{className:`flex h-full min-h-0 w-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] ${m.DK}`,children:(0,a.jsxs)("div",{className:"mx-auto flex h-full min-h-0 w-full max-w-[1200px] flex-1 flex-col px-3 py-3 sm:px-4 sm:py-4",children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end",children:(0,a.jsx)(d.$,{variant:"outline",size:"md",onClick:r,children:"Add workspace"})}),(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,a.jsx)(p.Zp,{className:"w-full max-w-[880px] border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_88%,transparent)]",children:(0,a.jsxs)(p.Wu,{className:"flex flex-col items-center px-6 py-12 text-center sm:px-10 sm:py-16",children:[(0,a.jsx)("span",{className:"inline-flex h-14 w-14 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,a.jsx)(c.A,{className:"h-6 w-6"})}),(0,a.jsx)("p",{className:"mt-5 text-[11px] uppercase tracking-[0.14em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,a.jsx)("h1",{className:"mt-3 max-w-[14ch] text-[30px] font-semibold leading-[1.02] tracking-[-0.05em] text-[var(--vk-text-strong)] sm:text-[44px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,a.jsx)("p",{className:"mt-4 max-w-[560px] text-[14px] leading-7 text-[var(--vk-text-muted)] sm:text-[15px]",children:"Start by linking a workspace. Once a project is connected, this page will show active sessions and recent work without sending you through an empty composer first."}),(0,a.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,a.jsx)(d.$,{variant:"primary",size:"md",onClick:r,children:"Add workspace"}),(0,a.jsx)("div",{className:"inline-flex rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"0 projects \xb7 0 active sessions"})]})]})})})]})}):(0,a.jsx)("div",{className:`flex h-full min-h-0 w-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] ${m.DK}`,children:(0,a.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-1 flex-col gap-4 px-3 py-3 sm:px-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,a.jsx)("h1",{className:"mt-1 text-[24px] font-semibold leading-[1.05] tracking-[-0.04em] text-[var(--vk-text-strong)] sm:text-[30px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,a.jsx)("p",{className:"mt-2 max-w-2xl text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"The workspace entrypoint now exposes status and recent activity without forcing you into a blank composer first."})]}),(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,a.jsx)(d.$,{variant:"outline",size:"md",onClick:r,children:"Add workspace"})})]}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-3 xl:grid-cols-4",children:k.map(({label:e,value:t,icon:r,caption:s})=>(0,a.jsx)(p.Zp,{className:"bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_86%,transparent)] [content-visibility:auto] [contain-intrinsic-size:104px]",children:(0,a.jsxs)(p.Wu,{className:"flex items-center gap-3 py-3",children:[(0,a.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,a.jsx)(r,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:e}),(0,a.jsx)("p",{className:"mt-1 text-[22px] font-semibold text-[var(--vk-text-strong)]",children:t}),(0,a.jsx)("p",{className:"mt-0.5 text-[10px] text-[var(--text-faint)]",children:s})]})]})},e))}),(0,a.jsx)("div",{className:"flex min-h-0 w-full flex-1",children:(0,a.jsxs)(p.Zp,{className:"flex min-h-0 w-full flex-1 flex-col",children:[(0,a.jsxs)(p.aR,{className:"justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Recent sessions"}),(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Jump back into active work without hunting through the sidebar."})]}),(0,a.jsx)(x.E,{variant:"outline",children:v.length})]}),(0,a.jsx)(p.Wu,{className:`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto ${m.hq}`,children:0===b.length?(0,a.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No sessions yet. Create or open a workspace to start work."}):b.map(e=>(0,a.jsx)(P,{session:e,onSelect:u},e.id))})]})})]})})}},90986:(e,t,r)=>{r.d(t,{E:()=>l});var a=r(54568),s=r(46916);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 l({variant:e="default",className:t,children:r}){return(0,a.jsx)("span",{className:(0,s.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",n[e],t),children:r})}},98787:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])}}]);