circuschief 0.7.0 → 1.0.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 (185) hide show
  1. package/package.json +1 -1
  2. package/packages/server/src/agents/adapters/CodexAdapter.js +5 -4
  3. package/packages/server/src/api/canvas.js +22 -57
  4. package/packages/server/src/api/commandButtons.js +16 -15
  5. package/packages/server/src/api/index.js +2 -0
  6. package/packages/server/src/api/kanban.js +4 -2
  7. package/packages/server/src/api/projects-commandButtons.js +6 -6
  8. package/packages/server/src/api/projects-helpers.js +20 -3
  9. package/packages/server/src/api/projects-session-create.js +109 -0
  10. package/packages/server/src/api/projects-session-defaults.js +51 -0
  11. package/packages/server/src/api/projects-session-helpers.js +57 -5
  12. package/packages/server/src/api/projects-templates.js +38 -0
  13. package/packages/server/src/api/projects.js +28 -170
  14. package/packages/server/src/api/providers.js +11 -1
  15. package/packages/server/src/api/sessions-commands.js +46 -25
  16. package/packages/server/src/api/sessions-lifecycle.js +10 -10
  17. package/packages/server/src/api/sessions-patch.js +45 -1
  18. package/packages/server/src/api/sessions.js +6 -5
  19. package/packages/server/src/database.js +0 -2
  20. package/packages/server/src/db/DatabaseManager.js +5 -1
  21. package/packages/server/src/db/ProjectDefaultsRepository.js +3 -3
  22. package/packages/server/src/db/ProviderRepository.js +87 -32
  23. package/packages/server/src/db/SessionRepository.js +2 -1
  24. package/packages/server/src/db/SessionTemplateRepository.js +23 -2
  25. package/packages/server/src/db/index.js +0 -3
  26. package/packages/server/src/db/migrations/index.js +60 -7
  27. package/packages/server/src/db/migrations/kanbanMigrations.js +1 -1
  28. package/packages/server/src/db/migrations/miscMigrations.js +59 -184
  29. package/packages/server/src/db/migrations/projectsMigrations.js +31 -0
  30. package/packages/server/src/db/migrations/providerCommitAttributionMigrations.js +30 -0
  31. package/packages/server/src/db/migrations/providerMigrations.js +165 -0
  32. package/packages/server/src/db/migrations/sessionTableRecreate.js +136 -0
  33. package/packages/server/src/db/migrations/sessionsMigrations.js +18 -5
  34. package/packages/server/src/db/seedBaselineData.js +137 -0
  35. package/packages/server/src/db/session-helpers.js +32 -4
  36. package/packages/server/src/middleware/sessionLookup.js +81 -8
  37. package/packages/server/src/schema.sql +153 -132
  38. package/packages/server/src/scripts/backupDatabase.js +21 -0
  39. package/packages/server/src/scripts/dbUtils.js +81 -0
  40. package/packages/server/src/scripts/inspectDatabaseSchema.js +81 -0
  41. package/packages/server/src/scripts/validateDatabaseBaseline.js +212 -0
  42. package/packages/server/src/services/codexSpawnHelper.js +9 -0
  43. package/packages/server/src/services/commandButtonPrompts.js +14 -12
  44. package/packages/server/src/services/commandRunner.js +7 -1
  45. package/packages/server/src/services/e2eSpawnCapture.js +147 -0
  46. package/packages/server/src/services/gitCommitAttribution.js +150 -0
  47. package/packages/server/src/services/gitDiff.js +132 -0
  48. package/packages/server/src/services/gitRepoUrl.js +174 -0
  49. package/packages/server/src/services/gitService.js +48 -311
  50. package/packages/server/src/services/gitSessionSetup.js +11 -1
  51. package/packages/server/src/services/gitWorktree.js +127 -0
  52. package/packages/server/src/services/kanbanTriggers.js +6 -3
  53. package/packages/server/src/services/nodeSpawnHelper.js +9 -0
  54. package/packages/server/src/services/prUrlService.js +3 -3
  55. package/packages/server/src/services/queryParamBuilder.js +90 -0
  56. package/packages/server/src/services/sessionDuplicator.js +1 -5
  57. package/packages/server/src/services/sessionExecution.js +56 -108
  58. package/packages/server/src/services/sessionPrompts.js +12 -47
  59. package/packages/server/src/services/sessionProvider.js +10 -0
  60. package/packages/server/src/services/summaryService.js +5 -3
  61. package/packages/server/src/services/summaryStaleCheck.js +23 -4
  62. package/packages/server/src/services/templateTriggerService.js +3 -1
  63. package/packages/shared/src/constants.js +3 -0
  64. package/packages/shared/src/contracts/commandButtons.js +16 -2
  65. package/packages/shared/src/contracts/projects.js +2 -2
  66. package/packages/shared/src/contracts/providers.js +60 -0
  67. package/packages/shared/src/contracts/sessions.js +29 -2
  68. package/packages/shared/src/contracts/templates.js +12 -2
  69. package/packages/shared/src/types.js +1 -9
  70. package/packages/shared/src/utils.js +2 -2
  71. package/packages/web/dist/assets/{ActiveSessionsView-UJsCILDL.js → ActiveSessionsView-Cxh8mHmB.js} +1 -1
  72. package/packages/web/dist/assets/{AgentLogsView-BGFPLjLa.js → AgentLogsView-xdfI2bR6.js} +2 -2
  73. package/packages/web/dist/assets/ApiClient-DfbJwzpz.js +1 -0
  74. package/packages/web/dist/assets/ArchiveConfirmModal-DXZYdzHR.js +1 -0
  75. package/packages/web/dist/assets/ArchiveConfirmModal-DeoCVGXt.css +1 -0
  76. package/packages/web/dist/assets/CommandButtonDetailView-D8xfqLAp.js +1 -0
  77. package/packages/web/dist/assets/CommandButtonDetailView-D9zjx9ME.css +1 -0
  78. package/packages/web/dist/assets/EffortLevelSelector-D2Hdzc_8.js +1 -0
  79. package/packages/web/dist/assets/{GeneralSettingsView-DsHChEhv.js → GeneralSettingsView-sPXkLlLy.js} +1 -1
  80. package/packages/web/dist/assets/InputWithButton-B-o0DgMH.js +1 -0
  81. package/packages/web/dist/assets/{InputWithButton-cYdrEmTs.css → InputWithButton-D9HMvfR5.css} +1 -1
  82. package/packages/web/dist/assets/{InterpolationHelp-CIkOSkWX.js → InterpolationHelp-Dxn1li4l.js} +1 -1
  83. package/packages/web/dist/assets/MarkdownEditor-D4Kbb-9l.js +2 -0
  84. package/packages/web/dist/assets/ModelSelector-72C7MUH4.js +1 -0
  85. package/packages/web/dist/assets/{ModelSelector-D8hbTRIt.css → ModelSelector-BNYKujL-.css} +1 -1
  86. package/packages/web/dist/assets/NewSessionView-BR_COfgW.js +3 -0
  87. package/packages/web/dist/assets/NewSessionView-DBl7T2Xp.css +1 -0
  88. package/packages/web/dist/assets/ProjectEditView-DbqTbA0q.css +1 -0
  89. package/packages/web/dist/assets/ProjectEditView-WImU7sNd.js +1 -0
  90. package/packages/web/dist/assets/{ProjectListView-B9FuWESY.js → ProjectListView-CYmmAcBD.js} +1 -1
  91. package/packages/web/dist/assets/{ProjectNewView-D62jYlBL.js → ProjectNewView-DEhqw3Jv.js} +1 -1
  92. package/packages/web/dist/assets/ProvidersView-XZh3jkmH.js +1 -0
  93. package/packages/web/dist/assets/ProvidersView-bZemq_Rv.css +1 -0
  94. package/packages/web/dist/assets/QuickResponsesPanel-BqmnTd-D.js +1 -0
  95. package/packages/web/dist/assets/QuickResponsesPanel-dk-Rj8xx.css +1 -0
  96. package/packages/web/dist/assets/ResizableTextarea-BQNw5e0C.css +1 -0
  97. package/packages/web/dist/assets/ResizableTextarea-DpWdIAP6.js +1 -0
  98. package/packages/web/dist/assets/SessionCard-Bw77-KwD.js +1 -0
  99. package/packages/web/dist/assets/SessionDetailView-B59TEkr-.js +36 -0
  100. package/packages/web/dist/assets/SessionDetailView-CKVBnR4T.css +1 -0
  101. package/packages/web/dist/assets/{SessionFormOptions-DYUISplS.js → SessionFormOptions-hqijxc0S.js} +1 -1
  102. package/packages/web/dist/assets/SessionListView-3-xx6EVs.css +1 -0
  103. package/packages/web/dist/assets/SessionListView-DYXHM9I-.js +1 -0
  104. package/packages/web/dist/assets/{SessionLogStream-DpUE6Xsh.js → SessionLogStream-5NfVr9pF.js} +6 -6
  105. package/packages/web/dist/assets/{SettingsView-BC055tIA.js → SettingsView-DI8ncOAV.js} +1 -1
  106. package/packages/web/dist/assets/{SlashCommandWizard-DmTyNG9O.js → SlashCommandWizard-BQ_rMzn-.js} +1 -1
  107. package/packages/web/dist/assets/{SlashCommandWizard-Dn7sNaBd.css → SlashCommandWizard-DJzw3LP5.css} +1 -1
  108. package/packages/web/dist/assets/{SummarySettingsView-BgnRCwlq.js → SummarySettingsView-C2Qs35mm.js} +1 -1
  109. package/packages/web/dist/assets/TemplateDetailView-B5NI2oTR.css +1 -0
  110. package/packages/web/dist/assets/TemplateDetailView-zVkIvgtu.js +1 -0
  111. package/packages/web/dist/assets/{commandButtons-D4RPpLiu.js → commandButtons-CoU3G4zK.js} +1 -1
  112. package/packages/web/dist/assets/index-9yF1uCCA.js +1 -0
  113. package/packages/web/dist/assets/index-BKstCaYU.js +1 -0
  114. package/packages/web/dist/assets/index-BhbH7eOk.js +1 -0
  115. package/packages/web/dist/assets/{index-BGwH4Cfn.js → index-BjuRttEY.js} +3 -3
  116. package/packages/web/dist/assets/index-Bo7PdwM5.js +1 -0
  117. package/packages/web/dist/assets/index-C2QFVD7d.js +83 -0
  118. package/packages/web/dist/assets/index-C7Ww2auW.js +1 -0
  119. package/packages/web/dist/assets/index-CAGdsDh7.js +1 -0
  120. package/packages/web/dist/assets/index-CLRsVASf.js +3 -0
  121. package/packages/web/dist/assets/{index-Bn5xdGFM.js → index-CP-SxOlV.js} +1 -1
  122. package/packages/web/dist/assets/index-CslU0psO.js +1 -0
  123. package/packages/web/dist/assets/index-DI4NxaWD.js +1 -0
  124. package/packages/web/dist/assets/index-DOzONENy.js +1 -0
  125. package/packages/web/dist/assets/index-DUa7adFh.js +1 -0
  126. package/packages/web/dist/assets/index-DZBpETI5.js +1 -0
  127. package/packages/web/dist/assets/index-DsjWqc6R.js +7 -0
  128. package/packages/web/dist/assets/index-c99Bo3JV.js +1 -0
  129. package/packages/web/dist/assets/index-mT1JpxDc.js +1 -0
  130. package/packages/web/dist/assets/index-rkQx2tso.js +1 -0
  131. package/packages/web/dist/assets/{index-Cs2nxhrT.css → index-uySCcnA_.css} +1 -1
  132. package/packages/web/dist/assets/projectDefaults-B8esIcYq.js +1 -0
  133. package/packages/web/dist/assets/{projects-BUiOGmmb.js → projects-C-8PSxKi.js} +1 -1
  134. package/packages/web/dist/assets/{providers-Bh1ZiiJi.js → providers-oXifvvqN.js} +1 -1
  135. package/packages/web/dist/assets/sessions-Nq5VafSf.js +1 -0
  136. package/packages/web/dist/assets/{settings-Z4AVVmkJ.js → settings-DtpuiyT6.js} +1 -1
  137. package/packages/web/dist/index.html +2 -2
  138. package/packages/server/src/api/sessions-notes.js +0 -51
  139. package/packages/server/src/db/SessionNoteRepository.js +0 -60
  140. package/packages/web/dist/assets/ApiClient-B4YTtyY4.js +0 -1
  141. package/packages/web/dist/assets/ArchiveConfirmModal-BQ-4gI0R.css +0 -1
  142. package/packages/web/dist/assets/ArchiveConfirmModal-OFaj_uX5.js +0 -1
  143. package/packages/web/dist/assets/CommandButtonDetailView-D8S258uP.js +0 -1
  144. package/packages/web/dist/assets/CommandButtonDetailView-DBm3rzhw.css +0 -1
  145. package/packages/web/dist/assets/EffortLevelSelector-C2378L8e.js +0 -1
  146. package/packages/web/dist/assets/InputWithButton-Ci15ox0a.js +0 -1
  147. package/packages/web/dist/assets/MarkdownEditor-5-bexzUT.js +0 -2
  148. package/packages/web/dist/assets/ModelSelector-BMpR0DPr.js +0 -1
  149. package/packages/web/dist/assets/NewSessionView-BCqtIgWH.js +0 -3
  150. package/packages/web/dist/assets/NewSessionView-CUUdHkfv.css +0 -1
  151. package/packages/web/dist/assets/ProjectEditView-D9sK0fdH.css +0 -1
  152. package/packages/web/dist/assets/ProjectEditView-RFaxHhAX.js +0 -1
  153. package/packages/web/dist/assets/ProvidersView-DDKMIQWZ.js +0 -1
  154. package/packages/web/dist/assets/ProvidersView-DE82G_5W.css +0 -1
  155. package/packages/web/dist/assets/QuickResponseSettings-B8188A1D.css +0 -1
  156. package/packages/web/dist/assets/QuickResponseSettings-CDm5vwP7.js +0 -1
  157. package/packages/web/dist/assets/QuickResponsesPanel-BlFDvnZ2.css +0 -1
  158. package/packages/web/dist/assets/QuickResponsesPanel-DZ_Lre_l.js +0 -1
  159. package/packages/web/dist/assets/ResizableTextarea-DiIOEGjN.js +0 -1
  160. package/packages/web/dist/assets/ResizableTextarea-DsU3TVwF.css +0 -1
  161. package/packages/web/dist/assets/SessionCard-DmjnVYWn.js +0 -1
  162. package/packages/web/dist/assets/SessionDetailView-CL7nmfiB.js +0 -36
  163. package/packages/web/dist/assets/SessionDetailView-CupIkI7u.css +0 -1
  164. package/packages/web/dist/assets/SessionListView-BcxGz4aC.js +0 -1
  165. package/packages/web/dist/assets/SessionListView-fHlQyecX.css +0 -1
  166. package/packages/web/dist/assets/TemplateDetailView-BlhOmLUX.js +0 -1
  167. package/packages/web/dist/assets/TemplateDetailView-DT2m06W7.css +0 -1
  168. package/packages/web/dist/assets/index-4rhEeO0B.js +0 -1
  169. package/packages/web/dist/assets/index-9vb2KaAd.js +0 -1
  170. package/packages/web/dist/assets/index-B0CvZXuN.js +0 -7
  171. package/packages/web/dist/assets/index-B6G18FqB.js +0 -82
  172. package/packages/web/dist/assets/index-BUhvkAdF.js +0 -1
  173. package/packages/web/dist/assets/index-BcnkUk2o.js +0 -1
  174. package/packages/web/dist/assets/index-CNwkdB0T.js +0 -1
  175. package/packages/web/dist/assets/index-CfL84oGW.js +0 -1
  176. package/packages/web/dist/assets/index-CkmxO8Mm.js +0 -1
  177. package/packages/web/dist/assets/index-Cpy4-yv3.js +0 -1
  178. package/packages/web/dist/assets/index-CrAQJmoZ.js +0 -1
  179. package/packages/web/dist/assets/index-D6Ky9vJe.js +0 -3
  180. package/packages/web/dist/assets/index-DfrE0gAC.js +0 -1
  181. package/packages/web/dist/assets/index-KwEyz0F3.js +0 -1
  182. package/packages/web/dist/assets/index-OfCywayk.js +0 -1
  183. package/packages/web/dist/assets/index-PDesaJc6.js +0 -1
  184. package/packages/web/dist/assets/index-uB6nhSvz.js +0 -1
  185. package/packages/web/dist/assets/sessions-DH1R-NhV.js +0 -1
