@credithub/harlan-components 1.53.0 → 1.53.2

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.
@@ -72,6 +72,9 @@ var GenerativeAI = function (_a) {
72
72
  var _j = useState('summary'), streamMode = _j[0], setStreamMode = _j[1];
73
73
  var _k = useState(null), summaryQueryData = _k[0], setSummaryQueryData = _k[1];
74
74
  var _l = useState(null), chatQueryData = _l[0], setChatQueryData = _l[1];
75
+ var _m = useState(false), pendingRefetch = _m[0], setPendingRefetch = _m[1];
76
+ var lastQueryRef = useRef(null);
77
+ var lastUserMessageRef = useRef(null);
75
78
  var messageHistoryRef = useRef(null);
76
79
  var isGlobalDataLoaded = useMemo(function () {
77
80
  return (globalData.documentHistory !== undefined &&
@@ -98,8 +101,8 @@ var GenerativeAI = function (_a) {
98
101
  setSummaryQueryData(createQueryAndMessages(serializedData, []));
99
102
  }
100
103
  }, [serializedData, streamMode, summaryQueryData]);
101
- var _m = useStreamQuery("SELECT FROM 'LlamaApi'.'Consulta'", summaryQueryData, streamMode === 'summary' && !!summaryQueryData), summaryIterator = _m.responseIterator, summaryError = _m.error, summaryLoading = _m.isLoading, refetchSummary = _m.refetch, abortSummary = _m.abort;
102
- var _o = useStreamQuery("SELECT FROM 'LlamaApi'.'Consulta'", chatQueryData, streamMode === 'chat' && !!chatQueryData), chatIterator = _o.responseIterator, chatError = _o.error, chatLoading = _o.isLoading, refetchChat = _o.refetch, abortChat = _o.abort;
104
+ var _o = useStreamQuery("SELECT FROM 'LlamaApi'.'Consulta'", summaryQueryData, streamMode === 'summary' && !!summaryQueryData), summaryIterator = _o.responseIterator, summaryError = _o.error, summaryLoading = _o.isLoading, refetchSummary = _o.refetch, abortSummary = _o.abort;
105
+ var _p = useStreamQuery("SELECT FROM 'LlamaApi'.'Consulta'", chatQueryData, streamMode === 'chat' && !!chatQueryData), chatIterator = _p.responseIterator, chatError = _p.error, chatLoading = _p.isLoading, refetchChat = _p.refetch, abortChat = _p.abort;
103
106
  useEffect(function () {
104
107
  if (summaryIterator) {
105
108
  (function () { return __awaiter(void 0, void 0, void 0, function () {
@@ -130,15 +133,41 @@ var GenerativeAI = function (_a) {
130
133
  }, [chatIterator]);
131
134
  var handleSendMessage = function () {
132
135
  if (userInput.trim()) {
133
- var newMessage_1 = { role: 'user', content: userInput };
134
- setMessageHistory(function (prev) { return __spreadArray(__spreadArray([], prev, true), [newMessage_1], false); });
136
+ setMessageHistory(function (prev) { return __spreadArray(__spreadArray([], prev, true), [
137
+ { role: 'user', content: userInput }
138
+ ], false); });
135
139
  setUserInput('');
136
- setChatQueryData(createQueryAndMessages(serializedData, __spreadArray(__spreadArray([], messageHistory.slice(1), true), [
137
- newMessage_1
138
- ], false)));
139
- refetchChat();
140
140
  }
141
141
  };
142
+ useEffect(function () {
143
+ if (streamMode !== 'chat' || chatLoading || messageHistory.length === 0)
144
+ return;
145
+ var lastMessage = messageHistory[messageHistory.length - 1];
146
+ if (lastMessage.role === 'user' &&
147
+ lastMessage.content !== lastUserMessageRef.current) {
148
+ lastUserMessageRef.current = lastMessage.content;
149
+ var newChatQueryData = createQueryAndMessages(serializedData, messageHistory);
150
+ if (newChatQueryData &&
151
+ newChatQueryData.messages !== lastQueryRef.current) {
152
+ lastQueryRef.current = newChatQueryData.messages;
153
+ console.log('Contexto atualizado enviado para a API:', messageHistory);
154
+ console.log('Nova query gerada:', newChatQueryData);
155
+ abortChat();
156
+ setChatQueryData(newChatQueryData);
157
+ setPendingRefetch(true);
158
+ }
159
+ }
160
+ }, [messageHistory, serializedData, streamMode, chatLoading, abortChat]);
161
+ useEffect(function () {
162
+ if (pendingRefetch &&
163
+ chatQueryData &&
164
+ streamMode === 'chat' &&
165
+ !chatLoading) {
166
+ console.log('Disparando refetchChat com payload', chatQueryData);
167
+ refetchChat();
168
+ setPendingRefetch(false);
169
+ }
170
+ }, [pendingRefetch, chatQueryData, streamMode, chatLoading, refetchChat]);
142
171
  var handleStopStream = function () {
143
172
  abortChat();
144
173
  };
@@ -31,7 +31,7 @@ export var createQueryAndMessages = function (relevantData, messageHistory, user
31
31
  });
32
32
  }
33
33
  return {
34
- model: 'deepseek-chat',
34
+ model: 'credithub-ql',
35
35
  messages: JSON.stringify(messages)
36
36
  };
37
37
  };
@@ -175,6 +175,7 @@ export function useStreamQuery(query, data, enabled) {
175
175
  abortControllerRef.current = null;
176
176
  setIsLoading(false);
177
177
  hasStreamStartedRef.current = false;
178
+ setResponseIterator(null);
178
179
  }
179
180
  }, []);
180
181
  useEffect(function () {