kooby 1.0.2 → 1.0.4

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/README.md CHANGED
@@ -217,7 +217,7 @@ Kooby allows you to customize what gets rendered in the toolbar (at the top of t
217
217
  ```jsx
218
218
  import { Kooby } from "kooby";
219
219
 
220
- const CustomToolbar = ({ agent, conversation }) => {
220
+ const CustomToolbar = ({ agent, conversation, socketId }) => {
221
221
  const copyConversation = () => {
222
222
  const conversationJson = JSON.stringify(conversation, null, 2);
223
223
  navigator.clipboard.writeText(conversationJson);
package/dist/cjs/index.js CHANGED
@@ -88,7 +88,10 @@ function _iterableToArrayLimit(r, l) {
88
88
  f = true,
89
89
  o = false;
90
90
  try {
91
- if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
91
+ if (i = (t = t.call(r)).next, 0 === l) {
92
+ if (Object(t) !== t) return;
93
+ f = !1;
94
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
92
95
  } catch (r) {
93
96
  o = true, n = r;
94
97
  } finally {
@@ -375,10 +378,10 @@ var FeedbackField = function FeedbackField(_ref) {
375
378
  return /*#__PURE__*/React.createElement(s2.DialogTrigger, {
376
379
  isOpen: open,
377
380
  onOpenChange: setOpen
378
- }, /*#__PURE__*/React.createElement(s2.ActionButton, {
381
+ }, /*#__PURE__*/React.createElement(s2.TooltipTrigger, null, /*#__PURE__*/React.createElement(s2.ActionButton, {
379
382
  isQuiet: true,
380
383
  "aria-label": title
381
- }, /*#__PURE__*/React.createElement(Icon, null)), /*#__PURE__*/React.createElement(s2.Popover, {
384
+ }, /*#__PURE__*/React.createElement(Icon, null)), /*#__PURE__*/React.createElement(s2.Tooltip, null, title)), /*#__PURE__*/React.createElement(s2.Popover, {
382
385
  size: "S"
383
386
  }, /*#__PURE__*/React.createElement("div", {
384
387
  style: {
@@ -456,11 +459,11 @@ var Feedback = function Feedback(_ref2) {
456
459
  if (show) {
457
460
  return /*#__PURE__*/React.createElement("div", {
458
461
  className: "kooby-feedback"
459
- }, /*#__PURE__*/React.createElement(s2.ActionButton, {
462
+ }, /*#__PURE__*/React.createElement(s2.TooltipTrigger, null, /*#__PURE__*/React.createElement(s2.ActionButton, {
460
463
  isQuiet: true,
461
464
  "aria-label": "Copy message",
462
465
  onPress: copyMessage
463
- }, /*#__PURE__*/React.createElement(Copy, null)), positive && /*#__PURE__*/React.createElement(FeedbackField, {
466
+ }, /*#__PURE__*/React.createElement(Copy, null)), /*#__PURE__*/React.createElement(s2.Tooltip, null, "Copy message")), positive && /*#__PURE__*/React.createElement(FeedbackField, {
464
467
  icon: ThumbUp,
465
468
  title: positive.label || "Positive Feedback",
466
469
  value: positiveFeedback,
@@ -636,19 +639,21 @@ var Toolbar = function Toolbar(_ref5) {
636
639
  agent = _useKooby3.agent,
637
640
  conversation = _useKooby3.conversation,
638
641
  toggleFocus = _useKooby3.toggleFocus,
639
- resetConversation = _useKooby3.resetConversation;
642
+ resetConversation = _useKooby3.resetConversation,
643
+ socketId = _useKooby3.socketId;
640
644
  return /*#__PURE__*/React.createElement("div", {
641
645
  className: "kooby-toolbar"
642
646
  }, children ? children({
643
647
  agent: agent,
644
- conversation: conversation
645
- }) : null, reset && /*#__PURE__*/React.createElement(s2.ActionButton, {
648
+ conversation: conversation,
649
+ socketId: socketId
650
+ }) : null, reset && /*#__PURE__*/React.createElement(s2.TooltipTrigger, null, /*#__PURE__*/React.createElement(s2.ActionButton, {
646
651
  "aria-label": "Reset",
647
652
  onPress: resetConversation
648
- }, /*#__PURE__*/React.createElement(Refresh, null)), expandable && /*#__PURE__*/React.createElement(s2.ActionButton, {
653
+ }, /*#__PURE__*/React.createElement(Refresh, null)), /*#__PURE__*/React.createElement(s2.Tooltip, null, "Reset")), expandable && /*#__PURE__*/React.createElement(s2.TooltipTrigger, null, /*#__PURE__*/React.createElement(s2.ActionButton, {
649
654
  "aria-label": "Expand",
650
655
  onPress: toggleFocus
651
- }, /*#__PURE__*/React.createElement(OpenIn, null)));
656
+ }, /*#__PURE__*/React.createElement(OpenIn, null)), /*#__PURE__*/React.createElement(s2.Tooltip, null, "Expand")));
652
657
  };
653
658
  var ConnectionStatus = function ConnectionStatus() {
654
659
  var _useKooby4 = useKooby(),
@@ -684,6 +689,12 @@ var initializeConversation = function initializeConversation(_ref6) {
684
689
  }
685
690
  return [defaultGreetingMessage(agent)];
686
691
  };
692
+ var createSocketId = function createSocketId() {
693
+ if (typeof crypto !== "undefined" && crypto.randomUUID) {
694
+ return crypto.randomUUID();
695
+ }
696
+ return "kooby-".concat(Date.now(), "-").concat(Math.random().toString(36).slice(2, 10));
697
+ };
687
698
  var Kooby = function Kooby(_ref7) {
688
699
  var debug = _ref7.debug,
689
700
  url = _ref7.url,
@@ -730,14 +741,19 @@ var Kooby = function Kooby(_ref7) {
730
741
  _useState12 = _slicedToArray(_useState11, 2),
731
742
  isConnected = _useState12[0],
732
743
  setIsConnected = _useState12[1];
733
- var _useState13 = React.useState(false),
734
- _useState14 = _slicedToArray(_useState13, 2),
735
- responding = _useState14[0],
736
- setResponding = _useState14[1];
744
+ var _useState13 = React.useState(function () {
745
+ return createSocketId();
746
+ }),
747
+ _useState14 = _slicedToArray(_useState13, 1),
748
+ socketId = _useState14[0];
737
749
  var _useState15 = React.useState(false),
738
750
  _useState16 = _slicedToArray(_useState15, 2),
739
- loading = _useState16[0],
740
- setLoading = _useState16[1];
751
+ responding = _useState16[0],
752
+ setResponding = _useState16[1];
753
+ var _useState17 = React.useState(false),
754
+ _useState18 = _slicedToArray(_useState17, 2),
755
+ loading = _useState18[0],
756
+ setLoading = _useState18[1];
741
757
  var socketManagerRef = React.useRef(null);
742
758
  var metadataRef = React.useRef();
743
759
  metadataRef.current = metadata;
@@ -799,6 +815,7 @@ var Kooby = function Kooby(_ref7) {
799
815
  var history = initialConversation;
800
816
  socketManagerRef.current.sendMessage({
801
817
  handshake: true,
818
+ socketId: socketId,
802
819
  history: history,
803
820
  metadata: _objectSpread2({
804
821
  user_agent: navigator.userAgent
@@ -822,7 +839,7 @@ var Kooby = function Kooby(_ref7) {
822
839
  setIsConnected(false);
823
840
  }
824
841
  };
825
- }, [url, agent, token]);
842
+ }, [url, agent, token, socketId]);
826
843
  React.useEffect(function () {
827
844
  if (socketManagerRef.current && context) {
828
845
  console.log("Setting context", context);
@@ -851,6 +868,7 @@ var Kooby = function Kooby(_ref7) {
851
868
  setConversation: setConversation,
852
869
  resetConversation: resetConversation,
853
870
  isConnected: isConnected,
871
+ socketId: socketId,
854
872
  setIsConnected: setIsConnected,
855
873
  socketManagerRef: socketManagerRef,
856
874
  agent: agent,
@@ -860,7 +878,7 @@ var Kooby = function Kooby(_ref7) {
860
878
  setLoading: setLoading,
861
879
  loading: loading
862
880
  };
863
- }, [conversation, isConnected, agent, responding, context]);
881
+ }, [conversation, isConnected, socketId, agent, responding, context]);
864
882
  if (apiRef) {
865
883
  apiRef.current = {
866
884
  resetConversation: resetConversation
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useRef, useEffect } from 'react';
2
- import { TextArea, ActionButton, InlineAlert, Heading, Text, ProgressCircle, DialogTrigger, Popover } from '@react-spectrum/s2';
2
+ import { TextArea, TooltipTrigger, ActionButton, Tooltip, InlineAlert, Heading, Text, ProgressCircle, DialogTrigger, Popover } from '@react-spectrum/s2';
3
3
  import Copy from '@react-spectrum/s2/icons/Copy';
4
4
  import OpenIn from '@react-spectrum/s2/icons/OpenIn';
5
5
  import Refresh from '@react-spectrum/s2/icons/Refresh';
@@ -86,7 +86,10 @@ function _iterableToArrayLimit(r, l) {
86
86
  f = true,
87
87
  o = false;
88
88
  try {
89
- if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
89
+ if (i = (t = t.call(r)).next, 0 === l) {
90
+ if (Object(t) !== t) return;
91
+ f = !1;
92
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
90
93
  } catch (r) {
91
94
  o = true, n = r;
92
95
  } finally {
@@ -373,10 +376,10 @@ var FeedbackField = function FeedbackField(_ref) {
373
376
  return /*#__PURE__*/React.createElement(DialogTrigger, {
374
377
  isOpen: open,
375
378
  onOpenChange: setOpen
376
- }, /*#__PURE__*/React.createElement(ActionButton, {
379
+ }, /*#__PURE__*/React.createElement(TooltipTrigger, null, /*#__PURE__*/React.createElement(ActionButton, {
377
380
  isQuiet: true,
378
381
  "aria-label": title
379
- }, /*#__PURE__*/React.createElement(Icon, null)), /*#__PURE__*/React.createElement(Popover, {
382
+ }, /*#__PURE__*/React.createElement(Icon, null)), /*#__PURE__*/React.createElement(Tooltip, null, title)), /*#__PURE__*/React.createElement(Popover, {
380
383
  size: "S"
381
384
  }, /*#__PURE__*/React.createElement("div", {
382
385
  style: {
@@ -454,11 +457,11 @@ var Feedback = function Feedback(_ref2) {
454
457
  if (show) {
455
458
  return /*#__PURE__*/React.createElement("div", {
456
459
  className: "kooby-feedback"
457
- }, /*#__PURE__*/React.createElement(ActionButton, {
460
+ }, /*#__PURE__*/React.createElement(TooltipTrigger, null, /*#__PURE__*/React.createElement(ActionButton, {
458
461
  isQuiet: true,
459
462
  "aria-label": "Copy message",
460
463
  onPress: copyMessage
461
- }, /*#__PURE__*/React.createElement(Copy, null)), positive && /*#__PURE__*/React.createElement(FeedbackField, {
464
+ }, /*#__PURE__*/React.createElement(Copy, null)), /*#__PURE__*/React.createElement(Tooltip, null, "Copy message")), positive && /*#__PURE__*/React.createElement(FeedbackField, {
462
465
  icon: ThumbUp,
463
466
  title: positive.label || "Positive Feedback",
464
467
  value: positiveFeedback,
@@ -634,19 +637,21 @@ var Toolbar = function Toolbar(_ref5) {
634
637
  agent = _useKooby3.agent,
635
638
  conversation = _useKooby3.conversation,
636
639
  toggleFocus = _useKooby3.toggleFocus,
637
- resetConversation = _useKooby3.resetConversation;
640
+ resetConversation = _useKooby3.resetConversation,
641
+ socketId = _useKooby3.socketId;
638
642
  return /*#__PURE__*/React.createElement("div", {
639
643
  className: "kooby-toolbar"
640
644
  }, children ? children({
641
645
  agent: agent,
642
- conversation: conversation
643
- }) : null, reset && /*#__PURE__*/React.createElement(ActionButton, {
646
+ conversation: conversation,
647
+ socketId: socketId
648
+ }) : null, reset && /*#__PURE__*/React.createElement(TooltipTrigger, null, /*#__PURE__*/React.createElement(ActionButton, {
644
649
  "aria-label": "Reset",
645
650
  onPress: resetConversation
646
- }, /*#__PURE__*/React.createElement(Refresh, null)), expandable && /*#__PURE__*/React.createElement(ActionButton, {
651
+ }, /*#__PURE__*/React.createElement(Refresh, null)), /*#__PURE__*/React.createElement(Tooltip, null, "Reset")), expandable && /*#__PURE__*/React.createElement(TooltipTrigger, null, /*#__PURE__*/React.createElement(ActionButton, {
647
652
  "aria-label": "Expand",
648
653
  onPress: toggleFocus
649
- }, /*#__PURE__*/React.createElement(OpenIn, null)));
654
+ }, /*#__PURE__*/React.createElement(OpenIn, null)), /*#__PURE__*/React.createElement(Tooltip, null, "Expand")));
650
655
  };
651
656
  var ConnectionStatus = function ConnectionStatus() {
652
657
  var _useKooby4 = useKooby(),
@@ -682,6 +687,12 @@ var initializeConversation = function initializeConversation(_ref6) {
682
687
  }
683
688
  return [defaultGreetingMessage(agent)];
684
689
  };
690
+ var createSocketId = function createSocketId() {
691
+ if (typeof crypto !== "undefined" && crypto.randomUUID) {
692
+ return crypto.randomUUID();
693
+ }
694
+ return "kooby-".concat(Date.now(), "-").concat(Math.random().toString(36).slice(2, 10));
695
+ };
685
696
  var Kooby = function Kooby(_ref7) {
686
697
  var debug = _ref7.debug,
687
698
  url = _ref7.url,
@@ -728,14 +739,19 @@ var Kooby = function Kooby(_ref7) {
728
739
  _useState12 = _slicedToArray(_useState11, 2),
729
740
  isConnected = _useState12[0],
730
741
  setIsConnected = _useState12[1];
731
- var _useState13 = useState(false),
732
- _useState14 = _slicedToArray(_useState13, 2),
733
- responding = _useState14[0],
734
- setResponding = _useState14[1];
742
+ var _useState13 = useState(function () {
743
+ return createSocketId();
744
+ }),
745
+ _useState14 = _slicedToArray(_useState13, 1),
746
+ socketId = _useState14[0];
735
747
  var _useState15 = useState(false),
736
748
  _useState16 = _slicedToArray(_useState15, 2),
737
- loading = _useState16[0],
738
- setLoading = _useState16[1];
749
+ responding = _useState16[0],
750
+ setResponding = _useState16[1];
751
+ var _useState17 = useState(false),
752
+ _useState18 = _slicedToArray(_useState17, 2),
753
+ loading = _useState18[0],
754
+ setLoading = _useState18[1];
739
755
  var socketManagerRef = useRef(null);
740
756
  var metadataRef = useRef();
741
757
  metadataRef.current = metadata;
@@ -797,6 +813,7 @@ var Kooby = function Kooby(_ref7) {
797
813
  var history = initialConversation;
798
814
  socketManagerRef.current.sendMessage({
799
815
  handshake: true,
816
+ socketId: socketId,
800
817
  history: history,
801
818
  metadata: _objectSpread2({
802
819
  user_agent: navigator.userAgent
@@ -820,7 +837,7 @@ var Kooby = function Kooby(_ref7) {
820
837
  setIsConnected(false);
821
838
  }
822
839
  };
823
- }, [url, agent, token]);
840
+ }, [url, agent, token, socketId]);
824
841
  useEffect(function () {
825
842
  if (socketManagerRef.current && context) {
826
843
  console.log("Setting context", context);
@@ -849,6 +866,7 @@ var Kooby = function Kooby(_ref7) {
849
866
  setConversation: setConversation,
850
867
  resetConversation: resetConversation,
851
868
  isConnected: isConnected,
869
+ socketId: socketId,
852
870
  setIsConnected: setIsConnected,
853
871
  socketManagerRef: socketManagerRef,
854
872
  agent: agent,
@@ -858,7 +876,7 @@ var Kooby = function Kooby(_ref7) {
858
876
  setLoading: setLoading,
859
877
  loading: loading
860
878
  };
861
- }, [conversation, isConnected, agent, responding, context]);
879
+ }, [conversation, isConnected, socketId, agent, responding, context]);
862
880
  if (apiRef) {
863
881
  apiRef.current = {
864
882
  resetConversation: resetConversation
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kooby",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",