@opencx/mcp 1.15.64 → 1.15.65

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=merge-sessions.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-sessions.spec.d.ts","sourceRoot":"","sources":["../src/merge-sessions.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ import { afterEach, describe, expect, it, vi } from 'vitest';
2
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
3
+ import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';
4
+ import { createServer } from './server.js';
5
+ afterEach(() => vi.unstubAllGlobals());
6
+ describe('merge_sessions', () => {
7
+ it('advertises irreversible closure and sends all source choices without a confirmation token', async () => {
8
+ const fetchSpy = vi
9
+ .fn()
10
+ .mockResolvedValue(new Response(JSON.stringify({ mergeId: 'merged' }), { status: 200 }));
11
+ vi.stubGlobal('fetch', fetchSpy);
12
+ const server = createServer('test-key', 'https://api.test.com');
13
+ const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
14
+ await server.connect(serverTransport);
15
+ const client = new Client({ name: 'merge-test', version: '1.0.0' });
16
+ await client.connect(clientTransport);
17
+ try {
18
+ const tool = (await client.listTools()).tools.find((entry) => entry.name === 'merge_sessions');
19
+ expect(tool?.description).toContain('Irreversibly');
20
+ expect(tool?.description).toContain('Before calling, tell the user');
21
+ const primary = 'e83d8183-ecf7-4252-b0c4-85e1211cf6ae';
22
+ const sources = [
23
+ { sessionId: 'ce38e481-5ea1-46ca-a6d1-ab897b73b53a', status: 'closed_resolved' },
24
+ { sessionId: '8150934d-1812-4481-b17e-15a99fdd433a', status: 'closed_unresolved' },
25
+ ];
26
+ const result = await client.callTool({
27
+ name: 'merge_sessions',
28
+ arguments: { primary_session_id: primary, sources },
29
+ });
30
+ expect(result.isError).toBeFalsy();
31
+ expect(fetchSpy).toHaveBeenCalledTimes(1);
32
+ const request = fetchSpy.mock.calls[0]?.[0];
33
+ if (!(request instanceof Request))
34
+ throw new Error('Expected an HTTP request');
35
+ expect(request.url).toBe(`https://api.test.com/chat/sessions/${primary}/merge`);
36
+ expect(await request.json()).toEqual({ sources });
37
+ const invalid = await client.callTool({
38
+ name: 'merge_sessions',
39
+ arguments: { primary_session_id: primary, sources: [{ ...sources[0], status: 'open' }] },
40
+ });
41
+ expect(invalid.isError).toBe(true);
42
+ expect(fetchSpy).toHaveBeenCalledTimes(1);
43
+ }
44
+ finally {
45
+ await client.close();
46
+ await server.close();
47
+ }
48
+ });
49
+ });
50
+ //# sourceMappingURL=merge-sessions.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-sessions.spec.js","sourceRoot":"","sources":["../src/merge-sessions.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEvC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,MAAM,QAAQ,GAAG,EAAE;aAChB,EAAE,EAAE;aACJ,iBAAiB,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3F,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAChE,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAChF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAC3C,CAAC;YACF,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,sCAAsC,CAAC;YACvD,MAAM,OAAO,GAAG;gBACd,EAAE,SAAS,EAAE,sCAAsC,EAAE,MAAM,EAAE,iBAAiB,EAAE;gBAChF,EAAE,SAAS,EAAE,sCAAsC,EAAE,MAAM,EAAE,mBAAmB,EAAE;aACnF,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE;aACpD,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC,OAAO,YAAY,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC/E,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sCAAsC,OAAO,QAAQ,CAAC,CAAC;YAChF,MAAM,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpC,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE;aACzF,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/schema.d.ts CHANGED
@@ -279,6 +279,26 @@ export interface paths {
279
279
  patch?: never;
280
280
  trace?: never;
281
281
  };
