@opencx/widget-core 4.0.62 → 5.0.0-beta.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 (151) hide show
  1. package/dist/index.cjs +13 -2
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +4422 -772
  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 +28 -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 +50 -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 +355 -78
  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 +209 -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 +33 -0
  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 +402 -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,173 @@ 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
+ /**
323
+ * Per-embed feature toggles. Each one can only NARROW what your
324
+ * organization enabled server-side — `true` (or omitted) leaves the org
325
+ * setting in charge; `false` switches the feature off for this embed.
326
+ */
327
+ features?: {
328
+ /**
329
+ * Whether the agent sends a short heads-up line before it starts tool
330
+ * work ("Let me look that up…").
331
+ * @default org setting
332
+ */
333
+ preamble?: boolean;
334
+ /**
335
+ * Whether the agent may reply with inline UI (rich rendered blocks)
336
+ * instead of plain text where that fits the answer better.
337
+ * @default org setting
338
+ */
339
+ inlineUi?: boolean;
340
+ /**
341
+ * Whether the composer offers voice dictation (speak, and the words land
342
+ * in the message box). Only available when your organization enabled it.
343
+ * @default org setting
344
+ */
345
+ dictation?: boolean;
346
+ /**
347
+ * Whether the visitor can mark things on your page from the composer
348
+ * and the agent reads them, along with the well-known `page` / `entity`
349
+ * keys of the `context` you pass. Only available when your organization
350
+ * enabled it. Switch it off for an embed on a page the visitor should
351
+ * not be able to mark.
352
+ * @default org setting
353
+ */
354
+ pageContext?: boolean;
355
+ /**
356
+ * Whether the agent may act on your page (highlight elements) as part of
357
+ * its reply. Only available when your organization enabled it. Switch it
358
+ * off for an embed on a page the agent should never draw on.
359
+ * @default org setting
360
+ */
361
+ clientTools?: boolean;
362
+ };
202
363
  /**
203
364
  * The language of the widget.
204
365
  * Translations are available in the default non-headless widget.
@@ -209,7 +370,8 @@ export interface WidgetConfig {
209
370
  [key in Language]?: Partial<TranslationInterface>;
210
371
  };
211
372
  /**
212
- * A name and an avatar for the bot.
373
+ * A name and an avatar for the bot. Overrides the agent name/avatar your
374
+ * organization configured in the dashboard.
213
375
  */
214
376
  bot?: Pick<Agent, 'name' | 'avatarUrl'
215
377
  /** @deprecated Use `avatarUrl` instead */
@@ -434,6 +596,16 @@ export interface WidgetConfig {
434
596
  * @default false
435
597
  */
436
598
  chatScreenOnly?: boolean;
599
+ /**
600
+ * If true, a page load returns the visitor to the conversation they were
601
+ * last in (when it is still open), instead of the sessions list or an
602
+ * empty chat. Only the session POINTER is stored client-side — through the
603
+ * same storage adapter as the contact token — and it is dropped as soon as
604
+ * the conversation is closed or a new one is started.
605
+ *
606
+ * @default false
607
+ */
608
+ restoreLastSession?: boolean;
437
609
  };
438
610
  /**
439
611
  * Lifecycle hooks that fire on certain widget events.
@@ -503,11 +675,53 @@ export interface WidgetConfig {
503
675
  */
504
676
  bodyProperties?: Record<string, JsonValue>;
505
677
  /**
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.
678
+ * AI-visible context sent with each send-message request: where the
679
+ * visitor is and what they are looking at, plus anything else the host
680
+ * wants the agent to know. The two well-known keys, `page` and `entity`,
681
+ * are what the agent reads as "here" and "this" (see `WidgetPageContext`);
682
+ * `entity` also shows as a context pill in the composer, removable per
683
+ * message. Pass a FUNCTION to have it resolved fresh at every send — the
684
+ * right form for SPAs, where a static object captured at init goes stale on
685
+ * the first navigation. The composer's pill follows the page on its own:
686
+ * the widget re-reads the function when the host URL changes (route,
687
+ * back/forward, hash). When the situation changes without the URL (a tab
688
+ * inside one page, a record loaded by id), tell it:
689
+ * `window.dispatchEvent(new Event('opencx:context-changed'))`.
508
690
  * @default undefined
509
691
  */
