@qfei-design/make-ai-assistant 0.2.13 → 0.2.15

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 (41) hide show
  1. package/PUBLIC_API.md +18 -19
  2. package/README.md +18 -12
  3. package/capabilities.json +2 -1
  4. package/dist/client-protocol.d.ts +24 -0
  5. package/dist/client-types.d.ts +420 -0
  6. package/dist/client.cjs +2 -0
  7. package/dist/client.d.ts +18 -0
  8. package/dist/client.mjs +1154 -0
  9. package/dist/conversation-BpmWa2VL.cjs +1 -0
  10. package/dist/conversation-DuqMadaQ.js +888 -0
  11. package/dist/conversation-management-DZROhXyK.js +229 -0
  12. package/dist/conversation-management-f1y0yRvt.cjs +1 -0
  13. package/dist/core/conversation-management.d.ts +15 -5
  14. package/dist/core/conversation.d.ts +6 -5
  15. package/dist/index.cjs +1 -1
  16. package/dist/index.mjs +4 -4
  17. package/dist/make-app.cjs +1 -1
  18. package/dist/make-app.d.ts +8 -69
  19. package/dist/make-app.mjs +236 -703
  20. package/dist/make-console.cjs +1 -1
  21. package/dist/make-console.mjs +1 -1
  22. package/dist/react/icons.d.ts +19 -0
  23. package/dist/react/make-ai-assistant.d.ts +1 -2
  24. package/dist/react/use-attachments.d.ts +2 -1
  25. package/dist/react/use-conversation-manager.d.ts +1 -0
  26. package/dist/react.cjs +4 -4
  27. package/dist/react.mjs +1619 -1346
  28. package/dist/sse.cjs +1 -1
  29. package/dist/sse.mjs +1 -1
  30. package/dist/styles.css +288 -105
  31. package/docs/backend-contract.md +3 -7
  32. package/docs/make-app-integration.md +23 -68
  33. package/examples/make-app/main.tsx +1 -1
  34. package/examples/make-app/transport.ts +36 -146
  35. package/package.ai.json +10 -7
  36. package/package.json +9 -3
  37. package/recipes.json +4 -3
  38. package/dist/conversation-CZfbgCXd.js +0 -1111
  39. package/dist/conversation-Cvh-IVRV.cjs +0 -1
  40. package/dist/make-app/protocol.d.ts +0 -27
  41. package/dist/make-app/stream.d.ts +0 -20
package/dist/styles.css CHANGED
@@ -20,10 +20,8 @@
20
20
  --make-ai-internal-on-overlay: #fff;
21
21
  --make-ai-internal-overlay-shadow: #3549701f;
22
22
  --make-ai-internal-highlight: color-mix(in srgb, #fff 58%, transparent);
23
- --make-ai-internal-drawer-min-width: var(--make-ai-drawer-width, 480px);
24
- --make-ai-internal-drawer-width: var(--make-ai-internal-drawer-min-width);
25
- --make-ai-internal-drawer-max-width: max(var(--make-ai-internal-drawer-min-width), min(1024px, 72vw));
26
- --make-ai-internal-drawer-resize-line: var(--make-ai-drawer-resize-line, var(--make-ai-internal-accent));
23
+ --make-ai-internal-drawer-width: var(--make-ai-drawer-width, 560px);
24
+ --make-ai-internal-drawer-max-width: max(var(--make-ai-internal-drawer-width), min(1024px, 72vw));
27
25
  --make-ai-internal-z-index: var(--make-ai-z-index, 1050);
28
26
  --make-ai-internal-font-size-heading: var(--make-ai-font-size-heading, .875rem);
29
27
  --make-ai-internal-font-size-body: var(--make-ai-font-size-body, .8125rem);
@@ -229,42 +227,11 @@
229
227
  animation: make-ai-drawer-in 180ms cubic-bezier(.2, .75, .35, 1);
230
228
  }
231
229
 
