coding-tool-x 3.7.3 → 3.7.5

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 (44) hide show
  1. package/dist/web/assets/{Analytics-BqDjJUJl.js → Analytics-DnnufrQi.js} +1 -1
  2. package/dist/web/assets/{ConfigTemplates-DV2KFuC4.js → ConfigTemplates-BTVhMSfe.js} +1 -1
  3. package/dist/web/assets/Home-CqnBXFxj.css +1 -0
  4. package/dist/web/assets/Home-D03PEREx.js +1 -0
  5. package/dist/web/assets/{PluginManager-Bd3hhc5A.js → PluginManager-BiMqEiyQ.js} +1 -1
  6. package/dist/web/assets/{ProjectList-BB4Whns8.js → ProjectList-C6BA3V49.js} +1 -1
  7. package/dist/web/assets/{ProjectList-D3a0oRum.css → ProjectList-DQ5ZCJO2.css} +1 -1
  8. package/dist/web/assets/SessionList--9Bl6EhV.css +1 -0
  9. package/dist/web/assets/SessionList-DChG04jz.js +1 -0
  10. package/dist/web/assets/{SkillManager-DQjRXOFg.js → SkillManager-DAy8k5CL.js} +1 -1
  11. package/dist/web/assets/{WorkspaceManager-CZeXnxu1.js → WorkspaceManager-Bs2D6R9j.js} +1 -1
  12. package/dist/web/assets/index-DnDBHGCC.js +2 -0
  13. package/dist/web/assets/index-U3TOywtB.css +1 -0
  14. package/dist/web/index.html +2 -2
  15. package/package.json +1 -1
  16. package/src/config/paths.js +2 -0
  17. package/src/server/api/codex-projects.js +22 -9
  18. package/src/server/api/codex-sessions.js +30 -21
  19. package/src/server/api/dashboard.js +174 -94
  20. package/src/server/api/gemini-projects.js +20 -8
  21. package/src/server/api/gemini-sessions.js +28 -26
  22. package/src/server/api/omp-projects.js +19 -7
  23. package/src/server/api/omp-sessions.js +31 -17
  24. package/src/server/api/opencode-projects.js +19 -8
  25. package/src/server/api/opencode-sessions.js +28 -21
  26. package/src/server/api/projects.js +18 -22
  27. package/src/server/api/sessions.js +32 -16
  28. package/src/server/services/channel-balance.js +52 -5
  29. package/src/server/services/codex-sessions.js +23 -10
  30. package/src/server/services/dashboard-snapshot-worker.js +216 -0
  31. package/src/server/services/gemini-sessions.js +15 -3
  32. package/src/server/services/omp-sessions.js +31 -11
  33. package/src/server/services/opencode-sessions.js +9 -6
  34. package/src/server/services/project-snapshots.js +52 -0
  35. package/src/server/services/session-snapshot-worker.js +158 -0
  36. package/src/server/services/session-snapshots.js +137 -0
  37. package/src/server/services/sessions.js +6 -4
  38. package/src/server/services/snapshot-cache.js +361 -0
  39. package/dist/web/assets/Home-D7hovkk9.js +0 -1
  40. package/dist/web/assets/Home-Jom_ZcdY.css +0 -1
  41. package/dist/web/assets/SessionList-CvurKSRK.js +0 -1
  42. package/dist/web/assets/SessionList-D12muXvx.css +0 -1
  43. package/dist/web/assets/index-BovYCFsd.js +0 -2
  44. package/dist/web/assets/index-kQCC5dlu.css +0 -1