510
- context?: Record<string, unknown>;
692
+ context?: WidgetContext | (() => WidgetContext);
693
+ /**
694
+ * Let the visitor @-mention things on your site in a message. Typing `@`
695
+ * in the composer opens a menu beside it, grouped by `type`; a picked item
696
+ * lives in the text as a highlighted `@Title` (one unit: the caret skips
697
+ * it, Backspace removes it whole) and rides the send as
698
+ * `clientContext.mentions` (type, id, title, meta) so the agent can resolve
699
+ * it. Give the menu either a fixed list or a search. Only available when
700
+ * your organization enabled "sees the page".
701
+ */
702
+ mentions?: WidgetMentionsOptions;
703
+ /**
704
+ * Receives actions the visitor takes on agent-rendered inline UI that the
705
+ * widget cannot complete on its own — today only `test-phone-agent`, the
706
+ * "Test via web" button on a phone-agent card. Meant for the OpenCX
707
+ * dashboard embed; without a handler such cards render without the action.
708
+ */
709
+ onUiAction?: (action: WidgetUiAction) => void;
710
+ /**
711
+ * Makes each step row in an agent turn's trace expandable to show that tool
712
+ * call's arguments and its result, pretty-printed. For debugging an agent
713
+ * against a real conversation — the default trace shows only what each step
714
+ * did, which is what a customer should see.
715
+ *
716
+ * @default false
717
+ */
718
+ showStepToolIO?: boolean;
719
+ /**
720
+ * How long an agent-requested page highlight remains visible, in
721
+ * milliseconds (the `clientTools` feature).
722
+ * @default 8000
723
+ */
724
+ pageMarkHighlightDurationMs?: number;
511
725
  /**
512
726
  * Dynamic custom data to be sent with each contact message.
513
727
  * 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 +745,167 @@ export interface WidgetConfig {
531
745
  * @default false
532
746
  */
533
747
  inline?: boolean;
