@servicetitan/titan-chatbot-ui 3.2.1 → 4.0.1

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 (27) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/components/chatbot/chatbot.d.ts +3 -0
  3. package/dist/components/chatbot/chatbot.d.ts.map +1 -1
  4. package/dist/components/chatbot/chatbot.js +5 -3
  5. package/dist/components/chatbot/chatbot.js.map +1 -1
  6. package/dist/components/chatbot/dialog/chatbot-restart-link.d.ts.map +1 -1
  7. package/dist/components/chatbot/dialog/chatbot-restart-link.js +4 -1
  8. package/dist/components/chatbot/dialog/chatbot-restart-link.js.map +1 -1
  9. package/dist/components/chatbot/feedback/chatbot-message-feedback-popover.d.ts.map +1 -1
  10. package/dist/components/chatbot/feedback/chatbot-message-feedback-popover.js +3 -2
  11. package/dist/components/chatbot/feedback/chatbot-message-feedback-popover.js.map +1 -1
  12. package/dist/components/chatbot/feedback/chatbot-message-feedback.d.ts.map +1 -1
  13. package/dist/components/chatbot/feedback/chatbot-message-feedback.js +4 -5
  14. package/dist/components/chatbot/feedback/chatbot-message-feedback.js.map +1 -1
  15. package/dist/components/chatbot/feedback/chatbot-session-feedback-modal.js +1 -1
  16. package/dist/components/chatbot/feedback/chatbot-session-feedback-modal.js.map +1 -1
  17. package/dist/components/chatbot/messages/chatbot-message-welcome.d.ts.map +1 -1
  18. package/dist/components/chatbot/messages/chatbot-message-welcome.js +6 -1
  19. package/dist/components/chatbot/messages/chatbot-message-welcome.js.map +1 -1
  20. package/package.json +7 -7
  21. package/src/components/chatbot/chatbot.tsx +7 -3
  22. package/src/components/chatbot/dialog/chatbot-restart-link.tsx +4 -1
  23. package/src/components/chatbot/feedback/chatbot-message-feedback-popover.tsx +3 -1
  24. package/src/components/chatbot/feedback/chatbot-message-feedback.tsx +3 -6
  25. package/src/components/chatbot/feedback/chatbot-session-feedback-modal.tsx +1 -1
  26. package/src/components/chatbot/messages/chatbot-message-welcome.tsx +18 -13
  27. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,32 @@