282
+ "/chat/sessions/{session_id}/merge": {
283
+ parameters: {
284
+ query?: never;
285
+ header?: never;
286
+ path?: never;
287
+ cookie?: never;
288
+ };
289
+ get?: never;
290
+ put?: never;
291
+ /**
292
+ * Merge sessions
293
+ * @description Permanently close source sessions and attach them to this primary. Sources cannot be reopened or replied to. All replies use the primary channel and recipients. Requires merge-sessions:write and OpenCX ticketing. Reuse idempotencyKey with the identical request when retrying.
294
+ */
295
+ post: operations["mergeSessions"];
296
+ delete?: never;
297
+ options?: never;
298
+ head?: never;
299
+ patch?: never;
300
+ trace?: never;
301
+ };
282
302
  "/chat/sessions": {
283
303
  parameters: {
284
304
  query?: never;
@@ -5366,7 +5386,7 @@ export interface paths {
5366
5386
  put?: never;
5367
5387
  /**
5368
5388
  * Authenticate a widget user by phone number
5369
- * @description Returns a token for the contact with this phone number, creating the contact when none exists. When several contacts share the number, the oldest one is used.
5389
+ * @description Returns a token for the contact with this phone number, creating the contact when none exists and otherwise updating it with the fields sent. When several contacts share the number, the oldest one is used. Email is not accepted: use /widget/authenticate-user for customers with an email.
5370
5390
  */
5371
5391
  post: operations["authenticateWidgetUserByPhone"];
5372
5392
  delete?: never;
@@ -5375,6 +5395,26 @@ export interface paths {
5375
5395
  patch?: never;
5376
5396
  trace?: never;
5377
5397
  };
5398
+ "/widget/authenticate-user-by-external-id": {
5399
+ parameters: {
5400
+ query?: never;
5401
+ header?: never;
5402
+ path?: never;
5403
+ cookie?: never;
5404
+ };
5405
+ get?: never;
5406
+ put?: never;
5407
+ /**
5408
+ * Authenticate a widget user by your own user id
5409
+ * @description Returns a token for the contact with this external_id, creating the contact when none exists and otherwise updating it with the fields sent. The contact is matched by external_id alone: email and phone are optional, can change, and can be shared with other contacts. Channels that identify people by email or phone, such as inbound email, keep their own contacts and never resolve to this one.
5410
+ */
5411
+ post: operations["authenticateWidgetUserByExternalId"];
5412
+ delete?: never;
5413
+ options?: never;
5414
+ head?: never;
5415
+ patch?: never;
5416
+ trace?: never;
5417
+ };
5378
5418
  "/test": {
5379
5419
  parameters: {
5380
5420
  query?: never;
@@ -6969,6 +7009,16 @@ export interface components {
6969
7009
  SessionChannel: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions" | "app_review" | "internal";
6970
7010
  /** @enum {string} */
6971
7011
  MessageOptionType: "text" | "workflow";
7012
+ MergeSessionsInput: {
7013
+ /** Format: uuid */
7014
+ idempotencyKey?: string;
7015
+ sources: {
7016
+ /** Format: uuid */
7017
+ sessionId: string;
7018
+ /** @enum {string} */
7019
+ status: "closed_resolved" | "closed_unresolved";
7020
+ }[];
7021
+ };
6972
7022
  ContactsFilter: {
6973
7023
  /** @constant */
6974
7024
  type: "all_contacts";
@@ -8596,8 +8646,38 @@ export interface components {
8596
8646
  http_action_overrides?: components["schemas"]["PublicAPIHttpOverrides"];
8597
8647
  };
8598
8648
  AuthenticateUserByPhonePayloadDto: {
8649
+ mcp_access?: {
8650
+ server_ids?: string[];
8651
+ account_id?: string;
8652
+ };
8653
+ name?: string;
8599
8654
  /** @description Phone number including the country code, e.g. +14155550123 */
8600
8655
  phone: string;
8656
+ language?: components["schemas"]["LanguageIsoCodeValues"];
8657
+ customData?: {
8658
+ [key: string]: string | number | boolean;
8659
+ };
8660
+ chat_context?: string;
8661
+ http_action_overrides?: components["schemas"]["PublicAPIHttpOverrides"];
8662
+ };
8663
+ AuthenticateUserByExternalIdPayloadDto: {
8664
+ /** Format: email */
8665
+ email?: string;
8666
+ mcp_access?: {
8667
+ server_ids?: string[];
8668
+ account_id?: string;
8669
+ };
8670
+ name?: string;
8671
+ avatar_url?: string | null;
8672
+ phone?: string;
8673
+ language?: components["schemas"]["LanguageIsoCodeValues"];
8674
+ customData?: {
8675
+ [key: string]: string | number | boolean;
8676
+ };
8677
+ chat_context?: string;
8678
+ http_action_overrides?: components["schemas"]["PublicAPIHttpOverrides"];
8679
+ /** @description The user's stable id in your system. The contact is matched by this id alone, so email and phone can change or be shared with other contacts. */
8680
+ external_id: string;
8601
8681
  };
8602
8682
  SaveContactInput: {
8603
8683
  contact: {
@@ -10348,7 +10428,7 @@ export interface components {
10348
10428
  }) | null;
10349
10429
  knowledgebase_called?: boolean | null;
10350
10430
  /** @enum {string} */
10351
- type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
10431
+ type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "merged_session_message" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_merged" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
10352
10432
  ivr_selection?: {
10353
10433
  /** Format: uuid */
10354
10434
  runId: string;
@@ -10412,6 +10492,18 @@ export interface components {
10412
10492
  phone_call_id?: string | null;
10413
10493
  phone_call?: components["schemas"]["PhoneCallDto"] | null;
10414
10494
  };
10495
+ MergeSessionsResult: {
10496
+ /** Format: uuid */
10497
+ mergeId: string;
10498
+ /** Format: uuid */
10499
+ primarySessionId: string;
10500
+ sources: {
10501
+ id: string;
10502
+ ticket_number: number;
10503
+ /** @enum {string} */
10504
+ main_status: "closed_resolved" | "closed_unresolved" | "open";
10505
+ }[];
10506
+ };
10415
10507
  SalesforceAiReplyTemplateDto: {
10416
10508
  /** Format: uuid */
10417
10509
  id: string;
@@ -13595,13 +13687,52 @@ export interface components {
13595
13687
  id: string;
13596
13688
  created_at: string;
13597
13689
  event: {
13690
+ /** @constant */
13691
+ type: "session_merged";
13692
+ /** @constant */
13693
+ internal: true;
13694
+ merge: {
13695
+ /** Format: uuid */
13696
+ merge_id: string;
13697
+ /** Format: uuid */
13698
+ source_session_id: string;
13699
+ source_ticket_number: number;
13700
+ /** Format: uuid */
13701
+ primary_session_id: string;
13702
+ primary_ticket_number: number;
13703
+ actor: {
13704
+ /** @constant */
13705
+ type: "agent";
13706
+ agentId: number;
13707
+ } | {
13708
+ /** @constant */
13709
+ type: "api";
13710
+ };
13711
+ redacted?: boolean;
13712
+ };
13713
+ } | {
13714
+ /** @constant */
13715
+ type: "merged_session_message";
13716
+ /** @constant */
13717
+ internal: true;
13718
+ source: {
13719
+ /** Format: uuid */
13720
+ merge_id: string;
13721
+ /** Format: uuid */
13722
+ source_session_id: string;
13723
+ source_ticket_number: number;
13724
+ /** Format: uuid */
13725
+ source_message_uuid: string;
13726
+ redacted?: boolean;
13727
+ };
13728
+ } | {
13598
13729
  /**
13599
13730
  * @description A recorded event without a typed history mapping. Included in organization exports so no history rows are lost.
13600
13731
  * @constant
13601
13732
  */
13602
13733
  type: "unmapped_event";
13603
13734
  /** @enum {string} */
13604
- message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
13735
+ message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "merged_session_message" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_merged" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
13605
13736
  content: {
13606
13737
  /** @constant */
13607
13738
  type: "text";
@@ -13886,13 +14017,52 @@ export interface components {
13886
14017
  id: string;
13887
14018
  created_at: string;
13888
14019
  event: {
14020
+ /** @constant */
14021
+ type: "session_merged";
14022
+ /** @constant */
14023
+ internal: true;
14024
+ merge: {
14025
+ /** Format: uuid */
14026
+ merge_id: string;
14027
+ /** Format: uuid */
14028
+ source_session_id: string;
14029
+ source_ticket_number: number;
14030
+ /** Format: uuid */
14031
+ primary_session_id: string;
14032
+ primary_ticket_number: number;
14033
+ actor: {
14034
+ /** @constant */
14035
+ type: "agent";
14036
+ agentId: number;
14037
+ } | {
14038
+ /** @constant */
14039
+ type: "api";
14040
+ };
14041
+ redacted?: boolean;
14042
+ };
14043
+ } | {
14044
+ /** @constant */
14045
+ type: "merged_session_message";
14046
+ /** @constant */
14047
+ internal: true;
14048
+ source: {
14049
+ /** Format: uuid */
14050
+ merge_id: string;
14051
+ /** Format: uuid */
14052
+ source_session_id: string;
14053
+ source_ticket_number: number;
14054
+ /** Format: uuid */
14055
+ source_message_uuid: string;
14056
+ redacted?: boolean;
14057
+ };
14058
+ } | {
13889
14059
  /**
13890
14060
  * @description A recorded event without a typed history mapping. Included in organization exports so no history rows are lost.
13891
14061
  * @constant
13892
14062
  */
13893
14063
  type: "unmapped_event";
13894
14064
  /** @enum {string} */
13895
- message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
14065
+ message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "merged_session_message" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_merged" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
13896
14066
  content: {
13897
14067
  /** @constant */
13898
14068
  type: "text";
@@ -14176,7 +14346,7 @@ export interface components {
14176
14346
  * @description Stored event type used by include/exclude filters; it can differ from the normalized event.type.
14177
14347
  * @enum {string}
14178
14348
  */
14179
- message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
14349
+ message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "merged_session_message" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_merged" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
14180
14350
  actor: {
14181
14351
  /** @enum {string} */
14182
14352
  type: "human" | "api" | "workflow" | "system" | "integration" | "ai" | "contact" | "unknown";
@@ -14400,6 +14570,12 @@ export interface components {
14400
14570
  GetChatSessionOutput: {
14401
14571
  /** Format: uuid */
14402
14572
  id: string;
14573
+ merge: {
14574
+ /** Format: uuid */
14575
+ id: string;
14576
+ primary_session_id: string | null;
14577
+ merged_at: string | null;
14578
+ } | null;
14403
14579
  /** @description All tags currently assigned to this session, ordered by tag name. Empty when no tags are assigned. */
14404
14580
  tags: components["schemas"]["SessionTagOutput"][];
14405
14581
  /** @enum {string} */
@@ -14484,6 +14660,12 @@ export interface components {
14484
14660
  GetChatSessionDetailOutput: {
14485
14661
  /** Format: uuid */
14486
14662
  id: string;
14663
+ merge: {
14664
+ /** Format: uuid */
14665
+ id: string;
14666
+ primary_session_id: string | null;
14667
+ merged_at: string | null;
14668
+ } | null;
14487
14669
  /** @description All tags currently assigned to this session, ordered by tag name. Empty when no tags are assigned. */
14488
14670
  tags: components["schemas"]["SessionTagOutput"][];
14489
14671
  /** @enum {string} */
@@ -15834,7 +16016,7 @@ export interface components {
15834
16016
  /** Format: email */
15835
16017
  email: string;
15836
16018
  avatar_url?: string | null;
15837
- permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
16019
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
15838
16020
  roles: components["schemas"]["OrgUserRole"][];
15839
16021
  };
15840
16022
  OrgUserDetail: {
@@ -15844,7 +16026,7 @@ export interface components {
15844
16026
  /** Format: email */
15845
16027
  email: string;
15846
16028
  avatar_url?: string | null;
15847
- permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
16029
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
15848
16030
  roles: components["schemas"]["OrgUserRole"][];
15849
16031
  teams: {
15850
16032
  group: components["schemas"]["GroupDto"];
@@ -15866,7 +16048,7 @@ export interface components {
15866
16048
  id: string;
15867
16049
  name: string;
15868
16050
  description: string | null;
15869
- permissions: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[];
16051
+ permissions: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[];
15870
16052
  };
15871
16053
  PublicInsight: {
15872
16054
  /** Format: uuid */
@@ -17022,6 +17204,41 @@ export interface operations {
17022
17204
  };
17023
17205
  };
17024
17206
  };
17207
+ mergeSessions: {
17208
+ parameters: {
17209
+ query?: never;
17210
+ header?: never;
17211
+ path: {
17212
+ session_id: string;
17213
+ };
17214
+ cookie?: never;
17215
+ };
17216
+ requestBody: {
17217
+ content: {
17218
+ "application/json": components["schemas"]["MergeSessionsInput"];
17219
+ };
17220
+ };
17221
+ responses: {
17222
+ /** @description Default Response */
17223
+ 200: {
17224
+ headers: {
17225
+ [name: string]: unknown;
17226
+ };
17227
+ content: {
17228
+ "application/json": components["schemas"]["MergeSessionsResult"];
17229
+ };
17230
+ };
17231
+ /** @description Internal Server Error */
17232
+ 500: {
17233
+ headers: {
17234
+ [name: string]: unknown;
17235
+ };
17236
+ content: {
17237
+ "application/json": components["schemas"]["ErrorDto"];
17238
+ };
17239
+ };
17240
+ };
17241
+ };
17025
17242
  listChatSessions: {
17026
17243
  parameters: {
17027
17244
  query?: {
@@ -28200,6 +28417,39 @@ export interface operations {
28200
28417
  };
28201
28418
  };
28202
28419
  };
28420
+ authenticateWidgetUserByExternalId: {
28421
+ parameters: {
28422
+ query?: never;
28423
+ header?: never;
28424
+ path?: never;
28425
+ cookie?: never;
28426
+ };
28427
+ requestBody: {
28428
+ content: {
28429
+ "application/json": components["schemas"]["AuthenticateUserByExternalIdPayloadDto"];
28430
+ };
28431
+ };
28432
+ responses: {
28433
+ /** @description Default Response */
28434
+ 201: {
28435
+ headers: {
28436
+ [name: string]: unknown;
28437
+ };
28438
+ content: {
28439
+ "application/json": components["schemas"]["VerifiedWidgetContactTokenResponseDto"];
28440
+ };
28441
+ };
28442
+ /** @description Internal Server Error */
28443
+ 500: {
28444
+ headers: {
28445
+ [name: string]: unknown;
28446
+ };
28447
+ content: {
28448
+ "application/json": components["schemas"]["ErrorDto"];
28449
+ };
28450
+ };
28451
+ };
28452
+ };
28203
28453
  testConnection: {
28204
28454
  parameters: {
28205
28455
  query?: never;