748
+ /**
749
+ * How the widget presents itself on the host page.
750
+ * - `popover` – the classic corner trigger button that opens a chat popover.
751
+ * - `companion` – a bottom-centered floating pill that morphs into a
752
+ * floating chat panel.
753
+ *
754
+ * Ignored when `inline` is `true`.
755
+ * @default 'popover'
756
+ */
757
+ displayMode?: WidgetDisplayModeU;
758
+ /**
759
+ * Options for the `companion` display mode.
760
+ */
761
+ companion?: {
762
+ /**
763
+ * Layout the companion rests in: a compact panel or a docked sidebar.
764
+ * Fullscreen cannot be selected here because it normally acts as a runtime
765
+ * expansion of the open chat. If this value is excluded by `layouts`, the
766
+ * first allowed layout is used instead; this can be `fullscreen` when it is
767
+ * the only or first configured option.
768
+ * When omitted, the first allowed layout is used. With the default
769
+ * `layouts` order this is `'compact'`; a custom order makes its first entry
770
+ * the resting default.
771
+ * @default first allowed layout
772
+ */
773
+ defaultLayout?: WidgetCompanionDefaultLayoutU;
774
+ /**
775
+ * Which layouts the corner layout picker offers, and in what order. The
776
+ * current layout is highlighted; picking one switches to it. Order is
777
+ * preserved and duplicate entries are ignored. Provide fewer
778
+ * than two to hide the picker entirely (there is nothing to switch
779
+ * between) — e.g. `['sidebar']` locks the companion to the sidebar with no
780
+ * switcher. An omitted, empty, or otherwise unusable list falls back to all
781
+ * three: compact ("Floating"), sidebar, fullscreen.
782
+ * @default ['compact', 'sidebar', 'fullscreen']
783
+ */
784
+ layouts?: WidgetCompanionLayoutU[];
785
+ /**
786
+ * Render messages as chat bubbles (agent + user bubbles, avatars in the
787
+ * gutter). By default the companion uses a flat, document-style layout:
788
+ * agent replies flow as unbubbled text and user messages become quiet
789
+ * chips (Linear/Claude-style). Set `true` to opt into classic chat
790
+ * bubbles. Applies to the `companion` display mode; the `popover` mode is
791
+ * always bubbles.
792
+ * @default false
793
+ */
794
+ bubbles?: boolean;
795
+ /**
796
+ * URL of an icon that replaces the built-in animated face, on the
797
+ * floating pill and in the quick-ask input bar.
798
+ */
799
+ icon?: string;
800
+ /**
801
+ * Which composer tools the docked quick-ask bar shows. The expanded chat
802
+ * panel always shows the full tool row regardless.
803
+ * - 'history-only' (default): just the conversation-history control —
804
+ * the resting bar stays quiet.
805
+ * - 'all': attach + page-mark buttons too.
806
+ * @default 'history-only'
807
+ */
808
+ quickAskTools?: 'history-only' | 'all';
809
+ /** Geometry of the floating conversation panel. Values are pixels except
810
+ * `viewportHeightRatio`, which is a 0–1 fraction of viewport height. */
811
+ compact?: {
812
+ /** Maximum panel width. @default 440 */
813
+ maxWidth?: number;
814
+ /** Preferred minimum panel width when the viewport has room. @default 280 */
815
+ minWidth?: number;
816
+ /** Preferred minimum conversation height. @default 420 */
817
+ minHeight?: number;
818
+ /** Maximum conversation height. @default 640 */
819
+ maxHeight?: number;
820
+ /** Preferred share of viewport height. @default 0.65 */
821
+ viewportHeightRatio?: number;
822
+ /** Chat-panel corner radius. @default 20 */
823
+ borderRadius?: number;
824
+ };
825
+ /**
826
+ * Maximum width of the centered conversation column in fullscreen mode.
827
+ * Any valid CSS length is accepted.
828
+ * @default '48rem'
829
+ */
830
+ contentMaxWidth?: string;
831
+ /**
832
+ * Background color of the resting pill. The built-in animated face
833
+ * adopts this color for its head so the two blend seamlessly.
834
+ * @default 'hsl(var(--opencx-primary))' – the widget's primary theme color
835
+ */
836
+ pillBackground?: string;
837
+ /**
838
+ * Placeholder text for the quick-ask input bar.
839
+ * Defaults to the localized "Write a message...".
840
+ */
841
+ placeholder?: string;
842
+ /**
843
+ * Text shown beside the icon while the companion rests at the bottom
844
+ * of the page, turning the small round pill into a wider docked bar
845
+ * (e.g. "Ask Companion…").
846
+ * Defaults to `placeholder` (localized "Write a message...").
847
+ */
848
+ pillLabel?: string;
849
+ /**
850
+ * Fullscreen-layout behavior. The option touches the embedder's page,
851
+ * so it can be turned off.
852
+ */
853
+ fullscreen?: {
854
+ /**
855
+ * Prevent the host page from scrolling while fullscreen is open.
856
+ * @default true
857
+ */
858
+ lockScroll?: boolean;
859
+ };
860
+ /**
861
+ * Sidebar-layout behavior: which edge it occupies (`side`) and how it
862
+ * coexists with the page (`mode`). The sidebar floats over the page edge
863
+ * on its inline-end by default; docking (host-page framing) is an explicit
864
+ * opt-in because it restyles the document root and body.
865
+ */
866
+ sidebar?: {
867
+ /**
868
+ * Which viewport edge the sidebar occupies. `auto` follows the host
869
+ * document's direction (right under LTR, left under RTL); `left` and
870
+ * `right` pin to that physical edge in both directions.
871
+ * @default 'auto'
872
+ */
873
+ side?: WidgetSidebarSideU;
874
+ /**
875
+ * How the sidebar coexists with the host page.
876
+ * - `floating` – the panel overlays the page edge, leaving the host
877
+ * document untouched.
878
+ * - `docked` – the host page is framed (inset on the sidebar's side,
879
+ * rounded, on a canvas) so the two sit side by side. Opt-in because
880
+ * framing restyles the host's document root and body.
881
+ * @default 'floating'
882
+ */
883
+ mode?: WidgetSidebarModeU;
884
+ /**
885
+ * Sidebar width in pixels.
886
+ * @default 400
887
+ */
888
+ width?: number;
889
+ /** Minimum width allowed by pointer or keyboard resizing. @default 320 */
890
+ minWidth?: number;
891
+ /** Maximum width allowed by pointer or keyboard resizing. @default 560 */
892
+ maxWidth?: number;
893
+ /**
894
+ * Canvas color revealed behind the framed page.
895
+ * @default '#f4f4f5'
896
+ */
897
+ canvasColor?: string;
898
+ };
899
+ /**
900
+ * How the resting pill label shows:
901
+ * - `always` – the resting state is the labeled bar.
902
+ * - `hover` – rests as the icon-only pill and expands to the labeled
903
+ * bar on hover. Falls back to the icon-only pill on touch devices.
904
+ * - `never` – icon-only pill.
905
+ * @default 'always'
906
+ */
907
+ pillLabelDisplay?: 'always' | 'hover' | 'never';
908
+ };
534
909
  /**
535
910
  * This shows when the AI's response might have solved the user's issue.
536
911
  * The prompt shows as two buttons: "This was helpful" and "I need more help".
@@ -545,6 +920,25 @@ export interface WidgetConfig {
545
920
  enabled?: boolean;
546
921
  };
547
922
  };
923
+ /**
924
+ * Actions offered under each AI reply.
925
+ */
926
+ messageActions?: {
927
+ /**
928
+ * A "Copy" button that copies the reply as text.
929
+ * @default true in the `companion` display mode, false in the `popover`
930
+ * (so a v4 embed looks the same after upgrading)
931
+ */
932
+ copy?: boolean;
933
+ /**
934
+ * When the actions show under a reply.
935
+ * - `hover` – revealed while the reply is hovered or focused; always
936
+ * visible on touch screens, which have no hover.
937
+ * - `always` – visible under every reply.
938
+ * @default 'hover'
939
+ */
940
+ display?: 'hover' | 'always';
941
+ };
548
942
  /**
549
943
  * Accessibility options.
550
944
  */
@@ -567,6 +961,10 @@ export interface WidgetConfig {
567
961
  * generating. The in-chat typing indicator is preserved; only the send button's
568
962
  * disabled/spinner state is dropped.
569
963
  *
964
+ * Applies to the non-streaming reply engine only. The streaming agent surface
965
+ * never blocks: a message sent while a reply is streaming is queued and sent
966
+ * the moment the current reply finishes or is stopped.
967
+ *
570
968
  * @default true
571
969
  */
572
970
  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.0",
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",