loadtoagent 1.3.4 → 1.3.6

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 (35) hide show
  1. package/docs/PROVIDER-CONTRACTS.md +3 -1
  2. package/package.json +4 -2
  3. package/renderer/app-dashboard.js +75 -13
  4. package/renderer/app-drawer-content.js +189 -8
  5. package/renderer/app-drawer.js +4 -3
  6. package/renderer/app-events-dialogs.js +6 -1
  7. package/renderer/app-events-filters.js +80 -2
  8. package/renderer/app-events-sessions.js +110 -17
  9. package/renderer/app-graph-model.js +8 -5
  10. package/renderer/app-graph-orchestration.js +43 -11
  11. package/renderer/app-graph-view.js +75 -14
  12. package/renderer/app-quality.js +2 -0
  13. package/renderer/app-session-render.js +7 -7
  14. package/renderer/app.js +104 -0
  15. package/renderer/i18n-messages.js +46 -9
  16. package/renderer/index.html +33 -7
  17. package/renderer/styles-components.css +218 -1
  18. package/renderer/styles-control-room.css +820 -29
  19. package/renderer/styles-readability.css +1 -9
  20. package/renderer/styles-responsive-shell.css +22 -1
  21. package/renderer/styles-terminal.css +21 -31
  22. package/renderer/styles-workflow-map.css +8 -0
  23. package/renderer/terminal-events.js +0 -13
  24. package/renderer/terminal-workbench.js +1 -4
  25. package/src/agentMonitor/claudeParser.js +189 -4
  26. package/src/agentMonitor/codexCollaboration.js +1 -0
  27. package/src/agentMonitor/codexParser.js +6 -5
  28. package/src/agentMonitor/executionActivity.js +26 -1
  29. package/src/agentMonitor/hierarchy.js +6 -3
  30. package/src/agentMonitor.js +10 -3
  31. package/src/contracts.js +1 -1
  32. package/src/monitorWorker.js +2 -0
  33. package/src/nodePtyRuntime.js +58 -0
  34. package/src/terminalHost.js +104 -5
  35. package/src/terminalManager.js +5 -1
@@ -14,7 +14,7 @@
14
14
  }
15
15
 
16
16
  .home-attention-strip {
17
- min-height: 72px;
17
+ min-height: 82px;
18
18
  display: grid;
19
19
  grid-template-columns: minmax(190px,240px) minmax(0,1fr) auto;
20
20
  align-items: stretch;
@@ -221,8 +221,8 @@
221
221
  }
222
222
 
223
223
  .live-section {
224
- margin-top: 16px;
225
- padding: 20px;
224
+ margin-top: 19px;
225
+ padding: 20px 17px 10px;
226
226
  background: radial-gradient(circle at 18% 0,rgba(76,227,154,.065),transparent 28%),linear-gradient(145deg,rgba(13,22,25,.98),rgba(8,13,20,.96) 48%);
227
227
  }
228
228
 
@@ -239,6 +239,290 @@
239
239
  margin-bottom: 10px;
240
240
  }
241
241
 
