@shugaev/spur 0.1.1 → 0.1.2

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 (1105) hide show
  1. package/dist/agents/cursor-submit-ack.d.ts.map +1 -1
  2. package/dist/agents/cursor-submit-ack.js +15 -1
  3. package/dist/agents/cursor-submit-ack.js.map +1 -1
  4. package/dist/agents/cursor.d.ts +1 -0
  5. package/dist/agents/cursor.d.ts.map +1 -1
  6. package/dist/agents/cursor.js +3 -1
  7. package/dist/agents/cursor.js.map +1 -1
  8. package/dist/agents/index.js +2 -2
  9. package/dist/agents/index.js.map +1 -1
  10. package/dist/agents/models.d.ts +3 -0
  11. package/dist/agents/models.d.ts.map +1 -1
  12. package/dist/agents/models.js +41 -3
  13. package/dist/agents/models.js.map +1 -1
  14. package/dist/backlog/index.d.ts +15 -0
  15. package/dist/backlog/index.d.ts.map +1 -0
  16. package/dist/backlog/index.js +80 -0
  17. package/dist/backlog/index.js.map +1 -0
  18. package/dist/backlog/providers.d.ts +12 -0
  19. package/dist/backlog/providers.d.ts.map +1 -0
  20. package/dist/backlog/providers.js +22 -0
  21. package/dist/backlog/providers.js.map +1 -0
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +12 -1
  24. package/dist/cli.js.map +1 -1
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +64 -0
  27. package/dist/config.js.map +1 -1
  28. package/dist/event-sources/github.d.ts.map +1 -1
  29. package/dist/event-sources/github.js +30 -32
  30. package/dist/event-sources/github.js.map +1 -1
  31. package/dist/event-sources/index.d.ts.map +1 -1
  32. package/dist/event-sources/index.js +5 -0
  33. package/dist/event-sources/index.js.map +1 -1
  34. package/dist/gh.d.ts +2 -0
  35. package/dist/gh.d.ts.map +1 -1
  36. package/dist/gh.js +28 -0
  37. package/dist/gh.js.map +1 -1
  38. package/dist/jira.d.ts +15 -0
  39. package/dist/jira.d.ts.map +1 -0
  40. package/dist/jira.js +74 -0
  41. package/dist/jira.js.map +1 -0
  42. package/dist/metadata.d.ts +7 -1
  43. package/dist/metadata.d.ts.map +1 -1
  44. package/dist/metadata.js +129 -0
  45. package/dist/metadata.js.map +1 -1
  46. package/dist/preflight.d.ts.map +1 -1
  47. package/dist/preflight.js +4 -0
  48. package/dist/preflight.js.map +1 -1
  49. package/dist/prompt-template.d.ts +3 -0
  50. package/dist/prompt-template.d.ts.map +1 -0
  51. package/dist/prompt-template.js +14 -0
  52. package/dist/prompt-template.js.map +1 -0
  53. package/dist/send-batches.d.ts +3 -1
  54. package/dist/send-batches.d.ts.map +1 -1
  55. package/dist/send-batches.js +94 -0
  56. package/dist/send-batches.js.map +1 -1
  57. package/dist/server.d.ts.map +1 -1
  58. package/dist/server.js +27 -1
  59. package/dist/server.js.map +1 -1
  60. package/dist/session-service.d.ts +13 -1
  61. package/dist/session-service.d.ts.map +1 -1
  62. package/dist/session-service.js +164 -45
  63. package/dist/session-service.js.map +1 -1
  64. package/dist/shepherd.d.ts.map +1 -1
  65. package/dist/shepherd.js +2 -1
  66. package/dist/shepherd.js.map +1 -1
  67. package/dist/triggers.d.ts.map +1 -1
  68. package/dist/triggers.js +81 -15
  69. package/dist/triggers.js.map +1 -1
  70. package/dist/types.d.ts +74 -2
  71. package/dist/types.d.ts.map +1 -1
  72. package/package.json +1 -1
  73. package/web/.next/BUILD_ID +1 -1
  74. package/web/.next/app-build-manifest.json +98 -91
  75. package/web/.next/app-path-routes-manifest.json +2 -1
  76. package/web/.next/build-manifest.json +3 -3
  77. package/web/.next/prerender-manifest.json +18 -18
  78. package/web/.next/required-server-files.json +3 -3
  79. package/web/.next/server/app/_not-found/page.js +2 -2
  80. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/_not-found.html +1 -1
  82. package/web/.next/server/app/_not-found.rsc +3 -3
  83. package/web/.next/server/app/api/backlog/take/route.js +1 -0
  84. package/web/.next/server/app/api/backlog/take/route.js.nft.json +1 -0
  85. package/web/.next/server/app/api/backlog/take/route_client-reference-manifest.js +1 -0
  86. package/web/.next/server/app/api/github-status/route.js +1 -1
  87. package/web/.next/server/app/api/github-status/route_client-reference-manifest.js +1 -1
  88. package/web/.next/server/app/api/gitlab-status/route.js +1 -1
  89. package/web/.next/server/app/api/gitlab-status/route_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/api/models/route.js +1 -1
  91. package/web/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/api/pr-status/merge/route.js +1 -1
  93. package/web/.next/server/app/api/pr-status/merge/route_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/api/pr-status/route.js +2 -2
  95. package/web/.next/server/app/api/pr-status/route_client-reference-manifest.js +1 -1
  96. package/web/.next/server/app/api/preflight/route.js +1 -1
  97. package/web/.next/server/app/api/preflight/route_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/api/projects/[id]/branches/exists/route.js +1 -1
  99. package/web/.next/server/app/api/projects/[id]/branches/exists/route_client-reference-manifest.js +1 -1
  100. package/web/.next/server/app/api/projects/[id]/route.js +1 -1
  101. package/web/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  102. package/web/.next/server/app/api/projects/[id]/slash-commands/route.js +1 -1
  103. package/web/.next/server/app/api/projects/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/api/projects/route.js +1 -1
  105. package/web/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  106. package/web/.next/server/app/api/runtime/info/route.js +1 -1
  107. package/web/.next/server/app/api/runtime/info/route_client-reference-manifest.js +1 -1
  108. package/web/.next/server/app/api/runtime/resources/route.js +1 -1
  109. package/web/.next/server/app/api/runtime/resources/route_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/api/runtime/terminal/route.js +1 -1
  111. package/web/.next/server/app/api/runtime/terminal/route_client-reference-manifest.js +1 -1
  112. package/web/.next/server/app/api/runtime/versions/route.js +1 -1
  113. package/web/.next/server/app/api/runtime/versions/route_client-reference-manifest.js +1 -1
  114. package/web/.next/server/app/api/runtime/versions/switch/route.js +1 -1
  115. package/web/.next/server/app/api/runtime/versions/switch/route_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/api/runtime/voice/route.js +1 -1
  117. package/web/.next/server/app/api/runtime/voice/route_client-reference-manifest.js +1 -1
  118. package/web/.next/server/app/api/runtime/voice/transcribe/route.js +1 -1
  119. package/web/.next/server/app/api/runtime/voice/transcribe/route_client-reference-manifest.js +1 -1
  120. package/web/.next/server/app/api/sessions/[id]/artifacts/[artifactId]/route.js +1 -1
  121. package/web/.next/server/app/api/sessions/[id]/artifacts/[artifactId]/route_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/api/sessions/[id]/complete/route.js +1 -1
  123. package/web/.next/server/app/api/sessions/[id]/complete/route_client-reference-manifest.js +1 -1
  124. package/web/.next/server/app/api/sessions/[id]/conversation/route.js +1 -1
  125. package/web/.next/server/app/api/sessions/[id]/conversation/route_client-reference-manifest.js +1 -1
  126. package/web/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
  127. package/web/.next/server/app/api/sessions/[id]/kill/route_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/api/sessions/[id]/logs/route.js +1 -1
  129. package/web/.next/server/app/api/sessions/[id]/logs/route_client-reference-manifest.js +1 -1
  130. package/web/.next/server/app/api/sessions/[id]/pause/route.js +1 -1
  131. package/web/.next/server/app/api/sessions/[id]/pause/route_client-reference-manifest.js +1 -1
  132. package/web/.next/server/app/api/sessions/[id]/respawn/route.js +1 -1
  133. package/web/.next/server/app/api/sessions/[id]/respawn/route_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/api/sessions/[id]/restore/route.js +1 -1
  135. package/web/.next/server/app/api/sessions/[id]/restore/route_client-reference-manifest.js +1 -1
  136. package/web/.next/server/app/api/sessions/[id]/route.js +1 -1
  137. package/web/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
  138. package/web/.next/server/app/api/sessions/[id]/send/route.js +1 -1
  139. package/web/.next/server/app/api/sessions/[id]/send/route_client-reference-manifest.js +1 -1
  140. package/web/.next/server/app/api/sessions/[id]/sidecars/[name]/start/route.js +1 -1
  141. package/web/.next/server/app/api/sessions/[id]/sidecars/[name]/start/route_client-reference-manifest.js +1 -1
  142. package/web/.next/server/app/api/sessions/[id]/sidecars/[name]/stop/route.js +1 -1
  143. package/web/.next/server/app/api/sessions/[id]/sidecars/[name]/stop/route_client-reference-manifest.js +1 -1
  144. package/web/.next/server/app/api/sessions/[id]/slash-commands/route.js +1 -1
  145. package/web/.next/server/app/api/sessions/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  146. package/web/.next/server/app/api/sessions/[id]/tags/route.js +1 -1
  147. package/web/.next/server/app/api/sessions/[id]/tags/route_client-reference-manifest.js +1 -1
  148. package/web/.next/server/app/api/sessions/route.js +1 -1
  149. package/web/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  150. package/web/.next/server/app/api/shepherd/spawn/route.js +1 -1
  151. package/web/.next/server/app/api/shepherd/spawn/route_client-reference-manifest.js +1 -1
  152. package/web/.next/server/app/api/spawn/route.js +1 -1
  153. package/web/.next/server/app/api/spawn/route_client-reference-manifest.js +1 -1
  154. package/web/.next/server/app/apple-icon/route.js +1 -1
  155. package/web/.next/server/app/apple-icon/route_client-reference-manifest.js +1 -1
  156. package/web/.next/server/app/icon/route.js +1 -1
  157. package/web/.next/server/app/icon/route_client-reference-manifest.js +1 -1
  158. package/web/.next/server/app/icon-192/route.js +1 -1
  159. package/web/.next/server/app/icon-192/route_client-reference-manifest.js +1 -1
  160. package/web/.next/server/app/icon-512/route.js +1 -1
  161. package/web/.next/server/app/icon-512/route_client-reference-manifest.js +1 -1
  162. package/web/.next/server/app/manifest.webmanifest/route.js +2 -2
  163. package/web/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  164. package/web/.next/server/app/page.js +3 -3
  165. package/web/.next/server/app/page.js.nft.json +1 -1
  166. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  167. package/web/.next/server/app/sessions/[id]/page.js +6 -6
  168. package/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  169. package/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  170. package/web/.next/server/app-paths-manifest.json +2 -1
  171. package/web/.next/server/chunks/135.js +1 -1
  172. package/web/.next/server/chunks/5158.js +1 -0
  173. package/web/.next/server/chunks/7331.js +3 -3
  174. package/web/.next/server/functions-config-manifest.json +3 -3
  175. package/web/.next/server/middleware-build-manifest.js +1 -1
  176. package/web/.next/server/next-font-manifest.js +1 -1
  177. package/web/.next/server/next-font-manifest.json +1 -1
  178. package/web/.next/server/pages/404.html +1 -1
  179. package/web/.next/server/pages/500.html +1 -1
  180. package/web/.next/server/server-reference-manifest.json +1 -1
  181. package/web/.next/static/chunks/5124-5365d82e8f9962c5.js +1 -0
  182. package/web/.next/static/chunks/app/_not-found/{page-1b6e9375ed39417d.js → page-ce7aac1309588445.js} +1 -1
  183. package/web/.next/static/chunks/app/api/backlog/take/route-1c98dbb79467f151.js +1 -0
  184. package/web/.next/static/chunks/app/api/github-status/route-1c98dbb79467f151.js +1 -0
  185. package/web/.next/static/chunks/app/api/gitlab-status/route-1c98dbb79467f151.js +1 -0
  186. package/web/.next/static/chunks/app/api/models/route-1c98dbb79467f151.js +1 -0
  187. package/web/.next/static/chunks/app/api/pr-status/merge/route-1c98dbb79467f151.js +1 -0
  188. package/web/.next/static/chunks/app/api/pr-status/route-1c98dbb79467f151.js +1 -0
  189. package/web/.next/static/chunks/app/api/preflight/route-1c98dbb79467f151.js +1 -0
  190. package/web/.next/static/chunks/app/api/projects/[id]/branches/exists/route-1c98dbb79467f151.js +1 -0
  191. package/web/.next/static/chunks/app/api/projects/[id]/route-1c98dbb79467f151.js +1 -0
  192. package/web/.next/static/chunks/app/api/projects/[id]/slash-commands/route-1c98dbb79467f151.js +1 -0
  193. package/web/.next/static/chunks/app/api/projects/route-1c98dbb79467f151.js +1 -0
  194. package/web/.next/static/chunks/app/api/runtime/info/route-1c98dbb79467f151.js +1 -0
  195. package/web/.next/static/chunks/app/api/runtime/resources/route-1c98dbb79467f151.js +1 -0
  196. package/web/.next/static/chunks/app/api/runtime/terminal/route-1c98dbb79467f151.js +1 -0
  197. package/web/.next/static/chunks/app/api/runtime/versions/route-1c98dbb79467f151.js +1 -0
  198. package/web/.next/static/chunks/app/api/runtime/versions/switch/route-1c98dbb79467f151.js +1 -0
  199. package/web/.next/static/chunks/app/api/runtime/voice/route-1c98dbb79467f151.js +1 -0
  200. package/web/.next/static/chunks/app/api/runtime/voice/transcribe/route-1c98dbb79467f151.js +1 -0
  201. package/web/.next/static/chunks/app/api/sessions/[id]/artifacts/[artifactId]/route-1c98dbb79467f151.js +1 -0
  202. package/web/.next/static/chunks/app/api/sessions/[id]/complete/route-1c98dbb79467f151.js +1 -0
  203. package/web/.next/static/chunks/app/api/sessions/[id]/conversation/route-1c98dbb79467f151.js +1 -0
  204. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-1c98dbb79467f151.js +1 -0
  205. package/web/.next/static/chunks/app/api/sessions/[id]/logs/route-1c98dbb79467f151.js +1 -0
  206. package/web/.next/static/chunks/app/api/sessions/[id]/pause/route-1c98dbb79467f151.js +1 -0
  207. package/web/.next/static/chunks/app/api/sessions/[id]/respawn/route-1c98dbb79467f151.js +1 -0
  208. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-1c98dbb79467f151.js +1 -0
  209. package/web/.next/static/chunks/app/api/sessions/[id]/route-1c98dbb79467f151.js +1 -0
  210. package/web/.next/static/chunks/app/api/sessions/[id]/send/route-1c98dbb79467f151.js +1 -0
  211. package/web/.next/static/chunks/app/api/sessions/[id]/sidecars/[name]/start/route-1c98dbb79467f151.js +1 -0
  212. package/web/.next/static/chunks/app/api/sessions/[id]/sidecars/[name]/stop/route-1c98dbb79467f151.js +1 -0
  213. package/web/.next/static/chunks/app/api/sessions/[id]/slash-commands/route-1c98dbb79467f151.js +1 -0
  214. package/web/.next/static/chunks/app/api/sessions/[id]/tags/route-1c98dbb79467f151.js +1 -0
  215. package/web/.next/static/chunks/app/api/sessions/route-1c98dbb79467f151.js +1 -0
  216. package/web/.next/static/chunks/app/api/shepherd/spawn/route-1c98dbb79467f151.js +1 -0
  217. package/web/.next/static/chunks/app/api/spawn/route-1c98dbb79467f151.js +1 -0
  218. package/web/.next/static/chunks/app/apple-icon/route-1c98dbb79467f151.js +1 -0
  219. package/web/.next/static/chunks/app/icon/route-1c98dbb79467f151.js +1 -0
  220. package/web/.next/static/chunks/app/icon-192/route-1c98dbb79467f151.js +1 -0
  221. package/web/.next/static/chunks/app/icon-512/route-1c98dbb79467f151.js +1 -0
  222. package/web/.next/static/chunks/app/layout-f69f7a978709d508.js +1 -0
  223. package/web/.next/static/chunks/app/manifest.webmanifest/route-1c98dbb79467f151.js +1 -0
  224. package/web/.next/static/chunks/app/page-8a91ba4badc56ab2.js +1 -0
  225. package/web/.next/static/chunks/app/sessions/[id]/page-d8abb491bd89b750.js +1 -0
  226. package/web/.next/static/chunks/{main-app-1cea33e0d8c88bba.js → main-app-96c0fcaf99db6703.js} +1 -1
  227. package/web/.next/static/css/1c8043fd02fc0a5c.css +3 -0
  228. package/web/.next/static/j6j0a_rHfbTSVFFhtL-Dd/_buildManifest.js +1 -0
  229. package/web/node_modules/.package-lock.json +3 -3
  230. package/web/node_modules/caniuse-lite/data/agents.js +1 -1
  231. package/web/node_modules/caniuse-lite/data/browserVersions.js +1 -1
  232. package/web/node_modules/caniuse-lite/data/features/aac.js +1 -1
  233. package/web/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  234. package/web/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  235. package/web/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  236. package/web/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  237. package/web/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  238. package/web/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  239. package/web/node_modules/caniuse-lite/data/features/apng.js +1 -1
  240. package/web/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  241. package/web/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  242. package/web/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  243. package/web/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
  244. package/web/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  245. package/web/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  246. package/web/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  247. package/web/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  248. package/web/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
  249. package/web/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  250. package/web/node_modules/caniuse-lite/data/features/audio.js +1 -1
  251. package/web/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  252. package/web/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  253. package/web/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  254. package/web/node_modules/caniuse-lite/data/features/av1.js +1 -1
  255. package/web/node_modules/caniuse-lite/data/features/avif.js +1 -1
  256. package/web/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  257. package/web/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  258. package/web/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  259. package/web/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  260. package/web/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  261. package/web/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  262. package/web/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  263. package/web/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  264. package/web/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  265. package/web/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  266. package/web/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  267. package/web/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  268. package/web/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  269. package/web/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  270. package/web/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  271. package/web/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  272. package/web/node_modules/caniuse-lite/data/features/calc.js +1 -1
  273. package/web/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  274. package/web/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  275. package/web/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  276. package/web/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  277. package/web/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  278. package/web/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  279. package/web/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  280. package/web/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  281. package/web/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  282. package/web/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  283. package/web/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  284. package/web/node_modules/caniuse-lite/data/features/colr.js +1 -1
  285. package/web/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  286. package/web/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  287. package/web/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  288. package/web/node_modules/caniuse-lite/data/features/const.js +1 -1
  289. package/web/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  290. package/web/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
  291. package/web/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  292. package/web/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  293. package/web/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  294. package/web/node_modules/caniuse-lite/data/features/cors.js +1 -1
  295. package/web/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  296. package/web/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  297. package/web/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  298. package/web/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  299. package/web/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  300. package/web/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  301. package/web/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  302. package/web/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  303. package/web/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  304. package/web/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  305. package/web/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  306. package/web/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  307. package/web/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  308. package/web/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  309. package/web/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  310. package/web/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  311. package/web/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
  312. package/web/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  313. package/web/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  314. package/web/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  315. package/web/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  316. package/web/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  317. package/web/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  318. package/web/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  319. package/web/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  320. package/web/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  321. package/web/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  322. package/web/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  323. package/web/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  324. package/web/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  325. package/web/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  326. package/web/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  327. package/web/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  328. package/web/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  329. package/web/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  330. package/web/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  331. package/web/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  332. package/web/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  333. package/web/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
  334. package/web/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  335. package/web/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
  336. package/web/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  337. package/web/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  338. package/web/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
  339. package/web/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  340. package/web/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  341. package/web/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
  342. package/web/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  343. package/web/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  344. package/web/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  345. package/web/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  346. package/web/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  347. package/web/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  348. package/web/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
  349. package/web/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  350. package/web/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  351. package/web/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  352. package/web/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  353. package/web/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  354. package/web/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  355. package/web/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  356. package/web/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  357. package/web/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  358. package/web/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  359. package/web/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  360. package/web/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  361. package/web/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  362. package/web/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  363. package/web/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  364. package/web/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  365. package/web/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  366. package/web/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  367. package/web/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  368. package/web/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  369. package/web/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  370. package/web/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  371. package/web/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  372. package/web/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  373. package/web/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  374. package/web/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
  375. package/web/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  376. package/web/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  377. package/web/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  378. package/web/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  379. package/web/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  380. package/web/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  381. package/web/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  382. package/web/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  383. package/web/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
  384. package/web/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  385. package/web/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  386. package/web/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  387. package/web/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  388. package/web/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  389. package/web/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  390. package/web/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  391. package/web/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  392. package/web/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  393. package/web/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  394. package/web/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  395. package/web/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  396. package/web/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  397. package/web/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
  398. package/web/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  399. package/web/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  400. package/web/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  401. package/web/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  402. package/web/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  403. package/web/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  404. package/web/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  405. package/web/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  406. package/web/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  407. package/web/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  408. package/web/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  409. package/web/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  410. package/web/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  411. package/web/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  412. package/web/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  413. package/web/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  414. package/web/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  415. package/web/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  416. package/web/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  417. package/web/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  418. package/web/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  419. package/web/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  420. package/web/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  421. package/web/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  422. package/web/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
  423. package/web/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  424. package/web/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  425. package/web/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  426. package/web/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  427. package/web/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  428. package/web/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
  429. package/web/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  430. package/web/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  431. package/web/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  432. package/web/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  433. package/web/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  434. package/web/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  435. package/web/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  436. package/web/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  437. package/web/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  438. package/web/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  439. package/web/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  440. package/web/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
  441. package/web/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  442. package/web/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  443. package/web/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  444. package/web/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  445. package/web/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  446. package/web/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  447. package/web/node_modules/caniuse-lite/data/features/datauri.js +1 -1
  448. package/web/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  449. package/web/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  450. package/web/node_modules/caniuse-lite/data/features/decorators.js +1 -1
  451. package/web/node_modules/caniuse-lite/data/features/details.js +1 -1
  452. package/web/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  453. package/web/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  454. package/web/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  455. package/web/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  456. package/web/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
  457. package/web/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  458. package/web/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  459. package/web/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
  460. package/web/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  461. package/web/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  462. package/web/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  463. package/web/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  464. package/web/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  465. package/web/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
  466. package/web/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
  467. package/web/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  468. package/web/node_modules/caniuse-lite/data/features/download.js +1 -1
  469. package/web/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  470. package/web/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  471. package/web/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  472. package/web/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  473. package/web/node_modules/caniuse-lite/data/features/eme.js +1 -1
  474. package/web/node_modules/caniuse-lite/data/features/eot.js +1 -1
  475. package/web/node_modules/caniuse-lite/data/features/es5.js +1 -1
  476. package/web/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  477. package/web/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  478. package/web/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  479. package/web/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  480. package/web/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  481. package/web/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  482. package/web/node_modules/caniuse-lite/data/features/es6.js +1 -1
  483. package/web/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  484. package/web/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  485. package/web/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  486. package/web/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  487. package/web/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  488. package/web/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  489. package/web/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  490. package/web/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  491. package/web/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  492. package/web/node_modules/caniuse-lite/data/features/flac.js +1 -1
  493. package/web/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  494. package/web/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  495. package/web/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  496. package/web/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  497. package/web/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  498. package/web/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  499. package/web/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  500. package/web/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  501. package/web/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  502. package/web/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  503. package/web/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  504. package/web/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  505. package/web/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  506. package/web/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  507. package/web/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  508. package/web/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  509. package/web/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  510. package/web/node_modules/caniuse-lite/data/features/forms.js +1 -1
  511. package/web/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  512. package/web/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  513. package/web/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  514. package/web/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  515. package/web/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  516. package/web/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  517. package/web/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  518. package/web/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  519. package/web/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  520. package/web/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  521. package/web/node_modules/caniuse-lite/data/features/heif.js +1 -1
  522. package/web/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  523. package/web/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  524. package/web/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  525. package/web/node_modules/caniuse-lite/data/features/history.js +1 -1
  526. package/web/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  527. package/web/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  528. package/web/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  529. package/web/node_modules/caniuse-lite/data/features/http2.js +1 -1
  530. package/web/node_modules/caniuse-lite/data/features/http3.js +1 -1
  531. package/web/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  532. package/web/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  533. package/web/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  534. package/web/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  535. package/web/node_modules/caniuse-lite/data/features/ime.js +1 -1
  536. package/web/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
  537. package/web/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  538. package/web/node_modules/caniuse-lite/data/features/imports.js +1 -1
  539. package/web/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  540. package/web/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  541. package/web/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  542. package/web/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  543. package/web/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  544. package/web/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  545. package/web/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  546. package/web/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  547. package/web/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  548. package/web/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  549. package/web/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  550. package/web/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  551. package/web/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  552. package/web/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  553. package/web/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  554. package/web/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  555. package/web/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  556. package/web/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  557. package/web/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  558. package/web/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  559. package/web/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  560. package/web/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  561. package/web/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  562. package/web/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  563. package/web/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  564. package/web/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  565. package/web/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  566. package/web/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  567. package/web/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  568. package/web/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  569. package/web/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
  570. package/web/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  571. package/web/node_modules/caniuse-lite/data/features/json.js +1 -1
  572. package/web/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  573. package/web/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  574. package/web/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
  575. package/web/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  576. package/web/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  577. package/web/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  578. package/web/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  579. package/web/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  580. package/web/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
  581. package/web/node_modules/caniuse-lite/data/features/let.js +1 -1
  582. package/web/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  583. package/web/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  584. package/web/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  585. package/web/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  586. package/web/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  587. package/web/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  588. package/web/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  589. package/web/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  590. package/web/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  591. package/web/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  592. package/web/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  593. package/web/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
  594. package/web/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  595. package/web/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  596. package/web/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  597. package/web/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  598. package/web/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  599. package/web/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  600. package/web/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  601. package/web/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  602. package/web/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  603. package/web/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  604. package/web/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  605. package/web/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  606. package/web/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  607. package/web/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  608. package/web/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  609. package/web/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  610. package/web/node_modules/caniuse-lite/data/features/menu.js +1 -1
  611. package/web/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  612. package/web/node_modules/caniuse-lite/data/features/meter.js +1 -1
  613. package/web/node_modules/caniuse-lite/data/features/midi.js +1 -1
  614. package/web/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  615. package/web/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  616. package/web/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
  617. package/web/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  618. package/web/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  619. package/web/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  620. package/web/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  621. package/web/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  622. package/web/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  623. package/web/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  624. package/web/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  625. package/web/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  626. package/web/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  627. package/web/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  628. package/web/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  629. package/web/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  630. package/web/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  631. package/web/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  632. package/web/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  633. package/web/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  634. package/web/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  635. package/web/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  636. package/web/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  637. package/web/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  638. package/web/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  639. package/web/node_modules/caniuse-lite/data/features/opus.js +1 -1
  640. package/web/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  641. package/web/node_modules/caniuse-lite/data/features/outline.js +1 -1
  642. package/web/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  643. package/web/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
  644. package/web/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  645. package/web/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  646. package/web/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  647. package/web/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  648. package/web/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  649. package/web/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  650. package/web/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  651. package/web/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  652. package/web/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  653. package/web/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  654. package/web/node_modules/caniuse-lite/data/features/picture.js +1 -1
  655. package/web/node_modules/caniuse-lite/data/features/ping.js +1 -1
  656. package/web/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  657. package/web/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  658. package/web/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  659. package/web/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  660. package/web/node_modules/caniuse-lite/data/features/portals.js +1 -1
  661. package/web/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  662. package/web/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  663. package/web/node_modules/caniuse-lite/data/features/progress.js +1 -1
  664. package/web/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  665. package/web/node_modules/caniuse-lite/data/features/promises.js +1 -1
  666. package/web/node_modules/caniuse-lite/data/features/proximity.js +1 -1
  667. package/web/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  668. package/web/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  669. package/web/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  670. package/web/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  671. package/web/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  672. package/web/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  673. package/web/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  674. package/web/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  675. package/web/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  676. package/web/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  677. package/web/node_modules/caniuse-lite/data/features/rem.js +1 -1
  678. package/web/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  679. package/web/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  680. package/web/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  681. package/web/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  682. package/web/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  683. package/web/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  684. package/web/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  685. package/web/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  686. package/web/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  687. package/web/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  688. package/web/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  689. package/web/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  690. package/web/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  691. package/web/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
  692. package/web/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  693. package/web/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  694. package/web/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  695. package/web/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  696. package/web/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
  697. package/web/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  698. package/web/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  699. package/web/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  700. package/web/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  701. package/web/node_modules/caniuse-lite/data/features/sni.js +1 -1
  702. package/web/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  703. package/web/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  704. package/web/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  705. package/web/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  706. package/web/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  707. package/web/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  708. package/web/node_modules/caniuse-lite/data/features/stream.js +1 -1
  709. package/web/node_modules/caniuse-lite/data/features/streams.js +1 -1
  710. package/web/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  711. package/web/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  712. package/web/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  713. package/web/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  714. package/web/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  715. package/web/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
  716. package/web/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  717. package/web/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  718. package/web/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
  719. package/web/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  720. package/web/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  721. package/web/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  722. package/web/node_modules/caniuse-lite/data/features/svg.js +1 -1
  723. package/web/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  724. package/web/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  725. package/web/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  726. package/web/node_modules/caniuse-lite/data/features/template.js +1 -1
  727. package/web/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  728. package/web/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  729. package/web/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  730. package/web/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  731. package/web/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  732. package/web/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  733. package/web/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  734. package/web/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  735. package/web/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  736. package/web/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  737. package/web/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  738. package/web/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  739. package/web/node_modules/caniuse-lite/data/features/touch.js +1 -1
  740. package/web/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  741. package/web/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  742. package/web/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  743. package/web/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  744. package/web/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  745. package/web/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  746. package/web/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  747. package/web/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  748. package/web/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  749. package/web/node_modules/caniuse-lite/data/features/url.js +1 -1
  750. package/web/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  751. package/web/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  752. package/web/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  753. package/web/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  754. package/web/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  755. package/web/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  756. package/web/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  757. package/web/node_modules/caniuse-lite/data/features/video.js +1 -1
  758. package/web/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  759. package/web/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  760. package/web/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  761. package/web/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  762. package/web/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  763. package/web/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  764. package/web/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  765. package/web/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  766. package/web/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  767. package/web/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  768. package/web/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  769. package/web/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  770. package/web/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  771. package/web/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  772. package/web/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  773. package/web/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  774. package/web/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  775. package/web/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  776. package/web/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  777. package/web/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  778. package/web/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  779. package/web/node_modules/caniuse-lite/data/features/wav.js +1 -1
  780. package/web/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  781. package/web/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  782. package/web/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  783. package/web/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  784. package/web/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  785. package/web/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  786. package/web/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  787. package/web/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  788. package/web/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  789. package/web/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  790. package/web/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  791. package/web/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  792. package/web/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  793. package/web/node_modules/caniuse-lite/data/features/webm.js +1 -1
  794. package/web/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  795. package/web/node_modules/caniuse-lite/data/features/webp.js +1 -1
  796. package/web/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  797. package/web/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  798. package/web/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  799. package/web/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  800. package/web/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  801. package/web/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  802. package/web/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  803. package/web/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  804. package/web/node_modules/caniuse-lite/data/features/woff.js +1 -1
  805. package/web/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  806. package/web/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  807. package/web/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  808. package/web/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  809. package/web/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  810. package/web/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  811. package/web/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
  812. package/web/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
  813. package/web/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  814. package/web/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  815. package/web/node_modules/caniuse-lite/data/regions/AD.js +1 -1
  816. package/web/node_modules/caniuse-lite/data/regions/AE.js +1 -1
  817. package/web/node_modules/caniuse-lite/data/regions/AF.js +1 -1
  818. package/web/node_modules/caniuse-lite/data/regions/AG.js +1 -1
  819. package/web/node_modules/caniuse-lite/data/regions/AI.js +1 -1
  820. package/web/node_modules/caniuse-lite/data/regions/AL.js +1 -1
  821. package/web/node_modules/caniuse-lite/data/regions/AM.js +1 -1
  822. package/web/node_modules/caniuse-lite/data/regions/AO.js +1 -1
  823. package/web/node_modules/caniuse-lite/data/regions/AR.js +1 -1
  824. package/web/node_modules/caniuse-lite/data/regions/AS.js +1 -1
  825. package/web/node_modules/caniuse-lite/data/regions/AT.js +1 -1
  826. package/web/node_modules/caniuse-lite/data/regions/AU.js +1 -1
  827. package/web/node_modules/caniuse-lite/data/regions/AW.js +1 -1
  828. package/web/node_modules/caniuse-lite/data/regions/AX.js +1 -1
  829. package/web/node_modules/caniuse-lite/data/regions/AZ.js +1 -1
  830. package/web/node_modules/caniuse-lite/data/regions/BA.js +1 -1
  831. package/web/node_modules/caniuse-lite/data/regions/BB.js +1 -1
  832. package/web/node_modules/caniuse-lite/data/regions/BD.js +1 -1
  833. package/web/node_modules/caniuse-lite/data/regions/BE.js +1 -1
  834. package/web/node_modules/caniuse-lite/data/regions/BF.js +1 -1
  835. package/web/node_modules/caniuse-lite/data/regions/BG.js +1 -1
  836. package/web/node_modules/caniuse-lite/data/regions/BH.js +1 -1
  837. package/web/node_modules/caniuse-lite/data/regions/BI.js +1 -1
  838. package/web/node_modules/caniuse-lite/data/regions/BJ.js +1 -1
  839. package/web/node_modules/caniuse-lite/data/regions/BM.js +1 -1
  840. package/web/node_modules/caniuse-lite/data/regions/BN.js +1 -1
  841. package/web/node_modules/caniuse-lite/data/regions/BO.js +1 -1
  842. package/web/node_modules/caniuse-lite/data/regions/BR.js +1 -1
  843. package/web/node_modules/caniuse-lite/data/regions/BS.js +1 -1
  844. package/web/node_modules/caniuse-lite/data/regions/BT.js +1 -1
  845. package/web/node_modules/caniuse-lite/data/regions/BW.js +1 -1
  846. package/web/node_modules/caniuse-lite/data/regions/BY.js +1 -1
  847. package/web/node_modules/caniuse-lite/data/regions/BZ.js +1 -1
  848. package/web/node_modules/caniuse-lite/data/regions/CA.js +1 -1
  849. package/web/node_modules/caniuse-lite/data/regions/CD.js +1 -1
  850. package/web/node_modules/caniuse-lite/data/regions/CF.js +1 -1
  851. package/web/node_modules/caniuse-lite/data/regions/CG.js +1 -1
  852. package/web/node_modules/caniuse-lite/data/regions/CH.js +1 -1
  853. package/web/node_modules/caniuse-lite/data/regions/CI.js +1 -1
  854. package/web/node_modules/caniuse-lite/data/regions/CK.js +1 -1
  855. package/web/node_modules/caniuse-lite/data/regions/CL.js +1 -1
  856. package/web/node_modules/caniuse-lite/data/regions/CM.js +1 -1
  857. package/web/node_modules/caniuse-lite/data/regions/CN.js +1 -1
  858. package/web/node_modules/caniuse-lite/data/regions/CO.js +1 -1
  859. package/web/node_modules/caniuse-lite/data/regions/CR.js +1 -1
  860. package/web/node_modules/caniuse-lite/data/regions/CU.js +1 -1
  861. package/web/node_modules/caniuse-lite/data/regions/CV.js +1 -1
  862. package/web/node_modules/caniuse-lite/data/regions/CX.js +1 -1
  863. package/web/node_modules/caniuse-lite/data/regions/CY.js +1 -1
  864. package/web/node_modules/caniuse-lite/data/regions/CZ.js +1 -1
  865. package/web/node_modules/caniuse-lite/data/regions/DE.js +1 -1
  866. package/web/node_modules/caniuse-lite/data/regions/DJ.js +1 -1
  867. package/web/node_modules/caniuse-lite/data/regions/DK.js +1 -1
  868. package/web/node_modules/caniuse-lite/data/regions/DM.js +1 -1
  869. package/web/node_modules/caniuse-lite/data/regions/DO.js +1 -1
  870. package/web/node_modules/caniuse-lite/data/regions/DZ.js +1 -1
  871. package/web/node_modules/caniuse-lite/data/regions/EC.js +1 -1
  872. package/web/node_modules/caniuse-lite/data/regions/EE.js +1 -1
  873. package/web/node_modules/caniuse-lite/data/regions/EG.js +1 -1
  874. package/web/node_modules/caniuse-lite/data/regions/ER.js +1 -1
  875. package/web/node_modules/caniuse-lite/data/regions/ES.js +1 -1
  876. package/web/node_modules/caniuse-lite/data/regions/ET.js +1 -1
  877. package/web/node_modules/caniuse-lite/data/regions/FI.js +1 -1
  878. package/web/node_modules/caniuse-lite/data/regions/FJ.js +1 -1
  879. package/web/node_modules/caniuse-lite/data/regions/FK.js +1 -1
  880. package/web/node_modules/caniuse-lite/data/regions/FM.js +1 -1
  881. package/web/node_modules/caniuse-lite/data/regions/FO.js +1 -1
  882. package/web/node_modules/caniuse-lite/data/regions/FR.js +1 -1
  883. package/web/node_modules/caniuse-lite/data/regions/GA.js +1 -1
  884. package/web/node_modules/caniuse-lite/data/regions/GB.js +1 -1
  885. package/web/node_modules/caniuse-lite/data/regions/GD.js +1 -1
  886. package/web/node_modules/caniuse-lite/data/regions/GE.js +1 -1
  887. package/web/node_modules/caniuse-lite/data/regions/GF.js +1 -1
  888. package/web/node_modules/caniuse-lite/data/regions/GG.js +1 -1
  889. package/web/node_modules/caniuse-lite/data/regions/GH.js +1 -1
  890. package/web/node_modules/caniuse-lite/data/regions/GI.js +1 -1
  891. package/web/node_modules/caniuse-lite/data/regions/GL.js +1 -1
  892. package/web/node_modules/caniuse-lite/data/regions/GM.js +1 -1
  893. package/web/node_modules/caniuse-lite/data/regions/GN.js +1 -1
  894. package/web/node_modules/caniuse-lite/data/regions/GP.js +1 -1
  895. package/web/node_modules/caniuse-lite/data/regions/GQ.js +1 -1
  896. package/web/node_modules/caniuse-lite/data/regions/GR.js +1 -1
  897. package/web/node_modules/caniuse-lite/data/regions/GT.js +1 -1
  898. package/web/node_modules/caniuse-lite/data/regions/GU.js +1 -1
  899. package/web/node_modules/caniuse-lite/data/regions/GW.js +1 -1
  900. package/web/node_modules/caniuse-lite/data/regions/GY.js +1 -1
  901. package/web/node_modules/caniuse-lite/data/regions/HK.js +1 -1
  902. package/web/node_modules/caniuse-lite/data/regions/HN.js +1 -1
  903. package/web/node_modules/caniuse-lite/data/regions/HR.js +1 -1
  904. package/web/node_modules/caniuse-lite/data/regions/HT.js +1 -1
  905. package/web/node_modules/caniuse-lite/data/regions/HU.js +1 -1
  906. package/web/node_modules/caniuse-lite/data/regions/ID.js +1 -1
  907. package/web/node_modules/caniuse-lite/data/regions/IE.js +1 -1
  908. package/web/node_modules/caniuse-lite/data/regions/IL.js +1 -1
  909. package/web/node_modules/caniuse-lite/data/regions/IM.js +1 -1
  910. package/web/node_modules/caniuse-lite/data/regions/IN.js +1 -1
  911. package/web/node_modules/caniuse-lite/data/regions/IQ.js +1 -1
  912. package/web/node_modules/caniuse-lite/data/regions/IR.js +1 -1
  913. package/web/node_modules/caniuse-lite/data/regions/IS.js +1 -1
  914. package/web/node_modules/caniuse-lite/data/regions/IT.js +1 -1
  915. package/web/node_modules/caniuse-lite/data/regions/JE.js +1 -1
  916. package/web/node_modules/caniuse-lite/data/regions/JM.js +1 -1
  917. package/web/node_modules/caniuse-lite/data/regions/JO.js +1 -1
  918. package/web/node_modules/caniuse-lite/data/regions/JP.js +1 -1
  919. package/web/node_modules/caniuse-lite/data/regions/KE.js +1 -1
  920. package/web/node_modules/caniuse-lite/data/regions/KG.js +1 -1
  921. package/web/node_modules/caniuse-lite/data/regions/KH.js +1 -1
  922. package/web/node_modules/caniuse-lite/data/regions/KI.js +1 -1
  923. package/web/node_modules/caniuse-lite/data/regions/KM.js +1 -1
  924. package/web/node_modules/caniuse-lite/data/regions/KN.js +1 -1
  925. package/web/node_modules/caniuse-lite/data/regions/KP.js +1 -1
  926. package/web/node_modules/caniuse-lite/data/regions/KR.js +1 -1
  927. package/web/node_modules/caniuse-lite/data/regions/KW.js +1 -1
  928. package/web/node_modules/caniuse-lite/data/regions/KY.js +1 -1
  929. package/web/node_modules/caniuse-lite/data/regions/KZ.js +1 -1
  930. package/web/node_modules/caniuse-lite/data/regions/LA.js +1 -1
  931. package/web/node_modules/caniuse-lite/data/regions/LB.js +1 -1
  932. package/web/node_modules/caniuse-lite/data/regions/LC.js +1 -1
  933. package/web/node_modules/caniuse-lite/data/regions/LI.js +1 -1
  934. package/web/node_modules/caniuse-lite/data/regions/LK.js +1 -1
  935. package/web/node_modules/caniuse-lite/data/regions/LR.js +1 -1
  936. package/web/node_modules/caniuse-lite/data/regions/LS.js +1 -1
  937. package/web/node_modules/caniuse-lite/data/regions/LT.js +1 -1
  938. package/web/node_modules/caniuse-lite/data/regions/LU.js +1 -1
  939. package/web/node_modules/caniuse-lite/data/regions/LV.js +1 -1
  940. package/web/node_modules/caniuse-lite/data/regions/LY.js +1 -1
  941. package/web/node_modules/caniuse-lite/data/regions/MA.js +1 -1
  942. package/web/node_modules/caniuse-lite/data/regions/MC.js +1 -1
  943. package/web/node_modules/caniuse-lite/data/regions/MD.js +1 -1
  944. package/web/node_modules/caniuse-lite/data/regions/ME.js +1 -1
  945. package/web/node_modules/caniuse-lite/data/regions/MG.js +1 -1
  946. package/web/node_modules/caniuse-lite/data/regions/MH.js +1 -1
  947. package/web/node_modules/caniuse-lite/data/regions/MK.js +1 -1
  948. package/web/node_modules/caniuse-lite/data/regions/ML.js +1 -1
  949. package/web/node_modules/caniuse-lite/data/regions/MM.js +1 -1
  950. package/web/node_modules/caniuse-lite/data/regions/MN.js +1 -1
  951. package/web/node_modules/caniuse-lite/data/regions/MO.js +1 -1
  952. package/web/node_modules/caniuse-lite/data/regions/MP.js +1 -1
  953. package/web/node_modules/caniuse-lite/data/regions/MQ.js +1 -1
  954. package/web/node_modules/caniuse-lite/data/regions/MR.js +1 -1
  955. package/web/node_modules/caniuse-lite/data/regions/MS.js +1 -1
  956. package/web/node_modules/caniuse-lite/data/regions/MT.js +1 -1
  957. package/web/node_modules/caniuse-lite/data/regions/MU.js +1 -1
  958. package/web/node_modules/caniuse-lite/data/regions/MV.js +1 -1
  959. package/web/node_modules/caniuse-lite/data/regions/MW.js +1 -1
  960. package/web/node_modules/caniuse-lite/data/regions/MX.js +1 -1
  961. package/web/node_modules/caniuse-lite/data/regions/MY.js +1 -1
  962. package/web/node_modules/caniuse-lite/data/regions/MZ.js +1 -1
  963. package/web/node_modules/caniuse-lite/data/regions/NA.js +1 -1
  964. package/web/node_modules/caniuse-lite/data/regions/NC.js +1 -1
  965. package/web/node_modules/caniuse-lite/data/regions/NE.js +1 -1
  966. package/web/node_modules/caniuse-lite/data/regions/NF.js +1 -1
  967. package/web/node_modules/caniuse-lite/data/regions/NG.js +1 -1
  968. package/web/node_modules/caniuse-lite/data/regions/NI.js +1 -1
  969. package/web/node_modules/caniuse-lite/data/regions/NL.js +1 -1
  970. package/web/node_modules/caniuse-lite/data/regions/NO.js +1 -1
  971. package/web/node_modules/caniuse-lite/data/regions/NP.js +1 -1
  972. package/web/node_modules/caniuse-lite/data/regions/NR.js +1 -1
  973. package/web/node_modules/caniuse-lite/data/regions/NU.js +1 -1
  974. package/web/node_modules/caniuse-lite/data/regions/NZ.js +1 -1
  975. package/web/node_modules/caniuse-lite/data/regions/OM.js +1 -1
  976. package/web/node_modules/caniuse-lite/data/regions/PA.js +1 -1
  977. package/web/node_modules/caniuse-lite/data/regions/PE.js +1 -1
  978. package/web/node_modules/caniuse-lite/data/regions/PF.js +1 -1
  979. package/web/node_modules/caniuse-lite/data/regions/PG.js +1 -1
  980. package/web/node_modules/caniuse-lite/data/regions/PH.js +1 -1
  981. package/web/node_modules/caniuse-lite/data/regions/PK.js +1 -1
  982. package/web/node_modules/caniuse-lite/data/regions/PL.js +1 -1
  983. package/web/node_modules/caniuse-lite/data/regions/PM.js +1 -1
  984. package/web/node_modules/caniuse-lite/data/regions/PN.js +1 -1
  985. package/web/node_modules/caniuse-lite/data/regions/PR.js +1 -1
  986. package/web/node_modules/caniuse-lite/data/regions/PS.js +1 -1
  987. package/web/node_modules/caniuse-lite/data/regions/PT.js +1 -1
  988. package/web/node_modules/caniuse-lite/data/regions/PW.js +1 -1
  989. package/web/node_modules/caniuse-lite/data/regions/PY.js +1 -1
  990. package/web/node_modules/caniuse-lite/data/regions/QA.js +1 -1
  991. package/web/node_modules/caniuse-lite/data/regions/RE.js +1 -1
  992. package/web/node_modules/caniuse-lite/data/regions/RO.js +1 -1
  993. package/web/node_modules/caniuse-lite/data/regions/RS.js +1 -1
  994. package/web/node_modules/caniuse-lite/data/regions/RU.js +1 -1
  995. package/web/node_modules/caniuse-lite/data/regions/RW.js +1 -1
  996. package/web/node_modules/caniuse-lite/data/regions/SA.js +1 -1
  997. package/web/node_modules/caniuse-lite/data/regions/SB.js +1 -1
  998. package/web/node_modules/caniuse-lite/data/regions/SC.js +1 -1
  999. package/web/node_modules/caniuse-lite/data/regions/SD.js +1 -1
  1000. package/web/node_modules/caniuse-lite/data/regions/SE.js +1 -1
  1001. package/web/node_modules/caniuse-lite/data/regions/SG.js +1 -1
  1002. package/web/node_modules/caniuse-lite/data/regions/SH.js +1 -1
  1003. package/web/node_modules/caniuse-lite/data/regions/SI.js +1 -1
  1004. package/web/node_modules/caniuse-lite/data/regions/SK.js +1 -1
  1005. package/web/node_modules/caniuse-lite/data/regions/SL.js +1 -1
  1006. package/web/node_modules/caniuse-lite/data/regions/SM.js +1 -1
  1007. package/web/node_modules/caniuse-lite/data/regions/SN.js +1 -1
  1008. package/web/node_modules/caniuse-lite/data/regions/SO.js +1 -1
  1009. package/web/node_modules/caniuse-lite/data/regions/SR.js +1 -1
  1010. package/web/node_modules/caniuse-lite/data/regions/ST.js +1 -1
  1011. package/web/node_modules/caniuse-lite/data/regions/SV.js +1 -1
  1012. package/web/node_modules/caniuse-lite/data/regions/SY.js +1 -1
  1013. package/web/node_modules/caniuse-lite/data/regions/SZ.js +1 -1
  1014. package/web/node_modules/caniuse-lite/data/regions/TC.js +1 -1
  1015. package/web/node_modules/caniuse-lite/data/regions/TD.js +1 -1
  1016. package/web/node_modules/caniuse-lite/data/regions/TG.js +1 -1
  1017. package/web/node_modules/caniuse-lite/data/regions/TH.js +1 -1
  1018. package/web/node_modules/caniuse-lite/data/regions/TJ.js +1 -1
  1019. package/web/node_modules/caniuse-lite/data/regions/TL.js +1 -1
  1020. package/web/node_modules/caniuse-lite/data/regions/TM.js +1 -1
  1021. package/web/node_modules/caniuse-lite/data/regions/TN.js +1 -1
  1022. package/web/node_modules/caniuse-lite/data/regions/TO.js +1 -1
  1023. package/web/node_modules/caniuse-lite/data/regions/TR.js +1 -1
  1024. package/web/node_modules/caniuse-lite/data/regions/TT.js +1 -1
  1025. package/web/node_modules/caniuse-lite/data/regions/TV.js +1 -1
  1026. package/web/node_modules/caniuse-lite/data/regions/TW.js +1 -1
  1027. package/web/node_modules/caniuse-lite/data/regions/TZ.js +1 -1
  1028. package/web/node_modules/caniuse-lite/data/regions/UA.js +1 -1
  1029. package/web/node_modules/caniuse-lite/data/regions/UG.js +1 -1
  1030. package/web/node_modules/caniuse-lite/data/regions/US.js +1 -1
  1031. package/web/node_modules/caniuse-lite/data/regions/UY.js +1 -1
  1032. package/web/node_modules/caniuse-lite/data/regions/UZ.js +1 -1
  1033. package/web/node_modules/caniuse-lite/data/regions/VA.js +1 -1
  1034. package/web/node_modules/caniuse-lite/data/regions/VC.js +1 -1
  1035. package/web/node_modules/caniuse-lite/data/regions/VE.js +1 -1
  1036. package/web/node_modules/caniuse-lite/data/regions/VG.js +1 -1
  1037. package/web/node_modules/caniuse-lite/data/regions/VI.js +1 -1
  1038. package/web/node_modules/caniuse-lite/data/regions/VN.js +1 -1
  1039. package/web/node_modules/caniuse-lite/data/regions/VU.js +1 -1
  1040. package/web/node_modules/caniuse-lite/data/regions/WF.js +1 -1
  1041. package/web/node_modules/caniuse-lite/data/regions/WS.js +1 -1
  1042. package/web/node_modules/caniuse-lite/data/regions/YE.js +1 -1
  1043. package/web/node_modules/caniuse-lite/data/regions/YT.js +1 -1
  1044. package/web/node_modules/caniuse-lite/data/regions/ZA.js +1 -1
  1045. package/web/node_modules/caniuse-lite/data/regions/ZM.js +1 -1
  1046. package/web/node_modules/caniuse-lite/data/regions/ZW.js +1 -1
  1047. package/web/node_modules/caniuse-lite/data/regions/alt-af.js +1 -1
  1048. package/web/node_modules/caniuse-lite/data/regions/alt-an.js +1 -1
  1049. package/web/node_modules/caniuse-lite/data/regions/alt-as.js +1 -1
  1050. package/web/node_modules/caniuse-lite/data/regions/alt-eu.js +1 -1
  1051. package/web/node_modules/caniuse-lite/data/regions/alt-na.js +1 -1
  1052. package/web/node_modules/caniuse-lite/data/regions/alt-oc.js +1 -1
  1053. package/web/node_modules/caniuse-lite/data/regions/alt-sa.js +1 -1
  1054. package/web/node_modules/caniuse-lite/data/regions/alt-ww.js +1 -1
  1055. package/web/node_modules/caniuse-lite/data/versionGroups.js +1 -1
  1056. package/web/node_modules/caniuse-lite/package.json +1 -1
  1057. package/web/package-lock.json +45 -45
  1058. package/web/server.js +1 -1
  1059. package/web/.next/server/chunks/7974.js +0 -1
  1060. package/web/.next/static/1N29vAB1vCj1iGIUfy4to/_buildManifest.js +0 -1
  1061. package/web/.next/static/chunks/5124-19d3cb5b8c373b6d.js +0 -1
  1062. package/web/.next/static/chunks/app/api/github-status/route-596ce1d0c049f589.js +0 -1
  1063. package/web/.next/static/chunks/app/api/gitlab-status/route-596ce1d0c049f589.js +0 -1
  1064. package/web/.next/static/chunks/app/api/models/route-596ce1d0c049f589.js +0 -1
  1065. package/web/.next/static/chunks/app/api/pr-status/merge/route-596ce1d0c049f589.js +0 -1
  1066. package/web/.next/static/chunks/app/api/pr-status/route-596ce1d0c049f589.js +0 -1
  1067. package/web/.next/static/chunks/app/api/preflight/route-596ce1d0c049f589.js +0 -1
  1068. package/web/.next/static/chunks/app/api/projects/[id]/branches/exists/route-596ce1d0c049f589.js +0 -1
  1069. package/web/.next/static/chunks/app/api/projects/[id]/route-596ce1d0c049f589.js +0 -1
  1070. package/web/.next/static/chunks/app/api/projects/[id]/slash-commands/route-596ce1d0c049f589.js +0 -1
  1071. package/web/.next/static/chunks/app/api/projects/route-596ce1d0c049f589.js +0 -1
  1072. package/web/.next/static/chunks/app/api/runtime/info/route-596ce1d0c049f589.js +0 -1
  1073. package/web/.next/static/chunks/app/api/runtime/resources/route-596ce1d0c049f589.js +0 -1
  1074. package/web/.next/static/chunks/app/api/runtime/terminal/route-596ce1d0c049f589.js +0 -1
  1075. package/web/.next/static/chunks/app/api/runtime/versions/route-596ce1d0c049f589.js +0 -1
  1076. package/web/.next/static/chunks/app/api/runtime/versions/switch/route-596ce1d0c049f589.js +0 -1
  1077. package/web/.next/static/chunks/app/api/runtime/voice/route-596ce1d0c049f589.js +0 -1
  1078. package/web/.next/static/chunks/app/api/runtime/voice/transcribe/route-596ce1d0c049f589.js +0 -1
  1079. package/web/.next/static/chunks/app/api/sessions/[id]/artifacts/[artifactId]/route-596ce1d0c049f589.js +0 -1
  1080. package/web/.next/static/chunks/app/api/sessions/[id]/complete/route-596ce1d0c049f589.js +0 -1
  1081. package/web/.next/static/chunks/app/api/sessions/[id]/conversation/route-596ce1d0c049f589.js +0 -1
  1082. package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-596ce1d0c049f589.js +0 -1
  1083. package/web/.next/static/chunks/app/api/sessions/[id]/logs/route-596ce1d0c049f589.js +0 -1
  1084. package/web/.next/static/chunks/app/api/sessions/[id]/pause/route-596ce1d0c049f589.js +0 -1
  1085. package/web/.next/static/chunks/app/api/sessions/[id]/respawn/route-596ce1d0c049f589.js +0 -1
  1086. package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-596ce1d0c049f589.js +0 -1
  1087. package/web/.next/static/chunks/app/api/sessions/[id]/route-596ce1d0c049f589.js +0 -1
  1088. package/web/.next/static/chunks/app/api/sessions/[id]/send/route-596ce1d0c049f589.js +0 -1
  1089. package/web/.next/static/chunks/app/api/sessions/[id]/sidecars/[name]/start/route-596ce1d0c049f589.js +0 -1
  1090. package/web/.next/static/chunks/app/api/sessions/[id]/sidecars/[name]/stop/route-596ce1d0c049f589.js +0 -1
  1091. package/web/.next/static/chunks/app/api/sessions/[id]/slash-commands/route-596ce1d0c049f589.js +0 -1
  1092. package/web/.next/static/chunks/app/api/sessions/[id]/tags/route-596ce1d0c049f589.js +0 -1
  1093. package/web/.next/static/chunks/app/api/sessions/route-596ce1d0c049f589.js +0 -1
  1094. package/web/.next/static/chunks/app/api/shepherd/spawn/route-596ce1d0c049f589.js +0 -1
  1095. package/web/.next/static/chunks/app/api/spawn/route-596ce1d0c049f589.js +0 -1
  1096. package/web/.next/static/chunks/app/apple-icon/route-596ce1d0c049f589.js +0 -1
  1097. package/web/.next/static/chunks/app/icon/route-596ce1d0c049f589.js +0 -1
  1098. package/web/.next/static/chunks/app/icon-192/route-596ce1d0c049f589.js +0 -1
  1099. package/web/.next/static/chunks/app/icon-512/route-596ce1d0c049f589.js +0 -1
  1100. package/web/.next/static/chunks/app/layout-77450a833d54e15c.js +0 -1
  1101. package/web/.next/static/chunks/app/manifest.webmanifest/route-596ce1d0c049f589.js +0 -1
  1102. package/web/.next/static/chunks/app/page-fd332d4acc6d8ff0.js +0 -1
  1103. package/web/.next/static/chunks/app/sessions/[id]/page-508070021783e022.js +0 -1
  1104. package/web/.next/static/css/a21fffd2e823d08d.css +0 -3
  1105. /package/web/.next/static/{1N29vAB1vCj1iGIUfy4to → j6j0a_rHfbTSVFFhtL-Dd}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{613:(e,t,r)=>{"use strict";r.d(t,{Dashboard:()=>eD});var a=r(8143),o=r(8855),n=r(4726),l=r(2615),s=r(2572),i=r(2480),c=r(9963),d=r.n(c),u=r(2936);let p=(0,o.createContext)({catalog:[],applyTags:async()=>{}});function x(e){return{color:e,borderColor:"color-mix(in srgb, ".concat(e," 55%, transparent)"),background:"color-mix(in srgb, ".concat(e," 10%, transparent)")}}function m(e){var t;let{session:r}=e,{catalog:n,applyTags:l}=(0,o.useContext)(p),[s,i]=(0,o.useState)(!1),[c,d]=(0,o.useState)(!1),u=(0,o.useMemo)(()=>new Map(n.map(e=>[e.name,e.color])),[n]),m=null!=(t=r.tags)?t:[],h=(0,o.useMemo)(()=>n.filter(e=>!m.includes(e.name)),[n,m]),v=n.length>0&&h.length>0;async function b(e,t){if(!c){d(!0),i(!1);try{await l(r.id,{add:e,remove:t})}catch(e){console.error("tag update failed",e)}finally{d(!1)}}}let f=m.slice(0,4),g=m.slice(4);return(0,a.jsxs)("span",{className:"relative hidden shrink-0 items-center gap-1 sm:inline-flex",children:[f.map(e=>{var t;let r=null!=(t=u.get(e))?t:"var(--color-text-tertiary)";return(0,a.jsxs)("span",{className:"group/tag inline-flex items-center border p-1.5 text-[9px] uppercase leading-none tracking-[0.06em]",style:x(r),children:[e,(0,a.jsx)("button",{"aria-label":"Remove tag ".concat(e),className:"ml-0.5 hidden shrink-0 group-hover/tag:inline-flex",disabled:c,onClick:()=>b([],[e]),type:"button",children:"\xd7"})]},e)}),g.length>0?(0,a.jsxs)("span",{className:"inline-flex items-center border border-[var(--color-border-subtle)] p-1.5 text-[9px] uppercase leading-none tracking-[0.06em] text-[var(--color-text-tertiary)]",title:g.join(", "),children:["+",g.length]}):null,v?(0,a.jsx)("button",{"aria-label":"Add tag",className:"inline-flex h-5 w-5 items-center justify-center border border-[var(--color-border-subtle)] text-[var(--color-text-tertiary)] transition hover:border-[var(--color-border-default)] hover:text-[var(--color-text-secondary)] ".concat(s||m.length>0?"opacity-60":"opacity-0 group-hover:opacity-100"),disabled:c,onClick:()=>i(e=>!e),type:"button",children:(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-2.5 w-2.5",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M12 5v14M5 12h14"})})}):null,s?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{"aria-hidden":"true",className:"fixed inset-0 z-20 cursor-default",onClick:()=>i(!1),tabIndex:-1,type:"button"}),(0,a.jsx)("div",{className:"absolute right-0 top-5 z-30 w-56 border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] py-1 shadow-lg",children:h.map(e=>(0,a.jsxs)("button",{className:"block w-full px-2 py-1.5 text-left transition hover:bg-[var(--color-hover-overlay)]",onClick:()=>b([e.name],[]),type:"button",children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-[0.06em]",style:{color:e.color},children:e.name}),(0,a.jsx)("span",{className:"mt-0.5 block text-[10px] leading-snug text-[var(--color-text-tertiary)]",children:e.description})]},e.name))})]}):null]})}var h=r(9199),v=r(6297),b=r(3982),f=r(5821),g=r(7572);function y(e){let{label:t,disabled:r,activeClass:o,onClick:n,children:l}=e;return(0,a.jsx)("button",{"aria-label":t,className:"".concat("inline-flex h-6 w-6 shrink-0 items-center justify-center border transition"," ").concat(r?"border-transparent text-[var(--color-text-tertiary)] opacity-25 cursor-not-allowed":o),disabled:r,onClick:n,type:"button",children:l})}function j(e){let{session:t}=e,r=(0,g.z3)(t),n=null==r?void 0:r.dueAt,[l,s]=(0,o.useState)(!1),[i,c]=(0,o.useState)(()=>Date.now());if((0,o.useEffect)(()=>{if(!n)return;let e=window.setInterval(()=>c(Date.now()),1e3);return()=>window.clearInterval(e)},[n]),!r)return null;let d="interval"===r.kind||"daily"===r.kind,u="interval"===r.kind?"Interval wake scheduled":"daily"===r.kind?"Daily wake scheduled":"Wake scheduled",p="wake-".concat(t.id);return(0,a.jsxs)("span",{className:"relative inline-flex shrink-0",children:[(0,a.jsx)("button",{"aria-controls":l?p:void 0,"aria-expanded":l,"aria-label":u,className:"inline-flex h-5 w-5 shrink-0 items-center justify-center border border-[var(--color-border-subtle)] text-[var(--color-status-attention)] transition hover:border-[var(--color-status-attention)] hover:bg-[var(--color-hover-overlay)]",onClick:()=>s(e=>!e),title:u,type:"button",children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3 w-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"8"}),(0,a.jsx)("path",{d:"M12 8v5l3 2"}),d?(0,a.jsx)("path",{d:"M4 12a8 8 0 0 1 13.5-5.8M20 12a8 8 0 0 1-13.5 5.8"}):null]})}),l?(0,a.jsxs)("span",{className:"absolute left-0 top-6 z-30 w-[17rem] border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] px-2.5 py-2 text-[var(--color-text-secondary)] shadow-[0_10px_30px_rgba(0,0,0,0.28)]",id:p,role:"status",children:[(0,a.jsxs)("span",{className:"flex items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-status-attention)]",children:r.label}),(0,a.jsx)("span",{className:"font-mono text-[var(--color-text-primary)]",children:(0,g.TL)(r.dueAt,i)})]}),r.intervalMs?(0,a.jsxs)("span",{className:"mt-1 block font-mono text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:["every ",(0,g.re)(r.intervalMs)]}):null,r.dailyAt?(0,a.jsxs)("span",{className:"mt-1 block font-mono text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:["daily ",r.dailyAt.join(", ")]}):null,r.stopCondition?(0,a.jsxs)("span",{className:"mt-1 block min-w-0 truncate text-[var(--color-text-secondary)]",children:["until ",r.stopCondition]}):null,(0,a.jsx)("span",{className:"mt-1 block min-w-0 truncate text-[var(--color-text-tertiary)]",children:r.message})]}):null]})}function w(e){let{projectFilterId:t,deskMemberCount:r,session:n,onOpenTerminal:l,onCompleteSession:s,onRestoreSession:i}=e,c=(0,h.Pn)(n),p=n.runtimeAlive&&!(0,f.zi)(n)&&!!n.tmuxSession,x=(0,f.ng)(n),g=("stopped"===x||"error"===x)&&(0,f.qX)(n),w=n.links.find(e=>(0,v.do)(e.label)),k=n.links.find(e=>"tracker"===e.label),N=(0,u.Y)(w),C=w?(0,v.tS)(w.url):null,[S,E]=(0,o.useState)(!1),M=("merged"===N.state||S)&&(0,f.ab)(n),L="github"===C&&!!w&&N.canMerge&&!S,P=!!(n.scheduledWake||n.intervalWake||n.dailyWake),[D,I]=(0,o.useState)(!1),[_,A]=(0,o.useState)(!1),[F,T]=(0,o.useState)(!1);return(0,a.jsxs)("div",{className:"data-row group flex items-center gap-2 border-b border-[var(--color-border-subtle)] px-2 py-2 transition-colors sm:gap-3 sm:px-2.5",children:[(0,a.jsx)("span",{className:"hidden w-[7rem] shrink-0 truncate font-semibold uppercase text-[var(--color-text-primary)] sm:inline",children:n.projectName}),(0,a.jsx)("span",{className:"hidden w-[3.5rem] shrink-0 text-[var(--color-text-tertiary)] md:inline",children:n.agent}),void 0!==r&&r>1?(0,a.jsxs)("span",{className:"hidden shrink-0 items-center gap-0.5 rounded border border-[var(--color-border-subtle)] px-1 py-0.5 font-mono text-[10px] tabular-nums leading-none text-[var(--color-text-tertiary)] sm:inline-flex",title:"".concat(r," agents on this checkout"),children:[(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3 w-3 shrink-0 text-[var(--color-text-tertiary)]",fill:"none",stroke:"currentColor",strokeWidth:"1.5",viewBox:"0 0 24 24",children:[(0,a.jsx)("rect",{height:"14",rx:"1",width:"14",x:"8",y:"8"}),(0,a.jsx)("rect",{height:"14",opacity:"0.55",rx:"1",width:"14",x:"3",y:"3"})]}),r]}):null,P?(0,a.jsx)(j,{session:n}):null,(0,a.jsx)(d(),{className:"min-w-0 flex-1 truncate text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)] hover:no-underline",href:(0,b._j)(n.id,t),children:c}),(0,a.jsx)(m,{session:n}),k?(0,a.jsx)("span",{className:"hidden sm:inline-flex",children:(0,a.jsx)(u.w,{link:k})}):null,w?(0,a.jsx)("span",{className:"hidden sm:inline-flex",children:(0,a.jsx)(u.w,{link:w,prInfo:N})}):null,(0,a.jsx)("span",{className:"hidden w-[8rem] shrink-0 truncate text-right font-mono text-[var(--color-text-secondary)] lg:inline",children:n.branch}),(0,a.jsx)("span",{className:"w-[4rem] shrink-0 text-right text-[var(--color-text-tertiary)]",children:(0,h.fw)(n.lastActivityAt)}),M?(0,a.jsx)(y,{label:"Mark ".concat(n.id," as done"),disabled:D,activeClass:"border-[var(--color-border-default)] text-[var(--color-text-secondary)] hover:border-[var(--color-status-ready)] hover:text-[var(--color-status-ready)]",onClick:async()=>{if(!D){I(!0);try{await s(n)}catch(e){console.error("complete failed",e),I(!1)}}},children:(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M20 6 9 17l-5-5"})})}):L?(0,a.jsx)(y,{label:"Merge PR for ".concat(n.id),disabled:_,activeClass:"border-[var(--color-border-default)] text-[var(--color-text-secondary)] hover:border-[var(--color-status-ready)] hover:text-[var(--color-status-ready)]",onClick:async()=>{if(w){A(!0);try{let e=await fetch("/api/pr-status/merge",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({url:w.url})});if(!e.ok)throw Error("merge: ".concat(e.status));(0,v.Gl)(w.url,{...N,state:"merged",canMerge:!1,fetchedAt:Date.now(),stale:!1}),E(!0)}catch(e){console.error("merge failed",e),A(!1)}}},children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M7 6a2.5 2.5 0 1 0-2.5 2.5A2.5 2.5 0 0 0 7 6Z"}),(0,a.jsx)("path",{d:"M19.5 15.5A2.5 2.5 0 1 0 17 18a2.5 2.5 0 0 0 2.5-2.5Z"}),(0,a.jsx)("path",{d:"M19.5 6A2.5 2.5 0 1 0 17 8.5 2.5 2.5 0 0 0 19.5 6Z"}),(0,a.jsx)("path",{d:"M7 6h5a5 5 0 0 1 5 5v2.5"})]})}):g?(0,a.jsx)(y,{label:"Restore session ".concat(n.id),disabled:F,activeClass:"border-[var(--color-border-default)] text-[var(--color-text-secondary)] hover:border-[var(--color-status-ready)] hover:text-[var(--color-status-ready)]",onClick:async()=>{if(!F){T(!0);try{await i(n)}catch(e){console.error("restore failed",e),T(!1)}}},children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,a.jsx)("path",{d:"M3 4v6h6"}),(0,a.jsx)("path",{d:"M10 12h4"}),(0,a.jsx)("path",{d:"m14 12-2-2"}),(0,a.jsx)("path",{d:"m14 12-2 2"})]})}):(0,a.jsx)(y,{label:"Open web terminal for ".concat(n.id),disabled:!p,activeClass:"border-[var(--color-border-default)] text-[var(--color-text-secondary)] hover:border-[var(--color-accent)] hover:text-[var(--color-accent)]",onClick:()=>p&&(null==l?void 0:l(n)),children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.8",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M4 6.75A1.75 1.75 0 0 1 5.75 5h12.5A1.75 1.75 0 0 1 20 6.75v10.5A1.75 1.75 0 0 1 18.25 19H5.75A1.75 1.75 0 0 1 4 17.25Z"}),(0,a.jsx)("path",{d:"m8 10 2.5 2L8 14.5"}),(0,a.jsx)("path",{d:"M13 15h3"})]})})]})}let k={error:{label:"Errors",color:"var(--color-status-error)"},rate_limited:{label:"Rate Limited",color:"var(--color-status-attention)"},respond:{label:"Needs Input",color:"var(--color-status-error)"},working:{label:"Working",color:"var(--color-status-working)"},pending:{label:"Waiting",color:"var(--color-status-attention)"},stopped:{label:"Stopped",color:"var(--color-text-tertiary)",dividerColor:"var(--color-border-subtle)"},done:{label:"Completed",color:"var(--color-status-ready)"}};function N(e){var t;let{level:r,projectFilterId:o,rows:n,collapsed:l,onToggle:s,onOpenTerminal:i,onCompleteSession:c,onRestoreSession:d}=e,u=k[r],p=(0,a.jsxs)("div",{className:"flex items-center gap-2 py-2",children:[(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:u.color}}),(0,a.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-secondary)]",children:u.label}),(0,a.jsx)("div",{className:"flex-1 border-t",style:{borderColor:null!=(t=u.dividerColor)?t:"color-mix(in srgb, ".concat(u.color," 25%, transparent)")}}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:n.length})]}),x=n.map(e=>(0,a.jsx)(w,{deskMemberCount:e.deskMemberCount,projectFilterId:o,session:e.session,onOpenTerminal:i,onCompleteSession:c,onRestoreSession:d},e.session.id));return"function"==typeof s?(0,a.jsxs)("section",{children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center text-left",onClick:()=>s(r),children:[(0,a.jsx)("div",{className:"flex-1",children:p}),(0,a.jsx)("span",{className:"ml-2 text-[10px] text-[var(--color-text-tertiary)]",children:l?"▸":"▾"})]}),l?null:x]}):(0,a.jsxs)("section",{children:[p,x]})}var C=r(3519);function S(){let[e,t]=(0,o.useState)(!1),[r,a]=(0,o.useState)(!1),[n,l]=(0,o.useState)(!1),s=(0,o.useRef)(null),i=!n&&(e||r);return(0,o.useEffect)(()=>{if(!window.matchMedia("(hover: none) and (pointer: coarse)").matches||!i)return;let e=e=>{var r;let o=e.target;o instanceof Node&&(null!=(r=s.current)&&r.contains(o)||(l(!0),a(!1),t(!1)))};return document.addEventListener("pointerdown",e),()=>{document.removeEventListener("pointerdown",e)}},[i]),{containerRef:s,open:i,onBlur(e){e.currentTarget.contains(e.relatedTarget)||(a(!1),l(!1))},onMouseEnter(){l(!1),t(!0)},onMouseLeave(){l(!1),t(!1)},toggle(){l(!1),a(e=>!e)},dismiss(){l(!0),a(!1)}}}var E=r(6618),M=r(4697);let L=/^\d+\.\d+\.\d+$/;function P(e){if(!L.test(e))return null;let[t,r,a]=e.split(".").map(e=>Number.parseInt(e,10));return[t,r,a]}function D(e){let{current:t,pending:r,status:n,errorMessage:l,onConfirm:s,onCancel:i}=e,c=(0,o.useRef)(null),d=(0,o.useRef)(null);return(0,o.useEffect)(()=>{var e;null==(e=c.current)||e.focus()},[]),(0,o.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:null;return()=>{null==e||e.focus()}},[]),(0,o.useEffect)(()=>{let e=e=>{if("Escape"===e.key&&"pending"!==n)return void i();if("Tab"!==e.key)return;let t=d.current;if(!t)return;let r=t.querySelectorAll('button:not([disabled]), [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(0===r.length)return;let a=r[0],o=r[r.length-1];if(!a||!o)return;let l=document.activeElement;if(e.shiftKey){l!==a&&t.contains(l)||(e.preventDefault(),o.focus());return}l===o&&(e.preventDefault(),a.focus())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i,n]),(0,a.jsx)("div",{"aria-labelledby":"switch-version-dialog-title","aria-modal":"true",className:"fixed inset-0 z-[60] flex items-center justify-center bg-[var(--color-modal-backdrop)]",role:"dialog",onClick:e=>{e.target===e.currentTarget&&"pending"!==n&&i()},children:(0,a.jsxs)("div",{ref:d,className:"w-[min(22rem,calc(100vw-2rem))] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-4 shadow-[0_8px_24px_var(--color-shadow-modal-sm)]",children:[(0,a.jsx)("h2",{className:"mb-2 font-bold text-[var(--color-text-primary)]",id:"switch-version-dialog-title",children:"Switch Spur version"}),(0,a.jsxs)("p",{className:"mb-3 normal-case tracking-normal text-[var(--color-text-secondary)]",children:["Switch from ",(0,a.jsx)("span",{className:"text-[var(--color-text-primary)]",children:t||"?"})," to"," ",(0,a.jsx)("span",{className:"text-[var(--color-text-primary)]",children:r}),"? The Spur daemon will restart. Refresh this page in about 10 seconds."]}),"error"===n&&l?(0,a.jsx)("p",{className:"mb-3 normal-case tracking-normal text-[var(--color-status-attention)]","data-testid":"switch-version-error",children:l}):null,(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,a.jsx)("button",{ref:c,className:"border border-[var(--color-border-default)] px-3 py-1 text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)] disabled:cursor-not-allowed disabled:opacity-50",disabled:"pending"===n,type:"button",onClick:i,children:"Cancel"}),(0,a.jsx)("button",{className:"border border-[var(--color-status-attention)] px-3 py-1 font-bold text-[var(--color-status-attention)] outline-none transition-colors hover:bg-[var(--color-status-attention)] hover:text-[var(--color-bg-elevated)] focus-visible:bg-[var(--color-status-attention)] focus-visible:text-[var(--color-bg-elevated)] disabled:cursor-not-allowed disabled:opacity-50",disabled:"pending"===n,type:"button",onClick:s,children:"pending"===n?"Switching…":"Switch"})]})]})})}function I(e){return"object"==typeof e&&null!==e&&"version"in e&&"string"==typeof e.version}function _(e){return"object"==typeof e&&null!==e&&"string"==typeof e.tag&&"string"==typeof e.publishedAt}function A(){var e,t,r,s,i,c,d,u,p,x,m,v;let b=S(),f=(0,n.jE)(),[g,y]=(0,o.useState)(null),[j,w]=(0,o.useState)(null),k=(0,o.useRef)(null),N=(0,l.I)({queryKey:["runtime","info"],queryFn:async e=>{let{signal:t}=e,r=await fetch("/api/runtime/info",{signal:t});if(!r.ok)throw Error("runtime info ".concat(r.status));let a=await r.json();if(!I(a))throw Error("Unexpected runtime info shape");return a}}),C=(0,l.I)({queryKey:["runtime","versions"],queryFn:async e=>{let{signal:t}=e,r=await fetch("/api/runtime/versions",{signal:t});if(!r.ok)throw Error("runtime versions ".concat(r.status));let a=await r.json();if(!("object"==typeof a&&null!==a&&"string"==typeof a.current&&Array.isArray(a.available)&&a.available.every(_)))throw Error("Unexpected runtime versions shape");return a},staleTime:6e4,refetchOnMount:!0}),L=(0,E.n)({mutationFn:async e=>{var t,r;let a=await fetch("/api/runtime/versions/switch",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({version:e})}),o=await (0,M.Y3)(a);if(202!==a.status||"object"!=typeof o||null===o||!0!==o.accepted||"string"!=typeof o.version){let e=(0,M.$8)(o,"");throw Error((t=a.status,r=e||null,409===t?"Cannot switch — daemon is running from a source checkout.":503===t&&"npm registry unreachable"===r?"npm registry unreachable — try again in a minute.":400===t&&"version not in registry"===r?"Version not available in the npm registry yet.":400===t&&"invalid version"===r?"Version is not a valid semver release.":"Switch failed. Check the daemon log and try again."))}return o},onSuccess:e=>{var t;w({phase:"switching",target:e.version}),y(null),b.dismiss(),null==(t=k.current)||t.focus()}});(0,o.useEffect)(()=>{if((null==j?void 0:j.phase)!=="switching")return;let e=j.target,t=0,r=!1,a=window.setInterval(()=>{(async()=>{t+=1;try{let t=await fetch("/api/runtime/info");if(t.ok){let a=await (0,M.Y3)(t);if(!r&&I(a)&&a.version===e){w({phase:"done",target:e}),await Promise.all([f.invalidateQueries({queryKey:["runtime","info"]}),f.invalidateQueries({queryKey:["runtime","versions"]})]);return}}}catch(e){}!r&&t>=30&&w({phase:"failed",target:e})})()},3e3);return()=>{r=!0,window.clearInterval(a)}},[j,f]);let A=N.isError?"dev":N.data?N.data.version:"…",F=null!=(u=null==(e=C.data)?void 0:e.available)?u:[],T=null!=(x=null!=(p=null==(t=C.data)?void 0:t.current)?p:null==(r=N.data)?void 0:r.version)?x:"",R=null!=(m=null==(s=F[0])?void 0:s.tag)?m:"",B=function(e,t){let r=P(e),a=P(t);return!!r&&!!a&&(r[0]!==a[0]?r[0]>a[0]:r[1]!==a[1]?r[1]>a[1]:r[2]>a[2])}(R,T),{dismiss:q}=b;(0,o.useEffect)(()=>{if(!b.open)return;let e=e=>{"Escape"===e.key&&null===g&&q()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[b.open,q,g]),(0,o.useEffect)(()=>{if((null==j?void 0:j.phase)!=="done")return;let e=window.setTimeout(()=>w(null),1e4);return()=>window.clearTimeout(e)},[j]);let K=(0,o.useCallback)(()=>{L.isPending||(y(null),L.reset())},[L]),O=(0,o.useCallback)(()=>{g&&L.mutate(g)},[g,L]),W=L.isPending?"pending":L.isError?"error":"idle",z=null!=(v=null==(i=L.error)?void 0:i.message)?v:null;return(0,a.jsxs)("div",{ref:b.containerRef,className:"relative",onBlur:b.onBlur,onMouseEnter:b.onMouseEnter,onMouseLeave:b.onMouseLeave,children:[(0,a.jsxs)("button",{ref:k,"aria-expanded":b.open,"aria-haspopup":"true","aria-label":"Show Spur version information",className:"-m-1.5 flex items-center gap-1.5 p-1.5 text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)]",type:"button",onClick:b.toggle,children:[(0,a.jsx)("span",{children:A}),B?(0,a.jsx)("span",{className:"rounded-sm border border-[var(--color-status-attention)] px-1 py-0.5 text-[10px] font-bold leading-none text-[var(--color-status-attention)]","data-testid":"version-update-badge",children:"update available"}):null]}),j?(0,a.jsxs)("div",{"aria-live":"polite",className:"absolute bottom-full right-0 z-50 mb-1.5 flex w-[min(20rem,calc(100vw-1rem))] items-start justify-between gap-2 border bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)] ".concat("failed"===j.phase?"border-[var(--color-status-error)] text-[var(--color-status-error)]":"border-[var(--color-status-attention)] text-[var(--color-status-attention)]"),"data-testid":"version-switch-status",role:"status",children:[(0,a.jsx)("span",{children:"switching"===j.phase?"Switching Spur to ".concat(j.target,"…"):"done"===j.phase?"Spur is now running ".concat(j.target,"."):"Switch to ".concat(j.target," not confirmed — check ~/.spur/logs/install-and-restart.log.")}),"switching"!==j.phase?(0,a.jsx)("button",{"aria-label":"Dismiss version switch status",className:"font-bold outline-none transition-opacity hover:opacity-70 focus-visible:opacity-70",type:"button",onClick:()=>w(null),children:"\xd7"}):null]}):null,b.open&&!j?(0,a.jsxs)("div",{className:"absolute bottom-full right-0 z-50 mb-1.5 w-[min(20rem,calc(100vw-1rem))] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)]",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-3 border-b border-[var(--color-border-subtle)] pb-2",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Spur"}),(0,a.jsx)("span",{className:"font-bold text-[var(--color-text-primary)]",children:T||A})]}),(null==(c=C.data)?void 0:c.stale)?(0,a.jsx)("div",{className:"mb-2 normal-case tracking-normal text-[var(--color-status-attention)]","data-testid":"version-registry-stale",children:"npm registry unreachable — list may be outdated"}):null,0===F.length?(0,a.jsx)("div",{className:"normal-case tracking-normal text-[var(--color-text-secondary)]",children:(null==(d=C.data)?void 0:d.registryError)?"npm registry unreachable":"No releases available"}):(0,a.jsx)("ul",{className:"flex max-h-48 flex-col gap-1 overflow-y-auto",children:F.map(e=>{let t=e.tag===T,r=e.tag===R;return(0,a.jsxs)("li",{className:"flex items-center justify-between gap-3 normal-case tracking-normal","data-current":t?"true":void 0,children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[var(--color-text-secondary)]",children:[(0,a.jsx)("span",{className:"font-bold text-[var(--color-text-primary)]",children:e.tag}),t?(0,a.jsx)("span",{className:"text-[var(--color-text-tertiary)]",children:"current"}):null,!t&&r&&B?(0,a.jsx)("span",{className:"text-[var(--color-status-attention)]",children:"latest"}):null]}),(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-tertiary)]",children:(0,h.fw)(e.publishedAt)}),t?null:(0,a.jsx)("button",{"aria-label":"Switch Spur to ".concat(e.tag),className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] font-bold text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)] disabled:cursor-not-allowed disabled:opacity-50","data-testid":"switch-version-".concat(e.tag),disabled:L.isPending,type:"button",onClick:()=>{w(null),L.reset(),y(e.tag)},children:"Switch"})]})]},e.tag)})})]}):null,null!==g?(0,a.jsx)(D,{current:T,errorMessage:z,pending:g,status:W,onCancel:K,onConfirm:O}):null]})}function F(e,t){let{data:r}=(0,l.I)({queryKey:["platform-status",e],queryFn:async r=>{let{signal:a}=r,o=await fetch(e,{signal:a});return o.ok?await o.json():{ok:!1,error:"".concat(t," (").concat(o.status,")"),requestedAt:null,configured:!0}},refetchInterval:12e4,refetchIntervalInBackground:!1,staleTime:12e4});return null!=r?r:null}function T(e){return"error"===e?"var(--color-status-error)":"attention"===e?"var(--color-status-attention)":"ready"===e?"var(--color-status-ready)":"var(--color-text-tertiary)"}function R(e,t){return"disk"===e?t>=85?"error":"ready":t>=85?"attention":"ready"}function B(e){let{level:t}=e,r=T(t);return(0,a.jsx)("span",{"aria-hidden":"true",className:"h-1.5 w-1.5 shrink-0 rounded-full",style:{backgroundColor:r,boxShadow:"0 0 4px ".concat(r)}})}function q(e){let{label:t,level:r,value:o}=e;return(0,a.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[var(--color-text-secondary)]",children:[(0,a.jsx)(B,{level:r}),(0,a.jsx)("span",{children:t})]}),(0,a.jsx)("span",{"aria-label":"".concat(t," ").concat(o," ").concat("error"===r?"critical":"attention"===r?"warning":"ready"===r?"healthy":"unavailable"),className:"font-bold",style:{color:T(r)},children:o})]})}function K(e){return null===e?"Checking":e.ok?"Healthy":"Error"}function O(e){let{platform:t,status:r}=e,o=S(),n="github"===t?"GitHub":"GitLab",l="github"===t?v.Nb:v.xD,s=null===r?"unknown":r.ok?"ready":"error",i=K(r).toLowerCase();return(0,a.jsxs)("div",{ref:o.containerRef,className:"relative",onBlur:o.onBlur,onMouseEnter:o.onMouseEnter,onMouseLeave:o.onMouseLeave,children:[(0,a.jsxs)("button",{"aria-expanded":o.open,"aria-label":"".concat(n," connection ").concat(i),className:"-m-1.5 flex items-center gap-1.5 p-1.5 text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)]",type:"button",onClick:o.toggle,children:[(0,a.jsx)(l,{}),(0,a.jsx)(B,{level:s})]}),o.open?(0,a.jsxs)("div",{className:"absolute bottom-full left-0 z-50 mb-1.5 min-w-[180px] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)]",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-3 border-b border-[var(--color-border-subtle)] pb-2",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:n}),(0,a.jsx)("span",{className:"font-bold",style:{color:T(s)},children:K(r)})]}),(0,a.jsx)("div",{className:"normal-case tracking-normal text-[var(--color-text-secondary)]",onClick:o.dismiss,children:null===r?"Checking authentication and API availability.":r.ok?(0,a.jsxs)(a.Fragment,{children:["Last request: ",(0,h.eB)(r.requestedAt)]}):r.error})]}):null]})}function W(){let e=F("/api/github-status","GitHub status unavailable"),t=F("/api/gitlab-status","GitLab status unavailable"),r=function(){let{data:e}=(0,l.I)({queryKey:["runtime","resources"],queryFn:async e=>{let{signal:t}=e,r=await fetch("/api/runtime/resources",{signal:t});if(!r.ok)return{available:!1};let a=await r.json();return a.available&&Number.isFinite(a.cpuPercent)&&Number.isFinite(a.memoryPercent)&&Number.isFinite(a.diskPercent)?a:{available:!1}},refetchInterval:15e3,refetchIntervalInBackground:!0,staleTime:15e3});return null!=e?e:{available:!1}}(),n=function(){let{data:e,status:t,isError:r}=(0,l.I)({queryKey:["sessions"],queryFn:C.hT});return!r&&("pending"===t&&void 0===e?void 0:void 0!==e?!1!==e.daemonAlive:void 0)}(),s=function(){let{data:e}=(0,l.I)({queryKey:["sessions"],queryFn:C.hT});return(0,o.useMemo)(()=>{var t,r,a;let o=new Set;for(let n of null!=(t=null==e?void 0:e.sessions)?t:[])for(let e of null!=(a=null==(r=n.slots)?void 0:r.links)?a:[]){if(!(0,v.do)(e.label))continue;let t=(0,v.tS)(e.url);t&&o.add(t)}return o},[null==e?void 0:e.sessions])}(),i=S(),c=function(e,t){if(!1===t)return"error";if(void 0===t)return"unknown";if(!e.available)return"ready";let r=R("cpu",e.cpuPercent),a=R("memory",e.memoryPercent);return"error"===R("disk",e.diskPercent)?"error":"attention"===r||"attention"===a?"attention":"ready"}(r,n),d=void 0===n?"unknown":n?"ready":"error",u=void 0===n?"unavailable":n?"online":"offline",p="error"===c?"Critical":"attention"===c?"Warning":"ready"===c?"Healthy":"Unavailable",x=null===e||!0===e.configured||s.has("github"),m=null===t||!0===t.configured||s.has("gitlab");return(0,a.jsxs)("footer",{className:"fixed bottom-0 left-0 right-0 z-40 flex min-h-6 flex-wrap items-center gap-x-3 gap-y-1 border-t border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2 py-1 text-[10px] uppercase tracking-[0.08em] sm:px-4",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-3 gap-y-1 sm:gap-x-6",children:[(0,a.jsxs)("div",{ref:i.containerRef,className:"group/status relative",onBlur:i.onBlur,onMouseEnter:i.onMouseEnter,onMouseLeave:i.onMouseLeave,children:[(0,a.jsxs)("button",{"aria-expanded":i.open,"aria-label":"Show aggregated system status",className:"-m-1.5 flex items-center gap-1.5 p-1.5 text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)]","data-status":c,type:"button",onClick:i.toggle,children:[(0,a.jsx)(v.np,{}),(0,a.jsx)(B,{level:c})]}),i.open?(0,a.jsxs)("div",{className:"absolute bottom-full left-0 z-50 mb-1.5 w-[min(16rem,calc(100vw-1rem))] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)]",onClick:i.dismiss,children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-3 border-b border-[var(--color-border-subtle)] pb-2",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"System"}),(0,a.jsx)("span",{className:"font-bold",style:{color:T(c)},children:p})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(q,{label:"Daemon",level:d,value:u}),(0,a.jsx)(q,{label:"CPU",level:r.available?R("cpu",r.cpuPercent):"unknown",value:r.available?"".concat(r.cpuPercent,"%"):"unavailable"}),(0,a.jsx)(q,{label:"RAM",level:r.available?R("memory",r.memoryPercent):"unknown",value:r.available?"".concat(r.memoryPercent,"%"):"unavailable"}),(0,a.jsx)(q,{label:"HDD",level:r.available?R("disk",r.diskPercent):"unknown",value:r.available?"".concat(r.diskPercent,"%"):"unavailable"})]})]}):null]}),x?(0,a.jsx)(O,{platform:"github",status:e}):null,m?(0,a.jsx)(O,{platform:"gitlab",status:t}):null]}),(0,a.jsx)("div",{className:"ml-auto shrink-0 text-[var(--color-text-tertiary)]",children:(0,a.jsx)(A,{})})]})}function z(e){let{message:t}=e;return(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-sm border border-dashed border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-6 py-10 text-center",children:[(0,a.jsx)("div",{className:"mb-4 flex h-10 w-10 items-center justify-center rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] text-xl",children:"\uD81A\uDD13"}),(0,a.jsx)("p",{className:"max-w-xl text-sm leading-6 text-[var(--color-text-secondary)]",children:null!=t?t:"No Spur sessions are visible yet. Start one with `spur spawn <project>` and it will appear here."})]})}var U=r(5135),Q=r(30),J=r(9085),H=r(7069),Z=r(8701),$=r(5829),V=r(8994),G=r(1795),Y=r(7693),X=r(7840),ee=r(8960),et=r(418),er=r(6049);function ea(e){return e.normalize("NFKD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9./-]+/g,"-").split("/").map(e=>e.replace(/-{2,}/g,"-").replace(/\.{2,}/g,".").replace(/^[-.]+|[-.]+$/g,"").replace(/(\.lock)+$/,"").replace(/[-.]+$/g,"")).filter(e=>e.length>0).join("/")}var eo=r(7094),en=r(5342);function el(e){var t;let{catalog:r,value:n,onChange:l}=e,[s,i]=(0,o.useState)(!1),c=n&&null!=(t=r.find(e=>e.name===n))?t:null;return(0,a.jsxs)("div",{className:"relative inline-flex shrink-0",children:[(0,a.jsxs)("button",{"aria-label":"Filter by tag",className:"flex items-center gap-1.5 border px-2 py-1.5 uppercase transition ".concat(c?"border-[var(--color-accent)] bg-[var(--color-accent)]/10":"border-[var(--color-border-default)] bg-[var(--color-bg-surface)] hover:border-[var(--color-text-tertiary)]"),onClick:()=>i(e=>!e),type:"button",children:[c?null:(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5 text-[var(--color-text-tertiary)]",fill:"none",stroke:"currentColor",strokeWidth:"1.8",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M3 5h18M6 12h12M10 19h4"})}),(0,a.jsx)("span",{className:"text-[var(--color-text-primary)]",children:c?c.name:"Tags"}),(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3 w-3 text-[var(--color-text-tertiary)]",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m6 9 6 6 6-6"})})]}),s?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{"aria-hidden":"true",className:"fixed inset-0 z-20 cursor-default",onClick:()=>i(!1),tabIndex:-1,type:"button"}),(0,a.jsxs)("div",{className:"absolute left-0 top-full z-30 mt-1 max-h-72 w-44 overflow-y-auto border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] py-1 shadow-lg",children:[(0,a.jsx)("button",{className:"block w-full px-2 py-1.5 text-left text-[10px] uppercase tracking-[0.08em] transition hover:bg-[var(--color-hover-overlay)] ".concat(c?"text-[var(--color-text-secondary)]":"text-[var(--color-text-primary)]"),onClick:()=>{l(null),i(!1)},type:"button",children:"All tags"}),r.map(e=>(0,a.jsx)("button",{className:"flex w-full items-center px-2 py-1.5 text-left transition hover:bg-[var(--color-hover-overlay)]",onClick:()=>{l(e.name),i(!1)},type:"button",children:(0,a.jsx)("span",{className:"inline-flex items-center border p-1.5 text-[9px] uppercase leading-none tracking-[0.06em]",style:x(e.color),children:e.name})},e.name))]})]}):null]})}let es=new Set(f.HO),ei=["stopped"],ec="spur:last-spawn-project",ed="spur:tag-filter",eu="inline-flex h-7 w-7 shrink-0 items-center justify-center bg-transparent text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",ep="spur:mobile-collapsed-categories",ex="spur-shepherd";function em(){let e=window.localStorage.getItem(ep);if(!e)return new Set(ei);try{let t=JSON.parse(e);if(!Array.isArray(t))return new Set;return new Set(t.filter(e=>es.has(e)))}catch(e){return new Set}}function eh(e){let{icon:t,label:r,value:o,color:n,active:l,onClick:s}=e;return(0,a.jsxs)("button",{className:"flex min-w-0 flex-row items-center justify-center gap-1.5 border px-1.5 py-0.5 transition sm:justify-start sm:shrink-0 ".concat(l?"border-[var(--color-accent)] bg-[var(--color-accent)]/10":"border-transparent hover:border-[var(--color-border-default)]"),onClick:s,type:"button",children:[(0,a.jsx)("span",{style:n?{color:n}:void 0,children:t}),(0,a.jsxs)("span",{className:"hidden min-w-0 truncate text-[var(--color-text-secondary)] sm:inline",children:[r,":"]}),(0,a.jsx)("span",{className:"font-bold text-[var(--color-text-primary)]",style:n?{color:n}:void 0,children:o})]})}function ev(){return(0,a.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,a.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}function eb(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"}),(0,a.jsx)("path",{d:"M12 9v4"}),(0,a.jsx)("path",{d:"M12 17h.01"})]})}function ef(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"M12 6v6l4 2"})]})}function eg(){return(0,a.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,a.jsx)("path",{d:"M13 2 3 14h9l-1 8 10-12h-9l1-8z"})})}function ey(){return(0,a.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M20 6 9 17l-5-5"})})}function ej(){return(0,a.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("rect",{x:"5",y:"5",width:"14",height:"14"})})}function ew(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M12 20h9"}),(0,a.jsx)("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]})}function ek(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("rect",{x:"6",y:"8",width:"12",height:"10"}),(0,a.jsx)("path",{d:"M9 8V5"}),(0,a.jsx)("path",{d:"M15 8V5"}),(0,a.jsx)("circle",{cx:"10",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"14",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),(0,a.jsx)("path",{d:"M10 16h4"}),(0,a.jsx)("path",{d:"M4 12h2"}),(0,a.jsx)("path",{d:"M18 12h2"})]})}function eN(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,a.jsx)("path",{d:"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"}),(0,a.jsx)("path",{d:"M10 11v6"}),(0,a.jsx)("path",{d:"M14 11v6"}),(0,a.jsx)("path",{d:"M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"})]})}function eC(){return window.location.search}function eS(e,t){if("worktree"===e){let e=t.trim();return e?{worktree:!0,defaultBranch:e}:{worktree:!0}}if("shared"===e)return{worktree:!1}}function eE(e,t){return"shepherd"===e.kind?-1:"shepherd"===t.kind?1:e.name.localeCompare(t.name,void 0,{sensitivity:"base"})}function eM(e){let{activeProjectName:t,projects:r,selectedProjectId:o,onSelectProject:n,onNewProject:l,onEdit:s}=e,i=S();return(0,a.jsxs)("div",{ref:i.containerRef,className:"relative",onBlur:i.onBlur,onMouseEnter:i.onMouseEnter,onMouseLeave:i.onMouseLeave,children:[(0,a.jsxs)("button",{"aria-expanded":i.open,"aria-haspopup":"menu","aria-label":"Project filter: ".concat(t),className:"inline-flex min-w-0 max-w-full items-center gap-3 text-[var(--color-text-primary)] transition hover:text-[var(--color-accent)]",type:"button",onClick:i.toggle,children:[(0,a.jsx)("span",{className:"text-xl text-[var(--color-accent)]",children:"\uD81A\uDD13"}),(0,a.jsxs)("span",{className:"inline-flex min-w-0 max-w-full items-center gap-1 text-xl font-bold uppercase tracking-[-0.02em] sm:text-2xl",children:[(0,a.jsx)("span",{className:"block min-w-0 truncate",children:t}),(0,a.jsx)("svg",{"aria-hidden":"true","data-testid":"project-filter-chevron",className:"pointer-events-none mt-px h-4 w-4 shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"M4 6.5 8 10.5 12 6.5Z"})})]})]}),i.open?(0,a.jsxs)("div",{className:"absolute left-0 top-full z-50 mt-1 min-w-[260px] max-w-[calc(100vw-1rem)] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)]",role:"menu",children:[(0,a.jsxs)("button",{"aria-checked":""===o,className:"mb-1 flex w-full items-center gap-2 border px-2 py-1.5 text-left font-bold uppercase transition hover:border-[var(--color-accent)] hover:bg-[var(--color-accent)]/20 hover:text-[var(--color-accent)] ".concat(""===o?"border-[var(--color-accent)] bg-[var(--color-accent)]/10 text-[var(--color-accent)] hover:bg-[var(--color-accent)]/25":"border-transparent text-[var(--color-text-primary)]"),onClick:()=>{i.dismiss(),n("")},role:"menuitemradio",type:"button",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"w-3 text-center",children:""===o?"✓":""}),(0,a.jsx)("span",{children:"All Projects"})]}),0===r.length?(0,a.jsx)("p",{className:"px-2 py-1.5 text-[var(--color-text-tertiary)]",children:"No projects yet."}):(0,a.jsx)("ul",{className:"flex flex-col",role:"group",children:r.map(e=>(0,a.jsxs)("li",{role:"none",className:"group flex items-center gap-2 border-t border-[var(--color-border-subtle)] py-1.5 transition hover:bg-[var(--color-accent)]/10",children:[e.configured?(0,a.jsxs)("button",{"aria-checked":o===e.id,className:"flex min-w-0 flex-1 items-center gap-2 border px-2 py-1.5 text-left transition hover:border-[var(--color-accent)] hover:bg-[var(--color-accent)]/20 hover:text-[var(--color-accent)] ".concat(o===e.id?"border-[var(--color-accent)] bg-[var(--color-accent)]/10 text-[var(--color-accent)] hover:bg-[var(--color-accent)]/25":"border-transparent text-[var(--color-text-primary)]"),onClick:()=>{i.dismiss(),n(e.id)},role:"menuitemradio",type:"button",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:o===e.id?"✓":""}),(0,a.jsx)("span",{className:"min-w-0 truncate",children:e.name}),"shepherd"===e.kind?(0,a.jsx)("span",{className:"shrink-0 border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase text-[var(--color-text-tertiary)]",children:"built-in"}):null]}):(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate text-[var(--color-text-primary)]",children:e.name}),"shepherd"!==e.kind||e.configured?null:(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase text-[var(--color-text-tertiary)]",children:"built-in"}),e.configured?null:(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase text-[var(--color-text-tertiary)]",children:"unconfigured"}),(0,a.jsx)("button",{"aria-label":"Edit ".concat(e.name),className:"border border-transparent px-1.5 py-1 text-[var(--color-text-tertiary)] transition group-hover:border-[var(--color-border-subtle)] group-hover:bg-[var(--color-accent)]/15 hover:border-[var(--color-border-strong)] hover:bg-[var(--color-accent)]/20 hover:text-[var(--color-accent)]",onClick:()=>{i.dismiss(),s(e)},role:"menuitem",type:"button",children:(0,a.jsx)(ew,{})})]},e.id))}),(0,a.jsx)("button",{className:"mt-2 w-full bg-[var(--color-accent)] px-2 py-1.5 text-left font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)]",onClick:()=>{i.dismiss(),l()},role:"menuitem",type:"button",children:"+ New project"})]}):null]})}function eL(e){let{displayName:t,prefix:r,path:n,error:l,missingPath:s,submitting:i,onDisplayNameChange:c,onPrefixChange:d,onPathChange:u,onSubmit:p,onCreateFolder:x,onClose:m}=e;return(0,o.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(e.preventDefault(),m())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[m]),(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target===e.currentTarget&&m()},children:(0,a.jsxs)("div",{className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-md sm:p-5",onKeyDown:e=>{"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),p())},children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-sm font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:"New project"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:m,type:"button",children:"✕"})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Display name"}),(0,a.jsx)("input",{"aria-label":"Project display name",autoFocus:!0,className:Y.s,onChange:e=>c(e.target.value),placeholder:"e.g. Spur Web",value:t})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Session prefix"}),(0,a.jsx)("input",{"aria-label":"Project session prefix",className:Y.s,onChange:e=>d(e.target.value),placeholder:"letters, digits, _ or -",value:r})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Project path"}),(0,a.jsx)("input",{"aria-label":"Project path",className:Y.s,onChange:e=>u(e.target.value),placeholder:"/absolute/path/to/repo",value:n})]}),l?(0,a.jsx)("p",{className:"mb-3 border border-[var(--color-status-error)] bg-[var(--color-status-error)]/10 px-2.5 py-1.5 text-[var(--color-status-error)]",role:"alert",children:l}):null,s?(0,a.jsxs)("div",{className:"mb-3 flex flex-col gap-2 border border-[var(--color-status-attention)] bg-[var(--color-status-attention)]/10 px-2.5 py-1.5 text-[var(--color-status-attention)]",role:"alert",children:[(0,a.jsx)("span",{children:"Folder doesn't exist. Create it?"}),(0,a.jsx)("button",{className:"self-start bg-[var(--color-accent)] px-3 py-1 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:cursor-not-allowed disabled:opacity-60",disabled:i,onClick:x,type:"button",children:"Create folder & continue"})]}):null,(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",onClick:m,type:"button",children:"Cancel"}),(0,a.jsx)("button",{className:"bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:cursor-not-allowed disabled:opacity-60",disabled:i,onClick:p,type:"button",children:i?"Creating…":"Create"})]})]})})}function eP(e){let{project:t,displayName:r,prefix:n,path:l,error:s,submitting:i,deleting:c,onDisplayNameChange:d,onPrefixChange:u,onPathChange:p,onSubmit:x,onDelete:m,onClose:h}=e,v=!t.configured&&"shepherd"!==t.kind,b="shepherd"!==t.kind,[f,g]=(0,o.useState)(!1),y=t.configured?"Disconnect":"Delete";return(0,o.useEffect)(()=>{let e=e=>{if("Escape"===e.key){if(e.preventDefault(),f)return void g(!1);h()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[f,h]),(0,o.useEffect)(()=>{g(!1)},[t.id]),(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target===e.currentTarget&&h()},children:(0,a.jsxs)("div",{"aria-labelledby":"edit-project-title","aria-modal":"true",className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-md sm:p-5",role:"dialog",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-sm font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",id:"edit-project-title",children:"Project settings"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:h,type:"button",children:"✕"})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Display name"}),(0,a.jsx)("input",{"aria-label":"Edit project display name",className:Y.s,disabled:!v,onChange:e=>d(e.target.value),value:r})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Session prefix"}),(0,a.jsx)("input",{"aria-label":"Edit project session prefix",className:Y.s,disabled:!v,onChange:e=>u(e.target.value),value:n})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Project path"}),(0,a.jsx)("input",{"aria-label":"Edit project path",className:Y.s,disabled:!v,onChange:e=>p(e.target.value),value:l})]}),t.configured?(0,a.jsx)("p",{className:"mb-3 text-[var(--color-text-tertiary)]",children:"Configured projects are edited in spur.yaml."}):null,"shepherd"===t.kind?(0,a.jsx)("p",{className:"mb-3 text-[var(--color-text-tertiary)]",children:"Shepherd is built in and cannot be edited or deleted."}):null,s?(0,a.jsx)("p",{className:"mb-3 text-[var(--color-status-error)]",children:s}):null,f?(0,a.jsxs)("div",{className:"mb-3 flex flex-col gap-2 border border-[var(--color-status-error)] bg-[var(--color-status-error)]/10 px-2.5 py-1.5 text-[var(--color-status-error)]",role:"alert",children:[(0,a.jsx)("span",{children:t.configured?"Disconnect ".concat(t.name,"? Spur will stop tracking its spur.yaml."):"Delete ".concat(t.name,"?")}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsxs)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",disabled:c,onClick:()=>g(!1),type:"button",children:["Cancel ",y]}),(0,a.jsxs)("button",{className:"inline-flex items-center gap-1.5 border border-[var(--color-status-error)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-error)] transition hover:bg-[var(--color-bg-surface)] disabled:cursor-not-allowed disabled:opacity-60",disabled:c,onClick:m,type:"button",children:[(0,a.jsx)(eN,{}),c?"Deleting…":"Confirm ".concat(y)]})]})]}):null,(0,a.jsxs)("div",{className:"mt-auto flex flex-wrap items-center justify-between gap-2 pt-2",children:[b?(0,a.jsxs)("button",{className:"inline-flex items-center gap-1.5 border border-[var(--color-status-error)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-error)] transition hover:bg-[var(--color-bg-surface)] disabled:cursor-not-allowed disabled:opacity-60",disabled:c||f,onClick:()=>g(!0),type:"button",children:[(0,a.jsx)(eN,{}),y]}):(0,a.jsx)("span",{}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",onClick:h,type:"button",children:"Cancel"}),v?(0,a.jsx)("button",{className:"bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:cursor-not-allowed disabled:opacity-60",disabled:i,onClick:x,type:"button",children:i?"Saving…":"Save"}):null]})]})]})})}function eD(){var e,t,r,c;let[d,u]=(0,o.useState)(eC),x=function(e){let t="(max-width: ".concat(767,"px)"),[r,a]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia(t);a(e.matches);let r=e=>{a(e.matches)};return"function"==typeof e.addEventListener?(e.addEventListener("change",r),()=>e.removeEventListener("change",r)):(e.addListener(r),()=>e.removeListener(r))},[t]),r}(0),[m,h]=(0,o.useState)(()=>{var e,t;return null!=(t=null==(e=new URLSearchParams(eC()).get("project"))?void 0:e.trim())?t:""}),{toasts:v,showErrorToast:g,dismissToast:y}=(0,ee.Y)(),[j,w]=(0,o.useState)(null),[k,C]=(0,o.useState)(!1),[S,E]=(0,o.useState)(""),[L,P]=(0,o.useState)(""),[D,I]=(0,o.useState)(null),[_,A]=(0,o.useState)(""),[F,T]=(0,o.useState)("claude"),[R,B]=(0,o.useState)(null),[q,K]=(0,o.useState)(""),[O,es]=(0,o.useState)(null),[ei,ew]=(0,o.useState)(!1),[eN,eD]=(0,o.useState)(!1),[eI,e_]=(0,o.useState)(""),[eA,eF]=(0,o.useState)([]),[eT,eR]=(0,o.useState)("default"),[eB,eq]=(0,o.useState)(""),[eK,eO]=(0,o.useState)([]),[eW,ez]=(0,o.useState)(!1),eU=(0,o.useRef)(!1),[eQ,eJ]=(0,o.useState)(!1),eH=(0,o.useRef)(null),eZ=(0,o.useRef)(null),e$=(0,X.u)("spur:input-history:spawn-prompt"),eV=(0,et.C)({contextKey:"spawn",onTranscribed:e=>A(t=>t.trim()?"".concat(t,"\n").concat(e):e)}),eG=(0,et.C)({contextKey:"dashboard-search",onTranscribed:E}),[eY,eX]=(0,o.useState)(em),e0=(0,o.useCallback)(e=>{eX(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),window.localStorage.setItem(ep,JSON.stringify([...r])),r})},[]),[e1,e2]=(0,o.useState)(null),[e5,e4]=(0,o.useState)(()=>{var e;return(null==(e=window.localStorage.getItem(ed))?void 0:e.trim())||null});(0,o.useEffect)(()=>{e5?window.localStorage.setItem(ed,e5):window.localStorage.removeItem(ed)},[e5]);let e3=e=>e2(t=>t===e?null:e),[e6,e8]=(0,o.useState)(!1),[e7,e9]=(0,o.useState)(""),[te,tt]=(0,o.useState)(""),[tr,ta]=(0,o.useState)(""),[to,tn]=(0,o.useState)(null),[tl,ts]=(0,o.useState)(null),[ti,tc]=(0,o.useState)(!1),[td,tu]=(0,o.useState)(null),[tp,tx]=(0,o.useState)(""),[tm,th]=(0,o.useState)(""),[tv,tb]=(0,o.useState)(""),[tf,tg]=(0,o.useState)(null),[ty,tj]=(0,o.useState)(!1),[tw,tk]=(0,o.useState)(!1),[tN,tC]=(0,o.useState)(null);(0,o.useEffect)(()=>{let e=()=>u(eC());return e(),window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]),(0,o.useEffect)(()=>{if(!eQ)return;let e=e=>{"Escape"===e.key&&(e.preventDefault(),eJ(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[eQ]);let tS=(0,o.useMemo)(()=>{var e,t;return null!=(t=null==(e=new URLSearchParams(d).get("project"))?void 0:e.trim())?t:""},[d]),tE=(0,o.useMemo)(()=>(0,b.qZ)(new URLSearchParams(d)),[d]);(0,o.useEffect)(()=>{h(tS)},[tS]);let tM=(0,n.jE)(),tL=["sessions"],{data:tP,isPending:tD,error:tI}=(0,l.I)({queryKey:tL,queryFn:async e=>{let{signal:t}=e,r=await fetch("/api/sessions",{signal:t});if(!r.ok)throw Error("sessions ".concat(r.status));return await r.json()},refetchInterval:5e3,refetchIntervalInBackground:!0,placeholderData:e=>e}),t_=null!=(t=null==tP?void 0:tP.sessions)?t:[],tA=null!=(r=null==tP?void 0:tP.projects)?r:[],tF=(0,o.useMemo)(()=>{var e;return null!=(e=null==tP?void 0:tP.tags)?e:[]},[null==tP?void 0:tP.tags]),tT=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!tI){let e=tT.current;e&&(y(e.id),tT.current=null);return}let e=(0,M.gJ)(tI,"Failed to load Spur sessions"),t=tT.current;(null==t?void 0:t.message)!==e&&(t&&y(t.id),tT.current={id:g(e),message:e})},[y,tI,g]);let tR=(0,o.useMemo)(()=>[...tA].sort(eE),[tA]),tB=(0,o.useMemo)(()=>(function(e,t){let r=new Map(e.map(e=>[e.id,e.name]));for(let e of t)r.has(e.project)||r.set(e.project,e.project);return r})(tA,t_),[tA,t_]),tq=(0,o.useMemo)(()=>t_.map(e=>(0,f.MH)(e,tB.get(e.project))),[tB,t_]),tK=(0,o.useMemo)(()=>m?tq.filter(e=>e.projectId===m):tq,[tq,m]),tO=(0,o.useMemo)(()=>{let e=new Set(tK.flatMap(e=>e.tags));return tF.filter(t=>e.has(t.name))},[tK,tF]),tW=(0,o.useMemo)(()=>{if(!e5)return tK;let e=new Set(tK.filter(e=>e.tags.includes(e5)).map(e=>e.deskKey));return tK.filter(t=>e.has(t.deskKey))},[tK,e5]),tz=(0,o.useMemo)(()=>{let e=S.trim().toLowerCase();if(!e)return tW;let t=new Set(tW.filter(t=>{var r,a;return t.id.toLowerCase().includes(e)||(null!=(r=t.title)?r:"").toLowerCase().includes(e)||t.prompt.toLowerCase().includes(e)||t.projectName.toLowerCase().includes(e)||(null!=(a=t.branch)?a:"").toLowerCase().includes(e)}).map(e=>e.deskKey));return tW.filter(e=>t.has(e.deskKey))},[tW,S]),tU=(0,o.useMemo)(()=>(0,f.O1)(tz),[tz]),tQ=(0,o.useMemo)(()=>{let e={error:[],rate_limited:[],respond:[],working:[],pending:[],stopped:[],done:[]};for(let t of tU)e[t.lane].push(t);return e},[tU]),tJ=(0,o.useMemo)(()=>({error:tQ.error.length,rate_limited:tQ.rate_limited.length,respond:tQ.respond.length,working:tQ.working.length,pending:tQ.pending.length,stopped:tQ.stopped.length,done:tQ.done.length}),[tQ]),tH=(0,o.useMemo)(()=>f.HO.filter(e=>tQ[e].length>0&&(null===e1?"done"!==e:e===e1)),[e1,tQ]),tZ=m.length>0||S.trim().length>0||null!==e1||null!==e5,t$=tH.length>0,tV=m?null!=(c=null==(e=tR.find(e=>e.id===m))?void 0:e.name)?c:m:"All Projects",tG=tZ?"No sessions match the current filters".concat(m?" in ".concat(tV):"","."):tQ.done.length>0?"No current sessions are visible.":void 0,tY=(0,o.useMemo)(()=>tR.filter(e=>e.configured),[tR]),tX=e=>tY.some(t=>t.id===e),t0=()=>{var e,t,r,a,o,n;let l=null!=(r=null==(e=tY.find(e=>e.id===m))?void 0:e.id)?r:"";if(l)return l;{let e=null!=(o=null==(a=window.localStorage.getItem(ec))?void 0:a.trim())?o:"";if(e&&tX(e))return e}return null!=(n=null==(t=tY[0])?void 0:t.id)?n:""};(0,o.useEffect)(()=>{if(D){L!==D&&P(D);return}if(L&&tX(L))return;let e=t0();e!==L&&P(e)},[m,L,D,tY]);let t1=e=>{let t=e.trim();if(I(null),P(t),t)return void window.localStorage.setItem(ec,t);window.localStorage.removeItem(ec)},t2=e=>{h(e),!eQ&&e&&P(e);let t=new URLSearchParams(window.location.search);e?t.set("project",e):t.delete("project"),t.delete("terminal");let r=t.toString();window.history.replaceState(null,"",r?"?".concat(r):window.location.pathname),u(window.location.search)},t5=e=>{let t=(0,b.F7)(window.location.search,e);window.history.pushState(null,"","".concat(window.location.pathname).concat(t).concat(window.location.hash)),u(window.location.search)};(0,o.useEffect)(()=>{let e=L.trim(),t=_.trim();if(!e||!t)return;let r=!1,a=setTimeout(()=>{let a=eS(eT,eB),o={projectId:e,prompt:t,agent:F};a&&(o.overrides=a),fetch("/api/preflight",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(o)}).then(e=>e.ok?e.json():null).then(e=>{!r&&(null==e?void 0:e.branch)&&K(e.branch)}).catch(()=>{})},500);return()=>{r=!0,clearTimeout(a)}},[L,_,F,eT,eB]);let t4=(0,o.useMemo)(()=>ea(q),[q]);(0,o.useEffect)(()=>{es(null);let e=L.trim();if(!e||!t4)return;let t=new AbortController,r=setTimeout(()=>{fetch("/api/projects/".concat(encodeURIComponent(e),"/branches/exists?name=").concat(encodeURIComponent(t4)),{signal:t.signal}).then(e=>e.ok?e.json():null).then(e=>{e&&es(e)}).catch(()=>{})},300);return()=>{t.abort(),clearTimeout(r)}},[L,t4]);let t3=async()=>{let e=L.trim(),t=_.trim();if(e&&!eU.current){eU.current=!0,ez(!0);try{let r=eA.map(e=>e.value.trim()).filter(e=>e.length>0),a=eS(eT,eB),o={projectId:e,prompt:t,agent:F};null!==R&&(o.model=R);let n=(0,er.ZM)(eK);n.length>0&&(o.attachments=n);let l=ea(q);if(l&&(o.branch=l),ei&&(o.planMode=!0),eN){let e=eI.trim();o.selfDestruct={enabled:!0,...e?{conditions:e}:{}}}r.length>0&&(o.steps=r),a&&(o.overrides=a);let s=await fetch("/api/spawn",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(o)});if(!s.ok)throw Error(await s.text());e$.saveEntry(t);let i=await s.json();tM.setQueryData(tL,e=>{var t,r;let a=(null!=(t=null==e?void 0:e.sessions)?t:[]).filter(e=>e.id!==i.id);return{sessions:[i,...a],projects:null!=(r=null==e?void 0:e.projects)?r:[]}}),A(""),B(null),K(""),ew(!1),eD(!1),e_(""),eF([]),eR("default"),eq(""),eO([]),I(null),eJ(!1),t1(e)}catch(e){g((0,M.gJ)(e,"Failed to spawn Spur session"))}finally{eU.current=!1,ez(!1)}}},t6=e=>{t5(e.id)},t8=async e=>{let t=e7.trim(),r=te.trim(),a=tr.trim();if(!t)return void tn("Display name is required");if(!r)return void tn("Prefix is required");if(!/^[a-zA-Z0-9_-]+$/.test(r))return void tn("Prefix must contain only letters, digits, underscores, or hyphens");if(!a)return void tn("Path is required");tc(!0),tn(null),e&&ts(null);try{var o,n;let l=e?{displayName:t,prefix:r,path:a,createMissing:!0}:{displayName:t,prefix:r,path:a},s=await fetch("/api/projects",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(l)});if(!s.ok){let t=await s.json().catch(()=>null),r=null!=(o=null==t?void 0:t.error)?o:"Failed to create project (".concat(s.status,")"),a="path does not exist: ";if(!e&&r.startsWith(a))return void ts(r.slice(a.length));throw Error(r)}let i=await s.json(),c=await fetch("/api/spawn",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({projectId:i.id,prompt:"",bootstrap:!0})});if(!c.ok){let e=await c.json().catch(()=>null);throw Error(null!=(n=null==e?void 0:e.error)?n:"Project created but bootstrap session failed (".concat(c.status,")"))}let d=await c.json();e8(!1),ts(null),await tM.invalidateQueries({queryKey:tL}),t5(d.id)}catch(e){tn((0,M.gJ)(e,"Failed to create Spur project"))}finally{tc(!1)}},t7=async()=>{ti||await t8(!1)},t9=async()=>{ti||await t8(!0)},re=async()=>{if(!td||ty||tw)return;let e=tp.trim(),t=tm.trim(),r=tv.trim();if(!e)return void tg("Display name is required");if(!t)return void tg("Prefix is required");if(!/^[a-zA-Z0-9_-]+$/.test(t))return void tg("Prefix must contain only letters, digits, underscores, or hyphens");if(!r)return void tg("Path is required");tj(!0),tg(null);try{let o=await fetch("/api/projects/".concat(encodeURIComponent(td.id)),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({displayName:e,prefix:t,path:r})});if(!o.ok){var a;let e=await o.json().catch(()=>null);throw Error(null!=(a=null==e?void 0:e.error)?a:"Failed to update project (".concat(o.status,")"))}let n=await o.json();tM.setQueryData(tL,e=>{var t;return{...e,sessions:null!=(t=null==e?void 0:e.sessions)?t:[],projects:n.projects}}),tu(null),tC(null)}catch(e){tg(e instanceof Error?e.message:"Failed to update Spur project")}finally{tj(!1)}},rt=async e=>{try{let r=await fetch("/api/projects/".concat(encodeURIComponent(e.id)),{method:"DELETE"});if(!r.ok){var t;let e=await r.json().catch(()=>null);throw Error(null!=(t=null==e?void 0:e.error)?t:"Failed to delete project (".concat(r.status,")"))}return tC(null),(null==td?void 0:td.id)===e.id&&tu(null),await tM.invalidateQueries({queryKey:tL}),!0}catch(r){let t=r instanceof Error?r.message:"Failed to delete Spur project";return tC(t),(null==td?void 0:td.id)===e.id&&tg(t),!1}},rr=async()=>{td&&!tw&&(tk(!0),await rt(td),tk(!1))},ra=(0,o.useCallback)(async(e,t)=>{try{let a=await fetch("/api/sessions/".concat(encodeURIComponent(e),"/tags"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(!a.ok){var r;let e=await a.json().catch(()=>null);throw Error(null!=(r=null==e?void 0:e.error)?r:"Failed to update tags (".concat(a.status,")"))}await tM.invalidateQueries({queryKey:tL})}catch(e){g((0,M.gJ)(e,"Failed to update tags"))}},[tM,tL,g]),ro=(0,o.useMemo)(()=>({catalog:tF,applyTags:ra}),[tF,ra]),rn=async e=>{await tM.cancelQueries({queryKey:tL});let t=tM.getQueryData(tL);tM.setQueryData(tL,t=>t?{...t,sessions:t.sessions.map(t=>t.id===e.id?{...t,status:"running",state:"working",runtimeAlive:!0}:t)}:t);try{let t=await fetch("/api/sessions/".concat(encodeURIComponent(e.id),"/restore"),{method:"POST"});if(!t.ok)throw Error(await t.text())}catch(e){throw t&&tM.setQueryData(tL,t),g((0,M.gJ)(e,"Failed to restore Spur session")),e}finally{await tM.invalidateQueries({queryKey:tL})}},rl=async(e,t)=>{let r=tq.filter(t=>t.deskKey===e.deskKey&&"killed"!==t.status&&"completed"!==t.status),a=r.filter(t=>t.id!==e.id).length;if(!t&&a>0&&!window.confirm("Complete this desk? ".concat(a," subagent").concat(1===a?"":"s"," on this checkout will be ended.")))return;let o=new Set(r.map(e=>e.id));await tM.cancelQueries({queryKey:tL});let n=tM.getQueryData(tL);tM.setQueryData(tL,e=>e?{...e,sessions:e.sessions.map(e=>o.has(e.id)?{...e,status:"completed",state:"stopped",runtimeAlive:!1,tmuxSession:null}:e)}:e);try{let r={scope:"desk",...t?{prAction:t}:{}},a=await fetch("/api/sessions/".concat(encodeURIComponent(e.id),"/complete"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)}),o=await (0,M.Y3)(a);if(!a.ok){if((0,f.Qk)(o)){n&&tM.setQueryData(tL,n),w({session:e,payload:o});return}throw Error((0,M.$8)(o,"Failed to complete Spur session"))}let l=function(e){if("object"!=typeof e||null===e||!("completedIds"in e))return[];let t=e.completedIds;return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}(o);if(l.length>0){let e=new Set(l);tM.setQueryData(tL,t=>t?{...t,sessions:t.sessions.map(t=>e.has(t.id)?{...t,status:"completed",state:"stopped",runtimeAlive:!1,tmuxSession:null}:t)}:t)}}catch(e){throw n&&tM.setQueryData(tL,n),g((0,M.gJ)(e,"Failed to complete Spur session")),e}finally{await tM.invalidateQueries({queryKey:tL})}},rs=async e=>{if(j){C(!0);try{await rl(j.session,e),w(null)}finally{C(!1)}}},ri=(0,o.useCallback)(e=>{(0,er.kQ)(e).then(e=>{0!==e.length&&eO(t=>[...t,...e])}).catch(()=>{})},[]),rc=(0,o.useMemo)(()=>{if(!tE)return null;let e=tq.find(e=>e.id===tE);return!e||!e.runtimeAlive||(0,f.zi)(e)||!e.tmuxSession?null:e},[tq,tE]);return(0,o.useEffect)(()=>{if(tD||!tE||rc)return;let e=(0,b.F7)(window.location.search,null);window.history.replaceState(null,"","".concat(window.location.pathname).concat(e).concat(window.location.hash)),u(window.location.search)},[tD,tE,rc]),(0,a.jsxs)(p.Provider,{value:ro,children:[(0,a.jsxs)("main",{className:"mx-auto max-w-[1500px] px-4 py-4 pb-8 sm:px-5 lg:px-6",children:[(0,a.jsxs)("header",{className:"mb-4 flex flex-wrap items-center gap-2 sm:gap-3",children:[(0,a.jsx)(eM,{activeProjectName:tV,projects:tR,selectedProjectId:m,onSelectProject:t2,onNewProject:()=>{e9(""),tt(""),ta(""),tn(null),ts(null),e8(!0)},onEdit:e=>{tu(e),tx(e.name),th(e.prefix),tb(e.path),tg(null)}}),tJ.error>0?(0,a.jsx)(eh,{icon:(0,a.jsx)(eb,{}),label:"Errors",value:tJ.error,color:"var(--color-status-error)",active:"error"===e1,onClick:()=>e3("error")}):null,tJ.rate_limited>0?(0,a.jsx)(eh,{icon:(0,a.jsx)(ef,{}),label:"Rate Limited",value:tJ.rate_limited,color:"var(--color-status-attention)",active:"rate_limited"===e1,onClick:()=>e3("rate_limited")}):null,(0,a.jsx)(eh,{icon:(0,a.jsx)(ev,{}),label:"Needs Input",value:tJ.respond,color:tJ.respond>0?"var(--color-status-error)":void 0,active:"respond"===e1,onClick:()=>e3("respond")}),(0,a.jsx)(eh,{icon:(0,a.jsx)(eg,{}),label:"Working",value:tJ.working,color:tJ.working>0?"var(--color-status-working)":void 0,active:"working"===e1,onClick:()=>e3("working")}),(0,a.jsx)(eh,{icon:(0,a.jsx)(ef,{}),label:"Waiting",value:tJ.pending,color:tJ.pending>0?"var(--color-status-attention)":void 0,active:"pending"===e1,onClick:()=>e3("pending")}),(0,a.jsx)(eh,{icon:(0,a.jsx)(ej,{}),label:"Stopped",value:tJ.stopped,color:tJ.stopped>0?"var(--color-text-tertiary)":void 0,active:"stopped"===e1,onClick:()=>e3("stopped")}),(0,a.jsx)(eh,{icon:(0,a.jsx)(ey,{}),label:"Completed",value:tJ.done,color:"done"===e1&&tJ.done>0?"var(--color-status-ready)":void 0,active:"done"===e1,onClick:()=>e3("done")}),tO.length>0?(0,a.jsx)("span",{className:"sm:ml-auto",children:(0,a.jsx)(el,{catalog:tO,value:e5,onChange:e4})}):null,(0,a.jsxs)("div",{className:"flex min-w-[12rem] flex-[999_1_16rem] flex-col gap-1 ".concat(tO.length>0?"":"sm:ml-auto"),children:[(0,a.jsxs)("div",{className:"flex items-stretch border border-[var(--color-border-default)] bg-[var(--color-bg-surface)]",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 px-2 py-1.5",children:[(0,a.jsxs)("svg",{className:"h-3.5 w-3.5 shrink-0 text-[var(--color-text-tertiary)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,a.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,a.jsx)("path",{d:"m21 21-4.35-4.35"})]}),(0,a.jsx)("input",{"aria-label":"Filter sessions",className:"min-w-0 flex-1 border-none bg-transparent uppercase text-[var(--color-text-primary)] outline-none",onChange:e=>E(e.target.value),onKeyDown:e=>{(0,en.tF)(e)&&(e.preventDefault(),eG.toggleRecording())},placeholder:(0,G.uT)("Filter sessions...",eG),ref:eH,value:S})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-stretch",children:[S.length>0?(0,a.jsx)("div",{className:"flex items-center border-l border-[var(--color-border-default)] px-1",children:(0,a.jsx)("button",{"aria-label":"Clear dashboard search",className:eu,onClick:()=>{var e;E(""),null==(e=eH.current)||e.focus()},type:"button",children:(0,a.jsx)(U.U,{})})}):null,eG.canUseVoice?(0,a.jsx)("div",{className:"flex items-center border-l border-[var(--color-border-default)] px-1",children:(0,a.jsx)(G.lv,{borderless:!0,className:eu,groupClassName:"flex items-center gap-1",voice:eG})}):null]})]}),eG.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2 py-1.5 text-[10px] text-[var(--color-chip-error-text)]",role:"alert",children:eG.voiceError}):eG.recording||eG.voiceBusy?(0,a.jsx)("div",{className:"px-2 text-[10px] text-[var(--color-text-tertiary)]",children:(0,a.jsx)(G.cQ,{voice:eG})}):null]}),(0,a.jsxs)("div",{className:"inline-flex w-full sm:w-auto sm:shrink-0",children:[(0,a.jsx)("button",{"aria-label":"Spawn Shepherd",className:"inline-flex w-10 shrink-0 items-center justify-center border border-[var(--color-accent)] bg-[var(--color-accent)] text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)]",onClick:()=>{I(ex),P(ex),T("claude"),B(null),eR("default"),eq(""),eO([]),eJ(!0)},title:"Spawn Shepherd",type:"button",children:(0,a.jsx)(ek,{})}),(0,a.jsx)("button",{className:"min-w-0 flex-1 whitespace-nowrap border border-[var(--color-accent)] border-l-[var(--color-text-inverse)] bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] sm:flex-none",onClick:()=>{I(null),P(t0()),eO([]),eJ(!0)},type:"button",children:"Spawn Session"})]})]}),e6?(0,a.jsx)(eL,{displayName:e7,prefix:te,path:tr,error:to,missingPath:tl,submitting:ti,onDisplayNameChange:e9,onPrefixChange:tt,onPathChange:e=>{ta(e),ts(null)},onSubmit:()=>{t7()},onCreateFolder:()=>{t9()},onClose:()=>e8(!1)}):null,td?(0,a.jsx)(eP,{project:td,displayName:tp,prefix:tm,path:tv,error:tf,submitting:ty,deleting:tw,onDisplayNameChange:tx,onPrefixChange:th,onPathChange:tb,onSubmit:()=>{re()},onDelete:()=>{rr()},onClose:()=>{ty||tw||(tu(null),tg(null))}}):null,tN?(0,a.jsx)("div",{className:"mb-3 border border-[var(--color-status-error)] bg-[var(--color-status-error)]/10 px-2 py-1.5 text-[var(--color-status-error)]",role:"alert",children:tN}):null,eQ?(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target===e.currentTarget&&eJ(!1)},children:(0,a.jsxs)("div",{className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-lg sm:p-5",onKeyDown:e=>{if((0,en.tF)(e)){e.preventDefault(),eV.toggleRecording();return}(0,en.rU)(e)&&(e.preventDefault(),t3())},children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-sm font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:"Spawn Session"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>eJ(!1),type:"button",children:"✕"})]}),(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)("select",{"aria-label":"Spawn project",className:"flex-1 ".concat(Y.s),onChange:e=>t1(e.target.value),value:L,children:[(0,a.jsx)("option",{value:"",children:"Select project"}),tY.map(e=>(0,a.jsx)("option",{value:e.id,children:"shepherd"===e.kind?"".concat(e.name," (Built In)"):e.name},e.id))]}),(0,a.jsx)(s.a,{ariaLabel:"Spawn agent",onChange:e=>{T(e),B(null)},value:F}),(0,a.jsx)("div",{className:"min-w-40 flex-1",children:(0,a.jsx)(i.o,{agent:F,ariaLabel:"Spawn model",onChange:B,value:R})})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)("input",{"aria-label":"branch name",className:"min-w-40 flex-1 ".concat(Y.s),onBlur:()=>K(ea(q)),onChange:e=>K(e.target.value),placeholder:"Branch name",value:q}),(0,a.jsxs)("select",{"aria-label":"workspace mode",className:Y.s,onChange:e=>eR(e.target.value),value:eT,children:[(0,a.jsx)("option",{value:"default",children:"Default"}),(0,a.jsx)("option",{value:"worktree",children:"Worktree"}),(0,a.jsx)("option",{value:"shared",children:"Shared"})]}),(0,a.jsxs)("label",{className:"flex items-center gap-1.5 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 cursor-pointer",children:[(0,a.jsx)("input",{"aria-label":"Plan",checked:ei,className:"accent-[var(--color-accent)]",onChange:e=>ew(e.target.checked),type:"checkbox"}),(0,a.jsx)("span",{className:"text-xs font-bold uppercase text-[var(--color-text-primary)]",children:"Plan"})]}),(0,a.jsxs)("label",{className:"flex items-center gap-1.5 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 cursor-pointer",children:[(0,a.jsx)("input",{"aria-label":"Self-destruct",checked:eN,className:"accent-[var(--color-accent)]",onChange:e=>eD(e.target.checked),type:"checkbox"}),(0,a.jsx)("span",{className:"font-bold uppercase text-[var(--color-text-primary)]",children:"Self-destruct"})]})]}),t4&&t4!==q?(0,a.jsxs)("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:["will create ",t4]}):null,O&&O.exists&&!O.checkedOutAt?(0,a.jsx)("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:"branch already exists — will attach instead of creating new"}):null,O&&O.exists&&O.checkedOutAt?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-xs text-[var(--color-chip-error-text)]",children:"already checked out in another worktree — spawn will fail; pick a different name"}):null,O&&!O.exists&&O.remote?(0,a.jsx)("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:"exists on origin — will track it"}):null,eN?(0,a.jsx)("textarea",{"aria-label":"Self-destruct conditions",className:"min-h-20 w-full resize-y ".concat(Y.s),onChange:e=>e_(e.target.value),placeholder:"Self-destruct conditions",value:eI}):null,"worktree"===eT?(0,a.jsx)("input",{className:"w-full ".concat(Y.s),onChange:e=>eq(e.target.value),placeholder:"Base branch",value:eB}):null,(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"max-h-48 space-y-2 overflow-y-auto",children:eA.map((e,t)=>(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("input",{"aria-label":"step ".concat(t+1),className:"flex-1 ".concat(Y.s),onChange:t=>{let r,a;return r=e.id,a=t.target.value,eF(e=>e.map(e=>e.id===r?{...e,value:a}:e))},placeholder:"Step ".concat(t+1),value:e.value}),(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>{let t;return t=e.id,eF(e=>e.filter(e=>e.id!==t))},type:"button",children:"✕"})]},e.id))}),(0,a.jsx)("button",{className:"mt-2 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 text-xs font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>{eF(e=>[...e,{id:Date.now(),value:""}])},type:"button",children:"+ Step"})]}),(0,a.jsx)(Q.U,{ariaLabel:"Prompt for the new session...",attachments:eK,clearLabel:"Clear spawn prompt",minHeightClass:"min-h-[8rem] sm:min-h-[10rem]",onAddFiles:ri,onChange:A,onKeyDown:e=>{if((0,en.tF)(e)){e.preventDefault(),eV.toggleRecording();return}(0,en.rU)(e)&&(e.preventDefault(),t3())},onRemoveAttachment:e=>eO(t=>t.filter((t,r)=>r!==e)),placeholder:(0,G.uT)("Prompt for the new session...",eV),textareaRef:eZ,value:_,voice:eV}),eV.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-xs text-[var(--color-chip-error-text)]",children:eV.voiceError}):null,(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:(0,a.jsx)(G.cQ,{voice:eV})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(Z.t,{endpoint:L.trim()?"/api/projects/".concat(encodeURIComponent(L.trim()),"/slash-commands?agent=").concat(encodeURIComponent(F)):null,onSelect:e=>(0,eo.U)(eZ.current,e.insertText,A)}),(0,a.jsx)(J.$,{entries:e$.entries,onSelect:A}),(0,a.jsxs)("button",{className:"inline-flex min-w-32 items-center justify-center gap-2 bg-[var(--color-accent)] px-4 py-2 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:cursor-not-allowed disabled:opacity-60",disabled:eW||!L.trim(),onClick:()=>void t3(),type:"button",children:[(0,a.jsx)("span",{children:eW?"Spawning...":"Spawn"}),eW?null:(0,a.jsx)("span",{"aria-hidden":"true",className:"whitespace-nowrap font-mono text-[10px] font-medium normal-case tracking-normal text-[var(--color-text-tertiary)]",children:en.C9})]})]})]})]})]})}):null,tD?(0,a.jsx)("p",{className:"mt-4 text-sm text-[var(--color-text-secondary)]",children:"Loading sessions..."}):null,tD||t$?null:(0,a.jsxs)("section",{className:"mt-5",children:[(0,a.jsx)(z,{message:tG}),tZ?(0,a.jsx)("div",{className:"mt-3 flex justify-center",children:(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:border-[var(--color-accent)] hover:text-[var(--color-accent)]",onClick:()=>{E(""),e2(null),e4(null),t2("")},type:"button",children:"Reset Filters"})}):null]}),!tD&&t$?(0,a.jsx)("section",{className:"mt-5 space-y-4",children:tH.map(e=>(0,a.jsx)(N,{collapsed:x?eY.has(e):void 0,level:e,onCompleteSession:rl,onOpenTerminal:t6,onRestoreSession:rn,projectFilterId:m||void 0,onToggle:x?e0:void 0,rows:tQ[e]},e))}):null,rc?(0,a.jsx)($.s,{onClose:()=>t5(null),session:rc}):null,j?(0,a.jsx)(H.z,{busy:k,onAction:e=>void rs(e),onCancel:()=>w(null),payload:j.payload}):null]}),(0,a.jsx)(V.U,{toasts:v,onDismiss:y}),(0,a.jsx)(W,{})]})}},9254:(e,t,r)=>{Promise.resolve().then(r.bind(r,613))}},e=>{e.O(0,[4096,6645,7377,3220,5124,4118,1835,7358],()=>e(e.s=9254)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[824],{8056:(e,r,t)=>{Promise.resolve().then(t.bind(t,9345))},9345:(e,r,t)=>{"use strict";t.d(r,{SessionDetail:()=>em});var a=t(8143),o=t(9963),l=t.n(o),n=t(7500),s=t(8855),i=t(2572),c=t(2480),d=t(30),u=t(9085),p=t(7069);function x(e){let{payload:r,busy:t=!1,onForceKill:o,onRespawn:l,onCancel:n}=e;return(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)] px-4",children:(0,a.jsxs)("div",{"aria-labelledby":"recover-action-title","aria-modal":"true",className:"w-full max-w-lg border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] p-4",role:"dialog",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h2",{className:"font-bold uppercase text-[var(--color-text-primary)]",id:"recover-action-title",children:"Recover Session"}),(0,a.jsx)("p",{className:"mt-2 text-[var(--color-text-secondary)]",children:r.reason})]}),(0,a.jsx)("button",{"aria-label":"Dismiss recover session dialog",className:"border border-[var(--color-border-default)] px-2 py-1 font-bold uppercase text-[var(--color-text-secondary)] transition hover:border-[var(--color-accent)] hover:text-[var(--color-accent)]",disabled:t,onClick:n,type:"button",children:"x"})]}),(0,a.jsxs)("div",{className:"mt-4 flex flex-col gap-2 sm:flex-row sm:justify-end",children:[r.availableActions.includes("respawn")?(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",disabled:t,onClick:l,type:"button",children:"Respawn"}):null,(0,a.jsx)("button",{className:"border border-[var(--color-status-error)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-error)] transition hover:bg-[var(--color-status-error)]/10 disabled:opacity-50",disabled:t,onClick:o,type:"button",children:"Force Kill"}),(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-secondary)] transition hover:border-[var(--color-accent)] hover:text-[var(--color-accent)] disabled:opacity-50",disabled:t,onClick:n,type:"button",children:"Cancel"})]})]})})}var v=t(2936),m=t(8701),b=t(418),h=t(1795),f=t(7840),g=t(8337);let y={label:"error",dot:"var(--color-status-error)",bg:"var(--color-dot-bg-error)",text:"var(--color-status-error)"},j={label:"paused",dot:"var(--color-text-tertiary)",bg:"var(--color-dot-bg-inactive)",text:"var(--color-text-secondary)"},w={working:{label:"working",dot:"var(--color-status-working)",bg:"var(--color-dot-bg-working)",text:"var(--color-status-working)",pulse:!0},waiting:{label:"waiting",dot:"var(--color-status-attention)",bg:"var(--color-dot-bg-waiting)",text:"var(--color-status-attention)"},needs_input:{...y,label:"needs input"},rate_limited:{label:"rate limited",dot:"var(--color-status-attention)",bg:"var(--color-dot-bg-waiting)",text:"var(--color-status-attention)"},error:y,stopped:{...j,label:"stopped"},killed:{...j,label:"killed"}},k={...j,label:"unknown"};function N(e){let{activity:r,dotOnly:t=!1,size:o=6}=e,l=null!==r&&w[r]||{...k,label:null!=r?r:k.label};return t?(0,a.jsx)("div",{className:(0,g.cn)("shrink-0 rounded-full",l.pulse&&"dot-pulse"),style:{width:o,height:o,background:l.dot}}):(0,a.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1.5 rounded-sm border px-2 py-1",style:{background:l.bg,borderColor:"color-mix(in srgb, var(--color-border-default) 85%, transparent)"},children:[(0,a.jsx)("span",{className:(0,g.cn)("h-1.5 w-1.5 shrink-0 rounded-full",l.pulse&&"dot-pulse"),style:{background:l.dot}}),(0,a.jsx)("span",{className:"text-[10px] font-medium",style:{color:l.text},children:l.label})]})}var C=t(5829),S=t(8994),M=t(5135),E=t(7693),R=t(9199),A=t(6297),I=t(3982),L=t(6049),P=t(4697),T=t(7094),_=t(8960),F=t(5342),U=t(5821),z=t(7572);function D(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"currentColor",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"M4 3.25v9.5L12 8 4 3.25Z"})})}function B(e){let{recurring:r}=e;return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"8"}),(0,a.jsx)("path",{d:"M12 8v5l3 2"}),r?(0,a.jsx)("path",{d:"M4 12a8 8 0 0 1 13.5-5.8M20 12a8 8 0 0 1-13.5 5.8"}):null]})}function W(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-5 w-5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.4",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M14 3H6v18h12V7z"}),(0,a.jsx)("path",{d:"M14 3v4h4"})]})}function H(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 16 16",children:[(0,a.jsx)("path",{d:"M5.25 5.25V3.5A1.25 1.25 0 0 1 6.5 2.25h6A1.25 1.25 0 0 1 13.75 3.5v6a1.25 1.25 0 0 1-1.25 1.25H10.75",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"}),(0,a.jsx)("path",{d:"M3.5 5.25h6A1.25 1.25 0 0 1 10.75 6.5v6A1.25 1.25 0 0 1 9.5 13.75h-6A1.25 1.25 0 0 1 2.25 12.5v-6A1.25 1.25 0 0 1 3.5 5.25Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})]})}function K(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.7",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M12 4v12"}),(0,a.jsx)("path",{d:"m6 12 6 6 6-6"}),(0,a.jsx)("path",{d:"M4 20h16"})]})}function O(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"currentColor",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"M4 3.25v9.5L12 8 4 3.25Z"})})}function J(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6",viewBox:"0 0 16 16",children:[(0,a.jsx)("path",{d:"M2.5 5V2.5H5"}),(0,a.jsx)("path",{d:"M11 2.5h2.5V5"}),(0,a.jsx)("path",{d:"M13.5 11v2.5H11"}),(0,a.jsx)("path",{d:"M5 13.5H2.5V11"}),(0,a.jsx)("path",{d:"M5.5 5.5h5v5h-5z"})]})}function q(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"voice-spinner h-3 w-3",fill:"none",stroke:"currentColor",strokeWidth:"1.5",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M12 2a10 10 0 0 1 10 10",strokeLinecap:"round"})})}function X(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.7",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"M10 3 5 8l5 5"})})}function Y(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.7",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"m6 3 5 5-5 5"})})}function Q(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6",viewBox:"0 0 16 16",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"4.5"}),(0,a.jsx)("path",{d:"M10.5 10.5 14 14"}),(0,a.jsx)("path",{d:"M7 5v4M5 7h4"})]})}function Z(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6",viewBox:"0 0 16 16",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"4.5"}),(0,a.jsx)("path",{d:"M10.5 10.5 14 14"}),(0,a.jsx)("path",{d:"M5 7h4"})]})}function V(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6",viewBox:"0 0 16 16",children:[(0,a.jsx)("path",{d:"M2.5 5V2.5H5"}),(0,a.jsx)("path",{d:"M11 2.5h2.5V5"}),(0,a.jsx)("path",{d:"M13.5 11v2.5H11"}),(0,a.jsx)("path",{d:"M5 13.5H2.5V11"})]})}let G="min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere]",$={idle:"Copy",copying:"Copying...",copied:"Copied",error:"Copy failed"};function ee(e,r){return"/api/sessions/".concat(encodeURIComponent(e),"/artifacts/").concat(encodeURIComponent(r))}function er(e){let r=e.split(".").pop();return r?r.toUpperCase():"FILE"}function et(e){return e instanceof Element&&null!==e.closest("a,button,input,textarea,select,video,pre,[data-artifact-lightbox-interactive]")}function ea(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return["inline-flex h-8 w-8 items-center justify-center border transition",e?"border-[var(--color-accent)] bg-[var(--color-accent)] text-[var(--color-text-inverse)] hover:bg-[var(--color-accent-hover)]":"border-[var(--color-border-strong)] bg-[var(--color-bg-base)] text-[var(--color-text-primary)] hover:bg-[var(--color-hover-overlay)]"].join(" ")}function eo(e){let{artifact:r,artifactHref:t,previewState:o,variant:l="compact",onPreview:n,onPreviewError:s,onPreviewReady:i}=e,c="video"===r.kind?O:"image"===r.kind?J:W,d="attachedImage"===l&&"image"===r.kind;return(0,a.jsxs)("article",{"aria-label":"".concat(r.addedByUser&&"image"===r.kind?"Attached Image":r.addedByUser?"Attached":"automatic"===r.origin?"System":r.kind," artifact ").concat(r.name),className:"group border bg-[var(--color-bg-surface)] ".concat(d?"border-[var(--color-border-strong)]":"border-[var(--color-border-default)]"),children:[(0,a.jsxs)("div",{className:"relative isolate ".concat(d?"h-48 sm:h-56":"h-32"," cursor-zoom-in overflow-hidden border-b border-[var(--color-border-default)] bg-[var(--color-terminal-bg)]"),onClick:()=>{n(r.id)},children:["image"===r.kind?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("img",{alt:r.name,className:"pointer-events-none h-full w-full ".concat(d?"object-contain p-2":"object-cover"," transition duration-150 ").concat("ready"===o?"opacity-100":"opacity-0"),onError:()=>s(r.id),onLoad:()=>i(r.id),src:t}),"ready"!==o?(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center bg-[var(--color-terminal-bg)] px-3 text-center text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"error"===o?"Preview unavailable":"Loading preview"}):null]}):null,"video"===r.kind?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("video",{"aria-label":"".concat(r.name," preview"),className:"pointer-events-none h-full w-full object-cover transition duration-150 ".concat("ready"===o?"opacity-100":"opacity-0"),muted:!0,onError:()=>s(r.id),onLoadedData:()=>i(r.id),preload:"metadata",src:t}),"ready"!==o?(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center bg-[var(--color-terminal-bg)] px-3 text-center text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"error"===o?"Preview unavailable":"Loading preview"}):null]}):null,"image"!==r.kind&&"video"!==r.kind?(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 text-[var(--color-text-tertiary)]",children:[(0,a.jsx)(W,{}),(0,a.jsx)("span",{className:"font-mono text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-secondary)]",children:er(r.name)})]}):null,d?(0,a.jsxs)("div",{className:"pointer-events-none absolute left-2 top-2 flex flex-wrap gap-1.5",children:[(0,a.jsx)("span",{className:"border border-[var(--color-border-strong)] bg-[var(--color-bg-base)] px-2 py-1 text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-primary)]",children:"Attached Image"}),(0,a.jsx)("span",{className:"border border-[var(--color-border-strong)] bg-[var(--color-bg-base)] px-2 py-1 text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-secondary)]",children:er(r.name)})]}):null,(0,a.jsxs)("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center gap-2 bg-[color:var(--color-modal-backdrop)] opacity-0 transition duration-150 group-hover:pointer-events-auto group-hover:opacity-100 group-focus-within:pointer-events-auto group-focus-within:opacity-100",children:[(0,a.jsx)("button",{"aria-label":"Preview ".concat(r.name),className:ea(!0),onClick:e=>{e.stopPropagation(),n(r.id)},type:"button",children:(0,a.jsx)(c,{})}),(0,a.jsx)("a",{"aria-label":"Download ".concat(r.name),className:ea(!1),download:r.name,href:t,onClick:e=>e.stopPropagation(),children:(0,a.jsx)(K,{})})]})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-1 px-3 py-2",children:[(0,a.jsx)("div",{className:"overflow-hidden text-ellipsis whitespace-nowrap font-mono text-[var(--color-text-primary)]",title:r.name,children:r.name}),d?(0,a.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-secondary)]",children:ep(r.size)}),(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:(0,R.fw)(r.updatedAt)})]}):(0,a.jsxs)("div",{className:"overflow-hidden text-ellipsis whitespace-nowrap text-[10px] text-[var(--color-text-tertiary)]",children:[ep(r.size)," \xb7 ",r.kind," \xb7"," ",(0,R.fw)(r.updatedAt)]})]})]})}function el(e){let{artifact:r,artifactHref:t,previewState:o,onPreviewError:l,onPreviewReady:n}=e,[i,c]=(0,s.useState)(1),[d,u]=(0,s.useState)({x:0,y:0}),[p,x]=(0,s.useState)(!1),v=(0,s.useRef)(null),m=(0,s.useRef)(new Map),b=(0,s.useRef)(null);(0,s.useEffect)(()=>{c(1),u({x:0,y:0}),x(!1),m.current.clear(),b.current=null},[r.id]);let h=(e,r)=>{var t;let a=null==(t=v.current)?void 0:t.getBoundingClientRect();if(!a)return e;let o=a.width*(r-1)/2,l=a.height*(r-1)/2;return{x:Math.min(o,Math.max(-o,e.x)),y:Math.min(l,Math.max(-l,e.y))}},f=e=>{let r=Math.min(5,Math.max(1,e));c(r),u(e=>1===r?{x:0,y:0}:h(e,r))},g=()=>{let e=[...m.current.values()];return e.length<2?0:Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y)},y=e=>{var r;if(!m.current.has(e.pointerId))return;let t=null!==b.current;if(m.current.delete(e.pointerId),(null==(r=b.current)?void 0:r.mode)==="pinch"&&m.current.size<2){let e=[...m.current.entries()][0];b.current=e&&i>1?{mode:"pan",pointerId:e[0],startX:e[1].x,startY:e[1].y,startTranslateX:d.x,startTranslateY:d.y}:null}0===m.current.size&&(b.current=null,x(!1)),t&&e.stopPropagation()};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{ref:v,className:"flex h-full w-full items-center justify-center overflow-hidden [touch-action:none]",onClick:e=>{i>1&&e.stopPropagation()},onPointerCancel:y,onPointerDown:e=>{if(m.current.set(e.pointerId,{x:e.clientX,y:e.clientY}),2===m.current.size){b.current={mode:"pinch",startDistance:g(),startScale:i},x(!0),e.currentTarget.setPointerCapture(e.pointerId),e.stopPropagation();return}1===m.current.size&&i>1&&(b.current={mode:"pan",pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,startTranslateX:d.x,startTranslateY:d.y},x(!0),e.currentTarget.setPointerCapture(e.pointerId),e.stopPropagation())},onPointerMove:e=>{if(!m.current.has(e.pointerId))return;m.current.set(e.pointerId,{x:e.clientX,y:e.clientY});let r=b.current;if(r){if("pinch"===r.mode&&m.current.size>=2){r.startDistance>0&&f(r.startScale*g()/r.startDistance),e.stopPropagation();return}"pan"===r.mode&&r.pointerId===e.pointerId&&(u(h({x:r.startTranslateX+(e.clientX-r.startX),y:r.startTranslateY+(e.clientY-r.startY)},i)),e.stopPropagation())}},onPointerUp:y,children:(0,a.jsx)("img",{alt:r.name,className:"max-h-full max-w-full object-contain ".concat("ready"===o?"opacity-100":"opacity-0"," ").concat(i>1?"cursor-grab":""),draggable:!1,onError:()=>l(r.id),onLoad:()=>n(r.id),src:t,style:{transform:"translate(".concat(d.x,"px, ").concat(d.y,"px) scale(").concat(i,")"),transition:p?"none":"transform 150ms ease-out"}})}),(0,a.jsxs)("div",{className:"absolute bottom-3 right-3 z-10 flex flex-col gap-1","data-artifact-lightbox-interactive":!0,children:[(0,a.jsx)("button",{"aria-label":"Zoom in",className:ea(),disabled:i>=5,onClick:()=>f(1.5*i),type:"button",children:(0,a.jsx)(Q,{})}),(0,a.jsx)("button",{"aria-label":"Zoom out",className:ea(),disabled:i<=1,onClick:()=>f(i/1.5),type:"button",children:(0,a.jsx)(Z,{})}),(0,a.jsx)("button",{"aria-label":"Reset zoom",className:ea(),disabled:1===i,onClick:()=>f(1),type:"button",children:(0,a.jsx)(V,{})})]})]})}function en(e){let{artifact:r,artifactHref:t,previewState:o,canGoPrevious:l,canGoNext:n,onClose:i,onPrevious:c,onNext:d,onPreviewError:u,onPreviewReady:p}=e,[x,v]=(0,s.useState)(null),[m,b]=(0,s.useState)("loading"),[h,f]=(0,s.useState)("idle"),g=(0,s.useRef)(null),y=(0,s.useRef)(!1);if((0,s.useEffect)(()=>{if(v(null),b("loading"),f("idle"),!r||!t||"text"!==r.kind)return;if(r.size>1048576){b("oversize"),p(r.id);return}let e=new AbortController;return(async()=>{try{let a=await fetch(t,{signal:e.signal});if(!a.ok)throw Error("Failed to load artifact");let o=await a.text();if(e.signal.aborted)return;v(o),b("ready"),p(r.id)}catch(t){if(e.signal.aborted)return;b("error"),u(r.id)}})(),()=>{e.abort()}},[null==r?void 0:r.id,null==r?void 0:r.kind,null==r?void 0:r.size,t]),!r||!t)return null;let j="text"===r.kind?"loading"===m?"Loading preview":"error"===m?"Preview unavailable":null:("image"===r.kind||"video"===r.kind)&&"ready"!==o?"error"===o?"Preview unavailable":"Loading preview":null,w=async()=>{if(x&&"copying"!==h){f("copying");try{await es(x),f("copied")}catch(e){f("error")}}};return(0,a.jsx)("div",{"aria-label":"Artifact preview ".concat(r.name),className:"fixed inset-0 z-50 flex items-center justify-center bg-[color:var(--color-modal-backdrop)] p-2 backdrop-blur-sm sm:p-3",onClick:e=>{e.target===e.currentTarget&&i()},role:"dialog",children:(0,a.jsxs)("div",{className:"flex h-full w-full flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:p-5",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h2",{className:"truncate font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:r.name}),(0,a.jsxs)("div",{className:"mt-1 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:[ep(r.size)," \xb7 ",r.kind," \xb7"," ",(0,R.fw)(r.updatedAt)]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:["text"===r.kind&&"ready"===m&&x?(0,a.jsxs)("button",{"aria-label":"Copy ".concat(r.name),className:"inline-flex items-center gap-2 border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",disabled:"copying"===h,onClick:()=>void w(),type:"button",children:[(0,a.jsx)(H,{}),$[h]]}):null,(0,a.jsx)("a",{"aria-label":"Download ".concat(r.name),className:"inline-flex h-8 w-8 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",download:r.name,href:t,children:(0,a.jsx)(K,{})}),(0,a.jsx)("button",{"aria-label":"Close artifact preview",className:"inline-flex h-8 w-8 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-tertiary)] transition hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-text-primary)]",onClick:i,type:"button",children:(0,a.jsx)(M.U,{className:"h-3.5 w-3.5",strokeWidth:2})})]})]}),(0,a.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-[2.5rem_minmax(0,1fr)_2.5rem] items-center gap-2 sm:gap-3",children:[(0,a.jsx)("button",{"aria-label":"Previous artifact",className:"inline-flex h-10 w-10 items-center justify-center border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] text-[var(--color-text-tertiary)] transition hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-text-primary)] disabled:cursor-not-allowed disabled:opacity-40",disabled:!l,onClick:c,type:"button",children:(0,a.jsx)(X,{})}),(0,a.jsxs)("div",{"aria-label":"Artifact preview surface",className:"relative flex h-full min-h-0 min-w-0 items-center justify-center self-stretch overflow-auto border border-[var(--color-border-default)] bg-[var(--color-terminal-bg)] p-3 [touch-action:pan-y] sm:p-4",onClick:e=>{if(e.stopPropagation(),y.current){y.current=!1;return}if(et(e.target)||function(){let e=window.getSelection();return null!==e&&!e.isCollapsed&&e.toString().length>0}())return;let r=e.currentTarget.getBoundingClientRect();if(e.clientX<r.left+r.width/2)return void c();d()},onPointerCancel:()=>{g.current=null},onPointerDown:e=>{if(e.button>0||et(e.target)){g.current=null;return}g.current={pointerId:e.pointerId,x:e.clientX,y:e.clientY}},onPointerUp:e=>{((e,r,t)=>{let a=g.current;if(g.current=null,!a||a.pointerId!==e)return;let o=r-a.x,l=t-a.y;if(!(48>Math.abs(o)||Math.abs(o)<=Math.abs(l))){if(y.current=!0,o<0)return d();c()}})(e.pointerId,e.clientX,e.clientY)},children:[j?(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center px-4 text-center text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:j}):null,"image"===r.kind?(0,a.jsx)(el,{artifact:r,artifactHref:t,onPreviewError:u,onPreviewReady:p,previewState:o}):"video"===r.kind?(0,a.jsx)("video",{"aria-label":"".concat(r.name," player"),autoPlay:!0,className:"max-h-full max-w-full ".concat("ready"===o?"opacity-100":"opacity-0"),controls:!0,onError:()=>u(r.id),onLoadedData:()=>p(r.id),preload:"metadata",src:t}):"text"===r.kind?(0,a.jsxs)(a.Fragment,{children:["oversize"===m?(0,a.jsx)("div",{className:"px-4 text-center text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"File exceeds 1 MiB preview limit. Download to view the full content."}):null,"ready"===m&&x?(0,a.jsx)("pre",{className:"h-full w-full self-stretch overflow-auto whitespace-pre-wrap break-words font-mono text-[var(--color-text-primary)]",children:x}):null]}):(0,a.jsxs)("div",{className:"flex max-w-md flex-col items-center gap-4 text-center text-[var(--color-text-secondary)]",children:[(0,a.jsx)("div",{className:"flex h-16 w-16 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)]",children:(0,a.jsx)(W,{})}),(0,a.jsx)("div",{className:"max-w-full font-mono text-[var(--color-text-primary)] ".concat(G),children:r.name}),(0,a.jsxs)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:[er(r.name)," \xb7 ",r.mimeType]}),(0,a.jsxs)("a",{className:"inline-flex items-center gap-2 border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",download:r.name,href:t,children:[(0,a.jsx)(K,{}),"Download File"]})]})]}),(0,a.jsx)("button",{"aria-label":"Next artifact",className:"inline-flex h-10 w-10 items-center justify-center border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] text-[var(--color-text-tertiary)] transition hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-text-primary)] disabled:cursor-not-allowed disabled:opacity-40",disabled:!n,onClick:d,type:"button",children:(0,a.jsx)(Y,{})})]})]})})}async function es(e){var r;if("undefined"!=typeof navigator&&"function"==typeof(null==(r=navigator.clipboard)?void 0:r.writeText))return void await navigator.clipboard.writeText(e);if("undefined"==typeof document)throw Error("Clipboard is unavailable.");let t=document.activeElement instanceof HTMLElement?document.activeElement:null,a=document.createElement("textarea");a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.opacity="0",a.style.pointerEvents="none",document.body.append(a),a.select(),a.setSelectionRange(0,e.length);try{if(!document.execCommand("copy"))throw Error("Clipboard is unavailable.")}finally{a.remove(),null==t||t.focus()}}function ei(e,r){let t=null==e?void 0:e[r];return"string"==typeof t&&t.trim()?t:null}function ec(e){return e.replaceAll("_"," ")}function ed(e){var r,t,o;let{entry:l,sessionId:n,visibleArtifactIds:s}=e,i=ei(l.details,"fromState"),c=ei(l.details,"toState"),d=ei(l.details,"source"),u=ei(l.details,"historyArtifactId"),p=ei(l.details,"serviceId"),x=ei(l.details,"sidecarName"),v="session.state.transition"===l.event&&!!i&&!!c,m="service.output"===l.event?p?"service ".concat(p):"service":"sidecar.output"===l.event?x?"sidecar ".concat(x):"sidecar":null,b=null!==u&&s.has(u);return(0,a.jsxs)("article",{className:"border-l-2 border-y border-r border-[var(--color-border-default)] bg-[var(--color-bg-surface)] ".concat("error"===(t=l.level)?"border-l-[var(--color-status-error)]":"warn"===t?"border-l-[var(--color-status-attention)]":"border-l-[var(--color-status-working)]"),children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-[var(--color-border-subtle)] px-3 py-2 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:[(0,a.jsx)("span",{children:(0,R.eB)(l.timestamp)}),(0,a.jsx)("span",{className:"border px-2 py-0.5 ".concat("error"===(o=l.level)?"border-[var(--color-status-error)] text-[var(--color-status-error)]":"warn"===o?"border-[var(--color-status-attention)] text-[var(--color-status-attention)]":"border-[var(--color-border-strong)] text-[var(--color-text-secondary)]"),children:l.level}),(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-2 py-0.5 text-[var(--color-text-secondary)]",children:null!=m?m:l.event.replaceAll("."," ")}),d?(0,a.jsxs)("span",{className:"border border-[var(--color-border-default)] px-2 py-0.5",children:["source ",d]}):null]}),v?(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3 px-3 py-3",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Status transition"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 font-bold uppercase text-[var(--color-text-primary)]",children:[(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-2 py-1 text-[var(--color-text-secondary)]",children:ec(null!=i?i:"")}),(0,a.jsx)("span",{className:"text-[var(--color-status-working)]",children:"->"}),(0,a.jsx)("span",{className:"border border-[var(--color-status-working)] px-2 py-1",children:ec(null!=c?c:"")})]}),b?(0,a.jsx)("a",{className:"ml-auto border border-[var(--color-border-strong)] px-2 py-1 text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",download:u,href:ee(n,u),children:"History snapshot"}):null]}):(0,a.jsx)("div",{className:"px-3 py-3",children:l.message?(0,a.jsx)("pre",{className:"whitespace-pre-wrap break-words font-mono text-[11px] leading-5",style:{color:null!=(r=eu[l.level])?r:"var(--color-text-primary)"},children:l.message}):(0,a.jsx)("div",{className:"text-[var(--color-text-tertiary)]",children:"No message payload."})})]})}let eu={info:"var(--color-text-secondary)",warn:"var(--color-status-attention)",error:"var(--color-status-error)"};function ep(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}async function ex(e,r){var t,a;let o=await e.text();if(!o)return r;if((null!=(t=e.headers.get("content-type"))?t:"").includes("application/json"))try{let e=JSON.parse(o);if("object"==typeof e&&null!==e&&"error"in e)return String(null!=(a=e.error)?a:r)}catch(e){return r}return o}async function ev(e){let r=await e.text();if(!r)return null;try{let e=JSON.parse(r);return"object"==typeof e&&null!==e&&"sidecar_port_busy"===e.code&&"string"==typeof e.sidecarName&&Array.isArray(e.candidates)?e:null}catch(e){return null}}function em(e){var r,t,o,g,y,j,w,k;let{sessionId:M,projectId:W}=e,K=(0,n.useRouter)(),[O,J]=(0,s.useState)(null),[X,Y]=(0,s.useState)(""),[Q,Z]=(0,s.useState)(null),[V,$]=(0,s.useState)(null),[er,et]=(0,s.useState)(null),[ea,el]=(0,s.useState)(null),ei=(0,s.useRef)(!1),[ec,eu]=(0,s.useState)(null),[ep,em]=(0,s.useState)(null),eb=(0,f.u)("spur:input-history:session-message"),eh=(0,b.C)({contextKey:"session:".concat(M),onTranscribed:e=>Y(r=>r.trim()?"".concat(r,"\n").concat(e):e)}),[ef,eg]=(0,s.useState)(""),[ey,ej]=(0,s.useState)(!1),[ew,ek]=(0,s.useState)([]),[eN,eC]=(0,s.useState)([]),[eS,eM]=(0,s.useState)(!1),[eE,eR]=(0,s.useState)(""),[eA,eI]=(0,s.useState)(null),[eL,eP]=(0,s.useState)(null),[eT,e_]=(0,s.useState)([]),[eF,eU]=(0,s.useState)([]),[ez,eD]=(0,s.useState)(!1),[eB,eW]=(0,s.useState)(""),[eH,eK]=(0,s.useState)("claude"),[eO,eJ]=(0,s.useState)(""),[eq,eX]=(0,s.useState)(!1),[eY,eQ]=(0,s.useState)([]),[eZ,eV]=(0,s.useState)([]),[eG,e$]=(0,s.useState)(!1),e0=(0,s.useRef)(!1),e1=(0,s.useRef)(null),e2=(0,s.useRef)(0),e5=(0,f.u)("spur:input-history:desk-spawn-prompt"),e3=(0,b.C)({contextKey:"desk-spawn:".concat(M),onTranscribed:e=>eW(r=>r.trim()?"".concat(r,"\n").concat(e):e)}),e4=(0,s.useRef)(null),e6=(0,b.C)({contextKey:"respawn:".concat(M),onTranscribed:e=>eR(r=>r.trim()?"".concat(r,"\n").concat(e):e)}),[e8,e7]=(0,s.useState)(null),[e9,re]=(0,s.useState)({}),[rr,rt]=(0,s.useState)(null),[ra,ro]=(0,s.useState)("agent"),{toasts:rl,showSuccessToast:rn,showErrorToast:rs,dismissToast:ri}=(0,_.Y)(),[rc,rd]=(0,s.useState)(!1),ru=(0,s.useRef)(null),rp=(0,s.useRef)(M);rp.current=M;let rx=(0,s.useRef)(0),rv=(0,s.useRef)(null),rm=(0,s.useRef)(null),rb=(0,s.useRef)(null),rh=(0,s.useRef)(null),rf=null==O?void 0:O.links.find(e=>"pr"===e.label);(0,s.useEffect)(()=>{ru.current=O},[O]);let rg=(0,s.useCallback)(()=>{let e=rv.current;e&&(ri(e.id),rv.current=null)},[ri]);(0,s.useEffect)(()=>{var e;J(e=>(null==e?void 0:e.id)===M?e:null),ru.current=(null==(e=ru.current)?void 0:e.id)===M?ru.current:null,Z(null),e7(null),rg()},[rg,M]);let ry=(0,s.useCallback)(async()=>{let e=rx.current+1;rx.current=e;try{let r=await fetch("/api/sessions/".concat(encodeURIComponent(M)),{cache:"no-store"});if(e!==rx.current||rp.current!==M)return;if(!r.ok)throw Error(await ex(r,"Failed to load session"));let t=await r.json();if(e!==rx.current||rp.current!==M)return;let a=(0,U.MH)(t);J(a),Z(null),rg()}catch(o){var r,t;if(e!==rx.current||rp.current!==M)return;let a=(0,P.gJ)(o,"Failed to load session");if((null==(r=ru.current)?void 0:r.id)!==M){J(null),Z(a);return}if((null==(t=rv.current)?void 0:t.message)===a)return;rg(),rv.current={id:rs(a),message:a}}},[rg,M,rs]);(0,s.useEffect)(()=>{ry();let e=setInterval(()=>{ry()},4e3);return()=>clearInterval(e)},[ry]);let rj=(0,s.useCallback)(async()=>{if(!O||"claude"!==O.agent)return void e7(null);try{let e=await fetch("/api/sessions/".concat(encodeURIComponent(M),"/conversation"),{cache:"no-store"});e.ok?e7(await e.json()):e7(null)}catch(e){e7(null)}},[null==O?void 0:O.agent,M]);(0,s.useEffect)(()=>{rj();let e=setInterval(()=>void rj(),4e3);return()=>clearInterval(e)},[rj]),(0,s.useEffect)(()=>{var e,r,t;let a=null==e8?void 0:e8.messages.at(-1),o=(null==e8?void 0:e8.state)==="working"?"pending:".concat(null!=(e=null==a?void 0:a.timestampMs)?e:"none",":").concat(null!=(r=null==a?void 0:a.role)?r:"none",":").concat(null!=(t=null==a?void 0:a.text)?t:""):(null==a?void 0:a.role)==="assistant"?"assistant:".concat(a.timestampMs,":").concat(a.text):null;if(!o||o===rb.current)return;rb.current=o;let l=rm.current;if(l){if("function"==typeof l.scrollTo)return void l.scrollTo({top:l.scrollHeight,behavior:"smooth"});l.scrollTop=l.scrollHeight}},[e8]),(0,s.useEffect)(()=>{let e=()=>eg(window.location.search);return e(),window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]),(0,s.useEffect)(()=>{ro("agent"),rd(!1)},[M]),(0,s.useEffect)(()=>{O&&re(e=>{let r={};for(let a of O.artifacts){var t;r[a.id]=null!=(t=e[a.id])?t:"loading"}return r})},[O]);let rw=async function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("kill"===e&&!t.skipKillConfirm&&!window.confirm("Kill session ".concat(M,"? This forces cleanup even with local changes.")))return!1;$(e);try{let t=await fetch("/api/sessions/".concat(encodeURIComponent(M),"/").concat(e),{method:"POST",headers:r?{"content-type":"application/json"}:void 0,body:r?JSON.stringify(r):void 0}),a=await (0,P.Y3)(t);if(!t.ok){if(("complete"===e||"kill"===e)&&(0,U.Qk)(a))return et({action:e,body:r,payload:a}),!1;if("restore"===e&&(0,U.ZJ)(a))return el(a),Z(null),!1;throw Error((0,P.$8)(a,"Failed to ".concat(e," session")))}if("send"===e){let e=r&&"string"==typeof r.message?r.message.trim():"";e&&eb.saveEntry(e),Y(""),eC([])}return await ry(),!0}catch(r){return rs((0,P.gJ)(r,"Failed to ".concat(e," session"))),!1}finally{$(null)}},rk=async e=>{var r;if(!er)return;let t={...null!=(r=er.body)?r:{},prAction:e};await rw(er.action,t,{skipKillConfirm:!0})&&(et(null),el(null))},rN=async()=>{await rw("kill",{force:!0},{skipKillConfirm:!0})&&el(null)},rC=async()=>{await rw("kill",{force:!0},{skipKillConfirm:!0})&&(el(null),te())},rS=async()=>{let e=async e=>{let r={prompt:eE.trim(),startupAttachmentIds:eF},t=(0,L.ZM)(eT);t.length>0&&(r.attachments=t),e&&(r.forceKillSource=!0),O&&eA&&eA!==O.agent&&(r.agent=eA),null!==eL&&(r.model=eL);let a=await fetch("/api/sessions/".concat(encodeURIComponent(M),"/respawn"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)});if(!a.ok)throw Error(await a.text());let o=await a.json();eM(!1),K.push((0,I._j)(o.id,W))};$("respawn");try{await e(!1)}catch(t){let r=(0,P.gJ)(t,"Failed to respawn session");if(r.startsWith("Kill confirmation required")&&window.confirm("".concat(r,"\n\nRespawn anyway and discard the old session worktree (including uncommitted changes or unpushed commits)?")))try{await e(!0)}catch(e){rs((0,P.gJ)(e,"Failed to respawn session"))}else rs(r)}finally{$(null)}},rM=async()=>{if(!O||e0.current)return;let e=eB.trim(),r=eY.map(e=>e.value.trim()).filter(e=>e.length>0),t=(0,L.ZM)(eZ);e0.current=!0,e$(!0);try{let a={projectId:O.projectId,prompt:e,agent:eH,reuseWorkspaceSessionId:O.id,overrides:{worktree:O.worktree}};t.length>0&&(a.attachments=t),eO.trim()&&(a.branch=eO.trim()),eq&&(a.planMode=!0),r.length>0&&(a.steps=r);let o=await fetch("/api/spawn",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(a)});if(!o.ok)throw Error(await ex(o,"Failed to spawn desk agent"));let l=await o.json();e5.saveEntry(e),eD(!1),K.push((0,I._j)(l.id,W))}catch(e){rs((0,P.gJ)(e,"Failed to spawn desk agent"))}finally{e0.current=!1,e$(!1)}},rE=async(e,r,t)=>{$("sidecar:".concat(r,":").concat(e));try{let l=void 0===t?{method:"POST"}:{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({clearPort:t})},n=await fetch("/api/sessions/".concat(encodeURIComponent(M),"/sidecars/").concat(encodeURIComponent(e),"/").concat(r),l);if(!n.ok){if("start"===r&&409===n.status){let e=await ev(n.clone());if(e){var a,o;eu(e),em(null!=(o=null==(a=e.candidates[0])?void 0:a.port)?o:null);return}}throw Error(await ex(n,"Failed to ".concat(r," sidecar ").concat(e)))}let s=await n.json();J((0,U.MH)(s)),eu(null),em(null)}catch(t){rs((0,P.gJ)(t,"Failed to ".concat(r," sidecar ").concat(e)))}finally{$(null)}},rR=async()=>{ej(!0);try{let e=await fetch("/api/sessions/".concat(encodeURIComponent(M),"/logs"),{cache:"no-store"});if(!e.ok)return;let r=await e.json();Array.isArray(r)&&ek(r)}catch(e){}},rA=async e=>{let r=X.trim();if(null===V&&(r||0!==eN.length)&&!ei.current){ei.current=!0;try{let t=(0,L.ZM)(eN),a={message:r};t.length>0&&(a.attachments=t),(null==e?void 0:e.queue)!==void 0&&(a.queue=e.queue),(null==e?void 0:e.interrupt)!==void 0&&(a.interrupt=e.interrupt),await rw("send",a)}finally{ei.current=!1}}},rI=(0,s.useMemo)(()=>O?(0,R.Pn)(O):M,[O,M]);(0,s.useEffect)(()=>{(O||Q)&&(document.title=rI)},[Q,O,rI]);let rL=(0,s.useMemo)(()=>O?(0,R.zf)(O):null,[O]),rP=(0,s.useMemo)(()=>{if(O)return"error"===O.state||"killed"===O.state||"stopped"===O.state?O.state:"claude"===O.agent&&(null==e8?void 0:e8.state)==="working"?"working":O.state},[null==e8?void 0:e8.state,O]),rT=O?(0,z.z3)(O):null,r_=null==rT?void 0:rT.dueAt,[rF,rU]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{if(!r_)return;let e=window.setInterval(()=>rU(Date.now()),1e3);return()=>window.clearInterval(e)},[r_]);let rz=rT?(0,z.TL)(rT.dueAt,rF):null,rD=(0,s.useMemo)(()=>e8?[...e8.messages.map(e=>({key:"".concat(e.timestampMs,":").concat(e.role,":").concat(e.text),role:e.role,text:e.text})),..."working"===e8.state?[{key:"pending-assistant-response",role:"assistant",text:"...",pending:!0}]:[]]:[],[e8]),rB=(0,s.useMemo)(()=>(0,I.qZ)(new URLSearchParams(ef)),[ef]),rW=(0,s.useMemo)(()=>{var e;return new Set((null!=(e=null==O?void 0:O.sidecars)?e:[]).map(e=>e.name))},[O]),rH=null!=(o=null==O?void 0:O.artifacts)?o:[],rK=rr?rH.findIndex(e=>e.id===rr):-1,rO=rK>=0&&null!=(g=rH[rK])?g:null,rJ=O&&rO?ee(O.id,rO.id):null,rq=rK>=0&&rK<rH.length-1,rX=(0,s.useCallback)(e=>{rt(r=>{var t,a;let o=rH.findIndex(e=>e.id===r);return o<0?r:null!=(a=null==(t=rH[o+e])?void 0:t.id)?a:r})},[rH]),rY=(0,s.useCallback)(()=>rX(-1),[rX]),rQ=(0,s.useCallback)(()=>rX(1),[rX]),rZ=(0,s.useMemo)(()=>{var e;return null!=(e=null==O?void 0:O.artifacts.filter(e=>"automatic"!==e.origin&&!0!==e.addedByUser))?e:[]},[O]),rV=(0,s.useMemo)(()=>{var e;return null!=(e=null==O?void 0:O.artifacts.filter(e=>"automatic"!==e.origin&&!0===e.addedByUser))?e:[]},[O]),rG=(0,s.useMemo)(()=>{var e;return null!=(e=null==O?void 0:O.artifacts.filter(e=>"automatic"===e.origin))?e:[]},[O]),r$=(0,s.useMemo)(()=>"attached"===ra?rV:"system"===ra?rG:rZ,[ra,rZ,rV,rG]),r0=(0,s.useMemo)(()=>new Set(r$.map(e=>e.id)),[r$]),r1=(0,s.useMemo)(()=>{var e,r;let t=null!=(e=null==O?void 0:O.startupAttachmentIds)?e:[];return null!=(r=null==O?void 0:O.artifacts.filter(e=>t.includes(e.id)))?r:[]},[O]),{surfacedLinks:r2,visibleLinks:r5}=function(e,r){let t=[],a=[],o=new Set;for(let l of e){if("tracker"===l.label||(0,A.do)(l.label)){o.has(l.url)||(t.push(l),o.add(l.url));continue}r.has(l.label)||o.has(l.url)||a.push(l)}return{surfacedLinks:t,visibleLinks:a}}(null!=(y=null==O?void 0:O.links)?y:[],rW),r3=null!=(j=null==O||null==(r=O.workspaceAccess)?void 0:r.items)?j:[];(0,s.useEffect)(()=>{rr&&O&&(rH.some(e=>e.id===rr)||rt(null))},[rH,rr,O]),(0,s.useEffect)(()=>{if(!rr)return;let e=e=>{if("Escape"===e.key)return void rt(null);if("ArrowLeft"===e.key){e.preventDefault(),rY();return}"ArrowRight"===e.key&&(e.preventDefault(),rQ())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[rQ,rY,rr]),(0,s.useEffect)(()=>{let e="attached"===ra?rV.length:"system"===ra?rG.length:rZ.length;"agent"!==ra&&0===e&&ro("agent")},[ra,rZ.length,rV.length,rG.length]);let r4=O&&O.runtimeAlive&&!(0,U.zi)(O)&&!!O.tmuxSession,r6=!!(O&&(rB===O.id||null!==rB&&rB.startsWith("".concat(O.id,"--")))),r8=!!(r4&&r6),r7=!!((null==O?void 0:O.workspaceExists)&&O.worktreePath.trim()),r9=(0,s.useMemo)(()=>{var e;let r=(null!=(e=null==O?void 0:O.deskGroupMembers)?e:[]).filter(e=>"killed"!==e.status);return{visible:rc?r:r.filter(e=>"completed"!==e.status),hiddenCompletedCount:r.filter(e=>"completed"===e.status).length,total:r.length}},[null==O?void 0:O.deskGroupMembers,rc]),te=(0,s.useCallback)(()=>{var e,r;O&&(eR(O.prompt),eU(null!=(e=O.startupAttachmentIds)?e:[]),e_([]),eI(O.agent),eP(null!=(r=O.model)?r:null),eM(!0))},[O]),tr=e6.dismissModal;(0,s.useEffect)(()=>{eS||tr()},[eS,tr]),(0,s.useEffect)(()=>{if(!rB||!O||r6&&r4)return;let e=(0,I.F7)(window.location.search,null);window.history.replaceState(null,"","".concat(window.location.pathname).concat(e).concat(window.location.hash)),eg(window.location.search)},[r4,r6,rB,O]);let tt=e=>{let r=(0,I.F7)(window.location.search,e);window.history.pushState(null,"","".concat(window.location.pathname).concat(r).concat(window.location.hash)),eg(window.location.search)},ta=(0,s.useCallback)(async(e,r)=>{try{await es(r),rn("".concat(e," copied"),r.length>96?"".concat(r.slice(0,96),"..."):r)}catch(r){rs("Couldn't copy ".concat(e),(0,P.gJ)(r,"Clipboard is unavailable."))}},[rs,rn]),to=null!=(w=null!=ep?ep:null==ec||null==(t=ec.candidates[0])?void 0:t.port)?w:null,tl=null!==ec&&V==="sidecar:start:".concat(ec.sidecarName);return(0,a.jsxs)("main",{className:"mx-auto max-w-[1500px] px-4 py-4 sm:px-5 lg:px-6",children:[(0,a.jsx)(l(),{className:"inline-flex items-center gap-2 text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)] hover:no-underline",href:(0,I.A4)(W),children:"← Back"}),O?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("header",{className:"mt-4 border-b-2 border-[var(--color-accent)] pb-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[var(--color-text-tertiary)] uppercase tracking-[0.1em]",children:[(0,a.jsx)("span",{children:O.projectName}),(0,a.jsx)("span",{children:"•"}),(0,a.jsx)("span",{children:O.agent}),(0,a.jsx)("span",{children:"•"}),(0,a.jsx)("span",{className:"font-mono",children:O.id})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-start gap-2",children:[(0,a.jsx)("h1",{className:"min-w-0 text-xl font-bold tracking-[-0.02em] text-[var(--color-text-primary)] uppercase sm:text-2xl",children:rI}),O.prompt.trim()?(0,a.jsx)("button",{"aria-label":"Copy prompt",className:"inline-flex h-8 w-8 shrink-0 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)] transition hover:border-[var(--color-accent)] hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-accent)] active:scale-[0.97]",onClick:()=>void ta("Prompt",O.prompt),title:"Copy prompt",type:"button",children:(0,a.jsx)(H,{})}):null]}),rL?(0,a.jsx)("p",{className:"mt-1 max-w-3xl text-[var(--color-text-secondary)]",children:rL}):null,r9.total>1?(0,a.jsxs)("nav",{"aria-label":"Checkout group",className:"mt-3 flex flex-wrap items-center gap-1 border-b border-[var(--color-border-subtle)] pb-2",children:[r9.visible.map(e=>{let r=e.id===O.id;return(0,a.jsxs)(l(),{"aria-current":r?"page":void 0,"aria-label":"".concat(e.agent," ").concat(e.id),className:"inline-flex items-center gap-1 border-b-2 px-1.5 pb-0.5 text-[10px] font-bold uppercase tracking-[0.1em] transition ".concat(r?"border-[var(--color-accent)] text-[var(--color-text-primary)]":"border-transparent text-[var(--color-text-tertiary)] hover:text-[var(--color-text-primary)]"),href:(0,I._j)(e.id,W),children:[(0,a.jsx)("span",{title:"".concat(e.state).concat(e.runtimeAlive?"":" offline"),children:(0,a.jsx)(N,{activity:e.state,dotOnly:!0})}),(0,a.jsxs)("span",{children:[e.agent," \xb7 ",(0,R.kU)(e.id,18)]})]},e.id)}),r9.hiddenCompletedCount>0?(0,a.jsx)("button",{type:"button","aria-expanded":rc,"aria-label":rc?"Hide completed desk agents":"Show completed desk agents",className:"border-b-2 border-transparent px-1.5 pb-0.5 text-[10px] font-bold uppercase tracking-[0.1em] text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>rd(e=>!e),children:"..."}):null]}):null,(0,a.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[rP?(0,a.jsx)(N,{activity:rP}):null,O.branch?(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-2 py-0.5 font-mono text-[var(--color-text-secondary)]",children:O.branch}):null,rT?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 border border-[var(--color-border-default)] px-2 py-0.5 text-[var(--color-status-attention)]",title:"interval"===rT.kind?"Interval wake scheduled":"daily"===rT.kind?"Daily wake scheduled":"Wake scheduled",children:[(0,a.jsx)(B,{recurring:"one-shot"!==rT.kind}),(0,a.jsx)("span",{children:rT.label.toLowerCase()}),(0,a.jsx)("span",{className:"font-mono text-[var(--color-text-primary)]",children:rz}),rT.intervalMs?(0,a.jsxs)("span",{className:"font-mono text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:["every ",(0,z.re)(rT.intervalMs)]}):null,rT.dailyAt?(0,a.jsxs)("span",{className:"font-mono text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:["daily ",rT.dailyAt.join(", ")]}):null]}):null,r2.map(e=>(0,a.jsx)(v.w,{link:e},"".concat(e.label,"-").concat(e.url))),O.runtimeAlive||(0,U.zi)(O)?null:(0,a.jsx)("span",{className:"border border-[var(--color-chip-error-border)] px-2 py-0.5 text-[var(--color-chip-error-text)]",children:"offline"}),(0,U.ib)(O)?(0,a.jsx)("span",{className:"border border-[var(--color-chip-warn-border)] px-2 py-0.5 text-[var(--color-chip-warn-text)]",children:"service issue"}):null]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-[var(--color-border-default)] py-3",children:[r4?(0,a.jsx)("button",{type:"button",className:"border border-[var(--color-accent)] bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)]",onClick:()=>tt(O.id),children:"Terminal"}):null,O?(0,a.jsx)("button",{type:"button",disabled:null!==V||eG||!r7,className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",onClick:()=>{var e;O&&(eK(O.agent),eW(""),eJ(null!=(e=O.branch)?e:""),eX(!1),eQ([]),eV([]),eD(!0))},title:r7?"Opens a second agent in this checkout directory with the same branch":"No reusable checkout is available",children:"Desk agent"}):null,(0,U.J2)(O)?(0,a.jsx)("button",{type:"button",disabled:null!==V,onClick:()=>void rw("pause"),className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:"pause"===V?"Pausing...":"Pause"}):null,(0,U.qX)(O)?(0,a.jsx)("button",{type:"button",disabled:null!==V,onClick:()=>void rw("restore"),className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:"restore"===V?"Restoring...":"Restore"}):null,(0,U.hV)(O)?(0,a.jsx)("button",{type:"button",disabled:null!==V,onClick:()=>el(function(e){let r=["force_kill"];return(0,U.zi)(e)||r.push("respawn"),{code:"session_not_restorable",sessionId:e.id,reason:"Session ".concat(e.id," is not restorable"),availableActions:r}}(O)),className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:"Recover"}):null,(0,U.ab)(O)?(0,a.jsx)("button",{type:"button",disabled:null!==V,onClick:()=>void rw("complete"),className:"border border-[var(--color-status-ready)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-ready)] transition hover:bg-[var(--color-status-ready)]/10 disabled:opacity-50",children:"complete"===V?"Completing...":"Complete"}):null,(0,U.zi)(O)?null:(0,a.jsx)("button",{type:"button",disabled:null!==V,onClick:()=>void rw("kill",{force:!0}),className:"border border-[var(--color-status-error)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-error)] transition hover:bg-[var(--color-status-error)]/10 disabled:opacity-50",children:"kill"===V?"Killing...":"Kill"}),(0,U.fK)(O)?(0,a.jsx)("button",{type:"button",disabled:null!==V,onClick:te,className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:"respawn"===V?"Respawning...":"Edit & Respawn"}):null,(0,a.jsx)("button",{type:"button",onClick:()=>void rR(),className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",children:"Logs"})]}),(0,a.jsxs)("div",{className:"mt-4 grid gap-4 lg:grid-cols-[minmax(0,1.2fr)_minmax(16rem,0.8fr)]",children:[(0,a.jsxs)("div",{className:"space-y-4",children:["claude"===O.agent&&(null==e8?void 0:e8.messages.length)?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Dialog",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"}),e8.durationMs>0?(0,a.jsx)("span",{className:"font-normal normal-case tracking-normal",children:function(e){let r=Math.floor(e/1e3),t=Math.floor(r/3600),a=Math.floor(r%3600/60);return t>0?"".concat(t,"h ").concat(a,"m"):a>0?"".concat(a,"m"):"<1m"}(e8.durationMs)}):null]}),(0,a.jsx)("div",{ref:rm,className:"flex max-h-80 flex-col gap-2 overflow-y-auto border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] p-3",children:rD.map(e=>(0,a.jsx)("div",{"aria-label":e.pending?"Assistant is responding":void 0,className:"min-w-0 max-w-[85%] px-3 py-2 ".concat("user"===e.role?"ml-auto border border-[var(--color-accent)]/30 bg-[var(--color-accent)]/10 text-[var(--color-text-primary)]":e.pending?"mr-auto border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] text-[var(--color-text-tertiary)]":"mr-auto border border-[var(--color-border-default)] text-[var(--color-text-secondary)]"),children:(0,a.jsx)("div",{className:"".concat(G," ").concat(e.pending?"animate-pulse tracking-[0.3em]":""),children:e.pending?e.text:e.text.length>500?e.text.slice(0,500)+"...":e.text})},e.key))})]}):null,O.queuedMessages.messages.length>0||O.queuedMessages.awaitingPrompt?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Queued messages",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),O.queuedMessages.messages.length>0?(0,a.jsx)("ol",{"aria-label":"Queued messages list",className:"space-y-2",children:O.queuedMessages.messages.map((e,r)=>(0,a.jsxs)("li",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-3 py-2",children:[(0,a.jsxs)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:["#",r+1]}),(0,a.jsx)("div",{className:"mt-1 ".concat(G," text-[var(--color-text-secondary)]"),children:e})]},"".concat(O.id,":queued:").concat(r,":").concat(e)))}):null,O.queuedMessages.awaitingPrompt?(0,a.jsx)("p",{className:"mt-2 text-[var(--color-text-secondary)]",children:"Awaiting agent prompt. Queued messages will send automatically when the agent is ready."}):null]}):null,(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Message",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),(0,U.Us)(O)?(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(d.U,{attachments:eN,clearLabel:"Clear message",minHeightClass:"min-h-24",onAddFiles:e=>{(0,L.kQ)(e).then(e=>eC(r=>[...r,...e])).catch(()=>{})},onChange:Y,onKeyDown:e=>{if((0,F.tF)(e)){e.preventDefault(),eh.toggleRecording();return}(0,F.rU)(e)&&(e.preventDefault(),rA({queue:!1,interrupt:!0}))},onRemoveAttachment:e=>eC(r=>r.filter((r,t)=>t!==e)),placeholder:(0,h.uT)("Message to the running agent...",eh),textareaRef:rh,value:X,voice:eh}),eh.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-[var(--color-chip-error-text)]",children:eh.voiceError}):null,(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,a.jsx)("span",{className:"min-w-0 flex-1 text-[10px] text-[var(--color-text-tertiary)]",children:eh.voiceBusy&&!eh.recording?(0,a.jsx)(h.cQ,{voice:eh}):null}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,a.jsx)(m.t,{endpoint:O?"/api/sessions/".concat(encodeURIComponent(M),"/slash-commands"):null,onSelect:e=>(0,T.U)(rh.current,e.insertText,Y)}),(0,a.jsx)(u.$,{entries:eb.entries,onSelect:Y}),(0,a.jsxs)("button",{type:"button",disabled:null!==V||!X.trim()&&0===eN.length,onClick:()=>void rA({queue:!0}),className:"inline-flex items-center gap-2 border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:["send"===V?(0,a.jsx)(q,{}):null,(0,a.jsx)("span",{children:"send"===V?"Queueing...":"Queue"})]}),(0,a.jsxs)("button",{type:"button",disabled:null!==V||!X.trim()&&0===eN.length,onClick:()=>void rA({queue:!1,interrupt:!0}),className:"inline-flex items-center gap-2 bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:opacity-50",children:["send"===V?(0,a.jsx)(q,{}):null,(0,a.jsx)("span",{children:"send"===V?"Sending...":"Send now"}),"send"!==V?(0,a.jsx)("span",{"aria-hidden":"true",className:"ml-2 whitespace-nowrap font-mono text-[10px] font-medium normal-case tracking-normal text-[var(--color-text-tertiary)]",children:F.C9}):null]})]})]})]}):(0,a.jsx)("p",{className:"py-2 text-[var(--color-text-secondary)]",children:"Not accepting input. Restore to continue."})]}),r5.length>0?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Links",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:r5.map(e=>{var r,t;return(0,a.jsx)("a",{className:"border border-[var(--color-border-default)] px-2.5 py-1 text-[var(--color-accent)] hover:no-underline",href:e.url,rel:"noreferrer",target:"_blank",children:(r=e.label,t=e.url,"github-pr"===r?"github pr":"gitlab-pr"===r?"gitlab mr":"pr"===r?"gitlab"===(0,A.tS)(t)?"gitlab mr":"github pr":r)},"".concat(O.id,"-").concat(e.label,"-").concat(e.url))})})]}):null,O.artifacts.length>0?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Artifacts",(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:r$.length}),(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),rV.length>0||rG.length>0?(0,a.jsx)("div",{"aria-label":"Artifact category",className:"mb-3 inline-flex border border-[var(--color-border-default)]",role:"tablist",children:[["agent","Agent (".concat(rZ.length,")")],...rV.length>0?[["attached","Attached (".concat(rV.length,")")]]:[],...rG.length>0?[["system","System (".concat(rG.length,")")]]:[]].map(e=>{let[r,t]=e,o=ra===r;return(0,a.jsx)("button",{"aria-pressed":o,className:"border-r border-[var(--color-border-default)] px-3 py-1.5 font-bold uppercase tracking-[0.12em] last:border-r-0 ".concat(o?"bg-[var(--color-accent)] text-[var(--color-text-inverse)]":"text-[var(--color-text-secondary)] hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-text-primary)]"),onClick:()=>ro(r),type:"button",children:t},r)})}):null,r$.length>0?(0,a.jsx)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4",children:r$.map(e=>{var r;let t=ee(O.id,e.id),o=null!=(r=e9[e.id])?r:"loading";return(0,a.jsx)(eo,{artifact:e,artifactHref:t,onPreview:rt,onPreviewError:e=>re(r=>({...r,[e]:"error"})),onPreviewReady:e=>re(r=>({...r,[e]:"ready"})),previewState:o,variant:"attached"===ra&&"image"===e.kind?"attachedImage":"compact"},"".concat(O.id,"-").concat(e.id))})}):(0,a.jsx)("p",{className:"py-2 text-[var(--color-text-secondary)]",children:"attached"===ra?"No attached artifacts yet.":"system"===ra?"No system artifacts yet.":"No agent artifacts yet."})]}):null,O.services.length>0?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Services",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),O.services.map(e=>(0,a.jsxs)("div",{className:"data-row flex items-center justify-between gap-3 border-b border-[var(--color-border-subtle)] px-2 py-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"font-mono text-[var(--color-text-primary)]",children:e.serviceId}),(0,a.jsx)("span",{className:"ml-2 text-[var(--color-text-tertiary)]",children:e.command})]}),(0,a.jsxs)("span",{className:"text-[var(--color-text-secondary)]",children:[e.state,"number"==typeof e.port?" :".concat(e.port):""]})]},"".concat(O.id,"-").concat(e.serviceId)))]}):null]}),(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Runtime",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),(0,a.jsx)("dl",{className:"space-y-2 text-[var(--color-text-secondary)]",children:[["Created",(0,R.eB)(O.createdAt)],["Last activity",(0,R.fw)(O.lastActivityAt)],["Worktree",O.worktree?"isolated":"shared"],["Agent runtime",O.runtimeAlive?"alive":"offline"],["Workspace",O.workspaceExists?"present":"missing"],...rT&&rz?[["Wake",rT.label],["Next wake",rz]]:[],...(null==rT?void 0:rT.intervalMs)?[["Wake interval",(0,z.re)(rT.intervalMs)]]:[],...(null==rT?void 0:rT.dailyAt)?[["Wake daily at",rT.dailyAt.join(", ")]]:[]].map(e=>{let[r,t]=e;return(0,a.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b border-[var(--color-border-subtle)] py-1.5",children:[(0,a.jsx)("dt",{className:"text-[var(--color-text-tertiary)]",children:r}),(0,a.jsx)("dd",{children:t})]},r)})}),(0,a.jsxs)("div",{className:"mt-3 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Worktree path"}),(0,a.jsx)("div",{className:"mt-1 font-mono text-[var(--color-text-secondary)]",children:(0,R.kU)(O.worktreePath,60)})]}),(null==rT?void 0:rT.stopCondition)?(0,a.jsxs)("div",{className:"mt-3 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Wake stop condition"}),(0,a.jsx)("div",{className:"mt-1 text-[var(--color-text-secondary)]",children:rT.stopCondition})]}):null,r3.length>0?(0,a.jsxs)("div",{className:"mt-3 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Workspace Access"}),(0,a.jsx)("div",{className:"mt-2 space-y-2",children:r3.map(e=>(0,a.jsxs)("div",{className:"border border-[var(--color-border-subtle)] bg-[var(--color-bg-base)] px-2.5 py-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsx)("div",{className:"min-w-0",children:(0,a.jsx)("div",{className:"truncate text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-primary)]",children:e.label})}),"link"===e.kind?(0,a.jsx)("a",{"aria-label":"Open ".concat(e.label),className:"border border-[var(--color-border-strong)] px-2 py-0.5 text-[10px] font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",href:e.value,rel:"noreferrer",target:"_blank",children:"Open"}):(0,a.jsx)("button",{"aria-label":"Copy ".concat(e.label),type:"button",className:"inline-flex h-7 w-7 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)] transition hover:border-[var(--color-accent)] hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-accent)] active:scale-[0.97]",onClick:()=>void ta(e.label,e.value),children:(0,a.jsx)(H,{})})]}),(0,a.jsx)("code",{className:"mt-2 block whitespace-pre-wrap break-all font-mono text-[var(--color-text-secondary)]",children:e.value})]},"".concat(e.kind,":").concat(e.label,":").concat(e.value)))})]}):null,O.error?(0,a.jsx)("div",{className:"mt-3 border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-2 text-[var(--color-chip-error-text)]",children:O.error}):null]}),O.sidecars.length>0?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Sidecars",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),(0,a.jsx)("div",{className:"space-y-2",children:O.sidecars.map(e=>{var r,t;let o=e.alive?null==(r=O.links.find(r=>r.label===e.name))?void 0:r.url:void 0;return(0,a.jsx)("div",{className:"border-b border-[var(--color-border-subtle)] py-1.5",children:(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1",children:[(0,a.jsx)("span",{className:"inline-block h-2 w-2 shrink-0 rounded-full ".concat(e.alive?"bg-[var(--color-chip-alive)]":"bg-[var(--color-text-tertiary)]"),"data-testid":"sidecar-status-".concat(e.name)}),(0,a.jsx)("span",{className:"min-w-0 break-all text-[var(--color-text-secondary)]",children:e.name}),null==(t=e.ports)?void 0:t.map(e=>(0,a.jsxs)("span",{className:"shrink-0 text-[var(--color-text-tertiary)]",children:[":",e.port]},e.env))]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[e.alive&&r4?(0,a.jsx)("button",{type:"button",className:"border border-[var(--color-border-strong)] px-2 py-0.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",onClick:()=>tt("".concat(O.id,"--").concat(e.name)),children:"Terminal"}):null,o?(0,a.jsx)("a",{className:"border border-[var(--color-border-strong)] px-2 py-0.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",href:o,rel:"noreferrer",target:"_blank",children:"Open"}):null,(0,a.jsx)("button",{"aria-label":"".concat(e.alive?"Stop":"Start"," sidecar ").concat(e.name),className:"inline-flex h-6 w-6 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:cursor-not-allowed disabled:opacity-50",disabled:null!==V,onClick:()=>void rE(e.name,e.alive?"stop":"start"),type:"button",children:e.alive?(0,a.jsx)(h.Jr,{className:"h-3.5 w-3.5"}):(0,a.jsx)(D,{})})]})]})},e.name)})})]}):null]}),ey?(0,a.jsxs)("div",{className:"fixed inset-0 z-50 flex flex-col bg-[var(--color-bg-base)]",role:"dialog","aria-label":"Logs ".concat(O.id),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--color-border-default)] px-4 py-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"font-bold uppercase text-[var(--color-text-primary)]",children:["Logs ",O.id]}),(0,a.jsx)("div",{className:"mt-1 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Spur orchestrator events and runtime output"})]}),(0,a.jsx)("button",{type:"button",className:"text-[var(--color-text-tertiary)] hover:text-[var(--color-text-primary)]",onClick:()=>ej(!1),children:"✕"})]}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto px-4 py-4",children:0===ew.length?(0,a.jsx)("div",{className:"flex h-full items-center justify-center border border-dashed border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-4 text-center text-[var(--color-text-tertiary)]",children:"No Spur log entries yet."}):(0,a.jsx)("div",{className:"flex flex-col gap-3",children:ew.map((e,r)=>(0,a.jsx)(ed,{entry:e,sessionId:O.id,visibleArtifactIds:r0},"".concat(e.timestamp,"-").concat(e.event,"-").concat(r)))})})]}):null,r8&&r4?(0,a.jsx)(C.s,{onClose:()=>tt(null),session:O,tmuxSessionOverride:rB!==O.id&&null!=rB?rB:void 0,titleSuffix:rB!==O.id?null==rB?void 0:rB.replace("".concat(O.id,"--"),""):void 0}):null,ea?(0,a.jsx)(x,{busy:null!==V,onCancel:()=>el(null),onForceKill:()=>void rN(),onRespawn:()=>void rC(),payload:ea}):null,er?(0,a.jsx)(p.z,{busy:V===er.action,onAction:e=>void rk(e),onCancel:()=>et(null),payload:er.payload}):null,ec?(0,a.jsx)("div",{"aria-labelledby":"sidecar-port-conflict-title","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)] p-4",onClick:e=>{e.target===e.currentTarget&&null===V&&(eu(null),em(null))},role:"dialog",children:(0,a.jsxs)("div",{className:"w-full max-w-md border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)]",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"font-bold uppercase tracking-[0.1em] text-[var(--color-status-attention)]",id:"sidecar-port-conflict-title",children:"Port busy"}),(0,a.jsxs)("p",{className:"mt-2 leading-snug text-[var(--color-text-secondary)]",children:["Select a reserved port to clear, then start sidecar"," ",(0,a.jsx)("span",{className:"text-[var(--color-text-primary)]",children:ec.sidecarName})," ","on that port."]})]}),(0,a.jsx)("button",{"aria-label":"Close port conflict",className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)] disabled:opacity-50",disabled:null!==V,onClick:()=>{eu(null),em(null)},type:"button",children:"✕"})]}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Port"}),(0,a.jsx)("select",{"aria-label":"Busy port for sidecar ".concat(ec.sidecarName),className:"".concat(E.s," w-full"),disabled:null!==V,onChange:e=>em(Number.parseInt(e.target.value,10)),value:null!=to?to:"",children:ec.candidates.map(e=>(0,a.jsxs)("option",{value:e.port,children:[e.portId,":",e.port]},"".concat(e.portId,":").concat(e.port)))})]}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",disabled:null!==V,onClick:()=>{eu(null),em(null)},type:"button",children:"Cancel"}),(0,a.jsx)("button",{className:"bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:opacity-50",disabled:null!==V||null===to,onClick:()=>{null!==to&&rE(ec.sidecarName,"start",to)},type:"button",children:tl?"Clearing...":"Clear/Retry"})]})]})]})}):null,eS&&O&&eA?(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target===e.currentTarget&&"respawn"!==V&&eM(!1)},children:(0,a.jsxs)("div",{className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-lg sm:p-5",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:"Edit & Respawn"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",disabled:"respawn"===V,onClick:()=>eM(!1),type:"button",children:"✕"})]}),rf?(0,a.jsx)("div",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-3 py-2 text-[11px] leading-snug text-[var(--color-text-secondary)]",role:"note",children:(0,a.jsxs)("div",{children:["This session links a PR (",rf.url,"). Respawn drops the replaced worktree after success—confirm merges or updates first if needed."]})}):null,(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.a,{ariaLabel:"Respawn agent",onChange:e=>{eI(e),eP(null)},value:eA}),(0,a.jsx)("div",{className:"min-w-40 flex-1",children:(0,a.jsx)(c.o,{agent:eA,ariaLabel:"Respawn model",onChange:eP,value:eL})})]}),(0,a.jsx)(d.U,{attachments:eT,clearLabel:"Clear respawn prompt",minHeightClass:"min-h-[10rem]",onAddFiles:e=>{(0,L.kQ)(e).then(e=>e_(r=>[...r,...e])).catch(()=>{})},onChange:eR,onRemoveAttachment:e=>e_(r=>r.filter((r,t)=>t!==e)),placeholder:(0,h.uT)("Edit the initial message...",e6),textareaRef:e4,value:eE,voice:e6}),e6.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-[var(--color-chip-error-text)]",children:e6.voiceError}):null,r1.length>0?(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Keep existing images"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:r1.map(e=>{let r=eF.includes(e.id);return(0,a.jsx)("button",{className:"relative border ".concat(r?"border-[var(--color-accent)]":"border-[var(--color-border-default)]"),onClick:()=>eU(r=>r.includes(e.id)?r.filter(r=>r!==e.id):[...r,e.id]),type:"button",children:(0,a.jsx)("img",{alt:e.name,className:"h-9 w-9 object-cover",src:ee(O.id,e.id)})},e.id)})})]}):null,(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:(0,a.jsx)(h.cQ,{voice:e6})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",disabled:"respawn"===V,onClick:()=>eM(!1),type:"button",children:"Cancel"}),(0,a.jsx)("button",{className:"bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:opacity-50",disabled:"respawn"===V||!eE.trim()&&0===eF.length&&0===eT.length,onClick:()=>void rS(),type:"button",children:"respawn"===V?"Respawning...":"Respawn"})]})]})]})]})}):null,ez&&O?(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target!==e.currentTarget||eG||eD(!1)},children:(0,a.jsxs)("div",{className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-lg sm:p-5",onKeyDown:e=>{if((0,F.tF)(e)){e.preventDefault(),e3.toggleRecording();return}(0,F.rU)(e)&&(e.preventDefault(),rM())},children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:"Desk agent"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",disabled:eG,onClick:()=>eD(!1),type:"button",children:"✕"})]}),(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.a,{ariaLabel:"Desk spawn agent",onChange:eK,value:eH}),(0,a.jsx)("input",{"aria-label":"branch name",className:"min-w-0 flex-1 ".concat(E.s),onChange:e=>eJ(e.target.value),placeholder:"Branch name",value:eO}),(0,a.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2",children:[(0,a.jsx)("input",{checked:eq,className:"accent-[var(--color-accent)]",onChange:e=>eX(e.target.checked),type:"checkbox"}),(0,a.jsx)("span",{className:"font-bold uppercase text-[var(--color-text-primary)]",children:"Plan"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"max-h-48 space-y-2 overflow-y-auto",children:eY.map((e,r)=>(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("input",{"aria-label":"step ".concat(r+1),className:"min-w-0 flex-1 ".concat(E.s),onChange:r=>{var t,a;return t=e.id,a=r.target.value,void eQ(e=>e.map(e=>e.id===t?{...e,value:a}:e))},placeholder:"Step ".concat(r+1),value:e.value}),(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>{var r;return r=e.id,void eQ(e=>e.filter(e=>e.id!==r))},type:"button",children:"✕"})]},e.id))}),(0,a.jsx)("button",{className:"mt-2 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>{e2.current+=1,eQ(e=>[...e,{id:e2.current,value:""}])},type:"button",children:"+ Step"})]}),(0,a.jsx)(d.U,{ariaLabel:"Desk agent prompt",attachments:eZ,clearLabel:"Clear desk agent prompt",minHeightClass:"min-h-[8rem] sm:min-h-[10rem]",onAddFiles:e=>{(0,L.kQ)(e).then(e=>eV(r=>[...r,...e])).catch(()=>{})},onChange:eW,onRemoveAttachment:e=>eV(r=>r.filter((r,t)=>t!==e)),placeholder:(0,h.uT)("First message",e3),textareaRef:e1,value:eB,voice:e3}),e3.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-[var(--color-chip-error-text)]",children:e3.voiceError}):null,(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:(0,a.jsx)(h.cQ,{voice:e3})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(m.t,{endpoint:"/api/projects/".concat(encodeURIComponent(O.projectId),"/slash-commands?agent=").concat(encodeURIComponent(eH)),onSelect:e=>(0,T.U)(e1.current,e.insertText,eW)}),(0,a.jsx)(u.$,{entries:e5.entries,onSelect:eW})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",disabled:eG,onClick:()=>eD(!1),type:"button",children:"Cancel"}),(0,a.jsxs)("button",{className:"inline-flex min-w-32 items-center justify-center gap-2 border border-[var(--color-accent)] bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:opacity-50",disabled:eG,onClick:()=>void rM(),type:"button",children:[(0,a.jsx)("span",{children:eG?"Spawning...":"Spawn"}),eG?null:(0,a.jsx)("span",{"aria-hidden":"true",className:"whitespace-nowrap font-mono text-[10px] font-medium normal-case tracking-normal text-[var(--color-text-tertiary)]",children:F.C9})]})]})]})]})}):null,(0,a.jsx)(en,{artifact:rO,artifactHref:rJ,canGoNext:rq,canGoPrevious:rK>0,onClose:()=>rt(null),onNext:rQ,onPrevious:rY,onPreviewError:e=>re(r=>({...r,[e]:"error"})),onPreviewReady:e=>re(r=>({...r,[e]:"ready"})),previewState:rO&&null!=(k=e9[rO.id])?k:"loading"})]}):Q?(0,a.jsxs)("div",{className:"mt-5 max-w-xl border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-3 py-3 text-[var(--color-chip-error-text)]",children:[(0,a.jsx)("p",{children:"Unable to load this session."}),(0,a.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words",children:Q}),(0,a.jsx)("button",{type:"button",onClick:()=>void ry(),className:"mt-3 border border-[var(--color-chip-error-border)] px-3 py-1.5 font-bold uppercase text-[var(--color-chip-error-text)] transition hover:bg-[var(--color-status-error)]/10",children:"Retry"})]}):(0,a.jsx)("p",{className:"mt-5 text-[var(--color-text-secondary)]",children:"Loading session..."}),(0,a.jsx)(S.U,{toasts:rl,onDismiss:ri})]})}}},e=>{e.O(0,[4096,7377,5124,4118,1835,7358],()=>e(e.s=8056)),_N_E=e.O()}]);
@@ -1,3 +0,0 @@
1
- @font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_b20d9a{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_b20d9a{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}
2
-
3
- /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:var(--font-jetbrains-mono),"JetBrains Mono","SF Mono","Menlo","Consolas",monospace;--font-mono:var(--font-sans);--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--leading-tight:1.25;--leading-snug:1.375;--radius-sm:0px;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg-base:#0d0d0e;--color-bg-surface:#111112cc;--color-bg-elevated:#17171ae6;--color-terminal-bg:#0a0a0f;--color-border-subtle:#23232699;--color-border-default:#232326;--color-border-strong:#323236;--color-text-primary:#e1e1e1;--color-text-secondary:#a1a1a1;--color-text-tertiary:#555558;--color-text-inverse:#0d0d0e;--color-input-bg:#111112cc;--color-input-text:#e1e1e1;--color-input-border:#232326;--color-input-placeholder:#555558;--color-accent:#fff;--color-accent-hover:#fffc;--color-accent-violet:#a371f7;--color-hover-overlay:#ffffff0d;--color-modal-backdrop:#0009;--color-row-hover:#ffffff08;--color-scrollbar-thumb:#ffffff14;--color-scrollbar-thumb-hover:#ffffff26;--color-scrollbar-thumb-active:#ffffff40;--color-activity-pulse:#ffffff73;--color-shadow-menu:#0000004d;--color-shadow-modal-sm:#00000080;--color-shadow-modal-lg:#00000080;--color-status-working:#58a6ff;--color-status-ready:#3fb950;--color-status-attention:gold;--color-status-error:#ff4d4d;--color-chip-error-bg:#ef444414;--color-chip-error-border:#ef44444d;--color-chip-error-text:#fee2e2;--color-chip-warn-border:#fb923c4d;--color-chip-warn-text:#fed7aa;--color-chip-alive:#4ade80;--color-dot-bg-error:#f8514924;--color-dot-bg-inactive:#484f5833;--color-dot-bg-working:#58a6ff1a;--color-dot-bg-waiting:#d2992224}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-2{inset-inline:calc(var(--spacing)*2)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-2{top:calc(var(--spacing)*2)}.top-5{top:calc(var(--spacing)*5)}.top-6{top:calc(var(--spacing)*6)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-9{bottom:calc(var(--spacing)*9)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[90\]{z-index:90}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-1\.5{margin:calc(var(--spacing)*-1.5)}.m-1{margin:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-auto{margin-right:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.\[display\:-webkit-box\]{display:-webkit-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-48{height:calc(var(--spacing)*48)}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-\[calc\(100vh-1rem\)\]{max-height:calc(100vh - 1rem)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-20{min-height:calc(var(--spacing)*20)}.min-h-24{min-height:calc(var(--spacing)*24)}.min-h-40{min-height:calc(var(--spacing)*40)}.min-h-\[8rem\]{min-height:8rem}.min-h-\[10rem\]{min-height:10rem}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-44{width:calc(var(--spacing)*44)}.w-56{width:calc(var(--spacing)*56)}.w-80{width:calc(var(--spacing)*80)}.w-\[1\.15rem\]{width:1.15rem}.w-\[3\.5rem\]{width:3.5rem}.w-\[4rem\]{width:4rem}.w-\[7rem\]{width:7rem}.w-\[8rem\]{width:8rem}.w-\[17rem\]{width:17rem}.w-\[min\(16rem\,calc\(100vw-1rem\)\)\]{width:min(16rem,100vw - 1rem)}.w-\[min\(20rem\,calc\(100vw-1rem\)\)\]{width:min(20rem,100vw - 1rem)}.w-\[min\(22rem\,calc\(100vw-2rem\)\)\]{width:min(22rem,100vw - 2rem)}.w-\[min\(calc\(100vw-2rem\)\,36rem\)\]{width:min(100vw - 2rem,36rem)}.w-full{width:100%}.w-max{width:max-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-\[12rem\]{max-width:12rem}.max-w-\[85\%\]{max-width:85%}.max-w-\[1500px\]{max-width:1500px}.max-w-\[calc\(100\%-6rem\)\]{max-width:calc(100% - 6rem)}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-\[12rem\]{min-width:12rem}.min-w-\[18rem\]{min-width:18rem}.min-w-\[180px\]{min-width:180px}.min-w-\[260px\]{min-width:260px}.min-w-\[min\(20rem\,calc\(100vw-1rem\)\)\]{min-width:min(20rem,100vw - 1rem)}.flex-1{flex:1}.flex-\[999_1_16rem\]{flex:999 16rem}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.\[touch-action\:none\]{touch-action:none}.\[touch-action\:pan-y\]{touch-action:pan-y}.resize{resize:both}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[2\.5rem_minmax\(0\,1fr\)_2\.5rem\]{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-rows-\[auto_minmax\(0\,1fr\)\]{grid-template-rows:auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e+38px}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--color-accent\)\]{border-color:var(--color-accent)}.border-\[var\(--color-accent\)\]\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--color-accent\)\]\/30{border-color:color-mix(in oklab,var(--color-accent)30%,transparent)}}.border-\[var\(--color-border-default\)\]{border-color:var(--color-border-default)}.border-\[var\(--color-border-strong\)\]{border-color:var(--color-border-strong)}.border-\[var\(--color-border-subtle\)\]{border-color:var(--color-border-subtle)}.border-\[var\(--color-chip-error-border\)\]{border-color:var(--color-chip-error-border)}.border-\[var\(--color-chip-warn-border\)\]{border-color:var(--color-chip-warn-border)}.border-\[var\(--color-input-border\)\]{border-color:var(--color-input-border)}.border-\[var\(--color-status-attention\)\]{border-color:var(--color-status-attention)}.border-\[var\(--color-status-error\)\]{border-color:var(--color-status-error)}.border-\[var\(--color-status-ready\)\]{border-color:var(--color-status-ready)}.border-\[var\(--color-status-working\)\]{border-color:var(--color-status-working)}.border-transparent{border-color:#0000}.border-l-\[var\(--color-status-attention\)\]{border-left-color:var(--color-status-attention)}.border-l-\[var\(--color-status-error\)\]{border-left-color:var(--color-status-error)}.border-l-\[var\(--color-status-working\)\]{border-left-color:var(--color-status-working)}.border-l-\[var\(--color-text-inverse\)\]{border-left-color:var(--color-text-inverse)}.bg-\[color\:var\(--color-modal-backdrop\)\]{background-color:var(--color-modal-backdrop)}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-accent\)\]\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-accent\)\]\/10{background-color:color-mix(in oklab,var(--color-accent)10%,transparent)}}.bg-\[var\(--color-bg-base\)\]{background-color:var(--color-bg-base)}.bg-\[var\(--color-bg-elevated\)\]{background-color:var(--color-bg-elevated)}.bg-\[var\(--color-bg-surface\)\]{background-color:var(--color-bg-surface)}.bg-\[var\(--color-chip-alive\)\]{background-color:var(--color-chip-alive)}.bg-\[var\(--color-chip-error-bg\)\]{background-color:var(--color-chip-error-bg)}.bg-\[var\(--color-input-bg\)\]{background-color:var(--color-input-bg)}.bg-\[var\(--color-modal-backdrop\)\]{background-color:var(--color-modal-backdrop)}.bg-\[var\(--color-status-attention\)\]\/10{background-color:#ffd7001a}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-status-attention\)\]\/10{background-color:color-mix(in oklab,var(--color-status-attention)10%,transparent)}}.bg-\[var\(--color-status-error\)\]\/10{background-color:#ff4d4d1a}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-status-error\)\]\/10{background-color:color-mix(in oklab,var(--color-status-error)10%,transparent)}}.bg-\[var\(--color-status-error\)\]\/12{background-color:#ff4d4d1f}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-status-error\)\]\/12{background-color:color-mix(in oklab,var(--color-status-error)12%,transparent)}}.bg-\[var\(--color-terminal-bg\)\]{background-color:var(--color-terminal-bg)}.bg-\[var\(--color-text-tertiary\)\]{background-color:var(--color-text-tertiary)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-12{padding-right:calc(var(--spacing)*12)}.pr-\[3\.25rem\]{padding-right:3.25rem}.pr-\[6rem\]{padding-right:6rem}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-14{padding-bottom:calc(var(--spacing)*14)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-chip-error-text\)\]{color:var(--color-chip-error-text)}.text-\[var\(--color-chip-warn-text\)\]{color:var(--color-chip-warn-text)}.text-\[var\(--color-input-text\)\]{color:var(--color-input-text)}.text-\[var\(--color-status-attention\)\]{color:var(--color-status-attention)}.text-\[var\(--color-status-error\)\]{color:var(--color-status-error)}.text-\[var\(--color-status-ready\)\]{color:var(--color-status-ready)}.text-\[var\(--color-status-working\)\]{color:var(--color-status-working)}.text-\[var\(--color-text-inverse\)\]{color:var(--color-text-inverse)}.text-\[var\(--color-text-inverse\)\]\/72{color:#0d0d0eb8}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--color-text-inverse\)\]\/72{color:color-mix(in oklab,var(--color-text-inverse)72%,transparent)}}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--color-text-tertiary\)\]{color:var(--color-text-tertiary)}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--color-accent\)\]{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow-\[0_4px_12px_var\(--color-shadow-modal-sm\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,var(--color-shadow-modal-sm))}.shadow-\[0_4px_12px_var\(--color-shadow-modal-sm\)\],.shadow-\[0_8px_24px_var\(--color-shadow-modal-sm\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_24px_var\(--color-shadow-modal-sm\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,var(--color-shadow-modal-sm))}.shadow-\[0_8px_30px_var\(--color-shadow-menu\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,var(--color-shadow-menu))}.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_8px_30px_var\(--color-shadow-menu\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#00000047)}.shadow-\[0_20px_60px_var\(--color-shadow-modal-lg\)\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,var(--color-shadow-modal-lg))}.shadow-\[0_20px_60px_var\(--color-shadow-modal-lg\)\],.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.\[-webkit-box-orient\:vertical\]{-webkit-box-orient:vertical}.\[-webkit-line-clamp\:2\]{-webkit-line-clamp:2}.group-focus-within\:pointer-events-auto:is(:where(.group):focus-within *){pointer-events:auto}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:border-\[var\(--color-border-subtle\)\]:is(:where(.group):hover *){border-color:var(--color-border-subtle)}.group-hover\:bg-\[var\(--color-accent\)\]\/15:is(:where(.group):hover *){background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-\[var\(--color-accent\)\]\/15:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-accent)15%,transparent)}}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/tag\:inline-flex:is(:where(.group\/tag):hover *){display:inline-flex}}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-\[var\(--color-accent\)\]:hover{border-color:var(--color-accent)}.hover\:border-\[var\(--color-border-default\)\]:hover{border-color:var(--color-border-default)}.hover\:border-\[var\(--color-border-strong\)\]:hover{border-color:var(--color-border-strong)}.hover\:border-\[var\(--color-status-attention\)\]:hover{border-color:var(--color-status-attention)}.hover\:border-\[var\(--color-status-ready\)\]:hover{border-color:var(--color-status-ready)}.hover\:border-\[var\(--color-text-tertiary\)\]:hover{border-color:var(--color-text-tertiary)}.hover\:bg-\[var\(--color-accent\)\]\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-accent\)\]\/10:hover{background-color:color-mix(in oklab,var(--color-accent)10%,transparent)}}.hover\:bg-\[var\(--color-accent\)\]\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-accent\)\]\/20:hover{background-color:color-mix(in oklab,var(--color-accent)20%,transparent)}}.hover\:bg-\[var\(--color-accent\)\]\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-accent\)\]\/25:hover{background-color:color-mix(in oklab,var(--color-accent)25%,transparent)}}.hover\:bg-\[var\(--color-accent-hover\)\]:hover{background-color:var(--color-accent-hover)}.hover\:bg-\[var\(--color-bg-surface\)\]:hover{background-color:var(--color-bg-surface)}.hover\:bg-\[var\(--color-hover-overlay\)\]:hover{background-color:var(--color-hover-overlay)}.hover\:bg-\[var\(--color-status-attention\)\]:hover{background-color:var(--color-status-attention)}.hover\:bg-\[var\(--color-status-error\)\]\/10:hover{background-color:#ff4d4d1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-status-error\)\]\/10:hover{background-color:color-mix(in oklab,var(--color-status-error)10%,transparent)}}.hover\:bg-\[var\(--color-status-error\)\]\/18:hover{background-color:#ff4d4d2e}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-status-error\)\]\/18:hover{background-color:color-mix(in oklab,var(--color-status-error)18%,transparent)}}.hover\:bg-\[var\(--color-status-ready\)\]\/10:hover{background-color:#3fb9501a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-status-ready\)\]\/10:hover{background-color:color-mix(in oklab,var(--color-status-ready)10%,transparent)}}.hover\:text-\[var\(--color-accent\)\]:hover{color:var(--color-accent)}.hover\:text-\[var\(--color-bg-elevated\)\]:hover{color:var(--color-bg-elevated)}.hover\:text-\[var\(--color-status-attention\)\]:hover{color:var(--color-status-attention)}.hover\:text-\[var\(--color-status-ready\)\]:hover{color:var(--color-status-ready)}.hover\:text-\[var\(--color-text-primary\)\]:hover{color:var(--color-text-primary)}.hover\:text-\[var\(--color-text-secondary\)\]:hover{color:var(--color-text-secondary)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}}.focus\:border-\[var\(--color-accent\)\]:focus{border-color:var(--color-accent)}.focus-visible\:bg-\[var\(--color-status-attention\)\]:focus-visible{background-color:var(--color-status-attention)}.focus-visible\:text-\[var\(--color-bg-elevated\)\]:focus-visible{color:var(--color-bg-elevated)}.focus-visible\:text-\[var\(--color-text-primary\)\]:focus-visible{color:var(--color-text-primary)}.focus-visible\:opacity-70:focus-visible{opacity:.7}.active\:scale-\[0\.97\]:active{scale:.97}.active\:bg-\[var\(--color-hover-overlay\)\]:active{background-color:var(--color-hover-overlay)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:ml-auto{margin-left:auto}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-56{height:calc(var(--spacing)*56)}.sm\:max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.sm\:min-h-\[10rem\]{min-height:10rem}.sm\:w-10{width:calc(var(--spacing)*10)}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-none{flex:none}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:justify-end{justify-content:flex-end}.sm\:justify-start{justify-content:flex-start}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:gap-x-6{column-gap:calc(var(--spacing)*6)}.sm\:p-3{padding:calc(var(--spacing)*3)}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:p-5{padding:calc(var(--spacing)*5)}.sm\:px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.sm\:px-3{padding-inline:calc(var(--spacing)*3)}.sm\:px-4{padding-inline:calc(var(--spacing)*4)}.sm\:px-5{padding-inline:calc(var(--spacing)*5)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media (min-width:48rem){.md\:inline{display:inline}}@media (min-width:64rem){.lg\:inline{display:inline}.lg\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(16rem\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr)}.lg\:px-6{padding-inline:calc(var(--spacing)*6)}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:96rem){.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}body{font-family:var(--font-sans);background:var(--color-bg-base);color:var(--color-text-primary);letter-spacing:.02em;min-height:100vh;padding-bottom:1.5rem;font-size:12px}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{white-space:nowrap}input::placeholder,textarea::placeholder{color:var(--color-input-placeholder);opacity:1}@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea:not(.xterm-helper-textarea){font-size:16px}}@supports (zoom:1){@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea:not(.xterm-helper-textarea){zoom:.75}}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background:var(--color-scrollbar-thumb-active)}.xterm .xterm-viewport{overscroll-behavior:contain}.xterm .xterm-helper-textarea{outline:none}@keyframes activity-pulse{0%,to{box-shadow:0 0 0 0 var(--color-activity-pulse)}50%{box-shadow:0 0 0 4px #0000}}.dot-pulse{animation:activity-pulse 2s ease-in-out infinite}.voice-spinner{animation:voice-spin .8s linear infinite}@keyframes voice-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.data-row:hover{background:var(--color-row-hover)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}