232
- .make-ai-assistant__drawer-resize-handle {
233
- background: transparent;
234
- border: 0;
235
- bottom: 0;
236
- cursor: ew-resize;
237
- left: -6px;
238
- outline: 0;
239
- position: absolute;
240
- top: 0;
241
- touch-action: none;
242
- width: 12px;
243
- z-index: 1;
244
- }
245
-
246
- .make-ai-assistant__drawer-resize-handle::after {
247
- background: var(--make-ai-internal-drawer-resize-line);
248
- border-radius: 999px;
249
- content: "";
250
- height: 100%;
251
- left: 50%;
252
- opacity: 0;
253
- position: absolute;
254
- top: 0;
255
- transform: translateX(-50%);
256
- transition: opacity 160ms ease;
257
- width: 2px;
258
- }
259
-
260
- .make-ai-assistant__drawer-resize-handle:hover::after,
261
- .make-ai-assistant__drawer[data-resizing] .make-ai-assistant__drawer-resize-handle::after,
262
- .make-ai-assistant__drawer-resize-handle:focus-visible::after {
263
- opacity: 1;
264
- }
265
-
266
- .make-ai-assistant__drawer-resize-handle:focus-visible {
267
- box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--make-ai-internal-accent) 35%, transparent);
230
+ .make-ai-assistant__drawer--fullscreen {
231
+ border-left: 0;
232
+ inset: 0;
233
+ max-width: none;
234
+ width: 100vw;
268
235
  }
269
236
 
270
237
  .make-ai-assistant__panel {
@@ -327,7 +294,6 @@
327
294
 
328
295
  .make-ai-assistant__avatar svg,
329
296
  .make-ai-assistant__icon-button svg,
330
- .make-ai-assistant__task-list-trigger svg,
331
297
  .make-ai-assistant__send svg {
332
298
  fill: none;
333
299
  height: 20px;
@@ -356,6 +322,18 @@
356
322
  color: var(--make-ai-internal-text);
357
323
  }
358
324
 
325
+ .make-ai-assistant__icon-button-icon {
326
+ display: inline-flex;
327
+ height: 20px;
328
+ line-height: 0;
329
+ width: 20px;
330
+ }
331
+
332
+ .make-ai-assistant__icon-button-icon svg {
333
+ height: 100%;
334
+ width: 100%;
335
+ }
336
+
359
337
  .make-ai-assistant__header-actions {
360
338
  align-items: center;
361
339
  display: flex;
@@ -391,13 +369,13 @@
391
369
 
392
370
  .make-ai-assistant__task-list-trigger {
393
371
  align-items: center;
394
- background: var(--make-ai-internal-surface-strong);
372
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 5%, var(--make-ai-internal-bg));
395
373
  border: 0;
396
374
  border-radius: 9px;
397
375
  color: var(--make-ai-internal-text-secondary);
398
376
  cursor: pointer;
399
377
  display: inline-flex;
400
- font-size: var(--make-ai-internal-font-size-caption);
378
+ font-size: 14px;
401
379
  gap: 6px;
402
380
  height: 34px;
403
381
  max-width: 118px;
@@ -407,23 +385,30 @@
407
385
 
408
386
  .make-ai-assistant__task-list-trigger:hover,
409
387
  .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));
388
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 8%, var(--make-ai-internal-bg));
411
389
  color: var(--make-ai-internal-text);
412
390
  }
413
391
 
