cmcts-c-agent-embedding 1.1.10-cmcuni → 1.1.11-cmcuni

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CLAUDE.md ADDED
@@ -0,0 +1,122 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ This is **Flowise Chat Embed** (package: `cmcts-c-agent-embedding`), a JavaScript library for embedding Flowise chatbots on websites. Built with **SolidJS** and **TypeScript**, it provides both popup (bubble) and full-page chat interfaces.
8
+
9
+ ## Common Commands
10
+
11
+ ```bash
12
+ # Install dependencies
13
+ yarn install --frozen-lockfile
14
+
15
+ # Development server (http://localhost:5678)
16
+ yarn dev
17
+
18
+ # Production build
19
+ yarn build
20
+
21
+ # Type checking
22
+ yarn type-check
23
+
24
+ # Linting
25
+ yarn lint
26
+ yarn lint-fix
27
+
28
+ # Start proxy server (http://localhost:3001)
29
+ yarn start
30
+
31
+ # Build and publish to npm
32
+ yarn build-and-publish
33
+ ```
34
+
35
+ ## Architecture
36
+
37
+ ### Entry Points
38
+ - `src/web.ts` - Main entry point, registers web components and exports Chatbot API
39
+ - `src/register.tsx` - Registers `<flowise-chatbot>` (popup) and `<flowise-fullchatbot>` (full-page) custom elements using `solid-element`
40
+ - `src/window.ts` - Defines `Chatbot.init()`, `Chatbot.initFull()`, and `Chatbot.destroy()` APIs
41
+
42
+ ### Core Components
43
+ - `src/components/Bot.tsx` - Main chat logic (~2600 lines): message handling, streaming, file uploads, audio recording, lead capture
44
+ - `src/features/bubble/components/Bubble.tsx` - Popup chat widget with drag-and-drop, resize, tooltip, fullscreen toggle
45
+ - `src/features/full/components/Full.tsx` - Full-page chat wrapper
46
+
47
+ ### Key Utilities
48
+ - `src/queries/sendMessageQuery.ts` - API calls: prediction, feedback, attachments, FAQ search, lead capture
49
+ - `src/utils/index.ts` - localStorage management, auth handling, Zalo integration, mobile detection
50
+ - `src/utils/ultimateJsonParser.ts` - Robust JSON extraction from markdown code blocks
51
+ - `src/utils/audioRecording.ts` - MediaRecorder API wrapper with Safari-specific handling
52
+
53
+ ### Proxy Server
54
+ - `server.js` - Express proxy server for secure Flowise API access with domain whitelisting
55
+
56
+ ## Special Patterns & Logic
57
+
58
+ ### Streaming Text Buffer
59
+ Bot.tsx implements smooth streaming animation using a text buffer system:
60
+ - `addToStreamBuffer()` queues incoming tokens
61
+ - `processTextBuffer()` renders characters with configurable `CHARS_PER_FRAME` (1) and `DELAY_MS` (10ms)
62
+ - Delayed events (sourceDocuments, artifacts) are queued and processed after text streaming completes
63
+
64
+ ### localStorage Keys
65
+ - `{chatflowid}_EXTERNAL` - Chat history, chatId, lead info
66
+ - `dataLogin` - User authentication data (accessToken)
67
+ - `cmcts:userInfo` - Mapped user info for Chatwoot integration
68
+ - `chatwoot:{chatflowid}:conversation_id` - Chatwoot conversation tracking
69
+ - `{chatflowid}_HUMAN_ADVISOR_CONNECTED` - Human advisor connection state
70
+ - `chatbotDisclaimer` - Cookie for disclaimer acceptance
71
+
72
+ ### FAQ Streaming Fix
73
+ In `handleSubmit()`, there's a workaround for streaming issues when selecting images then sending:
74
+ ```typescript
75
+ // TODO: Đoạn JSON.stringify(faqId) để fix Lỗi streaming khi chọn ảnh xong gửi luôn
76
+ if (isChatFlowAvailableToStream() && (!faqId || JSON.stringify(faqId) === JSON.stringify({ isTrusted: true })))
77
+ ```
78
+
79
+ ### Safari Audio Recording
80
+ Safari requires chunked recording (1000ms intervals) for Whisper API compatibility:
81
+ ```typescript
82
+ if (isSafari) {
83
+ audioRecorder.mediaRecorder.start(1000);
84
+ } else {
85
+ audioRecorder.mediaRecorder.start();
86
+ }
87
+ ```
88
+
89
+ ### iOS Safari Auto-Zoom Prevention
90
+ iOS Safari auto-zoom on input focus is prevented through CSS-based approach:
91
+ - All input and textarea elements have minimum `font-size: 16px` set in `src/assets/index.css`
92
+ - `ShortTextInput.tsx` enforces minimum 16px font-size via `Math.max(props.fontSize, 16)`
93
+ - This approach avoids modifying the host website's viewport meta tag, which could break their responsive design
94
+
95
+ ### Authentication Flow
96
+ - `checkAndInitializeAuth()` - Fetches `/api/user-info` with cookies for VIB domain embedding
97
+ - `validateAndMapUserInfo()` - Maps `dataLogin` to `cmcts:userInfo` format
98
+ - 401 responses trigger `clearAuthenticationData()` to remove stale tokens
99
+
100
+ ### Proxy Server Domain Validation
101
+ - Chatflow configs in `.env`: `identifier=chatflowId,domain1,domain2`
102
+ - Identifiers are case-insensitive
103
+ - Wildcard domains (`*`) are explicitly blocked
104
+ - `http://localhost:5678` auto-added in development mode
105
+
106
+ ### File Upload Types
107
+ - `file:full` - Full file upload mode
108
+ - `file:rag` - RAG (Retrieval Augmented Generation) mode
109
+ - 10MB max file size enforced on drag-and-drop
110
+
111
+ ### Custom Web Components
112
+ Registered via `solid-element`:
113
+ - `<flowise-chatbot>` - Popup bubble chat
114
+ - `<flowise-fullchatbot>` - Full-page chat (requires `<flowise-fullchatbot>` element in DOM before `initFull()`)
115
+
116
+ ## Build Configuration
117
+
118
+ - Rollup bundles to `dist/web.js` (ES module)
119
+ - PostCSS with Tailwind CSS
120
+ - Babel with SolidJS preset
121
+ - TypeScript paths alias: `@/*` → `src/*`
122
+
@@ -1,8 +1,52 @@
1
- ================================================================================
2
- [2025-12-15T09:52:33.941Z]
3
- Add a subtle box shadow to the bubble button in the BubbleButton component located at src/features/bubble/components/BubbleButton.tsx. The button element is at lines 88-120. Add an appropriate box-shadow CSS property to the button's inline style object to give it a slight elevation effect. Make it look professional and not too heavy. Do not create or modify any markdown document files or code examples.
4
-
5
- ================================================================================
6
- [2025-12-15T09:54:19.571Z]
7
- Modify the box shadow on the bubble button in src/features/bubble/components/BubbleButton.tsx to make it darker and with a shorter offset towards the right-bottom direction. The shadow should be more prominent (darker opacity) and have smaller offset values that create a slight right-bottom directional shadow effect. Do not create or modify any markdown document files or code examples.
1
+ ================================================================================
2
+ [2025-12-29T02:56:03.495Z]
3
+ ## Problem Description
4
+
5
+ The Flowise chatbot embed script is causing a style error when loaded on mobile websites by modifying the viewport meta tag of the host website.
6
+
7
+ **Current Behavior:**
8
+ - The script automatically adds or modifies the viewport meta tag
9
+ - Original viewport: `<meta name="viewport" content="width=device-width, initial-scale=1.0">`
10
+ - After script loads: `<meta name="viewport" content="width=device-width, initial-scale=1.0, interactive-widget=resizes-content">`
11
+
12
+ **Root Causes Found:**
13
+
14
+ 1. **Bubble.tsx (Line 204-214):** The popup chatbot component uses a `createEffect()` that unconditionally creates and appends a new viewport meta tag with `interactive-widget=resizes-content`. This happens regardless of whether a viewport meta tag already exists, causing duplicate or modified viewport tags.
15
+
16
+ 2. **Full.tsx (Line 20-24):** The full-page chatbot modifies the existing viewport meta tag by directly setting its content attribute to include `interactive-widget=resizes-content`.
17
+
18
+ 3. **Bot.tsx (Line 336-353):** There's also iOS-specific code that modifies the viewport meta tag to add `maximum-scale=1` to prevent auto-zoom on input focus.
19
+
20
+ **Critical Issues That Could Occur:**
21
+
22
+ 1. **Duplicate viewport meta tags:** Multiple viewport tags in the HTML head can cause unpredictable rendering behavior across different browsers
23
+ 2. **Breaking host website's responsive design:** Overriding the host website's carefully configured viewport settings can break their mobile layout
24
+ 3. **User experience degradation:** Changed viewport settings may cause unexpected zooming, scaling, or layout shifts on the host website
25
+ 4. **Hard to debug:** Website owners may not realize the chatbot script is modifying their viewport settings
26
+ 5. **Conflicts with existing viewport management:** Host websites with dynamic viewport management will have conflicts
27
+ 6. **CSS framework incompatibility:** Some CSS frameworks depend on specific viewport configurations
28
+
29
+ **Definition of Done:**
30
+
31
+ The chatbot script must:
32
+ - NOT create new viewport meta tags
33
+ - NOT modify existing viewport meta tags from the host website
34
+ - NOT override or change any viewport settings that the host website has configured
35
+ - Still function correctly on mobile devices without requiring viewport modifications
36
+ - Preserve any cleanup logic in onCleanup hooks, but ensure it doesn't restore incorrect values
37
+ - Handle iOS Safari auto-zoom prevention through alternative methods (like input font-size adjustments) instead of viewport manipulation
38
+ - Work correctly in both popup (Bubble) and full-page (Full) modes without viewport modifications
39
+
40
+ **Acceptance Criteria:**
41
+ - After loading the script, the viewport meta tag remains exactly as it was before
42
+ - No duplicate viewport meta tags are created
43
+ - The chatbot still displays and functions correctly on mobile devices
44
+ - iOS Safari input auto-zoom is prevented through non-viewport methods (e.g., font-size >= 16px on inputs)
45
+ - Full-page mode works without viewport manipulation
46
+
47
+ Do not create or modify any markdown document files or code examples.
48
+
49
+ Before using any tool, briefly describe your intent (e.g., 'I will run terminal command: ...', 'I will edit file: ...', 'I will create file: ...', 'I will search for: ...').
50
+
51
+ Note: The above requirements serve as a draft guideline. Please do not follow them rigidly or absolutely. Use your intelligence to complete my request smartly, fill in any missing parts, and supplement whatever is needed to produce the most perfect and complete output possible.
8
52
 
