@sciol/xyzen 0.3.0 → 0.3.2

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 (85) hide show
  1. package/dist/app/App.d.ts +5 -0
  2. package/dist/app/AppFullscreen.d.ts +5 -0
  3. package/dist/app/LlmProviders.d.ts +1 -0
  4. package/dist/app/Mcp.d.ts +1 -0
  5. package/dist/assets/LlmIcon.d.ts +6 -0
  6. package/dist/assets/McpIcon.d.ts +3 -0
  7. package/dist/assets/ProfileIcon.d.ts +3 -0
  8. package/dist/assets/icons/AnthropicIcon.d.ts +2 -0
  9. package/dist/assets/icons/AzureIcon.d.ts +2 -0
  10. package/dist/assets/icons/GoogleIcon.d.ts +2 -0
  11. package/dist/assets/icons/OpenAIIcon.d.ts +2 -0
  12. package/dist/assets/icons/index.d.ts +4 -0
  13. package/dist/components/base/Badge.d.ts +9 -0
  14. package/dist/components/base/EditableTitle.d.ts +9 -0
  15. package/dist/components/base/Input.d.ts +4 -0
  16. package/dist/components/base/LoadingComponents.d.ts +23 -0
  17. package/dist/components/base/LoadingSpinner.d.ts +7 -0
  18. package/dist/components/base/Modal.d.ts +13 -0
  19. package/dist/components/base/Switch.d.ts +9 -0
  20. package/dist/components/base/index.d.ts +1 -0
  21. package/dist/components/features/AuthStatus.d.ts +5 -0
  22. package/dist/components/features/LayoutToggle.d.ts +5 -0
  23. package/dist/components/features/SettingsButton.d.ts +5 -0
  24. package/dist/components/features/ThemeToggle.d.ts +5 -0
  25. package/dist/components/features/index.d.ts +4 -0
  26. package/dist/components/layouts/XyzenAgent.d.ts +14 -0
  27. package/dist/components/layouts/XyzenChat.d.ts +1 -0
  28. package/dist/components/layouts/XyzenTopics.d.ts +5 -0
  29. package/dist/components/layouts/components/ChatBubble.d.ts +7 -0
  30. package/dist/components/layouts/components/ChatInput.d.ts +9 -0
  31. package/dist/components/layouts/components/ChatToolbar.d.ts +6 -0
  32. package/dist/components/layouts/components/EmptyChat.d.ts +3 -0
  33. package/dist/components/layouts/components/LoadingMessage.d.ts +5 -0
  34. package/dist/components/layouts/components/SessionHistory.d.ts +7 -0
  35. package/dist/components/layouts/components/ToolCallCard.d.ts +9 -0
  36. package/dist/components/layouts/components/WelcomeMessage.d.ts +30 -0
  37. package/dist/components/modals/AddAgentModal.d.ts +7 -0
  38. package/dist/components/modals/AddLlmProviderModal.d.ts +1 -0
  39. package/dist/components/modals/AddMcpServerModal.d.ts +1 -0
  40. package/dist/components/modals/ConfirmationModal.d.ts +9 -0
  41. package/dist/components/modals/EditAgentModal.d.ts +9 -0
  42. package/dist/components/modals/EditMcpServerModal.d.ts +1 -0
  43. package/dist/components/modals/McpServerItem.d.ts +9 -0
  44. package/dist/components/modals/NotificationModal.d.ts +11 -0
  45. package/dist/components/modals/SettingsModal.d.ts +1 -0
  46. package/dist/components/modals/ToolTestModal.d.ts +10 -0
  47. package/dist/components/modals/settings/ProviderConfigForm.d.ts +1 -0
  48. package/dist/components/modals/settings/ProviderList.d.ts +1 -0
  49. package/dist/components/modals/settings/StyleSettings.d.ts +1 -0
  50. package/dist/components/modals/settings/ThemeSettings.d.ts +1 -0
  51. package/dist/components/modals/settings/UiSettings.d.ts +2 -0
  52. package/dist/components/modals/settings/index.d.ts +5 -0
  53. package/dist/configs/index.d.ts +1 -0
  54. package/dist/hooks/useAuth.d.ts +14 -0
  55. package/dist/hooks/useTheme.d.ts +7 -0
  56. package/dist/index.d.ts +4 -0
  57. package/dist/lib/Markdown.d.ts +7 -0
  58. package/dist/lib/formatDate.d.ts +1 -0
  59. package/dist/main.d.ts +0 -0
  60. package/dist/service/authService.d.ts +54 -0
  61. package/dist/service/llmProviderService.d.ts +31 -0
  62. package/dist/service/mcpService.d.ts +9 -0
  63. package/dist/service/websocketService.d.ts +8 -0
  64. package/dist/service/xyzenService.d.ts +44 -0
  65. package/dist/store/index.d.ts +15 -0
  66. package/dist/store/slices/agentSlice.d.ts +16 -0
  67. package/dist/store/slices/authSlice.d.ts +14 -0
  68. package/dist/store/slices/chatSlice.d.ts +35 -0
  69. package/dist/store/slices/index.d.ts +8 -0
  70. package/dist/store/slices/loadingSlice.d.ts +28 -0
  71. package/dist/store/slices/mcpSlice.d.ts +24 -0
  72. package/dist/store/slices/mcpToolSlice.d.ts +36 -0
  73. package/dist/store/slices/providerSlice.d.ts +26 -0
  74. package/dist/store/slices/uiSlice.d.ts +37 -0
  75. package/dist/store/types.d.ts +62 -0
  76. package/dist/types/llmProvider.d.ts +49 -0
  77. package/dist/types/mcp.d.ts +24 -0
  78. package/dist/utils/providerColors.d.ts +32 -0
  79. package/dist/utils/providerPreferences.d.ts +63 -0
  80. package/dist/utils/toolMessageParser.d.ts +31 -0
  81. package/dist/vite.svg +1 -0
  82. package/dist/xyzen.css +1 -0
  83. package/dist/xyzen.es.js +71832 -0
  84. package/dist/xyzen.umd.js +385 -0
  85. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ export interface XyzenProps {
2
+ backendUrl?: string;
3
+ showLlmProvider?: boolean;
4
+ }
5
+ export declare function Xyzen({ backendUrl, showLlmProvider, }: XyzenProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export interface AppFullscreenProps {
2
+ backendUrl?: string;
3
+ showLlmProvider?: boolean;
4
+ }
5
+ export declare function AppFullscreen({ backendUrl, showLlmProvider, }: AppFullscreenProps): import('react').ReactPortal | null;
@@ -0,0 +1 @@
1
+ export declare function LlmProviders(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function Mcp(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ interface LlmIconProps {
3
+ className?: string;
4
+ }
5
+ declare const LlmIcon: React.FC<LlmIconProps>;
6
+ export default LlmIcon;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const McpIcon: React.FC<React.SVGProps<SVGSVGElement>>;
3
+ export default McpIcon;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ProfileIcon: React.FC<React.SVGProps<SVGSVGElement>>;
3
+ export default ProfileIcon;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function AnthropicIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function AzureIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function GoogleIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function OpenAIIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { default as OpenAIIcon } from './OpenAIIcon';
2
+ export { default as AnthropicIcon } from './AnthropicIcon';
3
+ export { default as GoogleIcon } from './GoogleIcon';
4
+ export { default as AzureIcon } from './AzureIcon';
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ interface BadgeProps {
3
+ children: React.ReactNode;
4
+ variant?: "default" | "blue" | "green" | "yellow" | "red" | "gray";
5
+ size?: "sm" | "md";
6
+ className?: string;
7
+ }
8
+ export declare const Badge: React.FC<BadgeProps>;
9
+ export {};
@@ -0,0 +1,9 @@
1
+ interface EditableTitleProps {
2
+ title: string;
3
+ onSave: (newTitle: string) => Promise<void>;
4
+ className?: string;
5
+ textClassName?: string;
6
+ maxLength?: number;
7
+ }
8
+ export default function EditableTitle({ title, onSave, className, textClassName, maxLength, }: EditableTitleProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,4 @@
1
+ import { InputProps } from '@headlessui/react';
2
+ export declare function Input({ className, ...props }: {
3
+ className?: string;
4
+ } & InputProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ import { LoadingKey } from '../../store/slices/loadingSlice';
2
+ interface LoadingOverlayProps {
3
+ loadingKey: LoadingKey | string;
4
+ children: React.ReactNode;
5
+ className?: string;
6
+ spinnerSize?: "sm" | "md" | "lg";
7
+ overlay?: boolean;
8
+ }
9
+ export declare function LoadingOverlay({ loadingKey, children, className, spinnerSize, overlay, }: LoadingOverlayProps): import("react/jsx-runtime").JSX.Element;
10
+ interface InlineLoadingProps {
11
+ loadingKey: LoadingKey | string;
12
+ loadingText?: string;
13
+ children: React.ReactNode;
14
+ spinnerSize?: "sm" | "md" | "lg";
15
+ }
16
+ export declare function InlineLoading({ loadingKey, loadingText, children, spinnerSize, }: InlineLoadingProps): import("react/jsx-runtime").JSX.Element;
17
+ interface LoadingButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
18
+ loadingKey?: LoadingKey | string;
19
+ loading?: boolean;
20
+ children: React.ReactNode;
21
+ }
22
+ export declare function LoadingButton({ loadingKey, loading: externalLoading, children, disabled, className, ...props }: LoadingButtonProps): import("react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -0,0 +1,7 @@
1
+ interface LoadingSpinnerProps {
2
+ size?: "sm" | "md" | "lg";
3
+ className?: string;
4
+ centered?: boolean;
5
+ }
6
+ export declare function LoadingSpinner({ size, className, centered, }: LoadingSpinnerProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ interface ModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ title: string;
6
+ children: ReactNode;
7
+ maxWidth?: string;
8
+ minWidth?: string;
9
+ maxHeight?: string;
10
+ minHeight?: string;
11
+ }
12
+ export declare function Modal({ isOpen, onClose, title, children, maxWidth, minWidth, maxHeight, minHeight, }: ModalProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ interface SwitchProps {
3
+ checked: boolean;
4
+ onChange: (checked: boolean) => void;
5
+ className?: string;
6
+ disabled?: boolean;
7
+ }
8
+ export declare const Switch: React.FC<SwitchProps>;
9
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Input';
@@ -0,0 +1,5 @@
1
+ export interface AuthStatusProps {
2
+ onTokenInput?: (token: string) => void;
3
+ className?: string;
4
+ }
5
+ export declare function AuthStatus({ onTokenInput, className }: AuthStatusProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export type LayoutToggleProps = {
2
+ className?: string;
3
+ title?: string;
4
+ };
5
+ export declare const LayoutToggle: ({ className, title, }: LayoutToggleProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export type SettingsButtonProps = {
2
+ className?: string;
3
+ title?: string;
4
+ };
5
+ export declare const SettingsButton: ({ className, title, }: SettingsButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export type ThemeToggleProps = {
2
+ className?: string;
3
+ title?: string;
4
+ };
5
+ export declare const ThemeToggle: ({ className, title, }: ThemeToggleProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { AuthStatus } from './AuthStatus';
2
+ export { SettingsButton } from './SettingsButton';
3
+ export { ThemeToggle } from './ThemeToggle';
4
+ export { LayoutToggle } from './LayoutToggle';
@@ -0,0 +1,14 @@
1
+ export type Agent = {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ prompt: string;
6
+ mcp_servers?: {
7
+ id: string;
8
+ }[];
9
+ mcp_server_ids?: string[];
10
+ user_id: string;
11
+ require_tool_confirmation?: boolean;
12
+ provider_id?: string | null;
13
+ };
14
+ export default function XyzenAgent(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export default function XyzenChat(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * XyzenTopics - Topic/Session list component for fullscreen layout
3
+ * Displays topics grouped by sessions with management capabilities
4
+ */
5
+ export default function XyzenTopics(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { Message } from '../../../store/types';
2
+ import { default as React } from 'react';
3
+ interface ChatBubbleProps {
4
+ message: Message;
5
+ }
6
+ declare const ChatBubble: React.FC<ChatBubbleProps>;
7
+ export default ChatBubble;
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ interface ChatInputProps {
3
+ onSendMessage: (message: string) => void;
4
+ disabled?: boolean;
5
+ placeholder?: string;
6
+ height?: number;
7
+ }
8
+ export declare const ChatInput: React.FC<ChatInputProps>;
9
+ export default ChatInput;
@@ -0,0 +1,6 @@
1
+ interface ChatToolbarProps {
2
+ onShowHistory: () => void;
3
+ onHeightChange?: (height: number) => void;
4
+ }
5
+ export default function ChatToolbar({ onShowHistory, onHeightChange, }: ChatToolbarProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const EmptyChat: React.FC;
3
+ export default EmptyChat;
@@ -0,0 +1,5 @@
1
+ interface LoadingMessageProps {
2
+ className?: string;
3
+ }
4
+ export default function LoadingMessage({ className, }: LoadingMessageProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,7 @@
1
+ interface SessionHistoryProps {
2
+ isOpen: boolean;
3
+ onClose: () => void;
4
+ onSelectTopic?: (topicId: string) => void;
5
+ }
6
+ export default function SessionHistory({ isOpen, onClose, onSelectTopic, }: SessionHistoryProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,9 @@
1
+ import { ToolCall } from '../../../store/types';
2
+ interface ToolCallCardProps {
3
+ toolCall: ToolCall;
4
+ className?: string;
5
+ onConfirm?: (toolCallId: string) => void;
6
+ onCancel?: (toolCallId: string) => void;
7
+ }
8
+ export default function ToolCallCard({ toolCall, className, onConfirm, onCancel, }: ToolCallCardProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,30 @@
1
+ import { default as React } from 'react';
2
+ export interface ChatData {
3
+ id: string;
4
+ title: string;
5
+ assistant?: string;
6
+ assistant_name?: string;
7
+ messages_count: number;
8
+ last_message?: {
9
+ content: string;
10
+ timestamp: string;
11
+ };
12
+ created_at: string;
13
+ updated_at: string;
14
+ is_pinned: boolean;
15
+ }
16
+ export interface Assistant {
17
+ id: string;
18
+ key?: string;
19
+ title: string;
20
+ description: string;
21
+ iconType: string;
22
+ iconColor: string;
23
+ category: string;
24
+ chats?: ChatData[];
25
+ }
26
+ interface WelcomeMessageProps {
27
+ assistant?: Assistant | null;
28
+ }
29
+ declare const WelcomeMessage: React.FC<WelcomeMessageProps>;
30
+ export default WelcomeMessage;
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+ interface AddAgentModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ }
6
+ declare const AddAgentModal: React.FC<AddAgentModalProps>;
7
+ export default AddAgentModal;
@@ -0,0 +1 @@
1
+ export declare function AddLlmProviderModal(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function AddMcpServerModal(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ interface ConfirmationModalProps {
2
+ isOpen: boolean;
3
+ onClose: () => void;
4
+ onConfirm: () => void;
5
+ title: string;
6
+ message: string;
7
+ }
8
+ declare const ConfirmationModal: React.FC<ConfirmationModalProps>;
9
+ export default ConfirmationModal;
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { Agent } from '../layouts/XyzenAgent';
3
+ interface EditAgentModalProps {
4
+ isOpen: boolean;
5
+ onClose: () => void;
6
+ agent: Agent | null;
7
+ }
8
+ declare const EditAgentModal: React.FC<EditAgentModalProps>;
9
+ export default EditAgentModal;
@@ -0,0 +1 @@
1
+ export declare function EditMcpServerModal(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { McpServer } from '../../types/mcp';
2
+ import { default as React } from 'react';
3
+ interface McpServerItemProps {
4
+ mcp: McpServer;
5
+ isSelected: boolean;
6
+ onSelectionChange: (selected: boolean) => void;
7
+ }
8
+ export declare const McpServerItem: React.FC<McpServerItemProps>;
9
+ export {};
@@ -0,0 +1,11 @@
1
+ interface NotificationModalProps {
2
+ isOpen: boolean;
3
+ onClose: () => void;
4
+ title: string;
5
+ message: string;
6
+ type?: "info" | "warning" | "error" | "success";
7
+ actionLabel?: string;
8
+ onAction?: () => void;
9
+ }
10
+ declare const NotificationModal: React.FC<NotificationModalProps>;
11
+ export default NotificationModal;
@@ -0,0 +1 @@
1
+ export declare function SettingsModal(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { McpServer } from '../../types/mcp';
2
+ interface ToolTestModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ server: McpServer;
6
+ toolName: string;
7
+ toolDescription?: string;
8
+ }
9
+ export declare const ToolTestModal: React.FC<ToolTestModalProps>;
10
+ export {};
@@ -0,0 +1 @@
1
+ export declare const ProviderConfigForm: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const ProviderList: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function StyleSettings(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function ThemeSettings(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export type UiSettingType = "theme" | "style";
2
+ export declare function UiSettings(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export { ProviderConfigForm } from './ProviderConfigForm';
2
+ export { ProviderList } from './ProviderList';
3
+ export { UiSettings } from './UiSettings';
4
+ export { ThemeSettings } from './ThemeSettings';
5
+ export { StyleSettings } from './StyleSettings';
@@ -0,0 +1 @@
1
+ export declare const DEFAULT_BACKEND_URL: string;
@@ -0,0 +1,14 @@
1
+ import { UserInfo, AuthState } from '../service/authService';
2
+ export interface UseAuthReturn {
3
+ authState: AuthState;
4
+ user: UserInfo | undefined;
5
+ message: string;
6
+ provider: string | undefined;
7
+ isLoading: boolean;
8
+ isAuthenticated: boolean;
9
+ isConfigured: boolean;
10
+ login: (token: string) => Promise<void>;
11
+ logout: () => void;
12
+ checkAuth: (force?: boolean) => Promise<void>;
13
+ }
14
+ export declare function useAuth(): UseAuthReturn;
@@ -0,0 +1,7 @@
1
+ type Theme = "light" | "dark" | "system";
2
+ declare const useTheme: () => {
3
+ theme: Theme;
4
+ cycleTheme: () => void;
5
+ setTheme: (newTheme: Theme) => void;
6
+ };
7
+ export default useTheme;
@@ -0,0 +1,4 @@
1
+ export { Xyzen, type XyzenProps } from './app/App';
2
+ export { default as useTheme } from './hooks/useTheme';
3
+ export { default as xyzenService } from './service/xyzenService';
4
+ export { useXyzen } from './store';
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+ interface MarkdownProps {
3
+ content: string;
4
+ className?: string;
5
+ }
6
+ declare const Markdown: React.FC<MarkdownProps>;
7
+ export default Markdown;
@@ -0,0 +1 @@
1
+ export declare function formatTime(dateString: string): string;
package/dist/main.d.ts ADDED
File without changes
@@ -0,0 +1,54 @@
1
+ export interface AuthStatus {
2
+ is_configured: boolean;
3
+ provider?: string;
4
+ message: string;
5
+ }
6
+ export interface UserInfo {
7
+ id: string;
8
+ username: string;
9
+ email?: string;
10
+ display_name?: string;
11
+ avatar_url?: string;
12
+ roles?: string[];
13
+ }
14
+ export interface AuthValidationResponse {
15
+ success: boolean;
16
+ user_info?: UserInfo;
17
+ error_message?: string;
18
+ error_code?: string;
19
+ }
20
+ export declare enum AuthState {
21
+ NOT_CONFIGURED = "not_configured",
22
+ NOT_AUTHENTICATED = "not_authenticated",
23
+ AUTHENTICATED = "authenticated",
24
+ ERROR = "error"
25
+ }
26
+ export interface AuthResult {
27
+ state: AuthState;
28
+ user?: UserInfo;
29
+ message: string;
30
+ provider?: string;
31
+ }
32
+ declare class AuthService {
33
+ private static readonly TOKEN_KEY;
34
+ private static readonly COOKIE_TOKEN_KEY;
35
+ private authCheckPromise;
36
+ private listeners;
37
+ getToken(): string | null;
38
+ private getCookie;
39
+ setToken(token: string): void;
40
+ removeToken(): void;
41
+ addAuthStateListener(listener: (result: AuthResult) => void): void;
42
+ removeAuthStateListener(listener: (result: AuthResult) => void): void;
43
+ private notifyListeners;
44
+ getAuthStatus(): Promise<AuthStatus>;
45
+ validateToken(token?: string): Promise<AuthValidationResponse>;
46
+ getCurrentUser(): Promise<UserInfo | null>;
47
+ checkAuthState(force?: boolean): Promise<AuthResult>;
48
+ private _performAuthCheck;
49
+ autoLogin(): Promise<AuthResult>;
50
+ login(token: string): Promise<AuthResult>;
51
+ logout(): void;
52
+ }
53
+ export declare const authService: AuthService;
54
+ export {};
@@ -0,0 +1,31 @@
1
+ import { LlmProviderCreate, LlmProviderResponse, LlmProviderUpdate, ProviderTemplate } from '../types/llmProvider';
2
+ declare class LlmProviderService {
3
+ private getBackendUrl;
4
+ private createAuthHeaders;
5
+ /**
6
+ * Get provider templates for UI
7
+ */
8
+ getProviderTemplates(): Promise<ProviderTemplate[]>;
9
+ /**
10
+ * Get current user's providers
11
+ */
12
+ getMyProviders(): Promise<LlmProviderResponse[]>;
13
+ /**
14
+ * Create a new provider
15
+ */
16
+ createProvider(provider: LlmProviderCreate): Promise<LlmProviderResponse>;
17
+ /**
18
+ * Get a single provider by ID
19
+ */
20
+ getProvider(id: string): Promise<LlmProviderResponse>;
21
+ /**
22
+ * Update a provider
23
+ */
24
+ updateProvider(id: string, provider: LlmProviderUpdate): Promise<LlmProviderResponse>;
25
+ /**
26
+ * Delete a provider
27
+ */
28
+ deleteProvider(id: string): Promise<void>;
29
+ }
30
+ export declare const llmProviderService: LlmProviderService;
31
+ export {};
@@ -0,0 +1,9 @@
1
+ import { BuiltinMcpServer, McpServer, McpServerCreate, McpServerUpdate } from '../types/mcp';
2
+ export declare const mcpService: {
3
+ getMcpServers(): Promise<McpServer[]>;
4
+ createMcpServer(server: McpServerCreate): Promise<McpServer>;
5
+ updateMcpServer(id: string, server: McpServerUpdate): Promise<McpServer>;
6
+ deleteMcpServer(id: string): Promise<void>;
7
+ refreshMcpServers(): Promise<void>;
8
+ getBuiltinMcpServers(): Promise<BuiltinMcpServer[]>;
9
+ };
@@ -0,0 +1,8 @@
1
+ import { McpServer } from '../types/mcp';
2
+ declare class WebSocketService {
3
+ private ws;
4
+ connect(path: string, onMessage: (data: McpServer) => void): void;
5
+ disconnect(): void;
6
+ }
7
+ export declare const websocketService: WebSocketService;
8
+ export {};
@@ -0,0 +1,44 @@
1
+ import { Message } from '../store/types';
2
+ interface StatusChangePayload {
3
+ connected: boolean;
4
+ error: string | null;
5
+ }
6
+ interface MessageEvent {
7
+ type: "message" | "processing" | "loading" | "streaming_start" | "streaming_chunk" | "streaming_end" | "message_saved" | "tool_call_request" | "tool_call_response" | "insufficient_balance" | "error";
8
+ data: Message | {
9
+ id: string;
10
+ content?: string;
11
+ error?: string;
12
+ stream_id?: string;
13
+ db_id?: string;
14
+ created_at?: string;
15
+ name?: string;
16
+ description?: string;
17
+ arguments?: Record<string, unknown>;
18
+ status?: string;
19
+ timestamp?: number;
20
+ toolCallId?: string;
21
+ confirmed?: boolean;
22
+ error_code?: string;
23
+ message?: string;
24
+ message_cn?: string;
25
+ details?: Record<string, unknown>;
26
+ action_required?: string;
27
+ };
28
+ }
29
+ type ServiceCallback<T> = (payload: T) => void;
30
+ type MessageEventCallback = (event: MessageEvent) => void;
31
+ declare class XyzenService {
32
+ private ws;
33
+ private onMessageCallback;
34
+ private onMessageEventCallback;
35
+ private onStatusChangeCallback;
36
+ private backendUrl;
37
+ setBackendUrl(url: string): void;
38
+ connect(sessionId: string, topicId: string, onMessage: ServiceCallback<Message>, onStatusChange: ServiceCallback<StatusChangePayload>, onMessageEvent?: MessageEventCallback): void;
39
+ sendMessage(message: string): void;
40
+ sendStructuredMessage(data: Record<string, unknown>): void;
41
+ disconnect(): void;
42
+ }
43
+ declare const xyzenService: XyzenService;
44
+ export default xyzenService;
@@ -0,0 +1,15 @@
1
+ import { XyzenState } from './types';
2
+ export declare const useXyzen: import('zustand').UseBoundStore<Omit<Omit<import('zustand').StoreApi<XyzenState>, "persist"> & {
3
+ persist: {
4
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<XyzenState, unknown>>) => void;
5
+ clearStorage: () => void;
6
+ rehydrate: () => Promise<void> | void;
7
+ hasHydrated: () => boolean;
8
+ onHydrate: (fn: (state: XyzenState) => void) => () => void;
9
+ onFinishHydration: (fn: (state: XyzenState) => void) => () => void;
10
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<XyzenState, unknown>>;
11
+ };
12
+ }, "setState"> & {
13
+ setState(nextStateOrUpdater: XyzenState | Partial<XyzenState> | ((state: import('immer').WritableDraft<XyzenState>) => void), shouldReplace?: false): void;
14
+ setState(nextStateOrUpdater: XyzenState | ((state: import('immer').WritableDraft<XyzenState>) => void), shouldReplace: true): void;
15
+ }>;