@wildix/wilma-copilot-client 1.0.18 → 1.0.20
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-cjs/WilmaCopilot.js +2 -0
- package/dist-cjs/auth/httpAuthSchemeProvider.js +6 -0
- package/dist-cjs/commands/ListSubscriptionsCommand.js +20 -0
- package/dist-cjs/commands/index.js +1 -0
- package/dist-cjs/models/enums.js +22 -7
- package/dist-cjs/schemas/schemas_0.js +165 -128
- package/dist-es/WilmaCopilot.js +2 -0
- package/dist-es/auth/httpAuthSchemeProvider.js +6 -0
- package/dist-es/commands/ListSubscriptionsCommand.js +16 -0
- package/dist-es/commands/index.js +1 -0
- package/dist-es/models/enums.js +21 -6
- package/dist-es/schemas/schemas_0.js +161 -124
- package/dist-types/WilmaCopilot.d.ts +8 -0
- package/dist-types/WilmaCopilotClient.d.ts +3 -2
- package/dist-types/commands/AttachProfileResourceCommand.d.ts +14 -10
- package/dist-types/commands/CreateIntentCommand.d.ts +2 -4
- package/dist-types/commands/CreateProfileCommand.d.ts +28 -20
- package/dist-types/commands/DeleteProfileResourceCommand.d.ts +14 -10
- package/dist-types/commands/GetIntentCommand.d.ts +1 -2
- package/dist-types/commands/GetProfileCommand.d.ts +14 -10
- package/dist-types/commands/GetProfileVersionCommand.d.ts +17 -16
- package/dist-types/commands/ListProfilesCommand.d.ts +16 -2
- package/dist-types/commands/ListSubscriptionsCommand.d.ts +106 -0
- package/dist-types/commands/PublishProfileVersionCommand.d.ts +17 -16
- package/dist-types/commands/RestoreProfileVersionToDraftCommand.d.ts +14 -10
- package/dist-types/commands/UpdateIntentCommand.d.ts +2 -4
- package/dist-types/commands/UpdateProfileCommand.d.ts +28 -20
- package/dist-types/commands/index.d.ts +1 -0
- package/dist-types/models/enums.d.ts +40 -9
- package/dist-types/models/models_0.d.ts +195 -79
- package/dist-types/schemas/schemas_0.d.ts +6 -2
- package/package.json +1 -1
|
@@ -41,7 +41,6 @@ declare const UpdateIntentCommand_base: {
|
|
|
41
41
|
* description: "STRING_VALUE",
|
|
42
42
|
* handlers: { // IntentHandlers
|
|
43
43
|
* textMatch: { // IntentTextMatch
|
|
44
|
-
* enabled: true || false, // required
|
|
45
44
|
* options: [ // IntentTextMatchOptionsList
|
|
46
45
|
* { // IntentTextMatchOption
|
|
47
46
|
* id: "STRING_VALUE", // required
|
|
@@ -51,7 +50,6 @@ declare const UpdateIntentCommand_base: {
|
|
|
51
50
|
* ],
|
|
52
51
|
* },
|
|
53
52
|
* aiMatch: { // IntentAiMatch
|
|
54
|
-
* enabled: true || false, // required
|
|
55
53
|
* instructions: "STRING_VALUE",
|
|
56
54
|
* fields: [ // CopilotFieldsList
|
|
57
55
|
* { // CopilotField
|
|
@@ -88,6 +86,7 @@ declare const UpdateIntentCommand_base: {
|
|
|
88
86
|
* },
|
|
89
87
|
* ],
|
|
90
88
|
* },
|
|
89
|
+
* saidBy: "anyone" || "agent" || "customer",
|
|
91
90
|
* },
|
|
92
91
|
* conditions: "DOCUMENT_VALUE",
|
|
93
92
|
* company: "STRING_VALUE",
|
|
@@ -102,7 +101,6 @@ declare const UpdateIntentCommand_base: {
|
|
|
102
101
|
* // description: "STRING_VALUE",
|
|
103
102
|
* // handlers: { // IntentHandlers
|
|
104
103
|
* // textMatch: { // IntentTextMatch
|
|
105
|
-
* // enabled: true || false, // required
|
|
106
104
|
* // options: [ // IntentTextMatchOptionsList
|
|
107
105
|
* // { // IntentTextMatchOption
|
|
108
106
|
* // id: "STRING_VALUE", // required
|
|
@@ -112,7 +110,6 @@ declare const UpdateIntentCommand_base: {
|
|
|
112
110
|
* // ],
|
|
113
111
|
* // },
|
|
114
112
|
* // aiMatch: { // IntentAiMatch
|
|
115
|
-
* // enabled: true || false, // required
|
|
116
113
|
* // instructions: "STRING_VALUE",
|
|
117
114
|
* // fields: [ // CopilotFieldsList
|
|
118
115
|
* // { // CopilotField
|
|
@@ -149,6 +146,7 @@ declare const UpdateIntentCommand_base: {
|
|
|
149
146
|
* // },
|
|
150
147
|
* // ],
|
|
151
148
|
* // },
|
|
149
|
+
* // saidBy: "anyone" || "agent" || "customer",
|
|
152
150
|
* // },
|
|
153
151
|
* // conditions: "DOCUMENT_VALUE",
|
|
154
152
|
* // createdAt: "STRING_VALUE", // required
|
|
@@ -39,17 +39,21 @@ declare const UpdateProfileCommand_base: {
|
|
|
39
39
|
* const input = { // UpdateProfileInput
|
|
40
40
|
* name: "STRING_VALUE", // required
|
|
41
41
|
* description: "STRING_VALUE",
|
|
42
|
-
*
|
|
42
|
+
* audience: [ // CopilotAudienceList
|
|
43
|
+
* { // CopilotAudienceEntry
|
|
44
|
+
* kind: "user" || "group" || "department" || "agent" || "queue" || "service" || "trunk", // required
|
|
45
|
+
* values: [ // StringList // required
|
|
46
|
+
* "STRING_VALUE",
|
|
47
|
+
* ],
|
|
48
|
+
* },
|
|
49
|
+
* ],
|
|
50
|
+
* stages: [ // CopilotStageList
|
|
51
|
+
* "before" || "during" || "after",
|
|
52
|
+
* ],
|
|
53
|
+
* channels: [ // CopilotChannelList
|
|
54
|
+
* "call" || "conference" || "chat",
|
|
55
|
+
* ],
|
|
43
56
|
* conditions: "DOCUMENT_VALUE",
|
|
44
|
-
* access: { // CopilotAccess
|
|
45
|
-
* visibility: "explicit" || "organization",
|
|
46
|
-
* grants: [ // CopilotGrantPrincipalList
|
|
47
|
-
* { // CopilotGrantPrincipal Union: only one key present
|
|
48
|
-
* userId: "STRING_VALUE",
|
|
49
|
-
* groupId: "STRING_VALUE",
|
|
50
|
-
* },
|
|
51
|
-
* ],
|
|
52
|
-
* },
|
|
53
57
|
* company: "STRING_VALUE",
|
|
54
58
|
* profileId: "STRING_VALUE", // required
|
|
55
59
|
* revision: Number("int"), // required
|
|
@@ -60,17 +64,21 @@ declare const UpdateProfileCommand_base: {
|
|
|
60
64
|
* // profile: { // Profile
|
|
61
65
|
* // name: "STRING_VALUE", // required
|
|
62
66
|
* // description: "STRING_VALUE",
|
|
63
|
-
* //
|
|
67
|
+
* // audience: [ // CopilotAudienceList
|
|
68
|
+
* // { // CopilotAudienceEntry
|
|
69
|
+
* // kind: "user" || "group" || "department" || "agent" || "queue" || "service" || "trunk", // required
|
|
70
|
+
* // values: [ // StringList // required
|
|
71
|
+
* // "STRING_VALUE",
|
|
72
|
+
* // ],
|
|
73
|
+
* // },
|
|
74
|
+
* // ],
|
|
75
|
+
* // stages: [ // CopilotStageList
|
|
76
|
+
* // "before" || "during" || "after",
|
|
77
|
+
* // ],
|
|
78
|
+
* // channels: [ // CopilotChannelList
|
|
79
|
+
* // "call" || "conference" || "chat",
|
|
80
|
+
* // ],
|
|
64
81
|
* // conditions: "DOCUMENT_VALUE",
|
|
65
|
-
* // access: { // CopilotAccess
|
|
66
|
-
* // visibility: "explicit" || "organization",
|
|
67
|
-
* // grants: [ // CopilotGrantPrincipalList
|
|
68
|
-
* // { // CopilotGrantPrincipal Union: only one key present
|
|
69
|
-
* // userId: "STRING_VALUE",
|
|
70
|
-
* // groupId: "STRING_VALUE",
|
|
71
|
-
* // },
|
|
72
|
-
* // ],
|
|
73
|
-
* // },
|
|
74
82
|
* // features: [ // CopilotFeaturesList
|
|
75
83
|
* // { // CopilotFeature Union: only one key present
|
|
76
84
|
* // csat: {},
|
|
@@ -23,6 +23,7 @@ export * from "./ListEvaluationsCommand";
|
|
|
23
23
|
export * from "./ListIntentsCommand";
|
|
24
24
|
export * from "./ListProfileVersionsCommand";
|
|
25
25
|
export * from "./ListProfilesCommand";
|
|
26
|
+
export * from "./ListSubscriptionsCommand";
|
|
26
27
|
export * from "./PublishProfileVersionCommand";
|
|
27
28
|
export * from "./RestoreProfileVersionToDraftCommand";
|
|
28
29
|
export * from "./UpdateAssetCommand";
|
|
@@ -153,33 +153,51 @@ export type ContextualKnowledgeSource = (typeof ContextualKnowledgeSource)[keyof
|
|
|
153
153
|
* @public
|
|
154
154
|
* @enum
|
|
155
155
|
*/
|
|
156
|
-
export declare const
|
|
156
|
+
export declare const CopilotAudienceKind: {
|
|
157
157
|
/**
|
|
158
|
-
*
|
|
158
|
+
* A Wilma AI agent handling the conversation itself, by `wildix.wilma.agents#AgentId`.
|
|
159
159
|
*/
|
|
160
|
-
readonly
|
|
160
|
+
readonly AGENT: "agent";
|
|
161
|
+
readonly DEPARTMENT: "department";
|
|
162
|
+
readonly GROUP: "group";
|
|
163
|
+
readonly QUEUE: "queue";
|
|
164
|
+
readonly SERVICE: "service";
|
|
165
|
+
readonly TRUNK: "trunk";
|
|
161
166
|
/**
|
|
162
|
-
*
|
|
167
|
+
* A person, by email.
|
|
163
168
|
*/
|
|
164
|
-
readonly
|
|
169
|
+
readonly USER: "user";
|
|
165
170
|
};
|
|
166
171
|
/**
|
|
167
172
|
* @public
|
|
168
173
|
*/
|
|
169
|
-
export type
|
|
174
|
+
export type CopilotAudienceKind = (typeof CopilotAudienceKind)[keyof typeof CopilotAudienceKind];
|
|
170
175
|
/**
|
|
171
176
|
* @public
|
|
172
177
|
* @enum
|
|
173
178
|
*/
|
|
174
179
|
export declare const CopilotChannel: {
|
|
175
|
-
readonly
|
|
176
|
-
readonly
|
|
177
|
-
readonly
|
|
180
|
+
readonly CALL: "call";
|
|
181
|
+
readonly CHAT: "chat";
|
|
182
|
+
readonly CONFERENCE: "conference";
|
|
178
183
|
};
|
|
179
184
|
/**
|
|
180
185
|
* @public
|
|
181
186
|
*/
|
|
182
187
|
export type CopilotChannel = (typeof CopilotChannel)[keyof typeof CopilotChannel];
|
|
188
|
+
/**
|
|
189
|
+
* @public
|
|
190
|
+
* @enum
|
|
191
|
+
*/
|
|
192
|
+
export declare const CopilotStage: {
|
|
193
|
+
readonly AFTER: "after";
|
|
194
|
+
readonly BEFORE: "before";
|
|
195
|
+
readonly DURING: "during";
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* @public
|
|
199
|
+
*/
|
|
200
|
+
export type CopilotStage = (typeof CopilotStage)[keyof typeof CopilotStage];
|
|
183
201
|
/**
|
|
184
202
|
* @public
|
|
185
203
|
* @enum
|
|
@@ -198,6 +216,19 @@ export declare const ProfileStatus: {
|
|
|
198
216
|
* @public
|
|
199
217
|
*/
|
|
200
218
|
export type ProfileStatus = (typeof ProfileStatus)[keyof typeof ProfileStatus];
|
|
219
|
+
/**
|
|
220
|
+
* @public
|
|
221
|
+
* @enum
|
|
222
|
+
*/
|
|
223
|
+
export declare const CopilotSpeaker: {
|
|
224
|
+
readonly AGENT: "agent";
|
|
225
|
+
readonly ANYONE: "anyone";
|
|
226
|
+
readonly CUSTOMER: "customer";
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* @public
|
|
230
|
+
*/
|
|
231
|
+
export type CopilotSpeaker = (typeof CopilotSpeaker)[keyof typeof CopilotSpeaker];
|
|
201
232
|
/**
|
|
202
233
|
* @public
|
|
203
234
|
* @enum
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DocumentType as __DocumentType } from "@smithy/types";
|
|
2
|
-
import type { ActorType, AssetContentType, AssetIcon, AssetSeverity, AutomationOutputMode, ContextualKnowledgeMode, ContextualKnowledgeSource, CopilotChannel,
|
|
2
|
+
import type { ActorType, AssetContentType, AssetIcon, AssetSeverity, AutomationOutputMode, ContextualKnowledgeMode, ContextualKnowledgeSource, CopilotAudienceKind, CopilotChannel, CopilotSpeaker, CopilotStage, CopilotVariableMode, EvaluationWindow, IntentTextMatchMode, ProfileResourceType, ProfileStatus, SmartActionHandoverVariant, SmartActionResultMode } from "./enums";
|
|
3
3
|
/**
|
|
4
4
|
* Who performed an action: an interactive user, an API key or an internal service.
|
|
5
5
|
* @public
|
|
@@ -17,6 +17,39 @@ export interface Actor {
|
|
|
17
17
|
*/
|
|
18
18
|
name?: string | undefined;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* One event type a tenant needs delivered, and the optional prefilter that narrows it.
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export interface SubscriptionSelector {
|
|
25
|
+
/**
|
|
26
|
+
* A wda-stream event type, as the webhook envelope names it, e.g. 'call:live:progress',
|
|
27
|
+
* 'call:live:transcription', 'call:completed', 'call:summary:completed', 'chat:live:progress',
|
|
28
|
+
* 'conference:live:transcription'. Open-ended: a new wda-stream type needs no model change here.
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
event: string;
|
|
32
|
+
/**
|
|
33
|
+
* Producer-side prefilter over the event payload. Omitted means send every occurrence. See SubscriptionConditions.
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
conditions?: __DocumentType | undefined;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* What one tenant needs delivered to the service's queue.
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
export interface Subscription {
|
|
43
|
+
company: string;
|
|
44
|
+
/**
|
|
45
|
+
* Event types one tenant needs, deduplicated across everything that asked for them. Two
|
|
46
|
+
* selectors never name the same event type: a type wanted both unconditionally and under
|
|
47
|
+
* conditions is returned once, unconditional — the union of what the tenant's configuration
|
|
48
|
+
* requires.
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
selectors: SubscriptionSelector[];
|
|
52
|
+
}
|
|
20
53
|
/**
|
|
21
54
|
* Binds an input variable of an agent or tool invocation to a value or a fill strategy.
|
|
22
55
|
* @public
|
|
@@ -877,57 +910,27 @@ export interface AttachProfileResourceInput {
|
|
|
877
910
|
resource: ProfileResource;
|
|
878
911
|
}
|
|
879
912
|
/**
|
|
880
|
-
*
|
|
881
|
-
* @public
|
|
882
|
-
*/
|
|
883
|
-
export type CopilotGrantPrincipal = CopilotGrantPrincipal.GroupIdMember | CopilotGrantPrincipal.UserIdMember | CopilotGrantPrincipal.$UnknownMember;
|
|
884
|
-
/**
|
|
913
|
+
* One audience entry: a kind, and the values of that kind the profile assists. An entry with no values does not narrow anything.
|
|
885
914
|
* @public
|
|
886
915
|
*/
|
|
887
|
-
export
|
|
888
|
-
interface UserIdMember {
|
|
889
|
-
userId: string;
|
|
890
|
-
groupId?: never;
|
|
891
|
-
$unknown?: never;
|
|
892
|
-
}
|
|
893
|
-
interface GroupIdMember {
|
|
894
|
-
userId?: never;
|
|
895
|
-
groupId: string;
|
|
896
|
-
$unknown?: never;
|
|
897
|
-
}
|
|
916
|
+
export interface CopilotAudienceEntry {
|
|
898
917
|
/**
|
|
899
|
-
*
|
|
900
|
-
*/
|
|
901
|
-
interface $UnknownMember {
|
|
902
|
-
userId?: never;
|
|
903
|
-
groupId?: never;
|
|
904
|
-
$unknown: [string, any];
|
|
905
|
-
}
|
|
906
|
-
/**
|
|
907
|
-
* @deprecated unused in schema-serde mode.
|
|
918
|
+
* The kind of thing a profile is aimed at.
|
|
908
919
|
*
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
*/
|
|
920
|
-
export interface CopilotAccess {
|
|
921
|
-
/**
|
|
922
|
-
* Usage scope. Defaults to `organization`.
|
|
923
|
-
* @public
|
|
924
|
-
*/
|
|
925
|
-
visibility?: CopilotVisibility | undefined;
|
|
926
|
-
/**
|
|
927
|
-
* Users and groups assisted by the profile. Applies when visibility is `explicit`.
|
|
920
|
+
* Two families, and the difference decides which stages the entry can constrain.
|
|
921
|
+
* `user`, `group`, `department` and `agent` name **who is assisted** - a person for the first
|
|
922
|
+
* three, a Wilma AI agent for the last - and in the `before` stage the assisted party is
|
|
923
|
+
* whoever opened copilot, so they constrain every stage. `queue`, `service` and `trunk`
|
|
924
|
+
* describe a **live conversation**, which does not exist in `before` - so an entry of those
|
|
925
|
+
* kinds says nothing there.
|
|
926
|
+
*
|
|
927
|
+
* Values are the tenant's own routing objects: user emails for `user`, Wilma agent ids for
|
|
928
|
+
* `agent`, PBX group and department ids, queue and trunk names as `wda-stream` reports them,
|
|
929
|
+
* and x-bees service uris for `service`.
|
|
928
930
|
* @public
|
|
929
931
|
*/
|
|
930
|
-
|
|
932
|
+
kind: CopilotAudienceKind;
|
|
933
|
+
values: string[];
|
|
931
934
|
}
|
|
932
935
|
/**
|
|
933
936
|
* The complete configuration of a profile, including draft lifecycle state. Referenced library resources are listed by id; a published version resolves them into an immutable snapshot.
|
|
@@ -937,20 +940,34 @@ export interface Profile {
|
|
|
937
940
|
name: string;
|
|
938
941
|
description?: string | undefined;
|
|
939
942
|
/**
|
|
940
|
-
*
|
|
943
|
+
* Who this profile assists - queues, groups, departments, users, AI agents, chat services
|
|
944
|
+
* and trunks. Empty or absent means everyone in the company. This is the profile's primary
|
|
945
|
+
* scope: an administrator reaches for "my refunds team", not for a conversation medium,
|
|
946
|
+
* and a queue already carries the medium, the skill and the line of business.
|
|
941
947
|
* @public
|
|
942
948
|
*/
|
|
943
|
-
|
|
949
|
+
audience?: CopilotAudienceEntry[] | undefined;
|
|
944
950
|
/**
|
|
945
|
-
*
|
|
951
|
+
* Stages of a conversation this profile applies in. Empty or absent means every stage.
|
|
946
952
|
* @public
|
|
947
953
|
*/
|
|
948
|
-
|
|
954
|
+
stages?: CopilotStage[] | undefined;
|
|
955
|
+
/**
|
|
956
|
+
* Conversation channels this profile applies to. Empty or absent means every channel.
|
|
957
|
+
*
|
|
958
|
+
* Only constrains the `during` and `after` stages - nothing is a call, a conference or a
|
|
959
|
+
* chat before it starts - so a profile whose `stages` are `before` alone applies whatever
|
|
960
|
+
* this says.
|
|
961
|
+
* @public
|
|
962
|
+
*/
|
|
963
|
+
channels?: CopilotChannel[] | undefined;
|
|
949
964
|
/**
|
|
950
|
-
*
|
|
965
|
+
* Conditions under which the profile matches a conversation. An empty tree always matches. Deprecated - see the deprecation note.
|
|
966
|
+
*
|
|
967
|
+
* @deprecated (since 2026-08) Profile conditions are resolved once, on the session's first event, so a rule over anything copilot has yet to detect never activates the profile. Use `audience` / `stages` / `channels` for what is known at that moment, and put everything conditional on the assets, intents and automations the profile carries, where conditions are re-evaluated as state changes. Still read for profiles authored before those members existed.
|
|
951
968
|
* @public
|
|
952
969
|
*/
|
|
953
|
-
|
|
970
|
+
conditions?: __DocumentType | undefined;
|
|
954
971
|
/**
|
|
955
972
|
* Copilot features enabled for this profile. Each list item is a typed feature and its configuration.
|
|
956
973
|
* @public
|
|
@@ -1613,7 +1630,6 @@ export interface CreateEvaluationOutput {
|
|
|
1613
1630
|
* @public
|
|
1614
1631
|
*/
|
|
1615
1632
|
export interface IntentAiMatch {
|
|
1616
|
-
enabled: boolean;
|
|
1617
1633
|
/**
|
|
1618
1634
|
* Prompt describing when this intent applies.
|
|
1619
1635
|
* @public
|
|
@@ -1646,11 +1662,13 @@ export interface IntentTextMatchOption {
|
|
|
1646
1662
|
* @public
|
|
1647
1663
|
*/
|
|
1648
1664
|
export interface IntentTextMatch {
|
|
1649
|
-
enabled: boolean;
|
|
1650
1665
|
options?: IntentTextMatchOption[] | undefined;
|
|
1651
1666
|
}
|
|
1652
1667
|
/**
|
|
1653
1668
|
* The detection handlers for an intent. Text matching is attempted first, then AI matching.
|
|
1669
|
+
*
|
|
1670
|
+
* An absent handler is a matcher that is off - which is what the `enabled` flag on each
|
|
1671
|
+
* handler used to say. An intent with neither handler set is never detected.
|
|
1654
1672
|
* @public
|
|
1655
1673
|
*/
|
|
1656
1674
|
export interface IntentHandlers {
|
|
@@ -1658,12 +1676,19 @@ export interface IntentHandlers {
|
|
|
1658
1676
|
* Literal-text matching. Checked before AI matching; a text hit short-circuits semantic evaluation.
|
|
1659
1677
|
* @public
|
|
1660
1678
|
*/
|
|
1661
|
-
textMatch
|
|
1679
|
+
textMatch?: IntentTextMatch | undefined;
|
|
1662
1680
|
/**
|
|
1663
1681
|
* Semantic (AI) matching. Detects the intent from meaning and extracts structured fields into `intent.<name>.<field>`.
|
|
1664
1682
|
* @public
|
|
1665
1683
|
*/
|
|
1666
|
-
aiMatch
|
|
1684
|
+
aiMatch?: IntentAiMatch | undefined;
|
|
1685
|
+
/**
|
|
1686
|
+
* Whose lines both matchers read. Absent means `anyone`, which is how every intent
|
|
1687
|
+
* behaved before this member existed - matching over the whole transcript, so an intent
|
|
1688
|
+
* written about the customer also fires on the agent's own paraphrase of it.
|
|
1689
|
+
* @public
|
|
1690
|
+
*/
|
|
1691
|
+
saidBy?: CopilotSpeaker | undefined;
|
|
1667
1692
|
}
|
|
1668
1693
|
/**
|
|
1669
1694
|
* The editable definition of an intent.
|
|
@@ -1678,6 +1703,9 @@ export interface CreateIntentInput {
|
|
|
1678
1703
|
description?: string | undefined;
|
|
1679
1704
|
/**
|
|
1680
1705
|
* The detection handlers for an intent. Text matching is attempted first, then AI matching.
|
|
1706
|
+
*
|
|
1707
|
+
* An absent handler is a matcher that is off - which is what the `enabled` flag on each
|
|
1708
|
+
* handler used to say. An intent with neither handler set is never detected.
|
|
1681
1709
|
* @public
|
|
1682
1710
|
*/
|
|
1683
1711
|
handlers: IntentHandlers;
|
|
@@ -1701,6 +1729,9 @@ export interface Intent {
|
|
|
1701
1729
|
description?: string | undefined;
|
|
1702
1730
|
/**
|
|
1703
1731
|
* The detection handlers for an intent. Text matching is attempted first, then AI matching.
|
|
1732
|
+
*
|
|
1733
|
+
* An absent handler is a matcher that is off - which is what the `enabled` flag on each
|
|
1734
|
+
* handler used to say. An intent with neither handler set is never detected.
|
|
1704
1735
|
* @public
|
|
1705
1736
|
*/
|
|
1706
1737
|
handlers: IntentHandlers;
|
|
@@ -1754,20 +1785,34 @@ export interface CreateProfileInput {
|
|
|
1754
1785
|
name: string;
|
|
1755
1786
|
description?: string | undefined;
|
|
1756
1787
|
/**
|
|
1757
|
-
*
|
|
1788
|
+
* Who this profile assists - queues, groups, departments, users, AI agents, chat services
|
|
1789
|
+
* and trunks. Empty or absent means everyone in the company. This is the profile's primary
|
|
1790
|
+
* scope: an administrator reaches for "my refunds team", not for a conversation medium,
|
|
1791
|
+
* and a queue already carries the medium, the skill and the line of business.
|
|
1758
1792
|
* @public
|
|
1759
1793
|
*/
|
|
1760
|
-
|
|
1794
|
+
audience?: CopilotAudienceEntry[] | undefined;
|
|
1761
1795
|
/**
|
|
1762
|
-
*
|
|
1796
|
+
* Stages of a conversation this profile applies in. Empty or absent means every stage.
|
|
1763
1797
|
* @public
|
|
1764
1798
|
*/
|
|
1765
|
-
|
|
1799
|
+
stages?: CopilotStage[] | undefined;
|
|
1766
1800
|
/**
|
|
1767
|
-
*
|
|
1801
|
+
* Conversation channels this profile applies to. Empty or absent means every channel.
|
|
1802
|
+
*
|
|
1803
|
+
* Only constrains the `during` and `after` stages - nothing is a call, a conference or a
|
|
1804
|
+
* chat before it starts - so a profile whose `stages` are `before` alone applies whatever
|
|
1805
|
+
* this says.
|
|
1768
1806
|
* @public
|
|
1769
1807
|
*/
|
|
1770
|
-
|
|
1808
|
+
channels?: CopilotChannel[] | undefined;
|
|
1809
|
+
/**
|
|
1810
|
+
* Conditions under which the profile matches a conversation. An empty tree always matches. Deprecated - see the deprecation note.
|
|
1811
|
+
*
|
|
1812
|
+
* @deprecated (since 2026-08) Profile conditions are resolved once, on the session's first event, so a rule over anything copilot has yet to detect never activates the profile. Use `audience` / `stages` / `channels` for what is known at that moment, and put everything conditional on the assets, intents and automations the profile carries, where conditions are re-evaluated as state changes. Still read for profiles authored before those members existed.
|
|
1813
|
+
* @public
|
|
1814
|
+
*/
|
|
1815
|
+
conditions?: __DocumentType | undefined;
|
|
1771
1816
|
/**
|
|
1772
1817
|
* Copilot features enabled for this profile. Each list item is a typed feature and its configuration.
|
|
1773
1818
|
* @public
|
|
@@ -2108,6 +2153,9 @@ export interface IntentSnapshot {
|
|
|
2108
2153
|
description?: string | undefined;
|
|
2109
2154
|
/**
|
|
2110
2155
|
* The detection handlers for an intent. Text matching is attempted first, then AI matching.
|
|
2156
|
+
*
|
|
2157
|
+
* An absent handler is a matcher that is off - which is what the `enabled` flag on each
|
|
2158
|
+
* handler used to say. An intent with neither handler set is never detected.
|
|
2111
2159
|
* @public
|
|
2112
2160
|
*/
|
|
2113
2161
|
handlers: IntentHandlers;
|
|
@@ -2126,20 +2174,34 @@ export interface ProfileDefinitionSnapshot {
|
|
|
2126
2174
|
name: string;
|
|
2127
2175
|
description?: string | undefined;
|
|
2128
2176
|
/**
|
|
2129
|
-
*
|
|
2177
|
+
* Who this profile assists - queues, groups, departments, users, AI agents, chat services
|
|
2178
|
+
* and trunks. Empty or absent means everyone in the company. This is the profile's primary
|
|
2179
|
+
* scope: an administrator reaches for "my refunds team", not for a conversation medium,
|
|
2180
|
+
* and a queue already carries the medium, the skill and the line of business.
|
|
2130
2181
|
* @public
|
|
2131
2182
|
*/
|
|
2132
|
-
|
|
2183
|
+
audience?: CopilotAudienceEntry[] | undefined;
|
|
2133
2184
|
/**
|
|
2134
|
-
*
|
|
2185
|
+
* Stages of a conversation this profile applies in. Empty or absent means every stage.
|
|
2135
2186
|
* @public
|
|
2136
2187
|
*/
|
|
2137
|
-
|
|
2188
|
+
stages?: CopilotStage[] | undefined;
|
|
2189
|
+
/**
|
|
2190
|
+
* Conversation channels this profile applies to. Empty or absent means every channel.
|
|
2191
|
+
*
|
|
2192
|
+
* Only constrains the `during` and `after` stages - nothing is a call, a conference or a
|
|
2193
|
+
* chat before it starts - so a profile whose `stages` are `before` alone applies whatever
|
|
2194
|
+
* this says.
|
|
2195
|
+
* @public
|
|
2196
|
+
*/
|
|
2197
|
+
channels?: CopilotChannel[] | undefined;
|
|
2138
2198
|
/**
|
|
2139
|
-
*
|
|
2199
|
+
* Conditions under which the profile matches a conversation. An empty tree always matches. Deprecated - see the deprecation note.
|
|
2200
|
+
*
|
|
2201
|
+
* @deprecated (since 2026-08) Profile conditions are resolved once, on the session's first event, so a rule over anything copilot has yet to detect never activates the profile. Use `audience` / `stages` / `channels` for what is known at that moment, and put everything conditional on the assets, intents and automations the profile carries, where conditions are re-evaluated as state changes. Still read for profiles authored before those members existed.
|
|
2140
2202
|
* @public
|
|
2141
2203
|
*/
|
|
2142
|
-
|
|
2204
|
+
conditions?: __DocumentType | undefined;
|
|
2143
2205
|
/**
|
|
2144
2206
|
* Copilot features enabled for this profile at publish time, including their type-specific configuration.
|
|
2145
2207
|
* @public
|
|
@@ -2241,12 +2303,12 @@ export interface IntentInfo {
|
|
|
2241
2303
|
name: string;
|
|
2242
2304
|
description?: string | undefined;
|
|
2243
2305
|
/**
|
|
2244
|
-
* Whether literal text matching is enabled.
|
|
2306
|
+
* Whether literal text matching is enabled, i.e. whether `handlers.textMatch` is set.
|
|
2245
2307
|
* @public
|
|
2246
2308
|
*/
|
|
2247
2309
|
textMatchEnabled: boolean;
|
|
2248
2310
|
/**
|
|
2249
|
-
* Whether semantic AI matching is enabled.
|
|
2311
|
+
* Whether semantic AI matching is enabled, i.e. whether `handlers.aiMatch` is set.
|
|
2250
2312
|
* @public
|
|
2251
2313
|
*/
|
|
2252
2314
|
aiMatchEnabled: boolean;
|
|
@@ -2389,10 +2451,15 @@ export interface ListProfilesInput {
|
|
|
2389
2451
|
*/
|
|
2390
2452
|
status?: ProfileStatus | undefined;
|
|
2391
2453
|
/**
|
|
2392
|
-
* Filter by
|
|
2454
|
+
* Filter by a conversation channel the profile applies to. A profile with no channels applies to every one, so it matches whatever is asked for here.
|
|
2393
2455
|
* @public
|
|
2394
2456
|
*/
|
|
2395
2457
|
channel?: CopilotChannel | undefined;
|
|
2458
|
+
/**
|
|
2459
|
+
* Filter by a stage the profile applies in. A profile with no stages applies in every one, so it matches whatever is asked for here.
|
|
2460
|
+
* @public
|
|
2461
|
+
*/
|
|
2462
|
+
stage?: CopilotStage | undefined;
|
|
2396
2463
|
/**
|
|
2397
2464
|
* Filter by name or description.
|
|
2398
2465
|
* @public
|
|
@@ -2434,10 +2501,24 @@ export interface ProfileInfo {
|
|
|
2434
2501
|
name: string;
|
|
2435
2502
|
description?: string | undefined;
|
|
2436
2503
|
/**
|
|
2437
|
-
* The
|
|
2504
|
+
* The profile's targeting, so a list row can say what it applies to without reading the definition.
|
|
2438
2505
|
* @public
|
|
2439
2506
|
*/
|
|
2440
|
-
|
|
2507
|
+
audience?: CopilotAudienceEntry[] | undefined;
|
|
2508
|
+
/**
|
|
2509
|
+
* Stages a resource applies in. An empty or absent list means every stage.
|
|
2510
|
+
* @public
|
|
2511
|
+
*/
|
|
2512
|
+
stages?: CopilotStage[] | undefined;
|
|
2513
|
+
/**
|
|
2514
|
+
* Conversation channels a resource applies to. An empty or absent list means every channel.
|
|
2515
|
+
*
|
|
2516
|
+
* A channel filter only constrains the `during` and `after` stages: in `before` there is
|
|
2517
|
+
* nothing to be a call, a conference or a chat, so a resource covering only `before` applies
|
|
2518
|
+
* whatever this list says.
|
|
2519
|
+
* @public
|
|
2520
|
+
*/
|
|
2521
|
+
channels?: CopilotChannel[] | undefined;
|
|
2441
2522
|
status: ProfileStatus;
|
|
2442
2523
|
live: boolean;
|
|
2443
2524
|
/**
|
|
@@ -2533,6 +2614,24 @@ export interface ListProfileVersionsOutput {
|
|
|
2533
2614
|
*/
|
|
2534
2615
|
nextCursor?: string | undefined;
|
|
2535
2616
|
}
|
|
2617
|
+
/**
|
|
2618
|
+
* @public
|
|
2619
|
+
*/
|
|
2620
|
+
export interface ListSubscriptionsInput {
|
|
2621
|
+
}
|
|
2622
|
+
/**
|
|
2623
|
+
* The answer to 'what should I send you': one entry per tenant that needs anything at all, and
|
|
2624
|
+
* every tenant in one response — the producer holds a single routing table, and a listing it has
|
|
2625
|
+
* to assemble from several requests is one that can be applied half-built, which is
|
|
2626
|
+
* indistinguishable from a set of tenants that unsubscribed.
|
|
2627
|
+
*
|
|
2628
|
+
* A tenant absent from the listing needs nothing, and the producer sends it nothing. Ordering is
|
|
2629
|
+
* unspecified.
|
|
2630
|
+
* @public
|
|
2631
|
+
*/
|
|
2632
|
+
export interface ListSubscriptionsOutput {
|
|
2633
|
+
subscriptions: Subscription[];
|
|
2634
|
+
}
|
|
2536
2635
|
/**
|
|
2537
2636
|
* @public
|
|
2538
2637
|
*/
|
|
@@ -2766,6 +2865,9 @@ export interface UpdateIntentInput {
|
|
|
2766
2865
|
description?: string | undefined;
|
|
2767
2866
|
/**
|
|
2768
2867
|
* The detection handlers for an intent. Text matching is attempted first, then AI matching.
|
|
2868
|
+
*
|
|
2869
|
+
* An absent handler is a matcher that is off - which is what the `enabled` flag on each
|
|
2870
|
+
* handler used to say. An intent with neither handler set is never detected.
|
|
2769
2871
|
* @public
|
|
2770
2872
|
*/
|
|
2771
2873
|
handlers: IntentHandlers;
|
|
@@ -2800,20 +2902,34 @@ export interface UpdateProfileInput {
|
|
|
2800
2902
|
name: string;
|
|
2801
2903
|
description?: string | undefined;
|
|
2802
2904
|
/**
|
|
2803
|
-
*
|
|
2905
|
+
* Who this profile assists - queues, groups, departments, users, AI agents, chat services
|
|
2906
|
+
* and trunks. Empty or absent means everyone in the company. This is the profile's primary
|
|
2907
|
+
* scope: an administrator reaches for "my refunds team", not for a conversation medium,
|
|
2908
|
+
* and a queue already carries the medium, the skill and the line of business.
|
|
2804
2909
|
* @public
|
|
2805
2910
|
*/
|
|
2806
|
-
|
|
2911
|
+
audience?: CopilotAudienceEntry[] | undefined;
|
|
2807
2912
|
/**
|
|
2808
|
-
*
|
|
2913
|
+
* Stages of a conversation this profile applies in. Empty or absent means every stage.
|
|
2809
2914
|
* @public
|
|
2810
2915
|
*/
|
|
2811
|
-
|
|
2916
|
+
stages?: CopilotStage[] | undefined;
|
|
2812
2917
|
/**
|
|
2813
|
-
*
|
|
2918
|
+
* Conversation channels this profile applies to. Empty or absent means every channel.
|
|
2919
|
+
*
|
|
2920
|
+
* Only constrains the `during` and `after` stages - nothing is a call, a conference or a
|
|
2921
|
+
* chat before it starts - so a profile whose `stages` are `before` alone applies whatever
|
|
2922
|
+
* this says.
|
|
2923
|
+
* @public
|
|
2924
|
+
*/
|
|
2925
|
+
channels?: CopilotChannel[] | undefined;
|
|
2926
|
+
/**
|
|
2927
|
+
* Conditions under which the profile matches a conversation. An empty tree always matches. Deprecated - see the deprecation note.
|
|
2928
|
+
*
|
|
2929
|
+
* @deprecated (since 2026-08) Profile conditions are resolved once, on the session's first event, so a rule over anything copilot has yet to detect never activates the profile. Use `audience` / `stages` / `channels` for what is known at that moment, and put everything conditional on the assets, intents and automations the profile carries, where conditions are re-evaluated as state changes. Still read for profiles authored before those members existed.
|
|
2814
2930
|
* @public
|
|
2815
2931
|
*/
|
|
2816
|
-
|
|
2932
|
+
conditions?: __DocumentType | undefined;
|
|
2817
2933
|
company?: string | undefined;
|
|
2818
2934
|
profileId: string;
|
|
2819
2935
|
/**
|