@workerdeck/ui 2.15.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/build/{SessionPanel-BVKqPs_3.d.mts → SessionPanel-BNNc8grK.d.mts} +18 -16
- package/build/index.d.mts +194 -49
- package/build/index.mjs +562 -260
- package/build/index.mjs.map +1 -1
- package/build/scoped.css +170 -21
- package/build/{use-path-links-BgWXmfAS.mjs → use-path-links-C6Fh5zdx.mjs} +3312 -2758
- package/build/use-path-links-C6Fh5zdx.mjs.map +1 -0
- package/build/workspace.d.mts +3 -3
- package/build/workspace.mjs +3 -3
- package/build/workspace.mjs.map +1 -1
- package/package.json +4 -4
- package/src/components/agent/ApprovalPrompts.tsx +87 -0
- package/src/components/agent/Composer.tsx +25 -47
- package/src/components/agent/ContextDialog.tsx +75 -67
- package/src/components/agent/FrameStrip.tsx +74 -0
- package/src/components/agent/HostFilesDialog.tsx +3 -2
- package/src/components/agent/McpDialog.tsx +112 -78
- package/src/components/agent/PermissionPrompt.tsx +22 -17
- package/src/components/agent/QuestionPrompt.tsx +6 -41
- package/src/components/agent/Response.tsx +8 -1
- package/src/components/agent/Scrubber.tsx +6 -75
- package/src/components/agent/SessionBrowser.tsx +131 -214
- package/src/components/agent/SessionFilters.tsx +266 -0
- package/src/components/agent/SessionInfoDialog.tsx +47 -63
- package/src/components/agent/SessionItem.tsx +29 -6
- package/src/components/agent/SessionPanel.tsx +249 -498
- package/src/components/agent/SessionSteps.tsx +98 -14
- package/src/components/agent/SessionWorkspace.tsx +3 -3
- package/src/components/agent/ShellStrip.tsx +43 -36
- package/src/components/agent/ShellTerminal.tsx +1 -1
- package/src/components/agent/SubagentStrip.tsx +13 -30
- package/src/components/agent/ToolCallCard.tsx +18 -41
- package/src/components/agent/Transcript.tsx +111 -93
- package/src/components/agent/TranscriptItemView.tsx +80 -67
- package/src/components/agent/TranscriptRows.tsx +4 -2
- package/src/components/agent/composer-commands.ts +80 -1
- package/src/components/agent/image-viewer.tsx +326 -0
- package/src/components/agent/markdown-image.tsx +139 -0
- package/src/components/agent/scrubber-marks.ts +33 -11
- package/src/components/agent/scrubber-peek.tsx +122 -0
- package/src/components/agent/session-panel-providers.tsx +41 -0
- package/src/components/agent/shell-actions.tsx +38 -1
- package/src/components/agent/tool-result-image.tsx +40 -0
- package/src/components/agent/transcript-variant.tsx +3 -21
- package/src/components/agent/use-catch-up.ts +20 -0
- package/src/components/agent/use-frame.ts +88 -0
- package/src/components/agent/use-host-image.ts +81 -0
- package/src/components/agent/use-shell-frame.ts +12 -70
- package/src/components/agent/use-subagent-frame.ts +19 -75
- package/src/components/prompt-area/prompt-area-engine.ts +21 -20
- package/src/components/prompt-area/prompt-area-list-ops.ts +12 -15
- package/src/components/prompt-area/use-prompt-area-keydown.ts +4 -2
- package/src/components/terminal/PermissionPrompt.tsx +31 -28
- package/src/components/terminal/QuestionPrompt.tsx +10 -46
- package/src/components/terminal/TerminalTranscript.tsx +23 -89
- package/src/components/terminal/affordances.tsx +100 -74
- package/src/components/terminal/height.ts +48 -32
- package/src/components/terminal/image-box.ts +31 -0
- package/src/components/terminal/items.tsx +70 -30
- package/src/components/terminal/markdown.tsx +4 -1
- package/src/components/terminal/scrubber.tsx +25 -272
- package/src/components/terminal/shell-row.ts +17 -3
- package/src/components/ui/Popover.tsx +29 -0
- package/src/components/ui/Select.tsx +25 -0
- package/src/index.ts +65 -12
- package/src/lib/file-link.ts +3 -16
- package/src/lib/permission-prompt.ts +57 -0
- package/src/lib/question-answers.ts +65 -0
- package/src/lib/shell-request.ts +115 -0
- package/src/lib/tool-icon.ts +13 -1
- package/src/styles/terminal.css +129 -22
- package/src/styles/theme.css +4 -0
- package/build/use-path-links-BgWXmfAS.mjs.map +0 -1
- package/src/components/prompt-area/use-markdown-mode.ts +0 -103
package/build/scoped.css
CHANGED
|
@@ -304,6 +304,9 @@
|
|
|
304
304
|
.wd-root .right-2 {
|
|
305
305
|
right: calc(var(--spacing) * 2);
|
|
306
306
|
}
|
|
307
|
+
.wd-root .right-3\.5 {
|
|
308
|
+
right: calc(var(--spacing) * 3.5);
|
|
309
|
+
}
|
|
307
310
|
.wd-root .right-4 {
|
|
308
311
|
right: calc(var(--spacing) * 4);
|
|
309
312
|
}
|
|
@@ -328,12 +331,12 @@
|
|
|
328
331
|
.wd-root .left-2 {
|
|
329
332
|
left: calc(var(--spacing) * 2);
|
|
330
333
|
}
|
|
331
|
-
.wd-root .left-2\.5 {
|
|
332
|
-
left: calc(var(--spacing) * 2.5);
|
|
333
|
-
}
|
|
334
334
|
.wd-root .left-4 {
|
|
335
335
|
left: calc(var(--spacing) * 4);
|
|
336
336
|
}
|
|
337
|
+
.wd-root .left-4\.5 {
|
|
338
|
+
left: calc(var(--spacing) * 4.5);
|
|
339
|
+
}
|
|
337
340
|
.wd-root .isolate {
|
|
338
341
|
isolation: isolate;
|
|
339
342
|
}
|
|
@@ -635,6 +638,9 @@
|
|
|
635
638
|
.wd-root .min-h-\[200px\] {
|
|
636
639
|
min-height: 200px;
|
|
637
640
|
}
|
|
641
|
+
.wd-root .min-h-full {
|
|
642
|
+
min-height: 100%;
|
|
643
|
+
}
|
|
638
644
|
.wd-root .w-0\.5 {
|
|
639
645
|
width: calc(var(--spacing) * 0.5);
|
|
640
646
|
}
|
|
@@ -653,8 +659,8 @@
|
|
|
653
659
|
.wd-root .w-9 {
|
|
654
660
|
width: calc(var(--spacing) * 9);
|
|
655
661
|
}
|
|
656
|
-
.wd-root .w-
|
|
657
|
-
width: calc(var(--spacing) *
|
|
662
|
+
.wd-root .w-12 {
|
|
663
|
+
width: calc(var(--spacing) * 12);
|
|
658
664
|
}
|
|
659
665
|
.wd-root .w-16 {
|
|
660
666
|
width: calc(var(--spacing) * 16);
|
|
@@ -665,6 +671,9 @@
|
|
|
665
671
|
.wd-root .w-48 {
|
|
666
672
|
width: calc(var(--spacing) * 48);
|
|
667
673
|
}
|
|
674
|
+
.wd-root .w-80 {
|
|
675
|
+
width: calc(var(--spacing) * 80);
|
|
676
|
+
}
|
|
668
677
|
.wd-root .w-\[11px\] {
|
|
669
678
|
width: 11px;
|
|
670
679
|
}
|
|
@@ -686,6 +695,9 @@
|
|
|
686
695
|
.wd-root .w-full {
|
|
687
696
|
width: 100%;
|
|
688
697
|
}
|
|
698
|
+
.wd-root .w-max {
|
|
699
|
+
width: max-content;
|
|
700
|
+
}
|
|
689
701
|
.wd-root .w-px {
|
|
690
702
|
width: 1px;
|
|
691
703
|
}
|
|
@@ -716,6 +728,9 @@
|
|
|
716
728
|
.wd-root .max-w-md {
|
|
717
729
|
max-width: var(--container-md);
|
|
718
730
|
}
|
|
731
|
+
.wd-root .max-w-none {
|
|
732
|
+
max-width: none;
|
|
733
|
+
}
|
|
719
734
|
.wd-root .max-w-sm {
|
|
720
735
|
max-width: var(--container-sm);
|
|
721
736
|
}
|
|
@@ -749,6 +764,9 @@
|
|
|
749
764
|
.wd-root .min-w-\[var\(--anchor-width\)\] {
|
|
750
765
|
min-width: var(--anchor-width);
|
|
751
766
|
}
|
|
767
|
+
.wd-root .min-w-full {
|
|
768
|
+
min-width: 100%;
|
|
769
|
+
}
|
|
752
770
|
.wd-root .flex-1 {
|
|
753
771
|
flex: 1;
|
|
754
772
|
}
|
|
@@ -802,6 +820,9 @@
|
|
|
802
820
|
.wd-root .cursor-default {
|
|
803
821
|
cursor: default;
|
|
804
822
|
}
|
|
823
|
+
.wd-root .cursor-grab {
|
|
824
|
+
cursor: grab;
|
|
825
|
+
}
|
|
805
826
|
.wd-root .cursor-not-allowed {
|
|
806
827
|
cursor: not-allowed;
|
|
807
828
|
}
|
|
@@ -811,6 +832,9 @@
|
|
|
811
832
|
.wd-root .cursor-row-resize {
|
|
812
833
|
cursor: row-resize;
|
|
813
834
|
}
|
|
835
|
+
.wd-root .cursor-zoom-in {
|
|
836
|
+
cursor: zoom-in;
|
|
837
|
+
}
|
|
814
838
|
.wd-root .touch-none {
|
|
815
839
|
touch-action: none;
|
|
816
840
|
}
|
|
@@ -1239,6 +1263,12 @@
|
|
|
1239
1263
|
.wd-root .bg-surface-hover {
|
|
1240
1264
|
background-color: var(--bg-surface-hover);
|
|
1241
1265
|
}
|
|
1266
|
+
.wd-root .bg-surface-hover\/40 {
|
|
1267
|
+
background-color: var(--bg-surface-hover);
|
|
1268
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1269
|
+
background-color: color-mix(in oklab, var(--bg-surface-hover) 40%, transparent);
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1242
1272
|
.wd-root .bg-transparent {
|
|
1243
1273
|
background-color: transparent;
|
|
1244
1274
|
}
|
|
@@ -1251,6 +1281,9 @@
|
|
|
1251
1281
|
.wd-root .bg-clip-padding {
|
|
1252
1282
|
background-clip: padding-box;
|
|
1253
1283
|
}
|
|
1284
|
+
.wd-root .fill-current {
|
|
1285
|
+
fill: currentcolor;
|
|
1286
|
+
}
|
|
1254
1287
|
.wd-root .object-contain {
|
|
1255
1288
|
object-fit: contain;
|
|
1256
1289
|
}
|
|
@@ -1287,6 +1320,9 @@
|
|
|
1287
1320
|
.wd-root .p-6 {
|
|
1288
1321
|
padding: calc(var(--spacing) * 6);
|
|
1289
1322
|
}
|
|
1323
|
+
.wd-root .p-px {
|
|
1324
|
+
padding: 1px;
|
|
1325
|
+
}
|
|
1290
1326
|
.wd-root .px-1 {
|
|
1291
1327
|
padding-inline: var(--spacing);
|
|
1292
1328
|
}
|
|
@@ -1371,6 +1407,9 @@
|
|
|
1371
1407
|
.wd-root .pt-4 {
|
|
1372
1408
|
padding-top: calc(var(--spacing) * 4);
|
|
1373
1409
|
}
|
|
1410
|
+
.wd-root .pt-5 {
|
|
1411
|
+
padding-top: calc(var(--spacing) * 5);
|
|
1412
|
+
}
|
|
1374
1413
|
.wd-root .pr-0\.5 {
|
|
1375
1414
|
padding-right: calc(var(--spacing) * 0.5);
|
|
1376
1415
|
}
|
|
@@ -2046,6 +2085,9 @@
|
|
|
2046
2085
|
.wd-root .focus-visible\:ring-inset:focus-visible {
|
|
2047
2086
|
--tw-ring-inset: inset;
|
|
2048
2087
|
}
|
|
2088
|
+
.wd-root .active\:cursor-grabbing:active {
|
|
2089
|
+
cursor: grabbing;
|
|
2090
|
+
}
|
|
2049
2091
|
.wd-root .disabled\:pointer-events-none:disabled {
|
|
2050
2092
|
pointer-events: none;
|
|
2051
2093
|
}
|
|
@@ -2443,40 +2485,135 @@
|
|
|
2443
2485
|
.wd-root .term-hoverable {
|
|
2444
2486
|
position: relative;
|
|
2445
2487
|
}
|
|
2446
|
-
.wd-root [data-terminal] .term-actions {
|
|
2488
|
+
:is(.wd-root, .wd-root *):is([data-terminal],[data-cards]) .term-actions {
|
|
2447
2489
|
position: absolute;
|
|
2448
|
-
|
|
2449
|
-
right: 0;
|
|
2450
|
-
height: var(--term-line);
|
|
2490
|
+
z-index: 1;
|
|
2451
2491
|
display: flex;
|
|
2492
|
+
align-items: center;
|
|
2493
|
+
opacity: 0;
|
|
2494
|
+
transition: opacity var(--motion-fast, 120ms);
|
|
2495
|
+
}
|
|
2496
|
+
.wd-root [data-terminal] .term-actions {
|
|
2497
|
+
height: var(--term-line);
|
|
2452
2498
|
gap: 1ch;
|
|
2499
|
+
}
|
|
2500
|
+
.wd-root [data-cards] .term-actions {
|
|
2501
|
+
height: 20px;
|
|
2502
|
+
gap: 6px;
|
|
2503
|
+
}
|
|
2504
|
+
:is(.wd-root, .wd-root *):is([data-terminal],[data-cards]) [data-placement='below']>.term-actions {
|
|
2505
|
+
top: 100%;
|
|
2506
|
+
}
|
|
2507
|
+
.wd-root [data-terminal] [data-placement='below']>.term-actions {
|
|
2508
|
+
left: var(--term-cell);
|
|
2509
|
+
}
|
|
2510
|
+
.wd-root [data-cards] [data-placement='below']>.term-actions {
|
|
2511
|
+
left: 0;
|
|
2512
|
+
}
|
|
2513
|
+
:is(.wd-root, .wd-root *):is([data-terminal],[data-cards]) [data-placement='inline']>.term-actions {
|
|
2514
|
+
top: 0;
|
|
2515
|
+
right: 0;
|
|
2453
2516
|
padding-inline: 1ch;
|
|
2454
2517
|
background: var(--bg, transparent);
|
|
2455
|
-
opacity: 0;
|
|
2456
|
-
transition: opacity var(--motion-fast, 120ms);
|
|
2457
2518
|
}
|
|
2458
|
-
.wd-root [data-terminal]
|
|
2519
|
+
:is(.wd-root, .wd-root *):is([data-terminal],[data-cards]) [data-placement='below']:is(:hover,:focus-within):not(:has([data-placement='below']:is(:hover,:focus-within)))>.term-actions, :is(.wd-root, .wd-root *):is([data-terminal],[data-cards]) [data-placement='inline']:is(:hover,:focus-within)>.term-actions {
|
|
2459
2520
|
opacity: 1;
|
|
2460
2521
|
}
|
|
2522
|
+
:is(.wd-root, .wd-root *):is([data-terminal],[data-cards]) [data-slot='transcript-rows'] [data-index]:not(.absolute) {
|
|
2523
|
+
position: relative;
|
|
2524
|
+
}
|
|
2525
|
+
:is(.wd-root, .wd-root *):is([data-terminal],[data-cards]) [data-slot='transcript-rows'] [data-index]:is(:hover,:focus-within) {
|
|
2526
|
+
z-index: 1;
|
|
2527
|
+
}
|
|
2461
2528
|
@media (hover: none) {
|
|
2462
|
-
.wd-root [data-terminal] .term-actions {
|
|
2529
|
+
:is(.wd-root, .wd-root *):is([data-terminal],[data-cards]) .term-actions {
|
|
2463
2530
|
opacity: 1;
|
|
2464
2531
|
}
|
|
2465
2532
|
}
|
|
2533
|
+
.wd-root [data-cards] .term-action {
|
|
2534
|
+
font: inherit;
|
|
2535
|
+
font-size: 12px;
|
|
2536
|
+
font-weight: 500;
|
|
2537
|
+
line-height: 1;
|
|
2538
|
+
height: 18px;
|
|
2539
|
+
min-width: 22px;
|
|
2540
|
+
display: inline-flex;
|
|
2541
|
+
align-items: center;
|
|
2542
|
+
justify-content: center;
|
|
2543
|
+
gap: 4px;
|
|
2544
|
+
padding-inline: 5px;
|
|
2545
|
+
color: var(--fg-3);
|
|
2546
|
+
background: var(--surface);
|
|
2547
|
+
border: 1px solid var(--border);
|
|
2548
|
+
border-radius: 4px;
|
|
2549
|
+
white-space: nowrap;
|
|
2550
|
+
cursor: pointer;
|
|
2551
|
+
}
|
|
2552
|
+
.wd-root [data-cards] .term-action-icon {
|
|
2553
|
+
width: 14px;
|
|
2554
|
+
height: 14px;
|
|
2555
|
+
stroke-width: 2.25;
|
|
2556
|
+
flex: none;
|
|
2557
|
+
}
|
|
2558
|
+
.wd-root [data-cards] .term-action-word {
|
|
2559
|
+
padding-right: 2px;
|
|
2560
|
+
}
|
|
2561
|
+
.wd-root [data-cards] .term-action:hover, .wd-root [data-cards] .term-action:focus-visible {
|
|
2562
|
+
color: var(--fg-1);
|
|
2563
|
+
background: var(--row-hover);
|
|
2564
|
+
}
|
|
2565
|
+
.wd-root [data-cards] .term-action[data-tone='magenta'] {
|
|
2566
|
+
color: var(--wd-shell-accent);
|
|
2567
|
+
}
|
|
2568
|
+
.wd-root [data-cards] .term-action[data-tone='yellow'] {
|
|
2569
|
+
color: var(--warning);
|
|
2570
|
+
}
|
|
2571
|
+
.wd-root [data-cards] .term-action[data-tone='danger']:hover {
|
|
2572
|
+
color: var(--danger);
|
|
2573
|
+
}
|
|
2466
2574
|
.wd-root [data-terminal] .term-action {
|
|
2467
2575
|
font: inherit;
|
|
2468
|
-
|
|
2576
|
+
font-weight: 500;
|
|
2577
|
+
line-height: 1;
|
|
2578
|
+
height: calc(var(--term-line) - 2px);
|
|
2579
|
+
min-width: 3ch;
|
|
2580
|
+
display: inline-flex;
|
|
2581
|
+
align-items: center;
|
|
2582
|
+
justify-content: center;
|
|
2583
|
+
gap: 0.6ch;
|
|
2584
|
+
padding-inline: 0.6ch;
|
|
2469
2585
|
color: var(--term-dim);
|
|
2470
|
-
background:
|
|
2471
|
-
border:
|
|
2472
|
-
|
|
2586
|
+
background: var(--term-band-bg);
|
|
2587
|
+
border: 1px solid var(--term-faint);
|
|
2588
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2589
|
+
border: 1px solid color-mix(in srgb, var(--term-faint) 55%, transparent);
|
|
2590
|
+
}
|
|
2591
|
+
border-radius: 3px;
|
|
2592
|
+
white-space: pre;
|
|
2473
2593
|
cursor: pointer;
|
|
2474
2594
|
}
|
|
2595
|
+
.wd-root [data-terminal] .term-action-icon {
|
|
2596
|
+
width: calc(var(--term-font-size) + 1px);
|
|
2597
|
+
height: calc(var(--term-font-size) + 1px);
|
|
2598
|
+
stroke-width: 2.25;
|
|
2599
|
+
flex: none;
|
|
2600
|
+
}
|
|
2601
|
+
.wd-root [data-terminal] .term-action-word {
|
|
2602
|
+
padding-right: 0.2ch;
|
|
2603
|
+
}
|
|
2604
|
+
.wd-root [data-terminal] .term-action:hover, .wd-root [data-terminal] .term-action:focus-visible {
|
|
2605
|
+
color: var(--term-bright);
|
|
2606
|
+
border-color: var(--term-dim);
|
|
2607
|
+
background: var(--term-row-hover);
|
|
2608
|
+
}
|
|
2475
2609
|
.wd-root [data-terminal] .term-action[data-tone='magenta'] {
|
|
2476
2610
|
color: var(--term-magenta);
|
|
2477
2611
|
}
|
|
2478
|
-
.wd-root [data-terminal] .term-action
|
|
2479
|
-
color: var(--term-
|
|
2612
|
+
.wd-root [data-terminal] .term-action[data-tone='yellow'] {
|
|
2613
|
+
color: var(--term-yellow);
|
|
2614
|
+
}
|
|
2615
|
+
.wd-root [data-terminal] .term-action[data-tone='danger']:hover {
|
|
2616
|
+
color: var(--term-red);
|
|
2480
2617
|
}
|
|
2481
2618
|
.wd-root [data-terminal] .term-user {
|
|
2482
2619
|
background: var(--term-user-bg);
|
|
@@ -2592,7 +2729,7 @@
|
|
|
2592
2729
|
.wd-root [data-terminal] [data-sticky-lane]>[data-sticky-headlane] {
|
|
2593
2730
|
position: absolute;
|
|
2594
2731
|
inset: 0;
|
|
2595
|
-
z-index:
|
|
2732
|
+
z-index: 2;
|
|
2596
2733
|
pointer-events: none;
|
|
2597
2734
|
}
|
|
2598
2735
|
.wd-root [data-terminal] [data-sticky-headlane]>[data-sticky-head] {
|
|
@@ -2929,7 +3066,16 @@
|
|
|
2929
3066
|
display: block;
|
|
2930
3067
|
overflow: hidden;
|
|
2931
3068
|
}
|
|
2932
|
-
.wd-root .term-image>
|
|
3069
|
+
.wd-root .term-image>[data-slot='viewable-image'] {
|
|
3070
|
+
display: block;
|
|
3071
|
+
height: 100%;
|
|
3072
|
+
max-width: 100%;
|
|
3073
|
+
padding: 0;
|
|
3074
|
+
border: 0;
|
|
3075
|
+
background: none;
|
|
3076
|
+
}
|
|
3077
|
+
.wd-root .term-image img {
|
|
3078
|
+
display: block;
|
|
2933
3079
|
max-width: 100%;
|
|
2934
3080
|
height: 100%;
|
|
2935
3081
|
object-fit: contain;
|
|
@@ -3354,6 +3500,9 @@
|
|
|
3354
3500
|
left: 0;
|
|
3355
3501
|
width: 12px;
|
|
3356
3502
|
}
|
|
3503
|
+
.wd-root .wd-shell-term .xterm .xterm-viewport {
|
|
3504
|
+
background-color: transparent;
|
|
3505
|
+
}
|
|
3357
3506
|
.wd-root .wd-scrubber .wd-scrub-mark[data-kind='user'] {
|
|
3358
3507
|
background: var(--accent);
|
|
3359
3508
|
}
|