@aparte/core 0.7.1 → 0.9.0

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 (175) hide show
  1. package/README.md +20 -6
  2. package/dist/client/aparte-client.d.ts +113 -47
  3. package/dist/client/aparte-client.d.ts.map +1 -1
  4. package/dist/client/lifecycle-events.d.ts +55 -0
  5. package/dist/client/lifecycle-events.d.ts.map +1 -0
  6. package/dist/client/stream-adapter.d.ts +11 -5
  7. package/dist/client/stream-adapter.d.ts.map +1 -1
  8. package/dist/client/xml-artifact-feed.d.ts +76 -0
  9. package/dist/client/xml-artifact-feed.d.ts.map +1 -0
  10. package/dist/components/bubble/aparte-chat-bubble.d.ts +35 -8
  11. package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
  12. package/dist/components/bubble/bubble-sync.d.ts.map +1 -1
  13. package/dist/components/chat/aparte-chat.d.ts +0 -6
  14. package/dist/components/chat/aparte-chat.d.ts.map +1 -1
  15. package/dist/components/composer/aparte-composer-action.d.ts +18 -3
  16. package/dist/components/composer/aparte-composer-action.d.ts.map +1 -1
  17. package/dist/components/composer/aparte-composer-add-attachment.d.ts.map +1 -1
  18. package/dist/components/composer/aparte-composer-attachments.d.ts +1 -1
  19. package/dist/components/composer/aparte-composer-attachments.d.ts.map +1 -1
  20. package/dist/components/composer/aparte-composer-cancel.d.ts.map +1 -1
  21. package/dist/components/composer/aparte-composer-input.d.ts +0 -2
  22. package/dist/components/composer/aparte-composer-input.d.ts.map +1 -1
  23. package/dist/components/composer/aparte-composer-send.d.ts +5 -0
  24. package/dist/components/composer/aparte-composer-send.d.ts.map +1 -1
  25. package/dist/components/composer/aparte-composer-toolbar.d.ts +4 -0
  26. package/dist/components/composer/aparte-composer-toolbar.d.ts.map +1 -1
  27. package/dist/components/composer/aparte-composer.d.ts +64 -6
  28. package/dist/components/composer/aparte-composer.d.ts.map +1 -1
  29. package/dist/components/composer/index.d.ts +1 -1
  30. package/dist/components/composer/index.d.ts.map +1 -1
  31. package/dist/components/conversation-list/aparte-conversation-list.d.ts +2 -5
  32. package/dist/components/conversation-list/aparte-conversation-list.d.ts.map +1 -1
  33. package/dist/components/conversation-list/index.d.ts +1 -1
  34. package/dist/components/conversation-list/index.d.ts.map +1 -1
  35. package/dist/components/elicitation/aparte-elicitation.d.ts +63 -3
  36. package/dist/components/elicitation/aparte-elicitation.d.ts.map +1 -1
  37. package/dist/components/index.d.ts +2 -2
  38. package/dist/components/index.d.ts.map +1 -1
  39. package/dist/components/status/aparte-chat-status.d.ts +8 -6
  40. package/dist/components/status/aparte-chat-status.d.ts.map +1 -1
  41. package/dist/components/viewport/aparte-chat-viewport.d.ts +45 -9
  42. package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
  43. package/dist/config/action-provider.d.ts +4 -4
  44. package/dist/config/aparte-config.d.ts +124 -41
  45. package/dist/config/aparte-config.d.ts.map +1 -1
  46. package/dist/config/attachment-renderer.d.ts +1 -1
  47. package/dist/config/avatar-provider.d.ts +1 -1
  48. package/dist/config/config-context.d.ts +66 -11
  49. package/dist/config/config-context.d.ts.map +1 -1
  50. package/dist/config/elicitation-field-renderer.d.ts +73 -0
  51. package/dist/config/elicitation-field-renderer.d.ts.map +1 -0
  52. package/dist/config/error-renderer.d.ts +1 -1
  53. package/dist/config/icon-provider.d.ts +2 -2
  54. package/dist/config/icon-provider.d.ts.map +1 -1
  55. package/dist/config/index.d.ts +7 -5
  56. package/dist/config/index.d.ts.map +1 -1
  57. package/dist/config/locale.d.ts +43 -2
  58. package/dist/config/locale.d.ts.map +1 -1
  59. package/dist/config/sanitize.d.ts +1 -7
  60. package/dist/config/sanitize.d.ts.map +1 -1
  61. package/dist/config/sibling-nav-renderer.d.ts +1 -1
  62. package/dist/config/skeleton-provider.d.ts +2 -2
  63. package/dist/config/skeleton-provider.d.ts.map +1 -1
  64. package/dist/config/status-renderer.d.ts +1 -1
  65. package/dist/conversations/conversation-controller.d.ts +19 -5
  66. package/dist/conversations/conversation-controller.d.ts.map +1 -1
  67. package/dist/conversations/conversation-manager.d.ts +2 -2
  68. package/dist/conversations/conversation-manager.d.ts.map +1 -1
  69. package/dist/conversations/index.d.ts +1 -1
  70. package/dist/conversations/index.d.ts.map +1 -1
  71. package/dist/conversations/types.d.ts +1 -1
  72. package/dist/custom-elements.json +8418 -6295
  73. package/dist/elicitation/index.d.ts +1 -1
  74. package/dist/elicitation/panel.d.ts +32 -0
  75. package/dist/elicitation/panel.d.ts.map +1 -1
  76. package/dist/elicitation/types.d.ts +29 -2
  77. package/dist/elicitation/types.d.ts.map +1 -1
  78. package/dist/host/aparte-chat-host.d.ts +3 -3
  79. package/dist/host/aparte-chat-host.d.ts.map +1 -1
  80. package/dist/{index-Dn7TH14G.js → index-hQQljwfX.js} +1890 -1222
  81. package/dist/index-hQQljwfX.js.map +1 -0
  82. package/dist/index.css +299 -21
  83. package/dist/index.d.ts +22 -13
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +485 -210
  86. package/dist/index.js.map +1 -1
  87. package/dist/index.node.d.ts +23 -13
  88. package/dist/index.node.d.ts.map +1 -1
  89. package/dist/index.node.js +56 -46
  90. package/dist/index.node.js.map +1 -1
  91. package/dist/interop/element-props.d.ts +1 -1
  92. package/dist/interop/element-props.d.ts.map +1 -1
  93. package/dist/parsers/aparte-stream-parser.d.ts +25 -0
  94. package/dist/parsers/aparte-stream-parser.d.ts.map +1 -1
  95. package/dist/primitives/index.d.ts +1 -1
  96. package/dist/primitives/index.d.ts.map +1 -1
  97. package/dist/primitives/select/aparte-optgroup.d.ts +15 -4
  98. package/dist/primitives/select/aparte-optgroup.d.ts.map +1 -1
  99. package/dist/primitives/select/aparte-option.d.ts +0 -5
  100. package/dist/primitives/select/aparte-option.d.ts.map +1 -1
  101. package/dist/primitives/select/aparte-select.d.ts +17 -5
  102. package/dist/primitives/select/aparte-select.d.ts.map +1 -1
  103. package/dist/primitives/select/index.d.ts +1 -1
  104. package/dist/primitives/select/index.d.ts.map +1 -1
  105. package/dist/renderers/markdown-stream.d.ts +42 -0
  106. package/dist/renderers/markdown-stream.d.ts.map +1 -0
  107. package/dist/renderers/segment-renderers.d.ts +20 -14
  108. package/dist/renderers/segment-renderers.d.ts.map +1 -1
  109. package/dist/renderers/segments/artifact/binary-file.d.ts +45 -0
  110. package/dist/renderers/segments/artifact/binary-file.d.ts.map +1 -0
  111. package/dist/renderers/segments/artifact/card.d.ts +3 -0
  112. package/dist/renderers/segments/artifact/card.d.ts.map +1 -0
  113. package/dist/renderers/segments/artifact/preview-document.d.ts +27 -0
  114. package/dist/renderers/segments/artifact/preview-document.d.ts.map +1 -0
  115. package/dist/renderers/segments/artifact/shared.d.ts +12 -0
  116. package/dist/renderers/segments/artifact/shared.d.ts.map +1 -0
  117. package/dist/renderers/segments/code.d.ts +3 -0
  118. package/dist/renderers/segments/code.d.ts.map +1 -0
  119. package/dist/renderers/segments/error.d.ts +3 -0
  120. package/dist/renderers/segments/error.d.ts.map +1 -0
  121. package/dist/renderers/segments/file-tree.d.ts +3 -0
  122. package/dist/renderers/segments/file-tree.d.ts.map +1 -0
  123. package/dist/renderers/segments/pipeline-waiting.d.ts +3 -0
  124. package/dist/renderers/segments/pipeline-waiting.d.ts.map +1 -0
  125. package/dist/renderers/segments/progress.d.ts +3 -0
  126. package/dist/renderers/segments/progress.d.ts.map +1 -0
  127. package/dist/renderers/segments/terminal.d.ts +3 -0
  128. package/dist/renderers/segments/terminal.d.ts.map +1 -0
  129. package/dist/renderers/segments/text.d.ts +10 -0
  130. package/dist/renderers/segments/text.d.ts.map +1 -0
  131. package/dist/renderers/segments/thinking.d.ts +3 -0
  132. package/dist/renderers/segments/thinking.d.ts.map +1 -0
  133. package/dist/renderers/segments/tool-call.d.ts +3 -0
  134. package/dist/renderers/segments/tool-call.d.ts.map +1 -0
  135. package/dist/runtime/message-repository.d.ts +3 -3
  136. package/dist/runtime/message-repository.d.ts.map +1 -1
  137. package/dist/transport/backend-handler.d.ts +19 -7
  138. package/dist/transport/backend-handler.d.ts.map +1 -1
  139. package/dist/transport/backend-transport.d.ts +1 -1
  140. package/dist/transport/backend-transport.d.ts.map +1 -1
  141. package/dist/transport/direct-transport.d.ts +4 -4
  142. package/dist/transport/direct-transport.d.ts.map +1 -1
  143. package/dist/transport/index.d.ts +2 -2
  144. package/dist/transport/index.d.ts.map +1 -1
  145. package/dist/transport/types.d.ts +3 -3
  146. package/dist/types/element-map.d.ts +69 -0
  147. package/dist/types/element-map.d.ts.map +1 -0
  148. package/dist/types/event-map.d.ts +84 -23
  149. package/dist/types/event-map.d.ts.map +1 -1
  150. package/dist/types/events.d.ts +212 -64
  151. package/dist/types/events.d.ts.map +1 -1
  152. package/dist/types/index.d.ts +4 -5
  153. package/dist/types/index.d.ts.map +1 -1
  154. package/dist/types/model-provider.d.ts +100 -54
  155. package/dist/types/model-provider.d.ts.map +1 -1
  156. package/dist/types/models.d.ts +29 -7
  157. package/dist/types/models.d.ts.map +1 -1
  158. package/dist/types/segments.d.ts +33 -8
  159. package/dist/types/segments.d.ts.map +1 -1
  160. package/dist/types/theming.d.ts +25 -37
  161. package/dist/types/theming.d.ts.map +1 -1
  162. package/dist/types/tools.d.ts +60 -15
  163. package/dist/types/tools.d.ts.map +1 -1
  164. package/dist/utils/escape.d.ts +46 -0
  165. package/dist/utils/escape.d.ts.map +1 -0
  166. package/dist/utils/files-to-attachments.d.ts +18 -1
  167. package/dist/utils/files-to-attachments.d.ts.map +1 -1
  168. package/dist/utils/segments.d.ts +174 -0
  169. package/dist/utils/segments.d.ts.map +1 -0
  170. package/dist/utils/uuid.d.ts +26 -0
  171. package/dist/utils/uuid.d.ts.map +1 -0
  172. package/package.json +3 -5
  173. package/dist/index-Dn7TH14G.js.map +0 -1
  174. package/dist/types/providers.d.ts +0 -93
  175. package/dist/types/providers.d.ts.map +0 -1
