agentgui 1.0.930 → 1.0.932

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 (128) hide show
  1. package/AGENTS.md +35 -12
  2. package/database.js +31 -2
  3. package/lib/http-handler.js +11 -25
  4. package/lib/routes-registry.js +4 -48
  5. package/lib/server-startup.js +3 -11
  6. package/lib/ws-setup.js +2 -1
  7. package/package.json +3 -3
  8. package/server.js +7 -1
  9. package/site/app/js/app.js +64 -68
  10. package/site/app/js/backend.js +1 -1
  11. package/static/lib/xstate.umd.min.js +1 -1
  12. package/lib/db-queries-chunks.js +0 -195
  13. package/lib/db-queries-chunks2.js +0 -82
  14. package/lib/db-queries-cleanup.js +0 -74
  15. package/lib/db-queries-del.js +0 -141
  16. package/lib/db-queries-events.js +0 -68
  17. package/lib/db-queries-import.js +0 -133
  18. package/lib/db-queries-messages.js +0 -102
  19. package/lib/db-queries-sessions.js +0 -112
  20. package/lib/db-queries-streams.js +0 -100
  21. package/lib/db-queries.js +0 -89
  22. package/lib/jsonl-parser.js +0 -190
  23. package/lib/jsonl-watcher.js +0 -64
  24. package/lib/routes-agent-actions.js +0 -61
  25. package/lib/routes-auth-config.js +0 -30
  26. package/lib/routes-conversations.js +0 -96
  27. package/lib/routes-debug.js +0 -119
  28. package/lib/routes-messages.js +0 -139
  29. package/lib/routes-runs.js +0 -156
  30. package/lib/routes-scripts.js +0 -135
  31. package/lib/routes-sessions.js +0 -144
  32. package/lib/routes-threads.js +0 -100
  33. package/lib/routes-util.js +0 -110
  34. package/lib/ws-handlers-conv.js +0 -138
  35. package/lib/ws-handlers-conv2.js +0 -169
  36. package/lib/ws-handlers-msg.js +0 -121
  37. package/lib/ws-handlers-queue.js +0 -56
  38. package/lib/ws-handlers-run.js +0 -182
  39. package/lib/ws-handlers-scripts.js +0 -66
  40. package/lib/ws-handlers-session.js +0 -105
  41. package/lib/ws-handlers-session2.js +0 -85
  42. package/lib/ws-legacy-handlers.js +0 -51
  43. package/static/app.js +0 -261
  44. package/static/css/app-shell.css +0 -419
  45. package/static/css/brand-bible.css +0 -591
  46. package/static/css/colors_and_type.css +0 -568
  47. package/static/css/gmail-skin.css +0 -663
  48. package/static/css/main.css +0 -4015
  49. package/static/css/tools-popup.css +0 -472
  50. package/static/index.html +0 -418
  51. package/static/js/agent-auth.js +0 -146
  52. package/static/js/app-shortcuts.js +0 -30
  53. package/static/js/audio-recorder-processor.js +0 -18
  54. package/static/js/client-agents.js +0 -155
  55. package/static/js/client-cache.js +0 -171
  56. package/static/js/client-conv.js +0 -198
  57. package/static/js/client-events.js +0 -164
  58. package/static/js/client-exec.js +0 -160
  59. package/static/js/client-helpers.js +0 -199
  60. package/static/js/client-load.js +0 -175
  61. package/static/js/client-render.js +0 -132
  62. package/static/js/client-scroll.js +0 -178
  63. package/static/js/client-status.js +0 -167
  64. package/static/js/client-streaming.js +0 -117
  65. package/static/js/client-streaming2.js +0 -116
  66. package/static/js/client-streaming3.js +0 -153
  67. package/static/js/client-streaming4.js +0 -194
  68. package/static/js/client-ui-controls.js +0 -170
  69. package/static/js/client-ui.js +0 -128
  70. package/static/js/client-ui2.js +0 -160
  71. package/static/js/client-url.js +0 -93
  72. package/static/js/client-utils.js +0 -174
  73. package/static/js/client-ws-msg.js +0 -88
  74. package/static/js/client-ws.js +0 -161
  75. package/static/js/client.js +0 -145
  76. package/static/js/codec.js +0 -4
  77. package/static/js/conv-list-machine.js +0 -145
  78. package/static/js/conv-list-renderer.js +0 -198
  79. package/static/js/conv-machine.js +0 -110
  80. package/static/js/conv-sidebar-actions.js +0 -188
  81. package/static/js/conv-sidebar-clone.js +0 -91
  82. package/static/js/conversations.js +0 -116
  83. package/static/js/dialogs-types.js +0 -111
  84. package/static/js/dialogs.js +0 -53
  85. package/static/js/event-filter-config.js +0 -36
  86. package/static/js/event-processor.js +0 -181
  87. package/static/js/features.js +0 -187
  88. package/static/js/image-loader-element.js +0 -76
  89. package/static/js/image-loader.js +0 -146
  90. package/static/js/prompt-machine.js +0 -108
  91. package/static/js/recording-machine.js +0 -49
  92. package/static/js/script-runner.js +0 -192
  93. package/static/js/state-barrier.js +0 -105
  94. package/static/js/streaming-renderer-dispatch.js +0 -144
  95. package/static/js/streaming-renderer-events.js +0 -163
  96. package/static/js/streaming-renderer-events2.js +0 -125
  97. package/static/js/streaming-renderer-params.js +0 -38
  98. package/static/js/streaming-renderer-render-misc.js +0 -107
  99. package/static/js/streaming-renderer-render.js +0 -181
  100. package/static/js/streaming-renderer-render2.js +0 -149
  101. package/static/js/streaming-renderer-render3.js +0 -142
  102. package/static/js/streaming-renderer-static.js +0 -181
  103. package/static/js/streaming-renderer-static2.js +0 -140
  104. package/static/js/streaming-renderer-stream.js +0 -170
  105. package/static/js/streaming-renderer-text.js +0 -185
  106. package/static/js/streaming-renderer-tools.js +0 -189
  107. package/static/js/streaming-renderer-tools2.js +0 -92
  108. package/static/js/streaming-renderer.js +0 -200
  109. package/static/js/syntax-highlighter-render.js +0 -72
  110. package/static/js/syntax-highlighter.js +0 -131
  111. package/static/js/terminal-machine.js +0 -51
  112. package/static/js/terminal.js +0 -178
  113. package/static/js/ui-components-rendering.js +0 -62
  114. package/static/js/ui-components.js +0 -88
  115. package/static/js/websocket-manager.js +0 -107
  116. package/static/js/ws-client.js +0 -87
  117. package/static/js/ws-core.js +0 -162
  118. package/static/js/ws-latency.js +0 -88
  119. package/static/js/ws-machine.js +0 -68
  120. package/static/lib/msgpackr.min.js +0 -2
  121. package/static/theme.js +0 -74
  122. package/static/vendor/highlight-js.css +0 -10
  123. package/static/vendor/highlight.min.js +0 -1244
  124. package/static/vendor/prism-dark.css +0 -129
  125. package/static/vendor/rippleui.css +0 -35
  126. package/static/vendor/xterm-addon-fit.min.js +0 -8
  127. package/static/vendor/xterm.css +0 -8
  128. package/static/vendor/xterm.min.js +0 -8
