conductor-oss 0.7.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/README.md +173 -134
  2. package/dist/backend.d.ts.map +1 -1
  3. package/dist/backend.js +18 -2
  4. package/dist/backend.js.map +1 -1
  5. package/dist/commands/dashboard.d.ts.map +1 -1
  6. package/dist/commands/dashboard.js +13 -7
  7. package/dist/commands/dashboard.js.map +1 -1
  8. package/node_modules/@conductor-oss/core/dist/config.d.ts.map +1 -1
  9. package/node_modules/@conductor-oss/core/dist/config.js +6 -1
  10. package/node_modules/@conductor-oss/core/dist/config.js.map +1 -1
  11. package/package.json +8 -6
  12. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  13. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +2 -0
  14. package/web/.next/standalone/packages/web/.next/build-manifest.json +7 -7
  15. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  16. package/web/.next/standalone/packages/web/.next/routes-manifest.json +44 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page/build-manifest.json +5 -5
  18. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +2 -2
  20. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +7 -7
  21. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  22. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  23. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  24. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  25. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/build-manifest.json +5 -5
  27. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  28. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +2 -2
  29. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/_not-found.rsc +11 -11
  33. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  34. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  35. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  36. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  37. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  38. package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  39. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js +2 -2
  40. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +2 -2
  42. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js +2 -2
  44. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js.nft.json +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js +2 -2
  46. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js +2 -2
  48. package/web/.next/standalone/packages/web/.next/server/app/api/auth/session/route.js.nft.json +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js +2 -2
  50. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js.nft.json +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js +2 -2
  52. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js +2 -2
  54. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js +2 -2
  56. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js.nft.json +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js +2 -2
  58. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js +2 -2
  60. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js +2 -2
  62. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.nft.json +1 -1
  63. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js +2 -2
  64. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
  65. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js +2 -2
  66. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.nft.json +1 -1
  67. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js +2 -2
  68. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js +2 -2
  70. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js.nft.json +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js +2 -2
  72. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
  73. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js +2 -2
  74. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
  75. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js +2 -2
  76. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js +2 -2
  78. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
  79. package/web/.next/standalone/packages/web/.next/server/app/api/remote-access/route.js +2 -2
  80. package/web/.next/standalone/packages/web/.next/server/app/api/remote-access/route.js.nft.json +1 -1
  81. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js +2 -2
  82. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  83. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js +2 -2
  84. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
  85. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js +2 -2
  86. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
  87. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js +2 -2
  88. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
  89. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js +2 -2
  90. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
  91. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js +2 -2
  92. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
  93. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js +2 -2
  94. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js.nft.json +1 -1
  95. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/stream/route.js +2 -2
  96. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/stream/route.js.nft.json +1 -1
  97. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js +2 -2
  98. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js.nft.json +1 -1
  99. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js +2 -2
  100. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
  101. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js +2 -2
  102. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/interrupt/route.js.nft.json +1 -1
  103. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js +2 -2
  104. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js.nft.json +1 -1
  105. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js +2 -2
  106. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
  107. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js +2 -2
  108. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
  109. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js +2 -2
  110. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js.nft.json +1 -1
  111. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js +1 -1
  112. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js.nft.json +1 -1
  113. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js +1 -1
  114. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js.nft.json +1 -1
  115. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js.nft.json +1 -1
  117. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js +2 -2
  118. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
  119. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js +2 -2
  120. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  121. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js +2 -2
  122. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
  123. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route/app-paths-manifest.json +3 -0
  124. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route/build-manifest.json +11 -0
  125. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route/server-reference-manifest.json +4 -0
  126. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route.js +10 -0
  127. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route.js.map +5 -0
  128. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route.js.nft.json +1 -0
  129. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/connection/route_client-reference-manifest.js +2 -0
  130. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route/app-paths-manifest.json +3 -0
  131. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route/build-manifest.json +11 -0
  132. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route/server-reference-manifest.json +4 -0
  133. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js +10 -0
  134. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.map +5 -0
  135. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.nft.json +1 -0
  136. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route_client-reference-manifest.js +2 -0
  137. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js +2 -2
  138. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  139. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js +2 -2
  140. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
  141. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js +2 -2
  142. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +2 -2
  144. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  145. package/web/.next/standalone/packages/web/.next/server/app/page/build-manifest.json +5 -5
  146. package/web/.next/standalone/packages/web/.next/server/app/page/react-loadable-manifest.json +4 -4
  147. package/web/.next/standalone/packages/web/.next/server/app/page/server-reference-manifest.json +7 -7
  148. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  149. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  150. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  151. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/build-manifest.json +5 -5
  152. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/server-reference-manifest.json +7 -7
  153. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  154. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  155. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  156. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/build-manifest.json +5 -5
  157. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/server-reference-manifest.json +7 -7
  158. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  159. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  160. package/web/.next/standalone/packages/web/.next/server/app/unlock/page/build-manifest.json +5 -5
  161. package/web/.next/standalone/packages/web/.next/server/app/unlock/page/server-reference-manifest.json +14 -14
  162. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  163. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  164. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +2 -0
  165. package/web/.next/standalone/packages/web/.next/server/chunks/26076_server_app_api_sessions_[id]_terminal_connection_route_actions_46c114ee.js +3 -0
  166. package/web/.next/standalone/packages/web/.next/server/chunks/26076_server_app_api_sessions_[id]_terminal_snapshot_route_actions_cfb4de43.js +3 -0
  167. package/web/.next/standalone/packages/web/.next/server/chunks/730ea_web__next-internal_server_app_api_sessions_[id]_restore_route_actions_41a4c356.js +1 -1
  168. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b716459f._.js → [root-of-the-server]__08556fc3._.js} +2 -2
  169. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__624bcdc9._.js → [root-of-the-server]__0e496df1._.js} +2 -2
  170. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__9bf61231._.js → [root-of-the-server]__115b433b._.js} +2 -2
  171. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__70929198._.js → [root-of-the-server]__120a0868._.js} +2 -2
  172. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__17d710ef._.js → [root-of-the-server]__1a623333._.js} +2 -2
  173. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__262e987e._.js +1 -1
  174. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__31053ac2._.js → [root-of-the-server]__2713bac9._.js} +2 -2
  175. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8c576b6a._.js → [root-of-the-server]__2798ac7c._.js} +2 -2
  176. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__747e6415._.js → [root-of-the-server]__27b2bd14._.js} +2 -2
  177. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__a4b1a94c._.js → [root-of-the-server]__29d94573._.js} +2 -2
  178. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__732fc06e._.js → [root-of-the-server]__2b59cba9._.js} +2 -2
  179. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2ce39d51._.js +1 -1
  180. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3e507276._.js → [root-of-the-server]__2fea4a4c._.js} +2 -2
  181. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__59635ca5._.js → [root-of-the-server]__36559d88._.js} +2 -2
  182. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__f0ec1021._.js → [root-of-the-server]__4117784b._.js} +2 -2
  183. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__543bc377._.js → [root-of-the-server]__43b35d39._.js} +2 -2
  184. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__ba70a88e._.js → [root-of-the-server]__444bf146._.js} +2 -2
  185. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__fd0a681b._.js → [root-of-the-server]__45483f4b._.js} +2 -2
  186. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__98f4a7bd._.js → [root-of-the-server]__4644a89e._.js} +2 -2
  187. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__4c78886c._.js +3 -0
  188. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__e7aaee2d._.js → [root-of-the-server]__4cea5dca._.js} +2 -2
  189. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__33494588._.js → [root-of-the-server]__575c7392._.js} +2 -2
  190. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__eae97345._.js → [root-of-the-server]__57605af7._.js} +2 -2
  191. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__be233a9f._.js → [root-of-the-server]__57c8ca1a._.js} +2 -2
  192. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__5e2b35cd._.js +3 -0
  193. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8ace49d1._.js → [root-of-the-server]__5f5433df._.js} +2 -2
  194. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__6313c91e._.js +3 -3
  195. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3dc4c761._.js → [root-of-the-server]__6a8b5dc7._.js} +2 -2
  196. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3318d8a1._.js → [root-of-the-server]__717081d9._.js} +2 -2
  197. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__ae73aa49._.js → [root-of-the-server]__75668566._.js} +2 -2
  198. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b4039db5._.js → [root-of-the-server]__7a6210dc._.js} +2 -2
  199. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__34e636e5._.js → [root-of-the-server]__7ca5b93b._.js} +2 -2
  200. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b53b70e7._.js → [root-of-the-server]__8462ddf1._.js} +2 -2
  201. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__3937a996._.js → [root-of-the-server]__9e363e9c._.js} +2 -2
  202. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__4c5f7cab._.js → [root-of-the-server]__a0467c5b._.js} +2 -2
  203. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__9576223c._.js → [root-of-the-server]__a8d68307._.js} +2 -2
  204. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__82e86bb6._.js → [root-of-the-server]__ac79a67b._.js} +2 -2
  205. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__bcd0c846._.js → [root-of-the-server]__af5be1d9._.js} +2 -2
  206. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__b3cd93ca._.js +3 -0
  207. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__540ebc7f._.js → [root-of-the-server]__b7314f2a._.js} +2 -2
  208. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__bb2675cd._.js → [root-of-the-server]__bcbc6330._.js} +2 -2
  209. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__fe4c1384._.js → [root-of-the-server]__bfbdd808._.js} +2 -2
  210. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__b00db558._.js → [root-of-the-server]__c205eff4._.js} +2 -2
  211. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__c455995a._.js → [root-of-the-server]__c39ceb71._.js} +2 -2
  212. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__c9cb9ac6._.js +3 -0
  213. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__cff9ddef._.js +1 -1
  214. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__7c87a52f._.js → [root-of-the-server]__d65b8403._.js} +2 -2
  215. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__eb6e6bb9._.js → [root-of-the-server]__d7b9cb55._.js} +2 -2
  216. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__53daf5c6._.js → [root-of-the-server]__df103a4a._.js} +2 -2
  217. package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__ea845f9f._.js +1 -1
  218. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__8ee7749b._.js → [root-of-the-server]__f5a16619._.js} +2 -2
  219. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__9940de77._.js → [root-of-the-server]__f62d8a1f._.js} +2 -2
  220. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__5df70a62._.js → [root-of-the-server]__f7c7ed71._.js} +2 -2
  221. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__520aa408._.js → [root-of-the-server]__fa5bbdc8._.js} +2 -2
  222. package/web/.next/standalone/packages/web/.next/server/chunks/{[root-of-the-server]__e385846c._.js → [root-of-the-server]__fed9223f._.js} +2 -2
  223. package/web/.next/standalone/packages/web/.next/server/chunks/_2c837d66._.js +5 -5
  224. package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_eaad1f33.js +1 -1
  225. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__000b8c99._.js +1 -1
  226. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__4f387f9d._.js → [root-of-the-server]__10a850c6._.js} +2 -2
  227. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__7829c78d._.js → [root-of-the-server]__17f5cb6a._.js} +2 -2
  228. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__29d8d063._.js +1 -1
  229. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__3ea76517._.js +3 -0
  230. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__99387ae7._.js → [root-of-the-server]__6647f7ec._.js} +2 -2
  231. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__a509d17d._.js → [root-of-the-server]__9f45b36b._.js} +2 -2
  232. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__bc8d015f._.js → [root-of-the-server]__f8f50c0b._.js} +2 -2
  233. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_0e1412de._.js +1 -1
  234. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_230c0c14._.js +4 -4
  235. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_2b5578a1._.js +3 -0
  236. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_b6d31783._.js → _532f707d._.js} +3 -3
  237. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_5571204d._.js +3 -0
  238. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_69e05fca._.js +1 -1
  239. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_6cfd06c2._.js +1 -1
  240. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_80efe193._.js +1 -1
  241. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_a4a4deb7._.js → _9e7585e3._.js} +2 -2
  242. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b214b154._.js +1 -1
  243. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b8358e63._.js +3 -0
  244. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_c0f0e227._.js +1 -1
  245. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{_8982bbf3._.js → _de3b7194._.js} +2 -2
  246. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_f36ddaa9._.js +1 -1
  247. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{node_modules_@clerk_nextjs_dist_esm_app-router_743f164d._.js → node_modules_@clerk_nextjs_dist_esm_app-router_a9e633d8._.js} +2 -2
  248. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_f33d83e6._.js +3 -0
  249. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@radix-ui_d03fdd57._.js +3 -0
  250. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@xterm_addon-fit_lib_addon-fit_mjs_9b7cb17b._.js +3 -0
  251. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@xterm_addon-search_lib_addon-search_mjs_8d69d9d7._.js +11 -0
  252. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@xterm_xterm_lib_xterm_mjs_a1a7b9e9._.js +20 -0
  253. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_afb6e107._.js +3 -0
  254. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_refresh-cw_50f1c1e7.js +3 -0
  255. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_next_dist_2df23979._.js +1 -1
  256. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_cd51dad4.js +2 -2
  257. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_board_WorkspaceKanban_tsx_735b7999._.js +1 -1
  258. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_sessions_SessionDetail_tsx_5fcad270._.js +6 -0
  259. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_features_dashboard_DashboardClient_tsx_81ae42b0._.js +1 -1
  260. package/web/.next/standalone/packages/web/.next/server/functions-config-manifest.json +3 -1
  261. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +5 -5
  262. package/web/.next/standalone/packages/web/.next/server/pages/404.html +1 -1
  263. package/web/.next/standalone/packages/web/.next/server/pages/500.html +2 -2
  264. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  265. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +15 -15
  266. package/web/.next/standalone/packages/web/.next/static/chunks/07be250784a6a689.js +1 -0
  267. package/web/.next/standalone/packages/web/.next/static/chunks/0866f5c380851a16.js +1 -0
  268. package/web/.next/standalone/packages/web/.next/static/chunks/0cdc18649f440c71.js +1 -0
  269. package/web/.next/standalone/packages/web/.next/static/chunks/0f7eb6d5a59ee3ae.js +1 -0
  270. package/web/.next/standalone/packages/web/.next/static/chunks/144b356fe7daff8d.js +1 -0
  271. package/web/.next/standalone/packages/web/.next/static/chunks/{c4c79d5d0b280aeb.js → 2f236954d6a65e12.js} +1 -1
  272. package/web/.next/standalone/packages/web/.next/static/chunks/3cdf839644f79d43.js +18 -0
  273. package/web/.next/standalone/packages/web/.next/static/chunks/5a4c4d4d5f30829b.css +3 -0
  274. package/web/.next/standalone/packages/web/.next/static/chunks/6850a6cda159c98d.js +1 -0
  275. package/web/.next/{static/chunks/06bdd070b8d25946.js → standalone/packages/web/.next/static/chunks/69be39811437728d.js} +1 -1
  276. package/web/.next/standalone/packages/web/.next/static/chunks/6cec31da5f555e99.js +1 -0
  277. package/web/.next/standalone/packages/web/.next/static/chunks/70d1e7a526f0f4e2.js +9 -0
  278. package/web/.next/standalone/packages/web/.next/static/chunks/{ba2aa8b54e912820.js → 723acbe92d3f9e7e.js} +1 -1
  279. package/web/.next/standalone/packages/web/.next/static/chunks/739c6f71243d76d8.js +1 -0
  280. package/web/.next/standalone/packages/web/.next/static/chunks/a6ec1ab37eb7b410.js +1 -0
  281. package/web/.next/standalone/packages/web/.next/static/chunks/af8bfb72187b7cbf.js +1 -0
  282. package/web/.next/standalone/packages/web/.next/static/chunks/b86b8884ddf84717.js +1 -0
  283. package/web/.next/standalone/packages/web/.next/static/chunks/c1b8a2d2c623a0dc.js +6 -0
  284. package/web/.next/standalone/packages/web/.next/static/chunks/c993a1a4204fce88.js +4 -0
  285. package/web/.next/standalone/packages/web/.next/static/chunks/ca3e38b4495a3d39.js +1 -0
  286. package/web/.next/standalone/packages/web/.next/static/chunks/{45bd2451c2b0790c.js → caf02f8136b16992.js} +2 -2
  287. package/web/.next/standalone/packages/web/.next/static/chunks/d4269c59429734ad.js +1 -0
  288. package/web/.next/{static/chunks/28eac764d6544827.js → standalone/packages/web/.next/static/chunks/e5bcec03f80af56a.js} +1 -1
  289. package/web/.next/standalone/packages/web/.next/static/chunks/{turbopack-49f4119854e8206e.js → turbopack-26870d017b23fcf0.js} +1 -1
  290. package/web/.next/standalone/packages/web/next.config.ts +16 -0
  291. package/web/.next/standalone/packages/web/package.json +3 -1
  292. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/terminal/connection/route.ts +64 -0
  293. package/web/.next/standalone/packages/web/src/app/api/sessions/[id]/terminal/snapshot/route.ts +14 -0
  294. package/web/.next/standalone/packages/web/src/app/globals.css +12 -4
  295. package/web/.next/standalone/packages/web/src/components/Dashboard.tsx +1 -5
  296. package/web/.next/standalone/packages/web/src/components/TerminalView.tsx +528 -100
  297. package/web/.next/standalone/packages/web/src/components/board/WorkspaceKanban.tsx +3 -3
  298. package/web/.next/standalone/packages/web/src/components/layout/AppShell.tsx +3 -3
  299. package/web/.next/standalone/packages/web/src/components/layout/Sidebar.tsx +29 -18
  300. package/web/.next/standalone/packages/web/src/components/layout/TopBar.tsx +3 -3
  301. package/web/.next/standalone/packages/web/src/components/sessions/ChatPanel.tsx +61 -5
  302. package/web/.next/standalone/packages/web/src/components/sessions/SessionDetail.tsx +99 -46
  303. package/web/.next/standalone/packages/web/src/components/sessions/SessionPreview.tsx +231 -233
  304. package/web/.next/standalone/packages/web/src/components/sessions/SessionTerminal.tsx +1212 -0
  305. package/web/.next/standalone/packages/web/src/components/sessions/terminalInsert.ts +6 -0
  306. package/web/.next/standalone/packages/web/src/components/terminal/xtermTheme.ts +70 -0
  307. package/web/.next/standalone/packages/web/src/components/ui/Tabs.tsx +2 -2
  308. package/web/.next/standalone/packages/web/src/features/dashboard/DashboardClient.tsx +104 -31
  309. package/web/.next/standalone/packages/web/src/features/sessions/SessionPageClient.tsx +2 -2
  310. package/web/.next/standalone/packages/web/src/lib/devPreviewBrowser.ts +15 -3
  311. package/web/.next/static/chunks/07be250784a6a689.js +1 -0
  312. package/web/.next/static/chunks/0866f5c380851a16.js +1 -0
  313. package/web/.next/static/chunks/0cdc18649f440c71.js +1 -0
  314. package/web/.next/static/chunks/0f7eb6d5a59ee3ae.js +1 -0
  315. package/web/.next/static/chunks/144b356fe7daff8d.js +1 -0
  316. package/web/.next/static/chunks/{c4c79d5d0b280aeb.js → 2f236954d6a65e12.js} +1 -1
  317. package/web/.next/static/chunks/3cdf839644f79d43.js +18 -0
  318. package/web/.next/static/chunks/5a4c4d4d5f30829b.css +3 -0
  319. package/web/.next/static/chunks/6850a6cda159c98d.js +1 -0
  320. package/web/.next/{standalone/packages/web/.next/static/chunks/06bdd070b8d25946.js → static/chunks/69be39811437728d.js} +1 -1
  321. package/web/.next/static/chunks/6cec31da5f555e99.js +1 -0
  322. package/web/.next/static/chunks/70d1e7a526f0f4e2.js +9 -0
  323. package/web/.next/static/chunks/{ba2aa8b54e912820.js → 723acbe92d3f9e7e.js} +1 -1
  324. package/web/.next/static/chunks/739c6f71243d76d8.js +1 -0
  325. package/web/.next/static/chunks/a6ec1ab37eb7b410.js +1 -0
  326. package/web/.next/static/chunks/af8bfb72187b7cbf.js +1 -0
  327. package/web/.next/static/chunks/b86b8884ddf84717.js +1 -0
  328. package/web/.next/static/chunks/c1b8a2d2c623a0dc.js +6 -0
  329. package/web/.next/static/chunks/c993a1a4204fce88.js +4 -0
  330. package/web/.next/static/chunks/ca3e38b4495a3d39.js +1 -0
  331. package/web/.next/static/chunks/{45bd2451c2b0790c.js → caf02f8136b16992.js} +2 -2
  332. package/web/.next/static/chunks/d4269c59429734ad.js +1 -0
  333. package/web/.next/{standalone/packages/web/.next/static/chunks/28eac764d6544827.js → static/chunks/e5bcec03f80af56a.js} +1 -1
  334. package/web/.next/static/chunks/{turbopack-49f4119854e8206e.js → turbopack-26870d017b23fcf0.js} +1 -1
  335. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__29091976._.js +0 -3
  336. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__784e6aef._.js +0 -3
  337. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__b388693f._.js +0 -3
  338. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__d1efcbf0._.js +0 -3
  339. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_e1c18705._.js +0 -3
  340. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_2a090a71._.js +0 -3
  341. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@radix-ui_02f0d3f0._.js +0 -3
  342. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_message-square_2e76b8d9.js +0 -3
  343. package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_ui_Tooltip_tsx_6becc8ca._.js +0 -3
  344. package/web/.next/standalone/packages/web/.next/static/chunks/07f3b9a104ce0ff4.js +0 -1
  345. package/web/.next/standalone/packages/web/.next/static/chunks/1004422d31074d62.js +0 -1
  346. package/web/.next/standalone/packages/web/.next/static/chunks/25afa19789883705.js +0 -6
  347. package/web/.next/standalone/packages/web/.next/static/chunks/2bc11b604b131190.js +0 -1
  348. package/web/.next/standalone/packages/web/.next/static/chunks/30ababddac1b82dc.js +0 -1
  349. package/web/.next/standalone/packages/web/.next/static/chunks/64f0033534ca1ad3.css +0 -3
  350. package/web/.next/standalone/packages/web/.next/static/chunks/902a6ba5837e1e57.js +0 -1
  351. package/web/.next/standalone/packages/web/.next/static/chunks/a28bcda8dd6b68ee.js +0 -1
  352. package/web/.next/standalone/packages/web/.next/static/chunks/aabc80195233b4da.js +0 -1
  353. package/web/.next/standalone/packages/web/.next/static/chunks/b6069d0eb07a978f.js +0 -1
  354. package/web/.next/standalone/packages/web/.next/static/chunks/c2caa064748bb0b5.js +0 -1
  355. package/web/.next/standalone/packages/web/.next/static/chunks/c5f8e486166298c2.js +0 -1
  356. package/web/.next/standalone/packages/web/.next/static/chunks/d6a81d2f8b98b4be.js +0 -1
  357. package/web/.next/standalone/packages/web/.next/static/chunks/dfa8ef24e636ca14.js +0 -1
  358. package/web/.next/standalone/packages/web/.next/static/chunks/e9d0e95bbaa0f4fb.js +0 -1
  359. package/web/.next/standalone/packages/web/.next/static/chunks/ebaa0c535c4135f1.js +0 -1
  360. package/web/.next/static/chunks/07f3b9a104ce0ff4.js +0 -1
  361. package/web/.next/static/chunks/1004422d31074d62.js +0 -1
  362. package/web/.next/static/chunks/25afa19789883705.js +0 -6
  363. package/web/.next/static/chunks/2bc11b604b131190.js +0 -1
  364. package/web/.next/static/chunks/30ababddac1b82dc.js +0 -1
  365. package/web/.next/static/chunks/64f0033534ca1ad3.css +0 -3
  366. package/web/.next/static/chunks/902a6ba5837e1e57.js +0 -1
  367. package/web/.next/static/chunks/a28bcda8dd6b68ee.js +0 -1
  368. package/web/.next/static/chunks/aabc80195233b4da.js +0 -1
  369. package/web/.next/static/chunks/b6069d0eb07a978f.js +0 -1
  370. package/web/.next/static/chunks/c2caa064748bb0b5.js +0 -1
  371. package/web/.next/static/chunks/c5f8e486166298c2.js +0 -1
  372. package/web/.next/static/chunks/d6a81d2f8b98b4be.js +0 -1
  373. package/web/.next/static/chunks/dfa8ef24e636ca14.js +0 -1
  374. package/web/.next/static/chunks/e9d0e95bbaa0f4fb.js +0 -1
  375. package/web/.next/static/chunks/ebaa0c535c4135f1.js +0 -1
  376. /package/web/.next/standalone/packages/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_buildManifest.js +0 -0
  377. /package/web/.next/standalone/packages/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_clientMiddlewareManifest.json +0 -0
  378. /package/web/.next/standalone/packages/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_ssgManifest.js +0 -0
  379. /package/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_buildManifest.js +0 -0
  380. /package/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_clientMiddlewareManifest.json +0 -0
  381. /package/web/.next/static/{EKHFeqSnbpFbCnV8AGVjm → dzgjDKuem6HLwWyK0KMG4}/_ssgManifest.js +0 -0
