@chatwidgetai/chat-widget 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 (42) hide show
  1. package/README.md +168 -0
  2. package/dist/ai-chat-widget.umd.js +65851 -0
  3. package/dist/ai-chat-widget.umd.js.map +1 -0
  4. package/dist/api/client.d.ts +48 -0
  5. package/dist/api/client.d.ts.map +1 -0
  6. package/dist/components/ChatWidget.d.ts +9 -0
  7. package/dist/components/ChatWidget.d.ts.map +1 -0
  8. package/dist/components/ChatWindow.d.ts +20 -0
  9. package/dist/components/ChatWindow.d.ts.map +1 -0
  10. package/dist/components/FeedbackButtons.d.ts +12 -0
  11. package/dist/components/FeedbackButtons.d.ts.map +1 -0
  12. package/dist/components/Message.d.ts +17 -0
  13. package/dist/components/Message.d.ts.map +1 -0
  14. package/dist/components/MessageInput.d.ts +13 -0
  15. package/dist/components/MessageInput.d.ts.map +1 -0
  16. package/dist/components/MessageList.d.ts +19 -0
  17. package/dist/components/MessageList.d.ts.map +1 -0
  18. package/dist/components/Sources.d.ts +12 -0
  19. package/dist/components/Sources.d.ts.map +1 -0
  20. package/dist/components/SuggestedQuestions.d.ts +11 -0
  21. package/dist/components/SuggestedQuestions.d.ts.map +1 -0
  22. package/dist/components/TypingIndicator.d.ts +7 -0
  23. package/dist/components/TypingIndicator.d.ts.map +1 -0
  24. package/dist/hooks/useChat.d.ts +35 -0
  25. package/dist/hooks/useChat.d.ts.map +1 -0
  26. package/dist/index.d.ts +9 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.esm.js +21669 -0
  29. package/dist/index.esm.js.map +1 -0
  30. package/dist/index.js +21672 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/types/index.d.ts +143 -0
  33. package/dist/types/index.d.ts.map +1 -0
  34. package/dist/umd.d.ts +25 -0
  35. package/dist/umd.d.ts.map +1 -0
  36. package/dist/utils/actionExecutor.d.ts +18 -0
  37. package/dist/utils/actionExecutor.d.ts.map +1 -0
  38. package/dist/utils/session.d.ts +12 -0
  39. package/dist/utils/session.d.ts.map +1 -0
  40. package/dist/utils/storage.d.ts +28 -0
  41. package/dist/utils/storage.d.ts.map +1 -0
  42. package/package.json +56 -0
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Widget Types
3
+ * Aligned with backend types from WIDGET_SYSTEM_ARCHITECTURE.md
4
+ */
5
+ export type WidgetTheme = 'light' | 'dark' | 'auto';
6
+ export type WidgetPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
7
+ export type WidgetSize = 'small' | 'medium' | 'large';
8
+ export interface WidgetAppearance {
9
+ theme: WidgetTheme;
10
+ primaryColor: string;
11
+ position: WidgetPosition;
12
+ size: WidgetSize;
13
+ borderRadius: number;
14
+ fontFamily?: string;
15
+ customCSS?: string;
16
+ logo?: string;
17
+ companyName?: string;
18
+ welcomeMessage: string;
19
+ placeholder: string;
20
+ buttonIcon?: string;
21
+ buttonText?: string;
22
+ buttonSize: number;
23
+ }
24
+ export type SourceDisplayMode = 'none' | 'minimal' | 'with-score' | 'with-content' | 'full';
25
+ export interface WidgetBehavior {
26
+ autoOpen: boolean;
27
+ autoOpenDelay?: number;
28
+ persistConversation: boolean;
29
+ showTimestamps: boolean;
30
+ showTypingIndicator: boolean;
31
+ enableFileUpload: boolean;
32
+ enableFeedback: boolean;
33
+ maxMessagesPerSession?: number;
34
+ agentic: boolean;
35
+ showSources: boolean;
36
+ sourceDisplayMode: SourceDisplayMode;
37
+ suggestedQuestions?: string[];
38
+ temperature: number;
39
+ maxTokens: number;
40
+ systemPrompt?: string;
41
+ fallbackMessage?: string;
42
+ }
43
+ export interface WidgetConfig {
44
+ appearance: WidgetAppearance;
45
+ behavior: WidgetBehavior;
46
+ knowledgeBases: string[];
47
+ actions?: string[];
48
+ }
49
+ export interface FileAttachment {
50
+ name: string;
51
+ size: number;
52
+ extension: string;
53
+ }
54
+ export type KbDocument = {
55
+ kbId: string;
56
+ score?: number;
57
+ doc: {
58
+ pageContent: string;
59
+ id: string;
60
+ metadata: Record<string, unknown>;
61
+ };
62
+ };
63
+ export type MessageContent = string;
64
+ export interface BaseMessage {
65
+ type: string;
66
+ content: MessageContent;
67
+ id?: string;
68
+ name?: string | null;
69
+ response_metadata?: Record<string, any>;
70
+ additional_kwargs?: Record<string, any>;
71
+ }
72
+ export interface ToolCall {
73
+ name: string;
74
+ args: Record<string, any>;
75
+ id?: string;
76
+ type?: string;
77
+ }
78
+ export interface UsageMetadata {
79
+ input_tokens?: number;
80
+ output_tokens?: number;
81
+ total_tokens?: number;
82
+ model_name?: string;
83
+ [k: string]: any;
84
+ }
85
+ export interface AIMessage extends BaseMessage {
86
+ type: "ai";
87
+ tool_calls?: ToolCall[];
88
+ invalid_tool_calls?: Array<Record<string, any>>;
89
+ example?: boolean;
90
+ usage_metadata?: UsageMetadata | null;
91
+ }
92
+ export interface HumanMessage extends BaseMessage {
93
+ type: "human";
94
+ }
95
+ export interface SystemMessage extends BaseMessage {
96
+ type: "system";
97
+ }
98
+ export interface ChatMessage extends BaseMessage {
99
+ type: "chat";
100
+ }
101
+ export interface FunctionMessage extends BaseMessage {
102
+ type: "function";
103
+ name: string;
104
+ }
105
+ export interface ToolMessage extends BaseMessage {
106
+ type: "tool";
107
+ tool_call_id: string;
108
+ artifact?: any;
109
+ }
110
+ export interface RemoveMessage extends BaseMessage {
111
+ type: "remove";
112
+ id: string;
113
+ }
114
+ export type AnyMessage = AIMessage | HumanMessage | SystemMessage | ChatMessage | FunctionMessage | ToolMessage | RemoveMessage;
115
+ export interface ConversationMessage {
116
+ id: string;
117
+ message: AnyMessage;
118
+ timestamp: string;
119
+ sources: KbDocument[];
120
+ feedback?: "positive" | "negative";
121
+ }
122
+ export interface WidgetProps {
123
+ widgetId: string;
124
+ apiKey: string;
125
+ apiUrl?: string;
126
+ position?: WidgetPosition;
127
+ theme?: WidgetTheme;
128
+ primaryColor?: string;
129
+ onOpen?: () => void;
130
+ onClose?: () => void;
131
+ onMessage?: (message: ConversationMessage) => void;
132
+ onError?: (error: Error) => void;
133
+ }
134
+ export interface ChatState {
135
+ messages: ConversationMessage[];
136
+ isOpen: boolean;
137
+ isLoading: boolean;
138
+ isTyping: boolean;
139
+ error: string | null;
140
+ conversationId: string;
141
+ config: WidgetConfig | null;
142
+ }
143
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/dist/umd.d.ts ADDED
@@ -0,0 +1,25 @@
1
+ type MountOptions = {
2
+ widgetId: string;
3
+ apiKey: string;
4
+ apiUrl?: string;
5
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
6
+ theme?: 'light' | 'dark' | 'auto';
7
+ primaryColor?: string;
8
+ container?: string | HTMLElement;
9
+ onOpen?: () => void;
10
+ onClose?: () => void;
11
+ onMessage?: (msg: any) => void;
12
+ onError?: (err: Error) => void;
13
+ };
14
+ declare function mount(options: MountOptions): {
15
+ destroy(): void;
16
+ };
17
+ declare global {
18
+ interface Window {
19
+ AIChatWidget: {
20
+ mount: typeof mount;
21
+ };
22
+ }
23
+ }
24
+ export { mount };
25
+ //# sourceMappingURL=umd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"umd.d.ts","sourceRoot":"","sources":["../src/umd.ts"],"names":[],"mappings":"AASA,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IACrE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC,CAAC;AAgBF,iBAAS,KAAK,CAAC,OAAO,EAAE,YAAY;;EA4BnC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,YAAY,EAAE;YAAE,KAAK,EAAE,OAAO,KAAK,CAAA;SAAE,CAAC;KACvC;CACF;AAOD,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Client Action Executor
3
+ * Handles execution of client-side actions
4
+ */
5
+ export interface ClientAction {
6
+ implementation: string;
7
+ parameters: Record<string, any>;
8
+ }
9
+ export interface ActionResult {
10
+ success: boolean;
11
+ result?: any;
12
+ error?: string;
13
+ }
14
+ /**
15
+ * Execute a client-side action
16
+ */
17
+ export declare function executeClientAction(action: ClientAction): Promise<ActionResult>;
18
+ //# sourceMappingURL=actionExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionExecutor.d.ts","sourceRoot":"","sources":["../../src/utils/actionExecutor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA+BrF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Session Management Utilities
3
+ */
4
+ /**
5
+ * Generate a unique session ID
6
+ */
7
+ export declare function generateSessionId(): string;
8
+ /**
9
+ * Generate a unique message ID
10
+ */
11
+ export declare function generateMessageId(): string;
12
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Local Storage Utilities
3
+ * Handles conversation persistence in browser localStorage
4
+ */
5
+ import { ConversationMessage } from '../types';
6
+ export interface StoredConversation {
7
+ conversationId: string;
8
+ sessionId?: string;
9
+ messages: ConversationMessage[];
10
+ lastUpdated: string;
11
+ }
12
+ /**
13
+ * Save conversation to localStorage
14
+ */
15
+ export declare function saveConversation(widgetId: string, conversationId: string, messages: ConversationMessage[]): void;
16
+ /**
17
+ * Load conversation from localStorage
18
+ */
19
+ export declare function loadConversation(widgetId: string): StoredConversation | null;
20
+ /**
21
+ * Clear conversation from localStorage
22
+ */
23
+ export declare function clearConversation(widgetId: string): void;
24
+ /**
25
+ * Check if localStorage is available
26
+ */
27
+ export declare function isStorageAvailable(): boolean;
28
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAI/C,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AASD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,mBAAmB,EAAE,GAC9B,IAAI,CAYN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAc5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOxD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAS5C"}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@chatwidgetai/chat-widget",
3
+ "version": "0.1.0",
4
+ "description": "Embeddable AI chat widget powered by your knowledge bases",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.esm.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "keywords": [
15
+ "react",
16
+ "chat",
17
+ "widget",
18
+ "ai",
19
+ "chatbot",
20
+ "knowledge-base"
21
+ ],
22
+ "author": "",
23
+ "license": "MIT",
24
+ "peerDependencies": {
25
+ "react": "^18.0.0 || ^19.0.0",
26
+ "react-dom": "^18.0.0 || ^19.0.0"
27
+ },
28
+ "devDependencies": {
29
+ "@rollup/plugin-commonjs": "^28.0.2",
30
+ "@rollup/plugin-node-resolve": "^15.3.0",
31
+ "@rollup/plugin-typescript": "^12.1.2",
32
+ "@types/react": "^19.0.0",
33
+ "@types/react-dom": "^19.0.0",
34
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
35
+ "@typescript-eslint/parser": "^8.0.0",
36
+ "eslint": "^9.0.0",
37
+ "eslint-plugin-react": "^7.37.0",
38
+ "eslint-plugin-react-hooks": "^5.0.0",
39
+ "postcss": "^8.4.49",
40
+ "rollup": "^4.30.1",
41
+ "rollup-plugin-peer-deps-external": "^2.2.4",
42
+ "rollup-plugin-postcss": "^4.0.2",
43
+ "tslib": "^2.8.1",
44
+ "typescript": "^5.7.2"
45
+ },
46
+ "dependencies": {
47
+ "react-markdown": "^9.0.1"
48
+ },
49
+ "scripts": {
50
+ "build": "rollup -c",
51
+ "dev": "rollup -c -w",
52
+ "test": "jest",
53
+ "lint": "eslint src --ext .ts,.tsx",
54
+ "typecheck": "tsc --noEmit"
55
+ }
56
+ }