@chanl/sdk 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/client.d.ts +6 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +14 -2
  4. package/dist/client.js.map +1 -1
  5. package/dist/index.d.ts +6 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +10 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/modules/agents.d.ts +26 -1
  10. package/dist/modules/agents.d.ts.map +1 -1
  11. package/dist/modules/agents.js +49 -0
  12. package/dist/modules/agents.js.map +1 -1
  13. package/dist/modules/audio.d.ts +10 -0
  14. package/dist/modules/audio.d.ts.map +1 -1
  15. package/dist/modules/audio.js +3 -0
  16. package/dist/modules/audio.js.map +1 -1
  17. package/dist/modules/calls.d.ts +5 -0
  18. package/dist/modules/calls.d.ts.map +1 -1
  19. package/dist/modules/calls.js.map +1 -1
  20. package/dist/modules/conversations.d.ts +92 -0
  21. package/dist/modules/conversations.d.ts.map +1 -0
  22. package/dist/modules/conversations.js +57 -0
  23. package/dist/modules/conversations.js.map +1 -0
  24. package/dist/modules/customers.d.ts +121 -0
  25. package/dist/modules/customers.d.ts.map +1 -0
  26. package/dist/modules/customers.js +74 -0
  27. package/dist/modules/customers.js.map +1 -0
  28. package/dist/modules/scenarios.d.ts +151 -0
  29. package/dist/modules/scenarios.d.ts.map +1 -1
  30. package/dist/modules/scenarios.js +166 -1
  31. package/dist/modules/scenarios.js.map +1 -1
  32. package/dist/modules/scorecard.d.ts +21 -1
  33. package/dist/modules/scorecard.d.ts.map +1 -1
  34. package/dist/modules/scorecard.js.map +1 -1
  35. package/dist/modules/whatsapp.d.ts +147 -0
  36. package/dist/modules/whatsapp.d.ts.map +1 -0
  37. package/dist/modules/whatsapp.js +86 -0
  38. package/dist/modules/whatsapp.js.map +1 -0
  39. package/package.json +1 -1
