@opencx/widget-core 4.0.62 → 5.0.0-beta.1

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 (151) hide show
  1. package/dist/index.cjs +13 -2
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +4433 -771
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/__tests__/api/agent-stream-parts.spec.d.ts +2 -0
  6. package/dist/src/__tests__/api/agent-stream-parts.spec.d.ts.map +1 -0
  7. package/dist/src/__tests__/api/dictation-mint-cache.spec.d.ts +2 -0
  8. package/dist/src/__tests__/api/dictation-mint-cache.spec.d.ts.map +1 -0
  9. package/dist/src/__tests__/api/widget-api-wire.spec.d.ts +2 -0
  10. package/dist/src/__tests__/api/widget-api-wire.spec.d.ts.map +1 -0
  11. package/dist/src/__tests__/context/contact-ctx.create-failure.spec.d.ts +2 -0
  12. package/dist/src/__tests__/context/contact-ctx.create-failure.spec.d.ts.map +1 -0
  13. package/dist/src/__tests__/context/dictation-ctx.spec.d.ts +1 -0
  14. package/dist/src/__tests__/context/dictation-ctx.spec.d.ts.map +1 -0
  15. package/dist/src/__tests__/context/message/merge-send-context.spec.d.ts +2 -0
  16. package/dist/src/__tests__/context/message/merge-send-context.spec.d.ts.map +1 -0
  17. package/dist/src/__tests__/context/message/pending-user-messages.spec.d.ts +1 -0
  18. package/dist/src/__tests__/context/message/pending-user-messages.spec.d.ts.map +1 -0
  19. package/dist/src/__tests__/context/message/sent-text-history.spec.d.ts +1 -0
  20. package/dist/src/__tests__/context/message/sent-text-history.spec.d.ts.map +1 -0
  21. package/dist/src/__tests__/context/message-ctx.agent-handlers.spec.d.ts +2 -0
  22. package/dist/src/__tests__/context/message-ctx.agent-handlers.spec.d.ts.map +1 -0
  23. package/dist/src/__tests__/context/message-ctx.client-context.spec.d.ts +2 -0
  24. package/dist/src/__tests__/context/message-ctx.client-context.spec.d.ts.map +1 -0
  25. package/dist/src/__tests__/context/message-ctx.mentions.spec.d.ts +2 -0
  26. package/dist/src/__tests__/context/message-ctx.mentions.spec.d.ts.map +1 -0
  27. package/dist/src/__tests__/context/message-ctx.page-mark-chips.spec.d.ts +2 -0
  28. package/dist/src/__tests__/context/message-ctx.page-mark-chips.spec.d.ts.map +1 -0
  29. package/dist/src/__tests__/context/message-ctx.send-acceptance.spec.d.ts +2 -0
  30. package/dist/src/__tests__/context/message-ctx.send-acceptance.spec.d.ts.map +1 -0
  31. package/dist/src/__tests__/context/message-ctx.send-features.spec.d.ts +2 -0
  32. package/dist/src/__tests__/context/message-ctx.send-features.spec.d.ts.map +1 -0
  33. package/dist/src/__tests__/context/reconcile-after-stream.spec.d.ts +1 -0
  34. package/dist/src/__tests__/context/reconcile-after-stream.spec.d.ts.map +1 -0
  35. package/dist/src/__tests__/context/restore-last-session.spec.d.ts +2 -0
  36. package/dist/src/__tests__/context/restore-last-session.spec.d.ts.map +1 -0
  37. package/dist/src/__tests__/context/session-ctx.stale-token-retry.spec.d.ts +2 -0
  38. package/dist/src/__tests__/context/session-ctx.stale-token-retry.spec.d.ts.map +1 -0
  39. package/dist/src/__tests__/context/storage-ctx.spec.d.ts +2 -0
  40. package/dist/src/__tests__/context/storage-ctx.spec.d.ts.map +1 -0
  41. package/dist/src/__tests__/context/streaming-engine.spec.d.ts +1 -0
  42. package/dist/src/__tests__/context/streaming-engine.spec.d.ts.map +1 -0
  43. package/dist/src/__tests__/context/widget-ctx.features.spec.d.ts +1 -0
  44. package/dist/src/__tests__/context/widget-ctx.features.spec.d.ts.map +1 -0
  45. package/dist/src/__tests__/dictation/dictation-commands.utils.spec.d.ts +2 -0
  46. package/dist/src/__tests__/dictation/dictation-commands.utils.spec.d.ts.map +1 -0
  47. package/dist/src/__tests__/test-utils.d.ts +31 -0
  48. package/dist/src/__tests__/test-utils.d.ts.map +1 -1
  49. package/dist/src/__tests__/translation.spec.d.ts +2 -0
  50. package/dist/src/__tests__/translation.spec.d.ts.map +1 -0
  51. package/dist/src/__tests__/utils/companion-layout.spec.d.ts +2 -0
  52. package/dist/src/__tests__/utils/companion-layout.spec.d.ts.map +1 -0
  53. package/dist/src/api/agent-stream-parts.d.ts +24 -0
  54. package/dist/src/api/agent-stream-parts.d.ts.map +1 -0
  55. package/dist/src/api/api-caller.d.ts +53 -1
  56. package/dist/src/api/api-caller.d.ts.map +1 -1
  57. package/dist/src/api/client.d.ts.map +1 -1
  58. package/dist/src/api/schema.d.ts +360 -79
  59. package/dist/src/api/schema.d.ts.map +1 -1
  60. package/dist/src/context/active-session-polling.ctx.d.ts +10 -0
  61. package/dist/src/context/active-session-polling.ctx.d.ts.map +1 -1
  62. package/dist/src/context/contact.ctx.d.ts +9 -0
  63. package/dist/src/context/contact.ctx.d.ts.map +1 -1
  64. package/dist/src/context/csat.ctx.d.ts +2 -5
  65. package/dist/src/context/csat.ctx.d.ts.map +1 -1
  66. package/dist/src/context/dictation.ctx.d.ts +67 -0
  67. package/dist/src/context/dictation.ctx.d.ts.map +1 -0
  68. package/dist/src/context/message.ctx.d.ts +212 -9
  69. package/dist/src/context/message.ctx.d.ts.map +1 -1
  70. package/dist/src/context/router.ctx.d.ts +22 -0
  71. package/dist/src/context/router.ctx.d.ts.map +1 -1
  72. package/dist/src/context/session.ctx.d.ts +22 -32
  73. package/dist/src/context/session.ctx.d.ts.map +1 -1
  74. package/dist/src/context/storage.ctx.d.ts +40 -1
  75. package/dist/src/context/storage.ctx.d.ts.map +1 -1
  76. package/dist/src/context/widget-agent.d.ts +60 -0
  77. package/dist/src/context/widget-agent.d.ts.map +1 -0
  78. package/dist/src/context/widget.ctx.d.ts +35 -1
  79. package/dist/src/context/widget.ctx.d.ts.map +1 -1
  80. package/dist/src/dictation/dictation-commands.utils.d.ts +76 -0
  81. package/dist/src/dictation/dictation-commands.utils.d.ts.map +1 -0
  82. package/dist/src/dictation/dictation-drip.utils.d.ts +21 -0
  83. package/dist/src/dictation/dictation-drip.utils.d.ts.map +1 -0
  84. package/dist/src/dictation/dictation-level-smoother.d.ts +18 -0
  85. package/dist/src/dictation/dictation-level-smoother.d.ts.map +1 -0
  86. package/dist/src/dictation/dictation-mint-cache.d.ts +25 -0
  87. package/dist/src/dictation/dictation-mint-cache.d.ts.map +1 -0
  88. package/dist/src/dictation/dictation-session.d.ts +55 -0
  89. package/dist/src/dictation/dictation-session.d.ts.map +1 -0
  90. package/dist/src/index.d.ts +17 -6
  91. package/dist/src/index.d.ts.map +1 -1
  92. package/dist/src/translation/ar.d.ts.map +1 -1
  93. package/dist/src/translation/bg.d.ts.map +1 -1
  94. package/dist/src/translation/bn.d.ts.map +1 -1
  95. package/dist/src/translation/cs.d.ts.map +1 -1
  96. package/dist/src/translation/da.d.ts.map +1 -1
  97. package/dist/src/translation/de.d.ts.map +1 -1
  98. package/dist/src/translation/el.d.ts.map +1 -1
  99. package/dist/src/translation/en.d.ts.map +1 -1
  100. package/dist/src/translation/es.d.ts.map +1 -1
  101. package/dist/src/translation/et.d.ts.map +1 -1
  102. package/dist/src/translation/fi.d.ts.map +1 -1
  103. package/dist/src/translation/fil.d.ts.map +1 -1
  104. package/dist/src/translation/fr.d.ts.map +1 -1
  105. package/dist/src/translation/hi.d.ts.map +1 -1
  106. package/dist/src/translation/hr.d.ts.map +1 -1
  107. package/dist/src/translation/hu.d.ts.map +1 -1
  108. package/dist/src/translation/index.d.ts +87 -1
  109. package/dist/src/translation/index.d.ts.map +1 -1
  110. package/dist/src/translation/is.d.ts.map +1 -1
  111. package/dist/src/translation/it.d.ts.map +1 -1
  112. package/dist/src/translation/ja.d.ts.map +1 -1
  113. package/dist/src/translation/ko.d.ts.map +1 -1
  114. package/dist/src/translation/lb.d.ts.map +1 -1
  115. package/dist/src/translation/lt.d.ts.map +1 -1
  116. package/dist/src/translation/lv.d.ts.map +1 -1
  117. package/dist/src/translation/mt.d.ts.map +1 -1
  118. package/dist/src/translation/nb.d.ts.map +1 -1
  119. package/dist/src/translation/nl.d.ts.map +1 -1
  120. package/dist/src/translation/no.d.ts.map +1 -1
  121. package/dist/src/translation/pl.d.ts.map +1 -1
  122. package/dist/src/translation/pt.d.ts.map +1 -1
  123. package/dist/src/translation/ro.d.ts.map +1 -1
  124. package/dist/src/translation/ru.d.ts.map +1 -1
  125. package/dist/src/translation/sk.d.ts.map +1 -1
  126. package/dist/src/translation/sv.d.ts.map +1 -1
  127. package/dist/src/translation/th.d.ts.map +1 -1
  128. package/dist/src/translation/tr.d.ts.map +1 -1
  129. package/dist/src/translation/ur.d.ts.map +1 -1
  130. package/dist/src/translation/vi.d.ts.map +1 -1
  131. package/dist/src/translation/zh-cn.d.ts.map +1 -1
  132. package/dist/src/types/component-name.d.ts +1 -1
  133. package/dist/src/types/component-name.d.ts.map +1 -1
  134. package/dist/src/types/dtos.d.ts +2 -0
  135. package/dist/src/types/dtos.d.ts.map +1 -1
  136. package/dist/src/types/icons.d.ts +1 -1
  137. package/dist/src/types/icons.d.ts.map +1 -1
  138. package/dist/src/types/messages.d.ts +36 -2
  139. package/dist/src/types/messages.d.ts.map +1 -1
  140. package/dist/src/types/widget-config.d.ts +411 -4
  141. package/dist/src/types/widget-config.d.ts.map +1 -1
  142. package/dist/src/utils/Poller.d.ts.map +1 -1
  143. package/dist/src/utils/PrimitiveState.d.ts.map +1 -1
  144. package/dist/src/utils/companion-layout.d.ts +23 -0
  145. package/dist/src/utils/companion-layout.d.ts.map +1 -0
  146. package/dist/src/utils/is-exhaustive.d.ts.map +1 -1
  147. package/dist/src/utils/is-record.d.ts +3 -0
  148. package/dist/src/utils/is-record.d.ts.map +1 -0
  149. package/dist/src/utils/log.d.ts +5 -0
  150. package/dist/src/utils/log.d.ts.map +1 -0
  151. package/package.json +2 -1
