botmux 2.86.0 → 2.88.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.
- package/README.en.md +27 -0
- package/README.md +27 -0
- package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
- package/dist/adapters/backend/herdr-backend.js +12 -1
- package/dist/adapters/backend/herdr-backend.js.map +1 -1
- package/dist/adapters/backend/liveness-gate.d.ts +38 -0
- package/dist/adapters/backend/liveness-gate.d.ts.map +1 -0
- package/dist/adapters/backend/liveness-gate.js +53 -0
- package/dist/adapters/backend/liveness-gate.js.map +1 -0
- package/dist/adapters/backend/pty-backend.d.ts.map +1 -1
- package/dist/adapters/backend/pty-backend.js +4 -1
- package/dist/adapters/backend/pty-backend.js.map +1 -1
- package/dist/adapters/backend/tmux-backend.d.ts +22 -1
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +124 -36
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts +20 -0
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +86 -20
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/backend/types.d.ts +9 -0
- package/dist/adapters/backend/types.d.ts.map +1 -1
- package/dist/adapters/backend/types.js.map +1 -1
- package/dist/adapters/backend/zellij-backend.js +1 -1
- package/dist/adapters/backend/zellij-backend.js.map +1 -1
- package/dist/adapters/backend/zellij-observe-backend.d.ts +13 -0
- package/dist/adapters/backend/zellij-observe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/zellij-observe-backend.js +51 -12
- package/dist/adapters/backend/zellij-observe-backend.js.map +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +8 -5
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/shared-hints.d.ts +2 -1
- package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
- package/dist/adapters/cli/shared-hints.js +25 -3
- package/dist/adapters/cli/shared-hints.js.map +1 -1
- package/dist/adapters/cli/traex.d.ts.map +1 -1
- package/dist/adapters/cli/traex.js +4 -0
- package/dist/adapters/cli/traex.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +6 -0
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/bot-registry.d.ts +23 -0
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +9 -0
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +368 -16
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +7 -5
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +210 -5
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dashboard-rows.d.ts +3 -0
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +4 -1
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/maintenance.d.ts +18 -0
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +58 -30
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/per-bot-env.d.ts +38 -0
- package/dist/core/per-bot-env.d.ts.map +1 -0
- package/dist/core/per-bot-env.js +79 -0
- package/dist/core/per-bot-env.js.map +1 -0
- package/dist/core/session-activity.d.ts +1 -0
- package/dist/core/session-activity.d.ts.map +1 -1
- package/dist/core/session-activity.js +7 -4
- package/dist/core/session-activity.js.map +1 -1
- package/dist/core/session-create.d.ts +62 -0
- package/dist/core/session-create.d.ts.map +1 -0
- package/dist/core/session-create.js +131 -0
- package/dist/core/session-create.js.map +1 -0
- package/dist/core/session-manager.d.ts +43 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +306 -8
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/skills/discovery.d.ts +7 -0
- package/dist/core/skills/discovery.d.ts.map +1 -1
- package/dist/core/skills/discovery.js +51 -0
- package/dist/core/skills/discovery.js.map +1 -1
- package/dist/core/trigger-session.d.ts.map +1 -1
- package/dist/core/trigger-session.js +5 -2
- package/dist/core/trigger-session.js.map +1 -1
- package/dist/core/update-check.d.ts +67 -0
- package/dist/core/update-check.d.ts.map +1 -0
- package/dist/core/update-check.js +159 -0
- package/dist/core/update-check.js.map +1 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +82 -4
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +40 -11
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +2 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +2 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/session-cleanup.d.ts +30 -0
- package/dist/dashboard/session-cleanup.d.ts.map +1 -0
- package/dist/dashboard/session-cleanup.js +47 -0
- package/dist/dashboard/session-cleanup.js.map +1 -0
- package/dist/dashboard/skill-install-request.d.ts +10 -0
- package/dist/dashboard/skill-install-request.d.ts.map +1 -1
- package/dist/dashboard/skill-install-request.js +17 -0
- package/dist/dashboard/skill-install-request.js.map +1 -1
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +29 -1
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js +82 -6
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +312 -2
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/insights.d.ts.map +1 -1
- package/dist/dashboard/web/insights.js +355 -30
- package/dist/dashboard/web/insights.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts +2 -0
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +457 -30
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings.d.ts.map +1 -1
- package/dist/dashboard/web/settings.js +289 -0
- package/dist/dashboard/web/settings.js.map +1 -1
- package/dist/dashboard/web/skills.d.ts.map +1 -1
- package/dist/dashboard/web/skills.js +183 -10
- package/dist/dashboard/web/skills.js.map +1 -1
- package/dist/dashboard/web/whiteboards.d.ts +2 -0
- package/dist/dashboard/web/whiteboards.d.ts.map +1 -0
- package/dist/dashboard/web/whiteboards.js +267 -0
- package/dist/dashboard/web/whiteboards.js.map +1 -0
- package/dist/dashboard-web/app.js +879 -591
- package/dist/dashboard-web/index.html +1 -0
- package/dist/dashboard-web/style.css +528 -8
- package/dist/dashboard.js +472 -5
- package/dist/dashboard.js.map +1 -1
- package/dist/global-config.d.ts +6 -0
- package/dist/global-config.d.ts.map +1 -1
- package/dist/global-config.js +12 -0
- package/dist/global-config.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +21 -1
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +21 -1
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +4 -5
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +113 -11
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts +3 -2
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +174 -14
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +19 -5
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/grant-pending.d.ts.map +1 -1
- package/dist/im/lark/grant-pending.js +9 -2
- package/dist/im/lark/grant-pending.js.map +1 -1
- package/dist/index-daemon.js +5 -0
- package/dist/index-daemon.js.map +1 -1
- package/dist/platform/bind.d.ts +2 -0
- package/dist/platform/bind.d.ts.map +1 -0
- package/dist/platform/bind.js +91 -0
- package/dist/platform/bind.js.map +1 -0
- package/dist/platform/binding.d.ts +22 -0
- package/dist/platform/binding.d.ts.map +1 -0
- package/dist/platform/binding.js +33 -0
- package/dist/platform/binding.js.map +1 -0
- package/dist/platform/tunnel-client.d.ts +15 -0
- package/dist/platform/tunnel-client.d.ts.map +1 -0
- package/dist/platform/tunnel-client.js +193 -0
- package/dist/platform/tunnel-client.js.map +1 -0
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +20 -0
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/git-worktree.d.ts +10 -0
- package/dist/services/git-worktree.d.ts.map +1 -1
- package/dist/services/git-worktree.js +71 -26
- package/dist/services/git-worktree.js.map +1 -1
- package/dist/services/grant-prefs-store.d.ts +3 -0
- package/dist/services/grant-prefs-store.d.ts.map +1 -1
- package/dist/services/grant-prefs-store.js +17 -2
- package/dist/services/grant-prefs-store.js.map +1 -1
- package/dist/services/insight/claude-span-reader.d.ts.map +1 -1
- package/dist/services/insight/claude-span-reader.js +18 -2
- package/dist/services/insight/claude-span-reader.js.map +1 -1
- package/dist/services/insight/codex-span-reader.d.ts.map +1 -1
- package/dist/services/insight/codex-span-reader.js +17 -1
- package/dist/services/insight/codex-span-reader.js.map +1 -1
- package/dist/services/insight/report.d.ts.map +1 -1
- package/dist/services/insight/report.js +48 -6
- package/dist/services/insight/report.js.map +1 -1
- package/dist/services/insight/types.d.ts +9 -0
- package/dist/services/insight/types.d.ts.map +1 -1
- package/dist/services/insight/types.js.map +1 -1
- package/dist/services/resumable-session-discovery.d.ts.map +1 -1
- package/dist/services/resumable-session-discovery.js +21 -4
- package/dist/services/resumable-session-discovery.js.map +1 -1
- package/dist/services/skill-registry-store.d.ts +1 -0
- package/dist/services/skill-registry-store.d.ts.map +1 -1
- package/dist/services/skill-registry-store.js +32 -0
- package/dist/services/skill-registry-store.js.map +1 -1
- package/dist/services/whiteboard-store.d.ts +67 -0
- package/dist/services/whiteboard-store.d.ts.map +1 -0
- package/dist/services/whiteboard-store.js +450 -0
- package/dist/services/whiteboard-store.js.map +1 -0
- package/dist/services/worktree-slug-ai.d.ts.map +1 -1
- package/dist/services/worktree-slug-ai.js +3 -1
- package/dist/services/worktree-slug-ai.js.map +1 -1
- package/dist/setup/bot-config-editor.d.ts +8 -0
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +9 -0
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +118 -0
- package/dist/skills/definitions.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/crash-log.d.ts +22 -0
- package/dist/utils/crash-log.d.ts.map +1 -0
- package/dist/utils/crash-log.js +37 -0
- package/dist/utils/crash-log.js.map +1 -0
- package/dist/utils/input-gate.d.ts +10 -0
- package/dist/utils/input-gate.d.ts.map +1 -1
- package/dist/utils/input-gate.js +7 -0
- package/dist/utils/input-gate.js.map +1 -1
- package/dist/utils/install-diagnostics.d.ts +52 -0
- package/dist/utils/install-diagnostics.d.ts.map +1 -0
- package/dist/utils/install-diagnostics.js +155 -0
- package/dist/utils/install-diagnostics.js.map +1 -0
- package/dist/utils/install-info.d.ts +4 -0
- package/dist/utils/install-info.d.ts.map +1 -1
- package/dist/utils/install-info.js +6 -0
- package/dist/utils/install-info.js.map +1 -1
- package/dist/utils/stdio-epipe-guard.d.ts +39 -0
- package/dist/utils/stdio-epipe-guard.d.ts.map +1 -0
- package/dist/utils/stdio-epipe-guard.js +67 -0
- package/dist/utils/stdio-epipe-guard.js.map +1 -0
- package/dist/worker.js +222 -26
- package/dist/worker.js.map +1 -1
- package/dist/workflows/daemon-spawn.d.ts +2 -0
- package/dist/workflows/daemon-spawn.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
<a href="#/workflows" data-route="workflows"><svg viewBox="0 0 16 16" aria-hidden="true"><circle cx="3.4" cy="8" r="1.9"/><circle cx="12.6" cy="3.6" r="1.9"/><circle cx="12.6" cy="12.4" r="1.9"/><path d="M5.2 7.2l5.6-2.8M5.2 8.8l5.6 2.8"/></svg><span data-i18n="nav.workflows">工作流(beta)</span></a>
|
|
26
26
|
<a href="#/groups" data-route="groups"><svg viewBox="0 0 16 16" aria-hidden="true"><circle cx="5.6" cy="5.8" r="2.4"/><circle cx="11" cy="6.8" r="1.9"/><path d="M1.8 13.2c.5-2.4 2-3.6 3.8-3.6s3.3 1.2 3.8 3.6M9.8 12.6c.4-1.7 1.5-2.6 2.8-2.6 1 0 1.9.5 2.4 1.6"/></svg><span data-i18n="nav.groups">群组</span></a>
|
|
27
27
|
<a href="#/schedules" data-route="schedules"><svg viewBox="0 0 16 16" aria-hidden="true"><circle cx="8" cy="8" r="6.2"/><path d="M8 4.5V8l2.4 1.6"/></svg><span data-i18n="nav.schedules">定时</span></a>
|
|
28
|
+
<a href="#/whiteboards" data-route="whiteboards"><svg viewBox="0 0 16 16" aria-hidden="true"><rect x="2.2" y="2.2" width="11.6" height="11.6" rx="2"/><path d="M4.8 5.2h6.4M4.8 8h6.4M4.8 10.8h4"/></svg><span>白板</span></a>
|
|
28
29
|
<a href="#/roles" data-route="roles"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M8 1.8l5.2 2v3.4c0 3.4-2.2 5.9-5.2 7-3-1.1-5.2-3.6-5.2-7V3.8z"/><path d="M5.8 8l1.6 1.6 2.8-3"/></svg><span data-i18n="nav.roles">角色管理</span></a>
|
|
29
30
|
<a href="#/bot-defaults" data-route="bot-defaults"><svg viewBox="0 0 16 16" aria-hidden="true"><rect x="2.5" y="5" width="11" height="8" rx="2"/><circle cx="5.8" cy="9" r="1"/><circle cx="10.2" cy="9" r="1"/><path d="M8 5V2.5M5.5 13v1.2M10.5 13v1.2"/></svg><span data-i18n="nav.botDefaults">Bot 配置</span></a>
|
|
30
31
|
<a href="#/skills" data-route="skills"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M3 2.5h10v3H3zM3 7h10v6.5H3z"/><path d="M5.4 9.2h5.2M5.4 11.2h3.8"/></svg><span data-i18n="nav.skills">Skills</span></a>
|
|
@@ -157,6 +157,20 @@ a { color: inherit; }
|
|
|
157
157
|
color: var(--accent-strong);
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
+
/* Red dot on the Settings nav when a newer botmux version is available. */
|
|
161
|
+
.sidebar-nav a.nav-has-update { position: relative; }
|
|
162
|
+
.sidebar-nav a.nav-has-update::after {
|
|
163
|
+
content: "";
|
|
164
|
+
position: absolute;
|
|
165
|
+
top: 7px;
|
|
166
|
+
right: 8px;
|
|
167
|
+
width: 7px;
|
|
168
|
+
height: 7px;
|
|
169
|
+
border-radius: 50%;
|
|
170
|
+
background: var(--danger);
|
|
171
|
+
box-shadow: 0 0 0 2px var(--surface);
|
|
172
|
+
}
|
|
173
|
+
|
|
160
174
|
.sidebar-foot {
|
|
161
175
|
margin-top: auto;
|
|
162
176
|
padding: 10px 8px 4px;
|
|
@@ -2056,6 +2070,161 @@ fieldset legend {
|
|
|
2056
2070
|
|
|
2057
2071
|
.bulk-bar[hidden] { display: none; }
|
|
2058
2072
|
.bulk-bar #bulk-count { font-weight: 800; margin-right: 4px; }
|
|
2073
|
+
.idle-cleanup-bar {
|
|
2074
|
+
display: grid;
|
|
2075
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
2076
|
+
align-items: center;
|
|
2077
|
+
gap: 8px 12px;
|
|
2078
|
+
margin: 10px 0 2px;
|
|
2079
|
+
padding: 8px;
|
|
2080
|
+
border-radius: var(--radius);
|
|
2081
|
+
border: 1px solid var(--border-soft);
|
|
2082
|
+
background: color-mix(in srgb, var(--surface) 92%, var(--bg));
|
|
2083
|
+
box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
|
|
2084
|
+
}
|
|
2085
|
+
.idle-cleanup-summary,
|
|
2086
|
+
.idle-cleanup-controls {
|
|
2087
|
+
display: flex;
|
|
2088
|
+
align-items: center;
|
|
2089
|
+
min-width: 0;
|
|
2090
|
+
gap: 8px;
|
|
2091
|
+
}
|
|
2092
|
+
.idle-cleanup-controls {
|
|
2093
|
+
justify-content: flex-end;
|
|
2094
|
+
flex-wrap: wrap;
|
|
2095
|
+
}
|
|
2096
|
+
.idle-cleanup-dot {
|
|
2097
|
+
width: 8px;
|
|
2098
|
+
height: 8px;
|
|
2099
|
+
flex: 0 0 auto;
|
|
2100
|
+
border-radius: 50%;
|
|
2101
|
+
background: var(--danger);
|
|
2102
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 12%, transparent);
|
|
2103
|
+
}
|
|
2104
|
+
.idle-cleanup-bar.is-empty .idle-cleanup-dot {
|
|
2105
|
+
background: var(--muted);
|
|
2106
|
+
box-shadow: none;
|
|
2107
|
+
}
|
|
2108
|
+
.idle-cleanup-count,
|
|
2109
|
+
.idle-cleanup-status,
|
|
2110
|
+
.idle-cleanup-label {
|
|
2111
|
+
min-height: 32px;
|
|
2112
|
+
display: inline-flex;
|
|
2113
|
+
align-items: center;
|
|
2114
|
+
white-space: nowrap;
|
|
2115
|
+
}
|
|
2116
|
+
.idle-cleanup-count {
|
|
2117
|
+
padding: 0 12px;
|
|
2118
|
+
border-radius: 999px;
|
|
2119
|
+
background: var(--surface-muted);
|
|
2120
|
+
border: 1px solid var(--border-soft);
|
|
2121
|
+
color: var(--fg);
|
|
2122
|
+
font-size: 12.5px;
|
|
2123
|
+
font-weight: 800;
|
|
2124
|
+
font-variant-numeric: tabular-nums;
|
|
2125
|
+
}
|
|
2126
|
+
.idle-cleanup-label {
|
|
2127
|
+
color: var(--muted);
|
|
2128
|
+
font-size: 12.5px;
|
|
2129
|
+
font-weight: 700;
|
|
2130
|
+
}
|
|
2131
|
+
.idle-cleanup-thresholds {
|
|
2132
|
+
display: inline-grid;
|
|
2133
|
+
grid-auto-flow: column;
|
|
2134
|
+
gap: 2px;
|
|
2135
|
+
min-height: 32px;
|
|
2136
|
+
padding: 2px;
|
|
2137
|
+
border-radius: 999px;
|
|
2138
|
+
border: 1px solid var(--border-soft);
|
|
2139
|
+
background: var(--surface-muted);
|
|
2140
|
+
}
|
|
2141
|
+
.idle-cleanup-thresholds button {
|
|
2142
|
+
min-height: 26px;
|
|
2143
|
+
padding: 0 10px;
|
|
2144
|
+
border: 0;
|
|
2145
|
+
border-radius: 999px;
|
|
2146
|
+
background: transparent;
|
|
2147
|
+
box-shadow: none;
|
|
2148
|
+
color: var(--muted);
|
|
2149
|
+
font-size: 12px;
|
|
2150
|
+
font-weight: 800;
|
|
2151
|
+
font-variant-numeric: tabular-nums;
|
|
2152
|
+
}
|
|
2153
|
+
.idle-cleanup-thresholds button:hover:not(.active) {
|
|
2154
|
+
color: var(--fg);
|
|
2155
|
+
background: color-mix(in srgb, var(--border-soft) 60%, transparent);
|
|
2156
|
+
}
|
|
2157
|
+
.idle-cleanup-thresholds button.active {
|
|
2158
|
+
background: var(--surface);
|
|
2159
|
+
color: var(--fg);
|
|
2160
|
+
box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
|
|
2161
|
+
}
|
|
2162
|
+
.idle-cleanup-run {
|
|
2163
|
+
min-height: 32px;
|
|
2164
|
+
padding: 0 15px;
|
|
2165
|
+
font-weight: 800;
|
|
2166
|
+
transition: transform .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
|
|
2167
|
+
}
|
|
2168
|
+
.idle-cleanup-run:hover:not(:disabled) {
|
|
2169
|
+
transform: translateY(-1px);
|
|
2170
|
+
}
|
|
2171
|
+
.idle-cleanup-run:active:not(:disabled) {
|
|
2172
|
+
transform: scale(.98);
|
|
2173
|
+
}
|
|
2174
|
+
.idle-cleanup-status {
|
|
2175
|
+
grid-column: 1 / -1;
|
|
2176
|
+
justify-self: end;
|
|
2177
|
+
padding: 0 11px;
|
|
2178
|
+
border-radius: 999px;
|
|
2179
|
+
border: 1px solid color-mix(in srgb, var(--success) 24%, var(--border-soft));
|
|
2180
|
+
background: color-mix(in srgb, var(--success) 8%, var(--surface));
|
|
2181
|
+
color: var(--success);
|
|
2182
|
+
font-size: 12px;
|
|
2183
|
+
font-weight: 800;
|
|
2184
|
+
}
|
|
2185
|
+
.idle-cleanup-status:empty {
|
|
2186
|
+
display: none;
|
|
2187
|
+
}
|
|
2188
|
+
:root[data-theme="dark"] .idle-cleanup-bar {
|
|
2189
|
+
background: rgba(255, 255, 255, 0.035);
|
|
2190
|
+
border-color: rgba(255, 255, 255, 0.08);
|
|
2191
|
+
box-shadow: none;
|
|
2192
|
+
}
|
|
2193
|
+
:root[data-theme="dark"] .idle-cleanup-count,
|
|
2194
|
+
:root[data-theme="dark"] .idle-cleanup-thresholds button.active {
|
|
2195
|
+
background: rgba(255, 255, 255, 0.06);
|
|
2196
|
+
}
|
|
2197
|
+
:root[data-theme="dark"] .idle-cleanup-thresholds {
|
|
2198
|
+
background: rgba(255, 255, 255, 0.035);
|
|
2199
|
+
border-color: rgba(255, 255, 255, 0.09);
|
|
2200
|
+
}
|
|
2201
|
+
:root[data-theme="dark"] .idle-cleanup-status {
|
|
2202
|
+
background: color-mix(in srgb, var(--success) 12%, transparent);
|
|
2203
|
+
}
|
|
2204
|
+
@media (max-width: 720px) {
|
|
2205
|
+
.idle-cleanup-bar {
|
|
2206
|
+
grid-template-columns: 1fr;
|
|
2207
|
+
align-items: stretch;
|
|
2208
|
+
}
|
|
2209
|
+
.idle-cleanup-controls {
|
|
2210
|
+
justify-content: flex-start;
|
|
2211
|
+
}
|
|
2212
|
+
.idle-cleanup-thresholds {
|
|
2213
|
+
flex: 1 1 180px;
|
|
2214
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
2215
|
+
grid-auto-flow: column;
|
|
2216
|
+
}
|
|
2217
|
+
.idle-cleanup-thresholds button {
|
|
2218
|
+
min-width: 0;
|
|
2219
|
+
padding: 0 8px;
|
|
2220
|
+
}
|
|
2221
|
+
.idle-cleanup-run {
|
|
2222
|
+
flex: 1 1 118px;
|
|
2223
|
+
}
|
|
2224
|
+
.idle-cleanup-status {
|
|
2225
|
+
justify-self: start;
|
|
2226
|
+
}
|
|
2227
|
+
}
|
|
2059
2228
|
input.row-select,
|
|
2060
2229
|
#select-all { cursor: pointer; }
|
|
2061
2230
|
|
|
@@ -2228,6 +2397,21 @@ input.row-select,
|
|
|
2228
2397
|
}
|
|
2229
2398
|
.bd-section-note { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
|
|
2230
2399
|
|
|
2400
|
+
/* ── Version & update card ── */
|
|
2401
|
+
.update-version { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
|
|
2402
|
+
.update-badge { font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
|
|
2403
|
+
.update-badge-new { color: var(--accent-strong); background: var(--accent-soft); }
|
|
2404
|
+
.update-badge-ok { color: var(--success); background: var(--success-soft); }
|
|
2405
|
+
.update-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
|
|
2406
|
+
.update-install-list { margin: 6px 0 0; padding-left: 18px; font-size: 12px; line-height: 1.6; }
|
|
2407
|
+
.update-install-list code { font-size: 11px; }
|
|
2408
|
+
.update-install-list small { color: var(--muted); }
|
|
2409
|
+
.update-changelog { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; }
|
|
2410
|
+
.update-release { border: 1px solid var(--border-soft); border-radius: 8px; padding: 8px 12px; background: var(--surface-muted); }
|
|
2411
|
+
.update-release > summary { cursor: pointer; font-size: 13px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
|
|
2412
|
+
.update-release > summary small { color: var(--muted); font-size: 11px; }
|
|
2413
|
+
.update-release-body { margin: 8px 0 0; white-space: pre-wrap; word-break: break-word; font-size: 12px; line-height: 1.5; max-height: 320px; overflow: auto; color: var(--fg); }
|
|
2414
|
+
|
|
2231
2415
|
/* A lighter sub-group inside a bd-section (e.g. 主动开工 lives under 新群 Oncall).
|
|
2232
2416
|
Separated by a soft top rule + indent so it reads as "part of this block". */
|
|
2233
2417
|
.bd-subsection {
|
|
@@ -4179,6 +4363,19 @@ button.contrast:hover { background: var(--danger-soft); border-color: var(--dang
|
|
|
4179
4363
|
min-width: 0;
|
|
4180
4364
|
}
|
|
4181
4365
|
|
|
4366
|
+
.skills-source-control {
|
|
4367
|
+
display: grid;
|
|
4368
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
4369
|
+
gap: 8px;
|
|
4370
|
+
align-items: center;
|
|
4371
|
+
}
|
|
4372
|
+
|
|
4373
|
+
.skills-source-control button {
|
|
4374
|
+
min-height: 36px;
|
|
4375
|
+
padding: 0 13px;
|
|
4376
|
+
white-space: nowrap;
|
|
4377
|
+
}
|
|
4378
|
+
|
|
4182
4379
|
.skills-main-panel,
|
|
4183
4380
|
.skills-bot-grid {
|
|
4184
4381
|
display: grid;
|
|
@@ -4323,7 +4520,27 @@ button.contrast:hover { background: var(--danger-soft); border-color: var(--dang
|
|
|
4323
4520
|
line-height: 1.45;
|
|
4324
4521
|
overflow-wrap: anywhere;
|
|
4325
4522
|
}
|
|
4326
|
-
.skills-row small {
|
|
4523
|
+
.skills-row small {
|
|
4524
|
+
color: var(--muted);
|
|
4525
|
+
font-family: var(--mono);
|
|
4526
|
+
font-size: 11px;
|
|
4527
|
+
overflow-wrap: anywhere;
|
|
4528
|
+
}
|
|
4529
|
+
|
|
4530
|
+
.skills-source-badge {
|
|
4531
|
+
display: inline-flex;
|
|
4532
|
+
align-items: center;
|
|
4533
|
+
width: fit-content;
|
|
4534
|
+
max-width: 100%;
|
|
4535
|
+
min-height: 22px;
|
|
4536
|
+
margin-top: 4px;
|
|
4537
|
+
padding: 2px 7px;
|
|
4538
|
+
border: 1px solid var(--border-soft);
|
|
4539
|
+
border-radius: 999px;
|
|
4540
|
+
background: var(--surface-muted);
|
|
4541
|
+
overflow: hidden;
|
|
4542
|
+
text-overflow: ellipsis;
|
|
4543
|
+
}
|
|
4327
4544
|
|
|
4328
4545
|
.skills-card-actions {
|
|
4329
4546
|
display: grid;
|
|
@@ -4758,6 +4975,213 @@ button.contrast:hover { background: var(--danger-soft); border-color: var(--dang
|
|
|
4758
4975
|
align-self: start;
|
|
4759
4976
|
}
|
|
4760
4977
|
|
|
4978
|
+
.skills-discovery-dialog {
|
|
4979
|
+
width: min(860px, calc(100vw - 44px));
|
|
4980
|
+
max-height: min(760px, calc(100vh - 64px));
|
|
4981
|
+
padding: 0;
|
|
4982
|
+
border: 1px solid var(--border-soft);
|
|
4983
|
+
border-radius: 14px;
|
|
4984
|
+
background: var(--surface);
|
|
4985
|
+
box-shadow: var(--modal-shadow);
|
|
4986
|
+
color: var(--fg);
|
|
4987
|
+
}
|
|
4988
|
+
|
|
4989
|
+
.skills-discovery-dialog::backdrop {
|
|
4990
|
+
background: color-mix(in srgb, #0b1524 42%, transparent);
|
|
4991
|
+
backdrop-filter: blur(4px);
|
|
4992
|
+
}
|
|
4993
|
+
|
|
4994
|
+
.skills-discovery-dialog article {
|
|
4995
|
+
display: grid;
|
|
4996
|
+
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
4997
|
+
max-height: inherit;
|
|
4998
|
+
}
|
|
4999
|
+
|
|
5000
|
+
.skills-discovery-dialog header {
|
|
5001
|
+
display: grid;
|
|
5002
|
+
gap: 5px;
|
|
5003
|
+
padding: 18px 20px 12px;
|
|
5004
|
+
border-bottom: 1px solid var(--border-soft);
|
|
5005
|
+
}
|
|
5006
|
+
|
|
5007
|
+
.skills-discovery-dialog h3,
|
|
5008
|
+
.skills-discovery-dialog p {
|
|
5009
|
+
margin: 0;
|
|
5010
|
+
}
|
|
5011
|
+
|
|
5012
|
+
.skills-discovery-dialog h3 {
|
|
5013
|
+
font-size: 17px;
|
|
5014
|
+
}
|
|
5015
|
+
|
|
5016
|
+
.skills-discovery-dialog p {
|
|
5017
|
+
color: var(--muted);
|
|
5018
|
+
font-size: 12.5px;
|
|
5019
|
+
line-height: 1.5;
|
|
5020
|
+
}
|
|
5021
|
+
|
|
5022
|
+
.skills-discovery-body {
|
|
5023
|
+
display: grid;
|
|
5024
|
+
gap: 12px;
|
|
5025
|
+
min-height: 0;
|
|
5026
|
+
max-height: 520px;
|
|
5027
|
+
overflow: auto;
|
|
5028
|
+
padding: 16px 20px;
|
|
5029
|
+
}
|
|
5030
|
+
|
|
5031
|
+
.skills-discovery-tabs {
|
|
5032
|
+
display: flex;
|
|
5033
|
+
gap: 8px;
|
|
5034
|
+
align-items: center;
|
|
5035
|
+
min-height: 40px;
|
|
5036
|
+
overflow-x: auto;
|
|
5037
|
+
overflow-y: hidden;
|
|
5038
|
+
padding-bottom: 2px;
|
|
5039
|
+
scrollbar-width: thin;
|
|
5040
|
+
}
|
|
5041
|
+
|
|
5042
|
+
.skills-discovery-tabs button {
|
|
5043
|
+
display: grid;
|
|
5044
|
+
grid-template-columns: auto auto;
|
|
5045
|
+
gap: 8px;
|
|
5046
|
+
align-items: center;
|
|
5047
|
+
flex: 0 0 auto;
|
|
5048
|
+
min-height: 38px;
|
|
5049
|
+
padding: 0 12px;
|
|
5050
|
+
border-radius: 999px;
|
|
5051
|
+
text-transform: uppercase;
|
|
5052
|
+
}
|
|
5053
|
+
|
|
5054
|
+
.skills-discovery-tabs button.selected {
|
|
5055
|
+
border-color: color-mix(in srgb, var(--accent) 72%, var(--border-soft));
|
|
5056
|
+
background: color-mix(in srgb, var(--accent) 10%, var(--surface));
|
|
5057
|
+
color: var(--fg);
|
|
5058
|
+
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);
|
|
5059
|
+
}
|
|
5060
|
+
|
|
5061
|
+
.skills-discovery-tabs strong {
|
|
5062
|
+
font-size: 12px;
|
|
5063
|
+
}
|
|
5064
|
+
|
|
5065
|
+
.skills-discovery-tabs small {
|
|
5066
|
+
color: var(--muted);
|
|
5067
|
+
font-size: 11px;
|
|
5068
|
+
font-weight: 700;
|
|
5069
|
+
text-transform: none;
|
|
5070
|
+
}
|
|
5071
|
+
|
|
5072
|
+
.skills-discovery-path {
|
|
5073
|
+
min-width: 0;
|
|
5074
|
+
padding: 7px 10px;
|
|
5075
|
+
border-radius: 8px;
|
|
5076
|
+
background: color-mix(in srgb, var(--surface-muted) 70%, transparent);
|
|
5077
|
+
}
|
|
5078
|
+
|
|
5079
|
+
.skills-discovery-path code {
|
|
5080
|
+
display: block;
|
|
5081
|
+
overflow: hidden;
|
|
5082
|
+
color: var(--muted);
|
|
5083
|
+
font-size: 12px;
|
|
5084
|
+
text-overflow: ellipsis;
|
|
5085
|
+
white-space: nowrap;
|
|
5086
|
+
}
|
|
5087
|
+
|
|
5088
|
+
.skills-discovery-group {
|
|
5089
|
+
display: grid;
|
|
5090
|
+
gap: 8px;
|
|
5091
|
+
}
|
|
5092
|
+
|
|
5093
|
+
.skills-discovery-group[hidden] {
|
|
5094
|
+
display: none;
|
|
5095
|
+
}
|
|
5096
|
+
|
|
5097
|
+
.skills-discovery-group header {
|
|
5098
|
+
display: grid;
|
|
5099
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
5100
|
+
gap: 8px;
|
|
5101
|
+
align-items: center;
|
|
5102
|
+
padding: 0;
|
|
5103
|
+
border: 0;
|
|
5104
|
+
}
|
|
5105
|
+
|
|
5106
|
+
.skills-discovery-group strong {
|
|
5107
|
+
text-transform: uppercase;
|
|
5108
|
+
color: var(--fg);
|
|
5109
|
+
font-size: 12px;
|
|
5110
|
+
}
|
|
5111
|
+
|
|
5112
|
+
.skills-discovery-group code {
|
|
5113
|
+
overflow: hidden;
|
|
5114
|
+
color: var(--muted);
|
|
5115
|
+
font-size: 11px;
|
|
5116
|
+
text-overflow: ellipsis;
|
|
5117
|
+
white-space: nowrap;
|
|
5118
|
+
}
|
|
5119
|
+
|
|
5120
|
+
.skills-discovery-list {
|
|
5121
|
+
display: grid;
|
|
5122
|
+
gap: 7px;
|
|
5123
|
+
}
|
|
5124
|
+
|
|
5125
|
+
.skills-discovery-row {
|
|
5126
|
+
display: grid;
|
|
5127
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
5128
|
+
gap: 10px;
|
|
5129
|
+
align-items: start;
|
|
5130
|
+
min-height: 54px;
|
|
5131
|
+
padding: 10px 12px;
|
|
5132
|
+
border: 1px solid var(--border-soft);
|
|
5133
|
+
border-radius: 8px;
|
|
5134
|
+
background: var(--surface-muted);
|
|
5135
|
+
cursor: pointer;
|
|
5136
|
+
}
|
|
5137
|
+
|
|
5138
|
+
.skills-discovery-row input {
|
|
5139
|
+
margin-top: 3px;
|
|
5140
|
+
}
|
|
5141
|
+
|
|
5142
|
+
.skills-discovery-row span {
|
|
5143
|
+
display: grid;
|
|
5144
|
+
gap: 3px;
|
|
5145
|
+
min-width: 0;
|
|
5146
|
+
}
|
|
5147
|
+
|
|
5148
|
+
.skills-discovery-row strong {
|
|
5149
|
+
overflow: hidden;
|
|
5150
|
+
color: var(--fg);
|
|
5151
|
+
font-size: 13px;
|
|
5152
|
+
text-overflow: ellipsis;
|
|
5153
|
+
white-space: nowrap;
|
|
5154
|
+
}
|
|
5155
|
+
|
|
5156
|
+
.skills-discovery-row small {
|
|
5157
|
+
display: -webkit-box;
|
|
5158
|
+
-webkit-line-clamp: 2;
|
|
5159
|
+
-webkit-box-orient: vertical;
|
|
5160
|
+
overflow: hidden;
|
|
5161
|
+
color: var(--muted);
|
|
5162
|
+
font-size: 12px;
|
|
5163
|
+
line-height: 1.4;
|
|
5164
|
+
}
|
|
5165
|
+
|
|
5166
|
+
.skills-discovery-row em {
|
|
5167
|
+
align-self: center;
|
|
5168
|
+
color: var(--muted);
|
|
5169
|
+
font-size: 11px;
|
|
5170
|
+
font-style: normal;
|
|
5171
|
+
font-weight: 700;
|
|
5172
|
+
}
|
|
5173
|
+
|
|
5174
|
+
.skills-discovery-row.installed {
|
|
5175
|
+
opacity: 0.68;
|
|
5176
|
+
cursor: default;
|
|
5177
|
+
}
|
|
5178
|
+
|
|
5179
|
+
.skills-discovery-dialog footer {
|
|
5180
|
+
justify-content: end;
|
|
5181
|
+
padding: 12px 20px 16px;
|
|
5182
|
+
border-top: 1px solid var(--border-soft);
|
|
5183
|
+
}
|
|
5184
|
+
|
|
4761
5185
|
.skills-policy-controls [data-bot-status] {
|
|
4762
5186
|
grid-column: 1 / -1;
|
|
4763
5187
|
}
|
|
@@ -4803,6 +5227,7 @@ button.contrast:hover { background: var(--danger-soft); border-color: var(--dang
|
|
|
4803
5227
|
}
|
|
4804
5228
|
.skills-side-rail,
|
|
4805
5229
|
.skills-install-grid,
|
|
5230
|
+
.skills-source-control,
|
|
4806
5231
|
.skills-section-head-row,
|
|
4807
5232
|
.skills-overview,
|
|
4808
5233
|
.skills-metric-strip,
|
|
@@ -6580,12 +7005,66 @@ body.cp-fx-slice main { animation: cp-fx-slice 0.32s steps(2, end); }
|
|
|
6580
7005
|
.insights-page .hbtrack { background: var(--ins-inner); border-radius: 6px; height: 14px; overflow: hidden; }
|
|
6581
7006
|
.insights-page .hbfill { height: 100%; background: linear-gradient(90deg, var(--danger-soft), var(--bad)); border-radius: 6px; min-width: 3px; transform-origin: left; animation: insight-bar-grow .55s ease both; }
|
|
6582
7007
|
.insights-page .hbval { font-size: 12px; color: var(--mut); text-align: right; white-space: nowrap; }
|
|
7008
|
+
.insights-page .hbval small { color: var(--ins-faint); font-size: 10px; margin-left: 5px; }
|
|
6583
7009
|
|
|
6584
|
-
/*
|
|
6585
|
-
.insight-
|
|
6586
|
-
|
|
6587
|
-
|
|
6588
|
-
|
|
7010
|
+
/* top-level tabs (总览 / 会话 / 分布 / 热点) — mirrors .detailtabbar */
|
|
7011
|
+
.insights-page .insight-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--line); margin: 4px 0 16px; }
|
|
7012
|
+
.insights-page .itab {
|
|
7013
|
+
background: transparent; color: var(--mut); border: 1px solid transparent; border-bottom: 0;
|
|
7014
|
+
border-radius: 8px 8px 0 0; padding: 8px 16px; font: inherit; font-size: 13px; cursor: pointer; margin-bottom: -1px;
|
|
7015
|
+
transition: color .12s ease, background .12s ease;
|
|
7016
|
+
}
|
|
7017
|
+
.insights-page .itab:hover { color: var(--fg); }
|
|
7018
|
+
.insights-page .itab.on { color: var(--fg); background: var(--panel); border-color: var(--line); font-weight: 600; }
|
|
7019
|
+
.insights-page .insight-panel[hidden] { display: none; }
|
|
7020
|
+
|
|
7021
|
+
/* filter-bar additions: project/time selects, analyzable toggle, clear */
|
|
7022
|
+
.insights-page .ins-select {
|
|
7023
|
+
background: var(--ins-inner); color: var(--fg); border: 1px solid var(--line); border-radius: 8px;
|
|
7024
|
+
padding: 6px 10px; font: inherit; font-size: 12px; max-width: 220px; cursor: pointer;
|
|
7025
|
+
}
|
|
7026
|
+
.insights-page .ins-toggle { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--mut); cursor: pointer; white-space: nowrap; }
|
|
7027
|
+
.insights-page .ins-toggle input { cursor: pointer; }
|
|
7028
|
+
.insights-page .ins-clear {
|
|
7029
|
+
background: transparent; color: var(--mut); border: 1px solid var(--line); border-radius: 8px;
|
|
7030
|
+
padding: 6px 12px; font: inherit; font-size: 12px; cursor: pointer;
|
|
7031
|
+
}
|
|
7032
|
+
.insights-page .ins-clear:hover { color: var(--fg); border-color: var(--acc); }
|
|
7033
|
+
|
|
7034
|
+
/* distribution histograms + hotspots grids */
|
|
7035
|
+
.insights-page .ins-hint { margin: 0 0 12px; font-size: 12px; }
|
|
7036
|
+
.insights-page .ihist-grid,
|
|
7037
|
+
.insights-page .hot-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; align-items: start; }
|
|
7038
|
+
.insights-page .ihist-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
|
|
7039
|
+
.insights-page .ihist-head h3 { margin: 0; }
|
|
7040
|
+
.insights-page .hot-sessions, .insights-page .hot-note { grid-column: 1 / -1; }
|
|
7041
|
+
.insights-page .hot-note { margin-top: 2px; }
|
|
7042
|
+
|
|
7043
|
+
/* Sessions tab: full-width list ⇆ full-width detail (mirrors ASI 会话, replaces
|
|
7044
|
+
the cramped master-detail side panel) */
|
|
7045
|
+
.insights-page #insight-list-view .insight-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
|
|
7046
|
+
.insights-page .sesssort { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
|
|
7047
|
+
.insights-page .sesssort-label { font-size: 11px; margin-right: 2px; }
|
|
7048
|
+
.insights-page .ins-back {
|
|
7049
|
+
background: transparent; color: var(--mut); border: 1px solid var(--line); border-radius: 8px;
|
|
7050
|
+
padding: 6px 14px; font: inherit; font-size: 12px; cursor: pointer; margin-bottom: 12px;
|
|
7051
|
+
}
|
|
7052
|
+
.insights-page .ins-back:hover { color: var(--fg); border-color: var(--acc); }
|
|
7053
|
+
.insights-page #insight-detail-view .insight-detail { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; }
|
|
7054
|
+
/* full-width rich rows */
|
|
7055
|
+
.insights-page .slist.wide { max-height: none; overflow: visible; gap: 10px; }
|
|
7056
|
+
.insights-page .slist.wide .srow { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 13px 16px; }
|
|
7057
|
+
.insights-page .slist.wide .srmain strong { -webkit-line-clamp: 1; font-size: 14px; }
|
|
7058
|
+
.insights-page .slist.wide .mph { max-width: 440px; height: 8px; }
|
|
7059
|
+
.insights-page .slist.wide .srstats { flex-wrap: nowrap; justify-content: flex-end; align-items: center; }
|
|
7060
|
+
.insights-page .slist.wide .srmsg { justify-self: end; }
|
|
7061
|
+
@media (max-width: 760px) {
|
|
7062
|
+
.insights-page .slist.wide .srow { grid-template-columns: 1fr; }
|
|
7063
|
+
.insights-page .slist.wide .srstats { justify-content: flex-start; flex-wrap: wrap; }
|
|
7064
|
+
}
|
|
7065
|
+
|
|
7066
|
+
/* session detail panel (full-width detail view) */
|
|
7067
|
+
.insight-detail { min-width: 0; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; }
|
|
6589
7068
|
.insight-list-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
|
|
6590
7069
|
.insight-list-head h3 { font-size: 13px; margin: 0; }
|
|
6591
7070
|
.insight-list-head span { font-size: 11px; color: var(--mut); }
|
|
@@ -7004,6 +7483,10 @@ body.cp-fx-slice main { animation: cp-fx-slice 0.32s steps(2, end); }
|
|
|
7004
7483
|
.insights-page .cbub-body .md-body { font-size: 13px; }
|
|
7005
7484
|
.insights-page .cbub-foot { display: flex; justify-content: flex-end; }
|
|
7006
7485
|
.insights-page .cbub-ops { background: var(--ins-recess); max-width: 88%; }
|
|
7486
|
+
/* agent narration ("说了什么") inside the agent bubble, above its operations */
|
|
7487
|
+
.insights-page .cbub-saywrap { display: flex; flex-direction: column; gap: 6px; margin: 2px 0 8px; }
|
|
7488
|
+
.insights-page .cbub-say { font-size: 13px; color: var(--fg); border-left: 2px solid var(--acc); padding-left: 9px; overflow-wrap: anywhere; word-break: break-word; }
|
|
7489
|
+
.insights-page .cbub-say .md-body { font-size: 13px; }
|
|
7007
7490
|
.insights-page .cbub-ops-list { display: flex; flex-direction: column; gap: 3px; }
|
|
7008
7491
|
.insights-page .cop-line { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; font-size: 12px; padding: 3px 5px; border-radius: 6px; }
|
|
7009
7492
|
.insights-page .cop-line.clickable { cursor: pointer; }
|
|
@@ -7090,12 +7573,49 @@ body.cp-fx-slice main { animation: cp-fx-slice 0.32s steps(2, end); }
|
|
|
7090
7573
|
@keyframes insight-bar-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
|
|
7091
7574
|
.insights-page .insights-metrics { animation: insight-fade-up .35s ease both; }
|
|
7092
7575
|
.insights-page .insights-overview-grid { animation: insight-fade-up .35s ease both; animation-delay: .05s; }
|
|
7093
|
-
.insights-page .insight-
|
|
7576
|
+
.insights-page .insight-panel { animation: insight-fade-up .35s ease both; animation-delay: .1s; }
|
|
7094
7577
|
@media (prefers-reduced-motion: reduce) {
|
|
7095
7578
|
.insights-page .insights-metrics,
|
|
7096
7579
|
.insights-page .insights-overview-grid,
|
|
7097
|
-
.insights-page .insight-
|
|
7580
|
+
.insights-page .insight-panel,
|
|
7098
7581
|
.insights-page .hbfill { animation: none; }
|
|
7099
7582
|
.insights-page .srow { transition: none; }
|
|
7100
7583
|
.insights-page .srow:hover { transform: none; }
|
|
7101
7584
|
}
|
|
7585
|
+
|
|
7586
|
+
/* ─── 创建会话 modal ─────────────────────────────────────────────────────── */
|
|
7587
|
+
.create-session-btn { white-space: nowrap; }
|
|
7588
|
+
.create-session-modal .cs-card { padding: 20px; }
|
|
7589
|
+
.create-session-modal textarea {
|
|
7590
|
+
width: 100%;
|
|
7591
|
+
box-sizing: border-box;
|
|
7592
|
+
resize: vertical;
|
|
7593
|
+
font: inherit;
|
|
7594
|
+
padding: 8px 10px;
|
|
7595
|
+
border: 1px solid var(--border);
|
|
7596
|
+
border-radius: 6px;
|
|
7597
|
+
background: var(--surface-muted);
|
|
7598
|
+
color: var(--fg);
|
|
7599
|
+
}
|
|
7600
|
+
.create-session-modal fieldset {
|
|
7601
|
+
border: 1px solid var(--border);
|
|
7602
|
+
border-radius: 6px;
|
|
7603
|
+
margin: 12px 0;
|
|
7604
|
+
padding: 10px 12px;
|
|
7605
|
+
}
|
|
7606
|
+
.create-session-modal legend { padding: 0 6px; color: var(--muted); font-size: 13px; }
|
|
7607
|
+
.create-session-modal .cs-bots {
|
|
7608
|
+
display: grid;
|
|
7609
|
+
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
|
|
7610
|
+
gap: 4px 12px;
|
|
7611
|
+
}
|
|
7612
|
+
.create-session-modal .cs-bot { display: flex; align-items: center; gap: 6px; cursor: pointer; }
|
|
7613
|
+
.create-session-modal .cs-mode label,
|
|
7614
|
+
.create-session-modal .cs-column label { display: inline-flex; align-items: center; gap: 6px; margin-right: 16px; cursor: pointer; }
|
|
7615
|
+
.create-session-modal fieldset small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }
|
|
7616
|
+
.create-session-modal .cs-lead-row { margin: 12px 0; }
|
|
7617
|
+
.create-session-modal .cs-lead-row select { margin: 4px 0; padding: 6px 8px; }
|
|
7618
|
+
.create-session-modal .cs-advanced { margin: 12px 0; }
|
|
7619
|
+
.create-session-modal .cs-advanced summary { cursor: pointer; color: var(--muted); }
|
|
7620
|
+
.create-session-modal .cs-empty { color: var(--muted); margin: 0; }
|
|
7621
|
+
.create-session-modal .cs-warn { color: var(--warn, #c60); }
|