414
- .make-ai-assistant__task-list-trigger svg:first-child {
392
+ .make-ai-assistant__task-list-icon {
393
+ display: inline-flex;
394
+ flex: 0 0 auto;
415
395
  height: 19px;
396
+ line-height: 0;
416
397
  width: 19px;
417
398
  }
418
399
 
419
- .make-ai-assistant__task-list-trigger svg:last-child {
400
+ .make-ai-assistant__task-list-disclosure {
401
+ display: inline-flex;
402
+ flex: 0 0 auto;
420
403
  height: 15px;
421
- transition: transform 160ms ease;
404
+ line-height: 0;
422
405
  width: 15px;
423
406
  }
424
407
 
425
- .make-ai-assistant__task-list-trigger[aria-expanded="true"] svg:last-child {
426
- transform: rotate(180deg);
408
+ .make-ai-assistant__task-list-icon svg,
409
+ .make-ai-assistant__task-list-disclosure svg {
410
+ height: 100%;
411
+ width: 100%;
427
412
  }
428
413
 
429
414
  .make-ai-assistant__header-title {
@@ -1156,9 +1141,9 @@
1156
1141
  width: 28px;
1157
1142
  }
1158
1143
 
1159
- .make-ai-assistant__reply-copy svg,
1160
- .make-ai-assistant__reply-regenerate svg,
1161
- .make-ai-assistant__reply-feedback-action svg {
1144
+ .make-ai-assistant__reply-copy > svg,
1145
+ .make-ai-assistant__reply-regenerate > svg,
1146
+ .make-ai-assistant__reply-feedback-action > svg {
1162
1147
  fill: none;
1163
1148
  height: 15px;
1164
1149
  stroke: currentColor;
@@ -1168,6 +1153,20 @@
1168
1153
  width: 15px;
1169
1154
  }
1170
1155
 
1156
+ .make-ai-assistant__reply-copy-icon,
1157
+ .make-ai-assistant__reply-feedback-icon {
1158
+ display: inline-flex;
1159
+ height: 15px;
1160
+ line-height: 0;
1161
+ width: 15px;
1162
+ }
1163
+
1164
+ .make-ai-assistant__reply-copy-icon svg,
1165
+ .make-ai-assistant__reply-feedback-icon svg {
1166
+ height: 100%;
1167
+ width: 100%;
1168
+ }
1169
+
1171
1170
  .make-ai-assistant__reply-feedback-action {
1172
1171
  height: 28px;
1173
1172
  width: 28px;
@@ -1345,13 +1344,14 @@
1345
1344
  .make-ai-assistant__composer {
1346
1345
  background: var(--make-ai-internal-surface);
1347
1346
  border: 1px solid var(--make-ai-internal-border);
1348
- border-radius: 15px;
1349
- display: grid;
1350
- gap: 7px 10px;
1351
- grid-template-columns: minmax(0, 1fr) auto;
1352
- grid-template-rows: minmax(46px, auto) 36px;
1353
- min-height: 96px;
1354
- padding: 10px 10px 8px;
1347
+ border-radius: 16px;
1348
+ display: flex;
1349
+ flex-direction: column;
1350
+ gap: 8px;
1351
+ max-height: min(440px, 46vh);
1352
+ min-height: 132px;
1353
+ overflow: auto;
1354
+ padding: 12px 14px 10px;
1355
1355
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
1356
1356
  }
1357
1357
 
@@ -1369,12 +1369,11 @@
1369
1369
  color: var(--make-ai-internal-text);
1370
1370
  font-size: var(--make-ai-internal-font-size-body);
1371
1371
  line-height: var(--make-ai-internal-line-height-body);
1372
- grid-column: 1 / -1;
1373
- grid-row: 1;
1374
- max-height: 128px;
1375
- min-height: 46px;
1372
+ max-height: 192px;
1373
+ min-height: 72px;
1376
1374
  outline: 0;
1377
- padding: 2px 5px;
1375
+ overflow-y: auto;
1376
+ padding: 3px 4px;
1378
1377
  resize: none;
1379
1378
  width: 100%;
1380
1379
  }
@@ -1407,9 +1406,13 @@
1407
1406
  align-items: center;
1408
1407
  display: flex;
1409
1408
  gap: 7px;
1410
- grid-column: 2;
1411
- grid-row: 2;
1412
- justify-self: end;
1409
+ }
1410
+
1411
+ .make-ai-assistant__composer-toolbar {
1412
+ align-items: center;
1413
+ display: flex;
1414
+ justify-content: space-between;
1415
+ min-height: 34px;
1413
1416
  }
1414
1417
 
1415
1418
  .make-ai-assistant__send::before {
@@ -1659,8 +1662,8 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1659
1662
  padding: 0 8px;
1660
1663
  }
1661
1664
 
1662
- .make-ai-assistant__task-list-trigger > span,
1663
- .make-ai-assistant__task-list-trigger svg:last-child {
1665
+ .make-ai-assistant__task-list-label,
1666
+ .make-ai-assistant__task-list-disclosure {
1664
1667
  display: none;
1665
1668
  }
1666
1669
 
@@ -1798,7 +1801,6 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1798
1801
 
1799
1802
  @media (max-width: 560px) {
1800
1803
  .make-ai-assistant__drawer { width: 100vw; }
1801
- .make-ai-assistant__drawer-resize-handle { display: none; }
1802
1804
  .make-ai-assistant__launcher {
1803
1805
  bottom: var(--make-ai-launcher-mobile-bottom, var(--make-ai-launcher-bottom, 16px));
1804
1806
  left: auto;
@@ -1856,7 +1858,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1856
1858
  border: 1px solid var(--make-ai-internal-border);
1857
1859
  border-radius: 12px;
1858
1860
  box-shadow: 0 14px 34px color-mix(in srgb, var(--make-ai-internal-text) 12%, transparent);
1859
- font-size: var(--make-ai-internal-font-size-meta);
1861
+ font-size: 14px;
1860
1862
  left: var(--make-ai-internal-panel-gutter);
1861
1863
  max-height: min(430px, calc(100% - var(--make-ai-internal-header-height) - 24px));
1862
1864
  overflow: auto;
@@ -1899,34 +1901,42 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1899
1901
  .make-ai-assistant__conversation-row {
1900
1902
  align-items: center;
1901
1903
  border-radius: 8px;
1904
+ box-sizing: border-box;
1902
1905
  display: flex;
1903
- gap: 2px;
1906
+ gap: 0;
1907
+ height: 40px;
1904
1908
  min-width: 0;
1905
- padding: 2px;
1909
+ padding: 2px 4px;
1906
1910
  }
1907
1911
 
1908
1912
  .make-ai-assistant__conversation-row:hover,
1909
1913
  .make-ai-assistant__conversation-row:focus-within {
1910
- background: var(--make-ai-internal-surface-strong);
1914
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 4%, var(--make-ai-internal-bg));
1915
+ }
1916
+
1917
+ .make-ai-assistant__conversation-row[data-active="true"] {
1918
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 8%, var(--make-ai-internal-bg));
1911
1919
  }
1912
1920
 
1913
1921
  .make-ai-assistant__conversation-row .make-ai-assistant__conversation-row-select {
1914
1922
  align-items: center;
1915
1923
  background: transparent;
1916
1924
  border-color: transparent;
1925
+ box-sizing: border-box;
1917
1926
  display: flex;
1918
1927
  flex: 1;
1919
1928
  gap: 8px;
1920
- min-height: 36px;
1929
+ height: 36px;
1930
+ min-height: 0;
1921
1931
  min-width: 0;
1922
1932
  overflow: hidden;
1923
- padding: 0 8px;
1933
+ padding: 0 6px;
1924
1934
  text-align: left;
1925
1935
  }
1926
1936
 
1927
- .make-ai-assistant__conversation-row-select svg,
1928
- .make-ai-assistant__conversation-row-action svg,
1929
- .make-ai-assistant__conversation-new svg {
1937
+ .make-ai-assistant__conversation-row-select > svg,
1938
+ .make-ai-assistant__conversation-row-action > svg,
1939
+ .make-ai-assistant__conversation-new > svg {
1930
1940
  fill: none;
1931
1941
  flex: 0 0 auto;
1932
1942
  height: 16px;
@@ -1937,6 +1947,32 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1937
1947
  width: 16px;
1938
1948
  }
1939
1949
 
1950
+ .make-ai-assistant__conversation-row-action-icon {
1951
+ display: inline-flex;
1952
+ height: 16px;
1953
+ line-height: 0;
1954
+ width: 16px;
1955
+ }
1956
+
1957
+ .make-ai-assistant__conversation-row-action-icon svg {
1958
+ height: 100%;
1959
+ width: 100%;
1960
+ }
1961
+
1962
+ .make-ai-assistant__conversation-new-icon,
1963
+ .make-ai-assistant__conversation-refresh-icon {
1964
+ display: inline-flex;
1965
+ height: 16px;
1966
+ line-height: 0;
1967
+ width: 16px;
1968
+ }
1969
+
1970
+ .make-ai-assistant__conversation-new-icon svg,
1971
+ .make-ai-assistant__conversation-refresh-icon svg {
1972
+ height: 100%;
1973
+ width: 100%;
1974
+ }
1975
+
1940
1976
  .make-ai-assistant__conversation-row-select span {
1941
1977
  min-width: 0;
1942
1978
  overflow: hidden;
@@ -1945,15 +1981,17 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1945
1981
  }
1946
1982
 
1947
1983
  .make-ai-assistant__conversation-row .make-ai-assistant__conversation-row-select[aria-pressed="true"] {
1948
- background: var(--make-ai-internal-accent-soft);
1984
+ background: transparent;
1949
1985
  color: var(--make-ai-internal-accent);
1950
1986
  }
1951
1987
 
1952
1988
  .make-ai-assistant__conversation-row-actions {
1953
1989
  align-items: center;
1990
+ align-self: stretch;
1954
1991
  display: flex;
1955
1992
  flex: 0 0 auto;
1956
- gap: 2px;
1993
+ gap: 0;
1994
+ height: 36px;
1957
1995
  }
1958
1996
 
1959
1997
  .make-ai-assistant__conversation-row .make-ai-assistant__conversation-row-pin,
@@ -1961,11 +1999,15 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1961
1999
  background: transparent;
1962
2000
  border-color: transparent;
1963
2001
  color: var(--make-ai-internal-text-secondary);
2002
+ display: inline-flex;
1964
2003
  flex: 0 0 auto;
1965
- height: 30px;
2004
+ height: 28px;
2005
+ align-items: center;
2006
+ justify-content: center;
2007
+ line-height: 1;
1966
2008
  padding: 0;
1967
2009
  position: relative;
1968
- width: 30px;
2010
+ width: 28px;
1969
2011
  }
1970
2012
 
1971
2013
  .make-ai-assistant__conversation-row .make-ai-assistant__conversation-row-action {
@@ -1987,6 +2029,10 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1987
2029
  color: var(--make-ai-internal-danger);
1988
2030
  }
1989
2031
 
2032
+ .make-ai-assistant__conversation-row-pin[aria-pressed="true"] {
2033
+ color: var(--make-ai-internal-accent);
2034
+ }
2035
+
1990
2036
  .make-ai-assistant__conversation-tooltip {
1991
2037
  background: var(--make-ai-internal-overlay);
1992
2038
  border-radius: 8px;
@@ -2008,35 +2054,76 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2008
2054
  }
2009
2055
 
2010
2056
  .make-ai-assistant__conversation-row-title-input {
2057
+ align-self: stretch;
2011
2058
  background: var(--make-ai-internal-surface);
2012
2059
  border: 1px solid var(--make-ai-internal-border);
2013
2060
  border-radius: 6px;
2061
+ box-sizing: border-box;
2014
2062
  color: inherit;
2015
2063
  flex: 1;
2016
2064
  font: inherit;
2065
+ height: 36px;
2017
2066
  min-width: 0;
2018
- padding: 6px;
2067
+ padding: 0 8px;
2019
2068
  }
2020
2069
 
2021
2070
  .make-ai-assistant__conversation-delete-confirmation {
2022
2071
  align-items: center;
2072
+ align-self: stretch;
2073
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 7%, var(--make-ai-internal-bg));
2074
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-danger) 24%, var(--make-ai-internal-border));
2075
+ border-radius: 7px;
2076
+ box-sizing: border-box;
2077
+ color: var(--make-ai-internal-danger);
2023
2078
  display: flex;
2024
2079
  flex: 1 1 0;
2025
- gap: 2px;
2080
+ gap: 4px;
2081
+ height: 36px;
2026
2082
  min-width: 0;
2027
2083
  overflow: hidden;
2084
+ padding: 0 4px 0 8px;
2028
2085
  }
2029
2086
 
2030
- .make-ai-assistant__conversation-delete-confirmation > span {
2031
- color: var(--make-ai-internal-text-secondary);
2087
+ .make-ai-assistant__conversation-delete-confirmation-icon {
2088
+ display: inline-flex;
2089
+ flex: 0 0 auto;
2090
+ height: 16px;
2091
+ line-height: 0;
2092
+ width: 16px;
2093
+ }
2094
+
2095
+ .make-ai-assistant__conversation-delete-confirmation-icon svg {
2096
+ height: 100%;
2097
+ width: 100%;
2098
+ }
2099
+
2100
+ .make-ai-assistant__conversation-delete-confirmation-message {
2101
+ color: var(--make-ai-internal-danger);
2032
2102
  flex: 1 1 0;
2103
+ font-size: var(--make-ai-internal-font-size-meta);
2104
+ font-weight: 600;
2105
+ line-height: var(--make-ai-internal-line-height-meta);
2033
2106
  min-width: 0;
2034
2107
  overflow: hidden;
2035
- padding-left: 4px;
2036
2108
  text-overflow: ellipsis;
2037
2109
  white-space: nowrap;
2038
2110
  }
2039
2111
 
2112
+ .make-ai-assistant__conversation-delete-confirmation .make-ai-assistant__conversation-delete-confirmation-confirm {
2113
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 12%, var(--make-ai-internal-bg));
2114
+ border-color: color-mix(in srgb, var(--make-ai-internal-danger) 24%, var(--make-ai-internal-border));
2115
+ color: var(--make-ai-internal-danger);
2116
+ }
2117
+
2118
+ .make-ai-assistant__conversation-delete-confirmation .make-ai-assistant__conversation-delete-confirmation-confirm:hover {
2119
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 18%, var(--make-ai-internal-bg));
2120
+ border-color: color-mix(in srgb, var(--make-ai-internal-danger) 40%, var(--make-ai-internal-border));
2121
+ }
2122
+
2123
+ .make-ai-assistant__conversation-delete-confirmation .make-ai-assistant__conversation-delete-confirmation-cancel {
2124
+ color: var(--make-ai-internal-text-secondary);
2125
+ }
2126
+
2040
2127
  .make-ai-assistant__conversation-more,
