open-chat-studio-widget 0.9.0 → 0.10.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 (36) hide show
  1. package/dist/cjs/{index-DDod9Zyw.js → index-DMXmZhVD.js} +3 -3
  2. package/dist/cjs/index-DMXmZhVD.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/open-chat-studio-widget.cjs.entry.js +1261 -322
  5. package/dist/cjs/open-chat-studio-widget.cjs.entry.js.map +1 -1
  6. package/dist/cjs/open-chat-studio-widget.cjs.js +2 -2
  7. package/dist/cjs/open-chat-studio-widget.entry.cjs.js.map +1 -1
  8. package/dist/collection/components/ocs-chat/ocs-chat.js +91 -6
  9. package/dist/collection/components/ocs-chat/ocs-chat.js.map +1 -1
  10. package/dist/collection/services/chat-session-service.js +12 -2
  11. package/dist/collection/services/chat-session-service.js.map +1 -1
  12. package/dist/collection/services/file-attachment-manager.js +2 -5
  13. package/dist/collection/services/file-attachment-manager.js.map +1 -1
  14. package/dist/components/open-chat-studio-widget.js +1261 -321
  15. package/dist/components/open-chat-studio-widget.js.map +1 -1
  16. package/dist/esm/{index-iUBQH9om.js → index-JDApwJx_.js} +3 -3
  17. package/dist/esm/index-JDApwJx_.js.map +1 -0
  18. package/dist/esm/loader.js +3 -3
  19. package/dist/esm/open-chat-studio-widget.entry.js +1261 -322
  20. package/dist/esm/open-chat-studio-widget.entry.js.map +1 -1
  21. package/dist/esm/open-chat-studio-widget.js +3 -3
  22. package/dist/open-chat-studio-widget/open-chat-studio-widget.entry.esm.js.map +1 -1
  23. package/dist/open-chat-studio-widget/open-chat-studio-widget.esm.js +1 -1
  24. package/dist/open-chat-studio-widget/{p-iUBQH9om.js → p-JDApwJx_.js} +2 -2
  25. package/dist/open-chat-studio-widget/p-JDApwJx_.js.map +1 -0
  26. package/dist/open-chat-studio-widget/p-c2d3b2d1.entry.js +4 -0
  27. package/dist/open-chat-studio-widget/p-c2d3b2d1.entry.js.map +1 -0
  28. package/dist/types/components/ocs-chat/ocs-chat.d.ts +15 -0
  29. package/dist/types/services/chat-session-service.d.ts +4 -0
  30. package/dist/types/services/file-attachment-manager.d.ts +2 -1
  31. package/package.json +2 -2
  32. package/dist/cjs/index-DDod9Zyw.js.map +0 -1
  33. package/dist/esm/index-iUBQH9om.js.map +0 -1
  34. package/dist/open-chat-studio-widget/p-9c925476.entry.js +0 -4
  35. package/dist/open-chat-studio-widget/p-9c925476.entry.js.map +0 -1
  36. package/dist/open-chat-studio-widget/p-iUBQH9om.js.map +0 -1
@@ -156,6 +156,7 @@ export declare class OcsChat {
156
156
  generatedUserId?: string;
157
157
  isFullscreen: boolean;
158
158
  showNewChatConfirmation: boolean;
159
+ sessionEnded: boolean;
159
160
  selectedFiles: SelectedFile[];
160
161
  isUploadingFiles: boolean;
161
162
  private buttonPosition;
@@ -187,6 +188,14 @@ export declare class OcsChat {
187
188
  componentWillLoad(): Promise<void>;
188
189
  componentDidLoad(): void;
189
190
  disconnectedCallback(): void;
191
+ /**
192
+ * Dispatch a composed, bubbling CustomEvent on the host element so that
193
+ * embedders can listen with plain addEventListener outside the shadow root.
194
+ *
195
+ * All events are dispatched synchronously so that handlers can update
196
+ * reactive props (e.g. `pageContext`) before the calling code reads them.
197
+ */
198
+ private dispatchWidgetEvent;
190
199
  private applySessionToken;
191
200
  private getChatService;
192
201
  private addErrorMessage;
@@ -196,6 +205,12 @@ export declare class OcsChat {
196
205
  * widgets cannot restart a host-owned session, so they surface an error.
197
206
  */
198
207
  private handleSessionAccessError;
208
+ /**
209
+ * The server reported the session has ended (e.g. closed from another tab or
210
+ * by the bot). Polling has already stopped; disable the composer and tell the
211
+ * user. Unbound widgets can recover via the "new chat" button (clearSession).
212
+ */
213
+ private handleSessionEnded;
199
214
  private handleError;
200
215
  private parseJSONProp;
201
216
  private parseWelcomeMessages;
@@ -59,6 +59,8 @@ export interface TaskPollingHandle {
59
59
  export interface MessagePollingCallbacks {
60
60
  getSince: () => string | undefined;
61
61
  onMessages: (messages: ChatMessage[]) => void;
62
+ /** Called once when the server reports the session has ended; polling stops first. */
63
+ onSessionEnded?: () => void;
62
64
  onError?: (error: Error) => void;
63
65
  }
64
66
  export interface MessagePollingHandle {
@@ -101,6 +103,8 @@ export declare class ChatSessionService {
101
103
  private parseSunsetDate;
102
104
  private parseSuccessorUrl;
103
105
  private raiseForStatus;
106
+ /** Headers for multipart requests (no Content-Type — fetch sets the boundary). */
107
+ getUploadHeaders(): Record<string, string>;
104
108
  private getJsonHeaders;
105
109
  private getCommonHeaders;
106
110
  }
@@ -19,7 +19,8 @@ export interface UploadContext {
19
19
  sessionId: string;
20
20
  participantId: string;
21
21
  participantName?: string;
22
- sessionToken?: string;
22
+ /** Auth headers (session token, CSRF, widget version) — see ChatSessionService.getUploadHeaders. */
23
+ headers?: Record<string, string>;
23
24
  }
24
25
  export interface UploadResult {
25
26
  selectedFiles: SelectedFile[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-chat-studio-widget",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Chat component for Open Chat Studio",
5
5
  "main": "dist/index.cjs.js",
6
6
  "exports": "./dist/esm/open-chat-studio-widget.js",
@@ -48,9 +48,9 @@
48
48
  "@types/jest": "^29.5.14",
49
49
  "@types/node": "^22.13.4",
50
50
  "autoprefixer": "^10.4.20",
51
- "happy-dom": "^20.8.4",
52
51
  "jest": "^29.7.0",
53
52
  "jest-cli": "^29.7.0",
53
+ "jsdom": "^29.1.1",
54
54
  "npm-run-all": "^4.1.5",
55
55
  "postcss-import": "^16.1.0",
56
56
  "prettier": "^3.8.3",