@wildix/wilma-copilot-client 1.0.19 → 1.0.21

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 (33) hide show
  1. package/dist-cjs/WilmaCopilot.js +4 -0
  2. package/dist-cjs/commands/DisableProfileCommand.js +20 -0
  3. package/dist-cjs/commands/EnableProfileCommand.js +20 -0
  4. package/dist-cjs/commands/index.js +2 -0
  5. package/dist-cjs/models/enums.js +22 -7
  6. package/dist-cjs/schemas/schemas_0.js +90 -60
  7. package/dist-es/WilmaCopilot.js +4 -0
  8. package/dist-es/commands/DisableProfileCommand.js +16 -0
  9. package/dist-es/commands/EnableProfileCommand.js +16 -0
  10. package/dist-es/commands/index.js +2 -0
  11. package/dist-es/models/enums.js +21 -6
  12. package/dist-es/schemas/schemas_0.js +86 -56
  13. package/dist-types/WilmaCopilot.d.ts +14 -0
  14. package/dist-types/WilmaCopilotClient.d.ts +4 -2
  15. package/dist-types/commands/AttachProfileResourceCommand.d.ts +14 -10
  16. package/dist-types/commands/CreateIntentCommand.d.ts +2 -4
  17. package/dist-types/commands/CreateProfileCommand.d.ts +28 -20
  18. package/dist-types/commands/DeleteProfileResourceCommand.d.ts +14 -10
  19. package/dist-types/commands/DisableProfileCommand.d.ts +145 -0
  20. package/dist-types/commands/EnableProfileCommand.d.ts +145 -0
  21. package/dist-types/commands/GetIntentCommand.d.ts +1 -2
  22. package/dist-types/commands/GetProfileCommand.d.ts +14 -10
  23. package/dist-types/commands/GetProfileVersionCommand.d.ts +17 -16
  24. package/dist-types/commands/ListProfilesCommand.d.ts +16 -2
  25. package/dist-types/commands/PublishProfileVersionCommand.d.ts +17 -16
  26. package/dist-types/commands/RestoreProfileVersionToDraftCommand.d.ts +14 -10
  27. package/dist-types/commands/UpdateIntentCommand.d.ts +2 -4
  28. package/dist-types/commands/UpdateProfileCommand.d.ts +28 -20
  29. package/dist-types/commands/index.d.ts +2 -0
  30. package/dist-types/models/enums.d.ts +40 -9
  31. package/dist-types/models/models_0.d.ts +178 -79
  32. package/dist-types/schemas/schemas_0.d.ts +7 -2
  33. package/package.json +1 -1
@@ -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
- * channel: "calls" || "chats" || "any", // required
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
- * // channel: "calls" || "chats" || "any", // required
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: {},
@@ -11,6 +11,8 @@ export * from "./DeleteEvaluationCommand";
11
11
  export * from "./DeleteIntentCommand";
12
12
  export * from "./DeleteProfileCommand";
13
13
  export * from "./DeleteProfileResourceCommand";
14
+ export * from "./DisableProfileCommand";
15
+ export * from "./EnableProfileCommand";
14
16
  export * from "./GetAssetCommand";
15
17
  export * from "./GetAutomationCommand";
16
18
  export * from "./GetEvaluationCommand";
