@opencx/mcp 1.15.49 → 1.15.50
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/dist/schema.d.ts +164 -4
- package/dist/schema.d.ts.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/call-flows.d.ts +4 -0
- package/dist/tools/call-flows.d.ts.map +1 -0
- package/dist/tools/call-flows.js +23 -0
- package/dist/tools/call-flows.js.map +1 -0
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -2557,6 +2557,41 @@ export interface paths {
|
|
|
2557
2557
|
patch: operations["updateInboxView"];
|
|
2558
2558
|
trace?: never;
|
|
2559
2559
|
};
|
|
2560
|
+
"/call-flows/assets": {
|
|
2561
|
+
parameters: {
|
|
2562
|
+
query?: never;
|
|
2563
|
+
header?: never;
|
|
2564
|
+
path?: never;
|
|
2565
|
+
cookie?: never;
|
|
2566
|
+
};
|
|
2567
|
+
/** List WAV recordings for call flows */
|
|
2568
|
+
get: operations["listCallFlowAssets"];
|
|
2569
|
+
put?: never;
|
|
2570
|
+
/** Upload an immutable WAV recording */
|
|
2571
|
+
post: operations["uploadCallFlowAsset"];
|
|
2572
|
+
delete?: never;
|
|
2573
|
+
options?: never;
|
|
2574
|
+
head?: never;
|
|
2575
|
+
patch?: never;
|
|
2576
|
+
trace?: never;
|
|
2577
|
+
};
|
|
2578
|
+
"/call-flows/binding": {
|
|
2579
|
+
parameters: {
|
|
2580
|
+
query?: never;
|
|
2581
|
+
header?: never;
|
|
2582
|
+
path?: never;
|
|
2583
|
+
cookie?: never;
|
|
2584
|
+
};
|
|
2585
|
+
get?: never;
|
|
2586
|
+
/** Assign an active call flow to a phone number */
|
|
2587
|
+
put: operations["setCallFlowBinding"];
|
|
2588
|
+
post?: never;
|
|
2589
|
+
delete?: never;
|
|
2590
|
+
options?: never;
|
|
2591
|
+
head?: never;
|
|
2592
|
+
patch?: never;
|
|
2593
|
+
trace?: never;
|
|
2594
|
+
};
|
|
2560
2595
|
"/workflows/definitions": {
|
|
2561
2596
|
parameters: {
|
|
2562
2597
|
query?: never;
|
|
@@ -8661,7 +8696,7 @@ export interface components {
|
|
|
8661
8696
|
* @description What starts the workflow. Use "manual-trigger" for on-demand execution, "ai-trigger" for AI-initiated, "webhook" for external HTTP triggers, "cron-trigger" for scheduled runs, or event-based triggers like "ticket-created", "contact-created", etc.
|
|
8662
8697
|
* @enum {string}
|
|
8663
8698
|
*/
|
|
8664
|
-
trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8699
|
+
trigger_type: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8665
8700
|
/** @description Trigger-specific configuration (e.g. cron expression for cron-trigger) */
|
|
8666
8701
|
trigger_configuration?: unknown | null;
|
|
8667
8702
|
/** @description Array of workflow steps and control-flow blocks. Each step is an object with { "$kind": "Action", "id": "<unique-step-id>", "type": "<action-type>", "name": "<display-name>", "input": { ... } }. Control-flow blocks use { "$kind": "Block", "type": "if-else", "id": "<unique-id>", "inputs": { "condition": { "operatorName": "equals", "left": "{{step_id.field}}", "right": "value" } }, "branches": { "then": [...steps], "else": [...steps] } }. Use {{step_id.field}} to reference outputs from previous steps (no `.output.` segment — the field sits directly under the step id). */
|
|
@@ -8678,7 +8713,7 @@ export interface components {
|
|
|
8678
8713
|
* @description New trigger type
|
|
8679
8714
|
* @enum {string}
|
|
8680
8715
|
*/
|
|
8681
|
-
trigger_type?: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8716
|
+
trigger_type?: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8682
8717
|
/** @description New trigger configuration */
|
|
8683
8718
|
trigger_configuration?: unknown | null;
|
|
8684
8719
|
/** @description New workflow step/block definitions (replaces existing blocks) */
|
|
@@ -8691,7 +8726,7 @@ export interface components {
|
|
|
8691
8726
|
* @description Trigger type to validate against
|
|
8692
8727
|
* @enum {string}
|
|
8693
8728
|
*/
|
|
8694
|
-
trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8729
|
+
trigger_type: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8695
8730
|
/** @description Trigger configuration to validate against the trigger's configuration_def. When omitted, the trigger is validated as if unconfigured — triggers with required configuration (e.g. cron-trigger, ai-trigger) will report errors. */
|
|
8696
8731
|
trigger_configuration?: unknown | null;
|
|
8697
8732
|
/** @description Workflow blocks to validate */
|
|
@@ -8704,7 +8739,7 @@ export interface components {
|
|
|
8704
8739
|
* @description Trigger type whose payload shape this synthetic payload should match
|
|
8705
8740
|
* @enum {string}
|
|
8706
8741
|
*/
|
|
8707
|
-
type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8742
|
+
type: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8708
8743
|
payload: unknown;
|
|
8709
8744
|
};
|
|
8710
8745
|
};
|
|
@@ -10645,6 +10680,8 @@ export interface components {
|
|
|
10645
10680
|
/** Format: date-time */
|
|
10646
10681
|
created_at: string;
|
|
10647
10682
|
verified_at: string | null;
|
|
10683
|
+
assigned_ivr_id?: string | null;
|
|
10684
|
+
assigned_ivr_name?: string | null;
|
|
10648
10685
|
assigned_agent_id?: string | null;
|
|
10649
10686
|
assigned_agent_name?: string | null;
|
|
10650
10687
|
assigned_agent_provider?: ("vapi" | "openai-realtime-voice" | "livekit") | null;
|
|
@@ -21419,6 +21456,129 @@ export interface operations {
|
|
|
21419
21456
|
};
|
|
21420
21457
|
};
|
|
21421
21458
|
};
|
|
21459
|
+
listCallFlowAssets: {
|
|
21460
|
+
parameters: {
|
|
21461
|
+
query?: never;
|
|
21462
|
+
header?: never;
|
|
21463
|
+
path?: never;
|
|
21464
|
+
cookie?: never;
|
|
21465
|
+
};
|
|
21466
|
+
requestBody?: never;
|
|
21467
|
+
responses: {
|
|
21468
|
+
/** @description Default Response */
|
|
21469
|
+
200: {
|
|
21470
|
+
headers: {
|
|
21471
|
+
[name: string]: unknown;
|
|
21472
|
+
};
|
|
21473
|
+
content: {
|
|
21474
|
+
"application/json": {
|
|
21475
|
+
/** Format: uuid */
|
|
21476
|
+
id: string;
|
|
21477
|
+
name: string;
|
|
21478
|
+
sample_rate: number;
|
|
21479
|
+
channels: number;
|
|
21480
|
+
duration_seconds: number;
|
|
21481
|
+
/** Format: date-time */
|
|
21482
|
+
created_at: string;
|
|
21483
|
+
}[];
|
|
21484
|
+
};
|
|
21485
|
+
};
|
|
21486
|
+
/** @description Internal Server Error */
|
|
21487
|
+
500: {
|
|
21488
|
+
headers: {
|
|
21489
|
+
[name: string]: unknown;
|
|
21490
|
+
};
|
|
21491
|
+
content: {
|
|
21492
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
21493
|
+
};
|
|
21494
|
+
};
|
|
21495
|
+
};
|
|
21496
|
+
};
|
|
21497
|
+
uploadCallFlowAsset: {
|
|
21498
|
+
parameters: {
|
|
21499
|
+
query?: never;
|
|
21500
|
+
header?: never;
|
|
21501
|
+
path?: never;
|
|
21502
|
+
cookie?: never;
|
|
21503
|
+
};
|
|
21504
|
+
requestBody: {
|
|
21505
|
+
content: {
|
|
21506
|
+
"application/json": {
|
|
21507
|
+
name: string;
|
|
21508
|
+
wavBase64: string;
|
|
21509
|
+
};
|
|
21510
|
+
};
|
|
21511
|
+
};
|
|
21512
|
+
responses: {
|
|
21513
|
+
/** @description Default Response */
|
|
21514
|
+
200: {
|
|
21515
|
+
headers: {
|
|
21516
|
+
[name: string]: unknown;
|
|
21517
|
+
};
|
|
21518
|
+
content: {
|
|
21519
|
+
"application/json": {
|
|
21520
|
+
/** Format: uuid */
|
|
21521
|
+
id: string;
|
|
21522
|
+
name: string;
|
|
21523
|
+
sample_rate: number;
|
|
21524
|
+
channels: number;
|
|
21525
|
+
duration_seconds: number;
|
|
21526
|
+
/** Format: date-time */
|
|
21527
|
+
created_at: string;
|
|
21528
|
+
};
|
|
21529
|
+
};
|
|
21530
|
+
};
|
|
21531
|
+
/** @description Internal Server Error */
|
|
21532
|
+
500: {
|
|
21533
|
+
headers: {
|
|
21534
|
+
[name: string]: unknown;
|
|
21535
|
+
};
|
|
21536
|
+
content: {
|
|
21537
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
21538
|
+
};
|
|
21539
|
+
};
|
|
21540
|
+
};
|
|
21541
|
+
};
|
|
21542
|
+
setCallFlowBinding: {
|
|
21543
|
+
parameters: {
|
|
21544
|
+
query?: never;
|
|
21545
|
+
header?: never;
|
|
21546
|
+
path?: never;
|
|
21547
|
+
cookie?: never;
|
|
21548
|
+
};
|
|
21549
|
+
requestBody: {
|
|
21550
|
+
content: {
|
|
21551
|
+
"application/json": {
|
|
21552
|
+
/** Format: uuid */
|
|
21553
|
+
phoneId: string;
|
|
21554
|
+
workflowId: string | null;
|
|
21555
|
+
};
|
|
21556
|
+
};
|
|
21557
|
+
};
|
|
21558
|
+
responses: {
|
|
21559
|
+
/** @description Default Response */
|
|
21560
|
+
200: {
|
|
21561
|
+
headers: {
|
|
21562
|
+
[name: string]: unknown;
|
|
21563
|
+
};
|
|
21564
|
+
content: {
|
|
21565
|
+
"application/json": {
|
|
21566
|
+
/** @enum {boolean} */
|
|
21567
|
+
ok: true;
|
|
21568
|
+
};
|
|
21569
|
+
};
|
|
21570
|
+
};
|
|
21571
|
+
/** @description Internal Server Error */
|
|
21572
|
+
500: {
|
|
21573
|
+
headers: {
|
|
21574
|
+
[name: string]: unknown;
|
|
21575
|
+
};
|
|
21576
|
+
content: {
|
|
21577
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
21578
|
+
};
|
|
21579
|
+
};
|
|
21580
|
+
};
|
|
21581
|
+
};
|
|
21422
21582
|
listWorkflowDefinitions: {
|
|
21423
21583
|
parameters: {
|
|
21424
21584
|
query?: never;
|