@@ -0,0 +1,92 @@
1
+ /**
2
+ * ConversationsModule - messaging conversations across channels
3
+ *
4
+ * Covers channels-service's messaging surface (gateway prefix
5
+ * /api/v1/messaging): list/read conversations and send outbound
6
+ * messages — session (free-form) or template (contentSid).
7
+ *
8
+ * WhatsApp note: free-form messages deliver only inside Meta's 24h
9
+ * customer-service window (opened by the customer's last inbound
10
+ * message). Outside it, send an approved template via `contentSid` +
11
+ * `contentVariables` — a free-form attempt fails with a 63016-class
12
+ * provider error.
13
+ */
14
+ import { ChanlSDK } from '../client';
15
+ import { ApiResponse } from '../types/config';
16
+ export interface Conversation {
17
+ id: string;
18
+ workspaceId: string;
19
+ channelId?: string;
20
+ channelType?: string;
21
+ customerAddress?: string;
22
+ customerId?: string;
23
+ status?: string;
24
+ lastMessageAt?: string;
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ }
28
+ export interface ConversationMessage {
29
+ id: string;
30
+ conversationId: string;
31
+ direction: 'inbound' | 'outbound';
32
+ body?: string;
33
+ mediaUrl?: string;
34
+ status?: string;
35
+ externalMessageId?: string;
36
+ createdAt: string;
37
+ }
38
+ export interface ConversationFilters {
39
+ page?: number;
40
+ limit?: number;
41
+ channelType?: string;
42
+ channelId?: string;
43
+ status?: string;
44
+ }
45
+ export interface ConversationListResponse {
46
+ items: Conversation[];
47
+ pagination?: {
48
+ total: number;
49
+ page: number;
50
+ limit: number;
51
+ totalPages: number;
52
+ };
53
+ }
54
+ export interface ConversationDetailResponse {
55
+ conversation: Conversation;
56
+ messages: ConversationMessage[];
57
+ pagination?: {
58
+ total: number;
59
+ page: number;
60
+ limit: number;
61
+ totalPages: number;
62
+ };
63
+ }
64
+ export interface SendMessageData {
65
+ /** Channel to send through (owns the from-number/identity). */
66
+ channelId: string;
67
+ /** Recipient address — E.164 for phone-backed channels. */
68
+ to: string;
69
+ /** Free-form body (session messages — inside the 24h window on WhatsApp). */
70
+ body?: string;
71
+ mediaUrl?: string;
72
+ /** Approved template SID (WhatsApp business-initiated / window re-open). */
73
+ contentSid?: string;
74
+ /** Template variable values keyed by placeholder ('1', '2', …). */
75
+ contentVariables?: Record<string, string>;
76
+ }
77
+ export declare class ConversationsModule {
78
+ private sdk;
79
+ constructor(sdk: ChanlSDK);
80
+ /** List conversations (paginated; filter by channelType/channelId/status). */
81
+ list(filters?: ConversationFilters): Promise<ApiResponse<ConversationListResponse>>;
82
+ /** Get a conversation with its messages (message pagination via page/limit). */
83
+ get(id: string, messageFilters?: {
84
+ page?: number;
85
+ limit?: number;
86
+ }): Promise<ApiResponse<ConversationDetailResponse>>;
87
+ /** Send an outbound message — free-form body OR template (contentSid). */
88
+ send(data: SendMessageData): Promise<ApiResponse<ConversationMessage>>;
89
+ /** Close a conversation. */
90
+ close(id: string): Promise<ApiResponse<Conversation>>;
91
+ }
92
+ //# sourceMappingURL=conversations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/modules/conversations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * ConversationsModule - messaging conversations across channels
4
+ *
5
+ * Covers channels-service's messaging surface (gateway prefix
6
+ * /api/v1/messaging): list/read conversations and send outbound
7
+ * messages — session (free-form) or template (contentSid).
8
+ *
9
+ * WhatsApp note: free-form messages deliver only inside Meta's 24h
10
+ * customer-service window (opened by the customer's last inbound
11
+ * message). Outside it, send an approved template via `contentSid` +
12
+ * `contentVariables` — a free-form attempt fails with a 63016-class
13
+ * provider error.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ConversationsModule = void 0;
17
+ class ConversationsModule {
18
+ constructor(sdk) {
19
+ this.sdk = sdk;
20
+ }
21
+ /** List conversations (paginated; filter by channelType/channelId/status). */
22
+ async list(filters) {
23
+ const params = new URLSearchParams();
24
+ if (filters?.page !== undefined)
25
+ params.append('page', String(filters.page));
26
+ if (filters?.limit !== undefined)
27
+ params.append('limit', String(filters.limit));
28
+ if (filters?.channelType)
29
+ params.append('channelType', filters.channelType);
30
+ if (filters?.channelId)
31
+ params.append('channelId', filters.channelId);
32
+ if (filters?.status)
33
+ params.append('status', filters.status);
34
+ const qs = params.toString();
35
+ return this.sdk.request('GET', `/api/v1/messaging/conversations${qs ? `?${qs}` : ''}`);
36
+ }
37
+ /** Get a conversation with its messages (message pagination via page/limit). */
38
+ async get(id, messageFilters) {
39
+ const params = new URLSearchParams();
40
+ if (messageFilters?.page !== undefined)
41
+ params.append('page', String(messageFilters.page));
42
+ if (messageFilters?.limit !== undefined)
43
+ params.append('limit', String(messageFilters.limit));
44
+ const qs = params.toString();
45
+ return this.sdk.request('GET', `/api/v1/messaging/conversations/${id}${qs ? `?${qs}` : ''}`);
46
+ }
47
+ /** Send an outbound message — free-form body OR template (contentSid). */
48
+ async send(data) {
49
+ return this.sdk.request('POST', '/api/v1/messaging/send', data);
50
+ }
51
+ /** Close a conversation. */
52
+ async close(id) {
53
+ return this.sdk.request('POST', `/api/v1/messaging/conversations/${id}/close`);
54
+ }
55
+ }
56
+ exports.ConversationsModule = ConversationsModule;
57
+ //# sourceMappingURL=conversations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/modules/conversations.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAyEH,MAAa,mBAAmB;IAC9B,YAAoB,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAErC,8EAA8E;IAC9E,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,IAAI,OAAO,EAAE,WAAW;YAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,GAAG,CACP,EAAU,EACV,cAAkD;QAElD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,cAAc,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,cAAc,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9F,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,IAAI,CAAC,IAAqB;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,mCAAmC,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;CACF;AApCD,kDAoCC"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * CustomersModule - SDK module for the customer record
3
+ *
4
+ * The customer record is the platform's primary surface: every conversation
5
+ * (voice, chat, WhatsApp) attaches to a customer. This module exposes the
6
+ * public CRUD + resolve surface of platform-server's customers controller.
7
+ *
8
+ * Not exposed here (deliberately):
9
+ * - internal/* routes (service-to-service only)
10
+ * - /customers/find-or-create (deprecated — use resolve())
11
+ */
12
+ import { ChanlSDK } from '../client';
13
+ import { ApiResponse } from '../types/config';
14
+ export interface Customer {
15
+ id: string;
16
+ workspaceId: string;
17
+ firstName?: string;
18
+ lastName?: string;
19
+ /** Friendly display name resolved server-side when no real name is set. */
20
+ displayName?: string;
21
+ email?: string;
22
+ /** E.164, e.g. +14155551234 */
23
+ phoneNumber?: string;
24
+ /** Route this customer to a specific agent instead of the channel default. */
25
+ agentId?: string;
26
+ contactType?: 'lead' | 'customer' | 'teammate';
27
+ language?: string;
28
+ avatar?: string;
29
+ jobTitle?: string;
30
+ ownerId?: string;
31
+ companyIds?: string[];
32
+ primaryCompanyId?: string;
33
+ customAttributes?: Record<string, unknown>;
34
+ signedUpAt?: string;
35
+ lastSeenAt?: string;
36
+ lastContactedAt?: string;
37
+ unsubscribedFromEmails?: boolean;
38
+ createdAt: string;
39
+ updatedAt: string;
40
+ }
41
+ export interface CustomerFilters {
42
+ page?: number;
43
+ limit?: number;
44
+ /** Case-insensitive substring match over firstName, lastName, phoneNumber, email. */
45
+ search?: string;
46
+ email?: string;
47
+ phoneNumber?: string;
48
+ contactType?: 'lead' | 'customer' | 'teammate';
49
+ verified?: boolean;
50
+ }
51
+ /** List responses use the platform's paginated shape: { data: [...], pagination }. */
52
+ export interface CustomerListResponse {
53
+ data: Customer[];
54
+ pagination?: {
55
+ total: number;
56
+ page: number;
57
+ limit: number;
58
+ totalPages: number;
59
+ };
60
+ }
61
+ export interface CreateCustomerData {
62
+ firstName?: string;
63
+ lastName?: string;
64
+ email?: string;
65
+ /** E.164, e.g. +14155551234 */
66
+ phoneNumber?: string;
67
+ agentId?: string;
68
+ customAttributes?: Record<string, unknown>;
69
+ language?: string;
70
+ avatar?: string;
71
+ jobTitle?: string;
72
+ ownerId?: string;
73
+ companyIds?: string[];
74
+ primaryCompanyId?: string;
75
+ }
76
+ export type UpdateCustomerData = CreateCustomerData;
77
+ /** Attribute values are sourced — the record tracks WHERE each fact came from. */
78
+ export interface CustomerAttributeValue {
79
+ value: unknown;
80
+ source: 'extraction' | 'manual';
81
+ interactionId?: string;
82
+ confidence?: number;
83
+ }
84
+ export interface ResolveCustomerData {
85
+ /** E.164 phone — note the field is `phone` on this endpoint, not `phoneNumber`. */
86
+ phone?: string;
87
+ email?: string;
88
+ firstName?: string;
89
+ lastName?: string;
90
+ source?: string;
91
+ metadata?: Record<string, unknown>;
92
+ }
93
+ export interface ResolveCustomerResponse {
94
+ customer: Customer;
95
+ created: boolean;
96
+ }
97
+ export declare class CustomersModule {
98
+ private sdk;
99
+ constructor(sdk: ChanlSDK);
100
+ /** List customers in the workspace (paginated, optional free-text search). */
101
+ list(filters?: CustomerFilters): Promise<ApiResponse<CustomerListResponse>>;
102
+ /** Get one customer by id. */
103
+ get(id: string): Promise<ApiResponse<Customer>>;
104
+ /** Create a customer. 409s if the phone number already exists in the workspace. */
105
+ create(data: CreateCustomerData): Promise<ApiResponse<Customer>>;
106
+ /** Update a customer (full-intent update — the endpoint is PUT, not PATCH). */
107
+ update(id: string, data: UpdateCustomerData): Promise<ApiResponse<Customer>>;
108
+ /** Delete a customer. */
109
+ delete(id: string): Promise<ApiResponse<void>>;
110
+ /**
111
+ * Merge sourced attributes onto the record. Each value carries its
112
+ * provenance (manual vs extraction, optionally which interaction).
113
+ */
114
+ updateAttributes(id: string, attributes: Record<string, CustomerAttributeValue>, language?: string): Promise<ApiResponse<Customer>>;
115
+ /**
116
+ * Resolve by phone/email — returns the existing customer or creates one.
117
+ * Race-safe server-side; the primitive behind inbound-channel identity.
118
+ */
119
+ resolve(data: ResolveCustomerData): Promise<ApiResponse<ResolveCustomerResponse>>;
120
+ }
121
+ //# sourceMappingURL=customers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/modules/customers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * CustomersModule - SDK module for the customer record
4
+ *
5
+ * The customer record is the platform's primary surface: every conversation
6
+ * (voice, chat, WhatsApp) attaches to a customer. This module exposes the
7
+ * public CRUD + resolve surface of platform-server's customers controller.
8
+ *
9
+ * Not exposed here (deliberately):
10
+ * - internal/* routes (service-to-service only)
11
+ * - /customers/find-or-create (deprecated — use resolve())
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.CustomersModule = void 0;
15
+ class CustomersModule {
16
+ constructor(sdk) {
17
+ this.sdk = sdk;
18
+ }
19
+ /** List customers in the workspace (paginated, optional free-text search). */
20
+ async list(filters) {
21
+ const params = new URLSearchParams();
22
+ if (filters?.page !== undefined)
23
+ params.append('page', String(filters.page));
24
+ if (filters?.limit !== undefined)
25
+ params.append('limit', String(filters.limit));
26
+ if (filters?.search)
27
+ params.append('search', filters.search);
28
+ if (filters?.email)
29
+ params.append('email', filters.email);
30
+ if (filters?.phoneNumber)
31
+ params.append('phoneNumber', filters.phoneNumber);
32
+ if (filters?.contactType)
33
+ params.append('contactType', filters.contactType);
34
+ if (filters?.verified !== undefined)
35
+ params.append('verified', String(filters.verified));
36
+ const qs = params.toString();
37
+ return this.sdk.request('GET', `/api/v1/customers${qs ? `?${qs}` : ''}`);
38
+ }
39
+ /** Get one customer by id. */
40
+ async get(id) {
41
+ return this.sdk.request('GET', `/api/v1/customers/${id}`);
42
+ }
43
+ /** Create a customer. 409s if the phone number already exists in the workspace. */
44
+ async create(data) {
45
+ return this.sdk.request('POST', '/api/v1/customers', data);
46
+ }
47
+ /** Update a customer (full-intent update — the endpoint is PUT, not PATCH). */
48
+ async update(id, data) {
49
+ return this.sdk.request('PUT', `/api/v1/customers/${id}`, data);
50
+ }
51
+ /** Delete a customer. */
52
+ async delete(id) {
53
+ return this.sdk.request('DELETE', `/api/v1/customers/${id}`);
54
+ }
55
+ /**
56
+ * Merge sourced attributes onto the record. Each value carries its
57
+ * provenance (manual vs extraction, optionally which interaction).
58
+ */
59
+ async updateAttributes(id, attributes, language) {
60
+ return this.sdk.request('PATCH', `/api/v1/customers/${id}/attributes`, {
61
+ attributes,
62
+ ...(language ? { language } : {}),
63
+ });
64
+ }
65
+ /**
66
+ * Resolve by phone/email — returns the existing customer or creates one.
67
+ * Race-safe server-side; the primitive behind inbound-channel identity.
68
+ */
69
+ async resolve(data) {
70
+ return this.sdk.request('POST', '/api/v1/customers/resolve', data);
71
+ }
72
+ }
73
+ exports.CustomersModule = CustomersModule;
74
+ //# sourceMappingURL=customers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/modules/customers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAiGH,MAAa,eAAe;IAC1B,YAAoB,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAErC,8EAA8E;IAC9E,KAAK,CAAC,IAAI,CAAC,OAAyB;QAClC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,WAAW;YAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,WAAW;YAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,MAAM,CAAC,IAAwB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAwB;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,EAAU,EACV,UAAkD,EAClD,QAAiB;QAEjB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE;YACrE,UAAU;YACV,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,IAAyB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;CACF;AA3DD,0CA2DC"}
@@ -6,6 +6,10 @@
6
6
  import { ChanlSDK } from '../client';
