@copilotkit/react-ui 1.8.13-next.1 → 1.8.13-next.3

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 (136) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{chunk-RVLCPPEL.mjs → chunk-5INP2EWU.mjs} +6 -4
  3. package/dist/chunk-5INP2EWU.mjs.map +1 -0
  4. package/dist/{chunk-XFCMZH2H.mjs → chunk-6VUDBDUN.mjs} +2 -2
  5. package/dist/{chunk-24TDU7MY.mjs → chunk-ALWZ35SI.mjs} +2 -2
  6. package/dist/{chunk-IIRQWGWV.mjs → chunk-B3D7U7TJ.mjs} +5 -3
  7. package/dist/chunk-B3D7U7TJ.mjs.map +1 -0
  8. package/dist/{chunk-KQ44Z255.mjs → chunk-EMIYIMQ6.mjs} +4 -4
  9. package/dist/{chunk-ZDKVXAL3.mjs → chunk-FWKHST6I.mjs} +75 -39
  10. package/dist/chunk-FWKHST6I.mjs.map +1 -0
  11. package/dist/{chunk-NWE7CLTB.mjs → chunk-IAHSHPRJ.mjs} +22 -21
  12. package/dist/chunk-IAHSHPRJ.mjs.map +1 -0
  13. package/dist/{chunk-XZNY26GH.mjs → chunk-IMBPSLL4.mjs} +3 -3
  14. package/dist/chunk-IMBPSLL4.mjs.map +1 -0
  15. package/dist/{chunk-MDMNZ6JL.mjs → chunk-JU3HNL5N.mjs} +2 -2
  16. package/dist/{chunk-DSQGQJI4.mjs → chunk-MPZAMNCN.mjs} +2 -2
  17. package/dist/{chunk-K7SXHJRT.mjs → chunk-QEZ3YYLO.mjs} +2 -2
  18. package/dist/chunk-QGSPTXOV.mjs +24 -0
  19. package/dist/chunk-QGSPTXOV.mjs.map +1 -0
  20. package/dist/chunk-SC6JRFAJ.mjs +1 -0
  21. package/dist/{chunk-LUPGADWY.mjs → chunk-UKWBNVMQ.mjs} +2 -2
  22. package/dist/{chunk-OZXUB3V7.mjs → chunk-XMNTLIK5.mjs} +5 -4
  23. package/dist/chunk-XMNTLIK5.mjs.map +1 -0
  24. package/dist/chunk-YTXEWDNC.mjs +117 -0
  25. package/dist/chunk-YTXEWDNC.mjs.map +1 -0
  26. package/dist/components/chat/Button.d.ts +2 -0
  27. package/dist/components/chat/Chat.d.ts +11 -2
  28. package/dist/components/chat/Chat.js +117 -50
  29. package/dist/components/chat/Chat.js.map +1 -1
  30. package/dist/components/chat/Chat.mjs +13 -12
  31. package/dist/components/chat/Header.d.ts +2 -0
  32. package/dist/components/chat/Input.d.ts +2 -0
  33. package/dist/components/chat/Input.mjs +2 -2
  34. package/dist/components/chat/Markdown.d.ts +3 -1
  35. package/dist/components/chat/Markdown.js +65 -20
  36. package/dist/components/chat/Markdown.js.map +1 -1
  37. package/dist/components/chat/Markdown.mjs +1 -1
  38. package/dist/components/chat/Messages.d.ts +2 -1
  39. package/dist/components/chat/Messages.js +4 -2
  40. package/dist/components/chat/Messages.js.map +1 -1
  41. package/dist/components/chat/Messages.mjs +1 -1
  42. package/dist/components/chat/Modal.d.ts +2 -2
  43. package/dist/components/chat/Modal.js +186 -88
  44. package/dist/components/chat/Modal.js.map +1 -1
  45. package/dist/components/chat/Modal.mjs +19 -18
  46. package/dist/components/chat/Popup.d.ts +1 -1
  47. package/dist/components/chat/Popup.js +188 -90
  48. package/dist/components/chat/Popup.js.map +1 -1
  49. package/dist/components/chat/Popup.mjs +20 -19
  50. package/dist/components/chat/Sidebar.d.ts +1 -1
  51. package/dist/components/chat/Sidebar.js +188 -90
  52. package/dist/components/chat/Sidebar.js.map +1 -1
  53. package/dist/components/chat/Sidebar.mjs +20 -19
  54. package/dist/components/chat/Suggestion.d.ts +8 -3
  55. package/dist/components/chat/Suggestion.js +2 -2
  56. package/dist/components/chat/Suggestion.js.map +1 -1
  57. package/dist/components/chat/Suggestion.mjs +1 -1
  58. package/dist/components/chat/Suggestions.d.ts +9 -0
  59. package/dist/components/chat/Suggestions.js +73 -0
  60. package/dist/components/chat/Suggestions.js.map +1 -0
  61. package/dist/components/chat/Suggestions.mjs +10 -0
  62. package/dist/components/chat/Suggestions.mjs.map +1 -0
  63. package/dist/components/chat/Window.d.ts +2 -0
  64. package/dist/components/chat/index.d.ts +6 -3
  65. package/dist/components/chat/index.js +194 -92
  66. package/dist/components/chat/index.js.map +1 -1
  67. package/dist/components/chat/index.mjs +31 -24
  68. package/dist/components/chat/messages/AssistantMessage.d.ts +2 -0
  69. package/dist/components/chat/messages/AssistantMessage.js +68 -22
  70. package/dist/components/chat/messages/AssistantMessage.js.map +1 -1
  71. package/dist/components/chat/messages/AssistantMessage.mjs +2 -2
  72. package/dist/components/chat/messages/RenderActionExecutionMessage.d.ts +2 -0
  73. package/dist/components/chat/messages/RenderActionExecutionMessage.js +68 -22
  74. package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +1 -1
  75. package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +3 -3
  76. package/dist/components/chat/messages/RenderAgentStateMessage.d.ts +2 -0
  77. package/dist/components/chat/messages/RenderAgentStateMessage.js +68 -22
  78. package/dist/components/chat/messages/RenderAgentStateMessage.js.map +1 -1
  79. package/dist/components/chat/messages/RenderAgentStateMessage.mjs +3 -3
  80. package/dist/components/chat/messages/RenderImageMessage.d.ts +2 -0
  81. package/dist/components/chat/messages/RenderImageMessage.js +68 -22
  82. package/dist/components/chat/messages/RenderImageMessage.js.map +1 -1
  83. package/dist/components/chat/messages/RenderImageMessage.mjs +3 -3
  84. package/dist/components/chat/messages/RenderResultMessage.d.ts +2 -0
  85. package/dist/components/chat/messages/RenderResultMessage.js +68 -22
  86. package/dist/components/chat/messages/RenderResultMessage.js.map +1 -1
  87. package/dist/components/chat/messages/RenderResultMessage.mjs +3 -3
  88. package/dist/components/chat/messages/RenderTextMessage.d.ts +2 -0
  89. package/dist/components/chat/messages/RenderTextMessage.js +72 -24
  90. package/dist/components/chat/messages/RenderTextMessage.js.map +1 -1
  91. package/dist/components/chat/messages/RenderTextMessage.mjs +3 -3
  92. package/dist/components/chat/messages/UserMessage.d.ts +2 -0
  93. package/dist/components/chat/props.d.ts +27 -1
  94. package/dist/components/chat/props.js.map +1 -1
  95. package/dist/components/index.d.ts +6 -3
  96. package/dist/components/index.js +194 -92
  97. package/dist/components/index.js.map +1 -1
  98. package/dist/components/index.mjs +35 -28
  99. package/dist/index.css +32 -28
  100. package/dist/index.css.map +1 -1
  101. package/dist/index.d.ts +6 -3
  102. package/dist/index.js +194 -92
  103. package/dist/index.js.map +1 -1
  104. package/dist/index.mjs +35 -28
  105. package/dist/types/index.d.ts +1 -0
  106. package/dist/types/index.js.map +1 -1
  107. package/package.json +11 -10
  108. package/src/components/chat/Chat.tsx +21 -13
  109. package/src/components/chat/Markdown.tsx +86 -29
  110. package/src/components/chat/Messages.tsx +2 -0
  111. package/src/components/chat/Modal.tsx +4 -0
  112. package/src/components/chat/Suggestion.tsx +10 -3
  113. package/src/components/chat/Suggestions.tsx +20 -0
  114. package/src/components/chat/index.tsx +2 -0
  115. package/src/components/chat/messages/AssistantMessage.tsx +2 -1
  116. package/src/components/chat/messages/RenderTextMessage.tsx +2 -0
  117. package/src/components/chat/props.ts +29 -0
  118. package/src/css/markdown.css +33 -28
  119. package/src/types/index.ts +1 -0
  120. package/dist/chunk-ABHUX6T6.mjs +0 -72
  121. package/dist/chunk-ABHUX6T6.mjs.map +0 -1
  122. package/dist/chunk-IIRQWGWV.mjs.map +0 -1
  123. package/dist/chunk-NWE7CLTB.mjs.map +0 -1
  124. package/dist/chunk-OZXUB3V7.mjs.map +0 -1
  125. package/dist/chunk-PXEVB7IK.mjs +0 -1
  126. package/dist/chunk-RVLCPPEL.mjs.map +0 -1
  127. package/dist/chunk-XZNY26GH.mjs.map +0 -1
  128. package/dist/chunk-ZDKVXAL3.mjs.map +0 -1
  129. /package/dist/{chunk-XFCMZH2H.mjs.map → chunk-6VUDBDUN.mjs.map} +0 -0
  130. /package/dist/{chunk-24TDU7MY.mjs.map → chunk-ALWZ35SI.mjs.map} +0 -0
  131. /package/dist/{chunk-KQ44Z255.mjs.map → chunk-EMIYIMQ6.mjs.map} +0 -0
  132. /package/dist/{chunk-MDMNZ6JL.mjs.map → chunk-JU3HNL5N.mjs.map} +0 -0
  133. /package/dist/{chunk-DSQGQJI4.mjs.map → chunk-MPZAMNCN.mjs.map} +0 -0
  134. /package/dist/{chunk-K7SXHJRT.mjs.map → chunk-QEZ3YYLO.mjs.map} +0 -0
  135. /package/dist/{chunk-PXEVB7IK.mjs.map → chunk-SC6JRFAJ.mjs.map} +0 -0
  136. /package/dist/{chunk-LUPGADWY.mjs.map → chunk-UKWBNVMQ.mjs.map} +0 -0
