@octaviaflow/core 3.1.0-beta.115 → 3.1.0-beta.116

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 (92) hide show
  1. package/dist/chunk-23K2RF7Z.js +2694 -0
  2. package/dist/chunk-23K2RF7Z.js.map +1 -0
  3. package/dist/chunk-H3FCGN4P.js +6628 -0
  4. package/dist/chunk-H3FCGN4P.js.map +1 -0
  5. package/dist/chunk-ISJSOF3Z.js +3646 -0
  6. package/dist/chunk-ISJSOF3Z.js.map +1 -0
  7. package/dist/chunk-KSIZ7DLS.js +3582 -0
  8. package/dist/chunk-KSIZ7DLS.js.map +1 -0
  9. package/dist/chunk-NAG3EFQ6.js +6789 -0
  10. package/dist/chunk-NAG3EFQ6.js.map +1 -0
  11. package/dist/chunk-NMZWNZV7.js +1547 -0
  12. package/dist/chunk-NMZWNZV7.js.map +1 -0
  13. package/dist/chunk-QWOH2E3F.js +3189 -0
  14. package/dist/chunk-QWOH2E3F.js.map +1 -0
  15. package/dist/chunk-V22HCPVO.js +2856 -0
  16. package/dist/chunk-V22HCPVO.js.map +1 -0
  17. package/dist/chunk-VGAUSBP4.js +3181 -0
  18. package/dist/chunk-VGAUSBP4.js.map +1 -0
  19. package/dist/chunk-WTIM6E4X.js +3677 -0
  20. package/dist/chunk-WTIM6E4X.js.map +1 -0
  21. package/dist/chunk-XUBJHPJT.js +3680 -0
  22. package/dist/chunk-XUBJHPJT.js.map +1 -0
  23. package/dist/components/AgentCard/AgentCard.d.ts.map +1 -1
  24. package/dist/components/AssistantAura/AssistantAura.d.ts +21 -0
  25. package/dist/components/AssistantAura/AssistantAura.d.ts.map +1 -0
  26. package/dist/components/AssistantAura/index.d.ts +2 -0
  27. package/dist/components/AssistantAura/index.d.ts.map +1 -0
  28. package/dist/components/AssistantConversation/AssistantConversation.d.ts +112 -0
  29. package/dist/components/AssistantConversation/AssistantConversation.d.ts.map +1 -0
  30. package/dist/components/AssistantConversation/assistant.fixtures.d.ts +29 -0
  31. package/dist/components/AssistantConversation/assistant.fixtures.d.ts.map +1 -0
  32. package/dist/components/AssistantConversation/assistantGlyphs.d.ts +13 -0
  33. package/dist/components/AssistantConversation/assistantGlyphs.d.ts.map +1 -0
  34. package/dist/components/AssistantConversation/index.d.ts +2 -0
  35. package/dist/components/AssistantConversation/index.d.ts.map +1 -0
  36. package/dist/components/AssistantDock/AssistantDock.d.ts +25 -0
  37. package/dist/components/AssistantDock/AssistantDock.d.ts.map +1 -0
  38. package/dist/components/AssistantDock/index.d.ts +2 -0
  39. package/dist/components/AssistantDock/index.d.ts.map +1 -0
  40. package/dist/components/AssistantOrb/AssistantOrb.d.ts +14 -0
  41. package/dist/components/AssistantOrb/AssistantOrb.d.ts.map +1 -0
  42. package/dist/components/AssistantOrb/explorations/OvaIconConcepts.d.ts +22 -0
  43. package/dist/components/AssistantOrb/explorations/OvaIconConcepts.d.ts.map +1 -0
  44. package/dist/components/AssistantOrb/index.d.ts +2 -0
  45. package/dist/components/AssistantOrb/index.d.ts.map +1 -0
  46. package/dist/components/AssistantTrigger/AssistantTrigger.d.ts +17 -0
  47. package/dist/components/AssistantTrigger/AssistantTrigger.d.ts.map +1 -0
  48. package/dist/components/AssistantTrigger/index.d.ts +2 -0
  49. package/dist/components/AssistantTrigger/index.d.ts.map +1 -0
  50. package/dist/components/ChatComposer/ChatComposer.d.ts +8 -0
  51. package/dist/components/ChatComposer/ChatComposer.d.ts.map +1 -1
  52. package/dist/components/ChatDocPreview/ChatDocPreview.d.ts +20 -0
  53. package/dist/components/ChatDocPreview/ChatDocPreview.d.ts.map +1 -0
  54. package/dist/components/ChatDocPreview/index.d.ts +2 -0
  55. package/dist/components/ChatDocPreview/index.d.ts.map +1 -0
  56. package/dist/components/ChatInputRequest/ChatInputRequest.d.ts +68 -0
  57. package/dist/components/ChatInputRequest/ChatInputRequest.d.ts.map +1 -0
  58. package/dist/components/ChatInputRequest/index.d.ts +2 -0
  59. package/dist/components/ChatInputRequest/index.d.ts.map +1 -0
  60. package/dist/components/ChatLinkPreview/ChatLinkPreview.d.ts +33 -0
  61. package/dist/components/ChatLinkPreview/ChatLinkPreview.d.ts.map +1 -0
  62. package/dist/components/ChatLinkPreview/index.d.ts +2 -0
  63. package/dist/components/ChatLinkPreview/index.d.ts.map +1 -0
  64. package/dist/components/ChatSources/ChatSources.d.ts +10 -1
  65. package/dist/components/ChatSources/ChatSources.d.ts.map +1 -1
  66. package/dist/components/ChatSources/index.d.ts +1 -1
  67. package/dist/components/ChatSources/index.d.ts.map +1 -1
  68. package/dist/components/ChatVideoPreview/ChatVideoPreview.d.ts +37 -0
  69. package/dist/components/ChatVideoPreview/ChatVideoPreview.d.ts.map +1 -0
  70. package/dist/components/ChatVideoPreview/index.d.ts +2 -0
  71. package/dist/components/ChatVideoPreview/index.d.ts.map +1 -0
  72. package/dist/components/TruncatedText/TruncatedText.d.ts +15 -0
  73. package/dist/components/TruncatedText/TruncatedText.d.ts.map +1 -0
  74. package/dist/components/TruncatedText/index.d.ts +2 -0
  75. package/dist/components/TruncatedText/index.d.ts.map +1 -0
  76. package/dist/index.cjs +7716 -6548
  77. package/dist/index.cjs.map +1 -1
  78. package/dist/index.d.ts +10 -1
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +4742 -5654
  81. package/dist/index.js.map +1 -1
  82. package/dist/marketing/components/AssistantWidget/AssistantWidget.d.ts +60 -0
  83. package/dist/marketing/components/AssistantWidget/AssistantWidget.d.ts.map +1 -0
  84. package/dist/marketing/index.d.ts +1 -0
  85. package/dist/marketing/index.d.ts.map +1 -1
  86. package/dist/marketing.cjs +3709 -1196
  87. package/dist/marketing.cjs.map +1 -1
  88. package/dist/marketing.js +737 -482
  89. package/dist/marketing.js.map +1 -1
  90. package/dist/styles.css +1 -1
  91. package/dist/workflow.js +2 -2
  92. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AgentCard.d.ts","sourceRoot":"","sources":["../../../src/components/AgentCard/AgentCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKxF;;;;;GAKG;AAEH;+EAC+E;AAC/E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzF;wDACwD;AACxD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;AAEhF;yDACyD;AACzD,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C;yEACyE;AACzE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,sFAAsF;IACtF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;yEAGqE;IACrE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB;;8EAE0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAE3B,oBAAoB;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,wBAAwB;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7C,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAmCD,eAAO,MAAM,SAAS,2GAsSpB,CAAC"}
