@truedat/ai 8.4.8 → 8.4.9
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/package.json +3 -3
- package/src/api.js +2 -0
- package/src/components/StructureSuggestions.js +147 -0
- package/src/components/ThinkingOutLoud.js +157 -0
- package/src/components/__tests__/StructureSuggestions.spec.js +290 -0
- package/src/components/assistant/AssistantChat.js +245 -60
- package/src/components/assistant/__tests__/AssistantChat.spec.js +79 -0
- package/src/components/assistant/__tests__/__snapshots__/AssistantChat.spec.js.snap +34 -11
- package/src/components/index.js +2 -1
- package/src/components/structureSuggestionColumns.js +44 -0
- package/src/hooks/useAgentLayerRun.js +9 -0
- package/src/styles/assistant.less +194 -9
|
@@ -72,6 +72,12 @@
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
@keyframes assistant-think-spin {
|
|
76
|
+
to {
|
|
77
|
+
transform: rotate(360deg);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
75
81
|
@keyframes assistant-aurora-halo {
|
|
76
82
|
0% {
|
|
77
83
|
box-shadow:
|
|
@@ -163,6 +169,12 @@
|
|
|
163
169
|
|
|
164
170
|
.ui.icon {
|
|
165
171
|
margin: 0;
|
|
172
|
+
font-size: 1.35rem;
|
|
173
|
+
display: flex;
|
|
174
|
+
align-items: center;
|
|
175
|
+
justify-content: center;
|
|
176
|
+
width: 1.5rem;
|
|
177
|
+
height: 1.5rem;
|
|
166
178
|
}
|
|
167
179
|
|
|
168
180
|
&--new-chat {
|
|
@@ -203,6 +215,27 @@
|
|
|
203
215
|
flex-direction: column;
|
|
204
216
|
}
|
|
205
217
|
|
|
218
|
+
&__waiting {
|
|
219
|
+
position: absolute;
|
|
220
|
+
inset: 0;
|
|
221
|
+
z-index: 2;
|
|
222
|
+
display: flex;
|
|
223
|
+
align-items: center;
|
|
224
|
+
justify-content: center;
|
|
225
|
+
background: rgba(255, 255, 255, 0.78);
|
|
226
|
+
pointer-events: none;
|
|
227
|
+
|
|
228
|
+
&-spinner {
|
|
229
|
+
box-sizing: border-box;
|
|
230
|
+
width: 2.25rem;
|
|
231
|
+
height: 2.25rem;
|
|
232
|
+
border-radius: 50%;
|
|
233
|
+
border: 3px solid rgba(1, 60, 84, 0.12);
|
|
234
|
+
border-top-color: #013c54;
|
|
235
|
+
animation: assistant-think-spin 0.85s linear infinite;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
206
239
|
&__messages {
|
|
207
240
|
flex: 1;
|
|
208
241
|
padding: 1rem;
|
|
@@ -213,6 +246,13 @@
|
|
|
213
246
|
gap: 0.75rem;
|
|
214
247
|
}
|
|
215
248
|
|
|
249
|
+
&__messages-end {
|
|
250
|
+
flex-shrink: 0;
|
|
251
|
+
width: 100%;
|
|
252
|
+
min-height: 1px;
|
|
253
|
+
pointer-events: none;
|
|
254
|
+
}
|
|
255
|
+
|
|
216
256
|
&__scroll-to-bottom {
|
|
217
257
|
position: absolute;
|
|
218
258
|
bottom: 1rem;
|
|
@@ -222,19 +262,19 @@
|
|
|
222
262
|
padding: 0;
|
|
223
263
|
border: none;
|
|
224
264
|
border-radius: 50%;
|
|
225
|
-
background: #
|
|
265
|
+
background: #013c54;
|
|
226
266
|
color: #fff;
|
|
227
267
|
cursor: pointer;
|
|
228
268
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
|
|
229
269
|
z-index: 1;
|
|
230
270
|
|
|
231
271
|
.ui.icon {
|
|
232
|
-
margin: 0;
|
|
233
|
-
|
|
272
|
+
margin: 0 !important;
|
|
273
|
+
vertical-align: middle;
|
|
234
274
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
275
|
+
i.chevron.down.icon {
|
|
276
|
+
margin: 0 !important;
|
|
277
|
+
vertical-align: middle;
|
|
238
278
|
}
|
|
239
279
|
}
|
|
240
280
|
|
|
@@ -270,6 +310,21 @@
|
|
|
270
310
|
font-style: italic;
|
|
271
311
|
font-size: 0.8125rem;
|
|
272
312
|
}
|
|
313
|
+
|
|
314
|
+
&--error {
|
|
315
|
+
background: #fff0f0;
|
|
316
|
+
color: #9b1c1c;
|
|
317
|
+
border: 1px solid #f5c6c6;
|
|
318
|
+
font-size: 0.8125rem;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
&__message-source {
|
|
323
|
+
font-size: 0.7rem;
|
|
324
|
+
font-weight: 700;
|
|
325
|
+
letter-spacing: 0.02em;
|
|
326
|
+
opacity: 0.65;
|
|
327
|
+
margin-bottom: 0.2rem;
|
|
273
328
|
}
|
|
274
329
|
|
|
275
330
|
&__message-content {
|
|
@@ -299,33 +354,52 @@
|
|
|
299
354
|
display: flex;
|
|
300
355
|
flex-shrink: 0;
|
|
301
356
|
align-items: center;
|
|
302
|
-
gap: 0.
|
|
357
|
+
gap: 0.625rem;
|
|
303
358
|
padding: 0.35rem 0.5rem;
|
|
304
359
|
border-radius: 999px;
|
|
305
360
|
background: #f4f6f8;
|
|
361
|
+
|
|
362
|
+
&--expanded {
|
|
363
|
+
border-radius: 1.125rem;
|
|
364
|
+
|
|
365
|
+
.assistant-chat__input {
|
|
366
|
+
border-radius: 0.875rem;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
306
369
|
}
|
|
307
370
|
|
|
308
371
|
&__input {
|
|
309
372
|
flex: 1;
|
|
373
|
+
min-height: 2.25rem;
|
|
310
374
|
padding: 0.35rem 0.75rem;
|
|
311
375
|
border: none;
|
|
312
|
-
border-radius:
|
|
376
|
+
border-radius: 1rem;
|
|
313
377
|
background: transparent;
|
|
314
378
|
font-size: 0.875rem;
|
|
379
|
+
line-height: 1.4;
|
|
315
380
|
outline: none;
|
|
381
|
+
resize: none;
|
|
382
|
+
overflow-y: hidden;
|
|
316
383
|
|
|
317
384
|
&:focus {
|
|
318
385
|
border-color: #2185d0;
|
|
319
386
|
}
|
|
387
|
+
|
|
388
|
+
&:disabled {
|
|
389
|
+
cursor: not-allowed;
|
|
390
|
+
opacity: 0.55;
|
|
391
|
+
}
|
|
320
392
|
}
|
|
321
393
|
|
|
322
394
|
&__send {
|
|
323
395
|
flex-shrink: 0;
|
|
324
|
-
display:
|
|
396
|
+
display: flex;
|
|
325
397
|
align-items: center;
|
|
326
398
|
justify-content: center;
|
|
327
399
|
width: 2.25rem;
|
|
328
400
|
height: 2.25rem;
|
|
401
|
+
min-width: 2.25rem;
|
|
402
|
+
min-height: 2.25rem;
|
|
329
403
|
padding: 0;
|
|
330
404
|
border: none;
|
|
331
405
|
border-radius: 999px;
|
|
@@ -336,6 +410,15 @@
|
|
|
336
410
|
.ui.icon {
|
|
337
411
|
margin: 0;
|
|
338
412
|
}
|
|
413
|
+
i.arrow.up.icon {
|
|
414
|
+
margin: 0 !important;
|
|
415
|
+
vertical-align: middle;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
&:disabled {
|
|
419
|
+
cursor: not-allowed;
|
|
420
|
+
opacity: 0.45;
|
|
421
|
+
}
|
|
339
422
|
}
|
|
340
423
|
|
|
341
424
|
&__footer {
|
|
@@ -350,4 +433,106 @@
|
|
|
350
433
|
color: #8e8e8e;
|
|
351
434
|
text-align: center;
|
|
352
435
|
}
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
// ── thinking sections ─────────────────────────────────────────────────────────
|
|
439
|
+
|
|
440
|
+
.thinking-block {
|
|
441
|
+
align-self: stretch;
|
|
442
|
+
display: flex;
|
|
443
|
+
flex-direction: column;
|
|
444
|
+
gap: 0.3rem;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
.thinking-section {
|
|
448
|
+
border: 1px solid rgba(1, 60, 84, 0.18);
|
|
449
|
+
border-radius: 0.5rem;
|
|
450
|
+
overflow: hidden;
|
|
451
|
+
|
|
452
|
+
&__header {
|
|
453
|
+
display: flex;
|
|
454
|
+
align-items: center;
|
|
455
|
+
gap: 0.4rem;
|
|
456
|
+
padding: 0.3rem 0.65rem;
|
|
457
|
+
background: rgba(1, 60, 84, 0.07);
|
|
458
|
+
color: #013c54;
|
|
459
|
+
font-weight: 600;
|
|
460
|
+
font-size: 0.775rem;
|
|
461
|
+
cursor: pointer;
|
|
462
|
+
border: none;
|
|
463
|
+
width: 100%;
|
|
464
|
+
text-align: left;
|
|
465
|
+
|
|
466
|
+
i.arrow.up.icon {
|
|
467
|
+
margin: 0 !important;
|
|
468
|
+
vertical-align: middle;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
&__label {
|
|
473
|
+
flex: 1;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
&__spinner {
|
|
477
|
+
margin-left: auto;
|
|
478
|
+
opacity: 0.55;
|
|
479
|
+
|
|
480
|
+
&-dot {
|
|
481
|
+
display: inline-block;
|
|
482
|
+
width: 0.7rem;
|
|
483
|
+
height: 0.7rem;
|
|
484
|
+
border-radius: 50%;
|
|
485
|
+
border: 2px solid rgba(1, 60, 84, 0.25);
|
|
486
|
+
border-top-color: #013c54;
|
|
487
|
+
animation: assistant-think-spin 0.9s linear infinite;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
&__body {
|
|
492
|
+
max-height: 9rem;
|
|
493
|
+
overflow-y: auto;
|
|
494
|
+
padding: 0.4rem 0.65rem;
|
|
495
|
+
background: #f7f9fa;
|
|
496
|
+
border-top: 1px solid rgba(1, 60, 84, 0.1);
|
|
497
|
+
display: flex;
|
|
498
|
+
flex-direction: column;
|
|
499
|
+
gap: 0.1rem;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
&__item {
|
|
503
|
+
word-break: break-word;
|
|
504
|
+
line-height: 1.45;
|
|
505
|
+
font-family: monospace;
|
|
506
|
+
|
|
507
|
+
&--1 {
|
|
508
|
+
font-size: 0.775rem;
|
|
509
|
+
color: #4a4a4a;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
&--2 {
|
|
513
|
+
font-size: 0.75rem;
|
|
514
|
+
color: #666;
|
|
515
|
+
padding-left: 0.75rem;
|
|
516
|
+
border-left: 2px solid rgba(1, 60, 84, 0.2);
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
/* Same layout as --2 (rallita + sangría); text and rail in red. */
|
|
520
|
+
&--3 {
|
|
521
|
+
font-size: 0.75rem;
|
|
522
|
+
color: #9b1c1c;
|
|
523
|
+
padding-left: 0.75rem;
|
|
524
|
+
border-left: 2px solid rgba(155, 28, 28, 0.28);
|
|
525
|
+
|
|
526
|
+
.thinking-section__item-source {
|
|
527
|
+
color: #9b1c1c;
|
|
528
|
+
opacity: 0.75;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
&-source {
|
|
533
|
+
font-weight: 600;
|
|
534
|
+
color: #013c54;
|
|
535
|
+
opacity: 0.65;
|
|
536
|
+
}
|
|
537
|
+
}
|
|
353
538
|
}
|