@docyrus/ui-pro-ai-assistant 0.3.8 → 0.4.0

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
@@ -220,6 +220,7 @@ The main chat interface component.
220
220
  |------|------|---------|-------------|
221
221
  | `enableSidebar` | `boolean` | `true` | Show the session list sidebar |
222
222
  | `enableNavDropdown` | `boolean` | `false` | Show navigation dropdown |
223
+ | `enableWelcomePage` | `boolean` | `true` | Show a welcome landing page on first open with agent greeting, inline prompt input, and recent sessions. Sidebar and header are hidden in this view. Dismissed on interaction (new chat, session click, or message send) |
223
224
  | `defaultFullscreen` | `boolean` | `false` | Start in fullscreen |
224
225
  | `hideExpand` | `boolean` | `false` | Hide the fullscreen toggle |
225
226
  | `hideCloseButton` | `boolean` | `false` | Hide the close (X) button in the header |
@@ -1,12 +1,9 @@
1
- declare const ANIMATIONS: {
2
- readonly opening: string;
3
- readonly thinking: string;
4
- readonly working: string;
5
- };
6
- type AnimationType = keyof typeof ANIMATIONS;
1
+ type AnimationType = 'opening' | 'thinking' | 'working';
2
+ export declare function hasAgentAnimations(agentId?: string): boolean;
7
3
  interface AssistantAnimationsProps {
8
4
  animationType?: AnimationType;
5
+ agentId?: string;
9
6
  className?: string;
10
7
  }