@@ -1 +1,49 @@
1
- Modify the box shadow on the bubble button in src/features/bubble/components/BubbleButton.tsx to make it darker and with a shorter offset towards the right-bottom direction. The shadow should be more prominent (darker opacity) and have smaller offset values that create a slight right-bottom directional shadow effect. Do not create or modify any markdown document files or code examples.
1
+ ## Problem Description
2
+
3
+ The Flowise chatbot embed script is causing a style error when loaded on mobile websites by modifying the viewport meta tag of the host website.
4
+
5
+ **Current Behavior:**
6
+ - The script automatically adds or modifies the viewport meta tag
7
+ - Original viewport: `<meta name="viewport" content="width=device-width, initial-scale=1.0">`
8
+ - After script loads: `<meta name="viewport" content="width=device-width, initial-scale=1.0, interactive-widget=resizes-content">`
9
+
10
+ **Root Causes Found:**
11
+
12
+ 1. **Bubble.tsx (Line 204-214):** The popup chatbot component uses a `createEffect()` that unconditionally creates and appends a new viewport meta tag with `interactive-widget=resizes-content`. This happens regardless of whether a viewport meta tag already exists, causing duplicate or modified viewport tags.
13
+
14
+ 2. **Full.tsx (Line 20-24):** The full-page chatbot modifies the existing viewport meta tag by directly setting its content attribute to include `interactive-widget=resizes-content`.
15
+
16
+ 3. **Bot.tsx (Line 336-353):** There's also iOS-specific code that modifies the viewport meta tag to add `maximum-scale=1` to prevent auto-zoom on input focus.
17
+
18
+ **Critical Issues That Could Occur:**
19
+
20
+ 1. **Duplicate viewport meta tags:** Multiple viewport tags in the HTML head can cause unpredictable rendering behavior across different browsers
21
+ 2. **Breaking host website's responsive design:** Overriding the host website's carefully configured viewport settings can break their mobile layout
22
+ 3. **User experience degradation:** Changed viewport settings may cause unexpected zooming, scaling, or layout shifts on the host website
23
+ 4. **Hard to debug:** Website owners may not realize the chatbot script is modifying their viewport settings
24
+ 5. **Conflicts with existing viewport management:** Host websites with dynamic viewport management will have conflicts
25
+ 6. **CSS framework incompatibility:** Some CSS frameworks depend on specific viewport configurations
26
+
27
+ **Definition of Done:**
28
+
29
+ The chatbot script must:
30
+ - NOT create new viewport meta tags
31
+ - NOT modify existing viewport meta tags from the host website
32
+ - NOT override or change any viewport settings that the host website has configured
33
+ - Still function correctly on mobile devices without requiring viewport modifications
34
+ - Preserve any cleanup logic in onCleanup hooks, but ensure it doesn't restore incorrect values
35
+ - Handle iOS Safari auto-zoom prevention through alternative methods (like input font-size adjustments) instead of viewport manipulation
36
+ - Work correctly in both popup (Bubble) and full-page (Full) modes without viewport modifications
37
+
38
+ **Acceptance Criteria:**
39
+ - After loading the script, the viewport meta tag remains exactly as it was before
40
+ - No duplicate viewport meta tags are created
41
+ - The chatbot still displays and functions correctly on mobile devices
42
+ - iOS Safari input auto-zoom is prevented through non-viewport methods (e.g., font-size >= 16px on inputs)
43
+ - Full-page mode works without viewport manipulation
44
+
45
+ Do not create or modify any markdown document files or code examples.
46
+
47
+ Before using any tool, briefly describe your intent (e.g., 'I will run terminal command: ...', 'I will edit file: ...', 'I will create file: ...', 'I will search for: ...').
48
+
49
+ Note: The above requirements serve as a draft guideline. Please do not follow them rigidly or absolutely. Use your intelligence to complete my request smartly, fill in any missing parts, and supplement whatever is needed to produce the most perfect and complete output possible.
@@ -1 +1 @@
1
- {"version":3,"file":"Bot.d.ts","sourceRoot":"","sources":["../../src/components/Bot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bot.d.ts","sourceRoot":"","sources":["../../src/components/Bot.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare const PreviewImage: (props: {
2
2
  previewImg: () => Element | null;
3
- setPreviewImg: Function;
3
+ setPreviewImg: (value: Element | null) => void;
4
4
  }) => import("solid-js").JSX.Element;
5
5
  //# sourceMappingURL=PreviewImage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewImage.d.ts","sourceRoot":"","sources":["../../../src/components/image/PreviewImage.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,UAAW;IAAE,UAAU,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,QAAQ,CAAA;CAAE,mCA2BhG,CAAC"}
1
+ {"version":3,"file":"PreviewImage.d.ts","sourceRoot":"","sources":["../../../src/components/image/PreviewImage.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;gBAAyB,MAAM,OAAO,GAAG,IAAI;2BAAyB,OAAO,GAAG,IAAI,KAAK,IAAI;oCAkBrH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../../src/features/bubble/components/Bubble.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAO,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAOxD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElD,eAAO,MAAM,MAAM,UAAW,WAAW,mCAoXxC,CAAC"}
1
+ {"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../../src/features/bubble/components/Bubble.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAO,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAOxD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElD,eAAO,MAAM,MAAM,UAAW,WAAW,mCAwWxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Full.d.ts","sourceRoot":"","sources":["../../../../src/features/full/components/Full.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEhD,eAAO,MAAM,IAAI,UAAW,SAAS;aAA0B,WAAW;oCA8FzE,CAAC"}
1
+ {"version":3,"file":"Full.d.ts","sourceRoot":"","sources":["../../../../src/features/full/components/Full.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEhD,eAAO,MAAM,IAAI,UAAW,SAAS;aAA0B,WAAW;oCAkFzE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ultimateJsonParser.d.ts","sourceRoot":"","sources":["../../src/utils/ultimateJsonParser.ts"],"names":[],"mappings":"AAsBA,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAgDzD"}
1
+ {"version":3,"file":"ultimateJsonParser.d.ts","sourceRoot":"","sources":["../../src/utils/ultimateJsonParser.ts"],"names":[],"mappings":"AAsBA,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAkDzD"}