@co0ontty/wand 1.18.1 → 1.18.12
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/dist/process-manager.d.ts +2 -1
- package/dist/process-manager.js +14 -34
- package/dist/pty-text-utils.d.ts +1 -3
- package/dist/pty-text-utils.js +1 -3
- package/dist/server-session-routes.js +6 -12
- package/dist/storage.js +4 -8
- package/dist/structured-session-manager.d.ts +6 -1
- package/dist/structured-session-manager.js +156 -13
- package/dist/types.d.ts +0 -14
- package/dist/web-ui/content/scripts.js +512 -141
- package/dist/web-ui/content/styles.css +202 -16
- package/package.json +1 -1
|
@@ -1054,16 +1054,16 @@
|
|
|
1054
1054
|
}
|
|
1055
1055
|
.claude-history-item:hover {
|
|
1056
1056
|
opacity: 1;
|
|
1057
|
-
background: rgba(
|
|
1057
|
+
background: rgba(255, 253, 250, 0.96);
|
|
1058
1058
|
}
|
|
1059
1059
|
|
|
1060
1060
|
/* ===== 会话卡片项 ===== */
|
|
1061
1061
|
.session-item {
|
|
1062
1062
|
width: 100%;
|
|
1063
1063
|
text-align: left;
|
|
1064
|
-
background:
|
|
1065
|
-
border: 1px solid
|
|
1066
|
-
border-radius:
|
|
1064
|
+
background: rgba(255, 252, 247, 0.92);
|
|
1065
|
+
border: 1px solid var(--border-subtle);
|
|
1066
|
+
border-radius: 10px;
|
|
1067
1067
|
color: var(--text-primary);
|
|
1068
1068
|
padding: 10px 12px;
|
|
1069
1069
|
cursor: pointer;
|
|
@@ -1097,6 +1097,7 @@
|
|
|
1097
1097
|
position: relative;
|
|
1098
1098
|
z-index: 2;
|
|
1099
1099
|
background: inherit;
|
|
1100
|
+
border-radius: inherit;
|
|
1100
1101
|
transition: transform 0.3s var(--ease-out-expo);
|
|
1101
1102
|
will-change: transform;
|
|
1102
1103
|
}
|
|
@@ -1148,7 +1149,7 @@
|
|
|
1148
1149
|
|
|
1149
1150
|
.session-item.selected {
|
|
1150
1151
|
border-color: rgba(197, 101, 61, 0.35);
|
|
1151
|
-
background: rgba(
|
|
1152
|
+
background: rgba(255, 245, 238, 0.96);
|
|
1152
1153
|
}
|
|
1153
1154
|
|
|
1154
1155
|
.session-item.selected::before {
|
|
@@ -1803,9 +1804,9 @@
|
|
|
1803
1804
|
|
|
1804
1805
|
/* ===== 会话卡片交互效果 ===== */
|
|
1805
1806
|
.session-item:hover {
|
|
1806
|
-
background: rgba(
|
|
1807
|
-
border-color: var(--border-
|
|
1808
|
-
box-shadow: 0
|
|
1807
|
+
background: rgba(255, 253, 250, 0.96);
|
|
1808
|
+
border-color: var(--border-default);
|
|
1809
|
+
box-shadow: 0 2px 8px rgba(89, 58, 32, 0.07);
|
|
1809
1810
|
}
|
|
1810
1811
|
|
|
1811
1812
|
.session-item:hover::before {
|
|
@@ -1814,9 +1815,9 @@
|
|
|
1814
1815
|
}
|
|
1815
1816
|
|
|
1816
1817
|
.session-item.active {
|
|
1817
|
-
background: rgba(
|
|
1818
|
-
border-color: rgba(197, 101, 61, 0.
|
|
1819
|
-
box-shadow: 0
|
|
1818
|
+
background: rgba(255, 247, 240, 0.96);
|
|
1819
|
+
border-color: rgba(197, 101, 61, 0.3);
|
|
1820
|
+
box-shadow: 0 2px 8px rgba(197, 101, 61, 0.1);
|
|
1820
1821
|
}
|
|
1821
1822
|
|
|
1822
1823
|
.session-item.active::before {
|
|
@@ -1884,7 +1885,7 @@
|
|
|
1884
1885
|
|
|
1885
1886
|
.session-status.running .session-status-dot {
|
|
1886
1887
|
background: var(--success);
|
|
1887
|
-
box-shadow: 0 0
|
|
1888
|
+
box-shadow: 0 0 5px var(--success-glow);
|
|
1888
1889
|
animation: status-pulse 2s ease-in-out infinite;
|
|
1889
1890
|
}
|
|
1890
1891
|
|
|
@@ -2219,15 +2220,92 @@
|
|
|
2219
2220
|
|
|
2220
2221
|
.terminal-info { font-size: 0.625rem; color: var(--text-muted); font-weight: 500; }
|
|
2221
2222
|
|
|
2222
|
-
/* =====
|
|
2223
|
+
/* ===== 主内容区顶部行(三段式) ===== */
|
|
2223
2224
|
.main-header-row {
|
|
2224
2225
|
display: flex;
|
|
2225
2226
|
align-items: center;
|
|
2226
|
-
justify-content: flex-start;
|
|
2227
2227
|
padding: 6px 10px;
|
|
2228
2228
|
flex-shrink: 0;
|
|
2229
2229
|
min-height: 44px;
|
|
2230
2230
|
gap: 8px;
|
|
2231
|
+
position: relative;
|
|
2232
|
+
}
|
|
2233
|
+
.topbar-left {
|
|
2234
|
+
display: flex;
|
|
2235
|
+
align-items: center;
|
|
2236
|
+
gap: 8px;
|
|
2237
|
+
flex-shrink: 0;
|
|
2238
|
+
}
|
|
2239
|
+
.topbar-center {
|
|
2240
|
+
flex: 1;
|
|
2241
|
+
min-width: 0;
|
|
2242
|
+
display: flex;
|
|
2243
|
+
align-items: center;
|
|
2244
|
+
gap: 8px;
|
|
2245
|
+
overflow: hidden;
|
|
2246
|
+
}
|
|
2247
|
+
.topbar-right {
|
|
2248
|
+
display: flex;
|
|
2249
|
+
align-items: center;
|
|
2250
|
+
gap: 4px;
|
|
2251
|
+
flex-shrink: 0;
|
|
2252
|
+
}
|
|
2253
|
+
|
|
2254
|
+
/* 左段品牌徽标 */
|
|
2255
|
+
.topbar-brand {
|
|
2256
|
+
display: inline-flex;
|
|
2257
|
+
align-items: center;
|
|
2258
|
+
justify-content: center;
|
|
2259
|
+
width: 26px;
|
|
2260
|
+
height: 26px;
|
|
2261
|
+
border-radius: 8px;
|
|
2262
|
+
background: linear-gradient(135deg, var(--accent), var(--accent-active));
|
|
2263
|
+
color: #fff;
|
|
2264
|
+
font-weight: 700;
|
|
2265
|
+
font-size: 0.85rem;
|
|
2266
|
+
letter-spacing: 0.02em;
|
|
2267
|
+
box-shadow: 0 1px 3px rgba(89, 58, 32, 0.18);
|
|
2268
|
+
user-select: none;
|
|
2269
|
+
flex-shrink: 0;
|
|
2270
|
+
}
|
|
2271
|
+
|
|
2272
|
+
/* 中段:会话标题 / cwd / 标语 */
|
|
2273
|
+
.topbar-session-title {
|
|
2274
|
+
font-weight: 600;
|
|
2275
|
+
font-size: 0.85rem;
|
|
2276
|
+
color: var(--text-primary);
|
|
2277
|
+
white-space: nowrap;
|
|
2278
|
+
overflow: hidden;
|
|
2279
|
+
text-overflow: ellipsis;
|
|
2280
|
+
flex-shrink: 0;
|
|
2281
|
+
max-width: 240px;
|
|
2282
|
+
}
|
|
2283
|
+
.topbar-cwd {
|
|
2284
|
+
color: var(--text-muted);
|
|
2285
|
+
font-size: 0.72rem;
|
|
2286
|
+
font-family: var(--font-mono, monospace);
|
|
2287
|
+
white-space: nowrap;
|
|
2288
|
+
overflow: hidden;
|
|
2289
|
+
text-overflow: ellipsis;
|
|
2290
|
+
min-width: 0;
|
|
2291
|
+
flex: 1 1 0;
|
|
2292
|
+
cursor: pointer;
|
|
2293
|
+
padding: 2px 6px;
|
|
2294
|
+
border-radius: 6px;
|
|
2295
|
+
direction: rtl;
|
|
2296
|
+
text-align: left;
|
|
2297
|
+
transition: background var(--transition-fast), color var(--transition-fast);
|
|
2298
|
+
}
|
|
2299
|
+
.topbar-cwd:hover {
|
|
2300
|
+
background: rgba(255, 255, 255, 0.55);
|
|
2301
|
+
color: var(--text-secondary);
|
|
2302
|
+
}
|
|
2303
|
+
.topbar-tagline {
|
|
2304
|
+
color: var(--text-muted);
|
|
2305
|
+
font-size: 0.78rem;
|
|
2306
|
+
white-space: nowrap;
|
|
2307
|
+
overflow: hidden;
|
|
2308
|
+
text-overflow: ellipsis;
|
|
2231
2309
|
}
|
|
2232
2310
|
|
|
2233
2311
|
/* PWA 模式额外留出顶部缓冲,避免与 iPadOS Stage Manager 等系统浮动控件视觉粘连 */
|
|
@@ -2240,7 +2318,65 @@
|
|
|
2240
2318
|
padding-top: 10px;
|
|
2241
2319
|
}
|
|
2242
2320
|
|
|
2243
|
-
/*
|
|
2321
|
+
/* 会话状态徽标(静态) */
|
|
2322
|
+
.session-status-pill {
|
|
2323
|
+
display: inline-flex;
|
|
2324
|
+
align-items: center;
|
|
2325
|
+
gap: 5px;
|
|
2326
|
+
font-size: 0.7rem;
|
|
2327
|
+
font-weight: 500;
|
|
2328
|
+
color: var(--text-secondary);
|
|
2329
|
+
background: var(--bg-elevated);
|
|
2330
|
+
border: 1px solid var(--border-subtle);
|
|
2331
|
+
border-radius: 20px;
|
|
2332
|
+
padding: 2px 9px 2px 7px;
|
|
2333
|
+
flex-shrink: 0;
|
|
2334
|
+
max-width: 140px;
|
|
2335
|
+
white-space: nowrap;
|
|
2336
|
+
overflow: hidden;
|
|
2337
|
+
}
|
|
2338
|
+
.session-status-pill .session-status-dot {
|
|
2339
|
+
width: 6px;
|
|
2340
|
+
height: 6px;
|
|
2341
|
+
border-radius: 50%;
|
|
2342
|
+
background: var(--text-muted);
|
|
2343
|
+
flex-shrink: 0;
|
|
2344
|
+
}
|
|
2345
|
+
.session-status-pill .session-status-text {
|
|
2346
|
+
overflow: hidden;
|
|
2347
|
+
text-overflow: ellipsis;
|
|
2348
|
+
}
|
|
2349
|
+
.session-status-pill.running {
|
|
2350
|
+
background: var(--success-muted);
|
|
2351
|
+
border-color: rgba(79, 122, 88, 0.3);
|
|
2352
|
+
color: var(--success);
|
|
2353
|
+
}
|
|
2354
|
+
.session-status-pill.running .session-status-dot {
|
|
2355
|
+
background: var(--success);
|
|
2356
|
+
animation: task-pulse 1.2s ease-in-out infinite;
|
|
2357
|
+
}
|
|
2358
|
+
.session-status-pill.permission-blocked {
|
|
2359
|
+
background: var(--warning-muted);
|
|
2360
|
+
border-color: rgba(169, 106, 47, 0.35);
|
|
2361
|
+
color: var(--warning);
|
|
2362
|
+
}
|
|
2363
|
+
.session-status-pill.permission-blocked .session-status-dot {
|
|
2364
|
+
background: var(--warning);
|
|
2365
|
+
animation: task-pulse 1.2s ease-in-out infinite;
|
|
2366
|
+
}
|
|
2367
|
+
.session-status-pill.exited,
|
|
2368
|
+
.session-status-pill.stopped {
|
|
2369
|
+
color: var(--text-muted);
|
|
2370
|
+
}
|
|
2371
|
+
.session-status-pill.failed {
|
|
2372
|
+
background: var(--danger-muted);
|
|
2373
|
+
border-color: rgba(178, 79, 69, 0.3);
|
|
2374
|
+
color: var(--danger);
|
|
2375
|
+
}
|
|
2376
|
+
.session-status-pill.failed .session-status-dot { background: var(--danger); }
|
|
2377
|
+
.session-status-pill.archived { opacity: 0.7; }
|
|
2378
|
+
|
|
2379
|
+
/* Current task indicator(动态活动徽标,由 updateTaskDisplay 管理) */
|
|
2244
2380
|
.current-task {
|
|
2245
2381
|
display: flex;
|
|
2246
2382
|
align-items: center;
|
|
@@ -2252,7 +2388,7 @@
|
|
|
2252
2388
|
border-radius: 20px;
|
|
2253
2389
|
padding: 2px 8px 2px 5px;
|
|
2254
2390
|
font-weight: 500;
|
|
2255
|
-
max-width:
|
|
2391
|
+
max-width: 240px;
|
|
2256
2392
|
min-width: 0;
|
|
2257
2393
|
overflow: hidden;
|
|
2258
2394
|
flex-shrink: 1;
|
|
@@ -2274,6 +2410,50 @@
|
|
|
2274
2410
|
50% { opacity: 0.5; transform: scale(0.8); }
|
|
2275
2411
|
}
|
|
2276
2412
|
|
|
2413
|
+
/* 右段更多菜单 */
|
|
2414
|
+
.topbar-more-wrap {
|
|
2415
|
+
position: relative;
|
|
2416
|
+
display: inline-flex;
|
|
2417
|
+
}
|
|
2418
|
+
.topbar-more-menu {
|
|
2419
|
+
position: absolute;
|
|
2420
|
+
top: calc(100% + 6px);
|
|
2421
|
+
right: 0;
|
|
2422
|
+
min-width: 168px;
|
|
2423
|
+
background: var(--bg-elevated);
|
|
2424
|
+
border: 1px solid var(--border-default);
|
|
2425
|
+
border-radius: var(--radius-md);
|
|
2426
|
+
padding: 4px;
|
|
2427
|
+
box-shadow: var(--shadow-lg);
|
|
2428
|
+
z-index: 60;
|
|
2429
|
+
display: flex;
|
|
2430
|
+
flex-direction: column;
|
|
2431
|
+
gap: 1px;
|
|
2432
|
+
}
|
|
2433
|
+
.topbar-more-menu.hidden { display: none; }
|
|
2434
|
+
.topbar-more-item {
|
|
2435
|
+
display: flex;
|
|
2436
|
+
align-items: center;
|
|
2437
|
+
gap: 9px;
|
|
2438
|
+
width: 100%;
|
|
2439
|
+
padding: 8px 12px;
|
|
2440
|
+
border: 0;
|
|
2441
|
+
background: transparent;
|
|
2442
|
+
color: var(--text-primary);
|
|
2443
|
+
font-family: var(--font-sans);
|
|
2444
|
+
font-size: 0.82rem;
|
|
2445
|
+
font-weight: 500;
|
|
2446
|
+
cursor: pointer;
|
|
2447
|
+
border-radius: 8px;
|
|
2448
|
+
text-align: left;
|
|
2449
|
+
transition: background var(--transition-fast), color var(--transition-fast);
|
|
2450
|
+
}
|
|
2451
|
+
.topbar-more-item:hover { background: var(--accent-muted); color: var(--accent); }
|
|
2452
|
+
.topbar-more-item svg { flex-shrink: 0; opacity: 0.85; }
|
|
2453
|
+
.topbar-more-item.topbar-more-item-danger { color: var(--danger); }
|
|
2454
|
+
.topbar-more-item.topbar-more-item-danger:hover { background: var(--danger-muted); color: var(--danger-hover); }
|
|
2455
|
+
.topbar-more-item.hidden { display: none; }
|
|
2456
|
+
|
|
2277
2457
|
/* 桌面端显示所有按钮 */
|
|
2278
2458
|
.terminal-scale-toggle { display: flex; }
|
|
2279
2459
|
.terminal-tool-btn { display: inline-flex; }
|
|
@@ -6565,6 +6745,12 @@
|
|
|
6565
6745
|
.current-task { font-size: 0.5625rem; padding: 1px 6px 1px 4px; gap: 3px; }
|
|
6566
6746
|
|
|
6567
6747
|
.main-header-row { padding: 2px 6px; gap: 4px; }
|
|
6748
|
+
.topbar-brand,
|
|
6749
|
+
.topbar-cwd { display: none; }
|
|
6750
|
+
.topbar-session-title { max-width: 140px; font-size: 0.78rem; }
|
|
6751
|
+
.session-status-pill { font-size: 0.625rem; padding: 1px 7px 1px 5px; max-width: 110px; }
|
|
6752
|
+
.session-status-pill .session-status-dot { width: 5px; height: 5px; }
|
|
6753
|
+
.topbar-more-menu { min-width: 156px; }
|
|
6568
6754
|
|
|
6569
6755
|
/* 视图切换按钮 - 紧凑 */
|
|
6570
6756
|
.view-toggle { height: 28px; padding: 2px; gap: 1px; }
|