loadtoagent 1.0.0 → 1.3.1
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.ko.md +7 -0
- package/README.md +7 -0
- package/README.zh-CN.md +7 -0
- package/docs/PROVIDER-CONTRACTS.md +23 -1
- package/docs/UI-AUDIT-100.md +118 -0
- package/docs/UI-AUDIT-101-200.md +120 -0
- package/docs/UI-AUDIT-201-300.md +120 -0
- package/main.js +183 -37
- package/package.json +15 -4
- package/preload.js +11 -0
- package/renderer/app-agent-actions.js +125 -53
- package/renderer/app-bootstrap.js +54 -9
- package/renderer/app-dashboard.js +197 -58
- package/renderer/app-drawer-content.js +103 -86
- package/renderer/app-drawer-data.js +26 -13
- package/renderer/app-drawer.js +79 -55
- package/renderer/app-events-dialogs.js +146 -37
- package/renderer/app-events-filters.js +172 -9
- package/renderer/app-events-navigation.js +78 -31
- package/renderer/app-events-sessions.js +171 -4
- package/renderer/app-events.js +2 -1
- package/renderer/app-graph-model.js +32 -4
- package/renderer/app-graph-orchestration.js +16 -13
- package/renderer/app-graph-view.js +228 -112
- package/renderer/app-management.js +211 -0
- package/renderer/app-provider-visibility.js +124 -0
- package/renderer/app-quality.js +568 -0
- package/renderer/app-run-modal.js +103 -33
- package/renderer/app-runtime-overview.js +312 -0
- package/renderer/app-session-render.js +94 -37
- package/renderer/app-tmux-render.js +119 -38
- package/renderer/app.js +155 -76
- package/renderer/i18n-messages.js +833 -15
- package/renderer/i18n.js +104 -0
- package/renderer/index.html +162 -75
- package/renderer/shared.js +17 -0
- package/renderer/styles-agent-map.css +50 -1
- package/renderer/styles-cards.css +26 -0
- package/renderer/styles-collaboration.css +18 -88
- package/renderer/styles-components.css +126 -14
- package/renderer/styles-management.css +355 -0
- package/renderer/styles-overlays.css +13 -2
- package/renderer/styles-product.css +24 -16
- package/renderer/styles-quality.css +312 -0
- package/renderer/styles-readability.css +862 -0
- package/renderer/styles-responsive-product.css +84 -12
- package/renderer/styles-responsive-runtime.css +31 -14
- package/renderer/styles-responsive-shell.css +44 -48
- package/renderer/styles-responsive-workflows.css +37 -17
- package/renderer/styles-run-composer.css +5 -0
- package/renderer/styles-runtime-overview.css +285 -0
- package/renderer/styles-settings.css +160 -0
- package/renderer/styles-terminal.css +339 -2
- package/renderer/styles-tmux.css +154 -0
- package/renderer/styles-workflow-map.css +362 -15
- package/renderer/styles-workflows.css +69 -2
- package/renderer/styles.css +27 -12
- package/renderer/terminal-agent.js +17 -13
- package/renderer/terminal-events.js +233 -40
- package/renderer/terminal-workbench.js +176 -78
- package/renderer/terminal.js +350 -37
- package/src/agentMonitor/claudeParser.js +96 -7
- package/src/agentMonitor/codexParser.js +59 -4
- package/src/agentMonitor/executionActivity.js +282 -0
- package/src/agentMonitor/genericParser.js +56 -13
- package/src/agentMonitor/hierarchy.js +17 -0
- package/src/agentMonitor/responseIntent.js +51 -0
- package/src/agentMonitor.js +21 -3
- package/src/agentRunner.js +66 -1
- package/src/attentionNotifier.js +71 -0
- package/src/automationMonitor.js +258 -0
- package/src/contracts.js +10 -1
- package/src/ipc/registerAgentIpc.js +9 -3
- package/src/ipc/registerAppIpc.js +4 -1
- package/src/ipc/registerTerminalIpc.js +12 -6
- package/src/macUpdateHelper.js +210 -0
- package/src/monitorWorker.js +65 -6
- package/src/platformPath.js +80 -0
- package/src/processMonitor.js +81 -23
- package/src/providerVisibilityStore.js +45 -0
- package/src/sessionIntelligence.js +247 -0
- package/src/terminalHost.js +381 -0
- package/src/terminalHostDaemon.js +60 -0
- package/src/terminalManager.js +158 -3
- package/src/tmuxMonitor.js +2 -2
- package/src/updateInstaller.js +175 -0
|
@@ -311,6 +311,12 @@
|
|
|
311
311
|
box-shadow: 0 0 0 6px rgba(138,232,255,.14)!important;
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
+
@media (pointer:coarse) {
|
|
315
|
+
:where(button,[role="button"],summary) {
|
|
316
|
+
min-height: 44px;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
314
320
|
.provider-overview-card {
|
|
315
321
|
--provider: #8fa2b7;
|
|
316
322
|
position: relative;
|
|
@@ -330,7 +336,50 @@
|
|
|
330
336
|
|
|
331
337
|
.provider-overview-card.selected {
|
|
332
338
|
border-color: color-mix(in srgb,var(--provider) 66%,#344151);
|
|
333
|
-
|
|
339
|
+
background: linear-gradient(145deg,color-mix(in srgb,var(--provider) 15%,#10151f),#0d111a 68%);
|
|
340
|
+
box-shadow: inset 0 0 0 2px color-mix(in srgb,var(--provider) 30%,transparent),0 10px 30px rgba(0,0,0,.28),0 0 24px color-mix(in srgb,var(--provider) 10%,transparent);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.provider-overview-card.selected:before {
|
|
344
|
+
width: 5px;
|
|
345
|
+
opacity: 1;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
.poc-head-states {
|
|
349
|
+
display: grid;
|
|
350
|
+
justify-items: end;
|
|
351
|
+
gap: 4px;
|
|
352
|
+
margin-left: auto;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
.poc-head-states .poc-state {
|
|
356
|
+
margin-left: 0;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.poc-filter-state {
|
|
360
|
+
display: none;
|
|
361
|
+
padding: 3px 7px;
|
|
362
|
+
border: 1px solid color-mix(in srgb,var(--provider) 58%,#28483f);
|
|
363
|
+
border-radius: 999px;
|
|
364
|
+
background: color-mix(in srgb,var(--provider) 16%,#0b1515);
|
|
365
|
+
color: color-mix(in srgb,var(--provider) 72%,#eafff8);
|
|
366
|
+
font-size: 9px;
|
|
367
|
+
font-weight: 800;
|
|
368
|
+
white-space: nowrap;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.poc-filter-state.visible {
|
|
372
|
+
display: inline-flex;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.provider-overview-card.filter-clicked {
|
|
376
|
+
animation: provider-card-confirm .38s cubic-bezier(.22,1,.36,1);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
@keyframes provider-card-confirm {
|
|
380
|
+
0% { transform: scale(.97); }
|
|
381
|
+
60% { transform: translateY(-3px) scale(1.015); }
|
|
382
|
+
100% { transform: translateY(0) scale(1); }
|
|
334
383
|
}
|
|
335
384
|
|
|
336
385
|
.poc-head strong {
|
|
@@ -109,6 +109,32 @@
|
|
|
109
109
|
flex: 0 0 auto;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
+
.card-subtitle .origin-project {
|
|
113
|
+
display: inline-flex;
|
|
114
|
+
align-items: center;
|
|
115
|
+
min-width: 0;
|
|
116
|
+
gap: 5px;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.card-subtitle .origin-project small {
|
|
120
|
+
flex: 0 0 auto;
|
|
121
|
+
padding: 2px 5px;
|
|
122
|
+
border: 1px solid rgba(89,216,255,.18);
|
|
123
|
+
border-radius: 5px;
|
|
124
|
+
background: rgba(89,216,255,.06);
|
|
125
|
+
color: #76c8df;
|
|
126
|
+
font-size: 8px;
|
|
127
|
+
font-weight: 750;
|
|
128
|
+
letter-spacing: .02em;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.card-subtitle .origin-project b {
|
|
132
|
+
overflow: hidden;
|
|
133
|
+
color: #b8c6d4;
|
|
134
|
+
font-weight: 600;
|
|
135
|
+
text-overflow: ellipsis;
|
|
136
|
+
}
|
|
137
|
+
|
|
112
138
|
.card-usage {
|
|
113
139
|
display: grid;
|
|
114
140
|
grid-template-columns: 1.1fr .9fr;
|
|
@@ -336,103 +336,33 @@
|
|
|
336
336
|
font-size: 10px;
|
|
337
337
|
}
|
|
338
338
|
|
|
339
|
-
.subagent-
|
|
339
|
+
.subagent-work-source {
|
|
340
340
|
display: grid;
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
padding: 11px;
|
|
348
|
-
border: 1px solid #263b45;
|
|
349
|
-
border-radius: 10px;
|
|
350
|
-
background: #0c171e;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
.subagent-conversation-summary small {
|
|
354
|
-
display: block;
|
|
355
|
-
color: #718591;
|
|
356
|
-
font-size: 9px;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
.subagent-conversation-summary b {
|
|
360
|
-
display: block;
|
|
361
|
-
margin-top: 5px;
|
|
362
|
-
color: #dce8ec;
|
|
363
|
-
font-size: 17px;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
.subagent-conversation-summary>span:nth-child(1) b {
|
|
367
|
-
color: #76dfb8;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
.subagent-conversation-summary>span:nth-child(2) b {
|
|
371
|
-
color: #8fc8df;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
.subagent-dialog-row.user .chat-bubble {
|
|
375
|
-
background: #10231e;
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
.subagent-dialog-row.assistant .chat-bubble {
|
|
379
|
-
background: #111d28;
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
.subagent-dialog-row.system .chat-bubble {
|
|
383
|
-
background: #0d151c;
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
.subagent-dialog-list .chat-row.assistant {
|
|
387
|
-
padding-left: 28px;
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
.subagent-dialog-list .chat-row.user {
|
|
391
|
-
padding-right: 28px;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
.subagent-dialog-row .chat-bubble {
|
|
395
|
-
border-color: #283c46;
|
|
396
|
-
min-width: 0;
|
|
397
|
-
max-width: 100%;
|
|
398
|
-
overflow: hidden;
|
|
341
|
+
gap: 5px;
|
|
342
|
+
margin: 0 0 14px;
|
|
343
|
+
padding: 11px 13px;
|
|
344
|
+
border: 1px solid color-mix(in srgb,var(--drawer-provider) 28%,#263844);
|
|
345
|
+
border-radius: 11px;
|
|
346
|
+
background: color-mix(in srgb,var(--drawer-provider) 6%,#0c151d);
|
|
399
347
|
}
|
|
400
348
|
|
|
401
|
-
.subagent-
|
|
402
|
-
|
|
403
|
-
|
|
349
|
+
.subagent-work-source b {
|
|
350
|
+
color: #dbe8e9;
|
|
351
|
+
font-size: 11px;
|
|
404
352
|
}
|
|
405
353
|
|
|
406
|
-
.subagent-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
white-space: nowrap;
|
|
354
|
+
.subagent-work-source span {
|
|
355
|
+
color: #78909a;
|
|
356
|
+
font-size: 10px;
|
|
357
|
+
line-height: 1.55;
|
|
411
358
|
}
|
|
412
359
|
|
|
413
|
-
.subagent-
|
|
414
|
-
margin-
|
|
415
|
-
padding: 3px 6px;
|
|
416
|
-
border-radius: 6px;
|
|
417
|
-
background: #13242a;
|
|
418
|
-
color: #6fa89b;
|
|
419
|
-
font-size: 8px;
|
|
420
|
-
min-width: 0;
|
|
421
|
-
overflow: hidden;
|
|
422
|
-
text-overflow: ellipsis;
|
|
423
|
-
white-space: nowrap;
|
|
360
|
+
.subagent-coordination {
|
|
361
|
+
margin-top: 16px;
|
|
424
362
|
}
|
|
425
363
|
|
|
426
|
-
.subagent-
|
|
427
|
-
|
|
428
|
-
margin: 6px 0 -2px;
|
|
429
|
-
color: #6b8f8a;
|
|
430
|
-
font-size: 8px;
|
|
431
|
-
font-weight: 750;
|
|
432
|
-
min-width: 0;
|
|
433
|
-
overflow: hidden;
|
|
434
|
-
text-overflow: ellipsis;
|
|
435
|
-
white-space: nowrap;
|
|
364
|
+
.subagent-coordination .subagent-message-preview p {
|
|
365
|
+
margin: 0;
|
|
436
366
|
}
|
|
437
367
|
|
|
438
368
|
.subagent-message-preview {
|
|
@@ -29,6 +29,16 @@ button {
|
|
|
29
29
|
color: inherit;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
button[aria-busy="true"] {
|
|
33
|
+
cursor: progress;
|
|
34
|
+
opacity: .72;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
[aria-invalid="true"] {
|
|
38
|
+
border-color: #ff7188!important;
|
|
39
|
+
box-shadow: 0 0 0 3px rgba(255,113,136,.14)!important;
|
|
40
|
+
}
|
|
41
|
+
|
|
32
42
|
.workspace-section {
|
|
33
43
|
display: flex;
|
|
34
44
|
flex: 1;
|
|
@@ -58,10 +68,13 @@ button {
|
|
|
58
68
|
}
|
|
59
69
|
|
|
60
70
|
.workspace-item strong {
|
|
71
|
+
min-width: 0;
|
|
72
|
+
flex: 1 1 auto;
|
|
61
73
|
overflow: hidden;
|
|
62
74
|
text-overflow: ellipsis;
|
|
63
75
|
white-space: nowrap;
|
|
64
|
-
font-
|
|
76
|
+
font-size: 13px;
|
|
77
|
+
font-weight: 620;
|
|
65
78
|
}
|
|
66
79
|
|
|
67
80
|
.provider-mini-mark {
|
|
@@ -93,8 +106,9 @@ button {
|
|
|
93
106
|
content: "";
|
|
94
107
|
width: 6px;
|
|
95
108
|
height: 6px;
|
|
109
|
+
flex: 0 0 7px;
|
|
96
110
|
border-radius: 2px;
|
|
97
|
-
border: 1px solid #
|
|
111
|
+
border: 1px solid #718296;
|
|
98
112
|
}
|
|
99
113
|
|
|
100
114
|
.workspace-item button {
|
|
@@ -111,10 +125,10 @@ button {
|
|
|
111
125
|
}
|
|
112
126
|
|
|
113
127
|
.workspace-empty {
|
|
114
|
-
padding:
|
|
115
|
-
color: #
|
|
116
|
-
font-size:
|
|
117
|
-
line-height: 1.
|
|
128
|
+
padding: 10px;
|
|
129
|
+
color: #93a3b2;
|
|
130
|
+
font-size: 12px;
|
|
131
|
+
line-height: 1.55;
|
|
118
132
|
}
|
|
119
133
|
|
|
120
134
|
.workspace-item.projectless:before {
|
|
@@ -129,12 +143,31 @@ button {
|
|
|
129
143
|
padding: 2px 6px;
|
|
130
144
|
border-radius: 999px;
|
|
131
145
|
background: #1a2530;
|
|
132
|
-
color: #
|
|
133
|
-
font-size:
|
|
146
|
+
color: #afbdc8;
|
|
147
|
+
font-size: 12px;
|
|
134
148
|
font-weight: 700;
|
|
135
149
|
text-align: center;
|
|
136
150
|
}
|
|
137
151
|
|
|
152
|
+
.workspace-item.observed-project small,
|
|
153
|
+
.workspace-item[data-workspace="all"] small {
|
|
154
|
+
margin-left: auto;
|
|
155
|
+
min-width: 20px;
|
|
156
|
+
padding: 2px 6px;
|
|
157
|
+
border-radius: 999px;
|
|
158
|
+
background: #1a2530;
|
|
159
|
+
color: #afbdc8;
|
|
160
|
+
font-size: 12px;
|
|
161
|
+
font-weight: 700;
|
|
162
|
+
text-align: center;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.workspace-item.observed-project.selected small,
|
|
166
|
+
.workspace-item[data-workspace="all"].selected small {
|
|
167
|
+
background: rgba(89,216,255,.14);
|
|
168
|
+
color: #81ddf8;
|
|
169
|
+
}
|
|
170
|
+
|
|
138
171
|
.workspace-item.projectless.selected small {
|
|
139
172
|
background: rgba(79,209,167,.15);
|
|
140
173
|
color: #6ee0b8;
|
|
@@ -744,6 +777,25 @@ button {
|
|
|
744
777
|
font-size: 12px;
|
|
745
778
|
}
|
|
746
779
|
|
|
780
|
+
.search-clear {
|
|
781
|
+
width: 40px;
|
|
782
|
+
height: 40px;
|
|
783
|
+
flex: 0 0 40px;
|
|
784
|
+
display: grid;
|
|
785
|
+
place-items: center;
|
|
786
|
+
padding: 0;
|
|
787
|
+
border: 0;
|
|
788
|
+
border-radius: 7px;
|
|
789
|
+
background: transparent;
|
|
790
|
+
color: #8fa0b2;
|
|
791
|
+
cursor: pointer;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
.search-clear:hover {
|
|
795
|
+
background: #1a2431;
|
|
796
|
+
color: #f0f6fb;
|
|
797
|
+
}
|
|
798
|
+
|
|
747
799
|
.session-tools select {
|
|
748
800
|
padding: 0 28px 0 10px;
|
|
749
801
|
border: 1px solid var(--line);
|
|
@@ -770,7 +822,7 @@ button {
|
|
|
770
822
|
display: inline-flex;
|
|
771
823
|
align-items: center;
|
|
772
824
|
gap: 5px;
|
|
773
|
-
min-height:
|
|
825
|
+
min-height: 36px;
|
|
774
826
|
padding: 0 9px;
|
|
775
827
|
border: 1px solid transparent;
|
|
776
828
|
border-radius: 7px;
|
|
@@ -778,14 +830,56 @@ button {
|
|
|
778
830
|
color: #7f8da1;
|
|
779
831
|
white-space: nowrap;
|
|
780
832
|
cursor: pointer;
|
|
781
|
-
transition: color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease;
|
|
833
|
+
transition: color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) ease;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
.filter-reset {
|
|
837
|
+
min-height: 40px;
|
|
838
|
+
padding: 0 11px;
|
|
839
|
+
border: 1px solid var(--line);
|
|
840
|
+
border-radius: 9px;
|
|
841
|
+
background: #0d121b;
|
|
842
|
+
color: #aab7c7;
|
|
843
|
+
white-space: nowrap;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
.filter-reset:hover {
|
|
847
|
+
border-color: #3b4c60;
|
|
848
|
+
background: #151d28;
|
|
849
|
+
color: #f0f6fb;
|
|
782
850
|
}
|
|
783
851
|
|
|
784
|
-
|
|
852
|
+
@media (pointer:coarse) {
|
|
853
|
+
.search-clear,
|
|
854
|
+
.provider-filter-chip,
|
|
855
|
+
.filter-reset {
|
|
856
|
+
min-width: 44px;
|
|
857
|
+
min-height: 44px;
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
.provider-filter-mark {
|
|
785
862
|
font-family: "Cascadia Code", Consolas, monospace;
|
|
786
863
|
font-size: 9px;
|
|
787
864
|
}
|
|
788
865
|
|
|
866
|
+
.provider-filter-check {
|
|
867
|
+
display: inline-grid;
|
|
868
|
+
place-items: center;
|
|
869
|
+
width: 0;
|
|
870
|
+
height: 16px;
|
|
871
|
+
border-radius: 50%;
|
|
872
|
+
overflow: hidden;
|
|
873
|
+
background: #53d6aa;
|
|
874
|
+
color: #07130f;
|
|
875
|
+
font-size: 10px;
|
|
876
|
+
font-style: normal;
|
|
877
|
+
font-weight: 900;
|
|
878
|
+
opacity: 0;
|
|
879
|
+
transform: scale(.45);
|
|
880
|
+
transition: width var(--motion-fast) ease, opacity var(--motion-fast) ease, transform var(--motion-fast) ease;
|
|
881
|
+
}
|
|
882
|
+
|
|
789
883
|
.provider-filter-chip b {
|
|
790
884
|
font-size: 10px;
|
|
791
885
|
}
|
|
@@ -796,9 +890,27 @@ button {
|
|
|
796
890
|
}
|
|
797
891
|
|
|
798
892
|
.provider-filter-chip.selected {
|
|
799
|
-
color: #
|
|
800
|
-
border-color: #
|
|
801
|
-
background: rgba(66,207,164,.
|
|
893
|
+
color: #f2fffb;
|
|
894
|
+
border-color: #53d6aa;
|
|
895
|
+
background: linear-gradient(135deg,rgba(66,207,164,.24),rgba(66,207,164,.11));
|
|
896
|
+
box-shadow: inset 0 0 0 1px rgba(119,238,198,.17),0 0 0 2px rgba(66,207,164,.08),0 6px 18px rgba(0,0,0,.22);
|
|
897
|
+
transform: translateY(-1px);
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
.provider-filter-chip.selected .provider-filter-check {
|
|
901
|
+
width: 16px;
|
|
902
|
+
opacity: 1;
|
|
903
|
+
transform: scale(1);
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
.provider-filter-chip.filter-clicked {
|
|
907
|
+
animation: provider-filter-confirm .36s cubic-bezier(.22,1,.36,1);
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
@keyframes provider-filter-confirm {
|
|
911
|
+
0% { transform: scale(.93); }
|
|
912
|
+
55% { transform: scale(1.06); }
|
|
913
|
+
100% { transform: translateY(-1px) scale(1); }
|
|
802
914
|
}
|
|
803
915
|
|
|
804
916
|
.session-grid {
|