@sciol/xyzen 0.3.5 → 0.3.6

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 (39) hide show
  1. package/dist/app/App.d.ts +1 -1
  2. package/dist/app/AppSide.d.ts +6 -0
  3. package/dist/components/animate-ui/components/buttons/button.d.ts +9 -0
  4. package/dist/components/animate-ui/primitives/animate/slot.d.ts +17 -0
  5. package/dist/components/animate-ui/primitives/buttons/button.d.ts +8 -0
  6. package/dist/components/animate-ui/primitives/buttons/liquid.d.ts +10 -0
  7. package/dist/components/animate-ui/primitives/effects/auto-height.d.ts +11 -0
  8. package/dist/components/animate-ui/primitives/effects/highlight.d.ts +92 -0
  9. package/dist/components/animate-ui/primitives/headless/dialog.d.ts +42 -0
  10. package/dist/components/{base/Modal.d.ts → animate-ui/primitives/headless/modal.d.ts} +1 -1
  11. package/dist/components/animate-ui/primitives/radix/tabs.d.ts +32 -0
  12. package/dist/components/charts/index.d.ts +2 -2
  13. package/dist/components/layouts/ActivityBar.d.ts +8 -0
  14. package/dist/components/layouts/AgentExplorer.d.ts +1 -0
  15. package/dist/components/layouts/Explorer.d.ts +1 -0
  16. package/dist/components/layouts/McpListModal.d.ts +1 -0
  17. package/dist/components/layouts/Workshop.d.ts +1 -0
  18. package/dist/components/layouts/WorkshopChat.d.ts +1 -0
  19. package/dist/components/layouts/XyzenAgent.d.ts +7 -3
  20. package/dist/components/shared/JsonDisplay.d.ts +1 -1
  21. package/dist/configs/chatThemes.d.ts +9 -0
  22. package/dist/hooks/use-auto-height.d.ts +10 -0
  23. package/dist/hooks/use-controlled-state.d.ts +8 -0
  24. package/dist/hooks/useWorkShopChat.d.ts +69 -0
  25. package/dist/hooks/useXyzenChat.d.ts +69 -0
  26. package/dist/lib/get-strict-context.d.ts +9 -0
  27. package/dist/lib/utils.d.ts +2 -0
  28. package/dist/store/slices/agentSlice.d.ts +7 -1
  29. package/dist/store/slices/uiSlice.d.ts +9 -0
  30. package/dist/types/chartTypes.d.ts +7 -7
  31. package/dist/utils/chartDetection.d.ts +1 -1
  32. package/dist/utils/chartThemes.d.ts +4 -4
  33. package/dist/xyzen.css +1 -1
  34. package/dist/xyzen.es.js +99837 -89933
  35. package/dist/xyzen.umd.js +138 -128
  36. package/package.json +14 -5
  37. package/dist/app/LlmProviders.d.ts +0 -1
  38. package/dist/app/Mcp.d.ts +0 -1
  39. package/dist/test-charts.d.ts +0 -6
package/dist/app/App.d.ts CHANGED
@@ -2,4 +2,4 @@ export interface XyzenProps {
2
2
  backendUrl?: string;
3
3
  showLlmProvider?: boolean;
4
4
  }