1
+ {"version":3,"file":"AgentCard.d.ts","sourceRoot":"","sources":["../../../src/components/AgentCard/AgentCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMxF;;;;;GAKG;AAEH;+EAC+E;AAC/E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzF;wDACwD;AACxD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;AAEhF;yDACyD;AACzD,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C;yEACyE;AACzE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,sFAAsF;IACtF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;yEAGqE;IACrE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB;;8EAE0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAE3B,oBAAoB;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,wBAAwB;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7C,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAmCD,eAAO,MAAM,SAAS,2GAuSpB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ /**
3
+ * What the assistant is doing. The working states (`thinking`, `processing`,
4
+ * `speaking`) move; the outcomes (`done`, `stopped`, `error`) say how the last
5
+ * turn ended; `offline` means it can't answer at all.
6
+ */
7
+ export type AssistantState = "idle" | "listening" | "thinking" | "processing" | "speaking" | "done" | "stopped" | "error" | "offline";
8
+ /** Every state, in the order a turn moves through them (stories, tests, pickers). */
9
+ export declare const ASSISTANT_STATES: readonly AssistantState[];
10
+ export type AssistantAuraIntensity = "off" | "subtle" | "normal" | "strong";
11
+ export interface AssistantAuraProps extends ComponentPropsWithoutRef<"div"> {
12
+ /** What the assistant is doing: it sets the light's pace and brightness. Default `idle`. */
13
+ state?: AssistantState;
14
+ /** How much aura. Default `normal`. */
15
+ intensity?: AssistantAuraIntensity;
16
+ /** Ring thickness in px. Default `1`. */
17
+ thickness?: number;
18
+ children?: ReactNode;
19
+ }
20
+ export declare function AssistantAura({ state, intensity, thickness, className, style, children, ...rest }: AssistantAuraProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=AssistantAura.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantAura.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantAura/AssistantAura.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAsBjE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,WAAW,GACX,UAAU,GACV,YAAY,GACZ,UAAU,GACV,MAAM,GACN,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAEd,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAUrD,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5E,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACzE,4FAA4F;IAC5F,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,uCAAuC;IACvC,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAc,EACd,SAAoB,EACpB,SAAa,EACb,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,kBAAkB,2CAWpB"}
@@ -0,0 +1,2 @@
1
+ export { ASSISTANT_STATES, AssistantAura, type AssistantAuraIntensity, type AssistantAuraProps, type AssistantState, } from "./AssistantAura";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantAura/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,112 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ import { type AssistantAuraIntensity, type AssistantState } from "../AssistantAura/AssistantAura";
3
+ import { type ChatFeedbackRating } from "../ChatFeedback/ChatFeedback";
4
+ import { type ChatInputAnswer, type ChatInputField, type ChatInputValues } from "../ChatInputRequest/ChatInputRequest";
5
+ import { type ChatSource } from "../ChatSources/ChatSources";
6
+ import { type ChatToolCall } from "../ChatToolTrace/ChatToolTrace";
7
+ /** A card the assistant shows with a reply (gateway §3.3, DEV-561 shapes). */
8
+ export type AssistantBlock = {
9
+ type: "doc";
10
+ url: string;
11
+ title: string;
12
+ path?: string[];
13
+ excerpt?: string;
14
+ } | {
15
+ type: "video";
16
+ url: string;
17
+ title: string;
18
+ thumbnail?: string;
19
+ duration?: string;
20
+ } | {
21
+ type: "ask";
22
+ askId: string;
23
+ prompt: string;
24
+ description?: string;
25
+ fields: ChatInputField[];
26
+ skippable?: boolean;
27
+ /** Set once answered or skipped: the card shows the answer, read-only. */
28
+ answer?: ChatInputAnswer | null;
29
+ };
30
+ export interface AssistantMessage {
31
+ id: string;
32
+ role: "user" | "assistant";
33
+ /** The text so far (it grows while `streaming`). A ReactNode for rendered markdown. */
34
+ content: ReactNode;
35
+ /** The reply is still being written. */
36
+ streaming?: boolean;
37
+ /** Progress while no text has arrived yet, e.g. "Searching the docs…". */
38
+ status?: string;
39
+ sources?: ChatSource[];
40
+ blocks?: AssistantBlock[];
41
+ /** Tools the assistant used for this reply (the platform's copilot). */
42
+ steps?: ChatToolCall[];
43
+ /** A short line under the reply: "Stopped", an error. */
44
+ note?: ReactNode;
45
+ /** How the turn ended, once it has: the orb and aura show it until the next turn. */
46
+ outcome?: "done" | "stopped" | "error";
47
+ rating?: ChatFeedbackRating | null;
48
+ }
49
+ /** Conditions outside the thread that decide the state. */
50
+ export interface AssistantStateFlags {
51
+ /** A problem is shown above the composer (connection lost, rate limited). */
52
+ error?: boolean;
53
+ /** The assistant can't answer at all. */
54
+ offline?: boolean;
55
+ }
56
+ /**
57
+ * What the assistant is doing, from the conversation:
58
+ * - while busy: writing (`speaking`), running a tool step (`processing`), or
59
+ * working before the first words (`thinking`);
60
+ * - otherwise: `offline`, a shown `error`, the person typing (`listening`),
61
+ * how the last turn ended (its `outcome`: `done`, `stopped`, `error`), or
62
+ * nothing (`idle`).
63
+ */
64
+ export declare function assistantStateOf(messages: readonly AssistantMessage[], busy: boolean, typing?: boolean, flags?: AssistantStateFlags): AssistantState;
65
+ export interface AssistantConversationProps extends Omit<ComponentPropsWithoutRef<"div">, "title" | "onSubmit"> {
66
+ /** The assistant's name. Default "Ova". */
67
+ name?: ReactNode;
68
+ /** The line under the name when nothing is happening. */
69
+ subtitle?: ReactNode;
70
+ /** Replaces the orb's cube (an image, a letter). */
71
+ avatar?: ReactNode;
72
+ /** Header controls on the right (close, reset, focus, pin…). */
73
+ actions?: ReactNode;
74
+ /** A strip under the header: what the assistant can see (the page, the flow…). */
75
+ context?: ReactNode;
76
+ /** Aura around the conversation. Default `normal`; `off` for a plain hairline. */
77
+ aura?: AssistantAuraIntensity;
78
+ /** Hide the header (a surface that draws its own). */
79
+ hideHeader?: boolean;
80
+ /**
81
+ * Overrides the state worked out from the conversation (`assistantStateOf`),
82
+ * e.g. `offline`, or `done` after an action the caller ran.
83
+ */
84
+ state?: AssistantState;
85
+ greeting?: ReactNode;
86
+ suggestions?: string[];
87
+ messages: AssistantMessage[];
88
+ /** Shown instead of the thread and composer (e.g. the contact form). */
89
+ replacement?: ReactNode;
90
+ busy?: boolean;
91
+ onSend?: (text: string) => void;
92
+ onStop?: () => void;
93
+ onRate?: (messageId: string, rating: ChatFeedbackRating | null) => void;
94
+ onAnswer?: (askId: string, values: ChatInputValues, text?: string) => void;
95
+ onSkipAsk?: (askId: string) => void;
96
+ placeholder?: string;
97
+ maxLength?: number;
98
+ composerDisabled?: boolean;
99
+ /** A problem above the composer (rate limited, connection lost). */
100
+ error?: ReactNode;
101
+ /** The small print under the composer. */
102
+ notice?: ReactNode;
103
+ /** Optional id for the name, so a surrounding dialog/region can be labelled by it. */
104
+ nameId?: string;
105
+ }
106
+ /** A small square header control (close, new chat, focus, pin…), shared by every surface. */
107
+ export declare function AssistantHeaderButton({ label, children, pressed, className, type, ...rest }: Omit<ComponentPropsWithoutRef<"button">, "aria-label"> & {
108
+ label: string;
109
+ pressed?: boolean;
110
+ }): import("react/jsx-runtime").JSX.Element;
111
+ export declare function AssistantConversation({ name, subtitle, avatar, actions, context, aura, hideHeader, state: stateProp, greeting, suggestions, messages, replacement, busy, onSend, onStop, onRate, onAnswer, onSkipAsk, placeholder, maxLength, composerDisabled, error, notice, nameId, className, ...rest }: AssistantConversationProps): import("react/jsx-runtime").JSX.Element;
112
+ //# sourceMappingURL=AssistantConversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantConversation.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantConversation/AssistantConversation.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { AssistantMessage } from "./AssistantConversation";
2
+ export declare const GREETING = "Hi, I\u2019m Ova. Ask me anything about Octaviaflow.";
3
+ export declare const SUGGESTIONS: string[];
4
+ export declare const NOTICE: import("react/jsx-runtime").JSX.Element;
5
+ export declare const ANSWER: AssistantMessage[];
6
+ export declare const SEARCHING: AssistantMessage[];
7
+ export declare const WRITING: AssistantMessage[];
8
+ export declare const ASK: AssistantMessage[];
9
+ /** The in-app copilot: tool steps, then the answer. */
10
+ export declare const COPILOT: AssistantMessage[];
11
+ /** Words of a fake reply, for interactive stories. */
12
+ export declare const STREAM_WORDS: string[];
13
+ /**
14
+ * A pretend conversation for interactive stories: a reply "searches" briefly
15
+ * (with `steps`, it runs a tool step first, so the state passes through
16
+ * `processing`), then streams word by word and ends `done`; Stop ends it
17
+ * `stopped` with a note; ratings stick.
18
+ */
19
+ export declare function useFakeAssistant(initial?: AssistantMessage[], { steps }?: {
20
+ steps?: boolean;
21
+ }): {
22
+ messages: AssistantMessage[];
23
+ busy: boolean;
24
+ send: (text: string) => void;
25
+ stop: () => void;
26
+ reset: () => void;
27
+ rate: (id: string, rating: "up" | "down" | null) => void;
28
+ };
29
+ //# sourceMappingURL=assistant.fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant.fixtures.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantConversation/assistant.fixtures.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,QAAQ,yDAAoD,CAAC;AAC1E,eAAO,MAAM,WAAW,UAIvB,CAAC;AACF,eAAO,MAAM,MAAM,yCAIlB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,gBAAgB,EA+BpC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,gBAAgB,EAGvC,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,gBAAgB,EAQrC,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,gBAAgB,EAyBjC,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,OAAO,EAAE,gBAAgB,EAwBrC,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,YAAY,UAGtB,CAAC;AAEJ;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,gBAAgB,EAAO,EAChC,EAAE,KAAa,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO;;;iBA8CvB,MAAM;;;eA+Db,MAAM,UAAU,IAAI,GAAG,MAAM,GAAG,IAAI;EAGlD"}
@@ -0,0 +1,13 @@
1
+ export declare function CloseGlyph(): import("react/jsx-runtime").JSX.Element;
2
+ /** Start a new chat. */
3
+ export declare function NewChatGlyph(): import("react/jsx-runtime").JSX.Element;
4
+ /** Focus mode (expand). */
5
+ export declare function ExpandGlyph(): import("react/jsx-runtime").JSX.Element;
6
+ /** Leave focus mode (collapse). */
7
+ export declare function CollapseGlyph(): import("react/jsx-runtime").JSX.Element;
8
+ /** Pin beside the page (dock) vs. float over it. */
9
+ export declare function PinGlyph(): import("react/jsx-runtime").JSX.Element;
10
+ export declare function HistoryGlyph(): import("react/jsx-runtime").JSX.Element;
11
+ /** A speech glyph for launchers. */
12
+ export declare function ChatGlyph(): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=assistantGlyphs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistantGlyphs.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantConversation/assistantGlyphs.tsx"],"names":[],"mappings":"AAWA,wBAAgB,UAAU,4CAMzB;AAED,wBAAwB;AACxB,wBAAgB,YAAY,4CAM3B;AAED,2BAA2B;AAC3B,wBAAgB,WAAW,4CAM1B;AAED,mCAAmC;AACnC,wBAAgB,aAAa,4CAM5B;AAED,oDAAoD;AACpD,wBAAgB,QAAQ,4CAMvB;AAED,wBAAgB,YAAY,4CAM3B;AAED,oCAAoC;AACpC,wBAAgB,SAAS,4CASxB"}
@@ -0,0 +1,2 @@
1
+ export { type AssistantBlock, AssistantConversation, type AssistantConversationProps, AssistantHeaderButton, type AssistantMessage, type AssistantStateFlags, assistantStateOf, } from "./AssistantConversation";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantConversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type ReactNode } from "react";
2
+ import { type AssistantConversationProps } from "../AssistantConversation/AssistantConversation";
3
+ export interface AssistantDockProps extends Omit<AssistantConversationProps, "actions"> {
4
+ open: boolean;
5
+ onClose: () => void;
6
+ /** Pinned beside the page (default) or floating over it. */
7
+ pinned?: boolean;
8
+ onPinnedChange?: (pinned: boolean) => void;
9
+ /** Focus mode: the whole viewport. */
10
+ focus?: boolean;
11
+ onFocusChange?: (focus: boolean) => void;
12
+ /** Width in px (controlled). */
13
+ width?: number;
14
+ /** Initial width when uncontrolled. Default 400. */
15
+ defaultWidth?: number;
16
+ onWidthChange?: (width: number) => void;
17
+ minWidth?: number;
18
+ maxWidth?: number;
19
+ /** Start a new chat (header button). */
20
+ onNewChat?: () => void;
21
+ /** Past chats, shown in place of the thread when History is pressed. */
22
+ history?: ReactNode;
23
+ }
24
+ export declare function AssistantDock({ open, onClose, pinned, onPinnedChange, focus, onFocusChange, width: widthProp, defaultWidth, onWidthChange, minWidth, maxWidth, onNewChat, history, className, style, ...conversation }: AssistantDockProps): import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=AssistantDock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantDock.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantDock/AssistantDock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,0BAA0B,EAEhC,MAAM,gDAAgD,CAAC;AA2BxD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;IACrF,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,wEAAwE;IACxE,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAID,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,MAAa,EACb,cAAc,EACd,KAAa,EACb,aAAa,EACb,KAAK,EAAE,SAAS,EAChB,YAAkB,EAClB,aAAa,EACb,QAAc,EACd,QAAc,EACd,SAAS,EACT,OAAO,EACP,SAAS,EACT,KAAK,EACL,GAAG,YAAY,EAChB,EAAE,kBAAkB,2CAoHpB"}
@@ -0,0 +1,2 @@
1
+ export { AssistantDock, type AssistantDockProps } from "./AssistantDock";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantDock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ import type { AssistantState } from "../AssistantAura/AssistantAura";
3
+ export type AssistantOrbSize = "xs" | "sm" | "md" | "lg" | "xl";
4
+ export interface AssistantOrbProps extends ComponentPropsWithoutRef<"span"> {
5
+ state?: AssistantState;
6
+ /** xs 16 · sm 20 · md 28 · lg 40 · xl 56 px. Default `md`. */
7
+ size?: AssistantOrbSize;
8
+ /** An accessible name (e.g. "Ova is thinking"). Omit when the orb is decoration. */
9
+ label?: string;
10
+ /** Replaces the cube: an image, a letter. */
11
+ children?: ReactNode;
12
+ }
13
+ export declare function AssistantOrb({ state, size, label, className, children, ...rest }: AssistantOrbProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=AssistantOrb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantOrb.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantOrb/AssistantOrb.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAuBrE,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhE,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB,CAAC,MAAM,CAAC;IACzE,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAwBD,wBAAgB,YAAY,CAAC,EAC3B,KAAc,EACd,IAAW,EACX,KAAK,EACL,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,iBAAiB,2CAYnB"}
@@ -0,0 +1,22 @@
1
+ export type OvaIconConcept = "cube" | "tile" | "relay" | "lens" | "visor";
2
+ export type OvaIconState = "idle" | "listening" | "thinking" | "speaking" | "offline";
3
+ export declare const OVA_ICON_CONCEPTS: {
4
+ id: OvaIconConcept;
5
+ name: string;
6
+ idea: string;
7
+ }[];
8
+ export declare const OVA_ICON_STATES: {
9
+ id: OvaIconState;
10
+ name: string;
11
+ meaning: string;
12
+ }[];
13
+ export interface OvaIconProps {
14
+ concept: OvaIconConcept;
15
+ state?: OvaIconState;
16
+ /** px. Default 48. */
17
+ size?: number;
18
+ /** An accessible name; decorative when omitted. */
19
+ label?: string;
20
+ }
21
+ export declare function OvaIcon({ concept, state, size, label }: OvaIconProps): import("react/jsx-runtime").JSX.Element;
22
+ //# sourceMappingURL=OvaIconConcepts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OvaIconConcepts.d.ts","sourceRoot":"","sources":["../../../../src/components/AssistantOrb/explorations/OvaIconConcepts.tsx"],"names":[],"mappings":"AA8BA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAEtF,eAAO,MAAM,iBAAiB,EAAE;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EA0BjF,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAMhF,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6ED,wBAAgB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAc,EAAE,IAAS,EAAE,KAAK,EAAE,EAAE,YAAY,2CAkClF"}
@@ -0,0 +1,2 @@
1
+ export { AssistantOrb, type AssistantOrbProps, type AssistantOrbSize } from "./AssistantOrb";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantOrb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ import { type AssistantAuraIntensity, type AssistantState } from "../AssistantAura/AssistantAura";
3
+ export interface AssistantTriggerProps extends Omit<ComponentPropsWithoutRef<"button">, "children"> {
4
+ /** Default "Ask Ova". */
5
+ label?: string;
6
+ /** Shown as a hint, e.g. "⌘J". The caller binds the key itself. */
7
+ shortcut?: string;
8
+ state?: AssistantState;
9
+ /** Default `normal`. */
10
+ aura?: AssistantAuraIntensity;
11
+ /** The copilot is open. */
12
+ expanded?: boolean;
13
+ /** `sm` 28 px (top bar) · `md` 36 px. Default `sm`. */
14
+ size?: "sm" | "md";
15
+ }
16
+ export declare const AssistantTrigger: import("react").ForwardRefExoticComponent<AssistantTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
17
+ //# sourceMappingURL=AssistantTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantTrigger/AssistantTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,wBAAwB,EAAc,MAAM,OAAO,CAAC;AAElE,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,gCAAgC,CAAC;AAcxC,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAC5D,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,wBAAwB;IACxB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,qHAuC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { AssistantTrigger, type AssistantTriggerProps } from "./AssistantTrigger";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AssistantTrigger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -38,6 +38,14 @@ export interface ChatComposerProps extends Omit<ComponentPropsWithoutRef<"textar
38
38
  leading?: ReactNode;
39
39
  /** Controls between the field and the send button (e.g. a model picker). */
40
40
  trailing?: ReactNode;
41
+ /**
42
+ * While `sending`, the send button becomes a Stop button that calls this
43
+ * (a reply being written can be stopped). Without it, `sending` shows a
44
+ * spinner, as before.
45
+ */
46
+ onStop?: () => void;
47
+ /** Accessible label for the Stop button. Default `"Stop"`. */
48
+ stopLabel?: string;
41
49
  /** Override the send button's glyph. */
42
50
  sendIcon?: ReactNode;
43
51
  /** Accessible label for the send button. Default `"Send message"`. */
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../src/components/ChatComposer/ChatComposer.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAOf,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,WAAW,iBAIf,SAAQ,IAAI,CACV,wBAAwB,CAAC,UAAU,CAAC,EACpC,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAC5D;IACD;4BACwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;uDAEmD;IACnD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;iEAC6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAE9B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAqCD,eAAO,MAAM,YAAY,mHAgJxB,CAAC"}
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../src/components/ChatComposer/ChatComposer.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAOf,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,WAAW,iBAIf,SAAQ,IAAI,CACV,wBAAwB,CAAC,UAAU,CAAC,EACpC,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAC5D;IACD;4BACwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;uDAEmD;IACnD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;iEAC6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAE9B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AA8CD,eAAO,MAAM,YAAY,mHAuJxB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ import { type ChatLinkTarget } from "../ChatLinkPreview/ChatLinkPreview";
3
+ export interface ChatDocPreviewProps extends Omit<ComponentPropsWithoutRef<"a">, "href" | "title" | "target"> {
4
+ /** The docs page. */
5
+ url: string;
6
+ /** Page title, on one line; a longer one ends in "…" and shows in full in a tooltip. */
7
+ title: ReactNode;
8
+ /** Where the page sits in the docs, outermost first, e.g. `["Connectors", "Salesforce"]`. */
9
+ path?: string[];
10
+ /** The passage the answer drew from, clamped to three lines. */
11
+ excerpt?: ReactNode;
12
+ /** Where the link opens. Default `"_blank"` (a new tab). */
13
+ linkTarget?: ChatLinkTarget;
14
+ }
15
+ /**
16
+ * A documentation page a chat reply points to: its title, the passage the
17
+ * answer used, and where it sits in the docs. The whole card is the link.
18
+ */
19
+ export declare const ChatDocPreview: import("react").ForwardRefExoticComponent<ChatDocPreviewProps & import("react").RefAttributes<HTMLAnchorElement>>;
20
+ //# sourceMappingURL=ChatDocPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatDocPreview.d.ts","sourceRoot":"","sources":["../../../src/components/ChatDocPreview/ChatDocPreview.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElF,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,oCAAoC,CAAC;AAO1F,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxE,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,wFAAwF;IACxF,KAAK,EAAE,SAAS,CAAC;IACjB,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAyBD;;;GAGG;AACH,eAAO,MAAM,cAAc,mHAkC1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatDocPreview, type ChatDocPreviewProps } from "./ChatDocPreview";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatDocPreview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type ChatInputFieldType = "text" | "email" | "number" | "date" | "choice" | "multichoice" | "boolean";
3
+ export interface ChatInputOption {
4
+ value: string;
5
+ label: string;
6
+ }
7
+ export interface ChatInputField {
8
+ /** Key of the value in the submitted answer. */
9
+ name: string;
10
+ label: string;
11
+ type: ChatInputFieldType;
12
+ /** `choice` / `multichoice` only. Plain strings are their own label. */
13
+ options?: Array<ChatInputOption | string>;
14
+ required?: boolean;
15
+ placeholder?: string;
16
+ helperText?: string;
17
+ }
18
+ export type ChatInputValue = string | string[] | boolean | null;
19
+ export type ChatInputValues = Record<string, ChatInputValue>;
20
+ /** The request once dealt with: the submitted values (and any typed answer), or skipped. */
21
+ export type ChatInputAnswer = {
22
+ values: ChatInputValues;
23
+ text?: string;
24
+ } | "skipped";
25
+ export interface ChatInputRequestProps extends Omit<ComponentPropsWithoutRef<"form">, "onSubmit"> {
26
+ /** The question, in the assistant's words. */
27
+ prompt: ReactNode;
28
+ /** Optional line under the question: why it is asked, what happens next. */
29
+ description?: ReactNode;
30
+ /** The fields to fill. Empty: the card is a question answered by typing. */
31
+ fields: ChatInputField[];
32
+ /**
33
+ * Fires on Send with the field values and the typed answer, if any. A typed
34
+ * answer stands in for the fields: they are then not required, but anything
35
+ * filled in must still be valid.
36
+ */
37
+ onSubmit: (values: ChatInputValues, text?: string) => void;
38
+ /** Placeholder of the box every request has for typing an answer. Default `"Or type your answer…"`. */
39
+ textPlaceholder?: string;
40
+ /** Shows a Skip button when set. */
41
+ onSkip?: () => void;
42
+ /** Set once answered: the card turns read-only and shows the answer. */
43
+ answer?: ChatInputAnswer | null;
44
+ /** The answer is being sent. */
45
+ submitting?: boolean;
46
+ /** Default `"Send"`. */
47
+ submitLabel?: ReactNode;
48
+ /** Default `"Skip"`. */
49
+ skipLabel?: ReactNode;
50
+ }
51
+ export declare function optionsOf(field: ChatInputField): ChatInputOption[];
52
+ /** The problem with one field's value, in plain words; null when it is fine. */
53
+ export declare function fieldProblem(field: ChatInputField, value: ChatInputValue): string | null;
54
+ /**
55
+ * Each field's problem on Send. A typed answer stands in for the fields, so
56
+ * an empty field is then fine; a filled one must still be valid.
57
+ */
58
+ export declare function problemsOf(fields: ChatInputField[], values: ChatInputValues, typed: string): Record<string, string | null>;
59
+ /** One value as the answered card shows it. */
60
+ export declare function displayValue(field: ChatInputField, value: ChatInputValue): string;
61
+ /**
62
+ * The assistant asking the user for something, inside the thread: the
63
+ * question, the fields, and a box to type the answer instead, with Send (plus
64
+ * Skip when allowed). Once answered it turns read-only and shows the answer,
65
+ * so the thread reads as a record.
66
+ */
67
+ export declare const ChatInputRequest: import("react").ForwardRefExoticComponent<ChatInputRequestProps & import("react").RefAttributes<HTMLFormElement>>;
68
+ //# sourceMappingURL=ChatInputRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatInputRequest.d.ts","sourceRoot":"","sources":["../../../src/components/ChatInputRequest/ChatInputRequest.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAYf,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,OAAO,GACP,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,kBAAkB,CAAC;IACzB,wEAAwE;IACxE,OAAO,CAAC,EAAE,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE7D,4FAA4F;AAC5F,MAAM,MAAM,eAAe,GAAG;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AAErF,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC/F,8CAA8C;IAC9C,MAAM,EAAE,SAAS,CAAC;IAClB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,4EAA4E;IAC5E,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,uGAAuG;IACvG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,gCAAgC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wBAAwB;IACxB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,wBAAwB;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAQD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,EAAE,CAElE;AAYD,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAQxF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,cAAc,EAAE,EACxB,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAO/B;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAMjF;AA4HD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,mHA2H5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { type ChatInputAnswer, type ChatInputField, type ChatInputFieldType, type ChatInputOption, ChatInputRequest, type ChatInputRequestProps, type ChatInputValue, type ChatInputValues, displayValue, fieldProblem, optionsOf, problemsOf, } from "./ChatInputRequest";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatInputRequest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type ChatLinkTarget = "_blank" | "_self";
3
+ export interface ChatLinkPreviewProps extends Omit<ComponentPropsWithoutRef<"a">, "href" | "title" | "target"> {
4
+ /** The page the card opens. */
5
+ url: string;
6
+ /** Page title, on one line ("…" and a tooltip when longer). Falls back to the host. */
7
+ title?: ReactNode;
8
+ /** Short summary, clamped to two lines. */
9
+ description?: ReactNode;
10
+ /** Site name shown above the title. Falls back to the host. */
11
+ siteName?: ReactNode;
12
+ /** Preview image URL (a square crop is shown at the end of the card). */
13
+ image?: string;
14
+ /** Small site icon URL shown before the site name. */
15
+ favicon?: string;
16
+ /** Where the link opens. Default `"_blank"` (a new tab). */
17
+ linkTarget?: ChatLinkTarget;
18
+ /** Tighter card: no description, smaller image. Default `false`. */
19
+ compact?: boolean;
20
+ }
21
+ /** "www.example.com/a" → "example.com"; the raw value when it is not a URL. */
22
+ export declare function hostOf(url: string): string;
23
+ /** `target` + `rel` for a link: a new tab gets no handle on this page. */
24
+ export declare function linkTargetProps(target: ChatLinkTarget): {
25
+ target: ChatLinkTarget;
26
+ rel: string;
27
+ };
28
+ /**
29
+ * A link a chat reply mentions, shown as a card: site, title, a short summary
30
+ * and an optional image. The whole card is the link.
31
+ */
32
+ export declare const ChatLinkPreview: import("react").ForwardRefExoticComponent<ChatLinkPreviewProps & import("react").RefAttributes<HTMLAnchorElement>>;
33
+ //# sourceMappingURL=ChatLinkPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatLinkPreview.d.ts","sourceRoot":"","sources":["../../../src/components/ChatLinkPreview/ChatLinkPreview.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQlF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxE,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,uFAAuF;IACvF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,+EAA+E;AAC/E,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM1C;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc;;;EAErD;AAMD;;;GAGG;AACH,eAAO,MAAM,eAAe,oHAyD3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatLinkPreview, type ChatLinkPreviewProps, type ChatLinkTarget, hostOf, linkTargetProps, } from "./ChatLinkPreview";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatLinkPreview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,MAAM,EACN,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
@@ -7,12 +7,19 @@ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
7
7
  * - `"urls"` — rows showing the raw URL (monospace), links out.
8
8
  */
9
9
  export type ChatSourcesDisplay = "links" | "chips" | "plain-chips" | "urls";
10
+ /**
11
+ * Where a source link opens:
12
+ * - `"_blank"` — a new tab (the default).
13
+ * - `"_self"` — the current tab, e.g. a docs assistant whose sources are
14
+ * pages of the same site.
15
+ */
16
+ export type ChatSourcesLinkTarget = "_blank" | "_self";
10
17
  export interface ChatSource {
11
18
  /** Stable key. Falls back to the index. */
12
19
  id?: string;
13
20
  /** Source title / name. */
14
21
  title: ReactNode;
15
- /** Link — makes the source clickable (opens in a new tab). */
22
+ /** Link — makes the source clickable (opens per `linkTarget`). */
16
23
  url?: string;
17
24
  /** Short excerpt the answer drew from (`links` display). */
18
25
  snippet?: ReactNode;
@@ -29,6 +36,8 @@ export interface ChatSourcesProps extends Omit<ComponentPropsWithoutRef<"details
29
36
  numbered?: boolean;
30
37
  /** Start expanded. Default `false`. */
31
38
  defaultOpen?: boolean;
39
+ /** Where source links open. Default `"_blank"` (a new tab). */
40
+ linkTarget?: ChatSourcesLinkTarget;
32
41
  }
33
42
  export declare const ChatSources: import("react").ForwardRefExoticComponent<ChatSourcesProps & import("react").RefAttributes<HTMLDetailsElement>>;
34
43
  //# sourceMappingURL=ChatSources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatSources.d.ts","sourceRoot":"","sources":["../../../src/components/ChatSources/ChatSources.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAO5F;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;AAE5E,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACvE,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAkBD,eAAO,MAAM,WAAW,iHAuGtB,CAAC"}
1
+ {"version":3,"file":"ChatSources.d.ts","sourceRoot":"","sources":["../../../src/components/ChatSources/ChatSources.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAO5F;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACvE,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAkBD,eAAO,MAAM,WAAW,iHA6GtB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { type ChatSource, ChatSources, type ChatSourcesDisplay, type ChatSourcesProps, } from "./ChatSources";
1
+ export { type ChatSource, ChatSources, type ChatSourcesDisplay, type ChatSourcesLinkTarget, type ChatSourcesProps, } from "./ChatSources";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatSources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatSources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC"}