@@ -153,33 +153,51 @@ export type ContextualKnowledgeSource = (typeof ContextualKnowledgeSource)[keyof
153
153
  * @public
154
154
  * @enum
155
155
  */
156
- export declare const CopilotVisibility: {
156
+ export declare const CopilotAudienceKind: {
157
157
  /**
158
- * Only the users and groups listed in `grants` are assisted by the profile.
158
+ * A Wilma AI agent handling the conversation itself, by `wildix.wilma.agents#AgentId`.
159
159
  */
160
- readonly EXPLICIT: "explicit";
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
- * Everyone in the organization is assisted by the profile.
167
+ * A person, by email.
163
168
  */
164
- readonly ORGANIZATION: "organization";
169
+ readonly USER: "user";
165
170
  };
166
171
  /**
167
172
  * @public
168
173
  */
169
- export type CopilotVisibility = (typeof CopilotVisibility)[keyof typeof CopilotVisibility];
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 ANY: "any";
176
- readonly CALLS: "calls";
177
- readonly CHATS: "chats";
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, CopilotVariableMode, CopilotVisibility, EvaluationWindow, IntentTextMatchMode, ProfileResourceType, ProfileStatus, SmartActionHandoverVariant, SmartActionResultMode } from "./enums";
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
@@ -910,57 +910,27 @@ export interface AttachProfileResourceInput {
910
910
  resource: ProfileResource;
911
911
  }
912
912
  /**
913
- * A user or group access is granted to.
913
+ * One audience entry: a kind, and the values of that kind the profile assists. An entry with no values does not narrow anything.
914
914
  * @public
915
915
  */
916
- export type CopilotGrantPrincipal = CopilotGrantPrincipal.GroupIdMember | CopilotGrantPrincipal.UserIdMember | CopilotGrantPrincipal.$UnknownMember;
917
- /**
918
- * @public
919
- */
920
- export declare namespace CopilotGrantPrincipal {
921
- interface UserIdMember {
922
- userId: string;
923
- groupId?: never;
924
- $unknown?: never;
925
- }
926
- interface GroupIdMember {
927
- userId?: never;
928
- groupId: string;
929
- $unknown?: never;
930
- }
916
+ export interface CopilotAudienceEntry {
931
917
  /**
932
- * @public
933
- */
934
- interface $UnknownMember {
935
- userId?: never;
936
- groupId?: never;
937
- $unknown: [string, any];
938
- }
939
- /**
940
- * @deprecated unused in schema-serde mode.
918
+ * The kind of thing a profile is aimed at.
941
919
  *
942
- */
943
- interface Visitor<T> {
944
- userId: (value: string) => T;
945
- groupId: (value: string) => T;
946
- _: (name: string, value: any) => T;
947
- }
948
- }
949
- /**
950
- * Who the profile assists. There is no view/edit dimension — editing is gated by API auth scopes.
951
- * @public
952
- */
953
- export interface CopilotAccess {
954
- /**
955
- * Usage scope. Defaults to `organization`.
956
- * @public
957
- */
958
- visibility?: CopilotVisibility | undefined;
959
- /**
960
- * 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`.
961
930
  * @public
962
931
  */
963
- grants?: CopilotGrantPrincipal[] | undefined;
932
+ kind: CopilotAudienceKind;
933
+ values: string[];
964
934
  }
965
935
  /**
966
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.
@@ -970,20 +940,34 @@ export interface Profile {
970
940
  name: string;
971
941
  description?: string | undefined;
972
942
  /**
973
- * The conversation surface a copilot resource applies to. `calls` targets voice calls, `chats` targets chat conversations, `any` targets both.
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.
974
947
  * @public
975
948
  */
976
- channel: CopilotChannel;
949
+ audience?: CopilotAudienceEntry[] | undefined;
977
950
  /**
978
- * Conditions under which the profile matches a conversation. An empty tree always matches.
951
+ * Stages of a conversation this profile applies in. Empty or absent means every stage.
979
952
  * @public
980
953
  */
981
- conditions?: __DocumentType | undefined;
954
+ stages?: CopilotStage[] | undefined;
982
955
  /**
983
- * Who the profile assists. Defaults to organization-wide.
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.
984
961
  * @public
985
962
  */
986
- access?: CopilotAccess | undefined;
963
+ channels?: CopilotChannel[] | undefined;
964
+ /**
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.
968
+ * @public
969
+ */
970
+ conditions?: __DocumentType | undefined;
987
971
  /**
988
972
  * Copilot features enabled for this profile. Each list item is a typed feature and its configuration.
989
973
  * @public
@@ -1646,7 +1630,6 @@ export interface CreateEvaluationOutput {
1646
1630
  * @public
1647
1631
  */
1648
1632
  export interface IntentAiMatch {
1649
- enabled: boolean;
1650
1633
  /**
1651
1634
  * Prompt describing when this intent applies.
1652
1635
  * @public
@@ -1679,11 +1662,13 @@ export interface IntentTextMatchOption {
1679
1662
  * @public
1680
1663
  */
1681
1664
  export interface IntentTextMatch {
1682
- enabled: boolean;
1683
1665
  options?: IntentTextMatchOption[] | undefined;
1684
1666
  }
1685
1667
  /**
1686
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.
1687
1672
  * @public
1688
1673
  */
1689
1674
  export interface IntentHandlers {
@@ -1691,12 +1676,19 @@ export interface IntentHandlers {
1691
1676
  * Literal-text matching. Checked before AI matching; a text hit short-circuits semantic evaluation.
1692
1677
  * @public
1693
1678
  */
1694
- textMatch: IntentTextMatch;
1679
+ textMatch?: IntentTextMatch | undefined;
1695
1680
  /**
1696
1681
  * Semantic (AI) matching. Detects the intent from meaning and extracts structured fields into `intent.<name>.<field>`.
1697
1682
  * @public
1698
1683
  */
1699
- aiMatch: IntentAiMatch;
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;
1700
1692
  }
1701
1693
  /**
1702
1694
  * The editable definition of an intent.
@@ -1711,6 +1703,9 @@ export interface CreateIntentInput {
1711
1703
  description?: string | undefined;
1712
1704
  /**
1713
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.
1714
1709
  * @public
1715
1710
  */
1716
1711
  handlers: IntentHandlers;
@@ -1734,6 +1729,9 @@ export interface Intent {
1734
1729
  description?: string | undefined;
1735
1730
  /**
1736
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.
1737
1735
  * @public
1738
1736
  */
1739
1737
  handlers: IntentHandlers;
@@ -1787,20 +1785,34 @@ export interface CreateProfileInput {
1787
1785
  name: string;
1788
1786
  description?: string | undefined;
1789
1787
  /**
1790
- * The conversation surface a copilot resource applies to. `calls` targets voice calls, `chats` targets chat conversations, `any` targets both.
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.
1791
1792
  * @public
1792
1793
  */
1793
- channel: CopilotChannel;
1794
+ audience?: CopilotAudienceEntry[] | undefined;
1794
1795
  /**
1795
- * Conditions under which the profile matches a conversation. An empty tree always matches.
1796
+ * Stages of a conversation this profile applies in. Empty or absent means every stage.
1796
1797
  * @public
1797
1798
  */
1798
- conditions?: __DocumentType | undefined;
1799
+ stages?: CopilotStage[] | undefined;
1799
1800
  /**
1800
- * Who the profile assists. Defaults to organization-wide.
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.
1801
1806
  * @public
1802
1807
  */
1803
- access?: CopilotAccess | undefined;
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;
1804
1816
  /**
1805
1817
  * Copilot features enabled for this profile. Each list item is a typed feature and its configuration.
1806
1818
  * @public
@@ -1950,6 +1962,40 @@ export interface DeleteProfileResourceOutput {
1950
1962
  */
1951
1963
  profile: Profile;
1952
1964
  }
1965
+ /**
1966
+ * @public
1967
+ */
1968
+ export interface DisableProfileInput {
1969
+ company?: string | undefined;
1970
+ profileId: string;
1971
+ }
1972
+ /**
1973
+ * @public
1974
+ */
1975
+ export interface DisableProfileOutput {
1976
+ /**
1977
+ * 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.
1978
+ * @public
1979
+ */
1980
+ profile: Profile;
1981
+ }
1982
+ /**
1983
+ * @public
1984
+ */
1985
+ export interface EnableProfileInput {
1986
+ company?: string | undefined;
1987
+ profileId: string;
1988
+ }
1989
+ /**
1990
+ * @public
1991
+ */
1992
+ export interface EnableProfileOutput {
1993
+ /**
1994
+ * 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.
1995
+ * @public
1996
+ */
1997
+ profile: Profile;
1998
+ }
1953
1999
  /**
1954
2000
  * Summary entry returned by ListEvaluations.
1955
2001
  * @public
@@ -2141,6 +2187,9 @@ export interface IntentSnapshot {
2141
2187
  description?: string | undefined;
2142
2188
  /**
2143
2189
  * The detection handlers for an intent. Text matching is attempted first, then AI matching.
2190
+ *
2191
+ * An absent handler is a matcher that is off - which is what the `enabled` flag on each
2192
+ * handler used to say. An intent with neither handler set is never detected.
2144
2193
  * @public
2145
2194
  */
2146
2195
  handlers: IntentHandlers;
@@ -2159,20 +2208,34 @@ export interface ProfileDefinitionSnapshot {
2159
2208
  name: string;
2160
2209
  description?: string | undefined;
2161
2210
  /**
2162
- * The conversation surface a copilot resource applies to. `calls` targets voice calls, `chats` targets chat conversations, `any` targets both.
2211
+ * Who this profile assists - queues, groups, departments, users, AI agents, chat services
2212
+ * and trunks. Empty or absent means everyone in the company. This is the profile's primary
2213
+ * scope: an administrator reaches for "my refunds team", not for a conversation medium,
2214
+ * and a queue already carries the medium, the skill and the line of business.
2163
2215
  * @public
2164
2216
  */
2165
- channel: CopilotChannel;
2217
+ audience?: CopilotAudienceEntry[] | undefined;
2166
2218
  /**
2167
- * Conditions under which the profile matches a conversation. An empty tree always matches.
2219
+ * Stages of a conversation this profile applies in. Empty or absent means every stage.
2168
2220
  * @public
2169
2221
  */
2170
- conditions?: __DocumentType | undefined;
2222
+ stages?: CopilotStage[] | undefined;
2171
2223
  /**
2172
- * Who the profile assists. Defaults to organization-wide.
2224
+ * Conversation channels this profile applies to. Empty or absent means every channel.
2225
+ *
2226
+ * Only constrains the `during` and `after` stages - nothing is a call, a conference or a
2227
+ * chat before it starts - so a profile whose `stages` are `before` alone applies whatever
2228
+ * this says.
2173
2229
  * @public
2174
2230
  */
2175
- access?: CopilotAccess | undefined;
2231
+ channels?: CopilotChannel[] | undefined;
2232
+ /**
2233
+ * Conditions under which the profile matches a conversation. An empty tree always matches. Deprecated - see the deprecation note.
2234
+ *
2235
+ * @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.
2236
+ * @public
2237
+ */
2238
+ conditions?: __DocumentType | undefined;
2176
2239
  /**
2177
2240
  * Copilot features enabled for this profile at publish time, including their type-specific configuration.
2178
2241
  * @public
@@ -2274,12 +2337,12 @@ export interface IntentInfo {
2274
2337
  name: string;
2275
2338
  description?: string | undefined;
2276
2339
  /**
2277
- * Whether literal text matching is enabled.
2340
+ * Whether literal text matching is enabled, i.e. whether `handlers.textMatch` is set.
2278
2341
  * @public
2279
2342
  */
2280
2343
  textMatchEnabled: boolean;
2281
2344
  /**
2282
- * Whether semantic AI matching is enabled.
2345
+ * Whether semantic AI matching is enabled, i.e. whether `handlers.aiMatch` is set.
2283
2346
  * @public
2284
2347
  */
2285
2348
  aiMatchEnabled: boolean;
@@ -2422,10 +2485,15 @@ export interface ListProfilesInput {
2422
2485
  */
2423
2486
  status?: ProfileStatus | undefined;
2424
2487
  /**
2425
- * Filter by the conversation surface the profile applies to.
2488
+ * 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.
2426
2489
  * @public
2427
2490
  */
2428
2491
  channel?: CopilotChannel | undefined;
2492
+ /**
2493
+ * 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.
2494
+ * @public
2495
+ */
2496
+ stage?: CopilotStage | undefined;
2429
2497
  /**
2430
2498
  * Filter by name or description.
2431
2499
  * @public
@@ -2467,10 +2535,24 @@ export interface ProfileInfo {
2467
2535
  name: string;
2468
2536
  description?: string | undefined;
2469
2537
  /**
2470
- * The conversation surface a copilot resource applies to. `calls` targets voice calls, `chats` targets chat conversations, `any` targets both.
2538
+ * The profile's targeting, so a list row can say what it applies to without reading the definition.
2539
+ * @public
2540
+ */
2541
+ audience?: CopilotAudienceEntry[] | undefined;
2542
+ /**
2543
+ * Stages a resource applies in. An empty or absent list means every stage.
2471
2544
  * @public
2472
2545
  */
2473
- channel: CopilotChannel;
2546
+ stages?: CopilotStage[] | undefined;
2547
+ /**
2548
+ * Conversation channels a resource applies to. An empty or absent list means every channel.
2549
+ *
2550
+ * A channel filter only constrains the `during` and `after` stages: in `before` there is
2551
+ * nothing to be a call, a conference or a chat, so a resource covering only `before` applies
2552
+ * whatever this list says.
2553
+ * @public
2554
+ */
2555
+ channels?: CopilotChannel[] | undefined;
2474
2556
  status: ProfileStatus;
2475
2557
  live: boolean;
2476
2558
  /**
@@ -2817,6 +2899,9 @@ export interface UpdateIntentInput {
2817
2899
  description?: string | undefined;
2818
2900
  /**
2819
2901
  * The detection handlers for an intent. Text matching is attempted first, then AI matching.
2902
+ *
2903
+ * An absent handler is a matcher that is off - which is what the `enabled` flag on each
2904
+ * handler used to say. An intent with neither handler set is never detected.
2820
2905
  * @public
2821
2906
  */
2822
2907
  handlers: IntentHandlers;
@@ -2851,20 +2936,34 @@ export interface UpdateProfileInput {
2851
2936
  name: string;
2852
2937
  description?: string | undefined;
2853
2938
  /**
2854
- * The conversation surface a copilot resource applies to. `calls` targets voice calls, `chats` targets chat conversations, `any` targets both.
2939
+ * Who this profile assists - queues, groups, departments, users, AI agents, chat services
2940
+ * and trunks. Empty or absent means everyone in the company. This is the profile's primary
2941
+ * scope: an administrator reaches for "my refunds team", not for a conversation medium,
2942
+ * and a queue already carries the medium, the skill and the line of business.
2855
2943
  * @public
2856
2944
  */
2857
- channel: CopilotChannel;
2945
+ audience?: CopilotAudienceEntry[] | undefined;
2858
2946
  /**
2859
- * Conditions under which the profile matches a conversation. An empty tree always matches.
2947
+ * Stages of a conversation this profile applies in. Empty or absent means every stage.
2860
2948
  * @public
2861
2949
  */
2862
- conditions?: __DocumentType | undefined;
2950
+ stages?: CopilotStage[] | undefined;
2863
2951
  /**
2864
- * Who the profile assists. Defaults to organization-wide.
2952
+ * Conversation channels this profile applies to. Empty or absent means every channel.
2953
+ *
2954
+ * Only constrains the `during` and `after` stages - nothing is a call, a conference or a
2955
+ * chat before it starts - so a profile whose `stages` are `before` alone applies whatever
2956
+ * this says.
2957
+ * @public
2958
+ */
2959
+ channels?: CopilotChannel[] | undefined;
2960
+ /**
2961
+ * Conditions under which the profile matches a conversation. An empty tree always matches. Deprecated - see the deprecation note.
2962
+ *
2963
+ * @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.
2865
2964
  * @public
2866
2965
  */
2867
- access?: CopilotAccess | undefined;
2966
+ conditions?: __DocumentType | undefined;
2868
2967
  company?: string | undefined;
2869
2968
  profileId: string;
2870
2969
  /**
@@ -34,7 +34,7 @@ export declare var CardStaticContent$: StaticStructureSchema;
34
34
  export declare var CompareProfileVersionsInput$: StaticStructureSchema;
35
35
  export declare var CompareProfileVersionsOutput$: StaticStructureSchema;
36
36
  export declare var ContextualKnowledgeAnswersFeatureConfiguration$: StaticStructureSchema;
37
- export declare var CopilotAccess$: StaticStructureSchema;
37
+ export declare var CopilotAudienceEntry$: StaticStructureSchema;
38
38
  export declare var CopilotField$: StaticStructureSchema;
39
39
  export declare var CopilotMultilineParameter$: StaticStructureSchema;
40
40
  export declare var CopilotNumberParameter$: StaticStructureSchema;
@@ -64,6 +64,10 @@ export declare var DeleteProfileInput$: StaticStructureSchema;
64
64
  export declare var DeleteProfileOutput$: StaticStructureSchema;
65
65
  export declare var DeleteProfileResourceInput$: StaticStructureSchema;
66
66
  export declare var DeleteProfileResourceOutput$: StaticStructureSchema;
67
+ export declare var DisableProfileInput$: StaticStructureSchema;
68
+ export declare var DisableProfileOutput$: StaticStructureSchema;
69
+ export declare var EnableProfileInput$: StaticStructureSchema;
70
+ export declare var EnableProfileOutput$: StaticStructureSchema;
67
71
  export declare var Evaluation$: StaticStructureSchema;
68
72
  export declare var EvaluationInfo$: StaticStructureSchema;
69
73
  export declare var EvaluationIntervalTrigger$: StaticStructureSchema;
@@ -138,7 +142,6 @@ export declare var AutomationHandler$: StaticUnionSchema;
138
142
  export declare var CardContent$: StaticUnionSchema;
139
143
  export declare var CopilotFeature$: StaticUnionSchema;
140
144
  export declare var CopilotFieldParameter$: StaticUnionSchema;
141
- export declare var CopilotGrantPrincipal$: StaticUnionSchema;
142
145
  export declare var PlaybookCompletionCriteria$: StaticUnionSchema;
143
146
  export declare var ProfileResource$: StaticUnionSchema;
144
147
  export declare var SmartAction$: StaticUnionSchema;
@@ -155,6 +158,8 @@ export declare var DeleteEvaluation$: StaticOperationSchema;
155
158
  export declare var DeleteIntent$: StaticOperationSchema;
156
159
  export declare var DeleteProfile$: StaticOperationSchema;
157
160
  export declare var DeleteProfileResource$: StaticOperationSchema;
161
+ export declare var DisableProfile$: StaticOperationSchema;
162
+ export declare var EnableProfile$: StaticOperationSchema;
158
163
  export declare var GetAsset$: StaticOperationSchema;
159
164
  export declare var GetAutomation$: StaticOperationSchema;
160
165
  export declare var GetEvaluation$: StaticOperationSchema;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wildix/wilma-copilot-client",
3
3
  "description": "@wildix/wilma-copilot-client client",
4
- "version": "1.0.19",
4
+ "version": "1.0.21",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",