@@ -1056,7 +1056,8 @@ var Messages = ({
1056
1056
  onRegenerate,
1057
1057
  onCopy,
1058
1058
  onThumbsUp,
1059
- onThumbsDown
1059
+ onThumbsDown,
1060
+ markdownTagRenderers
1060
1061
  }) => {
1061
1062
  const context = useChatContext();
1062
1063
  const initialMessages = (0, import_react6.useMemo)(
@@ -1095,7 +1096,8 @@ var Messages = ({
1095
1096
  onRegenerate,
1096
1097
  onCopy,
1097
1098
  onThumbsUp,
1098
- onThumbsDown
1099
+ onThumbsDown,
1100
+ markdownTagRenderers
1099
1101
  },
1100
1102
  index
1101
1103
  );
@@ -1924,31 +1926,17 @@ var highlightStyle = {
1924
1926
  // src/components/chat/Markdown.tsx
1925
1927
  var import_remark_gfm = __toESM(require("remark-gfm"));
1926
1928
  var import_remark_math = __toESM(require("remark-math"));
1929
+ var import_rehype_raw = __toESM(require("rehype-raw"));
1927
1930
  var import_jsx_runtime16 = require("react/jsx-runtime");
1928
- var MemoizedReactMarkdown = (0, import_react11.memo)(
1929
- import_react_markdown.default,
1930
- (prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.className === nextProps.className
1931
- );
1932
- var Markdown = ({ content }) => {
1933
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "copilotKitMarkdown", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(MemoizedReactMarkdown, { components, remarkPlugins: [import_remark_gfm.default, import_remark_math.default], children: content }) });
1934
- };
1935
- var components = {
1931
+ var defaultComponents = {
1936
1932
  a(_a) {
1937
1933
  var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
1938
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1939
- "a",
1940
- __spreadProps(__spreadValues({
1941
- style: { color: "blue", textDecoration: "underline" }
1942
- }, props), {
1943
- target: "_blank",
1944
- rel: "noopener noreferrer",
1945
- children
1946
- })
1947
- );
1934
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("a", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { target: "_blank", rel: "noopener noreferrer", children }));
1948
1935
  },
1936
+ // @ts-expect-error -- inline
1949
1937
  code(_c) {
1950
1938
  var _d = _c, { children, className, inline } = _d, props = __objRest(_d, ["children", "className", "inline"]);
1951
- if (children.length) {
1939
+ if (Array.isArray(children) && children.length) {
1952
1940
  if (children[0] == "\u258D") {
1953
1941
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1954
1942
  "span",
@@ -1961,7 +1949,7 @@ var components = {
1961
1949
  }
1962
1950
  );
1963
1951
  }
1964
- children[0] = children[0].replace("`\u258D`", "\u258D");
1952
+ children[0] = (children == null ? void 0 : children[0]).replace("`\u258D`", "\u258D");
1965
1953
  }
1966
1954
  const match = /language-(\w+)/.exec(className || "");
1967
1955
  if (inline) {
@@ -1975,8 +1963,67 @@ var components = {
1975
1963
  }, props),
1976
1964
  Math.random()
1977
1965
  );
1966
+ },
1967
+ h1: (_e) => {
1968
+ var _f = _e, { children } = _f, props = __objRest(_f, ["children"]);
1969
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h1", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
1970
+ },
1971
+ h2: (_g) => {
1972
+ var _h = _g, { children } = _h, props = __objRest(_h, ["children"]);
1973
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h2", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
1974
+ },
1975
+ h3: (_i) => {
1976
+ var _j = _i, { children } = _j, props = __objRest(_j, ["children"]);
1977
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h3", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
1978
+ },
1979
+ h4: (_k) => {
1980
+ var _l = _k, { children } = _l, props = __objRest(_l, ["children"]);
1981
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h4", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
1982
+ },
1983
+ h5: (_m) => {
1984
+ var _n = _m, { children } = _n, props = __objRest(_n, ["children"]);
1985
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h5", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
1986
+ },
1987
+ h6: (_o) => {
1988
+ var _p = _o, { children } = _p, props = __objRest(_p, ["children"]);
1989
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h6", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
1990
+ },
1991
+ p: (_q) => {
1992
+ var _r = _q, { children } = _r, props = __objRest(_r, ["children"]);
1993
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
1994
+ },
1995
+ pre: (_s) => {
1996
+ var _t = _s, { children } = _t, props = __objRest(_t, ["children"]);
1997
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("pre", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
1998
+ },
1999
+ blockquote: (_u) => {
2000
+ var _v = _u, { children } = _v, props = __objRest(_v, ["children"]);
2001
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("blockquote", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
2002
+ },
2003
+ ul: (_w) => {
2004
+ var _x = _w, { children } = _x, props = __objRest(_x, ["children"]);
2005
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("ul", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
2006
+ },
2007
+ li: (_y) => {
2008
+ var _z = _y, { children } = _z, props = __objRest(_z, ["children"]);
2009
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("li", __spreadProps(__spreadValues({ className: "copilotKitMarkdownElement" }, props), { children }));
1978
2010
  }
1979
2011
  };
2012
+ var MemoizedReactMarkdown = (0, import_react11.memo)(
2013
+ import_react_markdown.default,
2014
+ (prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.components === nextProps.components
2015
+ );
2016
+ var Markdown = ({ content, components }) => {
2017
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "copilotKitMarkdown", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2018
+ MemoizedReactMarkdown,
2019
+ {
2020
+ components: __spreadValues(__spreadValues({}, defaultComponents), components),
2021
+ remarkPlugins: [import_remark_gfm.default, import_remark_math.default],
2022
+ rehypePlugins: [import_rehype_raw.default],
2023
+ children: content
2024
+ }
2025
+ ) });
2026
+ };
1980
2027
 
1981
2028
  // src/components/chat/messages/AssistantMessage.tsx
1982
2029
  var import_react12 = require("react");
@@ -1991,7 +2038,8 @@ var AssistantMessage = (props) => {
1991
2038
  onCopy,
1992
2039
  onThumbsUp,
1993
2040
  onThumbsDown,
1994
- isCurrentMessage
2041
+ isCurrentMessage,
2042
+ markdownTagRenderers
1995
2043
  } = props;
1996
2044
  const [copied, setCopied] = (0, import_react12.useState)(false);
1997
2045
  const handleCopy = () => {
@@ -2024,7 +2072,7 @@ var AssistantMessage = (props) => {
2024
2072
  const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: icons.activityIcon });
2025
2073
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
2026
2074
  (message || isLoading) && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
2027
- message && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Markdown, { content: message || "" }),
2075
+ message && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Markdown, { content: message || "", components: markdownTagRenderers }),
2028
2076
  isLoading && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LoadingIcon, {}),
