@qfei-design/make-ai-assistant 0.2.10 → 0.2.12
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/PUBLIC_API.md +2 -2
- package/README.md +5 -6
- package/dist/make-app.cjs +1 -1
- package/dist/make-app.d.ts +1 -1
- package/dist/make-app.mjs +418 -416
- package/dist/react/conversation-controls.d.ts +6 -1
- package/dist/react/use-attachments.d.ts +8 -1
- package/dist/react.cjs +4 -4
- package/dist/react.mjs +1437 -1399
- package/dist/styles.css +363 -113
- package/docs/make-app-integration.md +4 -4
- package/examples/make-app/README.md +1 -1
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -283,8 +283,8 @@
|
|
|
283
283
|
background: var(--make-ai-internal-bg);
|
|
284
284
|
border-bottom: 1px solid var(--make-ai-internal-border);
|
|
285
285
|
display: grid;
|
|
286
|
-
gap:
|
|
287
|
-
grid-template-columns:
|
|
286
|
+
gap: 10px;
|
|
287
|
+
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
288
288
|
grid-row: 1;
|
|
289
289
|
height: var(--make-ai-internal-header-height);
|
|
290
290
|
min-height: var(--make-ai-internal-header-height);
|
|
@@ -327,6 +327,7 @@
|
|
|
327
327
|
|
|
328
328
|
.make-ai-assistant__avatar svg,
|
|
329
329
|
.make-ai-assistant__icon-button svg,
|
|
330
|
+
.make-ai-assistant__task-list-trigger svg,
|
|
330
331
|
.make-ai-assistant__send svg {
|
|
331
332
|
fill: none;
|
|
332
333
|
height: 20px;
|
|
@@ -359,110 +360,78 @@
|
|
|
359
360
|
align-items: center;
|
|
360
361
|
display: flex;
|
|
361
362
|
gap: 2px;
|
|
363
|
+
justify-self: end;
|
|
364
|
+
min-width: 0;
|
|
362
365
|
}
|
|
363
366
|
|
|
364
|
-
.make-ai-assistant__header-
|
|
365
|
-
|
|
366
|
-
.make-ai-assistant__header-context {
|
|
367
|
+
.make-ai-assistant__header-leading {
|
|
368
|
+
justify-self: start;
|
|
367
369
|
min-width: 0;
|
|
368
370
|
}
|
|
369
371
|
|
|
370
|
-
.make-ai-assistant__header-
|
|
371
|
-
.make-ai-assistant__header-context {
|
|
372
|
+
.make-ai-assistant__header-center {
|
|
372
373
|
align-items: center;
|
|
373
374
|
display: flex;
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
.make-ai-assistant__header-title-row {
|
|
377
375
|
gap: 8px;
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
.make-ai-assistant__header-title {
|
|
381
|
-
flex: 0 1 auto;
|
|
376
|
+
justify-self: center;
|
|
377
|
+
max-width: min(100%, 310px);
|
|
382
378
|
min-width: 0;
|
|
383
|
-
overflow: hidden;
|
|
384
|
-
text-overflow: ellipsis;
|
|
385
|
-
white-space: nowrap;
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
.make-ai-assistant__read-only-tag {
|
|
389
|
-
background: color-mix(in srgb, var(--make-ai-internal-accent) 10%, var(--make-ai-internal-bg));
|
|
390
|
-
border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 24%, var(--make-ai-internal-border));
|
|
391
|
-
border-radius: 5px;
|
|
392
|
-
color: color-mix(in srgb, var(--make-ai-internal-accent) 82%, var(--make-ai-internal-text));
|
|
393
|
-
flex: 0 0 auto;
|
|
394
|
-
font-size: var(--make-ai-internal-font-size-caption);
|
|
395
|
-
font-weight: 650;
|
|
396
|
-
line-height: var(--make-ai-internal-line-height-caption);
|
|
397
|
-
padding: 0 5px;
|
|
398
379
|
}
|
|
399
380
|
|
|
400
|
-
.make-ai-assistant__header-
|
|
401
|
-
|
|
402
|
-
|
|
381
|
+
.make-ai-assistant__header-center > .make-ai-assistant__avatar {
|
|
382
|
+
border-radius: 50%;
|
|
383
|
+
height: 30px;
|
|
384
|
+
width: 30px;
|
|
403
385
|
}
|
|
404
386
|
|
|
405
|
-
.make-ai-assistant__header-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
text-overflow: ellipsis;
|
|
409
|
-
white-space: nowrap;
|
|
387
|
+
.make-ai-assistant__header-center > .make-ai-assistant__avatar svg {
|
|
388
|
+
height: 17px;
|
|
389
|
+
width: 17px;
|
|
410
390
|
}
|
|
411
391
|
|
|
412
|
-
.make-ai-
|
|
392
|
+
.make-ai-assistant__task-list-trigger {
|
|
413
393
|
align-items: center;
|
|
414
|
-
|
|
415
|
-
|
|
394
|
+
background: var(--make-ai-internal-surface-strong);
|
|
395
|
+
border: 0;
|
|
396
|
+
border-radius: 9px;
|
|
397
|
+
color: var(--make-ai-internal-text-secondary);
|
|
416
398
|
cursor: pointer;
|
|
417
399
|
display: inline-flex;
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
width:
|
|
400
|
+
font-size: var(--make-ai-internal-font-size-caption);
|
|
401
|
+
gap: 6px;
|
|
402
|
+
height: 34px;
|
|
403
|
+
max-width: 118px;
|
|
404
|
+
padding: 0 8px;
|
|
405
|
+
white-space: nowrap;
|
|
422
406
|
}
|
|
423
407
|
|
|
424
|
-
.make-ai-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
stroke-linecap: round;
|
|
429
|
-
stroke-linejoin: round;
|
|
430
|
-
stroke-width: 1.8;
|
|
431
|
-
width: 14px;
|
|
408
|
+
.make-ai-assistant__task-list-trigger:hover,
|
|
409
|
+
.make-ai-assistant__task-list-trigger[aria-expanded="true"] {
|
|
410
|
+
background: color-mix(in srgb, var(--make-ai-internal-accent) 8%, var(--make-ai-internal-surface-strong));
|
|
411
|
+
color: var(--make-ai-internal-text);
|
|
432
412
|
}
|
|
433
413
|
|
|
434
|
-
.make-ai-
|
|
435
|
-
|
|
436
|
-
|
|
414
|
+
.make-ai-assistant__task-list-trigger svg:first-child {
|
|
415
|
+
height: 19px;
|
|
416
|
+
width: 19px;
|
|
437
417
|
}
|
|
438
418
|
|
|
439
|
-
.make-ai-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
color: var(--make-ai-internal-on-overlay);
|
|
444
|
-
font-size: var(--make-ai-internal-font-size-meta);
|
|
445
|
-
font-weight: 500;
|
|
446
|
-
line-height: var(--make-ai-internal-line-height-meta);
|
|
447
|
-
max-height: calc(100vh - 32px);
|
|
448
|
-
max-width: min(280px, calc(100vw - 32px));
|
|
449
|
-
opacity: 0;
|
|
450
|
-
overflow: auto;
|
|
451
|
-
padding: 7px 8px;
|
|
452
|
-
pointer-events: none;
|
|
453
|
-
position: fixed;
|
|
454
|
-
transform: translateY(-2px);
|
|
455
|
-
transition: opacity 120ms ease, transform 120ms ease;
|
|
456
|
-
visibility: hidden;
|
|
457
|
-
white-space: normal;
|
|
458
|
-
width: max-content;
|
|
459
|
-
z-index: calc(var(--make-ai-internal-z-index) + 1);
|
|
419
|
+
.make-ai-assistant__task-list-trigger svg:last-child {
|
|
420
|
+
height: 15px;
|
|
421
|
+
transition: transform 160ms ease;
|
|
422
|
+
width: 15px;
|
|
460
423
|
}
|
|
461
424
|
|
|
462
|
-
.make-ai-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
425
|
+
.make-ai-assistant__task-list-trigger[aria-expanded="true"] svg:last-child {
|
|
426
|
+
transform: rotate(180deg);
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.make-ai-assistant__header-title {
|
|
430
|
+
flex: 0 1 auto;
|
|
431
|
+
min-width: 0;
|
|
432
|
+
overflow: hidden;
|
|
433
|
+
text-overflow: ellipsis;
|
|
434
|
+
white-space: nowrap;
|
|
466
435
|
}
|
|
467
436
|
|
|
468
437
|
.make-ai-assistant__body {
|
|
@@ -1260,14 +1229,15 @@
|
|
|
1260
1229
|
}
|
|
1261
1230
|
|
|
1262
1231
|
.make-ai-assistant__composer {
|
|
1263
|
-
align-items: flex-end;
|
|
1264
1232
|
background: var(--make-ai-internal-surface);
|
|
1265
1233
|
border: 1px solid var(--make-ai-internal-border);
|
|
1266
1234
|
border-radius: 15px;
|
|
1267
|
-
display:
|
|
1268
|
-
gap:
|
|
1269
|
-
|
|
1270
|
-
|
|
1235
|
+
display: grid;
|
|
1236
|
+
gap: 7px 10px;
|
|
1237
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
1238
|
+
grid-template-rows: minmax(46px, auto) 36px;
|
|
1239
|
+
min-height: 96px;
|
|
1240
|
+
padding: 10px 10px 8px;
|
|
1271
1241
|
transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
|
|
1272
1242
|
}
|
|
1273
1243
|
|
|
@@ -1285,10 +1255,12 @@
|
|
|
1285
1255
|
color: var(--make-ai-internal-text);
|
|
1286
1256
|
font-size: var(--make-ai-internal-font-size-body);
|
|
1287
1257
|
line-height: var(--make-ai-internal-line-height-body);
|
|
1288
|
-
|
|
1289
|
-
|
|
1258
|
+
grid-column: 1 / -1;
|
|
1259
|
+
grid-row: 1;
|
|
1260
|
+
max-height: 128px;
|
|
1261
|
+
min-height: 46px;
|
|
1290
1262
|
outline: 0;
|
|
1291
|
-
padding:
|
|
1263
|
+
padding: 2px 5px;
|
|
1292
1264
|
resize: none;
|
|
1293
1265
|
width: 100%;
|
|
1294
1266
|
}
|
|
@@ -1312,12 +1284,20 @@
|
|
|
1312
1284
|
flex: 0 0 auto;
|
|
1313
1285
|
height: 34px;
|
|
1314
1286
|
justify-content: center;
|
|
1315
|
-
margin-bottom: 2px;
|
|
1316
1287
|
position: relative;
|
|
1317
1288
|
transition: background 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
|
|
1318
1289
|
width: 34px;
|
|
1319
1290
|
}
|
|
1320
1291
|
|
|
1292
|
+
.make-ai-assistant__composer-actions {
|
|
1293
|
+
align-items: center;
|
|
1294
|
+
display: flex;
|
|
1295
|
+
gap: 7px;
|
|
1296
|
+
grid-column: 2;
|
|
1297
|
+
grid-row: 2;
|
|
1298
|
+
justify-self: end;
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1321
1301
|
.make-ai-assistant__send::before {
|
|
1322
1302
|
content: "";
|
|
1323
1303
|
inset: -5px;
|
|
@@ -1555,11 +1535,30 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
|
|
|
1555
1535
|
|
|
1556
1536
|
@container (max-width: 360px) {
|
|
1557
1537
|
.make-ai-assistant__header {
|
|
1558
|
-
gap:
|
|
1559
|
-
grid-template-columns: auto minmax(0, 1fr)
|
|
1538
|
+
gap: 6px;
|
|
1539
|
+
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
1560
1540
|
padding: 7px var(--make-ai-internal-panel-gutter-compact);
|
|
1561
1541
|
}
|
|
1562
1542
|
|
|
1543
|
+
.make-ai-assistant__task-list-trigger {
|
|
1544
|
+
max-width: 34px;
|
|
1545
|
+
padding: 0 8px;
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
.make-ai-assistant__task-list-trigger > span,
|
|
1549
|
+
.make-ai-assistant__task-list-trigger svg:last-child {
|
|
1550
|
+
display: none;
|
|
1551
|
+
}
|
|
1552
|
+
|
|
1553
|
+
.make-ai-assistant__header-center {
|
|
1554
|
+
gap: 6px;
|
|
1555
|
+
}
|
|
1556
|
+
|
|
1557
|
+
.make-ai-assistant__header-center > .make-ai-assistant__avatar {
|
|
1558
|
+
height: 26px;
|
|
1559
|
+
width: 26px;
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1563
1562
|
.make-ai-assistant__body {
|
|
1564
1563
|
padding: 16px var(--make-ai-internal-panel-gutter-compact) 24px;
|
|
1565
1564
|
}
|
|
@@ -1739,29 +1738,171 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
|
|
|
1739
1738
|
}
|
|
1740
1739
|
|
|
1741
1740
|
.make-ai-assistant__conversation-controls {
|
|
1742
|
-
|
|
1743
|
-
|
|
1741
|
+
background: var(--make-ai-internal-surface);
|
|
1742
|
+
border: 1px solid var(--make-ai-internal-border);
|
|
1743
|
+
border-radius: 12px;
|
|
1744
|
+
box-shadow: 0 14px 34px color-mix(in srgb, var(--make-ai-internal-text) 12%, transparent);
|
|
1744
1745
|
font-size: var(--make-ai-internal-font-size-meta);
|
|
1745
|
-
|
|
1746
|
+
left: var(--make-ai-internal-panel-gutter);
|
|
1747
|
+
max-height: min(430px, calc(100% - var(--make-ai-internal-header-height) - 24px));
|
|
1746
1748
|
overflow: auto;
|
|
1747
|
-
padding: 8px
|
|
1749
|
+
padding: 12px 8px 8px;
|
|
1750
|
+
position: absolute;
|
|
1751
|
+
top: calc(var(--make-ai-internal-header-height) + 3px);
|
|
1752
|
+
width: min(300px, calc(100% - var(--make-ai-internal-panel-gutter) * 2));
|
|
1753
|
+
z-index: calc(var(--make-ai-internal-z-index) + 1);
|
|
1748
1754
|
}
|
|
1749
|
-
|
|
1750
|
-
.make-ai-assistant__panel--managed
|
|
1751
|
-
|
|
1752
|
-
|
|
1755
|
+
|
|
1756
|
+
.make-ai-assistant__panel--managed {
|
|
1757
|
+
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
1758
|
+
}
|
|
1759
|
+
|
|
1753
1760
|
.make-ai-assistant__response-status { color: var(--make-ai-internal-text-secondary); font-size: var(--make-ai-internal-font-size-meta); }
|
|
1754
1761
|
|
|
1755
|
-
.make-ai-assistant__conversation-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1762
|
+
.make-ai-assistant__conversation-heading {
|
|
1763
|
+
align-items: center;
|
|
1764
|
+
color: var(--make-ai-internal-text-secondary);
|
|
1765
|
+
display: flex;
|
|
1766
|
+
font-size: var(--make-ai-internal-font-size-caption);
|
|
1767
|
+
justify-content: space-between;
|
|
1768
|
+
letter-spacing: .02em;
|
|
1769
|
+
min-height: 26px;
|
|
1770
|
+
padding: 0 7px 6px;
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1773
|
+
.make-ai-assistant__conversation-list {
|
|
1774
|
+
max-height: 220px;
|
|
1775
|
+
overflow: auto;
|
|
1776
|
+
overscroll-behavior: contain;
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
.make-ai-assistant__conversation-list > p {
|
|
1780
|
+
color: var(--make-ai-internal-text-secondary);
|
|
1781
|
+
margin: 16px 8px;
|
|
1782
|
+
text-align: center;
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
.make-ai-assistant__conversation-row {
|
|
1786
|
+
align-items: center;
|
|
1787
|
+
display: flex;
|
|
1788
|
+
gap: 2px;
|
|
1789
|
+
min-width: 0;
|
|
1790
|
+
}
|
|
1791
|
+
|
|
1792
|
+
.make-ai-assistant__conversation-row > button:first-child {
|
|
1793
|
+
align-items: center;
|
|
1794
|
+
border-color: transparent;
|
|
1795
|
+
display: flex;
|
|
1796
|
+
flex: 1;
|
|
1797
|
+
gap: 8px;
|
|
1798
|
+
min-height: 36px;
|
|
1799
|
+
min-width: 0;
|
|
1800
|
+
overflow: hidden;
|
|
1801
|
+
padding: 0 8px;
|
|
1802
|
+
text-align: left;
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
.make-ai-assistant__conversation-row > button:first-child svg,
|
|
1806
|
+
.make-ai-assistant__conversation-new svg {
|
|
1807
|
+
fill: none;
|
|
1808
|
+
flex: 0 0 auto;
|
|
1809
|
+
height: 16px;
|
|
1810
|
+
stroke: currentColor;
|
|
1811
|
+
stroke-linecap: round;
|
|
1812
|
+
stroke-linejoin: round;
|
|
1813
|
+
stroke-width: 1.7;
|
|
1814
|
+
width: 16px;
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1817
|
+
.make-ai-assistant__conversation-row > button:first-child span {
|
|
1818
|
+
min-width: 0;
|
|
1819
|
+
overflow: hidden;
|
|
1820
|
+
text-overflow: ellipsis;
|
|
1821
|
+
white-space: nowrap;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
.make-ai-assistant__conversation-row > button[aria-pressed="true"] {
|
|
1825
|
+
background: var(--make-ai-internal-accent-soft);
|
|
1826
|
+
color: var(--make-ai-internal-accent);
|
|
1827
|
+
}
|
|
1828
|
+
|
|
1829
|
+
.make-ai-assistant__conversation-row > button:last-child {
|
|
1830
|
+
background: transparent;
|
|
1831
|
+
border-color: transparent;
|
|
1832
|
+
color: var(--make-ai-internal-text-secondary);
|
|
1833
|
+
flex: 0 0 auto;
|
|
1834
|
+
height: 30px;
|
|
1835
|
+
padding: 0;
|
|
1836
|
+
width: 30px;
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
.make-ai-assistant__conversation-more,
|
|
1840
|
+
.make-ai-assistant__conversation-refresh {
|
|
1841
|
+
background: transparent !important;
|
|
1842
|
+
border-color: transparent !important;
|
|
1843
|
+
color: var(--make-ai-internal-text-secondary) !important;
|
|
1844
|
+
}
|
|
1845
|
+
|
|
1846
|
+
.make-ai-assistant__conversation-more {
|
|
1847
|
+
margin-top: 4px;
|
|
1848
|
+
width: 100%;
|
|
1849
|
+
}
|
|
1850
|
+
|
|
1851
|
+
.make-ai-assistant__conversation-management {
|
|
1852
|
+
border-top: 1px solid var(--make-ai-internal-border);
|
|
1853
|
+
margin-top: 8px;
|
|
1854
|
+
padding: 8px 7px 0;
|
|
1855
|
+
}
|
|
1856
|
+
|
|
1857
|
+
.make-ai-assistant__conversation-management summary {
|
|
1858
|
+
color: var(--make-ai-internal-text-secondary);
|
|
1859
|
+
cursor: pointer;
|
|
1860
|
+
}
|
|
1861
|
+
|
|
1862
|
+
.make-ai-assistant__conversation-actions {
|
|
1863
|
+
align-items: center;
|
|
1864
|
+
display: flex;
|
|
1865
|
+
flex-wrap: wrap;
|
|
1866
|
+
gap: 6px;
|
|
1867
|
+
padding-top: 8px;
|
|
1868
|
+
}
|
|
1869
|
+
|
|
1870
|
+
.make-ai-assistant__conversation-actions input {
|
|
1871
|
+
flex: 1;
|
|
1872
|
+
min-width: 100px;
|
|
1873
|
+
}
|
|
1874
|
+
|
|
1875
|
+
.make-ai-assistant__conversation-error {
|
|
1876
|
+
color: var(--make-ai-internal-danger);
|
|
1877
|
+
display: grid;
|
|
1878
|
+
gap: 6px;
|
|
1879
|
+
padding: 8px 7px 0;
|
|
1880
|
+
}
|
|
1881
|
+
|
|
1882
|
+
.make-ai-assistant__conversation-new {
|
|
1883
|
+
align-items: center;
|
|
1884
|
+
background: transparent !important;
|
|
1885
|
+
border-color: transparent !important;
|
|
1886
|
+
border-radius: 8px !important;
|
|
1887
|
+
border-top: 1px solid var(--make-ai-internal-border) !important;
|
|
1888
|
+
color: var(--make-ai-internal-accent) !important;
|
|
1889
|
+
display: flex;
|
|
1890
|
+
font-weight: 650 !important;
|
|
1891
|
+
gap: 8px;
|
|
1892
|
+
justify-content: flex-start;
|
|
1893
|
+
margin-top: 8px;
|
|
1894
|
+
min-height: 40px;
|
|
1895
|
+
padding: 8px !important;
|
|
1896
|
+
width: 100%;
|
|
1897
|
+
}
|
|
1898
|
+
|
|
1899
|
+
.make-ai-assistant__conversation-new:hover {
|
|
1900
|
+
background: var(--make-ai-internal-accent-soft) !important;
|
|
1901
|
+
}
|
|
1902
|
+
|
|
1761
1903
|
.make-ai-assistant__conversation-controls button,
|
|
1762
1904
|
.make-ai-assistant__feedback button,
|
|
1763
|
-
.make-ai-assistant__attachment button
|
|
1764
|
-
.make-ai-assistant__attachment-composer button {
|
|
1905
|
+
.make-ai-assistant__attachment button {
|
|
1765
1906
|
background: var(--make-ai-internal-surface);
|
|
1766
1907
|
border: 1px solid var(--make-ai-internal-border);
|
|
1767
1908
|
border-radius: 6px;
|
|
@@ -1780,14 +1921,120 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
|
|
|
1780
1921
|
.make-ai-assistant__attachment img,
|
|
1781
1922
|
.make-ai-assistant__attachment video { max-height: 260px; max-width: 100%; object-fit: contain; }
|
|
1782
1923
|
.make-ai-assistant__attachment audio { max-width: 100%; }
|
|
1783
|
-
|
|
1784
|
-
.make-ai-assistant__attachment-composer
|
|
1785
|
-
|
|
1786
|
-
|
|
1924
|
+
|
|
1925
|
+
.make-ai-assistant__attachment-composer {
|
|
1926
|
+
align-self: center;
|
|
1927
|
+
font-size: var(--make-ai-internal-font-size-meta);
|
|
1928
|
+
grid-column: 1;
|
|
1929
|
+
grid-row: 2;
|
|
1930
|
+
justify-self: start;
|
|
1931
|
+
position: relative;
|
|
1932
|
+
}
|
|
1933
|
+
|
|
1934
|
+
.make-ai-assistant__attachment-trigger {
|
|
1935
|
+
align-items: center;
|
|
1936
|
+
background: transparent;
|
|
1937
|
+
border: 1px solid transparent;
|
|
1938
|
+
border-radius: 50%;
|
|
1939
|
+
color: var(--make-ai-internal-text-secondary);
|
|
1940
|
+
cursor: pointer;
|
|
1941
|
+
display: flex;
|
|
1942
|
+
height: 34px;
|
|
1943
|
+
justify-content: center;
|
|
1944
|
+
padding: 0;
|
|
1945
|
+
width: 34px;
|
|
1946
|
+
}
|
|
1947
|
+
|
|
1948
|
+
.make-ai-assistant__attachment-trigger:hover,
|
|
1949
|
+
.make-ai-assistant__attachment-trigger[aria-expanded="true"] {
|
|
1950
|
+
background: var(--make-ai-internal-surface-strong);
|
|
1951
|
+
border-color: color-mix(in srgb, var(--make-ai-internal-accent) 24%, var(--make-ai-internal-border));
|
|
1952
|
+
color: var(--make-ai-internal-text);
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
.make-ai-assistant__attachment-trigger svg,
|
|
1956
|
+
.make-ai-assistant__attachment-menu svg {
|
|
1957
|
+
fill: none;
|
|
1958
|
+
height: 18px;
|
|
1959
|
+
stroke: currentColor;
|
|
1960
|
+
stroke-linecap: round;
|
|
1961
|
+
stroke-linejoin: round;
|
|
1962
|
+
stroke-width: 1.7;
|
|
1963
|
+
width: 18px;
|
|
1964
|
+
}
|
|
1965
|
+
|
|
1966
|
+
.make-ai-assistant__attachment-menu {
|
|
1967
|
+
background: var(--make-ai-internal-surface);
|
|
1968
|
+
border: 1px solid var(--make-ai-internal-border);
|
|
1969
|
+
border-radius: 10px;
|
|
1970
|
+
bottom: calc(100% + 8px);
|
|
1971
|
+
box-shadow: 0 12px 28px color-mix(in srgb, var(--make-ai-internal-text) 12%, transparent);
|
|
1972
|
+
left: 0;
|
|
1973
|
+
min-width: 168px;
|
|
1974
|
+
padding: 5px;
|
|
1975
|
+
position: absolute;
|
|
1976
|
+
z-index: calc(var(--make-ai-internal-z-index) + 2);
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1979
|
+
.make-ai-assistant__attachment-menu button {
|
|
1980
|
+
align-items: center;
|
|
1981
|
+
background: transparent;
|
|
1982
|
+
border: 0;
|
|
1983
|
+
border-radius: 7px;
|
|
1984
|
+
color: var(--make-ai-internal-text);
|
|
1985
|
+
cursor: pointer;
|
|
1986
|
+
display: flex;
|
|
1987
|
+
gap: 9px;
|
|
1988
|
+
min-height: 38px;
|
|
1989
|
+
padding: 0 10px;
|
|
1990
|
+
text-align: left;
|
|
1991
|
+
width: 100%;
|
|
1992
|
+
}
|
|
1993
|
+
|
|
1994
|
+
.make-ai-assistant__attachment-menu button:hover {
|
|
1995
|
+
background: var(--make-ai-internal-surface-strong);
|
|
1996
|
+
}
|
|
1997
|
+
|
|
1998
|
+
.make-ai-assistant__attachment-drafts {
|
|
1999
|
+
font-size: var(--make-ai-internal-font-size-meta);
|
|
2000
|
+
max-height: 140px;
|
|
2001
|
+
overflow: auto;
|
|
2002
|
+
padding-bottom: 8px;
|
|
2003
|
+
}
|
|
2004
|
+
|
|
2005
|
+
.make-ai-assistant__attachment-drafts ul {
|
|
2006
|
+
display: flex;
|
|
2007
|
+
flex-wrap: wrap;
|
|
2008
|
+
gap: 6px;
|
|
2009
|
+
list-style: none;
|
|
2010
|
+
margin: 0;
|
|
2011
|
+
padding: 0;
|
|
2012
|
+
}
|
|
2013
|
+
|
|
2014
|
+
.make-ai-assistant__attachment-drafts li {
|
|
2015
|
+
align-items: center;
|
|
2016
|
+
background: var(--make-ai-internal-surface);
|
|
2017
|
+
border: 1px solid var(--make-ai-internal-border);
|
|
2018
|
+
border-radius: 8px;
|
|
2019
|
+
display: flex;
|
|
2020
|
+
flex-wrap: wrap;
|
|
2021
|
+
gap: 4px;
|
|
2022
|
+
padding: 5px 7px;
|
|
2023
|
+
}
|
|
2024
|
+
|
|
2025
|
+
.make-ai-assistant__attachment-drafts button {
|
|
2026
|
+
background: transparent;
|
|
2027
|
+
border: 0;
|
|
2028
|
+
color: var(--make-ai-internal-accent);
|
|
2029
|
+
cursor: pointer;
|
|
2030
|
+
padding: 2px 4px;
|
|
2031
|
+
}
|
|
2032
|
+
|
|
1787
2033
|
.make-ai-assistant__conversation-controls button:focus-visible,
|
|
1788
2034
|
.make-ai-assistant__feedback button:focus-visible,
|
|
1789
2035
|
.make-ai-assistant__attachment button:focus-visible,
|
|
1790
|
-
.make-ai-assistant__attachment-composer button:focus-visible
|
|
2036
|
+
.make-ai-assistant__attachment-composer button:focus-visible,
|
|
2037
|
+
.make-ai-assistant__attachment-drafts button:focus-visible { outline: 2px solid var(--make-ai-internal-accent); outline-offset: 2px; }
|
|
1791
2038
|
|
|
1792
2039
|
@media (prefers-reduced-motion: reduce) {
|
|
1793
2040
|
.make-ai-assistant__drawer,
|
|
@@ -1801,10 +2048,13 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
|
|
|
1801
2048
|
.make-ai-assistant__launcher > svg,
|
|
1802
2049
|
.make-ai-assistant__back-to-latest,
|
|
1803
2050
|
.make-ai-assistant__drawer-resize-handle::after,
|
|
1804
|
-
.make-ai-assistant__header-context-tooltip,
|
|
1805
2051
|
.make-ai-assistant__reply-action[data-tooltip]::after,
|
|
1806
2052
|
.make-ai-assistant__send[data-tooltip]::after,
|
|
1807
2053
|
.make-ai-assistant__process summary::after {
|
|
1808
2054
|
transition: none;
|
|
1809
2055
|
}
|
|
2056
|
+
|
|
2057
|
+
.make-ai-assistant__task-list-trigger svg:last-child {
|
|
2058
|
+
transition: none;
|
|
2059
|
+
}
|
|
1810
2060
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
| setFeedback | 持久助手 messageId、requestId、like/dislike/none,以及可选 reason/comment |
|
|
20
20
|
| startUpload / getUpload | 上传初始化与 completedParts 续传进度 |
|
|
21
21
|
| uploadPart / completeUpload | 从 0 编号的二进制分段,全部完成后获取 ready 内容引用 |
|
|
22
|
-
| readContent |
|
|
22
|
+
| readContent(可选) | 宿主具备无损二进制认证读取能力时返回原始 Uint8Array;未提供时不展示下载/预览操作 |
|
|
23
23
|
| eventSourceFactory | 以 chatId、responseId、cursor 创建带凭据的 EventSource;包负责关闭与重连 |
|
|
24
24
|
|
|
25
25
|
JSON 回调返回服务端裸对象,204 返回 void,内容返回 Uint8Array。不要在所有响应上统一解包 data 或 JSON.parse。每个异步回调都必须传递 AbortSignal。scopeKey 仅隔离浏览器内的状态,不能代替服务器授权。
|
|
@@ -34,7 +34,7 @@ JSON 回调返回服务端裸对象,204 返回 void,内容返回 Uint8Array
|
|
|
34
34
|
|
|
35
35
|
输出按 itemId/partId 归并,完整 done 文本覆盖增量。中间模型活动放在过程区域,不能充当最终可反馈消息。response.completed 后读取历史对账,切换到持久助手 messageId,再开放反馈。点踩说明提交失败保留表单,重新提交复用未知结果的原意图;撤销用 rating=none。
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
文件选择、拖拽和粘贴共用一个“上传文件或图片”入口和上传队列;前端不按 `modelInputKinds` 过滤或拒绝媒体类型。分段大小读 partSize,重试先查 completedParts,未 ready 的附件不能发送;服务端根据消息 parts 和实际模型能力决定是否接受。暂停/移除只影响本地任务和草稿,当前没有远程上传取消接口。提供 `readContent` 时,附件卡片可鉴权下载和受控预览;未提供时仅展示附件元数据,不执行 HTML/SVG/脚本。
|
|
38
38
|
|
|
39
39
|
## 流式事件与恢复
|
|
40
40
|
|
|
@@ -62,9 +62,9 @@ EventSource.onerror 后先关闭旧实例,再由 adapter 从最后处理游标
|
|
|
62
62
|
| 上传 | 单文件 64 MiB,分段当前 1 MiB;服务端按完整 Namespace 限流/限容量 |
|
|
63
63
|
| 历史 | cursor=-1 从最早事件正向扫描,limit 数底层事件;空可见页仍可 hasMore=true |
|
|
64
64
|
| 长历史 | 分页继续加载,有界展示最近加载的 200 条/正文预算;不会声称首个窗口是全部历史 |
|
|
65
|
-
| 模型媒体能力 | modelInputKinds 默认只有 text
|
|
65
|
+
| 模型媒体能力 | modelInputKinds 默认只有 text;前端仍提供统一上传入口,服务端按实际模型能力校验消息 parts |
|
|
66
66
|
| 未完成上传 | 服务端当前 24 小时失效;无公开 abort/清理,容量不保证自动回收 |
|
|
67
|
-
| 下载 |
|
|
67
|
+
| 下载 | readContent 为可选能力;启用时返回 attachment/octet-stream,不承诺 Range/206,预览使用本地受控 Blob |
|
|
68
68
|
| Artifact/页面上下文 | 通用能力保留;当前 Make App 请求不携带 context/capabilities,不从 Markdown 猜 Artifact |
|
|
69
69
|
| 重新生成 | 没有服务端替换语义,保持关闭;普通再次提问属于新消息 |
|
|
70
70
|
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
|
|
7
7
|
宿主提供同源 `GET /runtime-config`,响应为 `{appKey, appName, agentId, identityKey}`;identityKey 是用户/租户变化时同步变化的非凭据缓存隔离键。该配置不构成服务器授权。生产 POC 应将示例 request 换成已有认证客户端,并沿现有 Service/Make Gateway 转发公共接口。
|
|
8
8
|
|
|
9
|
-
当前 Make App 后端只支持文本模型输入;示例的 modelInputKinds 为 `["text"]
|
|
9
|
+
当前 Make App 后端只支持文本模型输入;示例的 modelInputKinds 为 `["text"]`,但仍保留统一的“上传文件或图片”入口。服务端必须根据消息 parts 和实际模型能力校验媒体类型;不要以原件存储或读取能力判断模型已经支持输入。
|
|
10
10
|
|
|
11
11
|
详见 [接入说明](../../docs/make-app-integration.md)。正式发布仍由原仓库 GitLab CI 负责。
|
package/package.json
CHANGED