@@ -0,0 +1,6 @@
1
+ export interface TerminalInsertRequest {
2
+ nonce: number;
3
+ inlineText: string;
4
+ draftText: string;
5
+ successMessage: string;
6
+ }
@@ -0,0 +1,70 @@
1
+ import type { ITerminalOptions } from "@xterm/xterm";
2
+
3
+ export const SUPERSET_TERMINAL_FONT_FAMILY = [
4
+ "MesloLGM Nerd Font",
5
+ "MesloLGM NF",
6
+ "MesloLGS NF",
7
+ "MesloLGS Nerd Font",
8
+ "Hack Nerd Font",
9
+ "FiraCode Nerd Font",
10
+ "JetBrainsMono Nerd Font",
11
+ "CaskaydiaCove Nerd Font",
12
+ "Menlo",
13
+ "Monaco",
14
+ '"Courier New"',
15
+ "SF Mono",
16
+ "SF Pro",
17
+ "monospace",
18
+ ].join(", ");
19
+
20
+ const SUPERSET_TERMINAL_THEME_DARK: NonNullable<ITerminalOptions["theme"]> = {
21
+ background: "#000000",
22
+ foreground: "#ffffff",
23
+ cursor: "#ffffff",
24
+ cursorAccent: "#000000",
25
+ selectionBackground: "#4d4d4d",
26
+ black: "#2e3436",
27
+ red: "#cc0000",
28
+ green: "#4e9a06",
29
+ yellow: "#c4a000",
30
+ blue: "#3465a4",
31
+ magenta: "#75507b",
32
+ cyan: "#06989a",
33
+ white: "#d3d7cf",
34
+ brightBlack: "#555753",
35
+ brightRed: "#ef2929",
36
+ brightGreen: "#8ae234",
37
+ brightYellow: "#fce94f",
38
+ brightBlue: "#729fcf",
39
+ brightMagenta: "#ad7fa8",
40
+ brightCyan: "#34e2e2",
41
+ brightWhite: "#eeeeec",
42
+ };
43
+
44
+ const SUPERSET_TERMINAL_THEME_LIGHT: NonNullable<ITerminalOptions["theme"]> = {
45
+ background: "#ffffff",
46
+ foreground: "#000000",
47
+ cursor: "#000000",
48
+ cursorAccent: "#ffffff",
49
+ selectionBackground: "#add6ff",
50
+ black: "#2e3436",
51
+ red: "#cc0000",
52
+ green: "#4e9a06",
53
+ yellow: "#c4a000",
54
+ blue: "#3465a4",
55
+ magenta: "#75507b",
56
+ cyan: "#06989a",
57
+ white: "#d3d7cf",
58
+ brightBlack: "#555753",
59
+ brightRed: "#ef2929",
60
+ brightGreen: "#8ae234",
61
+ brightYellow: "#fce94f",
62
+ brightBlue: "#729fcf",
63
+ brightMagenta: "#ad7fa8",
64
+ brightCyan: "#34e2e2",
65
+ brightWhite: "#eeeeec",
66
+ };
67
+
68
+ export function getSupersetLikeTerminalTheme(isLight: boolean): NonNullable<ITerminalOptions["theme"]> {
69
+ return isLight ? SUPERSET_TERMINAL_THEME_LIGHT : SUPERSET_TERMINAL_THEME_DARK;
70
+ }
@@ -13,7 +13,7 @@ export const TabsList = forwardRef<
13
13
  <TabsPrimitive.List
