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.
Files changed (86) hide show
  1. package/README.ko.md +7 -0
  2. package/README.md +7 -0
  3. package/README.zh-CN.md +7 -0
  4. package/docs/PROVIDER-CONTRACTS.md +23 -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 +183 -37
  9. package/package.json +15 -4
  10. package/preload.js +11 -0
  11. package/renderer/app-agent-actions.js +125 -53
  12. package/renderer/app-bootstrap.js +54 -9
  13. package/renderer/app-dashboard.js +197 -58
  14. package/renderer/app-drawer-content.js +103 -86
  15. package/renderer/app-drawer-data.js +26 -13
  16. package/renderer/app-drawer.js +79 -55
  17. package/renderer/app-events-dialogs.js +146 -37
  18. package/renderer/app-events-filters.js +172 -9
  19. package/renderer/app-events-navigation.js +78 -31
  20. package/renderer/app-events-sessions.js +171 -4
  21. package/renderer/app-events.js +2 -1
  22. package/renderer/app-graph-model.js +32 -4
  23. package/renderer/app-graph-orchestration.js +16 -13
  24. package/renderer/app-graph-view.js +228 -112
  25. package/renderer/app-management.js +211 -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 +103 -33
  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 +119 -38
  32. package/renderer/app.js +155 -76
  33. package/renderer/i18n-messages.js +833 -15
  34. package/renderer/i18n.js +104 -0
  35. package/renderer/index.html +162 -75
  36. package/renderer/shared.js +17 -0
  37. package/renderer/styles-agent-map.css +50 -1
  38. package/renderer/styles-cards.css +26 -0
  39. package/renderer/styles-collaboration.css +18 -88
  40. package/renderer/styles-components.css +126 -14
  41. package/renderer/styles-management.css +355 -0
  42. package/renderer/styles-overlays.css +13 -2
  43. package/renderer/styles-product.css +24 -16
  44. package/renderer/styles-quality.css +312 -0
  45. package/renderer/styles-readability.css +862 -0
  46. package/renderer/styles-responsive-product.css +84 -12
  47. package/renderer/styles-responsive-runtime.css +31 -14
  48. package/renderer/styles-responsive-shell.css +44 -48
  49. package/renderer/styles-responsive-workflows.css +37 -17
  50. package/renderer/styles-run-composer.css +5 -0
  51. package/renderer/styles-runtime-overview.css +285 -0
  52. package/renderer/styles-settings.css +160 -0
  53. package/renderer/styles-terminal.css +339 -2
  54. package/renderer/styles-tmux.css +154 -0
  55. package/renderer/styles-workflow-map.css +362 -15
  56. package/renderer/styles-workflows.css +69 -2
  57. package/renderer/styles.css +27 -12
  58. package/renderer/terminal-agent.js +17 -13
  59. package/renderer/terminal-events.js +233 -40
  60. package/renderer/terminal-workbench.js +176 -78
  61. package/renderer/terminal.js +350 -37
  62. package/src/agentMonitor/claudeParser.js +96 -7
  63. package/src/agentMonitor/codexParser.js +59 -4
  64. package/src/agentMonitor/executionActivity.js +282 -0
  65. package/src/agentMonitor/genericParser.js +56 -13
  66. package/src/agentMonitor/hierarchy.js +17 -0
  67. package/src/agentMonitor/responseIntent.js +51 -0
  68. package/src/agentMonitor.js +21 -3
  69. package/src/agentRunner.js +66 -1
  70. package/src/attentionNotifier.js +71 -0
  71. package/src/automationMonitor.js +258 -0
  72. package/src/contracts.js +10 -1
  73. package/src/ipc/registerAgentIpc.js +9 -3
  74. package/src/ipc/registerAppIpc.js +4 -1
  75. package/src/ipc/registerTerminalIpc.js +12 -6
  76. package/src/macUpdateHelper.js +210 -0
  77. package/src/monitorWorker.js +65 -6
  78. package/src/platformPath.js +80 -0
  79. package/src/processMonitor.js +81 -23
  80. package/src/providerVisibilityStore.js +45 -0
  81. package/src/sessionIntelligence.js +247 -0
  82. package/src/terminalHost.js +381 -0
  83. package/src/terminalHostDaemon.js +60 -0
  84. package/src/terminalManager.js +158 -3
  85. package/src/tmuxMonitor.js +2 -2
  86. package/src/updateInstaller.js +175 -0
