omnix-chat 0.1.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.
Files changed (176) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/LICENSE +21 -0
  3. package/README.md +360 -0
  4. package/dist/es-BoccmK_s.js +457 -0
  5. package/dist/es-BoccmK_s.js.map +1 -0
  6. package/dist/favicon.svg +1 -0
  7. package/dist/logo.svg +1 -0
  8. package/dist/omnix-chat.es.js +3197 -0
  9. package/dist/omnix-chat.es.js.map +1 -0
  10. package/dist/omnix-chat.umd.js +4 -0
  11. package/dist/omnix-chat.umd.js.map +1 -0
  12. package/dist/react.es.js +26062 -0
  13. package/dist/react.es.js.map +1 -0
  14. package/dist/react.umd.js +593 -0
  15. package/dist/react.umd.js.map +1 -0
  16. package/dist/src/chat/ChatRoot.d.ts +9 -0
  17. package/dist/src/chat/ChatRoot.d.ts.map +1 -0
  18. package/dist/src/chat/bridge/index.d.ts +2 -0
  19. package/dist/src/chat/bridge/index.d.ts.map +1 -0
  20. package/dist/src/chat/bridge/messageBridge.d.ts +8 -0
  21. package/dist/src/chat/bridge/messageBridge.d.ts.map +1 -0
  22. package/dist/src/chat/components/AIAssistantBubble.d.ts +13 -0
  23. package/dist/src/chat/components/AIAssistantBubble.d.ts.map +1 -0
  24. package/dist/src/chat/components/ErrorBoundary.d.ts +25 -0
  25. package/dist/src/chat/components/ErrorBoundary.d.ts.map +1 -0
  26. package/dist/src/chat/components/LauncherSlot.d.ts +8 -0
  27. package/dist/src/chat/components/LauncherSlot.d.ts.map +1 -0
  28. package/dist/src/chat/components/LoginForm.d.ts +7 -0
  29. package/dist/src/chat/components/LoginForm.d.ts.map +1 -0
  30. package/dist/src/chat/components/PanelHeaderTitle.d.ts +7 -0
  31. package/dist/src/chat/components/PanelHeaderTitle.d.ts.map +1 -0
  32. package/dist/src/chat/components/message/BlockExportActions.d.ts +7 -0
  33. package/dist/src/chat/components/message/BlockExportActions.d.ts.map +1 -0
  34. package/dist/src/chat/components/message/MessageBlockRenderer.d.ts +6 -0
  35. package/dist/src/chat/components/message/MessageBlockRenderer.d.ts.map +1 -0
  36. package/dist/src/chat/components/message/SafeMarkdownHtml.d.ts +11 -0
  37. package/dist/src/chat/components/message/SafeMarkdownHtml.d.ts.map +1 -0
  38. package/dist/src/chat/components/message/blockExport.d.ts +5 -0
  39. package/dist/src/chat/components/message/blockExport.d.ts.map +1 -0
  40. package/dist/src/chat/components/message/chartBlockUtils.d.ts +10 -0
  41. package/dist/src/chat/components/message/chartBlockUtils.d.ts.map +1 -0
  42. package/dist/src/chat/components/message/index.d.ts +4 -0
  43. package/dist/src/chat/components/message/index.d.ts.map +1 -0
  44. package/dist/src/chat/components/message/parseMessageBlocks.d.ts +15 -0
  45. package/dist/src/chat/components/message/parseMessageBlocks.d.ts.map +1 -0
  46. package/dist/src/chat/components/message/types.d.ts +89 -0
  47. package/dist/src/chat/components/message/types.d.ts.map +1 -0
  48. package/dist/src/chat/components/panel/AIAssistantPanel.d.ts +4 -0
  49. package/dist/src/chat/components/panel/AIAssistantPanel.d.ts.map +1 -0
  50. package/dist/src/chat/components/panel/AgentSkillBar.d.ts +17 -0
  51. package/dist/src/chat/components/panel/AgentSkillBar.d.ts.map +1 -0
  52. package/dist/src/chat/components/panel/BubbleAvatars.d.ts +7 -0
  53. package/dist/src/chat/components/panel/BubbleAvatars.d.ts.map +1 -0
  54. package/dist/src/chat/components/panel/ConversationSidebar.d.ts +23 -0
  55. package/dist/src/chat/components/panel/ConversationSidebar.d.ts.map +1 -0
  56. package/dist/src/chat/components/panel/DownFeedbackModal.d.ts +18 -0
  57. package/dist/src/chat/components/panel/DownFeedbackModal.d.ts.map +1 -0
  58. package/dist/src/chat/components/panel/MessageBody.d.ts +16 -0
  59. package/dist/src/chat/components/panel/MessageBody.d.ts.map +1 -0
  60. package/dist/src/chat/components/panel/MessageFeedbackFooter.d.ts +10 -0
  61. package/dist/src/chat/components/panel/MessageFeedbackFooter.d.ts.map +1 -0
  62. package/dist/src/chat/components/panel/MessageList.d.ts +13 -0
  63. package/dist/src/chat/components/panel/MessageList.d.ts.map +1 -0
  64. package/dist/src/chat/components/panel/PanelModals.d.ts +13 -0
  65. package/dist/src/chat/components/panel/PanelModals.d.ts.map +1 -0
  66. package/dist/src/chat/components/panel/PromptsSection.d.ts +11 -0
  67. package/dist/src/chat/components/panel/PromptsSection.d.ts.map +1 -0
  68. package/dist/src/chat/components/panel/constants.d.ts +83 -0
  69. package/dist/src/chat/components/panel/constants.d.ts.map +1 -0
  70. package/dist/src/chat/components/panel/index.d.ts +3 -0
  71. package/dist/src/chat/components/panel/index.d.ts.map +1 -0
  72. package/dist/src/chat/components/panel/types.d.ts +60 -0
  73. package/dist/src/chat/components/panel/types.d.ts.map +1 -0
  74. package/dist/src/chat/components/panel/useBubbleItems.d.ts +15 -0
  75. package/dist/src/chat/components/panel/useBubbleItems.d.ts.map +1 -0
  76. package/dist/src/chat/components/panel/useBubbleScroll.d.ts +21 -0
  77. package/dist/src/chat/components/panel/useBubbleScroll.d.ts.map +1 -0
  78. package/dist/src/chat/components/panel/useConversationSidebarScroll.d.ts +10 -0
  79. package/dist/src/chat/components/panel/useConversationSidebarScroll.d.ts.map +1 -0
  80. package/dist/src/chat/components/panel/utils.d.ts +25 -0
  81. package/dist/src/chat/components/panel/utils.d.ts.map +1 -0
  82. package/dist/src/chat/config/assistantPrompts.d.ts +9 -0
  83. package/dist/src/chat/config/assistantPrompts.d.ts.map +1 -0
  84. package/dist/src/chat/config/globalInteractionCopy.d.ts +19 -0
  85. package/dist/src/chat/config/globalInteractionCopy.d.ts.map +1 -0
  86. package/dist/src/chat/config/index.d.ts +2 -0
  87. package/dist/src/chat/config/index.d.ts.map +1 -0
  88. package/dist/src/chat/hooks/index.d.ts +4 -0
  89. package/dist/src/chat/hooks/index.d.ts.map +1 -0
  90. package/dist/src/chat/hooks/useClientState.d.ts +15 -0
  91. package/dist/src/chat/hooks/useClientState.d.ts.map +1 -0
  92. package/dist/src/chat/hooks/useDebouncedSessionPrepare.d.ts +9 -0
  93. package/dist/src/chat/hooks/useDebouncedSessionPrepare.d.ts.map +1 -0
  94. package/dist/src/chat/hooks/useLauncherPosition.d.ts +11 -0
  95. package/dist/src/chat/hooks/useLauncherPosition.d.ts.map +1 -0
  96. package/dist/src/chat/i18n.d.ts +11 -0
  97. package/dist/src/chat/i18n.d.ts.map +1 -0
  98. package/dist/src/chat/styles/host-styles.d.ts +10 -0
  99. package/dist/src/chat/styles/host-styles.d.ts.map +1 -0
  100. package/dist/src/chat/styles/inject.d.ts +4 -0
  101. package/dist/src/chat/styles/inject.d.ts.map +1 -0
  102. package/dist/src/chat/types.d.ts +56 -0
  103. package/dist/src/chat/types.d.ts.map +1 -0
  104. package/dist/src/chat/utils.d.ts +3 -0
  105. package/dist/src/chat/utils.d.ts.map +1 -0
  106. package/dist/src/core/api-envelope.d.ts +6 -0
  107. package/dist/src/core/api-envelope.d.ts.map +1 -0
  108. package/dist/src/core/auth-headers.d.ts +19 -0
  109. package/dist/src/core/auth-headers.d.ts.map +1 -0
  110. package/dist/src/core/auth-response.d.ts +9 -0
  111. package/dist/src/core/auth-response.d.ts.map +1 -0
  112. package/dist/src/core/auth-store.d.ts +23 -0
  113. package/dist/src/core/auth-store.d.ts.map +1 -0
  114. package/dist/src/core/auth-types.d.ts +26 -0
  115. package/dist/src/core/auth-types.d.ts.map +1 -0
  116. package/dist/src/core/auth.d.ts +25 -0
  117. package/dist/src/core/auth.d.ts.map +1 -0
  118. package/dist/src/core/chat-response.d.ts +66 -0
  119. package/dist/src/core/chat-response.d.ts.map +1 -0
  120. package/dist/src/core/chat-sse.d.ts +66 -0
  121. package/dist/src/core/chat-sse.d.ts.map +1 -0
  122. package/dist/src/core/errors.d.ts +16 -0
  123. package/dist/src/core/errors.d.ts.map +1 -0
  124. package/dist/src/core/events.d.ts +19 -0
  125. package/dist/src/core/events.d.ts.map +1 -0
  126. package/dist/src/core/feedback-utils.d.ts +9 -0
  127. package/dist/src/core/feedback-utils.d.ts.map +1 -0
  128. package/dist/src/core/http/client.d.ts +3 -0
  129. package/dist/src/core/http/client.d.ts.map +1 -0
  130. package/dist/src/core/http/errors.d.ts +6 -0
  131. package/dist/src/core/http/errors.d.ts.map +1 -0
  132. package/dist/src/core/http/index.d.ts +3 -0
  133. package/dist/src/core/http/index.d.ts.map +1 -0
  134. package/dist/src/core/http/sse.d.ts +5 -0
  135. package/dist/src/core/http/sse.d.ts.map +1 -0
  136. package/dist/src/core/http/types.d.ts +30 -0
  137. package/dist/src/core/http/types.d.ts.map +1 -0
  138. package/dist/src/core/instance.d.ts +135 -0
  139. package/dist/src/core/instance.d.ts.map +1 -0
  140. package/dist/src/core/message-blocks.d.ts +25 -0
  141. package/dist/src/core/message-blocks.d.ts.map +1 -0
  142. package/dist/src/core/resolve.d.ts +5 -0
  143. package/dist/src/core/resolve.d.ts.map +1 -0
  144. package/dist/src/core/services/agent.service.d.ts +18 -0
  145. package/dist/src/core/services/agent.service.d.ts.map +1 -0
  146. package/dist/src/core/services/auth.service.d.ts +14 -0
  147. package/dist/src/core/services/auth.service.d.ts.map +1 -0
  148. package/dist/src/core/services/chat.service.d.ts +28 -0
  149. package/dist/src/core/services/chat.service.d.ts.map +1 -0
  150. package/dist/src/core/services/feedback.service.d.ts +15 -0
  151. package/dist/src/core/services/feedback.service.d.ts.map +1 -0
  152. package/dist/src/core/services/index.d.ts +5 -0
  153. package/dist/src/core/services/index.d.ts.map +1 -0
  154. package/dist/src/index.d.ts +15 -0
  155. package/dist/src/index.d.ts.map +1 -0
  156. package/dist/src/react/AgentChat.d.ts +25 -0
  157. package/dist/src/react/AgentChat.d.ts.map +1 -0
  158. package/dist/src/react/AgentChatEmbedded.d.ts +12 -0
  159. package/dist/src/react/AgentChatEmbedded.d.ts.map +1 -0
  160. package/dist/src/react/AgentChatProvider.d.ts +15 -0
  161. package/dist/src/react/AgentChatProvider.d.ts.map +1 -0
  162. package/dist/src/react/context.d.ts +4 -0
  163. package/dist/src/react/context.d.ts.map +1 -0
  164. package/dist/src/react/index.d.ts +11 -0
  165. package/dist/src/react/index.d.ts.map +1 -0
  166. package/dist/src/react/useAgentChat.d.ts +36 -0
  167. package/dist/src/react/useAgentChat.d.ts.map +1 -0
  168. package/dist/src/types.d.ts +337 -0
  169. package/dist/src/types.d.ts.map +1 -0
  170. package/dist/src/utils/id.d.ts +7 -0
  171. package/dist/src/utils/id.d.ts.map +1 -0
  172. package/dist/src/utils/sdk-version.d.ts +9 -0
  173. package/dist/src/utils/sdk-version.d.ts.map +1 -0
  174. package/dist/xlsx-CXTDRHcz.js +12389 -0
  175. package/dist/xlsx-CXTDRHcz.js.map +1 -0
  176. package/package.json +115 -0