package/dist/index.css CHANGED
@@ -231,6 +231,39 @@
231
231
  --aparte-thinking-toggle-size: 9px;
232
232
  --aparte-thinking-rail-width: 2px;
233
233
 
234
+ /* Elicitation — the panel a tool's question is asked in.
235
+ These exist because the panel's CSS used to be a \3c style> injected from JS with
236
+ every value hardcoded, so it was the one surface in the library that could not
237
+ be themed and did not appear in the generated CSS reference. */
238
+ --aparte-elic-gap: 6px;
239
+ --aparte-elic-padding: 6px 4px;
240
+ --aparte-elic-max-height: 50vh;
241
+ --aparte-elic-field-gap: 8px;
242
+ --aparte-elic-message-size: 0.82rem;
243
+ --aparte-elic-title-size: 0.8rem;
244
+ --aparte-elic-desc-size: 0.76rem;
245
+ --aparte-elic-option-padding: 7px 10px;
246
+ --aparte-elic-option-radius: 8px;
247
+ --aparte-elic-option-title-size: 0.875rem;
248
+ --aparte-elic-option-desc-size: 0.78rem;
249
+ --aparte-elic-control-size: 15px;
250
+ --aparte-elic-input-radius: 6px;
251
+ --aparte-elic-textarea-min-height: 64px;
252
+ --aparte-elic-skip-size: 0.8rem;
253
+ --aparte-elic-step-size: 0.78rem;
254
+ --aparte-elic-step-padding: 4px 2px;
255
+ --aparte-elic-step-gap: 14px;
256
+ /* Tabs, not pills.
257
+ Two passes to get here, both wrong for the same reason — decorating a control
258
+ instead of choosing what it IS. First a fully-round pill filled with the primary
259
+ colour: the only 9999px thing in a panel built from 4/6/8px corners, and it read
260
+ as a second send button. Then a small bordered rectangle: still a button.
261
+ A step indicator is a TAB — text on a rail, and the current one carries a thick
262
+ underline. No box, no fill, no border. */
263
+ --aparte-elic-step-underline: 2px;
264
+ /* Space kept clear at the end of the tab rail for the corner escape. */
265
+ --aparte-elic-dismiss-room: 72px;
266
+
234
267
  /* Code Blocks */