@@ -1 +0,0 @@
1
- .channel-column[data-v-6009b6d9]{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--gradient-card);border:1px solid var(--border-primary);border-radius:18px;overflow:hidden;box-shadow:0 22px 52px #0f171d1a}.channel-header[data-v-6009b6d9]{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-secondary) 100%);position:relative}.drag-handle[data-v-6009b6d9]{cursor:grab;color:var(--text-tertiary);display:flex;align-items:center;padding:4px;margin:-4px 0 -4px -4px;border-radius:4px;transition:all .2s}.drag-handle[data-v-6009b6d9]:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.drag-handle[data-v-6009b6d9]:active{cursor:grabbing}.channel-header[data-v-6009b6d9]:after{content:"";position:absolute;bottom:0;left:18px;right:18px;height:2px;border-radius:1px}.channel-header.claude[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(24,160,88,.1) 0%,var(--bg-secondary) 100%)}.channel-header.claude[data-v-6009b6d9]:after{background:linear-gradient(90deg,#18a058,#18a0584d)}.channel-header.codex[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(59,130,246,.1) 0%,var(--bg-secondary) 100%)}.channel-header.codex[data-v-6009b6d9]:after{background:linear-gradient(90deg,#3b82f6,#3b82f64d)}.channel-header.gemini[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(168,85,247,.1) 0%,var(--bg-secondary) 100%)}.channel-header.gemini[data-v-6009b6d9]:after{background:linear-gradient(90deg,#a855f7,#a855f74d)}.channel-header.opencode[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(234,88,12,.1) 0%,var(--bg-secondary) 100%)}.channel-header.opencode[data-v-6009b6d9]:after{background:linear-gradient(90deg,#ea580c,#ea580c4d)}.channel-header.omp[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(15,159,154,.1) 0%,var(--bg-secondary) 100%)}.channel-header.omp[data-v-6009b6d9]:after{background:linear-gradient(90deg,#0f9f9a,#0f9f9a4d)}.channel-header.custom-cli[data-v-6009b6d9]{background:linear-gradient(135deg,color-mix(in srgb,var(--channel-accent, #64748b) 12%,transparent) 0%,var(--bg-secondary) 100%)}.channel-header.custom-cli[data-v-6009b6d9]:after{background:linear-gradient(90deg,var(--channel-accent, #64748b),color-mix(in srgb,var(--channel-accent, #64748b) 32%,transparent))}.header-icon[data-v-6009b6d9]{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px #0f171d24}.channel-header.claude .header-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#18a058,#15803d);color:#fff}.channel-header.codex .header-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.channel-header.gemini .header-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff}.channel-header.opencode .header-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#ea580c,#c2410c);color:#fff}.channel-header.omp .header-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#0f9f9a,#0f766e);color:#fff}.channel-header.custom-cli .header-icon[data-v-6009b6d9]{background:linear-gradient(135deg,var(--channel-accent, #64748b) 0%,color-mix(in srgb,var(--channel-accent, #64748b) 72%,#0f172a) 100%);color:#fff}.channel-title[data-v-6009b6d9]{font-size:13px;font-weight:700;margin:0;color:var(--text-primary);letter-spacing:.3px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.channel-content[data-v-6009b6d9]{flex:1;min-height:0;overflow:hidden;padding:10px;display:flex;flex-direction:column;gap:6px}.card[data-v-6009b6d9]{background:var(--gradient-card);border:1px solid var(--border-primary);border-radius:14px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;box-shadow:0 10px 28px #0f171d0f;position:relative}.card[data-v-6009b6d9]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .3s ease}.card[data-v-6009b6d9]:hover{box-shadow:0 18px 38px #0f171d1a;border-color:var(--border-secondary)}.card[data-v-6009b6d9]:hover:before{opacity:1}.card.clickable[data-v-6009b6d9]{cursor:pointer}.card.clickable[data-v-6009b6d9]:hover{border-color:#18a058;transform:translateY(-2px);box-shadow:0 8px 24px #18a0582e}.card.clickable[data-v-6009b6d9]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(24,160,88,.02) 0%,transparent 100%);opacity:0;transition:opacity .3s ease;pointer-events:none}.card.clickable[data-v-6009b6d9]:hover:after{opacity:1}.card-header[data-v-6009b6d9]{display:flex;align-items:center;gap:8px;padding:9px 12px;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border-bottom:1px solid var(--border-primary);position:relative;min-height:24px}.card-header.compact[data-v-6009b6d9]{padding:8px 12px}.card-header .n-icon[data-v-6009b6d9]{color:var(--text-tertiary);transition:color .2s ease}.card:hover .card-header .n-icon[data-v-6009b6d9]{color:var(--text-secondary)}.card-title[data-v-6009b6d9]{font-size:11px;font-weight:700;margin:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px}.runtime-badge[data-v-6009b6d9]{display:inline-flex;align-items:center;padding:3px 8px;margin-left:8px;font-size:10px;font-weight:600;color:#10b981;background:linear-gradient(135deg,#10b9811a,#34d3991a);border:1px solid rgba(16,185,129,.2);border-radius:999px;white-space:nowrap;animation:pulse-runtime-6009b6d9 2s ease-in-out infinite}@keyframes pulse-runtime-6009b6d9{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.98)}}.card-body[data-v-6009b6d9]{padding:8px 10px;background:transparent}.card-body.compact[data-v-6009b6d9]{padding:7px 10px}.proxy-control[data-v-6009b6d9]{display:flex;justify-content:space-between;align-items:center;gap:16px}.proxy-info[data-v-6009b6d9]{display:flex;flex-direction:column;gap:4px}.proxy-info-row[data-v-6009b6d9]{display:flex;align-items:center;justify-content:space-between}.proxy-status[data-v-6009b6d9]{display:flex;align-items:center;gap:6px}.proxy-port[data-v-6009b6d9]{font-size:11px;color:var(--text-secondary);margin-left:6px}.channel-selector[data-v-6009b6d9]{display:flex;align-items:center;padding:4px 8px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-secondary);transition:all .2s ease}.channel-selector[data-v-6009b6d9]:hover{background:var(--hover-bg);border-color:var(--border-secondary);color:var(--text-primary)}.channel-selector[data-v-6009b6d9]:disabled{opacity:.5;cursor:not-allowed}.channel-name[data-v-6009b6d9]{font-size:11px;font-weight:500;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot[data-v-6009b6d9]{width:8px;height:8px;border-radius:50%;background:var(--border-secondary);transition:all .3s ease}.status-dot.active[data-v-6009b6d9]{background:#18a058;box-shadow:0 0 8px #18a05880}.quick-stats[data-v-6009b6d9]{display:flex;gap:16px;padding:4px 0}.stat-item[data-v-6009b6d9]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0}.stat-divider[data-v-6009b6d9]{width:1px;background:linear-gradient(180deg,transparent 0%,var(--border-primary) 50%,transparent 100%)}.quick-access-list[data-v-6009b6d9]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.access-card[data-v-6009b6d9]{display:flex;align-items:center;gap:5px;padding:7px 8px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-primary);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;position:relative;min-height:44px;overflow:hidden}.access-card[data-v-6009b6d9]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s ease;pointer-events:none}.access-icon[data-v-6009b6d9]{width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.access-content[data-v-6009b6d9]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;overflow:hidden}.access-card-projects .access-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#6366f126,#8b5cf626);color:#6366f1}.access-card-projects[data-v-6009b6d9]:before{background:linear-gradient(135deg,#6366f114,#8b5cf614)}.access-card-projects:hover .access-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#6366f140,#8b5cf640);transform:translateY(-1px)}.access-card-sessions .access-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#10b98126,#05966926);color:#10b981}.access-card-sessions[data-v-6009b6d9]:before{background:linear-gradient(135deg,#10b98114,#05966914)}.access-card-sessions:hover .access-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#10b98140,#05966940);transform:translateY(-1px)}.access-card-goto .access-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#f59e0b26,#fb923c26);color:#f59e0b}.access-card-goto[data-v-6009b6d9]:before{background:linear-gradient(135deg,#f59e0b14,#fb923c14)}.access-card-goto:hover .access-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#f59e0b40,#fb923c40);transform:translate(2px)}.access-card.clickable[data-v-6009b6d9]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a;border-color:var(--border-secondary)}.access-card.clickable[data-v-6009b6d9]:hover:before{opacity:1}.access-card.disabled[data-v-6009b6d9]{cursor:default;opacity:.62}.access-card.disabled[data-v-6009b6d9]:hover{transform:none;box-shadow:none;border-color:var(--border-primary)}.access-card.clickable[data-v-6009b6d9]:active{transform:translateY(0)}.access-label[data-v-6009b6d9]{display:block;font-size:8px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;line-height:1.1}.access-value[data-v-6009b6d9]{display:block;font-size:13px;font-weight:800;color:var(--text-primary);line-height:1;white-space:nowrap}.access-goto[data-v-6009b6d9]{display:block;font-size:9px;font-weight:700;color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-inline[data-v-6009b6d9]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stats-inline.stats-3col[data-v-6009b6d9]{grid-template-columns:repeat(3,1fr)}.stat-inline-item[data-v-6009b6d9]{display:flex;align-items:center;gap:8px;padding:10px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-primary);transition:all .2s ease}.stat-inline-item[data-v-6009b6d9]:hover{border-color:var(--border-secondary);background:var(--hover-bg)}.stat-icon-dot[data-v-6009b6d9]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.stat-icon-dot.requests[data-v-6009b6d9]{background:#3b82f6;box-shadow:0 0 6px #3b82f680}.stat-icon-dot.tokens[data-v-6009b6d9]{background:#18a058;box-shadow:0 0 6px #18a05880}.stat-icon-dot.cost[data-v-6009b6d9]{background:#f59e0b;box-shadow:0 0 6px #f59e0b80}.stat-info[data-v-6009b6d9]{display:flex;flex-direction:column;gap:1px;min-width:0}.stat-label[data-v-6009b6d9]{font-size:10px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.2px}.stat-value[data-v-6009b6d9]{font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.2;transition:all .3s ease}.stat-value.animating[data-v-6009b6d9]{animation:numberChange-6009b6d9 .6s ease}@keyframes numberChange-6009b6d9{0%{transform:translateY(-6px);opacity:.5}50%{transform:translateY(0);opacity:1;color:var(--primary-color)}to{transform:translateY(0);opacity:1}}.stats-card[data-v-6009b6d9],.chart-card[data-v-6009b6d9]{border-left:2px solid transparent}.stats-card-claude[data-v-6009b6d9],.chart-card[data-v-6009b6d9]:has(+.stats-card-claude),.card[data-v-6009b6d9]:has(.panel-card):nth-child(4){border-left-color:#18a058}.chart-card.chart-card-claude[data-v-6009b6d9]{border-left-color:#18a058}.stats-card-codex[data-v-6009b6d9],.chart-card[data-v-6009b6d9]:has(+.stats-card-codex),.card[data-v-6009b6d9]:has(.panel-card):nth-child(4){border-left-color:#3b82f6}.chart-card.chart-card-codex[data-v-6009b6d9]{border-left-color:#3b82f6}.stats-card-gemini[data-v-6009b6d9],.chart-card[data-v-6009b6d9]:has(+.stats-card-gemini),.card[data-v-6009b6d9]:has(.panel-card):nth-child(4){border-left-color:#a855f7}.chart-card.chart-card-gemini[data-v-6009b6d9]{border-left-color:#a855f7}.stats-card-opencode[data-v-6009b6d9],.chart-card[data-v-6009b6d9]:has(+.stats-card-opencode),.card[data-v-6009b6d9]:has(.panel-card):nth-child(4){border-left-color:#ea580c}.chart-card.chart-card-opencode[data-v-6009b6d9]{border-left-color:#ea580c}.stats-card-omp[data-v-6009b6d9],.chart-card[data-v-6009b6d9]:has(+.stats-card-omp),.card[data-v-6009b6d9]:has(.panel-card):nth-child(4){border-left-color:#0f9f9a}.chart-card.chart-card-omp[data-v-6009b6d9]{border-left-color:#0f9f9a}.chart-card[data-v-6009b6d9]{padding:0;overflow:hidden}.chart-card[data-v-6009b6d9] .panel-card{border:none;border-radius:0;box-shadow:none;background:transparent}.stat-requests .stat-value[data-v-6009b6d9]{color:#3b82f6}.stat-input .stat-value[data-v-6009b6d9]{color:#18a058}.stat-output .stat-value[data-v-6009b6d9]{color:#f59e0b}.token-label[data-v-6009b6d9]{display:flex;align-items:center;gap:8px}.token-dot[data-v-6009b6d9]{width:8px;height:8px;border-radius:50%}.logs-card[data-v-6009b6d9]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-primary);border-radius:14px}.logs-card-body[data-v-6009b6d9]{flex:1;min-height:0;display:flex;flex-direction:column;padding:0}.logs-card .card-header[data-v-6009b6d9]{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%)}.logs-table-wrapper[data-v-6009b6d9]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.logs-table-header[data-v-6009b6d9]{display:flex;padding:8px 12px;background:linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border-bottom:1px solid var(--border-primary);font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.6px;flex-shrink:0}.logs-header-claude .log-col[data-v-6009b6d9]{color:#18a058b3;font-weight:600}.logs-header-codex .log-col[data-v-6009b6d9]{color:#3b82f6b3;font-weight:600}.logs-header-gemini .log-col[data-v-6009b6d9]{color:#a855f7b3;font-weight:600}.logs-header-opencode .log-col[data-v-6009b6d9]{color:#ea580cb3;font-weight:600}.logs-header-omp .log-col[data-v-6009b6d9]{color:#0f9f9ab3;font-weight:600}[data-theme=dark] .logs-header-claude .log-col[data-v-6009b6d9]{color:#34d399a6}[data-theme=dark] .logs-header-codex .log-col[data-v-6009b6d9]{color:#60a5faa6}[data-theme=dark] .logs-header-gemini .log-col[data-v-6009b6d9]{color:#c084fca6}[data-theme=dark] .logs-header-opencode .log-col[data-v-6009b6d9]{color:#fb923ca6}[data-theme=dark] .logs-header-omp .log-col[data-v-6009b6d9]{color:#2dd4bfa6}[data-theme=dark] .channel-column[data-v-6009b6d9]{background:linear-gradient(180deg,#121b22fa,#091016fa);border-color:#364c56d1;box-shadow:0 18px 42px #00000047}[data-theme=dark] .channel-header[data-v-6009b6d9]{background:linear-gradient(180deg,#16222ae6,#0d161dd1)}[data-theme=dark] .card[data-v-6009b6d9],[data-theme=dark] .access-card[data-v-6009b6d9],[data-theme=dark] .stat-inline-item[data-v-6009b6d9]{background:linear-gradient(180deg,#121c23f0,#0c151cf5);border-color:#364c56c7}[data-theme=dark] .card[data-v-6009b6d9]:hover,[data-theme=dark] .access-card.clickable[data-v-6009b6d9]:hover,[data-theme=dark] .stat-inline-item[data-v-6009b6d9]:hover{border-color:#4c6570eb;box-shadow:0 12px 28px #0000003d}[data-theme=dark] .card-header[data-v-6009b6d9]{background:linear-gradient(180deg,#16222aeb,#0e181ff5);border-bottom-color:#364c56b8}[data-theme=dark] .logs-table-wrapper[data-v-6009b6d9]{background:#091016f5}[data-theme=dark] .logs-table-header[data-v-6009b6d9]{background:linear-gradient(180deg,#121d25f5,#0b141bfa);border-bottom-color:#364c56c2}.logs-container[data-v-6009b6d9]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.logs-container[data-v-6009b6d9]::-webkit-scrollbar{width:4px}.logs-container[data-v-6009b6d9]::-webkit-scrollbar-thumb{background:#18a0584d;border-radius:2px}.logs-container[data-v-6009b6d9]::-webkit-scrollbar-thumb:hover{background:#18a05880}.empty-logs[data-v-6009b6d9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-tertiary);min-height:200px;text-align:center}.log-row[data-v-6009b6d9]{display:flex;align-items:center;padding:10px 12px;min-height:40px;border-bottom:1px solid var(--border-primary);font-size:12px;transition:all .2s ease;background:var(--bg-primary);position:relative}.log-row[data-v-6009b6d9]:nth-child(2n){background:var(--bg-secondary)}[data-theme=dark] .log-row[data-v-6009b6d9]{background:#091016f5;border-bottom-color:#364c5694}[data-theme=dark] .log-row[data-v-6009b6d9]:nth-child(2n){background:#0d161df5}.log-row[data-v-6009b6d9]:hover{background:var(--hover-bg);transform:translate(2px)}.log-row.new-log[data-v-6009b6d9]{animation:newLogPulse-6009b6d9 4.5s cubic-bezier(.25,.46,.45,.94) forwards;border-left:3px solid #18a058}@keyframes newLogPulse-6009b6d9{0%{background:linear-gradient(90deg,#18a05826,#18a0580f);box-shadow:0 0 8px #18a05833}5%{background:linear-gradient(90deg,#18a0582e,#18a05814);box-shadow:0 0 12px 1px #18a05840}15%{background:linear-gradient(90deg,#18a05829,#18a05812);box-shadow:0 0 10px 1px #18a05833}30%{background:linear-gradient(90deg,#18a0581f,#18a0580d);box-shadow:0 0 6px #18a05826}50%{background:linear-gradient(90deg,#18a05814,#18a05808);box-shadow:0 0 4px #18a0581a}70%{background:linear-gradient(90deg,#18a0580a,#18a05804);box-shadow:0 0 2px #18a0580f}85%{background:linear-gradient(90deg,#18a05805,#18a05802);box-shadow:0 0 1px #18a05808}to{background:transparent;box-shadow:0 0 #18a05800;border-left-color:transparent}}[data-theme=dark] .log-row.new-log[data-v-6009b6d9]{animation:newLogPulseDark-6009b6d9 4.5s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes newLogPulseDark-6009b6d9{0%{background:linear-gradient(90deg,#18a05833,#18a05814);box-shadow:0 0 10px #18a05840}5%{background:linear-gradient(90deg,#18a0583d,#18a0581a);box-shadow:0 0 14px 2px #18a0584d}15%{background:linear-gradient(90deg,#18a05836,#18a05817);box-shadow:0 0 12px 1px #18a05840}30%{background:linear-gradient(90deg,#18a05829,#18a05812);box-shadow:0 0 8px 1px #18a0582e}50%{background:linear-gradient(90deg,#18a0581c,#18a0580b);box-shadow:0 0 5px #18a0581f}70%{background:linear-gradient(90deg,#18a0580f,#18a05806);box-shadow:0 0 3px #18a05814}85%{background:linear-gradient(90deg,#18a05808,#18a05803);box-shadow:0 0 1px #18a0580a}to{background:transparent;box-shadow:0 0 #18a05800;border-left-color:transparent}}.log-row.new-log.action-row[data-v-6009b6d9]{border-left:3px solid #18a058}.log-row.action-row[data-v-6009b6d9]{background:linear-gradient(90deg,#18a0581f,#18a0580a);border-left:3px solid #18a058;padding-left:8px}.log-row.error-row[data-v-6009b6d9]{background:linear-gradient(90deg,#d0305024,#d030500a);border-left:3px solid #d03050;padding-left:8px}.log-row.action-row[data-v-6009b6d9]:hover{background:linear-gradient(90deg,#18a0582e,#18a05814)}.log-row.error-row[data-v-6009b6d9]:hover{background:linear-gradient(90deg,#d0305033,#d0305014)}.action-content[data-v-6009b6d9]{display:flex;align-items:center;gap:8px;width:100%}.action-msg[data-v-6009b6d9]{flex:1;font-size:11px;color:#18a058;font-weight:600;letter-spacing:.2px}.action-msg.error-msg[data-v-6009b6d9]{color:#d03050}.action-time[data-v-6009b6d9]{font-size:10px;font-family:SF Mono,Monaco,monospace;color:var(--text-tertiary);background:#18a0581a;padding:2px 6px;border-radius:4px}.action-time.error-time[data-v-6009b6d9]{background:#d030501f}.log-col[data-v-6009b6d9]{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-channel[data-v-6009b6d9]{min-width:0}.col-channel .n-tag[data-v-6009b6d9]{max-width:100%;font-size:11px;font-weight:600;border-radius:4px;padding:3px 10px}.col-token[data-v-6009b6d9]{justify-content:center;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;font-weight:600;color:var(--text-secondary);background:#00000008;padding:4px 8px;border-radius:4px;margin:0 3px}[data-theme=dark] .col-token[data-v-6009b6d9]{background:#ffffff0b;color:var(--text-secondary)}.col-time[data-v-6009b6d9]{justify-content:flex-end;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;font-weight:500;color:var(--text-tertiary);padding-right:2px;opacity:.85}.log-row:hover .col-time[data-v-6009b6d9]{opacity:1;color:var(--text-secondary)}.col-channel-claude[data-v-6009b6d9]{flex:2 1 60px;min-width:50px}.col-token-claude[data-v-6009b6d9]{flex:1 1 40px;min-width:35px}.col-time-claude[data-v-6009b6d9]{flex:1.5 1 55px;min-width:50px}.col-channel-codex[data-v-6009b6d9]{flex:2 1 60px;min-width:50px}.col-token-codex[data-v-6009b6d9]{flex:1 1 40px;min-width:35px}.col-time-codex[data-v-6009b6d9]{flex:1.5 1 55px;min-width:50px}.col-channel-gemini[data-v-6009b6d9]{flex:2.5 1 70px;min-width:55px}.col-token-gemini[data-v-6009b6d9]{flex:1.2 1 45px;min-width:40px}.col-time-gemini[data-v-6009b6d9]{flex:1.8 1 60px;min-width:55px}.col-channel-opencode[data-v-6009b6d9]{flex:2.5 1 70px;min-width:55px}.col-token-opencode[data-v-6009b6d9]{flex:1.2 1 45px;min-width:40px}.col-time-opencode[data-v-6009b6d9]{flex:1.8 1 60px;min-width:55px}.col-channel-omp[data-v-6009b6d9]{flex:2.5 1 70px;min-width:55px}.col-token-omp[data-v-6009b6d9]{flex:1.2 1 45px;min-width:40px}.col-time-omp[data-v-6009b6d9]{flex:1.8 1 60px;min-width:55px}.claude-extra-area[data-v-6009b6d9]{display:flex;align-items:center;gap:6px;margin-left:auto}.mcp-count-tag[data-v-6009b6d9],.skills-count-tag[data-v-6009b6d9]{font-size:10px;font-weight:500;padding:0 8px;height:22px;line-height:22px;border-radius:4px;cursor:pointer;transition:all .2s ease}.mcp-count-tag.clickable[data-v-6009b6d9]:hover,.skills-count-tag.clickable[data-v-6009b6d9]:hover{transform:scale(1.03);filter:brightness(1.1)}.mcp-quick-panel[data-v-6009b6d9],.skills-quick-panel[data-v-6009b6d9]{padding:2px 0}.mcp-quick-panel .panel-title[data-v-6009b6d9],.skills-quick-panel .panel-title[data-v-6009b6d9]{display:flex;justify-content:space-between;align-items:center;padding:6px 10px 8px;border-bottom:1px solid var(--border-primary);margin-bottom:4px}.mcp-quick-panel .panel-title span[data-v-6009b6d9]:first-child,.skills-quick-panel .panel-title span[data-v-6009b6d9]:first-child{font-size:13px;font-weight:600;color:var(--text-primary)}.no-items[data-v-6009b6d9]{padding:16px 10px;text-align:center}.mcp-quick-list[data-v-6009b6d9],.skills-quick-list[data-v-6009b6d9]{max-height:300px;overflow-y:auto;padding:0 4px 4px}.mcp-quick-item[data-v-6009b6d9],.skill-quick-item[data-v-6009b6d9]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:5px;margin-bottom:4px;background:var(--bg-secondary);transition:all .2s ease}.mcp-quick-item[data-v-6009b6d9]:hover,.skill-quick-item[data-v-6009b6d9]:hover{background:var(--hover-bg)}.mcp-item-icon[data-v-6009b6d9],.skill-item-icon[data-v-6009b6d9]{width:24px;height:24px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mcp-item-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#3b82f626,#3b82f60d);color:#3b82f6}.skill-item-icon[data-v-6009b6d9]{background:linear-gradient(135deg,#18a05826,#18a0580d);color:#18a058}.mcp-item-info[data-v-6009b6d9],.skill-item-info[data-v-6009b6d9]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mcp-item-name[data-v-6009b6d9],.skill-item-name[data-v-6009b6d9]{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcp-item-type[data-v-6009b6d9]{font-size:10px;color:var(--text-tertiary);text-transform:uppercase}.skill-item-desc[data-v-6009b6d9]{font-size:10px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcp-item-status[data-v-6009b6d9]{flex-shrink:0}.mcp-item-status .status-dot[data-v-6009b6d9]{width:8px;height:8px;border-radius:50%;background:var(--border-secondary)}.mcp-item-status.online .status-dot[data-v-6009b6d9]{background:#18a058;box-shadow:0 0 6px #18a05880}.mcp-item-status.error .status-dot[data-v-6009b6d9]{background:#d03050;box-shadow:0 0 6px #d0305080}.mcp-quick-list[data-v-6009b6d9]::-webkit-scrollbar,.skills-quick-list[data-v-6009b6d9]::-webkit-scrollbar{width:4px}.mcp-quick-list[data-v-6009b6d9]::-webkit-scrollbar-thumb,.skills-quick-list[data-v-6009b6d9]::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}[data-theme=dark] .mcp-quick-list[data-v-6009b6d9]::-webkit-scrollbar-thumb,[data-theme=dark] .skills-quick-list[data-v-6009b6d9]::-webkit-scrollbar-thumb{background:#ffffff26}.config-shortcut-button[data-v-6009b6d9]{--asset-shortcut-text: var(--text-color-3);--n-text-color: var(--asset-shortcut-text) !important;--n-text-color-hover: var(--asset-shortcut-text) !important;--n-text-color-pressed: var(--asset-shortcut-text) !important;--n-text-color-focus: var(--asset-shortcut-text) !important;padding:6px!important;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--asset-shortcut-text)!important;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d}.config-shortcut-button .n-icon[data-v-6009b6d9]{color:var(--asset-shortcut-text)!important;transition:transform .18s ease}.config-shortcut-button[data-v-6009b6d9] .n-button__content,.config-shortcut-button[data-v-6009b6d9] .n-button__icon{color:var(--asset-shortcut-text)!important}.config-shortcut-button[data-v-6009b6d9]:hover,.config-shortcut-button[data-v-6009b6d9]:focus,.config-shortcut-button[data-v-6009b6d9]:focus-visible{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--asset-shortcut-text)!important;box-shadow:0 3px 8px #00000014;transform:translateY(-1px)}.config-shortcut-button:hover .n-icon[data-v-6009b6d9],.config-shortcut-button:focus .n-icon[data-v-6009b6d9],.config-shortcut-button:focus-visible .n-icon[data-v-6009b6d9]{color:var(--asset-shortcut-text)!important;transform:scale(1.1)}.config-shortcut-button[data-v-6009b6d9]:active{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--asset-shortcut-text)!important;transform:translateY(0);box-shadow:0 2px 4px #0000000d}.lock-button[data-v-6009b6d9]{margin-left:6px;padding:6px!important;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:var(--bg-secondary);border:1px solid var(--border-primary);transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d}.lock-button .n-icon[data-v-6009b6d9]{color:var(--text-color-3);transition:all .25s ease}.lock-button[data-v-6009b6d9]:hover{background:linear-gradient(135deg,#6b72801a,#6b72800d);border-color:#6b72804d;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.lock-button:hover .n-icon[data-v-6009b6d9]{color:var(--text-color-1);transform:scale(1.1)}.lock-button[data-v-6009b6d9]:active{transform:translateY(0);box-shadow:0 2px 4px #0000000d}.locked-overlay[data-v-6009b6d9]{flex:1;display:flex;align-items:center;justify-content:center;border-radius:6px;margin:10px;position:relative;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.locked-overlay[data-v-6009b6d9]:before{content:"";position:absolute;width:400px;height:400px;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.4;filter:blur(60px);pointer-events:none}.locked-claude[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(24,160,88,.03) 0%,var(--bg-secondary) 50%,rgba(24,160,88,.02) 100%)}.locked-claude[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(24,160,88,.15) 0%,transparent 70%)}.locked-codex[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(59,130,246,.03) 0%,var(--bg-secondary) 50%,rgba(59,130,246,.02) 100%)}.locked-codex[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(59,130,246,.15) 0%,transparent 70%)}.locked-gemini[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(168,85,247,.03) 0%,var(--bg-secondary) 50%,rgba(168,85,247,.02) 100%)}.locked-gemini[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(168,85,247,.15) 0%,transparent 70%)}.locked-opencode[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(234,88,12,.03) 0%,var(--bg-secondary) 50%,rgba(234,88,12,.02) 100%)}.locked-opencode[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(234,88,12,.15) 0%,transparent 70%)}.locked-omp[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(15,159,154,.03) 0%,var(--bg-secondary) 50%,rgba(15,159,154,.02) 100%)}.locked-omp[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(15,159,154,.15) 0%,transparent 70%)}.locked-content[data-v-6009b6d9]{display:flex;flex-direction:column;align-items:center;gap:20px;padding:60px 40px;text-align:center;position:relative;z-index:1}.lock-icon[data-v-6009b6d9]{width:96px;height:96px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-primary);border:2px solid var(--border-primary);margin-bottom:8px;position:relative;box-shadow:0 8px 24px #0000001f;animation:lock-float-6009b6d9 3s ease-in-out infinite}@keyframes lock-float-6009b6d9{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.lock-icon[data-v-6009b6d9]:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:20px;opacity:.6;filter:blur(12px)}.locked-claude .lock-icon[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(24,160,88,.12) 0%,var(--bg-primary) 100%);border-color:#18a05840;box-shadow:0 8px 24px #18a05826,0 0 0 1px #18a0581a inset}.locked-claude .lock-icon[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(24,160,88,.3) 0%,transparent 60%)}.locked-claude .lock-icon .n-icon[data-v-6009b6d9]{color:#18a058;filter:drop-shadow(0 2px 4px rgba(24,160,88,.3))}.locked-codex .lock-icon[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(59,130,246,.12) 0%,var(--bg-primary) 100%);border-color:#3b82f640;box-shadow:0 8px 24px #3b82f626,0 0 0 1px #3b82f61a inset}.locked-codex .lock-icon[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(59,130,246,.3) 0%,transparent 60%)}.locked-codex .lock-icon .n-icon[data-v-6009b6d9]{color:#3b82f6;filter:drop-shadow(0 2px 4px rgba(59,130,246,.3))}.locked-gemini .lock-icon[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(168,85,247,.12) 0%,var(--bg-primary) 100%);border-color:#a855f740;box-shadow:0 8px 24px #a855f726,0 0 0 1px #a855f71a inset}.locked-gemini .lock-icon[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(168,85,247,.3) 0%,transparent 60%)}.locked-gemini .lock-icon .n-icon[data-v-6009b6d9]{color:#a855f7;filter:drop-shadow(0 2px 4px rgba(168,85,247,.3))}.locked-opencode .lock-icon[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(234,88,12,.12) 0%,var(--bg-primary) 100%);border-color:#ea580c40;box-shadow:0 8px 24px #ea580c26,0 0 0 1px #ea580c1a inset}.locked-opencode .lock-icon[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(234,88,12,.3) 0%,transparent 60%)}.locked-opencode .lock-icon .n-icon[data-v-6009b6d9]{color:#ea580c;filter:drop-shadow(0 2px 4px rgba(234,88,12,.3))}.locked-omp .lock-icon[data-v-6009b6d9]{background:linear-gradient(135deg,rgba(15,159,154,.12) 0%,var(--bg-primary) 100%);border-color:#0f9f9a40;box-shadow:0 8px 24px #0f9f9a26,0 0 0 1px #0f9f9a1a inset}.locked-omp .lock-icon[data-v-6009b6d9]:before{background:radial-gradient(circle,rgba(15,159,154,.3) 0%,transparent 60%)}.locked-omp .lock-icon .n-icon[data-v-6009b6d9]{color:#0f9f9a;filter:drop-shadow(0 2px 4px rgba(15,159,154,.3))}.lock-icon .n-icon[data-v-6009b6d9]{opacity:.85;position:relative;z-index:1}.locked-title[data-v-6009b6d9]{font-size:17px;font-weight:600;color:var(--text-color-1);margin:0;letter-spacing:.3px}.locked-hint[data-v-6009b6d9]{font-size:13px;color:var(--text-color-3);max-width:220px;line-height:1.7;opacity:.9}.channel-status[data-v-6009b6d9]{cursor:pointer;padding:4px 8px!important;border-radius:4px;transition:all .2s ease}.channel-status[data-v-6009b6d9]:hover{background:var(--hover-bg)}.channel-quick-panel[data-v-6009b6d9]{padding:4px 0}.panel-title[data-v-6009b6d9]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px 12px;border-bottom:1px solid var(--border-primary);margin-bottom:8px}.panel-title span[data-v-6009b6d9]:first-child{font-size:13px;font-weight:600;color:var(--text-primary)}.no-channels[data-v-6009b6d9]{padding:24px 12px;text-align:center}.channel-quick-list[data-v-6009b6d9]{max-height:360px;overflow-y:auto}.channel-quick-item[data-v-6009b6d9]{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:6px;margin:0 4px 6px;background:var(--bg-secondary);transition:all .2s ease}.channel-quick-item[data-v-6009b6d9]:hover{background:var(--hover-bg)}.channel-quick-item.disabled[data-v-6009b6d9]{opacity:.6}.channel-quick-info[data-v-6009b6d9]{display:flex;align-items:center;gap:8px;width:100%}.channel-quick-name[data-v-6009b6d9]{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-metrics[data-v-6009b6d9]{display:flex;gap:6px;width:100%}.channel-metrics .metric-item[data-v-6009b6d9]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-primary)}.channel-metrics .metric-label[data-v-6009b6d9]{font-size:10px;color:var(--text-tertiary);font-weight:500}.channel-metrics .metric-value[data-v-6009b6d9]{font-size:12px;font-weight:700;color:var(--text-primary);font-family:SF Mono,Monaco,monospace}.channel-metrics .metric-value.active[data-v-6009b6d9]{color:#f59e0b}.channel-switching-tip[data-v-6009b6d9]{font-size:11px;color:var(--text-tertiary);padding:0 2px}.channel-quick-item.disabled .channel-metrics .metric-value[data-v-6009b6d9]{color:var(--text-tertiary)}.channel-quick-list[data-v-6009b6d9]::-webkit-scrollbar{width:4px}.channel-quick-list[data-v-6009b6d9]::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}[data-theme=dark] .channel-quick-list[data-v-6009b6d9]::-webkit-scrollbar-thumb{background:#ffffff26}@media (max-width: 1024px){.channel-column[data-v-6009b6d9]{border-radius:6px}.card-header[data-v-6009b6d9]{padding:8px 10px}.card-title[data-v-6009b6d9]{font-size:13px}.stats-inline[data-v-6009b6d9]{gap:6px}.stat-inline-item[data-v-6009b6d9]{padding:8px}.stat-value[data-v-6009b6d9]{font-size:14px}.stat-label[data-v-6009b6d9]{font-size:9px}.logs-table-header[data-v-6009b6d9]{padding:8px 10px;font-size:10px}.log-row[data-v-6009b6d9]{padding:8px 10px;font-size:11px}}@media (max-width: 768px){.channel-column[data-v-6009b6d9]{border-radius:6px;min-height:300px;height:auto;max-height:400px}.card-header[data-v-6009b6d9]{padding:8px;gap:6px}.card-title[data-v-6009b6d9]{font-size:12px}.stats-inline[data-v-6009b6d9]{gap:4px}.stat-inline-item[data-v-6009b6d9]{padding:6px;gap:6px}.stat-icon-dot[data-v-6009b6d9]{width:6px;height:6px}.stat-value[data-v-6009b6d9]{font-size:13px}.stat-label[data-v-6009b6d9]{font-size:8px}.logs-card[data-v-6009b6d9]{min-height:150px}.logs-table-header[data-v-6009b6d9]{padding:6px 8px;font-size:9px}.log-row[data-v-6009b6d9]{padding:6px 8px;font-size:10px;min-height:32px}.col-token[data-v-6009b6d9]{font-size:10px;padding:2px 4px}.col-time[data-v-6009b6d9]{font-size:9px}.mcp-count-tag[data-v-6009b6d9],.skills-count-tag[data-v-6009b6d9]{font-size:9px;padding:0 6px;height:18px;line-height:18px}.config-shortcut-button[data-v-6009b6d9]{padding:4px 8px;font-size:10px;gap:4px}.lock-button[data-v-6009b6d9]{width:26px;height:26px}}@media (max-width: 640px){.channel-column[data-v-6009b6d9]{min-height:250px;max-height:350px}.card-header[data-v-6009b6d9]{padding:6px;gap:4px;flex-wrap:wrap}.card-title[data-v-6009b6d9]{font-size:11px}.stats-card .card-content[data-v-6009b6d9]{padding:6px}.stats-inline[data-v-6009b6d9]{gap:3px;flex-wrap:wrap}.stat-inline-item[data-v-6009b6d9]{padding:5px;gap:4px;min-width:calc(33% - 3px);flex:1 1 auto}.stat-icon-dot[data-v-6009b6d9]{width:5px;height:5px}.stat-value[data-v-6009b6d9]{font-size:12px}.stat-label[data-v-6009b6d9]{font-size:7px}.logs-card[data-v-6009b6d9]{min-height:120px}.logs-table-header[data-v-6009b6d9]{padding:5px 6px;font-size:8px;letter-spacing:.3px}.log-row[data-v-6009b6d9]{padding:5px 6px;font-size:9px;min-height:28px}.col-channel .n-tag[data-v-6009b6d9]{font-size:9px;padding:2px 6px}.col-token[data-v-6009b6d9]{font-size:9px;padding:2px 3px;margin:0 1px}.col-time[data-v-6009b6d9]{font-size:8px}.claude-extra-area[data-v-6009b6d9]{gap:4px}.mcp-count-tag[data-v-6009b6d9],.skills-count-tag[data-v-6009b6d9]{font-size:8px;padding:0 4px;height:16px;line-height:16px}.config-shortcut-button[data-v-6009b6d9]{padding:3px 6px;font-size:9px;gap:3px}.config-shortcut-button .n-icon[data-v-6009b6d9]{font-size:12px!important}.lock-button[data-v-6009b6d9]{width:24px;height:24px;margin-left:4px}.lock-button .n-icon[data-v-6009b6d9]{font-size:12px!important}.locked-content[data-v-6009b6d9]{padding:30px 20px;gap:12px}.lock-icon[data-v-6009b6d9]{width:64px;height:64px}.lock-icon .n-icon[data-v-6009b6d9]{font-size:28px!important}.lock-title[data-v-6009b6d9]{font-size:14px}.lock-subtitle[data-v-6009b6d9]{font-size:10px}.unlock-btn[data-v-6009b6d9]{padding:8px 16px;font-size:11px}}@media (max-width: 480px){.channel-column[data-v-6009b6d9]{min-height:220px;max-height:300px}.card-header[data-v-6009b6d9]{padding:5px}.card-title[data-v-6009b6d9]{font-size:10px}.stats-inline[data-v-6009b6d9]{gap:2px}.stat-inline-item[data-v-6009b6d9]{padding:4px;gap:3px}.stat-value[data-v-6009b6d9]{font-size:11px}.stat-label[data-v-6009b6d9]{font-size:6px}.logs-table-header[data-v-6009b6d9]{padding:4px 5px;font-size:7px}.log-row[data-v-6009b6d9]{padding:4px 5px;font-size:8px;min-height:24px}.col-token[data-v-6009b6d9]{font-size:8px}.col-time[data-v-6009b6d9]{font-size:7px}}.card[data-v-6009b6d9]:not(.logs-card) .n-collapse{background:transparent}.card[data-v-6009b6d9]:not(.logs-card) .n-collapse-item{background:transparent}.card[data-v-6009b6d9] .n-collapse-item__header{padding:12px 16px;background:transparent;transition:all .3s ease}.card[data-v-6009b6d9] .n-collapse-item__header:hover{background:#00000005}.card[data-v-6009b6d9] .n-collapse-item__header-main{width:100%}.card[data-v-6009b6d9]:not(.logs-card) .n-collapse-item__content-wrapper{padding:0 16px 12px}.card[data-v-6009b6d9]:not(.logs-card) .n-collapse-item__content-inner{padding-top:0}.chart-card[data-v-6009b6d9]:has(.n-collapse){padding:0}.dashboard-container[data-v-276ca51b]{height:100%;background:var(--gradient-bg);overflow:hidden;padding:18px;box-sizing:border-box;display:flex;flex-direction:column}.dashboard-toolbar[data-v-276ca51b]{display:flex;justify-content:flex-end;margin-bottom:8px;flex-shrink:0}.analytics-link[data-v-276ca51b]{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--primary-color, #18a058);text-decoration:none;padding:4px 10px;border-radius:4px;background:#18a05814;transition:background .2s}.analytics-link[data-v-276ca51b]:hover{background:#18a05826}.analytics-link-icon[data-v-276ca51b]{font-size:14px}.dashboard-grid[data-v-276ca51b]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;flex:1;min-height:0;overflow:hidden;box-sizing:border-box;align-items:stretch}.dashboard-grid[data-v-276ca51b] .sortable-ghost{opacity:.4}.dashboard-grid[data-v-276ca51b] .sortable-chosen{box-shadow:0 8px 24px #00000026}@media (max-width: 1240px){.dashboard-grid[data-v-276ca51b]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 960px){.dashboard-grid[data-v-276ca51b]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.dashboard-container[data-v-276ca51b]{padding:14px}.dashboard-grid[data-v-276ca51b]{gap:12px}}@media (max-width: 900px){.dashboard-grid[data-v-276ca51b]{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-container[data-v-276ca51b]{padding:10px;overflow-y:auto}.dashboard-grid[data-v-276ca51b]{gap:10px;overflow:visible;min-height:auto}}@media (max-width: 640px){.dashboard-container[data-v-276ca51b]{padding:6px}.dashboard-grid[data-v-276ca51b]{gap:6px}}@media (max-width: 480px){.dashboard-container[data-v-276ca51b]{padding:4px}.dashboard-grid[data-v-276ca51b]{gap:4px}}
@@ -1 +0,0 @@
1
- import{a8 as e,a5 as a,f as s,r as l,w as t,h as n,K as i,c as o,o as u,a as r,X as d,a0 as c,W as v,Y as f,N as p,p as m,_ as h,F as y,a6 as g,L as k,Z as _,s as w,G as b,y as I,$ as C,v as j}from"./vue-vendor-B5RqjEjQ.js";import{d as z}from"./vendors-DQA4Hw9v.js";import{_ as x,q as N,y as F,C as S,z as $,t as M,v as B,A as U,x as L}from"./index-BovYCFsd.js";import{Z as A,T as P,ad as T,ay as q,k as E,G as K,a3 as G,az as H,q as O,h as R,Y as V}from"./icons-nGdSKQn2.js";import{N as D,B as W,_ as Y,c as Z,a as X,G as J,q as Q,g as ee,x as ae,s as se,m as le,h as te,p as ne,k as ie}from"./naive-ui-CVyvdmg1.js";import"./markdown-BNJfEgCA.js";const oe={class:"session-list-container"},ue={class:"header"},re={class:"title-bar"},de={class:"title-section"},ce={class:"title-with-count"},ve={class:"header-actions"},fe={key:0,class:"loading-container"},pe=["onMouseenter","onClick"],me={key:0,class:"drag-handle"},he={class:"session-left"},ye={class:"session-icon"},ge={class:"session-info"},ke={class:"session-header"},_e={class:"session-title-row"},we={class:"session-title"},be={class:"session-meta"},Ie={class:"session-right"},Ce={class:"session-tags-area"},je={key:0,class:"session-actions"},ze={key:0,style:{"max-height":"70vh","overflow-y":"auto"}},xe={class:"search-result-header"},Ne={class:"search-result-title"},Fe="__full__",Se=x({__name:"SessionList",props:{projectName:{type:String,required:!0}},setup(x){const Se=x,$e=e(),Me=a(),Be=N(),{addFavorite:Ue,removeFavorite:Le,isFavorite:Ae}=F(),Pe=s(()=>Me.meta.channel||"claude"),Te=l(Se.projectName),qe=s(()=>Te.value||Se.projectName),Ee=l(""),Ke=l(!1),Ge=l(null),He=l(""),Oe=l(null),Re=l([]),Ve=l(null),De=l(!1),We=l(null),Ye=l(!1),Ze=l(!1),Xe=l([]),Je=l(!1),Qe=l(!1),ea=l(null),aa=l(""),sa=l(Fe),la=l(!1),ta=l(!1),na=l([]),ia=l(!1),oa=l(""),ua=l(""),ra=l(null),da={group:{name:`${Pe.value}-sessions`,pull:!1,put:!1},forceFallback:!0,fallbackOnBody:!1,fallbackTolerance:4,scroll:!0},ca=s(()=>{var e;return(null==(e=Be.currentProjectInfo)?void 0:e.displayName)||Se.projectName}),va=s(()=>{var e;return(null==(e=Be.currentProjectInfo)?void 0:e.fullPath)||qe.value}),fa=s(()=>new Set(Xe.value)),pa=s(()=>Xe.value.length),ma=s(()=>Re.value.length>0&&Re.value.every(e=>fa.value.has(e.sessionId))),ha=s(()=>pa.value>0&&!ma.value);async function ya(){const e=await async function(){Be.projects.length||await Be.fetchProjects();const e=Be.projects.find(e=>e.name===Se.projectName);if(e)return Te.value=e.name,e.name;const a=Be.projects.find(e=>e.displayName===Se.projectName||e.fullPath===Se.projectName);return a?(Te.value=a.name,a.name!==Se.projectName&&await $e.replace({name:`${Pe.value}-sessions`,params:{projectName:a.name}}),a.name):(Te.value=Se.projectName,Se.projectName)}();await Be.fetchSessions(e)}t(()=>Be.sessionsWithAlias,e=>{Re.value=[...e];const a=new Set(e.map(e=>e.sessionId));Xe.value=Xe.value.filter(e=>a.has(e)),Ze.value&&0===e.length&&Ia()},{immediate:!0});const ga=s(()=>{if(!Ee.value)return Re.value;const e=Ee.value.toLowerCase();return Re.value.filter(a=>a.sessionId.toLowerCase().includes(e)||a.alias&&a.alias.toLowerCase().includes(e)||a.firstMessage&&a.firstMessage.toLowerCase().includes(e)||a.gitBranch&&a.gitBranch.toLowerCase().includes(e))});function ka(){const e=Me.meta.channel||"claude";$e.push({name:`${e}-projects`})}async function _a(){if(Ee.value){Ye.value=!0;try{const e=await $(qe.value,Ee.value,35,Pe.value);Ve.value=e,De.value=!0}catch(e){M.error("搜索失败: "+e.message)}finally{Ye.value=!1}}}async function wa(){const e=Re.value.map(e=>e.sessionId);await Be.saveSessionOrder(e)}function ba(){Ze.value=!0,Oe.value=null}function Ia(){Ze.value=!1,Xe.value=[],Oe.value=null}function Ca(e){return fa.value.has(e)}function ja(e,a=!Ca(e)){const s=new Set(Xe.value);a?s.add(e):s.delete(e),Xe.value=Array.from(s)}function za(e){Xe.value=e?Re.value.map(e=>e.sessionId):[]}function xa(e){Ze.value?ja(e.sessionId):function(e){oa.value=e.sessionId,ua.value=e.alias||"",ia.value=!0,j(()=>{var e;null==(e=ra.value)||e.open()})}(e)}async function Na(){if(Ge.value)try{const e=Ge.value.sessionId;He.value?(await Be.setAlias(e,He.value),M.success("别名设置成功")):(await Be.deleteAlias(e),M.success("别名已删除")),Ke.value=!1,Ge.value=null,He.value=""}catch(e){M.error("操作失败: "+e.message)}}function Fa(){Qe.value=!1,ea.value=null,aa.value="",sa.value=Fe,na.value=[],la.value=!1,ta.value=!1}async function Sa(){var e;if(ea.value)try{ta.value=!0,await Be.forkSession(ea.value.sessionId,{afterUserMessageNumber:sa.value===Fe?null:sa.value,alias:(null==(e=aa.value)?void 0:e.trim())||void 0}),M.success("Fork 成功!"),Fa()}catch(a){M.error("Fork 失败: "+a.message)}finally{ta.value=!1}}function $a(e){M.error(e)}function Ma(e){const a=new Set((e||[]).filter(Boolean));0!==a.size&&(Xe.value=Xe.value.filter(e=>!a.has(e)),oa.value&&a.has(oa.value)&&(ia.value=!1,oa.value="",ua.value=""))}async function Ba(e){try{const{copyResult:a}=await L(qe.value,e,Pe.value);if("manual"===(null==a?void 0:a.method))return void M.warning("自动复制失败,已弹出手动复制框");M.success("启动命令已复制到剪贴板")}catch(a){M.error("复制失败: "+a.message)}}function Ua(){if(0===pa.value)return void M.warning("请先选择要删除的会话");const e=[...Xe.value];B.warning({title:"批量删除会话",content:`确定要删除选中的 ${e.length} 个会话吗?此操作不可恢复!`,positiveText:"确定删除",negativeText:"取消",onPositiveClick:async()=>{Je.value=!0;try{const a=await Be.deleteSessions(e);if(Ma(a.deletedSessionIds),0===a.failed.length)return M.success(`已删除 ${a.deletedSessionIds.length} 个会话`),void Ia();Xe.value=a.failed.map(e=>e.sessionId),a.deletedSessionIds.length>0?M.warning(`已删除 ${a.deletedSessionIds.length} 个会话,${a.failed.length} 个删除失败`):M.error(`删除失败: ${a.failed[0].error.message}`)}finally{Je.value=!1}}})}function La(e){if(!e)return"";return new Date(e).toLocaleString("zh-CN")}function Aa(e){if(!e)return"0 B";const a=1024;return e<a?e+" B":e<a*a?(e/a).toFixed(1)+" KB":(e/a/a).toFixed(1)+" MB"}function Pa(e,a){if(!a||!e)return e;const s=new RegExp(`(${a})`,"gi");return e.replace(s,'<mark style="background-color: #ffd700; padding: 2px 4px; border-radius: 2px; font-weight: 600;">$1</mark>')}function Ta(e,a=80){return e?e.length>a?e.substring(0,a)+"...":e:""}return t([Pe,()=>Se.projectName],([e])=>{Ia(),Be.setChannel(e),ya()},{immediate:!0}),n(()=>{}),i(()=>{}),(e,a)=>(u(),o("div",oe,[r("div",ue,[r("div",re,[d(p(W),{size:"small",onClick:ka,class:"back-button"},{icon:f(()=>[d(p(D),{size:"18"},{default:f(()=>[d(p(A))]),_:1})]),_:1}),r("div",de,[r("div",ce,[d(p(Y),null,{default:f(()=>[m(h(ca.value),1)]),_:1}),d(p(Z),{depth:"3",class:"session-count"},{default:f(()=>[m("("+h(p(Be).sessions.length)+" 个对话)",1)]),_:1}),d(p(X),{size:"small",bordered:!1,type:"info",class:"total-size-tag"},{default:f(()=>[m(h(Aa(p(Be).totalSize)),1)]),_:1}),r("div",ve,[Ze.value?(u(),o(y,{key:0},[d(p(J),{checked:ma.value,indeterminate:ha.value,disabled:0===Re.value.length||Je.value,"onUpdate:checked":za},{default:f(()=>[...a[12]||(a[12]=[m(" 全选 ",-1)])]),_:1},8,["checked","indeterminate","disabled"]),d(p(Z),{depth:"3"},{default:f(()=>[m("已选 "+h(pa.value)+" 个",1)]),_:1}),d(p(W),{size:"small",type:"error",disabled:0===pa.value,loading:Je.value,onClick:Ua},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(P))]),_:1})]),default:f(()=>[a[13]||(a[13]=m(" 删除 ",-1))]),_:1},8,["disabled","loading"]),d(p(W),{size:"small",disabled:Je.value,onClick:Ia},{default:f(()=>[...a[14]||(a[14]=[m(" 完成 ",-1)])]),_:1},8,["disabled"])],64)):(u(),c(p(W),{key:1,size:"small",type:"error",secondary:"",onClick:ba},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(P))]),_:1})]),default:f(()=>[a[15]||(a[15]=m(" 管理 ",-1))]),_:1}))])]),d(p(Z),{depth:"3",class:"project-path"},{default:f(()=>[m(h(va.value),1)]),_:1})]),d(p(Q),{value:Ee.value,"onUpdate:value":a[0]||(a[0]=e=>Ee.value=e),placeholder:"搜索会话...",clearable:"",class:"search-input",onKeyup:g(_a,["enter"]),disabled:Ye.value},{prefix:f(()=>[d(p(D),null,{default:f(()=>[d(p(T))]),_:1})]),suffix:f(()=>[d(p(W),{text:"",onClick:_a,disabled:!Ee.value||Ye.value,loading:Ye.value},{default:f(()=>[...a[16]||(a[16]=[m(" 搜索 ",-1)])]),_:1},8,["disabled","loading"])]),_:1},8,["value","disabled"])])]),r("div",{class:"content",ref_key:"contentEl",ref:We},[p(Be).loading?(u(),o("div",fe,[d(p(ee),{size:"large"},{description:f(()=>[...a[17]||(a[17]=[m(" 加载会话列表... ",-1)])]),_:1})])):p(Be).error?(u(),c(p(ae),{key:1,type:"error",title:"加载失败",style:{"margin-bottom":"16px"}},{default:f(()=>[m(h(p(Be).error),1)]),_:1})):ga.value.length>0?(u(),c(p(z),I({key:2,modelValue:Re.value,"onUpdate:modelValue":a[3]||(a[3]=e=>Re.value=e),"item-key":"sessionId",class:"sessions-list",handle:".drag-handle",disabled:Ze.value||Je.value},da,{"ghost-class":"ghost","chosen-class":"chosen",animation:"200",onEnd:wa}),{item:f(({element:e})=>[r("div",{class:k(["session-item",{"session-item-selected":Ca(e.sessionId),"session-item-selection-mode":Ze.value}]),onMouseenter:a=>Oe.value=e.sessionId,onMouseleave:a[2]||(a[2]=e=>Oe.value=null),onClick:a=>xa(e)},[Ze.value?(u(),o("div",{key:1,class:"selection-checkbox",onClick:a[1]||(a[1]=_(()=>{},["stop"]))},[d(p(J),{checked:Ca(e.sessionId),"onUpdate:checked":a=>ja(e.sessionId,a)},null,8,["checked","onUpdate:checked"])])):(u(),o("div",me,[d(p(D),{size:"16",color:"#999"},{default:f(()=>[d(p(q))]),_:1})])),r("div",he,[r("div",ye,[d(p(D),{size:"24",color:"#18a058"},{default:f(()=>[d(p(E))]),_:1})]),r("div",ge,[r("div",ke,[r("div",_e,[r("span",we,h(e.alias?`${e.alias} (${e.sessionId.substring(0,8)})`:e.sessionId),1),e.forkedFrom?(u(),c(p(se),{key:0,placement:"top"},{trigger:f(()=>[d(p(X),{size:"small",type:"warning",bordered:!1,style:{"margin-left":"8px",cursor:"help"}},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(K))]),_:1})]),default:f(()=>[a[18]||(a[18]=m(" Fork ",-1))]),_:1})]),default:f(()=>[m(" Fork 自: "+h(e.forkedFrom),1)]),_:2},1024)):v("",!0)])]),r("div",be,[d(p(Z),{depth:"3"},{default:f(()=>[m(h(La(e.mtime)),1)]),_:2},1024),d(p(Z),{depth:"3"},{default:f(()=>[...a[19]||(a[19]=[m("•",-1)])]),_:1}),d(p(X),{size:"small",bordered:!1},{default:f(()=>[m(h(Aa(e.size)),1)]),_:2},1024)]),e.firstMessage?(u(),c(p(Z),{key:0,depth:"3",class:"session-message"},{default:f(()=>[m(h(Ta(e.firstMessage,80)),1)]),_:2},1024)):e.gitBranch||e.summary?v("",!0):(u(),c(p(Z),{key:1,depth:"3",class:"session-message session-message-empty"},{default:f(()=>[...a[20]||(a[20]=[m(" 暂未读取到对话内容 ",-1)])]),_:1}))])]),r("div",Ie,[r("div",Ce,[e.gitBranch?(u(),c(p(X),{key:0,size:"small",type:"info",bordered:!1},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(K))]),_:1})]),default:f(()=>[m(" "+h(e.gitBranch),1)]),_:2},1024)):v("",!0)]),Ze.value?v("",!0):(u(),o("div",je,[d(p(le),null,{default:f(()=>[w(d(p(W),{size:"small",type:"error",onClick:_(a=>{return s=e.sessionId,void B.warning({title:"删除会话",content:"确定要删除这个会话吗?此操作不可恢复!",positiveText:"确定删除",negativeText:"取消",onPositiveClick:async()=>{try{await Be.deleteSession(s),Ma([s]),M.success("会话已删除")}catch(e){M.error("删除失败: "+e.message)}}});var s},["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(P))]),_:1})]),default:f(()=>[a[21]||(a[21]=m(" 删除 ",-1))]),_:1},8,["onClick"]),[[b,Oe.value===e.sessionId]]),d(p(W),{size:"small",onClick:_(a=>function(e){Ge.value=e,He.value=e.alias||"",Ke.value=!0}(e),["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(G))]),_:1})]),default:f(()=>[a[22]||(a[22]=m(" 别名 ",-1))]),_:1},8,["onClick"]),d(p(W),{size:"small",type:p(Ae)(Pe.value,qe.value,e.sessionId)?"warning":"default",onClick:_(a=>async function(e){const a=Pe.value,s=Ae(a,qe.value,e.sessionId);try{if(s)await Le(a,qe.value,e.sessionId),M.success("已取消收藏");else{const s={sessionId:e.sessionId,projectName:qe.value,projectDisplayName:ca.value,projectFullPath:va.value,alias:e.alias||"",firstMessage:e.firstMessage||"",mtime:e.mtime,size:e.size,gitBranch:e.gitBranch||"",forkedFrom:e.forkedFrom||""};await Ue(a,s),M.success("已添加到收藏")}}catch(l){M.error("操作失败: "+l.message)}}(e),["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[p(Ae)(Pe.value,qe.value,e.sessionId)?(u(),c(p(H),{key:0})):(u(),c(p(O),{key:1}))]),_:2},1024)]),default:f(()=>[m(" "+h(p(Ae)(Pe.value,qe.value,e.sessionId)?"已收藏":"收藏"),1)]),_:2},1032,["type","onClick"]),"opencode"!==Pe.value?(u(),c(p(W),{key:0,size:"small",onClick:_(a=>async function(e){if("opencode"!==Pe.value)try{const a=Re.value.find(a=>a.sessionId===e);ea.value=a||{sessionId:e},aa.value="",sa.value=Fe,na.value=[{label:"完整会话末尾(保留全部消息)",value:Fe}],Qe.value=!0,la.value=!0;const s=await U(qe.value,e,Pe.value),l=Array.isArray(null==s?void 0:s.items)?s.items:[];na.value=[{label:"完整会话末尾(保留全部消息)",value:Fe},...l.map(e=>({label:`保留到第 ${e.userMessageNumber} 条用户消息这一轮 · ${e.preview}`,value:e.userMessageNumber}))]}catch(a){M.error("加载 Fork 位置失败: "+a.message),Fa()}finally{la.value=!1}else M.warning("OpenCode 当前不支持该 Fork 操作")}(e.sessionId),["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(K))]),_:1})]),default:f(()=>[a[23]||(a[23]=m(" Fork ",-1))]),_:1},8,["onClick"])):v("",!0),d(p(W),{size:"small",type:"primary",onClick:_(a=>Ba(e.sessionId),["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(R))]),_:1})]),default:f(()=>[a[24]||(a[24]=m(" 使用对话 ",-1))]),_:1},8,["onClick"])]),_:2},1024)]))])],42,pe)]),_:1},16,["modelValue","disabled"])):(u(),c(p(te),{key:3,description:"没有找到会话",style:{"margin-top":"60px"}},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(V))]),_:1})]),_:1}))],512),d(p(ne),{show:Ke.value,"onUpdate:show":a[6]||(a[6]=e=>Ke.value=e),preset:"dialog",title:"设置别名"},{action:f(()=>[d(p(le),null,{default:f(()=>[d(p(W),{onClick:a[5]||(a[5]=e=>Ke.value=!1)},{default:f(()=>[...a[25]||(a[25]=[m("取消",-1)])]),_:1}),d(p(W),{type:"primary",onClick:Na},{default:f(()=>[...a[26]||(a[26]=[m("确定",-1)])]),_:1})]),_:1})]),default:f(()=>[d(p(Q),{value:He.value,"onUpdate:value":a[4]||(a[4]=e=>He.value=e),placeholder:"输入别名(留空删除)",onKeyup:g(Na,["enter"])},null,8,["value"])]),_:1},8,["show"]),d(p(ne),{show:Qe.value,"onUpdate:show":a[9]||(a[9]=e=>Qe.value=e),preset:"dialog",title:"Fork 对话"},{action:f(()=>[d(p(le),null,{default:f(()=>[d(p(W),{disabled:ta.value,onClick:Fa},{default:f(()=>[...a[28]||(a[28]=[m("取消",-1)])]),_:1},8,["disabled"]),d(p(W),{type:"primary",loading:ta.value,onClick:Sa},{default:f(()=>[...a[29]||(a[29]=[m(" 确认 Fork ",-1)])]),_:1},8,["loading"])]),_:1})]),default:f(()=>[d(p(le),{vertical:"",size:14},{default:f(()=>[d(p(Z),{depth:"3"},{default:f(()=>[...a[27]||(a[27]=[m(" 可选择保留到第几条用户消息所在轮次;会包含这条消息后 AI 的完整输出。 ",-1)])]),_:1}),d(p(ie),{value:sa.value,"onUpdate:value":a[7]||(a[7]=e=>sa.value=e),options:na.value,loading:la.value,clearable:"",placeholder:"选择保留到哪一轮(默认完整会话)"},null,8,["value","options","loading"]),d(p(Q),{value:aa.value,"onUpdate:value":a[8]||(a[8]=e=>aa.value=e),placeholder:"输入新会话别名(可选)",maxlength:"120"},null,8,["value"])]),_:1})]),_:1},8,["show"]),d(p(ne),{show:De.value,"onUpdate:show":a[10]||(a[10]=e=>De.value=e),preset:"card",title:"搜索结果",style:{width:"1200px"}},{default:f(()=>[Ve.value?(u(),o("div",ze,[d(p(ae),{type:"info",style:{"margin-bottom":"16px"}},{default:f(()=>[m(' 关键词 "'+h(Ve.value.keyword)+'" 共找到 '+h(Ve.value.totalMatches)+" 处匹配 ",1)]),_:1}),(u(!0),o(y,null,C(Ve.value.sessions,e=>(u(),o("div",{key:e.sessionId,class:"search-result-item"},[r("div",xe,[r("div",Ne,[d(p(Z),{strong:""},{default:f(()=>[m(h(e.alias?`${e.alias} (${e.sessionId.substring(0,8)})`:e.sessionId.substring(0,8)),1)]),_:2},1024),d(p(X),{size:"small",bordered:!1},{default:f(()=>[m(h(e.matchCount)+" 个匹配",1)]),_:2},1024)]),d(p(W),{size:"small",type:"primary",onClick:a=>Ba(e.sessionId)},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(R))]),_:1})]),default:f(()=>[a[30]||(a[30]=m(" 使用对话 ",-1))]),_:1},8,["onClick"])]),(u(!0),o(y,null,C(e.matches,(e,a)=>(u(),o("div",{key:a,class:"search-match"},[d(p(X),{size:"tiny",type:"user"===e.role?"info":"success",bordered:!1},{default:f(()=>[m(h("user"===e.role?"用户":"助手"),1)]),_:2},1032,["type"]),d(p(Z),{depth:"3",class:"search-match-text",innerHTML:Pa(e.context,Ve.value.keyword)},null,8,["innerHTML"])]))),128))]))),128)),0===Ve.value.sessions.length?(u(),c(p(te),{key:0,description:"没有找到匹配的内容"})):v("",!0)])):v("",!0)]),_:1},8,["show"]),oa.value?(u(),c(S,{key:0,ref_key:"chatHistoryRef",ref:ra,show:ia.value,"onUpdate:show":a[11]||(a[11]=e=>ia.value=e),"project-name":qe.value,"session-id":oa.value,"session-alias":ua.value,channel:Pe.value,onError:$a},null,8,["show","project-name","session-id","session-alias","channel"])):v("",!0)]))}},[["__scopeId","data-v-528553dd"]]);export{Se as default};
@@ -1 +0,0 @@
1
- .session-list-container[data-v-528553dd]{width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box}.header[data-v-528553dd]{flex-shrink:0;padding:24px 24px 16px;background:var(--bg-primary);border-bottom:1px solid var(--border-primary)}.content[data-v-528553dd]{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 24px 24px}.sessions-list[data-v-528553dd]{position:relative;overflow:hidden}.back-button[data-v-528553dd]{flex-shrink:0;margin-right:12px}.title-bar[data-v-528553dd]{display:flex;align-items:center;gap:16px}.title-section[data-v-528553dd]{flex:1;min-width:0}.title-with-count[data-v-528553dd]{display:flex;align-items:center;gap:8px;margin-bottom:2px;flex-wrap:wrap}.title-section h2[data-v-528553dd]{margin:0;font-size:20px}.session-count[data-v-528553dd]{font-size:14px;color:#666}.total-size-tag[data-v-528553dd]{margin-left:8px}.project-path[data-v-528553dd]{font-size:13px;display:block;color:#666;margin-bottom:2px}.header-actions[data-v-528553dd]{display:flex;align-items:center;gap:12px;margin-left:4px}.search-input[data-v-528553dd]{width:320px;flex-shrink:0}.loading-container[data-v-528553dd]{display:flex;justify-content:center;align-items:center;min-height:400px}.session-item[data-v-528553dd]{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;margin-bottom:8px;transition:all .2s;cursor:pointer}.session-item[data-v-528553dd]:hover{border-color:#18a058;box-shadow:0 2px 8px #18a0581a}.session-item-selection-mode[data-v-528553dd]{cursor:default}.session-item-selected[data-v-528553dd]{border-color:#18a058;box-shadow:0 0 0 2px #18a0581f;background:#18a0580a}.drag-handle[data-v-528553dd]{cursor:move;width:24px;height:24px;padding:4px;opacity:.4;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.session-item:hover .drag-handle[data-v-528553dd]{opacity:1;background-color:#18a0581a;border-radius:4px}.selection-checkbox[data-v-528553dd]{width:24px;min-width:24px;display:flex;align-items:center;justify-content:center}.session-left[data-v-528553dd]{flex:1;display:flex;align-items:center;gap:16px;min-width:0}.session-icon[data-v-528553dd]{flex-shrink:0}.session-info[data-v-528553dd]{flex:1;min-width:0}.session-header[data-v-528553dd]{display:flex;align-items:center;margin-bottom:6px}.session-title-row[data-v-528553dd]{display:flex;align-items:center;gap:8px}.session-title[data-v-528553dd]{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.session-meta[data-v-528553dd]{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px}.session-message[data-v-528553dd]{display:block;max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.session-message-empty[data-v-528553dd]{font-style:italic;opacity:.5}.session-right[data-v-528553dd]{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end;min-width:280px;flex-shrink:0;gap:12px}.session-tags-area[data-v-528553dd]{min-height:24px;display:flex;align-items:flex-start;justify-content:flex-end}.session-actions[data-v-528553dd]{display:flex;align-items:center;margin-top:auto}.ghost[data-v-528553dd]{opacity:.4}.chosen[data-v-528553dd]{box-shadow:0 4px 16px #00000026}.search-result-item[data-v-528553dd]{margin-bottom:16px;padding:12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-elevated)}.search-result-header[data-v-528553dd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.search-result-title[data-v-528553dd]{display:flex;align-items:center;gap:8px}.search-match[data-v-528553dd]{display:flex;align-items:flex-start;gap:8px;margin-top:6px;padding:6px;background:var(--bg-secondary);border-radius:4px}.search-match-text[data-v-528553dd]{flex:1;line-height:1.6}