242
+ .sidebar > .sidebar-footer {
243
+ margin-top: auto;
244
+ }
245
+
246
+ .control-room-project-toolbar,
247
+ .control-room-list-toolbar {
248
+ width: 100%;
249
+ min-width: 0;
250
+ display: flex;
251
+ align-items: center;
252
+ }
253
+
254
+ .control-room-project-toolbar {
255
+ min-height: 40px;
256
+ gap: 10px;
257
+ margin: -4px 0 6px;
258
+ padding: 4px;
259
+ border: 1px solid rgba(89,216,255,.14);
260
+ border-radius: 11px;
261
+ background: rgba(7,13,20,.58);
262
+ }
263
+
264
+ .control-room-project-list {
265
+ min-width: 0;
266
+ display: flex;
267
+ flex: 1 1 auto;
268
+ align-items: center;
269
+ gap: 6px;
270
+ max-height: none;
271
+ padding: 0;
272
+ overflow-x: auto;
273
+ overflow-y: hidden;
274
+ scrollbar-width: none;
275
+ }
276
+
277
+ .control-room-project-list::-webkit-scrollbar {
278
+ display: none;
279
+ }
280
+
281
+ .control-room-project-toolbar .workspace-item {
282
+ width: auto;
283
+ min-width: max-content;
284
+ min-height: 30px !important;
285
+ display: inline-flex;
286
+ flex: 0 0 auto;
287
+ align-items: center;
288
+ gap: 7px;
289
+ padding: 0 10px;
290
+ border: 1px solid rgba(106,132,154,.25);
291
+ border-radius: 8px;
292
+ background: rgba(13,21,30,.88);
293
+ color: #aebcca;
294
+ }
295
+
296
+ .control-room-project-toolbar .workspace-item::before {
297
+ display: none;
298
+ }
299
+
300
+ .control-room-project-toolbar .workspace-item strong {
301
+ flex: none;
302
+ color: inherit;
303
+ font-size: 12px;
304
+ font-weight: 680;
305
+ }
306
+
307
+ .control-room-project-toolbar .workspace-item small {
308
+ min-width: 20px;
309
+ height: 20px;
310
+ display: inline-grid;
311
+ place-items: center;
312
+ margin: 0;
313
+ padding: 0 6px;
314
+ border-radius: 999px;
315
+ background: rgba(115,139,159,.15);
316
+ color: #bcc8d2;
317
+ font-size: 11px;
318
+ font-variant-numeric: tabular-nums;
319
+ }
320
+
321
+ .control-room-project-toolbar .workspace-item:hover {
322
+ border-color: rgba(89,216,255,.38);
323
+ background: rgba(89,216,255,.065);
324
+ color: #e6f2f5;
325
+ }
326
+
327
+ .control-room-project-toolbar .workspace-item.selected {
328
+ border-color: rgba(76,227,154,.48);
329
+ background: rgba(76,227,154,.09);
330
+ color: #66e4af;
331
+ box-shadow: inset 0 0 0 1px rgba(76,227,154,.05),0 0 16px rgba(76,227,154,.055);
332
+ }
333
+
334
+ .control-room-project-toolbar .workspace-item.selected small {
335
+ background: rgba(76,227,154,.16);
336
+ color: #70e8b7;
337
+ }
338
+
339
+ .control-room-add-project {
340
+ min-width: max-content;
341
+ min-height: 30px !important;
342
+ display: inline-flex;
343
+ flex: 0 0 auto;
344
+ align-items: center;
345
+ justify-content: center;
346
+ gap: 5px;
347
+ padding: 0 11px;
348
+ border: 1px solid rgba(89,216,255,.72);
349
+ border-radius: 8px;
350
+ background: rgba(9,27,37,.72);
351
+ color: #81e5f4;
352
+ font-size: 12px;
353
+ font-weight: 720;
354
+ cursor: pointer;
355
+ }
356
+
357
+ #controlRoomProjectToolbar #addWorkspaceBtn {
358
+ min-height: 30px !important;
359
+ }
360
+
361
+ .control-room-add-project:hover {
362
+ background: rgba(89,216,255,.11);
363
+ color: #e7fbff;
364
+ }
365
+
366
+ .control-room-list-toolbar {
367
+ min-height: 34px;
368
+ gap: 7px;
369
+ margin-bottom: 8px;
370
+ }
371
+
372
+ .control-room-toolbar-spacer {
373
+ flex: 1 1 auto;
374
+ min-width: 0;
375
+ }
376
+
377
+ .control-room-select-field {
378
+ min-width: 0;
379
+ }
380
+
381
+ .control-room-select-field select {
382
+ width: 136px;
383
+ min-width: 136px;
384
+ height: 34px;
385
+ min-height: 34px !important;
386
+ padding: 0 31px 0 12px;
387
+ border: 1px solid rgba(104,130,151,.28);
388
+ border-radius: 8px;
389
+ background-color: rgba(11,18,27,.88);
390
+ color: #b9c6d0;
391
+ font-size: 12px;
392
+ }
393
+
394
+ .control-room-project-select-field select {
395
+ width: 163px;
396
+ min-width: 150px;
397
+ }
398
+
399
+ #controlRoomListToolbar select {
400
+ height: 34px;
401
+ min-height: 34px !important;
402
+ }
403
+
404
+ .control-room-search {
405
+ width: 36px;
406
+ height: 34px;
407
+ position: relative;
408
+ display: flex;
409
+ flex: 0 0 auto;
410
+ align-items: center;
411
+ overflow: hidden;
412
+ border: 1px solid rgba(104,130,151,.28);
413
+ border-radius: 8px;
414
+ background: rgba(11,18,27,.88);
415
+ transition: width 160ms ease,border-color 160ms ease;
416
+ }
417
+
418
+ .control-room-search.is-open {
419
+ width: min(220px,24vw);
420
+ border-color: rgba(89,216,255,.48);
421
+ }
422
+
423
+ .control-room-search input {
424
+ width: 100%;
425
+ min-width: 0;
426
+ height: 100%;
427
+ padding: 0 38px 0 10px;
428
+ border: 0;
429
+ outline: 0;
430
+ background: transparent;
431
+ color: #dbe7ed;
432
+ font-size: 12px;
433
+ opacity: 0;
434
+ pointer-events: none;
435
+ }
436
+
437
+ .control-room-search.is-open input {
438
+ opacity: 1;
439
+ pointer-events: auto;
440
+ }
441
+
442
+ .control-room-search button {
443
+ width: 42px;
444
+ height: 32px;
445
+ min-width: 34px;
446
+ min-height: 32px !important;
447
+ position: absolute;
448
+ right: 0;
449
+ display: grid;
450
+ place-items: center;
451
+ border: 0;
452
+ background: rgba(11,18,27,.94);
453
+ color: #9fb0be;
454
+ cursor: pointer;
455
+ }
456
+
457
+ .control-room-search button:hover {
458
+ color: #7ce6f4;
459
+ }
460
+
461
+ #controlRoomSearchBtn {
462
+ min-width: 34px;
463
+ min-height: 32px !important;
464
+ }
465
+
466
+ .control-room-pagination {
467
+ display: flex;
468
+ flex: 0 0 auto;
469
+ align-items: center;
470
+ gap: 6px;
471
+ }
472
+
473
+ .control-room-page-summary {
474
+ min-width: 76px;
475
+ color: #c3d0d8;
476
+ text-align: center;
477
+ white-space: nowrap;
478
+ font-size: 12px;
479
+ font-variant-numeric: tabular-nums;
480
+ }
481
+
482
+ .control-room-page-buttons {
483
+ display: flex;
484
+ flex: 0 0 auto;
485
+ gap: 5px;
486
+ }
487
+
488
+ .control-room-page-buttons button {
489
+ width: 40px;
490
+ height: 34px;
491
+ min-width: 38px;
492
+ min-height: 34px !important;
493
+ display: grid;
494
+ place-items: center;
495
+ border: 1px solid rgba(104,130,151,.28);
496
+ background: rgba(11,18,27,.88);
497
+ color: #a8b7c4;
498
+ cursor: pointer;
499
+ }
500
+
501
+ .control-room-page-buttons button:first-child {
502
+ border-radius: 8px;
503
+ }
504
+
505
+ .control-room-page-buttons button:last-child {
506
+ margin-left: 0;
507
+ border-radius: 8px;
508
+ }
509
+
510
+ .control-room-page-buttons button:hover:not(:disabled) {
511
+ border-color: rgba(89,216,255,.45);
512
+ color: #80e6f4;
513
+ }
514
+
515
+ .control-room-page-buttons button:disabled {
516
+ opacity: .36;
517
+ cursor: default;
518
+ }
519
+
520
+ #controlRoomPagePrev,
521
+ #controlRoomPageNext {
522
+ min-width: 40px;
523
+ min-height: 34px !important;
524
+ }
525
+
242
526
  .control-room-legend {
243
527
  display: flex;
244
528
  align-items: center;
@@ -283,11 +567,248 @@
283
567
 
284
568
  .control-room-overview {
285
569
  display: grid;
286
- gap: 13px;
570
+ gap: 6px;
571
+ }
572
+
573
+ .control-room-project-group {
574
+ position: relative;
575
+ min-width: 0;
576
+ overflow: hidden;
577
+ border: 1px solid rgba(76,227,154,.22);
578
+ border-radius: 14px;
579
+ background: rgba(7,12,18,.72);
580
+ box-shadow: inset 0 1px rgba(255,255,255,.018);
581
+ }
582
+
583
+ .control-project-header {
584
+ min-height: 42px;
585
+ display: flex;
586
+ align-items: center;
587
+ gap: 10px;
588
+ padding: 0 142px 0 12px;
589
+ border-bottom: 1px solid transparent;
590
+ color: #c9d6df;
591
+ cursor: pointer;
592
+ list-style: none;
593
+ }
594
+
595
+ .control-project-header::-webkit-details-marker {
596
+ display: none;
597
+ }
598
+
599
+ .control-room-project-group[open] > .control-project-header {
600
+ border-bottom-color: rgba(104,130,151,.14);
601
+ }
602
+
603
+ .control-project-heading {
604
+ min-width: 0;
605
+ display: flex;
606
+ flex: 1 1 auto;
607
+ align-items: center;
608
+ gap: 8px;
609
+ }
610
+
611
+ .control-project-heading > i {
612
+ width: 18px;
613
+ height: 18px;
614
+ display: grid;
615
+ place-items: center;
616
+ color: #69dcef;
617
+ font-style: normal;
618
+ font-size: 15px;
619
+ }
620
+
621
+ .control-project-heading > i::before {
622
+ content: "";
623
+ width: 12px;
624
+ height: 9px;
625
+ border: 1px solid currentColor;
626
+ border-radius: 2px;
627
+ box-shadow: 0 -3px 0 -1px currentColor;
628
+ }
629
+
630
+ .control-project-heading > i {
631
+ font-size: 0;
632
+ }
633
+
634
+ .control-project-heading b {
635
+ overflow: hidden;
636
+ color: #dce6ec;
637
+ text-overflow: ellipsis;
638
+ white-space: nowrap;
639
+ font-size: 13px;
640
+ }
641
+
642
+ .control-project-heading small {
643
+ color: #76879a;
644
+ white-space: nowrap;
645
+ font-size: 11px;
646
+ }
647
+
648
+ .control-project-heading em {
649
+ min-width: 22px;
650
+ height: 20px;
651
+ display: grid;
652
+ place-items: center;
653
+ border-radius: 999px;
654
+ background: rgba(89,216,255,.12);
655
+ color: #73deee;
656
+ font-size: 11px;
657
+ font-style: normal;
658
+ font-weight: 750;
659
+ }
660
+
661
+ .control-project-handle {
662
+ width: 24px;
663
+ height: 28px;
664
+ position: absolute;
665
+ top: 7px;
666
+ right: 133px;
667
+ display: grid;
668
+ place-items: center;
669
+ color: #718597;
670
+ }
671
+
672
+ .control-project-handle::before {
673
+ width: 3px;
674
+ height: 3px;
675
+ border-radius: 50%;
676
+ background: currentColor;
677
+ box-shadow: 0 -5px currentColor,0 5px currentColor,6px -5px currentColor,6px 0 currentColor,6px 5px currentColor;
678
+ content: "";
679
+ transform: translateX(-3px);
680
+ }
681
+
682
+ .control-project-flow-link {
683
+ min-height: 44px;
684
+ position: absolute;
685
+ z-index: 2;
686
+ top: 0;
687
+ right: 15px;
688
+ display: inline-flex;
689
+ flex: 0 0 auto;
690
+ align-items: center;
691
+ justify-content: center;
692
+ padding: 0;
693
+ border: 0;
694
+ background: transparent;
695
+ color: #8295a6;
696
+ white-space: nowrap;
697
+ font-family: inherit;
698
+ font-size: 12px;
699
+ cursor: pointer;
700
+ }
701
+
702
+ .control-project-flow-link > span {
703
+ min-height: 30px;
704
+ display: inline-flex;
705
+ align-items: center;
706
+ padding: 0 7px;
707
+ border: 1px solid rgba(104,130,151,.24);
708
+ border-radius: 8px;
709
+ background: rgba(12,20,29,.74);
710
+ }
711
+
712
+ .control-project-flow-link:hover > span,
713
+ .control-project-flow-link:focus-visible > span {
714
+ border-color: rgba(89,216,255,.46);
715
+ color: #b6edf4;
716
+ }
717
+
718
+ .control-room-project-group:not([open]) .control-project-header::before {
719
+ content: "›";
720
+ color: #69dcef;
721
+ font-size: 18px;
722
+ }
723
+
724
+ .control-room-project-group[open] .control-project-header::before {
725
+ display: none;
726
+ }
727
+
728
+ .control-project-body {
729
+ min-width: 0;
730
+ }
731
+
732
+ .control-project-body .control-room-session {
733
+ border: 0;
734
+ border-radius: 0;
735
+ background: transparent;
736
+ box-shadow: none;
737
+ }
738
+
739
+ .control-project-body .control-room-session + .control-room-session {
740
+ border-top: 1px solid rgba(104,130,151,.17);
741
+ }
742
+
743
+ .control-project-body .control-room-session > header {
744
+ min-height: 34px;
745
+ padding: 1px 15px;
746
+ }
747
+
748
+ .control-project-body .control-room-session > header > .session-drag-handle,
749
+ .control-project-body .control-room-session > header > .control-session-flow {
750
+ display: none;
751
+ }
752
+
753
+ .control-project-body .control-room-flow {
754
+ padding: 3px 15px 6px 16px;
755
+ }
756
+
757
+ .control-project-body .control-column-label {
758
+ min-height: 14px;
759
+ height: 14px;
760
+ line-height: 14px;
761
+ }
762
+
763
+ .control-project-body .control-room-main {
764
+ gap: 8px;
765
+ padding: 11px 13px;
766
+ }
767
+
768
+ .control-project-body .control-main-now {
769
+ padding: 7px 9px;
770
+ }
771
+
772
+ .control-room-project-group.is-preview[open] .control-project-body {
773
+ max-height: 94px;
774
+ overflow: hidden;
775
+ position: relative;
776
+ }
777
+
778
+ .control-room-project-group.is-preview[open] .control-project-body::after {
779
+ position: absolute;
780
+ right: 0;
781
+ bottom: 0;
782
+ left: 0;
783
+ height: 22px;
784
+ background: linear-gradient(transparent,rgba(7,12,18,.94));
785
+ content: "";
786
+ pointer-events: none;
787
+ }
788
+
789
+ .control-room-project-group.is-collapsed .control-project-header {
790
+ min-height: 50px !important;
791
+ }
792
+
793
+ .control-room-project-group.is-collapsed {
794
+ margin-top: 3px;
795
+ }
796
+
797
+ .control-room-project-group.is-collapsed .control-project-handle {
798
+ display: none;
799
+ }
800
+
801
+ .control-room-project-group.is-collapsed .control-project-heading {
802
+ padding-left: 10px;
803
+ }
804
+
805
+ .control-room-project-group.is-collapsed .control-project-heading > i {
806
+ display: none;
287
807
  }
288
808
 
289
809
  .control-room-session {
290
810
  --provider: #7ddcf2;
811
+ position: relative;
291
812
  min-width: 0;
292
813
  overflow: hidden;
293
814
  border: 1px solid color-mix(in srgb,var(--provider) 22%,#263442);
@@ -296,6 +817,55 @@
296
817
  box-shadow: 0 16px 38px rgba(0,0,0,.17),inset 0 1px rgba(255,255,255,.025);
297
818
  }
298
819
 
820
+ [data-session-sortable] {
821
+ cursor: grab;
822
+ }
823
+
824
+ [data-session-sortable]:active,
825
+ [data-session-sortable].session-sort-dragging {
826
+ cursor: grabbing;
827
+ }
828
+
829
+ [data-session-sortable].session-sort-dragging {
830
+ opacity: .48;
831
+ transform: scale(.985);
832
+ }
833
+
834
+ [data-session-sortable][data-session-drop-edge]::after {
835
+ position: absolute;
836
+ z-index: 8;
837
+ border-radius: 999px;
838
+ background: #64e2b5;
839
+ box-shadow: 0 0 0 3px rgba(100,226,181,.13),0 0 16px rgba(100,226,181,.55);
840
+ content: "";
841
+ pointer-events: none;
842
+ }
843
+
844
+ [data-session-sortable][data-session-drop-edge="top"]::after,
845
+ [data-session-sortable][data-session-drop-edge="bottom"]::after {
846
+ right: 12px;
847
+ left: 12px;
848
+ height: 3px;
849
+ }
850
+
851
+ [data-session-sortable][data-session-drop-edge="top"]::after { top: 3px; }
852
+ [data-session-sortable][data-session-drop-edge="bottom"]::after { bottom: 3px; }
853
+
854
+ [data-session-sortable][data-session-drop-edge="left"]::after,
855
+ [data-session-sortable][data-session-drop-edge="right"]::after {
856
+ top: 12px;
857
+ bottom: 12px;
858
+ width: 3px;
859
+ }
860
+
861
+ [data-session-sortable][data-session-drop-edge="left"]::after { left: 3px; }
862
+ [data-session-sortable][data-session-drop-edge="right"]::after { right: 3px; }
863
+
864
+ .control-room-session:focus-visible {
865
+ outline: 2px solid color-mix(in srgb,var(--provider) 78%,#67dfec);
866
+ outline-offset: 3px;
867
+ }
868
+
299
869
  .control-room-session > header {
300
870
  min-height: 48px;
301
871
  display: flex;
@@ -342,6 +912,37 @@
342
912
  animation: control-room-pulse 1.8s ease-in-out infinite;
343
913
  }
344
914
 
915
+ .control-room-session.is-waiting {
916
+ border-color: rgba(232,184,91,.3);
917
+ }
918
+
919
+ .control-room-session.is-waiting .control-session-live {
920
+ color: #e5bd70;
921
+ }
922
+
923
+ .control-room-session.is-waiting .control-session-live i {
924
+ background: #e5b85f;
925
+ box-shadow: 0 0 10px rgba(229,184,95,.38);
926
+ animation: none;
927
+ }
928
+
929
+ .control-room-session.is-waiting.has-background-work .control-session-live {
930
+ color: #8ddfc2;
931
+ }
932
+
933
+ .control-room-session.is-waiting.has-background-work .control-session-live i {
934
+ background: linear-gradient(90deg,#e5b85f 0 50%,#55dfa9 50% 100%);
935
+ box-shadow: 0 0 10px rgba(85,223,169,.34);
936
+ animation: control-room-pulse 1.8s ease-in-out infinite;
937
+ }
938
+
939
+ .control-session-retention {
940
+ flex: 0 0 auto;
941
+ color: #9d8a68;
942
+ white-space: nowrap;
943
+ font-size: 11px;
944
+ }
945
+
345
946
  .control-room-session > header > button {
346
947
  min-height: 30px;
347
948
  padding: 0 9px;
@@ -359,40 +960,45 @@
359
960
  color: #d8e4eb;
360
961
  }
361
962
 
362
- .session-order-actions {
363
- display: inline-flex;
364
- flex: 0 0 auto;
365
- align-items: center;
366
- gap: 3px;
367
- margin-left: auto;
963
+ .control-room-session > header > .control-session-archive {
964
+ border-color: rgba(222,177,88,.28);
965
+ color: #d8b66f;
368
966
  }
369
967
 
370
- .session-order-actions button {
371
- width: 26px;
372
- height: 26px;
968
+ .session-drag-handle {
969
+ width: 28px;
970
+ height: 28px;
373
971
  display: grid;
972
+ flex: 0 0 auto;
374
973
  place-items: center;
375
- padding: 0;
376
- border: 1px solid rgba(101,138,159,.2);
377
- border-radius: 7px;
378
- background: rgba(13,21,30,.72);
379
- color: #7f91a3;
380
- font: inherit;
381
- font-size: 12px;
382
- cursor: pointer;
974
+ margin-left: auto;
975
+ border-radius: 8px;
976
+ color: #718597;
977
+ cursor: grab;
978
+ transition: color var(--motion-fast) ease,background-color var(--motion-fast) ease;
383
979
  }
384
980
 
385
- .session-order-actions button:hover,
386
- .session-order-actions button:focus-visible {
387
- border-color: color-mix(in srgb,var(--provider) 46%,#3c4d5b);
388
- color: #dce8ef;
389
- outline: none;
981
+ .session-drag-handle::before {
982
+ width: 3px;
983
+ height: 3px;
984
+ border-radius: 50%;
985
+ background: currentColor;
986
+ box-shadow: 0 -5px currentColor,0 5px currentColor,6px -5px currentColor,6px 0 currentColor,6px 5px currentColor;
987
+ content: "";
988
+ transform: translateX(-3px);
989
+ }
990
+
991
+ [data-session-sortable]:hover .session-drag-handle,
992
+ [data-session-sortable]:focus-visible .session-drag-handle,
993
+ [data-session-sortable].session-sort-dragging .session-drag-handle {
994
+ color: #7de7c1;
995
+ background: rgba(79,190,153,.1);
390
996
  }
391
997
 
392
998
  .control-room-flow {
393
999
  min-width: 0;
394
1000
  display: grid;
395
- grid-template-columns: minmax(230px,.82fr) 38px minmax(350px,1.35fr) 38px minmax(235px,.82fr);
1001
+ grid-template-columns: minmax(300px,1fr) 46px minmax(420px,1.42fr) 46px minmax(260px,.86fr);
396
1002
  align-items: center;
397
1003
  gap: 0;
398
1004
  padding: 14px;
@@ -705,6 +1311,17 @@
705
1311
  box-shadow: none;
706
1312
  }
707
1313
 
1314
+ .control-room-node.is-unverified {
1315
+ border-color: rgba(229,184,95,.28);
1316
+ opacity: .82;
1317
+ filter: saturate(.72);
1318
+ box-shadow: none;
1319
+ }
1320
+
1321
+ .control-room-node.is-unverified .control-node-state {
1322
+ color: #d6b36c;
1323
+ }
1324
+
708
1325
  .control-room-node.overflow-node {
709
1326
  border-style: dashed;
710
1327
  border-color: rgba(89,216,255,.25);
@@ -815,7 +1432,7 @@
815
1432
  font-style: normal;
816
1433
  }
817
1434
 
818
- .session-card.session-record .card-footer .session-order-actions {
1435
+ .session-card.session-record .card-footer .session-drag-handle {
819
1436
  margin-right: 2px;
820
1437
  }
821
1438
 
@@ -988,6 +1605,25 @@
988
1605
  font-size: 12px;
989
1606
  }
990
1607
 
1608
+ .subagent-assignment-card aside {
1609
+ margin-top: 10px;
1610
+ padding: 10px 12px;
1611
+ border: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
1612
+ border-radius: 10px;
1613
+ background: color-mix(in srgb, var(--panel) 72%, transparent);
1614
+ }
1615
+
1616
+ .subagent-assignment-card aside b {
1617
+ font-size: 11px;
1618
+ color: var(--muted);
1619
+ }
1620
+
1621
+ .subagent-assignment-card aside p {
1622
+ margin-top: 5px;
1623
+ font-size: 12px;
1624
+ color: var(--muted);
1625
+ }
1626
+
991
1627
  .subagent-work-source {
992
1628
  margin-bottom: 12px;
993
1629
  padding: 0 2px;
@@ -1170,6 +1806,14 @@
1170
1806
  50% { box-shadow: 0 0 0 5px rgba(89,216,255,.07),0 0 22px rgba(89,216,255,.08); }
1171
1807
  }
1172
1808
 
1809
+ @media (min-width:1451px) {
1810
+ .main-stage {
1811
+ padding-top: 29px;
1812
+ padding-right: 44px;
1813
+ padding-left: 44px;
1814
+ }
1815
+ }
1816
+
1173
1817
  @media (max-width:1450px) {
1174
1818
  .home-attention-list {
1175
1819
  grid-template-columns: repeat(2,minmax(0,1fr));
@@ -1238,6 +1882,19 @@
1238
1882
  .session-grid {
1239
1883
  grid-template-columns: repeat(2,minmax(0,1fr));
1240
1884
  }
1885
+
1886
+ .control-room-list-toolbar {
1887
+ flex-wrap: wrap;
1888
+ }
1889
+
1890
+ .control-room-toolbar-spacer {
1891
+ flex-basis: 100%;
1892
+ height: 0;
1893
+ }
1894
+
1895
+ .control-room-select-field:first-of-type {
1896
+ margin-left: auto;
1897
+ }
1241
1898
  }
1242
1899
 
1243
1900
  @media (max-width:700px) {
@@ -1333,12 +1990,112 @@
1333
1990
  display: none;
1334
1991
  }
1335
1992
 
1993
+ .control-room-project-toolbar {
1994
+ gap: 7px;
1995
+ margin-top: 3px;
1996
+ padding: 4px;
1997
+ }
1998
+
1999
+ .control-room-project-toolbar .workspace-item,
2000
+ .control-room-add-project {
2001
+ min-height: 44px !important;
2002
+ }
2003
+
2004
+ #controlRoomProjectToolbar #addWorkspaceBtn {
2005
+ min-height: 44px !important;
2006
+ }
2007
+
2008
+ .control-room-add-project {
2009
+ padding: 0 10px;
2010
+ }
2011
+
2012
+ .control-room-list-toolbar {
2013
+ gap: 6px;
2014
+ flex-wrap: nowrap;
2015
+ }
2016
+
2017
+ .control-room-toolbar-spacer,
2018
+ .control-room-project-select-field {
2019
+ display: none;
2020
+ }
2021
+
2022
+ .control-room-select-field:first-of-type {
2023
+ flex: 1 1 130px;
2024
+ margin-left: 0;
2025
+ }
2026
+
2027
+ .control-room-select-field select {
2028
+ width: 100%;
2029
+ min-width: 0;
2030
+ height: 44px;
2031
+ min-height: 44px !important;
2032
+ }
2033
+
2034
+ #controlRoomListToolbar select,
2035
+ #controlRoomSearchBtn,
2036
+ #controlRoomPagePrev,
2037
+ #controlRoomPageNext {
2038
+ min-height: 44px !important;
2039
+ }
2040
+
2041
+ .control-room-search,
2042
+ .control-room-page-buttons button {
2043
+ height: 44px;
2044
+ min-height: 44px !important;
2045
+ }
2046
+
2047
+ .control-room-search {
2048
+ width: 42px;
2049
+ }
2050
+
2051
+ .control-room-search.is-open {
2052
+ width: min(210px,55vw);
2053
+ flex: 1 1 180px;
2054
+ }
2055
+
2056
+ .control-room-search button {
2057
+ width: 40px;
2058
+ height: 38px;
2059
+ }
2060
+
2061
+ .control-room-page-buttons button {
2062
+ width: 42px;
2063
+ }
2064
+
2065
+ .control-room-pagination {
2066
+ margin-left: auto;
2067
+ gap: 5px;
2068
+ }
2069
+
2070
+ .control-room-page-summary {
2071
+ min-width: 62px;
2072
+ }
2073
+
2074
+ .control-project-header {
2075
+ min-height: 48px;
2076
+ padding: 0 9px;
2077
+ }
2078
+
2079
+ .control-project-heading small {
2080
+ overflow: hidden;
2081
+ text-overflow: ellipsis;
2082
+ }
2083
+
2084
+ .control-project-flow-link,
2085
+ .control-project-handle {
2086
+ display: none;
2087
+ }
2088
+
1336
2089
  .control-room-legend > span,
1337
2090
  .control-room-legend > b {
1338
2091
  font-size: 12px;
1339
2092
  }
1340
2093
 
1341
- .control-room-session > header > button {
2094
+ .control-room-session > header > button:not(.control-session-archive) {
2095
+ display: none;
2096
+ }
2097
+
2098
+ .control-session-retention {
1342
2099
  display: none;
1343
2100
  }
1344
2101
 
@@ -1350,6 +2107,10 @@
1350
2107
  padding: 9px;
1351
2108
  }
1352
2109
 
2110
+ .control-project-body .control-room-session {
2111
+ padding: 0;
2112
+ }
2113
+
1353
2114
  .control-room-flow {
1354
2115
  gap: 8px;
1355
2116
  }
@@ -1430,6 +2191,36 @@
1430
2191
  }
1431
2192
  }
1432
2193
 
2194
+ @media (max-width:480px) {
2195
+ .control-room-project-toolbar {
2196
+ align-items: stretch;
2197
+ }
2198
+
2199
+ .control-room-project-list {
2200
+ padding-bottom: 1px;
2201
+ }
2202
+
2203
+ .control-room-add-project span {
2204
+ max-width: 76px;
2205
+ overflow: hidden;
2206
+ text-overflow: ellipsis;
2207
+ white-space: nowrap;
2208
+ }
2209
+
2210
+ .control-room-page-summary {
2211
+ min-width: 56px;
2212
+ margin-left: 0;
2213
+ }
2214
+
2215
+ .control-project-heading small {
2216
+ display: none;
2217
+ }
2218
+
2219
+ .control-project-heading b {
2220
+ max-width: 55vw;
2221
+ }
2222
+ }
2223
+
1433
2224
  @media (prefers-reduced-motion:reduce) {
1434
2225
  .control-session-live i,
1435
2226
  .control-flow-link > i,