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
@@ -178,7 +178,7 @@
178
178
  display: block;
179
179
  margin: 0 0 9px 3px;
180
180
  color: #6f7c8f;
181
- font-size: 10px;
181
+ font-size: 12px;
182
182
  font-weight: 700;
183
183
  letter-spacing: .1em;
184
184
  }
@@ -267,7 +267,7 @@
267
267
  color: #6be0b0;
268
268
  font-weight: 750;
269
269
  letter-spacing: .11em;
270
- font-size: 11px;
270
+ font-size: 12px;
271
271
  }
272
272
 
273
273
  .global-stat span {
@@ -276,14 +276,14 @@
276
276
  font-weight: 700;
277
277
  letter-spacing: .12em;
278
278
  text-transform: uppercase;
279
- font-size: 11px;
279
+ font-size: 12px;
280
280
  }
281
281
 
282
282
  .global-stat em {
283
283
  margin-left: 5px;
284
284
  color: #657186;
285
285
  font-style: normal;
286
- font-size: 11px;
286
+ font-size: 12px;
287
287
  }
288
288
 
289
289
  .provider-overview-card:active {
@@ -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;
@@ -357,7 +363,7 @@
357
363
  border-radius: 999px;
358
364
  background: color-mix(in srgb,var(--provider) 16%,#0b1515);
359
365
  color: color-mix(in srgb,var(--provider) 72%,#eafff8);
360
- font-size: 9px;
366
+ font-size: 12px;
361
367
  font-weight: 800;
362
368
  white-space: nowrap;
363
369
  }
@@ -385,7 +391,7 @@
385
391
  display: block;
386
392
  margin-top: 3px;
387
393
  color: #98a6b6;
388
- font-size: 11px;
394
+ font-size: 12px;
389
395
  }
390
396
 
391
397
  .poc-state {
@@ -394,7 +400,7 @@
394
400
  align-items: center;
395
401
  gap: 5px;
396
402
  color: #98a6b6;
397
- font-size: 11px;
403
+ font-size: 12px;
398
404
  }
399
405
 
400
406
  .poc-metrics span {
@@ -403,7 +409,7 @@
403
409
  text-transform: uppercase;
404
410
  letter-spacing: .08em;
405
411
  color: #98a6b6;
406
- font-size: 11px;
412
+ font-size: 12px;
407
413
  }
408
414
 
409
415
  .poc-metrics b {
@@ -419,7 +425,7 @@
419
425
  border-radius: 9px;
420
426
  background: #101722;
421
427
  color: #9ba8ba;
422
- font-size: 11px;
428
+ font-size: 12px;
423
429
  cursor: pointer;
424
430
  white-space: nowrap;
425
431
  transition: transform var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-medium) ease,opacity var(--motion-fast) ease;
@@ -432,7 +438,7 @@
432
438
  border-radius: 9px;
433
439
  background: #101722;
434
440
  color: #9ba8ba;
435
- font-size: 11px;
441
+ font-size: 12px;
436
442
  cursor: pointer;
437
443
  white-space: nowrap;
438
444
  transition: transform var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-medium) ease,opacity var(--motion-fast) ease;
