loadtoagent 1.1.0 → 1.3.2

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 (86) hide show
  1. package/README.ko.md +14 -5
  2. package/README.md +7 -0
  3. package/README.zh-CN.md +7 -0
  4. package/docs/PROVIDER-CONTRACTS.md +25 -1
  5. package/docs/UI-AUDIT-100.md +118 -0
  6. package/docs/UI-AUDIT-101-200.md +120 -0
  7. package/docs/UI-AUDIT-201-300.md +120 -0
  8. package/main.js +157 -38
  9. package/package.json +13 -4
  10. package/preload.js +13 -2
  11. package/renderer/app-agent-actions.js +125 -53
  12. package/renderer/app-bootstrap.js +54 -19
  13. package/renderer/app-dashboard.js +196 -55
  14. package/renderer/app-drawer-content.js +48 -44
  15. package/renderer/app-drawer-data.js +26 -13
  16. package/renderer/app-drawer.js +72 -54
  17. package/renderer/app-events-dialogs.js +146 -37
  18. package/renderer/app-events-filters.js +172 -13
  19. package/renderer/app-events-navigation.js +77 -30
  20. package/renderer/app-events-sessions.js +156 -9
  21. package/renderer/app-events.js +2 -1
  22. package/renderer/app-graph-model.js +20 -38
  23. package/renderer/app-graph-orchestration.js +15 -13
  24. package/renderer/app-graph-view.js +228 -113
  25. package/renderer/app-management.js +257 -0
  26. package/renderer/app-provider-visibility.js +124 -0
  27. package/renderer/app-quality.js +568 -0
  28. package/renderer/app-run-modal.js +104 -34
  29. package/renderer/app-runtime-overview.js +312 -0
  30. package/renderer/app-session-render.js +94 -37
  31. package/renderer/app-tmux-render.js +52 -44
  32. package/renderer/app.js +153 -75
  33. package/renderer/i18n-messages.js +867 -37
  34. package/renderer/i18n.js +104 -0
  35. package/renderer/index.html +154 -67
  36. package/renderer/shared.js +17 -0
  37. package/renderer/styles-agent-map.css +16 -10
  38. package/renderer/styles-cards.css +44 -18
  39. package/renderer/styles-collaboration.css +23 -23
  40. package/renderer/styles-components.css +122 -45
  41. package/renderer/styles-management.css +364 -0
  42. package/renderer/styles-onboarding.css +8 -8
  43. package/renderer/styles-overlays.css +13 -7
  44. package/renderer/styles-product.css +48 -40
  45. package/renderer/styles-quality.css +312 -0
  46. package/renderer/styles-readability.css +1040 -0
  47. package/renderer/styles-responsive-product.css +84 -12
  48. package/renderer/styles-responsive-runtime.css +25 -17
  49. package/renderer/styles-responsive-shell.css +44 -48
  50. package/renderer/styles-responsive-workflows.css +39 -5
  51. package/renderer/styles-run-composer.css +28 -23
  52. package/renderer/styles-runtime-overview.css +285 -0
  53. package/renderer/styles-settings.css +176 -16
  54. package/renderer/styles-terminal.css +374 -37
  55. package/renderer/styles-tmux.css +49 -49
  56. package/renderer/styles-workflow-map.css +362 -15
  57. package/renderer/styles-workflows.css +116 -49
  58. package/renderer/styles.css +34 -19
  59. package/renderer/terminal-agent.js +17 -13
  60. package/renderer/terminal-events.js +253 -37
  61. package/renderer/terminal-workbench.js +208 -89
  62. package/renderer/terminal.js +350 -35
  63. package/src/agentMonitor/claudeParser.js +96 -7
  64. package/src/agentMonitor/codexParser.js +59 -4
  65. package/src/agentMonitor/executionActivity.js +282 -0
  66. package/src/agentMonitor/genericParser.js +56 -13
  67. package/src/agentMonitor/hierarchy.js +17 -0
  68. package/src/agentMonitor/responseIntent.js +51 -0
  69. package/src/agentMonitor.js +21 -3
  70. package/src/agentRunner.js +66 -1
  71. package/src/attentionNotifier.js +14 -10
  72. package/src/automationMonitor.js +258 -0
  73. package/src/contracts.js +10 -1
  74. package/src/ipc/registerAgentIpc.js +9 -3
  75. package/src/ipc/registerAppIpc.js +4 -1
  76. package/src/ipc/registerTerminalIpc.js +12 -14
  77. package/src/macUpdateHelper.js +210 -0
  78. package/src/monitorWorker.js +65 -6
  79. package/src/platformPath.js +80 -0
  80. package/src/processMonitor.js +80 -22
  81. package/src/providerVisibilityStore.js +45 -0
  82. package/src/sessionIntelligence.js +261 -0
  83. package/src/terminalHost.js +453 -0
  84. package/src/terminalHostDaemon.js +61 -0
  85. package/src/terminalManager.js +218 -6
  86. package/src/updateInstaller.js +175 -0