2041
2128
  .make-ai-assistant__conversation-refresh {
2042
2129
  background: transparent !important;
@@ -2044,6 +2131,15 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2044
2131
  color: var(--make-ai-internal-text-secondary) !important;
2045
2132
  }
2046
2133
 
2134
+ .make-ai-assistant__conversation-refresh {
2135
+ align-items: center;
2136
+ display: inline-flex;
2137
+ height: 28px;
2138
+ justify-content: center;
2139
+ padding: 0 !important;
2140
+ width: 28px;
2141
+ }
2142
+
2047
2143
  .make-ai-assistant__conversation-more {
2048
2144
  margin-top: 4px;
2049
2145
  width: 100%;
@@ -2121,9 +2217,6 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2121
2217
  .make-ai-assistant__attachment-composer {
2122
2218
  align-self: center;
2123
2219
  font-size: var(--make-ai-internal-font-size-meta);
2124
- grid-column: 1;
2125
- grid-row: 2;
2126
- justify-self: start;
2127
2220
  position: relative;
2128
2221
  }
2129
2222
 
@@ -2148,7 +2241,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2148
2241
  color: var(--make-ai-internal-text);
2149
2242
  }
2150
2243
 
2151
- .make-ai-assistant__attachment-trigger svg,
2244
+ .make-ai-assistant__attachment-trigger > svg,
2152
2245
  .make-ai-assistant__attachment-menu svg {
2153
2246
  fill: none;
2154
2247
  height: 18px;
@@ -2159,6 +2252,18 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2159
2252
  width: 18px;
2160
2253
  }
