circuschief 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/package.json +33 -0
  2. package/packages/server/bin/cli.js +4 -0
  3. package/packages/server/src/agents/AgentGateway.js +64 -0
  4. package/packages/server/src/agents/BaseAgent.js +41 -0
  5. package/packages/server/src/agents/LoggingAgentWrapper.js +73 -0
  6. package/packages/server/src/agents/adapters/ClaudeCodeAdapter.js +33 -0
  7. package/packages/server/src/agents/adapters/CodexAdapter.js +26 -0
  8. package/packages/server/src/agents/types.js +43 -0
  9. package/packages/server/src/agents/vcr/CassetteStore.js +111 -0
  10. package/packages/server/src/agents/vcr/VCRAgentAdapter.js +126 -0
  11. package/packages/server/src/agents/vcr/VCRSummaryWrapper.js +71 -0
  12. package/packages/server/src/api/canvas-helpers.js +249 -0
  13. package/packages/server/src/api/canvas-trash-routes.js +205 -0
  14. package/packages/server/src/api/canvas.js +331 -0
  15. package/packages/server/src/api/commandButtons.js +312 -0
  16. package/packages/server/src/api/commands.js +169 -0
  17. package/packages/server/src/api/filesystem.js +62 -0
  18. package/packages/server/src/api/git.js +85 -0
  19. package/packages/server/src/api/index.js +44 -0
  20. package/packages/server/src/api/kanban.js +342 -0
  21. package/packages/server/src/api/metrics.js +194 -0
  22. package/packages/server/src/api/projects-helpers.js +43 -0
  23. package/packages/server/src/api/projects-session-helpers.js +295 -0
  24. package/packages/server/src/api/projects.js +384 -0
  25. package/packages/server/src/api/providers.js +249 -0
  26. package/packages/server/src/api/quickResponses.js +129 -0
  27. package/packages/server/src/api/sessions-archive.js +69 -0
  28. package/packages/server/src/api/sessions-commands.js +220 -0
  29. package/packages/server/src/api/sessions-conversations.js +168 -0
  30. package/packages/server/src/api/sessions-draft.js +72 -0
  31. package/packages/server/src/api/sessions-lifecycle.js +190 -0
  32. package/packages/server/src/api/sessions-messages.js +141 -0
  33. package/packages/server/src/api/sessions-notes.js +51 -0
  34. package/packages/server/src/api/sessions-patch.js +252 -0
  35. package/packages/server/src/api/sessions-streaming.js +86 -0
  36. package/packages/server/src/api/sessions.js +269 -0
  37. package/packages/server/src/api/settings.js +194 -0
  38. package/packages/server/src/api/templates.js +63 -0
  39. package/packages/server/src/app.js +51 -0
  40. package/packages/server/src/database.js +58 -0
  41. package/packages/server/src/db/AgentCallLogRepository.js +322 -0
  42. package/packages/server/src/db/AttachmentRepository.js +191 -0
  43. package/packages/server/src/db/BaseRepository.js +39 -0
  44. package/packages/server/src/db/CanvasItemRepository.js +315 -0
  45. package/packages/server/src/db/CommandButtonRepository.js +75 -0
  46. package/packages/server/src/db/CommandRunRepository.js +219 -0
  47. package/packages/server/src/db/ConversationRepository.js +379 -0
  48. package/packages/server/src/db/DatabaseManager.js +91 -0
  49. package/packages/server/src/db/KanbanBoardRepository.js +92 -0
  50. package/packages/server/src/db/KanbanCardRepository.js +286 -0
  51. package/packages/server/src/db/KanbanLaneRepository.js +279 -0
  52. package/packages/server/src/db/MessageRepository.js +156 -0
  53. package/packages/server/src/db/ProjectDefaultsRepository.js +173 -0
  54. package/packages/server/src/db/ProjectRepository.js +110 -0
  55. package/packages/server/src/db/ProviderRepository.js +307 -0
  56. package/packages/server/src/db/QuickResponseRepository.js +186 -0
  57. package/packages/server/src/db/SessionNoteRepository.js +60 -0
  58. package/packages/server/src/db/SessionRepository.js +314 -0
  59. package/packages/server/src/db/SessionSummaryRepository.js +200 -0
  60. package/packages/server/src/db/SessionTemplateRepository.js +171 -0
  61. package/packages/server/src/db/SettingsRepository.js +211 -0
  62. package/packages/server/src/db/TodoRepository.js +132 -0
  63. package/packages/server/src/db/WorkLogRepository.js +122 -0
  64. package/packages/server/src/db/conversation-helpers.js +119 -0
  65. package/packages/server/src/db/index.js +100 -0
  66. package/packages/server/src/db/migrations/canvasItemsMigrations.js +109 -0
  67. package/packages/server/src/db/migrations/conversationsMigrations.js +183 -0
  68. package/packages/server/src/db/migrations/index.js +199 -0
  69. package/packages/server/src/db/migrations/kanbanMigrations.js +99 -0
  70. package/packages/server/src/db/migrations/migrationUtils.js +55 -0
  71. package/packages/server/src/db/migrations/miscMigrations.js +242 -0
  72. package/packages/server/src/db/migrations/projectsMigrations.js +95 -0
  73. package/packages/server/src/db/migrations/sessionsMigrations.js +282 -0
  74. package/packages/server/src/db/session-helpers.js +150 -0
  75. package/packages/server/src/index.js +106 -0
  76. package/packages/server/src/logger.js +22 -0
  77. package/packages/server/src/middleware/sessionLookup.js +57 -0
  78. package/packages/server/src/middleware/upload.js +94 -0
  79. package/packages/server/src/schema.sql +363 -0
  80. package/packages/server/src/services/agentCallLogger.js +116 -0
  81. package/packages/server/src/services/canvasStore.js +56 -0
  82. package/packages/server/src/services/childSessionContext.js +61 -0
  83. package/packages/server/src/services/commandRunner.js +422 -0
  84. package/packages/server/src/services/conversationContext.js +72 -0
  85. package/packages/server/src/services/diffService.js +172 -0
  86. package/packages/server/src/services/draftSessionService.js +181 -0
  87. package/packages/server/src/services/encryption.js +134 -0
  88. package/packages/server/src/services/ghService.js +169 -0
  89. package/packages/server/src/services/gitService.js +520 -0
  90. package/packages/server/src/services/gitSessionSetup.js +48 -0
  91. package/packages/server/src/services/hookService.js +60 -0
  92. package/packages/server/src/services/kanbanService.js +262 -0
  93. package/packages/server/src/services/kanbanTriggers.js +273 -0
  94. package/packages/server/src/services/nodeSpawnHelper.js +63 -0
  95. package/packages/server/src/services/prStatusService.js +204 -0
  96. package/packages/server/src/services/prUrlService.js +224 -0
  97. package/packages/server/src/services/providerTestService.js +81 -0
  98. package/packages/server/src/services/scheduleService.js +110 -0
  99. package/packages/server/src/services/schedulerService.js +281 -0
  100. package/packages/server/src/services/sessionDuplicator.js +63 -0
  101. package/packages/server/src/services/sessionErrors.js +173 -0
  102. package/packages/server/src/services/sessionExecution.js +378 -0
  103. package/packages/server/src/services/sessionManager.js +356 -0
  104. package/packages/server/src/services/sessionPrompts.js +427 -0
  105. package/packages/server/src/services/sessionProvider.js +107 -0
  106. package/packages/server/src/services/slashCommandDiscovery.js +258 -0
  107. package/packages/server/src/services/slashCommandPluginDiscovery.js +216 -0
  108. package/packages/server/src/services/slashCommandService.js +306 -0
  109. package/packages/server/src/services/streamEventCallbacks.js +170 -0
  110. package/packages/server/src/services/streamEventHandler.js +488 -0
  111. package/packages/server/src/services/streamUsageHandler.js +228 -0
  112. package/packages/server/src/services/summaryBroadcast.js +61 -0
  113. package/packages/server/src/services/summaryClaudeClient.js +180 -0
  114. package/packages/server/src/services/summaryPrompts.js +169 -0
  115. package/packages/server/src/services/summaryService.js +552 -0
  116. package/packages/server/src/services/summaryStaleCheck.js +35 -0
  117. package/packages/server/src/services/systemMonitor.js +281 -0
  118. package/packages/server/src/services/templateTriggerService.js +197 -0
  119. package/packages/server/src/services/terminalOutput.js +160 -0
  120. package/packages/server/src/services/todoStore.js +58 -0
  121. package/packages/server/src/services/usageTracker.js +69 -0
  122. package/packages/server/src/services/withConcurrencyGuard.js +110 -0
  123. package/packages/server/src/websocket.js +10 -0
  124. package/packages/server/src/ws/WebSocketManager.js +240 -0
  125. package/packages/server/src/ws/index.js +50 -0
  126. package/packages/shared/package.json +27 -0
  127. package/packages/shared/src/constants.js +44 -0
  128. package/packages/shared/src/contracts/canvas.js +25 -0
  129. package/packages/shared/src/contracts/commandButtons.js +36 -0
  130. package/packages/shared/src/contracts/kanban.js +142 -0
  131. package/packages/shared/src/contracts/projects.js +63 -0
  132. package/packages/shared/src/contracts/providers.js +81 -0
  133. package/packages/shared/src/contracts/quickResponses.js +44 -0
  134. package/packages/shared/src/contracts/sessions.js +112 -0
  135. package/packages/shared/src/contracts/templates.js +51 -0
  136. package/packages/shared/src/index.js +5 -0
  137. package/packages/shared/src/protocol.js +76 -0
  138. package/packages/shared/src/routeParams.js +36 -0
  139. package/packages/shared/src/types.js +167 -0
  140. package/packages/shared/src/utils.js +101 -0
  141. package/packages/web/dist/assets/ActiveSessionsView-BQc76Jc8.js +1 -0
  142. package/packages/web/dist/assets/ActiveSessionsView-ofSvx-K1.css +1 -0
  143. package/packages/web/dist/assets/AgentLogsView-CTCjHjsu.js +2 -0
  144. package/packages/web/dist/assets/AgentLogsView-D90PnQVk.css +1 -0
  145. package/packages/web/dist/assets/ApiClient-Dbs1H78V.js +1 -0
  146. package/packages/web/dist/assets/ArchiveConfirmModal-CCxSZ52u.js +1 -0
  147. package/packages/web/dist/assets/ArchiveConfirmModal-CQZeuYBz.css +1 -0
  148. package/packages/web/dist/assets/CommandButtonDetailView-CF_-LXpU.js +1 -0
  149. package/packages/web/dist/assets/CommandButtonDetailView-DBm3rzhw.css +1 -0
  150. package/packages/web/dist/assets/EffortLevelSelector-BQaQmU2d.css +1 -0
  151. package/packages/web/dist/assets/EffortLevelSelector-DPofLvm-.js +1 -0
  152. package/packages/web/dist/assets/GeneralSettingsView-BCf53fpC.css +1 -0
  153. package/packages/web/dist/assets/GeneralSettingsView-BY1G-Kv8.js +1 -0
  154. package/packages/web/dist/assets/InterpolationHelp-CgdbNcJB.js +1 -0
  155. package/packages/web/dist/assets/InterpolationHelp-iNxTxmhs.css +1 -0
  156. package/packages/web/dist/assets/MarkdownEditor-CqT1U8lo.js +2 -0
  157. package/packages/web/dist/assets/MarkdownEditor-enuH2yvP.css +1 -0
  158. package/packages/web/dist/assets/ModelSelector-BBn_Ve0D.js +1 -0
  159. package/packages/web/dist/assets/ModelSelector-DPPD-92R.css +1 -0
  160. package/packages/web/dist/assets/NewSessionView-Bo5l49nu.js +3 -0
  161. package/packages/web/dist/assets/NewSessionView-Byoi1XdQ.css +1 -0
  162. package/packages/web/dist/assets/PathChooser-BoMGzeg2.css +1 -0
  163. package/packages/web/dist/assets/PathChooser-Cx9gQ-Qt.js +1 -0
  164. package/packages/web/dist/assets/ProjectEditView-BFuscj-V.js +1 -0
  165. package/packages/web/dist/assets/ProjectEditView-DNwBUNRk.css +1 -0
  166. package/packages/web/dist/assets/ProjectListView-C55H1JHQ.css +1 -0
  167. package/packages/web/dist/assets/ProjectListView-Dj0jBZ46.js +1 -0
  168. package/packages/web/dist/assets/ProjectNewView-Brdp-xUu.js +1 -0
  169. package/packages/web/dist/assets/ProjectNewView-CpgE4R-l.css +1 -0
  170. package/packages/web/dist/assets/ProvidersView-B_QQF3RM.css +1 -0
  171. package/packages/web/dist/assets/ProvidersView-Cxc-1skq.js +1 -0
  172. package/packages/web/dist/assets/QuickResponseSettings-B2eVAtHW.js +1 -0
  173. package/packages/web/dist/assets/QuickResponseSettings-B8188A1D.css +1 -0
  174. package/packages/web/dist/assets/QuickResponsesPanel-DIBQFj0W.css +1 -0
  175. package/packages/web/dist/assets/QuickResponsesPanel-lU8pW2B0.js +1 -0
  176. package/packages/web/dist/assets/ResizableTextarea-B5nAA0RV.css +1 -0
  177. package/packages/web/dist/assets/ResizableTextarea-DSy1mWGY.js +1 -0
  178. package/packages/web/dist/assets/SessionCard-BvjLwVYg.js +1 -0
  179. package/packages/web/dist/assets/SessionCard-D20G3bX8.css +1 -0
  180. package/packages/web/dist/assets/SessionDetailView-BQbPg-RJ.js +36 -0
  181. package/packages/web/dist/assets/SessionDetailView-BrMG4p2-.css +1 -0
  182. package/packages/web/dist/assets/SessionFormOptions-BgqFR-5f.js +1 -0
  183. package/packages/web/dist/assets/SessionFormOptions-BuLlDF-7.css +1 -0
  184. package/packages/web/dist/assets/SessionListView-BAIBtJF7.css +1 -0
  185. package/packages/web/dist/assets/SessionListView-CYIHI8qF.js +1 -0
  186. package/packages/web/dist/assets/SessionLogStream-B-FwUMJQ.js +18 -0
  187. package/packages/web/dist/assets/SessionLogStream-zPUTiGbe.css +1 -0
  188. package/packages/web/dist/assets/SettingsView-DC8-hTQ-.css +1 -0
  189. package/packages/web/dist/assets/SettingsView-fZxpiGp7.js +1 -0
  190. package/packages/web/dist/assets/SlashCommandWizard-BB30cSvo.css +1 -0
  191. package/packages/web/dist/assets/SlashCommandWizard-BgaOw9W3.js +1 -0
  192. package/packages/web/dist/assets/SummarySettingsView-DcsmSVJI.css +1 -0
  193. package/packages/web/dist/assets/SummarySettingsView-eeu1Xq86.js +1 -0
  194. package/packages/web/dist/assets/TemplateDetailView-DEPKSwDo.js +1 -0
  195. package/packages/web/dist/assets/TemplateDetailView-DT2m06W7.css +1 -0
  196. package/packages/web/dist/assets/apl-B4CMkyY2.js +1 -0
  197. package/packages/web/dist/assets/asciiarmor-Df11BRmG.js +1 -0
  198. package/packages/web/dist/assets/asn1-EdZsLKOL.js +1 -0
  199. package/packages/web/dist/assets/asterisk-B-8jnY81.js +1 -0
  200. package/packages/web/dist/assets/brainfuck-C4LP7Hcl.js +1 -0
  201. package/packages/web/dist/assets/clike-B9uivgTg.js +1 -0
  202. package/packages/web/dist/assets/clojure-BMjYHr_A.js +1 -0
  203. package/packages/web/dist/assets/cmake-BQqOBYOt.js +1 -0
  204. package/packages/web/dist/assets/cobol-CWcv1MsR.js +1 -0
  205. package/packages/web/dist/assets/coffeescript-S37ZYGWr.js +1 -0
  206. package/packages/web/dist/assets/commandButtons-DNSHH8IA.js +4 -0
  207. package/packages/web/dist/assets/commonlisp-DBKNyK5s.js +1 -0
  208. package/packages/web/dist/assets/crystal-SjHAIU92.js +1 -0
  209. package/packages/web/dist/assets/css-BnMrqG3P.js +1 -0
  210. package/packages/web/dist/assets/cypher-C_CwsFkJ.js +1 -0
  211. package/packages/web/dist/assets/d-pRatUO7H.js +1 -0
  212. package/packages/web/dist/assets/diff-DbItnlRl.js +1 -0
  213. package/packages/web/dist/assets/dockerfile-BKs6k2Af.js +1 -0
  214. package/packages/web/dist/assets/dtd-DF_7sFjM.js +1 -0
  215. package/packages/web/dist/assets/dylan-DwRh75JA.js +1 -0
  216. package/packages/web/dist/assets/ebnf-CDyGwa7X.js +1 -0
  217. package/packages/web/dist/assets/ecl-Cabwm37j.js +1 -0
  218. package/packages/web/dist/assets/eiffel-CnydiIhH.js +1 -0
  219. package/packages/web/dist/assets/elm-vLlmbW-K.js +1 -0
  220. package/packages/web/dist/assets/erlang-BNw1qcRV.js +1 -0
  221. package/packages/web/dist/assets/factor-kuTfRLto.js +1 -0
  222. package/packages/web/dist/assets/fcl-Kvtd6kyn.js +1 -0
  223. package/packages/web/dist/assets/forth-Ffai-XNe.js +1 -0
  224. package/packages/web/dist/assets/fortran-DYz_wnZ1.js +1 -0
  225. package/packages/web/dist/assets/gas-Bneqetm1.js +1 -0
  226. package/packages/web/dist/assets/gherkin-heZmZLOM.js +1 -0
  227. package/packages/web/dist/assets/groovy-D9Dt4D0W.js +1 -0
  228. package/packages/web/dist/assets/haskell-BWDZoCOh.js +1 -0
  229. package/packages/web/dist/assets/haxe-H-WmDvRZ.js +1 -0
  230. package/packages/web/dist/assets/http-DBlCnlav.js +1 -0
  231. package/packages/web/dist/assets/idl-BEugSyMb.js +1 -0
  232. package/packages/web/dist/assets/index-BZlHgDSz.js +1 -0
  233. package/packages/web/dist/assets/index-BhWX8AfE.js +2 -0
  234. package/packages/web/dist/assets/index-Bi3XvF_f.js +1 -0
  235. package/packages/web/dist/assets/index-BqXoPf_D.js +1 -0
  236. package/packages/web/dist/assets/index-CAuTOZSD.js +1 -0
  237. package/packages/web/dist/assets/index-CKYk-fkb.js +1 -0
  238. package/packages/web/dist/assets/index-CTumW_tV.js +318 -0
  239. package/packages/web/dist/assets/index-CVOJVSsC.js +82 -0
  240. package/packages/web/dist/assets/index-CXK2Z3_z.js +1 -0
  241. package/packages/web/dist/assets/index-CYllQ3Vd.js +1 -0
  242. package/packages/web/dist/assets/index-CpsfI08O.js +1 -0
  243. package/packages/web/dist/assets/index-DQkhDeTA.js +3 -0
  244. package/packages/web/dist/assets/index-DWP8iCBp.js +1 -0
  245. package/packages/web/dist/assets/index-DkVb9W_J.js +1 -0
  246. package/packages/web/dist/assets/index-DmKHPbIa.js +1 -0
  247. package/packages/web/dist/assets/index-DrlQi03X.js +1 -0
  248. package/packages/web/dist/assets/index-gmCCsCQ1.css +1 -0
  249. package/packages/web/dist/assets/index-prTEzzgO.js +1 -0
  250. package/packages/web/dist/assets/index-wqgejMCM.js +1 -0
  251. package/packages/web/dist/assets/index-yh0ZHIWw.js +7 -0
  252. package/packages/web/dist/assets/javascript-qCveANmP.js +1 -0
  253. package/packages/web/dist/assets/julia-DuME0IfC.js +1 -0
  254. package/packages/web/dist/assets/livescript-BwQOo05w.js +1 -0
  255. package/packages/web/dist/assets/lua-BgMRiT3U.js +1 -0
  256. package/packages/web/dist/assets/mathematica-DTrFuWx2.js +1 -0
  257. package/packages/web/dist/assets/mbox-CNhZ1qSd.js +1 -0
  258. package/packages/web/dist/assets/mirc-CjQqDB4T.js +1 -0
  259. package/packages/web/dist/assets/mllike-CXdrOF99.js +1 -0
  260. package/packages/web/dist/assets/modelica-Dc1JOy9r.js +1 -0
  261. package/packages/web/dist/assets/mscgen-BA5vi2Kp.js +1 -0
  262. package/packages/web/dist/assets/mumps-BT43cFF4.js +1 -0
  263. package/packages/web/dist/assets/nginx-DdIZxoE0.js +1 -0
  264. package/packages/web/dist/assets/nsis-LdVXkNf5.js +1 -0
  265. package/packages/web/dist/assets/ntriples-BfvgReVJ.js +1 -0
  266. package/packages/web/dist/assets/octave-Ck1zUtKM.js +1 -0
  267. package/packages/web/dist/assets/oz-BzwKVEFT.js +1 -0
  268. package/packages/web/dist/assets/pascal--L3eBynH.js +1 -0
  269. package/packages/web/dist/assets/perl-CdXCOZ3F.js +1 -0
  270. package/packages/web/dist/assets/pig-CevX1Tat.js +1 -0
  271. package/packages/web/dist/assets/powershell-CFHJl5sT.js +1 -0
  272. package/packages/web/dist/assets/projects-DbBQQH-V.js +1 -0
  273. package/packages/web/dist/assets/properties-C78fOPTZ.js +1 -0
  274. package/packages/web/dist/assets/protobuf-ChK-085T.js +1 -0
  275. package/packages/web/dist/assets/providers-ceCc4xRU.js +1 -0
  276. package/packages/web/dist/assets/pug-DukmZTjD.js +1 -0
  277. package/packages/web/dist/assets/puppet-DMA9R1ak.js +1 -0
  278. package/packages/web/dist/assets/python-BuPzkPfP.js +1 -0
  279. package/packages/web/dist/assets/q-pXgVlZs6.js +1 -0
  280. package/packages/web/dist/assets/r-DUYO_cvP.js +1 -0
  281. package/packages/web/dist/assets/rpm-CTu-6PCP.js +1 -0
  282. package/packages/web/dist/assets/ruby-B2Rjki9n.js +1 -0
  283. package/packages/web/dist/assets/sas-B4kiWyti.js +1 -0
  284. package/packages/web/dist/assets/scheme-C41bIUwD.js +1 -0
  285. package/packages/web/dist/assets/sessions-D681M81k.js +1 -0
  286. package/packages/web/dist/assets/settings-D0evez2V.js +1 -0
  287. package/packages/web/dist/assets/shell-CjFT_Tl9.js +1 -0
  288. package/packages/web/dist/assets/sieve-C3Gn_uJK.js +1 -0
  289. package/packages/web/dist/assets/simple-mode-GW_nhZxv.js +1 -0
  290. package/packages/web/dist/assets/smalltalk-CnHTOXQT.js +1 -0
  291. package/packages/web/dist/assets/solr-DehyRSwq.js +1 -0
  292. package/packages/web/dist/assets/sparql-DkYu6x3z.js +1 -0
  293. package/packages/web/dist/assets/spreadsheet-BCZA_wO0.js +1 -0
  294. package/packages/web/dist/assets/sql-D0XecflT.js +1 -0
  295. package/packages/web/dist/assets/stex-C3f8Ysf7.js +1 -0
  296. package/packages/web/dist/assets/style-BTin-zR_.css +1 -0
  297. package/packages/web/dist/assets/stylus-B533Al4x.js +1 -0
  298. package/packages/web/dist/assets/swift-BzpIVaGY.js +1 -0
  299. package/packages/web/dist/assets/tcl-DVfN8rqt.js +1 -0
  300. package/packages/web/dist/assets/textile-CnDTJFAw.js +1 -0
  301. package/packages/web/dist/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  302. package/packages/web/dist/assets/tiki-DGYXhP31.js +1 -0
  303. package/packages/web/dist/assets/toml-Bm5Em-hy.js +1 -0
  304. package/packages/web/dist/assets/troff-wAsdV37c.js +1 -0
  305. package/packages/web/dist/assets/ttcn-CfJYG6tj.js +1 -0
  306. package/packages/web/dist/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  307. package/packages/web/dist/assets/turtle-B1tBg_DP.js +1 -0
  308. package/packages/web/dist/assets/vb-CmGdzxic.js +1 -0
  309. package/packages/web/dist/assets/vbscript-BuJXcnF6.js +1 -0
  310. package/packages/web/dist/assets/velocity-D8B20fx6.js +1 -0
  311. package/packages/web/dist/assets/verilog-C6RDOZhf.js +1 -0
  312. package/packages/web/dist/assets/vhdl-lSbBsy5d.js +1 -0
  313. package/packages/web/dist/assets/webidl-ZXfAyPTL.js +1 -0
  314. package/packages/web/dist/assets/xquery-CQfU5ijd.js +1 -0
  315. package/packages/web/dist/assets/yacas-BJ4BC0dw.js +1 -0
  316. package/packages/web/dist/assets/z80-Hz9HOZM7.js +1 -0
  317. package/packages/web/dist/favicon.png +0 -0
  318. package/packages/web/dist/index.html +17 -0
  319. package/packages/web/dist/logo.png +0 -0