@@ -193,12 +193,182 @@ export type ModeComponent = {
193
193
  };
194
194
  export type CustomComponentProps = ComponentContext & {};
195
195
  export type CustomComponent = (props: CustomComponentProps) => ReturnType<typeof React.createElement> | null;
196
+ /**
197
+ * How the widget presents itself on the host page.
198
+ * - `popover` – the classic corner trigger button that opens a chat popover.
199
+ * - `companion` – a bottom-centered floating pill that morphs into a
200
+ * floating chat panel. The docked "app-frame sidebar" presentation is
201
+ * NOT a separate mode — it is the companion's `sidebar` layout; set it as the
202
+ * resting default via `companion.defaultLayout: 'sidebar'`.
203
+ */
204
+ export type WidgetDisplayModeU = 'popover' | 'companion';
205
+ /**
206
+ * Runtime presentation of the companion widget: a bottom-centered compact
207
+ * panel, an expanded fullscreen modal, or a docked sidebar. Switchable at
208
+ * runtime via the header controls.
209
+ */
210
+ export type WidgetCompanionLayoutU = 'compact' | 'sidebar' | 'fullscreen';
211
+ /**
212
+ * Layouts embedders can explicitly configure as `defaultLayout`.
213
+ * `fullscreen` is deliberately absent because it normally acts as a transient
214
+ * expansion of the open chat. Runtime normalization can still select it when
215
+ * every configured resting layout is excluded by `companion.layouts`.
216
+ */
217
+ export type WidgetCompanionDefaultLayoutU = 'compact' | 'sidebar';
218
+ /**
219
+ * Which viewport edge the sidebar layout occupies.
220
+ * - `left` / `right` – pin to that physical edge regardless of text direction.
221
+ * - `auto` – follow the host document's direction: the inline-end edge, i.e.
222
+ * right under LTR and left under RTL.
223
+ */
224
+ export type WidgetSidebarSideU = 'left' | 'right' | 'auto';
225
+ /**
226
+ * How the sidebar layout coexists with the host page.
227
+ * - `floating` – the panel overlays the page edge; the page is untouched.
228
+ * - `docked` – the host page is framed (inset, rounded, on a canvas) and the
229
+ * panel sits beside it, so nothing sits underneath the sidebar.
230
+ */
231
+ export type WidgetSidebarModeU = 'docked' | 'floating';
232
+ /**
233
+ * An action a visitor takes on agent-rendered inline UI (json-render card)
234
+ * that the host page must complete. Discriminated on `type` so hosts can
235
+ * narrow the payload.
236
+ */
237
+ export type WidgetUiAction = {
238
+ type: 'test-phone-agent';
239
+ payload: {
240
+ agentId: string;
241
+ model: string | null;
242
+ };
243
+ };
244
+ /**
245
+ * The page the visitor is on and, when the host knows it, the one thing on
246
+ * that page they are looking at. This is what the agent treats as "here" and
247
+ * "this": a Linear-style context pill in the composer shows the entity, and
248
+ * the agent resolves it (by `type` + `id`) before asking the visitor what
249
+ * they mean.
250
+ */
251
+ export type WidgetPageContext = {
252
+ page?: {
253
+ url: string;
254
+ title?: string;
255
+ };
256
+ entity?: {
257
+ /** Host vocabulary, e.g. `instruction`, `order`, `workflow`. */
258
+ type: string;
259
+ id: string;
260
+ /** What the pill shows and the agent calls it. */
261
+ title: string;
262
+ /** Anything the agent needs to act on the entity that is not in `id`. */
263
+ meta?: Record<string, unknown>;
264
+ };
265
+ };
266
+ /** `WidgetConfig.context`: the well-known page keys plus free-form host data. */
267
+ export type WidgetContext = WidgetPageContext & Record<string, unknown>;
268
+ /**
269
+ * Something on the host the visitor can @-mention in a message — the same
270
+ * shape as `context.entity`, so the agent has one vocabulary for "this" (the
271
+ * entity pill) and "these" (mentions).
272
+ */
273
+ export type WidgetMention = {
274
+ /** Host vocabulary, e.g. `workflow`, `integration`, `order`; the menu groups by it. */
275
+ type: string;
276
+ id: string;
277
+ /** What the menu shows, what `@Title` reads in the text, what the agent calls it. */
278
+ title: string;
279
+ /** Shown in the preview card beside the menu (see `mentions.preview`). */
280
+ description?: string;
281
+ /** Icon URL shown in the menu. Wins over `iconName`. */
282
+ icon?: string;
283
+ /** A built-in icon instead of a URL. See {@link IconNameU}. */
284
+ iconName?: IconNameU;
285
+ /** Anything the agent needs to act on it that is not in `id`. */
286
+ meta?: Record<string, unknown>;
287
+ };
288
+ /** Where the @-mention menu gets its items, and how it presents them. */
289
+ export type WidgetMentionsOptions = ({
290
+ /**
291
+ * A fixed list the widget filters itself as the visitor types
292
+ * (case-insensitive match on title, then description). Right for a
293
+ * few dozen items known up front.
294
+ */
295
+ items: WidgetMention[];
296
+ search?: never;
297
+ } | {
298
+ /**
299
+ * Called as the visitor types after `@` (debounced), with the text so
300
+ * far — empty right after the `@` — and must return the items to
301
+ * offer, best first. Right for anything you look up on a server. Each
302
+ * type shows three at first with a "See N more" row.
303
+ */
304
+ search: (query: string) => WidgetMention[] | Promise<WidgetMention[]>;
305
+ items?: never;
306
+ }) & {
307
+ /**
308
+ * Shows the highlighted item's description in a card beside the menu, when
309
+ * the widget is wide enough to fit one (the sidebar and fullscreen
310
+ * layouts; the compact panel has no room). Off, the description is not
311
+ * shown anywhere.
312
+ * @default true
313
+ */
314
+ preview?: boolean;
315
+ };
196
316
  export interface WidgetConfig {
197
317
  /**
198
318
  * Your organization's widget token.
199
319
  * Can be found in the dashboard in the web widget page.
200
320
  */
201
321
  token: string;
322
+ capabilities?: {
323
+ /**
324
+ * Whether this client renders selectable question parts and submits answers.
325
+ * The built-in Widget declares support for its default question renderer.
326
+ * Headless clients must explicitly declare support after implementing it.
327
+ * This does not enable the organization's feature. Omitted means unsupported.
328
+ */
329
+ structuredQuestions?: boolean;
330
+ };
331
+ /**
332
+ * Per-embed feature toggles. Each one can only NARROW what your
333
+ * organization enabled server-side — `true` (or omitted) leaves the org
334
+ * setting in charge; `false` switches the feature off for this embed.
335
+ */
336
+ features?: {
337
+ /**
338
+ * Whether the agent sends a short heads-up line before it starts tool
339
+ * work ("Let me look that up…").
340
+ * @default org setting
341
+ */
342
+ preamble?: boolean;
343
+ /**
344
+ * Whether the agent may reply with inline UI (rich rendered blocks)
345
+ * instead of plain text where that fits the answer better.
346
+ * @default org setting
347
+ */
348
+ inlineUi?: boolean;
349
+ /**
350
+ * Whether the composer offers voice dictation (speak, and the words land
351
+ * in the message box). Only available when your organization enabled it.
352
+ * @default org setting
353
+ */
354
+ dictation?: boolean;
355
+ /**
356
+ * Whether the visitor can mark things on your page from the composer
357
+ * and the agent reads them, along with the well-known `page` / `entity`
358
+ * keys of the `context` you pass. Only available when your organization
359
+ * enabled it. Switch it off for an embed on a page the visitor should
360
+ * not be able to mark.
361
+ * @default org setting
362
+ */
363
+ pageContext?: boolean;
364
+ /**
365
+ * Whether the agent may act on your page (highlight elements) as part of
366
+ * its reply. Only available when your organization enabled it. Switch it
367
+ * off for an embed on a page the agent should never draw on.
368
+ * @default org setting
369
+ */
370
+ clientTools?: boolean;
371
+ };
202
372
  /**
203
373
  * The language of the widget.
204
374
  * Translations are available in the default non-headless widget.
@@ -209,7 +379,8 @@ export interface WidgetConfig {
209
379
  [key in Language]?: Partial<TranslationInterface>;
210
380
  };
211
381
  /**
212
- * A name and an avatar for the bot.
382
+ * A name and an avatar for the bot. Overrides the agent name/avatar your
383
+ * organization configured in the dashboard.
213
384
  */
214
385
  bot?: Pick<Agent, 'name' | 'avatarUrl'
215
386
  /** @deprecated Use `avatarUrl` instead */
@@ -434,6 +605,16 @@ export interface WidgetConfig {
434
605
  * @default false
435
606
  */
436
607
  chatScreenOnly?: boolean;
608
+ /**
609
+ * If true, a page load returns the visitor to the conversation they were
610
+ * last in (when it is still open), instead of the sessions list or an
611
+ * empty chat. Only the session POINTER is stored client-side — through the
612
+ * same storage adapter as the contact token — and it is dropped as soon as
613
+ * the conversation is closed or a new one is started.
614
+ *
615
+ * @default false
616
+ */
617
+ restoreLastSession?: boolean;
437
618
  };
438
619
  /**
439
620
  * Lifecycle hooks that fire on certain widget events.
@@ -503,11 +684,53 @@ export interface WidgetConfig {
503
684
  */
504
685
  bodyProperties?: Record<string, JsonValue>;
505
686
  /**
506
- * Dynamic context to be sent with each send-message request from the widget.
507
- * Useful if you want to send data regarding the current page the user is viewing.
687
+ * AI-visible context sent with each send-message request: where the
688
+ * visitor is and what they are looking at, plus anything else the host
689
+ * wants the agent to know. The two well-known keys, `page` and `entity`,
690
+ * are what the agent reads as "here" and "this" (see `WidgetPageContext`);
691
+ * `entity` also shows as a context pill in the composer, removable per
692
+ * message. Pass a FUNCTION to have it resolved fresh at every send — the
693
+ * right form for SPAs, where a static object captured at init goes stale on
694
+ * the first navigation. The composer's pill follows the page on its own:
695
+ * the widget re-reads the function when the host URL changes (route,
696
+ * back/forward, hash). When the situation changes without the URL (a tab
697
+ * inside one page, a record loaded by id), tell it:
698
+ * `window.dispatchEvent(new Event('opencx:context-changed'))`.
508
699
  * @default undefined
509
700
  */
510
- context?: Record<string, unknown>;
701
+ context?: WidgetContext | (() => WidgetContext);
702
+ /**
703
+ * Let the visitor @-mention things on your site in a message. Typing `@`
704
+ * in the composer opens a menu beside it, grouped by `type`; a picked item
705
+ * lives in the text as a highlighted `@Title` (one unit: the caret skips
706
+ * it, Backspace removes it whole) and rides the send as
707
+ * `clientContext.mentions` (type, id, title, meta) so the agent can resolve
708
+ * it. Give the menu either a fixed list or a search. Only available when
709
+ * your organization enabled "sees the page".
710
+ */
711
+ mentions?: WidgetMentionsOptions;
712
+ /**
713
+ * Receives actions the visitor takes on agent-rendered inline UI that the
714
+ * widget cannot complete on its own — today only `test-phone-agent`, the
715
+ * "Test via web" button on a phone-agent card. Meant for the OpenCX
716
+ * dashboard embed; without a handler such cards render without the action.
717
+ */
718
+ onUiAction?: (action: WidgetUiAction) => void;
719
+ /**
720
+ * Makes each step row in an agent turn's trace expandable to show that tool
721
+ * call's arguments and its result, pretty-printed. For debugging an agent
722
+ * against a real conversation — the default trace shows only what each step
723
+ * did, which is what a customer should see.
724
+ *
725
+ * @default false
726
+ */
727
+ showStepToolIO?: boolean;
728
+ /**
729
+ * How long an agent-requested page highlight remains visible, in
730
+ * milliseconds (the `clientTools` feature).
731
+ * @default 8000
732
+ */
733
+ pageMarkHighlightDurationMs?: number;
511
734
  /**
512
735
  * Dynamic custom data to be sent with each contact message.
513
736
  * This custom data is intended for human use only; the AI will not see it and it will not affect the AI's response.
@@ -531,6 +754,167 @@ export interface WidgetConfig {
531
754
  * @default false
532
755
  */
533
756
  inline?: boolean;
757
+ /**
758
+ * How the widget presents itself on the host page.
759
+ * - `popover` – the classic corner trigger button that opens a chat popover.
760
+ * - `companion` – a bottom-centered floating pill that morphs into a
761
+ * floating chat panel.
762
+ *
763
+ * Ignored when `inline` is `true`.
764
+ * @default 'popover'
765
+ */
766
+ displayMode?: WidgetDisplayModeU;
767
+ /**
768
+ * Options for the `companion` display mode.
769
+ */
770
+ companion?: {
771
+ /**
772
+ * Layout the companion rests in: a compact panel or a docked sidebar.
773
+ * Fullscreen cannot be selected here because it normally acts as a runtime
774
+ * expansion of the open chat. If this value is excluded by `layouts`, the
775
+ * first allowed layout is used instead; this can be `fullscreen` when it is
776
+ * the only or first configured option.
777
+ * When omitted, the first allowed layout is used. With the default
778
+ * `layouts` order this is `'compact'`; a custom order makes its first entry
779
+ * the resting default.
780
+ * @default first allowed layout
781
+ */
782
+ defaultLayout?: WidgetCompanionDefaultLayoutU;
783
+ /**
784
+ * Which layouts the corner layout picker offers, and in what order. The
785
+ * current layout is highlighted; picking one switches to it. Order is
786
+ * preserved and duplicate entries are ignored. Provide fewer
787
+ * than two to hide the picker entirely (there is nothing to switch
788
+ * between) — e.g. `['sidebar']` locks the companion to the sidebar with no
789
+ * switcher. An omitted, empty, or otherwise unusable list falls back to all
790
+ * three: compact ("Floating"), sidebar, fullscreen.
791
+ * @default ['compact', 'sidebar', 'fullscreen']
792
+ */
793
+ layouts?: WidgetCompanionLayoutU[];
794
+ /**
795
+ * Render messages as chat bubbles (agent + user bubbles, avatars in the
796
+ * gutter). By default the companion uses a flat, document-style layout:
797
+ * agent replies flow as unbubbled text and user messages become quiet
798
+ * chips (Linear/Claude-style). Set `true` to opt into classic chat
799
+ * bubbles. Applies to the `companion` display mode; the `popover` mode is
800
+ * always bubbles.
801
+ * @default false
802
+ */
803
+ bubbles?: boolean;
804
+ /**
805
+ * URL of an icon that replaces the built-in animated face, on the
806
+ * floating pill and in the quick-ask input bar.
807
+ */
808
+ icon?: string;
809
+ /**
810
+ * Which composer tools the docked quick-ask bar shows. The expanded chat
811
+ * panel always shows the full tool row regardless.
812
+ * - 'history-only' (default): just the conversation-history control —
813
+ * the resting bar stays quiet.
814
+ * - 'all': attach + page-mark buttons too.
815
+ * @default 'history-only'
816
+ */
817
+ quickAskTools?: 'history-only' | 'all';
818
+ /** Geometry of the floating conversation panel. Values are pixels except
819
+ * `viewportHeightRatio`, which is a 0–1 fraction of viewport height. */
820
+ compact?: {
821
+ /** Maximum panel width. @default 440 */
822
+ maxWidth?: number;
823
+ /** Preferred minimum panel width when the viewport has room. @default 280 */
824
+ minWidth?: number;
825
+ /** Preferred minimum conversation height. @default 420 */
826
+ minHeight?: number;
827
+ /** Maximum conversation height. @default 640 */
828
+ maxHeight?: number;
829
+ /** Preferred share of viewport height. @default 0.65 */
830
+ viewportHeightRatio?: number;
831
+ /** Chat-panel corner radius. @default 20 */
832
+ borderRadius?: number;
833
+ };
834
+ /**
835
+ * Maximum width of the centered conversation column in fullscreen mode.
836
+ * Any valid CSS length is accepted.
837
+ * @default '48rem'
838
+ */
839
+ contentMaxWidth?: string;
840
+ /**
841
+ * Background color of the resting pill. The built-in animated face
842
+ * adopts this color for its head so the two blend seamlessly.
843
+ * @default 'hsl(var(--opencx-primary))' – the widget's primary theme color
844
+ */
845
+ pillBackground?: string;
846
+ /**
847
+ * Placeholder text for the quick-ask input bar.
848
+ * Defaults to the localized "Write a message...".
849
+ */
850
+ placeholder?: string;
851
+ /**
852
+ * Text shown beside the icon while the companion rests at the bottom
853
+ * of the page, turning the small round pill into a wider docked bar
854
+ * (e.g. "Ask Companion…").
855
+ * Defaults to `placeholder` (localized "Write a message...").
856
+ */
857
+ pillLabel?: string;
858
+ /**
859
+ * Fullscreen-layout behavior. The option touches the embedder's page,
860
+ * so it can be turned off.
861
+ */
862
+ fullscreen?: {
863
+ /**
864
+ * Prevent the host page from scrolling while fullscreen is open.
865
+ * @default true
866
+ */
867
+ lockScroll?: boolean;
868
+ };
869
+ /**
870
+ * Sidebar-layout behavior: which edge it occupies (`side`) and how it
871
+ * coexists with the page (`mode`). The sidebar floats over the page edge
872
+ * on its inline-end by default; docking (host-page framing) is an explicit
873
+ * opt-in because it restyles the document root and body.
874
+ */
875
+ sidebar?: {
876
+ /**
877
+ * Which viewport edge the sidebar occupies. `auto` follows the host
878
+ * document's direction (right under LTR, left under RTL); `left` and
879
+ * `right` pin to that physical edge in both directions.
880
+ * @default 'auto'
881
+ */
882
+ side?: WidgetSidebarSideU;
883
+ /**
884
+ * How the sidebar coexists with the host page.
885
+ * - `floating` – the panel overlays the page edge, leaving the host
886
+ * document untouched.
887
+ * - `docked` – the host page is framed (inset on the sidebar's side,
888
+ * rounded, on a canvas) so the two sit side by side. Opt-in because
889
+ * framing restyles the host's document root and body.
890
+ * @default 'floating'
891
+ */
892
+ mode?: WidgetSidebarModeU;
893
+ /**
894
+ * Sidebar width in pixels.
895
+ * @default 400
896
+ */
897
+ width?: number;
898
+ /** Minimum width allowed by pointer or keyboard resizing. @default 320 */
899
+ minWidth?: number;
900
+ /** Maximum width allowed by pointer or keyboard resizing. @default 560 */
901
+ maxWidth?: number;
902
+ /**
903
+ * Canvas color revealed behind the framed page.
904
+ * @default '#f4f4f5'
905
+ */
906
+ canvasColor?: string;
907
+ };
908
+ /**
909
+ * How the resting pill label shows:
910
+ * - `always` – the resting state is the labeled bar.
911
+ * - `hover` – rests as the icon-only pill and expands to the labeled
912
+ * bar on hover. Falls back to the icon-only pill on touch devices.
913
+ * - `never` – icon-only pill.
914
+ * @default 'always'
915
+ */
916
+ pillLabelDisplay?: 'always' | 'hover' | 'never';
917
+ };
534
918
  /**
535
919
  * This shows when the AI's response might have solved the user's issue.
536
920
  * The prompt shows as two buttons: "This was helpful" and "I need more help".
@@ -545,6 +929,25 @@ export interface WidgetConfig {
545
929
  enabled?: boolean;
546
930
  };
547
931
  };
932
+ /**
933
+ * Actions offered under each AI reply.
934
+ */
935
+ messageActions?: {
936
+ /**
937
+ * A "Copy" button that copies the reply as text.
938
+ * @default true in the `companion` display mode, false in the `popover`
939
+ * (so a v4 embed looks the same after upgrading)
940
+ */
941
+ copy?: boolean;
942
+ /**
943
+ * When the actions show under a reply.
944
+ * - `hover` – revealed while the reply is hovered or focused; always
945
+ * visible on touch screens, which have no hover.
946
+ * - `always` – visible under every reply.
947
+ * @default 'hover'
948
+ */
949
+ display?: 'hover' | 'always';
950
+ };
548
951
  /**
549
952
  * Accessibility options.
550
953
  */
@@ -567,6 +970,10 @@ export interface WidgetConfig {
567
970
  * generating. The in-chat typing indicator is preserved; only the send button's
568
971
  * disabled/spinner state is dropped.
569
972
  *
973
+ * Applies to the non-streaming reply engine only. The streaming agent surface
974
+ * never blocks: a message sent while a reply is streaming is queued and sent
975
+ * the moment the current reply finishes or is stopped.
976
+ *
570
977
  * @default true
571
978
  */
572
979
  disableSendingWhenAwaitingAIReply?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"widget-config.d.ts","sourceRoot":"","sources":["../../../src/types/widget-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget-config.d.ts","sourceRoot":"","sources":["../../../src/types/widget-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Poller.d.ts","sourceRoot":"","sources":["../../../src/utils/Poller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,qBAAa,MAAM;IACjB,KAAK,+BAGF;IACH,OAAO,CAAC,eAAe,CAAyB;IAEhD,KAAK,aAIH;IAEF,OAAO,CAAC,WAAW,CAA6B;IAEhD,YAAY,GACV,IAAI,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,EAC/C,YAAY,MAAM,UAqClB;CACH"}
1
+ {"version":3,"file":"Poller.d.ts","sourceRoot":"","sources":["../../../src/utils/Poller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,qBAAa,MAAM;IACjB,KAAK,+BAGF;IACH,OAAO,CAAC,eAAe,CAAyB;IAEhD,KAAK,aAIH;IAEF,OAAO,CAAC,WAAW,CAA6B;IAEhD,YAAY,GACV,IAAI,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,EAC/C,YAAY,MAAM,UAoClB;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveState.d.ts","sourceRoot":"","sources":["../../../src/utils/PrimitiveState.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAE9C,qBAAa,cAAc,CAAC,CAAC;IAC3B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,YAAY,CAAI;gBAEZ,KAAK,EAAE,CAAC;IAKpB,GAAG,QAAO,CAAC,CAAe;IAE1B,GAAG,GAAI,UAAU,CAAC,KAAG,IAAI,CAKvB;IAEF,UAAU,GAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAG,IAAI,CAIjC;IAEF,KAAK,QAAO,IAAI,CAEd;IAEF,OAAO,CAAC,iBAAiB,CAWvB;IAEF,SAAS,GAAI,UAAU,UAAU,CAAC,CAAC,CAAC,KAAG,CAAC,MAAM,IAAI,CAAC,CAMjD;CACH"}
1
+ {"version":3,"file":"PrimitiveState.d.ts","sourceRoot":"","sources":["../../../src/utils/PrimitiveState.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAE9C,qBAAa,cAAc,CAAC,CAAC;IAC3B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,YAAY,CAAI;gBAEZ,KAAK,EAAE,CAAC;IAKpB,GAAG,QAAO,CAAC,CAAe;IAE1B,GAAG,GAAI,UAAU,CAAC,KAAG,IAAI,CAKvB;IAEF,UAAU,GAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAG,IAAI,CAIjC;IAEF,KAAK,QAAO,IAAI,CAEd;IAEF,OAAO,CAAC,iBAAiB,CAWvB;IAEF,SAAS,GAAI,UAAU,UAAU,CAAC,CAAC,CAAC,KAAG,CAAC,MAAM,IAAI,CAAC,CAMjD;CACH"}
@@ -0,0 +1,23 @@
1
+ import { WidgetCompanionLayoutU, WidgetSidebarModeU } from '../types/widget-config';
2
+ /** The sidebar side after `auto` has been resolved against the host dir. */
3
+ export type WidgetSidebarSideResolvedU = 'left' | 'right';
4
+ export declare const DEFAULT_COMPANION_LAYOUTS: readonly ["compact", "sidebar", "fullscreen"];
5
+ /**
6
+ * Resolve the layouts available to the companion. Configured order is part of
7
+ * the public contract, so it is preserved while duplicates and invalid runtime
8
+ * values are discarded. An omitted or unusable list falls back to every
9
+ * layout, keeping the result non-empty for all consumers.
10
+ */
11
+ export declare function normalizeCompanionLayouts(layouts?: unknown): readonly WidgetCompanionLayoutU[];
12
+ /** Choose an allowed initial/fallback layout for the companion shell. */
13
+ export declare function resolveCompanionDefaultLayout(configuredDefault: unknown, allowedLayouts: readonly WidgetCompanionLayoutU[]): WidgetCompanionLayoutU;
14
+ /**
15
+ * Resolve the physical edge the sidebar occupies. `auto` (and any unusable
16
+ * runtime value) follows the host document's direction — the inline-end edge,
17
+ * which is the historical behavior — while an explicit side wins in both
18
+ * directions.
19
+ */
20
+ export declare function resolveSidebarSide(side: unknown, dir: string): WidgetSidebarSideResolvedU;
21
+ /** Resolve how the sidebar coexists with the page; anything but `docked` floats. */
22
+ export declare function resolveSidebarMode(mode: unknown): WidgetSidebarModeU;
23
+ //# sourceMappingURL=companion-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-layout.d.ts","sourceRoot":"","sources":["../../../src/utils/companion-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC,4EAA4E;AAC5E,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1D,eAAO,MAAM,yBAAyB,+CAIgB,CAAC;AAUvD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,OAAO,GAChB,SAAS,sBAAsB,EAAE,CAYnC;AAED,yEAAyE;AACzE,wBAAgB,6BAA6B,CAC3C,iBAAiB,EAAE,OAAO,EAC1B,cAAc,EAAE,SAAS,sBAAsB,EAAE,GAChD,sBAAsB,CAQxB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,MAAM,GACV,0BAA0B,CAG5B;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,CAEpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-exhaustive.d.ts","sourceRoot":"","sources":["../../../src/utils/is-exhaustive.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAE1D"}
1
+ {"version":3,"file":"is-exhaustive.d.ts","sourceRoot":"","sources":["../../../src/utils/is-exhaustive.ts"],"names":[],"mappings":"AACA,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAE1D"}
@@ -0,0 +1,3 @@
1
+ /** A plain object read off the wire (not null, not an array). */
2
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
3
+ //# sourceMappingURL=is-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-record.d.ts","sourceRoot":"","sources":["../../../src/utils/is-record.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE"}
@@ -0,0 +1,5 @@
1
+ export declare const log: {
2
+ warn: (message: string, ...details: unknown[]) => void;
3
+ error: (message: string, ...details: unknown[]) => void;
4
+ };
5
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG;oBACE,MAAM,cAAc,OAAO,EAAE,KAAG,IAAI;qBAGnC,MAAM,cAAc,OAAO,EAAE,KAAG,IAAI;CAGtD,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@opencx/widget-core",
3
3
  "private": false,
4
- "version": "4.0.62",
4
+ "version": "5.0.0-beta.1",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
@@ -24,6 +24,7 @@
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/lodash.isequal": "^4.5.8",
27
+ "@types/react": "^19.2.18",
27
28
  "lucide": "^0.525.0",
28
29
  "openapi-typescript": "^7.5.2",
29
30
  "@opencx/eslint-config": "0.0.1",