bs-agent 0.0.22 → 0.0.24

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.
@@ -341,17 +341,23 @@ function buildStreamCallbacks(deps, debugKey) {
341
341
  return {
342
342
  onComplete: () => {
343
343
  console.log("Agent closed");
344
+ setMessages((current) => {
345
+ if (syncSessionRef.current) {
346
+ syncSessionRef.current(current);
347
+ }
348
+ return current;
349
+ });
344
350
  setInProgress(false);
345
- if (syncSessionRef.current) {
346
- syncSessionRef.current(messagesRef.current);
347
- }
348
351
  },
349
352
  onError: (error) => {
350
353
  console.log("Agent error", error);
354
+ setMessages((current) => {
355
+ if (syncSessionRef.current) {
356
+ syncSessionRef.current(current);
357
+ }
358
+ return current;
359
+ });
351
360
  setInProgress(false);
352
- if (syncSessionRef.current) {
353
- syncSessionRef.current(messagesRef.current);
354
- }
355
361
  },
356
362
  onEvent: (event) => {
357
363
  if (event.type === "text_delta") {
@@ -784,19 +790,34 @@ function useAgent(agent, options) {
784
790
  sessionUtils.syncSessionRef.current(messagesRef.current);
785
791
  }
786
792
  }, [sessionUtils.syncSessionRef]);
787
- return {
788
- inProgress,
789
- messages,
790
- handleSend,
791
- resumeTool,
792
- addOptimisticMessage,
793
- abort,
794
- sessionId: currentSessionId,
795
- switchSession: sessionUtils.switchSession,
796
- deleteSession: sessionUtils.deleteSession,
797
- sessions: sessionUtils.sessionsList,
798
- debugData
799
- };
793
+ return useMemo2(
794
+ () => ({
795
+ inProgress,
796
+ messages,
797
+ handleSend,
798
+ resumeTool,
799
+ addOptimisticMessage,
800
+ abort,
801
+ sessionId: currentSessionId,
802
+ switchSession: sessionUtils.switchSession,
803
+ deleteSession: sessionUtils.deleteSession,
804
+ sessions: sessionUtils.sessionsList,
805
+ debugData
806
+ }),
807
+ [
808
+ inProgress,
809
+ messages,
810
+ handleSend,
811
+ resumeTool,
812
+ addOptimisticMessage,
813
+ abort,
814
+ currentSessionId,
815
+ sessionUtils.switchSession,
816
+ sessionUtils.deleteSession,
817
+ sessionUtils.sessionsList,
818
+ debugData
819
+ ]
820
+ );
800
821
  }
801
822
 
802
823
  // src/core/stream.ts