1
+ # v4.0.1 (Fri Sep 19 2025)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - SPA-7400: Fixed agent name [#57](https://github.com/servicetitan/titan-chatbot-client/pull/57) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
6
+
7
+ #### Authors: 1
8
+
9
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
10
+
11
+ ---
12
+
13
+ # v4.0.0 (Fri Sep 19 2025)
14
+
15
+ #### 💥 Breaking Change
16
+
17
+ - Bump cypress from 14.3.3 to 15.2.0 [#55](https://github.com/servicetitan/titan-chatbot-client/pull/55) ([@dependabot[bot]](https://github.com/dependabot[bot]))
18
+
19
+ #### 🚀 Enhancement
20
+
21
+ - SPA-7400: Rebrand Support Chatbot to Atlas [#56](https://github.com/servicetitan/titan-chatbot-client/pull/56) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
22
+
23
+ #### Authors: 2
24
+
25
+ - [@dependabot[bot]](https://github.com/dependabot[bot])
26
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
27
+
28
+ ---
29
+
1
30
  # v3.2.0 (Tue Sep 09 2025)
2
31
 
3
32
  #### 🚀 Enhancement
@@ -1,9 +1,12 @@
1
+ import { ChatParticipantIcon } from '@servicetitan/titan-chat-ui-common';
1
2
  import { ChatbotCustomizations } from '@servicetitan/titan-chatbot-api';
2
3
  import { CSSProperties, FC } from 'react';
3
4
  export interface IChatbotProps {
4
5
  className?: string;
5
6
  style?: CSSProperties;
6
7
  customizations?: ChatbotCustomizations;
8
+ botIcon?: ChatParticipantIcon;
9
+ botName?: string;
7
10
  onReady?: () => void;
8
11
  }
9
12
  export declare const Chatbot: FC<IChatbotProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"AASA,OAAO,EAGH,qBAAqB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,EAAE,EAAsB,MAAM,OAAO,CAAC;AAS9D,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,aAAa,CAkErC,CAAC"}
1
+ {"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIH,mBAAmB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGH,qBAAqB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,EAAE,EAAsB,MAAM,OAAO,CAAC;AAS9D,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,aAAa,CAoErC,CAAC"}
@@ -13,15 +13,15 @@ import { ChatbotMessageTimeout } from './messages/chatbot-message-timeout';
13
13
  import { ChatbotMessageTyping } from './messages/chatbot-message-typing';
14
14
  import { ChatbotMessageWelcome } from './messages/chatbot-message-welcome';
15
15
  import { ChatbotMessageTemplateAgent } from './templates/chatbot-message-template-agent';
16
- export const Chatbot = observer(({ className, customizations, onReady, style }) => {
16
+ export const Chatbot = observer(({ botIcon, botName, className, customizations, onReady, style }) => {
17
17
  var _a;
18
18
  const [chatUiStore, chatUiBackendStore] = useDependencies(CHATBOT_UI_STORE_TOKEN, CHATBOT_UI_BACKEND_STORE_TOKEN);
19
19
  useEffect(() => {
20
20
  const init = async () => {
21
21
  chatUiBackendStore.subscribe();
22
22
  await chatUiStore.run({
23
- agentName: 'Titan',
24
- agentIcon: ChatParticipantIcon.Bot,
23
+ agentName: botName !== null && botName !== void 0 ? botName : 'Titan',
24
+ agentIcon: botIcon !== null && botIcon !== void 0 ? botIcon : ChatParticipantIcon.Bot,
25
25
  });
26
26
  onReady === null || onReady === void 0 ? void 0 : onReady();
27
27
  };
@@ -37,6 +37,8 @@ export const Chatbot = observer(({ className, customizations, onReady, style })
37
37
  component: ChatbotMessageTemplateAgent,
38
38
  };
39
39
  return {
40
+ loadingComponent: customizations === null || customizations === void 0 ? void 0 : customizations.loadingComponent,
41
+ input: customizations === null || customizations === void 0 ? void 0 : customizations.input,
40
42
  error: customizations === null || customizations === void 0 ? void 0 : customizations.error,
41
43
  filters: customizations === null || customizations === void 0 ? void 0 : customizations.filters,
42
44
  feedback: customizations === null || customizations === void 0 ? void 0 : customizations.feedback,
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot.js","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatbot.js","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-restart-link.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/dialog/chatbot-restart-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAmC,MAAM,OAAO,CAAC;AAG5D,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,SAAS,CAqB5C,CAAC"}
1
+ {"version":3,"file":"chatbot-restart-link.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/dialog/chatbot-restart-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,EAAE,EAAmC,MAAM,OAAO,CAAC;AAG5D,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,SAAS,CAsB5C,CAAC"}
@@ -1,13 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Link } from '@servicetitan/design-system';
3
+ import { useDependencies } from '@servicetitan/react-ioc';
4
+ import { CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';
3
5
  import { Fragment, useCallback, useState } from 'react';
4
6
  import { ChatbotRestartDialog } from './chatbot-restart-dialog';
5
7
  export const ChatbotRestartLink = ({ children, onClick, ...rest }) => {
8
+ const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);
6
9
  const [isRestartDialogOpen, setIsRestartDialogOpen] = useState(false);
7
10
  const handleRestartOpen = useCallback(() => {
8
11
  setIsRestartDialogOpen(true);
9
12
  onClick === null || onClick === void 0 ? void 0 : onClick();
10
13
  }, [onClick]);
11
- return (_jsxs(Fragment, { children: [_jsx(Link, { ...rest, onClick: handleRestartOpen, "data-cy": "titan-chatbot-restart-session", children: children }), isRestartDialogOpen && (_jsx(ChatbotRestartDialog, { confirmText: "Restart Titan session?", onClose: () => setIsRestartDialogOpen(false) }))] }));
14
+ return (_jsxs(Fragment, { children: [_jsx(Link, { ...rest, onClick: handleRestartOpen, "data-cy": "titan-chatbot-restart-session", children: children }), isRestartDialogOpen && (_jsx(ChatbotRestartDialog, { confirmText: `Restart ${chatbotUiStore.agent.name} session?`, onClose: () => setIsRestartDialogOpen(false) }))] }));
12
15
  };
13
16
  //# sourceMappingURL=chatbot-restart-link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-restart-link.js","sourceRoot":"","sources":["../../../../src/components/chatbot/dialog/chatbot-restart-link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAM,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAChF,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtE,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;IAChB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACH,MAAC,QAAQ,eACL,KAAC,IAAI,OAAK,IAAI,EAAE,OAAO,EAAE,iBAAiB,aAAU,+BAA+B,YAC9E,QAAQ,GACN,EACN,mBAAmB,IAAI,CACpB,KAAC,oBAAoB,IACjB,WAAW,EAAC,wBAAwB,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAC9C,CACL,IACM,CACd,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"chatbot-restart-link.js","sourceRoot":"","sources":["../../../../src/components/chatbot/dialog/chatbot-restart-link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAM,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAChF,MAAM,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;IACjE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtE,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;IAChB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACH,MAAC,QAAQ,eACL,KAAC,IAAI,OAAK,IAAI,EAAE,OAAO,EAAE,iBAAiB,aAAU,+BAA+B,YAC9E,QAAQ,GACN,EACN,mBAAmB,IAAI,CACpB,KAAC,oBAAoB,IACjB,WAAW,EAAE,WAAW,cAAc,CAAC,KAAK,CAAC,IAAI,WAAW,EAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAC9C,CACL,IACM,CACd,CAAC;AACN,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-feedback-popover.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-popover.tsx"],"names":[],"mappings":"AAaA,OAAO,EAKH,MAAM,EACT,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,EAAE,EAAyB,MAAM,OAAO,CAAC;AAKlD,UAAU,4BAA4B;IAClC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,6BAA6B,EAAE,EAAE,CAAC,4BAA4B,CA0K1E,CAAC"}
1
+ {"version":3,"file":"chatbot-message-feedback-popover.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-popover.tsx"],"names":[],"mappings":"AAaA,OAAO,EAKH,MAAM,EAET,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,EAAE,EAAyB,MAAM,OAAO,CAAC;AAKlD,UAAU,4BAA4B;IAClC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,6BAA6B,EAAE,EAAE,CAAC,4BAA4B,CA2K1E,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { BodyText, Button, ButtonGroup, Eyebrow, Headline, Icon, Link, Popover, Spinner, Stack, } from '@servicetitan/design-system';
3
3
  import { provide, useDependencies } from '@servicetitan/react-ioc';
4
- import { CHATBOT_UI_STORE_TOKEN, MessageFeedbackGuardrailStore, MessageFeedbackStore, Models, } from '@servicetitan/titan-chatbot-api';
4
+ import { CHATBOT_UI_STORE_TOKEN, MessageFeedbackGuardrailStore, MessageFeedbackStore, Models, useCustomizationChatbot, } from '@servicetitan/titan-chatbot-api';
5
5
  import classNames from 'classnames';
6
6
  import { observer } from 'mobx-react';
7
7
  import { useCallback, useState } from 'react';
@@ -12,10 +12,11 @@ export const ChatbotMessageFeedbackPopover = provide({
12
12
  singletons: [MessageFeedbackStore, MessageFeedbackGuardrailStore],
13
13
  })(observer(({ botMessage, className }) => {
14
14
  var _a;
15
+ const customization = useCustomizationChatbot();
15
16
  const [chatbotUiStore, messageFeedbackStore, messageFeedbackGuardrailStore] = useDependencies(CHATBOT_UI_STORE_TOKEN, MessageFeedbackStore, MessageFeedbackGuardrailStore);
16
17
  const [feedbackState, setFeedbackState] = useState(Models.ChatbotFeedbackState.None);
17
18
  const [isPopoverOpen, setIsPopoverOpen] = useState(false);
18
- const title = (_a = chatbotUiStore.customizations.feedback) === null || _a === void 0 ? void 0 : _a.title;
19
+ const title = (_a = customization.feedback) === null || _a === void 0 ? void 0 : _a.title;
19
20
  const isGuardrail = botMessage.isGuardrailed;
20
21
  const feedbackStore = isGuardrail
21
22
  ? messageFeedbackGuardrailStore
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-feedback-popover.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-popover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatbot-message-feedback-popover.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-popover.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-feedback.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback.tsx"],"names":[],"mappings":"AACA,OAAO,EAA0B,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,UAAU,qBAAqB;IAC3B,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,qBAAqB,CAe5D,CAAC"}
1
+ {"version":3,"file":"chatbot-message-feedback.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2B,MAAM,iCAAiC,CAAC;AAElF,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,UAAU,qBAAqB;IAC3B,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,qBAAqB,CAa5D,CAAC"}
@@ -1,13 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useDependencies } from '@servicetitan/react-ioc';
3
- import { CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';
2
+ import { useCustomizationChatbot } from '@servicetitan/titan-chatbot-api';
4
3
  import { observer } from 'mobx-react';
5
4
  import { ChatbotMessageFeedbackPopover } from './chatbot-message-feedback-popover';
6
5
  export const ChatbotMessageFeedback = observer(({ botMessage, className }) => {
7
- var _a, _b;
8
- const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);
6
+ var _a;
7
+ const customization = useCustomizationChatbot();
9
8
  // We show feedback for all messages with normal answer and for guardrailed messages if internal chatbot setting is enabled
10
- const showGuardrailFeedback = Boolean((_b = (_a = chatbotUiStore.customizations) === null || _a === void 0 ? void 0 : _a.feedback) === null || _b === void 0 ? void 0 : _b.showGuardrailFeedback);
9
+ const showGuardrailFeedback = Boolean((_a = customization === null || customization === void 0 ? void 0 : customization.feedback) === null || _a === void 0 ? void 0 : _a.showGuardrailFeedback);
11
10
  const isFeedbackVisible = showGuardrailFeedback || !botMessage.isGuardrailed;
12
11
  if (!isFeedbackVisible) {
13
12
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-feedback.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAU,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAOnF,MAAM,CAAC,MAAM,sBAAsB,GAA8B,QAAQ,CACrE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;;IAC1B,MAAM,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAEjE,2HAA2H;IAC3H,MAAM,qBAAqB,GAAG,OAAO,CACjC,MAAA,MAAA,cAAc,CAAC,cAAc,0CAAE,QAAQ,0CAAE,qBAAqB,CACjE,CAAC;IACF,MAAM,iBAAiB,GAAG,qBAAqB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAE7E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAC,6BAA6B,IAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAI,CAAC;AAC3F,CAAC,CACJ,CAAC"}
1
+ {"version":3,"file":"chatbot-message-feedback.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAU,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAOnF,MAAM,CAAC,MAAM,sBAAsB,GAA8B,QAAQ,CACrE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;;IAC1B,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;IAEhD,2HAA2H;IAC3H,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,0CAAE,qBAAqB,CAAC,CAAC;IACtF,MAAM,iBAAiB,GAAG,qBAAqB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAE7E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAC,6BAA6B,IAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAI,CAAC;AAC3F,CAAC,CACJ,CAAC"}
@@ -18,7 +18,7 @@ export const ChatbotSessionFeedbackModal = provide({
18
18
  const handleThumbs = useCallback((isThumbsUp) => {
19
19
  chatbotFeedbackStore.formState.$.thumbs.onChange(isThumbsUp ? 1 : -1);
20
20
  }, [chatbotFeedbackStore]);
21
- return (_jsx(Modal, { onClose: handleClose, open: true, title: "Give Feedback on Titan", size: Modal.Sizes.S, footer: _jsxs(ButtonGroup, { children: [_jsx(Button, { onClick: handleClose, "data-cy": "titan-chatbot-session-feedback-cancel", children: "Cancel" }), _jsx(Button, { onClick: handleSubmit, primary: true, disabled: !chatbotFeedbackStore.isValid, "data-cy": "titan-chatbot-session-feedback-submit", children: "Submit Feedback" })] }), "data-cy": "titan-chatbot-session-feedback-modal", children: _jsxs(Stack, { direction: "column", spacing: "3", children: [_jsxs(Stack, { direction: "column", spacing: "2", children: [_jsx(BodyText, { children: "Was Titan able to help solve your problem?" }), _jsxs(ButtonGroup, { children: [_jsx(Button, { small: true, "aria-label": "Thumbs Up", title: "Thumbs Up", iconName: "thumb_up", fill: "outline", selected: chatbotFeedbackStore.isThumbsUp, onClick: () => handleThumbs(true), "data-cy": "titan-chatbot-session-feedback-thumbs-up" }), _jsx(Button, { small: true, fill: "outline", "aria-label": "Thumbs Down", title: "Thumbs Down", selected: chatbotFeedbackStore.isThumbsDown, iconName: "thumb_down", onClick: () => handleThumbs(false), "data-cy": "titan-chatbot-session-feedback-thumbs-down" })] })] }), _jsx(Form.TextArea, { label: "Tell us more", maxRows: 3, value: chatbotFeedbackStore.formState.$.comment.value, onChange: (e) => {
21
+ return (_jsx(Modal, { onClose: handleClose, open: true, title: `Give Feedback on ${chatbotUiStore.agent.name}`, size: Modal.Sizes.S, footer: _jsxs(ButtonGroup, { children: [_jsx(Button, { onClick: handleClose, "data-cy": "titan-chatbot-session-feedback-cancel", children: "Cancel" }), _jsx(Button, { onClick: handleSubmit, primary: true, disabled: !chatbotFeedbackStore.isValid, "data-cy": "titan-chatbot-session-feedback-submit", children: "Submit Feedback" })] }), "data-cy": "titan-chatbot-session-feedback-modal", children: _jsxs(Stack, { direction: "column", spacing: "3", children: [_jsxs(Stack, { direction: "column", spacing: "2", children: [_jsx(BodyText, { children: "Was Titan able to help solve your problem?" }), _jsxs(ButtonGroup, { children: [_jsx(Button, { small: true, "aria-label": "Thumbs Up", title: "Thumbs Up", iconName: "thumb_up", fill: "outline", selected: chatbotFeedbackStore.isThumbsUp, onClick: () => handleThumbs(true), "data-cy": "titan-chatbot-session-feedback-thumbs-up" }), _jsx(Button, { small: true, fill: "outline", "aria-label": "Thumbs Down", title: "Thumbs Down", selected: chatbotFeedbackStore.isThumbsDown, iconName: "thumb_down", onClick: () => handleThumbs(false), "data-cy": "titan-chatbot-session-feedback-thumbs-down" })] })] }), _jsx(Form.TextArea, { label: "Tell us more", maxRows: 3, value: chatbotFeedbackStore.formState.$.comment.value, onChange: (e) => {
22
22
  chatbotFeedbackStore.formState.$.comment.onChange(e.currentTarget.value);
23
23
  }, "data-cy": "titan-chatbot-session-feedback-comment" })] }) }));
24
24
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-session-feedback-modal.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-session-feedback-modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatbot-session-feedback-modal.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-session-feedback-modal.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-welcome.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-message-welcome.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,eAAO,MAAM,qBAAqB,EAAE,EAYnC,CAAC"}
1
+ {"version":3,"file":"chatbot-message-welcome.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-message-welcome.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,eAAO,MAAM,qBAAqB,EAAE,EAenC,CAAC"}
@@ -1,4 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { BodyText } from '@servicetitan/design-system';
3
- export const ChatbotMessageWelcome = () => (_jsxs(BodyText, { children: ["Hi there! I\u2019m Titan, an AI chatbot.", _jsx("br", {}), _jsx("br", {}), _jsx("b", { children: "Have a question?" }), " Ask me anything about how ServiceTitan works.", _jsx("br", {}), _jsx("b", { children: "Need help?" }), " If I can\u2019t solve your issue, I\u2019ll guide you through submitting a support case.", _jsx("br", {}), "Let\u2019s get started - how can I assist you today?"] }));
3
+ import { useDependencies } from '@servicetitan/react-ioc';
4
+ import { CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';
5
+ export const ChatbotMessageWelcome = () => {
6
+ const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);
7
+ return (_jsxs(BodyText, { children: ["Hi there! I\u2019m ", chatbotUiStore.agent.name, ", an AI chatbot.", _jsx("br", {}), _jsx("br", {}), _jsx("b", { children: "Have a question?" }), " Ask me anything about how ServiceTitan works.", _jsx("br", {}), _jsx("b", { children: "Need help?" }), " If I can\u2019t solve your issue, I\u2019ll guide you through submitting a support case.", _jsx("br", {}), "Let\u2019s get started - how can I assist you today?"] }));
8
+ };
4
9
  //# sourceMappingURL=chatbot-message-welcome.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-welcome.js","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-message-welcome.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGvD,MAAM,CAAC,MAAM,qBAAqB,GAAO,GAAG,EAAE,CAAC,CAC3C,MAAC,QAAQ,2DAEL,cAAM,EACN,cAAM,EACN,2CAAuB,oDACvB,cAAM,EACN,qCAAiB,+FAEjB,cAAM,4DAEC,CACd,CAAC"}
1
+ {"version":3,"file":"chatbot-message-welcome.js","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-message-welcome.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,MAAM,CAAC,MAAM,qBAAqB,GAAO,GAAG,EAAE;IAC1C,MAAM,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;IACjE,OAAO,CACH,MAAC,QAAQ,sCACU,cAAc,CAAC,KAAK,CAAC,IAAI,sBACxC,cAAM,EACN,cAAM,EACN,2CAAuB,oDACvB,cAAM,EACN,qCAAiB,+FAEjB,cAAM,4DAEC,CACd,CAAC;AACN,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/titan-chatbot-ui",
3
- "version": "3.2.1",
3
+ "version": "4.0.1",
4
4
  "description": "Chatbot experience UI package",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,9 +17,9 @@
17
17
  "push:local": "yalc push"
18
18
  },
19
19
  "dependencies": {
20
- "@servicetitan/titan-chat-ui": "^3.2.1",
21
- "@servicetitan/titan-chat-ui-common": "^3.2.1",
22
- "@servicetitan/titan-chatbot-api": "^3.2.1",
20
+ "@servicetitan/titan-chat-ui": "^4.0.1",
21
+ "@servicetitan/titan-chat-ui-common": "^4.0.1",
22
+ "@servicetitan/titan-chatbot-api": "^4.0.1",
23
23
  "nanoid": "^5.1.5"
24
24
  },
25
25
  "peerDependencies": {
@@ -40,8 +40,8 @@
40
40
  "react-dom": ">=18"
41
41
  },
42
42
  "devDependencies": {
43
- "@servicetitan/cypress-shared": "^3.2.1",
44
- "cypress": "^14.3.2"
43
+ "@servicetitan/cypress-shared": "^4.0.1",
44
+ "cypress": "^15.2.0"
45
45
  },
46
46
  "keywords": [
47
47
  "ServiceTitan"
@@ -53,5 +53,5 @@
53
53
  "cli": {
54
54
  "webpack": false
55
55
  },
56
- "gitHead": "f6a97e29c801f2dd05627766056f9b6e9b2c2318"
56
+ "gitHead": "6c7d023e9833d328cd8537a95fc2740a9f09c046"
57
57
  }
@@ -26,11 +26,13 @@ export interface IChatbotProps {
26
26
  className?: string;
27
27
  style?: CSSProperties;
28
28
  customizations?: ChatbotCustomizations;
29
+ botIcon?: ChatParticipantIcon;
30
+ botName?: string;
29
31
  onReady?: () => void;
30
32
  }
31
33
 
32
34
  export const Chatbot: FC<IChatbotProps> = observer(
33
- ({ className, customizations, onReady, style }) => {
35
+ ({ botIcon, botName, className, customizations, onReady, style }) => {
34
36
  const [chatUiStore, chatUiBackendStore] = useDependencies(
35
37
  CHATBOT_UI_STORE_TOKEN,
36
38
  CHATBOT_UI_BACKEND_STORE_TOKEN
@@ -39,8 +41,8 @@ export const Chatbot: FC<IChatbotProps> = observer(
39
41
  const init = async () => {
40
42
  chatUiBackendStore.subscribe();
41
43
  await chatUiStore.run({
42
- agentName: 'Titan',
43
- agentIcon: ChatParticipantIcon.Bot,
44
+ agentName: botName ?? 'Titan',
45
+ agentIcon: botIcon ?? ChatParticipantIcon.Bot,
44
46
  });
45
47
  onReady?.();
46
48
  };
@@ -56,6 +58,8 @@ export const Chatbot: FC<IChatbotProps> = observer(
56
58
  component: ChatbotMessageTemplateAgent,
57
59
  };
58
60
  return {
61
+ loadingComponent: customizations?.loadingComponent,
62
+ input: customizations?.input,
59
63
  error: customizations?.error,
60
64
  filters: customizations?.filters,
61
65
  feedback: customizations?.feedback,
@@ -1,8 +1,11 @@
1
1
  import { Link, LinkProps } from '@servicetitan/design-system';
2
+ import { useDependencies } from '@servicetitan/react-ioc';
3
+ import { CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';
2
4
  import { FC, Fragment, useCallback, useState } from 'react';
3
5
  import { ChatbotRestartDialog } from './chatbot-restart-dialog';
4
6
 
5
7
  export const ChatbotRestartLink: FC<LinkProps> = ({ children, onClick, ...rest }) => {
8
+ const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);
6
9
  const [isRestartDialogOpen, setIsRestartDialogOpen] = useState(false);
7
10
 
8
11
  const handleRestartOpen = useCallback(() => {
@@ -17,7 +20,7 @@ export const ChatbotRestartLink: FC<LinkProps> = ({ children, onClick, ...rest }
17
20
  </Link>
18
21
  {isRestartDialogOpen && (
19
22
  <ChatbotRestartDialog
20
- confirmText="Restart Titan session?"
23
+ confirmText={`Restart ${chatbotUiStore.agent.name} session?`}
21
24
  onClose={() => setIsRestartDialogOpen(false)}
22
25
  />
23
26
  )}
@@ -17,6 +17,7 @@ import {
17
17
  MessageFeedbackGuardrailStore,
18
18
  MessageFeedbackStore,
19
19
  Models,
20
+ useCustomizationChatbot,
20
21
  } from '@servicetitan/titan-chatbot-api';
21
22
  import classNames from 'classnames';
22
23
  import { observer } from 'mobx-react';
@@ -34,6 +35,7 @@ export const ChatbotMessageFeedbackPopover: FC<IChatbotMessageFeedbackProps> = p
34
35
  singletons: [MessageFeedbackStore, MessageFeedbackGuardrailStore],
35
36
  })(
36
37
  observer(({ botMessage, className }) => {
38
+ const customization = useCustomizationChatbot();
37
39
  const [chatbotUiStore, messageFeedbackStore, messageFeedbackGuardrailStore] =
38
40
  useDependencies(
39
41
  CHATBOT_UI_STORE_TOKEN,
@@ -44,7 +46,7 @@ export const ChatbotMessageFeedbackPopover: FC<IChatbotMessageFeedbackProps> = p
44
46
  Models.ChatbotFeedbackState.None
45
47
  );
46
48
  const [isPopoverOpen, setIsPopoverOpen] = useState(false);
47
- const title = chatbotUiStore.customizations.feedback?.title;
49
+ const title = customization.feedback?.title;
48
50
  const isGuardrail = botMessage.isGuardrailed;
49
51
  const feedbackStore: IMessageFeedbackBaseStore = isGuardrail
50
52
  ? messageFeedbackGuardrailStore
@@ -1,5 +1,4 @@
1
- import { useDependencies } from '@servicetitan/react-ioc';
2
- import { CHATBOT_UI_STORE_TOKEN, Models } from '@servicetitan/titan-chatbot-api';
1
+ import { Models, useCustomizationChatbot } from '@servicetitan/titan-chatbot-api';
3
2
  import { observer } from 'mobx-react';
4
3
  import { FC } from 'react';
5
4
  import { ChatbotMessageFeedbackPopover } from './chatbot-message-feedback-popover';
@@ -11,12 +10,10 @@ interface IChatbotFeedbackProps {
11
10
 
12
11
  export const ChatbotMessageFeedback: FC<IChatbotFeedbackProps> = observer(
13
12
  ({ botMessage, className }) => {
14
- const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);
13
+ const customization = useCustomizationChatbot();
15
14
 
16
15
  // We show feedback for all messages with normal answer and for guardrailed messages if internal chatbot setting is enabled
17
- const showGuardrailFeedback = Boolean(
18
- chatbotUiStore.customizations?.feedback?.showGuardrailFeedback
19
- );
16
+ const showGuardrailFeedback = Boolean(customization?.feedback?.showGuardrailFeedback);
20
17
  const isFeedbackVisible = showGuardrailFeedback || !botMessage.isGuardrailed;
21
18
 
22
19
  if (!isFeedbackVisible) {
@@ -33,7 +33,7 @@ export const ChatbotSessionFeedbackModal: FC<{ onClose: () => void }> = provide(
33
33
  <Modal
34
34
  onClose={handleClose}
35
35
  open
36
- title="Give Feedback on Titan"
36
+ title={`Give Feedback on ${chatbotUiStore.agent.name}`}
37
37
  size={Modal.Sizes.S}
38
38
  footer={
39
39
  <ButtonGroup>
@@ -1,16 +1,21 @@
1
1
  import { BodyText } from '@servicetitan/design-system';
2
+ import { useDependencies } from '@servicetitan/react-ioc';
3
+ import { CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';
2
4
  import { FC } from 'react';
3
5
 
4
- export const ChatbotMessageWelcome: FC = () => (
5
- <BodyText>
6
- Hi there! I’m Titan, an AI chatbot.
7
- <br />
8
- <br />
9
- <b>Have a question?</b> Ask me anything about how ServiceTitan works.
10
- <br />
11
- <b>Need help?</b> If I can’t solve your issue, I’ll guide you through submitting a support
12
- case.
13
- <br />
14
- Let’s get started - how can I assist you today?
15
- </BodyText>
16
- );
6
+ export const ChatbotMessageWelcome: FC = () => {
7
+ const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);
8
+ return (
9
+ <BodyText>
10
+ Hi there! I’m {chatbotUiStore.agent.name}, an AI chatbot.
11
+ <br />
12
+ <br />
13
+ <b>Have a question?</b> Ask me anything about how ServiceTitan works.
14
+ <br />
15
+ <b>Need help?</b> If I can’t solve your issue, I’ll guide you through submitting a
16
+ support case.
17
+ <br />
18
+ Let’s get started - how can I assist you today?
19
+ </BodyText>
20
+ );
21
+ };