@melony/react 0.1.38 → 0.1.39

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.
package/dist/index.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React11 = require('react');
4
+ var melony = require('melony');
4
5
  var react = require('nuqs/adapters/react');
5
6
  var reactQuery = require('@tanstack/react-query');
6
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -42,31 +43,6 @@ var React11__namespace = /*#__PURE__*/_interopNamespace(React11);
42
43
  var ICONS__namespace = /*#__PURE__*/_interopNamespace(ICONS);
43
44
 
44
45
  // src/providers/melony-provider.tsx
45
-
46
- // src/lib/group-events-to-messages.ts
47
- function groupEventsToMessages(events) {
48
- if (events.length === 0) return [];
49
- const messages = [];
50
- let currentMessage = null;
51
- for (const event of events) {
52
- const role = event.role || "assistant";
53
- const runId = event.runId;
54
- if (!currentMessage || currentMessage.role !== role || runId && currentMessage.runId && runId !== currentMessage.runId) {
55
- currentMessage = {
56
- role,
57
- content: [event],
58
- runId
59
- };
60
- messages.push(currentMessage);
61
- } else {
62
- currentMessage.content.push(event);
63
- if (!currentMessage.runId && runId) {
64
- currentMessage.runId = runId;
65
- }
66
- }
67
- }
68
- return messages;
69
- }
70
46
  var MelonyContext = React11.createContext(
71
47
  void 0
72
48
  );
@@ -164,7 +140,7 @@ var MelonyContextProviderInner = ({
164
140
  const value = React11.useMemo(
165
141
  () => ({
166
142
  ...state,
167
- messages: groupEventsToMessages(state.events),
143
+ messages: melony.convertEventsToMessages(state.events),
168
144
  sendEvent,
169
145
  reset,
170
146
  client,
@@ -2833,25 +2809,16 @@ function MessageContent({ events }) {
2833
2809
  }
2834
2810
  function MessageBubble({ message }) {
2835
2811
  const isUser = message.role === "user";
2836
- return /* @__PURE__ */ jsxRuntime.jsx(
2812
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col", isUser ? "items-end" : "items-start"), children: /* @__PURE__ */ jsxRuntime.jsx(
2837
2813
  "div",
2838
2814
  {
2839
2815
  className: cn(
2840
- "flex flex-col",
2841
- isUser ? "items-end" : "items-start"
2816
+ "flex flex-col items-start max-w-[85%] rounded-2xl px-4 py-2 space-y-4 whitespace-pre-wrap",
2817
+ isUser ? "bg-primary text-primary-foreground" : "px-0 py-0 text-foreground"
2842
2818
  ),
2843
- children: /* @__PURE__ */ jsxRuntime.jsx(
2844
- "div",
2845
- {
2846
- className: cn(
2847
- "flex flex-col items-start max-w-[85%] rounded-2xl px-4 py-2 space-y-4 whitespace-pre-wrap",
2848
- isUser ? "bg-primary text-primary-foreground" : "px-0 py-0 text-foreground"
2849
- ),
2850
- children: /* @__PURE__ */ jsxRuntime.jsx(MessageContent, { events: message.content })
2851
- }
2852
- )
2819
+ children: /* @__PURE__ */ jsxRuntime.jsx(MessageContent, { events: message.content })
2853
2820
  }
2854
- );
2821
+ ) });
2855
2822
  }
2856
2823
  function LoadingIndicator({ status }) {
2857
2824
  const [isExpanded, setIsExpanded] = React11.useState(false);
@@ -2934,17 +2901,15 @@ function Thread({
2934
2901
  const hasOptions = state && Object.keys(state).filter((k) => k !== "threadId").length > 0;
2935
2902
  if (!text && !hasFiles && !hasOptions || isLoading) return;
2936
2903
  if (!overrideInput) setInput("");
2937
- await sendEvent(
2938
- {
2939
- type: "text",
2940
- role: "user",
2941
- data: { content: text || "" },
2942
- state: {
2943
- ...state,
2944
- threadId: activeThreadId ?? void 0
2945
- }
2904
+ await sendEvent({
2905
+ type: "text",
2906
+ role: "user",
2907
+ data: { content: text || "" },
2908
+ state: {
2909
+ ...state,
2910
+ threadId: activeThreadId ?? void 0
2946
2911
  }
2947
- );
2912
+ });
2948
2913
  };
2949
2914
  const handleStarterPromptClick = (prompt) => {
2950
2915
  if (onStarterPromptClick) {
@@ -3722,7 +3687,6 @@ exports.ThreadPopover = ThreadPopover;
3722
3687
  exports.ThreadProvider = ThreadProvider;
3723
3688
  exports.UIRenderer = UIRenderer;
3724
3689
  exports.WelcomeScreen = WelcomeScreen;
3725
- exports.groupEventsToMessages = groupEventsToMessages;
3726
3690
  exports.useAuth = useAuth;
3727
3691
  exports.useMelony = useMelony;
3728
3692
  exports.useScreenSize = useScreenSize;