2029
2077
  message && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
2030
2078
  "div",
@@ -2097,7 +2145,8 @@ function RenderTextMessage(_a) {
2097
2145
  onRegenerate,
2098
2146
  onCopy,
2099
2147
  onThumbsUp,
2100
- onThumbsDown
2148
+ onThumbsDown,
2149
+ markdownTagRenderers
2101
2150
  } = props;
2102
2151
  if (message.isTextMessage()) {
2103
2152
  if (message.role === "user") {
@@ -2123,7 +2172,8 @@ function RenderTextMessage(_a) {
2123
2172
  onRegenerate: () => onRegenerate == null ? void 0 : onRegenerate(message.id),
2124
2173
  onCopy,
2125
2174
  onThumbsUp,
2126
- onThumbsDown
2175
+ onThumbsDown,
2176
+ markdownTagRenderers
2127
2177
  },
2128
2178
  index
2129
2179
  );
@@ -2434,19 +2484,23 @@ function RenderImageMessage(_a) {
2434
2484
  return null;
2435
2485
  }
2436
2486
 
2487
+ // src/components/chat/Chat.tsx
2488
+ var import_react13 = __toESM(require("react"));
2489
+ var import_react_core10 = require("@copilotkit/react-core");
2490
+
2437
2491
  // src/components/chat/Suggestion.tsx
2438
2492
  var import_react_core9 = require("@copilotkit/react-core");
2439
2493
  var import_shared2 = require("@copilotkit/shared");
2440
2494
  var import_runtime_client_gql3 = require("@copilotkit/runtime-client-gql");
2441
2495
  var import_jsx_runtime23 = require("react/jsx-runtime");
2442
- function Suggestion({ title, message, onClick, partial, className }) {
2496
+ function Suggestion({ title, onClick, partial, className }) {
2443
2497
  return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2444
2498
  "button",
2445
2499
  {
2446
2500
  disabled: partial,
2447
2501
  onClick: (e) => {
2448
2502
  e.preventDefault();
2449
- onClick(message);
2503
+ onClick();
2450
2504
  },
2451
2505
  className: className || (partial ? "suggestion loading" : "suggestion"),
2452
2506
  "data-test-id": "suggestion",
@@ -2525,8 +2579,6 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
2525
2579
  });
2526
2580
 
2527
2581
  // src/components/chat/Chat.tsx
2528
- var import_react13 = __toESM(require("react"));
2529
- var import_react_core10 = require("@copilotkit/react-core");
2530
2582
  var import_runtime_client_gql4 = require("@copilotkit/runtime-client-gql");
2531
2583
  var import_shared3 = require("@copilotkit/shared");
2532
2584
  var import_react_core11 = require("@copilotkit/react-core");
@@ -2609,8 +2661,24 @@ var ImageUploadQueue = ({
2609
2661
  );
2610
2662
  };
2611
2663
 
2612
- // src/components/chat/Chat.tsx
2664
+ // src/components/chat/Suggestions.tsx
2613
2665
  var import_jsx_runtime25 = require("react/jsx-runtime");
2666
+ function Suggestions({ suggestions, onSuggestionClick }) {
2667
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "suggestions", children: suggestions.map((suggestion, index) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2668
+ Suggestion,
2669
+ {
2670
+ title: suggestion.title,
2671
+ message: suggestion.message,
2672
+ partial: suggestion.partial,
2673
+ className: suggestion.className,
2674
+ onClick: () => onSuggestionClick(suggestion.message)
2675
+ },
2676
+ index
2677
+ )) });
2678
+ }
2679
+
2680
+ // src/components/chat/Chat.tsx
2681
+ var import_jsx_runtime26 = require("react/jsx-runtime");
2614
2682
  function CopilotChat({
2615
2683
  instructions,
2616
2684
  onSubmitMessage,
@@ -2622,12 +2690,14 @@ function CopilotChat({
2622
2690
  onCopy,
2623
2691
  onThumbsUp,
2624
2692
  onThumbsDown,
2693
+ markdownTagRenderers,
2625
2694
  Messages: Messages2 = Messages,
2626
2695
  RenderTextMessage: RenderTextMessage2 = RenderTextMessage,
2627
2696
  RenderActionExecutionMessage: RenderActionExecutionMessage2 = RenderActionExecutionMessage,
2628
2697
  RenderAgentStateMessage: RenderAgentStateMessage2 = RenderAgentStateMessage,
2629
2698
  RenderResultMessage: RenderResultMessage2 = RenderResultMessage,
2630
2699
  RenderImageMessage: RenderImageMessage2 = RenderImageMessage,
2700
+ RenderSuggestionsList = Suggestions,
2631
2701
  Input: Input2 = Input,
2632
2702
  className,
2633
2703
  icons,
@@ -2767,8 +2837,8 @@ function CopilotChat({
2767
2837
  const removeSelectedImage = (index) => {
2768
2838
  setSelectedImages((prev) => prev.filter((_, i) => i !== index));
2769
2839
  };
2770
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(WrappedCopilotChat, { icons, labels, className, children: [
2771
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2840
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(WrappedCopilotChat, { icons, labels, className, children: [
2841
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2772
2842
  Messages2,
2773
2843
  {
2774
2844
  AssistantMessage: AssistantMessage2,
@@ -2784,22 +2854,19 @@ function CopilotChat({
2784
2854
  onCopy: handleCopy,
2785
2855
  onThumbsUp,
2786
2856
  onThumbsDown,
2787
- children: currentSuggestions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "suggestions", children: currentSuggestions.map((suggestion, index) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2788
- Suggestion,
2857
+ markdownTagRenderers,
2858
+ children: currentSuggestions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2859
+ RenderSuggestionsList,
2789
2860
  {
2790
- title: suggestion.title,
2791
- message: suggestion.message,
2792
- partial: suggestion.partial,
2793
- className: suggestion.className,
2794
- onClick: (message) => handleSendMessage(message)
2795
- },
2796
- index
2797
- )) })
2861
+ onSuggestionClick: handleSendMessage,
2862
+ suggestions: currentSuggestions
2863
+ }
2864
+ )
2798
2865
  }
2799
2866
  ),
2800
- imageUploadsEnabled && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
2801
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ImageUploadQueue, { images: selectedImages, onRemoveImage: removeSelectedImage }),
2802
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2867
+ imageUploadsEnabled && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
2868
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ImageUploadQueue, { images: selectedImages, onRemoveImage: removeSelectedImage }),
2869
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2803
2870
  "input",
2804
2871
  {
2805
2872
  type: "file",
@@ -2811,7 +2878,7 @@ function CopilotChat({
2811
2878
  }
2812
2879
  )
2813
2880
  ] }),
2814
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2881
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2815
2882
  Input2,
2816
2883
  {
2817
2884
  inProgress: isLoading,
@@ -2834,10 +2901,10 @@ function WrappedCopilotChat({
2834
2901
  }) {
2835
2902
  const chatContext = import_react13.default.useContext(ChatContext);
2836
2903
  if (!chatContext) {
2837
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ChatContextProvider, { icons, labels, open: true, setOpen: () => {
2838
- }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `copilotKitChat ${className != null ? className : ""}`, children }) });
2904
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ChatContextProvider, { icons, labels, open: true, setOpen: () => {
2905
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: `copilotKitChat ${className != null ? className : ""}`, children }) });
2839
2906
  }
2840
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children });
2907
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children });
2841
2908
  }