2161
2254
 
2255
+ .make-ai-assistant__attachment-trigger-icon {
2256
+ display: inline-flex;
2257
+ height: 18px;
2258
+ line-height: 0;
2259
+ width: 18px;
2260
+ }
2261
+
2262
+ .make-ai-assistant__attachment-trigger-icon svg {
2263
+ height: 100%;
2264
+ width: 100%;
2265
+ }
2266
+
2162
2267
  .make-ai-assistant__attachment-menu {
2163
2268
  background: var(--make-ai-internal-surface);
2164
2269
  border: 1px solid var(--make-ai-internal-border);
@@ -2192,10 +2297,11 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2192
2297
  }
2193
2298
 
2194
2299
  .make-ai-assistant__attachment-drafts {
2300
+ border-bottom: 1px solid var(--make-ai-internal-border);
2195
2301
  font-size: var(--make-ai-internal-font-size-meta);
2196
- max-height: 156px;
2302
+ max-height: 184px;
2197
2303
  overflow: auto;
2198
- padding: 4px 0 8px;
2304
+ padding: 0 0 12px;
2199
2305
  }
2200
2306
 
2201
2307
  .make-ai-assistant__attachment-drafts ul {
@@ -2215,8 +2321,8 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2215
2321
  display: flex;
2216
2322
  flex-wrap: wrap;
2217
2323
  gap: 8px;
2218
- min-height: 64px;
2219
- padding: 5px 28px 5px 5px;
2324
+ min-height: 56px;
2325
+ padding: 4px 26px 4px 4px;
2220
2326
  position: relative;
2221
2327
  }