5
- export declare function Xyzen({ backendUrl, showLlmProvider, }: XyzenProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function Xyzen({ backendUrl, showLlmProvider, }: XyzenProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,6 @@
1
+ export interface AppSideProps {
2
+ backendUrl?: string;
3
+ showLlmProvider?: boolean;
4
+ isMobile?: boolean;
5
+ }
6
+ export declare function AppSide({ backendUrl, showLlmProvider, isMobile, }: AppSideProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,9 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { ButtonProps as ButtonPrimitiveProps } from '../../primitives/buttons/button';
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "link" | "default" | "outline" | "accent" | "destructive" | "secondary" | "ghost" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ type ButtonProps = ButtonPrimitiveProps & VariantProps<typeof buttonVariants>;
8
+ declare function Button({ className, variant, size, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
9
+ export { Button, buttonVariants, type ButtonProps };
@@ -0,0 +1,17 @@
1
+ import { HTMLMotionProps } from 'motion/react';
2
+ import * as React from "react";
3
+ type AnyProps = Record<string, unknown>;
4
+ type DOMMotionProps<T extends HTMLElement = HTMLElement> = Omit<HTMLMotionProps<keyof HTMLElementTagNameMap>, "ref"> & {
5
+ ref?: React.Ref<T>;
6
+ };
7
+ type WithAsChild<Base extends object> = (Base & {
8
+ asChild: true;
9
+ children: React.ReactElement;
10
+ }) | (Base & {
11
+ asChild?: false | undefined;
12
+ });
13
+ type SlotProps<T extends HTMLElement = HTMLElement> = {
14
+ children?: any;
15
+ } & DOMMotionProps<T>;
16
+ declare function Slot<T extends HTMLElement = HTMLElement>({ children, ref, ...props }: SlotProps<T>): import("react/jsx-runtime").JSX.Element | null;
17
+ export { Slot, type SlotProps, type WithAsChild, type DOMMotionProps, type AnyProps, };
@@ -0,0 +1,8 @@
1
+ import { HTMLMotionProps } from 'motion/react';
2
+ import { WithAsChild } from '../animate/slot';
3
+ type ButtonProps = WithAsChild<HTMLMotionProps<"button"> & {
4
+ hoverScale?: number;
5
+ tapScale?: number;
6
+ }>;
7
+ declare function Button({ hoverScale, tapScale, asChild, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
8
+ export { Button, type ButtonProps };
@@ -0,0 +1,10 @@
1
+ import { HTMLMotionProps } from 'motion/react';
2
+ import { WithAsChild } from '../animate/slot';
3
+ type LiquidButtonProps = WithAsChild<HTMLMotionProps<"button"> & {
4
+ delay?: string;
5
+ fillHeight?: string;
6
+ hoverScale?: number;
7
+ tapScale?: number;
8
+ }>;
9
+ declare function LiquidButton({ delay, fillHeight, hoverScale, tapScale, asChild, ...props }: LiquidButtonProps): import("react/jsx-runtime").JSX.Element;
10
+ export { LiquidButton, type LiquidButtonProps };
@@ -0,0 +1,11 @@
1
+ import { HTMLMotionProps, LegacyAnimationControls, TargetAndTransition, Transition } from 'motion/react';
2
+ import { WithAsChild } from '../animate/slot';
3
+ import * as React from "react";
4
+ type AutoHeightProps = WithAsChild<{
5
+ children: React.ReactNode;
6
+ deps?: React.DependencyList;
7
+ animate?: TargetAndTransition | LegacyAnimationControls;
8
+ transition?: Transition;
9
+ } & Omit<HTMLMotionProps<"div">, "animate">>;
10
+ declare function AutoHeight({ children, deps, transition, style, animate, asChild, ...props }: AutoHeightProps): import("react/jsx-runtime").JSX.Element;
11
+ export { AutoHeight, type AutoHeightProps };
@@ -0,0 +1,92 @@
1
+ import { Transition } from 'motion/react';
2
+ import * as React from "react";
3
+ type HighlightMode = "children" | "parent";
4
+ type Bounds = {
5
+ top: number;
6
+ left: number;
7
+ width: number;
8
+ height: number;
9
+ };
10
+ type HighlightContextType<T extends string> = {
11
+ as?: keyof HTMLElementTagNameMap;
12
+ mode: HighlightMode;
13
+ activeValue: T | null;
14
+ setActiveValue: (value: T | null) => void;
15
+ setBounds: (bounds: DOMRect) => void;
16
+ clearBounds: () => void;
17
+ id: string;
18
+ hover: boolean;
19
+ click: boolean;
20
+ className?: string;
21
+ style?: React.CSSProperties;
22
+ activeClassName?: string;
23
+ setActiveClassName: (className: string) => void;
24
+ transition?: Transition;
25
+ disabled?: boolean;
26
+ enabled?: boolean;
27
+ exitDelay?: number;
28
+ forceUpdateBounds?: boolean;
29
+ };
30
+ declare function useHighlight<T extends string>(): HighlightContextType<T>;
31
+ type BaseHighlightProps<T extends React.ElementType = "div"> = {
32
+ as?: T;
33
+ ref?: React.Ref<HTMLDivElement>;
34
+ mode?: HighlightMode;
35
+ value?: string | null;
36
+ defaultValue?: string | null;
37
+ onValueChange?: (value: string | null) => void;
38
+ className?: string;
39
+ style?: React.CSSProperties;
40
+ transition?: Transition;
41
+ hover?: boolean;
42
+ click?: boolean;
43
+ disabled?: boolean;
44
+ enabled?: boolean;
45
+ exitDelay?: number;
46
+ };
47
+ type ParentModeHighlightProps = {
48
+ boundsOffset?: Partial<Bounds>;
49
+ containerClassName?: string;
50
+ forceUpdateBounds?: boolean;
51
+ };
52
+ type ControlledParentModeHighlightProps<T extends React.ElementType = "div"> = BaseHighlightProps<T> & ParentModeHighlightProps & {
53
+ mode: "parent";
54
+ controlledItems: true;
55
+ children: React.ReactNode;
56
+ };
57
+ type ControlledChildrenModeHighlightProps<T extends React.ElementType = "div"> = BaseHighlightProps<T> & {
58
+ mode?: "children" | undefined;
59
+ controlledItems: true;
60
+ children: React.ReactNode;
61
+ };
62
+ type UncontrolledParentModeHighlightProps<T extends React.ElementType = "div"> = BaseHighlightProps<T> & ParentModeHighlightProps & {
63
+ mode: "parent";
64
+ controlledItems?: false;
65
+ itemsClassName?: string;
66
+ children: React.ReactElement | React.ReactElement[];
67
+ };
68
+ type UncontrolledChildrenModeHighlightProps<T extends React.ElementType = "div"> = BaseHighlightProps<T> & {
69
+ mode?: "children";
70
+ controlledItems?: false;
71
+ itemsClassName?: string;
72
+ children: React.ReactElement | React.ReactElement[];
73
+ };
74
+ type HighlightProps<T extends React.ElementType = "div"> = ControlledParentModeHighlightProps<T> | ControlledChildrenModeHighlightProps<T> | UncontrolledParentModeHighlightProps<T> | UncontrolledChildrenModeHighlightProps<T>;
75
+ declare function Highlight<T extends React.ElementType = "div">({ ref, ...props }: HighlightProps<T>): import("react/jsx-runtime").JSX.Element;
76
+ type HighlightItemProps<T extends React.ElementType = "div"> = React.ComponentProps<T> & {
77
+ as?: T;
78
+ children: React.ReactElement;
79
+ id?: string;
80
+ value?: string;
81
+ className?: string;
82
+ style?: React.CSSProperties;
83
+ transition?: Transition;
84
+ activeClassName?: string;
85
+ disabled?: boolean;
86
+ exitDelay?: number;
87
+ asChild?: boolean;
88
+ forceUpdateBounds?: boolean;
89
+ };
90
+ declare function HighlightItem<T extends React.ElementType>({ ref, as, children, id, value, className, style, transition, disabled, activeClassName, exitDelay, asChild, forceUpdateBounds, ...props }: HighlightItemProps<T>): any;
91
+ export { Highlight, HighlightItem, useHighlight, // eslint-disable-line react-refresh/only-export-components
92
+ type HighlightItemProps, type HighlightProps, };
@@ -0,0 +1,42 @@
1
+ import { Description as DialogDescriptionPrimitive, DialogProps as DialogPrimitiveProps, DialogBackdropProps as DialogBackdropPrimitiveProps, DialogPanelProps as DialogPanelPrimitiveProps, DialogTitleProps as DialogTitlePrimitiveProps, CloseButtonProps } from '@headlessui/react';
2
+ import { motion, Transition, HTMLMotionProps } from 'motion/react';
3
+ import * as React from "react";
4
+ type DialogProps<TTag extends React.ElementType = "div"> = Omit<DialogPrimitiveProps<TTag>, "static"> & {
5
+ className?: string;
6
+ as?: TTag;
7
+ };
8
+ declare function Dialog<TTag extends React.ElementType = "div">({ className, ...props }: DialogProps<TTag>): import("react/jsx-runtime").JSX.Element;
9
+ type DialogBackdropProps<TTag extends React.ElementType = typeof motion.div> = Omit<DialogBackdropPrimitiveProps<TTag>, "transition"> & HTMLMotionProps<"div"> & {
10
+ as?: TTag;
11
+ };
12
+ declare function DialogBackdrop<TTag extends React.ElementType = typeof motion.div>(props: DialogBackdropProps<TTag>): import("react/jsx-runtime").JSX.Element;
13
+ type DialogFlipDirection = "top" | "bottom" | "left" | "right";
14
+ type DialogPanelProps<TTag extends React.ElementType = typeof motion.div> = Omit<DialogPanelPrimitiveProps<TTag>, "transition"> & Omit<HTMLMotionProps<"div">, "children"> & {
15
+ from?: DialogFlipDirection;
16
+ transition?: Transition;
17
+ as?: TTag;
18
+ };
19
+ declare function DialogPanel<TTag extends React.ElementType = typeof motion.div>(props: DialogPanelProps<TTag>): import("react/jsx-runtime").JSX.Element;
20
+ type DialogCloseProps<TTag extends React.ElementType = "div"> = CloseButtonProps<TTag> & {
21
+ as?: TTag;
22
+ };
23
+ declare function DialogClose<TTag extends React.ElementType = "button">(props: DialogCloseProps<TTag>): import("react/jsx-runtime").JSX.Element;
24
+ type DialogHeaderProps<TTag extends React.ElementType = "div"> = React.ComponentProps<TTag> & {
25
+ as?: TTag;
26
+ };
27
+ declare function DialogHeader<TTag extends React.ElementType = "div">({ as: Component, ...props }: DialogHeaderProps<TTag>): import("react/jsx-runtime").JSX.Element;
28
+ type DialogFooterProps<TTag extends React.ElementType = "div"> = React.ComponentProps<TTag> & {
29
+ as?: TTag;
30
+ };
31
+ declare function DialogFooter({ as: Component, ...props }: DialogFooterProps): import("react/jsx-runtime").JSX.Element;
32
+ type DialogTitleProps<TTag extends React.ElementType = "h2"> = DialogTitlePrimitiveProps<TTag> & {
33
+ as?: TTag;
34
+ className?: string;
35
+ };
36
+ declare function DialogTitle<TTag extends React.ElementType = "h2">(props: DialogTitleProps<TTag>): import("react/jsx-runtime").JSX.Element;
37
+ type DialogDescriptionProps<TTag extends React.ElementType = "div"> = React.ComponentProps<typeof DialogDescriptionPrimitive<TTag>> & {
38
+ as?: TTag;
39
+ className?: string;
40
+ };
41
+ declare function DialogDescription<TTag extends React.ElementType = "div">(props: DialogDescriptionProps<TTag>): import("react/jsx-runtime").JSX.Element;
42
+ export { Dialog, DialogBackdrop, DialogPanel, DialogClose, DialogTitle, DialogDescription, DialogHeader, DialogFooter, type DialogProps, type DialogBackdropProps, type DialogPanelProps, type DialogCloseProps, type DialogTitleProps, type DialogDescriptionProps, type DialogHeaderProps, type DialogFooterProps, type DialogFlipDirection, };
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
2
2
  interface ModalProps {
3
3
  isOpen: boolean;
4
4
  onClose: () => void;
5
- title: string;
5
+ title?: string;
6
6
  children: ReactNode;
7
7
  maxWidth?: string;
8
8
  minWidth?: string;
@@ -0,0 +1,32 @@
1
+ import { Tabs as TabsPrimitive } from 'radix-ui';
2
+ import { HTMLMotionProps, Transition } from 'motion/react';
3
+ import { HighlightProps, HighlightItemProps } from '../effects/highlight';
4
+ import { AutoHeightProps } from '../effects/auto-height';
5
+ import * as React from "react";
6
+ type TabsProps = React.ComponentProps<typeof TabsPrimitive.Root>;
7
+ declare function Tabs(props: TabsProps): import("react/jsx-runtime").JSX.Element;
8
+ type TabsHighlightProps = Omit<HighlightProps, "controlledItems" | "value">;
9
+ declare function TabsHighlight({ transition, ...props }: TabsHighlightProps): import("react/jsx-runtime").JSX.Element;
10
+ type TabsListProps = React.ComponentProps<typeof TabsPrimitive.List>;
11
+ declare function TabsList(props: TabsListProps): import("react/jsx-runtime").JSX.Element;
12
+ type TabsHighlightItemProps = HighlightItemProps & {
13
+ value: string;
14
+ };
15
+ declare function TabsHighlightItem(props: TabsHighlightItemProps): import("react/jsx-runtime").JSX.Element;
16
+ type TabsTriggerProps = React.ComponentProps<typeof TabsPrimitive.Trigger>;
17
+ declare function TabsTrigger(props: TabsTriggerProps): import("react/jsx-runtime").JSX.Element;
18
+ type TabsContentProps = React.ComponentProps<typeof TabsPrimitive.Content> & HTMLMotionProps<"div">;
19
+ declare function TabsContent({ value, forceMount, transition, ...props }: TabsContentProps): import("react/jsx-runtime").JSX.Element;
20
+ type TabsContentsAutoProps = AutoHeightProps & {
21
+ mode?: "auto-height";
22
+ children: React.ReactNode;
23
+ transition?: Transition;
24
+ };
25
+ type TabsContentsLayoutProps = Omit<HTMLMotionProps<"div">, "transition"> & {
26
+ mode: "layout";
27
+ children: React.ReactNode;
28
+ transition?: Transition;
29
+ };
30
+ type TabsContentsProps = TabsContentsAutoProps | TabsContentsLayoutProps;
31
+ declare function TabsContents(props: TabsContentsProps): import("react/jsx-runtime").JSX.Element;
32
+ export { Tabs, TabsHighlight, TabsHighlightItem, TabsList, TabsTrigger, TabsContent, TabsContents, type TabsProps, type TabsHighlightProps, type TabsHighlightItemProps, type TabsListProps, type TabsTriggerProps, type TabsContentProps, type TabsContentsProps, };
@@ -1,5 +1,5 @@
1
1
  export { ChartRenderer } from './ChartRenderer';
2
2
  export { ChartDisplay, SimpleChartDisplay } from './ChartDisplay';
3
- export { detectChart, validateChartData, suggestChartType } from '../../utils/chartDetection';
4
- export { createEChartsTheme, detectThemeFromDOM } from '../../utils/chartThemes';
3
+ export { detectChart, validateChartData, suggestChartType, } from '../../utils/chartDetection';
4
+ export { createEChartsTheme, detectThemeFromDOM, } from '../../utils/chartThemes';
5
5
  export type { ChartConfig, ChartDataPoint, SeriesData, TimeSeriesPoint, ChartableOutput, ChartDetectionResult, ChartTheme, ChartRendererProps, ChartDisplayProps, ChartableData, DetectionPattern, } from '../../types/chartTypes';
@@ -0,0 +1,8 @@
1
+ export type ActivityPanel = "chat" | "explorer" | "workshop";
2
+ interface ActivityBarProps {
3
+ activePanel: ActivityPanel;
4
+ onPanelChange: (panel: ActivityPanel) => void;
5
+ className?: string;
6
+ }
7
+ export declare const ActivityBar: React.FC<ActivityBarProps>;
8
+ export default ActivityBar;
@@ -0,0 +1 @@
1
+ export default function AgentExplorer(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export default function Explorer(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function McpListModal(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export default function Workshop(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export default function WorkshopChat(): import("react/jsx-runtime").JSX.Element;
@@ -10,7 +10,7 @@ export type Agent = {
10
10
  user_id: string;
11
11
  require_tool_confirmation?: boolean;
12
12
  provider_id?: string | null;
13
- agent_type: 'regular' | 'graph';
13
+ agent_type: "regular" | "graph" | "builtin";
14
14
  avatar?: string | null;
15
15
  tags?: string[] | null;
16
16
  model?: string | null;
@@ -18,8 +18,12 @@ export type Agent = {
18
18
  is_active?: boolean;
19
19
  created_at: string;
20
20
  updated_at: string;
21
- state_schema?: any;
21
+ state_schema?: Record<string, unknown>;
22
22
  node_count?: number;
23
23
  edge_count?: number;
24
24
  };
25
- export default function XyzenAgent(): import("react/jsx-runtime").JSX.Element;
25
+ interface XyzenAgentProps {
26
+ systemAgentType?: "chat" | "workshop" | "all";
27
+ }
28
+ export default function XyzenAgent({ systemAgentType, }: XyzenAgentProps): import("react/jsx-runtime").JSX.Element;
29
+ export {};
@@ -3,7 +3,7 @@ interface JsonDisplayProps {
3
3
  data: unknown;
4
4
  className?: string;
5
5
  compact?: boolean;
6
- variant?: 'default' | 'success' | 'error';
6
+ variant?: "default" | "success" | "error";
7
7
  hideHeader?: boolean;
8
8
  enableCharts?: boolean;
9
9
  }
@@ -0,0 +1,9 @@
1
+ import { XyzenChatConfig } from '../hooks/useXyzenChat';
2
+ import { WorkShopChatConfig } from '../hooks/useWorkShopChat';
3
+ export declare const XYZEN_CHAT_CONFIG: XyzenChatConfig;
4
+ export declare const WORKSHOP_CHAT_CONFIG: WorkShopChatConfig;
5
+ export declare const CHAT_THEMES: {
6
+ readonly xyzen: XyzenChatConfig;
7
+ readonly workshop: WorkShopChatConfig;
8
+ };
9
+ export type ChatThemeKey = keyof typeof CHAT_THEMES;
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ type AutoHeightOptions = {
3
+ includeParentBox?: boolean;
4
+ includeSelfBox?: boolean;
5
+ };
6
+ export declare function useAutoHeight<T extends HTMLElement = HTMLDivElement>(deps?: React.DependencyList, options?: AutoHeightOptions): {
7
+ readonly ref: React.RefObject<T | null>;
8
+ readonly height: number;
9
+ };
10
+ export {};
@@ -0,0 +1,8 @@
1
+ interface CommonControlledStateProps<T> {
2
+ value?: T;
3
+ defaultValue?: T;
4
+ }
5
+ export declare function useControlledState<T, Rest extends any[] = []>(props: CommonControlledStateProps<T> & {
6
+ onChange?: (value: T, ...args: Rest) => void;
7
+ }): readonly [T, (next: T, ...args: Rest) => void];
8
+ export {};
@@ -0,0 +1,69 @@
1
+ import { Message } from '../store/types';
2
+ export interface WorkShopChatConfig {
3
+ theme: "indigo" | "purple";
4
+ systemAgentId: string;
5
+ storageKeys: {
6
+ inputHeight: string;
7
+ historyPinned?: string;
8
+ };
9
+ defaultTitle: string;
10
+ placeholders: {
11
+ responding: string;
12
+ default: string;
13
+ };
14
+ connectionMessages: {
15
+ connecting: string;
16
+ retrying: string;
17
+ };
18
+ responseMessages: {
19
+ generating: string;
20
+ creating: string;
21
+ };
22
+ emptyState: {
23
+ title: string;
24
+ description: string;
25
+ icon: string;
26
+ features?: string[];
27
+ };
28
+ welcomeMessage?: {
29
+ title: string;
30
+ description: string;
31
+ icon: string;
32
+ tags?: string[];
33
+ };
34
+ }
35
+ export declare function useWorkShopChat(config: WorkShopChatConfig): {
36
+ autoScroll: boolean;
37
+ isRetrying: boolean;
38
+ showHistory: boolean;
39
+ inputHeight: number;
40
+ sendBlocked: boolean;
41
+ currentChannel: import('../store/types').ChatChannel | null;
42
+ currentAgent: import('../components/layouts/XyzenAgent').Agent | null | undefined;
43
+ messages: Message[];
44
+ connected: boolean;
45
+ error: string | null;
46
+ responding: boolean;
47
+ messagesEndRef: import('react').RefObject<HTMLDivElement | null>;
48
+ messagesContainerRef: import('react').RefObject<HTMLDivElement | null>;
49
+ handleSendMessage: (inputMessage: string) => void;
50
+ handleToggleHistory: () => void;
51
+ handleCloseHistory: () => void;
52
+ handleSelectTopic: (_topicId: string) => void;
53
+ handleInputHeightChange: (height: number) => void;
54
+ handleRetryConnection: () => void;
55
+ handleScrollToBottom: () => void;
56
+ handleScroll: () => void;
57
+ activeChatChannel: string | null;
58
+ notification: {
59
+ isOpen: boolean;
60
+ title: string;
61
+ message: string;
62
+ type: "info" | "warning" | "error" | "success";
63
+ actionLabel?: string;
64
+ onAction?: () => void;
65
+ } | null;
66
+ closeNotification: () => void;
67
+ pendingInput: string;
68
+ updateTopicName: (topicId: string, newName: string) => Promise<void>;
69
+ };
@@ -0,0 +1,69 @@
1
+ import { Message } from '../store/types';
2
+ export interface XyzenChatConfig {
3
+ theme: "indigo" | "purple";
4
+ systemAgentId: string;
5
+ storageKeys: {
6
+ inputHeight: string;
7
+ historyPinned?: string;
8
+ };
9
+ defaultTitle: string;
10
+ placeholders: {
11
+ responding: string;
12
+ default: string;
13
+ };
14
+ connectionMessages: {
15
+ connecting: string;
16
+ retrying: string;
17
+ };
18
+ responseMessages: {
19
+ generating: string;
20
+ creating: string;
21
+ };
22
+ emptyState: {
23
+ title: string;
24
+ description: string;
25
+ icon: string;
26
+ features?: string[];
27
+ };
28
+ welcomeMessage?: {
29
+ title: string;
30
+ description: string;
31
+ icon: string;
32
+ tags?: string[];
33
+ };
34
+ }
35
+ export declare function useXyzenChat(config: XyzenChatConfig): {
36
+ autoScroll: boolean;
37
+ isRetrying: boolean;
38
+ showHistory: boolean;
39
+ inputHeight: number;
40
+ sendBlocked: boolean;
41
+ currentChannel: import('../store/types').ChatChannel | null;
42
+ currentAgent: import('../components/layouts/XyzenAgent').Agent | null | undefined;
43
+ messages: Message[];
44
+ connected: boolean;
45
+ error: string | null;
46
+ responding: boolean;
47
+ messagesEndRef: import('react').RefObject<HTMLDivElement | null>;
48
+ messagesContainerRef: import('react').RefObject<HTMLDivElement | null>;
49
+ handleSendMessage: (inputMessage: string) => void;
50
+ handleToggleHistory: () => void;
51
+ handleCloseHistory: () => void;
52
+ handleSelectTopic: (_topicId: string) => void;
53
+ handleInputHeightChange: (height: number) => void;
54
+ handleRetryConnection: () => void;
55
+ handleScrollToBottom: () => void;
56
+ handleScroll: () => void;
57
+ activeChatChannel: string | null;
58
+ notification: {
59
+ isOpen: boolean;
60
+ title: string;
61
+ message: string;
62
+ type: "info" | "warning" | "error" | "success";
63
+ actionLabel?: string;
64
+ onAction?: () => void;
65
+ } | null;
66
+ closeNotification: () => void;
67
+ pendingInput: string;
68
+ updateTopicName: (topicId: string, newName: string) => Promise<void>;
69
+ };
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ declare function getStrictContext<T>(name?: string): readonly [
3
+ ({ value, children, }: {
4
+ value: T;
5
+ children?: React.ReactNode;
6
+ }) => React.JSX.Element,
7
+ () => T
8
+ ];
9
+ export { getStrictContext };
@@ -0,0 +1,2 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -5,7 +5,12 @@ export interface AgentSlice {
5
5
  agents: Agent[];
6
6
  agentsLoading: boolean;
7
7
  hiddenGraphAgentIds: string[];
8
+ systemAgents: Agent[];
9
+ systemAgentsLoading: boolean;
8
10
  fetchAgents: () => Promise<void>;
11
+ fetchSystemAgents: () => Promise<void>;
12
+ getSystemChatAgent: () => Promise<Agent>;
13
+ getSystemWorkshopAgent: () => Promise<Agent>;
9
14
  createAgent: (agent: Omit<Agent, "id">) => Promise<void>;
10
15
  createGraphAgent: (graphAgent: GraphAgentCreate) => Promise<void>;
11
16
  updateAgent: (agent: Agent) => Promise<void>;
@@ -15,11 +20,12 @@ export interface AgentSlice {
15
20
  addGraphAgentToSidebar: (id: string) => void;
16
21
  getRegularAgents: () => Agent[];
17
22
  getGraphAgents: () => Agent[];
23
+ getSystemAgents: () => Agent[];
18
24
  }
19
25
  export interface GraphAgentCreate {
20
26
  name: string;
21
27
  description: string;
22
- state_schema?: any;
28
+ state_schema?: Record<string, unknown>;
23
29
  }
24
30
  export declare const createAgentSlice: StateCreator<XyzenState, [
25
31
  ["zustand/immer", never]
@@ -1,12 +1,16 @@
1
1
  import { StateCreator } from 'zustand';
2
2
  import { Theme, XyzenState, LayoutStyle, UiSettingType } from '../types';
3
+ export type ActivityPanel = "chat" | "explorer" | "workshop";
3
4
  export interface UiSlice {
4
5
  backendUrl: string;
5
6
  isXyzenOpen: boolean;
6
7
  panelWidth: number;
7
8
  activeTabIndex: number;
9
+ activePanel: ActivityPanel;
8
10
  theme: Theme;
9
11
  layoutStyle: LayoutStyle;
12
+ isMcpListModalOpen: boolean;
13
+ isLlmProvidersModalOpen: boolean;
10
14
  isAddMcpServerModalOpen: boolean;
11
15
  isAddLlmProviderModalOpen: boolean;
12
16
  isSettingsModalOpen: boolean;
@@ -19,9 +23,14 @@ export interface UiSlice {
19
23
  closeXyzen: () => void;
20
24
  setPanelWidth: (width: number) => void;
21
25
  setTabIndex: (index: number) => void;
26
+ setActivePanel: (panel: ActivityPanel) => void;
22
27
  setTheme: (theme: Theme) => void;
23
28
  setLayoutStyle: (style: LayoutStyle) => void;
24
29
  setBackendUrl: (url: string) => void;
30
+ openMcpListModal: () => void;
31
+ closeMcpListModal: () => void;
32
+ openLlmProvidersModal: () => void;
33
+ closeLlmProvidersModal: () => void;
25
34
  openAddMcpServerModal: () => void;
26
35
  closeAddMcpServerModal: () => void;
27
36
  openAddLlmProviderModal: () => void;
@@ -7,7 +7,7 @@ export interface ChartDataPoint {
7
7
  export interface SeriesData {
8
8
  name: string;
9
9
  data: number[] | ChartDataPoint[];
10
- type?: 'line' | 'bar' | 'pie' | 'scatter' | 'area';
10
+ type?: "line" | "bar" | "pie" | "scatter" | "area";
11
11
  }
12
12
  export interface TimeSeriesPoint {
13
13
  timestamp: string | Date;
@@ -15,16 +15,16 @@ export interface TimeSeriesPoint {
15
15
  [key: string]: unknown;
16
16
  }
17
17
  export interface ChartConfig {
18
- type: 'line' | 'bar' | 'pie' | 'scatter' | 'area' | 'heatmap';
18
+ type: "line" | "bar" | "pie" | "scatter" | "area" | "heatmap";
19
19
  title?: string;
20
20
  data: ChartDataPoint[] | SeriesData[] | TimeSeriesPoint[] | number[];
21
21
  labels?: string[];
22
22
  xAxis?: {
23
- type?: 'category' | 'value' | 'time';
23
+ type?: "category" | "value" | "time";
24
24
  name?: string;
25
25
  };
26
26
  yAxis?: {
27
- type?: 'category' | 'value' | 'log';
27
+ type?: "category" | "value" | "log";
28
28
  name?: string;
29
29
  };
30
30
  options?: Partial<EChartsOption>;
@@ -40,7 +40,7 @@ export interface ChartableOutput {
40
40
  }
41
41
  export interface ChartDetectionResult {
42
42
  isChartable: boolean;
43
- chartType: ChartConfig['type'] | null;
43
+ chartType: ChartConfig["type"] | null;
44
44
  confidence: number;
45
45
  data: ChartConfig | null;
46
46
  reason?: string;
@@ -54,7 +54,7 @@ export interface ChartTheme {
54
54
  }
55
55
  export interface ChartRendererProps {
56
56
  data: ChartConfig | EChartsOption;
57
- theme?: 'light' | 'dark';
57
+ theme?: "light" | "dark";
58
58
  height?: string | number;
59
59
  width?: string | number;
60
60
  className?: string;
@@ -63,7 +63,7 @@ export interface ChartRendererProps {
63
63
  export interface ChartDisplayProps {
64
64
  data: unknown;
65
65
  compact?: boolean;
66
- variant?: 'default' | 'success' | 'error';
66
+ variant?: "default" | "success" | "error";
67
67
  className?: string;
68
68
  fallbackToJson?: boolean;
69
69
  }
@@ -10,4 +10,4 @@ export declare function validateChartData(config: ChartConfig): boolean;
10
10
  /**
11
11
  * Get chart type suggestions based on data characteristics
12
12
  */
13
- export declare function suggestChartType(data: unknown): ChartConfig['type'][];
13
+ export declare function suggestChartType(data: unknown): ChartConfig["type"][];