2842
2909
  var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
2843
2910
  var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onStopGeneration, onReloadMessages) => {
@@ -3022,55 +3089,85 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onS
3022
3089
  };
3023
3090
 
3024
3091
  // src/components/chat/Modal.tsx
3025
- var import_jsx_runtime26 = require("react/jsx-runtime");
3026
- var CopilotModal = ({
3027
- instructions,
3028
- defaultOpen = false,
3029
- clickOutsideToClose = true,
3030
- hitEscapeToClose = true,
3031
- onSetOpen,
3032
- onSubmitMessage,
3033
- onStopGeneration,
3034
- onReloadMessages,
3035
- shortcut = "/",
3036
- icons,
3037
- labels,
3038
- makeSystemMessage,
3039
- onInProgress,
3040
- Window: Window2 = Window,
3041
- Button: Button2 = Button,
3042
- Header: Header2 = Header,
3043
- Messages: Messages2 = Messages,
3044
- Input: Input2 = Input,
3045
- AssistantMessage: AssistantMessage2 = AssistantMessage,
3046
- UserMessage: UserMessage2 = UserMessage,
3047
- onThumbsUp,
3048
- onThumbsDown,
3049
- onCopy,
3050
- onRegenerate,
3051
- className,
3052
- children
3053
- }) => {
3092
+ var import_jsx_runtime27 = require("react/jsx-runtime");
3093
+ var CopilotModal = (_a) => {
3094
+ var _b = _a, {
3095
+ instructions,
3096
+ defaultOpen = false,
3097
+ clickOutsideToClose = true,
3098
+ hitEscapeToClose = true,
3099
+ onSetOpen,
3100
+ onSubmitMessage,
3101
+ onStopGeneration,
3102
+ onReloadMessages,
3103
+ shortcut = "/",
3104
+ icons,
3105
+ labels,
3106
+ makeSystemMessage,
3107
+ onInProgress,
3108
+ Window: Window2 = Window,
3109
+ Button: Button2 = Button,
3110
+ Header: Header2 = Header,
3111
+ Messages: Messages2 = Messages,
3112
+ Input: Input2 = Input,
3113
+ AssistantMessage: AssistantMessage2 = AssistantMessage,
3114
+ UserMessage: UserMessage2 = UserMessage,
3115
+ onThumbsUp,
3116
+ onThumbsDown,
3117
+ onCopy,
3118
+ onRegenerate,
3119
+ markdownTagRenderers,
3120
+ className,
3121
+ children
3122
+ } = _b, props = __objRest(_b, [
3123
+ "instructions",
3124
+ "defaultOpen",
3125
+ "clickOutsideToClose",
3126
+ "hitEscapeToClose",
3127
+ "onSetOpen",
3128
+ "onSubmitMessage",
3129
+ "onStopGeneration",
3130
+ "onReloadMessages",
3131
+ "shortcut",
3132
+ "icons",
3133
+ "labels",
3134
+ "makeSystemMessage",
3135
+ "onInProgress",
3136
+ "Window",
3137
+ "Button",
3138
+ "Header",
3139
+ "Messages",
3140
+ "Input",
3141
+ "AssistantMessage",
3142
+ "UserMessage",
3143
+ "onThumbsUp",
3144
+ "onThumbsDown",
3145
+ "onCopy",
3146
+ "onRegenerate",
3147
+ "markdownTagRenderers",
3148
+ "className",
3149
+ "children"
3150
+ ]);
3054
3151
  const [openState, setOpenState] = import_react14.default.useState(defaultOpen);
3055
3152
  const setOpen = (open) => {
3056
3153
  onSetOpen == null ? void 0 : onSetOpen(open);
3057
3154
  setOpenState(open);
3058
3155
  };
3059
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(ChatContextProvider, { icons, labels, open: openState, setOpen, children: [
3156
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(ChatContextProvider, { icons, labels, open: openState, setOpen, children: [
3060
3157
  children,
3061
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className, children: [
3062
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Button2, {}),
3063
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
3158
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className, children: [
3159
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Button2, {}),
3160
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
3064
3161
  Window2,
3065
3162
  {
3066
3163
  clickOutsideToClose,
3067
3164
  shortcut,
3068
3165
  hitEscapeToClose,
3069
3166
  children: [
3070
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Header2, {}),
3071
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3167
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Header2, {}),
3168
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3072
3169
  CopilotChat,
3073
- {
3170
+ __spreadProps(__spreadValues({}, props), {
3074
3171
  instructions,
3075
3172
  onSubmitMessage,
3076
3173
  onStopGeneration,
@@ -3084,8 +3181,9 @@ var CopilotModal = ({
3084
3181
  onThumbsUp,
3085
3182
  onThumbsDown,
3086
3183
  onCopy,
3087
- onRegenerate
3088
- }
3184
+ onRegenerate,
3185
+ markdownTagRenderers
3186
+ })
3089
3187
  )
3090
3188
  ]
3091
3189
  }