@@ -0,0 +1 @@
1
+ .markdown-viewer[data-v-302edca0]{line-height:1.6;word-wrap:break-word}.markdown-viewer[data-v-302edca0] h1,.markdown-viewer[data-v-302edca0] h2,.markdown-viewer[data-v-302edca0] h3,.markdown-viewer[data-v-302edca0] h4,.markdown-viewer[data-v-302edca0] h5,.markdown-viewer[data-v-302edca0] h6{margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.25;color:var(--color-text)}.markdown-viewer[data-v-302edca0] h1{font-size:1.75em;border-bottom:1px solid var(--color-border);padding-bottom:.3em}.markdown-viewer[data-v-302edca0] h2{font-size:1.5em;border-bottom:1px solid var(--color-border);padding-bottom:.3em}.markdown-viewer[data-v-302edca0] h3{font-size:1.25em}.markdown-viewer[data-v-302edca0] h4{font-size:1em}.markdown-viewer[data-v-302edca0] h5{font-size:.875em}.markdown-viewer[data-v-302edca0] h6{font-size:.85em;color:var(--color-text-soft)}.markdown-viewer[data-v-302edca0]>h1:first-child,.markdown-viewer[data-v-302edca0]>h2:first-child,.markdown-viewer[data-v-302edca0]>h3:first-child,.markdown-viewer[data-v-302edca0]>h4:first-child,.markdown-viewer[data-v-302edca0]>h5:first-child,.markdown-viewer[data-v-302edca0]>h6:first-child{margin-top:0}.markdown-viewer[data-v-302edca0] p{margin-top:0;margin-bottom:1em}.markdown-viewer[data-v-302edca0] a{color:var(--color-primary);text-decoration:none}.markdown-viewer[data-v-302edca0] a:hover{text-decoration:underline}.markdown-viewer[data-v-302edca0] ul,.markdown-viewer[data-v-302edca0] ol{margin-top:0;margin-bottom:1em;padding-left:2em}.markdown-viewer[data-v-302edca0] ul{list-style-type:disc}.markdown-viewer[data-v-302edca0] ol{list-style-type:decimal}.markdown-viewer[data-v-302edca0] li{margin-bottom:.25em}.markdown-viewer[data-v-302edca0] li>ul,.markdown-viewer[data-v-302edca0] li>ol{margin-top:.25em;margin-bottom:0}.markdown-viewer[data-v-302edca0] blockquote{margin:0 0 1em;padding:.5em 1em;border-left:4px solid var(--color-border);background-color:var(--color-background-soft);color:var(--color-text-soft)}.markdown-viewer[data-v-302edca0] blockquote p:last-child{margin-bottom:0}.markdown-viewer[data-v-302edca0] code{font-family:var(--font-mono);font-size:.875em;padding:.2em .4em;background-color:var(--color-background-mute);border-radius:3px}.markdown-viewer[data-v-302edca0] pre{margin:0 0 1em;padding:1em;overflow-x:auto;background-color:var(--color-background-mute);border-radius:var(--border-radius);border:1px solid var(--color-border)}.markdown-viewer[data-v-302edca0] pre code{padding:0;background-color:transparent;border-radius:0;font-size:.8125em;line-height:1.5}.markdown-viewer[data-v-302edca0] table{width:100%;margin-bottom:1em;border-collapse:collapse;border-spacing:0}.markdown-viewer[data-v-302edca0] th,.markdown-viewer[data-v-302edca0] td{padding:.5em 1em;border:1px solid var(--color-border);text-align:left}.markdown-viewer[data-v-302edca0] th{font-weight:600;background-color:var(--color-background-soft)}.markdown-viewer[data-v-302edca0] tr:nth-child(2n){background-color:var(--color-background-soft)}.markdown-viewer[data-v-302edca0] hr{height:1px;margin:1.5em 0;background-color:var(--color-border);border:none}.markdown-viewer[data-v-302edca0] img{max-width:100%;height:auto;border-radius:var(--border-radius)}.markdown-viewer[data-v-302edca0] strong{font-weight:600}.markdown-viewer[data-v-302edca0] em{font-style:italic}.markdown-viewer[data-v-302edca0] del,.markdown-viewer[data-v-302edca0] s{text-decoration:line-through;color:var(--color-text-soft)}.markdown-viewer[data-v-302edca0] .hljs{color:#c9d1d9;background:var(--color-background-mute)}.markdown-viewer[data-v-302edca0] .hljs-comment,.markdown-viewer[data-v-302edca0] .hljs-punctuation{color:#8b949e}.markdown-viewer[data-v-302edca0] .hljs-attr,.markdown-viewer[data-v-302edca0] .hljs-attribute,.markdown-viewer[data-v-302edca0] .hljs-meta,.markdown-viewer[data-v-302edca0] .hljs-selector-attr,.markdown-viewer[data-v-302edca0] .hljs-selector-class,.markdown-viewer[data-v-302edca0] .hljs-selector-id{color:#79c0ff}.markdown-viewer[data-v-302edca0] .hljs-variable,.markdown-viewer[data-v-302edca0] .hljs-literal,.markdown-viewer[data-v-302edca0] .hljs-number,.markdown-viewer[data-v-302edca0] .hljs-doctag{color:#f2cc60}.markdown-viewer[data-v-302edca0] .hljs-params{color:#c9d1d9}.markdown-viewer[data-v-302edca0] .hljs-function{color:#d2a8ff}.markdown-viewer[data-v-302edca0] .hljs-class,.markdown-viewer[data-v-302edca0] .hljs-tag,.markdown-viewer[data-v-302edca0] .hljs-title,.markdown-viewer[data-v-302edca0] .hljs-built_in{color:#7ee787}.markdown-viewer[data-v-302edca0] .hljs-keyword,.markdown-viewer[data-v-302edca0] .hljs-type,.markdown-viewer[data-v-302edca0] .hljs-selector-tag,.markdown-viewer[data-v-302edca0] .hljs-addition,.markdown-viewer[data-v-302edca0] .hljs-template-tag,.markdown-viewer[data-v-302edca0] .hljs-template-variable{color:#ff7b72}.markdown-viewer[data-v-302edca0] .hljs-string,.markdown-viewer[data-v-302edca0] .hljs-bullet,.markdown-viewer[data-v-302edca0] .hljs-subst,.markdown-viewer[data-v-302edca0] .hljs-section,.markdown-viewer[data-v-302edca0] .hljs-link,.markdown-viewer[data-v-302edca0] .hljs-regexp{color:#a5d6ff}.markdown-viewer[data-v-302edca0] .hljs-name,.markdown-viewer[data-v-302edca0] .hljs-selector-pseudo,.markdown-viewer[data-v-302edca0] .hljs-symbol,.markdown-viewer[data-v-302edca0] .hljs-quote{color:#7ee787}.markdown-viewer[data-v-302edca0] .hljs-deletion{color:#ffa198;background-color:#ff818226}.markdown-viewer[data-v-302edca0] .hljs-emphasis{font-style:italic}.markdown-viewer[data-v-302edca0] .hljs-strong{font-weight:700}.diff-file-content[data-v-68865be7]{background-color:var(--color-background)}.diff-hunk[data-v-68865be7]{border-top:1px solid var(--color-border)}.diff-hunk-header[data-v-68865be7]{padding:.5rem .75rem;background-color:#58a6ff1a;color:var(--color-text-soft);font-size:.75rem}.diff-table-wrapper[data-v-68865be7]{overflow-x:auto}.diff-table[data-v-68865be7]{min-width:100%;border-collapse:collapse}.diff-line[data-v-68865be7]{height:1.5rem}.diff-line-context[data-v-68865be7]{background-color:var(--color-background)}.diff-line-addition[data-v-68865be7]{background-color:#3fb95026}.diff-line-deletion[data-v-68865be7]{background-color:#f8514926}.diff-line-num[data-v-68865be7]{width:3rem;min-width:3rem;padding:0 .5rem;text-align:right;color:var(--color-text-soft);background-color:var(--color-background-soft);border-right:1px solid var(--color-border);-webkit-user-select:none;user-select:none;vertical-align:top}.diff-line-addition .diff-line-num[data-v-68865be7]{background-color:#3fb95033}.diff-line-deletion .diff-line-num[data-v-68865be7]{background-color:#f8514933}.diff-line-prefix[data-v-68865be7]{width:1.5rem;min-width:1.5rem;text-align:center;-webkit-user-select:none;user-select:none;vertical-align:top}.diff-line-addition .diff-line-prefix[data-v-68865be7]{color:var(--color-success)}.diff-line-deletion .diff-line-prefix[data-v-68865be7]{color:var(--color-error)}.diff-line-content[data-v-68865be7]{padding:0 .5rem;white-space:pre;vertical-align:top}.markdown-preview-container[data-v-68865be7]{padding:1rem;background-color:var(--color-background);border-top:1px solid var(--color-border);font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:.875rem}.markdown-preview-split[data-v-68865be7]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.markdown-preview-pane[data-v-68865be7]{border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.markdown-preview-pane[data-v-68865be7]>.markdown-viewer{padding:1rem;max-height:400px;overflow-y:auto}.markdown-preview-single[data-v-68865be7]{border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.markdown-preview-single[data-v-68865be7]>.markdown-viewer{padding:1rem;max-height:400px;overflow-y:auto}.markdown-preview-label[data-v-68865be7]{padding:.5rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.markdown-preview-label-old[data-v-68865be7]{background-color:#f851491a;color:var(--color-error);border-bottom:1px solid rgba(248,81,73,.2)}.markdown-preview-label-new[data-v-68865be7]{background-color:#3fb9501a;color:var(--color-success);border-bottom:1px solid rgba(63,185,80,.2)}@media (max-width: 768px){.markdown-preview-split[data-v-68865be7]{grid-template-columns:1fr}}.binary-file-notice[data-v-68865be7]{display:flex;align-items:center;gap:1rem;padding:2rem;background-color:var(--color-background-soft);border:1px dashed var(--color-border);border-radius:var(--border-radius);text-align:center}.binary-icon[data-v-68865be7]{font-size:2rem;flex-shrink:0}.binary-message[data-v-68865be7]{flex:1}.binary-message p[data-v-68865be7]{margin:.25rem 0;color:var(--color-text-soft);font-family:var(--font-base);font-size:.9375rem}.binary-message p[data-v-68865be7]:first-child{font-weight:600;color:var(--color-text)}.image-preview-container[data-v-68865be7]{padding:1rem;background-color:var(--color-background-soft);border-radius:var(--border-radius);display:flex;justify-content:center;align-items:center;min-height:100px}.image-loading[data-v-68865be7],.image-error[data-v-68865be7],.image-deleted[data-v-68865be7]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-soft);font-family:var(--font-base);font-size:.875rem}.image-error[data-v-68865be7]{color:var(--color-error)}.image-deleted[data-v-68865be7]{color:var(--color-text-soft);font-style:italic}.error-icon[data-v-68865be7],.deleted-icon[data-v-68865be7]{font-size:1.25rem}.image-wrapper[data-v-68865be7]{display:flex;justify-content:center;align-items:center;width:100%}.diff-image[data-v-68865be7]{max-width:100%;max-height:500px;height:auto;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000004d}@media (max-width: 768px){.diff-image[data-v-68865be7]{max-height:300px}}@media (min-width: 1200px){.diff-image[data-v-68865be7]{max-height:600px}}.diff-viewer[data-v-2672650f]{font-family:var(--font-mono);font-size:.75rem;line-height:1.4}.diff-empty[data-v-2672650f]{color:var(--color-text-soft);padding:1rem;text-align:center}.diff-file[data-v-2672650f]{border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:1rem;overflow:hidden}.diff-file-header[data-v-2672650f]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--color-background-mute);cursor:pointer;-webkit-user-select:none;user-select:none}.diff-file-header[data-v-2672650f]:hover{background-color:var(--color-border)}.diff-file-toggle[data-v-2672650f]{color:var(--color-text-soft);font-size:.625rem;width:1rem}.diff-file-icon[data-v-2672650f]{display:flex;align-items:center}.file-badge[data-v-2672650f]{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:3px;font-size:.625rem;font-weight:600}.file-badge-new[data-v-2672650f]{background-color:#3fb95033;color:var(--color-success)}.file-badge-deleted[data-v-2672650f]{background-color:#f8514933;color:var(--color-error)}.file-badge-renamed[data-v-2672650f]{background-color:#d2992233;color:var(--color-warning)}.file-badge-modified[data-v-2672650f]{background-color:#58a6ff33;color:var(--color-primary)}.diff-file-path[data-v-2672650f]{flex:1;min-width:0;color:var(--color-text);word-break:break-word}.diff-file-stats[data-v-2672650f]{display:flex;gap:.5rem;font-size:.75rem}.stat-additions[data-v-2672650f]{color:var(--color-success)}.stat-deletions[data-v-2672650f]{color:var(--color-error)}.copy-button[data-v-2672650f]{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:.25rem;margin:0 .25rem;border:none;background-color:transparent;color:var(--color-text-soft);cursor:pointer;border-radius:4px;transition:all .2s ease-out;flex-shrink:0}.copy-button[data-v-2672650f]:hover{color:var(--color-text);background-color:#ffffff0d}.copy-button[data-v-2672650f]:active{background-color:#ffffff1a}.copy-button.copied[data-v-2672650f]{color:var(--color-success);animation:copySuccess-2672650f .3s ease-out}.copy-button-icon[data-v-2672650f]{font-size:1rem;display:inline-block}@keyframes copySuccess-2672650f{0%{transform:scale(.8);opacity:.7}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.preview-toggle[data-v-2672650f]{margin-left:auto}.changes-tab[data-v-e3da4c75]{padding:1rem 0}.loading-state[data-v-e3da4c75]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem}.error-message[data-v-e3da4c75]{color:var(--color-error);padding:1rem;background-color:#f851491a;border-radius:var(--border-radius)}.empty-state[data-v-e3da4c75]{text-align:center;padding:2rem;color:var(--color-text-soft)}.changes-toolbar[data-v-e3da4c75]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.mode-toggle[data-v-e3da4c75]{display:flex;gap:.25rem;background-color:var(--color-background-soft);border-radius:4px;padding:.25rem}.toggle-button[data-v-e3da4c75]{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.5rem .75rem;border:1px solid transparent;background-color:transparent;color:var(--color-text-soft);cursor:pointer;font-size:.875rem;border-radius:3px;transition:all .2s ease-out;white-space:nowrap;flex-shrink:0}.toggle-button[data-v-e3da4c75]:hover:not(:disabled){background-color:#ffffff0d;color:var(--color-text)}.toggle-button[data-v-e3da4c75]:disabled{opacity:.6;cursor:not-allowed}.toggle-button.active[data-v-e3da4c75]{background-color:var(--color-primary);color:var(--color-background);border-color:var(--color-primary);font-weight:600}.toggle-button.active[data-v-e3da4c75]:hover:not(:disabled){background-color:var(--color-primary);filter:brightness(1.1)}.btn-link[data-v-e3da4c75]{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.875rem;padding:.25rem .5rem;min-height:2.75rem;display:flex;align-items:center}.btn-link[data-v-e3da4c75]:hover:not(:disabled){text-decoration:underline}.btn-link[data-v-e3da4c75]:disabled{opacity:.6;cursor:not-allowed}.diff-section[data-v-e3da4c75]{margin-bottom:1.5rem}.diff-section h3[data-v-e3da4c75]{font-size:.875rem;margin-bottom:.5rem;color:var(--color-text-soft)}.local-changes-header[data-v-e3da4c75]{margin-top:1.5rem;margin-bottom:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.local-changes-header h3[data-v-e3da4c75]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-soft);margin:0}.canvas-file-list[data-v-8223fdcb]{display:flex;flex-direction:column;gap:.25rem}.file-row[data-v-8223fdcb]{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s;min-height:48px}.file-row[data-v-8223fdcb]:hover{background:var(--color-background-mute)}.file-row-top[data-v-8223fdcb]{width:100%;display:flex;align-items:center}.file-row-bottom[data-v-8223fdcb]{display:flex;align-items:center;gap:.75rem;width:100%}.file-name[data-v-8223fdcb]{font-weight:500;word-break:break-word;line-height:1.4}.version-badge[data-v-8223fdcb]{font-size:.7rem;padding:.15rem .4rem;background:var(--color-primary);color:#fff;border-radius:9999px;font-weight:600;flex-shrink:0}.file-time[data-v-8223fdcb]{font-size:.75rem;color:var(--color-text-soft);flex-shrink:0}.file-arrow[data-v-8223fdcb]{color:var(--color-text-soft);font-size:1.25rem;flex-shrink:0}.file-menu-container[data-v-8223fdcb]{position:relative;display:inline-block;flex-shrink:0}.btn-menu[data-v-8223fdcb]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;border:none;background:transparent;color:var(--color-text-soft, #888);cursor:pointer;transition:background .15s ease,color .15s ease;font-size:1.25rem;line-height:1;flex-shrink:0}.btn-menu[data-v-8223fdcb]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-menu[data-v-8223fdcb]:active{background:#ffffff26}.menu-overlay[data-v-8223fdcb]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.file-menu-items[data-v-8223fdcb]{position:absolute;top:100%;right:0;min-width:200px;margin-top:.5rem;padding:.25rem 0;list-style:none;background:var(--color-bg-secondary, #222);border:1px solid var(--color-border, #444);border-radius:6px;box-shadow:0 4px 6px #0000004d;z-index:100}.menu-item[data-v-8223fdcb]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem 1rem;border:none;background:transparent;color:var(--color-text, #ccc);cursor:pointer;text-align:left;font-size:.875rem;transition:all .15s ease}.menu-item[data-v-8223fdcb]:hover{background:var(--color-bg-hover, #333)}.menu-item.is-danger[data-v-8223fdcb]{color:var(--color-error, #f87171)}.menu-item.is-danger[data-v-8223fdcb]:hover{background:#f871711a}.menu-item-icon[data-v-8223fdcb]{font-size:1rem;flex-shrink:0}.menu-item-text[data-v-8223fdcb]{flex:1;font-weight:500}.menu-divider[data-v-8223fdcb]{height:1px;background:var(--color-border, #444);margin:.25rem 0;list-style:none}.fade-enter-active[data-v-8223fdcb],.fade-leave-active[data-v-8223fdcb]{transition:opacity .15s ease}.fade-enter-from[data-v-8223fdcb],.fade-leave-to[data-v-8223fdcb]{opacity:0}.slide-enter-active[data-v-8223fdcb],.slide-leave-active[data-v-8223fdcb]{transition:all .15s ease}.slide-enter-from[data-v-8223fdcb],.slide-leave-to[data-v-8223fdcb]{opacity:0;transform:translateY(-4px)}.list-header[data-v-8223fdcb]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:.5rem;font-weight:600;font-size:.9rem}.select-all-checkbox[data-v-8223fdcb]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.select-all-checkbox[data-v-8223fdcb]:disabled{opacity:.5;cursor:not-allowed}.header-label[data-v-8223fdcb]{flex:1}.selection-count[data-v-8223fdcb]{color:var(--color-text-soft);font-size:.85rem;font-weight:400;margin-left:auto}.item-checkbox[data-v-8223fdcb]{width:18px;height:18px;cursor:pointer;flex-shrink:0;margin:0}.item-checkbox[data-v-8223fdcb]:disabled{opacity:.5;cursor:not-allowed}.file-row.selected[data-v-8223fdcb]{background:#22c55e1a;border-color:#22c55e4d}.file-row.selected[data-v-8223fdcb]:hover{background:#22c55e26}@media (max-width: 640px){.file-row[data-v-8223fdcb]{padding:.875rem 1rem;gap:.5rem}.file-row-top[data-v-8223fdcb]{padding-bottom:.25rem}.file-row-bottom[data-v-8223fdcb]{gap:.5rem}.file-name[data-v-8223fdcb]{font-size:.95rem;word-break:break-word}.file-time[data-v-8223fdcb]{font-size:.6875rem}.btn-menu[data-v-8223fdcb]{width:44px;height:44px}.file-menu-items[data-v-8223fdcb]{min-width:180px}.item-checkbox[data-v-8223fdcb],.select-all-checkbox[data-v-8223fdcb]{width:16px;height:16px}}.viewer-header[data-v-669e970d]{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:1rem}.viewer-header-top[data-v-669e970d],.viewer-header-bottom[data-v-669e970d]{width:100%;display:flex;align-items:center}.viewer-header-middle[data-v-669e970d]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.breadcrumb-container[data-v-669e970d],.header-actions[data-v-669e970d]{display:flex;align-items:center;flex-shrink:0}.header-actions[data-v-669e970d]{gap:.5rem}.breadcrumb-back[data-v-669e970d]{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.9rem;font-weight:500;padding:0;white-space:nowrap;transition:text-decoration .15s ease}.breadcrumb-back[data-v-669e970d]:hover{text-decoration:underline}.viewer-filename[data-v-669e970d]{font-weight:600;font-size:1rem;word-break:break-word;line-height:1.4}.viewer-meta[data-v-669e970d]{color:var(--color-text-soft);font-size:.75rem;font-weight:400}.btn-edit-toggle[data-v-669e970d]{display:flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:6px;border:1px solid var(--color-border, #374151);background:transparent;color:var(--color-primary, #22d3ee);cursor:pointer;font-size:.8125rem;font-weight:500;transition:background .15s ease,border-color .15s ease;white-space:nowrap;min-height:28px}.btn-edit-toggle[data-v-669e970d]:hover{background:#22d3ee1a;border-color:var(--color-primary, #22d3ee)}.version-dropdown[data-v-669e970d]{position:relative}.version-dropdown summary[data-v-669e970d]{display:flex;align-items:center;gap:.25rem;padding:.35rem .6rem;background:var(--color-primary);color:#fff;border-radius:9999px;font-size:.75rem;font-weight:600;cursor:pointer;list-style:none;min-height:28px}.version-dropdown summary[data-v-669e970d]::-webkit-details-marker{display:none}.dropdown-arrow[data-v-669e970d]{font-size:.6rem}.version-list[data-v-669e970d]{position:absolute;top:100%;right:0;margin-top:.25rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);list-style:none;padding:.25rem 0;min-width:160px;z-index:100;box-shadow:0 4px 12px #0000004d}.version-list li[data-v-669e970d]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;font-size:.875rem}.version-list li[data-v-669e970d]:hover,.version-list li.active[data-v-669e970d]{background:var(--color-background-mute)}.version-number[data-v-669e970d]{font-weight:600}.version-time[data-v-669e970d]{color:var(--color-text-soft);font-size:.75rem}.version-current[data-v-669e970d]{color:var(--color-primary);font-size:.75rem}.file-menu-container[data-v-669e970d]{position:relative;display:inline-block;flex-shrink:0}.btn-menu[data-v-669e970d]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;border:none;background:transparent;color:var(--color-text-soft, #888);cursor:pointer;transition:background .15s ease,color .15s ease;font-size:1.25rem;line-height:1;flex-shrink:0}.btn-menu[data-v-669e970d]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-menu[data-v-669e970d]:active{background:#ffffff26}.menu-overlay[data-v-669e970d]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.file-menu-items[data-v-669e970d]{position:absolute;top:100%;right:0;min-width:200px;margin-top:.5rem;padding:.25rem 0;list-style:none;background:var(--color-bg-secondary, #222);border:1px solid var(--color-border, #444);border-radius:6px;box-shadow:0 4px 6px #0000004d;z-index:100}.menu-item[data-v-669e970d]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem 1rem;border:none;background:transparent;color:var(--color-text, #ccc);cursor:pointer;text-align:left;font-size:.875rem;transition:all .15s ease}.menu-item[data-v-669e970d]:hover,.menu-item.is-highlighted[data-v-669e970d]{background:var(--color-bg-hover, #333)}.menu-item.is-danger[data-v-669e970d]{color:var(--color-error, #f87171)}.menu-item.is-danger[data-v-669e970d]:hover{background:#f871711a}.menu-item-icon[data-v-669e970d]{font-size:1rem;flex-shrink:0}.menu-item-text[data-v-669e970d]{flex:1;font-weight:500}.menu-divider[data-v-669e970d]{height:1px;background:var(--color-border, #444);margin:.25rem 0;list-style:none}.fade-enter-active[data-v-669e970d],.fade-leave-active[data-v-669e970d]{transition:opacity .15s ease}.fade-enter-from[data-v-669e970d],.fade-leave-to[data-v-669e970d]{opacity:0}.slide-enter-active[data-v-669e970d],.slide-leave-active[data-v-669e970d]{transition:all .15s ease}.slide-enter-from[data-v-669e970d],.slide-leave-to[data-v-669e970d]{opacity:0;transform:translateY(-4px)}@media (max-width: 640px){.viewer-header[data-v-669e970d]{padding:.75rem;gap:.5rem}.viewer-header-middle[data-v-669e970d]{flex-wrap:wrap;gap:.5rem}.breadcrumb-back[data-v-669e970d]{font-size:.875rem}.viewer-filename[data-v-669e970d]{font-size:.95rem}.viewer-meta[data-v-669e970d]{font-size:.6875rem}.header-actions[data-v-669e970d]{gap:.375rem}.version-dropdown summary[data-v-669e970d]{min-height:44px;padding:.5rem .75rem}.btn-menu[data-v-669e970d]{width:44px;height:44px}.file-menu-items[data-v-669e970d]{min-width:180px}}.canvas-file-viewer[data-v-c8506dba]{display:flex;flex-direction:column}.content-loading[data-v-c8506dba]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem;color:var(--color-text-soft)}.loading-spinner[data-v-c8506dba]{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-c8506dba .8s linear infinite}@keyframes spin-c8506dba{to{transform:rotate(360deg)}}.viewer-content[data-v-c8506dba]{flex:1;overflow:auto;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:1rem}.viewer-content-editing[data-v-c8506dba]{padding:0;display:flex;flex-direction:column;min-height:400px}.viewer-image[data-v-c8506dba]{max-width:100%;height:auto;border-radius:var(--border-radius)}.viewer-markdown[data-v-c8506dba]{font-size:.9375rem;line-height:1.6}.viewer-markdown-raw[data-v-c8506dba]{font-size:.8125rem;margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:var(--font-mono)}.viewer-json[data-v-c8506dba]{font-size:.8125rem;margin:0;font-family:var(--font-mono)}.viewer-text[data-v-c8506dba]{white-space:pre-wrap;font-size:.9375rem}.viewer-code[data-v-c8506dba]{font-size:.8125rem;margin:0;font-family:var(--font-mono);overflow-x:auto;white-space:pre;line-height:1.5}.viewer-code code[data-v-c8506dba]{display:block}.canvas-trash[data-v-73524f88]{padding:1rem 0}.trash-header[data-v-73524f88]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.trash-header h3[data-v-73524f88]{margin:0;font-size:1.125rem}.loading-state[data-v-73524f88],.empty-state[data-v-73524f88]{text-align:center;padding:2rem;color:var(--color-text-soft)}.empty-state-hint[data-v-73524f88]{font-size:.875rem;margin-top:.5rem;opacity:.8}.trash-list[data-v-73524f88]{display:flex;flex-direction:column;gap:.5rem}.trash-row[data-v-73524f88]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);min-height:56px}.file-icon[data-v-73524f88]{font-size:1.25rem;flex-shrink:0}.file-info[data-v-73524f88]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-name[data-v-73524f88]{font-weight:500;word-break:break-word}.file-meta[data-v-73524f88]{font-size:.75rem;color:var(--color-text-soft)}.trash-actions[data-v-73524f88]{display:flex;gap:.5rem;flex-shrink:0}.btn[data-v-73524f88]{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s ease-out;font-weight:500}.btn[data-v-73524f88]:disabled{opacity:.6;cursor:not-allowed}.btn-sm[data-v-73524f88]{padding:.375rem .75rem;font-size:.8125rem}.btn-success[data-v-73524f88]{background:var(--color-success);color:#fff}.btn-success[data-v-73524f88]:hover:not(:disabled){background:#2ea043}.btn-danger[data-v-73524f88]{background:transparent;border:1px solid var(--color-error);color:var(--color-error)}.btn-danger[data-v-73524f88]:hover:not(:disabled){background:#f851491a}.item-checkbox[data-v-73524f88]{width:18px;height:18px;cursor:pointer;flex-shrink:0;margin:0}.item-checkbox[data-v-73524f88]:disabled{opacity:.5;cursor:not-allowed}.trash-row.selected[data-v-73524f88]{background:#22c55e1a;border-color:#22c55e4d}.trash-row.selected[data-v-73524f88]:hover{background:#22c55e26}.bulk-action-toolbar[data-v-73524f88]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--border-radius);margin-bottom:1rem;flex-wrap:wrap}.toolbar-left[data-v-73524f88]{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.toolbar-right[data-v-73524f88]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.selection-info[data-v-73524f88]{color:var(--color-text);font-weight:500;font-size:.9rem;white-space:nowrap}.btn-secondary[data-v-73524f88]{background-color:var(--color-background-mute);color:var(--color-text-soft);border:1px solid var(--color-border)}.btn-secondary[data-v-73524f88]:hover:not(:disabled){background-color:var(--color-background-soft);color:var(--color-text)}@media (max-width: 640px){.trash-row[data-v-73524f88]{flex-wrap:wrap}.trash-actions[data-v-73524f88]{width:100%;margin-top:.5rem}.trash-actions .btn[data-v-73524f88]{flex:1;min-height:44px}.item-checkbox[data-v-73524f88]{width:16px;height:16px}.bulk-action-toolbar[data-v-73524f88]{flex-direction:column;align-items:stretch}.toolbar-left[data-v-73524f88],.toolbar-right[data-v-73524f88]{justify-content:center}.toolbar-right .btn[data-v-73524f88]{flex:1;min-height:44px}}.stale-badge[data-v-9c2aa874]{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--color-warning);background-color:#d299221a;border:1px solid rgba(210,153,34,.25);border-radius:var(--border-radius);text-align:center;margin-bottom:.5rem}.canvas-tab[data-v-5f712ac0]{padding:1rem 0;min-height:200px;transition:background-color .2s,border-color .2s,opacity .3s ease}.canvas-tab.connection-stale[data-v-5f712ac0]{opacity:.5}.canvas-tab.drag-over[data-v-5f712ac0]{background-color:#58a6ff1a;border:2px dashed var(--color-primary);border-radius:var(--border-radius)}.canvas-header[data-v-5f712ac0]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.canvas-header label.disabled[data-v-5f712ac0]{opacity:.6;cursor:not-allowed;pointer-events:none}.trash-toggle[data-v-5f712ac0]{background:var(--color-background-mute);border:1px solid var(--color-border);color:var(--color-text-soft);padding:.375rem .75rem;border-radius:var(--border-radius);cursor:pointer;font-size:.8125rem;display:flex;align-items:center;gap:.5rem;white-space:nowrap;transition:all .2s ease-out}.trash-toggle[data-v-5f712ac0]:hover{color:var(--color-text);background:var(--color-background-soft)}.trash-count[data-v-5f712ac0]{display:inline-block;background:var(--color-error);color:#fff;border-radius:9999px;padding:.125rem .4rem;font-size:.75rem;font-weight:600;min-width:1.25rem;text-align:center}.drag-hint[data-v-5f712ac0]{color:var(--color-primary);font-weight:500}.loading-state[data-v-5f712ac0]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem}.empty-state[data-v-5f712ac0]{text-align:center;padding:2rem;color:var(--color-text-soft)}.empty-state-hint[data-v-5f712ac0]{font-size:.875rem;margin-top:.5rem;opacity:.8}.bulk-action-toolbar[data-v-5f712ac0]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--border-radius);margin-bottom:1rem;flex-wrap:wrap}.toolbar-left[data-v-5f712ac0]{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.toolbar-right[data-v-5f712ac0]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.toolbar-checkbox[data-v-5f712ac0]{width:18px;height:18px;cursor:pointer;flex-shrink:0;margin:0}.toolbar-checkbox[data-v-5f712ac0]:disabled{opacity:.5;cursor:not-allowed}.selection-info[data-v-5f712ac0]{color:var(--color-text);font-weight:500;font-size:.9rem;white-space:nowrap}.btn-danger[data-v-5f712ac0]{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-danger[data-v-5f712ac0]:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.btn-secondary[data-v-5f712ac0]{background-color:var(--color-background-mute);color:var(--color-text-soft);border-color:var(--color-border)}.btn-secondary[data-v-5f712ac0]:hover:not(:disabled){background-color:var(--color-background-soft);color:var(--color-text)}@media (max-width: 640px){.canvas-header[data-v-5f712ac0]{flex-wrap:wrap;gap:.5rem}.canvas-header .btn-primary[data-v-5f712ac0]{flex:1;min-height:44px}.drag-hint[data-v-5f712ac0]{display:none}.bulk-action-toolbar[data-v-5f712ac0]{flex-direction:column;align-items:stretch}.toolbar-left[data-v-5f712ac0],.toolbar-right[data-v-5f712ac0]{justify-content:center}.toolbar-right .btn[data-v-5f712ac0]{flex:1;min-height:44px}.toolbar-checkbox[data-v-5f712ac0]{width:16px;height:16px}}@media (hover: none){.drag-hint[data-v-5f712ac0]{display:none}}.summary-content[data-v-706ddd1a]{position:relative}.summary-updating[data-v-706ddd1a]{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-soft)}.summary-section[data-v-706ddd1a]{margin-bottom:1.5rem}.summary-section[data-v-706ddd1a]:last-of-type{margin-bottom:0}.summary-section h3[data-v-706ddd1a]{font-size:.875rem;font-weight:600;color:var(--color-text-soft);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.full-summary[data-v-706ddd1a]{margin:0;line-height:1.6}.summary-footer[data-v-706ddd1a]{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.summary-date[data-v-706ddd1a]{font-size:.75rem;color:var(--color-text-soft)}.btn-link[data-v-706ddd1a]{background:none;border:none;color:var(--color-primary);font-size:.75rem;cursor:pointer;padding:0;display:flex;align-items:center;gap:.25rem}.btn-link[data-v-706ddd1a]:hover{text-decoration:underline}.btn-link[data-v-706ddd1a]:disabled{opacity:.5;cursor:not-allowed}.latest-response[data-v-c05bdd9e]{margin-bottom:1.5rem}.latest-response-header[data-v-c05bdd9e]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem}.latest-response-header h3[data-v-c05bdd9e]{margin:0;font-size:1rem;font-weight:600}.latest-response-meta[data-v-c05bdd9e]{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--color-text-soft)}.response-model[data-v-c05bdd9e]{padding:.125rem .375rem;border-radius:4px;background:#63b3ed1a;color:var(--color-primary, #63b3ed);font-weight:500;font-size:.6875rem}.response-session-name[data-v-c05bdd9e]{opacity:.8}.latest-response-content[data-v-c05bdd9e]{position:relative;font-size:.875rem;line-height:1.5}.latest-response-content.collapsed[data-v-c05bdd9e]{max-height:300px;overflow:hidden}.latest-response-content.collapsed[data-v-c05bdd9e]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,var(--color-background-soft, #1e1e1e));pointer-events:none}.expand-toggle[data-v-c05bdd9e]{display:inline-block;margin-top:.5rem;padding:0;background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.8125rem;font-weight:500}.expand-toggle[data-v-c05bdd9e]:hover{text-decoration:underline}.session-overview[data-v-855f7818]{margin-bottom:1.5rem}.overview-header[data-v-855f7818]{margin-bottom:1rem}.overview-header h3[data-v-855f7818]{margin:0;font-size:1rem;font-weight:600}.overview-summary[data-v-855f7818]{padding:.75rem 0;border-top:1px solid var(--color-border)}.overview-summary-loading[data-v-855f7818]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-soft);font-size:.875rem}.overview-summary .summary-text[data-v-855f7818]{margin:0 0 .5rem;font-size:.875rem;color:var(--color-text);line-height:1.4}.overview-metrics[data-v-855f7818]{display:flex;gap:1.5rem;padding:.75rem 0;border-top:1px solid var(--color-border)}.metric[data-v-855f7818]{display:flex;flex-direction:column;gap:.125rem}.metric-value[data-v-855f7818]{font-size:.875rem;font-weight:600;color:var(--color-text)}.metric-label[data-v-855f7818]{font-size:.6875rem;color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.05em}.loading-spinner-small[data-v-855f7818]{width:12px;height:12px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-855f7818 1s linear infinite}@keyframes spin-855f7818{to{transform:rotate(360deg)}}.status-badge[data-v-855f7818]{display:inline-block;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-badge.pr-merged[data-v-855f7818]{background:#8250df26;color:#8250df}.status-badge.pr-open[data-v-855f7818]{background:#2ea04326;color:var(--color-success)}.status-badge.pr-closed[data-v-855f7818]{background:#6e778126;color:#6e7781}.status-badge.pr-draft[data-v-855f7818]{background:#d2992226;color:var(--color-warning)}.status-badge.ci-success[data-v-855f7818]{background:#2ea04326;color:var(--color-success)}.status-badge.ci-pending[data-v-855f7818]{background:#d2992226;color:var(--color-warning)}.pr-section[data-v-855f7818]{padding-top:.75rem;border-top:1px solid var(--color-border)}.overview-pr[data-v-855f7818]{display:flex;align-items:center;gap:.75rem}.pr-warnings[data-v-855f7818]{margin-top:.5rem;padding:.5rem .75rem;background:#cf222e14;border-radius:6px;font-size:.8125rem;color:var(--color-error, #cf222e)}.warning-item[data-v-855f7818]{padding:.125rem 0}.ci-failure-list[data-v-855f7818]{margin-top:.25rem;padding-left:1rem}.ci-failure-item[data-v-855f7818]{font-size:.75rem;color:var(--color-text-secondary, #8b949e);padding:.0625rem 0}.pr-link[data-v-855f7818]{color:var(--color-primary);text-decoration:none;font-weight:500}.pr-link[data-v-855f7818]:hover{text-decoration:underline}.overview-scheduling[data-v-855f7818]{display:flex;align-items:center;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.overview-scheduling .scheduling-icon[data-v-855f7818]{font-size:1.25rem;flex-shrink:0}.scheduling-details[data-v-855f7818]{flex:1;min-width:0}.scheduling-time[data-v-855f7818]{margin:0;font-size:.875rem;color:var(--color-text)}.scheduling-time strong[data-v-855f7818]{color:var(--color-primary);font-weight:600}.scheduling-countdown[data-v-855f7818]{margin:0;font-size:.8125rem;color:var(--color-text-soft)}.scheduling-edit-link[data-v-855f7818]{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.8125rem;font-weight:500;white-space:nowrap;padding:0}.scheduling-edit-link[data-v-855f7818]:hover{text-decoration:underline}.summary-tab[data-v-d6f79b11]{padding:1rem 0}.loading-state[data-v-d6f79b11],.generating-state[data-v-d6f79b11]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem}.summary-empty-state[data-v-d6f79b11]{display:flex;align-items:center;justify-content:center;min-height:300px;text-align:center}.summary-empty-state-content[data-v-d6f79b11]{max-width:320px}.summary-empty-state-text[data-v-d6f79b11]{font-size:1rem;font-weight:500;color:var(--color-text);margin:0 0 .5rem}.summary-empty-state-hint[data-v-d6f79b11]{font-size:.875rem;color:var(--color-text-soft);margin:0;line-height:1.4}.action-menu-container[data-v-4b2ffa29]{position:relative;display:inline-block;flex-shrink:0}.btn-kebab[data-v-4b2ffa29]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;border:none;background:transparent;color:var(--color-text-soft, #888);cursor:pointer;transition:background .15s ease,color .15s ease;font-size:1.25rem;line-height:1;flex-shrink:0}.btn-kebab[data-v-4b2ffa29]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-kebab[data-v-4b2ffa29]:active{background:#ffffff26}.menu-overlay[data-v-4b2ffa29]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.menu-items[data-v-4b2ffa29]{position:absolute;top:100%;right:0;min-width:160px;margin-top:.5rem;padding:.25rem 0;list-style:none;background:var(--color-bg-secondary, #222);border:1px solid var(--color-border, #444);border-radius:6px;box-shadow:0 4px 6px #0000004d;z-index:100}.menu-item[data-v-4b2ffa29]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem 1rem;border:none;background:transparent;color:var(--color-text, #ccc);cursor:pointer;text-align:left;font-size:.875rem;transition:all .15s ease}.menu-item[data-v-4b2ffa29]:hover,.menu-item.is-highlighted[data-v-4b2ffa29]{background:var(--color-bg-hover, #333)}.menu-item.is-danger[data-v-4b2ffa29]{color:var(--color-error, #f87171)}.menu-item.is-danger[data-v-4b2ffa29]:hover{background:#f871711a}.menu-item-icon[data-v-4b2ffa29]{font-size:1rem;flex-shrink:0}.menu-item-text[data-v-4b2ffa29]{flex:1;font-weight:500}.fade-enter-active[data-v-4b2ffa29],.fade-leave-active[data-v-4b2ffa29]{transition:opacity .15s ease}.fade-enter-from[data-v-4b2ffa29],.fade-leave-to[data-v-4b2ffa29]{opacity:0}.slide-enter-active[data-v-4b2ffa29],.slide-leave-active[data-v-4b2ffa29]{transition:all .15s ease}.slide-enter-from[data-v-4b2ffa29],.slide-leave-to[data-v-4b2ffa29]{opacity:0;transform:translateY(-4px)}.command-button-item[data-v-87ff9a4b]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:1rem;display:flex;flex-direction:column;gap:1rem}.button-header[data-v-87ff9a4b]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.button-info[data-v-87ff9a4b]{flex:1;display:flex;flex-direction:column;gap:.25rem}.button-label[data-v-87ff9a4b]{font-weight:500;color:var(--color-text);font-size:1rem}.button-command[data-v-87ff9a4b]{color:var(--color-text-soft);font-size:.85rem;font-family:var(--font-mono)}.button-actions[data-v-87ff9a4b]{display:flex;align-items:center;gap:.75rem}.status-indicator[data-v-87ff9a4b]{width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.status-indicator[data-v-87ff9a4b] svg{width:.875rem;height:.875rem}.status-success[data-v-87ff9a4b]{background-color:#3fb95033;color:var(--color-success)}.status-success[data-v-87ff9a4b] svg{animation:pop-in-87ff9a4b .3s ease-out}.status-error[data-v-87ff9a4b]{background-color:#f8514933;color:var(--color-error)}.status-error[data-v-87ff9a4b] svg{animation:shake-87ff9a4b .4s ease-in-out}.status-running[data-v-87ff9a4b]{background-color:#d299224d;color:#d29922;border-color:#d29922;animation:hourglass-flip-87ff9a4b 2s ease-in-out infinite}.output-section[data-v-87ff9a4b]{border-top:1px solid var(--color-border);padding-top:.75rem}.output-header[data-v-87ff9a4b]{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s;-webkit-user-select:none;user-select:none}.output-header[data-v-87ff9a4b]:hover{background-color:#58a6ff1a}.expand-icon[data-v-87ff9a4b]{color:var(--color-text-soft);font-size:.85rem}.output-label[data-v-87ff9a4b]{color:var(--color-text);font-size:.9rem}.exit-code[data-v-87ff9a4b]{color:var(--color-text-soft);font-size:.8rem;margin-left:.5rem}.output-content[data-v-87ff9a4b]{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding:.75rem;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:4px;position:relative}.output-display-truncated[data-v-87ff9a4b]{background-color:#58a6ff1a;border:1px solid rgba(88,166,255,.2);color:var(--color-text-soft);padding:.5rem .75rem;border-radius:4px;font-size:.8rem}.output-text[data-v-87ff9a4b]{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-soft);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;line-height:1.4}.running-indicator[data-v-87ff9a4b]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-soft);font-size:.9rem;margin-top:.5rem}.elapsed-time[data-v-87ff9a4b]{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text);font-weight:500;min-width:2.5rem}.spinner[data-v-87ff9a4b]{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-87ff9a4b .8s linear infinite}.spinner-inline[data-v-87ff9a4b]{display:inline-block;width:.75rem;height:.75rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-87ff9a4b .8s linear infinite;margin-right:.5rem;opacity:.8}.btn.is-loading[data-v-87ff9a4b]{opacity:.8;position:relative}@keyframes spin-87ff9a4b{to{transform:rotate(360deg)}}@keyframes hourglass-flip-87ff9a4b{0%,80%{transform:rotate(0)}90%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes pop-in-87ff9a4b{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes shake-87ff9a4b{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@media (max-width: 640px){.button-header[data-v-87ff9a4b]{flex-direction:column;align-items:stretch}.button-actions[data-v-87ff9a4b]{width:100%;justify-content:space-between}.button-actions button[data-v-87ff9a4b]{flex:1}}.commands-tab[data-v-3d607ed5]{display:flex;flex-direction:column;gap:1.5rem}.tab-header[data-v-3d607ed5]{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.tab-header h3[data-v-3d607ed5]{margin:0;font-size:1rem;color:var(--color-text)}.loading-state[data-v-3d607ed5],.empty-state[data-v-3d607ed5]{padding:2rem;text-align:center;background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-soft)}.error-banner[data-v-3d607ed5]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:#f851491a;border:1px solid var(--color-error);border-radius:var(--border-radius);color:var(--color-error)}.error-banner .dismiss-btn[data-v-3d607ed5]{background:none;border:1px solid var(--color-error);border-radius:4px;color:var(--color-error);padding:.25rem .5rem;font-size:.75rem;cursor:pointer;transition:background-color .2s}.error-banner .dismiss-btn[data-v-3d607ed5]:hover{background-color:#f8514933}.loading-state[data-v-3d607ed5]{display:flex;align-items:center;justify-content:center;gap:.75rem}.empty-state[data-v-3d607ed5]{display:flex;flex-direction:column;gap:1rem;align-items:center}.commands-list[data-v-3d607ed5]{display:flex;flex-direction:column;gap:1.5rem}@media (max-width: 640px){.tab-header[data-v-3d607ed5]{flex-direction:column;align-items:flex-start;gap:1rem}.commands-list[data-v-3d607ed5]{gap:1rem}}.overflow-menu-container[data-v-84c0a012]{position:relative;display:inline-block;margin-left:auto;flex-shrink:0}.btn-kebab[data-v-84c0a012]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;border:none;background:transparent;color:var(--color-text-soft, #888);cursor:pointer;transition:background .15s ease,color .15s ease;font-size:1.25rem;line-height:1;flex-shrink:0}.btn-kebab[data-v-84c0a012]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-kebab[data-v-84c0a012]:active{background:#ffffff26}.menu-overlay[data-v-84c0a012]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.menu-items[data-v-84c0a012]{position:absolute;top:100%;right:0;min-width:160px;margin-top:.5rem;padding:.25rem 0;list-style:none;background:var(--color-bg-secondary, #222);border:1px solid var(--color-border, #444);border-radius:6px;box-shadow:0 4px 6px #0000004d;z-index:100}.menu-item[data-v-84c0a012]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem 1rem;border:none;background:transparent;color:var(--color-text, #ccc);cursor:pointer;text-align:left;font-size:.875rem;transition:all .15s ease}.menu-item[data-v-84c0a012]:hover,.menu-item.is-highlighted[data-v-84c0a012]{background:var(--color-bg-hover, #333)}.menu-item.is-danger[data-v-84c0a012]{color:var(--color-error, #f87171)}.menu-item.is-danger[data-v-84c0a012]:hover{background:#f871711a}.menu-item.is-disabled[data-v-84c0a012]{opacity:.5;cursor:not-allowed;pointer-events:none}.menu-item.is-disabled[data-v-84c0a012]:hover{background:transparent}.menu-item-icon[data-v-84c0a012]{font-size:1rem;flex-shrink:0}.menu-item-spinner[data-v-84c0a012]{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(248,113,113,.3);border-top-color:#f87171;border-radius:50%;animation:spin-84c0a012 .6s linear infinite;flex-shrink:0}@keyframes spin-84c0a012{to{transform:rotate(360deg)}}.menu-item-text[data-v-84c0a012]{flex:1;font-weight:500}.menu-divider[data-v-84c0a012]{height:1px;background:var(--color-border, #444);margin:.25rem 0}.fade-enter-active[data-v-84c0a012],.fade-leave-active[data-v-84c0a012]{transition:opacity .15s ease}.fade-enter-from[data-v-84c0a012],.fade-leave-to[data-v-84c0a012]{opacity:0}.slide-enter-active[data-v-84c0a012],.slide-leave-active[data-v-84c0a012]{transition:all .15s ease}.slide-enter-from[data-v-84c0a012],.slide-leave-to[data-v-84c0a012]{opacity:0;transform:translateY(-4px)}.pr-edit-form[data-v-eeeebfa4]{display:flex;align-items:center;gap:.5rem}.pr-url-input[data-v-eeeebfa4]{background:var(--color-bg-input, #1e1e1e);border:1px solid var(--color-border, #333);border-radius:4px;padding:.375rem .5rem;font-size:.8125rem;color:var(--color-text, #e0e0e0);min-width:280px;max-width:400px}.pr-url-input[data-v-eeeebfa4]:focus{outline:none;border-color:var(--color-primary, #00bcd4)}.pr-url-input[data-v-eeeebfa4]::placeholder{color:var(--color-text-soft, #888)}.btn-icon[data-v-eeeebfa4]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;border:none;background:transparent;color:var(--color-text-soft, #888);cursor:pointer;transition:background .15s ease,color .15s ease;flex-shrink:0}.btn-icon[data-v-eeeebfa4]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-icon[data-v-eeeebfa4]:active{background:#ffffff26}.pr-edit-btn[data-v-eeeebfa4]{width:28px;height:28px;border-radius:4px}.pr-save-btn[data-v-eeeebfa4]{color:var(--color-success, #4caf50)}.pr-save-btn[data-v-eeeebfa4]:hover{background:#4caf501a}.pr-cancel-btn[data-v-eeeebfa4]{color:var(--color-text-soft, #888)}.pr-cancel-btn[data-v-eeeebfa4]:hover{background:#ffffff1a}.pr-clear-btn[data-v-eeeebfa4]{color:var(--color-error, #f44336)}.pr-clear-btn[data-v-eeeebfa4]:hover{background:#f443361a}.pr-edit-trigger[data-v-eeeebfa4]{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-text-soft, #888);font-size:.75rem;cursor:pointer;padding:.25rem .375rem;border-radius:4px;transition:color .15s,background-color .15s}.pr-edit-trigger[data-v-eeeebfa4]:hover{color:var(--color-primary, #00bcd4);background:#00bcd41a}.btn-link[data-v-eeeebfa4]{background:none;border:none;cursor:pointer}@media (max-width: 480px){.pr-url-input[data-v-eeeebfa4]{min-width:180px;max-width:100%}.pr-edit-form[data-v-eeeebfa4]{flex-wrap:wrap}}.command-status-bar[data-v-42962b66]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.button-status-indicator[data-v-42962b66]{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:1px solid transparent}.button-status-indicator[data-v-42962b66] svg{width:.875rem;height:.875rem}.button-status-indicator[data-v-42962b66]:hover{transform:scale(1.15);box-shadow:0 0 8px #fff3}.button-status-running[data-v-42962b66]{background-color:#d299224d;color:#d29922;border-color:#d29922;animation:hourglass-flip-42962b66 2s ease-in-out infinite}.button-status-success[data-v-42962b66]{background-color:#3fb9504d;color:#3fb950;border-color:#3fb950}.button-status-success[data-v-42962b66] svg{animation:pop-in-42962b66 .3s ease-out}.button-status-error[data-v-42962b66]{background-color:#f851494d;color:#f85149;border-color:#f85149}.button-status-error[data-v-42962b66] svg{animation:shake-42962b66 .4s ease-in-out}.button-status-killed[data-v-42962b66]{background-color:#f851494d;color:#f85149;border-color:#f85149}@keyframes hourglass-flip-42962b66{0%,80%{transform:rotate(0)}90%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes pop-in-42962b66{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes shake-42962b66{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@media (max-width: 768px){.command-status-bar[data-v-42962b66]{flex-wrap:wrap;gap:.5rem}.status-label[data-v-42962b66]{font-size:.8rem}.button-status-indicator[data-v-42962b66]{width:1.375rem;height:1.375rem}}.session-header[data-v-d3c541e5]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding:0 .5rem}.session-header-row[data-v-d3c541e5]{display:flex;align-items:center;gap:.5rem}.session-name-wrapper[data-v-d3c541e5]{display:inline-flex;align-items:center;gap:.25rem;flex:1;min-width:0}.btn-icon[data-v-d3c541e5]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;border:none;background:transparent;color:var(--color-text-soft, #888);cursor:pointer;transition:background .15s ease,color .15s ease;flex-shrink:0}.btn-icon[data-v-d3c541e5]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-icon[data-v-d3c541e5]:active{background:#ffffff26}.btn-star[data-v-d3c541e5]{display:inline-flex;align-items:center;gap:.375rem}.btn-star svg[data-v-d3c541e5]{flex-shrink:0}.btn-star.is-starred[data-v-d3c541e5]{color:var(--color-warning, #f0ad4e)}.lane-chip[data-v-d3c541e5]{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--color-bg-soft, rgba(255, 255, 255, .05));border:1px solid var(--color-border);border-radius:4px;font-size:.75rem;color:var(--color-text-soft)}.lane-chip-clickable[data-v-d3c541e5]{cursor:pointer;transition:background-color .15s}.lane-chip-clickable[data-v-d3c541e5]:hover{background:#ffffff1a}.lane-chip svg[data-v-d3c541e5]{flex-shrink:0;opacity:.7}.session-name[data-v-d3c541e5]{margin:0;font-size:1.25rem;font-weight:600;overflow:hidden;word-break:break-word;line-height:1.4}.branch-pr-indicators[data-v-d3c541e5]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.left-indicators[data-v-d3c541e5]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1;min-width:0}@media (max-width: 768px){.session-header-row[data-v-d3c541e5]{align-items:flex-start;min-height:auto;padding-top:.25rem}.session-name[data-v-d3c541e5]{font-size:1rem}}.name-edit-form[data-v-d3c541e5]{display:flex;align-items:center;gap:.5rem}.name-edit-input[data-v-d3c541e5]{background:var(--color-bg-input, #1e1e1e);border:1px solid var(--color-border, #333);border-radius:4px;padding:.375rem .5rem;font-size:.8125rem;color:var(--color-text, #e0e0e0);min-width:200px;max-width:400px}.name-edit-input[data-v-d3c541e5]:focus{outline:none;border-color:var(--color-primary, #00bcd4)}.name-edit-input[data-v-d3c541e5]::placeholder{color:var(--color-text-soft, #888)}.pr-edit-btn[data-v-d3c541e5]{width:28px;height:28px;border-radius:4px}.pr-save-btn[data-v-d3c541e5]{color:var(--color-success, #4caf50)}.pr-save-btn[data-v-d3c541e5]:hover{background:#4caf501a}.pr-cancel-btn[data-v-d3c541e5]{color:var(--color-text-soft, #888)}.pr-cancel-btn[data-v-d3c541e5]:hover{background:#ffffff1a}.pr-clear-btn[data-v-d3c541e5]{color:var(--color-error, #f44336)}.pr-clear-btn[data-v-d3c541e5]:hover{background:#f443361a}.name-edit-trigger[data-v-d3c541e5]{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-text-soft, #888);font-size:.75rem;cursor:pointer;padding:.25rem .375rem;border-radius:4px;transition:color .15s,background-color .15s}.name-edit-trigger[data-v-d3c541e5]:hover{color:var(--color-primary, #00bcd4);background:#00bcd41a}.btn-link[data-v-d3c541e5]{background:none;border:none;cursor:pointer}.changes-indicator[data-v-c78bf9e2],.canvas-indicator[data-v-c78bf9e2]{display:inline-block;width:6px;height:6px;background-color:var(--color-warning, #d29922);border-radius:50%;margin-left:4px;vertical-align:middle}.tabs-mobile[data-v-c78bf9e2]{align-items:center;gap:.5rem}.back-icon[data-v-c78bf9e2]{display:inline-flex;align-items:center;gap:.25rem}.back-icon svg[data-v-c78bf9e2]{display:inline-block;vertical-align:middle}.tabs-session-detail .tabs-desktop[data-v-c78bf9e2]{flex:1;min-width:0}.tabs-session-detail .tabs-desktop .tab[data-v-c78bf9e2]{flex:1 1 0;text-align:center;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-breadcrumb[data-v-b1e60718]{margin-bottom:.75rem;padding:.5rem .75rem;background:var(--color-background-secondary, rgba(0, 0, 0, .1));border-radius:var(--border-radius, 6px);border:1px solid var(--color-border)}.breadcrumb-list[data-v-b1e60718]{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}.breadcrumb-item[data-v-b1e60718]{display:flex;align-items:center;gap:.25rem;font-size:.8rem}.breadcrumb-link[data-v-b1e60718]{color:var(--color-primary);text-decoration:none;transition:color .15s}.breadcrumb-link[data-v-b1e60718]:hover{color:var(--color-primary-bright, #06ffff);text-decoration:underline}.breadcrumb-current[data-v-b1e60718]{color:var(--color-text);font-weight:500}.breadcrumb-separator[data-v-b1e60718]{color:var(--color-text-soft);margin:0 .25rem}.session-chat-handle[data-v-189ca246]{position:fixed;right:0;top:50%;transform:translateY(-50%);width:40px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#374151cc;border-radius:8px 0 0 8px;cursor:pointer;z-index:900;transition:background-color .2s ease,transform .2s ease;min-width:44px;min-height:44px}.session-chat-handle[data-v-189ca246]:hover{background:#0891b2e6;transform:translateY(-50%) translate(-4px)}.session-chat-handle[data-v-189ca246]:focus-visible{outline:2px solid var(--color-primary, #06b6d4);outline-offset:2px}.handle-icon[data-v-189ca246]{color:var(--color-text-soft, #9ca3af);transition:color .2s ease}.session-chat-handle:hover .handle-icon[data-v-189ca246]{color:#fff}.active-spinner[data-v-189ca246]{width:.75rem;height:.75rem;border:2px solid rgba(6,182,212,.3);border-top-color:#06b6d4;border-radius:50%;animation:spin-189ca246 .8s linear infinite}@keyframes spin-189ca246{to{transform:rotate(360deg)}}.todo-drawer[data-v-88d56995]{border-top:1px solid var(--color-border);background-color:var(--color-background-soft)}.todo-header[data-v-88d56995]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.todo-header[data-v-88d56995]:hover{background-color:var(--color-background-mute)}.todo-label[data-v-88d56995]{font-weight:600;font-size:.875rem;color:var(--color-text)}.todo-summary[data-v-88d56995]{display:flex;align-items:center;gap:.75rem;flex:1;overflow:hidden}.todo-chip[data-v-88d56995]{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-soft);white-space:nowrap}.todo-text[data-v-88d56995]{max-width:150px;overflow:hidden;text-overflow:ellipsis}.todo-more[data-v-88d56995]{font-size:.75rem;color:var(--color-text-soft);white-space:nowrap}.todo-counts[data-v-88d56995]{display:flex;align-items:center;gap:.75rem;flex:1}.count[data-v-88d56995]{font-size:.75rem}.count.completed[data-v-88d56995]{color:var(--color-success, #10b981)}.count.in-progress[data-v-88d56995]{color:var(--color-accent, #22d3ee)}.count.pending[data-v-88d56995]{color:var(--color-text-soft)}.expand-toggle[data-v-88d56995]{background:none;border:none;color:var(--color-text-soft);cursor:pointer;padding:.25rem;font-size:.75rem;line-height:1}.expand-toggle[data-v-88d56995]:hover{color:var(--color-text)}.todo-list[data-v-88d56995]{padding:.5rem 1rem 1rem;display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.todo-item[data-v-88d56995]{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;padding:.25rem 0}.todo-item.todo-completed[data-v-88d56995]{opacity:.6}.todo-item.todo-completed .todo-content[data-v-88d56995]{text-decoration:line-through}.todo-content[data-v-88d56995]{flex:1;color:var(--color-text)}.status-icon[data-v-88d56995]{width:14px;height:14px;border-radius:50%;flex-shrink:0;margin-top:2px}.status-icon.status-pending[data-v-88d56995]{border:2px solid var(--color-text-soft);background:transparent}.status-icon.status-in_progress[data-v-88d56995]{border:2px solid var(--color-accent, #22d3ee);background:linear-gradient(to right,var(--color-accent, #22d3ee) 50%,transparent 50%)}.status-icon.status-completed[data-v-88d56995]{border:2px solid var(--color-success, #10b981);background-color:var(--color-success, #10b981)}.tree-item[data-v-b0423493]{-webkit-user-select:none;user-select:none}.tree-item-row[data-v-b0423493]{display:flex;align-items:center;padding:.5rem .75rem;cursor:pointer;transition:background-color .15s;gap:.375rem;border-radius:.25rem;margin-bottom:1px}.tree-item-row[data-v-b0423493]:hover{background:var(--color-background-soft)}.tree-item-row.active[data-v-b0423493]{background:#58a6ff1a;border-left:3px solid var(--color-primary);padding-left:calc(.75rem - 3px)}.tree-indent[data-v-b0423493]{flex-shrink:0}.branch-indicator[data-v-b0423493]{display:flex;align-items:center;color:#8b5cf6b3;flex-shrink:0}.expand-toggle[data-v-b0423493]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;color:var(--color-text-soft);cursor:pointer;flex-shrink:0;border-radius:2px}.expand-toggle[data-v-b0423493]:hover{background:var(--color-background-mute);color:var(--color-text)}.expand-icon[data-v-b0423493]{font-size:.5rem;transition:transform .15s}.expand-icon.expanded[data-v-b0423493]{transform:rotate(90deg)}.expand-placeholder[data-v-b0423493]{width:16px;flex-shrink:0}.conv-name[data-v-b0423493]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.conv-meta[data-v-b0423493]{font-size:.75rem;color:var(--color-text-soft);white-space:nowrap;flex-shrink:0}.conv-tokens[data-v-b0423493]{font-family:var(--font-mono)}.children-badge[data-v-b0423493]{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .25rem;background:#8b5cf626;color:#8b5cf6e6;border-radius:9px;font-size:.6875rem;font-weight:600;flex-shrink:0}.delete-btn[data-v-b0423493]{padding:.125rem .375rem;background:transparent;border:none;color:var(--color-text-soft);font-size:1rem;cursor:pointer;border-radius:.25rem;opacity:0;transition:opacity .15s,color .15s,background-color .15s;flex-shrink:0}.tree-item-row:hover .delete-btn[data-v-b0423493]{opacity:1}.delete-btn[data-v-b0423493]:hover{background:var(--color-danger, #ef4444);color:#fff}.tree-children[data-v-b0423493]{margin-left:.25rem;border-left:1px solid var(--color-border);padding-left:.25rem}.conversation-panel[data-v-be8a2309]{background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:1rem}.panel-header[data-v-be8a2309]{padding:.5rem .75rem}.header-row[data-v-be8a2309]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.dropdown-container[data-v-be8a2309]{position:relative;flex:1;max-width:300px}.dropdown-trigger[data-v-be8a2309]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.4rem .6rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:.875rem;cursor:pointer;transition:border-color .15s}.dropdown-trigger[data-v-be8a2309]:hover{border-color:var(--color-primary)}.dropdown-label[data-v-be8a2309]{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow[data-v-be8a2309]{font-size:.5rem;color:var(--color-text-soft);margin-left:.5rem}.dropdown-menu[data-v-be8a2309]{position:absolute;top:100%;left:0;min-width:100%;width:max-content;max-width:450px;margin-top:.25rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;z-index:100;max-height:350px;overflow-y:auto;padding:.25rem}.cost-display[data-v-be8a2309]{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--color-background);border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s}.cost-display[data-v-be8a2309]:hover{background:var(--color-background-mute)}.cost-label[data-v-be8a2309]{font-size:.75rem;color:var(--color-text-soft)}.cost-value[data-v-be8a2309]{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--color-accent, var(--color-primary))}.toggle-btn[data-v-be8a2309]{background:none;border:none;color:var(--color-text-soft);font-size:.5rem;cursor:pointer;padding:.25rem}.toggle-btn[data-v-be8a2309]:hover{color:var(--color-text)}.btn-new[data-v-be8a2309]{display:flex;align-items:center;gap:.25rem;padding:.4rem .6rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-size:.8rem;font-weight:500;cursor:pointer;transition:border-color .15s,background-color .15s;white-space:nowrap;margin-left:auto}.btn-new[data-v-be8a2309]:hover{border-color:var(--color-primary);background:var(--color-background-soft)}@media (max-width: 480px){.btn-new[data-v-be8a2309]{margin-left:0;flex:1 0 100%;justify-content:center}}.token-breakdown[data-v-be8a2309]{padding:.75rem;border-top:1px solid var(--color-border)}.bte-header[data-v-be8a2309]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.bte-label[data-v-be8a2309]{font-size:.875rem;color:var(--color-text-soft)}.bte-value[data-v-be8a2309]{font-family:var(--font-mono);font-size:1.125rem;font-weight:700;color:var(--color-accent, var(--color-primary))}.token-grid[data-v-be8a2309]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}@media (min-width: 640px){.token-grid[data-v-be8a2309]{grid-template-columns:repeat(4,1fr)}}.token-item[data-v-be8a2309]{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:var(--color-background);border-radius:.25rem;text-align:center}.token-type[data-v-be8a2309]{font-size:.625rem;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:.25rem}.token-count[data-v-be8a2309]{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-text)}.token-weight[data-v-be8a2309]{font-size:.625rem;color:var(--color-text-soft)}.token-weighted[data-v-be8a2309]{font-family:var(--font-mono);font-size:.625rem;color:var(--color-accent, var(--color-primary))}.breakdown-footer[data-v-be8a2309]{display:flex;align-items:center;justify-content:flex-end}.settings-btn[data-v-be8a2309]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-soft);cursor:pointer;transition:all .15s}.settings-btn[data-v-be8a2309]:hover{border-color:var(--color-primary);color:var(--color-text);background:var(--color-background-soft)}.thinking-block[data-v-400b3f73]{background:#58a6ff14;border:1px solid rgba(88,166,255,.2);border-radius:6px;padding:.625rem;font-size:.8125rem}.thinking-header[data-v-400b3f73]{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;color:var(--color-primary)}.thinking-icon[data-v-400b3f73]{display:flex;align-items:center;opacity:.8}.thinking-label[data-v-400b3f73]{font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em}.thinking-time[data-v-400b3f73]{margin-left:auto;font-size:.6875rem;color:var(--color-text-soft);font-weight:400}.thinking-content[data-v-400b3f73]{color:var(--color-text-soft);line-height:1.5}.thinking-text[data-v-400b3f73]{white-space:pre-wrap;word-break:break-word;font-style:italic}.show-more-btn[data-v-400b3f73]{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:.25rem 0;font-size:.75rem;text-decoration:underline;opacity:.8}.show-more-btn[data-v-400b3f73]:hover{opacity:1}.thinking-streaming[data-v-400b3f73]{border-style:dashed;animation:streamPulse-400b3f73 2s ease-in-out infinite}@keyframes streamPulse-400b3f73{0%,to{border-color:#58a6ff33}50%{border-color:#58a6ff80}}.streaming-dots[data-v-400b3f73]{display:flex;gap:.15rem;align-items:center;margin-left:.25rem}.streaming-dots .dot[data-v-400b3f73]{width:4px;height:4px;border-radius:50%;background-color:var(--color-primary);animation:pulse-400b3f73 1.4s ease-in-out infinite}.streaming-dots .dot[data-v-400b3f73]:nth-child(2){animation-delay:.2s}.streaming-dots .dot[data-v-400b3f73]:nth-child(3){animation-delay:.4s}@keyframes pulse-400b3f73{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.thinking-streaming[data-v-400b3f73]{animation:none}.streaming-dots .dot[data-v-400b3f73]{animation:none;opacity:.6}}.command-block[data-v-c3b9c4c5]{background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:6px;padding:.625rem;font-size:.8125rem}.command-tool_input[data-v-c3b9c4c5]{border-left:3px solid var(--color-warning, #d29922)}.command-tool_output[data-v-c3b9c4c5]{border-left:3px solid var(--color-success, #3fb950)}.command-header[data-v-c3b9c4c5]{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem}.command-icon[data-v-c3b9c4c5]{display:flex;align-items:center;opacity:.7}.command-tool_input .command-icon[data-v-c3b9c4c5]{color:var(--color-warning, #d29922)}.command-tool_output .command-icon[data-v-c3b9c4c5]{color:var(--color-success, #3fb950)}.command-label[data-v-c3b9c4c5]{font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-soft)}.command-tool-name[data-v-c3b9c4c5]{background:var(--color-background-mute);padding:.125rem .375rem;border-radius:3px;font-size:.6875rem;font-family:var(--font-mono, monospace);color:var(--color-text)}.command-time[data-v-c3b9c4c5]{margin-left:auto;font-size:.6875rem;color:var(--color-text-soft)}.command-content[data-v-c3b9c4c5]{position:relative}.command-summary[data-v-c3b9c4c5]{margin-bottom:.5rem}.command-summary code[data-v-c3b9c4c5]{display:block;padding:.5rem;background:var(--color-background);border-radius:4px;font-size:.8125rem;font-family:var(--font-mono, "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace);color:var(--color-text);word-break:break-word;white-space:pre-wrap}.raw-json-details[data-v-c3b9c4c5]{margin-top:.25rem}.raw-json-details summary[data-v-c3b9c4c5]{cursor:pointer;font-size:.75rem;color:var(--color-text-soft);-webkit-user-select:none;user-select:none;padding:.25rem 0}.raw-json-details summary[data-v-c3b9c4c5]:hover{color:var(--color-primary)}.raw-json-details[open] summary[data-v-c3b9c4c5]{margin-bottom:.375rem}.command-pre[data-v-c3b9c4c5]{margin:0;padding:.5rem;background:var(--color-background);border-radius:4px;font-size:.75rem;font-family:var(--font-mono, "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace);overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--color-text);line-height:1.4;max-height:300px;overflow-y:auto}.command-pre.expanded[data-v-c3b9c4c5]{max-height:none}.show-more-btn[data-v-c3b9c4c5]{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:.25rem 0;font-size:.75rem;text-decoration:underline;opacity:.8}.show-more-btn[data-v-c3b9c4c5]:hover{opacity:1}.work-log-panel[data-v-5fda898d]{margin-top:.75rem;border-left:2px solid var(--color-border);padding-left:.75rem}.work-log-header[data-v-5fda898d]{cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-text-soft);padding:.25rem 0;-webkit-user-select:none;user-select:none;list-style:none}.work-log-header[data-v-5fda898d]::-webkit-details-marker{display:none}.work-log-header[data-v-5fda898d]:hover{color:var(--color-text)}.work-log-icon[data-v-5fda898d]{display:flex;align-items:center;opacity:.7}.work-log-title[data-v-5fda898d]{font-weight:500}.work-log-count[data-v-5fda898d]{opacity:.7}.work-log-chevron[data-v-5fda898d]{margin-left:auto;display:flex;align-items:center;transition:transform .15s ease}.work-log-chevron.expanded[data-v-5fda898d]{transform:rotate(90deg)}.work-log-content[data-v-5fda898d]{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.message[data-v-9372c109]{padding:1rem;margin-bottom:1rem;border-radius:var(--border-radius);background-color:var(--color-background-soft);border:1px solid var(--color-border)}.message-user[data-v-9372c109]{background-color:#58a6ff1a;border-color:#58a6ff4d}.message-assistant[data-v-9372c109]{background-color:var(--color-background-soft)}.message-system[data-v-9372c109]{background-color:#8b949e1a;border-color:#8b949e4d}.message-header[data-v-9372c109]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.message-role[data-v-9372c109]{font-weight:600;font-size:.875rem;text-transform:capitalize}.message-time[data-v-9372c109]{margin-left:auto;font-size:.75rem;color:var(--color-text-soft)}.message-model[data-v-9372c109]{font-size:.75rem;color:var(--color-text-soft);padding:.125rem .375rem;background:var(--color-background-mute);border-radius:.25rem;font-family:ui-monospace,monospace}.message-content[data-v-9372c109]{white-space:pre-wrap;word-break:break-word}.message-content[data-v-9372c109] .markdown-viewer{white-space:normal}.message-tools[data-v-9372c109]{margin-top:.75rem}.message-tools details[data-v-9372c109]{margin-top:.5rem}.message-tools summary[data-v-9372c109]{cursor:pointer;font-size:.875rem;color:var(--color-text-soft)}.message-tools pre[data-v-9372c109]{margin-top:.5rem;font-size:.75rem}.message-attachments[data-v-9372c109]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.5rem;border-top:1px dashed var(--color-border)}.attachment-chip[data-v-9372c109]{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:.375rem;font-size:.75rem}.attachment-icon[data-v-9372c109]{font-size:.875rem}.attachment-name[data-v-9372c109]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.attachment-size[data-v-9372c109]{color:var(--color-text-soft);font-size:.625rem}.message[data-v-b4ae019c]{padding:1rem;margin-bottom:1rem;border-radius:var(--border-radius);background-color:var(--color-background-soft);border:1px solid var(--color-border)}.message-assistant[data-v-b4ae019c]{background-color:var(--color-background-soft)}.message-streaming[data-v-b4ae019c]{border-color:var(--color-accent);border-style:dashed}.message-header[data-v-b4ae019c]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.message-role[data-v-b4ae019c]{font-weight:600;font-size:.875rem;text-transform:capitalize}.message-content[data-v-b4ae019c]{white-space:pre-wrap;word-break:break-word}.message-content[data-v-b4ae019c] .markdown-viewer{white-space:normal}.streaming-indicator[data-v-b4ae019c]{display:flex;gap:.25rem;align-items:center}.streaming-indicator .dot[data-v-b4ae019c]{width:6px;height:6px;border-radius:50%;background-color:var(--color-accent);animation:pulse-b4ae019c 1.4s ease-in-out infinite}.streaming-indicator .dot[data-v-b4ae019c]:nth-child(2){animation-delay:.2s}.streaming-indicator .dot[data-v-b4ae019c]:nth-child(3){animation-delay:.4s}@keyframes pulse-b4ae019c{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.modal-overlay[data-v-dc502987]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-dc502987]{background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem;width:100%;max-width:450px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.modal-header[data-v-dc502987]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-dc502987]{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-dc502987]{background:none;border:none;color:var(--color-text-soft);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;border-radius:.25rem}.close-btn[data-v-dc502987]:hover{color:var(--color-text);background:var(--color-background-soft)}.modal-body[data-v-dc502987]{padding:1.25rem;overflow-y:auto}.description[data-v-dc502987]{color:var(--color-text-soft);font-size:.875rem;margin:0 0 1.5rem;line-height:1.5}.weights-form[data-v-dc502987]{display:flex;flex-direction:column;gap:1.25rem}.weight-field[data-v-dc502987]{display:flex;flex-direction:column;gap:.5rem}.weight-field label[data-v-dc502987]{font-weight:500;font-size:.875rem;color:var(--color-text)}.input-row[data-v-dc502987]{display:flex;align-items:center;gap:.75rem}.weight-input[data-v-dc502987]{width:100px;padding:.5rem .75rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-family:var(--font-mono);font-size:.875rem}.weight-input[data-v-dc502987]:focus{outline:none;border-color:var(--color-primary)}.hint[data-v-dc502987]{font-size:.75rem;color:var(--color-text-soft)}.error-message[data-v-dc502987]{margin-top:1rem;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.25rem;color:var(--color-danger, #ef4444);font-size:.875rem}.modal-footer[data-v-dc502987]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-background-soft)}.footer-actions[data-v-dc502987]{display:flex;gap:.75rem}.btn[data-v-dc502987]{padding:.5rem 1rem;border-radius:.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn[data-v-dc502987]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-dc502987]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-dc502987]:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-background-soft)}.btn-primary[data-v-dc502987]{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.btn-primary[data-v-dc502987]:hover:not(:disabled){filter:brightness(1.1)}.token-cost-panel[data-v-9629abd3]{display:flex;align-items:center;gap:.5rem;position:relative}.cost-display[data-v-9629abd3]{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s}.cost-display[data-v-9629abd3]:hover{background:var(--color-background-mute)}.cost-label[data-v-9629abd3]{font-size:.75rem;color:var(--color-text-soft)}.cost-value[data-v-9629abd3]{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--color-accent, var(--color-primary))}.toggle-btn[data-v-9629abd3]{background:none;border:none;color:var(--color-text-soft);font-size:.5rem;cursor:pointer;padding:.25rem}.toggle-btn[data-v-9629abd3]:hover{color:var(--color-text)}.token-breakdown[data-v-9629abd3]{position:absolute;top:100%;left:0;z-index:100;padding:.75rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);min-width:400px}.bte-header[data-v-9629abd3]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.bte-label[data-v-9629abd3]{font-size:.875rem;color:var(--color-text-soft)}.bte-value[data-v-9629abd3]{font-family:var(--font-mono);font-size:1.125rem;font-weight:700;color:var(--color-accent, var(--color-primary))}.bte-value.clickable[data-v-9629abd3]{cursor:pointer;transition:opacity .15s}.bte-value.clickable[data-v-9629abd3]:hover{opacity:.8}.token-grid[data-v-9629abd3]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}@media (min-width: 640px){.token-grid[data-v-9629abd3]{grid-template-columns:repeat(4,1fr)}}.token-item[data-v-9629abd3]{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:var(--color-background);border-radius:.25rem;text-align:center}.token-type[data-v-9629abd3]{font-size:.625rem;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:.25rem}.token-count[data-v-9629abd3]{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-text)}.token-weight[data-v-9629abd3]{font-size:.625rem;color:var(--color-text-soft)}.token-weighted[data-v-9629abd3]{font-family:var(--font-mono);font-size:.625rem;color:var(--color-accent, var(--color-primary))}.breakdown-footer[data-v-9629abd3]{display:flex;align-items:center;justify-content:flex-end}.settings-btn[data-v-9629abd3]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-soft);cursor:pointer;transition:all .15s}.settings-btn[data-v-9629abd3]:hover{border-color:var(--color-primary);color:var(--color-text);background:var(--color-background-soft)}.messages[data-v-f18b6a39]{padding:.25rem 0;position:relative;max-height:65vh;overflow-y:auto;scroll-behavior:smooth}.conversation-controls-row[data-v-f18b6a39]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem 0;position:relative;min-height:32px}.scroll-to-claude-btn[data-v-f18b6a39]{padding:.5rem .75rem;background:#1f2937d9;border:1px solid rgba(75,85,99,.5);border-radius:6px;color:#9ca3afe6;cursor:pointer;transition:all .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 4px #0003;display:flex;align-items:center;justify-content:center;font-size:1rem;white-space:nowrap;line-height:1;font-weight:500;min-width:44px;min-height:44px}.scroll-to-claude-btn[data-v-f18b6a39]:hover{background:#374151f2;color:#d1d5db}.scroll-to-claude-btn[data-v-f18b6a39]:active{transform:scale(.95)}@media (min-width: 1200px){.messages[data-v-f18b6a39]{max-height:70vh}}@media (max-height: 700px){.messages[data-v-f18b6a39]{max-height:50vh}}@media (max-height: 500px){.messages[data-v-f18b6a39]{max-height:40vh}}@media (max-width: 600px){.scroll-to-claude-btn[data-v-f18b6a39]{padding:.5rem .75rem;font-size:1rem;min-width:44px;min-height:44px}}.orchestration-panel[data-v-0493d7fd]{background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:.5rem .75rem;margin-bottom:.5rem}.panel-header[data-v-0493d7fd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:0;gap:.5rem}.panel-header.cursor-pointer[data-v-0493d7fd]{cursor:pointer}.header-left[data-v-0493d7fd]{display:flex;align-items:center;gap:.5rem;flex:1}.toggle-button[data-v-0493d7fd]{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--color-text-soft);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s,background .15s,transform .2s ease;flex-shrink:0}.toggle-button[data-v-0493d7fd]:hover{color:var(--color-text);background:var(--color-background-mute)}.chevron-icon[data-v-0493d7fd]{width:1rem;height:1rem;transition:transform .2s ease}.toggle-button[aria-expanded=true] .chevron-icon[data-v-0493d7fd]{transform:rotate(180deg)}.panel-title[data-v-0493d7fd]{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-soft);letter-spacing:.05em}.orchestration-content[data-v-0493d7fd]{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.schedule-row[data-v-0493d7fd]{display:flex;flex-direction:column;justify-content:flex-start}.template-row[data-v-0493d7fd]{padding-top:.75rem;border-top:1px solid var(--color-border);margin-top:.75rem}.btn-secondary[data-v-0493d7fd]{background-color:var(--color-background-soft);border:1px solid var(--color-border);color:var(--color-text-soft)}.btn-secondary[data-v-0493d7fd]:hover{background-color:var(--color-background-mute)}.btn-schedule[data-v-0493d7fd]{min-width:48px;min-height:48px;padding:.75rem;display:flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s,color .15s}.btn-schedule[data-v-0493d7fd]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.btn-schedule[data-v-0493d7fd]:disabled{opacity:.5;cursor:not-allowed}.schedule-disabled-hint[data-v-0493d7fd]{margin:.5rem 0 0;padding-top:.5rem;font-size:.75rem;color:var(--color-text-soft);font-style:italic}.auto-reschedule-row[data-v-0493d7fd]{padding-top:.75rem;border-top:1px solid var(--color-border);margin-top:.75rem}.auto-reschedule-content[data-v-0493d7fd]{display:flex;align-items:center;gap:.5rem}.reschedule-icon[data-v-0493d7fd]{font-size:1rem;flex-shrink:0}.reschedule-label[data-v-0493d7fd]{font-size:.9rem;color:var(--color-text);flex:1}.btn-status[data-v-0493d7fd]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;background:#22c5ff1a;border:1px solid rgba(34,197,255,.3);border-radius:.375rem;color:var(--color-text-soft);cursor:pointer;transition:all .15s}.btn-status[data-v-0493d7fd]:hover{background:#22c5ff26;border-color:#22c5ff80;color:var(--color-text)}.status-badge[data-v-0493d7fd]{font-size:.8rem;color:var(--color-text-soft)}.edit-link[data-v-0493d7fd]{font-size:.8rem;text-decoration:underline;opacity:.7;transition:opacity .15s}.btn-status:hover .edit-link[data-v-0493d7fd]{opacity:1}.btn-configure[data-v-0493d7fd]{padding:.5rem .75rem;font-size:.85rem;background:var(--color-background-soft);border:1px solid var(--color-border);color:var(--color-text-soft);cursor:pointer;border-radius:.375rem;transition:all .15s}.btn-configure[data-v-0493d7fd]:hover{background:var(--color-background-mute);border-color:#22c5ff80;color:var(--color-text)}.input-form[data-v-4cfef289]{display:flex;flex-direction:column;gap:.5rem}.input-form textarea[data-v-4cfef289]{width:100%}.input-controls[data-v-4cfef289]{display:flex;align-items:center;gap:1rem}.session-options[data-v-4cfef289]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;flex:1}.thinking-toggle[data-v-4cfef289]{display:flex;align-items:center;gap:.5rem}.toggle-label[data-v-4cfef289]{font-size:.875rem;color:var(--color-text-soft)}.mode-switcher[data-v-4cfef289]{display:flex;align-items:center;gap:.5rem}.toggle-switch[data-v-4cfef289]{position:relative;display:inline-block;width:40px;height:22px}.toggle-switch input[data-v-4cfef289]{opacity:0;width:0;height:0}.toggle-slider[data-v-4cfef289]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-background-mute);border:1px solid var(--color-border);border-radius:22px;transition:.2s}.toggle-slider[data-v-4cfef289]:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:var(--color-text-soft);border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider[data-v-4cfef289]{background-color:var(--color-primary);border-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider[data-v-4cfef289]:before{transform:translate(18px);background-color:#fff}.toggle-switch input:disabled+.toggle-slider[data-v-4cfef289]{opacity:.5;cursor:not-allowed}.auto-send-row[data-v-4cfef289]{padding:.5rem 0}.auto-send-label[data-v-4cfef289]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--color-text-soft, #9ca3af)}.auto-send-checkbox[data-v-4cfef289]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--color-primary, #06b6d4)}.auto-send-text[data-v-4cfef289]{-webkit-user-select:none;user-select:none}.send-button-row[data-v-4cfef289]{padding-top:.75rem;margin-bottom:14px;display:flex;justify-content:center}.btn-send-full[data-v-4cfef289]{width:100%;min-height:52px;padding:1rem 1.5rem;font-size:1.1rem;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.draft-actions[data-v-4cfef289]{width:100%}@media (max-width: 600px){.input-controls[data-v-4cfef289]{flex-wrap:wrap}.session-options[data-v-4cfef289]{width:100%;justify-content:flex-start}}@media (max-width: 400px){.mode-label[data-v-4cfef289]{display:none}}.live-work-log-panel[data-v-6fa2cf53]{border-top:1px solid var(--color-border);padding:.75rem 0}.live-work-log-panel[data-v-6fa2cf53]:not(:has(.live-header)){border-top:none;padding-top:0}.live-header[data-v-6fa2cf53]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-soft);font-size:.875rem}.live-title[data-v-6fa2cf53]{font-weight:500}.live-count[data-v-6fa2cf53]{opacity:.7;font-size:.8125rem}.live-logs[data-v-6fa2cf53]{margin-top:.75rem;max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.25rem;border-left:2px solid var(--color-primary);padding-left:.75rem}.live-log-item[data-v-6fa2cf53]{animation:slideIn-6fa2cf53 .2s ease}@keyframes slideIn-6fa2cf53{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.live-logs[data-v-6fa2cf53]::-webkit-scrollbar{width:6px}.live-logs[data-v-6fa2cf53]::-webkit-scrollbar-track{background:var(--color-background-soft);border-radius:3px}.live-logs[data-v-6fa2cf53]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.live-logs[data-v-6fa2cf53]::-webkit-scrollbar-thumb:hover{background:var(--color-text-soft)}@media (prefers-reduced-motion: reduce){.live-log-item[data-v-6fa2cf53]{animation:none}}@media (max-width: 360px){.live-title[data-v-6fa2cf53]{display:none}}.running-state[data-v-b96fe715]{border-top:1px solid var(--color-border);padding-top:1rem}.running-header[data-v-b96fe715]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.running-status[data-v-b96fe715]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-soft);font-size:.875rem}.running-title[data-v-b96fe715]{font-weight:500}.btn-stop[data-v-b96fe715]{min-height:36px;padding:.5rem 1rem;font-size:.875rem;flex-shrink:0}.running-actions[data-v-b96fe715]{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.running-model-label[data-v-b96fe715]{font-size:.75rem;color:var(--color-text-soft, #888);white-space:nowrap}.template-pending[data-v-b96fe715]{display:flex;align-items:center;gap:.5rem;padding:.75rem;margin-top:.75rem;background:var(--color-bg-soft);border-radius:.375rem;border:1px solid var(--color-border);font-size:.875rem}.template-pending-label[data-v-b96fe715]{color:var(--color-text-soft);font-weight:500}.template-pending-link[data-v-b96fe715]{color:var(--color-accent);text-decoration:none;font-weight:500;transition:color .15s}.template-pending-link[data-v-b96fe715]:hover{color:var(--color-accent);text-decoration:underline}.template-pending-description[data-v-b96fe715]{color:var(--color-text-soft);font-size:.75rem;font-style:italic}@media (max-width: 360px){.running-title[data-v-b96fe715]{display:none}}.modal-backdrop[data-v-9bc8b873]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-9bc8b873]{background:var(--color-background-secondary, #1f2937);border-radius:.5rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;border:1px solid var(--color-border)}.modal-header[data-v-9bc8b873]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title[data-v-9bc8b873]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-9bc8b873]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-9bc8b873]:hover{color:var(--color-text)}.modal-body[data-v-9bc8b873]{padding:1.5rem}.modal-footer[data-v-9bc8b873]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.form-group[data-v-9bc8b873]{margin-bottom:1rem}.form-label[data-v-9bc8b873]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input[data-v-9bc8b873]{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-background);color:var(--color-text);font-size:.95rem}.form-input[data-v-9bc8b873]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #22c5ff1a}textarea.form-input[data-v-9bc8b873]{resize:vertical;min-height:80px}.form-help[data-v-9bc8b873]{margin-top:.25rem;font-size:.875rem;color:var(--color-text-soft)}.btn[data-v-9bc8b873]{padding:.5rem 1rem;border-radius:.25rem;font-weight:500;cursor:pointer;border:none;font-size:.9rem;transition:opacity .2s,background-color .2s}.btn-primary[data-v-9bc8b873]{background:var(--color-primary);color:#fff}.btn-primary[data-v-9bc8b873]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-9bc8b873]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-9bc8b873]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-9bc8b873]:hover{background:var(--color-background-secondary)}.modal-backdrop[data-v-fccb3328]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-fccb3328]{display:flex;flex-direction:column;background:var(--color-background-secondary, #1f2937);border-radius:.5rem;width:100%;max-width:500px;max-height:90vh;overflow:hidden;border:1px solid var(--color-border)}.modal-header[data-v-fccb3328]{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title[data-v-fccb3328]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-fccb3328]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-fccb3328]:hover{color:var(--color-text)}.modal-body[data-v-fccb3328]{flex:1;overflow-y:auto;min-height:0;padding:1.5rem}.error-message[data-v-fccb3328]{padding:.75rem;margin-bottom:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.25rem;color:#fca5a5;font-size:.9rem}.modal-footer[data-v-fccb3328]{flex-shrink:0;display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.form-group[data-v-fccb3328]{margin-bottom:1rem}.form-label[data-v-fccb3328]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input[data-v-fccb3328]{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-background);color:var(--color-text);font-size:.95rem}.form-input[data-v-fccb3328]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #22c5ff1a}.form-help[data-v-fccb3328]{margin-top:.25rem;font-size:.875rem;color:var(--color-text-soft)}.toggle-switch[data-v-fccb3328]{display:flex;align-items:center;cursor:pointer;gap:.75rem}.toggle-switch input[data-v-fccb3328]{display:none}.toggle-slider[data-v-fccb3328]{position:relative;display:inline-block;width:2.5rem;height:1.25rem;background-color:var(--color-border);border-radius:1rem;transition:background-color .2s;flex-shrink:0}.toggle-slider[data-v-fccb3328]:after{content:"";position:absolute;width:1rem;height:1rem;border-radius:50%;background-color:#fff;top:.125rem;left:.125rem;transition:transform .2s}.toggle-switch input:checked+.toggle-slider[data-v-fccb3328]{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider[data-v-fccb3328]:after{transform:translate(1.25rem)}.toggle-label[data-v-fccb3328]{color:var(--color-text);font-weight:500}.reschedule-settings[data-v-fccb3328]{padding:1rem;margin-top:1rem;border-left:2px solid var(--color-primary);background:var(--color-background, rgba(255, 255, 255, .02));border-radius:0 .25rem .25rem 0}.settings-label[data-v-fccb3328]{margin-bottom:.75rem;font-weight:500;font-size:.95rem;color:var(--color-text)}.checkbox-option[data-v-fccb3328]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;cursor:pointer;color:var(--color-text)}.checkbox-option input[data-v-fccb3328]{width:1rem;height:1rem;cursor:pointer}.btn[data-v-fccb3328]{padding:.5rem 1rem;border-radius:.25rem;font-weight:500;cursor:pointer;border:none;font-size:.9rem;transition:opacity .2s,background-color .2s}.btn-primary[data-v-fccb3328]{background:var(--color-primary);color:#fff}.btn-primary[data-v-fccb3328]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-fccb3328]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-fccb3328]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-fccb3328]:hover{background:var(--color-background-secondary)}.scheduling-info[data-v-8e40f1e4]{border-radius:var(--border-radius, 6px);padding:1.5rem;margin-bottom:1rem}.scheduled-panel[data-v-8e40f1e4]{background:linear-gradient(135deg,#22c5ff1a,#22c5ff0d);border:1px solid rgba(34,197,255,.3);border-left:4px solid var(--color-primary)}.configure-reschedule-panel[data-v-8e40f1e4]{margin-bottom:1rem}.configure-btn[data-v-8e40f1e4]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--color-background, rgba(255, 255, 255, .02));border:1px dashed rgba(34,197,255,.3);border-radius:var(--border-radius, 6px);color:var(--color-text-soft);cursor:pointer;transition:all .2s ease;font-size:.9rem}.configure-btn[data-v-8e40f1e4]:hover{background:#22c5ff14;border-color:#22c5ff80;color:var(--color-text)}.configure-icon[data-v-8e40f1e4]{font-size:1rem;opacity:.7}.configure-btn:hover .configure-icon[data-v-8e40f1e4]{opacity:1}.configure-text[data-v-8e40f1e4]{flex:1;text-align:left}.configure-arrow[data-v-8e40f1e4]{opacity:.5;transition:transform .2s ease,opacity .2s ease}.configure-btn:hover .configure-arrow[data-v-8e40f1e4]{opacity:1;transform:translate(2px)}.info-header[data-v-8e40f1e4]{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.info-icon[data-v-8e40f1e4]{font-size:1.5rem;flex-shrink:0}.info-title[data-v-8e40f1e4]{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text);flex:1}.info-content[data-v-8e40f1e4]{display:flex;flex-direction:column;gap:1rem}.countdown-section[data-v-8e40f1e4]{background:var(--color-background, rgba(255, 255, 255, .05));padding:1rem;border-radius:var(--border-radius, 4px)}.countdown-text[data-v-8e40f1e4]{margin:0 0 .25rem;font-size:1rem;color:var(--color-text);line-height:1.4}.countdown-text strong[data-v-8e40f1e4]{color:var(--color-primary);font-weight:600}.absolute-time[data-v-8e40f1e4]{margin:0;font-size:.875rem;color:var(--color-text-soft)}.reschedule-info[data-v-8e40f1e4]{display:flex;flex-direction:column;gap:.5rem}.reschedule-badge[data-v-8e40f1e4]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#22c5ff26;border:1px solid rgba(34,197,255,.3);border-radius:.375rem;width:fit-content}.badge-icon[data-v-8e40f1e4]{font-size:1rem}.badge-label[data-v-8e40f1e4]{font-size:.875rem;color:var(--color-text);font-weight:500}.actions[data-v-8e40f1e4]{display:flex;gap:.75rem;flex-wrap:wrap}.btn[data-v-8e40f1e4]{padding:.625rem 1.25rem;border-radius:var(--border-radius, 4px);font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-primary[data-v-8e40f1e4]{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.btn-primary[data-v-8e40f1e4]:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 8px #22c5ff33}.btn-primary[data-v-8e40f1e4]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-8e40f1e4]{background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary[data-v-8e40f1e4]:hover{background:var(--color-background-secondary)}.btn-danger[data-v-8e40f1e4]{background:var(--color-error, #dc2626);color:#fff;border:1px solid var(--color-error, #dc2626)}.btn-danger[data-v-8e40f1e4]:hover:not(:disabled){opacity:.9}.btn-danger[data-v-8e40f1e4]:disabled{opacity:.6;cursor:not-allowed}.btn-sm[data-v-8e40f1e4]{padding:.5rem 1rem;font-size:.85rem}@media (max-width: 640px){.scheduling-info[data-v-8e40f1e4]{padding:1rem}.info-header[data-v-8e40f1e4]{gap:.5rem;margin-bottom:1rem}.info-icon[data-v-8e40f1e4]{font-size:1.25rem}.info-title[data-v-8e40f1e4]{font-size:1rem}}.conversation-tab[data-v-4bb408a6]{display:flex;flex-direction:column;transition:opacity .3s ease}.conversation-tab.connection-stale[data-v-4bb408a6]{opacity:.5}.session-chat-picker[data-v-11e80c77]{position:absolute;top:100%;left:0;width:100%;z-index:50;margin-top:.25rem;background:var(--color-background-secondary, #1f2937);border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:6px;max-height:50vh;overflow-y:auto}.picker-item[data-v-11e80c77]{padding:.5rem;border-radius:var(--border-radius, 6px);cursor:pointer;transition:background-color .15s}.picker-item[data-v-11e80c77]:hover{background-color:#ffffff0d}.picker-item--active[data-v-11e80c77]{background-color:#374151}.picker-item[data-v-11e80c77]:focus-visible{outline:2px solid var(--color-primary, #06b6d4);outline-offset:-2px}.picker-item-label[data-v-11e80c77]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.picker-item-role[data-v-11e80c77]{font-size:.65rem;font-weight:600;color:var(--color-text-soft, #9ca3af);letter-spacing:.05em}.picker-item-status[data-v-11e80c77]{font-size:.7rem;display:inline-flex;align-items:center;gap:.25rem}.picker-item-status.status-running[data-v-11e80c77],.picker-item-status.status-starting[data-v-11e80c77]{color:var(--color-success, #3fb950)}.picker-item-status.status-scheduled[data-v-11e80c77]{color:var(--color-primary, #06b6d4)}.picker-item-name[data-v-11e80c77]{font-size:.875rem;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text, #e5e7eb)}.picker-item-meta[data-v-11e80c77]{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-text-soft, #9ca3af)}.picker-item-summary[data-v-11e80c77]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.picker-item-date[data-v-11e80c77]{flex-shrink:0}.slide-left-enter-active,.slide-left-leave-active{transition:transform .4s cubic-bezier(.4,0,.2,1)}.slide-left-enter-from{transform:translate(100%)}.slide-left-enter-to,.slide-left-leave-from{transform:translate(0)}.slide-left-leave-to{transform:translate(100%)}@media (prefers-reduced-motion: reduce){.slide-left-enter-active,.slide-left-leave-active{transition:transform .15s ease}}.session-switch-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:.75rem;flex:1}.session-switch-spinner{display:inline-block;width:1.5rem;height:1.5rem;border:2px solid rgba(6,182,212,.2);border-top-color:#06b6d4;border-radius:50%;animation:session-switch-spin .8s linear infinite}@keyframes session-switch-spin{to{transform:rotate(360deg)}}.session-switch-text{color:#9ca3af;font-size:.8125rem}.overlay-backdrop[data-v-4228e921]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#111827;display:flex;justify-content:flex-end;align-items:flex-start;overflow:hidden;overflow-y:hidden;overscroll-behavior:none}.overlay-panel-wrapper[data-v-4228e921]{position:relative;display:flex;height:100vh;height:100dvh;max-width:900px;width:100%;overflow:visible;overscroll-behavior:none}.overlay-close-handle[data-v-4228e921]{position:absolute;left:0;top:50%;transform:translateY(-50%);width:44px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#37415166;border-radius:8px;cursor:pointer;z-index:30;transition:background-color .2s ease;min-width:44px;min-height:44px;border:none}.overlay-close-handle[data-v-4228e921]:hover{background:#0891b2b3}.overlay-close-handle[data-v-4228e921]:focus-visible{outline:2px solid var(--color-primary, #06b6d4);outline-offset:2px}.overlay-close-handle .handle-icon[data-v-4228e921]{color:var(--color-text-soft, #9ca3af);transition:color .2s ease}.overlay-close-handle:hover .handle-icon[data-v-4228e921]{color:#fff}.overlay-close-handle .active-spinner[data-v-4228e921]{width:.75rem;height:.75rem;border:2px solid rgba(6,182,212,.3);border-top-color:#06b6d4;border-radius:50%;animation:spin-4228e921 .8s linear infinite}@keyframes spin-4228e921{to{transform:rotate(360deg)}}.overlay-content[data-v-4228e921]{flex:1;width:100%;display:flex;flex-direction:column;overflow:hidden;padding:0;box-shadow:-4px 0 20px #00000080;position:relative}.overlay-body[data-v-4228e921]{padding:0 1rem;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.overlay-header[data-v-4228e921]{display:flex;flex-direction:column;gap:.375rem;padding:.75rem 1rem .375rem;background:var(--color-background-secondary, #1f2937);border-radius:0;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .1));flex-shrink:0;z-index:20;width:100%}.overlay-header-row[data-v-4228e921]{display:flex;align-items:center;width:100%;min-width:0}.overlay-header-selector[data-v-4228e921]{position:relative}.overlay-header-actions[data-v-4228e921]{justify-content:space-between}.overlay-root-name[data-v-4228e921]{font-size:1rem;font-weight:600;color:var(--color-primary, #06b6d4);word-break:break-word}.dropdown-trigger[data-v-4228e921]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem .75rem;background:#ffffff0d;border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:var(--border-radius, 6px);color:var(--color-text, #e5e7eb);cursor:pointer;font-size:.8125rem;transition:background-color .15s}.dropdown-trigger[data-v-4228e921]:hover{background:#ffffff1a}.dropdown-name[data-v-4228e921]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-chevron[data-v-4228e921]{color:var(--color-text-soft, #9ca3af);margin-left:.5rem;flex-shrink:0}.session-chat-overlay[data-v-4228e921] .messages{max-height:none!important;overflow-y:visible!important;flex:1}.session-chat-overlay[data-v-4228e921] .conversation-controls-row{position:sticky;bottom:0;z-index:10;background:#111827;pointer-events:none}.session-chat-overlay[data-v-4228e921] .conversation-controls-row>*{pointer-events:auto}@media (max-width: 768px){.overlay-body[data-v-4228e921]{padding:0 .5rem}.overlay-header[data-v-4228e921]{padding:1rem .5rem .375rem}}@media (min-width: 769px) and (max-width: 1024px){.overlay-panel-wrapper[data-v-4228e921]{max-width:700px}}.session-name-wrapper[data-v-4228e921]{display:inline-flex;align-items:center;gap:.25rem;flex:1;min-width:0}.name-edit-form[data-v-4228e921]{display:flex;align-items:center;gap:.5rem;flex:1}.name-edit-input[data-v-4228e921]{background:var(--color-bg-input, #1e1e1e);border:1px solid var(--color-border, #333);border-radius:4px;padding:.375rem .5rem;font-size:.8125rem;color:var(--color-text, #e0e0e0);min-width:200px;max-width:400px;flex:1}.name-edit-input[data-v-4228e921]:focus{outline:none;border-color:var(--color-primary, #00bcd4)}.name-edit-input[data-v-4228e921]::placeholder{color:var(--color-text-soft, #888)}.btn-icon[data-v-4228e921]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;border:none;background:transparent;color:var(--color-text-soft, #888);cursor:pointer;transition:background .15s ease,color .15s ease;flex-shrink:0}.btn-icon[data-v-4228e921]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-icon[data-v-4228e921]:active{background:#ffffff26}.pr-edit-btn[data-v-4228e921]{width:28px;height:28px}.pr-save-btn[data-v-4228e921]{color:var(--color-success, #4caf50)}.pr-save-btn[data-v-4228e921]:hover{background:#4caf501a}.pr-cancel-btn[data-v-4228e921]{color:var(--color-text-soft, #888)}.pr-cancel-btn[data-v-4228e921]:hover{background:#ffffff1a}.pr-clear-btn[data-v-4228e921]{color:var(--color-error, #f44336)}.pr-clear-btn[data-v-4228e921]:hover{background:#f443361a}.name-edit-trigger[data-v-4228e921]{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-text-soft, #888);font-size:.75rem;cursor:pointer;padding:.25rem .375rem;border-radius:4px;transition:color .15s,background-color .15s}.name-edit-trigger[data-v-4228e921]:hover{color:var(--color-primary, #00bcd4);background:#00bcd41a}.add-session-btn[data-v-4228e921]{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#ffffff0d;border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:var(--border-radius, 6px);color:var(--color-text-soft, #9ca3af);font-size:.8125rem;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.add-session-btn[data-v-4228e921]:hover:not(:disabled){background:#06b6d41a;color:var(--color-primary, #06b6d4);border-color:#06b6d44d}.add-session-btn[data-v-4228e921]:disabled{opacity:.5;cursor:not-allowed}.btn-link[data-v-4228e921]{background:none;border:none;cursor:pointer}.back-to-sessions-link[data-v-4228e921]{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-text-soft, #9ca3af);text-decoration:none;transition:color .15s,background-color .15s;flex-shrink:0;margin-right:1.5rem;padding:.25rem .75rem;min-height:44px;min-width:44px;border-radius:6px}.back-to-sessions-link[data-v-4228e921]:hover{color:var(--color-primary, #06b6d4);background:#06b6d41a}.back-to-sessions-text[data-v-4228e921]{font-size:.8125rem;margin-left:.25rem}.loading-state[data-v-5febbd32]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:3rem}.tab-content[data-v-5febbd32]{min-height:400px}.delete-overlay[data-v-5febbd32]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center}.delete-overlay-content[data-v-5febbd32]{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--color-text, #e0e0e0);font-size:1.125rem}.delete-spinner[data-v-5febbd32]{display:inline-block;width:3rem;height:3rem;border:3px solid rgba(0,188,212,.2);border-top-color:var(--color-primary, #00bcd4);border-radius:50%;animation:spin-5febbd32 .8s linear infinite}@keyframes spin-5febbd32{to{transform:rotate(360deg)}}.fade-enter-active[data-v-5febbd32],.fade-leave-active[data-v-5febbd32]{transition:opacity .2s ease}.fade-enter-from[data-v-5febbd32],.fade-leave-to[data-v-5febbd32]{opacity:0}
@@ -0,0 +1 @@
1
+ import{M as n}from"./ModelSelector-BBn_Ve0D.js";import{M as r}from"./SlashCommandWizard-BgaOw9W3.js";import{E as m}from"./EffortLevelSelector-DPofLvm-.js";import{_ as p,a,c as i,b as t,d as s,k as u}from"./index-CVOJVSsC.js";const g={class:"form-group"},f={class:"options-row"},v={class:"mode-selector-wrapper"},b={class:"model-selector-wrapper"},c={class:"effort-selector-wrapper"},k={class:"thinking-toggle"},y={class:"field-with-badge"},h={class:"toggle-switch"},S=["checked"],I={key:0,class:"thinking-toggle"},w={class:"field-with-badge"},E={class:"toggle-switch"},B=["checked"],V={__name:"SessionFormOptions",props:{mode:{type:String,default:"yolo"},model:{type:String,default:null},effortLevel:{type:String,default:null},thinkingEnabled:{type:Boolean,default:!0},startImmediately:{type:Boolean,default:!0},hideStartImmediately:{type:Boolean,default:!1}},emits:["update:mode","update:model","update:providerId","update:effortLevel","update:thinkingEnabled","update:startImmediately"],setup(o){return(d,e)=>(a(),i("div",g,[e[10]||(e[10]=t("label",{class:"form-label"},"Options",-1)),t("div",f,[t("div",v,[s(r,{"model-value":o.mode,"onUpdate:modelValue":e[0]||(e[0]=l=>d.$emit("update:mode",l))},null,8,["model-value"])]),t("div",b,[s(n,{"model-value":o.model,"onUpdate:modelValue":e[1]||(e[1]=l=>d.$emit("update:model",l)),"onUpdate:providerId":e[2]||(e[2]=l=>d.$emit("update:providerId",l))},null,8,["model-value"])]),t("div",c,[s(m,{"model-value":o.effortLevel,"onUpdate:modelValue":e[3]||(e[3]=l=>d.$emit("update:effortLevel",l))},null,8,["model-value"])]),t("div",k,[t("div",y,[t("label",h,[t("input",{type:"checkbox",checked:o.thinkingEnabled,onChange:e[4]||(e[4]=l=>d.$emit("update:thinkingEnabled",l.target.checked))},null,40,S),e[6]||(e[6]=t("span",{class:"toggle-slider"},null,-1))]),e[7]||(e[7]=t("span",{class:"toggle-label"},"Enable Thinking",-1))])]),o.hideStartImmediately?u("",!0):(a(),i("div",I,[t("div",w,[t("label",E,[t("input",{type:"checkbox",checked:o.startImmediately,onChange:e[5]||(e[5]=l=>d.$emit("update:startImmediately",l.target.checked))},null,40,B),e[8]||(e[8]=t("span",{class:"toggle-slider"},null,-1))]),e[9]||(e[9]=t("span",{class:"toggle-label"},"Start Immediately",-1))])]))])]))}},C=p(V,[["__scopeId","data-v-cbbbb3d9"]]);export{C as S};
@@ -0,0 +1 @@
1
+ .options-row[data-v-cbbbb3d9]{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.thinking-toggle[data-v-cbbbb3d9]{display:flex;align-items:center;gap:.5rem}.toggle-label[data-v-cbbbb3d9]{font-size:.875rem;color:var(--color-text-soft)}.mode-selector-wrapper[data-v-cbbbb3d9],.model-selector-wrapper[data-v-cbbbb3d9],.effort-selector-wrapper[data-v-cbbbb3d9],.field-with-badge[data-v-cbbbb3d9]{display:flex;align-items:center;gap:.5rem}.toggle-switch[data-v-cbbbb3d9]{position:relative;display:inline-block;width:40px;height:22px}.toggle-switch input[data-v-cbbbb3d9]{opacity:0;width:0;height:0}.toggle-slider[data-v-cbbbb3d9]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-background-mute);border:1px solid var(--color-border);border-radius:22px;transition:.2s}.toggle-slider[data-v-cbbbb3d9]:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:var(--color-text-soft);border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider[data-v-cbbbb3d9]{background-color:var(--color-primary);border-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider[data-v-cbbbb3d9]:before{transform:translate(18px);background-color:#fff}@media (max-width: 480px){.options-row[data-v-cbbbb3d9]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.options-row[data-v-cbbbb3d9]>:last-child{grid-column:1 / -1}}
@@ -0,0 +1 @@
1
+ .status-filters[data-v-2c9a63d9]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.filter-btn[data-v-2c9a63d9]{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1px solid var(--color-border);padding:.375rem .75rem;font-size:.8rem;color:var(--color-text-soft);cursor:pointer;border-radius:var(--border-radius);transition:all .15s;text-transform:capitalize}.filter-count[data-v-2c9a63d9]{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;padding:0 .375rem;border-radius:999px;background:var(--color-background-mute);color:var(--color-text-soft);font-size:.7rem;font-weight:600;line-height:1.25rem;text-transform:none}.filter-btn.active .filter-count[data-v-2c9a63d9]{background:var(--color-background);color:var(--color-primary)}.filter-btn-empty[data-v-2c9a63d9]{opacity:.55}.filter-btn[data-v-2c9a63d9]:hover{border-color:var(--color-primary);color:var(--color-text)}.star-icon[data-v-2c9a63d9]{position:relative;display:inline-block}.filter-btn.star-filter-all[data-v-2c9a63d9]{background:transparent;border-color:var(--color-border);color:var(--color-text-soft)}.filter-btn.star-filter-all[data-v-2c9a63d9]:hover{border-color:var(--color-primary);color:var(--color-text)}.filter-btn.star-filter-active[data-v-2c9a63d9],.filter-btn.active[data-v-2c9a63d9]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-btn.star-filter-unstarred[data-v-2c9a63d9]{background:transparent;border-color:#f97316;color:#f97316}.star-crossed[data-v-2c9a63d9]:after{content:"";position:absolute;top:50%;left:-10%;right:-10%;height:2px;background:currentColor;transform:translateY(-50%) rotate(-45deg);pointer-events:none}.schedule-icon[data-v-2c9a63d9]{position:relative;display:inline-block}.filter-btn.schedule-filter-all[data-v-2c9a63d9]{background:transparent;border-color:var(--color-border);color:var(--color-text-soft)}.filter-btn.schedule-filter-all[data-v-2c9a63d9]:hover{border-color:var(--color-primary);color:var(--color-text)}.filter-btn.schedule-filter-active[data-v-2c9a63d9]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-btn.schedule-filter-not-scheduled[data-v-2c9a63d9]{background:transparent;border-color:#f97316;color:#f97316}.schedule-crossed[data-v-2c9a63d9]:after{content:"";position:absolute;top:50%;left:-10%;right:-10%;height:2px;background:currentColor;transform:translateY(-50%) rotate(-45deg);pointer-events:none}.skeleton-list[data-v-c0906664]{display:flex;flex-direction:column;gap:1rem}.error-message[data-v-c0906664]{color:var(--color-error);padding:1rem;background-color:#f851491a;border-radius:var(--border-radius)}.empty-state[data-v-c0906664]{text-align:center;padding:3rem;color:var(--color-text-soft)}.empty-state p[data-v-c0906664]{margin-bottom:1rem}.session-list[data-v-c0906664]{display:flex;flex-direction:column;gap:1rem}.load-more-container[data-v-c0906664]{display:flex;justify-content:center;padding:1.5rem}.scheduled-session-card[data-v-d41e6b57]{display:flex;flex-direction:column;gap:1rem;border:1px solid var(--color-border);border-left:3px solid var(--color-primary)}.card-header[data-v-d41e6b57]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.session-info[data-v-d41e6b57]{flex:1;min-width:0}.session-name-link[data-v-d41e6b57]{text-decoration:none;color:inherit;transition:color .2s}.session-name-link:hover .session-name[data-v-d41e6b57]{color:var(--color-primary, #22c5ff)}.session-name[data-v-d41e6b57]{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--color-text);word-break:break-word;transition:color .2s}.status-badge-container[data-v-d41e6b57]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.status-badge[data-v-d41e6b57]{display:inline-block;padding:.375rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.status-scheduled[data-v-d41e6b57]{background:#22c5ff33;color:#22c5ff;border:1px solid rgba(34,197,255,.3)}.timing-info[data-v-d41e6b57]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--color-background, rgba(255, 255, 255, .02));border-radius:var(--border-radius, 4px)}.timing-item[data-v-d41e6b57]{display:flex;align-items:center;gap:.75rem;font-size:.95rem}.timing-icon[data-v-d41e6b57]{font-size:1.2rem;flex-shrink:0}.timing-details[data-v-d41e6b57]{display:flex;flex-direction:column;gap:.125rem;min-width:0}.timing-text[data-v-d41e6b57]{color:var(--color-text);font-weight:500}.timing-absolute[data-v-d41e6b57]{font-size:.825rem;color:var(--color-text-soft)}.card-actions[data-v-d41e6b57]{display:flex;gap:.75rem;flex-wrap:wrap}.btn-small[data-v-d41e6b57]{padding:.5rem 1rem;font-size:.875rem}.btn-primary[data-v-d41e6b57]{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--border-radius, 4px);cursor:pointer;transition:opacity .2s}.btn-primary[data-v-d41e6b57]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-d41e6b57]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-d41e6b57]{background:transparent;color:var(--color-text-soft);border:1px solid var(--color-border);border-radius:var(--border-radius, 4px);cursor:pointer;transition:color .2s,border-color .2s}.btn-secondary[data-v-d41e6b57]:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text)}.btn-secondary[data-v-d41e6b57]:disabled{opacity:.6;cursor:not-allowed}.btn-danger[data-v-d41e6b57]{background:#dc2626;color:#fff;border:1px solid #dc2626;border-radius:var(--border-radius, 4px);cursor:pointer;transition:opacity .2s}.btn-danger[data-v-d41e6b57]:hover:not(:disabled){opacity:.9}.btn-danger[data-v-d41e6b57]:disabled{opacity:.6;cursor:not-allowed}.skeleton-list[data-v-75cf4e60]{display:flex;flex-direction:column;gap:1rem}.empty-state[data-v-75cf4e60]{text-align:center;padding:3rem;color:var(--color-text-soft)}.empty-state p[data-v-75cf4e60]{margin-bottom:1rem}.session-list[data-v-75cf4e60]{display:flex;flex-direction:column;gap:1rem}.templates-panel[data-v-d08b4ac0]{padding:1rem 0}.templates-header[data-v-d08b4ac0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.templates-header h2[data-v-d08b4ac0]{margin:0;font-size:1.25rem}.template-form[data-v-d08b4ac0]{margin-bottom:1.5rem}.template-form h3[data-v-d08b4ac0]{margin:0 0 1rem;font-size:1rem}.form-group[data-v-d08b4ac0]{margin-bottom:1rem}.form-label[data-v-d08b4ac0]{display:block;margin-bottom:.25rem;font-weight:500;font-size:.875rem}.form-help[data-v-d08b4ac0]{margin:.25rem 0 0;font-size:.75rem;color:var(--color-text-soft)}.form-help code[data-v-d08b4ac0]{background:var(--color-bg-soft);padding:.1rem .3rem;border-radius:3px;font-size:.7rem}.form-check[data-v-d08b4ac0]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.form-check input[data-v-d08b4ac0]{cursor:pointer}.form-row[data-v-d08b4ac0]{display:flex;gap:1rem}.form-actions[data-v-d08b4ac0]{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.loading-state[data-v-d08b4ac0]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem}.template-section[data-v-d08b4ac0]{margin-bottom:1.5rem}.section-title[data-v-d08b4ac0]{font-size:.875rem;color:var(--color-text-soft);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.templates-list[data-v-d08b4ac0]{display:flex;flex-direction:column;gap:.75rem}.template-card[data-v-d08b4ac0]{padding:1rem;text-decoration:none;color:inherit;display:block;transition:transform .15s ease,box-shadow .15s ease}.template-card[data-v-d08b4ac0]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.template-header[data-v-d08b4ac0]{margin-bottom:.5rem}.template-name[data-v-d08b4ac0]{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.template-prompt[data-v-d08b4ac0]{margin:0 0 .75rem;font-size:.875rem;color:var(--color-text-soft);line-height:1.4}.template-meta[data-v-d08b4ac0]{display:flex;flex-wrap:wrap;gap:.5rem}.meta-badge[data-v-d08b4ac0]{font-size:.7rem;padding:.15rem .4rem;background:var(--color-bg-soft);border-radius:4px;color:var(--color-text-soft)}.meta-badge-global[data-v-d08b4ac0]{background:var(--color-primary);color:#fff}.meta-badge-chain[data-v-d08b4ac0]{background:var(--color-warning, #f0ad4e);color:#333}.empty-state[data-v-d08b4ac0]{text-align:center;padding:2rem;color:var(--color-text-soft)}.empty-state p[data-v-d08b4ac0]{margin-bottom:1rem}.btn-sm[data-v-d08b4ac0]{padding:.35rem .75rem;font-size:.875rem}@media (max-width: 480px){.templates-header[data-v-d08b4ac0]{flex-direction:column;align-items:flex-start;gap:.75rem}.form-row[data-v-d08b4ac0]{flex-direction:column}}.command-buttons-panel[data-v-990a48bf]{display:flex;flex-direction:column;gap:1rem}.panel-header[data-v-990a48bf]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-header h3[data-v-990a48bf]{margin:0;font-size:1.25rem;color:var(--color-text)}.loading-state[data-v-990a48bf],.error-message[data-v-990a48bf],.empty-state[data-v-990a48bf]{padding:2rem;text-align:center;background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-soft)}.error-message[data-v-990a48bf]{color:var(--color-error);background-color:#f851491a}.loading-state[data-v-990a48bf]{display:flex;align-items:center;justify-content:center;gap:.75rem}.empty-state[data-v-990a48bf]{display:flex;flex-direction:column;gap:1rem;align-items:center}.buttons-table[data-v-990a48bf]{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.table-header[data-v-990a48bf]{display:grid;grid-template-columns:200px 1fr 100px 100px;gap:1rem;padding:1rem;background-color:var(--color-background-mute);border-bottom:1px solid var(--color-border);font-weight:500;color:var(--color-text);font-size:.875rem;text-transform:uppercase}.table-row[data-v-990a48bf]{display:grid;grid-template-columns:200px 1fr 100px 100px;gap:1rem;padding:1rem;border-bottom:1px solid var(--color-border);background-color:var(--color-background);cursor:pointer;transition:background-color .2s}.table-row[data-v-990a48bf]:last-child{border-bottom:none}.table-row[data-v-990a48bf]:hover{background-color:var(--color-background-soft)}.col-label[data-v-990a48bf]{color:var(--color-text);font-weight:500;word-break:break-word}.col-command[data-v-990a48bf]{color:var(--color-text-soft);font-size:.875rem;word-break:break-all}.col-command code[data-v-990a48bf]{background-color:#0003;padding:.25rem .5rem;border-radius:3px;font-family:var(--font-mono);font-size:.8rem}.col-order[data-v-990a48bf]{color:var(--color-text-soft);font-size:.875rem}.col-actions[data-v-990a48bf]{display:flex;justify-content:flex-end}.modal-overlay[data-v-990a48bf]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-990a48bf]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);max-width:400px;width:90%;overflow:hidden}.modal-header[data-v-990a48bf]{padding:1rem;border-bottom:1px solid var(--color-border)}.modal-header h4[data-v-990a48bf]{margin:0;color:var(--color-text)}.modal-body[data-v-990a48bf]{padding:1.5rem 1rem;color:var(--color-text-soft)}.modal-footer[data-v-990a48bf]{padding:1rem;border-top:1px solid var(--color-border);display:flex;gap:.5rem;justify-content:flex-end}@media (max-width: 640px){.table-header[data-v-990a48bf],.table-row[data-v-990a48bf]{grid-template-columns:1fr;gap:.5rem}.col-label[data-v-990a48bf]:before{content:"Label: ";font-weight:700;color:var(--color-text-soft)}.col-command[data-v-990a48bf]:before{content:"Command: ";font-weight:700;color:var(--color-text-soft)}.col-order[data-v-990a48bf]:before{content:"Order: ";font-weight:700;color:var(--color-text-soft)}.col-actions[data-v-990a48bf]:before{content:"Actions: ";font-weight:700;color:var(--color-text-soft)}.col-label[data-v-990a48bf],.col-command[data-v-990a48bf],.col-order[data-v-990a48bf],.col-actions[data-v-990a48bf]{display:block}}.modal-backdrop[data-v-916a53c8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-916a53c8]{background:var(--color-background-secondary, #1f2937);border-radius:.5rem;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--color-border)}.modal-header[data-v-916a53c8]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title[data-v-916a53c8]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-916a53c8]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-916a53c8]:hover{color:var(--color-text)}.modal-body[data-v-916a53c8]{padding:1.5rem;flex:1;overflow-y:auto}.modal-footer[data-v-916a53c8]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.form-group[data-v-916a53c8]{margin-bottom:1rem}.form-label[data-v-916a53c8]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input[data-v-916a53c8]{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-background);color:var(--color-text);font-size:.95rem}.form-input[data-v-916a53c8]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #22c5ff1a}.sessions-list[data-v-916a53c8]{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:.25rem}.loading-state[data-v-916a53c8],.empty-state[data-v-916a53c8]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--color-text-soft)}.session-item[data-v-916a53c8]{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background-color .15s}.session-item[data-v-916a53c8]:last-child{border-bottom:none}.session-item[data-v-916a53c8]:hover{background:var(--color-bg-soft)}.session-item.selected[data-v-916a53c8]{background:#22c5ff1a;border-color:var(--color-primary)}.session-status[data-v-916a53c8]{flex-shrink:0;font-size:.875rem;line-height:1.5}.session-status.status-running[data-v-916a53c8],.session-status.status-starting[data-v-916a53c8]{color:#10b981}.session-status.status-waiting[data-v-916a53c8]{color:#f59e0b}.session-status.status-completed[data-v-916a53c8]{color:#3b82f6}.session-status.status-error[data-v-916a53c8],.session-status.status-stopped[data-v-916a53c8]{color:#ef4444}.session-status.status-scheduled[data-v-916a53c8]{color:#6b7280}.session-info[data-v-916a53c8]{flex:1;min-width:0}.session-name[data-v-916a53c8]{font-size:.875rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta[data-v-916a53c8]{display:flex;gap:.5rem;font-size:.75rem;color:var(--color-text-soft);margin-top:.25rem}.session-mode[data-v-916a53c8]{text-transform:capitalize}.btn[data-v-916a53c8]{padding:.5rem 1rem;border-radius:.25rem;font-weight:500;cursor:pointer;border:none;font-size:.9rem;transition:opacity .2s,background-color .2s}.btn-primary[data-v-916a53c8]{background:var(--color-primary);color:#fff}.btn-primary[data-v-916a53c8]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-916a53c8]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-916a53c8]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-916a53c8]:hover{background:var(--color-background-secondary)}.loading-spinner[data-v-916a53c8]{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-916a53c8 1s linear infinite}@keyframes spin-916a53c8{to{transform:rotate(360deg)}}.modal-backdrop[data-v-114a927d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-114a927d]{background:var(--color-background-secondary, #1f2937);border-radius:.5rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;border:1px solid var(--color-border)}.modal-header[data-v-114a927d]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title[data-v-114a927d]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-114a927d]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-114a927d]:hover{color:var(--color-text)}.modal-body[data-v-114a927d]{padding:1.5rem}.modal-footer[data-v-114a927d]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.form-group[data-v-114a927d]{margin-bottom:1.25rem}.form-label[data-v-114a927d]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input[data-v-114a927d]{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-background);color:var(--color-text);font-size:.95rem}.form-input[data-v-114a927d]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #22c5ff1a}.form-textarea[data-v-114a927d]{min-height:80px;font-family:var(--font-mono, monospace);font-size:.875rem}.form-help[data-v-114a927d]{margin-top:.25rem;font-size:.875rem;color:var(--color-text-soft)}.automation-options[data-v-114a927d]{display:flex;flex-direction:column;gap:.5rem}.radio-option[data-v-114a927d]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--color-text)}.radio-option input[data-v-114a927d]{cursor:pointer}.prompt-actions-row[data-v-114a927d]{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.agent-settings-section[data-v-114a927d]{margin-bottom:1.25rem}.section-toggle[data-v-114a927d]{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--color-text-soft);font-size:.9rem;font-weight:500;cursor:pointer;padding:.5rem 0;transition:color .15s}.section-toggle[data-v-114a927d]:hover{color:var(--color-text)}.toggle-chevron[data-v-114a927d]{display:inline-block;font-size:.65rem;transition:transform .2s}.toggle-chevron.open[data-v-114a927d]{transform:rotate(90deg)}.agent-settings-body[data-v-114a927d]{padding:1rem;margin-top:.5rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-background, rgba(255, 255, 255, .02))}.toggle-switch-row[data-v-114a927d]{display:flex;align-items:center;cursor:pointer;gap:.75rem}.toggle-switch[data-v-114a927d]{position:relative;display:inline-block;width:40px;height:22px}.toggle-switch input[data-v-114a927d]{opacity:0;width:0;height:0}.toggle-slider[data-v-114a927d]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border);border-radius:22px;transition:.2s}.toggle-slider[data-v-114a927d]:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider[data-v-114a927d]{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider[data-v-114a927d]:before{transform:translate(18px)}.toggle-label[data-v-114a927d]{font-size:.875rem;font-weight:500;color:var(--color-text)}.reschedule-settings[data-v-114a927d]{padding:1rem;margin-top:1rem;border-left:2px solid var(--color-primary);background:var(--color-background, rgba(255, 255, 255, .02));border-radius:0 .25rem .25rem 0}.settings-label[data-v-114a927d]{margin-bottom:.75rem;font-weight:500;font-size:.95rem;color:var(--color-text)}.checkbox-option[data-v-114a927d]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;cursor:pointer;color:var(--color-text)}.checkbox-option input[data-v-114a927d]{width:1rem;height:1rem;cursor:pointer}.danger-zone[data-v-114a927d]{margin-top:2rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem}.danger-title[data-v-114a927d]{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#ef4444}.danger-description[data-v-114a927d]{margin:0 0 1rem;font-size:.8rem;color:var(--color-text-soft)}.btn[data-v-114a927d]{padding:.5rem 1rem;border-radius:.25rem;font-weight:500;cursor:pointer;border:none;font-size:.9rem;transition:opacity .2s,background-color .2s}.btn-primary[data-v-114a927d]{background:var(--color-primary);color:#fff}.btn-primary[data-v-114a927d]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-114a927d]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-114a927d]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-114a927d]:hover{background:var(--color-background-secondary)}.btn-danger[data-v-114a927d]{background:#ef4444;color:#fff}.btn-danger[data-v-114a927d]:hover:not(:disabled){background:#dc2626}.btn-danger[data-v-114a927d]:disabled{opacity:.5;cursor:not-allowed}.lane-position-controls[data-v-114a927d]{display:flex;align-items:center;gap:.75rem}.lane-position-label[data-v-114a927d]{font-size:.875rem;color:var(--color-text-soft);min-width:3.5rem;text-align:center}.btn-icon[data-v-114a927d]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:var(--color-background);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}.btn-icon[data-v-114a927d]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-icon[data-v-114a927d]:disabled{opacity:.3;cursor:not-allowed}.kanban-board{height:100%;display:flex;flex-direction:column}.kanban-loading,.kanban-error,.kanban-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--color-text-soft);gap:1rem}.loading-spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:var(--color-warning);color:#fff;border-radius:50%;font-weight:700}.retry-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:.5rem 1rem}.retry-btn:hover{text-decoration:underline}.kanban-lanes-container{display:flex;gap:1rem;padding:1rem;overflow-x:auto;flex:1;align-items:flex-start}.kanban-lane{flex-shrink:0;width:280px;background:var(--color-bg-soft, rgba(255, 255, 255, .05));border-radius:8px;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.lane-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.lane-title-row{display:flex;align-items:center;gap:.375rem;flex:1;min-width:0}.lane-title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lane-automation-indicator{color:#f59e0b;flex-shrink:0}.lane-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.lane-count{font-size:.75rem;color:var(--color-text-soft);background:var(--color-border);padding:.125rem .5rem;border-radius:10px}.lane-settings-btn{background:none;border:none;color:var(--color-text-soft);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .15s,color .15s,background-color .15s}.kanban-lane:hover .lane-settings-btn{opacity:1}.lane-settings-btn:hover{color:var(--color-primary);background:var(--color-bg-soft)}.lane-cards{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;min-height:100px}.lane-empty{display:flex;align-items:center;justify-content:center;padding:2rem 1rem;color:var(--color-text-soft);font-size:.75rem;border:2px dashed var(--color-border);border-radius:6px;opacity:.6}.kanban-card{position:relative;background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;cursor:grab;transition:border-color .2s,box-shadow .2s}.kanban-card:hover{border-color:var(--color-primary)}.kanban-card:active{cursor:grabbing}.card-link{display:block;padding:.75rem;color:var(--color-text);text-decoration:none}.card-header{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.card-status{flex-shrink:0;font-size:.75rem}.card-status.status-running,.card-status.status-starting{color:#10b981}.card-status.status-waiting{color:#f59e0b}.card-status.status-completed{color:#3b82f6}.card-status.status-error,.card-status.status-stopped{color:#ef4444}.card-status.status-scheduled{color:#6b7280}.card-title{margin:0;font-size:.875rem;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--color-text-soft)}.card-mode{text-transform:capitalize}.card-move-btn{position:absolute;top:.25rem;right:1.75rem;background:none;border:none;color:var(--color-text-soft);cursor:pointer;opacity:0;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s,color .2s}.kanban-card:hover .card-move-btn{opacity:1}.card-move-btn:hover{color:var(--color-primary)}.card-remove-btn{position:absolute;top:.25rem;right:.25rem;background:none;border:none;color:var(--color-text-soft);cursor:pointer;opacity:0;padding:.25rem;font-size:1rem;line-height:1;transition:opacity .2s,color .2s}.kanban-card:hover .card-remove-btn{opacity:1}.card-remove-btn:hover{color:var(--color-danger, #ef4444)}.lane-footer{padding:.5rem;border-top:1px solid var(--color-border);font-size:.7rem;color:var(--color-text-soft);display:flex;flex-direction:column;gap:.5rem}.lane-automation{display:flex;align-items:center;gap:.25rem;padding:0 .5rem}.add-session-btn{width:100%;padding:.5rem;background:transparent;border:1px dashed var(--color-border);border-radius:4px;color:var(--color-text-soft);cursor:pointer;font-size:.75rem;transition:border-color .15s,color .15s,background-color .15s}.add-session-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#22c5ff0d}.add-lane-container{flex-shrink:0;min-width:200px}.add-lane-btn{width:100%;padding:.75rem 1rem;background:var(--color-bg-soft, rgba(255, 255, 255, .05));border:2px dashed var(--color-border);border-radius:8px;color:var(--color-text-soft);cursor:pointer;transition:border-color .2s,color .2s}.add-lane-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.add-lane-form{background:var(--color-bg-soft, rgba(255, 255, 255, .05));border:1px solid var(--color-border);border-radius:8px;padding:.75rem}.add-lane-input{width:100%;padding:.5rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.875rem;margin-bottom:.5rem}.add-lane-input:focus{outline:none;border-color:var(--color-primary)}.add-lane-actions{display:flex;gap:.5rem}.add-lane-confirm,.add-lane-cancel{flex:1;padding:.375rem .75rem;border:none;border-radius:4px;cursor:pointer;font-size:.75rem}.add-lane-confirm{background:var(--color-primary);color:#fff}.add-lane-cancel{background:var(--color-border);color:var(--color-text)}.card-reorder-arrows{position:absolute;bottom:.25rem;right:.25rem;display:flex;flex-direction:column;gap:1px;opacity:0;transition:opacity .2s}.kanban-card:hover .card-reorder-arrows{opacity:1}.card-reorder-btn{background:none;border:none;color:var(--color-text-soft);cursor:pointer;padding:.125rem;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:color .15s,background-color .15s}.card-reorder-btn:hover{color:var(--color-primary);background:var(--color-bg-soft)}.kanban-card.dragging{opacity:.4}.card-drop-indicator{height:3px;background:var(--color-primary);border-radius:2px;margin:-.125rem 0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.page-header h1{margin:0}.project-title{display:flex;align-items:center;gap:.75rem}.repo-link{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--color-primary);transition:color .15s,transform .15s;padding:.25rem}.repo-link:hover{color:var(--color-primary-bright, #06ffff);transform:scale(1.1)}.repo-icon{width:100%;height:100%;stroke-linecap:round;stroke-linejoin:round}.settings-link{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--color-primary);transition:color .15s,transform .15s;padding:.25rem}.settings-link:hover{color:var(--color-primary-bright, #06ffff);transform:scale(1.1)}.settings-icon{width:100%;height:100%;stroke-linecap:round;stroke-linejoin:round}.tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;position:-webkit-sticky;position:sticky;top:calc(var(--header-height-computed, 51px) + var(--viewport-offset-top, 0px));background-color:var(--color-background);z-index:99;padding:.5rem .5rem 0}@media (min-width: 768px){.tabs{top:calc(var(--header-height-computed, 80px) + var(--viewport-offset-top, 0px))}}.tabs-desktop{display:flex;align-items:center;justify-content:space-between;width:100%}.tabs-mobile{display:none;width:100%}.tabs-left{display:flex;gap:0}.tab{background:none;border:none;padding:.75rem 1.25rem;font-size:.9rem;color:var(--color-text-soft);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:500}.skeleton-list{display:flex;flex-direction:column;gap:1rem}.error-message{color:var(--color-error);padding:1rem;background-color:#f851491a;border-radius:var(--border-radius)}.empty-state{text-align:center;padding:3rem;color:var(--color-text-soft)}.empty-state p{margin-bottom:1rem}.session-list{display:flex;flex-direction:column;gap:1rem}.tab-spacer{height:1rem}@media (max-width: 480px){.page-header{flex-direction:column;gap:1rem}.page-header .btn{width:100%;justify-content:center}.tabs-desktop{display:none!important}.tabs-mobile{display:block}.desktop-only{display:none!important}}.mobile-only{display:block}.desktop-only{display:none}@media (min-width: 481px){.mobile-only{display:none!important}}@media (min-width: 481px){.desktop-only{display:inline-flex!important}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-background-secondary, #1f2937);border-radius:.5rem;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;border:1px solid var(--color-border)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:var(--color-text)}.modal-body{padding:1.5rem}.modal-description{margin:0 0 1rem;font-size:.9rem;color:var(--color-text-soft)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.lane-options{display:flex;flex-direction:column;gap:.5rem}.lane-option-btn{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text);cursor:pointer;transition:border-color .15s,background-color .15s}.lane-option-btn:hover{border-color:var(--color-primary);background:#22c5ff0d}.lane-option-name{font-weight:500}.lane-option-count{font-size:.75rem;color:var(--color-text-soft)}.empty-lanes{text-align:center;color:var(--color-text-soft);font-size:.875rem}.btn{padding:.5rem 1rem;border-radius:.25rem;font-weight:500;cursor:pointer;border:none;font-size:.9rem}.add-session-label-short{display:none}.add-session-label-full{display:inline}@media (max-width: 768px){.add-session-label-full{display:none}.add-session-label-short{display:inline}}.tabs-desktop .btn-primary{flex-shrink:0;white-space:nowrap}.btn-secondary{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-background-secondary)}
@@ -0,0 +1 @@
1
+ import{m as de,y as Me,x as U,z as De,l as R,A as Je,B as Qe,C as Xe,_ as ge,a as s,c as o,b as e,F as J,r as Q,u as v,E as ne,t as _,k as S,G as Z,i as _e,f as Te,d as Y,w as ve,o as Oe,j as N,v as fe,n as $e,e as re,h as ae,g as Ne,q as Pe,H as xe,p as Le,I as Ze,J as Ve,s as et}from"./index-CVOJVSsC.js";import{u as Ue}from"./projects-DbBQQH-V.js";import{u as ye}from"./sessions-D681M81k.js";import{u as je,a as Ge,f as tt,b as st}from"./SessionLogStream-B-FwUMJQ.js";import{a as Be}from"./ApiClient-Dbs1H78V.js";import{u as Ke}from"./commandButtons-DNSHH8IA.js";import{S as qe}from"./SessionCard-BvjLwVYg.js";import{S as nt,M as ot,A as lt}from"./ArchiveConfirmModal-CCxSZ52u.js";import{u as He}from"./EffortLevelSelector-DPofLvm-.js";import{u as at}from"./providers-ceCc4xRU.js";import{M as rt}from"./ModelSelector-BBn_Ve0D.js";import{I as We}from"./InterpolationHelp-CgdbNcJB.js";import{R as it}from"./ResizableTextarea-DSy1mWGY.js";import{S as dt}from"./SessionFormOptions-BgqFR-5f.js";import{S as ut,a as ct}from"./SlashCommandWizard-BgaOw9W3.js";import"./settings-D0evez2V.js";function mt(){const c=Me({}),m=Me({}),i=Me({});async function p(a){const n=a.filter(f=>!c[f.id]&&!m[f.id]).map(f=>f.id);if(n.length!==0){for(const f of n)m[f]=!0,i[f]=!1;try{const f=await Be.getSessionSummariesBatch(n);for(const r of n)f[r]&&(c[r]=f[r]),m[r]=!1}catch(f){console.warn("Failed to fetch summaries batch:",f.message);for(const r of n)i[r]=!0,m[r]=!1}}}async function u(a){var n;m[a]=!0,i[a]=!1;try{const f=await Be.getSessionSummary(a);f&&(c[a]=f)}catch(f){((n=f.response)==null?void 0:n.status)!==404&&(console.warn(`Failed to fetch summary for session ${a}:`,f.message),i[a]=!0)}finally{m[a]=!1}}async function y(a){i[a]=!1,await u(a)}function A(a,n){c[a]=n,m[a]=!1,i[a]=!1}function E(a){delete c[a],delete m[a],delete i[a]}function g(a,n=400){let f=null;const r=de(a,()=>{clearTimeout(f),f=setTimeout(()=>{const w=a();p(w)},n)});return()=>{clearTimeout(f),r()}}return{summaries:c,loadingSummaries:m,summaryErrors:i,fetchSummariesBatch:p,fetchSummary:u,retryFetchSummary:y,updateSummary:A,cleanupSummary:E,watchSessionsForSummaries:g}}function ze(){const c=ye();function m(a){c.statusFilter===a?c.setStatusFilter(null):c.setStatusFilter(a)}function i(a){c.starredFilter===a?c.setStarredFilter(null):c.setStarredFilter(a)}function p(){c.starredFilter===null?c.setStarredFilter("starred"):c.starredFilter==="starred"?c.setStarredFilter("unstarred"):c.setStarredFilter(null)}const u=U(()=>c.starredFilter==="starred"?"Showing starred sessions only. Click to filter unstarred.":c.starredFilter==="unstarred"?"Showing unstarred sessions only. Click to show all.":"Showing all sessions. Click to filter by starred.");function y(){c.scheduledFilter===null?c.setScheduledFilter("scheduled"):c.scheduledFilter==="scheduled"?c.setScheduledFilter("not-scheduled"):c.setScheduledFilter(null)}const A=U(()=>c.scheduledFilter==="scheduled"?"Showing workflows with scheduled sessions. Click to filter non-scheduled.":c.scheduledFilter==="not-scheduled"?"Showing workflows without scheduled sessions. Click to show all.":"Showing all workflows. Click to filter by scheduled."),E=U(()=>{let a=c.groupedSessions;c.starredFilter==="starred"?a=a.filter($=>$.parent.starred):c.starredFilter==="unstarred"&&(a=a.filter($=>!$.parent.starred));const n=a.map($=>({group:$,status:c.getWorkflowAggregatedStatus($.parent.id)}));let f=n;c.scheduledFilter&&(f=n.filter(({status:$})=>{const j=$.scheduledCount>0;return c.scheduledFilter==="scheduled"?j:!j}));let r=0,w=0;for(const{status:$}of f)$.effectiveStatus==="running"?r++:w++;return{running:r,idle:w}}),g=U(()=>{let a=c.groupedSessions;return c.statusFilter&&(a=a.filter(n=>{const r=c.getWorkflowAggregatedStatus(n.parent.id).effectiveStatus;return c.statusFilter==="running"&&r==="running"||c.statusFilter==="idle"&&r==="idle"})),c.starredFilter==="starred"?a=a.filter(n=>n.parent.starred):c.starredFilter==="unstarred"&&(a=a.filter(n=>!n.parent.starred)),c.scheduledFilter&&(a=a.filter(n=>{const r=c.getWorkflowAggregatedStatus(n.parent.id).scheduledCount>0;return!!(c.scheduledFilter==="scheduled"&&r||c.scheduledFilter==="not-scheduled"&&!r)})),a});return{toggleFilter:m,toggleStarredFilter:i,toggleStarFilterIcon:p,starFilterTooltip:u,toggleScheduledFilterIcon:y,scheduledFilterTooltip:A,filteredGroupedSessions:g,statusFilterCounts:E}}function pt(c,m){const i=Ue(),p=ye(),u=Ke(),y=je(),{fetchSummariesBatch:A,updateSummary:E,cleanupSummary:g}=m,a=[];let n=null;const f=R(!1);return de(c,async r=>{if(!r)return;f.value=!1,a.forEach(M=>M()),a.length=0,n&&(n(),n=null),await i.fetchProject(r),await p.fetchSessions(r),await u.fetchButtons(r),A(p.sessions);const{subscribe:w,unsubscribe:$,onSessionCreated:j,onSessionUpdated:l,onSessionDeleted:H,onSessionSummaryUpdated:W,onCommandRunOutput:B,onCommandRunComplete:F,onCommandRunError:d,onCommandRunDeleted:z,onKanbanBoardUpdated:b,onKanbanCardMoved:ee,onKanbanCardAdded:oe,onKanbanCardRemoved:te}=Je(r);n=$,w(),a.push(j(M=>{p.addSessionToList(M)})),a.push(l(M=>{p.updateSession(M)})),a.push(H(M=>{p.removeSessionFromList(M),g(M)})),a.push(W((M,P)=>{E(M,P)})),a.push(B((M,P,T,t)=>{var me;const h=u.runs[M],ie=p.sessions.find(he=>he.id===P),le=(me=ie==null?void 0:ie.latestCommandRuns)==null?void 0:me.find(he=>he.runId===M),ce=(h==null?void 0:h.startedAt)||(le==null?void 0:le.startedAt)||Date.now();u.runs[M]||(u.runs[M]={runId:M,buttonId:T,sessionId:P,status:"running",output:"",exitCode:null,startedAt:ce,outputTruncated:!1}),u.appendOutput(M,t),p.updateSessionCommandRun(P,T,{buttonId:T,status:"running",runId:M,startedAt:ce})})),a.push(F(({runId:M,sessionId:P,buttonId:T,exitCode:t,output:h})=>{u.runs[M]||(u.runs[M]={runId:M,buttonId:T,sessionId:P,status:"running",output:"",exitCode:null,startedAt:Date.now(),outputTruncated:!1}),u.completeRun(M,t,h);const G=t===0?"success":"error";p.updateSessionCommandRun(P,T,{buttonId:T,status:G,exitCode:t,runId:M,completedAt:Date.now()})})),a.push(d((M,P,T,t)=>{u.runs[M]||(u.runs[M]={runId:M,buttonId:T,sessionId:P,status:"running",output:"",exitCode:null,startedAt:Date.now(),outputTruncated:!1}),u.errorRun(M,t),p.updateSessionCommandRun(P,T,{buttonId:T,status:"error",runId:M,completedAt:Date.now()})})),a.push(z((M,P,T)=>{u.clearRun(M),p.removeSessionCommandRun(P,T)})),a.push(b(M=>{y.handleBoardUpdated(M)})),a.push(ee((M,P,T,t)=>{y.handleCardMoved(M,P,T,t)})),a.push(oe((M,P)=>{y.handleCardAdded(M,P)})),a.push(te((M,P)=>{y.handleCardRemoved(M,P)}))},{immediate:!0}),De(()=>{a.forEach(r=>r()),n&&n()}),{archivedLoaded:f}}function vt(){const c=ye(),m=Ge(),i=R({}),p={},u=new Map,y=4;function A(r,w=0){fetch(`/api/sessions/${r}/streaming-state`).then($=>$.ok?$.json():null).then($=>{var j;if($&&((j=$.workLogs)!=null&&j.length||$.partialText||$.thinking)){m.hydrateSessionState(r,$);const l=u.get(r);l&&(clearTimeout(l.timeout),u.delete(r))}else E(r,w)}).catch(()=>{E(r,w)})}function E(r,w=0){if(w>=y||!i.value[r])return;const $=c.sessions.find(H=>H.id===r);if(!$||!["running","starting"].includes($.status))return;const j=1500*Math.pow(2,w),l=setTimeout(()=>{u.delete(r),A(r,w+1)},j);u.set(r,{count:w,timeout:l})}function g(r){if(i.value[r])return;const w=Xe(r),$=[];$.push(w.onWorkLog(j=>{m.addSessionWorkLog(r,j)})),$.push(w.onPartial(j=>{j&&m.setSessionPartialText(r,j)})),$.push(w.onThinkingPartial(j=>{j&&m.setPartialThinking(j,r)})),$.push(w.onChangesUpdate(j=>{m.setSessionFileCount(r,j)})),$.push(w.onStatus(j=>{["running","starting"].includes(j)?p[r]&&(clearTimeout(p[r]),delete p[r]):p[r]=setTimeout(()=>{delete p[r],m.clearSessionEphemeralState(r)},2e3)})),w.subscribe(),i.value[r]={subscription:w,cleanup:()=>{$.forEach(j=>j&&j()),w.unsubscribe()}},A(r)}function a(r){const w=i.value[r];w&&(w.cleanup(),delete i.value[r]),p[r]&&(clearTimeout(p[r]),delete p[r]);const $=u.get(r);$&&(clearTimeout($.timeout),u.delete(r))}de(()=>c.sessions.filter(r=>["running","starting"].includes(r.status)).map(r=>r.id),(r,w=[])=>{const $=r.filter(l=>!w.includes(l)),j=w.filter(l=>!r.includes(l));$.forEach(l=>g(l)),j.forEach(l=>a(l))},{immediate:!0});const{onReconnect:n}=Qe(),f=n(()=>{for(const r of Object.keys(i.value))A(r)});return De(()=>{Object.keys(i.value).forEach(r=>a(r)),f()}),{activeSubscriptions:i}}const ft={class:"filters-container"},ht={class:"status-filters"},bt=["aria-label","onClick"],gt={class:"filter-label"},yt={class:"filter-count"},kt=["title"],St={key:0,class:"star-icon"},$t={key:1,class:"star-icon star-crossed"},Et={key:2,class:"star-icon"},Ct=["title"],wt={key:0,class:"schedule-icon"},_t={key:1,class:"schedule-icon schedule-crossed"},Tt={key:2,class:"schedule-icon"},jt={__name:"SessionFiltersPanel",props:{showStatusFilters:{type:Boolean,default:!0},showScheduledFilter:{type:Boolean,default:!0}},setup(c){const m=ye(),{toggleFilter:i,toggleStarFilterIcon:p,starFilterTooltip:u,toggleScheduledFilterIcon:y,scheduledFilterTooltip:A,statusFilterCounts:E}=ze();return(g,a)=>(s(),o("div",ft,[e("div",ht,[c.showStatusFilters?(s(),o(J,{key:0},Q(["running","idle"],n=>e("button",{key:n,class:ne(["filter-btn",{active:v(m).statusFilter===n,"filter-btn-empty":v(E)[n]===0}]),"aria-label":`${n} (${v(E)[n]})`,onClick:f=>v(i)(n)},[e("span",gt,_(n),1),e("span",yt,_(v(E)[n]),1)],10,bt)),64)):S("",!0),e("button",{class:ne(["filter-btn star-btn",{"star-filter-active":v(m).starredFilter==="starred","star-filter-unstarred":v(m).starredFilter==="unstarred","star-filter-all":v(m).starredFilter===null}]),title:v(u),onClick:a[0]||(a[0]=(...n)=>v(p)&&v(p)(...n))},[v(m).starredFilter==="starred"?(s(),o("span",St,"⭐")):v(m).starredFilter==="unstarred"?(s(),o("span",$t,"⭐")):(s(),o("span",Et,"☆"))],10,kt),c.showScheduledFilter?(s(),o("button",{key:1,class:ne(["filter-btn schedule-btn",{"schedule-filter-active":v(m).scheduledFilter==="scheduled","schedule-filter-not-scheduled":v(m).scheduledFilter==="not-scheduled","schedule-filter-all":v(m).scheduledFilter===null}]),title:v(A),onClick:a[1]||(a[1]=(...n)=>v(y)&&v(y)(...n))},[v(m).scheduledFilter==="scheduled"?(s(),o("span",wt,"⏰")):v(m).scheduledFilter==="not-scheduled"?(s(),o("span",_t,"⏰")):(s(),o("span",Tt,"⏰"))],10,Ct)):S("",!0)])]))}},Ie=ge(jt,[["__scopeId","data-v-2c9a63d9"]]),Mt={key:0,class:"skeleton-list"},Ft={key:1,class:"error-message"},Rt={key:2,class:"empty-state"},At={key:3,class:"session-list"},xt={key:0,class:"load-more-container"},Lt=["disabled"],Bt={key:0},Dt={key:1},Ot={__name:"ArchivedTabContent",props:{summaries:{type:Object,required:!0},loadingSummaries:{type:Object,required:!0},summaryErrors:{type:Object,required:!0}},emits:["retrySummary","unarchive","loadMore"],setup(c){const m=ye(),i=U(()=>{const{total:p,offset:u}=m.archivedPagination;return Math.max(0,p-u)});return(p,u)=>(s(),o("div",null,[v(m).archivedPagination.loading&&v(m).archivedSessions.length===0?(s(),o("div",Mt,[(s(),o(J,null,Q(3,y=>e("div",{key:y,class:"skeleton card",style:{height:"120px"}})),64))])):v(m).error?(s(),o("div",Ft,_(v(m).error),1)):v(m).archivedSessions.length===0?(s(),o("div",Rt,[...u[3]||(u[3]=[e("p",null,"No archived sessions. Archive completed sessions to keep your session list tidy.",-1)])])):(s(),o("div",At,[(s(!0),o(J,null,Q(v(m).archivedSessions,y=>(s(),Z(qe,{key:y.id,session:y,"show-summary":!0,summary:c.summaries[y.id],"summary-loading":c.loadingSummaries[y.id],"summary-error":c.summaryErrors[y.id],"show-unarchive":!0,"kanban-enabled":!1,"pr-url":y.prUrl,"pr-summary":c.summaries[y.id],onRetrySummary:u[0]||(u[0]=A=>p.$emit("retrySummary",A)),onUnarchive:u[1]||(u[1]=A=>p.$emit("unarchive",A))},null,8,["session","summary","summary-loading","summary-error","pr-url","pr-summary"]))),128)),v(m).archivedPagination.hasMore?(s(),o("div",xt,[e("button",{class:"btn btn-secondary",disabled:v(m).archivedPagination.loading,onClick:u[2]||(u[2]=y=>p.$emit("loadMore"))},[v(m).archivedPagination.loading?(s(),o("span",Bt,"Loading...")):(s(),o("span",Dt,"Load More ("+_(i.value)+" remaining)",1))],8,Lt)])):S("",!0)]))]))}},Pt=ge(Ot,[["__scopeId","data-v-c0906664"]]),Ut={class:"scheduled-session-card card"},Vt={class:"card-header"},It={class:"session-info"},Nt={class:"session-name"},Gt={class:"timing-info"},Kt={class:"timing-item"},qt={class:"timing-details"},Ht={class:"timing-text"},Wt={class:"timing-absolute"},zt={key:0,class:"timing-item"},Yt={class:"timing-details"},Jt={class:"timing-absolute"},Qt={class:"card-actions"},Xt=["disabled"],Zt=["disabled"],es={__name:"ScheduledSessionCard",props:{session:{type:Object,required:!0}},setup(c){const m=c,i=ye(),p=_e(),u=R(!1),y=R(!1),A=U(()=>{const n=new Date(m.session.scheduledAt);return tt(n,{addSuffix:!0})}),E=U(()=>{const n=new Date(m.session.scheduledAt);return st(n,"MMM d, h:mm a")});async function g(){if(confirm("Cancel this scheduled session?")){u.value=!0;try{await i.updateSessionFields(m.session.id,{status:"stopped"}),p.success("Session cancelled")}catch(n){console.error("Failed to cancel session:",n),p.error(`Failed to cancel session: ${n.message}`)}finally{u.value=!1}}}function a(){}return(n,f)=>{const r=Te("router-link");return s(),o("div",Ut,[e("div",Vt,[e("div",It,[Y(r,{to:`/sessions/${c.session.id}`,class:"session-name-link"},{default:ve(()=>[e("h3",Nt,_(c.session.name),1)]),_:1},8,["to"])]),f[2]||(f[2]=e("div",{class:"status-badge-container"},[e("span",{class:"status-badge status-scheduled"},"scheduled")],-1))]),e("div",Gt,[e("div",Kt,[f[3]||(f[3]=e("span",{class:"timing-icon"},"⏰",-1)),e("div",qt,[e("span",Ht,_(A.value),1),e("span",Wt,_(E.value),1)])]),c.session.autoRescheduleEnabled?(s(),o("div",zt,[f[5]||(f[5]=e("span",{class:"timing-icon"},"🔄",-1)),e("div",Yt,[f[4]||(f[4]=e("span",{class:"timing-text"},"Auto-reschedule",-1)),e("span",Jt," Attempt "+_(c.session.rescheduleCount)+"/"+_(c.session.maxRescheduleCount||"∞"),1)])])):S("",!0)]),e("div",Qt,[e("button",{class:"btn btn-secondary btn-small",disabled:u.value,onClick:f[0]||(f[0]=w=>y.value=!0)}," Edit Schedule ",8,Xt),e("button",{class:"btn btn-danger btn-small",disabled:u.value,onClick:g}," Cancel ",8,Zt)]),Y(nt,{"is-open":y.value,session:c.session,onClose:f[1]||(f[1]=w=>y.value=!1),onSaved:a},null,8,["is-open","session"])])}}},ts=ge(es,[["__scopeId","data-v-d41e6b57"]]),ss={key:0,class:"skeleton-list"},ns={key:1,class:"empty-state"},os={key:2,class:"session-list"},ls={__name:"ScheduledTabContent",props:{sessions:{type:Array,required:!0},loading:{type:Boolean,default:!1}},setup(c){return(m,i)=>(s(),o("div",null,[c.loading?(s(),o("div",ss,[(s(),o(J,null,Q(3,p=>e("div",{key:p,class:"skeleton card",style:{height:"120px"}})),64))])):c.sessions.length===0?(s(),o("div",ns,[...i[0]||(i[0]=[e("p",null,"No scheduled sessions. Use scheduling options when creating a new session to schedule it for later.",-1)])])):(s(),o("div",os,[(s(!0),o(J,null,Q(c.sessions,p=>(s(),Z(ts,{key:p.id,session:p},null,8,["session"]))),128))]))]))}},as=ge(ls,[["__scopeId","data-v-75cf4e60"]]),rs={class:"templates-panel"},is={class:"templates-header"},ds={key:0,class:"template-form card","data-testid":"template-form"},us={class:"form-group"},cs={class:"form-group"},ms={class:"form-group"},ps=["disabled"],vs={class:"form-group"},fs=["value"],hs={class:"form-group"},bs={class:"form-group"},gs={class:"form-group"},ys={class:"form-group"},ks={class:"form-actions"},Ss=["disabled"],$s={key:0,class:"loading-spinner"},Es={key:1,class:"loading-state"},Cs={key:2},ws={key:0,class:"template-section"},_s={class:"templates-list"},Ts={class:"template-header"},js={class:"template-name"},Ms={class:"template-prompt"},Fs={class:"template-meta"},Rs={key:0,class:"meta-badge"},As={key:1,class:"meta-badge"},xs={key:2,class:"meta-badge"},Ls={key:3,class:"meta-badge"},Bs={key:4,class:"meta-badge meta-badge-chain"},Ds={key:1,class:"template-section"},Os={class:"templates-list"},Ps={class:"template-header"},Us={class:"template-name"},Vs={class:"template-prompt"},Is={class:"template-meta"},Ns={key:0,class:"meta-badge"},Gs={key:1,class:"meta-badge"},Ks={key:2,class:"meta-badge"},qs={key:3,class:"meta-badge"},Hs={key:4,class:"meta-badge meta-badge-chain"},Ws={key:2,class:"empty-state"},zs={__name:"TemplatesPanel",props:{projectId:{type:String,required:!0}},setup(c,{expose:m}){const i=c,p=He(),u=_e(),y=at(),A=R(!1),E=R(!1),g=R({name:"",prompt:"",isGlobal:!1,nextTemplateId:null,thinkingEnabled:null,gitBranch:"",model:null,mode:null}),a=U(()=>p.loading),n=U(()=>p.projectTemplates),f=U(()=>p.globalTemplates),r=U(()=>[...p.projectTemplates,...p.globalTemplates]);Oe(async()=>{y.providers.length===0&&await y.fetchProviders(),p.fetchProjectTemplates(i.projectId)}),de(()=>i.projectId,F=>{p.fetchProjectTemplates(F)});function w(F,d=100){return F.length<=d?F:`${F.substring(0,d)}...`}function $(F){const d=p.getTemplateById(F);return(d==null?void 0:d.name)||"Unknown"}function j(F){var d;for(const z of y.providers){const b=(d=z.models)==null?void 0:d.find(ee=>ee.modelId===F);if(b)return z.isBuiltIn?b.displayName:b.modelId}return F}function l(){g.value={name:"",prompt:"",isGlobal:!1,nextTemplateId:null,thinkingEnabled:null,gitBranch:"",model:null,mode:null}}function H(){A.value=!0}function W(){A.value=!1,l()}async function B(){if(!E.value){E.value=!0;try{const F={name:g.value.name,prompt:g.value.prompt,nextTemplateId:g.value.nextTemplateId||void 0,thinkingEnabled:g.value.thinkingEnabled,gitBranch:g.value.gitBranch||void 0,model:g.value.model,mode:g.value.mode};g.value.isGlobal?(await p.createGlobalTemplate(F),u.success("Global template created")):(await p.createProjectTemplate(i.projectId,F),u.success("Template created")),W()}catch(F){u.error(F.message)}finally{E.value=!1}}}return m({formData:g,getModelName:j,resetForm:l}),(F,d)=>{const z=Te("router-link");return s(),o("div",rs,[e("div",is,[d[8]||(d[8]=e("h2",null,"Session Templates",-1)),A.value?S("",!0):(s(),o("button",{key:0,class:"btn btn-primary btn-sm","data-testid":"new-template-btn",onClick:H}," New Template "))]),A.value?(s(),o("div",ds,[d[23]||(d[23]=e("h3",null,"Create Template",-1)),e("form",{onSubmit:ae(B,["prevent"])},[e("div",us,[d[9]||(d[9]=e("label",{class:"form-label"},"Name",-1)),N(e("input",{"onUpdate:modelValue":d[0]||(d[0]=b=>g.value.name=b),type:"text",class:"form-input",placeholder:"Template name",required:""},null,512),[[fe,g.value.name]])]),e("div",cs,[d[10]||(d[10]=e("label",{class:"form-label"},"Prompt",-1)),N(e("textarea",{"onUpdate:modelValue":d[1]||(d[1]=b=>g.value.prompt=b),class:"form-input form-textarea",placeholder:"Session prompt. Use {{rootSession.summary}} to reference root session data.",rows:"4",required:""},null,512),[[fe,g.value.prompt]]),Y(We)]),e("div",ms,[d[12]||(d[12]=e("label",{class:"form-label"},"Scope",-1)),N(e("select",{"onUpdate:modelValue":d[2]||(d[2]=b=>g.value.isGlobal=b),class:"form-input",disabled:F.editingTemplate},[...d[11]||(d[11]=[e("option",{value:!1}," Project Only ",-1),e("option",{value:!0}," Global (all projects) ",-1)])],8,ps),[[$e,g.value.isGlobal]])]),e("div",vs,[d[14]||(d[14]=e("label",{class:"form-label"},"Next Template (Optional)",-1)),N(e("select",{"onUpdate:modelValue":d[3]||(d[3]=b=>g.value.nextTemplateId=b),class:"form-input"},[d[13]||(d[13]=e("option",{value:null}," None ",-1)),(s(!0),o(J,null,Q(r.value,b=>(s(),o("option",{key:b.id,value:b.id},_(b.name)+" "+_(b.projectId?"":"(Global)"),9,fs))),128))],512),[[$e,g.value.nextTemplateId]]),d[15]||(d[15]=e("p",{class:"form-help"}," Chain another template to run after this one completes. ",-1))]),e("div",hs,[d[16]||(d[16]=e("label",{class:"form-label"},"Model",-1)),Y(rt,{modelValue:g.value.model,"onUpdate:modelValue":d[4]||(d[4]=b=>g.value.model=b),"allow-empty":!0,"empty-label":"Inherit from root session"},null,8,["modelValue"])]),e("div",bs,[d[18]||(d[18]=e("label",{class:"form-label",for:"create-mode"},"Mode",-1)),N(e("select",{id:"create-mode","onUpdate:modelValue":d[5]||(d[5]=b=>g.value.mode=b),class:"form-input","data-testid":"mode-select"},[...d[17]||(d[17]=[e("option",{value:null}," Inherit from root session ",-1),e("option",{value:"plan"}," Plan ",-1),e("option",{value:"standard"}," Standard ",-1),e("option",{value:"yolo"}," YOLO ",-1)])],512),[[$e,g.value.mode]])]),e("div",gs,[d[20]||(d[20]=e("label",{class:"form-label",for:"create-thinking"},"Extended Thinking",-1)),N(e("select",{id:"create-thinking","onUpdate:modelValue":d[6]||(d[6]=b=>g.value.thinkingEnabled=b),class:"form-input","data-testid":"thinking-select"},[...d[19]||(d[19]=[e("option",{value:null}," Inherit from root session ",-1),e("option",{value:!0}," Enabled ",-1),e("option",{value:!1}," Disabled ",-1)])],512),[[$e,g.value.thinkingEnabled]])]),e("div",ys,[d[21]||(d[21]=e("label",{class:"form-label"},"Git Branch (Optional)",-1)),N(e("input",{"onUpdate:modelValue":d[7]||(d[7]=b=>g.value.gitBranch=b),type:"text",class:"form-input",placeholder:"Leave empty to inherit from root session"},null,512),[[fe,g.value.gitBranch]])]),e("div",ks,[e("button",{type:"button",class:"btn","data-testid":"cancel-btn",onClick:W}," Cancel "),e("button",{type:"submit",class:"btn btn-primary",disabled:E.value,"data-testid":"submit-btn"},[E.value?(s(),o("span",$s)):S("",!0),d[22]||(d[22]=re(" Create ",-1))],8,Ss)])],32)])):S("",!0),a.value?(s(),o("div",Es,[...d[24]||(d[24]=[e("span",{class:"loading-spinner"},null,-1),re(" Loading templates... ",-1)])])):(s(),o("div",Cs,[n.value.length>0?(s(),o("div",ws,[d[25]||(d[25]=e("h3",{class:"section-title"}," Project Templates ",-1)),e("div",_s,[(s(!0),o(J,null,Q(n.value,b=>(s(),Z(z,{key:b.id,to:`/projects/${c.projectId}/templates/${b.id}`,class:"template-card card","data-testid":`template-card-${b.id}`},{default:ve(()=>[e("div",Ts,[e("h4",js,_(b.name),1)]),e("p",Ms,_(w(b.prompt)),1),e("div",Fs,[b.thinkingEnabled?(s(),o("span",Rs,"Thinking")):S("",!0),b.gitBranch?(s(),o("span",As,_(b.gitBranch),1)):S("",!0),b.model?(s(),o("span",xs,_(j(b.model)),1)):S("",!0),b.mode?(s(),o("span",Ls,_(b.mode),1)):S("",!0),b.nextTemplateId?(s(),o("span",Bs," Chains to: "+_($(b.nextTemplateId)),1)):S("",!0)])]),_:2},1032,["to","data-testid"]))),128))])])):S("",!0),f.value.length>0?(s(),o("div",Ds,[d[27]||(d[27]=e("h3",{class:"section-title"}," Global Templates ",-1)),e("div",Os,[(s(!0),o(J,null,Q(f.value,b=>(s(),Z(z,{key:b.id,to:`/projects/${c.projectId}/templates/${b.id}`,class:"template-card card","data-testid":`template-card-${b.id}`},{default:ve(()=>[e("div",Ps,[e("h4",Us,_(b.name),1)]),e("p",Vs,_(w(b.prompt)),1),e("div",Is,[d[26]||(d[26]=e("span",{class:"meta-badge meta-badge-global"},"Global",-1)),b.thinkingEnabled?(s(),o("span",Ns,"Thinking")):S("",!0),b.gitBranch?(s(),o("span",Gs,_(b.gitBranch),1)):S("",!0),b.model?(s(),o("span",Ks,_(j(b.model)),1)):S("",!0),b.mode?(s(),o("span",qs,_(b.mode),1)):S("",!0),b.nextTemplateId?(s(),o("span",Hs," Chains to: "+_($(b.nextTemplateId)),1)):S("",!0)])]),_:2},1032,["to","data-testid"]))),128))])])):S("",!0),n.value.length===0&&f.value.length===0&&!A.value?(s(),o("div",Ws,[d[28]||(d[28]=e("p",null,"No templates yet. Create a template to automate session workflows.",-1)),e("button",{class:"btn btn-primary","data-testid":"create-template-btn",onClick:H}," Create Template ")])):S("",!0)]))])}}},Ys=ge(zs,[["__scopeId","data-v-d08b4ac0"]]),Js={class:"command-buttons-panel"},Qs={class:"panel-header"},Xs={key:0,class:"loading-state"},Zs={key:1,class:"error-message"},en={key:2,class:"empty-state"},tn={key:3,class:"buttons-table"},sn=["onClick"],nn={class:"col-label"},on={class:"col-command"},ln={class:"col-order"},an=["onClick"],rn={class:"modal-body"},dn={class:"modal-footer"},un={__name:"CommandButtonsPanel",props:{projectId:{type:String,required:!0}},setup(c){const m=c,i=Ne(),p=Ke(),u=R(null),y=a=>a.length>50?`${a.substring(0,50)}...`:a,A=a=>{i.push(`/projects/${m.projectId}/command-buttons/${a.id}`)},E=a=>{u.value=a},g=async()=>{if(u.value)try{await p.deleteButton(m.projectId,u.value.id),u.value=null}catch(a){console.error("Failed to delete button:",a)}};return(a,n)=>{const f=Te("router-link");return s(),o("div",Js,[e("div",Qs,[n[5]||(n[5]=e("h3",null,"Command Buttons",-1)),Y(f,{to:`/projects/${c.projectId}/command-buttons/new`,class:"btn btn-primary btn-sm"},{default:ve(()=>[...n[4]||(n[4]=[re(" + New Command Button ",-1)])]),_:1},8,["to"])]),v(p).loading?(s(),o("div",Xs,[...n[6]||(n[6]=[e("span",{class:"loading-spinner"},null,-1),re(" Loading command buttons... ",-1)])])):v(p).error?(s(),o("div",Zs,_(v(p).error),1)):v(p).buttons.length===0?(s(),o("div",en,[n[8]||(n[8]=e("p",null,"No command buttons configured yet.",-1)),Y(f,{to:`/projects/${c.projectId}/command-buttons/new`,class:"btn btn-primary"},{default:ve(()=>[...n[7]||(n[7]=[re(" Create First Button ",-1)])]),_:1},8,["to"])])):(s(),o("div",tn,[n[9]||(n[9]=Pe('<div class="table-header" data-v-990a48bf><div class="col-label" data-v-990a48bf> Label </div><div class="col-command" data-v-990a48bf> Command </div><div class="col-order" data-v-990a48bf> Sort Order </div><div class="col-actions" data-v-990a48bf> Actions </div></div>',1)),(s(!0),o(J,null,Q(v(p).buttons,r=>(s(),o("div",{key:r.id,class:"table-row",onClick:w=>A(r)},[e("div",nn,_(r.label),1),e("div",on,[e("code",null,_(y(r.command)),1)]),e("div",ln,_(r.sortOrder),1),e("div",{class:"col-actions",onClick:n[0]||(n[0]=ae(()=>{},["stop"]))},[e("button",{class:"btn btn-sm btn-outline-danger",onClick:w=>E(r)}," Delete ",8,an)])],8,sn))),128))])),u.value?(s(),o("div",{key:4,class:"modal-overlay",onClick:n[3]||(n[3]=r=>u.value=null)},[e("div",{class:"modal-dialog",onClick:n[2]||(n[2]=ae(()=>{},["stop"]))},[n[12]||(n[12]=e("div",{class:"modal-header"},[e("h4",null,"Delete Command Button")],-1)),e("div",rn,[e("p",null,[n[10]||(n[10]=re('Are you sure you want to delete the command button "',-1)),e("strong",null,_(u.value.label),1),n[11]||(n[11]=re('"?',-1))])]),e("div",dn,[e("button",{class:"btn btn-outline-secondary",onClick:n[1]||(n[1]=r=>u.value=null)}," Cancel "),e("button",{class:"btn btn-danger",onClick:g}," Delete ")])])])):S("",!0)])}}},cn=ge(un,[["__scopeId","data-v-990a48bf"]]),mn={class:"modal-content"},pn={class:"modal-header"},vn={class:"modal-title"},fn={class:"modal-body"},hn={class:"form-group"},bn={class:"sessions-list"},gn={key:0,class:"loading-state"},yn={key:1,class:"empty-state"},kn={key:0},Sn={key:1},$n=["onClick"],En={class:"session-info"},Cn={class:"session-name"},wn={class:"session-meta"},_n={key:0,class:"session-mode"},Tn={class:"session-date"},jn={class:"modal-footer"},Mn=["disabled"],Fn={__name:"AddSessionToLaneModal",props:{isOpen:{type:Boolean,default:!1},projectId:{type:String,default:""},laneId:{type:String,default:""},laneName:{type:String,default:""}},emits:["close","update:isOpen","added"],setup(c,{emit:m}){const i=c,p=m;ye();const u=je(),y=_e(),A=R(!1),E=R(!1),g=R(""),a=R(null),n=R([]),f=U(()=>{let B=n.value.filter(F=>!u.isSessionOnBoard(F.id));if(B=B.filter(F=>!F.parentSessionId),g.value.trim()){const F=g.value.toLowerCase();B=B.filter(d=>{var z;return(z=d.name)==null?void 0:z.toLowerCase().includes(F)})}return B});function r(B){switch(B){case"running":case"starting":return"●";case"waiting":return"◐";case"completed":return"✓";case"error":return"✕";case"stopped":return"■";case"scheduled":return"⏰";default:return"○"}}function w(B){return B?new Date(B).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function $(B){a.value=B}function j(){}function l(){p("update:isOpen",!1),p("close"),g.value="",a.value=null}async function H(){if(i.projectId){A.value=!0;try{const B=await Be.getProjectSessions(i.projectId,!1,null);n.value=Array.isArray(B)?B:(B==null?void 0:B.sessions)||[]}catch(B){console.error("Failed to load sessions:",B),y.error("Failed to load sessions"),n.value=[]}finally{A.value=!1}}}async function W(){if(!(!a.value||!i.laneId)){E.value=!0;try{await u.addSessionToBoard(i.projectId,a.value,i.laneId),y.success("Session added to board"),p("added",a.value),l()}catch(B){console.error("Failed to add session to board:",B),y.error(B.message||"Failed to add session to board")}finally{E.value=!1}}}return de(()=>i.isOpen,B=>{B&&H()},{immediate:!0}),(B,F)=>c.isOpen?(s(),o("div",{key:0,class:"modal-backdrop",onClick:ae(l,["self"])},[e("div",mn,[e("div",pn,[e("h2",vn," Add Session to "+_(c.laneName),1),e("button",{class:"close-btn","aria-label":"Close",onClick:l}," × ")]),e("div",fn,[e("div",hn,[F[1]||(F[1]=e("label",{for:"session-search",class:"form-label"},"Search Sessions",-1)),N(e("input",{id:"session-search","onUpdate:modelValue":F[0]||(F[0]=d=>g.value=d),type:"text",class:"form-input",placeholder:"Search by name...",onInput:j},null,544),[[fe,g.value]])]),e("div",bn,[A.value?(s(),o("div",gn,[...F[2]||(F[2]=[e("span",{class:"loading-spinner"},null,-1),re(" Loading sessions... ",-1)])])):f.value.length===0?(s(),o("div",yn,[g.value?(s(),o("p",kn,' No sessions matching "'+_(g.value)+'" ',1)):(s(),o("p",Sn," No available sessions to add. "))])):(s(!0),o(J,{key:2},Q(f.value,d=>(s(),o("div",{key:d.id,class:ne(["session-item",{selected:a.value===d.id}]),onClick:z=>$(d.id)},[e("div",{class:ne(["session-status",`status-${d.status}`])},_(r(d.status)),3),e("div",En,[e("div",Cn,_(d.name),1),e("div",wn,[d.mode?(s(),o("span",_n,_(d.mode),1)):S("",!0),e("span",Tn,_(w(d.updatedAt||d.createdAt)),1)])])],10,$n))),128))])]),e("div",jn,[e("button",{class:"btn btn-secondary",onClick:l}," Cancel "),e("button",{class:"btn btn-primary",disabled:!a.value||E.value,onClick:W},_(E.value?"Adding...":"Add to Lane"),9,Mn)])])])):S("",!0)}},Ye=ge(Fn,[["__scopeId","data-v-916a53c8"]]),Rn={class:"modal-content"},An={class:"modal-body"},xn={class:"form-group"},Ln={key:0,class:"form-group"},Bn={class:"lane-position-controls"},Dn=["disabled"],On={class:"lane-position-label"},Pn=["disabled"],Un={class:"form-group"},Vn={class:"automation-options"},In={class:"radio-option"},Nn={class:"radio-option"},Gn={class:"radio-option"},Kn={key:1,class:"form-group"},qn={key:0,label:"Project Templates"},Hn=["value"],Wn={key:1,label:"Global Templates"},zn=["value"],Yn={key:2,class:"form-group"},Jn={class:"prompt-actions-row"},Qn={key:4,class:"agent-settings-section"},Xn={key:0,class:"agent-settings-body"},Zn={class:"form-group"},eo={class:"toggle-switch-row"},to={class:"toggle-switch"},so={key:0,class:"reschedule-settings"},no={class:"form-group"},oo={class:"checkbox-option"},lo={class:"checkbox-option"},ao={class:"form-group"},ro={class:"form-group"},io={class:"form-group"},uo={class:"form-group"},co={class:"danger-zone"},mo=["disabled"],po={class:"modal-footer"},vo=["disabled"],fo={__name:"LaneSettingsModal",props:{isOpen:{type:Boolean,default:!1},projectId:{type:String,default:""},lane:{type:Object,default:null}},emits:["close","update:isOpen","updated","deleted"],setup(c,{emit:m}){const i=c,p=m,u=je(),y=He(),A=_e(),E=Ue(),g=R(!1),a=R(!1),n=R("none"),f=R(!1),r=R(!1),w=R(null),$=R(-1),j=R(-1),l=Me({name:"",onEnterTemplateId:null,onEnterPrompt:"",onEnterMode:null,onEnterModel:null,onEnterEffortLevel:null,onEnterThinkingEnabled:null,onEnterAutoRescheduleEnabled:!1,onEnterRescheduleDelayMinutes:15,onEnterRescheduleOnTokenLimit:!0,onEnterRescheduleOnServiceError:!0,onEnterMaxRescheduleCount:null,onEnterMaxTotalTokens:null,onEnterRescheduleAtTokenCount:null}),H=U(()=>y.projectTemplates),W=U(()=>y.globalTemplates),B=U(()=>{const T=E.getProjectById(i.projectId);return(T==null?void 0:T.workingDirectory)||null}),F=U(()=>j.value),d=U(()=>{var T,t;return((t=(T=u.board)==null?void 0:T.lanes)==null?void 0:t.length)||0}),z=U(()=>!(!l.name.trim()||n.value==="template"&&!l.onEnterTemplateId||n.value==="prompt"&&!l.onEnterPrompt.trim()));function b(){var T,t;if(i.lane){l.name=i.lane.name||"",l.onEnterTemplateId=i.lane.onEnterTemplateId||null,l.onEnterPrompt=i.lane.onEnterPrompt||"",l.onEnterMode=i.lane.onEnterMode||null,l.onEnterModel=i.lane.onEnterModel||null,l.onEnterEffortLevel=i.lane.onEnterEffortLevel||null,l.onEnterThinkingEnabled=i.lane.onEnterThinkingEnabled??null,l.onEnterAutoRescheduleEnabled=i.lane.onEnterAutoRescheduleEnabled||!1,l.onEnterRescheduleDelayMinutes=i.lane.onEnterRescheduleDelayMinutes||15,l.onEnterRescheduleOnTokenLimit=i.lane.onEnterRescheduleOnTokenLimit??!0,l.onEnterRescheduleOnServiceError=i.lane.onEnterRescheduleOnServiceError??!0,l.onEnterMaxRescheduleCount=i.lane.onEnterMaxRescheduleCount||null,l.onEnterMaxTotalTokens=i.lane.onEnterMaxTotalTokens||null,l.onEnterRescheduleAtTokenCount=i.lane.onEnterRescheduleAtTokenCount||null,i.lane.onEnterTemplateId?n.value="template":i.lane.onEnterPrompt?n.value="prompt":n.value="none",f.value=!!(l.onEnterMode||l.onEnterModel||l.onEnterEffortLevel||l.onEnterThinkingEnabled!==null||l.onEnterAutoRescheduleEnabled);const h=((t=(T=u.board)==null?void 0:T.lanes)==null?void 0:t.findIndex(G=>G.id===i.lane.id))??-1;$.value=h,j.value=h}else l.name="",l.onEnterTemplateId=null,l.onEnterPrompt="",l.onEnterMode=null,l.onEnterModel=null,l.onEnterEffortLevel=null,l.onEnterThinkingEnabled=null,l.onEnterAutoRescheduleEnabled=!1,l.onEnterRescheduleDelayMinutes=15,l.onEnterRescheduleOnTokenLimit=!0,l.onEnterRescheduleOnServiceError=!0,l.onEnterMaxRescheduleCount=null,l.onEnterMaxTotalTokens=null,l.onEnterRescheduleAtTokenCount=null,n.value="none",f.value=!1,$.value=-1,j.value=-1}function ee(){j.value=$.value,p("update:isOpen",!1),p("close")}function oe({text:T}){const t=w.value;if(t){const h=t.selectionStart,G=t.selectionEnd,ie=l.onEnterPrompt.substring(0,h),le=l.onEnterPrompt.substring(G);l.onEnterPrompt=ie+T+le,Ze(()=>{t.selectionStart=t.selectionEnd=h+T.length,t.focus()})}}function te(T){const t=j.value;t<0||t===T||(j.value=T)}async function M(){var T;if(!(!i.lane||!z.value)){g.value=!0;try{const t={name:l.name.trim()};if(n.value==="template"?(t.onEnterTemplateId=l.onEnterTemplateId,t.onEnterPrompt=null,t.onEnterMode=null,t.onEnterModel=null,t.onEnterEffortLevel=null,t.onEnterThinkingEnabled=null,t.onEnterAutoRescheduleEnabled=!1,t.onEnterRescheduleDelayMinutes=15,t.onEnterRescheduleOnTokenLimit=!0,t.onEnterRescheduleOnServiceError=!0,t.onEnterMaxRescheduleCount=null,t.onEnterMaxTotalTokens=null,t.onEnterRescheduleAtTokenCount=null):n.value==="prompt"?(t.onEnterTemplateId=null,t.onEnterPrompt=l.onEnterPrompt.trim(),t.onEnterMode=l.onEnterMode,t.onEnterModel=l.onEnterModel,t.onEnterEffortLevel=l.onEnterEffortLevel,t.onEnterThinkingEnabled=l.onEnterThinkingEnabled,t.onEnterAutoRescheduleEnabled=l.onEnterAutoRescheduleEnabled,t.onEnterRescheduleDelayMinutes=l.onEnterRescheduleDelayMinutes,t.onEnterRescheduleOnTokenLimit=l.onEnterRescheduleOnTokenLimit,t.onEnterRescheduleOnServiceError=l.onEnterRescheduleOnServiceError,t.onEnterMaxRescheduleCount=l.onEnterMaxRescheduleCount,t.onEnterMaxTotalTokens=l.onEnterMaxTotalTokens,t.onEnterRescheduleAtTokenCount=l.onEnterRescheduleAtTokenCount):(t.onEnterTemplateId=null,t.onEnterPrompt=null,t.onEnterMode=null,t.onEnterModel=null,t.onEnterEffortLevel=null,t.onEnterThinkingEnabled=null,t.onEnterAutoRescheduleEnabled=!1,t.onEnterRescheduleDelayMinutes=15,t.onEnterRescheduleOnTokenLimit=!0,t.onEnterRescheduleOnServiceError=!0,t.onEnterMaxRescheduleCount=null,t.onEnterMaxTotalTokens=null,t.onEnterRescheduleAtTokenCount=null),j.value!==$.value&&j.value>=0){const h=(T=u.board)==null?void 0:T.lanes;if(h&&h.length>1){const G=h.map(ce=>ce.id),ie=i.lane.id,[le]=G.splice($.value,1);G.splice(j.value,0,le),await u.reorderLanes(i.projectId,G)}}await u.updateLane(i.projectId,i.lane.id,t),A.success("Lane settings saved"),p("updated"),ee()}catch(t){console.error("Failed to save lane settings:",t),A.error(t.message||"Failed to save lane settings")}finally{g.value=!1}}}async function P(){if(i.lane&&confirm(`Are you sure you want to delete the "${i.lane.name}" lane? This cannot be undone.`)){a.value=!0;try{await u.deleteLane(i.projectId,i.lane.id),A.success("Lane deleted"),p("deleted"),ee()}catch(T){console.error("Failed to delete lane:",T),A.error(T.message||"Failed to delete lane")}finally{a.value=!1}}}return de(()=>i.isOpen,T=>{T&&(b(),i.projectId&&y.projectTemplates.length===0&&y.globalTemplates.length===0&&y.fetchProjectTemplates(i.projectId))},{immediate:!0}),de(()=>i.lane,()=>{i.isOpen&&b()}),de(()=>{var T;return(T=u.board)==null?void 0:T.lanes},T=>{if(i.isOpen&&i.lane&&T){const t=T.findIndex(h=>h.id===i.lane.id);t>=0&&($.value=t,j.value=t)}},{deep:!0}),(T,t)=>c.isOpen?(s(),o("div",{key:0,class:"modal-backdrop",onClick:ae(ee,["self"])},[e("div",Rn,[e("div",{class:"modal-header"},[t[22]||(t[22]=e("h2",{class:"modal-title"}," Lane Settings ",-1)),e("button",{class:"close-btn","aria-label":"Close",onClick:ee}," × ")]),e("div",An,[e("div",xn,[t[23]||(t[23]=e("label",{for:"lane-name",class:"form-label"},"Lane Name",-1)),N(e("input",{id:"lane-name","onUpdate:modelValue":t[0]||(t[0]=h=>l.name=h),type:"text",class:"form-input",placeholder:"Enter lane name"},null,512),[[fe,l.name]])]),d.value>1?(s(),o("div",Ln,[t[26]||(t[26]=e("label",{class:"form-label"},"Position",-1)),e("div",Bn,[e("button",{class:"btn btn-icon",disabled:F.value<=0,title:"Move left",onClick:t[1]||(t[1]=h=>te(F.value-1))},[...t[24]||(t[24]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},[e("polyline",{points:"15 18 9 12 15 6"})],-1)])],8,Dn),e("span",On,_(F.value+1)+" of "+_(d.value),1),e("button",{class:"btn btn-icon",disabled:F.value>=d.value-1,title:"Move right",onClick:t[2]||(t[2]=h=>te(F.value+1))},[...t[25]||(t[25]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},[e("polyline",{points:"9 18 15 12 9 6"})],-1)])],8,Pn)])])):S("",!0),e("div",Un,[t[30]||(t[30]=e("label",{class:"form-label"},"On-Enter Automation",-1)),e("div",Vn,[e("label",In,[N(e("input",{"onUpdate:modelValue":t[3]||(t[3]=h=>n.value=h),type:"radio",value:"none",name:"automation"},null,512),[[xe,n.value]]),t[27]||(t[27]=e("span",null,"None",-1))]),e("label",Nn,[N(e("input",{"onUpdate:modelValue":t[4]||(t[4]=h=>n.value=h),type:"radio",value:"template",name:"automation"},null,512),[[xe,n.value]]),t[28]||(t[28]=e("span",null,"Run a template",-1))]),e("label",Gn,[N(e("input",{"onUpdate:modelValue":t[5]||(t[5]=h=>n.value=h),type:"radio",value:"prompt",name:"automation"},null,512),[[xe,n.value]]),t[29]||(t[29]=e("span",null,"Run a custom prompt",-1))])])]),n.value==="template"?(s(),o("div",Kn,[t[32]||(t[32]=e("label",{for:"template-select",class:"form-label"},"Select Template",-1)),N(e("select",{id:"template-select","onUpdate:modelValue":t[6]||(t[6]=h=>l.onEnterTemplateId=h),class:"form-input"},[t[31]||(t[31]=e("option",{value:null}," Select a template... ",-1)),H.value.length?(s(),o("optgroup",qn,[(s(!0),o(J,null,Q(H.value,h=>(s(),o("option",{key:h.id,value:h.id},_(h.name),9,Hn))),128))])):S("",!0),W.value.length?(s(),o("optgroup",Wn,[(s(!0),o(J,null,Q(W.value,h=>(s(),o("option",{key:h.id,value:h.id},_(h.name),9,zn))),128))])):S("",!0)],512),[[$e,l.onEnterTemplateId]]),t[33]||(t[33]=e("p",{class:"form-help"}," When a session enters this lane, the selected template will automatically run. ",-1))])):S("",!0),n.value==="prompt"?(s(),o("div",Yn,[t[34]||(t[34]=e("label",{for:"custom-prompt",class:"form-label"},"Custom Prompt",-1)),Y(it,{id:"custom-prompt",ref_key:"promptTextareaRef",ref:w,modelValue:l.onEnterPrompt,"onUpdate:modelValue":t[7]||(t[7]=h=>l.onEnterPrompt=h),class:"form-input form-textarea",placeholder:"Enter the prompt to run when a session enters this lane...",rows:"4","min-height":80},null,8,["modelValue"]),e("div",Jn,[Y(We),B.value?(s(),Z(ut,{key:0,onOpen:t[8]||(t[8]=h=>r.value=!0)})):S("",!0)])])):S("",!0),n.value==="prompt"?(s(),Z(ct,{key:3,"is-open":r.value,"onUpdate:isOpen":t[9]||(t[9]=h=>r.value=h),"working-directory":B.value||"",mode:"insert","hide-builtin":!0,onInsert:oe},null,8,["is-open","working-directory"])):S("",!0),n.value==="prompt"?(s(),o("div",Qn,[e("button",{type:"button",class:"section-toggle",onClick:t[10]||(t[10]=h=>f.value=!f.value)},[e("span",{class:ne(["toggle-chevron",{open:f.value}])},"▶",2),t[35]||(t[35]=re(" Session Settings ",-1))]),f.value?(s(),o("div",Xn,[Y(dt,{mode:l.onEnterMode||"standard",model:l.onEnterModel,"effort-level":l.onEnterEffortLevel,"thinking-enabled":l.onEnterThinkingEnabled??!1,"hide-start-immediately":!0,"onUpdate:mode":t[11]||(t[11]=h=>l.onEnterMode=h),"onUpdate:model":t[12]||(t[12]=h=>l.onEnterModel=h),"onUpdate:effortLevel":t[13]||(t[13]=h=>l.onEnterEffortLevel=h),"onUpdate:thinkingEnabled":t[14]||(t[14]=h=>l.onEnterThinkingEnabled=h)},null,8,["mode","model","effort-level","thinking-enabled"]),e("div",Zn,[e("label",eo,[e("label",to,[N(e("input",{"onUpdate:modelValue":t[15]||(t[15]=h=>l.onEnterAutoRescheduleEnabled=h),type:"checkbox"},null,512),[[Le,l.onEnterAutoRescheduleEnabled]]),t[36]||(t[36]=e("span",{class:"toggle-slider"},null,-1))]),t[37]||(t[37]=e("span",{class:"toggle-label"},"Auto-reschedule on errors",-1))])]),l.onEnterAutoRescheduleEnabled?(s(),o("div",so,[e("div",no,[t[40]||(t[40]=e("p",{class:"settings-label"}," Reschedule Triggers ",-1)),e("label",oo,[N(e("input",{"onUpdate:modelValue":t[16]||(t[16]=h=>l.onEnterRescheduleOnTokenLimit=h),type:"checkbox"},null,512),[[Le,l.onEnterRescheduleOnTokenLimit]]),t[38]||(t[38]=e("span",null,"Token limit errors",-1))]),e("label",lo,[N(e("input",{"onUpdate:modelValue":t[17]||(t[17]=h=>l.onEnterRescheduleOnServiceError=h),type:"checkbox"},null,512),[[Le,l.onEnterRescheduleOnServiceError]]),t[39]||(t[39]=e("span",null,"Service unavailability",-1))])]),e("div",ao,[t[42]||(t[42]=e("label",{class:"form-label"},"Reschedule Delay",-1)),N(e("select",{"onUpdate:modelValue":t[18]||(t[18]=h=>l.onEnterRescheduleDelayMinutes=h),class:"form-input"},[...t[41]||(t[41]=[e("option",{value:5}," 5 minutes ",-1),e("option",{value:15}," 15 minutes ",-1),e("option",{value:30}," 30 minutes ",-1),e("option",{value:60}," 1 hour ",-1),e("option",{value:120}," 2 hours ",-1)])],512),[[$e,l.onEnterRescheduleDelayMinutes,void 0,{number:!0}]])]),e("div",ro,[t[43]||(t[43]=e("label",{class:"form-label"},"Max Reschedule Count",-1)),N(e("input",{"onUpdate:modelValue":t[19]||(t[19]=h=>l.onEnterMaxRescheduleCount=h),type:"number",min:"1",max:"100",class:"form-input",placeholder:"Unlimited"},null,512),[[fe,l.onEnterMaxRescheduleCount,void 0,{number:!0}]])]),e("div",io,[t[44]||(t[44]=e("label",{class:"form-label"},"Max Total Tokens",-1)),N(e("input",{"onUpdate:modelValue":t[20]||(t[20]=h=>l.onEnterMaxTotalTokens=h),type:"number",min:"1000",step:"1000",class:"form-input",placeholder:"Unlimited"},null,512),[[fe,l.onEnterMaxTotalTokens,void 0,{number:!0}]])]),e("div",uo,[t[45]||(t[45]=e("label",{class:"form-label"},"Reschedule At Token Count",-1)),N(e("input",{"onUpdate:modelValue":t[21]||(t[21]=h=>l.onEnterRescheduleAtTokenCount=h),type:"number",min:"10000",step:"10000",class:"form-input",placeholder:"None"},null,512),[[fe,l.onEnterRescheduleAtTokenCount,void 0,{number:!0}]])])])):S("",!0)])):S("",!0)])):S("",!0),e("div",co,[t[46]||(t[46]=e("h4",{class:"danger-title"}," Danger Zone ",-1)),t[47]||(t[47]=e("p",{class:"danger-description"}," Deleting this lane will remove all cards from it. Sessions will remain in the project. ",-1)),e("button",{class:"btn btn-danger",disabled:a.value,onClick:P},_(a.value?"Deleting...":"Delete Lane"),9,mo)])]),e("div",po,[e("button",{class:"btn btn-secondary",onClick:ee}," Cancel "),e("button",{class:"btn btn-primary",disabled:g.value||!z.value,onClick:M},_(g.value?"Saving...":"Save Changes"),9,vo)])])])):S("",!0)}},ho=ge(fo,[["__scopeId","data-v-114a927d"]]),bo={class:"kanban-board"},go={key:0,class:"kanban-loading"},yo={key:1,class:"kanban-error"},ko={key:2,class:"kanban-empty"},So={key:3,class:"kanban-lanes-container"},$o=["onDragover","onDrop"],Eo={class:"lane-header"},Co={class:"lane-title-row"},wo={class:"lane-title"},_o={key:0,class:"lane-automation-indicator",title:"Automation enabled"},To={class:"lane-header-actions"},jo={class:"lane-count"},Mo=["onClick"],Fo={class:"lane-cards"},Ro={key:0,class:"card-drop-indicator"},Ao=["onDragstart","onDragover"],xo={class:"card-header"},Lo={class:"card-title"},Bo={class:"card-meta"},Do={key:0,class:"card-mode"},Oo={class:"card-reorder-arrows"},Po=["onClick"],Uo=["onClick"],Vo=["onClick"],Io=["onClick"],No={key:0,class:"card-drop-indicator"},Go={key:1,class:"lane-empty"},Ko={class:"lane-footer"},qo={key:0,class:"lane-automation"},Ho={key:1,class:"lane-automation"},Wo=["onClick"],zo={class:"add-lane-container"},Yo={key:1,class:"add-lane-form"},Jo={__name:"KanbanBoard",props:{projectId:{type:String,required:!0}},setup(c){const m=c,i=je(),p=R(!1),u=R(""),y=R(null),A=R(null),E=R(null),g=R(-1),a=R(null),n=R(-1),f=R(!1),r=R(null),w=R(!1),$=R(null),j=R(!1),l=R(null),H=R(null),W=U(()=>i.board),B=U(()=>i.loading),F=U(()=>i.error),d=async()=>{try{await i.fetchBoard(m.projectId)}catch(x){console.error("Failed to fetch kanban board:",x)}},z=x=>{switch(x){case"running":case"starting":return"●";case"waiting":return"◐";case"completed":return"✓";case"error":return"✕";case"stopped":return"■";case"scheduled":return"⏰";default:return"○"}},b=(x,C,K,V)=>{y.value="card",A.value=C,E.value=K,g.value=V;const q=x.dataTransfer;q.effectAllowed="move",q.setData("text/plain",C.id)},ee=(x,C,K)=>{if(y.value!=="card")return;const V=x.currentTarget.getBoundingClientRect(),q=V.top+V.height/2,X=x.clientY<q?K:K+1;C===E.value&&(X===g.value||X===g.value+1)?(a.value=null,n.value=-1):(a.value=C,n.value=X)},oe=()=>{y.value=null,A.value=null,E.value=null,g.value=-1,a.value=null,n.value=-1},te=async(x,C,K)=>{var ue,se;const V=(se=(ue=W.value)==null?void 0:ue.lanes)==null?void 0:se.find(L=>L.id===x);if(!(V!=null&&V.cards))return;let q=K>=0?K:V.cards.length;if(q>C&&q--,q===C)return;const X=V.cards.map(L=>L.id),[pe]=X.splice(C,1);X.splice(q,0,pe);try{await i.reorderCards(m.projectId,x,X)}catch(L){console.error("Failed to reorder cards:",L)}},M=async(x,C)=>{try{await i.moveCard(m.projectId,x,C,{runOnEnterTemplate:!0})}catch(K){console.error("Failed to move card:",K)}},P=async(x,C)=>{if(x.preventDefault(),y.value!=="card"||!A.value){oe();return}const K=x.dataTransfer.getData("text/plain");if(!K){oe();return}E.value===C?await te(C,g.value,n.value):await M(K,C),oe()},T=async(x,C,K)=>{var pe,ue;const V=(ue=(pe=W.value)==null?void 0:pe.lanes)==null?void 0:ue.find(se=>se.id===x);if(!(V!=null&&V.cards))return;const q=V.cards.map(se=>se.id),[X]=q.splice(C,1);q.splice(K,0,X);try{await i.reorderCards(m.projectId,x,q)}catch(se){console.error("Failed to reorder cards:",se)}},t=async x=>{if(confirm("Remove this session from the board?"))try{await i.removeCard(m.projectId,x)}catch(C){console.error("Failed to remove card:",C)}},h=async()=>{if(u.value.trim())try{await i.createLane(m.projectId,{name:u.value.trim()}),G()}catch(x){console.error("Failed to add lane:",x)}},G=()=>{p.value=!1,u.value=""},ie=x=>{r.value=x,f.value=!0},le=()=>{f.value=!1,r.value=null},ce=()=>{},me=x=>{$.value=x,w.value=!0},he=()=>{w.value=!1,$.value=null},Se=()=>{},Fe=()=>{he()},Re=(x,C)=>{l.value=x,H.value=C,j.value=!0},O=()=>{j.value=!1,l.value=null,H.value=null},k=()=>{O()};return de(()=>m.projectId,x=>{x&&d()},{immediate:!0}),Oe(()=>{m.projectId&&d()}),(x,C)=>{var V,q,X,pe,ue,se;const K=Te("router-link");return s(),o("div",bo,[B.value?(s(),o("div",go,[...C[5]||(C[5]=[e("span",{class:"loading-spinner"},null,-1),re(" Loading board... ",-1)])])):F.value?(s(),o("div",yo,[C[6]||(C[6]=e("span",{class:"error-icon"},"!",-1)),re(" "+_(F.value)+" ",1),e("button",{class:"retry-btn",onClick:d}," Retry ")])):W.value?(s(),o("div",So,[(s(!0),o(J,null,Q(W.value.lanes,L=>{var Ee,Ce,we;return s(),o("div",{key:L.id,class:"kanban-lane",onDragover:ae(I=>{var D;return ee(I,L.id,((D=L.cards)==null?void 0:D.length)||0)},["prevent"]),onDrop:I=>P(I,L.id)},[e("div",Eo,[e("div",Co,[e("h3",wo,_(L.name),1),L.onEnterTemplateId||L.onEnterPrompt?(s(),o("span",_o,[...C[8]||(C[8]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor"},[e("path",{d:"M13 10V3L4 14h7v7l9-11h-7z"})],-1)])])):S("",!0)]),e("div",To,[e("span",jo,_(((Ee=L.cards)==null?void 0:Ee.length)||0),1),e("button",{class:"lane-settings-btn",title:"Lane settings",onClick:I=>me(L)},[...C[9]||(C[9]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("circle",{cx:"12",cy:"12",r:"3"}),e("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"})],-1)])],8,Mo)])]),e("div",Fo,[(s(!0),o(J,null,Q(L.cards,(I,D)=>{var be,Ae;return s(),o(J,{key:I.id},[y.value==="card"&&a.value===L.id&&n.value===D?(s(),o("div",Ro)):S("",!0),e("div",{class:ne(["kanban-card",{dragging:y.value==="card"&&((be=A.value)==null?void 0:be.id)===I.id}]),draggable:"true",onDragstart:ae(ke=>b(ke,I,L.id,D),["stop"]),onDragover:ae(ke=>ee(ke,L.id,D),["prevent","stop"]),onDragend:oe},[(Ae=I.sessions)!=null&&Ae[0]?(s(),Z(K,{key:0,to:`/sessions/${I.sessions[0].id}`,class:"card-link"},{default:ve(()=>[e("div",xo,[e("span",{class:ne(["card-status",`status-${I.sessions[0].status}`])},_(z(I.sessions[0].status)),3),e("h4",Lo,_(I.sessions[0].name),1)]),e("div",Bo,[I.sessions[0].mode?(s(),o("span",Do,_(I.sessions[0].mode),1)):S("",!0)])]),_:2},1032,["to"])):S("",!0),e("div",Oo,[D>0?(s(),o("button",{key:0,class:"card-reorder-btn",title:"Move card up",onClick:ae(ke=>T(L.id,D,D-1),["prevent"])},[...C[10]||(C[10]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},[e("polyline",{points:"18 15 12 9 6 15"})],-1)])],8,Po)):S("",!0),D<L.cards.length-1?(s(),o("button",{key:1,class:"card-reorder-btn",title:"Move card down",onClick:ae(ke=>T(L.id,D,D+1),["prevent"])},[...C[11]||(C[11]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},[e("polyline",{points:"6 9 12 15 18 9"})],-1)])],8,Uo)):S("",!0)]),e("button",{class:"card-move-btn",title:"Move to lane",onClick:ae(ke=>Re(I,L.id),["prevent"])},[...C[12]||(C[12]=[Pe('<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 4 19 4 19 8"></polyline><line x1="14" y1="10" x2="19" y2="4"></line><polyline points="9 20 5 20 5 16"></polyline><line x1="10" y1="14" x2="5" y2="20"></line></svg>',1)])],8,Vo),e("button",{class:"card-remove-btn",title:"Remove from board",onClick:ae(ke=>t(I.id),["prevent"])}," × ",8,Io)],42,Ao)],64)}),128)),y.value==="card"&&a.value===L.id&&n.value===(((Ce=L.cards)==null?void 0:Ce.length)||0)?(s(),o("div",No)):S("",!0),(we=L.cards)!=null&&we.length?S("",!0):(s(),o("div",Go,[...C[13]||(C[13]=[e("span",null,"Drop sessions here",-1)])]))]),e("div",Ko,[L.onEnterTemplateId?(s(),o("span",qo," Auto: triggers template on entry ")):L.onEnterPrompt?(s(),o("span",Ho," Auto: runs custom prompt on entry ")):S("",!0),e("button",{class:"add-session-btn",onClick:I=>ie(L)}," + Add Session ",8,Wo)])],40,$o)}),128)),e("div",zo,[p.value?(s(),o("div",Yo,[N(e("input",{"onUpdate:modelValue":C[1]||(C[1]=L=>u.value=L),type:"text",placeholder:"Lane name...",class:"add-lane-input",onKeyup:[Ve(h,["enter"]),Ve(G,["escape"])]},null,544),[[fe,u.value]]),e("div",{class:"add-lane-actions"},[e("button",{class:"add-lane-confirm",onClick:h}," Add "),e("button",{class:"add-lane-cancel",onClick:G}," Cancel ")])])):(s(),o("button",{key:0,class:"add-lane-btn",onClick:C[0]||(C[0]=L=>p.value=!0)}," + Add Lane "))])])):(s(),o("div",ko,[...C[7]||(C[7]=[e("p",null,"Kanban board is not available for this project.",-1)])])),Y(Ye,{"is-open":f.value,"project-id":c.projectId,"lane-id":(V=r.value)==null?void 0:V.id,"lane-name":(q=r.value)==null?void 0:q.name,"onUpdate:isOpen":C[2]||(C[2]=L=>f.value=L),onClose:le,onAdded:ce},null,8,["is-open","project-id","lane-id","lane-name"]),Y(ho,{"is-open":w.value,"project-id":c.projectId,lane:$.value,"onUpdate:isOpen":C[3]||(C[3]=L=>w.value=L),onClose:he,onUpdated:Se,onDeleted:Fe},null,8,["is-open","project-id","lane"]),Y(ot,{"is-open":j.value,"project-id":c.projectId,"card-id":(X=l.value)==null?void 0:X.id,"current-lane-id":H.value,"session-name":(se=(ue=(pe=l.value)==null?void 0:pe.sessions)==null?void 0:ue[0])==null?void 0:se.name,"onUpdate:isOpen":C[4]||(C[4]=L=>j.value=L),onClose:O,onMoved:k},null,8,["is-open","project-id","card-id","current-lane-id","session-name"])])}}},Qo={class:"container"},Xo={class:"page-header"},Zo={class:"project-title"},el=["href"],tl={class:"tabs"},sl={class:"tabs-desktop"},nl={class:"tabs-left"},ol={class:"tabs-mobile"},ll=["value"],al={key:0,value:"kanban"},rl={key:2,class:"tab-spacer"},il={key:3},dl={key:0,class:"skeleton-list"},ul={key:1,class:"error-message"},cl={key:2,class:"empty-state"},ml={key:3,class:"empty-state"},pl={key:4,class:"session-list"},vl={key:5},fl={key:6},hl={class:"modal-content lane-selector-modal"},bl={class:"modal-body"},gl={class:"modal-description"},yl={class:"lane-options"},kl=["onClick"],Sl={class:"lane-option-name"},$l={class:"lane-option-count"},El={key:0,class:"empty-lanes"},Vl={__name:"SessionListView",setup(c){const m=et(),i=Ne(),p=Ue(),u=ye(),y=je(),A=Ge();vt(),A.restoreCollapsedLogState();const E=U(()=>{switch(m.name){case"ArchivedSessions":return"archived";case"ProjectTemplates":return"templates";case"ProjectCommands":return"commands";case"ScheduledSessions":return"scheduled";case"ProjectKanban":return"kanban";default:return"sessions"}});function g(O){const k=m.params.id,x={sessions:`/projects/${k}/sessions`,archived:`/projects/${k}/archived`,templates:`/projects/${k}/templates`,commands:`/projects/${k}/commands`,scheduled:`/projects/${k}/scheduled`,kanban:`/projects/${k}/kanban`};i.push(x[O])}const a=U(()=>m.params.id),{summaries:n,loadingSummaries:f,summaryErrors:r,fetchSummariesBatch:w,retryFetchSummary:$,updateSummary:j,cleanupSummary:l}=mt(),{filteredGroupedSessions:H}=ze(),{archivedLoaded:W}=pt(a,{fetchSummariesBatch:w,updateSummary:j,cleanupSummary:l}),B=U(()=>u.scheduledSessions||[]),F=U(()=>u.loadingScheduled||!1);let d=null;de(()=>u.sessions,()=>{clearTimeout(d),d=setTimeout(()=>{w(u.sessions)},400)}),de(()=>m.name,async O=>{O==="ArchivedSessions"?await z():O==="ScheduledSessions"&&await ee()},{immediate:!0}),de(()=>u.starredFilter,async(O,k)=>{E.value==="archived"&&W.value&&O!==k&&(await u.fetchArchivedSessions(a.value,{reset:!0}),w(u.archivedSessions))});async function z(){W.value||(await u.fetchArchivedSessions(a.value,{reset:!0}),W.value=!0,w(u.archivedSessions))}async function b(){await u.loadMoreArchivedSessions(a.value),w(u.archivedSessions)}async function ee(){await u.fetchScheduledSessions(a.value)}const oe=R(!1),te=R(null),M=R(!1);function P(O){const k=u.sessions.find(x=>x.id===O);te.value=k||{id:O},oe.value=!0}async function T(O){if(te.value){M.value=!0;try{await u.archiveSession(te.value.id,{cleanup:O}),G.success("Session archived")}catch(k){G.error(k.message||"Failed to archive session")}finally{M.value=!1,oe.value=!1,te.value=null}}}function t(){oe.value=!1,te.value=null}async function h(O){try{await u.unarchiveSession(O)}catch(k){console.error("Failed to unarchive session:",k)}}const G=_e(),ie=R(!1),le=R(null),ce=R(!1),me=R(null);function he(O){me.value=O,ce.value=!0}function Se(){ce.value=!1,me.value=null}async function Fe(O){if(!(!me.value||!O))try{await y.addSessionToBoard(m.params.id,me.value.id,O.id),G.success(`Session added to "${O.name}"`),Se()}catch(k){console.error("Failed to add session to board:",k),G.error(k.message||"Failed to add session to board")}}function Re(){ie.value=!1,le.value=null}return Oe(()=>{u.restoreStatusFilter(),u.restoreStarredFilter(),u.restoreScheduledFilter();const O=m.params.id;O&&y.fetchBoard(O).catch(k=>{console.warn("Failed to fetch kanban board:",k)})}),De(()=>{clearTimeout(d)}),(O,k)=>{var C,K,V,q,X,pe,ue,se,L,Ee,Ce,we,I;const x=Te("router-link");return s(),o("div",Qo,[e("div",Xo,[e("div",null,[e("div",Zo,[e("h1",null,_(((C=v(p).currentProject)==null?void 0:C.name)||"Sessions"),1),(K=v(p).currentProject)!=null&&K.repoUrl?(s(),o("a",{key:0,href:v(p).currentProject.repoUrl,target:"_blank",rel:"noopener noreferrer",class:"repo-link",title:"Open repository"},[...k[8]||(k[8]=[e("svg",{class:"repo-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6m4-3l6 6m0 0l-6 6m6-6H9"})],-1)])],8,el)):S("",!0),Y(x,{to:`/projects/${v(m).params.id}/edit`,class:"settings-link",title:"Project settings"},{default:ve(()=>[...k[9]||(k[9]=[e("svg",{class:"settings-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M12.22 2h-.44a2 2 0 00-2 2v.18a2 2 0 01-1 1.73l-.43.25a2 2 0 01-2 0l-.15-.08a2 2 0 00-2.73.73l-.22.38a2 2 0 00.73 2.73l.15.1a2 2 0 011 1.72v.51a2 2 0 01-1 1.74l-.15.09a2 2 0 00-.73 2.73l.22.38a2 2 0 002.73.73l.15-.08a2 2 0 012 0l.43.25a2 2 0 011 1.73V20a2 2 0 002 2h.44a2 2 0 002-2v-.18a2 2 0 011-1.73l.43-.25a2 2 0 012 0l.15.08a2 2 0 002.73-.73l.22-.39a2 2 0 00-.73-2.73l-.15-.08a2 2 0 01-1-1.74v-.5a2 2 0 011-1.74l.15-.09a2 2 0 00.73-2.73l-.22-.38a2 2 0 00-2.73-.73l-.15.08a2 2 0 01-2 0l-.43-.25a2 2 0 01-1-1.73V4a2 2 0 00-2-2z"}),e("circle",{cx:"12",cy:"12",r:"3"})],-1)])]),_:1},8,["to"])])]),E.value==="sessions"?(s(),Z(x,{key:0,to:`/projects/${v(m).params.id}/sessions/new`,class:"btn btn-primary mobile-only"},{default:ve(()=>[...k[10]||(k[10]=[re(" + Session ",-1)])]),_:1},8,["to"])):S("",!0)]),e("div",tl,[e("div",sl,[e("div",nl,[e("button",{class:ne(["tab",{active:E.value==="sessions"}]),onClick:k[0]||(k[0]=D=>v(i).push(`/projects/${v(m).params.id}/sessions`))}," Sessions ",2),e("button",{class:ne(["tab",{active:E.value==="archived"}]),onClick:k[1]||(k[1]=D=>v(i).push(`/projects/${v(m).params.id}/archived`))}," Archived ",2),e("button",{class:ne(["tab",{active:E.value==="templates"}]),onClick:k[2]||(k[2]=D=>v(i).push(`/projects/${v(m).params.id}/templates`))}," Templates ",2),e("button",{class:ne(["tab",{active:E.value==="commands"}]),onClick:k[3]||(k[3]=D=>v(i).push(`/projects/${v(m).params.id}/commands`))}," Commands ",2),e("button",{class:ne(["tab",{active:E.value==="scheduled"}]),onClick:k[4]||(k[4]=D=>v(i).push(`/projects/${v(m).params.id}/scheduled`))}," Scheduled ",2),(V=v(p).currentProject)!=null&&V.kanbanEnabled?(s(),o("button",{key:0,class:ne(["tab",{active:E.value==="kanban"}]),onClick:k[5]||(k[5]=D=>v(i).push(`/projects/${v(m).params.id}/kanban`))}," Kanban ",2)):S("",!0)]),E.value==="sessions"?(s(),Z(x,{key:0,to:`/projects/${v(m).params.id}/sessions/new`,class:"btn btn-primary desktop-only","aria-label":"New Session"},{default:ve(()=>[...k[11]||(k[11]=[e("span",{class:"add-session-label-full"},"+ Session",-1),e("span",{class:"add-session-label-short"},"+",-1)])]),_:1},8,["to"])):S("",!0)]),e("div",ol,[e("select",{value:E.value,class:"tab-select",onChange:k[6]||(k[6]=D=>g(D.target.value))},[k[12]||(k[12]=Pe('<option value="sessions"> Sessions </option><option value="archived"> Archived </option><option value="templates"> Templates </option><option value="commands"> Commands </option><option value="scheduled"> Scheduled </option>',5)),(q=v(p).currentProject)!=null&&q.kanbanEnabled?(s(),o("option",al," Kanban ")):S("",!0)],40,ll)])]),E.value==="sessions"?(s(),Z(Ie,{key:0,"show-status-filters":!0,"show-scheduled-filter":!0})):E.value==="archived"?(s(),Z(Ie,{key:1,"show-status-filters":!1,"show-scheduled-filter":!1})):(s(),o("div",rl)),E.value==="sessions"?(s(),o("div",il,[v(u).loading?(s(),o("div",dl,[(s(),o(J,null,Q(3,D=>e("div",{key:D,class:"skeleton card",style:{height:"120px"}})),64))])):v(u).error?(s(),o("div",ul,_(v(u).error),1)):v(u).sessions.length===0?(s(),o("div",cl,[k[14]||(k[14]=e("p",null,"No sessions yet. Start a new session to interact with Claude.",-1)),Y(x,{to:`/projects/${v(m).params.id}/sessions/new`,class:"btn btn-primary"},{default:ve(()=>[...k[13]||(k[13]=[re(" New Session ",-1)])]),_:1},8,["to"])])):v(H).length===0?(s(),o("div",ml,[...k[15]||(k[15]=[e("p",null,"No sessions match the current filter.",-1)])])):(s(),o("div",pl,[(s(!0),o(J,null,Q(v(H),D=>{var be;return s(),Z(qe,{key:D.parent.id,session:D.parent,"show-summary":!0,summary:v(n)[D.parent.id],"summary-loading":v(f)[D.parent.id],"summary-error":v(r)[D.parent.id],"show-archive":!0,"kanban-enabled":((be=v(p).currentProject)==null?void 0:be.kanbanEnabled)??!0,"pr-url":D.parent.prUrl,"pr-summary":v(n)[D.parent.id],onRetrySummary:v($),onArchive:P,onAddToBoard:he},null,8,["session","summary","summary-loading","summary-error","kanban-enabled","pr-url","pr-summary","onRetrySummary"])}),128))]))])):S("",!0),E.value==="archived"?(s(),Z(Pt,{key:4,summaries:v(n),"loading-summaries":v(f),"summary-errors":v(r),onRetrySummary:v($),onUnarchive:h,onLoadMore:b},null,8,["summaries","loading-summaries","summary-errors","onRetrySummary"])):S("",!0),E.value==="templates"?(s(),o("div",vl,[Y(Ys,{"project-id":v(m).params.id},null,8,["project-id"])])):S("",!0),E.value==="commands"?(s(),o("div",fl,[Y(cn,{"project-id":v(m).params.id},null,8,["project-id"])])):S("",!0),E.value==="scheduled"?(s(),Z(as,{key:7,sessions:B.value,loading:F.value},null,8,["sessions","loading"])):S("",!0),E.value==="kanban"?(s(),Z(Jo,{key:8,"project-id":v(m).params.id},null,8,["project-id"])):S("",!0),Y(Ye,{"is-open":ie.value,"project-id":v(m).params.id,"lane-id":(X=le.value)==null?void 0:X.id,"lane-name":(pe=le.value)==null?void 0:pe.name,"onUpdate:isOpen":k[7]||(k[7]=D=>ie.value=D),onClose:Re},null,8,["is-open","project-id","lane-id","lane-name"]),ce.value?(s(),o("div",{key:9,class:"modal-backdrop",onClick:ae(Se,["self"])},[e("div",hl,[e("div",{class:"modal-header"},[k[16]||(k[16]=e("h2",{class:"modal-title"}," Add to Kanban Board ",-1)),e("button",{class:"close-btn","aria-label":"Close",onClick:Se}," × ")]),e("div",bl,[e("p",gl,' Select a lane to add "'+_((ue=me.value)==null?void 0:ue.name)+'" to: ',1),e("div",yl,[(s(!0),o(J,null,Q((se=v(y).board)==null?void 0:se.lanes,D=>{var be;return s(),o("button",{key:D.id,class:"lane-option-btn",onClick:Ae=>Fe(D)},[e("span",Sl,_(D.name),1),e("span",$l,_(((be=D.cards)==null?void 0:be.length)||0)+" cards",1)],8,kl)}),128))]),(Ee=(L=v(y).board)==null?void 0:L.lanes)!=null&&Ee.length?S("",!0):(s(),o("p",El," No lanes available. Go to the Kanban tab to create lanes first. "))]),e("div",{class:"modal-footer"},[e("button",{class:"btn btn-secondary",onClick:Se}," Cancel ")])])])):S("",!0),Y(lt,{"is-open":oe.value,"session-name":((Ce=te.value)==null?void 0:Ce.name)||"this session","has-cleanup-script":!!((we=v(p).currentProject)!=null&&we.onSessionDeleted&&!((I=te.value)!=null&&I.parentSessionId)),loading:M.value,onConfirm:T,onCancel:t},null,8,["is-open","session-name","has-cleanup-script","loading"])])}}};export{Vl as default};