@@ -0,0 +1,312 @@
1
+ /* Quality pass 101–200: command navigation, persistent filters, and stateful controls. */
2
+ /* Quality pass 201–300: control telemetry, resilient focus, and small-screen safeguards. */
3
+
4
+ body.dialog-open {
5
+ overflow: hidden;
6
+ }
7
+
8
+ body.quality-keyboard-mode :focus-visible {
9
+ outline: 3px solid #77e2c2;
10
+ outline-offset: 3px;
11
+ }
12
+
13
+ [data-quality-control] {
14
+ touch-action: manipulation;
15
+ }
16
+
17
+ [data-quality-pressed="true"] {
18
+ transform: translateY(1px);
19
+ filter: brightness(.96);
20
+ }
21
+
22
+ [data-quality-disabled="true"] {
23
+ cursor: not-allowed;
24
+ }
25
+
26
+ [data-quality-touch-target="padded"] {
27
+ position: relative;
28
+ }
29
+
30
+ [data-quality-touch-target="padded"]::after {
31
+ content: "";
32
+ position: absolute;
33
+ inset: 0;
34
+ outline: 6px solid transparent;
35
+ }
36
+
37
+ [data-quality-density="compact"] .session-grid,
38
+ [data-quality-density="compact"] .terminal-layout {
39
+ gap: 10px;
40
+ }
41
+
42
+ [data-quality-motion="reduced"] *,
43
+ [data-quality-motion="reduced"] *::before,
44
+ [data-quality-motion="reduced"] *::after {
45
+ scroll-behavior: auto !important;
46
+ transition-duration: .01ms !important;
47
+ animation-duration: .01ms !important;
48
+ animation-iteration-count: 1 !important;
49
+ }
50
+
51
+ [data-quality-viewport="mobile"] .quality-modal {
52
+ border-radius: 14px 14px 0 0;
53
+ }
54
+
55
+ .top-icon-action {
56
+ width: 44px;
57
+ height: 44px;
58
+ flex: 0 0 44px;
59
+ border: 1px solid #2a3544;
60
+ border-radius: 12px;
61
+ background: #101722;
62
+ color: #91a1b5;
63
+ cursor: pointer;
64
+ }
65
+
66
+ .top-icon-action:hover,
67
+ .top-icon-action:focus-visible {
68
+ border-color: #4b6b78;
69
+ color: #d7e6ee;
70
+ background: #16212d;
71
+ }
72
+
73
+ .quality-dialog {
74
+ z-index: 45;
75
+ }
76
+
77
+ .quality-modal {
78
+ width: min(620px, 94vw);
79
+ max-height: min(760px, 90vh);
80
+ overflow: auto;
81
+ padding: 20px;
82
+ border: 1px solid #314151;
83
+ border-radius: 18px;
84
+ background: linear-gradient(160deg, #131c28, #0b1018 72%);
85
+ box-shadow: 0 32px 110px rgba(0, 0, 0, .58);
86
+ }
87
+
88
+ .quality-modal-head {
89
+ display: flex;
90
+ align-items: flex-start;
91
+ gap: 18px;
92
+ margin-bottom: 16px;
93
+ }
94
+
95
+ .quality-modal-head p {
96
+ margin: 0 0 4px;
97
+ color: #5de0b5;
98
+ font-size: 10px;
99
+ font-weight: 800;
100
+ letter-spacing: .12em;
101
+ text-transform: uppercase;
102
+ }
103
+
104
+ .quality-modal-head h2 {
105
+ margin: 0;
106
+ color: #eef5f8;
107
+ font-size: 20px;
108
+ }
109
+
110
+ .quality-search {
111
+ display: flex;
112
+ align-items: center;
113
+ gap: 10px;
114
+ padding: 0 14px;
115
+ border: 1px solid #34505d;
116
+ border-radius: 13px;
117
+ background: #080e15;
118
+ color: #5de0b5;
119
+ }
120
+
121
+ .quality-search:focus-within {
122
+ border-color: #66dcb7;
123
+ box-shadow: 0 0 0 3px rgba(93, 224, 181, .1);
124
+ }
125
+
126
+ .quality-search input {
127
+ width: 100%;
128
+ height: 50px;
129
+ border: 0;
130
+ outline: 0;
131
+ background: transparent;
132
+ color: #e2edf1;
133
+ font-size: 14px;
134
+ }
135
+
136
+ .quality-command-list {
137
+ display: grid;
138
+ gap: 5px;
139
+ margin-top: 12px;
140
+ }
141
+
142
+ .quality-command-list button {
143
+ display: grid;
144
+ grid-template-columns: 34px minmax(0, 1fr) auto auto;
145
+ align-items: center;
146
+ gap: 10px;
147
+ width: 100%;
148
+ min-height: 48px;
149
+ padding: 7px 12px;
150
+ border: 1px solid transparent;
151
+ border-radius: 11px;
152
+ background: transparent;
153
+ color: #bdc8d2;
154
+ text-align: left;
155
+ cursor: pointer;
156
+ }
157
+
158
+ .quality-command-list button > span {
159
+ display: grid;
160
+ place-items: center;
161
+ width: 32px;
162
+ height: 32px;
163
+ border-radius: 9px;
164
+ background: #172331;
165
+ color: #76dfbf;
166
+ }
167
+
168
+ .quality-command-list button small {
169
+ color: #647386;
170
+ }
171
+
172
+ .quality-command-list button i {
173
+ opacity: 0;
174
+ color: #92e7cc;
175
+ }
176
+
177
+ .quality-command-list button.active,
178
+ .quality-command-list button:hover {
179
+ border-color: #31594e;
180
+ background: #14231f;
181
+ color: #eff8f5;
182
+ }
183
+
184
+ .quality-command-list button.active i {
185
+ opacity: 1;
186
+ }
187
+
188
+ .quality-dialog-status {
189
+ min-height: 18px;
190
+ margin: 10px 3px 0;
191
+ color: #748497;
192
+ font-size: 10px;
193
+ }
194
+
195
+ .shortcut-help-list {
196
+ display: grid;
197
+ gap: 7px;
198
+ margin: 0;
199
+ }
200
+
201
+ .shortcut-help-list > div {
202
+ display: flex;
203
+ align-items: center;
204
+ justify-content: space-between;
205
+ gap: 20px;
206
+ min-height: 49px;
207
+ padding: 8px 12px;
208
+ border: 1px solid #253241;
209
+ border-radius: 10px;
210
+ background: #0c131c;
211
+ }
212
+
213
+ .shortcut-help-list dt {
214
+ display: flex;
215
+ gap: 5px;
216
+ }
217
+
218
+ .shortcut-help-list dd {
219
+ margin: 0;
220
+ color: #9caabb;
221
+ font-size: 11px;
222
+ }
223
+
224
+ .session-result-summary {
225
+ min-height: 22px;
226
+ margin: 8px 2px 0;
227
+ color: #708094;
228
+ font-size: 10px;
229
+ }
230
+
231
+ .empty-state .ghost-button {
232
+ margin-bottom: 9px;
233
+ }
234
+
235
+ .drawer-meta .meta-copy {
236
+ font: inherit;
237
+ cursor: pointer;
238
+ }
239
+
240
+ .drawer-meta .meta-copy:hover,
241
+ .drawer-meta .meta-copy:focus-visible {
242
+ border-color: #3e6d61;
243
+ background: #13251f;
244
+ color: #c5f4e4;
245
+ }
246
+
247
+ .drawer-meta .meta-copy > span {
248
+ color: #72d8b8;
249
+ }
250
+
251
+ .clipboard-fallback {
252
+ position: fixed;
253
+ left: -10000px;
254
+ top: -10000px;
255
+ width: 1px;
256
+ height: 1px;
257
+ opacity: 0;
258
+ }
259
+
260
+ .terminal-command-composer {
261
+ grid-template-columns: minmax(0, 1fr) auto auto;
262
+ }
263
+
264
+ .terminal-command-form .terminal-command-clear {
265
+ width: 38px;
266
+ min-width: 38px;
267
+ padding: 0;
268
+ justify-content: center;
269
+ border-color: #394755;
270
+ background: #111923;
271
+ color: #8292a4;
272
+ }
273
+
274
+ .terminal-command-count.warning {
275
+ color: #f4b862;
276
+ font-weight: 800;
277
+ }
278
+
279
+ @media (max-width: 760px) {
280
+ .top-icon-action {
281
+ width: 42px;
282
+ height: 42px;
283
+ flex-basis: 42px;
284
+ }
285
+
286
+ .quality-modal {
287
+ width: 100%;
288
+ max-height: 92vh;
289
+ padding: 16px;
290
+ }
291
+
292
+ .quality-command-list button {
293
+ grid-template-columns: 34px minmax(0, 1fr) auto;
294
+ }
295
+
296
+ .quality-command-list button small {
297
+ display: none;
298
+ }
299
+
300
+ .terminal-command-composer {
301
+ grid-template-columns: minmax(0, 1fr) auto;
302
+ }
303
+
304
+ .terminal-command-form .terminal-command-clear {
305
+ grid-row: 1;
306
+ grid-column: 2;
307
+ }
308
+
309
+ .terminal-command-form button[type="submit"] {
310
+ grid-column: 1 / -1;
311
+ }
312
+ }