7
7
  import { ApiResponse } from '../types/config';
8
8
  import { ToolCall } from '../types/tool-calls';
9
+ export interface ScenarioTarget {
10
+ phoneNumber: string;
11
+ label?: string;
12
+ }
9
13
  export interface Scenario {
10
14
  id: string;
11
15
  name: string;
@@ -16,11 +20,27 @@ export interface Scenario {
16
20
  status?: 'draft' | 'active' | 'paused' | 'completed' | 'archived';
17
21
  tags?: string[];
18
22
  agentId?: string;
23
+ agentIds?: string[];
24
+ personaIds?: string[];
25
+ targets?: ScenarioTarget[];
19
26
  workspaceId: string;
20
27
  createdBy?: string;
21
28
  createdAt: string;
22
29
  updatedAt: string;
23
30
  }
31
+ export interface CreateScenarioData {
32
+ name: string;
33
+ description?: string;
34
+ prompt?: string;
35
+ status?: 'draft' | 'active' | 'paused' | 'completed' | 'archived';
36
+ category?: string;
37
+ difficulty?: 'easy' | 'medium' | 'hard';
38
+ tags?: string[];
39
+ personaIds?: string[];
40
+ agentIds?: string[];
41
+ targets?: ScenarioTarget[];
42
+ scorecardId?: string;
43
+ }
24
44
  export interface ScenarioFilters {
25
45
  agentId?: string;
26
46
  type?: string;
@@ -49,11 +69,15 @@ export interface ScenarioResponse {
49
69
  }
50
70
  export interface ExecuteScenarioOptions {
51
71
  agentId?: string;
72
+ personaId?: string;
52
73
  triggeredBy?: string;
53
74
  phoneNumber?: string;
54
75
  parameters?: Record<string, unknown>;
55
76
  maxDurationSeconds?: number;
56
77
  dryRun?: boolean;
78
+ /** API field — preferred */
79
+ mode?: 'text' | 'phone';
80
+ /** @deprecated Use `mode` — mapped to API `mode` on send */
57
81
  simulationMode?: 'text' | 'websocket' | 'phone';
58
82
  /** For self-hosted eval: e.g. `openai`, `anthropic`, `http` */
59
83
  adapterType?: string;
@@ -155,6 +179,84 @@ export interface BatchResult {
155
179
  minScore: number;
156
180
  results: BatchScenarioResult[];
157
181
  }
182
+ export interface RunCrossProductOptions {
183
+ agentId?: string;
184
+ personaId?: string;
185
+ mode?: 'text' | 'phone' | 'websocket';
186
+ phoneNumber?: string;
187
+ scorecardId?: string;
188
+ }
189
+ export interface RunCrossProductResult {
190
+ scenarioId: string;
191
+ scenarioName: string;
192
+ executions: Array<{
193
+ executionId: string;
194
+ agentId: string;
195
+ personaId: string;
196
+ }>;
197
+ totalCombos: number;
198
+ }
199
+ export interface ExecutionStats {
200
+ total: number;
201
+ byStatus: Array<{
202
+ status: string;
203
+ count: number;
204
+ }>;
205
+ avgScore: number | null;
206
+ avgDuration: number | null;
207
+ successRate: number;
208
+ totalCredits: number;
209
+ activeCount: number;
210
+ last24Hours: number;
211
+ last7Days: number;
212
+ }
213
+ export interface AgentTestReport {
214
+ agentId: string;
215
+ totalRuns: number;
216
+ passed: number;
217
+ failed: number;
218
+ avgScore: number;
219
+ successRate: number;
220
+ scenarios: Array<{
221
+ scenarioId: string;
222
+ scenarioName: string;
223
+ runs: number;
224
+ avgScore: number;
225
+ lastRun: string;
226
+ lastPassed: boolean;
227
+ }>;
228
+ trend: Array<{
229
+ date: string;
230
+ avgScore: number;
231
+ runs: number;
232
+ }>;
233
+ }
234
+ export interface ExecuteBatchParams {
235
+ scenarioIds: string[];
236
+ agentId: string;
237
+ scorecardId?: string;
238
+ mode?: 'text' | 'phone' | 'websocket';
239
+ phoneNumber?: string;
240
+ }
241
+ export interface ExecutionBatch {
242
+ batchId: string;
243
+ status: 'pending' | 'running' | 'completed' | 'partial';
244
+ progress: {
245
+ total: number;
246
+ completed: number;
247
+ failed: number;
248
+ running: number;
249
+ };
250
+ summary?: {
251
+ avgScore: number;
252
+ passRate: number;
253
+ passed: number;
254
+ failed: number;
255
+ };
256
+ executionIds: string[];
257
+ createdAt: string;
258
+ completedAt?: string;
259
+ }
158
260
  import { LiveExecution } from '../live/live-execution';
159
261
  import type { LiveOptions } from '../live/types';
160
262
  export declare class ScenariosModule {
@@ -180,6 +282,22 @@ export declare class ScenariosModule {
180
282
  * ```
181
283
  */
182
284
  get(id: string): Promise<ApiResponse<Scenario>>;
285
+ /**
286
+ * Create a scenario
287
+ */
288
+ create(data: CreateScenarioData): Promise<ApiResponse<Scenario>>;
289
+ /**
290
+ * Update a scenario
291
+ */
292
+ update(id: string, data: Partial<CreateScenarioData>): Promise<ApiResponse<Scenario>>;
293
+ /**
294
+ * Delete a scenario
295
+ */
296
+ delete(id: string): Promise<ApiResponse<void>>;
297
+ /**
298
+ * Clone a scenario (server-side duplicate)
299
+ */
300
+ clone(id: string): Promise<ApiResponse<Scenario>>;
183
301
  /**
184
302
  * Execute a scenario
185
303
  *
@@ -201,6 +319,8 @@ export declare class ScenariosModule {
201
319
  * ```
202
320
  */
203
321
  run(scenarioId: string, options?: ExecuteScenarioOptions): Promise<ApiResponse<ExecuteScenarioResponse>>;
322
+ /** Alias for {@link run} (platform-sdk compatibility) */
323
+ execute(scenarioId: string, options?: ExecuteScenarioOptions): Promise<ApiResponse<ExecuteScenarioResponse>>;
204
324
  /**
205
325
  * Get a specific execution by ID
206
326
  *
@@ -242,6 +362,37 @@ export declare class ScenariosModule {
242
362
  * ```
243
363
  */
244
364
  getSimulations(scenarioId: string, limit?: number): Promise<ApiResponse<SimulationsResponse>>;
365
+ /**
366
+ * Cancel a running or queued execution
367
+ */
368
+ cancelExecution(executionId: string): Promise<ApiResponse<void>>;
369
+ /**
370
+ * Retry a failed or cancelled execution
371
+ */
372
+ retryExecution(executionId: string): Promise<ApiResponse<ScenarioExecution>>;
373
+ /**
374
+ * Workspace-wide execution statistics
375
+ */
376
+ getExecutionStats(): Promise<ApiResponse<ExecutionStats>>;
377
+ /**
378
+ * Per-agent test report with scenario breakdown
379
+ */
380
+ getAgentTestReport(agentId: string, opts?: {
381
+ from?: string;
382
+ to?: string;
383
+ }): Promise<ApiResponse<AgentTestReport>>;
384
+ /**
385
+ * Execute multiple scenarios in a single batch
386
+ */
387
+ executeBatch(params: ExecuteBatchParams): Promise<ApiResponse<ExecutionBatch>>;
388
+ /**
389
+ * Get batch status by ID
390
+ */
391
+ getBatch(batchId: string): Promise<ApiResponse<ExecutionBatch>>;
392
+ /**
393
+ * Run all agent × persona combinations for a scenario (cross-product)
394
+ */
395
+ runCrossProduct(scenarioId: string, opts?: RunCrossProductOptions): Promise<RunCrossProductResult>;
245
396
  /**
246
397
  * Run all scenarios for an agent and aggregate results
247
398
  *
@@ -1 +1 @@
1
- {"version":3,"file":"scenarios.d.ts","sourceRoot":"","sources":["../../src/modules/scenarios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenarios.d.ts","sourceRoot":"","sources":["../../src/modules/scenarios.ts"],"names":[],"mappings":"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"}