@@ -1,472 +0,0 @@
1
- .tools-manager-btn {
2
- background: none;
3
- border: none;
4
- color: var(--color-text-primary);
5
- cursor: pointer;
6
- padding: 0.5rem;
7
- display: flex;
8
- align-items: center;
9
- justify-content: center;
10
- border-radius: 0.375rem;
11
- transition: background-color 0.2s, color 0.2s;
12
- position: relative;
13
- }
14
-
15
- .tools-manager-btn:hover {
16
- background-color: var(--color-bg-secondary);
17
- }
18
-
19
- .tools-manager-btn svg {
20
- width: 1.25rem;
21
- height: 1.25rem;
22
- stroke-width: 2;
23
- }
24
-
25
- .tools-popup {
26
- position: fixed;
27
- inset: 0;
28
- background: rgba(0, 0, 0, 0.5);
29
- display: none;
30
- align-items: center;
31
- justify-content: center;
32
- z-index: 9999;
33
- }
34
-
35
- .tools-popup.open {
36
- display: flex;
37
- }
38
-
39
- .tools-popup-content {
40
- background: var(--color-bg-secondary);
41
- border-radius: 1rem;
42
- width: 90%;
43
- max-width: 600px;
44
- max-height: 80vh;
45
- display: flex;
46
- flex-direction: column;
47
- box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
48
- color: var(--color-text-primary);
49
- font-family: system-ui, -apple-system, sans-serif;
50
- }
51
-
52
- @media (max-width: 768px) {
53
- .tools-popup-content {
54
- max-width: 90vw;
55
- width: 100%;
56
- }
57
- }
58
-
59
- @media (max-width: 480px) {
60
- .tools-popup-content {
61
- max-width: 95vw;
62
- width: 100%;
63
- max-height: 85vh;
64
- }
65
-
66
- .tools-popup-header {
67
- flex-direction: column;
68
- align-items: flex-start;
69
- gap: 0.5rem;
70
- }
71
-
72
- .tools-popup-header-controls {
73
- width: 100%;
74
- flex-wrap: wrap;
75
- }
76
- }
77
-
78
- .tools-popup-header {
79
- display: flex;
80
- justify-content: space-between;
81
- align-items: center;
82
- padding: 0.875rem 1.25rem;
83
- flex-shrink: 0;
84
- border-bottom: 1px solid var(--color-border);
85
- gap: 0.75rem;
86
- }
87
-
88
- .tools-popup-header h2 {
89
- margin: 0;
90
- font-size: 1rem;
91
- font-weight: 700;
92
- }
93
-
94
- .tools-popup-header-controls {
95
- display: flex;
96
- align-items: center;
97
- gap: 0.75rem;
98
- flex-shrink: 0;
99
- }
100
-
101
- .tools-voice-toggle {
102
- display: flex;
103
- align-items: center;
104
- gap: 0.5rem;
105
- font-size: 0.8rem;
106
- cursor: pointer;
107
- user-select: none;
108
- }
109
-
110
- .tools-voice-toggle input {
111
- width: 0.875rem;
112
- height: 0.875rem;
113
- cursor: pointer;
114
- }
115
-
116
- .tools-voice-selector {
117
- padding: 0.35rem 0.5rem;
118
- font-size: 0.75rem;
119
- border-radius: 0.3rem;
120
- border: 1px solid var(--color-border);
121
- background: var(--color-bg-primary);
122
- color: var(--color-text-primary);
123
- cursor: pointer;
124
- transition: border-color 0.2s;
125
- }
126
-
127
- .tools-voice-selector:hover {
128
- border-color: var(--color-primary);
129
- }
130
-
131
- .tools-voice-selector:focus {
132
- outline: none;
133
- border-color: var(--color-primary);
134
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
135
- }
136
-
137
- .tools-popup-close {
138
- background: none;
139
- border: none;
140
- color: var(--color-text-secondary);
141
- font-size: 1.5rem;
142
- cursor: pointer;
143
- padding: 0;
144
- line-height: 1;
145
- transition: color 0.2s;
146
- }
147
-
148
- .tools-popup-close:hover {
149
- color: var(--color-text-primary);
150
- }
151
-
152
- .tools-popup-scroll {
153
- flex: 1;
154
- overflow-y: auto;
155
- padding: 1rem;
156
- display: grid;
157
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
158
- gap: 1rem;
159
- }
160
-
161
- @media (max-width: 768px) {
162
- .tools-popup-scroll {
163
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
164
- }
165
- }
166
-
167
- @media (max-width: 480px) {
168
- .tools-popup-scroll {
169
- grid-template-columns: 1fr;
170
- }
171
- }
172
-
173
- .tools-popup-scroll::-webkit-scrollbar {
174
- width: 0.5rem;
175
- }
176
-
177
- .tools-popup-scroll::-webkit-scrollbar-track {
178
- background: transparent;
179
- }
180
-
181
- .tools-popup-scroll::-webkit-scrollbar-thumb {
182
- background: var(--color-border);
183
- border-radius: 0.25rem;
184
- }
185
-
186
- .tools-popup-scroll::-webkit-scrollbar-thumb:hover {
187
- background: var(--color-text-secondary);
188
- }
189
-
190
- .tool-item {
191
- padding: 0.75rem;
192
- border: 1px solid var(--color-border);
193
- border-radius: 0.5rem;
194
- background: var(--color-bg-primary);
195
- display: flex;
196
- flex-direction: column;
197
- gap: 0.375rem;
198
- transition: border-color 0.2s, background-color 0.2s;
199
- min-height: 120px;
200
- justify-content: space-between;
201
- }
202
-
203
- .tool-item:hover {
204
- border-color: var(--color-primary);
205
- background: var(--color-bg-secondary);
206
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
207
- }
208
-
209
- .tool-header {
210
- display: flex;
211
- align-items: flex-start;
212
- gap: 0.5rem;
213
- justify-content: space-between;
214
- flex-wrap: wrap;
215
- }
216
-
217
- .tool-name {
218
- font-weight: 600;
219
- font-size: 0.9rem;
220
- flex: 1;
221
- word-break: break-word;
222
- }
223
-
224
- .tool-status-indicator {
225
- display: inline-flex;
226
- align-items: center;
227
- gap: 0.25rem;
228
- font-size: 0.7rem;
229
- padding: 0.2rem 0.4rem;
230
- border-radius: 0.25rem;
231
- background: var(--color-bg-tertiary);
232
- color: var(--color-text-secondary);
233
- white-space: nowrap;
234
- flex-shrink: 0;
235
- }
236
-
237
- .tool-status-indicator.installed {
238
- background: rgba(16, 185, 129, 0.15);
239
- color: #10b981;
240
- }
241
-
242
- .tool-status-indicator.not-installed {
243
- background: rgba(107, 114, 128, 0.15);
244
- color: #9ca3af;
245
- }
246
-
247
- .tool-status-indicator.installing {
248
- background: rgba(59, 130, 246, 0.15);
249
- color: #3b82f6;
250
- }
251
-
252
- .tool-status-indicator.updating {
253
- background: rgba(245, 158, 11, 0.15);
254
- color: #f59e0b;
255
- }
256
-
257
- .tool-status-indicator.failed {
258
- background: rgba(239, 68, 68, 0.15);
259
- color: #ef4444;
260
- }
261
-
262
- .tool-status-dot {
263
- width: 0.375rem;
264
- height: 0.375rem;
265
- border-radius: 50%;
266
- background: currentColor;
267
- display: inline-block;
268
- }
269
-
270
- .tool-details {
271
- font-size: 0.7rem;
272
- color: var(--color-text-secondary);
273
- display: none;
274
- align-items: center;
275
- gap: 0.5rem;
276
- line-height: 1.3;
277
- max-height: 2.6em;
278
- overflow: hidden;
279
- }
280
-
281
- .tool-progress-container {
282
- display: flex;
283
- flex-direction: column;
284
- gap: 0.15rem;
285
- margin-top: 0.25rem;
286
- }
287
-
288
- .tool-progress-bar {
289
- width: 100%;
290
- height: 0.25rem;
291
- background: var(--color-bg-tertiary);
292
- border-radius: 0.125rem;
293
- overflow: hidden;
294
- }
295
-
296
- .tool-progress-fill {
297
- height: 100%;
298
- background: linear-gradient(90deg, #3b82f6, #2563eb);
299
- width: 0%;
300
- transition: width 0.3s ease;
301
- border-radius: 0.125rem;
302
- }
303
-
304
- .tool-progress-text {
305
- font-size: 0.65rem;
306
- color: var(--color-text-secondary);
307
- }
308
-
309
- .tool-actions {
310
- display: flex;
311
- gap: 0.4rem;
312
- flex-wrap: wrap;
313
- margin-top: 0.25rem;
314
- }
315
-
316
- .tool-btn {
317
- padding: 0.35rem 0.65rem;
318
- border: none;
319
- border-radius: 0.3rem;
320
- cursor: pointer;
321
- font-size: 0.7rem;
322
- font-weight: 600;
323
- transition: all 0.2s;
324
- flex: 1;
325
- min-width: 60px;
326
- white-space: nowrap;
327
- }
328
-
329
- .tool-btn:disabled {
330
- opacity: 0.6;
331
- cursor: not-allowed;
332
- }
333
-
334
- .tool-btn-primary {
335
- background: var(--color-primary);
336
- color: white;
337
- }
338
-
339
- .tool-btn-primary:hover:not(:disabled) {
340
- background: var(--color-primary-dark);
341
- transform: translateY(-0.0625rem);
342
- }
343
-
344
- .tool-btn-secondary {
345
- background: transparent;
346
- color: var(--color-text-primary);
347
- border: 1px solid var(--color-border);
348
- }
349
-
350
- .tool-btn-secondary:hover:not(:disabled) {
351
- background: var(--color-bg-tertiary);
352
- border-color: var(--color-primary);
353
- }
354
-
355
- .tool-error-message {
356
- font-size: 0.65rem;
357
- color: #ef4444;
358
- background: rgba(239, 68, 68, 0.1);
359
- padding: 0.375rem;
360
- border-radius: 0.25rem;
361
- border-left: 2px solid #ef4444;
362
- overflow: hidden;
363
- text-overflow: ellipsis;
364
- max-height: 1.5em;
365
- }
366
-
367
- .tools-popup-footer {
368
- padding: 1rem 1.5rem;
369
- border-top: 1px solid var(--color-border);
370
- flex-shrink: 0;
371
- display: flex;
372
- justify-content: flex-end;
373
- gap: 0.75rem;
374
- }
375
-
376
- .tools-popup-refresh-btn {
377
- padding: 0.625rem 1rem;
378
- background: var(--color-primary);
379
- color: white;
380
- border: none;
381
- border-radius: 0.375rem;
382
- cursor: pointer;
383
- font-size: 0.8rem;
384
- font-weight: 600;
385
- transition: all 0.2s;
386
- }
387
-
388
- .tools-popup-refresh-btn:hover:not(:disabled) {
389
- background: var(--color-primary-dark);
390
- transform: translateY(-0.0625rem);
391
- }
392
-
393
- .tools-popup-refresh-btn:disabled {
394
- opacity: 0.6;
395
- cursor: not-allowed;
396
- }
397
-
398
- .tool-empty-state {
399
- padding: 2rem 1rem;
400
- text-align: center;
401
- color: var(--color-text-secondary);
402
- }
403
-
404
- .tool-empty-state-icon {
405
- font-size: 2.5rem;
406
- margin-bottom: 0.75rem;
407
- opacity: 0.5;
408
- }
409
-
410
- .tool-empty-state-text {
411
- font-size: 0.875rem;
412
- margin-bottom: 0.5rem;
413
- }
414
-
415
- .tool-versions {
416
- display: flex;
417
- flex-direction: column;
418
- gap: 0.15rem;
419
- font-size: 0.65rem;
420
- color: var(--color-text-secondary);
421
- background: transparent;
422
- padding: 0;
423
- border-radius: 0.25rem;
424
- line-height: 1.3;
425
- }
426
-
427
- .tool-version-item {
428
- display: flex;
429
- align-items: center;
430
- gap: 0.25rem;
431
- overflow: hidden;
432
- text-overflow: ellipsis;
433
- }
434
-
435
- .tool-version-item strong {
436
- color: var(--color-text-primary);
437
- font-weight: 600;
438
- }
439
-
440
- .tools-popup-update-btn {
441
- padding: 0.625rem 1rem;
442
- background: var(--color-success);
443
- color: white;
444
- border: none;
445
- border-radius: 0.375rem;
446
- cursor: pointer;
447
- font-size: 0.8rem;
448
- font-weight: 600;
449
- transition: all 0.2s;
450
- }
451
-
452
- .tools-popup-update-btn:hover:not(:disabled) {
453
- background: #059669;
454
- transform: translateY(-0.0625rem);
455
- }
456
-
457
- .tools-popup-update-btn:disabled {
458
- opacity: 0.6;
459
- cursor: not-allowed;
460
- }
461
-
462
- .tool-section-header {
463
- grid-column: 1 / -1;
464
- font-size: 0.7rem;
465
- font-weight: 600;
466
- text-transform: uppercase;
467
- letter-spacing: 0.05em;
468
- color: var(--color-text-secondary);
469
- padding: 0.5rem 0 0.25rem;
470
- border-bottom: 1px solid var(--color-border);
471
- margin-bottom: 0.25rem;
472
- }