235
268
  --aparte-code-bg: var(--aparte-surface-1);
236
269
  --aparte-code-header-bg: var(--aparte-surface-2);
@@ -459,7 +492,7 @@ aparte-chat > aparte-chat-viewport,
459
492
  min-height: 0;
460
493
  }
461
494
 
462
- /* Model-selection gate (opt-in via AparteConfig.setRequireModelSelection): grey the
495
+ /* Model-selection gate (opt-in via aparteGlobalConfig.setRequireModelSelection): grey the
463
496
  composer and block its send button until a model is selected — e.g. while the
464
497
  model selector is still fetching. Ungates automatically on selection.
465
498
  Unscoped so it greys the composer in EVERY host (vanilla shell + all wrappers),
@@ -471,6 +504,240 @@ aparte-composer[data-model-gated] aparte-composer-send {
471
504
  pointer-events: none;
472
505
  }
473
506
 
507
+ /* Panel mode: the composer is answering a question, not composing a message.
508
+ The text input goes, and so does the attachment picker — an affordance nothing
509
+ can honour is not rendered (ratified decision #8), and it stayed clickable
510
+ through a whole elicitation. The attachments strip stays: pending attachments
511
+ are the user's STATE, not an action to offer. So does the toolbar —
512
+ switching model still does something. */
513
+ aparte-composer[data-panel-active] aparte-composer-input,
514
+ aparte-composer[data-panel-active] aparte-composer-add-attachment {
515
+ display: none;
516
+ }
517
+
518
+ /* ─────────────────────────────────────────────────────────────────────────────
519
+ The elicitation panel — a tool asking the user something, inside the composer.
520
+
521
+ This lived in a template string injected as a \3c style> from
522
+ `aparte-elicitation.ts`, with every size and radius hardcoded. Three costs, all
523
+ paid: it was the one surface in the library that could not be themed, its
524
+ variables were absent from the generated CSS reference, and the injection was a
525
+ document singleton that was never re-created if anything removed it — the exact
526
+ latent defect `injectRendererStyles` had until this release.
527
+ ───────────────────────────────────────────────────────────────────────────── */
528
+ .aparte-elic-panel {
529
+ display: flex;
530
+ flex-direction: column;
531
+ gap: var(--aparte-elic-gap, 6px);
532
+ padding: var(--aparte-elic-padding, 6px 4px);
533
+ width: 100%;
534
+ box-sizing: border-box;
535
+ max-height: var(--aparte-elic-max-height, 50vh);
536
+ /* The panel itself does not scroll: its BODY does, so the tabs stay at the top and
537
+ the corner escape stays put instead of sliding under the fold. */
538
+ overflow: hidden;
539
+ /* The dismiss corner positions against this. */
540
+ position: relative;
541
+ }
542
+
543
+ .aparte-elic-body {
544
+ flex: 1 1 auto;
545
+ /* Without this a flex child refuses to shrink below its content and the scroll
546
+ never engages — the classic flexbox min-height trap. */
547
+ min-height: 0;
548
+ overflow-y: auto;
549
+ /* A thin, themed scrollbar: the native one is a grey slab across a soft card. */
550
+ scrollbar-width: thin;
551
+ scrollbar-color: var(--aparte-border, rgba(128, 128, 128, 0.3)) transparent;
552
+ }
553
+
554
+ .aparte-elic-message {
555
+ margin: 0 6px 6px;
556
+ font-size: var(--aparte-elic-message-size, 0.82rem);
557
+ font-weight: var(--aparte-font-weight-semibold, 600);
558
+ color: var(--aparte-text);
559
+ line-height: 1.4;
560
+ }
561
+
562
+ /* One question per field, separated so a form of several reads as several. */
563
+ .aparte-elic-field + .aparte-elic-field {
564
+ margin-top: var(--aparte-elic-field-gap, 8px);
565
+ padding-top: var(--aparte-elic-field-gap, 8px);
566
+ border-top: var(--aparte-border-width, 1px) solid var(--aparte-border, rgba(128, 128, 128, 0.12));
567
+ }
568
+
569
+ .aparte-elic-title {
570
+ margin: 0 6px 4px;
571
+ font-size: var(--aparte-elic-title-size, 0.8rem);
572
+ font-weight: var(--aparte-font-weight-semibold, 600);
573
+ color: var(--aparte-text);
574
+ }
575
+
576
+ .aparte-elic-desc {
577
+ margin: 0 6px 6px;
578
+ font-size: var(--aparte-elic-desc-size, 0.76rem);
579
+ color: var(--aparte-text-muted, rgba(128, 128, 128, 0.75));
580
+ }
581
+
582
+ .aparte-elic-options {
583
+ display: flex;
584
+ flex-direction: column;
585
+ gap: 1px;
586
+ }
587
+
588
+ .aparte-elic-option {
589
+ display: flex;
590
+ align-items: flex-start;
591
+ gap: 10px;
592
+ padding: var(--aparte-elic-option-padding, 7px 10px);
593
+ border-radius: var(--aparte-elic-option-radius, 8px);
594
+ cursor: pointer;
595
+ border: var(--aparte-border-width, 1px) solid transparent;
596
+ transition: background 0.12s, border-color 0.12s;
597
+ }
598
+
599
+ .aparte-elic-option:hover {
600
+ background: var(--aparte-surface-2, rgba(128, 128, 128, 0.08));
601
+ border-color: var(--aparte-border, rgba(128, 128, 128, 0.15));
602
+ }
603
+
604
+ .aparte-elic-control {
605
+ margin-top: 3px;
606
+ flex-shrink: 0;
607
+ accent-color: var(--aparte-primary, #6366f1);
608
+ width: var(--aparte-elic-control-size, 15px);
609
+ height: var(--aparte-elic-control-size, 15px);
610
+ cursor: pointer;
611
+ }
612
+
613
+ .aparte-elic-option-body {
614
+ display: flex;
615
+ flex-direction: column;
616
+ gap: 2px;
617
+ flex: 1;
618
+ }
619
+
620
+ .aparte-elic-option-title {
621
+ font-size: var(--aparte-elic-option-title-size, 0.875rem);
622
+ font-weight: var(--aparte-font-weight-medium, 500);
623
+ color: var(--aparte-text, inherit);
624
+ line-height: 1.4;
625
+ }
626
+
627
+ .aparte-elic-option-desc {
628
+ font-size: var(--aparte-elic-option-desc-size, 0.78rem);
629
+ color: var(--aparte-text-muted, rgba(128, 128, 128, 0.75));
630
+ line-height: 1.4;
631
+ }
632
+
633
+ .aparte-elic-other-input,
634
+ .aparte-elic-text {
635
+ margin-top: 4px;
636
+ width: 100%;
637
+ padding: 6px 8px;
638
+ border: var(--aparte-border-width, 1px) solid var(--aparte-border, rgba(128, 128, 128, 0.2));
639
+ border-radius: var(--aparte-elic-input-radius, 6px);
640
+ font-size: var(--aparte-elic-option-title-size, 0.875rem);
641
+ background: var(--aparte-surface-2, rgba(128, 128, 128, 0.06));
642
+ color: var(--aparte-text, inherit);
643
+ outline: none;
644
+ box-sizing: border-box;
645
+ font-family: inherit;
646
+ }
647
+
648
+ textarea.aparte-elic-text {
649
+ min-height: var(--aparte-elic-textarea-min-height, 64px);
650
+ resize: vertical;
651
+ }
652
+
653
+ .aparte-elic-other-input:focus,
654
+ .aparte-elic-text:focus {
655
+ border-color: var(--aparte-primary, #6366f1);
656
+ }
657
+
658
+ .aparte-elic-option--recommended {
659
+ border-color: var(--aparte-primary, #6366f1);
660
+ background: color-mix(in srgb, var(--aparte-primary, #6366f1) 6%, transparent);
661
+ }
662
+
663
+ /* The whole-request escape, in the corner and out of the way of anything that
664
+ answers a question. It used to be a row at the bottom beside the button that
665
+ advances through the form, and that adjacency promised "skip this question" while
666
+ it declines the lot. */
667
+ .aparte-elic-dismiss {
668
+ position: absolute;
669
+ top: 0;
670
+ inset-inline-end: 0;
671
+ z-index: 1;
672
+ }
673
+
674
+ .aparte-elic-skip {
675
+ border: none;
676
+ background: transparent;
677
+ color: var(--aparte-text-muted, rgba(128, 128, 128, 0.75));
678
+ font-size: var(--aparte-elic-skip-size, 0.8rem);
679
+ cursor: pointer;
680
+ padding: 4px 8px;
681
+ border-radius: var(--aparte-elic-input-radius, 6px);
682
+ font-family: inherit;
683
+ }
684
+
685
+ .aparte-elic-skip:hover {
686
+ background: var(--aparte-surface-2, rgba(128, 128, 128, 0.08));
687
+ color: var(--aparte-text);
688
+ }
689
+
690
+ /* One question at a time: a chip per question, and the chip is also how you go
691
+ back. In this layout the fields are siblings with only one shown, so the
692
+ separator between them would draw a border above whichever one is visible. */
693
+ .aparte-elic-panel--stepped .aparte-elic-field + .aparte-elic-field {
694
+ margin-top: 0;
695
+ padding-top: 0;
696
+ border-top: none;
697
+ }
698
+
699
+ /* The tab rail: a hairline the tabs sit on, so the active underline reads as a tab
700
+ rather than as a dash floating under a word. */
701
+ .aparte-elic-steps {
702
+ display: flex;
703
+ flex-wrap: wrap;
704
+ gap: var(--aparte-elic-step-gap, 14px);
705
+ /* Room on the end for the corner escape, so the tabs never run under it. */
706
+ margin: 0 var(--aparte-elic-dismiss-room, 72px) 8px 6px;
707
+ border-bottom: var(--aparte-border-width, 1px) solid var(--aparte-border, rgba(128, 128, 128, 0.15));
708
+ }
709
+
710
+ .aparte-elic-step {
711
+ border: none;
712
+ background: transparent;
713
+ color: var(--aparte-text-muted, rgba(128, 128, 128, 0.75));
714
+ font-size: var(--aparte-elic-step-size, 0.78rem);
715
+ font-family: inherit;
716
+ padding: var(--aparte-elic-step-padding, 4px 2px);
717
+ cursor: pointer;
718
+ /* Reserved on every tab, so switching does not shift the text by two pixels. */
719
+ border-bottom: var(--aparte-elic-step-underline, 2px) solid transparent;
720
+ /* The underline sits ON the rail, not above it. */
721
+ margin-bottom: calc(-1 * var(--aparte-border-width, 1px));
722
+ }
723
+
724
+ /* Answered: readable, but it is not where you are. */
725
+ .aparte-elic-step[data-answered] {
726
+ color: var(--aparte-text);
727
+ }
728
+
729
+ .aparte-elic-step[aria-selected='true'] {
730
+ color: var(--aparte-text);
731
+ font-weight: var(--aparte-font-weight-semibold, 600);
732
+ border-bottom-color: var(--aparte-primary, #6366f1);
733
+ }
734
+
735
+ .aparte-elic-step:hover:not([aria-selected='true']) {
736
+ color: var(--aparte-text);
737
+ border-bottom-color: var(--aparte-border, rgba(128, 128, 128, 0.35));
738
+ }
739
+
740
+
474
741
  aparte-composer {
475
742
  flex: 0 0 auto;
476
743
  }
@@ -835,7 +1102,7 @@ aparte-chat-bubble {
835
1102
  }
836
1103
 
837
1104
  /* Only an image tile the app declared it can preview is a button — see
838
- AparteConfig.setHostHandlers(). Undeclared, it is a picture, not a control. */
1105
+ aparteGlobalConfig.setHostHandlers(). Undeclared, it is a picture, not a control. */
839
1106
  .aparte-thumb--image[role='button'] {
840
1107
  cursor: pointer;
841
1108
  }
@@ -1451,48 +1718,55 @@ aparte-chat-status:not([visible]) {
1451
1718
  }
1452
1719
 
1453
1720
  .aparte-content p,
1454
- .segment-content p {
1721
+ .segment-content p,
1722
+ .thinking-content p {
1455
1723
  margin: var(--aparte-prose-p-margin, 0.4em 0);
1456
1724
  }
1457
1725
 
1458
1726
  .aparte-content p:first-child,
1459
- .segment-content p:first-child {
1727
+ .segment-content p:first-child,
1728
+ .thinking-content p:first-child {
1460
1729
  margin-top: 0;
1461
1730
  }
1462
1731
 
1463
1732
  .aparte-content p:last-child,
1464
- .segment-content p:last-child {
1733
+ .segment-content p:last-child,
1734
+ .thinking-content p:last-child {
1465
1735
  margin-bottom: 0;
1466
1736
  }
1467
1737
 
1468
- .aparte-content h1, .segment-content h1 { font-size: var(--aparte-prose-h1-size, 1.4em); font-weight: var(--aparte-font-weight-semibold, 600); margin: 0.6em 0 0.2em; }
1469
- .aparte-content h2, .segment-content h2 { font-size: var(--aparte-prose-h2-size, 1.25em); font-weight: var(--aparte-font-weight-semibold, 600); margin: 0.5em 0 0.2em; }
1470
- .aparte-content h3, .segment-content h3 { font-size: var(--aparte-prose-h3-size, 1.1em); font-weight: var(--aparte-font-weight-semibold, 600); margin: 0.4em 0 0.15em; }
1471
- .aparte-content h4, .segment-content h4,
1472
- .aparte-content h5, .segment-content h5,
1473
- .aparte-content h6, .segment-content h6 { font-size: 1em; font-weight: var(--aparte-font-weight-semibold, 600); margin: 0.3em 0 0.1em; }
1738
+ .aparte-content h1, .segment-content h1, .thinking-content h1 { font-size: var(--aparte-prose-h1-size, 1.4em); font-weight: var(--aparte-font-weight-semibold, 600); margin: 0.6em 0 0.2em; }
1739
+ .aparte-content h2, .segment-content h2, .thinking-content h2 { font-size: var(--aparte-prose-h2-size, 1.25em); font-weight: var(--aparte-font-weight-semibold, 600); margin: 0.5em 0 0.2em; }
1740
+ .aparte-content h3, .segment-content h3, .thinking-content h3 { font-size: var(--aparte-prose-h3-size, 1.1em); font-weight: var(--aparte-font-weight-semibold, 600); margin: 0.4em 0 0.15em; }
1741
+ .aparte-content h4, .segment-content h4, .thinking-content h4,
1742
+ .aparte-content h5, .segment-content h5, .thinking-content h5,
1743
+ .aparte-content h6, .segment-content h6, .thinking-content h6 { font-size: 1em; font-weight: var(--aparte-font-weight-semibold, 600); margin: 0.3em 0 0.1em; }
1474
1744
 
1475
1745
  .aparte-content ul,
1476
- .segment-content ul {
1746
+ .segment-content ul,
1747
+ .thinking-content ul {
1477
1748
  list-style: disc;
1478
1749
  padding-left: var(--aparte-prose-list-indent, 1.5em);
1479
1750
  margin: var(--aparte-prose-list-margin, 0.4em 0);
1480
1751
  }
1481
1752
 
1482
1753
  .aparte-content ol,
1483
- .segment-content ol {
1754
+ .segment-content ol,
1755
+ .thinking-content ol {
1484
1756
  list-style: decimal;
1485
1757
  padding-left: var(--aparte-prose-list-indent, 1.5em);
1486
1758
  margin: var(--aparte-prose-list-margin, 0.4em 0);
1487
1759
  }
1488
1760
 
1489
1761
  .aparte-content li,
1490
- .segment-content li {
1762
+ .segment-content li,
1763
+ .thinking-content li {
1491
1764
  margin: var(--aparte-prose-li-margin, 0.15em 0);
1492
1765
  }
1493
1766
 
1494
1767
  .aparte-content blockquote,
1495
- .segment-content blockquote {
1768
+ .segment-content blockquote,
1769
+ .thinking-content blockquote {
1496
1770
  border-left: var(--aparte-prose-blockquote-border-width, 3px) solid var(--aparte-prose-blockquote-border, var(--aparte-border, #e5e7eb));
1497
1771
  padding-left: 1em;
1498
1772
  margin: 0.4em 0;
@@ -1501,17 +1775,20 @@ aparte-chat-status:not([visible]) {
1501
1775
  }
1502
1776
 
1503
1777
  .aparte-content strong,
1504
- .segment-content strong {
1778
+ .segment-content strong,
1779
+ .thinking-content strong {
1505
1780
  font-weight: var(--aparte-font-weight-semibold, 600);
1506
1781
  }
1507
1782
 
1508
1783
  .aparte-content em,
1509
- .segment-content em {
1784
+ .segment-content em,
1785
+ .thinking-content em {
1510
1786
  font-style: italic;
1511
1787
  }
1512
1788
 
1513
1789
  .aparte-content code,
1514
- .segment-content code {
1790
+ .segment-content code,
1791
+ .thinking-content code {
1515
1792
  font-family: var(--aparte-code-font-family, ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace);
1516
1793
  font-size: var(--aparte-code-inline-font-size, 0.875em);
1517
1794
  background: var(--aparte-prose-code-bg, var(--aparte-code-bg, #f3f4f6));
@@ -1520,13 +1797,15 @@ aparte-chat-status:not([visible]) {
1520
1797
  }
1521
1798
 
1522
1799
  .aparte-content a,
1523
- .segment-content a {
1800
+ .segment-content a,
1801
+ .thinking-content a {
1524
1802
  color: var(--aparte-primary, #6366f1);
1525
1803
  text-decoration: underline;
1526
1804
  }
1527
1805
 
1528
1806
  .aparte-content hr,
1529
- .segment-content hr {
1807
+ .segment-content hr,
1808
+ .thinking-content hr {
1530
1809
  border: none;
1531
1810
  border-top: var(--aparte-border-width, 1px) solid var(--aparte-border, #e5e7eb);
1532
1811
  margin: 0.75em 0;
@@ -1576,7 +1855,6 @@ details[open] .thinking-toggle {
1576
1855
  padding: var(--aparte-space-2, 4px) 0 var(--aparte-space-1, 2px) var(--aparte-space-5, 10px);
1577
1856
  font-size: var(--aparte-font-size-md, 13px);
1578
1857
  line-height: var(--aparte-thinking-content-line-height, 1.55);
1579
- white-space: pre-wrap;
1580
1858
  color: var(--aparte-thinking-content, #4b5563);
1581
1859
  background: transparent;
1582
1860
  max-height: var(--aparte-thinking-content-max-height, 300px);
package/dist/index.d.ts CHANGED
@@ -17,41 +17,50 @@
17
17
 
18
18
 
19
19
  import './types/event-map.js';
20
- export { AparteSelect, AparteOption, AparteOptgroup, type AparteSelectChangeDetail, AparteProgressSpinner } from './primitives/index.js';
21
- export type { AparteBubbleRole, AparteMessage, AparteContentParser, AparteSendEventDetail, AparteTokenEventDetail, AparteViewportConfig, AparteInputConfig, AparteThemeVariables, AparteStatus, AparteAttachment, AparteMessageBranch, AparteBubbleActionsConfig, AparteBubbleActionName, AparteSegment, AparteSegmentType, AparteTextSegment, AparteThinkingSegment, AparteCodeSegment, AparteTerminalSegment, AparteSegmentRenderer, AparteCustomSegment, AparteToolCallSegment, AparteArtifactSegment, AparteAIProvider, AparteAIModel, AparteAIProviderConfigField, AparteAIProviderConfigSchema, AparteModelConfig, ModelStatus, ModelLoadProgress, AparteModelChangeEventDetail, AparteMessageDoneEventDetail, AparteMessageInfoEventDetail, AparteSiblingInfo, AparteBranchNavigateEventDetail, ApartePathChangedEventDetail, AparteRetryEventDetail, AparteEditEventDetail, AparteFeedbackEventDetail, AparteActionEventDetail, AparteArtifactStartEventDetail, AparteArtifactDeltaEventDetail, AparteArtifactReadyEventDetail, AparteArtifactOpenEventDetail, AparteChatRequest, AparteChatResponse, AparteChatMessage, AparteContentPart, AparteTextPart, AparteImagePart, AparteFilePart, AparteStreamEvent, AparteStreamEventMap, AparteUsage, AparteTool, AparteToolCall, AparteToolResult, AparteToolHandler, AparteToolRenderer, AparteToolDecisionDetail, AparteToolApprovalRequestDetail, AparteToolActionDetail, AparteChatImperativeApi } from './types/index.js';
20
+ import './types/element-map.js';
21
+ export { AparteSelect, AparteOption, AparteOptgroup, type AparteSelectChangeDetail, type AparteOptgroupToggleEventDetail, AparteProgressSpinner } from './primitives/index.js';
22
+ export type { AparteBubbleRole, AparteMessage, AparteContentParser, AparteSendEventDetail, AparteViewportConfig, AparteInputConfig, AparteThemeVariables, AparteStatus, AparteAttachment, AparteMessageBranch, AparteBubbleActionsConfig, AparteBubbleActionName, AparteSegment, AparteSegmentType, AparteTextSegment, AparteThinkingSegment, AparteCodeSegment, AparteTerminalSegment, AparteSegmentRenderer, AparteCustomSegment, AparteToolCallSegment, AparteArtifactSegment, AparteSegmentUpdateEventDetail, AparteAIProvider, AparteAIModel, AparteAIProviderConfigField, AparteAIProviderConfigSchema, AparteModelConfig, ModelStatus, ModelLoadProgress, AparteModelChangeEventDetail, AparteMessageDoneEventDetail, AparteMessageStartEventDetail, AparteMessageErrorEventDetail, AparteMessageAbortedEventDetail, AparteAbortEventDetail, AparteCompactEventDetail, AparteCompactDoneEventDetail, AparteCompactErrorEventDetail, AparteAttachmentPreviewEventDetail, AparteTerminalRunEventDetail, AparteFileGenReadyEventDetail, AparteFileGenErrorEventDetail, AparteMessageInfoEventDetail, AparteSiblingInfo, AparteBranchNavigateEventDetail, ApartePathChangedEventDetail, AparteRetryEventDetail, AparteEditEventDetail, AparteFeedbackEventDetail, AparteActionEventDetail, AparteArtifactStartEventDetail, AparteArtifactDeltaEventDetail, AparteArtifactReadyEventDetail, AparteArtifactRedownloadEventDetail, AparteChatRequest, AparteChatResponse, AparteChatMessage, AparteContentPart, AparteTextPart, AparteImagePart, AparteFilePart, AparteStreamEvent, AparteStreamEventMap, AparteUsage, AparteTool, AparteToolCall, AparteToolResult, AparteToolHandler, AparteToolContext, AparteToolRenderer, AparteToolDecisionDetail, AparteToolApprovalRequestDetail, AparteChatImperativeApi } from './types/index.js';
22
23
  export { AparteErrorCode, AparteError, contentToText } from './types/index.js';
23
- export { registerSegmentRenderer, unregisterSegmentRenderer, getSegmentRenderer, collectRendererStyles, registerDefaultRenderers } from './renderers/index.js';
24
+ export { registerSegmentRenderer, unregisterSegmentRenderer, getSegmentRenderer, collectRendererStyles, registerDefaultRenderers, installDefaultRenderersOnce, declineDefaultRenderers, getAllRenderers } from './renderers/index.js';
24
25
  export { AparteChat } from './components/index.js';
25
26
  export { AparteChatBubble, populateBubbleFromMessage } from './components/index.js';
26
27
  export type { SyncableBubble } from './components/index.js';
27
28
  export { AparteChatStatus } from './components/index.js';
28
29
  export { AparteChatViewport } from './components/index.js';
29
30
  export { AparteComposer, AparteComposerInput, AparteComposerSend, AparteComposerCancel, AparteComposerAttachments, AparteComposerAddAttachment, AparteComposerAction, AparteComposerToolbar } from './components/index.js';
30
- export type { AparteComposerEventMap, AparteComposerEventType, AparteComposerState, AparteComposerChangeEventDetail } from './components/index.js';
31
+ export type { AparteComposerEventMap, AparteComposerEventType, AparteComposerState, AparteComposerChangeEventDetail, AparteActionClickEventDetail } from './components/index.js';
31
32
  export { AparteConversationList } from './components/index.js';
32
- export type { AparteConversationListItem, AparteConversationSelectDetail, AparteConversationDeleteDetail } from './components/index.js';
33
+ export type { AparteConversationListItem, AparteConversationSelectDetail, AparteConversationDeleteDetail, AparteConversationArchiveDetail } from './components/index.js';
33
34
  export type { AparteConversation, AparteConversationMeta, AparteStorageAdapter, AparteMemoryFact, AparteArtifactRow, AparteAttachmentRow, } from './conversations/index.js';
34
35
  export { APARTE_CONVERSATION_SCHEMA_VERSION } from './conversations/index.js';
35
- export { ConversationManager, type ConversationManagerOptions } from './conversations/index.js';
36
+ export { AparteConversationManager, type ConversationManagerOptions } from './conversations/index.js';
36
37
  export { AparteConversationController, type AparteChatBinding, type AparteConversationControllerOptions, } from './conversations/index.js';
37
38
  export { AparteChatHost, type AparteChatHostBinding, type AparteChatHostOptions, } from './host/index.js';
38
39
  export { AparteStreamParser, parseMarkdownToSegments, deriveArtifactKind } from './parsers/index.js';
39
40
  export type { AparteStreamParserOptions, AparteThinkingDelimiterPair, AparteParserState, AparteParserResult } from './parsers/index.js';
40
41
  export { parseAparteEventStream } from './parsers/index.js';
41
- export { AparteConfig, AparteConfigClass, DEFAULT_BUBBLE_ACTIONS, DEFAULT_HOST_HANDLERS } from './config/index.js';
42
+ export { aparteGlobalConfig, AparteConfig, APARTE_DEFAULT_BUBBLE_ACTIONS, APARTE_DEFAULT_HOST_HANDLERS } from './config/index.js';
43
+ export type { AparteConfigChangeEventDetail } from './config/index.js';
42
44
  export { resolveConfig, attachConfig, detachConfig, runWithConfig, contextConfig, APARTE_HOST_ATTR } from './config/index.js';
43
- export type { AparteMarkdownProvider, AparteStreamingMarkdownProvider, AparteStreamingMarkdownRenderer, AparteHighlightProvider, AparteSystemPromptVarsProvider, AparteSkeletonProvider, AparteSkeletonType, AparteLocale, AparteAction, AparteActionZone, AparteIconProvider, AparteIconName, AparteAvatarProvider, AparteStatusRenderer, AparteErrorRenderer, AparteAttachmentRenderer, AparteSiblingNavRenderer, AparteBubbleShellRenderer, AparteModelPreference, AparteModelPreferenceProvider, AparteArtifactPreviewBuilder, AparteSanitizer } from './config/index.js';
44
- export { DEFAULT_ICON_FALLBACKS, DEFAULT_SKELETON_FALLBACKS, DEFAULT_LOCALE, defaultSanitizer, isSafeUrl } from './config/index.js';
45
+ export type { AparteConfigAware } from './config/index.js';
46
+ export type { AparteMarkdownProvider, AparteStreamingMarkdownProvider, AparteStreamingMarkdownRenderer, AparteHighlightProvider, AparteSystemPromptVarsProvider, AparteSkeletonProvider, AparteSkeletonType, AparteLocale, AparteAction, AparteActionZone, AparteIconProvider, AparteIconName, AparteAvatarProvider, AparteStatusRenderer, AparteErrorRenderer, AparteAttachmentRenderer, AparteElicitationFieldRenderer, AparteElicitationFieldContext, AparteElicitationFieldControl, AparteSiblingNavRenderer, AparteBubbleShellRenderer, AparteModelPreference, AparteModelPreferenceProvider, AparteArtifactPreviewBuilder, AparteSanitizer } from './config/index.js';
47
+ export { APARTE_DEFAULT_ICON_FALLBACKS, APARTE_DEFAULT_SKELETON_FALLBACKS, APARTE_DEFAULT_LOCALE, defaultSanitizer, isSafeUrl } from './config/index.js';
45
48
  export { AparteClient } from './client/aparte-client.js';
46
- export { applyElementProps, DEFAULT_UI_EVENTS } from './interop/element-props.js';
47
- export { filesToAttachments } from './utils/files-to-attachments.js';
49
+ export { applyElementProps, APARTE_DEFAULT_UI_EVENTS } from './interop/element-props.js';
50
+ export { filesToAttachments, revokeAttachmentUrls } from './utils/files-to-attachments.js';
48
51
  export { isAwaitingReply } from './utils/is-awaiting-reply.js';
52
+ export { escapeHtml, escapeAttr } from './utils/escape.js';
53
+ export { cssEscape } from './utils/css-escape.js';
54
+ export { uuid } from './utils/uuid.js';
55
+ export { isSegmentSettled, segmentDuration } from './utils/segments.js';
56
+ export type { AparteHostHandlersConfig } from './types/models.js';
57
+ export type { AparteKeyProvider } from './config/aparte-config.js';
49
58
  export type { AparteClientOptions, AparteToolApprovalResolver, AparteCompactionSelector } from './client/aparte-client.js';
50
59
  export { createStreamAdapter, readableToAsyncIterable } from './client/stream-adapter.js';
51
60
  export type { AparteStreamRunEvent, AparteStreamRunEmitter, StreamAdapterTarget, CreateStreamAdapterOptions, AparteStreamRunner, AparteStreamRunOptions } from './client/stream-adapter.js';
52
- export { DirectTransport, BackendTransport, createAparteChatHandler, isFormatAdapter } from './transport/index.js';
61
+ export { AparteDirectTransport, AparteBackendTransport, createAparteChatHandler, isFormatAdapter } from './transport/index.js';
53
62
  export type { AparteTransport, AparteTransportContext, AparteFormatAdapter, AparteVendorRequest, BackendTransportOptions, DirectTransportOptions, AparteChatHandlerOptions } from './transport/index.js';
54
- export { MessageRepository } from './runtime/message-repository.js';
63
+ export { AparteMessageRepository } from './runtime/message-repository.js';
55
64
  export type { ExportedMessageRepository } from './runtime/message-repository.js';
56
65
  export { requestUserInput, buildElicitationPanel } from './elicitation/index.js';
57
66
  export type { AparteElicitationSchema, AparteElicitationField, AparteElicitationEnumField, AparteElicitationBooleanField, AparteElicitationStringField, AparteElicitationObjectSchema, AparteElicitationRequest, AparteElicitationResult, AparteElicitationPresenter, BuiltElicitationPanel, } from './elicitation/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}