14
14
  ref={ref}
15
15
  className={cn(
16
- "inline-flex max-w-full items-center gap-0.5 overflow-x-auto rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-0.5 whitespace-nowrap [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
16
+ "inline-flex max-w-full items-center gap-0.5 overflow-x-auto rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-0.5 whitespace-nowrap touch-pan-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
17
17
  className,
18
18
  )}
19
19
  {...props}
@@ -28,7 +28,7 @@ export const TabsTrigger = forwardRef<
28
28
  <TabsPrimitive.Trigger
29
29
  ref={ref}
30
30
  className={cn(
31
- "inline-flex shrink-0 items-center gap-1.5 rounded-[3px] px-2.5 py-1.5 text-[12px] text-[var(--vk-text-muted)]",
31
+ "inline-flex min-h-[34px] shrink-0 items-center gap-1.5 rounded-[3px] px-2.5 py-1.5 text-[12px] text-[var(--vk-text-muted)]",
32
32
  "data-[state=active]:bg-[var(--vk-bg-active)] data-[state=active]:text-[var(--vk-text-normal)]",
33
33
  "hover:text-[var(--vk-text-normal)]",
34
34
  "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]",
@@ -456,6 +456,12 @@ const MARKDOWN_EDITOR_OPTIONS = [
456
456
  { id: "custom", label: "Custom" },
457
457
  ];
458
458
 
459
+ const IDE_SUBMENU_OPTIONS = IDE_OPTIONS.filter((option) => option.id !== "custom");
460
+
461
+ function resolveIdeOption(editorId: string): { id: string; label: string } {
462
+ return IDE_OPTIONS.find((option) => option.id === editorId) ?? { id: editorId, label: editorId };
463
+ }
464
+
459
465
  const NOTIFICATION_SOUND_OPTIONS = [
460
466
  { id: "abstract-sound-1", label: "Abstract Sound 1" },
461
467
  { id: "abstract-sound-2", label: "Abstract Sound 2" },
@@ -1490,7 +1496,6 @@ export default function DashboardClient() {
1490
1496
 
1491
1497
  const handleCreateSession = useCallback(async (options?: CreateSessionOptions) => {
1492
1498
  const trimmedPrompt = prompt.trim();
1493
- if (!trimmedPrompt) return;
1494
1499
  const resolvedModel = resolveModelSelectionValue(launchModelSelection);
1495
1500
  const resolvedReasoningEffort = resolveReasoningSelectionValue(launchModelSelection);
1496
1501
 
@@ -1552,8 +1557,7 @@ export default function DashboardClient() {
1552
1557
  {
1553
1558
  projectId,
1554
1559
  sessionId: data.session.id,
1555
- workspaceView: "chat",
1556
- tab: "chat",
1560
+ tab: null,
1557
1561
  },
1558
1562
  "push",
1559
1563
  );
@@ -1673,7 +1677,7 @@ export default function DashboardClient() {
1673
1677
  {
1674
1678
  projectId: matchedSession?.projectId ?? selectedProjectId ?? null,
1675
1679
  sessionId: id,
1676
- tab: "chat",
1680
+ tab: null,
1677
1681
  },
1678
1682
  "push",
1679
1683
  );
@@ -1815,7 +1819,7 @@ export default function DashboardClient() {
1815
1819
  : "text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"
1816
1820
  }`}
1817
1821
  >
1818
- Chat launchpad
1822
+ CLI launchpad
1819
1823
  </button>
1820
1824
  <button
1821
1825
  type="button"
@@ -1841,7 +1845,7 @@ export default function DashboardClient() {
1841
1845
 
1842
1846
  const workspaceContent = useMemo(() => {
1843
1847
  if (selectedSessionId) {
1844
- return <SessionDetail sessionId={selectedSessionId} />;
1848
+ return <SessionDetail key={selectedSessionId} sessionId={selectedSessionId} />;
1845
1849
  }
1846
1850
 
1847
1851
  if (selectedProjectId !== null) {
@@ -1957,7 +1961,7 @@ function NewWorkspaceDialog({
1957
1961
  const [path, setPath] = useState("");
1958
1962
  const [defaultBranch, setDefaultBranch] = useState("main");
1959
1963
  const [agent, setAgent] = useState(defaultAgent);
1960
- const [useWorktree, setUseWorktree] = useState(true);
1964
+ const [useWorktree, setUseWorktree] = useState(false);
1961
1965
  const [initializeGit, setInitializeGit] = useState(true);
1962
1966
  const [githubRepos, setGithubRepos] = useState<GitHubRepo[]>([]);
1963
1967
  const [githubReposLoading, setGithubReposLoading] = useState(false);
@@ -1980,7 +1984,7 @@ function NewWorkspaceDialog({
1980
1984
  setPath("");
1981
1985
  setDefaultBranch("main");
1982
1986
  setInitializeGit(true);
1983
- setUseWorktree(true);
1987
+ setUseWorktree(false);
1984
1988
  setAgent(defaultAgent);
1985
1989
  setGithubRepos([]);
1986
1990
  setGithubReposLoaded(false);
@@ -3032,7 +3036,7 @@ const CreateWorkspacePanel = memo(function CreateWorkspacePanel({
3032
3036
  const [issueId, setIssueId] = useState("");
3033
3037
  const [availableTasks, setAvailableTasks] = useState<LinkedBoardTask[]>([]);
3034
3038
  const [taskLoading, setTaskLoading] = useState(false);
3035
- const [useWorktree, setUseWorktree] = useState(true);
3039
+ const [useWorktree, setUseWorktree] = useState(false);
3036
3040
  const [permissionMode, setPermissionMode] = useState<CreatePermissionMode>("default");
3037
3041
 
3038
3042
  useEffect(() => {
@@ -3348,7 +3352,7 @@ const CreateWorkspacePanel = memo(function CreateWorkspacePanel({
3348
3352
  <textarea
3349
3353
  value={prompt}
3350
3354
  onChange={(e) => setPrompt(e.target.value)}
3351
- placeholder="Describe the task..."
3355
+ placeholder="Optional launch prompt. Leave empty to open the native CLI."
3352
3356
  rows={1}
3353
3357
  className="min-h-[24px] w-full resize-none bg-transparent pr-8 text-[16px] leading-[24px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"
3354
3358
  />
@@ -3567,10 +3571,10 @@ const CreateWorkspacePanel = memo(function CreateWorkspacePanel({
3567
3571
  useWorktree,
3568
3572
  permissionMode,
3569
3573
  })}
3570
- disabled={creating || prompt.trim().length === 0 || !effectiveProjectId}
3574
+ disabled={creating || !effectiveProjectId}
3571
3575
  className="inline-flex min-h-[29px] items-center justify-center rounded-[3px] bg-[var(--vk-bg-hover)] px-[8px] py-[6.5px] text-[16px] leading-[16px] text-[var(--vk-text-strong)] transition-colors hover:bg-[var(--vk-bg-active)] disabled:cursor-not-allowed disabled:opacity-50"
3572
3576
  >
3573
- {creating ? <Loader2 className="h-4 w-4 animate-spin" /> : "Create"}
3577
+ {creating ? <Loader2 className="h-4 w-4 animate-spin" /> : "Launch"}
3574
3578
  </button>
3575
3579
  </div>
3576
3580
  </div>
@@ -4118,6 +4122,10 @@ function hydrateRepositoryDraft(value: RepositorySettingsPayload): RepositorySet
4118
4122
  const managedRemoteProvider = remoteAccessSettings.provider ?? remoteAccessSettings.recommendedProvider;
4119
4123
  const usingPrivateNetworkFlow = managedRemoteProvider === "tailscale";
4120
4124
  const showManagedTunnelControls = managedRemoteProvider !== null || remoteAccessSettings.managed;
4125
+ const selectedIdeOption = resolveIdeOption(ide);
4126
+ const settingsMenuClass = "z-50 min-w-[240px] rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)]";
4127
+ const settingsSubMenuClass = `${settingsMenuClass} min-w-[280px]`;
4128
+ const settingsMenuItemClass = "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)]";
4121
4129
  const remoteAccessEnableLabel = !remoteAccessSettings.installed && remoteAccessSettings.canAutoInstall
4122
4130
  ? "Install + Enable"
4123
4131
  : "Enable Private Link";
@@ -4492,29 +4500,94 @@ function hydrateRepositoryDraft(value: RepositorySettingsPayload): RepositorySet
4492
4500
 
4493
4501
  {(isPreferencesTab || isGeneralTab) && (
4494
4502
  <>
4495
- <section className="space-y-2">
4496
- <h4 className="text-[15px] font-medium text-[var(--vk-text-strong)]">Choose Your Code Editor</h4>
4497
- <p className="text-[12px] text-[var(--vk-text-muted)]">This editor will be used when opening attempts and files.</p>
4498
- <div className="grid gap-2 sm:grid-cols-2">
4499
- {IDE_OPTIONS.map((option) => {
4500
- const selected = ide === option.id;
4501
- return (
4503
+ <section className="space-y-3">
4504
+ <div className="space-y-1">
4505
+ <h4 className="text-[15px] font-medium text-[var(--vk-text-strong)]">Choose Your Code Editor</h4>
4506
+ <p className="text-[12px] text-[var(--vk-text-muted)]">
4507
+ This editor will be used when opening attempts and files.
4508
+ </p>
4509
+ </div>
4510
+ <div className="flex flex-wrap items-center gap-2">
4511
+ <DropdownMenu.Root>
4512
+ <DropdownMenu.Trigger asChild>
4502
4513
  <button
4503
- key={option.id}
4504
4514
  type="button"
4505
- onClick={() => setIde(option.id)}
4506
- className={`flex items-center gap-2 rounded-[4px] border px-3 py-2 text-left ${
4507
- selected
4508
- ? "border-[var(--vk-orange)] bg-[var(--vk-bg-hover)]"
4509
- : "border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)]"
4510
- }`}
4515
+ className="inline-flex h-11 items-center gap-2 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[14px] text-[var(--vk-text-normal)] outline-none transition hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)]"
4516
+ aria-label="Choose code editor"
4511
4517
  >
4512
- <CodeEditorIcon editorId={option.id} label={option.label} />
4513
- <span className="flex-1 text-[13px] text-[var(--vk-text-normal)]">{option.label}</span>
4514
- {selected && <Check className="h-3.5 w-3.5 text-[var(--vk-orange)]" />}
4518
+ <span className="inline-flex h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-muted)]">
4519
+ <FolderOpen className="h-3.5 w-3.5" />
4520
+ </span>
4521
+ <span className="font-medium text-[var(--vk-text-strong)]">Open</span>
4522
+ <ChevronDown className="h-3.5 w-3.5 text-[var(--vk-text-muted)]" />
4515
4523
  </button>
4516
- );
4517
- })}
4524
+ </DropdownMenu.Trigger>
4525
+ <DropdownMenu.Portal>
4526
+ <DropdownMenu.Content align="start" sideOffset={6} className={settingsMenuClass}>
4527
+ <p className="px-3 pb-1 text-[12px] font-medium uppercase tracking-[0.08em] text-[var(--vk-text-muted)]">
4528
+ Open With
4529
+ </p>
4530
+ <DropdownMenu.Sub>
4531
+ <DropdownMenu.SubTrigger className={`${settingsMenuItemClass} min-w-[220px] justify-between`}>
4532
+ <div className="flex min-w-0 items-center gap-2">
4533
+ <CodeEditorIcon editorId={selectedIdeOption.id} label={selectedIdeOption.label} />
4534
+ <span>IDE</span>
4535
+ </div>
4536
+ <div className="ml-4 flex min-w-0 items-center gap-2">
4537
+ <span className="truncate text-[12px] text-[var(--vk-text-muted)]">
4538
+ {selectedIdeOption.label}
4539
+ </span>
4540
+ <ChevronsRight className="h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]" />
4541
+ </div>
4542
+ </DropdownMenu.SubTrigger>
4543
+ <DropdownMenu.Portal>
4544
+ <DropdownMenu.SubContent
4545
+ sideOffset={8}
4546
+ alignOffset={-4}
4547
+ className={settingsSubMenuClass}
4548
+ >
4549
+ <p className="px-3 pb-1 text-[12px] font-medium uppercase tracking-[0.08em] text-[var(--vk-text-muted)]">
4550
+ Editors
4551
+ </p>
4552
+ {IDE_SUBMENU_OPTIONS.map((option) => (
4553
+ <DropdownMenu.Item
4554
+ key={option.id}
4555
+ onSelect={() => setIde(option.id)}
4556
+ className={settingsMenuItemClass}
4557
+ >
4558
+ <CodeEditorIcon editorId={option.id} label={option.label} />
4559
+ <span className="flex-1">{option.label}</span>
4560
+ <span className="ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]">
4561
+ {ide === option.id ? <Check className="h-4 w-4 text-[var(--vk-orange)]" /> : null}
4562
+ </span>
4563
+ </DropdownMenu.Item>
4564
+ ))}
4565
+ </DropdownMenu.SubContent>
4566
+ </DropdownMenu.Portal>
4567
+ </DropdownMenu.Sub>
4568
+ <DropdownMenu.Separator className="my-1 h-px bg-[var(--vk-border)]" />
4569
+ <DropdownMenu.Item onSelect={() => setIde("custom")} className={settingsMenuItemClass}>
4570
+ <CodeEditorIcon editorId="custom" label="Custom" />
4571
+ <span className="flex-1">Custom</span>
4572
+ <span className="ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]">
4573
+ {ide === "custom" ? <Check className="h-4 w-4 text-[var(--vk-orange)]" /> : null}
4574
+ </span>
4575
+ </DropdownMenu.Item>
4576
+ </DropdownMenu.Content>
4577
+ </DropdownMenu.Portal>
4578
+ </DropdownMenu.Root>
4579
+
4580
+ <div className="inline-flex min-h-11 max-w-full items-center gap-2 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2">
4581
+ <span className="inline-flex h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)]">
4582
+ <CodeEditorIcon editorId={selectedIdeOption.id} label={selectedIdeOption.label} />
4583
+ </span>
4584
+ <div className="min-w-0">
4585
+ <div className="truncate text-[14px] font-medium text-[var(--vk-text-strong)]">
4586
+ {selectedIdeOption.label}
4587
+ </div>
4588
+ <div className="truncate text-[11px] text-[var(--vk-text-muted)]">Current editor</div>
4589
+ </div>
4590
+ </div>
4518
4591
  </div>
4519
4592
  </section>
4520
4593
 
@@ -109,7 +109,7 @@ export default function SessionPageClient() {
109
109
  sessions={dashboardSessions}
110
110
  selectedSessionId={params.id}
111
111
  onSelectSession={(sessionId) => {
112
- router.push(`/sessions/${encodeURIComponent(sessionId)}?tab=chat`);
112
+ router.push(`/sessions/${encodeURIComponent(sessionId)}`);
113
113
  closeSidebarOnMobile();
114
114
  }}
115
115
  onArchiveSession={handleArchiveSession}
@@ -123,7 +123,7 @@ export default function SessionPageClient() {
123
123
  title={topBarTitle}
124
124
  />
125
125
  <div className="min-h-0 flex-1 overflow-hidden">
126
- <SessionDetail sessionId={params.id} />
126
+ <SessionDetail key={params.id} sessionId={params.id} />
127
127
  </div>
128
128
  </AppShell>
129
129
  );
@@ -149,14 +149,23 @@ function normalizeNavigationInput(value: string): string {
149
149
  return trimmed;
150
150
  }
151
151
 
152
+ function isLocalHost(hostname: string): boolean {
153
+ const normalized = normalizeNavigationHostname(hostname);
154
+ return LOCAL_NAVIGATION_HOSTS.includes(normalized as (typeof LOCAL_NAVIGATION_HOSTS)[number]);
155
+ }
156
+
152
157
  function buildNavigationCandidates(value: string): string[] {
153
158
  const normalizedInput = normalizeNavigationInput(value);
154
159
  try {
155
160
  const parsed = new URL(normalizedInput);
156
161
  const normalized = parsed.toString();
157
162
  const hostname = normalizeNavigationHostname(parsed.hostname);
158
- if (!LOCAL_NAVIGATION_HOSTS.includes(hostname as (typeof LOCAL_NAVIGATION_HOSTS)[number])) {
159
- return [normalized];
163
+
164
+ // SECURITY: Only allow navigation to local addresses to prevent SSRF
165
+ if (!isLocalHost(hostname)) {
166
+ throw new Error(
167
+ `Navigation blocked: only localhost URLs are allowed. Got hostname "${parsed.hostname}".`,
168
+ );
160
169
  }
161
170
 
162
171
  const variants = new Set<string>([normalized]);
@@ -166,7 +175,10 @@ function buildNavigationCandidates(value: string): string[] {
166
175
  variants.add(candidate.toString());
167
176
  }
168
177
  return [...variants];
169
- } catch {
178
+ } catch (error) {
179
+ if (error instanceof Error && error.message.startsWith("Navigation blocked:")) {
180
+ throw error;
181
+ }
170
182
  return [normalizedInput];
171
183
  }
172
184
  }
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,5718,e=>{"use strict";var c=e.i(95187);let r=(0,c.createServerReference)("00dc4301f6d1b1ebcc35869a6a29abeca8d3523efd",c.callServer,void 0,c.findSourceMapURL,"createOrReadKeylessAction");e.s(["createOrReadKeylessAction",()=>r])},23151,e=>{"use strict";e.s([],29135),e.i(29135);var c=e.i(95187);let r=(0,c.createServerReference)("401bebacb5850f461fe35f2ead1bde1565b53ab407",c.callServer,void 0,c.findSourceMapURL,"syncKeylessConfigAction");var t=e.i(5718);let a=(0,c.createServerReference)("00fd69c6fabe4de54ce914e2c3b8858c04528026af",c.callServer,void 0,c.findSourceMapURL,"deleteKeylessAction");var s=e.i(54539);e.s(["createOrReadKeylessAction",()=>t.createOrReadKeylessAction,"deleteKeylessAction",()=>a,"detectKeylessEnvDriftAction",()=>s.detectKeylessEnvDriftAction,"syncKeylessConfigAction",()=>r],23151)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,347,e=>{e.v({name:"next",version:"16.1.6",description:"The React Framework",main:"./dist/server/next.js",license:"MIT",repository:"vercel/next.js",bugs:"https://github.com/vercel/next.js/issues",homepage:"https://nextjs.org",types:"index.d.ts",files:["dist","app.js","app.d.ts","babel.js","babel.d.ts","client.js","client.d.ts","compat","cache.js","cache.d.ts","constants.js","constants.d.ts","document.js","document.d.ts","dynamic.js","dynamic.d.ts","error.js","error.d.ts","future","legacy","script.js","script.d.ts","server.js","server.d.ts","head.js","head.d.ts","image.js","image.d.ts","link.js","link.d.ts","form.js","form.d.ts","router.js","router.d.ts","jest.js","jest.d.ts","og.js","og.d.ts","root-params.js","root-params.d.ts","types.d.ts","types.js","index.d.ts","types/global.d.ts","types/compiled.d.ts","image-types/global.d.ts","navigation-types/navigation.d.ts","navigation-types/compat/navigation.d.ts","font","navigation.js","navigation.d.ts","headers.js","headers.d.ts","navigation-types","web-vitals.js","web-vitals.d.ts","experimental/testing/server.js","experimental/testing/server.d.ts","experimental/testmode/playwright.js","experimental/testmode/playwright.d.ts","experimental/testmode/playwright/msw.js","experimental/testmode/playwright/msw.d.ts","experimental/testmode/proxy.js","experimental/testmode/proxy.d.ts"],bin:{next:"./dist/bin/next"},scripts:{dev:"cross-env NEXT_SERVER_NO_MANGLE=1 taskr",build:"taskr release",prepublishOnly:"cd ../../ && turbo run build",types:"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --stripInternal --declarationDir dist",typescript:"tsec --noEmit","ncc-compiled":"taskr ncc",storybook:"BROWSER=none storybook dev -p 6006","build-storybook":"storybook build","test-storybook":"test-storybook"},taskr:{requires:["./taskfile-webpack.js","./taskfile-ncc.js","./taskfile-swc.js","./taskfile-watch.js"]},dependencies:{"@next/env":"16.1.6","@swc/helpers":"0.5.15","baseline-browser-mapping":"^2.8.3","caniuse-lite":"^1.0.30001579",postcss:"8.4.31","styled-jsx":"5.1.6"},peerDependencies:{"@opentelemetry/api":"^1.1.0","@playwright/test":"^1.51.1","babel-plugin-react-compiler":"*",react:"^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0","react-dom":"^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",sass:"^1.3.0"},peerDependenciesMeta:{"babel-plugin-react-compiler":{optional:!0},sass:{optional:!0},"@opentelemetry/api":{optional:!0},"@playwright/test":{optional:!0}},optionalDependencies:{sharp:"^0.34.4","@next/swc-darwin-arm64":"16.1.6","@next/swc-darwin-x64":"16.1.6","@next/swc-linux-arm64-gnu":"16.1.6","@next/swc-linux-arm64-musl":"16.1.6","@next/swc-linux-x64-gnu":"16.1.6","@next/swc-linux-x64-musl":"16.1.6","@next/swc-win32-arm64-msvc":"16.1.6","@next/swc-win32-x64-msvc":"16.1.6"},devDependencies:{"@babel/code-frame":"7.26.2","@babel/core":"7.26.10","@babel/eslint-parser":"7.24.6","@babel/generator":"7.27.0","@babel/plugin-syntax-bigint":"7.8.3","@babel/plugin-syntax-dynamic-import":"7.8.3","@babel/plugin-syntax-import-attributes":"7.26.0","@babel/plugin-syntax-jsx":"7.25.9","@babel/plugin-syntax-typescript":"7.25.4","@babel/plugin-transform-class-properties":"7.25.9","@babel/plugin-transform-export-namespace-from":"7.25.9","@babel/plugin-transform-modules-commonjs":"7.26.3","@babel/plugin-transform-numeric-separator":"7.25.9","@babel/plugin-transform-object-rest-spread":"7.25.9","@babel/plugin-transform-runtime":"7.26.10","@babel/preset-env":"7.26.9","@babel/preset-react":"7.26.3","@babel/preset-typescript":"7.27.0","@babel/runtime":"7.27.0","@babel/traverse":"7.27.0","@babel/types":"7.27.0","@base-ui-components/react":"1.0.0-beta.2","@capsizecss/metrics":"3.4.0","@edge-runtime/cookies":"6.0.0","@edge-runtime/ponyfill":"4.0.0","@edge-runtime/primitives":"6.0.0","@hapi/accept":"5.0.2","@jest/transform":"29.5.0","@jest/types":"29.5.0","@modelcontextprotocol/sdk":"1.18.1","@mswjs/interceptors":"0.23.0","@napi-rs/triples":"1.2.0","@next/font":"16.1.6","@next/polyfill-module":"16.1.6","@next/polyfill-nomodule":"16.1.6","@next/react-refresh-utils":"16.1.6","@next/swc":"16.1.6","@opentelemetry/api":"1.6.0","@playwright/test":"1.51.1","@rspack/core":"1.6.7","@storybook/addon-a11y":"8.6.0","@storybook/addon-essentials":"8.6.0","@storybook/addon-interactions":"8.6.0","@storybook/addon-webpack5-compiler-swc":"3.0.0","@storybook/blocks":"8.6.0","@storybook/react":"8.6.0","@storybook/react-webpack5":"8.6.0","@storybook/test":"8.6.0","@storybook/test-runner":"0.21.0","@swc/core":"1.11.24","@swc/types":"0.1.7","@taskr/clear":"1.1.0","@taskr/esnext":"1.1.0","@types/babel__code-frame":"7.0.6","@types/babel__core":"7.20.5","@types/babel__generator":"7.27.0","@types/babel__template":"7.4.4","@types/babel__traverse":"7.20.7","@types/bytes":"3.1.1","@types/ci-info":"2.0.0","@types/compression":"0.0.36","@types/content-disposition":"0.5.4","@types/content-type":"1.1.3","@types/cookie":"0.3.3","@types/cross-spawn":"6.0.0","@types/debug":"4.1.5","@types/express-serve-static-core":"4.17.33","@types/fresh":"0.5.0","@types/glob":"7.1.1","@types/jsonwebtoken":"9.0.0","@types/lodash":"4.14.198","@types/lodash.curry":"4.1.6","@types/path-to-regexp":"1.7.0","@types/picomatch":"2.3.3","@types/platform":"1.3.4","@types/react":"19.0.8","@types/react-dom":"19.0.3","@types/react-is":"18.2.4","@types/semver":"7.3.1","@types/send":"0.14.4","@types/serve-handler":"6.1.4","@types/shell-quote":"1.7.1","@types/tar":"6.1.5","@types/text-table":"0.2.1","@types/ua-parser-js":"0.7.36","@types/webpack-sources1":"npm:@types/webpack-sources@0.1.5","@types/ws":"8.2.0","@vercel/ncc":"0.34.0","@vercel/nft":"0.27.1","@vercel/routing-utils":"5.2.0","@vercel/turbopack-ecmascript-runtime":"*",acorn:"8.14.0",anser:"1.4.9",arg:"4.1.0",assert:"2.0.0","async-retry":"1.2.3","async-sema":"3.0.0","axe-playwright":"2.0.3","babel-loader":"10.0.0","babel-plugin-react-compiler":"0.0.0-experimental-3fde738-20250918","babel-plugin-transform-define":"2.0.0","babel-plugin-transform-react-remove-prop-types":"0.4.24","browserify-zlib":"0.2.0",browserslist:"4.28.0",buffer:"5.6.0",busboy:"1.6.0",bytes:"3.1.1","ci-info":"watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540","cli-select":"1.1.2","client-only":"0.0.1",commander:"12.1.0","comment-json":"3.0.3",compression:"1.7.4",conf:"5.0.0","constants-browserify":"1.0.0","content-disposition":"0.5.3","content-type":"1.0.4",cookie:"0.4.1","cross-env":"6.0.3","cross-spawn":"7.0.3","crypto-browserify":"3.12.0","css-loader":"7.1.2","css.escape":"1.5.1","cssnano-preset-default":"7.0.6","data-uri-to-buffer":"3.0.1",debug:"4.1.1",devalue:"2.0.1","domain-browser":"4.19.0","edge-runtime":"4.0.1",events:"3.3.0","find-up":"4.1.0",fresh:"0.5.2",glob:"7.1.7","gzip-size":"5.1.1","http-proxy":"1.18.1","http-proxy-agent":"5.0.0","https-browserify":"1.0.0","https-proxy-agent":"5.0.1","icss-utils":"5.1.0","ignore-loader":"0.1.2","image-size":"1.2.1","ipaddr.js":"2.2.0","is-docker":"2.0.0","is-wsl":"2.2.0","jest-worker":"27.5.1",json5:"2.2.3",jsonwebtoken:"9.0.0","loader-runner":"4.3.0","loader-utils2":"npm:loader-utils@2.0.4","loader-utils3":"npm:loader-utils@3.1.3","lodash.curry":"4.1.1","mini-css-extract-plugin":"2.4.4",msw:"2.3.0",nanoid:"3.1.32","native-url":"0.3.4","neo-async":"2.6.1","node-html-parser":"5.3.3",ora:"4.0.4","os-browserify":"0.3.0","p-limit":"3.1.0","p-queue":"6.6.2","path-browserify":"1.0.1","path-to-regexp":"6.3.0",picomatch:"4.0.1","postcss-flexbugs-fixes":"5.0.2","postcss-modules-extract-imports":"3.0.0","postcss-modules-local-by-default":"4.2.0","postcss-modules-scope":"3.0.0","postcss-modules-values":"4.0.0","postcss-preset-env":"7.4.3","postcss-safe-parser":"6.0.0","postcss-scss":"4.0.3","postcss-value-parser":"4.2.0",process:"0.11.10",punycode:"2.1.1","querystring-es3":"0.2.1","raw-body":"2.4.1","react-refresh":"0.12.0",recast:"0.23.11","regenerator-runtime":"0.13.4","safe-stable-stringify":"2.5.0","sass-loader":"16.0.5","schema-utils2":"npm:schema-utils@2.7.1","schema-utils3":"npm:schema-utils@3.0.0",semver:"7.3.2",send:"0.18.0","serve-handler":"6.1.6","server-only":"0.0.1",setimmediate:"1.0.5","shell-quote":"1.7.3","source-map":"0.6.1","source-map-loader":"5.0.0","source-map08":"npm:source-map@0.8.0-beta.0","stacktrace-parser":"0.1.10",storybook:"8.6.0","stream-browserify":"3.0.0","stream-http":"3.1.1","strict-event-emitter":"0.5.0","string-hash":"1.1.3",string_decoder:"1.3.0","strip-ansi":"6.0.0","style-loader":"4.0.0",superstruct:"1.0.3",tar:"6.1.15",taskr:"1.1.0",terser:"5.27.0","terser-webpack-plugin":"5.3.9","text-table":"0.2.0","timers-browserify":"2.0.12","tty-browserify":"0.0.1",typescript:"5.9.2","ua-parser-js":"1.0.35",unistore:"3.4.1",util:"0.12.4","vm-browserify":"1.1.2",watchpack:"2.4.0","web-vitals":"4.2.1",webpack:"5.98.0","webpack-sources1":"npm:webpack-sources@1.4.3","webpack-sources3":"npm:webpack-sources@3.2.3",ws:"8.2.3",zod:"3.25.76","zod-validation-error":"3.4.0"},keywords:["react","framework","nextjs","web","server","node","front-end","backend","cli","vercel"],engines:{node:">=20.9.0"}})},18566,(e,t,r)=>{t.exports=e.r(76562)},81140,e=>{"use strict";function t(e,r,{checkForDefaultPrevented:s=!0}={}){return function(t){if(e?.(t),!1===s||!t.defaultPrevented)return r?.(t)}}"u">typeof window&&window.document&&window.document.createElement,e.s(["composeEventHandlers",()=>t])},20783,e=>{"use strict";var t=e.i(71645);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function s(...e){return t=>{let s=!1,n=e.map(e=>{let n=r(e,t);return s||"function"!=typeof n||(s=!0),n});if(s)return()=>{for(let t=0;t<n.length;t++){let s=n[t];"function"==typeof s?s():r(e[t],null)}}}}function n(...e){return t.useCallback(s(...e),e)}e.s(["composeRefs",()=>s,"useComposedRefs",()=>n])},30030,e=>{"use strict";var t=e.i(71645),r=e.i(43476);function s(e,n=[]){let o=[],i=()=>{let r=o.map(e=>t.createContext(e));return function(s){let n=s?.[e]||r;return t.useMemo(()=>({[`__scope${e}`]:{...s,[e]:n}}),[s,n])}};return i.scopeName=e,[function(s,n){let i=t.createContext(n),a=o.length;o=[...o,n];let l=s=>{let{scope:n,children:o,...l}=s,c=n?.[e]?.[a]||i,u=t.useMemo(()=>l,Object.values(l));return(0,r.jsx)(c.Provider,{value:u,children:o})};return l.displayName=s+"Provider",[l,function(r,o){let l=o?.[e]?.[a]||i,c=t.useContext(l);if(c)return c;if(void 0!==n)return n;throw Error(`\`${r}\` must be used within \`${s}\``)}]},function(...e){let r=e[0];if(1===e.length)return r;let s=()=>{let s=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=s.reduce((t,{useScope:r,scopeName:s})=>{let n=r(e)[`__scope${s}`];return{...t,...n}},{});return t.useMemo(()=>({[`__scope${r.scopeName}`]:n}),[n])}};return s.scopeName=r.scopeName,s}(i,...n)]}e.s(["createContextScope",()=>s])},48425,30207,e=>{"use strict";var t=e.i(71645),r=e.i(74080),s=e.i(20783),n=e.i(43476),o=Symbol("radix.slottable");function i(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===o}var a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{var o,a;let l,c,u,p=(a=o=`Primitive.${r}`,(l=t.forwardRef((e,r)=>{let{children:n,...o}=e;if(t.isValidElement(n)){var i;let e,a,l=(i=n,(a=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.ref:(a=(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),c=function(e,t){let r={...t};for(let s in t){let n=e[s],o=t[s];/^on[A-Z]/.test(s)?n&&o?r[s]=(...e)=>{let t=o(...e);return n(...e),t}:n&&(r[s]=n):"style"===s?r[s]={...n,...o}:"className"===s&&(r[s]=[n,o].filter(Boolean).join(" "))}return{...e,...r}}(o,n.props);return n.type!==t.Fragment&&(c.ref=r?(0,s.composeRefs)(r,l):l),t.cloneElement(n,c)}return t.Children.count(n)>1?t.Children.only(null):null})).displayName=`${a}.SlotClone`,c=l,(u=t.forwardRef((e,r)=>{let{children:s,...o}=e,a=t.Children.toArray(s),l=a.find(i);if(l){let e=l.props.children,s=a.map(r=>r!==l?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,n.jsx)(c,{...o,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,s):null})}return(0,n.jsx)(c,{...o,ref:r,children:s})})).displayName=`${o}.Slot`,u),d=t.forwardRef((e,t)=>{let{asChild:s,...o}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(s?p:r,{...o,ref:t})});return d.displayName=`Primitive.${r}`,{...e,[r]:d}},{});function l(e,t){e&&r.flushSync(()=>e.dispatchEvent(t))}function c(e){let r=t.useRef(e);return t.useEffect(()=>{r.current=e}),t.useMemo(()=>(...e)=>r.current?.(...e),[])}e.s(["Primitive",()=>a,"dispatchDiscreteCustomEvent",()=>l],48425),e.s(["useCallbackRef",()=>c],30207)},34620,e=>{"use strict";var t=e.i(71645),r=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useLayoutEffect",()=>r])},10772,e=>{"use strict";var t=e.i(71645),r=e.i(34620),s=t[" useId ".trim().toString()]||(()=>void 0),n=0;function o(e){let[o,i]=t.useState(s());return(0,r.useLayoutEffect)(()=>{e||i(e=>e??String(n++))},[e]),e||(o?`radix-${o}`:"")}e.s(["useId",()=>o])},96626,e=>{"use strict";var t=e.i(71645),r=e.i(20783),s=e.i(34620),n=e=>{var n;let i,a,{present:l,children:c}=e,u=function(e){var r,n;let[i,a]=t.useState(),l=t.useRef(null),c=t.useRef(e),u=t.useRef("none"),[p,d]=(r=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>n[e][t]??e,r));return t.useEffect(()=>{let e=o(l.current);u.current="mounted"===p?e:"none"},[p]),(0,s.useLayoutEffect)(()=>{let t=l.current,r=c.current;if(r!==e){let s=u.current,n=o(t);e?d("MOUNT"):"none"===n||t?.display==="none"?d("UNMOUNT"):r&&s!==n?d("ANIMATION_OUT"):d("UNMOUNT"),c.current=e}},[e,d]),(0,s.useLayoutEffect)(()=>{if(i){let e,t=i.ownerDocument.defaultView??window,r=r=>{let s=o(l.current).includes(CSS.escape(r.animationName));if(r.target===i&&s&&(d("ANIMATION_END"),!c.current)){let r=i.style.animationFillMode;i.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===i.style.animationFillMode&&(i.style.animationFillMode=r)})}},s=e=>{e.target===i&&(u.current=o(l.current))};return i.addEventListener("animationstart",s),i.addEventListener("animationcancel",r),i.addEventListener("animationend",r),()=>{t.clearTimeout(e),i.removeEventListener("animationstart",s),i.removeEventListener("animationcancel",r),i.removeEventListener("animationend",r)}}d("ANIMATION_END")},[i,d]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:t.useCallback(e=>{l.current=e?getComputedStyle(e):null,a(e)},[])}}(l),p="function"==typeof c?c({present:u.isPresent}):t.Children.only(c),d=(0,r.useComposedRefs)(u.ref,(n=p,(a=(i=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?n.ref:(a=(i=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?n.props.ref:n.props.ref||n.ref));return"function"==typeof c||u.isPresent?t.cloneElement(p,{ref:d}):null};function o(e){return e?.animationName||"none"}n.displayName="Presence",e.s(["Presence",()=>n])},69340,e=>{"use strict";var t=e.i(71645),r=e.i(34620);t[" useEffectEvent ".trim().toString()],t[" useInsertionEffect ".trim().toString()];var s=t[" useInsertionEffect ".trim().toString()]||r.useLayoutEffect;function n({prop:e,defaultProp:r,onChange:n=()=>{},caller:o}){let[i,a,l]=function({defaultProp:e,onChange:r}){let[n,o]=t.useState(e),i=t.useRef(n),a=t.useRef(r);return s(()=>{a.current=r},[r]),t.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,o,a]}({defaultProp:r,onChange:n}),c=void 0!==e,u=c?e:i;{let r=t.useRef(void 0!==e);t.useEffect(()=>{let e=r.current;if(e!==c){let t=c?"controlled":"uncontrolled";console.warn(`${o} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}r.current=c},[c,o])}return[u,t.useCallback(t=>{if(c){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else a(t)},[c,e,a,l])]}Symbol("RADIX:SYNC_STATE"),e.s(["useControllableState",()=>n],69340)},95187,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={callServer:function(){return o.callServer},createServerReference:function(){return a.createServerReference},findSourceMapURL:function(){return i.findSourceMapURL}};for(var n in s)Object.defineProperty(r,n,{enumerable:!0,get:s[n]});let o=e.r(32120),i=e.r(92245),a=e.r(35326)},54539,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("00d3b916ed6595b15f853ff6a0817d196b9ed9a06f",t.callServer,void 0,t.findSourceMapURL,"detectKeylessEnvDriftAction");e.s(["detectKeylessEnvDriftAction",()=>r])},93375,96248,4816,28069,15331,e=>{"use strict";let t=[".lcl.dev",".lclstage.dev",".lclclerk.com"],r=[".accounts.dev",".accountsstage.dev",".accounts.lclclerk.com"],s=[".lcl.dev",".stg.dev",".lclstage.dev",".stgstage.dev",".dev.lclclerk.com",".stg.lclclerk.com",".accounts.lclclerk.com","accountsstage.dev","accounts.dev"],n=[".lcl.dev","lclstage.dev",".lclclerk.com",".accounts.lclclerk.com"],o=[".accountsstage.dev"];e.s(["CURRENT_DEV_INSTANCE_SUFFIXES",()=>r,"DEV_OR_STAGING_SUFFIXES",()=>s,"LEGACY_DEV_INSTANCE_SUFFIXES",()=>t,"LOCAL_API_URL",()=>"https://api.lclclerk.com","LOCAL_ENV_SUFFIXES",()=>n,"PROD_API_URL",()=>"https://api.clerk.com","STAGING_API_URL",()=>"https://api.clerkstage.dev","STAGING_ENV_SUFFIXES",()=>o],93375);let i=t=>"u">typeof atob&&"function"==typeof atob?atob(t):e.g.Buffer?new e.g.Buffer(t,"base64").toString():t;e.s(["isomorphicAtob",()=>i],96248);let a=t=>"u">typeof btoa&&"function"==typeof btoa?btoa(t):e.g.Buffer?new e.g.Buffer(t).toString("base64"):t;e.s(["isomorphicBtoa",()=>a],4816);let l="pk_live_",c="pk_test_",u=/^(([a-z]+)-){2}([0-9]{1,2})\.clerk\.accounts([a-z.]*)(dev|com)$/i;function p(e){return`${u.test(e)||e.startsWith("clerk.")&&t.some(t=>e.endsWith(t))?c:l}${a(`${e}$`)}`}function d(e){if(!e.endsWith("$"))return!1;let t=e.slice(0,-1);return!t.includes("$")&&t.includes(".")}function f(e,t={}){let r;if(!(e=e||"")||!m(e)){if(t.fatal&&!e)throw Error("Publishable key is missing. Ensure that your publishable key is correctly configured. Double-check your environment configuration for your keys, or access them here: https://dashboard.clerk.com/last-active?path=api-keys");if(t.fatal&&!m(e))throw Error("Publishable key not valid.");return null}let s=e.startsWith(l)?"production":"development";try{r=i(e.split("_")[2])}catch{if(t.fatal)throw Error("Publishable key not valid: Failed to decode key.");return null}if(!d(r)){if(t.fatal)throw Error("Publishable key not valid: Decoded key has invalid format.");return null}let n=r.slice(0,-1);return t.proxyUrl?n=t.proxyUrl:"development"!==s&&t.domain&&t.isSatellite&&(n=`clerk.${t.domain}`),{instanceType:s,frontendApi:n}}function m(e=""){try{if(!(e.startsWith(l)||e.startsWith(c)))return!1;let t=e.split("_");if(3!==t.length)return!1;let r=t[2];if(!r)return!1;return d(i(r))}catch{return!1}}function y(){let e=new Map;return{isDevOrStagingUrl:t=>{if(!t)return!1;let r="string"==typeof t?t:t.hostname,n=e.get(r);return void 0===n&&(n=s.some(e=>r.endsWith(e)),e.set(r,n)),n}}}function b(e){return e.startsWith("test_")||e.startsWith("pk_test_")}function v(e){return e.startsWith("live_")||e.startsWith("pk_live_")}function g(e){return e.startsWith("test_")||e.startsWith("sk_test_")}function h(e){return e.startsWith("live_")||e.startsWith("sk_live_")}async function _(e,t=globalThis.crypto.subtle){let r=new TextEncoder().encode(e);return a(String.fromCharCode(...new Uint8Array(await t.digest("sha-1",r)))).replace(/\+/gi,"-").replace(/\//gi,"_").substring(0,8)}let E=(e,t)=>`${e}_${t}`;e.s(["buildPublishableKey",()=>p,"createDevOrStagingUrlCache",()=>y,"getCookieSuffix",()=>_,"getSuffixedCookieName",()=>E,"isDevelopmentFromPublishableKey",()=>b,"isDevelopmentFromSecretKey",()=>g,"isProductionFromPublishableKey",()=>v,"isProductionFromSecretKey",()=>h,"isPublishableKey",()=>m,"parsePublishableKey",()=>f],28069);let w=e=>{if(0==e.length)return"";if(1==e.length)return e[0];let t=e.slice(0,-1).join(", ");return t+`, or ${e.slice(-1)}`},k=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;function S(e){return k.test(e||"")}function x(e){let t=e||"";return t.charAt(0).toUpperCase()+t.slice(1)}function j(e){return e?e.replace(/([-_][a-z])/g,e=>e.toUpperCase().replace(/-|_/,"")):""}function N(e){return e?e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`):""}let C=e=>{let t=r=>{if(!r)return r;if(Array.isArray(r))return r.map(e=>"object"==typeof e||Array.isArray(e)?t(e):e);let s={...r};for(let r of Object.keys(s)){let n=e(r.toString());n!==r&&(s[n]=s[r],delete s[r]),"object"==typeof s[n]&&(s[n]=t(s[n]))}return s};return t},R=C(N),L=C(j);function I(e){if("boolean"==typeof e)return e;if(null==e)return!1;if("string"==typeof e){if("true"===e.toLowerCase())return!0;if("false"===e.toLowerCase())return!1}let t=parseInt(e,10);return!isNaN(t)&&t>0}function P(e){return Object.entries(e).reduce((e,[t,r])=>(void 0!==r&&(e[t]=r),e),{})}e.s(["camelToSnake",()=>N,"deepCamelToSnake",()=>R,"deepSnakeToCamel",()=>L,"getNonUndefinedValues",()=>P,"isIPV4Address",()=>S,"isTruthy",()=>I,"snakeToCamel",()=>j,"titleize",()=>x,"toSentence",()=>w],15331)},49542,11432,e=>{"use strict";let t=(...e)=>{};e.s(["noop",()=>t],49542);let r=()=>{let e=t,r=t;return{promise:new Promise((t,s)=>{e=t,r=s}),resolve:e,reject:r}};e.s(["createDeferredPromise",()=>r],11432)},41383,78754,e=>{"use strict";e.i(47167);let t=()=>!1,r=()=>!1,s=()=>{try{return!0}catch{}return!1};function n(e,t,r){return"function"==typeof e?e(t):void 0!==e?e:void 0!==r?r:void 0}e.s(["isDevelopmentEnvironment",()=>t,"isProductionEnvironment",()=>s,"isTestEnvironment",()=>r],41383),e.s(["handleValueOrFn",()=>n],78754)},2193,9580,3949,e=>{"use strict";var t=e.i(41383);function r(e){return Promise.all(Array.from(e).map(e=>e.then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e}))))}e.i(78754),e.i(49542),e.i(11432);let s=e=>{(0,t.isDevelopmentEnvironment)()&&console.error(`Clerk: ${e}`)},n=new Set(["__proto__","constructor","prototype"]),o=(e,t)=>{if(e&&t)for(let r in e)!n.has(r)&&(Object.prototype.hasOwnProperty.call(e,r)&&null!==e[r]&&"object"==typeof e[r]?(void 0===t[r]&&(t[r]=new(Object.getPrototypeOf(e[r])).constructor),o(e[r],t[r])):Object.prototype.hasOwnProperty.call(e,r)&&void 0!==e[r]&&(t[r]=e[r]))},i=(e,t)=>{if(e&&t)for(let r in e)!n.has(r)&&(Object.prototype.hasOwnProperty.call(e,r)&&null!==e[r]&&"object"==typeof e[r]?(void 0===t[r]&&(t[r]=new(Object.getPrototypeOf(e[r])).constructor),i(e[r],t[r])):Object.prototype.hasOwnProperty.call(e,r)&&void 0===t[r]&&(t[r]=e[r]))};function a(e){return e.endsWith(".lclstage.dev")||e.endsWith(".stgstage.dev")||e.endsWith(".clerkstage.dev")||e.endsWith(".accountsstage.dev")}e.s(["allSettled",()=>r,"fastDeepMergeAndKeep",()=>i,"fastDeepMergeAndReplace",()=>o,"logErrorInDevMode",()=>s],9580),e.s(["isStaging",()=>a],3949),e.s([],2193)},78424,22375,82524,89397,e=>{"use strict";let t;e.i(2193);var r,s,n,o,i,a,l,c,u=e.i(41383),p=e.i(47167),d=e.i(93375);e.i(96248),e.i(4816);var f=e.i(28069),m=e.i(15331);e.s([],22375),p.default.env.NEXT_PUBLIC_CLERK_JS_VERSION,p.default.env.NEXT_PUBLIC_CLERK_JS_URL,p.default.env.CLERK_API_VERSION,p.default.env.CLERK_SECRET_KEY,p.default.env.CLERK_MACHINE_SECRET_KEY;let y=p.default.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY||"";p.default.env.CLERK_ENCRYPTION_KEY,p.default.env.CLERK_API_URL||(t=(0,f.parsePublishableKey)(y)?.frontendApi,t?.startsWith("clerk.")&&d.LEGACY_DEV_INSTANCE_SUFFIXES.some(e=>t?.endsWith(e))?d.PROD_API_URL:d.LOCAL_ENV_SUFFIXES.some(e=>t?.endsWith(e))?d.LOCAL_API_URL:d.STAGING_ENV_SUFFIXES.some(e=>t?.endsWith(e))?d.STAGING_API_URL:d.PROD_API_URL),p.default.env.NEXT_PUBLIC_CLERK_DOMAIN,p.default.env.NEXT_PUBLIC_CLERK_PROXY_URL,(0,m.isTruthy)(p.default.env.NEXT_PUBLIC_CLERK_IS_SATELLITE),p.default.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL,p.default.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL;let b={name:"@clerk/nextjs",version:"6.39.0",environment:"production"};(0,m.isTruthy)(p.default.env.NEXT_PUBLIC_CLERK_TELEMETRY_DISABLED),(0,m.isTruthy)(p.default.env.NEXT_PUBLIC_CLERK_TELEMETRY_DEBUG);let v=(0,m.isTruthy)(p.default.env.NEXT_PUBLIC_CLERK_KEYLESS_DISABLED)||!1;e.s(["KEYLESS_DISABLED",()=>v,"SDK_METADATA",()=>b],82524);var g=e.i(347);let h=null!=(i=null==(o=null==(n=g.default)?void 0:n.version)?void 0:o.startsWith("13."))&&i||null!=(c=null==(l=null==(a=g.default)?void 0:a.version)?void 0:l.startsWith("14.0"))&&c;r=0,(null==(s=g.default)?void 0:s.version)&&isNaN(parseInt(g.default.version.split(".")[0],10)),e.s(["isNextWithUnstableServerActions",()=>h],89397);let _=!h&&(0,u.isDevelopmentEnvironment)()&&!v;e.s(["canUseKeyless",()=>_],78424)},96211,e=>{"use strict";var t=e.i(18566),r=e.i(71645),s=e.i(78424);function n(n){var o;let i=(null==(o=(0,t.useSelectedLayoutSegments)()[0])?void 0:o.startsWith("/_not-found"))||!1;return(0,r.useEffect)(()=>{s.canUseKeyless&&!i&&e.A(94773).then(e=>e.syncKeylessConfigAction({...n,returnUrl:window.location.href}))},[i]),n.children}e.s(["KeylessCookieSync",()=>n])},98943,e=>{e.v(t=>Promise.all(["static/chunks/144b356fe7daff8d.js"].map(t=>e.l(t))).then(()=>t(37572)))},94773,e=>{e.v(t=>Promise.all(["static/chunks/07be250784a6a689.js"].map(t=>e.l(t))).then(()=>t(23151)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94102,99647,61555,40160,e=>{"use strict";var t=e.i(71645);function a(){return window.innerWidth>=1024}function r(){let[e,r]=(0,t.useState)(!1),[n,s]=(0,t.useState)(!0),l=(0,t.useCallback)(()=>{a()?s(e=>!e):r(e=>!e)},[]);return{mobileSidebarOpen:e,desktopSidebarOpen:n,toggleSidebar:l,closeSidebarOnMobile:(0,t.useCallback)(()=>{a()||r(!1)},[]),syncSidebarForViewport:(0,t.useCallback)(()=>{a()?s(!0):r(!1)},[])}}e.s(["useResponsiveSidebarState",()=>r],94102);var n=e.i(75254);let s=(0,n.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);e.s(["PanelLeftOpen",()=>s],99647);let l=(0,n.default)("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);e.s(["PanelRightClose",()=>l],61555);let i=(0,n.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",()=>i],40160)},90092,e=>{"use strict";let t=(0,e.i(75254).default)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]]);e.s(["RefreshCcw",()=>t],90092)},36832,80235,45241,e=>{"use strict";var t=e.i(43476),a=e.i(71645),r=e.i(99647),n=e.i(61555),s=e.i(18620),l=e.i(43531),i=e.i(74886),o=e.i(40160),c=e.i(31278),d=e.i(90092),u=e.i(37727),m=e.i(11077),x=e.i(97878);let p="conductor-dismissed-update-version";function h(){let[e,r]=(0,a.useState)(null),[n,h]=(0,a.useState)(null),[v,b]=(0,a.useState)(null),[f,g]=(0,a.useState)(!1),[k,w]=(0,a.useState)(!1),[y,j]=(0,a.useState)(!1),N=(0,a.useCallback)(async(e=!1)=>{try{let t=await fetch(`/api/app-update${e?"?force=1":""}`,{cache:"no-store"}),a=await t.json().catch(()=>null);if(!t.ok)throw Error("string"==typeof a?.error?a.error:`Failed to load update status (${t.status})`);r(a),h(null)}catch(e){h(e instanceof Error?e.message:"Failed to load update status.")}},[]);(0,a.useEffect)(()=>{try{let e=window.localStorage.getItem(p);b(e&&e.length>0?e:null)}catch{}N(!0);let e=(0,x.subscribeToAppUpdateEvents)(e=>{e&&(r(e),h(null))}),t=()=>{"visible"===document.visibilityState&&N(!1)};return window.addEventListener("focus",t),document.addEventListener("visibilitychange",t),()=>{e(),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",t)}},[N]);let C=e?.latestVersion&&v===e.latestVersion,S=!!e?.restarting||y,A=(0,a.useMemo)(()=>!!e?.enabled&&(!!S||"idle"!==e.jobStatus||!C&&e.updateAvailable),[C,S,e]);async function E(){e?.updateCommand&&(await navigator.clipboard.writeText(e.updateCommand),g(!0),window.setTimeout(()=>g(!1),1400))}async function M(){w(!0);try{let e=await fetch("/api/app-update",{method:"POST",headers:{"content-type":"application/json"}}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Update failed (${e.status})`);r(t),h(null)}catch(e){h(e instanceof Error?e.message:"Failed to trigger update.")}finally{w(!1)}}let R=(0,a.useCallback)(async()=>{let e=Date.now()+6e4;for(;Date.now()<e;){try{if((await fetch("/api/health",{cache:"no-store"})).ok)return void window.location.reload()}catch{}await new Promise(e=>window.setTimeout(e,1e3))}j(!1),h("Restart started, but the dashboard did not come back in time. Reload manually.")},[]);async function L(){try{let e=await fetch("/api/app-update",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"restart"})}),t=await e.json().catch(()=>null);if(!e.ok)throw Error("string"==typeof t?.error?t.error:`Restart failed (${e.status})`);r(t),h(null)}catch(e){h(e instanceof Error?e.message:"Failed to restart Conductor.")}}return((0,a.useEffect)(()=>{e?.restarting&&!y&&(j(!0),R())},[y,e?.restarting,R]),A)?(0,t.jsx)("div",{className:"pointer-events-none fixed bottom-3 right-3 z-[70] w-[min(calc(100vw-1.5rem),24rem)] sm:bottom-4 sm:right-4",children:(0,t.jsxs)("section",{className:(0,s.cn)("pointer-events-auto rounded-[14px] border bg-[var(--vk-bg-panel)] p-4 shadow-[0_16px_40px_rgba(0,0,0,0.35)]",e?.jobStatus==="failed"?"border-[color:color-mix(in_srgb,var(--vk-red)_55%,var(--vk-border))]":"border-[var(--vk-border)]"),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[S||e?.jobStatus==="running"?(0,t.jsx)(c.Loader2,{className:"h-4 w-4 animate-spin text-[var(--vk-orange)]"}):e?.jobStatus==="completed"?(0,t.jsx)(l.Check,{className:"h-4 w-4 text-[var(--status-ready)]"}):e?.jobStatus==="failed"?(0,t.jsx)(d.RefreshCcw,{className:"h-4 w-4 text-[var(--vk-red)]"}):(0,t.jsx)(o.Download,{className:"h-4 w-4 text-[var(--vk-orange)]"}),(0,t.jsx)("h2",{className:"truncate text-[13px] font-semibold text-[var(--vk-text-normal)]",children:e?e.restarting?"Restarting Conductor":"running"===e.jobStatus?"Updating Conductor":"completed"===e.jobStatus?"Conductor updated":"failed"===e.jobStatus?"Update failed":e.latestVersion?`Conductor ${e.latestVersion} is available`:"Conductor update available":"Conductor update"})]}),(0,t.jsx)("p",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:e?function(e){if(e.restarting)return"The launcher is restarting the runtime. This tab will reconnect automatically once it is ready.";if("running"===e.jobStatus)return e.jobMessage??"Installing the latest version in the background.";if("completed"===e.jobStatus)return e.jobMessage??"The latest version has been installed. Restart Conductor to use it.";if("failed"===e.jobStatus)return e.jobMessage??"The update command did not finish successfully.";let t=e.currentVersion?`You are running ${e.currentVersion}. `:"";return e.canAutoUpdate?`${t}Install the new release now and restart when it finishes.`:"npx"===e.installMode?`${t}Copy the restart command, run it in a terminal, and the next launch will use the latest release.`:`${t}Copy the update command, run it in a terminal, then restart Conductor.`}(e):"Checking for updates..."})]}),(0,t.jsx)("button",{type:"button",onClick:function(){if(e?.latestVersion){try{window.localStorage.setItem(p,e.latestVersion)}catch{}b(e.latestVersion);return}r(e=>e?{...e,enabled:!1}:e)},className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Dismiss update notice",children:(0,t.jsx)(u.X,{className:"h-4 w-4"})})]}),e?.updateCommand?(0,t.jsx)("div",{className:"mt-3 rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]",children:e.updateCommand}):null,e?(0,t.jsx)("p",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:function(e){switch(e){case"npx":return"This session was launched through npx. Copy the restart command, run it in a terminal, and the next launch will use the latest package.";case"unknown":return"Automatic updates are unavailable for this install.";default:return null}}(e.installMode)??(e.restartRequired?"Restart the current Conductor process after the installer completes.":"Update state streams from the running Conductor runtime.")}):null,n?(0,t.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:n}):e?.error?(0,t.jsx)("p",{className:"mt-2 text-[11px] text-[var(--vk-red)]",children:e.error}):null,e?.logsTail&&"failed"===e.jobStatus?(0,t.jsx)("pre",{className:"mt-2 max-h-32 overflow-auto rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] p-2 text-[10px] leading-4 text-[var(--vk-text-faint)]",children:e.logsTail}):null,(0,t.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-2",children:[e?.jobStatus==="failed"&&e.canAutoUpdate?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"primary",onClick:()=>void M(),disabled:k,children:[k?(0,t.jsx)(c.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(d.RefreshCcw,{className:"h-3.5 w-3.5"}),"Retry"]}):null,e?.jobStatus==="idle"&&e.canAutoUpdate?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"primary",onClick:()=>void M(),disabled:k,children:[k?(0,t.jsx)(c.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(o.Download,{className:"h-3.5 w-3.5"}),"Update now"]}):null,e?.jobStatus==="idle"&&!e.canAutoUpdate&&e.updateCommand?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>void E(),children:[f?(0,t.jsx)(l.Check,{className:"h-3.5 w-3.5 text-[var(--status-ready)]"}):(0,t.jsx)(i.Copy,{className:"h-3.5 w-3.5"}),f?"Copied":"npx"===e.installMode?"Copy restart command":"Copy command"]}):null,e?.restartRequired&&e.canRestart&&!e.restarting&&!y?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"primary",onClick:()=>void L(),children:[(0,t.jsx)(d.RefreshCcw,{className:"h-3.5 w-3.5"}),"Restart now"]}):null,e?.restarting||y?(0,t.jsxs)(m.Button,{type:"button",size:"sm",variant:"primary",disabled:!0,children:[(0,t.jsx)(c.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),"Restarting"]}):null]})]})}):null}let v="conductor-workspace-sidebar-width";function b({sidebar:e,children:l,mobileSidebarOpen:i,desktopSidebarOpen:o,onToggleSidebar:c}){let[d,u]=(0,a.useState)(356),[m,x]=(0,a.useState)(!1);(0,a.useEffect)(()=>{try{let e=window.localStorage.getItem(v),t=e?Number.parseInt(e,10):NaN;Number.isFinite(t)&&u(Math.min(460,Math.max(296,t)))}catch{}},[]),(0,a.useEffect)(()=>{if(!m)return;let e=e=>{u(Math.min(460,Math.max(296,e.clientX)))},t=()=>{x(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(v,String(d))}catch{}}},[m,d]);let p={"--workspace-sidebar-width":`${d}px`};return(0,t.jsxs)("div",{style:p,className:"relative flex h-dvh min-h-[100dvh] w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)] [padding-top:env(safe-area-inset-top)] [padding-bottom:env(safe-area-inset-bottom)]",children:[i&&(0,t.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:c,"aria-label":"Close workspace panel"}),(0,t.jsx)("aside",{className:(0,s.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-full max-w-none flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-[transform,width] duration-200 sm:w-[min(90vw,var(--workspace-sidebar-width))] sm:max-w-[28rem]",i?"translate-x-0":"-translate-x-full",o?"lg:w-[var(--workspace-sidebar-width)]":"lg:w-0 lg:overflow-hidden lg:border-r-0","lg:relative lg:left-auto lg:translate-x-0"),children:e}),o?(0,t.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>x(!0),"aria-hidden":"true",children:(0,t.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,o&&(0,t.jsx)("button",{type:"button",onClick:c,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,t.jsx)(n.PanelRightClose,{className:"h-5 w-5"})}),(0,t.jsxs)("main",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!i&&(0,t.jsx)("button",{type:"button",onClick:c,className:"absolute left-2 top-2 z-40 inline-flex h-8 w-8 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_10px_24px_rgba(0,0,0,0.28)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"Open workspace panel",children:(0,t.jsx)(r.PanelLeftOpen,{className:"h-5 w-5"})}),!o&&(0,t.jsx)("button",{type:"button",onClick:c,className:"absolute left-2 top-2 z-40 hidden h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Open workspace panel",children:(0,t.jsx)(r.PanelLeftOpen,{className:"h-5 w-5"})}),l]}),(0,t.jsx)(h,{})]})}e.s(["AppShell",()=>b],36832);var f=e.i(75254);let g=(0,f.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),k=(0,a.memo)(function({title:e,onOpenPreferences:a}){return(0,t.jsxs)("header",{className:"flex h-11 items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-12 pr-3 text-[13px] text-[var(--vk-text-muted)] sm:h-14 sm:px-5 sm:text-[14px]",children:[(0,t.jsx)("div",{className:"min-w-0 flex-1 text-left sm:text-center",children:(0,t.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-normal)]",children:e??"All Projects"})}),a?(0,t.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,t.jsx)("button",{type:"button",onClick:a,className:"inline-flex h-9 w-9 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open preferences",title:"Preferences",children:(0,t.jsx)(g,{className:"h-4 w-4"})})}):null]})});e.s(["TopBar",0,k],80235);var w=e.i(74080),y=e.i(7233),j=e.i(52808);let N=(0,f.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var C=e.i(55436),S=e.i(69242);let A=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];function E(e){let t=e.metadata.worktree?.trim()??"";return t&&t.replace(/\\/g,"/").replace(/\/+$/,"").includes("/worktrees/")?"worktree":"local"}function M(e){let t=e.branch?.trim();if(t)return t;let a=e.summary?.trim()||e.metadata.summary?.trim();return a||(e.status?.trim()?e.status.replace(/[_-]+/g," "):e.id.slice(0,8))}function R(e){return[e.id,e.status,e.lastActivityAt,e.branch??"",e.metadata.worktree??""].join(":")}function L(){let[e,r]=(0,a.useState)(0);return(0,a.useEffect)(()=>{let e=window.setInterval(()=>{r(e=>(e+1)%A.length)},80);return()=>window.clearInterval(e)},[]),(0,t.jsx)("span",{"aria-hidden":"true",className:"inline-block select-none font-mono text-[18px] leading-none text-[var(--vk-text-strong)]",children:A[e]})}function P({running:e}){return e?(0,t.jsx)("span",{className:"mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center",children:(0,t.jsx)(L,{})}):null}function T({additions:e,deletions:a,isSelected:r}){return(0,t.jsx)("span",{className:(0,s.cn)("inline-flex shrink-0 items-center rounded-[10px] px-3 py-1.5 font-mono text-[12px] leading-none tabular-nums",r?"bg-[rgba(255,255,255,0.1)]":"bg-[rgba(255,255,255,0.06)]"),children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-3",children:[(0,t.jsxs)("span",{className:"text-[#18c58f]",children:["+",e]}),(0,t.jsxs)("span",{className:"text-[#f26d6d]",children:["−",a]})]})})}function I({sessions:e,selectedId:r,onSelect:n,onArchive:l,onCreateWorkspace:i,showHeader:o=!0}){let[c,d]=(0,a.useState)(""),[u,m]=(0,a.useState)(null),[x,p]=(0,a.useState)(null),[h,v]=(0,a.useState)({}),b=(0,a.useMemo)(()=>{let t=e.filter(e=>"archived"!==e.status);if(!c.trim())return t;let a=c.toLowerCase();return t.filter(e=>{let t=e.summary??"",r=e.branch??"",n=e.metadata.agent??"",s=E(e),l=M(e);return e.id.toLowerCase().includes(a)||e.projectId.toLowerCase().includes(a)||t.toLowerCase().includes(a)||r.toLowerCase().includes(a)||n.toLowerCase().includes(a)||s.toLowerCase().includes(a)||l.toLowerCase().includes(a)})},[c,e]),f=async(e,t)=>{if(e.stopPropagation(),e.preventDefault(),l&&u!==t){m(t);try{await l(t)}catch(e){console.error("Failed to archive session",e),p(t),window.setTimeout(()=>p(null),3e3)}finally{m(e=>e===t?null:e)}}},g=(0,a.useMemo)(()=>[...b].sort((e,t)=>new Date(t.lastActivityAt).getTime()-new Date(e.lastActivityAt).getTime()),[b]);return(0,a.useEffect)(()=>{let e=!1,t=g.filter(e=>{let t=R(e);return h[e.id]?.key!==t});return 0===t.length?()=>{e=!0}:(Promise.all(t.map(async e=>{let t=R(e);try{let a=await fetch(`/api/sessions/${encodeURIComponent(e.id)}/diff`);if(!a.ok)return[e.id,{key:t,stats:null}];let r=await a.json();return[e.id,{key:t,stats:function(e){if(!e||"object"!=typeof e)return null;let t=Array.isArray(e.files)?e.files:[],a=0,r=0;for(let e of t){let t="number"==typeof e?.additions&&Number.isFinite(e.additions)?Math.max(0,e.additions):0,n="number"==typeof e?.deletions&&Number.isFinite(e.deletions)?Math.max(0,e.deletions):0;a+=t,r+=n}return a<=0&&r<=0?null:{additions:a,deletions:r}}(r)}]}catch(a){return console.error("Failed to load session diff stats",a),[e.id,{key:t,stats:null}]}})).then(t=>{if(e)return;let a=t.filter(e=>null!==e);0!==a.length&&v(e=>{let t={...e};for(let[e,r]of a)t[e]=r;return t})}),()=>{e=!0})},[h,g]),(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[o&&(0,t.jsxs)("div",{className:"flex h-[33px] items-center gap-1 px-2",children:[(0,t.jsx)("p",{className:"text-[16px] text-[var(--vk-text-normal)]",children:"Workspaces"}),i&&(0,t.jsx)("button",{type:"button",onClick:i,className:"ml-auto inline-flex h-5 w-5 items-center justify-center rounded-[3px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"New workspace",children:(0,t.jsx)("span",{className:"text-[14px]",children:"+"})})]}),(0,t.jsx)("div",{className:(0,s.cn)("flex h-[38px] items-center px-2 pb-1.5",!o&&"pt-1.5"),children:(0,t.jsxs)("label",{className:"flex h-[30px] flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2",children:[(0,t.jsx)(C.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,t.jsx)("input",{value:c,onChange:e=>d(e.target.value),placeholder:"Search...",className:"ml-1.5 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-2 pb-2",children:0===g.length?(0,t.jsx)("p",{className:"px-2 py-2 text-[14px] text-[var(--vk-text-muted)]",children:"No sessions"}):(0,t.jsx)("div",{className:"space-y-2",children:g.map(e=>{let a=(0,j.getAttentionLevel)(e),i=h[e.id]?.stats??function(e){for(let t of[e.metadata.lastStderr,e.metadata.summary,e.summary]){if(!t)continue;let e=t.match(/(\d+)\s+insertions?\(\+\),\s+(\d+)\s+deletions?\(-\)/i);if(!e)continue;let a=Number.parseInt(e[1]??"0",10),r=Number.parseInt(e[2]??"0",10);if(Number.isFinite(a)&&Number.isFinite(r))return{additions:a,deletions:r}}return null}(e),o=function(e,t){let a=`${e.summary??""} ${e.metadata.summary??""}`.toLowerCase();if("killed"===e.status||a.includes("interrupted"))return{label:"Interrupted",className:"text-[var(--vk-orange)]"};switch(t){case"merge":return{label:"Ready",className:"text-[var(--vk-green)]"};case"respond":return{label:"Needs input",className:"text-[var(--vk-red)]"};case"review":return{label:"Review",className:"text-[var(--vk-orange)]"};case"working":return{label:"Running",className:"text-[#4e87f3]"};case"done":return{label:"Done",className:"text-[var(--vk-text-muted)]"};default:return{label:"Queued",className:"text-[var(--vk-text-muted)]"}}}(e,a),c=e.metadata.agent?.trim()||null,d=e.id===r,m="active"===e.activity||"spawning"===e.status||"running"===e.status||"working"===e.status,p=u===e.id,v=x===e.id;return(0,t.jsxs)("div",{onClick:()=>n(e.id),onKeyDown:t=>{var a;return a=e.id,void(("Enter"===t.key||" "===t.key)&&(t.preventDefault(),n(a)))},role:"button",tabIndex:0,className:(0,s.cn)("group flex w-full items-start gap-3 rounded-[8px] border px-3 py-3 text-left transition-colors",d?"border-[rgba(234,122,42,0.28)] bg-[rgba(255,255,255,0.08)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsx)(P,{running:m}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-start gap-2",children:[(0,t.jsxs)("span",{className:"min-w-0 flex flex-1 items-center gap-2",children:[c?(0,t.jsx)("span",{className:"inline-flex h-5 w-5 shrink-0 items-center justify-center",title:c,"aria-label":`${c} agent`,children:(0,t.jsx)(S.AgentTileIcon,{seed:{label:c},className:"h-4 w-4"})}):null,(0,t.jsx)("span",{className:"min-w-0 truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:E(e)})]}),i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"hidden shrink-0 sm:block",children:(0,t.jsx)(T,{additions:i.additions,deletions:i.deletions,isSelected:d})}),(0,t.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium sm:hidden",children:(0,t.jsx)("span",{className:o.className,children:o.label})})]}):(0,t.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium",children:(0,t.jsx)("span",{className:o.className,children:o.label})})]}),(0,t.jsx)("span",{className:"mt-1 block truncate text-[12px] text-[var(--vk-text-muted)]",children:M(e)})]}),l?(0,t.jsx)("button",{type:"button",onClick:t=>void f(t,e.id),disabled:p,className:(0,s.cn)("mt-0.5 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[6px] border border-[var(--vk-border)] text-[var(--vk-text-muted)] transition","opacity-70 group-hover:opacity-100 focus-visible:opacity-100","hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",p&&"cursor-wait opacity-100"),"aria-label":`Archive session ${e.id}`,title:v?"Archive failed":"Archive session",children:(0,t.jsx)(N,{className:(0,s.cn)("h-3.5 w-3.5",v&&"text-red-400")})}):null]},e.id)})})})]})}let U=(0,a.memo)(function({projects:e,selectedProjectId:r,onSelectProject:n,onUnlinkProject:l,sessions:i,selectedSessionId:o,onSelectSession:c,onArchiveSession:d,onCreateWorkspace:x}){let[p,h]=(0,a.useState)(null),[v,b]=(0,a.useState)(null),[f,g]=(0,a.useState)(null),k=(0,a.useMemo)(()=>{let e=new Map;for(let t of i){if("archived"===t.status)continue;let a=e.get(t.projectId)??{total:0,active:0};a.total+=1,"done"!==(0,j.getAttentionLevel)(t)&&(a.active+=1),e.set(t.projectId,a)}return e},[i]),N=(0,a.useMemo)(()=>e.find(e=>e.id===v)??null,[v,e]);async function C(){if(l&&v){h(v),g(null);try{await l(v),b(null)}catch(e){g(e instanceof Error?e.message:"Failed to unlink project.")}finally{h(null)}}}return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-col bg-[var(--vk-bg-panel)]",children:[(0,t.jsxs)("section",{className:"border-b border-[var(--vk-border)] px-4 py-4",children:[(0,t.jsx)("div",{className:"flex justify-center text-center",children:(0,t.jsx)("p",{className:"text-[22px] font-bold leading-none uppercase tracking-[0.32em] text-[var(--vk-text-strong)]",children:"Conductor"})}),(0,t.jsxs)("button",{type:"button",onClick:x,className:"mt-3 inline-flex h-8 w-full items-center justify-center gap-1 rounded-[6px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Add workspace",children:[(0,t.jsx)(y.Plus,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:"Add Workspace"})]})]}),(0,t.jsxs)("section",{className:"border-b border-[var(--vk-border)] pb-2 pt-1.5",children:[(0,t.jsx)("div",{className:"flex h-[28px] items-center px-3",children:(0,t.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Projects"})}),(0,t.jsxs)("div",{className:"max-h-[260px] overflow-y-auto px-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>n(null),className:(0,s.cn)("mb-1.5 flex w-full items-center gap-3 rounded-[6px] px-3 py-2.5 text-left text-[14px] leading-[21px]",null===r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-[var(--vk-text-muted)]"}),(0,t.jsx)("span",{className:"truncate",children:"All projects"}),(0,t.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:e.length})]}),e.map(e=>{let a=r===e.id,i=k.get(e.id)??{total:0,active:0},o=p===e.id;return(0,t.jsxs)("div",{className:(0,s.cn)("group relative mb-1.5 flex items-center rounded-[6px]",a?"bg-[var(--vk-bg-hover)]":"hover:bg-[var(--vk-bg-hover)]"),children:[(0,t.jsxs)("button",{type:"button",onClick:()=>n(e.id),className:(0,s.cn)("flex min-w-0 flex-1 items-center gap-3 px-3 py-2.5 text-left text-[14px] leading-[21px]",a?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"),children:[(0,t.jsx)("span",{className:"mt-1 h-2.5 w-2.5 shrink-0 rounded-full bg-[#3c83f6]"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate",children:e.id}),e.description?(0,t.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:e.description}):null]}),(0,t.jsxs)("span",{className:"shrink-0 text-right",children:[(0,t.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-normal)]",children:[i.active," active"]}),(0,t.jsxs)("span",{className:"block text-[10px] text-[var(--vk-text-muted)]",children:[i.total," total"]})]})]}),l&&(0,t.jsx)("button",{type:"button",disabled:o,onClick:t=>{t.stopPropagation(),g(null),b(e.id)},className:"mr-2 inline-flex shrink-0 items-center justify-center rounded-[4px] p-1 text-[var(--vk-text-muted)] hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)] disabled:opacity-50","aria-label":`Unlink ${e.id}`,title:"Unlink project",children:(0,t.jsx)(u.X,{className:"h-3.5 w-3.5"})})]},e.id)})]})]}),(0,t.jsx)("section",{className:"flex min-h-0 flex-1 flex-col pt-1.5",children:(0,t.jsx)(I,{sessions:i,selectedId:o,onSelect:c,onArchive:d,onCreateWorkspace:x,showHeader:!1})})]}),N&&"u">typeof document?(0,w.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{p||(b(null),g(null))},children:(0,t.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"unlink-project-title",children:[(0,t.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)("h2",{id:"unlink-project-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Unlink Project"}),(0,t.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Remove ",(0,t.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:N.id})," from this workspace configuration."]})]}),(0,t.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,t.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This only removes the project from Conductor. Repository files on disk are not deleted."}),f?(0,t.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:f}):null]}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,t.jsx)(m.Button,{type:"button",variant:"ghost",onClick:()=>{b(null),g(null)},disabled:null!==p,children:"Cancel"}),(0,t.jsx)(m.Button,{type:"button",variant:"danger",onClick:()=>void C(),disabled:null!==p,children:p===N.id?"Unlinking...":"Unlink Project"})]})]})}),document.body):null]})});e.s(["WorkspaceSidebarPanel",0,U],45241)},2004,e=>{"use strict";var t=e.i(71645);function a(e,t){return{id:e,repo:"string"==typeof t?.repo?t.repo:null,path:"string"==typeof t?.path?t.path:null,iconUrl:"string"==typeof t?.iconUrl?t.iconUrl:null,boardDir:"string"==typeof t?.boardDir?t.boardDir:null,boardFile:"string"==typeof t?.boardFile?t.boardFile:null,description:"string"==typeof t?.description?t.description:null,defaultBranch:"string"==typeof t?.defaultBranch&&t.defaultBranch.trim().length>0?t.defaultBranch:"main",agent:"string"==typeof t?.agent&&t.agent.trim().length>0?t.agent:"claude-code",agentPermissions:"string"==typeof t?.agentPermissions&&t.agentPermissions.trim().length>0?t.agentPermissions:null,agentModel:"string"==typeof t?.agentModel&&t.agentModel.trim().length>0?t.agentModel:null,agentReasoningEffort:"string"==typeof t?.agentReasoningEffort&&t.agentReasoningEffort.trim().length>0?t.agentReasoningEffort:null}}function r(){let[e,r]=(0,t.useState)([]),[n,s]=(0,t.useState)(!0),[l,i]=(0,t.useState)(null),o=(0,t.useRef)(!1),c=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/config");if(!e.ok)throw Error(`Failed to fetch config: ${e.status}`);let t=await e.json();r(function(e){if(!e||"object"!=typeof e)return[];let t=e.projects;return t?Array.isArray(t)?t.map((e,t)=>e&&"object"==typeof e?a("string"==typeof e.id&&e.id.trim().length>0?e.id:`project-${t+1}`,e):a(`project-${t+1}`,null)):"object"==typeof t?Object.entries(t).map(([e,t])=>a(e,t&&"object"==typeof t?t:null)):[]:[]}(t)),i(null)}catch(e){r([]),i(e instanceof Error?e.message:"Failed to fetch config")}finally{s(!1)}},[]);return(0,t.useEffect)(()=>{o.current||(o.current=!0,c())},[c]),{projects:e,loading:n,error:l,refresh:c}}e.s(["useConfig",()=>r])},89965,e=>{"use strict";var t=e.i(71645),a=e.i(97878);function r(e){let[r,n]=(0,t.useState)([]),[s,l]=(0,t.useState)(!0),[i,o]=(0,t.useState)(null),c=(0,t.useRef)(!0),d=(0,t.useCallback)(e=>{n(t=>!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let a=0;a<e.length;a+=1){let r=e[a],n=t[a];if(!r||!n||r.id!==n.id||r.status!==n.status||r.activity!==n.activity||r.projectId!==n.projectId||r.issueId!==n.issueId||r.branch!==n.branch||r.lastActivityAt!==n.lastActivityAt||r.summary!==n.summary)return!1;let s=r.metadata??{},l=n.metadata??{},i=Object.keys(s),o=Object.keys(l);if(i.length!==o.length)return!1;for(let e of i)if(s[e]!==l[e])return!1}return!0}(t,e)?e:t)},[]),u=(0,t.useCallback)(async()=>{try{let t="string"==typeof e&&e.trim().length>0?`?project=${encodeURIComponent(e.trim())}`:"",a=await fetch(`/api/sessions${t}`);if(!a.ok)throw Error(`Failed to fetch sessions: ${a.status}`);let r=await a.json(),n=Array.isArray(r)?r:Array.isArray(r.sessions)?r.sessions:[];if(!c.current)return;d(n),o(null)}catch(e){c.current&&o(e instanceof Error?e.message:"Unknown error")}finally{c.current&&l(!1)}},[d,e]);return(0,t.useEffect)(()=>{c.current=!0,l(!0),u();let t=null,r=()=>{null!==t&&(window.clearTimeout(t),t=null)},n=()=>{r(),t=window.setTimeout(async()=>{c.current&&(await u(),c.current&&n())},"visible"===document.visibilityState?15e3:45e3)};n();let s=(0,a.subscribeToSnapshotEvents)(t=>{var a;let r;c.current&&(d((a=t.sessions,(r=e?.trim())?a.filter(e=>e.projectId===r):a)),o(null),l(!1))}),i=()=>{u(),n()},m=()=>{"visible"===document.visibilityState?i():n()};return window.addEventListener("focus",i),document.addEventListener("visibilitychange",m),()=>{c.current=!1,s(),r(),window.removeEventListener("focus",i),document.removeEventListener("visibilitychange",m)}},[d,u,e]),{sessions:r,loading:s,error:i,refresh:u}}e.s(["useSessions",()=>r])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16715,e=>{"use strict";let t=(0,e.i(75254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,5718,e=>{"use strict";var l=e.i(95187);let t=(0,l.createServerReference)("00dc4301f6d1b1ebcc35869a6a29abeca8d3523efd",l.callServer,void 0,l.findSourceMapURL,"createOrReadKeylessAction");e.s(["createOrReadKeylessAction",()=>t])},37572,e=>{"use strict";var l=e.i(18566),t=e.i(71645),a=e.i(5718);let s=e=>{var s;let{children:i}=e,r=(null==(s=(0,l.useSelectedLayoutSegments)()[0])?void 0:s.startsWith("/_not-found"))||!1,[n,c]=t.default.useActionState(a.createOrReadKeylessAction,null);return((0,t.useEffect)(()=>{r||t.default.startTransition(()=>{c()})},[r]),t.default.isValidElement(i))?t.default.cloneElement(i,{key:null==n?void 0:n.publishableKey,publishableKey:null==n?void 0:n.publishableKey,__internal_keyless_claimKeylessApplicationUrl:null==n?void 0:n.claimUrl,__internal_keyless_copyInstanceKeysUrl:null==n?void 0:n.apiKeysUrl,__internal_bypassMissingPublishableKey:!0}):i};e.s(["KeylessCreatorOrReader",()=>s])}]);