@@ -15,7 +15,7 @@
15
15
  background: color-mix(in srgb,var(--provider) 11%,#111620);
16
16
  border: 1px solid color-mix(in srgb,var(--provider) 32%,#202938);
17
17
  color: var(--provider);
18
- font-size: 9px;
18
+ font-size: 12px;
19
19
  font-weight: 850;
20
20
  letter-spacing: -.03em;
21
21
  }
@@ -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: 12px;
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;
@@ -129,14 +155,14 @@
129
155
  .token-breakdown span {
130
156
  display: block;
131
157
  color: #566173;
132
- font-size: 7px;
158
+ font-size: 12px;
133
159
  }
134
160
 
135
161
  .token-breakdown b {
136
162
  display: block;
137
163
  margin-top: 2px;
138
164
  color: #aeb9c6;
139
- font-size: 9px;
165
+ font-size: 12px;
140
166
  font-weight: 570;
141
167
  }
142
168
 
@@ -158,7 +184,7 @@
158
184
  border-radius: 7px;
159
185
  background: color-mix(in srgb,var(--provider) 11%,#131822);
160
186
  color: var(--provider);
161
- font-size: 10px;
187
+ font-size: 12px;
162
188
  }
163
189
 
164
190
  .now-strip>div {
@@ -325,7 +351,7 @@
325
351
 
326
352
  .token-hero-head span {
327
353
  color: #6d798d;
328
- font-size: 11px;
354
+ font-size: 12px;
329
355
  }
330
356
 
331
357
  .token-hero-head b {
@@ -335,14 +361,14 @@
335
361
  .token-tile span {
336
362
  display: block;
337
363
  color: #606c7e;
338
- font-size: 10px;
364
+ font-size: 12px;
339
365
  }
340
366
 
341
367
  .token-tile small {
342
368
  display: block;
343
369
  margin-top: 4px;
344
370
  color: #4e596a;
345
- font-size: 9px;
371
+ font-size: 12px;
346
372
  }
347
373
 
348
374
  .token-note {
@@ -352,7 +378,7 @@
352
378
  background: #0d121a;
353
379
  color: #697588;
354
380
  line-height: 1.55;
355
- font-size: 9px;
381
+ font-size: 12px;
356
382
  }
357
383
 
358
384
  .motion-content-in .token-tile {
@@ -465,7 +491,7 @@
465
491
  align-items: center;
466
492
  gap: 7px;
467
493
  color: #6d798c;
468
- font-size: 11px;
494
+ font-size: 12px;
469
495
  }
470
496
 
471
497
  .card-provider-line b {
@@ -486,7 +512,7 @@
486
512
  font-weight: 700;
487
513
  letter-spacing: .06em;
488
514
  text-transform: uppercase;
489
- font-size: 10px;
515
+ font-size: 12px;
490
516
  }
491
517
 
492
518
  .card-title {
@@ -509,7 +535,7 @@
509
535
  white-space: nowrap;
510
536
  overflow: hidden;
511
537
  color: #9ba8b8;
512
- font-size: 11px;
538
+ font-size: 12px;
513
539
  }
514
540
 
515
541
  .now-strip b {
@@ -529,14 +555,14 @@
529
555
  text-overflow: ellipsis;
530
556
  margin-top: 3px;
531
557
  color: #95a3b4;
532
- font-size: 11px;
558
+ font-size: 12px;
533
559
  }
534
560
 
535
561
  .preview-line b {
536
562
  color: #778397;
537
563
  text-transform: uppercase;
538
564
  white-space: nowrap;
539
- font-size: 10px;
565
+ font-size: 12px;
540
566
  }
541
567
 
542
568
  .preview-line span {
@@ -544,7 +570,7 @@
544
570
  text-overflow: ellipsis;
545
571
  white-space: nowrap;
546
572
  color: #a7b3c1;
547
- font-size: 11px;
573
+ font-size: 12px;
548
574
  }
549
575
 
550
576
  .context-meter-head>div span {
@@ -553,7 +579,7 @@
553
579
  letter-spacing: .08em;
554
580
  text-transform: uppercase;
555
581
  color: #909eaf;
556
- font-size: 11px;
582
+ font-size: 12px;
557
583
  }
558
584
 
559
585
  .context-meter-foot {
@@ -562,13 +588,13 @@
562
588
  gap: 10px;
563
589
  margin-top: 6px;
564
590
  color: #909eaf;
565
- font-size: 11px;
591
+ font-size: 12px;
566
592
  }
567
593
 
568
594
  .token-row span {
569
595
  display: block;
570
596
  color: #909eaf;
571
- font-size: 11px;
597
+ font-size: 12px;
572
598
  }
573
599
 
574
600
  .card-footer {
@@ -580,7 +606,7 @@
580
606
  border-top: 1px solid var(--line-soft);
581
607
  background: rgba(7,10,16,.42);
582
608
  color: #909eaf;
583
- font-size: 11px;
609
+ font-size: 12px;
584
610
  }
585
611
 
586
612
  .context-meter-head>div strong {
@@ -15,7 +15,7 @@
15
15
  right: 14px;
16
16
  top: 14px;
17
17
  color: color-mix(in srgb,var(--provider) 66%,#8c98a8);
18
- font-size: 7px;
18
+ font-size: 12px;
19
19
  font-weight: 800;
20
20
  letter-spacing: .15em;
21
21
  }
@@ -61,13 +61,13 @@
61
61
  border-radius: 6px;
62
62
  background: color-mix(in srgb,var(--drawer-provider) 12%,#17212d);
63
63
  color: var(--drawer-provider);
64
- font-size: 10px;
64
+ font-size: 12px;
65
65
  }
66
66
 
67
67
  .memory-target {
68
68
  padding: 3px 7px;
69
69
  border-radius: 6px;
70
- font-size: 10px;
70
+ font-size: 12px;
71
71
  max-width: 220px;
72
72
  overflow: hidden;
73
73
  background: #18222e;
@@ -79,7 +79,7 @@
79
79
  .memory-category {
80
80
  padding: 3px 7px;
81
81
  border-radius: 6px;
82
- font-size: 10px;
82
+ font-size: 12px;
83
83
  margin-left: auto;
84
84
  background: #10241f;
85
85
  color: #74d9ae;
@@ -125,7 +125,7 @@
125
125
  display: block;
126
126
  margin-top: 4px;
127
127
  color: #71868d;
128
- font-size: 9px;
128
+ font-size: 12px;
129
129
  }
130
130
 
131
131
  .agent-communication-panel>header em {
@@ -133,14 +133,14 @@
133
133
  border-radius: 8px;
134
134
  background: rgba(81,213,169,.09);
135
135
  color: #75dfb8;
136
- font-size: 9px;
136
+ font-size: 12px;
137
137
  font-style: normal;
138
138
  }
139
139
 
140
140
  .agent-communication-panel.empty>p {
141
141
  padding: 18px;
142
142
  color: #6f828c;
143
- font-size: 10px;
143
+ font-size: 12px;
144
144
  text-align: center;
145
145
  }
146
146
 
@@ -184,7 +184,7 @@
184
184
  min-width: 0;
185
185
  overflow: hidden;
186
186
  color: #b8c8cf;
187
- font-size: 9px;
187
+ font-size: 12px;
188
188
  text-overflow: ellipsis;
189
189
  white-space: nowrap;
190
190
  }
@@ -202,7 +202,7 @@
202
202
  .communication-copy small {
203
203
  display: block;
204
204
  color: #6edcaf;
205
- font-size: 8px;
205
+ font-size: 12px;
206
206
  }
207
207
 
208
208
  .communication-copy strong {
@@ -210,7 +210,7 @@
210
210
  margin-top: 5px;
211
211
  overflow: hidden;
212
212
  color: #a9b8c0;
213
- font-size: 10px;
213
+ font-size: 12px;
214
214
  font-weight: 500;
215
215
  line-height: 1.4;
216
216
  -webkit-box-orient: vertical;
@@ -223,7 +223,7 @@
223
223
 
224
224
  .agent-communication-event time {
225
225
  color: #596f79;
226
- font-size: 8px;
226
+ font-size: 12px;
227
227
  }
228
228
 
229
229
  .subagent-filterbar {
@@ -262,7 +262,7 @@
262
262
  border-radius: 8px;
263
263
  background: #0d171e;
264
264
  color: #788b97;
265
- font-size: 9px;
265
+ font-size: 12px;
266
266
  font-weight: 700;
267
267
  cursor: pointer;
268
268
  }
@@ -273,7 +273,7 @@
273
273
  border-radius: 6px;
274
274
  background: #15242d;
275
275
  color: #9aadb7;
276
- font-size: 8px;
276
+ font-size: 12px;
277
277
  }
278
278
 
279
279
  .subagent-status-filters button.active {
@@ -294,7 +294,7 @@
294
294
  border-radius: 8px;
295
295
  background: #091219;
296
296
  color: #bac8d0;
297
- font-size: 9px;
297
+ font-size: 12px;
298
298
  outline: none;
299
299
  padding: 0 9px;
300
300
  }
@@ -306,7 +306,7 @@
306
306
  border-radius: 8px;
307
307
  background: #091219;
308
308
  color: #bac8d0;
309
- font-size: 9px;
309
+ font-size: 12px;
310
310
  outline: none;
311
311
  padding: 0 25px 0 8px;
312
312
  }
@@ -327,13 +327,13 @@
327
327
 
328
328
  .subagent-filter-result {
329
329
  color: #617783;
330
- font-size: 8px;
330
+ font-size: 12px;
331
331
  white-space: nowrap;
332
332
  }
333
333
 
334
334
  .subagent-filter-result b {
335
335
  color: #87d9bc;
336
- font-size: 10px;
336
+ font-size: 12px;
337
337
  }
338
338
 
339
339
  .subagent-work-source {
@@ -348,12 +348,12 @@
348
348
 
349
349
  .subagent-work-source b {
350
350
  color: #dbe8e9;
351
- font-size: 11px;
351
+ font-size: 12px;
352
352
  }
353
353
 
354
354
  .subagent-work-source span {
355
355
  color: #78909a;
356
- font-size: 10px;
356
+ font-size: 12px;
357
357
  line-height: 1.55;
358
358
  }
359
359
 
@@ -415,20 +415,20 @@
415
415
  .completed-subagent-disclosure b {
416
416
  display: block;
417
417
  color: #b7c3cd;
418
- font-size: 11px;
418
+ font-size: 12px;
419
419
  }
420
420
 
421
421
  .completed-subagent-disclosure small {
422
422
  display: block;
423
423
  margin-top: 4px;
424
424
  color: #667887;
425
- font-size: 9px;
425
+ font-size: 12px;
426
426
  font-weight: 500;
427
427
  }
428
428
 
429
429
  .completed-subagent-disclosure button>i {
430
430
  color: #7e93a1;
431
- font-size: 9px;
431
+ font-size: 12px;
432
432
  font-style: normal;
433
433
  font-weight: 700;
434
434
  }
@@ -450,7 +450,7 @@
450
450
  content: "완료 기록";
451
451
  grid-column: 1/-1;
452
452
  color: #617482;
453
- font-size: 9px;
453
+ font-size: 12px;
454
454
  font-weight: 750;
455
455
  letter-spacing: .08em;
456
456
  }