@@ -0,0 +1,25 @@
1
+ import { ReactNode } from 'react';
2
+ import { AgentChatOptions } from '../types';
3
+ export interface AgentChatProps extends AgentChatOptions {
4
+ children?: ReactNode;
5
+ }
6
+ /**
7
+ * Recommended React integration — import and render directly.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { AgentChat } from 'omnix-chat/react';
12
+ *
13
+ * export function App() {
14
+ * return (
15
+ * <AgentChat
16
+ * dsn="your-dsn"
17
+ * baseUrl="http://localhost:3030"
18
+ * userAccessToken={token}
19
+ * />
20
+ * );
21
+ * }
22
+ * ```
23
+ */
24
+ export declare function AgentChat({ children, dsn, ...options }: AgentChatProps): import("react/jsx-runtime").JSX.Element | null;
25
+ //# sourceMappingURL=AgentChat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChat.d.ts","sourceRoot":"","sources":["../../../src/react/AgentChat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIjD,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,cAAc,kDAoEtE"}
@@ -0,0 +1,12 @@
1
+ import { AgentChatClient } from '../core/instance';
2
+ import { WidgetPosition } from '../types';
3
+ export interface AgentChatEmbeddedProps {
4
+ client: AgentChatClient;
5
+ position?: WidgetPosition;
6
+ }
7
+ /**
8
+ * Renders the chat UI in a React portal (no Shadow DOM).
9
+ * Ant Design Modal/Dropdown work normally; preferred for React apps.
10
+ */
11
+ export declare function AgentChatEmbedded({ client, position }: AgentChatEmbeddedProps): import('react').ReactPortal | null;
12
+ //# sourceMappingURL=AgentChatEmbedded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChatEmbedded.d.ts","sourceRoot":"","sources":["../../../src/react/AgentChatEmbedded.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,sCAqC7E"}
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ import { AgentChatOptions } from '../types';
3
+ export interface AgentChatProviderProps extends AgentChatOptions {
4
+ children?: ReactNode;
5
+ }
6
+ /**
7
+ * Wraps an `AgentChatClient` lifecycle with React semantics:
8
+ * - Creates one client per mount (or per `dsn` change).
9
+ * - In Strict Mode the effect is intentionally double-invoked; we use a
10
+ * `mountedRef` guard so `init()` runs at most once per logical mount.
11
+ * - Re-runs init() if the `dsn` prop changes between renders, after first
12
+ * destroying the previous instance to avoid `ALREADY_INITIALIZED`.
13
+ */
14
+ export declare function AgentChatProvider({ children, ...options }: AgentChatProviderProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=AgentChatProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChatProvider.d.ts","sourceRoot":"","sources":["../../../src/react/AgentChatProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,EAAE,sBAAsB,2CAmDjF"}
@@ -0,0 +1,4 @@
1
+ import { AgentChatClient } from '../core/instance';
2
+ export declare const AgentChatContext: import('react').Context<AgentChatClient | null>;
3
+ export declare const MISSING_PROVIDER_MESSAGE: string;
4
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/react/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,eAAO,MAAM,gBAAgB,iDAA8C,CAAC;AAE5E,eAAO,MAAM,wBAAwB,QAG6B,CAAC"}
@@ -0,0 +1,11 @@
1
+ /** Recommended: render `<AgentChat />` — self-contained init + UI. */
2
+ export { AgentChat, type AgentChatProps } from './AgentChat';
3
+ export { AgentChatEmbedded, type AgentChatEmbeddedProps } from './AgentChatEmbedded';
4
+ export { AgentChatProvider, type AgentChatProviderProps } from './AgentChatProvider';
5
+ export { useAgentChat, type UseAgentChatResult } from './useAgentChat';
6
+ export { AgentChatContext } from './context';
7
+ export type { AgentChatOptions, AgentChatProjectConfig, AgentChatLauncherProps, AgentChatInstance, AgentChatState, AgentChatLifecycle, AgentChatEventMap, AgentChatErrorPayload, AgentChatMessagePayload, AgentMessage, AgentMessageContent, AgentMessageContentText, AgentMessageRole, AgentMessageStatus, SessionInfo, ChatSessionSummary, AgentChatSessionsPayload, Theme, UserContext, WidgetPosition, } from '../types';
8
+ export { AgentChatError } from '../core/errors';
9
+ export { useAuthStore } from '../core/auth-store';
10
+ export type { AppClientAuthData, AppClientInfo, AuthUser } from '../core/auth-types';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,EACL,WAAW,EACX,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { AgentChatClient } from '../core/instance';
2
+ import { AgentChatErrorPayload, AgentChatState, AgentMessage, AgentChatLoginCredentials } from '../types';
3
+ export interface UseAgentChatResult {
4
+ instance: AgentChatClient;
5
+ state: AgentChatState;
6
+ isOpen: boolean;
7
+ open: () => void;
8
+ close: () => void;
9
+ toggle: () => void;
10
+ login: (credentials: AgentChatLoginCredentials) => Promise<void>;
11
+ logout: () => void;
12
+ isLoggedIn: boolean;
13
+ sendMessage: (text: string) => Promise<AgentMessage>;
14
+ selectSession: (sessionId: string) => Promise<void>;
15
+ refreshSessions: () => Promise<void>;
16
+ loadMoreSessions: () => Promise<void>;
17
+ loadMoreSessionMessages: () => Promise<void>;
18
+ selectAgent: (agentId: string) => Promise<void>;
19
+ selectSkill: (skillId: string) => void;
20
+ sessions: AgentChatState['sessions'];
21
+ agents: AgentChatState['agents'];
22
+ skills: AgentChatState['skills'];
23
+ selectedAgentId: AgentChatState['selectedAgentId'];
24
+ selectedSkillId: AgentChatState['selectedSkillId'];
25
+ agentsLoading: AgentChatState['agentsLoading'];
26
+ skillsLoading: AgentChatState['skillsLoading'];
27
+ agentsEmptyReason: AgentChatState['agentsEmptyReason'];
28
+ sessionsHasMore: AgentChatState['sessionsHasMore'];
29
+ sessionsLoadingMore: AgentChatState['sessionsLoadingMore'];
30
+ sessionMessagesHasMore: AgentChatState['sessionMessagesHasMore'];
31
+ sessionMessagesLoadingMore: AgentChatState['sessionMessagesLoadingMore'];
32
+ activeSessionId: AgentChatState['activeSessionId'];
33
+ lastError: AgentChatErrorPayload | null;
34
+ }
35
+ export declare function useAgentChat(): UseAgentChatResult;
36
+ //# sourceMappingURL=useAgentChat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentChat.d.ts","sourceRoot":"","sources":["../../../src/react/useAgentChat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,CAAC,WAAW,EAAE,yBAAyB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,uBAAuB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,eAAe,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnD,eAAe,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnD,aAAa,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/C,aAAa,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/C,iBAAiB,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvD,eAAe,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnD,mBAAmB,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAC3D,sBAAsB,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACjE,0BAA0B,EAAE,cAAc,CAAC,4BAA4B,CAAC,CAAC;IACzE,eAAe,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnD,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACzC;AAED,wBAAgB,YAAY,IAAI,kBAAkB,CAqEjD"}
@@ -0,0 +1,337 @@
1
+ import { AgentChatError } from './core/errors';
2
+ import { MouseEvent, ReactNode, TouchEvent } from 'react';
3
+ export interface UserContext {
4
+ /** Stable user identifier in the host application. */
5
+ id: string;
6
+ email?: string;
7
+ name?: string;
8
+ /**
9
+ * Optional HMAC of the user identity. The backend may require this to
10
+ * prevent identity spoofing from the browser. The exact algorithm is
11
+ * decided by the backend (commonly `HMAC-SHA256(secret, userId + timestamp)`).
12
+ */
13
+ signature?: string;
14
+ /** Unix timestamp in seconds, paired with `signature`. */
15
+ signatureTimestamp?: number;
16
+ }
17
+ export type Theme = 'light' | 'dark' | 'auto';
18
+ export type WidgetPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
19
+ /** Branding shown in the panel header and assistant avatar. */
20
+ export interface AgentChatProjectConfig {
21
+ /** Project / product name shown at the top-left of the chat panel. */
22
+ name?: string;
23
+ /** Logo URL for the assistant avatar (and default launcher icon). */
24
+ logo?: string;
25
+ }
26
+ /** Props passed to a custom floating launcher (`launcher` render function). */
27
+ export interface AgentChatLauncherProps {
28
+ position: {
29
+ x: number;
30
+ y: number;
31
+ };
32
+ loading: boolean;
33
+ open: () => void;
34
+ onMouseDown: (event: MouseEvent<HTMLElement>) => void;
35
+ onTouchStart: (event: TouchEvent<HTMLElement>) => void;
36
+ onClick?: (event: MouseEvent<HTMLElement>) => void;
37
+ }
38
+ export interface AgentChatOptions {
39
+ /**
40
+ * Required. Opaque DSN string identifying this client on the auth service.
41
+ * Treated as an unparsed credential — the SDK forwards it as the
42
+ * `x-app-dsn` request header on every backend call.
43
+ */
44
+ dsn: string;
45
+ /**
46
+ * Backend base URL. Used for **all** SDK API calls, i.e. every request is
47
+ * sent to `{baseUrl} + path`.
48
+ * Defaults to `http://localhost:3030`; override in production.
49
+ */
50
+ baseUrl?: string;
51
+ /**
52
+ * Optional account token for `POST /app-client/auth` (`x-account-token` +
53
+ * `x-app-dsn`). The response `accessToken` is used as `Authorization: Bearer`
54
+ * on subsequent `/chat`, `/agent`, etc.
55
+ */
56
+ accountToken?: string;
57
+ /**
58
+ * @deprecated Alias of `accountToken` for backward compatibility.
59
+ * Sent as `x-account-token` on `POST /app-client/auth`.
60
+ */
61
+ userAccessToken?: string;
62
+ /** Optional end-user context. Forwarded to the backend at handshake time. */
63
+ user?: UserContext;
64
+ /** BCP-47 locale, defaults to `navigator.language`. */
65
+ locale?: string;
66
+ /** Visual theme. `auto` follows `prefers-color-scheme`. */
67
+ theme?: Theme;
68
+ /** Optional antd theme token overrides forwarded to ConfigProvider.theme.token. */
69
+ themeToken?: Record<string, unknown>;
70
+ /** Where the floating launcher button anchors to the viewport. */
71
+ position?: WidgetPosition;
72
+ /** Open the widget panel automatically after init (React UI must be mounted). */
73
+ autoOpen?: boolean;
74
+ /** Print verbose logs to the console. */
75
+ debug?: boolean;
76
+ /** Extra request headers added to every backend call. */
77
+ headers?: Record<string, string>;
78
+ /** Convenience alias for `instance.on('ready', handler)`. */
79
+ onReady?: () => void;
80
+ /** Static agent list; used when `GET /agent/client/available` is unavailable. */
81
+ agents?: ChatAgentSummary[];
82
+ /** Static skill list; used when skills client API is unavailable. */
83
+ skills?: ChatSkillSummary[];
84
+ /** Optional query for `GET /agent/client/available`. */
85
+ agentListQuery?: QueryClientAvailableAgents;
86
+ /** Optional query for `GET /agent/:agentId/skills/client`. */
87
+ skillListQuery?: QueryClientSkillByAgent;
88
+ /** Initial agent selection (`id` from agents list). */
89
+ defaultAgentId?: string;
90
+ /** Initial skill selection (`id` from skills list). */
91
+ defaultSkillId?: string;
92
+ /** Project branding: panel title and assistant logo. */
93
+ project?: AgentChatProjectConfig;
94
+ /**
95
+ * Replace the default floating bubble. Pass a render function for full control
96
+ * (position, drag, open), or a React node mounted in a fixed-position slot
97
+ * (use `useAgentChat().open()` inside your element).
98
+ */
99
+ launcher?: ReactNode | ((props: AgentChatLauncherProps) => ReactNode);
100
+ }
101
+ export interface AgentMessageContentText {
102
+ type: 'text';
103
+ text: string;
104
+ }
105
+ export type AgentMessageContent = AgentMessageContentText;
106
+ export type AgentMessageBlocks = Array<Record<string, unknown> & {
107
+ type: string;
108
+ id?: string;
109
+ }>;
110
+ export type AgentMessageRole = 'user' | 'agent' | 'system';
111
+ export type AgentMessageStatus = 'pending' | 'sent' | 'failed';
112
+ /** Live assistant turn fed by SSE (`think` / `result` / `complete` / `error`). */
113
+ export interface AgentStreamState {
114
+ phase: 'thinking' | 'result' | 'complete' | 'error';
115
+ /** Accumulated thinking text from SSE `think` events (single block, appended in order). */
116
+ thinkText: string;
117
+ resultText: string;
118
+ resultBlocks?: AgentMessageBlocks;
119
+ runId?: number;
120
+ seenSeq?: number[];
121
+ errorMessage?: string;
122
+ }
123
+ export type MessageFeedbackRating = 'up' | 'down';
124
+ export interface MessageFeedbackDownReasonTag {
125
+ key: string;
126
+ label: string;
127
+ }
128
+ export interface MessageFeedbackView {
129
+ messageId: number;
130
+ rating: MessageFeedbackRating;
131
+ reasonTags: string[];
132
+ comment: string | null;
133
+ createdAt: string;
134
+ updatedAt: string;
135
+ }
136
+ export type UpsertMessageFeedbackBody = {
137
+ rating: 'up';
138
+ } | {
139
+ rating: 'down';
140
+ reasonTags?: string[];
141
+ comment?: string;
142
+ };
143
+ export type MessageFeedbackBatchData = {
144
+ items: MessageFeedbackView[];
145
+ };
146
+ export interface AgentMessage {
147
+ id: string;
148
+ role: AgentMessageRole;
149
+ content: AgentMessageContent;
150
+ /** Unix timestamp in milliseconds when the message was created. */
151
+ createdAt: number;
152
+ /** Local UI delivery state. Server-originated messages are always `sent`. */
153
+ status?: AgentMessageStatus;
154
+ /** Persisted thinking text from SSE `think` events (shown alongside result). */
155
+ thinkText?: string;
156
+ /** Populated while assistant reply streams over SSE. */
157
+ stream?: AgentStreamState;
158
+ /** Structured blocks for assistant content (table/chart/loading etc). */
159
+ blocks?: AgentMessageBlocks;
160
+ /** Current user's like/dislike on this assistant message. */
161
+ feedback?: MessageFeedbackView | null;
162
+ }
163
+ export interface SessionInfo {
164
+ sessionId: string;
165
+ conversationId: string;
166
+ }
167
+ /** Summary row for the session sidebar (`GET /chat`). */
168
+ export interface ChatSessionSummary {
169
+ sessionId: string;
170
+ title?: string;
171
+ updatedAt?: number;
172
+ preview?: string;
173
+ }
174
+ /** Agent option for the composer toolbar (`GET /agent/client/available`). */
175
+ export interface ChatAgentSummary {
176
+ id: string;
177
+ name: string;
178
+ description?: string | null;
179
+ }
180
+ export type ToolLevel = 'L1' | 'L2' | 'L3';
181
+ /** Skill option for the composer toolbar (`GET /agent/:agentId/skills/client`). */
182
+ export interface ChatSkillSummary {
183
+ id: string;
184
+ name: string;
185
+ description?: string | null;
186
+ agentId?: string;
187
+ capabilityKey?: string | null;
188
+ riskLevel?: ToolLevel;
189
+ requiresWriteConfirmation?: boolean;
190
+ toolIds?: number[];
191
+ }
192
+ /** Why the available-agent list is empty (client-side heuristic). */
193
+ export type AgentsEmptyReason = 'permission' | 'not_configured' | null;
194
+ /** `GET /agent/client/available` query */
195
+ export interface QueryClientAvailableAgents {
196
+ id?: number;
197
+ definitionKey?: string;
198
+ integrationId?: number;
199
+ toolCategoryId?: number;
200
+ toolCategoryIdIsNull?: boolean;
201
+ name?: string;
202
+ description?: string;
203
+ path?: string;
204
+ keyword?: string;
205
+ riskLevel?: ToolLevel;
206
+ method?: string;
207
+ isActive?: boolean;
208
+ }
209
+ /** `GET /agent/:agentId/skills/client` query */
210
+ export interface QueryClientSkillByAgent {
211
+ name?: string;
212
+ capabilityKey?: string;
213
+ keyword?: string;
214
+ }
215
+ export interface AgentChatSessionsPayload {
216
+ sessions: ChatSessionSummary[];
217
+ }
218
+ export interface AgentChatErrorPayload {
219
+ code: string;
220
+ message: string;
221
+ cause?: unknown;
222
+ }
223
+ /** Pending write-operation confirmation from SSE `confirmation_required`. */
224
+ export interface WriteConfirmationState {
225
+ awaiting: boolean;
226
+ submitting: boolean;
227
+ runId: number;
228
+ turnId?: number;
229
+ message: string;
230
+ }
231
+ export interface AgentChatMessagePayload {
232
+ message: AgentMessage;
233
+ source: AgentMessageRole;
234
+ }
235
+ export interface AgentChatEventMap extends Record<string, unknown> {
236
+ ready: void;
237
+ error: AgentChatErrorPayload;
238
+ open: void;
239
+ close: void;
240
+ destroyed: void;
241
+ session: SessionInfo;
242
+ sessions: AgentChatSessionsPayload;
243
+ message: AgentChatMessagePayload;
244
+ }
245
+ export type AgentChatLifecycle = 'uninitialized' | 'initialized' | 'destroyed';
246
+ export interface AgentChatState {
247
+ lifecycle: AgentChatLifecycle;
248
+ isOpen: boolean;
249
+ /** True after `POST /app-client/auth` succeeds during `init()`. Gates the launcher. */
250
+ isClientAuthenticated: boolean;
251
+ isLoggedIn: boolean;
252
+ session: SessionInfo | null;
253
+ /** All chat sessions for the sidebar. */
254
+ sessions: ChatSessionSummary[];
255
+ /** Whether more sessions can be loaded (`GET /chat?page=&size=`). */
256
+ sessionsHasMore: boolean;
257
+ /** True while loading the next sessions page. */
258
+ sessionsLoadingMore: boolean;
259
+ /** Currently selected session; drives `messages`. */
260
+ activeSessionId: string | null;
261
+ messages: AgentMessage[];
262
+ /** Whether older messages can be loaded for the active session. */
263
+ sessionMessagesHasMore: boolean;
264
+ /** True while loading older messages for the active session. */
265
+ sessionMessagesLoadingMore: boolean;
266
+ /** Available agents for the composer toolbar. */
267
+ agents: ChatAgentSummary[];
268
+ /** Skills for the currently selected agent. */
269
+ skills: ChatSkillSummary[];
270
+ selectedAgentId: string | null;
271
+ selectedSkillId: string | null;
272
+ agentsLoading: boolean;
273
+ skillsLoading: boolean;
274
+ /** Set when `client/available` is empty; uses `client/list` to distinguish permission vs config. */
275
+ agentsEmptyReason: AgentsEmptyReason;
276
+ lastError: AgentChatErrorPayload | null;
277
+ /** Set when SSE requests user confirmation before executing write tools. */
278
+ writeConfirmation: WriteConfirmationState | null;
279
+ }
280
+ export interface AgentChatLoginCredentials {
281
+ email: string;
282
+ password: string;
283
+ }
284
+ /**
285
+ * Public surface of an omnix-chat instance. UI is rendered via React
286
+ * (`<AgentChat />` from `omnix-chat/react`); this client is headless.
287
+ */
288
+ export interface AgentChatInstance {
289
+ init(options: AgentChatOptions): Promise<AgentChatInstance>;
290
+ login(credentials: AgentChatLoginCredentials): Promise<void>;
291
+ logout(): void;
292
+ isLoggedIn(): boolean;
293
+ destroy(): void;
294
+ open(): void;
295
+ close(): void;
296
+ toggle(): void;
297
+ isOpen(): boolean;
298
+ identify(user: UserContext): void;
299
+ selectSession(sessionId: string): Promise<void>;
300
+ /** Delete a session via `DELETE /chat/{sessionId}`. */
301
+ deleteSession(sessionId: string): Promise<void>;
302
+ /** Warm up backend for a session via `POST /chat/{sessionId}/prepare`. */
303
+ prepareSession(sessionId: string, signal?: AbortSignal): Promise<void>;
304
+ /** Fetch session list from `GET /chat` and refresh the sidebar. */
305
+ refreshSessions(signal?: AbortSignal): Promise<void>;
306
+ /** Load the next page of sessions when the sidebar is scrolled to the bottom. */
307
+ loadMoreSessions(signal?: AbortSignal): Promise<void>;
308
+ /** Load older messages when the message list is scrolled to the top. */
309
+ loadMoreSessionMessages(signal?: AbortSignal): Promise<void>;
310
+ /** Switch the active agent (reloads skills for that agent). */
311
+ selectAgent(agentId: string): Promise<void>;
312
+ /** Switch the active skill. */
313
+ selectSkill(skillId: string): void;
314
+ sendMessage(text: string, opts?: {
315
+ id?: string;
316
+ }): Promise<AgentMessage>;
317
+ /** Confirm a pending write operation (`POST` with `confirmWrite: true`). */
318
+ confirmWrite(): Promise<void>;
319
+ /** Cancel a pending write operation (`POST` with `cancelWrite: true`). */
320
+ cancelWrite(): Promise<void>;
321
+ prefetch(): Promise<void>;
322
+ /** Clear active session; next message starts a new chat. */
323
+ startNewChat(): void;
324
+ /** Abort the current assistant SSE reply. */
325
+ cancelGeneration(): void;
326
+ /** Cached down-reason tags for the feedback modal (fetched on first use). */
327
+ getDownReasonTags(): Promise<MessageFeedbackDownReasonTag[]>;
328
+ /** Like or dislike an assistant message (`PUT .../feedback`). */
329
+ submitMessageFeedback(messageId: string, body: UpsertMessageFeedbackBody): Promise<void>;
330
+ /** Cancel like/dislike on a message (`DELETE .../feedback`). */
331
+ removeMessageFeedback(messageId: string): Promise<void>;
332
+ getState(): AgentChatState;
333
+ on<K extends keyof AgentChatEventMap>(event: K, handler: (payload: AgentChatEventMap[K]) => void): () => void;
334
+ off<K extends keyof AgentChatEventMap>(event: K, handler: (payload: AgentChatEventMap[K]) => void): void;
335
+ }
336
+ export type { AgentChatError };
337
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Generate a short, URL-safe random id. Uses `crypto.randomUUID` when
3
+ * available (modern browsers + Node 19+) and falls back to `Math.random`
4
+ * for very old engines or test environments.
5
+ */
6
+ export declare function nanoId(prefix?: string): string;
7
+ //# sourceMappingURL=id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,MAAM,SAAO,GAAG,MAAM,CAO5C"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Source-of-truth SDK version string. Kept here (rather than importing
3
+ * package.json) so the library can be consumed without JSON imports.
4
+ *
5
+ * This must be bumped together with `package.json.version` and the
6
+ * `CHANGELOG.md` entry on every release.
7
+ */
8
+ export declare const SDK_VERSION = "0.1.0";
9
+ //# sourceMappingURL=sdk-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-version.d.ts","sourceRoot":"","sources":["../../../src/utils/sdk-version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC"}