2222
2328
 
@@ -2234,9 +2340,22 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2234
2340
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 14%, var(--make-ai-internal-border));
2235
2341
  border-radius: 7px;
2236
2342
  flex: 0 0 auto;
2237
- height: 52px;
2343
+ height: 44px;
2238
2344
  object-fit: cover;
2239
- width: 52px;
2345
+ width: 44px;
2346
+ }
2347
+
2348
+ .make-ai-assistant__attachment-draft-preview-button {
2349
+ border-radius: 7px;
2350
+ cursor: zoom-in;
2351
+ flex: 0 0 auto;
2352
+ line-height: 0;
2353
+ overflow: hidden;
2354
+ padding: 0 !important;
2355
+ }
2356
+
2357
+ .make-ai-assistant__attachment-draft-preview-button:hover .make-ai-assistant__attachment-draft-preview {
2358
+ border-color: color-mix(in srgb, var(--make-ai-internal-accent) 44%, var(--make-ai-internal-border));
2240
2359
  }
2241
2360
 
2242
2361
  .make-ai-assistant__attachment-draft-file {
@@ -2248,12 +2367,12 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2248
2367
 
2249
2368
  .make-ai-assistant__attachment-draft-file svg {
2250
2369
  fill: none;
2251
- height: 24px;
2370
+ height: 20px;
2252
2371
  stroke: currentColor;
2253
2372
  stroke-linecap: round;
2254
2373
  stroke-linejoin: round;
2255
2374
  stroke-width: 1.6;
2256
- width: 24px;
2375
+ width: 20px;
2257
2376
  }
2258
2377
 
2259
2378
  .make-ai-assistant__attachment-draft-details {
@@ -2302,7 +2421,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2302
2421
  padding: 0;
2303
2422
  }
2304
2423
 
2305
- .make-ai-assistant__attachment-draft-remove svg {
2424
+ .make-ai-assistant__attachment-draft-remove > svg {
2306
2425
  fill: none;
2307
2426
  height: 13px;
2308
2427
  stroke: currentColor;
@@ -2311,6 +2430,20 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2311
2430
  width: 13px;
2312
2431
  }
2313
2432
 
2433
+ .make-ai-assistant__attachment-draft-remove-icon,
2434
+ .make-ai-assistant__attachment-preview-close-icon {
2435
+ display: inline-flex;
2436
+ height: 13px;
2437
+ line-height: 0;
2438
+ width: 13px;
2439
+ }
2440
+
2441
+ .make-ai-assistant__attachment-draft-remove-icon svg,
2442
+ .make-ai-assistant__attachment-preview-close-icon svg {
2443
+ height: 100%;
2444
+ width: 100%;
2445
+ }
2446
+
2314
2447
  .make-ai-assistant__attachment-drafts li:hover .make-ai-assistant__attachment-draft-remove,
2315
2448
  .make-ai-assistant__attachment-drafts li:focus-within .make-ai-assistant__attachment-draft-remove {
2316
2449
  opacity: 1;
@@ -2318,6 +2451,60 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2318
2451
  transform: scale(1);
2319
2452
  }
2320
2453
 
2454
+ .make-ai-assistant__attachment-preview-backdrop {
2455
+ align-items: center;
2456
+ background: color-mix(in srgb, var(--make-ai-internal-text) 46%, transparent);
2457
+ display: flex;
2458
+ inset: 0;
2459
+ justify-content: center;
2460
+ padding: 24px;
2461
+ position: fixed;
2462
+ z-index: calc(var(--make-ai-internal-z-index) + 10);
2463
+ }
2464
+
2465
+ .make-ai-assistant__attachment-preview-dialog {
2466
+ background: var(--make-ai-internal-surface);
2467
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 80%, transparent);
2468
+ border-radius: 14px;
2469
+ box-shadow: 0 20px 48px color-mix(in srgb, var(--make-ai-internal-text) 28%, transparent);
2470
+ max-height: min(76vh, 760px);
2471
+ max-width: min(88vw, 960px);
2472
+ padding: 8px;
2473
+ position: relative;
2474
+ }
2475
+
2476
+ .make-ai-assistant__attachment-preview-dialog img {
2477
+ display: block;
2478
+ height: 100%;
2479
+ max-height: min(76vh, 744px);
2480
+ max-width: min(88vw, 944px);
2481
+ object-fit: contain;
2482
+ width: 100%;
2483
+ }
2484
+
2485
+ .make-ai-assistant__attachment-preview-close {
2486
+ align-items: center;
2487
+ background: var(--make-ai-internal-overlay) !important;
2488
+ border: 0 !important;
2489
+ border-radius: 50% !important;
2490
+ color: var(--make-ai-internal-on-overlay) !important;
2491
+ cursor: pointer;
2492
+ display: inline-flex;
2493
+ height: 28px;
2494
+ justify-content: center;
2495
+ padding: 0 !important;
2496
+ position: absolute;
2497
+ right: 14px;
2498
+ top: 14px;
2499
+ width: 28px;
2500
+ }
2501
+
2502
+ .make-ai-assistant__attachment-draft-preview-button:focus-visible,
2503
+ .make-ai-assistant__attachment-preview-close:focus-visible {
2504
+ outline: 2px solid var(--make-ai-internal-accent);
2505
+ outline-offset: 2px;
2506
+ }
2507
+
2321
2508
  .make-ai-assistant__conversation-controls button:focus-visible,
2322
2509
  .make-ai-assistant__feedback button:focus-visible,
2323
2510
  .make-ai-assistant__attachment button:focus-visible,
@@ -2349,7 +2536,6 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2349
2536
  .make-ai-assistant__launcher,
2350
2537
  .make-ai-assistant__launcher > svg,
2351
2538
  .make-ai-assistant__back-to-latest,
2352
- .make-ai-assistant__drawer-resize-handle::after,
2353
2539
  .make-ai-assistant__reply-action[data-tooltip]::after,
2354
2540
  .make-ai-assistant__send[data-tooltip]::after,
2355
2541
  .make-ai-assistant__conversation-row-action,
@@ -2359,7 +2545,4 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
2359
2545
  transition: none;
2360
2546
  }
2361
2547
 
2362
- .make-ai-assistant__task-list-trigger svg:last-child {
2363
- transition: none;
2364
- }
2365
2548
  }