@@ -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-e3e564a1]{padding:1rem 0}.loading-state[data-v-e3e564a1]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem}.error-message[data-v-e3e564a1]{color:var(--color-error);padding:1rem;background-color:#f851491a;border-radius:var(--border-radius)}.empty-state[data-v-e3e564a1]{text-align:center;padding:2rem;color:var(--color-text-soft)}.changes-toolbar[data-v-e3e564a1]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.mode-toggle[data-v-e3e564a1]{display:flex;gap:.25rem;background-color:var(--color-background-soft);border-radius:4px;padding:.25rem}.toggle-button[data-v-e3e564a1]{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-e3e564a1]:hover:not(:disabled){background-color:#ffffff0d;color:var(--color-text)}.toggle-button[data-v-e3e564a1]:disabled{opacity:.6;cursor:not-allowed}.toggle-button.active[data-v-e3e564a1]{background-color:var(--color-primary);color:var(--color-background);border-color:var(--color-primary);font-weight:600}.toggle-button.active[data-v-e3e564a1]:hover:not(:disabled){background-color:var(--color-primary);filter:brightness(1.1)}.btn-link[data-v-e3e564a1]{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-e3e564a1]:hover:not(:disabled){text-decoration:underline}.btn-link[data-v-e3e564a1]:disabled{opacity:.6;cursor:not-allowed}.diff-section[data-v-e3e564a1]{margin-bottom:1.5rem}.diff-section h3[data-v-e3e564a1]{font-size:.875rem;margin-bottom:.5rem;color:var(--color-text-soft)}.local-changes-header[data-v-e3e564a1]{margin-top:1.5rem;margin-bottom:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.local-changes-header h3[data-v-e3e564a1]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-soft);margin:0}.toolbar-actions[data-v-e3e564a1]{display:flex;align-items:center;gap:.5rem}.refresh-button .loading-spinner[data-v-e3e564a1]{width:.75rem;height:.75rem;border-width:1.5px}.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-3cbd1c0c]{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-3cbd1c0c],.viewer-header-bottom[data-v-3cbd1c0c]{width:100%;display:flex;align-items:center}.viewer-header-middle[data-v-3cbd1c0c]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.breadcrumb-container[data-v-3cbd1c0c],.header-actions[data-v-3cbd1c0c]{display:flex;align-items:center;flex-shrink:0}.header-actions[data-v-3cbd1c0c]{gap:.5rem}.breadcrumb-back[data-v-3cbd1c0c]{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-3cbd1c0c]:hover{text-decoration:underline}.viewer-filename[data-v-3cbd1c0c]{font-weight:600;font-size:1rem;word-break:break-word;line-height:1.4}.viewer-meta[data-v-3cbd1c0c]{color:var(--color-text-soft);font-size:.75rem;font-weight:400}.btn-edit-toggle[data-v-3cbd1c0c]{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-3cbd1c0c]:hover{background:#22d3ee1a;border-color:var(--color-primary, #22d3ee)}.version-dropdown[data-v-3cbd1c0c]{position:relative}.version-dropdown summary[data-v-3cbd1c0c]{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-3cbd1c0c]::-webkit-details-marker{display:none}.dropdown-arrow[data-v-3cbd1c0c]{font-size:.6rem}.version-list[data-v-3cbd1c0c]{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-3cbd1c0c]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;font-size:.875rem}.version-list li[data-v-3cbd1c0c]:hover,.version-list li.active[data-v-3cbd1c0c]{background:var(--color-background-mute)}.version-number[data-v-3cbd1c0c]{font-weight:600}.version-time[data-v-3cbd1c0c]{color:var(--color-text-soft);font-size:.75rem}.version-current[data-v-3cbd1c0c]{color:var(--color-primary);font-size:.75rem}.file-menu-container[data-v-3cbd1c0c]{position:relative;display:inline-block;flex-shrink:0}.btn-menu[data-v-3cbd1c0c]{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-3cbd1c0c]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-menu[data-v-3cbd1c0c]:active{background:#ffffff26}.menu-overlay[data-v-3cbd1c0c]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.file-menu-items[data-v-3cbd1c0c]{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-3cbd1c0c]{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-3cbd1c0c]:hover,.menu-item.is-highlighted[data-v-3cbd1c0c]{background:var(--color-bg-hover, #333)}.menu-item.is-danger[data-v-3cbd1c0c]{color:var(--color-error, #f87171)}.menu-item.is-danger[data-v-3cbd1c0c]:hover{background:#f871711a}.menu-item-icon[data-v-3cbd1c0c]{font-size:1rem;flex-shrink:0}.menu-item-text[data-v-3cbd1c0c]{flex:1;font-weight:500}.menu-divider[data-v-3cbd1c0c]{height:1px;background:var(--color-border, #444);margin:.25rem 0;list-style:none}.fade-enter-active[data-v-3cbd1c0c],.fade-leave-active[data-v-3cbd1c0c]{transition:opacity .15s ease}.fade-enter-from[data-v-3cbd1c0c],.fade-leave-to[data-v-3cbd1c0c]{opacity:0}.slide-enter-active[data-v-3cbd1c0c],.slide-leave-active[data-v-3cbd1c0c]{transition:all .15s ease}.slide-enter-from[data-v-3cbd1c0c],.slide-leave-to[data-v-3cbd1c0c]{opacity:0;transform:translateY(-4px)}@media (max-width: 640px){.viewer-header[data-v-3cbd1c0c]{padding:.75rem;gap:.5rem}.viewer-header-middle[data-v-3cbd1c0c]{flex-wrap:wrap;gap:.5rem}.breadcrumb-back[data-v-3cbd1c0c]{font-size:.875rem}.viewer-filename[data-v-3cbd1c0c]{font-size:.95rem}.viewer-meta[data-v-3cbd1c0c]{font-size:.6875rem}.header-actions[data-v-3cbd1c0c]{gap:.375rem}.version-dropdown summary[data-v-3cbd1c0c]{min-height:44px;padding:.5rem .75rem}.btn-menu[data-v-3cbd1c0c]{width:44px;height:44px}.file-menu-items[data-v-3cbd1c0c]{min-width:180px}}.canvas-file-viewer[data-v-622e16b5]{display:flex;flex-direction:column}.content-loading[data-v-622e16b5]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem;color:var(--color-text-soft)}.loading-spinner[data-v-622e16b5]{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-622e16b5 .8s linear infinite}@keyframes spin-622e16b5{to{transform:rotate(360deg)}}.viewer-content[data-v-622e16b5]{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-622e16b5]{padding:0;display:flex;flex-direction:column;min-height:400px}.viewer-image[data-v-622e16b5]{max-width:100%;height:auto;border-radius:var(--border-radius)}.viewer-markdown[data-v-622e16b5]{font-size:.9375rem;line-height:1.6}.viewer-markdown-raw[data-v-622e16b5]{font-size:.8125rem;margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:var(--font-mono)}.viewer-json[data-v-622e16b5]{font-size:.8125rem;margin:0;font-family:var(--font-mono)}.viewer-text[data-v-622e16b5]{white-space:pre-wrap;font-size:.9375rem}.viewer-code[data-v-622e16b5]{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-622e16b5]{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-7d192f9a]{padding:1rem 0;min-height:200px;transition:background-color .2s,border-color .2s,opacity .3s ease}.canvas-tab.connection-stale[data-v-7d192f9a]{opacity:.5}.canvas-tab.drag-over[data-v-7d192f9a]{background-color:#58a6ff1a;border:2px dashed var(--color-primary);border-radius:var(--border-radius)}.canvas-header[data-v-7d192f9a]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.canvas-header label.disabled[data-v-7d192f9a]{opacity:.6;cursor:not-allowed;pointer-events:none}.trash-toggle[data-v-7d192f9a]{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-7d192f9a]:hover{color:var(--color-text);background:var(--color-background-soft)}.trash-count[data-v-7d192f9a]{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-7d192f9a]{color:var(--color-primary);font-weight:500}.loading-state[data-v-7d192f9a]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem}.empty-state[data-v-7d192f9a]{text-align:center;padding:2rem;color:var(--color-text-soft)}.empty-state-hint[data-v-7d192f9a]{font-size:.875rem;margin-top:.5rem;opacity:.8}.bulk-action-toolbar[data-v-7d192f9a]{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-7d192f9a]{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.toolbar-right[data-v-7d192f9a]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.toolbar-checkbox[data-v-7d192f9a]{width:18px;height:18px;cursor:pointer;flex-shrink:0;margin:0}.toolbar-checkbox[data-v-7d192f9a]:disabled{opacity:.5;cursor:not-allowed}.selection-info[data-v-7d192f9a]{color:var(--color-text);font-weight:500;font-size:.9rem;white-space:nowrap}.btn-danger[data-v-7d192f9a]{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-danger[data-v-7d192f9a]:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.btn-secondary[data-v-7d192f9a]{background-color:var(--color-background-mute);color:var(--color-text-soft);border-color:var(--color-border)}.btn-secondary[data-v-7d192f9a]:hover:not(:disabled){background-color:var(--color-background-soft);color:var(--color-text)}@media (max-width: 640px){.canvas-header[data-v-7d192f9a]{flex-wrap:wrap;gap:.5rem}.canvas-header .btn-primary[data-v-7d192f9a]{flex:1;min-height:44px}.drag-hint[data-v-7d192f9a]{display:none}.bulk-action-toolbar[data-v-7d192f9a]{flex-direction:column;align-items:stretch}.toolbar-left[data-v-7d192f9a],.toolbar-right[data-v-7d192f9a]{justify-content:center}.toolbar-right .btn[data-v-7d192f9a]{flex:1;min-height:44px}.toolbar-checkbox[data-v-7d192f9a]{width:16px;height:16px}}@media (hover: none){.drag-hint[data-v-7d192f9a]{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}.template-selector[data-v-77a4f989]{padding:1rem;background:var(--color-bg-soft);border-radius:.5rem;margin-bottom:1rem}.selector-label[data-v-77a4f989]{display:block;font-weight:500;font-size:.875rem;margin-bottom:.5rem;color:var(--color-text)}.selector-wrapper[data-v-77a4f989]{display:flex;gap:.5rem;align-items:center}.selector-wrapper .form-input[data-v-77a4f989]{flex:1}.btn-clear[data-v-77a4f989]{background:none;border:1px solid var(--color-border);border-radius:4px;padding:.5rem .75rem;cursor:pointer;color:var(--color-text-soft);font-size:.875rem;transition:all .15s}.btn-clear[data-v-77a4f989]:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-error);border-color:var(--color-error)}.btn-clear[data-v-77a4f989]:disabled{opacity:.5;cursor:not-allowed}.template-preview[data-v-77a4f989]{margin-top:.75rem;padding:.75rem;background:var(--color-background);border-radius:.375rem;border:1px solid var(--color-border)}.template-prompt-preview[data-v-77a4f989]{margin:0;font-size:.8rem;color:var(--color-text-soft);line-height:1.4;font-style:italic}.chain-indicator[data-v-77a4f989]{display:inline-block;margin-top:.5rem;font-size:.75rem;padding:.2rem .5rem;background:var(--color-warning, #f0ad4e);color:#333;border-radius:4px}.selector-help[data-v-77a4f989]{margin:.5rem 0 0;font-size:.75rem;color:var(--color-text-soft)}.saving-indicator[data-v-77a4f989]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.75rem;color:var(--color-text-soft)}@media (max-width: 480px){.template-selector[data-v-77a4f989]{padding:.75rem}.selector-wrapper[data-v-77a4f989]{flex-direction:column;align-items:stretch}.btn-clear[data-v-77a4f989]{align-self:flex-end}}.orchestration-panel[data-v-9baeb9dc]{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-9baeb9dc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:0;gap:.5rem}.panel-header.cursor-pointer[data-v-9baeb9dc]{cursor:pointer}.header-left[data-v-9baeb9dc]{display:flex;align-items:center;gap:.5rem;flex:1}.toggle-button[data-v-9baeb9dc]{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-9baeb9dc]:hover{color:var(--color-text);background:var(--color-background-mute)}.chevron-icon[data-v-9baeb9dc]{width:1rem;height:1rem;transition:transform .2s ease}.toggle-button[aria-expanded=true] .chevron-icon[data-v-9baeb9dc]{transform:rotate(180deg)}.panel-title[data-v-9baeb9dc]{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-soft);letter-spacing:.05em}.orchestration-content[data-v-9baeb9dc]{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.schedule-row[data-v-9baeb9dc]{display:flex;flex-direction:column;justify-content:flex-start}.template-row[data-v-9baeb9dc]{padding-top:.75rem;border-top:1px solid var(--color-border);margin-top:.75rem}.btn-secondary[data-v-9baeb9dc]{background-color:var(--color-background-soft);border:1px solid var(--color-border);color:var(--color-text-soft)}.btn-secondary[data-v-9baeb9dc]:hover{background-color:var(--color-background-mute)}.btn-schedule[data-v-9baeb9dc]{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-9baeb9dc]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.btn-schedule[data-v-9baeb9dc]:disabled{opacity:.5;cursor:not-allowed}.schedule-disabled-hint[data-v-9baeb9dc]{margin:.5rem 0 0;padding-top:.5rem;font-size:.75rem;color:var(--color-text-soft);font-style:italic}.auto-reschedule-row[data-v-9baeb9dc]{padding-top:.75rem;border-top:1px solid var(--color-border);margin-top:.75rem}.auto-reschedule-content[data-v-9baeb9dc]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.reschedule-icon[data-v-9baeb9dc]{font-size:1rem;flex-shrink:0}.reschedule-label[data-v-9baeb9dc]{font-size:.9rem;color:var(--color-text)}.btn-status[data-v-9baeb9dc]{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-9baeb9dc]:hover{background:#22c5ff26;border-color:#22c5ff80;color:var(--color-text)}.status-badge[data-v-9baeb9dc]{font-size:.8rem;color:var(--color-text-soft)}.edit-link[data-v-9baeb9dc]{font-size:.8rem;text-decoration:underline;opacity:.7;transition:opacity .15s}.btn-status:hover .edit-link[data-v-9baeb9dc]{opacity:1}.btn-configure[data-v-9baeb9dc]{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-9baeb9dc]:hover{background:var(--color-background-mute);border-color:#22c5ff80;color:var(--color-text)}.modal-backdrop[data-v-c6c0f463]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1250}.modal-content[data-v-c6c0f463]{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-c6c0f463]{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-c6c0f463]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-c6c0f463]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-c6c0f463]:hover{color:var(--color-text)}.modal-body[data-v-c6c0f463]{flex:1;overflow-y:auto;min-height:0;padding:1.5rem}.form-section[data-v-c6c0f463]{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.form-section[data-v-c6c0f463]:last-of-type{border-bottom:none}.section-title[data-v-c6c0f463]{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-text)}.error-message[data-v-c6c0f463]{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-c6c0f463]{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-c6c0f463]{margin-bottom:1rem}.form-label[data-v-c6c0f463]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input[data-v-c6c0f463]{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-c6c0f463]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #22c5ff1a}.form-help[data-v-c6c0f463]{margin-top:.25rem;font-size:.875rem;color:var(--color-text-soft)}.toggle-switch[data-v-c6c0f463]{display:flex;align-items:center;cursor:pointer;gap:.75rem}.toggle-switch input[data-v-c6c0f463]{display:none}.toggle-slider[data-v-c6c0f463]{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-c6c0f463]: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-c6c0f463]{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider[data-v-c6c0f463]:after{transform:translate(1.25rem)}.toggle-label[data-v-c6c0f463]{color:var(--color-text);font-weight:500}.reschedule-settings[data-v-c6c0f463]{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-c6c0f463]{margin-bottom:.75rem;font-weight:500;font-size:.95rem;color:var(--color-text)}.checkbox-option[data-v-c6c0f463]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;cursor:pointer;color:var(--color-text)}.checkbox-option input[data-v-c6c0f463]{width:1rem;height:1rem;cursor:pointer}.btn[data-v-c6c0f463]{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-c6c0f463]{background:var(--color-primary);color:#fff}.btn-primary[data-v-c6c0f463]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-c6c0f463]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-c6c0f463]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-c6c0f463]:hover{background:var(--color-background-secondary)}.modal-backdrop[data-v-41784ddc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1250}.modal-content[data-v-41784ddc]{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-41784ddc]{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-41784ddc]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-41784ddc]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-41784ddc]:hover{color:var(--color-text)}.modal-body[data-v-41784ddc]{flex:1;overflow-y:auto;min-height:0;padding:1.5rem}.error-message[data-v-41784ddc]{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-41784ddc]{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-41784ddc]{margin-bottom:1rem}.form-label[data-v-41784ddc]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input[data-v-41784ddc]{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-41784ddc]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #22c5ff1a}.form-help[data-v-41784ddc]{margin-top:.25rem;font-size:.875rem;color:var(--color-text-soft)}.toggle-switch[data-v-41784ddc]{display:flex;align-items:center;cursor:pointer;gap:.75rem}.toggle-switch input[data-v-41784ddc]{display:none}.toggle-slider[data-v-41784ddc]{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-41784ddc]: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-41784ddc]{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider[data-v-41784ddc]:after{transform:translate(1.25rem)}.toggle-label[data-v-41784ddc]{color:var(--color-text);font-weight:500}.reschedule-settings[data-v-41784ddc]{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-41784ddc]{margin-bottom:.75rem;font-weight:500;font-size:.95rem;color:var(--color-text)}.checkbox-option[data-v-41784ddc]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;cursor:pointer;color:var(--color-text)}.checkbox-option input[data-v-41784ddc]{width:1rem;height:1rem;cursor:pointer}.btn[data-v-41784ddc]{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-41784ddc]{background:var(--color-primary);color:#fff}.btn-primary[data-v-41784ddc]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-41784ddc]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-41784ddc]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-41784ddc]:hover{background:var(--color-background-secondary)}.scheduled-child-card[data-v-eb203cfe]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--border-radius, 4px);background:var(--color-background, rgba(255, 255, 255, .02))}.card-header[data-v-eb203cfe]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.session-info[data-v-eb203cfe]{flex:1;min-width:0}.session-name-link[data-v-eb203cfe]{border:none;background:none;padding:0;margin:0;cursor:pointer;text-align:left;font:inherit;color:inherit;display:block;width:100%;text-decoration:none;transition:color .2s}.session-name-link:hover .session-name[data-v-eb203cfe]{color:var(--color-primary, #22c5ff)}.session-name[data-v-eb203cfe]{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text);word-break:break-word;transition:color .2s}.status-badge[data-v-eb203cfe]{display:inline-block;padding:.25rem .5rem;border-radius:.375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.status-scheduled[data-v-eb203cfe]{background:#22c5ff33;color:#22c5ff;border:1px solid rgba(34,197,255,.3)}.timing-info[data-v-eb203cfe]{display:flex;flex-direction:column;gap:.5rem}.timing-item[data-v-eb203cfe]{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.timing-icon[data-v-eb203cfe]{font-size:1rem;flex-shrink:0}.timing-details[data-v-eb203cfe]{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.timing-text[data-v-eb203cfe]{color:var(--color-text);font-weight:500}.timing-absolute[data-v-eb203cfe]{font-size:.8125rem;color:var(--color-text-soft)}.timing-actions[data-v-eb203cfe]{display:flex;gap:.5rem;flex-shrink:0}.btn-link[data-v-eb203cfe]{background:none;border:none;cursor:pointer;font-size:.8125rem;font-weight:500;white-space:nowrap;padding:0;color:var(--color-primary)}.btn-link[data-v-eb203cfe]:hover{text-decoration:underline}.btn-link[data-v-eb203cfe]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-eb203cfe]{color:var(--color-error, #cf222e)}.session-overview[data-v-19b25116]{margin-bottom:1.5rem}.overview-header[data-v-19b25116]{margin-bottom:1rem}.overview-header h3[data-v-19b25116]{margin:0;font-size:1rem;font-weight:600}.overview-summary[data-v-19b25116]{padding:.75rem 0;border-top:1px solid var(--color-border)}.overview-summary-loading[data-v-19b25116]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-soft);font-size:.875rem}.overview-summary-empty[data-v-19b25116]{text-align:center}.overview-summary .summary-text[data-v-19b25116]{margin:0 0 .5rem;font-size:.875rem;color:var(--color-text);line-height:1.4}.summary-empty-text[data-v-19b25116]{font-size:1rem;font-weight:500;color:var(--color-text);margin:0 0 .5rem}.summary-empty-hint[data-v-19b25116]{font-size:.875rem;color:var(--color-text-soft);margin:0;line-height:1.4}.overview-metrics[data-v-19b25116]{display:flex;gap:1.5rem;padding:.75rem 0;border-top:1px solid var(--color-border)}.metric[data-v-19b25116]{display:flex;flex-direction:column;gap:.125rem}.metric-value[data-v-19b25116]{font-size:.875rem;font-weight:600;color:var(--color-text)}.metric-label[data-v-19b25116]{font-size:.6875rem;color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.05em}.loading-spinner-small[data-v-19b25116]{width:12px;height:12px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-19b25116 1s linear infinite}@keyframes spin-19b25116{to{transform:rotate(360deg)}}.status-badge[data-v-19b25116]{display:inline-block;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-badge.pr-merged[data-v-19b25116]{background:#8250df26;color:#8250df}.status-badge.pr-open[data-v-19b25116]{background:#2ea04326;color:var(--color-success)}.status-badge.pr-closed[data-v-19b25116]{background:#6e778126;color:#6e7781}.status-badge.pr-draft[data-v-19b25116]{background:#d2992226;color:var(--color-warning)}.status-badge.ci-success[data-v-19b25116]{background:#2ea04326;color:var(--color-success)}.status-badge.ci-pending[data-v-19b25116]{background:#d2992226;color:var(--color-warning)}.pr-section[data-v-19b25116]{padding-top:.75rem;border-top:1px solid var(--color-border)}.overview-pr[data-v-19b25116]{display:flex;align-items:center;gap:.75rem}.pr-warnings[data-v-19b25116]{margin-top:.5rem;padding:.5rem .75rem;background:#cf222e14;border-radius:6px;font-size:.8125rem;color:var(--color-error, #cf222e)}.warning-item[data-v-19b25116]{padding:.125rem 0}.ci-failure-list[data-v-19b25116]{margin-top:.25rem;padding-left:1rem}.ci-failure-item[data-v-19b25116]{font-size:.75rem;color:var(--color-text-secondary, #8b949e);padding:.0625rem 0}.pr-link[data-v-19b25116]{color:var(--color-primary);text-decoration:none;font-weight:500}.pr-link[data-v-19b25116]:hover{text-decoration:underline}.overview-scheduled-sessions[data-v-19b25116]{padding-top:.75rem;border-top:1px solid var(--color-border)}.scheduled-sessions-heading[data-v-19b25116]{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--color-text-soft)}.scheduled-sessions-list[data-v-19b25116]{display:flex;flex-direction:column;gap:.75rem}.scheduled-session-card[data-v-19b25116]{padding:.75rem}.summary-tab[data-v-cf71de53]{padding:1rem 0}.loading-state[data-v-cf71de53],.generating-state[data-v-cf71de53]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem}.summary-empty-state[data-v-cf71de53]{display:flex;align-items:center;justify-content:center;min-height:300px;text-align:center}.summary-empty-state-content[data-v-cf71de53]{max-width:320px}.summary-empty-state-text[data-v-cf71de53]{font-size:1rem;font-weight:500;color:var(--color-text);margin:0 0 .5rem}.summary-empty-state-hint[data-v-cf71de53]{font-size:.875rem;color:var(--color-text-soft);margin:0;line-height:1.4}.missing-summary-action[data-v-cf71de53]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;color:var(--color-text-soft)}.missing-summary-text[data-v-cf71de53]{font-size:.875rem}.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-272badcf]{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-272badcf]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.button-info[data-v-272badcf]{flex:1;display:flex;flex-direction:column;gap:.25rem}.button-label[data-v-272badcf]{font-weight:500;color:var(--color-text);font-size:1rem}.button-command[data-v-272badcf]{color:var(--color-text-soft);font-size:.85rem;font-family:var(--font-mono)}.button-actions[data-v-272badcf]{display:flex;align-items:center;gap:.75rem}.status-indicator[data-v-272badcf]{width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.status-indicator[data-v-272badcf] svg{width:.875rem;height:.875rem}.status-success[data-v-272badcf]{background-color:#3fb95033;color:var(--color-success)}.status-success[data-v-272badcf] svg{animation:pop-in-272badcf .3s ease-out}.status-error[data-v-272badcf]{background-color:#f8514933;color:var(--color-error)}.status-error[data-v-272badcf] svg{animation:shake-272badcf .4s ease-in-out}.status-running[data-v-272badcf]{background-color:#d299224d;color:#d29922;border-color:#d29922;animation:hourglass-flip-272badcf 2s ease-in-out infinite}.output-section[data-v-272badcf]{border-top:1px solid var(--color-border);padding-top:.75rem}.output-header[data-v-272badcf]{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-272badcf]:hover{background-color:#58a6ff1a}.expand-icon[data-v-272badcf]{color:var(--color-text-soft);font-size:.85rem}.output-label[data-v-272badcf]{color:var(--color-text);font-size:.9rem}.exit-code[data-v-272badcf]{color:var(--color-text-soft);font-size:.8rem;margin-left:.5rem}.output-content[data-v-272badcf]{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-272badcf]{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-272badcf]{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-272badcf]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-soft);font-size:.9rem;margin-top:.5rem}.elapsed-time[data-v-272badcf]{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text);font-weight:500;min-width:2.5rem}.spinner[data-v-272badcf]{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-272badcf .8s linear infinite}.spinner-inline[data-v-272badcf]{display:inline-block;width:.75rem;height:.75rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-272badcf .8s linear infinite;margin-right:.5rem;opacity:.8}.btn.is-loading[data-v-272badcf]{opacity:.8;position:relative}@keyframes spin-272badcf{to{transform:rotate(360deg)}}@keyframes hourglass-flip-272badcf{0%,80%{transform:rotate(0)}90%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes pop-in-272badcf{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes shake-272badcf{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@media (max-width: 640px){.button-header[data-v-272badcf]{flex-direction:column;align-items:stretch}.button-actions[data-v-272badcf]{width:100%;justify-content:space-between}.button-actions button[data-v-272badcf]{flex:1}}.commands-tab[data-v-d854d06e]{display:flex;flex-direction:column;gap:1.5rem}.tab-header[data-v-d854d06e]{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.tab-header h3[data-v-d854d06e]{margin:0;font-size:1rem;color:var(--color-text)}.loading-state[data-v-d854d06e],.empty-state[data-v-d854d06e]{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-d854d06e]{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-d854d06e]{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-d854d06e]:hover{background-color:#f8514933}.loading-state[data-v-d854d06e]{display:flex;align-items:center;justify-content:center;gap:.75rem}.empty-state[data-v-d854d06e]{display:flex;flex-direction:column;gap:1rem;align-items:center}.commands-list[data-v-d854d06e]{display:flex;flex-direction:column;gap:1.5rem}@media (max-width: 640px){.tab-header[data-v-d854d06e]{flex-direction:column;align-items:flex-start;gap:1rem}.commands-list[data-v-d854d06e]{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-564f9ea5]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.button-status-indicator[data-v-564f9ea5]{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-564f9ea5] svg{width:.875rem;height:.875rem}.button-status-indicator[data-v-564f9ea5]:hover{transform:scale(1.15);box-shadow:0 0 8px #fff3}.button-status-running[data-v-564f9ea5]{background-color:#d299224d;color:#d29922;border-color:#d29922;animation:hourglass-flip-564f9ea5 2s ease-in-out infinite}.button-status-success[data-v-564f9ea5]{background-color:#3fb9504d;color:#3fb950;border-color:#3fb950}.button-status-success[data-v-564f9ea5] svg{animation:pop-in-564f9ea5 .3s ease-out}.button-status-error[data-v-564f9ea5]{background-color:#f851494d;color:#f85149;border-color:#f85149}.button-status-error[data-v-564f9ea5] svg{animation:shake-564f9ea5 .4s ease-in-out}.button-status-killed[data-v-564f9ea5]{background-color:#f851494d;color:#f85149;border-color:#f85149}@keyframes hourglass-flip-564f9ea5{0%,80%{transform:rotate(0)}90%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes pop-in-564f9ea5{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes shake-564f9ea5{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@media (max-width: 768px){.command-status-bar[data-v-564f9ea5]{flex-wrap:wrap;gap:.5rem}.status-label[data-v-564f9ea5]{font-size:.8rem}.button-status-indicator[data-v-564f9ea5]{width:1.375rem;height:1.375rem}}.session-header[data-v-af066894]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding:0 .5rem}.session-header.is-archived[data-v-af066894]{border-left:3px solid #f59e0b;padding-left:calc(.5rem - 3px)}.session-header-row[data-v-af066894]{display:flex;align-items:center;gap:.5rem}.session-name-wrapper[data-v-af066894]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.25rem;flex:1;min-width:0}.btn-icon[data-v-af066894]{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-af066894]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-icon[data-v-af066894]:active{background:#ffffff26}.btn-star[data-v-af066894]{display:inline-flex;align-items:center;gap:.375rem}.btn-star svg[data-v-af066894]{flex-shrink:0}.btn-star.is-starred[data-v-af066894]{color:var(--color-warning, #f0ad4e)}.lane-chip[data-v-af066894]{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-af066894]{cursor:pointer;transition:background-color .15s}.lane-chip-clickable[data-v-af066894]:hover{background:#ffffff1a}.lane-chip svg[data-v-af066894]{flex-shrink:0;opacity:.7}.session-name[data-v-af066894]{margin:0;font-size:1.25rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;min-width:0}.archived-badge[data-v-af066894]{display:inline-flex;align-items:center;gap:.25rem;min-height:1.5rem;padding:.1875rem .5rem;border:1px solid rgba(245,158,11,.45);border-radius:4px;background:#f59e0b24;color:#fbbf24;font-size:.75rem;font-weight:600;line-height:1;text-transform:uppercase;white-space:nowrap}.archived-badge svg[data-v-af066894]{flex-shrink:0}.branch-pr-indicators[data-v-af066894]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.left-indicators[data-v-af066894]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1;min-width:0}@media (max-width: 768px){.session-header-row[data-v-af066894]{align-items:flex-start;min-height:auto;padding-top:.25rem}.session-name-wrapper[data-v-af066894]{grid-template-columns:minmax(0,1fr) auto;column-gap:.375rem;row-gap:.25rem}.name-edit-trigger[data-v-af066894]{grid-column:2;grid-row:1}.session-name[data-v-af066894]{font-size:1rem}.archived-badge[data-v-af066894]{grid-column:1 / -1;grid-row:2;justify-self:start;font-size:.6875rem;min-height:1.375rem}}.name-edit-form[data-v-af066894]{display:flex;align-items:center;gap:.5rem}.name-edit-input[data-v-af066894]{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-af066894]:focus{outline:none;border-color:var(--color-primary, #00bcd4)}.name-edit-input[data-v-af066894]::placeholder{color:var(--color-text-soft, #888)}.pr-edit-btn[data-v-af066894]{width:28px;height:28px;border-radius:4px}.pr-save-btn[data-v-af066894]{color:var(--color-success, #4caf50)}.pr-save-btn[data-v-af066894]:hover{background:#4caf501a}.pr-cancel-btn[data-v-af066894]{color:var(--color-text-soft, #888)}.pr-cancel-btn[data-v-af066894]:hover{background:#ffffff1a}.pr-clear-btn[data-v-af066894]{color:var(--color-error, #f44336)}.pr-clear-btn[data-v-af066894]:hover{background:#f443361a}.name-edit-trigger[data-v-af066894]{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-af066894]:hover{color:var(--color-primary, #00bcd4);background:#00bcd41a}.btn-link[data-v-af066894]{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-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-55317794]{-webkit-user-select:none;user-select:none}.tree-item-row[data-v-55317794]{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-55317794]:hover{background:var(--color-background-soft)}.tree-item-row.active[data-v-55317794]{background:#58a6ff1a;border-left:3px solid var(--color-primary);padding-left:calc(.75rem - 3px)}.tree-indent[data-v-55317794]{flex-shrink:0}.branch-indicator[data-v-55317794]{display:flex;align-items:center;color:#8b5cf6b3;flex-shrink:0}.expand-toggle[data-v-55317794]{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-55317794]:hover{background:var(--color-background-mute);color:var(--color-text)}.expand-icon[data-v-55317794]{font-size:.5rem;transition:transform .15s}.expand-icon.expanded[data-v-55317794]{transform:rotate(90deg)}.expand-placeholder[data-v-55317794]{width:16px;flex-shrink:0}.conv-name[data-v-55317794]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.conv-meta[data-v-55317794]{font-size:.75rem;color:var(--color-text-soft);white-space:nowrap;flex-shrink:0}.conv-tokens[data-v-55317794]{font-family:var(--font-mono)}.children-badge[data-v-55317794]{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-55317794]{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-55317794]{opacity:1}.delete-btn[data-v-55317794]:hover{background:var(--color-danger, #ef4444);color:#fff}.tree-children[data-v-55317794]{margin-left:.25rem;border-left:1px solid var(--color-border);padding-left:.25rem}.conversation-panel[data-v-7e3a4507]{background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:1rem}.panel-header[data-v-7e3a4507]{padding:.5rem .75rem}.header-row[data-v-7e3a4507]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.dropdown-container[data-v-7e3a4507]{position:relative;flex:1;max-width:300px}.dropdown-trigger[data-v-7e3a4507]{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-7e3a4507]:hover{border-color:var(--color-primary)}.dropdown-label[data-v-7e3a4507]{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow[data-v-7e3a4507]{font-size:.5rem;color:var(--color-text-soft);margin-left:.5rem}.dropdown-menu[data-v-7e3a4507]{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-7e3a4507]{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-7e3a4507]:hover{background:var(--color-background-mute)}.cost-label[data-v-7e3a4507]{font-size:.75rem;color:var(--color-text-soft)}.cost-value[data-v-7e3a4507]{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--color-accent, var(--color-primary))}.toggle-btn[data-v-7e3a4507]{background:none;border:none;color:var(--color-text-soft);font-size:.5rem;cursor:pointer;padding:.25rem}.toggle-btn[data-v-7e3a4507]:hover{color:var(--color-text)}.btn-new[data-v-7e3a4507]{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-7e3a4507]:hover{border-color:var(--color-primary);background:var(--color-background-soft)}@media (max-width: 480px){.btn-new[data-v-7e3a4507]{margin-left:0;flex:1 0 100%;justify-content:center}}.token-breakdown[data-v-7e3a4507]{padding:.75rem;border-top:1px solid var(--color-border)}.token-header[data-v-7e3a4507]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.token-label[data-v-7e3a4507]{font-size:.875rem;color:var(--color-text-soft)}.token-value[data-v-7e3a4507]{font-family:var(--font-mono);font-size:1.125rem;font-weight:700;color:var(--color-accent, var(--color-primary))}.token-grid[data-v-7e3a4507]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}@media (min-width: 640px){.token-grid[data-v-7e3a4507]{grid-template-columns:repeat(4,1fr)}}.token-item[data-v-7e3a4507]{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:var(--color-background);border-radius:.25rem;text-align:center}.token-type[data-v-7e3a4507]{font-size:.625rem;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:.25rem}.token-count[data-v-7e3a4507]{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-text)}.token-weight[data-v-7e3a4507]{font-size:.625rem;color:var(--color-text-soft)}.token-weighted[data-v-7e3a4507]{font-family:var(--font-mono);font-size:.625rem;color:var(--color-accent, var(--color-primary))}.breakdown-footer[data-v-7e3a4507]{display:flex;align-items:center;justify-content:flex-end}.settings-btn[data-v-7e3a4507]{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-7e3a4507]: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-7ed8f10e]{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-7ed8f10e]{background-color:#58a6ff1a;border-color:#58a6ff4d}.message-assistant[data-v-7ed8f10e]{background-color:var(--color-background-soft)}.message-system[data-v-7ed8f10e]{background-color:#8b949e1a;border-color:#8b949e4d}.message-header[data-v-7ed8f10e]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.message-role[data-v-7ed8f10e]{font-weight:600;font-size:.875rem;text-transform:capitalize}.message-timestamp[data-v-7ed8f10e]{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;line-height:1.2}.message-date[data-v-7ed8f10e],.message-time[data-v-7ed8f10e]{font-size:.75rem;color:var(--color-text-soft)}.message-model[data-v-7ed8f10e]{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-7ed8f10e]{white-space:pre-wrap;word-break:break-word}.message-content[data-v-7ed8f10e] .markdown-viewer{white-space:normal}.message-tools[data-v-7ed8f10e]{margin-top:.75rem}.message-tools details[data-v-7ed8f10e]{margin-top:.5rem}.message-tools summary[data-v-7ed8f10e]{cursor:pointer;font-size:.875rem;color:var(--color-text-soft)}.message-tools pre[data-v-7ed8f10e]{margin-top:.5rem;font-size:.75rem}.message-attachments[data-v-7ed8f10e]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.5rem;border-top:1px dashed var(--color-border)}.attachment-chip[data-v-7ed8f10e]{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-7ed8f10e]{font-size:.875rem}.attachment-name[data-v-7ed8f10e]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.attachment-size[data-v-7ed8f10e]{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)}}.token-usage-panel[data-v-1f28bdb7]{display:flex;align-items:center;gap:.5rem;position:relative}.token-display[data-v-1f28bdb7]{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}.token-display[data-v-1f28bdb7]:hover{background:var(--color-background-mute)}.token-label[data-v-1f28bdb7]{font-size:.75rem;color:var(--color-text-soft)}.token-value[data-v-1f28bdb7]{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--color-accent, var(--color-primary))}.token-value.clickable[data-v-1f28bdb7]{cursor:pointer;transition:opacity .15s}.token-value.clickable[data-v-1f28bdb7]:hover{opacity:.8}.token-breakdown[data-v-1f28bdb7]{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}.token-header[data-v-1f28bdb7]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.token-grid[data-v-1f28bdb7]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (min-width: 640px){.token-grid[data-v-1f28bdb7]{grid-template-columns:repeat(5,1fr)}}.token-item[data-v-1f28bdb7]{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:var(--color-background);border-radius:.25rem;text-align:center}.token-type[data-v-1f28bdb7]{font-size:.625rem;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:.25rem}.token-count[data-v-1f28bdb7]{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-text)}.messages[data-v-87b2eefd]{padding:.25rem 0;position:relative;max-height:65vh;overflow-y:auto;scroll-behavior:smooth}.conversation-controls-row[data-v-87b2eefd]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem 0;position:relative;min-height:32px}.conversation-scroll-actions[data-v-87b2eefd]{display:flex;align-items:center;gap:.5rem}.conversation-scroll-btn[data-v-87b2eefd]{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;min-width:44px;min-height:44px;line-height:1}.conversation-scroll-btn[data-v-87b2eefd]:hover{background:#374151f2;color:#d1d5db}.conversation-scroll-btn[data-v-87b2eefd]:active{transform:scale(.95)}.scroll-to-claude-btn[data-v-87b2eefd]{font-size:1rem;white-space:nowrap;font-weight:500}@media (min-width: 1200px){.messages[data-v-87b2eefd]{max-height:70vh}}@media (max-height: 700px){.messages[data-v-87b2eefd]{max-height:50vh}}@media (max-height: 500px){.messages[data-v-87b2eefd]{max-height:40vh}}@media (max-width: 600px){.conversation-scroll-btn[data-v-87b2eefd]{padding:.5rem .75rem;min-width:44px;min-height:44px}}.input-form[data-v-d652e93e]{display:flex;flex-direction:column;gap:.5rem}.input-form textarea[data-v-d652e93e]{width:100%}.session-overlay-keyboard-spacer[data-v-d652e93e]{flex:0 0 0;height:0;pointer-events:none}.input-controls[data-v-d652e93e]{display:flex;align-items:center;gap:1rem}.session-options[data-v-d652e93e]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;flex:1}.thinking-toggle[data-v-d652e93e]{display:flex;align-items:center;gap:.5rem}.toggle-label[data-v-d652e93e]{font-size:.875rem;color:var(--color-text-soft)}.mode-switcher[data-v-d652e93e]{display:flex;align-items:center;gap:.5rem}.toggle-switch[data-v-d652e93e]{position:relative;display:inline-block;width:40px;height:22px}.toggle-switch input[data-v-d652e93e]{opacity:0;width:0;height:0}.toggle-slider[data-v-d652e93e]{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-d652e93e]: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-d652e93e]{background-color:var(--color-primary);border-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider[data-v-d652e93e]:before{transform:translate(18px);background-color:#fff}.toggle-switch input:disabled+.toggle-slider[data-v-d652e93e]{opacity:.5;cursor:not-allowed}.auto-send-row[data-v-d652e93e]{padding:.5rem 0}.auto-send-label[data-v-d652e93e]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--color-text-soft, #9ca3af)}.auto-send-checkbox[data-v-d652e93e]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--color-primary, #06b6d4)}.auto-send-text[data-v-d652e93e]{-webkit-user-select:none;user-select:none}.send-button-row[data-v-d652e93e]{padding-top:.75rem;margin-bottom:14px;display:flex;justify-content:center}.btn-send-full[data-v-d652e93e]{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-d652e93e]{width:100%}@media (max-width: 600px){.input-controls[data-v-d652e93e]{flex-wrap:wrap}.session-options[data-v-d652e93e]{width:100%;justify-content:flex-start}}@media (max-width: 400px){.mode-label[data-v-d652e93e]{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-99a76c95]{border-top:1px solid var(--color-border);padding-top:1rem}.running-header[data-v-99a76c95]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.running-status[data-v-99a76c95]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-soft);font-size:.875rem}.running-title[data-v-99a76c95]{font-weight:500}.btn-stop[data-v-99a76c95]{min-height:36px;padding:.5rem 1rem;font-size:.875rem;flex-shrink:0}.running-actions[data-v-99a76c95]{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.running-model-label[data-v-99a76c95]{font-size:.75rem;color:var(--color-text-soft, #888);white-space:nowrap}.template-pending[data-v-99a76c95]{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-99a76c95]{color:var(--color-text-soft);font-weight:500}.template-pending-link[data-v-99a76c95]{color:var(--color-accent);text-decoration:none;font-weight:500;transition:color .15s}.template-pending-link[data-v-99a76c95]:hover{color:var(--color-accent);text-decoration:underline}.template-pending-description[data-v-99a76c95]{color:var(--color-text-soft);font-size:.75rem;font-style:italic}@media (max-width: 360px){.running-title[data-v-99a76c95]{display:none}}.modal-backdrop[data-v-306c39ee]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1250}.modal-content[data-v-306c39ee]{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-306c39ee]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title[data-v-306c39ee]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-306c39ee]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-306c39ee]:hover{color:var(--color-text)}.modal-body[data-v-306c39ee]{padding:1.5rem}.modal-footer[data-v-306c39ee]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.form-group[data-v-306c39ee]{margin-bottom:1rem}.form-label[data-v-306c39ee]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input[data-v-306c39ee]{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-306c39ee]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #22c5ff1a}textarea.form-input[data-v-306c39ee]{resize:vertical;min-height:80px}.form-help[data-v-306c39ee]{margin-top:.25rem;font-size:.875rem;color:var(--color-text-soft)}.btn[data-v-306c39ee]{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-306c39ee]{background:var(--color-primary);color:#fff}.btn-primary[data-v-306c39ee]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-306c39ee]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-306c39ee]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-306c39ee]:hover{background:var(--color-background-secondary)}.scheduling-info[data-v-308bc556]{border-radius:var(--border-radius, 6px);padding:1.5rem;margin-bottom:1rem}.scheduled-panel[data-v-308bc556]{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-308bc556]{margin-bottom:1rem}.configure-btn[data-v-308bc556]{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-308bc556]:hover{background:#22c5ff14;border-color:#22c5ff80;color:var(--color-text)}.configure-icon[data-v-308bc556]{font-size:1rem;opacity:.7}.configure-btn:hover .configure-icon[data-v-308bc556]{opacity:1}.configure-text[data-v-308bc556]{flex:1;text-align:left}.configure-arrow[data-v-308bc556]{opacity:.5;transition:transform .2s ease,opacity .2s ease}.configure-btn:hover .configure-arrow[data-v-308bc556]{opacity:1;transform:translate(2px)}.info-header[data-v-308bc556]{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.info-icon[data-v-308bc556]{font-size:1.5rem;flex-shrink:0}.info-title[data-v-308bc556]{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text);flex:1}.info-content[data-v-308bc556]{display:flex;flex-direction:column;gap:1rem}.countdown-section[data-v-308bc556]{background:var(--color-background, rgba(255, 255, 255, .05));padding:1rem;border-radius:var(--border-radius, 4px)}.countdown-text[data-v-308bc556]{margin:0 0 .25rem;font-size:1rem;color:var(--color-text);line-height:1.4}.countdown-text strong[data-v-308bc556]{color:var(--color-primary);font-weight:600}.absolute-time[data-v-308bc556]{margin:0;font-size:.875rem;color:var(--color-text-soft)}.reschedule-info[data-v-308bc556]{display:flex;flex-direction:column;gap:.5rem}.reschedule-badge[data-v-308bc556]{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-308bc556]{font-size:1rem}.badge-label[data-v-308bc556]{font-size:.875rem;color:var(--color-text);font-weight:500}.actions[data-v-308bc556]{display:flex;gap:.75rem;flex-wrap:wrap}.btn[data-v-308bc556]{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-308bc556]{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.btn-primary[data-v-308bc556]:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 8px #22c5ff33}.btn-primary[data-v-308bc556]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-308bc556]{background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary[data-v-308bc556]:hover{background:var(--color-background-secondary)}.btn-danger[data-v-308bc556]{background:var(--color-error, #dc2626);color:#fff;border:1px solid var(--color-error, #dc2626)}.btn-danger[data-v-308bc556]:hover:not(:disabled){opacity:.9}.btn-danger[data-v-308bc556]:disabled{opacity:.6;cursor:not-allowed}.btn-sm[data-v-308bc556]{padding:.5rem 1rem;font-size:.85rem}@media (max-width: 640px){.scheduling-info[data-v-308bc556]{padding:1rem}.info-header[data-v-308bc556]{gap:.5rem;margin-bottom:1rem}.info-icon[data-v-308bc556]{font-size:1.25rem}.info-title[data-v-308bc556]{font-size:1rem}}.conversation-tab[data-v-61dbb7cf]{display:flex;flex-direction:column;transition:opacity .3s ease}.conversation-tab.connection-stale[data-v-61dbb7cf]{opacity:.5}.session-chat-picker[data-v-bd13f78d]{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-bd13f78d]{padding:.5rem;border-radius:var(--border-radius, 6px);cursor:pointer;transition:background-color .15s}.picker-item[data-v-bd13f78d]:hover{background-color:#ffffff0d}.picker-item--active[data-v-bd13f78d]{background-color:#374151}.picker-item[data-v-bd13f78d]:focus-visible{outline:2px solid var(--color-primary, #06b6d4);outline-offset:-2px}.picker-item-label[data-v-bd13f78d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.picker-item-role[data-v-bd13f78d]{font-size:.65rem;font-weight:600;color:var(--color-text-soft, #9ca3af);letter-spacing:.05em}.picker-item-status[data-v-bd13f78d]{font-size:.7rem;display:inline-flex;align-items:center;gap:.25rem}.picker-item-status.status-running[data-v-bd13f78d],.picker-item-status.status-starting[data-v-bd13f78d]{color:var(--color-success, #3fb950)}.picker-item-status.status-scheduled[data-v-bd13f78d]{color:var(--color-primary, #06b6d4)}.picker-item-name[data-v-bd13f78d]{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-bd13f78d]{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-text-soft, #9ca3af)}.picker-item-summary[data-v-bd13f78d]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.picker-item-date[data-v-bd13f78d]{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-1137f0f8]{position:fixed;top:0;right:0;bottom:0;left:0;min-height:100vh;min-height:100dvh;z-index:1200;background:#111827;display:block;overflow:hidden;overflow-y:hidden;overscroll-behavior:none}.overlay-panel-wrapper[data-v-1137f0f8]{position:absolute;inset:0 0 0 auto;height:100%;min-height:100%;min-height:100dvh;display:flex;max-width:900px;width:100%;overflow:visible;overscroll-behavior:none}.overlay-close-handle[data-v-1137f0f8]{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-1137f0f8]:hover{background:#0891b2b3}.overlay-close-handle[data-v-1137f0f8]:focus-visible{outline:2px solid var(--color-primary, #06b6d4);outline-offset:2px}.overlay-close-handle .handle-icon[data-v-1137f0f8]{color:var(--color-text-soft, #9ca3af);transition:color .2s ease}.overlay-close-handle:hover .handle-icon[data-v-1137f0f8]{color:#fff}.overlay-close-handle .active-spinner[data-v-1137f0f8]{width:.75rem;height:.75rem;border:2px solid rgba(6,182,212,.3);border-top-color:#06b6d4;border-radius:50%;animation:spin-1137f0f8 .8s linear infinite}@keyframes spin-1137f0f8{to{transform:rotate(360deg)}}.overlay-content[data-v-1137f0f8]{flex:1;width:100%;min-height:100%;min-height:100dvh;display:flex;flex-direction:column;overflow:clip;padding:0;box-shadow:-4px 0 20px #00000080;position:relative;background:#111827}.overlay-body[data-v-1137f0f8]{padding:0 1rem;padding-bottom:max(0px,env(safe-area-inset-bottom));flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#111827}.overlay-header[data-v-1137f0f8]{--overlay-header-base-padding-top: .75rem;position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;gap:.375rem;padding:var(--overlay-header-base-padding-top) 1rem .375rem;padding-top:calc(max(var(--overlay-header-base-padding-top),env(safe-area-inset-top)) + var(--session-overlay-top-chrome-inset, 0px));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-1137f0f8]{display:flex;align-items:center;width:100%;min-width:0}.overlay-header-selector[data-v-1137f0f8]{position:relative}.overlay-header-actions[data-v-1137f0f8]{justify-content:space-between}.overlay-root-name[data-v-1137f0f8]{font-size:1rem;font-weight:600;color:var(--color-primary, #06b6d4);word-break:break-word}.dropdown-trigger[data-v-1137f0f8]{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-1137f0f8]:hover{background:#ffffff1a}.dropdown-name[data-v-1137f0f8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-chevron[data-v-1137f0f8]{color:var(--color-text-soft, #9ca3af);margin-left:.5rem;flex-shrink:0}.session-chat-overlay[data-v-1137f0f8] .messages{max-height:none!important;overflow-y:visible!important;flex:1}.session-chat-overlay[data-v-1137f0f8] .conversation-controls-row{position:sticky;bottom:0;z-index:10;background:#111827;pointer-events:none}.session-chat-overlay[data-v-1137f0f8] .conversation-controls-row>*{pointer-events:auto}.session-chat-overlay--composer-focused[data-v-1137f0f8] .session-overlay-keyboard-spacer{flex-basis:var(--session-overlay-keyboard-bottom-inset, 0px);height:var(--session-overlay-keyboard-bottom-inset, 0px)}@media (max-width: 768px){.overlay-body[data-v-1137f0f8]{padding-left:.5rem;padding-right:.5rem}.overlay-header[data-v-1137f0f8]{--overlay-header-base-padding-top: 1rem;padding-right:.5rem;padding-bottom:.375rem;padding-left:.5rem}}@media (min-width: 769px) and (max-width: 1024px){.overlay-panel-wrapper[data-v-1137f0f8]{max-width:700px}}.session-name-wrapper[data-v-1137f0f8]{display:inline-flex;align-items:center;gap:.25rem;flex:1;min-width:0}.name-edit-form[data-v-1137f0f8]{display:flex;align-items:center;gap:.5rem;flex:1}.name-edit-input[data-v-1137f0f8]{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-1137f0f8]:focus{outline:none;border-color:var(--color-primary, #00bcd4)}.name-edit-input[data-v-1137f0f8]::placeholder{color:var(--color-text-soft, #888)}.btn-icon[data-v-1137f0f8]{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-1137f0f8]:hover{background:#ffffff1a;color:var(--color-text, #ccc)}.btn-icon[data-v-1137f0f8]:active{background:#ffffff26}.pr-edit-btn[data-v-1137f0f8]{width:28px;height:28px}.pr-save-btn[data-v-1137f0f8]{color:var(--color-success, #4caf50)}.pr-save-btn[data-v-1137f0f8]:hover{background:#4caf501a}.pr-cancel-btn[data-v-1137f0f8]{color:var(--color-text-soft, #888)}.pr-cancel-btn[data-v-1137f0f8]:hover{background:#ffffff1a}.pr-clear-btn[data-v-1137f0f8]{color:var(--color-error, #f44336)}.pr-clear-btn[data-v-1137f0f8]:hover{background:#f443361a}.name-edit-trigger[data-v-1137f0f8]{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-1137f0f8]:hover{color:var(--color-primary, #00bcd4);background:#00bcd41a}.add-session-btn[data-v-1137f0f8]{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-1137f0f8]:hover:not(:disabled){background:#06b6d41a;color:var(--color-primary, #06b6d4);border-color:#06b6d44d}.add-session-btn[data-v-1137f0f8]:disabled{opacity:.5;cursor:not-allowed}.btn-link[data-v-1137f0f8]{background:none;border:none;cursor:pointer}.back-to-sessions-link[data-v-1137f0f8]{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-1137f0f8]:hover{color:var(--color-primary, #06b6d4);background:#06b6d41a}.back-to-sessions-text[data-v-1137f0f8]{font-size:.8125rem;margin-left:.25rem}.loading-state[data-v-a4a63c33]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:3rem}.tab-content[data-v-a4a63c33]{min-height:400px}.delete-overlay[data-v-a4a63c33]{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-a4a63c33]{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--color-text, #e0e0e0);font-size:1.125rem}.delete-spinner[data-v-a4a63c33]{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-a4a63c33 .8s linear infinite}@keyframes spin-a4a63c33{to{transform:rotate(360deg)}}.fade-enter-active[data-v-a4a63c33],.fade-leave-active[data-v-a4a63c33]{transition:opacity .2s ease}.fade-enter-from[data-v-a4a63c33],.fade-leave-to[data-v-a4a63c33]{opacity:0}
@@ -1 +1 @@
1
- import{M as T}from"./ModelSelector-BMpR0DPr.js";import{M as w,u as M}from"./SlashCommandWizard-DmTyNG9O.js";import{E as V}from"./EffortLevelSelector-C2378L8e.js";import{_ as B,o as C,a as g,c as v,b as t,d as p,E as c,i as L,n as b,x as a}from"./index-B6G18FqB.js";const $={class:"form-group"},U={class:"options-row"},N={class:"mode-selector-wrapper"},O={class:"model-selector-wrapper"},x=["title"],D=["title"],F={class:"field-with-badge"},R={class:"toggle-switch"},z=["checked","disabled"],A={key:0,class:"thinking-toggle"},j={class:"field-with-badge"},q={class:"toggle-switch"},G=["checked"],H={__name:"SessionFormOptions",props:{mode:{type:String,default:"yolo"},model:{type:String,default:null},providerId:{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(s){const i=s,{getModelInfo:m,fetchAgentCapabilities:h}=M(),d=b(!1),f=b(0);C(async()=>{await h(),d.value=!0,f.value+=1});const n=a(()=>(f.value<0,m(i.model))),k=a(()=>i.model?n.value.agentType==="codex":!1),y=a(()=>{var l;return d.value?((l=n.value.capabilities)==null?void 0:l.thinking)===!0:!1}),I=a(()=>{var l;return d.value?((l=n.value.capabilities)==null?void 0:l.reasoningEffort)===!0:!1}),r=a(()=>k.value||!y.value),u=a(()=>!I.value),S=a(()=>r.value?"Thinking toggle is not supported for this agent":""),E=a(()=>u.value?"Reasoning effort is not supported for this agent":"");return(l,e)=>(g(),v("div",$,[e[10]||(e[10]=t("label",{class:"form-label"},"Options",-1)),t("div",U,[t("div",N,[p(w,{"model-value":s.mode,"onUpdate:modelValue":e[0]||(e[0]=o=>l.$emit("update:mode",o))},null,8,["model-value"])]),t("div",O,[p(T,{"model-value":s.model,"provider-id":s.providerId,"onUpdate:modelValue":e[1]||(e[1]=o=>l.$emit("update:model",o)),"onUpdate:providerId":e[2]||(e[2]=o=>l.$emit("update:providerId",o))},null,8,["model-value","provider-id"])]),t("div",{class:c(["effort-selector-wrapper",{"option-disabled":u.value}]),title:E.value},[p(V,{"model-value":s.effortLevel,disabled:u.value,"onUpdate:modelValue":e[3]||(e[3]=o=>l.$emit("update:effortLevel",o))},null,8,["model-value","disabled"])],10,x),t("div",{class:c(["thinking-toggle",{"option-disabled":r.value}]),title:S.value},[t("div",F,[t("label",R,[t("input",{type:"checkbox",checked:s.thinkingEnabled,disabled:r.value,onChange:e[4]||(e[4]=o=>l.$emit("update:thinkingEnabled",o.target.checked))},null,40,z),e[6]||(e[6]=t("span",{class:"toggle-slider"},null,-1))]),e[7]||(e[7]=t("span",{class:"toggle-label"},"Enable Thinking",-1))])],10,D),s.hideStartImmediately?L("",!0):(g(),v("div",A,[t("div",j,[t("label",q,[t("input",{type:"checkbox",checked:s.startImmediately,onChange:e[5]||(e[5]=o=>l.$emit("update:startImmediately",o.target.checked))},null,40,G),e[8]||(e[8]=t("span",{class:"toggle-slider"},null,-1))]),e[9]||(e[9]=t("span",{class:"toggle-label"},"Start Immediately",-1))])]))])]))}},W=B(H,[["__scopeId","data-v-76871ccb"]]);export{W as S};
1
+ import{M as T}from"./ModelSelector-72C7MUH4.js";import{M as w,u as M}from"./SlashCommandWizard-BQ_rMzn-.js";import{E as V}from"./EffortLevelSelector-D2Hdzc_8.js";import{_ as B,o as C,a as g,c as v,b as t,d as p,J as c,i as L,n as b,z as a}from"./index-C2QFVD7d.js";const $={class:"form-group"},U={class:"options-row"},N={class:"mode-selector-wrapper"},O={class:"model-selector-wrapper"},z=["title"],D=["title"],F={class:"field-with-badge"},R={class:"toggle-switch"},x=["checked","disabled"],A={key:0,class:"thinking-toggle"},J={class:"field-with-badge"},j={class:"toggle-switch"},q=["checked"],G={__name:"SessionFormOptions",props:{mode:{type:String,default:"yolo"},model:{type:String,default:null},providerId:{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(s){const i=s,{getModelInfo:m,fetchAgentCapabilities:h}=M(),d=b(!1),f=b(0);C(async()=>{await h(),d.value=!0,f.value+=1});const n=a(()=>(f.value<0,m(i.model))),k=a(()=>i.model?n.value.agentType==="codex":!1),y=a(()=>{var l;return d.value?((l=n.value.capabilities)==null?void 0:l.thinking)===!0:!1}),I=a(()=>{var l;return d.value?((l=n.value.capabilities)==null?void 0:l.reasoningEffort)===!0:!1}),r=a(()=>k.value||!y.value),u=a(()=>!I.value),S=a(()=>r.value?"Thinking toggle is not supported for this agent":""),E=a(()=>u.value?"Reasoning effort is not supported for this agent":"");return(l,e)=>(g(),v("div",$,[e[10]||(e[10]=t("label",{class:"form-label"},"Options",-1)),t("div",U,[t("div",N,[p(w,{"model-value":s.mode,"onUpdate:modelValue":e[0]||(e[0]=o=>l.$emit("update:mode",o))},null,8,["model-value"])]),t("div",O,[p(T,{"model-value":s.model,"provider-id":s.providerId,"onUpdate:modelValue":e[1]||(e[1]=o=>l.$emit("update:model",o)),"onUpdate:providerId":e[2]||(e[2]=o=>l.$emit("update:providerId",o))},null,8,["model-value","provider-id"])]),t("div",{class:c(["effort-selector-wrapper",{"option-disabled":u.value}]),title:E.value},[p(V,{"model-value":s.effortLevel,disabled:u.value,"onUpdate:modelValue":e[3]||(e[3]=o=>l.$emit("update:effortLevel",o))},null,8,["model-value","disabled"])],10,z),t("div",{class:c(["thinking-toggle",{"option-disabled":r.value}]),title:S.value},[t("div",F,[t("label",R,[t("input",{type:"checkbox",checked:s.thinkingEnabled,disabled:r.value,onChange:e[4]||(e[4]=o=>l.$emit("update:thinkingEnabled",o.target.checked))},null,40,x),e[6]||(e[6]=t("span",{class:"toggle-slider"},null,-1))]),e[7]||(e[7]=t("span",{class:"toggle-label"},"Enable Thinking",-1))])],10,D),s.hideStartImmediately?L("",!0):(g(),v("div",A,[t("div",J,[t("label",j,[t("input",{type:"checkbox",checked:s.startImmediately,onChange:e[5]||(e[5]=o=>l.$emit("update:startImmediately",o.target.checked))},null,40,q),e[8]||(e[8]=t("span",{class:"toggle-slider"},null,-1))]),e[9]||(e[9]=t("span",{class:"toggle-label"},"Start Immediately",-1))])]))])]))}},W=B(G,[["__scopeId","data-v-76871ccb"]]);export{W as S};
@@ -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}.template-card[data-v-22bb29b6]{padding:1rem;text-decoration:none;color:inherit;display:block;transition:transform .15s ease,box-shadow .15s ease}.template-card[data-v-22bb29b6]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.template-header[data-v-22bb29b6]{margin-bottom:.5rem}.template-name[data-v-22bb29b6]{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.template-prompt[data-v-22bb29b6]{margin:0 0 .75rem;font-size:.875rem;color:var(--color-text-soft);line-height:1.4}.template-meta[data-v-22bb29b6]{display:flex;flex-wrap:wrap;gap:.5rem}.meta-badge[data-v-22bb29b6]{font-size:.7rem;padding:.15rem .4rem;background:var(--color-bg-soft);border-radius:4px;color:var(--color-text-soft)}.meta-badge-global[data-v-22bb29b6]{background:var(--color-primary);color:#fff}.meta-badge-chain[data-v-22bb29b6]{background:var(--color-warning, #f0ad4e);color:#333}.templates-panel[data-v-2c161e09]{padding:1rem 0}.templates-header[data-v-2c161e09]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.templates-header h2[data-v-2c161e09]{margin:0;font-size:1.25rem}.template-form[data-v-2c161e09]{margin-bottom:1.5rem}.template-form h3[data-v-2c161e09]{margin:0 0 1rem;font-size:1rem}.form-group[data-v-2c161e09]{margin-bottom:1rem}.form-label[data-v-2c161e09]{display:block;margin-bottom:.25rem;font-weight:500;font-size:.875rem}.form-help[data-v-2c161e09]{margin:.25rem 0 0;font-size:.75rem;color:var(--color-text-soft)}.form-help code[data-v-2c161e09]{background:var(--color-bg-soft);padding:.1rem .3rem;border-radius:3px;font-size:.7rem}.form-check[data-v-2c161e09]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.form-check input[data-v-2c161e09]{cursor:pointer}.form-row[data-v-2c161e09]{display:flex;gap:1rem}.form-actions[data-v-2c161e09]{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.loading-state[data-v-2c161e09]{display:flex;align-items:center;gap:.5rem;justify-content:center;padding:2rem}.template-section[data-v-2c161e09]{margin-bottom:1.5rem}.section-title[data-v-2c161e09]{font-size:.875rem;color:var(--color-text-soft);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.templates-list[data-v-2c161e09]{display:flex;flex-direction:column;gap:.75rem}.empty-state[data-v-2c161e09]{text-align:center;padding:2rem;color:var(--color-text-soft)}.empty-state p[data-v-2c161e09]{margin-bottom:1rem}.btn-sm[data-v-2c161e09]{padding:.35rem .75rem;font-size:.875rem}@media (max-width: 480px){.templates-header[data-v-2c161e09]{flex-direction:column;align-items:flex-start;gap:.75rem}.form-row[data-v-2c161e09]{flex-direction:column}}.command-buttons-panel[data-v-cbd58f30]{display:flex;flex-direction:column;gap:1rem}.panel-header[data-v-cbd58f30]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-header h3[data-v-cbd58f30]{margin:0;font-size:1.25rem;color:var(--color-text)}.loading-state[data-v-cbd58f30],.error-message[data-v-cbd58f30],.empty-state[data-v-cbd58f30]{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-cbd58f30]{color:var(--color-error);background-color:#f851491a}.loading-state[data-v-cbd58f30]{display:flex;align-items:center;justify-content:center;gap:.75rem}.empty-state[data-v-cbd58f30]{display:flex;flex-direction:column;gap:1rem;align-items:center}.buttons-table[data-v-cbd58f30]{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.table-header[data-v-cbd58f30]{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-cbd58f30]{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-cbd58f30]:last-child{border-bottom:none}.table-row[data-v-cbd58f30]:hover{background-color:var(--color-background-soft)}.col-label[data-v-cbd58f30]{color:var(--color-text);font-weight:500;word-break:break-word}.col-command[data-v-cbd58f30]{color:var(--color-text-soft);font-size:.875rem;word-break:break-all}.col-command code[data-v-cbd58f30]{background-color:#0003;padding:.25rem .5rem;border-radius:3px;font-family:var(--font-mono);font-size:.8rem}.col-order[data-v-cbd58f30]{color:var(--color-text-soft);font-size:.875rem}.col-actions[data-v-cbd58f30]{display:flex;justify-content:flex-end}.modal-overlay[data-v-cbd58f30]{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-cbd58f30]{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-cbd58f30]{padding:1rem;border-bottom:1px solid var(--color-border)}.modal-header h4[data-v-cbd58f30]{margin:0;color:var(--color-text)}.modal-body[data-v-cbd58f30]{padding:1.5rem 1rem;color:var(--color-text-soft)}.modal-footer[data-v-cbd58f30]{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-cbd58f30],.table-row[data-v-cbd58f30]{grid-template-columns:1fr;gap:.5rem}.col-label[data-v-cbd58f30]:before{content:"Label: ";font-weight:700;color:var(--color-text-soft)}.col-command[data-v-cbd58f30]:before{content:"Command: ";font-weight:700;color:var(--color-text-soft)}.col-order[data-v-cbd58f30]:before{content:"Order: ";font-weight:700;color:var(--color-text-soft)}.col-actions[data-v-cbd58f30]:before{content:"Actions: ";font-weight:700;color:var(--color-text-soft)}.col-label[data-v-cbd58f30],.col-command[data-v-cbd58f30],.col-order[data-v-cbd58f30],.col-actions[data-v-cbd58f30]{display:block}}.modal-backdrop[data-v-ab9b7c57]{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-ab9b7c57]{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-ab9b7c57]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title[data-v-ab9b7c57]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-ab9b7c57]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-ab9b7c57]:hover{color:var(--color-text)}.modal-body[data-v-ab9b7c57]{padding:1.5rem;flex:1;overflow-y:auto}.modal-footer[data-v-ab9b7c57]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.form-group[data-v-ab9b7c57]{margin-bottom:1rem}.form-label[data-v-ab9b7c57]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input[data-v-ab9b7c57]{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-ab9b7c57]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #22c5ff1a}.sessions-list[data-v-ab9b7c57]{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:.25rem}.loading-state[data-v-ab9b7c57],.empty-state[data-v-ab9b7c57]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--color-text-soft)}.session-item[data-v-ab9b7c57]{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-ab9b7c57]:last-child{border-bottom:none}.session-item[data-v-ab9b7c57]:hover{background:var(--color-bg-soft)}.session-item.selected[data-v-ab9b7c57]{background:#22c5ff1a;border-color:var(--color-primary)}.session-status[data-v-ab9b7c57]{flex-shrink:0;font-size:.875rem;line-height:1.5}.session-status.status-running[data-v-ab9b7c57],.session-status.status-starting[data-v-ab9b7c57]{color:#10b981}.session-status.status-waiting[data-v-ab9b7c57]{color:#f59e0b}.session-status.status-completed[data-v-ab9b7c57]{color:#3b82f6}.session-status.status-error[data-v-ab9b7c57],.session-status.status-stopped[data-v-ab9b7c57]{color:#ef4444}.session-status.status-scheduled[data-v-ab9b7c57]{color:#6b7280}.session-info[data-v-ab9b7c57]{flex:1;min-width:0}.session-name[data-v-ab9b7c57]{font-size:.875rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta[data-v-ab9b7c57]{display:flex;gap:.5rem;font-size:.75rem;color:var(--color-text-soft);margin-top:.25rem}.session-mode[data-v-ab9b7c57]{text-transform:capitalize}.btn[data-v-ab9b7c57]{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-ab9b7c57]{background:var(--color-primary);color:#fff}.btn-primary[data-v-ab9b7c57]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-ab9b7c57]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-ab9b7c57]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-ab9b7c57]:hover{background:var(--color-background-secondary)}.loading-spinner[data-v-ab9b7c57]{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-ab9b7c57 1s linear infinite}@keyframes spin-ab9b7c57{to{transform:rotate(360deg)}}.modal-backdrop[data-v-0fd3a197]{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-0fd3a197]{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-0fd3a197]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title[data-v-0fd3a197]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-0fd3a197]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-0fd3a197]:hover{color:var(--color-text)}.modal-body[data-v-0fd3a197]{padding:1.5rem}.modal-footer[data-v-0fd3a197]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.form-group[data-v-0fd3a197]{margin-bottom:1.25rem}.form-label[data-v-0fd3a197]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input[data-v-0fd3a197]{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-0fd3a197]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #22c5ff1a}.form-textarea[data-v-0fd3a197]{min-height:80px;font-family:var(--font-mono, monospace);font-size:.875rem}.form-help[data-v-0fd3a197]{margin-top:.25rem;font-size:.875rem;color:var(--color-text-soft)}.automation-options[data-v-0fd3a197]{display:flex;flex-direction:column;gap:.5rem}.radio-option[data-v-0fd3a197]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--color-text)}.radio-option input[data-v-0fd3a197]{cursor:pointer}.prompt-actions-row[data-v-0fd3a197]{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.agent-settings-section[data-v-0fd3a197]{margin-bottom:1.25rem}.section-toggle[data-v-0fd3a197]{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-0fd3a197]:hover{color:var(--color-text)}.toggle-chevron[data-v-0fd3a197]{display:inline-block;font-size:.65rem;transition:transform .2s}.toggle-chevron.open[data-v-0fd3a197]{transform:rotate(90deg)}.agent-settings-body[data-v-0fd3a197]{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-0fd3a197]{display:flex;align-items:center;cursor:pointer;gap:.75rem}.toggle-switch[data-v-0fd3a197]{position:relative;display:inline-block;width:40px;height:22px}.toggle-switch input[data-v-0fd3a197]{opacity:0;width:0;height:0}.toggle-slider[data-v-0fd3a197]{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-0fd3a197]: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-0fd3a197]{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider[data-v-0fd3a197]:before{transform:translate(18px)}.toggle-label[data-v-0fd3a197]{font-size:.875rem;font-weight:500;color:var(--color-text)}.reschedule-settings[data-v-0fd3a197]{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-0fd3a197]{margin-bottom:.75rem;font-weight:500;font-size:.95rem;color:var(--color-text)}.checkbox-option[data-v-0fd3a197]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;cursor:pointer;color:var(--color-text)}.checkbox-option input[data-v-0fd3a197]{width:1rem;height:1rem;cursor:pointer}.danger-zone[data-v-0fd3a197]{margin-top:2rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem}.danger-title[data-v-0fd3a197]{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#ef4444}.danger-description[data-v-0fd3a197]{margin:0 0 1rem;font-size:.8rem;color:var(--color-text-soft)}.btn[data-v-0fd3a197]{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-0fd3a197]{background:var(--color-primary);color:#fff}.btn-primary[data-v-0fd3a197]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-0fd3a197]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-0fd3a197]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-0fd3a197]:hover{background:var(--color-background-secondary)}.btn-danger[data-v-0fd3a197]{background:#ef4444;color:#fff}.btn-danger[data-v-0fd3a197]:hover:not(:disabled){background:#dc2626}.btn-danger[data-v-0fd3a197]:disabled{opacity:.5;cursor:not-allowed}.lane-position-controls[data-v-0fd3a197]{display:flex;align-items:center;gap:.75rem}.lane-position-label[data-v-0fd3a197]{font-size:.875rem;color:var(--color-text-soft);min-width:3.5rem;text-align:center}.btn-icon[data-v-0fd3a197]{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-0fd3a197]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-icon[data-v-0fd3a197]: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: 700px){.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: 701px){.mobile-only{display:none!important}}@media (min-width: 701px){.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{l as ve,C as je,z as I,E as Ge,G as Oe,n as R,H as Ze,I as et,_ as Ce,a as o,c as a,b as e,F as X,r as te,u as h,J as pe,t as M,i as E,x as oe,g as Re,w as ke,k as Me,o as Pe,m as V,v as ye,d as J,q as we,s as Fe,f as ae,j as me,h as Ke,e as qe,y as Ae,K as Le,A as tt,L as Ve,B as nt}from"./index-C2QFVD7d.js";import{u as Be}from"./projects-C-8PSxKi.js";import{u as $e}from"./sessions-Nq5VafSf.js";import{u as _e,a as He}from"./SessionLogStream-5NfVr9pF.js";import{a as xe}from"./ApiClient-DfbJwzpz.js";import{u as We}from"./commandButtons-CoU3G4zK.js";import{S as Qe}from"./SessionCard-Bw77-KwD.js";import{u as ze}from"./EffortLevelSelector-D2Hdzc_8.js";import{u as st}from"./providers-oXifvvqN.js";import{M as ot}from"./ModelSelector-72C7MUH4.js";import{I as Ye}from"./InterpolationHelp-Dxn1li4l.js";import{R as at}from"./ResizableTextarea-DpWdIAP6.js";import{S as lt}from"./SessionFormOptions-hqijxc0S.js";import{S as rt,a as it}from"./SlashCommandWizard-BQ_rMzn-.js";import{M as dt,A as ut}from"./ArchiveConfirmModal-DXZYdzHR.js";function ct(){const l=je({}),m=je({}),p=je({});async function f(c){const r=c.filter(y=>!l[y.id]&&!m[y.id]).map(y=>y.id);if(r.length!==0){for(const y of r)m[y]=!0,p[y]=!1;try{const y=await xe.getSessionSummariesBatch(r);for(const i of r)y[i]&&(l[i]=y[i]),m[i]=!1}catch(y){console.warn("Failed to fetch summaries batch:",y.message);for(const i of r)p[i]=!0,m[i]=!1}}}async function u(c){var r;m[c]=!0,p[c]=!1;try{const y=await xe.getSessionSummary(c);y&&(l[c]=y)}catch(y){((r=y.response)==null?void 0:r.status)!==404&&(console.warn(`Failed to fetch summary for session ${c}:`,y.message),p[c]=!0)}finally{m[c]=!1}}async function T(c){p[c]=!1,await u(c)}function j(c,r){l[c]=r,m[c]=!1,p[c]=!1}function _(c){delete l[c],delete m[c],delete p[c]}function k(c,r=400){let y=null;const i=ve(c,()=>{clearTimeout(y),y=setTimeout(()=>{const S=c();f(S)},r)});return()=>{clearTimeout(y),i()}}return{summaries:l,loadingSummaries:m,summaryErrors:p,fetchSummariesBatch:f,fetchSummary:u,retryFetchSummary:T,updateSummary:j,cleanupSummary:_,watchSessionsForSummaries:k}}function Je(){const l=$e();function m(c){l.statusFilter===c?l.setStatusFilter(null):l.setStatusFilter(c)}function p(c){l.starredFilter===c?l.setStarredFilter(null):l.setStarredFilter(c)}function f(){l.starredFilter===null?l.setStarredFilter("starred"):l.starredFilter==="starred"?l.setStarredFilter("unstarred"):l.setStarredFilter(null)}const u=I(()=>l.starredFilter==="starred"?"Showing starred sessions only. Click to filter unstarred.":l.starredFilter==="unstarred"?"Showing unstarred sessions only. Click to show all.":"Showing all sessions. Click to filter by starred.");function T(){l.scheduledFilter===null?l.setScheduledFilter("scheduled"):l.scheduledFilter==="scheduled"?l.setScheduledFilter("not-scheduled"):l.setScheduledFilter(null)}const j=I(()=>l.scheduledFilter==="scheduled"?"Showing workflows with scheduled sessions. Click to filter non-scheduled.":l.scheduledFilter==="not-scheduled"?"Showing workflows without scheduled sessions. Click to show all.":"Showing all workflows. Click to filter by scheduled."),_=I(()=>{let c=l.groupedSessions;l.starredFilter==="starred"?c=c.filter(g=>g.parent.starred):l.starredFilter==="unstarred"&&(c=c.filter(g=>!g.parent.starred));const r=c.map(g=>({group:g,status:l.getWorkflowAggregatedStatus(g.parent.id)}));let y=r;l.scheduledFilter&&(y=r.filter(({status:g})=>{const $=g.scheduledCount>0;return l.scheduledFilter==="scheduled"?$:!$}));let i=0,S=0;for(const{status:g}of y)g.effectiveStatus==="running"?i++:S++;return{running:i,idle:S}}),k=I(()=>{const c=l.groupedSessions,r=new Map(c.map((i,S)=>[i.parent.id,S]));let y=c;return l.statusFilter&&(y=y.filter(i=>{const g=l.getWorkflowAggregatedStatus(i.parent.id).effectiveStatus;return l.statusFilter==="running"&&g==="running"||l.statusFilter==="idle"&&g==="idle"})),l.starredFilter==="starred"?y=y.filter(i=>i.parent.starred):l.starredFilter==="unstarred"&&(y=y.filter(i=>!i.parent.starred)),l.scheduledFilter&&(y=y.filter(i=>{const g=l.getWorkflowAggregatedStatus(i.parent.id).scheduledCount>0;return!!(l.scheduledFilter==="scheduled"&&g||l.scheduledFilter==="not-scheduled"&&!g)})),y.slice().sort((i,S)=>{const g=r.get(i.parent.id)??999999,$=r.get(S.parent.id)??999999;return g-$})});return{toggleFilter:m,toggleStarredFilter:p,toggleStarFilterIcon:f,starFilterTooltip:u,toggleScheduledFilterIcon:T,scheduledFilterTooltip:j,filteredGroupedSessions:k,statusFilterCounts:_}}function mt(l,m){const p=Be(),f=$e(),u=We(),T=_e(),{fetchSummariesBatch:j,updateSummary:_,cleanupSummary:k}=m,{onReconnect:c}=Ge();function r(s,v,L,O){var z;const G=u.runs[s],le=f.sessions.find(Y=>Y.id===v),ne=(z=le==null?void 0:le.latestCommandRuns)==null?void 0:z.find(Y=>Y.runId===s),Q=(G==null?void 0:G.startedAt)||(ne==null?void 0:ne.startedAt)||Date.now();u.runs[s]||(u.runs[s]={runId:s,buttonId:L,sessionId:v,status:"running",output:"",exitCode:null,startedAt:Q,outputTruncated:!1}),u.appendOutput(s,O),f.updateSessionCommandRun(v,L,{buttonId:L,status:"running",runId:s,startedAt:Q})}function y({runId:s,sessionId:v,buttonId:L,exitCode:O,output:G}){u.runs[s]||(u.runs[s]={runId:s,buttonId:L,sessionId:v,status:"running",output:"",exitCode:null,startedAt:Date.now(),outputTruncated:!1}),u.completeRun(s,O,G);const Z=O===0?"success":"error";f.updateSessionCommandRun(v,L,{buttonId:L,status:Z,exitCode:O,runId:s,completedAt:Date.now()})}function i(s,v,L,O){u.runs[s]||(u.runs[s]={runId:s,buttonId:L,sessionId:v,status:"running",output:"",exitCode:null,startedAt:Date.now(),outputTruncated:!1}),u.errorRun(s,O),f.updateSessionCommandRun(v,L,{buttonId:L,status:"error",runId:s,completedAt:Date.now()})}function S(s,v,L){const{onSessionCreated:O,onSessionUpdated:G,onSessionDeleted:Z,onSessionSummaryUpdated:le,onCommandRunOutput:ne,onCommandRunComplete:Q,onCommandRunError:z,onCommandRunDeleted:Y,onKanbanBoardUpdated:re,onKanbanCardMoved:ie,onKanbanCardAdded:de,onKanbanCardRemoved:ge}=s,x=[];return x.push(O(B=>{v.sessionsStore.addSessionToList(B)})),x.push(G(B=>{v.sessionsStore.updateSession(B)})),x.push(Z(B=>{v.sessionsStore.removeSessionFromList(B),L.cleanupSummary(B)})),x.push(le((B,d)=>{L.updateSummary(B,d)})),x.push(ne(r)),x.push(Q(y)),x.push(z(i)),x.push(Y((B,d,t)=>{v.commandButtonsStore.clearRun(B),v.sessionsStore.removeSessionCommandRun(d,t)})),x.push(re(B=>{v.kanbanStore.handleBoardUpdated(B)})),x.push(ie((B,d,t,n)=>{v.kanbanStore.handleCardMoved(B,d,t,n)})),x.push(de((B,d)=>{v.kanbanStore.handleCardAdded(B,d)})),x.push(ge((B,d)=>{v.kanbanStore.handleCardRemoved(B,d)})),x}const g=[];let $=null;const b=R(!1);let N=0;const H=3e4,w=async()=>{if(document.visibilityState!=="visible")return;const s=Date.now();if(s-N<H)return;N=s;const v=l.value;v&&(await f.fetchSessions(v,{silent:!0}),j(f.sessions))};return document.addEventListener("visibilitychange",w),ve(l,async s=>{if(!s)return;b.value=!1,g.forEach(x=>x()),g.length=0,$&&($(),$=null),await p.fetchProject(s),await f.fetchSessions(s),await u.fetchButtons(s),j(f.sessions),N=Date.now();const{subscribe:v,unsubscribe:L,onSessionCreated:O,onSessionUpdated:G,onSessionDeleted:Z,onSessionSummaryUpdated:le,onCommandRunOutput:ne,onCommandRunComplete:Q,onCommandRunError:z,onCommandRunDeleted:Y,onKanbanBoardUpdated:re,onKanbanCardMoved:ie,onKanbanCardAdded:de,onKanbanCardRemoved:ge}=Ze(s);$=L,v(),g.push(...S({onSessionCreated:O,onSessionUpdated:G,onSessionDeleted:Z,onSessionSummaryUpdated:le,onCommandRunOutput:ne,onCommandRunComplete:Q,onCommandRunError:z,onCommandRunDeleted:Y,onKanbanBoardUpdated:re,onKanbanCardMoved:ie,onKanbanCardAdded:de,onKanbanCardRemoved:ge},{sessionsStore:f,commandButtonsStore:u,kanbanStore:T},{updateSummary:_,cleanupSummary:k})),g.push(c(async()=>{const x=l.value;x&&(N=Date.now(),await f.fetchSessions(x,{silent:!0}),j(f.sessions))}))},{immediate:!0}),Oe(()=>{g.forEach(s=>s()),$&&$(),document.removeEventListener("visibilitychange",w)}),{archivedLoaded:b}}function pt(){const l=$e(),m=He(),p=R({}),f={},u=new Map,T=4;function j(i,S=0){fetch(`/api/sessions/${i}/streaming-state`).then(g=>g.ok?g.json():null).then(g=>{var $;if(g&&(($=g.workLogs)!=null&&$.length||g.partialText||g.thinking)){m.hydrateSessionState(i,g);const b=u.get(i);b&&(clearTimeout(b.timeout),u.delete(i))}else _(i,S)}).catch(()=>{_(i,S)})}function _(i,S=0){if(S>=T||!p.value[i])return;const g=l.sessions.find(N=>N.id===i);if(!g||!["running","starting"].includes(g.status))return;const $=1500*Math.pow(2,S),b=setTimeout(()=>{u.delete(i),j(i,S+1)},$);u.set(i,{count:S,timeout:b})}function k(i){if(p.value[i])return;const S=et(i),g=[];g.push(S.onWorkLog($=>{m.addSessionWorkLog(i,$)})),g.push(S.onPartial($=>{$&&m.setSessionPartialText(i,$)})),g.push(S.onThinkingPartial($=>{$&&m.setPartialThinking($,i)})),g.push(S.onChangesUpdate($=>{m.setSessionFileCount(i,$)})),g.push(S.onStatus($=>{["running","starting"].includes($)?f[i]&&(clearTimeout(f[i]),delete f[i]):f[i]=setTimeout(()=>{delete f[i],m.clearSessionEphemeralState(i)},2e3)})),S.subscribe(),p.value[i]={subscription:S,cleanup:()=>{g.forEach($=>$&&$()),S.unsubscribe()}},j(i)}function c(i){const S=p.value[i];S&&(S.cleanup(),delete p.value[i]),f[i]&&(clearTimeout(f[i]),delete f[i]);const g=u.get(i);g&&(clearTimeout(g.timeout),u.delete(i))}ve(()=>l.sessions.filter(i=>["running","starting"].includes(i.status)).map(i=>i.id),(i,S=[])=>{const g=i.filter(b=>!S.includes(b)),$=S.filter(b=>!i.includes(b));g.forEach(b=>k(b)),$.forEach(b=>c(b))},{immediate:!0});const{onReconnect:r}=Ge(),y=r(()=>{for(const i of Object.keys(p.value))j(i)});return Oe(()=>{Object.keys(p.value).forEach(i=>c(i)),y()}),{activeSubscriptions:p}}const vt={class:"filters-container"},ft={class:"status-filters"},ht=["aria-label","onClick"],bt={class:"filter-label"},gt={class:"filter-count"},yt=["title"],kt={key:0,class:"star-icon"},St={key:1,class:"star-icon star-crossed"},Ct={key:2,class:"star-icon"},$t=["title"],wt={key:0,class:"schedule-icon"},Et={key:1,class:"schedule-icon schedule-crossed"},Tt={key:2,class:"schedule-icon"},_t={__name:"SessionFiltersPanel",props:{showStatusFilters:{type:Boolean,default:!0},showScheduledFilter:{type:Boolean,default:!0}},setup(l){const m=$e(),{toggleFilter:p,toggleStarFilterIcon:f,starFilterTooltip:u,toggleScheduledFilterIcon:T,scheduledFilterTooltip:j,statusFilterCounts:_}=Je();return(k,c)=>(o(),a("div",vt,[e("div",ft,[l.showStatusFilters?(o(),a(X,{key:0},te(["running","idle"],r=>e("button",{key:r,class:pe(["filter-btn",{active:h(m).statusFilter===r,"filter-btn-empty":h(_)[r]===0}]),"aria-label":`${r} (${h(_)[r]})`,onClick:y=>h(p)(r)},[e("span",bt,M(r),1),e("span",gt,M(h(_)[r]),1)],10,ht)),64)):E("",!0),e("button",{class:pe(["filter-btn star-btn",{"star-filter-active":h(m).starredFilter==="starred","star-filter-unstarred":h(m).starredFilter==="unstarred","star-filter-all":h(m).starredFilter===null}]),title:h(u),onClick:c[0]||(c[0]=(...r)=>h(f)&&h(f)(...r))},[h(m).starredFilter==="starred"?(o(),a("span",kt,"⭐")):h(m).starredFilter==="unstarred"?(o(),a("span",St,"⭐")):(o(),a("span",Ct,"☆"))],10,yt),l.showScheduledFilter?(o(),a("button",{key:1,class:pe(["filter-btn schedule-btn",{"schedule-filter-active":h(m).scheduledFilter==="scheduled","schedule-filter-not-scheduled":h(m).scheduledFilter==="not-scheduled","schedule-filter-all":h(m).scheduledFilter===null}]),title:h(j),onClick:c[1]||(c[1]=(...r)=>h(T)&&h(T)(...r))},[h(m).scheduledFilter==="scheduled"?(o(),a("span",wt,"⏰")):h(m).scheduledFilter==="not-scheduled"?(o(),a("span",Et,"⏰")):(o(),a("span",Tt,"⏰"))],10,$t)):E("",!0)])]))}},Ne=Ce(_t,[["__scopeId","data-v-2c9a63d9"]]),jt={key:0,class:"skeleton-list"},Ft={key:1,class:"error-message"},Rt={key:2,class:"empty-state"},Mt={key:3,class:"session-list"},At={key:0,class:"load-more-container"},Lt=["disabled"],xt={key:0},Ot={key:1},Pt={__name:"ArchivedTabContent",props:{summaries:{type:Object,required:!0},loadingSummaries:{type:Object,required:!0},summaryErrors:{type:Object,required:!0}},emits:["retrySummary","unarchive","loadMore"],setup(l){const m=$e(),p=I(()=>{const{total:f,offset:u}=m.archivedPagination;return Math.max(0,f-u)});return(f,u)=>(o(),a("div",null,[h(m).archivedPagination.loading&&h(m).archivedSessions.length===0?(o(),a("div",jt,[(o(),a(X,null,te(3,T=>e("div",{key:T,class:"skeleton card",style:{height:"120px"}})),64))])):h(m).error?(o(),a("div",Ft,M(h(m).error),1)):h(m).archivedSessions.length===0?(o(),a("div",Rt,[...u[3]||(u[3]=[e("p",null,"No archived sessions. Archive completed sessions to keep your session list tidy.",-1)])])):(o(),a("div",Mt,[(o(!0),a(X,null,te(h(m).archivedSessions,T=>(o(),oe(Qe,{key:T.id,session:T,"show-summary":!0,summary:l.summaries[T.id],"summary-loading":l.loadingSummaries[T.id],"summary-error":l.summaryErrors[T.id],"show-unarchive":!0,"kanban-enabled":!1,"pr-url":T.prUrl,"pr-summary":l.summaries[T.id],onRetrySummary:u[0]||(u[0]=j=>f.$emit("retrySummary",j)),onUnarchive:u[1]||(u[1]=j=>f.$emit("unarchive",j))},null,8,["session","summary","summary-loading","summary-error","pr-url","pr-summary"]))),128)),h(m).archivedPagination.hasMore?(o(),a("div",At,[e("button",{class:"btn btn-secondary",disabled:h(m).archivedPagination.loading,onClick:u[2]||(u[2]=T=>f.$emit("loadMore"))},[h(m).archivedPagination.loading?(o(),a("span",xt,"Loading...")):(o(),a("span",Ot,"Load More ("+M(p.value)+" remaining)",1))],8,Lt)])):E("",!0)]))]))}},Bt=Ce(Pt,[["__scopeId","data-v-c0906664"]]),Ut={class:"template-header"},Dt={class:"template-name"},Vt={class:"template-prompt"},Nt={class:"template-meta"},It={key:0,class:"meta-badge meta-badge-global"},Gt={key:1,class:"meta-badge"},Kt={key:2,class:"meta-badge"},qt={key:3,class:"meta-badge"},Ht={key:4,class:"meta-badge"},Wt={key:5,class:"meta-badge meta-badge-chain"},Qt={key:6,class:"meta-badge"},zt={__name:"TemplateCard",props:{template:{type:Object,required:!0},projectId:{type:String,required:!0},isGlobal:{type:Boolean,default:!1},getModelName:{type:Function,required:!0},getTemplateName:{type:Function,required:!0}},setup(l){function m(p,f=100){return p.length<=f?p:`${p.substring(0,f)}...`}return(p,f)=>{const u=Re("router-link");return o(),oe(u,{to:`/projects/${l.projectId}/templates/${l.template.id}`,class:"template-card card","data-testid":`template-card-${l.template.id}`},{default:ke(()=>[e("div",Ut,[e("h4",Dt,M(l.template.name),1)]),e("p",Vt,M(m(l.template.prompt)),1),e("div",Nt,[l.isGlobal?(o(),a("span",It,"Global")):E("",!0),l.template.thinkingEnabled?(o(),a("span",Gt,"Thinking")):E("",!0),l.template.gitBranch?(o(),a("span",Kt,M(l.template.gitBranch),1)):E("",!0),l.template.model?(o(),a("span",qt,M(l.getModelName(l.template.model)),1)):E("",!0),l.template.mode?(o(),a("span",Ht,M(l.template.mode),1)):E("",!0),l.template.nextTemplateId?(o(),a("span",Wt," Chains to: "+M(l.getTemplateName(l.template.nextTemplateId)),1)):E("",!0),l.template.showInQuickResponses?(o(),a("span",Qt,"Quick Response")):E("",!0)])]),_:1},8,["to","data-testid"])}}},Ie=Ce(zt,[["__scopeId","data-v-22bb29b6"]]),Yt={class:"templates-panel"},Jt={class:"templates-header"},Xt={key:0,class:"template-form card","data-testid":"template-form"},Zt={class:"form-group"},en={class:"form-group"},tn={class:"form-group"},nn=["disabled"],sn={class:"form-group"},on=["value"],an={class:"form-group"},ln={class:"form-group"},rn={class:"form-group"},dn={class:"form-group"},un={class:"form-group"},cn={class:"form-check"},mn={class:"form-actions"},pn=["disabled"],vn={key:0,class:"loading-spinner"},fn={key:1,class:"loading-state"},hn={key:2},bn={key:0,class:"template-section"},gn={class:"templates-list"},yn={key:1,class:"template-section"},kn={class:"templates-list"},Sn={key:2,class:"empty-state"},Cn={__name:"TemplatesPanel",props:{projectId:{type:String,required:!0}},setup(l,{expose:m}){const p=l,f=ze(),u=Me(),T=st(),j=R(!1),_=R(!1),k=R({name:"",prompt:"",isGlobal:!1,nextTemplateId:null,thinkingEnabled:null,gitBranch:"",model:null,mode:null,showInQuickResponses:!1}),c=I(()=>f.loading),r=I(()=>f.projectTemplates),y=I(()=>f.globalTemplates),i=I(()=>[...f.projectTemplates,...f.globalTemplates]);Pe(async()=>{T.providers.length===0&&await T.fetchProviders(),f.fetchProjectTemplates(p.projectId)}),ve(()=>p.projectId,w=>{f.fetchProjectTemplates(w)});function S(w){const s=f.getTemplateById(w);return(s==null?void 0:s.name)||"Unknown"}function g(w){var s;for(const v of T.providers){const L=(s=v.models)==null?void 0:s.find(O=>O.modelId===w);if(L)return v.isBuiltIn?L.displayName:L.modelId}return w}function $(){k.value={name:"",prompt:"",isGlobal:!1,nextTemplateId:null,thinkingEnabled:null,gitBranch:"",model:null,mode:null,showInQuickResponses:!1}}function b(){j.value=!0}function N(){j.value=!1,$()}async function H(){if(!_.value){_.value=!0;try{const w={name:k.value.name,prompt:k.value.prompt,nextTemplateId:k.value.nextTemplateId||void 0,thinkingEnabled:k.value.thinkingEnabled,gitBranch:k.value.gitBranch||void 0,model:k.value.model,mode:k.value.mode,showInQuickResponses:k.value.showInQuickResponses};k.value.isGlobal?(await f.createGlobalTemplate(w),u.success("Global template created")):(await f.createProjectTemplate(p.projectId,w),u.success("Template created")),N()}catch(w){u.error(w.message)}finally{_.value=!1}}}return m({formData:k,getModelName:g,resetForm:$}),(w,s)=>(o(),a("div",Yt,[e("div",Jt,[s[9]||(s[9]=e("h2",null,"Session Templates",-1)),j.value?E("",!0):(o(),a("button",{key:0,class:"btn btn-primary btn-sm","data-testid":"new-template-btn",onClick:b}," New Template "))]),j.value?(o(),a("div",Xt,[s[25]||(s[25]=e("h3",null,"Create Template",-1)),e("form",{onSubmit:me(H,["prevent"])},[e("div",Zt,[s[10]||(s[10]=e("label",{class:"form-label"},"Name",-1)),V(e("input",{"onUpdate:modelValue":s[0]||(s[0]=v=>k.value.name=v),type:"text",class:"form-input",placeholder:"Template name",required:""},null,512),[[ye,k.value.name]])]),e("div",en,[s[11]||(s[11]=e("label",{class:"form-label"},"Prompt",-1)),V(e("textarea",{"onUpdate:modelValue":s[1]||(s[1]=v=>k.value.prompt=v),class:"form-input form-textarea",placeholder:"Session prompt. Use {{rootSession.summary}} to reference root session data.",rows:"4",required:""},null,512),[[ye,k.value.prompt]]),J(Ye)]),e("div",tn,[s[13]||(s[13]=e("label",{class:"form-label"},"Scope",-1)),V(e("select",{"onUpdate:modelValue":s[2]||(s[2]=v=>k.value.isGlobal=v),class:"form-input",disabled:w.editingTemplate},[...s[12]||(s[12]=[e("option",{value:!1}," Project Only ",-1),e("option",{value:!0}," Global (all projects) ",-1)])],8,nn),[[we,k.value.isGlobal]])]),e("div",sn,[s[15]||(s[15]=e("label",{class:"form-label"},"Next Template (Optional)",-1)),V(e("select",{"onUpdate:modelValue":s[3]||(s[3]=v=>k.value.nextTemplateId=v),class:"form-input"},[s[14]||(s[14]=e("option",{value:null}," None ",-1)),(o(!0),a(X,null,te(i.value,v=>(o(),a("option",{key:v.id,value:v.id},M(v.name)+" "+M(v.projectId?"":"(Global)"),9,on))),128))],512),[[we,k.value.nextTemplateId]]),s[16]||(s[16]=e("p",{class:"form-help"}," Chain another template to run after this one completes. ",-1))]),e("div",an,[s[17]||(s[17]=e("label",{class:"form-label"},"Model",-1)),J(ot,{modelValue:k.value.model,"onUpdate:modelValue":s[4]||(s[4]=v=>k.value.model=v),"allow-empty":!0,"empty-label":"Inherit from root session"},null,8,["modelValue"])]),e("div",ln,[s[19]||(s[19]=e("label",{class:"form-label",for:"create-mode"},"Mode",-1)),V(e("select",{id:"create-mode","onUpdate:modelValue":s[5]||(s[5]=v=>k.value.mode=v),class:"form-input","data-testid":"mode-select"},[...s[18]||(s[18]=[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),[[we,k.value.mode]])]),e("div",rn,[s[21]||(s[21]=e("label",{class:"form-label",for:"create-thinking"},"Extended Thinking",-1)),V(e("select",{id:"create-thinking","onUpdate:modelValue":s[6]||(s[6]=v=>k.value.thinkingEnabled=v),class:"form-input","data-testid":"thinking-select"},[...s[20]||(s[20]=[e("option",{value:null}," Inherit from root session ",-1),e("option",{value:!0}," Enabled ",-1),e("option",{value:!1}," Disabled ",-1)])],512),[[we,k.value.thinkingEnabled]])]),e("div",dn,[s[22]||(s[22]=e("label",{class:"form-label"},"Git Branch (Optional)",-1)),V(e("input",{"onUpdate:modelValue":s[7]||(s[7]=v=>k.value.gitBranch=v),type:"text",class:"form-input",placeholder:"Leave empty to inherit from root session"},null,512),[[ye,k.value.gitBranch]])]),e("div",un,[e("label",cn,[V(e("input",{"onUpdate:modelValue":s[8]||(s[8]=v=>k.value.showInQuickResponses=v),type:"checkbox"},null,512),[[Fe,k.value.showInQuickResponses]]),s[23]||(s[23]=e("span",null,"Show in Quick Responses",-1))])]),e("div",mn,[e("button",{type:"button",class:"btn","data-testid":"cancel-btn",onClick:N}," Cancel "),e("button",{type:"submit",class:"btn btn-primary",disabled:_.value,"data-testid":"submit-btn"},[_.value?(o(),a("span",vn)):E("",!0),s[24]||(s[24]=ae(" Create ",-1))],8,pn)])],32)])):E("",!0),c.value?(o(),a("div",fn,[...s[26]||(s[26]=[e("span",{class:"loading-spinner"},null,-1),ae(" Loading templates... ",-1)])])):(o(),a("div",hn,[r.value.length>0?(o(),a("div",bn,[s[27]||(s[27]=e("h3",{class:"section-title"}," Project Templates ",-1)),e("div",gn,[(o(!0),a(X,null,te(r.value,v=>(o(),oe(Ie,{key:v.id,template:v,"project-id":l.projectId,"get-model-name":g,"get-template-name":S},null,8,["template","project-id"]))),128))])])):E("",!0),y.value.length>0?(o(),a("div",yn,[s[28]||(s[28]=e("h3",{class:"section-title"}," Global Templates ",-1)),e("div",kn,[(o(!0),a(X,null,te(y.value,v=>(o(),oe(Ie,{key:v.id,template:v,"project-id":l.projectId,"is-global":!0,"get-model-name":g,"get-template-name":S},null,8,["template","project-id"]))),128))])])):E("",!0),r.value.length===0&&y.value.length===0&&!j.value?(o(),a("div",Sn,[s[29]||(s[29]=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:b}," Create Template ")])):E("",!0)]))]))}},$n=Ce(Cn,[["__scopeId","data-v-2c161e09"]]),wn={class:"command-buttons-panel"},En={class:"panel-header"},Tn={key:0,class:"loading-state"},_n={key:1,class:"error-message"},jn={key:2,class:"empty-state"},Fn={key:3,class:"buttons-table"},Rn=["onClick"],Mn={class:"col-label"},An={class:"col-command"},Ln={class:"col-order"},xn=["onClick"],On={class:"modal-body"},Pn={class:"modal-footer"},Bn={__name:"CommandButtonsPanel",props:{projectId:{type:String,required:!0}},setup(l){const m=l,p=Ke(),f=We(),u=R(null),T=c=>c.length>50?`${c.substring(0,50)}...`:c,j=c=>{p.push(`/projects/${m.projectId}/circus-commands/${c.id}`)},_=c=>{u.value=c},k=async()=>{if(u.value)try{await f.deleteButton(m.projectId,u.value.id),u.value=null}catch(c){console.error("Failed to delete button:",c)}};return(c,r)=>{const y=Re("router-link");return o(),a("div",wn,[e("div",En,[r[5]||(r[5]=e("h3",null,"Circus Commands",-1)),J(y,{to:`/projects/${l.projectId}/circus-commands/new`,class:"btn btn-primary btn-sm"},{default:ke(()=>[...r[4]||(r[4]=[ae(" + New Circus Command ",-1)])]),_:1},8,["to"])]),h(f).loading?(o(),a("div",Tn,[...r[6]||(r[6]=[e("span",{class:"loading-spinner"},null,-1),ae(" Loading Circus Commands... ",-1)])])):h(f).error?(o(),a("div",_n,M(h(f).error),1)):h(f).buttons.length===0?(o(),a("div",jn,[r[8]||(r[8]=e("p",null,"No Circus Commands configured yet.",-1)),J(y,{to:`/projects/${l.projectId}/circus-commands/new`,class:"btn btn-primary"},{default:ke(()=>[...r[7]||(r[7]=[ae(" Create First Button ",-1)])]),_:1},8,["to"])])):(o(),a("div",Fn,[r[9]||(r[9]=qe('<div class="table-header" data-v-cbd58f30><div class="col-label" data-v-cbd58f30> Label </div><div class="col-command" data-v-cbd58f30> Command </div><div class="col-order" data-v-cbd58f30> Sort Order </div><div class="col-actions" data-v-cbd58f30> Actions </div></div>',1)),(o(!0),a(X,null,te(h(f).buttons,i=>(o(),a("div",{key:i.id,class:"table-row",onClick:S=>j(i)},[e("div",Mn,M(i.label),1),e("div",An,[e("code",null,M(T(i.command)),1)]),e("div",Ln,M(i.sortOrder),1),e("div",{class:"col-actions",onClick:r[0]||(r[0]=me(()=>{},["stop"]))},[e("button",{class:"btn btn-sm btn-outline-danger",onClick:S=>_(i)}," Delete ",8,xn)])],8,Rn))),128))])),u.value?(o(),a("div",{key:4,class:"modal-overlay",onClick:r[3]||(r[3]=i=>u.value=null)},[e("div",{class:"modal-dialog",onClick:r[2]||(r[2]=me(()=>{},["stop"]))},[r[12]||(r[12]=e("div",{class:"modal-header"},[e("h4",null,"Delete Circus Command")],-1)),e("div",On,[e("p",null,[r[10]||(r[10]=ae('Are you sure you want to delete the Circus Command "',-1)),e("strong",null,M(u.value.label),1),r[11]||(r[11]=ae('"?',-1))])]),e("div",Pn,[e("button",{class:"btn btn-outline-secondary",onClick:r[1]||(r[1]=i=>u.value=null)}," Cancel "),e("button",{class:"btn btn-danger",onClick:k}," Delete ")])])])):E("",!0)])}}},Un=Ce(Bn,[["__scopeId","data-v-cbd58f30"]]),Dn={class:"modal-content"},Vn={class:"modal-header"},Nn={class:"modal-title"},In={class:"modal-body"},Gn={class:"form-group"},Kn={class:"sessions-list"},qn={key:0,class:"loading-state"},Hn={key:1,class:"empty-state"},Wn={key:0},Qn={key:1},zn=["onClick"],Yn={class:"session-info"},Jn={class:"session-name"},Xn={class:"session-meta"},Zn={key:0,class:"session-mode"},es=["title"],ts={class:"modal-footer"},ns=["disabled"],ss={__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(l,{emit:m}){const p=l,f=m;$e();const u=_e(),T=Me(),j=R(!1),_=R(!1),k=R(""),c=R(null),r=R([]),y=I(()=>{let w=r.value.filter(s=>!u.isSessionOnBoard(s.id));if(w=w.filter(s=>!s.parentSessionId),k.value.trim()){const s=k.value.toLowerCase();w=w.filter(v=>{var L;return(L=v.name)==null?void 0:L.toLowerCase().includes(s)})}return w});function i(w){switch(w){case"running":case"starting":return"●";case"waiting":return"◐";case"completed":return"✓";case"error":return"✕";case"stopped":return"■";case"scheduled":return"⏰";default:return"○"}}function S(w){return w?new Date(w).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function g(w){c.value=w}function $(){}function b(){f("update:isOpen",!1),f("close"),k.value="",c.value=null}async function N(){if(p.projectId){j.value=!0;try{const w=await xe.getProjectSessions(p.projectId,!1,null);r.value=Array.isArray(w)?w:(w==null?void 0:w.sessions)||[]}catch(w){console.error("Failed to load sessions:",w),T.error("Failed to load sessions"),r.value=[]}finally{j.value=!1}}}async function H(){if(!(!c.value||!p.laneId)){_.value=!0;try{await u.addSessionToBoard(p.projectId,c.value,p.laneId),T.success("Session added to board"),f("added",c.value),b()}catch(w){console.error("Failed to add session to board:",w),T.error(w.message||"Failed to add session to board")}finally{_.value=!1}}}return ve(()=>p.isOpen,w=>{w&&N()},{immediate:!0}),(w,s)=>l.isOpen?(o(),a("div",{key:0,class:"modal-backdrop",onClick:me(b,["self"])},[e("div",Dn,[e("div",Vn,[e("h2",Nn," Add Session to "+M(l.laneName),1),e("button",{class:"close-btn","aria-label":"Close",onClick:b}," × ")]),e("div",In,[e("div",Gn,[s[1]||(s[1]=e("label",{for:"session-search",class:"form-label"},"Search Sessions",-1)),V(e("input",{id:"session-search","onUpdate:modelValue":s[0]||(s[0]=v=>k.value=v),type:"text",class:"form-input",placeholder:"Search by name...",onInput:$},null,544),[[ye,k.value]])]),e("div",Kn,[j.value?(o(),a("div",qn,[...s[2]||(s[2]=[e("span",{class:"loading-spinner"},null,-1),ae(" Loading sessions... ",-1)])])):y.value.length===0?(o(),a("div",Hn,[k.value?(o(),a("p",Wn,' No sessions matching "'+M(k.value)+'" ',1)):(o(),a("p",Qn," No available sessions to add. "))])):(o(!0),a(X,{key:2},te(y.value,v=>(o(),a("div",{key:v.id,class:pe(["session-item",{selected:c.value===v.id}]),onClick:L=>g(v.id)},[e("div",{class:pe(["session-status",`status-${v.status}`])},M(i(v.status)),3),e("div",Yn,[e("div",Jn,M(v.name),1),e("div",Xn,[v.mode?(o(),a("span",Zn,M(v.mode),1)):E("",!0),e("span",{class:"session-date",title:v.lastActivityAt?"Last activity":"No activity yet"},M(S(v.lastActivityAt||v.updatedAt||v.createdAt)),9,es)])])],10,zn))),128))])]),e("div",ts,[e("button",{class:"btn btn-secondary",onClick:b}," Cancel "),e("button",{class:"btn btn-primary",disabled:!c.value||_.value,onClick:H},M(_.value?"Adding...":"Add to Lane"),9,ns)])])])):E("",!0)}},Xe=Ce(ss,[["__scopeId","data-v-ab9b7c57"]]),os={class:"modal-content"},as={class:"modal-body"},ls={class:"form-group"},rs={key:0,class:"form-group"},is={class:"lane-position-controls"},ds=["disabled"],us={class:"lane-position-label"},cs=["disabled"],ms={class:"form-group"},ps={class:"automation-options"},vs={class:"radio-option"},fs={class:"radio-option"},hs={class:"radio-option"},bs={key:1,class:"form-group"},gs={key:0,label:"Project Templates"},ys=["value"],ks={key:1,label:"Global Templates"},Ss=["value"],Cs={key:2,class:"form-group"},$s={class:"prompt-actions-row"},ws={key:4,class:"agent-settings-section"},Es={key:0,class:"agent-settings-body"},Ts={class:"form-group"},_s={class:"toggle-switch-row"},js={class:"toggle-switch"},Fs={key:0,class:"reschedule-settings"},Rs={class:"form-group"},Ms={class:"checkbox-option"},As={class:"checkbox-option"},Ls={class:"form-group"},xs={class:"form-group"},Os={class:"form-group"},Ps={class:"form-group"},Bs={class:"danger-zone"},Us=["disabled"],Ds={class:"modal-footer"},Vs=["disabled"],Ns={__name:"LaneSettingsModal",props:{isOpen:{type:Boolean,default:!1},projectId:{type:String,default:""},lane:{type:Object,default:null}},emits:["close","update:isOpen","updated","deleted"],setup(l,{emit:m}){const p=l,f=m,u=_e(),T=ze(),j=Me(),_=Be(),k=R(!1),c=R(!1),r=R("none"),y=R(!1),i=R(!1),S=R(null),g=R(-1),$=R(-1),b=je({name:"",onEnterTemplateId:null,onEnterPrompt:"",onEnterMode:null,onEnterModel:null,onEnterEffortLevel:null,onEnterThinkingEnabled:null,onEnterAutoRescheduleEnabled:!1,onEnterRescheduleDelayMinutes:Le,onEnterRescheduleOnTokenLimit:!0,onEnterRescheduleOnServiceError:!0,onEnterMaxRescheduleCount:null,onEnterMaxTotalTokens:null,onEnterRescheduleAtTokenCount:null}),N=I(()=>T.projectTemplates),H=I(()=>T.globalTemplates),w=I(()=>{const d=_.getProjectById(p.projectId);return(d==null?void 0:d.workingDirectory)||null}),s=I(()=>$.value),v=I(()=>{var d,t;return((t=(d=u.board)==null?void 0:d.lanes)==null?void 0:t.length)||0}),L=I(()=>!(!b.name.trim()||r.value==="template"&&!b.onEnterTemplateId||r.value==="prompt"&&!b.onEnterPrompt.trim()));function O(d){return{onEnterAutoRescheduleEnabled:d.onEnterAutoRescheduleEnabled||!1,onEnterRescheduleDelayMinutes:d.onEnterRescheduleDelayMinutes||Le,onEnterRescheduleOnTokenLimit:d.onEnterRescheduleOnTokenLimit??!0,onEnterRescheduleOnServiceError:d.onEnterRescheduleOnServiceError??!0,onEnterMaxRescheduleCount:d.onEnterMaxRescheduleCount||null,onEnterMaxTotalTokens:d.onEnterMaxTotalTokens||null,onEnterRescheduleAtTokenCount:d.onEnterRescheduleAtTokenCount||null}}function G(d){return{name:d.name||"",onEnterTemplateId:d.onEnterTemplateId||null,onEnterPrompt:d.onEnterPrompt||"",onEnterMode:d.onEnterMode||null,onEnterModel:d.onEnterModel||null,onEnterEffortLevel:d.onEnterEffortLevel||null,onEnterThinkingEnabled:d.onEnterThinkingEnabled??null,...O(d)}}function Z(d){return d.onEnterTemplateId?"template":d.onEnterPrompt?"prompt":"none"}function le(d){return!!(d.onEnterMode||d.onEnterModel||d.onEnterEffortLevel||d.onEnterThinkingEnabled!==null||d.onEnterAutoRescheduleEnabled)}function ne(){var d,t;if(p.lane){const n=G(p.lane);Object.assign(b,n),r.value=Z(p.lane),y.value=le(b);const W=((t=(d=u.board)==null?void 0:d.lanes)==null?void 0:t.findIndex(ue=>ue.id===p.lane.id))??-1;g.value=W,$.value=W}else{const n=G({});Object.assign(b,n),r.value="none",y.value=!1,g.value=-1,$.value=-1}}function Q(){$.value=g.value,f("update:isOpen",!1),f("close")}function z({text:d}){const t=S.value;if(t){const n=t.selectionStart,W=t.selectionEnd,ue=b.onEnterPrompt.substring(0,n),he=b.onEnterPrompt.substring(W);b.onEnterPrompt=ue+d+he,tt(()=>{t.selectionStart=t.selectionEnd=n+d.length,t.focus()})}}function Y(d){const t=$.value;t<0||t===d||($.value=d)}function re(){return{onEnterTemplateId:null,onEnterPrompt:null,onEnterMode:null,onEnterModel:null,onEnterEffortLevel:null,onEnterThinkingEnabled:null,onEnterAutoRescheduleEnabled:!1,onEnterRescheduleDelayMinutes:Le,onEnterRescheduleOnTokenLimit:!0,onEnterRescheduleOnServiceError:!0,onEnterMaxRescheduleCount:null,onEnterMaxTotalTokens:null,onEnterRescheduleAtTokenCount:null}}function ie(d){return{...re(),onEnterTemplateId:d.onEnterTemplateId,onEnterPrompt:null}}function de(d){return{onEnterTemplateId:null,onEnterPrompt:d.onEnterPrompt.trim(),onEnterMode:d.onEnterMode,onEnterModel:d.onEnterModel,onEnterEffortLevel:d.onEnterEffortLevel,onEnterThinkingEnabled:d.onEnterThinkingEnabled,onEnterAutoRescheduleEnabled:d.onEnterAutoRescheduleEnabled,onEnterRescheduleDelayMinutes:d.onEnterRescheduleDelayMinutes,onEnterRescheduleOnTokenLimit:d.onEnterRescheduleOnTokenLimit,onEnterRescheduleOnServiceError:d.onEnterRescheduleOnServiceError,onEnterMaxRescheduleCount:d.onEnterMaxRescheduleCount,onEnterMaxTotalTokens:d.onEnterMaxTotalTokens,onEnterRescheduleAtTokenCount:d.onEnterRescheduleAtTokenCount}}async function ge(d,t,n,W){var A;if(n===t||n<0)return;const ue=(A=u.board)==null?void 0:A.lanes;if(!ue||ue.length<=1)return;const he=ue.map(C=>C.id);he.splice(t,1),he.splice(n,0,d.id),await u.reorderLanes(W,he)}async function x(){if(!(!p.lane||!L.value)){k.value=!0;try{const d={name:b.name.trim()};r.value==="template"?Object.assign(d,ie(b)):r.value==="prompt"?Object.assign(d,de(b)):Object.assign(d,re()),await ge(p.lane,g.value,$.value,p.projectId),await u.updateLane(p.projectId,p.lane.id,d),j.success("Lane settings saved"),f("updated"),Q()}catch(d){console.error("Failed to save lane settings:",d),j.error(d.message||"Failed to save lane settings")}finally{k.value=!1}}}async function B(){if(p.lane&&confirm(`Are you sure you want to delete the "${p.lane.name}" lane? This cannot be undone.`)){c.value=!0;try{await u.deleteLane(p.projectId,p.lane.id),j.success("Lane deleted"),f("deleted"),Q()}catch(d){console.error("Failed to delete lane:",d),j.error(d.message||"Failed to delete lane")}finally{c.value=!1}}}return ve(()=>p.isOpen,d=>{d&&(ne(),p.projectId&&T.projectTemplates.length===0&&T.globalTemplates.length===0&&T.fetchProjectTemplates(p.projectId))},{immediate:!0}),ve(()=>p.lane,()=>{p.isOpen&&ne()}),ve(()=>{var d;return(d=u.board)==null?void 0:d.lanes},d=>{if(p.isOpen&&p.lane&&d){const t=d.findIndex(n=>n.id===p.lane.id);t>=0&&(g.value=t,$.value=t)}},{deep:!0}),(d,t)=>l.isOpen?(o(),a("div",{key:0,class:"modal-backdrop",onClick:me(Q,["self"])},[e("div",os,[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:Q}," × ")]),e("div",as,[e("div",ls,[t[23]||(t[23]=e("label",{for:"lane-name",class:"form-label"},"Lane Name",-1)),V(e("input",{id:"lane-name","onUpdate:modelValue":t[0]||(t[0]=n=>b.name=n),type:"text",class:"form-input",placeholder:"Enter lane name"},null,512),[[ye,b.name]])]),v.value>1?(o(),a("div",rs,[t[26]||(t[26]=e("label",{class:"form-label"},"Position",-1)),e("div",is,[e("button",{class:"btn btn-icon",disabled:s.value<=0,title:"Move left",onClick:t[1]||(t[1]=n=>Y(s.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,ds),e("span",us,M(s.value+1)+" of "+M(v.value),1),e("button",{class:"btn btn-icon",disabled:s.value>=v.value-1,title:"Move right",onClick:t[2]||(t[2]=n=>Y(s.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,cs)])])):E("",!0),e("div",ms,[t[30]||(t[30]=e("label",{class:"form-label"},"On-Enter Automation",-1)),e("div",ps,[e("label",vs,[V(e("input",{"onUpdate:modelValue":t[3]||(t[3]=n=>r.value=n),type:"radio",value:"none",name:"automation"},null,512),[[Ae,r.value]]),t[27]||(t[27]=e("span",null,"None",-1))]),e("label",fs,[V(e("input",{"onUpdate:modelValue":t[4]||(t[4]=n=>r.value=n),type:"radio",value:"template",name:"automation"},null,512),[[Ae,r.value]]),t[28]||(t[28]=e("span",null,"Run a template",-1))]),e("label",hs,[V(e("input",{"onUpdate:modelValue":t[5]||(t[5]=n=>r.value=n),type:"radio",value:"prompt",name:"automation"},null,512),[[Ae,r.value]]),t[29]||(t[29]=e("span",null,"Run a custom prompt",-1))])])]),r.value==="template"?(o(),a("div",bs,[t[32]||(t[32]=e("label",{for:"template-select",class:"form-label"},"Select Template",-1)),V(e("select",{id:"template-select","onUpdate:modelValue":t[6]||(t[6]=n=>b.onEnterTemplateId=n),class:"form-input"},[t[31]||(t[31]=e("option",{value:null}," Select a template... ",-1)),N.value.length?(o(),a("optgroup",gs,[(o(!0),a(X,null,te(N.value,n=>(o(),a("option",{key:n.id,value:n.id},M(n.name),9,ys))),128))])):E("",!0),H.value.length?(o(),a("optgroup",ks,[(o(!0),a(X,null,te(H.value,n=>(o(),a("option",{key:n.id,value:n.id},M(n.name),9,Ss))),128))])):E("",!0)],512),[[we,b.onEnterTemplateId]]),t[33]||(t[33]=e("p",{class:"form-help"}," When a session enters this lane, the selected template will automatically run. ",-1))])):E("",!0),r.value==="prompt"?(o(),a("div",Cs,[t[34]||(t[34]=e("label",{for:"custom-prompt",class:"form-label"},"Custom Prompt",-1)),J(at,{id:"custom-prompt",ref_key:"promptTextareaRef",ref:S,modelValue:b.onEnterPrompt,"onUpdate:modelValue":t[7]||(t[7]=n=>b.onEnterPrompt=n),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",$s,[J(Ye),w.value?(o(),oe(rt,{key:0,onOpen:t[8]||(t[8]=n=>i.value=!0)})):E("",!0)])])):E("",!0),r.value==="prompt"?(o(),oe(it,{key:3,"is-open":i.value,"onUpdate:isOpen":t[9]||(t[9]=n=>i.value=n),"working-directory":w.value||"",mode:"insert","hide-builtin":!0,onInsert:z},null,8,["is-open","working-directory"])):E("",!0),r.value==="prompt"?(o(),a("div",ws,[e("button",{type:"button",class:"section-toggle",onClick:t[10]||(t[10]=n=>y.value=!y.value)},[e("span",{class:pe(["toggle-chevron",{open:y.value}])},"▶",2),t[35]||(t[35]=ae(" Session Settings ",-1))]),y.value?(o(),a("div",Es,[J(lt,{mode:b.onEnterMode||"standard",model:b.onEnterModel,"effort-level":b.onEnterEffortLevel,"thinking-enabled":b.onEnterThinkingEnabled??!1,"hide-start-immediately":!0,"onUpdate:mode":t[11]||(t[11]=n=>b.onEnterMode=n),"onUpdate:model":t[12]||(t[12]=n=>b.onEnterModel=n),"onUpdate:effortLevel":t[13]||(t[13]=n=>b.onEnterEffortLevel=n),"onUpdate:thinkingEnabled":t[14]||(t[14]=n=>b.onEnterThinkingEnabled=n)},null,8,["mode","model","effort-level","thinking-enabled"]),e("div",Ts,[e("label",_s,[e("label",js,[V(e("input",{"onUpdate:modelValue":t[15]||(t[15]=n=>b.onEnterAutoRescheduleEnabled=n),type:"checkbox"},null,512),[[Fe,b.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))])]),b.onEnterAutoRescheduleEnabled?(o(),a("div",Fs,[e("div",Rs,[t[40]||(t[40]=e("p",{class:"settings-label"}," Reschedule Triggers ",-1)),e("label",Ms,[V(e("input",{"onUpdate:modelValue":t[16]||(t[16]=n=>b.onEnterRescheduleOnTokenLimit=n),type:"checkbox"},null,512),[[Fe,b.onEnterRescheduleOnTokenLimit]]),t[38]||(t[38]=e("span",null,"Token limit errors",-1))]),e("label",As,[V(e("input",{"onUpdate:modelValue":t[17]||(t[17]=n=>b.onEnterRescheduleOnServiceError=n),type:"checkbox"},null,512),[[Fe,b.onEnterRescheduleOnServiceError]]),t[39]||(t[39]=e("span",null,"Service unavailability",-1))])]),e("div",Ls,[t[42]||(t[42]=e("label",{class:"form-label"},"Reschedule Delay",-1)),V(e("select",{"onUpdate:modelValue":t[18]||(t[18]=n=>b.onEnterRescheduleDelayMinutes=n),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),[[we,b.onEnterRescheduleDelayMinutes,void 0,{number:!0}]])]),e("div",xs,[t[43]||(t[43]=e("label",{class:"form-label"},"Max Reschedule Count",-1)),V(e("input",{"onUpdate:modelValue":t[19]||(t[19]=n=>b.onEnterMaxRescheduleCount=n),type:"number",min:"1",max:"100",class:"form-input",placeholder:"Unlimited"},null,512),[[ye,b.onEnterMaxRescheduleCount,void 0,{number:!0}]])]),e("div",Os,[t[44]||(t[44]=e("label",{class:"form-label"},"Max Total Tokens",-1)),V(e("input",{"onUpdate:modelValue":t[20]||(t[20]=n=>b.onEnterMaxTotalTokens=n),type:"number",min:"1000",step:"1000",class:"form-input",placeholder:"Unlimited"},null,512),[[ye,b.onEnterMaxTotalTokens,void 0,{number:!0}]])]),e("div",Ps,[t[45]||(t[45]=e("label",{class:"form-label"},"Reschedule At Token Count",-1)),V(e("input",{"onUpdate:modelValue":t[21]||(t[21]=n=>b.onEnterRescheduleAtTokenCount=n),type:"number",min:"10000",step:"10000",class:"form-input",placeholder:"None"},null,512),[[ye,b.onEnterRescheduleAtTokenCount,void 0,{number:!0}]])])])):E("",!0)])):E("",!0)])):E("",!0),e("div",Bs,[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:c.value,onClick:B},M(c.value?"Deleting...":"Delete Lane"),9,Us)])]),e("div",Ds,[e("button",{class:"btn btn-secondary",onClick:Q}," Cancel "),e("button",{class:"btn btn-primary",disabled:k.value||!L.value,onClick:x},M(k.value?"Saving...":"Save Changes"),9,Vs)])])])):E("",!0)}},Is=Ce(Ns,[["__scopeId","data-v-0fd3a197"]]),Gs={class:"kanban-board"},Ks={key:0,class:"kanban-loading"},qs={key:1,class:"kanban-error"},Hs={key:2,class:"kanban-empty"},Ws={key:3,class:"kanban-lanes-container"},Qs=["onDragover","onDrop"],zs={class:"lane-header"},Ys={class:"lane-title-row"},Js={class:"lane-title"},Xs={key:0,class:"lane-automation-indicator",title:"Automation enabled"},Zs={class:"lane-header-actions"},eo={class:"lane-count"},to=["onClick"],no={class:"lane-cards"},so={key:0,class:"card-drop-indicator"},oo=["onDragstart","onDragover"],ao={class:"card-header"},lo={class:"card-title"},ro={class:"card-meta"},io={key:0,class:"card-mode"},uo={class:"card-reorder-arrows"},co=["onClick"],mo=["onClick"],po=["onClick"],vo=["onClick"],fo={key:0,class:"card-drop-indicator"},ho={key:1,class:"lane-empty"},bo={class:"lane-footer"},go={key:0,class:"lane-automation"},yo={key:1,class:"lane-automation"},ko=["onClick"],So={class:"add-lane-container"},Co={key:1,class:"add-lane-form"},$o={__name:"KanbanBoard",props:{projectId:{type:String,required:!0}},setup(l){const m=l,p=_e(),f=R(!1),u=R(""),T=R(null),j=R(null),_=R(null),k=R(-1),c=R(null),r=R(-1),y=R(!1),i=R(null),S=R(!1),g=R(null),$=R(!1),b=R(null),N=R(null),H=I(()=>p.board),w=I(()=>p.loading),s=I(()=>p.error),v=async()=>{try{await p.fetchBoard(m.projectId)}catch(A){console.error("Failed to fetch kanban board:",A)}},L=A=>{switch(A){case"running":case"starting":return"●";case"waiting":return"◐";case"completed":return"✓";case"error":return"✕";case"stopped":return"■";case"scheduled":return"⏰";default:return"○"}},O=(A,C,K,D)=>{T.value="card",j.value=C,_.value=K,k.value=D;const q=A.dataTransfer;q.effectAllowed="move",q.setData("text/plain",C.id)},G=(A,C,K)=>{if(T.value!=="card")return;const D=A.currentTarget.getBoundingClientRect(),q=D.top+D.height/2,ee=A.clientY<q?K:K+1;C===_.value&&(ee===k.value||ee===k.value+1)?(c.value=null,r.value=-1):(c.value=C,r.value=ee)},Z=()=>{T.value=null,j.value=null,_.value=null,k.value=-1,c.value=null,r.value=-1},le=async(A,C,K)=>{var fe,se;const D=(se=(fe=H.value)==null?void 0:fe.lanes)==null?void 0:se.find(F=>F.id===A);if(!(D!=null&&D.cards))return;let q=K>=0?K:D.cards.length;if(q>C&&q--,q===C)return;const ee=D.cards.map(F=>F.id),[be]=ee.splice(C,1);ee.splice(q,0,be);try{await p.reorderCards(m.projectId,A,ee)}catch(F){console.error("Failed to reorder cards:",F)}},ne=async(A,C)=>{try{await p.moveCard(m.projectId,A,C,{runOnEnterTemplate:!0})}catch(K){console.error("Failed to move card:",K)}},Q=async(A,C)=>{if(A.preventDefault(),T.value!=="card"||!j.value){Z();return}const K=A.dataTransfer.getData("text/plain");if(!K){Z();return}_.value===C?await le(C,k.value,r.value):await ne(K,C),Z()},z=async(A,C,K)=>{var be,fe;const D=(fe=(be=H.value)==null?void 0:be.lanes)==null?void 0:fe.find(se=>se.id===A);if(!(D!=null&&D.cards))return;const q=D.cards.map(se=>se.id),[ee]=q.splice(C,1);q.splice(K,0,ee);try{await p.reorderCards(m.projectId,A,q)}catch(se){console.error("Failed to reorder cards:",se)}},Y=async A=>{if(confirm("Remove this session from the board?"))try{await p.removeCard(m.projectId,A)}catch(C){console.error("Failed to remove card:",C)}},re=async()=>{if(u.value.trim())try{await p.createLane(m.projectId,{name:u.value.trim()}),ie()}catch(A){console.error("Failed to add lane:",A)}},ie=()=>{f.value=!1,u.value=""},de=A=>{i.value=A,y.value=!0},ge=()=>{y.value=!1,i.value=null},x=()=>{},B=A=>{g.value=A,S.value=!0},d=()=>{S.value=!1,g.value=null},t=()=>{},n=()=>{d()},W=(A,C)=>{b.value=A,N.value=C,$.value=!0},ue=()=>{$.value=!1,b.value=null,N.value=null},he=()=>{ue()};return ve(()=>m.projectId,A=>{A&&v()},{immediate:!0}),Pe(()=>{m.projectId&&v()}),(A,C)=>{var D,q,ee,be,fe,se;const K=Re("router-link");return o(),a("div",Gs,[w.value?(o(),a("div",Ks,[...C[5]||(C[5]=[e("span",{class:"loading-spinner"},null,-1),ae(" Loading board... ",-1)])])):s.value?(o(),a("div",qs,[C[6]||(C[6]=e("span",{class:"error-icon"},"!",-1)),ae(" "+M(s.value)+" ",1),e("button",{class:"retry-btn",onClick:v}," Retry ")])):H.value?(o(),a("div",Ws,[(o(!0),a(X,null,te(H.value.lanes,F=>{var Ee,Te,P;return o(),a("div",{key:F.id,class:"kanban-lane",onDragover:me(U=>{var ce;return G(U,F.id,((ce=F.cards)==null?void 0:ce.length)||0)},["prevent"]),onDrop:U=>Q(U,F.id)},[e("div",zs,[e("div",Ys,[e("h3",Js,M(F.name),1),F.onEnterTemplateId||F.onEnterPrompt?(o(),a("span",Xs,[...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)])])):E("",!0)]),e("div",Zs,[e("span",eo,M(((Ee=F.cards)==null?void 0:Ee.length)||0),1),e("button",{class:"lane-settings-btn",title:"Lane settings",onClick:U=>B(F)},[...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,to)])]),e("div",no,[(o(!0),a(X,null,te(F.cards,(U,ce)=>{var Ue,De;return o(),a(X,{key:U.id},[T.value==="card"&&c.value===F.id&&r.value===ce?(o(),a("div",so)):E("",!0),e("div",{class:pe(["kanban-card",{dragging:T.value==="card"&&((Ue=j.value)==null?void 0:Ue.id)===U.id}]),draggable:"true",onDragstart:me(Se=>O(Se,U,F.id,ce),["stop"]),onDragover:me(Se=>G(Se,F.id,ce),["prevent","stop"]),onDragend:Z},[(De=U.sessions)!=null&&De[0]?(o(),oe(K,{key:0,to:`/sessions/${U.sessions[0].id}`,class:"card-link"},{default:ke(()=>[e("div",ao,[e("span",{class:pe(["card-status",`status-${U.sessions[0].status}`])},M(L(U.sessions[0].status)),3),e("h4",lo,M(U.sessions[0].name),1)]),e("div",ro,[U.sessions[0].mode?(o(),a("span",io,M(U.sessions[0].mode),1)):E("",!0)])]),_:2},1032,["to"])):E("",!0),e("div",uo,[ce>0?(o(),a("button",{key:0,class:"card-reorder-btn",title:"Move card up",onClick:me(Se=>z(F.id,ce,ce-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,co)):E("",!0),ce<F.cards.length-1?(o(),a("button",{key:1,class:"card-reorder-btn",title:"Move card down",onClick:me(Se=>z(F.id,ce,ce+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,mo)):E("",!0)]),e("button",{class:"card-move-btn",title:"Move to lane",onClick:me(Se=>W(U,F.id),["prevent"])},[...C[12]||(C[12]=[qe('<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,po),e("button",{class:"card-remove-btn",title:"Remove from board",onClick:me(Se=>Y(U.id),["prevent"])}," × ",8,vo)],42,oo)],64)}),128)),T.value==="card"&&c.value===F.id&&r.value===(((Te=F.cards)==null?void 0:Te.length)||0)?(o(),a("div",fo)):E("",!0),(P=F.cards)!=null&&P.length?E("",!0):(o(),a("div",ho,[...C[13]||(C[13]=[e("span",null,"Drop sessions here",-1)])]))]),e("div",bo,[F.onEnterTemplateId?(o(),a("span",go," Auto: triggers template on entry ")):F.onEnterPrompt?(o(),a("span",yo," Auto: runs custom prompt on entry ")):E("",!0),e("button",{class:"add-session-btn",onClick:U=>de(F)}," + Add Session ",8,ko)])],40,Qs)}),128)),e("div",So,[f.value?(o(),a("div",Co,[V(e("input",{"onUpdate:modelValue":C[1]||(C[1]=F=>u.value=F),type:"text",placeholder:"Lane name...",class:"add-lane-input",onKeyup:[Ve(re,["enter"]),Ve(ie,["escape"])]},null,544),[[ye,u.value]]),e("div",{class:"add-lane-actions"},[e("button",{class:"add-lane-confirm",onClick:re}," Add "),e("button",{class:"add-lane-cancel",onClick:ie}," Cancel ")])])):(o(),a("button",{key:0,class:"add-lane-btn",onClick:C[0]||(C[0]=F=>f.value=!0)}," + Add Lane "))])])):(o(),a("div",Hs,[...C[7]||(C[7]=[e("p",null,"Kanban board is not available for this project.",-1)])])),J(Xe,{"is-open":y.value,"project-id":l.projectId,"lane-id":(D=i.value)==null?void 0:D.id,"lane-name":(q=i.value)==null?void 0:q.name,"onUpdate:isOpen":C[2]||(C[2]=F=>y.value=F),onClose:ge,onAdded:x},null,8,["is-open","project-id","lane-id","lane-name"]),J(Is,{"is-open":S.value,"project-id":l.projectId,lane:g.value,"onUpdate:isOpen":C[3]||(C[3]=F=>S.value=F),onClose:d,onUpdated:t,onDeleted:n},null,8,["is-open","project-id","lane"]),J(dt,{"is-open":$.value,"project-id":l.projectId,"card-id":(ee=b.value)==null?void 0:ee.id,"current-lane-id":N.value,"session-name":(se=(fe=(be=b.value)==null?void 0:be.sessions)==null?void 0:fe[0])==null?void 0:se.name,"onUpdate:isOpen":C[4]||(C[4]=F=>$.value=F),onClose:ue,onMoved:he},null,8,["is-open","project-id","card-id","current-lane-id","session-name"])])}}},wo={class:"container"},Eo={class:"page-header"},To={class:"project-title"},_o=["href"],jo={class:"tabs"},Fo={class:"tabs-desktop"},Ro={class:"tabs-left"},Mo={class:"tabs-mobile"},Ao=["value"],Lo={key:0,value:"kanban"},xo={key:2,class:"tab-spacer"},Oo={key:3},Po={key:0,class:"skeleton-list"},Bo={key:1,class:"error-message"},Uo={key:2,class:"empty-state"},Do={key:3,class:"empty-state"},Vo={key:4,class:"session-list"},No={key:5},Io={key:6},Go={class:"modal-content lane-selector-modal"},Ko={class:"modal-body"},qo={class:"modal-description"},Ho={class:"lane-options"},Wo=["onClick"],Qo={class:"lane-option-name"},zo={class:"lane-option-count"},Yo={key:0,class:"empty-lanes"},ma={__name:"SessionListView",setup(l){const m=nt(),p=Ke(),f=Be(),u=$e(),T=_e(),j=He();pt(),j.restoreCollapsedLogState();const _=I(()=>{switch(m.name){case"ArchivedSessions":return"archived";case"ProjectTemplates":return"templates";case"ProjectCommands":return"commands";case"ProjectKanban":return"kanban";default:return"sessions"}});function k(t){const n=m.params.id,W={sessions:`/projects/${n}/sessions`,archived:`/projects/${n}/archived`,templates:`/projects/${n}/templates`,commands:`/projects/${n}/commands`,kanban:`/projects/${n}/kanban`};p.push(W[t])}const c=I(()=>m.params.id),{summaries:r,loadingSummaries:y,summaryErrors:i,fetchSummariesBatch:S,retryFetchSummary:g,updateSummary:$,cleanupSummary:b}=ct(),{filteredGroupedSessions:N}=Je(),{archivedLoaded:H}=mt(c,{fetchSummariesBatch:S,updateSummary:$,cleanupSummary:b});let w=null;ve(()=>u.sessions,()=>{clearTimeout(w),w=setTimeout(()=>{S(u.sessions)},400)}),ve(()=>m.name,async t=>{t==="ArchivedSessions"&&await s()},{immediate:!0}),ve([_,()=>{var t;return(t=f.currentProject)==null?void 0:t.kanbanEnabled}],([t,n])=>{t==="kanban"&&n===!1&&p.replace(`/projects/${m.params.id}/sessions`)},{immediate:!0}),ve(()=>u.starredFilter,async(t,n)=>{_.value==="archived"&&H.value&&t!==n&&(await u.fetchArchivedSessions(c.value,{reset:!0}),S(u.archivedSessions))});async function s(){H.value||(await u.fetchArchivedSessions(c.value,{reset:!0}),H.value=!0,S(u.archivedSessions))}async function v(){await u.loadMoreArchivedSessions(c.value),S(u.archivedSessions)}const L=R(!1),O=R(null),G=R(!1);function Z(t){const n=u.sessions.find(W=>W.id===t);O.value=n||{id:t},L.value=!0}async function le(t){if(O.value){G.value=!0;try{await u.archiveSession(O.value.id,{cleanup:t}),z.success("Session archived")}catch(n){z.error(n.message||"Failed to archive session")}finally{G.value=!1,L.value=!1,O.value=null}}}function ne(){L.value=!1,O.value=null}async function Q(t){try{await u.unarchiveSession(t)}catch(n){console.error("Failed to unarchive session:",n)}}const z=Me(),Y=R(!1),re=R(null),ie=R(!1),de=R(null);function ge(t){de.value=t,ie.value=!0}function x(){ie.value=!1,de.value=null}async function B(t){if(!(!de.value||!t))try{await T.addSessionToBoard(m.params.id,de.value.id,t.id),z.success(`Session added to "${t.name}"`),x()}catch(n){console.error("Failed to add session to board:",n),z.error(n.message||"Failed to add session to board")}}function d(){Y.value=!1,re.value=null}return Pe(()=>{u.restoreStatusFilter(),u.restoreStarredFilter(),u.restoreScheduledFilter();const t=m.params.id;t&&T.fetchBoard(t).catch(n=>{console.warn("Failed to fetch kanban board:",n)})}),Oe(()=>{clearTimeout(w)}),(t,n)=>{var ue,he,A,C,K,D,q,ee,be,fe,se,F,Ee,Te;const W=Re("router-link");return o(),a("div",wo,[e("div",Eo,[e("div",null,[e("div",To,[e("h1",null,M(((ue=h(f).currentProject)==null?void 0:ue.name)||"Sessions"),1),(he=h(f).currentProject)!=null&&he.repoUrl?(o(),a("a",{key:0,href:h(f).currentProject.repoUrl,target:"_blank",rel:"noopener noreferrer",class:"repo-link",title:"Open repository"},[...n[7]||(n[7]=[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,_o)):E("",!0),J(W,{to:`/projects/${h(m).params.id}/edit`,class:"settings-link",title:"Project settings"},{default:ke(()=>[...n[8]||(n[8]=[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"])])]),_.value==="sessions"?(o(),oe(W,{key:0,to:`/projects/${h(m).params.id}/sessions/new`,class:"btn btn-primary mobile-only"},{default:ke(()=>[...n[9]||(n[9]=[ae(" + Session ",-1)])]),_:1},8,["to"])):E("",!0)]),e("div",jo,[e("div",Fo,[e("div",Ro,[e("button",{class:pe(["tab",{active:_.value==="sessions"}]),onClick:n[0]||(n[0]=P=>h(p).push(`/projects/${h(m).params.id}/sessions`))}," Sessions ",2),e("button",{class:pe(["tab",{active:_.value==="archived"}]),onClick:n[1]||(n[1]=P=>h(p).push(`/projects/${h(m).params.id}/archived`))}," Archived ",2),e("button",{class:pe(["tab",{active:_.value==="templates"}]),onClick:n[2]||(n[2]=P=>h(p).push(`/projects/${h(m).params.id}/templates`))}," Templates ",2),e("button",{class:pe(["tab",{active:_.value==="commands"}]),onClick:n[3]||(n[3]=P=>h(p).push(`/projects/${h(m).params.id}/commands`))}," Commands ",2),(A=h(f).currentProject)!=null&&A.kanbanEnabled?(o(),a("button",{key:0,class:pe(["tab",{active:_.value==="kanban"}]),onClick:n[4]||(n[4]=P=>h(p).push(`/projects/${h(m).params.id}/kanban`))},[...n[10]||(n[10]=[ae(" Kanban ",-1),e("span",{class:"ml-1 rounded bg-amber-900/50 px-1.5 py-0.5 text-[10px] font-semibold uppercase text-amber-300"}," Experimental ",-1)])],2)):E("",!0)]),_.value==="sessions"?(o(),oe(W,{key:0,to:`/projects/${h(m).params.id}/sessions/new`,class:"btn btn-primary desktop-only","aria-label":"New Session"},{default:ke(()=>[...n[11]||(n[11]=[e("span",{class:"add-session-label-full"},"+ Session",-1),e("span",{class:"add-session-label-short"},"+",-1)])]),_:1},8,["to"])):E("",!0)]),e("div",Mo,[e("select",{value:_.value,class:"tab-select",onChange:n[5]||(n[5]=P=>k(P.target.value))},[n[12]||(n[12]=e("option",{value:"sessions"}," Sessions ",-1)),n[13]||(n[13]=e("option",{value:"archived"}," Archived ",-1)),n[14]||(n[14]=e("option",{value:"templates"}," Templates ",-1)),n[15]||(n[15]=e("option",{value:"commands"}," Commands ",-1)),(C=h(f).currentProject)!=null&&C.kanbanEnabled?(o(),a("option",Lo," Kanban (experimental) ")):E("",!0)],40,Ao)])]),_.value==="sessions"?(o(),oe(Ne,{key:0,"show-status-filters":!0,"show-scheduled-filter":!0})):_.value==="archived"?(o(),oe(Ne,{key:1,"show-status-filters":!1,"show-scheduled-filter":!1})):(o(),a("div",xo)),_.value==="sessions"?(o(),a("div",Oo,[h(u).loading?(o(),a("div",Po,[(o(),a(X,null,te(3,P=>e("div",{key:P,class:"skeleton card",style:{height:"120px"}})),64))])):h(u).error?(o(),a("div",Bo,M(h(u).error),1)):h(u).sessions.length===0?(o(),a("div",Uo,[n[17]||(n[17]=e("p",null,"No sessions yet. Start a new session to interact with the agent.",-1)),J(W,{to:`/projects/${h(m).params.id}/sessions/new`,class:"btn btn-primary"},{default:ke(()=>[...n[16]||(n[16]=[ae(" New Session ",-1)])]),_:1},8,["to"])])):h(N).length===0?(o(),a("div",Do,[...n[18]||(n[18]=[e("p",null,"No sessions match the current filter.",-1)])])):(o(),a("div",Vo,[(o(!0),a(X,null,te(h(N),P=>{var U;return o(),oe(Qe,{key:P.parent.id,session:P.parent,"show-summary":!0,summary:h(r)[P.parent.id],"summary-loading":h(y)[P.parent.id],"summary-error":h(i)[P.parent.id],"show-archive":!0,"kanban-enabled":((U=h(f).currentProject)==null?void 0:U.kanbanEnabled)??!1,"pr-url":P.parent.prUrl,"pr-summary":h(r)[P.parent.id],onRetrySummary:h(g),onArchive:Z,onAddToBoard:ge},null,8,["session","summary","summary-loading","summary-error","kanban-enabled","pr-url","pr-summary","onRetrySummary"])}),128))]))])):E("",!0),_.value==="archived"?(o(),oe(Bt,{key:4,summaries:h(r),"loading-summaries":h(y),"summary-errors":h(i),onRetrySummary:h(g),onUnarchive:Q,onLoadMore:v},null,8,["summaries","loading-summaries","summary-errors","onRetrySummary"])):E("",!0),_.value==="templates"?(o(),a("div",No,[J($n,{"project-id":h(m).params.id},null,8,["project-id"])])):E("",!0),_.value==="commands"?(o(),a("div",Io,[J(Un,{"project-id":h(m).params.id},null,8,["project-id"])])):E("",!0),_.value==="kanban"?(o(),oe($o,{key:7,"project-id":h(m).params.id},null,8,["project-id"])):E("",!0),J(Xe,{"is-open":Y.value,"project-id":h(m).params.id,"lane-id":(K=re.value)==null?void 0:K.id,"lane-name":(D=re.value)==null?void 0:D.name,"onUpdate:isOpen":n[6]||(n[6]=P=>Y.value=P),onClose:d},null,8,["is-open","project-id","lane-id","lane-name"]),ie.value?(o(),a("div",{key:8,class:"modal-backdrop",onClick:me(x,["self"])},[e("div",Go,[e("div",{class:"modal-header"},[n[19]||(n[19]=e("h2",{class:"modal-title"}," Add to Kanban Board ",-1)),e("button",{class:"close-btn","aria-label":"Close",onClick:x}," × ")]),e("div",Ko,[e("p",qo,' Select a lane to add "'+M((q=de.value)==null?void 0:q.name)+'" to: ',1),e("div",Ho,[(o(!0),a(X,null,te((ee=h(T).board)==null?void 0:ee.lanes,P=>{var U;return o(),a("button",{key:P.id,class:"lane-option-btn",onClick:ce=>B(P)},[e("span",Qo,M(P.name),1),e("span",zo,M(((U=P.cards)==null?void 0:U.length)||0)+" cards",1)],8,Wo)}),128))]),(fe=(be=h(T).board)==null?void 0:be.lanes)!=null&&fe.length?E("",!0):(o(),a("p",Yo," No lanes available. Go to the Kanban tab to create lanes first. "))]),e("div",{class:"modal-footer"},[e("button",{class:"btn btn-secondary",onClick:x}," Cancel ")])])])):E("",!0),J(ut,{"is-open":L.value,"session-name":((se=O.value)==null?void 0:se.name)||"this session","has-cleanup-script":!!((F=h(f).currentProject)!=null&&F.onSessionDeleted&&((Ee=O.value)!=null&&Ee.gitWorktree)&&!((Te=O.value)!=null&&Te.parentSessionId)),loading:G.value,onConfirm:le,onCancel:ne},null,8,["is-open","session-name","has-cleanup-script","loading"])])}}};export{ma as default};