@@ -56,7 +56,7 @@
56
56
  display: block;
57
57
  margin-top: 4px;
58
58
  color: #718195;
59
- font-size: 11px;
59
+ font-size: 12px;
60
60
  }
61
61
 
62
62
  .agent-workflow-stack {
@@ -111,7 +111,7 @@
111
111
  display: block;
112
112
  margin-top: 4px;
113
113
  color: #75879a;
114
- font-size: 11px;
114
+ font-size: 12px;
115
115
  }
116
116
 
117
117
  .agent-workflow-empty {
@@ -123,7 +123,7 @@
123
123
  border-radius: 12px;
124
124
  background: rgba(8,15,20,.56);
125
125
  color: #67798b;
126
- font-size: 11px;
126
+ font-size: 12px;
127
127
  text-align: center;
128
128
  }
129
129
 
@@ -187,7 +187,7 @@
187
187
  flex: 0 0 auto;
188
188
  padding: 0 6px;
189
189
  color: #70828d;
190
- font-size: 9px;
190
+ font-size: 12px;
191
191
  }
192
192
 
193
193
  .agent-workflow-summary>span:first-child b {
@@ -200,33 +200,34 @@
200
200
  align-items: center;
201
201
  gap: 5px;
202
202
  flex: 0 0 auto;
203
- padding: 4px 6px;
203
+ min-height: 36px;
204
+ padding: 6px 8px;
204
205
  border: 1px solid color-mix(in srgb,var(--provider) 24%,#263643);
205
206
  border-radius: 7px;
206
207
  background: color-mix(in srgb,var(--provider) 6%,#0d171c);
207
208
  }
208
209
 
209
210
  .workflow-summary-chip i {
210
- width: 18px;
211
- height: 17px;
211
+ width: 24px;
212
+ height: 24px;
212
213
  display: grid;
213
214
  place-items: center;
214
215
  border-radius: 5px;
215
216
  background: color-mix(in srgb,var(--provider) 12%,#152028);
216
217
  color: var(--provider);
217
- font-size: 6px;
218
+ font-size: 12px;
218
219
  font-style: normal;
219
220
  font-weight: 800;
220
221
  }
221
222
 
222
223
  .workflow-summary-chip b {
223
224
  color: #aebdc5;
224
- font-size: 8px;
225
+ font-size: 12px;
225
226
  }
226
227
 
227
228
  .workflow-summary-chip em {
228
229
  color: var(--provider);
229
- font-size: 8px;
230
+ font-size: 12px;
230
231
  font-style: normal;
231
232
  font-weight: 800;
232
233
  }
@@ -236,11 +237,11 @@
236
237
  }
237
238
 
238
239
  .downstream-stack .agent-flow-copy b {
239
- font-size: 11px;
240
+ font-size: 12px;
240
241
  }
241
242
 
242
243
  .downstream-stack .agent-flow-copy em {
243
- font-size: 9px;
244
+ font-size: 12px;
244
245
  }
245
246
 
246
247
  .agent-workflow-edge.downstream.group {
@@ -364,7 +365,7 @@
364
365
  margin-top: 8px;
365
366
  padding: 0 2px;
366
367
  color: #7d9199;
367
- font-size: 8px;
368
+ font-size: 12px;
368
369
  }
369
370
 
370
371
  .workflow-summary-evidence small {
@@ -408,12 +409,12 @@
408
409
 
409
410
  .agent-workflow-empty.current-clear b {
410
411
  color: #9dacb9;
411
- font-size: 11px;
412
+ font-size: 12px;
412
413
  }
413
414
 
414
415
  .agent-workflow-empty.current-clear span {
415
416
  color: #607181;
416
- font-size: 9px;
417
+ font-size: 12px;
417
418
  }
418
419
 
419
420
  .downstream-stack.density-many>.agent-workflow-empty.current-clear {
@@ -511,3 +512,349 @@
511
512
  text-overflow: ellipsis;
512
513
  white-space: nowrap;
513
514
  }
515
+
516
+ .execution-activity-panel {
517
+ margin: 0 0 12px;
518
+ padding: 14px;
519
+ border: 1px solid #27414a;
520
+ border-radius: 14px;
521
+ background: #0a151c;
522
+ box-shadow: inset 3px 0 rgba(79,193,208,.42);
523
+ }
524
+
525
+ .execution-activity-panel>header {
526
+ display: flex;
527
+ align-items: flex-start;
528
+ justify-content: space-between;
529
+ gap: 12px;
530
+ margin-bottom: 12px;
531
+ }
532
+
533
+ .execution-activity-panel>header span,
534
+ .execution-activity-copy,
535
+ .execution-activity-state {
536
+ min-width: 0;
537
+ display: flex;
538
+ flex-direction: column;
539
+ }
540
+
541
+ .execution-activity-panel>header b {
542
+ color: #d8eef2;
543
+ font-size: 14px;
544
+ }
545
+
546
+ .execution-activity-panel>header small {
547
+ margin-top: 3px;
548
+ color: #9eb0b8;
549
+ font-size: 12px;
550
+ line-height: 1.5;
551
+ }
552
+
553
+ .execution-activity-panel>header em {
554
+ flex: 0 0 auto;
555
+ padding: 5px 8px;
556
+ border: 1px solid rgba(86,185,198,.2);
557
+ border-radius: 999px;
558
+ background: rgba(40,110,121,.12);
559
+ color: #9edee5;
560
+ font-size: 12px;
561
+ font-style: normal;
562
+ }
563
+
564
+ .execution-activity-list {
565
+ display: grid;
566
+ gap: 8px;
567
+ }
568
+
569
+ .execution-activity-card {
570
+ min-width: 0;
571
+ border: 1px solid #2a414a;
572
+ border-radius: 12px;
573
+ background: #081119;
574
+ overflow: hidden;
575
+ transition: border-color var(--motion-fast) ease, background-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;
576
+ }
577
+
578
+ .execution-activity-card>summary {
579
+ display: grid;
580
+ grid-template-columns: 38px minmax(0,1fr) 112px;
581
+ align-items: center;
582
+ gap: 11px;
583
+ min-width: 0;
584
+ padding: 12px;
585
+ cursor: pointer;
586
+ list-style: none;
587
+ }
588
+
589
+ .execution-activity-card>summary::-webkit-details-marker { display: none; }
590
+ .execution-activity-card>summary::marker { content: ""; }
591
+ .execution-activity-card:hover { border-color: #3e6571; background: #0b1720; }
592
+ .execution-activity-card[open] { border-color: #3d6672; background: #0b171f; box-shadow: 0 8px 22px rgba(0,0,0,.16); }
593
+
594
+ .execution-activity-card>summary:focus-visible {
595
+ outline: 3px solid var(--focus);
596
+ outline-offset: -3px;
597
+ }
598
+
599
+ .execution-activity-card.background {
600
+ border-color: rgba(154,123,214,.28);
601
+ background: #11131f;
602
+ }
603
+
604
+ .execution-activity-card.running {
605
+ border-color: rgba(83,211,173,.4);
606
+ box-shadow: 0 0 0 1px rgba(83,211,173,.05),0 8px 20px rgba(0,0,0,.12);
607
+ }
608
+
609
+ .execution-activity-card.failed {
610
+ border-color: rgba(230,104,112,.4);
611
+ }
612
+
613
+ .execution-activity-icon {
614
+ width: 36px;
615
+ height: 36px;
616
+ display: grid;
617
+ place-items: center;
618
+ border-radius: 9px;
619
+ background: rgba(65,151,166,.14);
620
+ color: #70c7d2;
621
+ font: 800 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
622
+ }
623
+
624
+ .execution-activity-card.background .execution-activity-icon,
625
+ .execution-activity-card.shell.background .execution-activity-icon {
626
+ background: rgba(144,104,204,.15);
627
+ color: #b69be0;
628
+ }
629
+
630
+ .execution-activity-kicker {
631
+ display: flex;
632
+ align-items: center;
633
+ gap: 6px;
634
+ min-width: 0;
635
+ }
636
+
637
+ .execution-activity-kicker b {
638
+ color: #91dae3;
639
+ font-size: 12px;
640
+ }
641
+
642
+ .execution-activity-kicker small {
643
+ overflow: hidden;
644
+ color: #9aacb4;
645
+ font-size: 12px;
646
+ text-overflow: ellipsis;
647
+ white-space: nowrap;
648
+ }
649
+
650
+ .execution-activity-copy>strong {
651
+ margin-top: 4px;
652
+ overflow: hidden;
653
+ color: #dce7eb;
654
+ font-size: 14px;
655
+ text-overflow: ellipsis;
656
+ white-space: nowrap;
657
+ }
658
+
659
+ .execution-activity-copy>code {
660
+ display: block;
661
+ margin-top: 4px;
662
+ overflow: hidden;
663
+ color: #b5c5cb;
664
+ font: 12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;
665
+ text-overflow: ellipsis;
666
+ white-space: nowrap;
667
+ }
668
+
669
+ .execution-activity-meta {
670
+ display: flex;
671
+ flex-wrap: wrap;
672
+ gap: 8px;
673
+ margin-top: 5px;
674
+ min-width: 0;
675
+ }
676
+
677
+ .execution-activity-meta small {
678
+ min-width: 0;
679
+ overflow: visible;
680
+ color: #91a5ad;
681
+ font-size: 12px;
682
+ line-height: 1.45;
683
+ overflow-wrap: anywhere;
684
+ white-space: normal;
685
+ }
686
+
687
+ .execution-activity-state {
688
+ align-items: flex-end;
689
+ gap: 4px;
690
+ max-width: 112px;
691
+ text-align: right;
692
+ }
693
+
694
+ .execution-activity-state>span:first-child {
695
+ display: flex;
696
+ align-items: center;
697
+ justify-content: flex-end;
698
+ gap: 6px;
699
+ }
700
+
701
+ .execution-activity-state>span:first-child i {
702
+ width: 6px;
703
+ height: 6px;
704
+ flex: 0 0 6px;
705
+ border-radius: 50%;
706
+ background: #657780;
707
+ }
708
+
709
+ .execution-activity-card.running .execution-activity-state>span:first-child i {
710
+ background: #55d6a8;
711
+ box-shadow: 0 0 9px rgba(85,214,168,.75);
712
+ animation: pulse 1.5s ease-in-out infinite;
713
+ }
714
+
715
+ .execution-activity-card.failed .execution-activity-state>span:first-child i {
716
+ background: #e26972;
717
+ }
718
+
719
+ .execution-activity-state b {
720
+ color: #c6d2d7;
721
+ font-size: 12px;
722
+ }
723
+
724
+ .execution-activity-state small {
725
+ overflow: hidden;
726
+ color: #91a4ac;
727
+ font-size: 12px;
728
+ text-overflow: ellipsis;
729
+ white-space: nowrap;
730
+ }
731
+
732
+ .execution-activity-disclosure {
733
+ display: inline-flex;
734
+ align-items: center;
735
+ justify-content: flex-end;
736
+ gap: 5px;
737
+ margin-top: 2px;
738
+ color: #91d9e2;
739
+ }
740
+
741
+ .execution-activity-disclosure b { color: inherit; font-size: 12px; font-weight: 680; }
742
+ .execution-activity-disclosure i { font-size: 13px; font-style: normal; transition: transform var(--motion-fast) ease; }
743
+ .execution-activity-disclosure .close-label { display: none; }
744
+ .execution-activity-card[open] .execution-activity-disclosure .open-label { display: none; }
745
+ .execution-activity-card[open] .execution-activity-disclosure .close-label { display: inline; }
746
+ .execution-activity-card[open] .execution-activity-disclosure i { transform: rotate(180deg); }
747
+
748
+ .execution-activity-detail {
749
+ display: grid;
750
+ gap: 12px;
751
+ padding: 13px 14px 14px 63px;
752
+ border-top: 1px solid #243943;
753
+ background: rgba(5, 11, 16, .48);
754
+ }
755
+
756
+ .execution-detail-command,
757
+ .execution-detail-output {
758
+ min-width: 0;
759
+ }
760
+
761
+ .execution-detail-command header,
762
+ .execution-detail-output header {
763
+ display: flex;
764
+ align-items: center;
765
+ justify-content: space-between;
766
+ gap: 10px;
767
+ margin-bottom: 7px;
768
+ }
769
+
770
+ .execution-detail-command header span,
771
+ .execution-detail-output header span {
772
+ color: #a7bbc2;
773
+ font-size: 12px;
774
+ font-weight: 720;
775
+ }
776
+
777
+ .execution-detail-command button,
778
+ .execution-detail-output button {
779
+ min-height: 44px;
780
+ padding: 0 12px;
781
+ border: 1px solid #36505a;
782
+ border-radius: 8px;
783
+ background: #101f27;
784
+ color: #9ed6dc;
785
+ font-size: 12px;
786
+ cursor: pointer;
787
+ }
788
+
789
+ .execution-detail-command button:hover,
790
+ .execution-detail-output button:hover { border-color: #56818d; color: #d7f4f7; }
791
+
792
+ .execution-detail-command>code,
793
+ .execution-detail-output pre,
794
+ .execution-detail-output p {
795
+ display: block;
796
+ width: 100%;
797
+ margin: 0;
798
+ padding: 10px 11px;
799
+ border: 1px solid #263a43;
800
+ border-radius: 9px;
801
+ background: #071016;
802
+ color: #c7d5d9;
803
+ font: 12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;
804
+ white-space: pre-wrap;
805
+ overflow-wrap: anywhere;
806
+ }
807
+
808
+ .execution-detail-output pre { max-height: 210px; overflow: auto; }
809
+ .execution-detail-output p { color: #98aab1; font-family: inherit; }
810
+
811
+ .execution-activity-detail dl {
812
+ display: grid;
813
+ grid-template-columns: repeat(2, minmax(0, 1fr));
814
+ gap: 1px;
815
+ margin: 0;
816
+ border: 1px solid #243740;
817
+ border-radius: 9px;
818
+ background: #243740;
819
+ overflow: hidden;
820
+ }
821
+
822
+ .execution-activity-detail dl div { min-width: 0; padding: 9px 10px; background: #0a141b; }
823
+ .execution-activity-detail dl div:last-child:nth-child(odd) { grid-column: 1 / -1; }
824
+ .execution-activity-detail dt { color: #9eb1b8; font-size: 12px; }
825
+ .execution-activity-detail dd { margin: 4px 0 0; color: #d1dcdf; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; white-space: normal; }
826
+
827
+ .execution-activity-retained {
828
+ display: block;
829
+ min-height: 44px;
830
+ width: 100%;
831
+ margin-top: 9px;
832
+ border: 1px solid #2b4650;
833
+ border-radius: 9px;
834
+ background: #0d1b23;
835
+ color: #91a4ac;
836
+ font-size: 12px;
837
+ text-align: center;
838
+ cursor: pointer;
839
+ }
840
+
841
+ .execution-activity-retained:hover { border-color: #4b7480; color: #cce8ec; }
842
+
843
+ .subagent-execution-heading {
844
+ display: flex;
845
+ align-items: baseline;
846
+ justify-content: space-between;
847
+ gap: 10px;
848
+ margin: 2px 3px 8px;
849
+ }
850
+
851
+ .subagent-execution-heading b {
852
+ color: #bfccd2;
853
+ font-size: 12px;
854
+ }
855
+
856
+ .subagent-execution-heading span {
857
+ color: #687b85;
858
+ font-size: 12px;
859
+ text-align: right;
860
+ }