11
- export declare function AssistantAnimations({ animationType, className }: AssistantAnimationsProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function AssistantAnimations({ animationType, agentId, className }: AssistantAnimationsProps): import("react/jsx-runtime").JSX.Element;
12
9
  export {};
@@ -44,6 +44,7 @@ interface AIInputAreaProps {
44
44
  compactToolbar?: boolean;
45
45
  threadId?: string;
46
46
  hasMessages?: boolean;
47
+ hideFooter?: boolean;
47
48
  tenantAiProjectId?: string;
48
49
  initialModelId?: string;
49
50
  initialFeatures?: InitialFeatureFlags;
@@ -1,5 +1,5 @@
1
1
  import { type RefObject } from 'react';
2
2
  import { type DocyAssistantProps } from './types';
3
- export declare const DocyAssistant: ({ ref, isOpen, onClose, supportWebSearch, supportThinking, supportFiles, supportDocumentSearch, supportDeepResearch, supportMultiModels, supportWorkCanvas, apiEndpoint, title: titleProp, description: descriptionProp, placeholder: placeholderProp, logo, footerText: footerTextProp, variant, renderMode, enableSidebar, enableNavDropdown, enableVoice, enableMicrophone, tenantAiAgentId, onMessageSend, onVoiceStart, onVoiceEnd, className, defaultFullscreen, hideExpand, hideCloseButton, hideAgentSelector, hideBorder, showHeader, agentSelectorUrl, baseAgentSelectorUrl, onAgentChange, initialPrompt, initialModelId, initialFeatures, initialFiles, ...props }: DocyAssistantProps & {
3
+ export declare const DocyAssistant: ({ ref, isOpen, onClose, supportWebSearch, supportThinking, supportFiles, supportDocumentSearch, supportDeepResearch, supportMultiModels, supportWorkCanvas, apiEndpoint, title: titleProp, description: descriptionProp, placeholder: placeholderProp, logo, footerText: footerTextProp, variant, renderMode, enableSidebar, enableNavDropdown, enableVoice, enableMicrophone, enableWelcomePage, tenantAiAgentId, onMessageSend, onVoiceStart, onVoiceEnd, className, defaultFullscreen, hideExpand, hideCloseButton, hideAgentSelector, hideBorder, showHeader, agentSelectorUrl, baseAgentSelectorUrl, onAgentChange, initialPrompt, initialModelId, initialFeatures, initialFiles, ...props }: DocyAssistantProps & {
4
4
  ref?: RefObject<HTMLDivElement | null>;
5
5
  }) => import("react/jsx-runtime").JSX.Element;
package/dist/index.js CHANGED
@@ -17,10 +17,10 @@ import { createPortal } from 'react-dom';
17
17
  import { Avatar as Avatar$1, AvatarImage as AvatarImage$1, AvatarFallback as AvatarFallback$1 } from '@docyrus/ui-pro-shared/components/avatar';
18
18
  import { ScrollArea } from '@docyrus/ui-pro-shared/components/scroll-area';
19
19
  import { Message, AIMessageAvatar, MessageContent, MessageActions, AIConversation, AIConversationContent, MessageResponse, AIConversationScrollButton, MessageAction, Tool, ToolHeader, ToolContent, ToolInput, ToolOutput, CodeBlock, CodeBlockCopyButton, resolveToolIcon, PromptInput, PromptInputTextarea, PromptInputFooter, PromptInputTools, PromptInputButton, PromptInputSubmit, usePromptInputAttachments } from '@docyrus/ui-pro-shared/ai';
20
- import { Badge } from '@docyrus/ui-pro-shared/components/badge';
21
- import { Reasoning, ReasoningTrigger, ReasoningContent } from '@docyrus/ui-pro-shared/ai-elements/reasoning';
22
20
  import { Spinner } from '@docyrus/ui-pro-shared/components/spinner';
21
+ import { Badge } from '@docyrus/ui-pro-shared/components/badge';
23
22
  import { DotLottieReact } from '@lottiefiles/dotlottie-react';
23
+ import { Reasoning, ReasoningTrigger, ReasoningContent } from '@docyrus/ui-pro-shared/ai-elements/reasoning';
24
24
  import { Sources, SourcesTrigger, SourcesContent, Source } from '@docyrus/ui-pro-shared/ai-elements/sources';
25
25
  import { Card } from '@docyrus/ui-pro-shared/components/card';
26
26
  import { ConfirmationAction } from '@docyrus/ui-pro-shared/ai-elements/confirmation';
@@ -4033,6 +4033,7 @@ var AIInputArea = ({
4033
4033
  compactToolbar = false,
4034
4034
  threadId,
4035
4035
  hasMessages = false,
4036
+ hideFooter = false,
4036
4037
  tenantAiProjectId,
4037
4038
  initialModelId,
4038
4039
  initialFeatures
@@ -4268,14 +4269,14 @@ var AIInputArea = ({
4268
4269
  onSubmit: handlePromptSubmit,
4269
4270
  accept: supportFiles ? "image/*,.pdf,.docx,.csv,.xlsx,.md,.txt,.json" : void 0,
4270
4271
  multiple: true,
4271
- className: "shadow-md bg-background rounded-2xl focus:border-none",
4272
+ className: "bg-input/20 shadow-none",
4272
4273
  children: [
4273
4274
  supportFiles && /* @__PURE__ */ jsx(AttachmentPreview, {}),
4274
4275
  /* @__PURE__ */ jsx(
4275
4276
  PromptInputTextarea,
4276
4277
  {
4277
4278
  placeholder,
4278
- className: "text-sm min-h-12",
4279
+ className: "text-sm min-h-16",
4279
4280
  value,
4280
4281
  onChange
4281
4282
  }
@@ -4290,7 +4291,7 @@ var AIInputArea = ({
4290
4291
  effectiveSupportWorkCanvas && workCanvasActive
4291
4292
  ].filter(Boolean).length;
4292
4293
  return /* @__PURE__ */ jsxs(PromptInputFooter, { className: "gap-2", children: [
4293
- /* @__PURE__ */ jsxs(PromptInputTools, { children: [
4294
+ /* @__PURE__ */ jsxs(PromptInputTools, { className: "-mb-2", children: [
4294
4295
  supportFiles && /* @__PURE__ */ jsx(FileUploadButton, { tooltip: t("tools.file_upload") }),
4295
4296
  hasSupport && /* @__PURE__ */ jsxs(DropdownMenu$1, { children: [
4296
4297
  /* @__PURE__ */ jsxs(Tooltip$1, { children: [
@@ -4469,7 +4470,7 @@ var AIInputArea = ({
4469
4470
  {
4470
4471
  variant: "ghost",
4471
4472
  onClick: onMicrophoneClick,
4472
- className: cn("transition-all duration-200", isRecording && "bg-destructive/10 text-destructive hover:bg-destructive/20 ring-1 ring-destructive/30"),
4473
+ className: cn("-mb-2 transition-all duration-200", isRecording && "bg-destructive/10 text-destructive hover:bg-destructive/20 ring-1 ring-destructive/30"),
4473
4474
  children: [
4474
4475
  /* @__PURE__ */ jsx(Mic, { className: "w-4 h-4" }),
4475
4476
  isRecording && /* @__PURE__ */ jsx("div", { className: "absolute -top-1 -right-1 w-2 h-2 bg-destructive rounded-full animate-pulse" })
@@ -4696,7 +4697,7 @@ var AIInputArea = ({
4696
4697
  ]
4697
4698
  }
4698
4699
  ),
4699
- /* @__PURE__ */ jsxs("div", { className: "relative mt-2 flex items-center px-1", children: [
4700
+ !hideFooter && /* @__PURE__ */ jsxs("div", { className: "relative mt-2 flex items-center px-1", children: [
4700
4701
  footerText && /* @__PURE__ */ jsx("span", { className: "flex-1 text-center text-xs text-muted-foreground", children: footerText }),
4701
4702
  /* @__PURE__ */ jsxs(Tooltip$1, { children: [
4702
4703
  /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
@@ -4733,27 +4734,65 @@ var AIInputArea = ({
4733
4734
  ] });
4734
4735
  };
4735
4736
 
4736
- // src/assets/opening.lottie
4737
+ // src/assets/docy/opening.lottie
4737
4738
  var opening_default = "data:application/zip;base64,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";
4738
4739
 
4739
- // src/assets/thinking.lottie
4740
+ // src/assets/docy/thinking.lottie
4740
4741
  var thinking_default = "data:application/zip;base64,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";
4741
4742
 
4742
- // src/assets/working.lottie
4743
+ // src/assets/docy/working.lottie
4743
4744
  var working_default = "data:application/zip;base64,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";
4744
- var ANIMATIONS = {
4745
- opening: opening_default,
4746
- thinking: thinking_default,
4747
- working: working_default
4745
+
4746
+ // src/assets/cody/opening.lottie
4747
+ var opening_default2 = "data:application/zip;base64,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";
4748
+
4749
+ // src/assets/cody/thinking.lottie
4750
+ var thinking_default2 = "data:application/zip;base64,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";
4751
+
4752
+ // src/assets/cody/working.lottie
4753
+ var working_default2 = "data:application/zip;base64,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";
4754
+
4755
+ // src/assets/empty/opening.lottie
4756
+ var opening_default3 = "data:application/zip;base64,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";
4757
+
4758
+ // src/assets/empty/thinking.lottie
4759
+ var thinking_default3 = "data:application/zip;base64,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";
4760
+
4761
+ // src/assets/empty/working.lottie
4762
+ var working_default3 = "data:application/zip;base64,UEsDBBQAAAAIAMF7T1vBxGqRgAAAALUAAAANAAAAbWFuaWZlc3QuanNvbo2NOw7CMBAF77I1DrHzwUqVC3ACRGHZGzByvMhekFCUu7MVNd170oxmgzeWGinDBBoOcMOMxTEV+XMgTsQc8fhb6lFn3ZimFda9+P4fmOPqWCIVpssGMYgTfO/HzhjV6UGrvh21shYXhYszg7XGn1oU9Znc50wBxchUVpdgv+5fUEsDBBQAAAAIAMF7T1tR8olhyQMAALEPAAA0AAAAYW5pbWF0aW9ucy9kYzRjNjMyMi0zMTUxLTQwNjEtODhlZi1lZmEyNTg4MmM3MGUuanNvbu1XyY7bOBD9FYNniiMuokSd5jIzlwkSILkZPghtdaxYXiCpsxn+9zwucku2bHQnnQABchGpxyJZVXyvKB3IdkNy8v+u66pyJggly+WS5DElK5KLRFPyKbSbsitIfiDvYf537ezvq7ps/+p2u3pdddGHdhYznbGYHCmpiy9l05J8fiDdF5Ir6vdpdg/bZbmcvX7o6mpbtjOJHduG5BFH22ErYyjZ7TFDsxhYhS6cqbeYzJXhKexXRfuqaNckvy/qtqSk2DmbNbY7EOcjHhbA9oli2lD35DRewLPeKhgIlbEklrRveeyssO3QSgmEJqgSinHh14HTzgJOWosDgRcH8hlTGNcpJYja9WBanUYyKcMIet6ZuUwMM3xBCcLnCBr4wQ1EUsceVh537o8DjAG5jU8IAjhau1WxLx8PgLxvkDl3Bv/hEPYzjtcKS/fj7aoff1N0KzcMHtjgxgk7kDuSd80D8o6w5nOeMpFlSAmdx+EZOcycEP8+thmZIEjEMH+qOb21Kdb6aNcSknGZ0QhHrxSyO48uEd+jfiQdII9AmHSac/5+PuFsycURZxEyfF/3Gf63qmuXYaRyyDKwQouUgjbK+GcgGo5h6pDDwp092jPe27Rckh3TrhB8qJMhux9Z9jTiLY44gGrrqbMvmnJr6du72peBZVE15a0iAMMbRUA/swhIyTTXNDRTiZFSsVhwmPh2OklRog3TVMQJS5Wl3w8k6tcpFEeeMSUyqxvXOSnGvjmW+95IiVOjTokXa/WKQ3qltul1i/s3O32EB/i30cWIOi8jDHFDGGsMXNeFFLiHb+gieaYutEYuMxqaydtRCGYkKB/aK7qAaLREZU0Ebsnkz/04Ut/wluqf4xtvYtQpSicsM7ixfGu1dBU5AeP330ZnIyq+jM7ApKs6u6uau7q8FJhV1Q2BqWcKLMJFkSVUcqZwpU1mBJrS1OCzkruwXVpg4xkETQzjE/i4ThGLVcgQl8ClAf71LEMvKcMgtZECf44A/6nrat+WLybBSKSoXqid4WoKr/ZrbjTQ4704p0ftR+H0er1sAeG4GU+tcegF20e8N7FyH4gULAwxvu2a3donoUY8CLP+4JpN7Xh8mVT3rzbARALoCRL/HiHjazs11DdTN4Jm9rIC8TPZF5HvlPPJuU2fmXdNtZlZCrQuO+UTGD5itw4oD8y2Fcmx2P4DxjFgz+6Aoig4Yo+9cyFcIHAPxqEAKdsDIwiqAP6KKblHFgQuM2zvigxnQplYCpFksVZJX3CYgYep4kYmKpMZrIu2LTvr0uL4DVBLAQIUABQAAAAIAMF7T1vBxGqRgAAAALUAAAANAAAAAAAAAAAAAAAAAAAAAABtYW5pZmVzdC5qc29uUEsBAhQAFAAAAAgAwXtPW1HyiWHJAwAAsQ8AADQAAAAAAAAAAAAAAAAAqwAAAGFuaW1hdGlvbnMvZGM0YzYzMjItMzE1MS00MDYxLTg4ZWYtZWZhMjU4ODJjNzBlLmpzb25QSwUGAAAAAAIAAgCdAAAAxgQAAAAA";
4763
+ var DOCY_AGENT_ID = "9979c996-0d0c-11ef-86a3-ef75fac389e0";
4764
+ var CODY_AGENT_ID = "ddd056f8-3a9f-11ef-b508-e7ce2a0850cf";
4765
+ var AGENT_ANIMATIONS = {
4766
+ [DOCY_AGENT_ID]: {
4767
+ opening: opening_default,
4768
+ thinking: thinking_default,
4769
+ working: working_default
4770
+ },
4771
+ [CODY_AGENT_ID]: {
4772
+ opening: opening_default2,
4773
+ thinking: thinking_default2,
4774
+ working: working_default2
4775
+ }
4776
+ };
4777
+ var FALLBACK_ANIMATIONS = {
4778
+ opening: opening_default3,
4779
+ thinking: thinking_default3,
4780
+ working: working_default3
4748
4781
  };
4782
+ function hasAgentAnimations(agentId) {
4783
+ return !!agentId && agentId in AGENT_ANIMATIONS;
4784
+ }
4749
4785
  function AssistantAnimations({
4750
4786
  animationType = "thinking",
4787
+ agentId,
4751
4788
  className
4752
4789
  }) {
4790
+ const animations = agentId && AGENT_ANIMATIONS[agentId] || FALLBACK_ANIMATIONS;
4791
+ const src = animations[animationType];
4753
4792
  return /* @__PURE__ */ jsx(
4754
4793
  DotLottieReact,
4755
4794
  {
4756
- src: ANIMATIONS[animationType],
4795
+ src,
4757
4796
  autoplay: true,
4758
4797
  loop: animationType !== "opening",
4759
4798
  className
@@ -7234,6 +7273,7 @@ var MessageItem = memo(({
7234
7273
  logo,
7235
7274
  userPhoto,
7236
7275
  userDisplayName = "User",
7276
+ agentId,
7237
7277
  agents = [],
7238
7278
  onToolAction,
7239
7279
  openCanvasView,
@@ -7331,19 +7371,22 @@ var MessageItem = memo(({
7331
7371
  });
7332
7372
  };
7333
7373
  return /* @__PURE__ */ jsx(Message, { from: message.role, children: /* @__PURE__ */ jsxs("div", { className: cn(
7334
- "flex items-start gap-3",
7374
+ "flex items-center gap-3",
7335
7375
  message.role === "user" && "flex-row-reverse"
7336
7376
  ), children: [
7337
- isStreaming && isAssistantMessage && !logo ? /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "working", className: "w-12 h-12 shrink-0" }) : /* @__PURE__ */ jsx(
7338
- AIMessageAvatar,
7339
- {
7340
- src: message.role === "user" ? userPhoto || "" : logo || "",
7341
- name: message.role === "user" ? userDisplayName : "Assistant",
7342
- isStreaming,
7343
- className: "w-12 h-12"
7344
- }
7345
- ),
7346
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col min-w-0 max-w-full", children: [
7377
+ isStreaming && isAssistantMessage && hasAgentAnimations(agentId) ? /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "working", agentId, className: "w-12 h-12 shrink-0" }) : /* @__PURE__ */ jsxs("div", { className: "relative shrink-0", children: [
7378
+ /* @__PURE__ */ jsx(
7379
+ AIMessageAvatar,
7380
+ {
7381
+ src: message.role === "user" ? userPhoto || "" : logo || "",
7382
+ name: message.role === "user" ? userDisplayName : "Assistant",
7383
+ isStreaming: false,
7384
+ className: cn("w-12 h-12 transition-transform duration-300", isStreaming && isAssistantMessage && "scale-50")
7385
+ }
7386
+ ),
7387
+ isStreaming && isAssistantMessage && /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "working", agentId, className: "absolute -top-1 -left-1 w-14 h-14" })
7388
+ ] }),
7389
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 max-w-full items-center", children: [
7347
7390
  /* @__PURE__ */ jsx(MessageContent, { className: "group-[.is-user]:p-2 group-[.is-user]:mt-0.5", children: renderMessageContent() }),
7348
7391
  isAssistantMessage && !isStreaming && textContent && /* @__PURE__ */ jsx(MessageActions, { className: "mt-1 opacity-0 group-hover:opacity-100 transition-opacity", children: /* @__PURE__ */ jsx(CopyButton, { text: textContent }) })
7349
7392
  ] })
@@ -7359,6 +7402,7 @@ var MessageList = memo(({
7359
7402
  title,
7360
7403
  welcomeMessage,
7361
7404
  isLoadingAgent = false,
7405
+ agentId,
7362
7406
  className,
7363
7407
  agents = [],
7364
7408
  onToolAction,
@@ -7369,9 +7413,9 @@ var MessageList = memo(({
7369
7413
  const lastMsgIdx = messages.length - 1;
7370
7414
  return /* @__PURE__ */ jsx(AIConversation, { className: cn("flex-1", className), children: /* @__PURE__ */ jsxs(AIConversationContent, { className: "p-4 h-full", children: [
7371
7415
  messages.length === 0 ? /* @__PURE__ */ jsx("div", { className: "h-full flex items-center justify-center", children: isLoadingAgent ? /* @__PURE__ */ jsx("div", { className: "p-2 bg-muted rounded-md", children: /* @__PURE__ */ jsx(Spinner, { className: "size-10 text-muted-foreground" }) }) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-3 text-center px-4", children: [
7372
- logo ? /* @__PURE__ */ jsx(AIMessageAvatar, { src: logo, name: title || "Assistant", className: "w-20 h-20" }) : /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "opening", className: "w-32 h-32" }),
7416
+ hasAgentAnimations(agentId) ? /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "opening", agentId, className: "w-32 h-32" }) : logo ? /* @__PURE__ */ jsx(AIMessageAvatar, { src: logo, name: title || "Assistant", className: "w-20 h-20" }) : /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "opening", agentId, className: "w-32 h-32" }),
7373
7417
  title && /* @__PURE__ */ jsx("p", { className: "font-semibold text-base text-lg", children: title }),
7374
- /* @__PURE__ */ jsx("div", { className: "max-w-sm text-md text-muted-foreground", children: welcomeMessage ? /* @__PURE__ */ jsx(MessageResponse, { children: welcomeMessage }) : /* @__PURE__ */ jsx("p", { children: description || "Your AI-powered assistant for all your document needs." }) })
7418
+ /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: welcomeMessage ? /* @__PURE__ */ jsx(MessageResponse, { children: welcomeMessage }) : /* @__PURE__ */ jsx("p", { children: description || "Your AI-powered assistant for all your document needs." }) })
7375
7419
  ] }) }) : /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
7376
7420
  messages.map((message, msgIdx) => {
7377
7421
  const isLastMessage = msgIdx === lastMsgIdx;
@@ -7384,6 +7428,7 @@ var MessageList = memo(({
7384
7428
  logo,
7385
7429
  userPhoto,
7386
7430
  userDisplayName,
7431
+ agentId,
7387
7432
  agents,
7388
7433
  onToolAction,
7389
7434
  openCanvasView,
@@ -7394,7 +7439,10 @@ var MessageList = memo(({
7394
7439
  );
7395
7440
  }),
7396
7441
  isLoading && messages.length > 0 && messages[lastMsgIdx]?.role !== "assistant" && /* @__PURE__ */ jsx(Message, { from: "assistant", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
7397
- logo ? /* @__PURE__ */ jsx(AIMessageAvatar, { src: logo, name: "Assistant", isStreaming: true, className: "w-12 h-12 shrink-0" }) : /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "thinking", className: "w-12 h-12 shrink-0" }),
7442
+ hasAgentAnimations(agentId) ? /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "thinking", agentId, className: "w-12 h-12 shrink-0" }) : /* @__PURE__ */ jsxs("div", { className: "relative shrink-0", children: [
7443
+ /* @__PURE__ */ jsx(AIMessageAvatar, { src: logo || "", name: "Assistant", isStreaming: false, className: "w-12 h-12 scale-50 transition-transform duration-300" }),
7444
+ /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "thinking", agentId, className: "absolute -top-1 -left-1 w-14 h-14" })
7445
+ ] }),
7398
7446
  /* @__PURE__ */ jsx(MessageContent, { children: /* @__PURE__ */ jsx(Reasoning, { isStreaming: true, defaultOpen: true, className: "mb-0", children: /* @__PURE__ */ jsx(ReasoningTrigger, {}) }) })
7399
7447
  ] }) })
7400
7448
  ] }),
@@ -7437,11 +7485,90 @@ function ChatPanel({
7437
7485
  renderThreadHeader,
7438
7486
  messagesClassName,
7439
7487
  compactToolbar,
7488
+ showWelcome,
7489
+ recentSessions,
7490
+ onSessionClick,
7440
7491
  threadId,
7441
7492
  initialModelId,
7442
7493
  initialFeatures
7443
7494
  }) {
7444
- return /* @__PURE__ */ jsxs(Fragment, { children: [
7495
+ const renderInputArea = (hideFooter = false) => /* @__PURE__ */ jsx(
7496
+ AIInputArea,
7497
+ {
7498
+ onSubmit: onSendMessage,
7499
+ onStop,
7500
+ value: input,
7501
+ onChange: onInputChange,
7502
+ placeholder,
7503
+ isLoading,
7504
+ supportFiles,
7505
+ supportWebSearch,
7506
+ supportDocumentSearch,
7507
+ supportDeepResearch,
7508
+ supportThinking,
7509
+ supportWorkCanvas,
7510
+ supportMultiModels,
7511
+ deploymentId,
7512
+ tenantAiAgentId,
7513
+ enableMicrophone,
7514
+ enableVoice,
7515
+ isRecording,
7516
+ recognition,
7517
+ onMicrophoneClick,
7518
+ footerText,
7519
+ showToolbar: !compactToolbar,
7520
+ compactToolbar,
7521
+ threadId,
7522
+ hasMessages: messages.length > 0,
7523
+ hideFooter,
7524
+ initialModelId,
7525
+ initialFeatures
7526
+ }
7527
+ );
7528
+ const isWelcome = showWelcome && messages.length === 0;
7529
+ const [fadingOut, setFadingOut] = useState(false);
7530
+ const prevWelcomeRef = useRef(isWelcome);
7531
+ if (prevWelcomeRef.current && !isWelcome && !fadingOut) {
7532
+ setFadingOut(true);
7533
+ setTimeout(() => setFadingOut(false), 250);
7534
+ }
7535
+ prevWelcomeRef.current = isWelcome;
7536
+ if (isWelcome || fadingOut) {
7537
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
7538
+ renderThreadHeader?.(),
7539
+ /* @__PURE__ */ jsx(
7540
+ "div",
7541
+ {
7542
+ className: "flex flex-1 flex-col items-center overflow-y-auto p-6 transition-all duration-250 ease-out",
7543
+ style: { opacity: fadingOut ? 0 : 1, transform: fadingOut ? "translateY(-8px)" : "translateY(0)" },
7544
+ children: /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-[720px] flex-col", children: [
7545
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3 py-12", children: isLoadingAgent ? /* @__PURE__ */ jsx("div", { className: "flex flex-1 items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "p-2 bg-muted rounded-md", children: /* @__PURE__ */ jsx(Spinner, { className: "size-10 text-muted-foreground" }) }) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
7546
+ hasAgentAnimations(tenantAiAgentId) ? /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "opening", agentId: tenantAiAgentId, className: "w-10 h-10" }) : logo ? /* @__PURE__ */ jsx(AIMessageAvatar, { src: logo, name: title || "Assistant", className: "w-10 h-10" }) : /* @__PURE__ */ jsx(AssistantAnimations, { animationType: "opening", className: "w-10 h-10" }),
7547
+ /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground [&_h4]:text-foreground [&_*]:my-0 [&_*+*]:mt-2", children: welcomeMessage ? /* @__PURE__ */ jsx(MessageResponse, { children: welcomeMessage }) : /* @__PURE__ */ jsx("p", { children: description || "Your AI-powered assistant for all your document needs." }) }),
7548
+ /* @__PURE__ */ jsx("div", { className: "mt-2", children: renderInputArea(true) })
7549
+ ] }) }),
7550
+ recentSessions && recentSessions.length > 0 && !isLoadingAgent ? /* @__PURE__ */ jsxs("div", { className: "flex min-h-0 flex-1 flex-col gap-3", children: [
7551
+ /* @__PURE__ */ jsx("h2", { className: "shrink-0 text-sm font-medium text-muted-foreground", children: "Recent Sessions" }),
7552
+ /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-y-auto", children: /* @__PURE__ */ jsx("div", { className: "flex flex-col divide-y", children: recentSessions.slice(0, 5).map((session) => /* @__PURE__ */ jsxs(
7553
+ "div",
7554
+ {
7555
+ onClick: () => onSessionClick?.(session),
7556
+ className: "-mx-2 flex cursor-pointer items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-muted/50",
7557
+ children: [
7558
+ /* @__PURE__ */ jsx(MessageSquare, { className: "size-4 shrink-0 text-muted-foreground" }),
7559
+ /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium", children: session.title || "Untitled session" }) }),
7560
+ /* @__PURE__ */ jsx("span", { className: "shrink-0 text-xs text-muted-foreground", children: session.updatedAt.toLocaleDateString() })
7561
+ ]
7562
+ },
7563
+ session.id
7564
+ )) }) })
7565
+ ] }) : null
7566
+ ] })
7567
+ }
7568
+ )
7569
+ ] });
7570
+ }
7571
+ return /* @__PURE__ */ jsxs("div", { className: "flex min-h-0 flex-1 flex-col animate-in fade-in slide-in-from-bottom-2 duration-300", children: [
7445
7572
  renderThreadHeader?.(),
7446
7573
  /* @__PURE__ */ jsx(
7447
7574
  MessageList,
@@ -7455,43 +7582,13 @@ function ChatPanel({
7455
7582
  title,
7456
7583
  welcomeMessage,
7457
7584
  isLoadingAgent,
7585
+ agentId: tenantAiAgentId,
7458
7586
  onToolAction,
7459
7587
  openCanvasView,
7460
7588
  className: messagesClassName
7461
7589
  }
7462
7590
  ),
7463
- /* @__PURE__ */ jsx("div", { className: "px-3 pb-3 pt-2", children: /* @__PURE__ */ jsx(
7464
- AIInputArea,
7465
- {
7466
- onSubmit: onSendMessage,
7467
- onStop,
7468
- value: input,
7469
- onChange: onInputChange,
7470
- placeholder,
7471
- isLoading,
7472
- supportFiles,
7473
- supportWebSearch,
7474
- supportDocumentSearch,
7475
- supportDeepResearch,
7476
- supportThinking,
7477
- supportWorkCanvas,
7478
- supportMultiModels,
7479
- deploymentId,
7480
- tenantAiAgentId,
7481
- enableMicrophone,
7482
- enableVoice,
7483
- isRecording,
7484
- recognition,
7485
- onMicrophoneClick,
7486
- footerText,
7487
- showToolbar: !compactToolbar,
7488
- compactToolbar,
7489
- threadId,
7490
- hasMessages: messages.length > 0,
7491
- initialModelId,
7492
- initialFeatures
7493
- }
7494
- ) })
7591
+ /* @__PURE__ */ jsx("div", { className: "px-3 pb-3 pt-2", children: renderInputArea() })
7495
7592
  ] });
7496
7593
  }
7497
7594
  var ALLOWED_ORIGINS = ["https://shell.docy.work", "https://shell-docyrus.web.app"];
@@ -22574,6 +22671,9 @@ var AssistantView = ({ ref, ...props }) => {
22574
22671
  onMicrophoneClick: commonProps2.onMicrophoneClick,
22575
22672
  onToolAction: commonProps2.onToolAction,
22576
22673
  openCanvasView: handleOpenCanvasView,
22674
+ showWelcome: commonProps2.showWelcome,
22675
+ recentSessions: commonProps2.recentSessions,
22676
+ onSessionClick: commonProps2.onSessionClick,
22577
22677
  threadId: commonProps2.threadId,
22578
22678
  initialModelId: commonProps2.initialModelId,
22579
22679
  initialFeatures: commonProps2.initialFeatures,
@@ -22725,7 +22825,7 @@ var AssistantView = ({ ref, ...props }) => {
22725
22825
  activeAgent?.name ?? commonProps.title ?? "Assistant"
22726
22826
  ] }) : null;
22727
22827
  return /* @__PURE__ */ jsxs(Fragment, { children: [
22728
- showHeader && /* @__PURE__ */ jsxs("div", { className: cn(
22828
+ showHeader && !(commonProps.showWelcome && commonProps.messages.length === 0) && /* @__PURE__ */ jsxs("div", { className: cn(
22729
22829
  "relative z-50 flex items-center justify-between h-12 px-3 border-b shrink-0 bg-background",
22730
22830
  !isSidebarOpen && enableSidebar && "pl-12"
22731
22831
  ), children: [
@@ -22817,7 +22917,7 @@ var AssistantView = ({ ref, ...props }) => {
22817
22917
  ] })
22818
22918
  ] }),
22819
22919
  /* @__PURE__ */ jsxs("div", { className: "flex-1 flex flex-row min-h-0 overflow-hidden relative", children: [
22820
- !isSidebarOpen && /* @__PURE__ */ jsxs("div", { className: "absolute top-2 left-2 z-40 flex flex-col gap-1 rounded-md bg-background/80 backdrop-blur-sm p-0.5", children: [
22920
+ !isSidebarOpen && !(commonProps.showWelcome && commonProps.messages.length === 0) && /* @__PURE__ */ jsxs("div", { className: "absolute top-2 left-2 z-40 flex flex-col gap-1 rounded-md bg-background/80 backdrop-blur-sm p-0.5", children: [
22821
22921
  enableSidebar && onToggleSidebar && /* @__PURE__ */ jsx(
22822
22922
  Button,
22823
22923
  {
@@ -22855,7 +22955,7 @@ var AssistantView = ({ ref, ...props }) => {
22855
22955
  }
22856
22956
  )
22857
22957
  ] }),
22858
- enableSidebar && isSidebarOpen && renderSidebar && /* @__PURE__ */ jsxs(Fragment, { children: [
22958
+ enableSidebar && isSidebarOpen && renderSidebar && !(commonProps.showWelcome && commonProps.messages.length === 0) && /* @__PURE__ */ jsxs(Fragment, { children: [
22859
22959
  /* @__PURE__ */ jsx(
22860
22960
  "div",
22861
22961
  {
@@ -22886,7 +22986,7 @@ var AssistantView = ({ ref, ...props }) => {
22886
22986
  /* @__PURE__ */ jsx("div", { className: "flex-1 p-4 flex flex-col min-h-0 overflow-hidden", children: renderSidebar(true) })
22887
22987
  ] }) })
22888
22988
  ] }),
22889
- enableSidebar && renderSidebar && /* @__PURE__ */ jsx(
22989
+ enableSidebar && renderSidebar && !(commonProps.showWelcome && commonProps.messages.length === 0) && /* @__PURE__ */ jsx(
22890
22990
  "div",
22891
22991
  {
22892
22992
  className: cn(
@@ -23028,6 +23128,9 @@ var AssistantView = ({ ref, ...props }) => {
23028
23128
  onToolAction: commonProps.onToolAction,
23029
23129
  openCanvasView: handleOpenCanvasViewInline,
23030
23130
  renderThreadHeader,
23131
+ showWelcome: commonProps.showWelcome,
23132
+ recentSessions: commonProps.recentSessions,
23133
+ onSessionClick: commonProps.onSessionClick,
23031
23134
  threadId: commonProps.threadId,
23032
23135
  initialModelId: commonProps.initialModelId,
23033
23136
  initialFeatures: commonProps.initialFeatures,
@@ -24743,6 +24846,7 @@ var DocyAssistant = ({
24743
24846
  enableNavDropdown = false,
24744
24847
  enableVoice = false,
24745
24848
  enableMicrophone = true,
24849
+ enableWelcomePage = true,
24746
24850
  tenantAiAgentId,
24747
24851
  onMessageSend,
24748
24852
  onVoiceStart,
@@ -24784,6 +24888,7 @@ var DocyAssistant = ({
24784
24888
  const { state: projectState, actions: projectActions } = useProjectState();
24785
24889
  const { state: worksState, actions: worksActions } = useWorksState();
24786
24890
  const [input, setInput] = useState("");
24891
+ const [showWelcome, setShowWelcome] = useState(enableWelcomePage);
24787
24892
  const currentUserId = configUser.id;
24788
24893
  const [projectSearchQuery, setProjectSearchQuery] = useState("");
24789
24894
  const [isInlineFullscreen, setIsInlineFullscreen] = useState(defaultFullscreen);
@@ -24812,16 +24917,15 @@ var DocyAssistant = ({
24812
24917
  const apiUrl = deploymentId ? `${baseUrl}${endpointPath.replace("/chat", `/deployments/${deploymentId}/chat`)}` : `${baseUrl}${endpointPath}`;
24813
24918
  return new DefaultChatTransport({
24814
24919
  api: apiUrl,
24815
- prepareSendMessagesRequest: ({ messages: messages2, body }) => {
24920
+ prepareSendMessagesRequest: ({ messages: messages2, ...rest }) => {
24816
24921
  const options3 = messageOptionsRef.current;
24817
24922
  return {
24923
+ ...rest,
24818
24924
  body: {
24819
- ...body,
24925
+ ...rest.body,
24820
24926
  agentId: activeAgentId,
24821
24927
  threadId: selectedSessionIdRef.current,
24822
- // Use ref for immediate access
24823
24928
  messages: messages2.slice(-10),
24824
- // Only send last 10 messages
24825
24929
  modelId: options3?.modelId,
24826
24930
  supportMultipleModels: options3?.supportMultipleModels,
24827
24931
  supportFiles: options3?.supportFiles,
@@ -24837,7 +24941,6 @@ var DocyAssistant = ({
24837
24941
  headers: () => {
24838
24942
  const token = authTokenRef.current;
24839
24943
  return {
24840
- "Content-Type": "application/json",
24841
24944
  ...token && { Authorization: `Bearer ${token}` }
24842
24945
  };
24843
24946
  },
@@ -25039,6 +25142,7 @@ var DocyAssistant = ({
25039
25142
  sessionActions.selectSessionId(session.id);
25040
25143
  sessionActions.selectSession(session);
25041
25144
  uiActions.setActiveTab(0);
25145
+ setShowWelcome(false);
25042
25146
  await loadThreadMessages2(session.id);
25043
25147
  };
25044
25148
  const createNewThread = () => {
@@ -25046,11 +25150,13 @@ var DocyAssistant = ({
25046
25150
  sessionActions.selectSession(null);
25047
25151
  uiActions.setActiveTab(0);
25048
25152
  setMessages([]);
25153
+ setShowWelcome(false);
25049
25154
  };
25050
25155
  const handleSendMessage = async (e, options3, overrideText) => {
25051
25156
  e?.preventDefault();
25052
25157
  const messageText = (overrideText ?? input).trim();
25053
25158
  if (!messageText) return;
25159
+ setShowWelcome(false);
25054
25160
  messageOptionsRef.current = options3;
25055
25161
  let currentThreadId = selectedSessionIdRef.current;
25056
25162
  if (!currentThreadId) {
@@ -25332,6 +25438,9 @@ var DocyAssistant = ({
25332
25438
  isRecording,
25333
25439
  recognition,
25334
25440
  onMicrophoneClick: handleMicrophoneClick,
25441
+ showWelcome,
25442
+ recentSessions: sessionState.sessions,
25443
+ onSessionClick: handleSessionClick,
25335
25444
  isSidebarOpen: uiState.isSidebarOpen,
25336
25445
  onToggleSidebar: () => uiActions.setSidebarOpen(!uiState.isSidebarOpen),
25337
25446
  renderSidebar: renderSidebarContent,