@syntrologie/adapt-chatbot 2.8.0-canary.64 → 2.8.0-canary.641

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 (256) hide show
  1. package/dist/AdaptiveChatBar.ask-bar.test.d.ts +7 -0
  2. package/dist/AdaptiveChatBar.ask-bar.test.d.ts.map +1 -0
  3. package/dist/AdaptiveChatBar.composer.test.d.ts +2 -0
  4. package/dist/AdaptiveChatBar.composer.test.d.ts.map +1 -0
  5. package/dist/AdaptiveChatBar.d.ts +280 -0
  6. package/dist/AdaptiveChatBar.d.ts.map +1 -0
  7. package/dist/AdaptiveChatBar.interleave.test.d.ts +9 -0
  8. package/dist/AdaptiveChatBar.interleave.test.d.ts.map +1 -0
  9. package/dist/AdaptiveChatBar.js +12 -0
  10. package/dist/AdaptiveChatBar.js.map +7 -0
  11. package/dist/AdaptiveChatBarMountable.d.ts +93 -0
  12. package/dist/AdaptiveChatBarMountable.d.ts.map +1 -0
  13. package/dist/AdaptiveChatTrail.anchor-scroll.test.d.ts +2 -0
  14. package/dist/AdaptiveChatTrail.anchor-scroll.test.d.ts.map +1 -0
  15. package/dist/AdaptiveChatTrail.d.ts +546 -0
  16. package/dist/AdaptiveChatTrail.d.ts.map +1 -0
  17. package/dist/AdaptiveChatTrail.follow-bottom.test.d.ts +2 -0
  18. package/dist/AdaptiveChatTrail.follow-bottom.test.d.ts.map +1 -0
  19. package/dist/AdaptiveChatTrail.js +14 -0
  20. package/dist/AdaptiveChatTrail.js.map +7 -0
  21. package/dist/AdaptiveChatTrail.live-region.test.d.ts +2 -0
  22. package/dist/AdaptiveChatTrail.live-region.test.d.ts.map +1 -0
  23. package/dist/AdaptiveChatTrail.test.d.ts +2 -0
  24. package/dist/AdaptiveChatTrail.test.d.ts.map +1 -0
  25. package/dist/AdaptiveChipsStrip.d.ts +1156 -0
  26. package/dist/AdaptiveChipsStrip.d.ts.map +1 -0
  27. package/dist/AdaptiveChipsStrip.js +11 -0
  28. package/dist/AdaptiveChipsStrip.js.map +7 -0
  29. package/dist/AdaptiveChipsStripMountable.d.ts +24 -0
  30. package/dist/AdaptiveChipsStripMountable.d.ts.map +1 -0
  31. package/dist/ChatAssistantLit.d.ts +64 -0
  32. package/dist/ChatAssistantLit.d.ts.map +1 -0
  33. package/dist/ChatAssistantLit.js +14 -0
  34. package/dist/ChatAssistantLit.js.map +7 -0
  35. package/dist/ChatSession.d.ts +275 -0
  36. package/dist/ChatSession.d.ts.map +1 -0
  37. package/dist/ChatTransport.d.ts +456 -0
  38. package/dist/ChatTransport.d.ts.map +1 -0
  39. package/dist/InlineRegistryWidgetMount.test.d.ts +2 -0
  40. package/dist/InlineRegistryWidgetMount.test.d.ts.map +1 -0
  41. package/dist/InlineWidgetLiveMount.test.d.ts +2 -0
  42. package/dist/InlineWidgetLiveMount.test.d.ts.map +1 -0
  43. package/dist/LeaveAMessage.leadconnector.integration.test.d.ts +2 -0
  44. package/dist/LeaveAMessage.leadconnector.integration.test.d.ts.map +1 -0
  45. package/dist/LeaveAMessageLit.d.ts +329 -0
  46. package/dist/LeaveAMessageLit.d.ts.map +1 -0
  47. package/dist/LeaveAMessageLit.test.d.ts +2 -0
  48. package/dist/LeaveAMessageLit.test.d.ts.map +1 -0
  49. package/dist/LeaveAMessageMountable.test.d.ts +2 -0
  50. package/dist/LeaveAMessageMountable.test.d.ts.map +1 -0
  51. package/dist/NavLinkMountable.d.ts +25 -0
  52. package/dist/NavLinkMountable.d.ts.map +1 -0
  53. package/dist/NavLinkMountable.test.d.ts +2 -0
  54. package/dist/NavLinkMountable.test.d.ts.map +1 -0
  55. package/dist/TextAnswerMountable.d.ts +17 -0
  56. package/dist/TextAnswerMountable.d.ts.map +1 -0
  57. package/dist/TextAnswerMountable.test.d.ts +2 -0
  58. package/dist/TextAnswerMountable.test.d.ts.map +1 -0
  59. package/dist/Turnstile.d.ts +101 -0
  60. package/dist/Turnstile.d.ts.map +1 -0
  61. package/dist/cdn.d.ts +16 -8
  62. package/dist/cdn.d.ts.map +1 -1
  63. package/dist/chunk-CFQDKSIU.js +936 -0
  64. package/dist/chunk-CFQDKSIU.js.map +7 -0
  65. package/dist/chunk-EWPPVPJ4.js +14 -0
  66. package/dist/chunk-EWPPVPJ4.js.map +7 -0
  67. package/dist/chunk-KGLEYOND.js +8445 -0
  68. package/dist/chunk-KGLEYOND.js.map +7 -0
  69. package/dist/chunk-LY5AGXVD.js +21 -0
  70. package/dist/chunk-LY5AGXVD.js.map +7 -0
  71. package/dist/chunk-PD4XGGAG.js +641 -0
  72. package/dist/chunk-PD4XGGAG.js.map +7 -0
  73. package/dist/chunk-Q6LWX6IF.js +784 -0
  74. package/dist/chunk-Q6LWX6IF.js.map +7 -0
  75. package/dist/chunk-QQOQJPXA.js +1877 -0
  76. package/dist/chunk-QQOQJPXA.js.map +7 -0
  77. package/dist/chunk-SIHWRD2B.js +4078 -0
  78. package/dist/chunk-SIHWRD2B.js.map +7 -0
  79. package/dist/chunk-VGWC2UIK.js +4789 -0
  80. package/dist/chunk-VGWC2UIK.js.map +7 -0
  81. package/dist/consent.d.ts +8 -0
  82. package/dist/consent.d.ts.map +1 -0
  83. package/dist/consent.test.d.ts +2 -0
  84. package/dist/consent.test.d.ts.map +1 -0
  85. package/dist/editor-lit.d.ts +37 -0
  86. package/dist/editor-lit.d.ts.map +1 -0
  87. package/dist/editor-lit.js +134 -0
  88. package/dist/editor-lit.js.map +7 -0
  89. package/dist/editorToken.d.ts +23 -0
  90. package/dist/editorToken.d.ts.map +1 -0
  91. package/dist/element-session.d.ts +3 -0
  92. package/dist/element-session.d.ts.map +1 -0
  93. package/dist/element-session.js +9 -0
  94. package/dist/element-session.js.map +7 -0
  95. package/dist/elements/ActionHandler.d.ts +34 -0
  96. package/dist/elements/ActionHandler.d.ts.map +1 -0
  97. package/dist/elements/ElementInstanceStore.d.ts +234 -0
  98. package/dist/elements/ElementInstanceStore.d.ts.map +1 -0
  99. package/dist/elements/ElementInstanceStore.test.d.ts +2 -0
  100. package/dist/elements/ElementInstanceStore.test.d.ts.map +1 -0
  101. package/dist/elements/ElementSessionController.d.ts +37 -0
  102. package/dist/elements/ElementSessionController.d.ts.map +1 -0
  103. package/dist/elements/ElementSessionController.test.d.ts +2 -0
  104. package/dist/elements/ElementSessionController.test.d.ts.map +1 -0
  105. package/dist/elements/ElementTypeHandler.d.ts +81 -0
  106. package/dist/elements/ElementTypeHandler.d.ts.map +1 -0
  107. package/dist/elements/ItemHandler.d.ts +60 -0
  108. package/dist/elements/ItemHandler.d.ts.map +1 -0
  109. package/dist/elements/ItemHandler.test.d.ts +2 -0
  110. package/dist/elements/ItemHandler.test.d.ts.map +1 -0
  111. package/dist/elements/TileHandler.d.ts +52 -0
  112. package/dist/elements/TileHandler.d.ts.map +1 -0
  113. package/dist/elements/TileHandler.test.d.ts +2 -0
  114. package/dist/elements/TileHandler.test.d.ts.map +1 -0
  115. package/dist/elements/__tests__/ElementInstanceStore.recall.test.d.ts +2 -0
  116. package/dist/elements/__tests__/ElementInstanceStore.recall.test.d.ts.map +1 -0
  117. package/dist/elements/blockRenderer.d.ts +46 -0
  118. package/dist/elements/blockRenderer.d.ts.map +1 -0
  119. package/dist/elements/blockRenderer.test.d.ts +13 -0
  120. package/dist/elements/blockRenderer.test.d.ts.map +1 -0
  121. package/dist/elements/blocks.d.ts +58 -0
  122. package/dist/elements/blocks.d.ts.map +1 -0
  123. package/dist/elements/createElementStore.d.ts +11 -0
  124. package/dist/elements/createElementStore.d.ts.map +1 -0
  125. package/dist/elements/envelope.d.ts +24 -0
  126. package/dist/elements/envelope.d.ts.map +1 -0
  127. package/dist/elements/fetcher.d.ts +43 -0
  128. package/dist/elements/fetcher.d.ts.map +1 -0
  129. package/dist/elements/index.d.ts +33 -0
  130. package/dist/elements/index.d.ts.map +1 -0
  131. package/dist/elements/store-singleton.d.ts +4 -0
  132. package/dist/elements/store-singleton.d.ts.map +1 -0
  133. package/dist/elements/tileLifecycleProps.d.ts +14 -0
  134. package/dist/elements/tileLifecycleProps.d.ts.map +1 -0
  135. package/dist/elements/types.d.ts +117 -0
  136. package/dist/elements/types.d.ts.map +1 -0
  137. package/dist/findSmartCanvas.d.ts +19 -0
  138. package/dist/findSmartCanvas.d.ts.map +1 -0
  139. package/dist/hostAgentController.d.ts +66 -0
  140. package/dist/hostAgentController.d.ts.map +1 -0
  141. package/dist/hostAgentController.test.d.ts +2 -0
  142. package/dist/hostAgentController.test.d.ts.map +1 -0
  143. package/dist/observer/__tests__/allowlist.test.d.ts +9 -0
  144. package/dist/observer/__tests__/allowlist.test.d.ts.map +1 -0
  145. package/dist/observer/__tests__/bus-translate.test.d.ts +16 -0
  146. package/dist/observer/__tests__/bus-translate.test.d.ts.map +1 -0
  147. package/dist/observer/__tests__/detector-observation-contract.test.d.ts +25 -0
  148. package/dist/observer/__tests__/detector-observation-contract.test.d.ts.map +1 -0
  149. package/dist/observer/__tests__/lifecycle.test.d.ts +2 -0
  150. package/dist/observer/__tests__/lifecycle.test.d.ts.map +1 -0
  151. package/dist/observer/__tests__/observer-enrich.test.d.ts +10 -0
  152. package/dist/observer/__tests__/observer-enrich.test.d.ts.map +1 -0
  153. package/dist/observer/__tests__/observer-isolation.test.d.ts +13 -0
  154. package/dist/observer/__tests__/observer-isolation.test.d.ts.map +1 -0
  155. package/dist/observer/__tests__/queue.test.d.ts +2 -0
  156. package/dist/observer/__tests__/queue.test.d.ts.map +1 -0
  157. package/dist/observer/__tests__/transport.test.d.ts +2 -0
  158. package/dist/observer/__tests__/transport.test.d.ts.map +1 -0
  159. package/dist/observer/allowlist.d.ts +32 -0
  160. package/dist/observer/allowlist.d.ts.map +1 -0
  161. package/dist/observer/bus-translate.d.ts +33 -0
  162. package/dist/observer/bus-translate.d.ts.map +1 -0
  163. package/dist/observer/index.d.ts +44 -0
  164. package/dist/observer/index.d.ts.map +1 -0
  165. package/dist/observer/queue.d.ts +63 -0
  166. package/dist/observer/queue.d.ts.map +1 -0
  167. package/dist/observer/transport.d.ts +27 -0
  168. package/dist/observer/transport.d.ts.map +1 -0
  169. package/dist/observer/wire.d.ts +54 -0
  170. package/dist/observer/wire.d.ts.map +1 -0
  171. package/dist/observer/wire.test.d.ts +2 -0
  172. package/dist/observer/wire.test.d.ts.map +1 -0
  173. package/dist/personas.d.ts +30 -0
  174. package/dist/personas.d.ts.map +1 -0
  175. package/dist/runtime-lit.d.ts +8 -0
  176. package/dist/runtime-lit.d.ts.map +1 -0
  177. package/dist/runtime.d.ts +63 -5
  178. package/dist/runtime.d.ts.map +1 -1
  179. package/dist/runtime.js +4541 -28
  180. package/dist/runtime.js.map +7 -0
  181. package/dist/schema.d.ts +3688 -11
  182. package/dist/schema.d.ts.map +1 -1
  183. package/dist/schema.js +578 -30
  184. package/dist/schema.js.map +7 -0
  185. package/dist/support-chat/__tests__/lc-fetch-stub.d.ts +52 -0
  186. package/dist/support-chat/__tests__/lc-fetch-stub.d.ts.map +1 -0
  187. package/dist/support-chat/boot.d.ts +47 -0
  188. package/dist/support-chat/boot.d.ts.map +1 -0
  189. package/dist/support-chat/boot.test.d.ts +2 -0
  190. package/dist/support-chat/boot.test.d.ts.map +1 -0
  191. package/dist/support-chat/crisp.d.ts +4 -0
  192. package/dist/support-chat/crisp.d.ts.map +1 -0
  193. package/dist/support-chat/crisp.test.d.ts +2 -0
  194. package/dist/support-chat/crisp.test.d.ts.map +1 -0
  195. package/dist/support-chat/inbox.d.ts +57 -0
  196. package/dist/support-chat/inbox.d.ts.map +1 -0
  197. package/dist/support-chat/inbox.test.d.ts +2 -0
  198. package/dist/support-chat/inbox.test.d.ts.map +1 -0
  199. package/dist/support-chat/leadconnector.d.ts +13 -0
  200. package/dist/support-chat/leadconnector.d.ts.map +1 -0
  201. package/dist/support-chat/leadconnector.test.d.ts +2 -0
  202. package/dist/support-chat/leadconnector.test.d.ts.map +1 -0
  203. package/dist/support-chat/registry.d.ts +5 -0
  204. package/dist/support-chat/registry.d.ts.map +1 -0
  205. package/dist/support-chat/registry.test.d.ts +2 -0
  206. package/dist/support-chat/registry.test.d.ts.map +1 -0
  207. package/dist/support-chat/schema-widgetid.test.d.ts +2 -0
  208. package/dist/support-chat/schema-widgetid.test.d.ts.map +1 -0
  209. package/dist/support-chat/types.d.ts +19 -0
  210. package/dist/support-chat/types.d.ts.map +1 -0
  211. package/dist/test/setup.d.ts +1 -0
  212. package/dist/test/setup.d.ts.map +1 -0
  213. package/dist/types.d.ts +89 -40
  214. package/dist/types.d.ts.map +1 -1
  215. package/package.json +49 -24
  216. package/dist/ChatAssistant.d.ts +0 -18
  217. package/dist/ChatAssistant.d.ts.map +0 -1
  218. package/dist/ChatAssistant.js +0 -178
  219. package/dist/SyntroChatbot.d.ts +0 -14
  220. package/dist/SyntroChatbot.d.ts.map +0 -1
  221. package/dist/SyntroChatbot.js +0 -56
  222. package/dist/actionParser.d.ts +0 -15
  223. package/dist/actionParser.d.ts.map +0 -1
  224. package/dist/actionParser.js +0 -52
  225. package/dist/apiClient.d.ts +0 -23
  226. package/dist/apiClient.d.ts.map +0 -1
  227. package/dist/apiClient.js +0 -51
  228. package/dist/cdn.js +0 -37
  229. package/dist/editor.d.ts +0 -17
  230. package/dist/editor.d.ts.map +0 -1
  231. package/dist/editor.js +0 -36
  232. package/dist/tools/bridge.d.ts +0 -26
  233. package/dist/tools/bridge.d.ts.map +0 -1
  234. package/dist/tools/bridge.js +0 -25
  235. package/dist/tools/expanders.d.ts +0 -17
  236. package/dist/tools/expanders.d.ts.map +0 -1
  237. package/dist/tools/expanders.js +0 -41
  238. package/dist/tools/index.d.ts +0 -14
  239. package/dist/tools/index.d.ts.map +0 -1
  240. package/dist/tools/index.js +0 -11
  241. package/dist/tools/registrations/GetContextTool.d.ts +0 -7
  242. package/dist/tools/registrations/GetContextTool.d.ts.map +0 -1
  243. package/dist/tools/registrations/GetContextTool.js +0 -18
  244. package/dist/tools/registrations/ScrollToTool.d.ts +0 -7
  245. package/dist/tools/registrations/ScrollToTool.d.ts.map +0 -1
  246. package/dist/tools/registrations/ScrollToTool.js +0 -38
  247. package/dist/tools/registrations/ShowOverlayTool.d.ts +0 -7
  248. package/dist/tools/registrations/ShowOverlayTool.d.ts.map +0 -1
  249. package/dist/tools/registrations/ShowOverlayTool.js +0 -47
  250. package/dist/tools/registrations/index.d.ts +0 -19
  251. package/dist/tools/registrations/index.d.ts.map +0 -1
  252. package/dist/tools/registrations/index.js +0 -7
  253. package/dist/types.js +0 -6
  254. package/dist/useChat.d.ts +0 -25
  255. package/dist/useChat.d.ts.map +0 -1
  256. package/dist/useChat.js +0 -106
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The ask-bar canvas hosts the chat bar with its own trail hidden, reads the
3
+ * conversation through the transcript event, and focuses the input inside the
4
+ * shopper's tap (FEAT-1793648175).
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=AdaptiveChatBar.ask-bar.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveChatBar.ask-bar.test.d.ts","sourceRoot":"","sources":["../src/AdaptiveChatBar.ask-bar.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,2 @@
1
+ import './AdaptiveChatBar';
2
+ //# sourceMappingURL=AdaptiveChatBar.composer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveChatBar.composer.test.d.ts","sourceRoot":"","sources":["../src/AdaptiveChatBar.composer.test.ts"],"names":[],"mappings":"AAkBA,OAAO,mBAAmB,CAAC"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * AdaptiveChatBar — the canvas lid composition for the chat-canvas
3
+ * experience. Renders the bubble-up trail on top and an always-visible
4
+ * input row below.
5
+ *
6
+ * Wiring contract (events out):
7
+ * - `chat-message-sent` ({ text, via, turn }): the user submitted text
8
+ * via Enter, the send button, an intro suggestion, or a reply pill.
9
+ * The owning code is responsible for pushing this into the
10
+ * conversation history and producing a reply.
11
+ *
12
+ * Wiring contract (props in):
13
+ * - `messages`: the conversation trail, passed straight through to
14
+ * `<adaptive-chat-trail>`.
15
+ * - `placeholder`: input placeholder copy. Defaults to a generic
16
+ * "Ask, find, or navigate…" — the host (typically the slot's lid
17
+ * widget mount) can override to a context-specific string.
18
+ *
19
+ * Light DOM. Glassmorphism is applied at the input-row level so the
20
+ * trail above floats over the host page without chrome. See PRD §4.4.
21
+ */
22
+ import { LitElement } from 'lit';
23
+ import { type InlineTrailWidget, type InlineWidgetMounter, type TileReceipt, type TrailMessage } from './AdaptiveChatTrail.js';
24
+ import { type ChatPersona } from './personas.js';
25
+ export declare class AdaptiveChatBar extends LitElement {
26
+ #private;
27
+ static properties: {
28
+ personas: {
29
+ attribute: boolean;
30
+ };
31
+ _persona: {
32
+ state: boolean;
33
+ };
34
+ messages: {
35
+ attribute: boolean;
36
+ };
37
+ placeholder: {
38
+ type: StringConstructor;
39
+ };
40
+ assistantName: {
41
+ type: StringConstructor;
42
+ };
43
+ greeting: {
44
+ type: StringConstructor;
45
+ };
46
+ inFlight: {
47
+ type: BooleanConstructor;
48
+ reflect: boolean;
49
+ };
50
+ turn: {
51
+ type: NumberConstructor;
52
+ };
53
+ thinkingText: {
54
+ attribute: boolean;
55
+ };
56
+ introSuggestion: {
57
+ attribute: boolean;
58
+ };
59
+ forceExpanded: {
60
+ type: BooleanConstructor;
61
+ reflect: boolean;
62
+ };
63
+ maximized: {
64
+ type: BooleanConstructor;
65
+ };
66
+ readOnly: {
67
+ type: BooleanConstructor;
68
+ attribute: string;
69
+ };
70
+ chatControl: {
71
+ type: StringConstructor;
72
+ };
73
+ interleaved: {
74
+ type: BooleanConstructor;
75
+ };
76
+ controlsTabIndex: {
77
+ attribute: boolean;
78
+ };
79
+ tileReceipts: {
80
+ attribute: boolean;
81
+ };
82
+ inlineWidgets: {
83
+ attribute: boolean;
84
+ };
85
+ mountInlineWidget: {
86
+ attribute: boolean;
87
+ };
88
+ voiceInput: {
89
+ type: BooleanConstructor;
90
+ };
91
+ _input: {
92
+ state: boolean;
93
+ };
94
+ _composerFocused: {
95
+ state: boolean;
96
+ };
97
+ _micListening: {
98
+ state: boolean;
99
+ };
100
+ _micDisabled: {
101
+ state: boolean;
102
+ };
103
+ };
104
+ messages: TrailMessage[];
105
+ /**
106
+ * Mirrored from the chat session by the mountable. The bar keeps no
107
+ * counter of its own — this is the number of sends already committed;
108
+ * a send this bar makes opens turn `this.turn + 1`.
109
+ */
110
+ turn: number;
111
+ maximized: boolean;
112
+ /** Preview frames: shows the given messages, accepts no input. */
113
+ readOnly: boolean;
114
+ /**
115
+ * Which trailing control the bar renders.
116
+ *
117
+ * An explicit literal, never inferred from the presence of a prop: a canvas
118
+ * that forgot to inject it would otherwise silently get the wrong control.
119
+ * Default keeps velvet's behaviour untouched.
120
+ */
121
+ chatControl: 'maximize' | 'interleave' | 'none';
122
+ /** Reflected state for the interleave control. Owned by the canvas. */
123
+ interleaved: boolean;
124
+ /**
125
+ * `tabindex` for every control in the composer row (input, send, mic and
126
+ * the trailing control); null (the default) leaves it absent. The ask-bar
127
+ * canvas keeps this bar rendered but see-through while closed so the
128
+ * runtime can focus it inside the opening tap, and passes -1 then: the
129
+ * resting launcher bar is the keyboard entry point, so Tab must skip the
130
+ * whole row (FEAT-1793648175).
131
+ */
132
+ controlsTabIndex: number | null;
133
+ tileReceipts: TileReceipt[];
134
+ /** Widgets rendered inline in the trail (reco carousel), sourced from
135
+ * the store's `chat-inline` slot mounts. Forwarded to the trail. */
136
+ inlineWidgets: InlineTrailWidget[];
137
+ /** Registry-backed mounter for inline widgets whose id is not their
138
+ * custom-element tag (product card, comparison, FAQ). Set by the
139
+ * mountable from `runtime.widgets`; forwarded to the trail. */
140
+ mountInlineWidget: InlineWidgetMounter | undefined;
141
+ /**
142
+ * Live reasoning narration from the model — streamed in via
143
+ * AG-UI THINKING_TEXT_MESSAGE_CONTENT events and forwarded by
144
+ * the ChatSession subscription on the host (mountable).
145
+ * Forwarded verbatim to the trail, which renders it in place of
146
+ * the silent loading dots between turns. Empty string when no
147
+ * thinking turn is active.
148
+ */
149
+ thinkingText: string;
150
+ /**
151
+ * Pre-conversation suggestion button — forwarded to the trail's
152
+ * empty-state pane. When the visitor clicks it the trail emits
153
+ * `trail-intro-suggestion`; we catch that here and submit the
154
+ * configured prompt through the normal send path.
155
+ */
156
+ introSuggestion: {
157
+ label: string;
158
+ prompt: string;
159
+ } | undefined;
160
+ /** Pass-through to {@link AdaptiveChatTrail}'s ``forceExpanded`` prop.
161
+ * Hosts that mount the chat-bar in a full-screen surface (mobile
162
+ * panel, agent app, etc.) set this to skip the collapse affordance
163
+ * — there is no smaller state to fall back to. */
164
+ forceExpanded: boolean;
165
+ placeholder: string;
166
+ /**
167
+ * Name shown in the (forceExpanded) header. Defaults to a generic
168
+ * "Assistant". Hosts can override per-workspace (e.g. Vela sets
169
+ * "Vela Concierge") without inventing new SDK surface — it threads
170
+ * through the same mount config the placeholder does.
171
+ */
172
+ assistantName: string;
173
+ /** Persona roster from config (FEAT-1784917430); one is sticky-assigned. */
174
+ personas: ChatPersona[] | null;
175
+ /** @internal — the visitor's sticky persona, resolved from the roster. */
176
+ _persona: ChatPersona | null;
177
+ /**
178
+ * Initial assistant message shown before any real conversation
179
+ * starts. Renders inside the trail as a phantom assistant chip
180
+ * when messages.length === 0; auto-disappears as soon as the
181
+ * first user message lands. Mirrors ChatAssistantLit's greeting.
182
+ */
183
+ greeting: string | undefined;
184
+ /**
185
+ * Whether a chat round-trip is in flight (request sent, awaiting
186
+ * reply). The single send/stop button morphs accordingly: ↑ when
187
+ * ready, ⏹ when in-flight. Parent owns this state — set true after
188
+ * `chat-message-sent` fires, false when the reply lands or the
189
+ * request is aborted. Enter is inert while in-flight.
190
+ */
191
+ inFlight: boolean;
192
+ /** Show a dictation mic when the Web Speech API is available. Config-gated, default off. */
193
+ voiceInput: boolean;
194
+ _input: string;
195
+ _micListening: boolean;
196
+ _micDisabled: boolean;
197
+ private _micBase;
198
+ private _micNetworkErrors;
199
+ private _dictation;
200
+ /** True while focus is inside the composer row — drives the accent
201
+ * focus ring so the active text-entry surface is unmistakable on any
202
+ * theme (the idle pill is deliberately subtle). */
203
+ _composerFocused: boolean;
204
+ createRenderRoot(): HTMLElement;
205
+ connectedCallback(): void;
206
+ disconnectedCallback(): void;
207
+ private _onInput;
208
+ private _onMicClick;
209
+ private _onKeyDown;
210
+ private _onSendOrInterrupt;
211
+ private _onTileReceiptActivate;
212
+ private _onAlertReceiptActivate;
213
+ private _onComposerFocusIn;
214
+ private _onComposerFocusOut;
215
+ private _onMaximizeToggle;
216
+ /**
217
+ * Focus the composer input now. Synchronous on purpose: iOS only raises the
218
+ * keyboard for a focus() inside the shopper's tap, so a canvas cannot wait
219
+ * for a render. Returns whether the input really took focus (false when
220
+ * read-only or not rendered yet).
221
+ */
222
+ focusInput(): boolean;
223
+ /**
224
+ * Send one of the agent's suggested replies as the shopper's message, the
225
+ * way a tap on the trail's reply chip does (queued, never dropped, while a
226
+ * reply is still closing). For a canvas that draws the chips itself
227
+ * because it hides this bar's trail.
228
+ */
229
+ sendSuggestedReply(text: string): void;
230
+ /**
231
+ * A canvas that hides this bar's trail (`chatControl: 'none'`) still has to
232
+ * show the conversation, so the bar publishes it (FEAT-1793648175). Only
233
+ * then: a bar showing its own trail dispatches nothing, as before
234
+ * (Ruling R18). Switching to 'none' publishes what the bar already holds.
235
+ */
236
+ protected updated(changed: Map<string, unknown>): void;
237
+ private _onInterleaveToggle;
238
+ /** The one channel every send path uses; `turn` is the turn this send opens. */
239
+ private _dispatchSent;
240
+ private _send;
241
+ /**
242
+ * Visitor tapped the intro suggestion button in the empty-state
243
+ * trail. Submit the configured prompt through the same channel as
244
+ * a typed message so listeners (mountable → chatSession.send) see
245
+ * a uniform shape — no need for a parallel "suggestion-sent" path.
246
+ * The trail's intro pane auto-disappears the moment the first
247
+ * message lands, so this also closes the empty state in one go.
248
+ */
249
+ private _onIntroSuggestion;
250
+ /**
251
+ * Reply-chip tap that arrived during the run TAIL. Chips render the
252
+ * moment the reply text lands, but `inFlight` (which includes
253
+ * `runActive` — typing events, tool tail, RUN_FINISHED) can lag for
254
+ * seconds. The old `if (this.inFlight) return;` guard silently ATE
255
+ * those taps — the visitor's chosen reply never appeared as their
256
+ * message (live repro, deployed vela 2026-07-08). Now the tap queues
257
+ * (latest wins) and dispatches when `inFlight` clears.
258
+ */
259
+ private _queuedSuggestedReply;
260
+ protected willUpdate(changed: Map<string, unknown>): void;
261
+ /**
262
+ * Visitor tapped an inline `suggest_replies` chip in the trail. Submit
263
+ * the chip text through the SAME `chat-message-sent` channel a typed
264
+ * message uses, so the reply rides the existing send path (mountable →
265
+ * chatSession.send → transport) — no fabricated AG-UI events. The
266
+ * trail clears the chips on its own once the reply lands and a newer
267
+ * assistant turn becomes the latest.
268
+ *
269
+ * A tap while the previous run is still closing is QUEUED, never
270
+ * dropped — see `_queuedSuggestedReply`.
271
+ */
272
+ private _onSuggestedReply;
273
+ render(): import("lit-html").TemplateResult<1>;
274
+ }
275
+ declare global {
276
+ interface HTMLElementTagNameMap {
277
+ 'adaptive-chat-bar': AdaptiveChatBar;
278
+ }
279
+ }
280
+ //# sourceMappingURL=AdaptiveChatBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveChatBar.d.ts","sourceRoot":"","sources":["../src/AdaptiveChatBar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The chat bar's trailing control is chosen by an explicit mode string.
3
+ *
4
+ * Keying on the PRESENCE of a prop would mean a canvas that forgets to inject
5
+ * it silently gets the wrong control, so `chatControl` is a literal the caller
6
+ * states. Default stays `'maximize'` so velvet is untouched.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=AdaptiveChatBar.interleave.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveChatBar.interleave.test.d.ts","sourceRoot":"","sources":["../src/AdaptiveChatBar.interleave.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,12 @@
1
+ import {
2
+ AdaptiveChatBar
3
+ } from "./chunk-Q6LWX6IF.js";
4
+ import "./chunk-EWPPVPJ4.js";
5
+ import "./chunk-QQOQJPXA.js";
6
+ import "./chunk-SIHWRD2B.js";
7
+ import "./chunk-VGWC2UIK.js";
8
+ import "./chunk-LY5AGXVD.js";
9
+ export {
10
+ AdaptiveChatBar
11
+ };
12
+ //# sourceMappingURL=AdaptiveChatBar.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,93 @@
1
+ /**
2
+ * AdaptiveChatBarMountable — `MountableWidget` adapter that turns the
3
+ * standalone `<adaptive-chat-bar>` Lit element into something the
4
+ * runtime widget registry can mount.
5
+ *
6
+ * Registered as widget id `adaptive-chatbot:chat-bar`. Customers
7
+ * reference it from canvas config — either as a slot's `lid` widget
8
+ * (replaces the launcher when referenced from `slots.drawer.lid`) or
9
+ * as a regular tile widget.
10
+ *
11
+ * The bar is a VIEW. State lives in the singleton `chatSession` —
12
+ * whether the bar mounts in the mini-canvas lid, the drawer lid, or
13
+ * both, they're all views of the same conversation. The mountable:
14
+ * - subscribes to chatSession.subscribe() and pushes state into
15
+ * the bar's `messages` + `inFlight` props on every change
16
+ * - routes the bar's `chat-message-sent` event → chatSession.send()
17
+ * - routes the bar's `chat-interrupt` event → chatSession.interrupt()
18
+ * - bubbles the bar's `canvas-close` event → optional onClose
19
+ * callback (canvas-level concern, not session-level)
20
+ *
21
+ * Props (passed via mountConfig):
22
+ * - `placeholder?: string` — input placeholder copy
23
+ * - `onClose?: () => void` — fires on ✕ click (canvas-level)
24
+ *
25
+ * Note: messages and inFlight are NOT props. They flow from chatSession.
26
+ * A canvas-config author who wants to pre-seed messages should do so
27
+ * via the session directly (e.g. via a startup action) — but typical
28
+ * use is to let the conversation start empty.
29
+ */
30
+ import './AdaptiveChatBar';
31
+ import type { ChatbotWidgetRuntime } from './types.js';
32
+ /**
33
+ * Every canvas-settable field this function is responsible for forwarding.
34
+ *
35
+ * This list exists because the function above is a hand-written allowlist —
36
+ * the cherry-pick shape COE-001 is about. A canvas can set a prop on its chat
37
+ * tile, `sc-mount` will hand it to `mount()`, and if the name is missing from
38
+ * `applyPlaceholder` it is silently dropped with no type error and no test
39
+ * failure. That is exactly how velvet-stream's interleave control shipped
40
+ * dead: the canvas set `chatControl`, nothing forwarded it, the bar kept its
41
+ * default, and the button never rendered.
42
+ *
43
+ * `AdaptiveChatBarMountable.forwarding.test.ts` drives the real mount path and
44
+ * asserts each of these actually lands on the element, so the next field added
45
+ * to the config and forgotten here fails rather than vanishing.
46
+ */
47
+ export declare const FORWARDED_BAR_FIELDS: readonly ["placeholder", "assistantName", "personas", "greeting", "voiceInput", "introSuggestion", "forceExpanded", "maximized", "chatControl", "interleaved", "controlsTabIndex"];
48
+ /**
49
+ * Test-only: drop the warm store singleton (and its hydration latch) so each
50
+ * test can wire a fresh store to its own event bus / registry. Without this,
51
+ * the first test in a file permanently binds the store to ITS bus and the
52
+ * per-instance version dedup silently drops every later test's re-mounts.
53
+ * Mirrors `observer/index.ts` `_resetObserverForTests`.
54
+ */
55
+ export declare function _resetElementStoreForTests(): void;
56
+ /**
57
+ * Live ``template_id → widget`` map. Re-derived on each ``configure()``
58
+ * from the chat-bar's ``uiTemplates`` prop (which mirrors what the admin
59
+ * declared in canvas-config). Both the TileHandler (live mount path) and
60
+ * the ElementInstanceStore (rehydrate replay path) read through this map
61
+ * so the widget id stays consistent regardless of mount provenance.
62
+ *
63
+ * Without this, an LLM-authored mount with ``template_id: "product-card"``
64
+ * emits ``widget: "product-card"`` to the runtime, which then renders the
65
+ * tile chrome with a "Widget not available: product-card" body because
66
+ * the actual widget is registered as ``adaptive-product:card``.
67
+ */
68
+ export declare function resolveTileWidget(templateId: string): string | undefined;
69
+ export declare function refreshTemplateWidgetMap(templates: Record<string, unknown> | undefined): void;
70
+ export { buildObserverEnrich } from './observer/wire';
71
+ /**
72
+ * Surface reaction to a proactive nudge (FEAT-1783640628). The transport
73
+ * settles the nudge message into the trail and emits `syntro:nudge`; this
74
+ * layer owns what the VISITOR notices on top of that:
75
+ * 1. refresh persisted mounts — the headless turn's mount landed server-side
76
+ * in `mounted_elements`; re-running the replay fetch applies it live
77
+ * through the same hydrate path boot uses (no parallel mount wire shape);
78
+ * 2. a toast via the canvas overlay's notification primitive, so a visitor
79
+ * with the chat closed learns the agent spoke.
80
+ *
81
+ * Exported for direct testing (real DOM listener, fetch-stubbed network).
82
+ */
83
+ export declare function wireNudgeSurface(runtime: ChatbotWidgetRuntime, backendUrl: string): void;
84
+ /** Test seam: reset the nudge-surface once-guard AND detach the listener. */
85
+ export declare function _resetNudgeSurfaceForTests(): void;
86
+ /** @internal test hook */
87
+ export declare function _resetTemplatePublishForTests(): void;
88
+ export declare function _resetMountableObserverForTests(): void;
89
+ export declare const AdaptiveChatBarMountable: {
90
+ mount(container: HTMLElement, mountConfig?: Record<string, unknown>): () => void;
91
+ update(container: HTMLElement, mountConfig?: Record<string, unknown>): void;
92
+ };
93
+ //# sourceMappingURL=AdaptiveChatBarMountable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveChatBarMountable.d.ts","sourceRoot":"","sources":["../src/AdaptiveChatBarMountable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,mBAAmB,CAAC;AA+B3B,OAAO,KAAK,EAAmB,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA0IxE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,oLAYvB,CAAC;AAuBX;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAMjD;AACD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKxE;AACD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAG7F;AAuCD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAMtD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CA0DxF;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAmHD,0BAA0B;AAC1B,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAiFD,wBAAgB,+BAA+B,IAAI,IAAI,CAQtD;AAmED,eAAO,MAAM,wBAAwB;qBAClB,WAAW,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI;sBA4H9D,WAAW,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAqB5E,CAAC"}
@@ -0,0 +1,2 @@
1
+ import './AdaptiveChatTrail';
2
+ //# sourceMappingURL=AdaptiveChatTrail.anchor-scroll.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveChatTrail.anchor-scroll.test.d.ts","sourceRoot":"","sources":["../src/AdaptiveChatTrail.anchor-scroll.test.ts"],"names":[],"mappings":"AA0BA,OAAO,qBAAqB,CAAC"}