@wildix/wilma-agents-client 1.0.1 → 1.0.2

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 (72) hide show
  1. package/dist-cjs/WilmaAgents.js +12 -20
  2. package/dist-cjs/commands/{DeleteGuardrailCommand.js → CreateAgentDeploymentCommand.js} +6 -6
  3. package/dist-cjs/commands/{ExecuteAgentCommand.js → DeleteAgentDeploymentCommand.js} +6 -6
  4. package/dist-cjs/commands/{CreateGuardrailCommand.js → GetAgentDeploymentCommand.js} +6 -6
  5. package/dist-cjs/commands/{DeleteAgentAliasCommand.js → ListAgentDeploymentsCommand.js} +6 -6
  6. package/dist-cjs/commands/RestoreAgentVersionToDraftCommand.js +20 -0
  7. package/dist-cjs/commands/UpdateAgentDeploymentCommand.js +20 -0
  8. package/dist-cjs/commands/index.js +6 -10
  9. package/dist-cjs/models/enums.js +36 -81
  10. package/dist-cjs/models/errors.js +51 -36
  11. package/dist-cjs/schemas/schemas_0.js +358 -539
  12. package/dist-es/WilmaAgents.js +12 -20
  13. package/dist-es/commands/{DeleteAgentAliasCommand.js → CreateAgentDeploymentCommand.js} +5 -5
  14. package/dist-es/commands/{ExecuteAgentCommand.js → DeleteAgentDeploymentCommand.js} +5 -5
  15. package/dist-es/commands/{CreateGuardrailCommand.js → GetAgentDeploymentCommand.js} +5 -5
  16. package/dist-es/commands/{DeleteGuardrailCommand.js → ListAgentDeploymentsCommand.js} +5 -5
  17. package/dist-es/commands/RestoreAgentVersionToDraftCommand.js +16 -0
  18. package/dist-es/commands/UpdateAgentDeploymentCommand.js +16 -0
  19. package/dist-es/commands/index.js +6 -10
  20. package/dist-es/models/enums.js +35 -80
  21. package/dist-es/models/errors.js +42 -28
  22. package/dist-es/schemas/schemas_0.js +356 -536
  23. package/dist-types/WilmaAgents.d.ts +42 -71
  24. package/dist-types/WilmaAgentsClient.d.ts +16 -19
  25. package/dist-types/commands/CompareAgentVersionsCommand.d.ts +5 -5
  26. package/dist-types/commands/CreateAgentApiKeyCommand.d.ts +1 -3
  27. package/dist-types/commands/CreateAgentCommand.d.ts +451 -324
  28. package/dist-types/commands/CreateAgentDeploymentCommand.d.ts +116 -0
  29. package/dist-types/commands/DeleteAgentApiKeyCommand.d.ts +1 -3
  30. package/dist-types/commands/DeleteAgentCommand.d.ts +5 -4
  31. package/dist-types/commands/DeleteAgentDeploymentCommand.d.ts +83 -0
  32. package/dist-types/commands/GetAgentCommand.d.ts +237 -170
  33. package/dist-types/commands/GetAgentDeploymentCommand.d.ts +106 -0
  34. package/dist-types/commands/GetAgentVersionCommand.d.ts +219 -158
  35. package/dist-types/commands/ListAgentApiKeysCommand.d.ts +1 -3
  36. package/dist-types/commands/ListAgentDeploymentsCommand.d.ts +105 -0
  37. package/dist-types/commands/ListAgentVersionsCommand.d.ts +8 -7
  38. package/dist-types/commands/ListAgentsCommand.d.ts +241 -174
  39. package/dist-types/commands/ListAgentsNamesCommand.d.ts +6 -8
  40. package/dist-types/commands/PublishAgentVersionCommand.d.ts +221 -159
  41. package/dist-types/commands/RestoreAgentVersionToDraftCommand.d.ts +460 -0
  42. package/dist-types/commands/UpdateAgentCommand.d.ts +451 -324
  43. package/dist-types/commands/UpdateAgentDeploymentCommand.d.ts +120 -0
  44. package/dist-types/commands/index.d.ts +6 -10
  45. package/dist-types/index.d.ts +8 -7
  46. package/dist-types/models/enums.d.ts +126 -161
  47. package/dist-types/models/errors.d.ts +35 -22
  48. package/dist-types/models/models_0.d.ts +695 -741
  49. package/dist-types/schemas/schemas_0.d.ts +41 -61
  50. package/package.json +2 -2
  51. package/dist-cjs/commands/GetGuardrailCommand.js +0 -20
  52. package/dist-cjs/commands/ListAgentAliasesCommand.js +0 -20
  53. package/dist-cjs/commands/ListAuditRecordsCommand.js +0 -20
  54. package/dist-cjs/commands/ListGuardrailsCommand.js +0 -20
  55. package/dist-cjs/commands/PutAgentAliasCommand.js +0 -20
  56. package/dist-cjs/commands/UpdateGuardrailCommand.js +0 -20
  57. package/dist-es/commands/GetGuardrailCommand.js +0 -16
  58. package/dist-es/commands/ListAgentAliasesCommand.js +0 -16
  59. package/dist-es/commands/ListAuditRecordsCommand.js +0 -16
  60. package/dist-es/commands/ListGuardrailsCommand.js +0 -16
  61. package/dist-es/commands/PutAgentAliasCommand.js +0 -16
  62. package/dist-es/commands/UpdateGuardrailCommand.js +0 -16
  63. package/dist-types/commands/CreateGuardrailCommand.d.ts +0 -172
  64. package/dist-types/commands/DeleteAgentAliasCommand.d.ts +0 -82
  65. package/dist-types/commands/DeleteGuardrailCommand.d.ts +0 -80
  66. package/dist-types/commands/ExecuteAgentCommand.d.ts +0 -112
  67. package/dist-types/commands/GetGuardrailCommand.d.ts +0 -135
  68. package/dist-types/commands/ListAgentAliasesCommand.d.ts +0 -99
  69. package/dist-types/commands/ListAuditRecordsCommand.d.ts +0 -109
  70. package/dist-types/commands/ListGuardrailsCommand.d.ts +0 -137
  71. package/dist-types/commands/PutAgentAliasCommand.d.ts +0 -107
  72. package/dist-types/commands/UpdateGuardrailCommand.d.ts +0 -175
@@ -1,23 +1,7 @@
1
1
  import type { DocumentType as __DocumentType } from "@smithy/types";
2
- import type { ActorType, AgentFileScope, AgentGrantPermission, AgentStatus, AgentVariableType, AgentVisibility, AuditAction, AuditResourceType, ChannelType, GuardrailAction, GuardrailContentCategory, GuardrailFilterStrength, GuardrailPiiAction, GuardrailPiiEntityType, SandboxNetworkAccess, SpeechProvider, WebhookMethod, WebSearchContextSize } from "./enums";
3
- /**
4
- * Who performed an action: an interactive user, an API key or an internal service.
5
- * @public
6
- */
7
- export interface Actor {
8
- type: ActorType;
9
- /**
10
- * User id, API key id or service name, depending on the actor type.
11
- * @public
12
- */
13
- id: string;
14
- /**
15
- * Human readable name of the actor at the time of the action.
16
- * @public
17
- */
18
- name?: string | undefined;
19
- }
2
+ import type { ActorType, AgentDeploymentStatus, AgentHandoverPipelineType, AgentHandoverVariant, AgentHangupPipelineType, AgentStatus, AgentToolPipelineType, AgentTransferPipelineType, AgentTransferVariant, AgentVariableType, AgentVisibility, ChannelType, SandboxNetworkAccess, WebSearchContextSize } from "./enums";
20
3
  /**
4
+ * A user or group that access is granted to.
21
5
  * @public
22
6
  */
23
7
  export type AgentGrantPrincipal = AgentGrantPrincipal.GroupIdMember | AgentGrantPrincipal.UserIdMember | AgentGrantPrincipal.$UnknownMember;
@@ -54,94 +38,48 @@ export declare namespace AgentGrantPrincipal {
54
38
  }
55
39
  }
56
40
  /**
57
- * @public
58
- */
59
- export interface AgentGrant {
60
- permission: AgentGrantPermission;
61
- principal: AgentGrantPrincipal;
62
- }
63
- /**
41
+ * Who is allowed to use the agent. There is no view/edit dimension — access solely grants the ability to use the agent.
42
+ * Per channel: on `chat` and `assistant` agents `grants` govern which colleagues can use the agent; on `voice` agents `grants`
43
+ * are ignored (inbound calls are routed by the PBX dialplan, and data ACL is the agent-level `settings.pbxGroupId`); on `autonomous` agents agent-level
44
+ * access is not used — invocation access is configured per reference on the calling agent (see AgentCallCapability.access).
64
45
  * @public
65
46
  */
66
47
  export interface AgentAccess {
67
- visibility?: AgentVisibility | undefined;
68
- grants?: AgentGrant[] | undefined;
69
- }
70
- /**
71
- * @public
72
- */
73
- export interface AgentAliasRoute {
74
- version: number;
75
- /**
76
- * Percentage of new sessions routed to this version. Weights of an alias must sum to 100.
77
- * @public
78
- */
79
- weight: number;
80
- }
81
- /**
82
- * @public
83
- */
84
- export interface AgentAlias {
85
- /**
86
- * Alias name, e.g. 'production', 'staging'.
87
- * @public
88
- */
89
- name: string;
90
- agentId: string;
91
- description?: string | undefined;
92
- /**
93
- * Weighted routing to published versions. A single route with weight 100 is the common case; two routes make a canary.
94
- * @public
95
- */
96
- routing: AgentAliasRoute[];
97
48
  /**
98
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
49
+ * Usage scope. Defaults to `explicit` (only the listed grants).
99
50
  * @public
100
51
  */
101
- updatedAt: string;
52
+ visibility?: AgentVisibility | undefined;
102
53
  /**
103
- * Who performed an action: an interactive user, an API key or an internal service.
54
+ * Users and groups granted the ability to use the agent. Applies when visibility is `explicit`.
104
55
  * @public
105
56
  */
106
- updatedBy: Actor;
107
- }
108
- /**
109
- * @public
110
- */
111
- export interface ApiChannelSettings {
112
- enabled: boolean;
57
+ grants?: AgentGrantPrincipal[] | undefined;
113
58
  }
114
59
  /**
115
60
  * @public
116
61
  */
117
62
  export interface AssistantChannelSettings {
118
- enabled: boolean;
119
63
  /**
120
64
  * Offer this agent as the default assistant for users covered by the agent access settings.
121
65
  * @public
122
66
  */
123
67
  default?: boolean | undefined;
124
68
  }
69
+ /**
70
+ * @public
71
+ */
72
+ export interface AutonomousChannelSettings {
73
+ }
125
74
  /**
126
75
  * @public
127
76
  */
128
77
  export interface ChatChannelSettings {
129
- enabled: boolean;
130
78
  /**
131
- * Whether users can find and add this agent to conversations.
79
+ * Whether users can find and add this agent to conversations. Maps from the legacy xbees-users bot `searchable`.
132
80
  * @public
133
81
  */
134
82
  discoverable?: boolean | undefined;
135
- /**
136
- * PBX group used for data ACL (e.g. Sales Intelligence lookups).
137
- * @public
138
- */
139
- pbxGroupId?: string | undefined;
140
- /**
141
- * Message posted when the agent joins a conversation.
142
- * @public
143
- */
144
- welcomeMessage?: string | undefined;
145
83
  }
146
84
  /**
147
85
  * Caller context injected into the model prompt.
@@ -291,72 +229,134 @@ export interface VoiceSilenceTimeoutSettings {
291
229
  action: VoiceTerminateAction;
292
230
  }
293
231
  /**
232
+ * Voice channel settings. Note: a voice agent's AgentAccess.grants are ignored — inbound calls are routed by the PBX dialplan and data ACL is the agent-level `settings.pbxGroupId`, not per-user grants.
294
233
  * @public
295
234
  */
296
- export interface VoiceSynthesisSettings {
297
- provider: SpeechProvider;
235
+ export interface VoiceChannelSettings {
236
+ /**
237
+ * Message spoken when the call starts. Maps from the legacy wim-voicebots `message`.
238
+ * @public
239
+ */
240
+ greeting?: string | undefined;
241
+ interruptions?: VoiceInterruptionSettings | undefined;
242
+ silenceTimeout?: VoiceSilenceTimeoutSettings | undefined;
243
+ maxDuration?: VoiceMaxDurationSettings | undefined;
244
+ endCall?: VoiceEndCallSettings | undefined;
298
245
  /**
299
- * Provider-specific voice identifier.
246
+ * Caller context injected into the model prompt.
300
247
  * @public
301
248
  */
302
- voiceId: string;
249
+ callerMetadata?: VoiceCallerMetadataSettings | undefined;
250
+ }
251
+ /**
252
+ * The channels an agent serves and their channel-specific settings. Presence of a member enables that channel; at least one must be set. Enabled channels are mirrored as ChannelType values on AgentInfo.
253
+ * @public
254
+ */
255
+ export interface AgentChannels {
303
256
  /**
304
- * Playback speed multiplier.
257
+ * Voice channel settings. Note: a voice agent's AgentAccess.grants are ignored — inbound calls are routed by the PBX dialplan and data ACL is the agent-level `settings.pbxGroupId`, not per-user grants.
305
258
  * @public
306
259
  */
307
- speed?: number | undefined;
260
+ voice?: VoiceChannelSettings | undefined;
261
+ chat?: ChatChannelSettings | undefined;
262
+ assistant?: AssistantChannelSettings | undefined;
263
+ autonomous?: AutonomousChannelSettings | undefined;
308
264
  }
309
265
  /**
266
+ * Who performed an action: an interactive user, an API key or an internal service.
310
267
  * @public
311
268
  */
312
- export interface VoiceChannelSettings {
313
- enabled: boolean;
269
+ export interface Actor {
270
+ type: ActorType;
314
271
  /**
315
- * BCP-47 language tag used for transcription and synthesis, e.g. 'en-US'.
272
+ * User id, API key id or service name, depending on the actor type.
316
273
  * @public
317
274
  */
318
- language: string;
319
- synthesis: VoiceSynthesisSettings;
275
+ id: string;
320
276
  /**
321
- * Message spoken when the call starts.
277
+ * Human readable name of the actor at the time of the action.
322
278
  * @public
323
279
  */
324
- greeting?: string | undefined;
325
- interruptions?: VoiceInterruptionSettings | undefined;
326
- silenceTimeout?: VoiceSilenceTimeoutSettings | undefined;
327
- maxDuration?: VoiceMaxDurationSettings | undefined;
328
- endCall?: VoiceEndCallSettings | undefined;
280
+ name?: string | undefined;
281
+ }
282
+ /**
283
+ * @public
284
+ */
285
+ export interface AgentDeploymentRoute {
329
286
  /**
330
- * Caller context injected into the model prompt.
287
+ * Immutable published agent version identifier (nanoid).
331
288
  * @public
332
289
  */
333
- callerMetadata?: VoiceCallerMetadataSettings | undefined;
290
+ version: string;
291
+ /**
292
+ * Percentage of eligible new sessions routed to this version. Percentages in a deployment must sum to 100.
293
+ * @public
294
+ */
295
+ percentage: number;
334
296
  }
335
297
  /**
298
+ * Standard audit fields carried by every managed resource.
336
299
  * @public
337
300
  */
338
- export interface AgentChannels {
339
- assistant?: AssistantChannelSettings | undefined;
340
- chat?: ChatChannelSettings | undefined;
341
- voice?: VoiceChannelSettings | undefined;
342
- api?: ApiChannelSettings | undefined;
301
+ export interface AgentDeployment {
302
+ /**
303
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
304
+ * @public
305
+ */
306
+ createdAt: string;
307
+ /**
308
+ * Who performed an action: an interactive user, an API key or an internal service.
309
+ * @public
310
+ */
311
+ createdBy: Actor;
312
+ /**
313
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
314
+ * @public
315
+ */
316
+ updatedAt?: string | undefined;
317
+ /**
318
+ * Who performed an action: an interactive user, an API key or an internal service.
319
+ * @public
320
+ */
321
+ updatedBy?: Actor | undefined;
322
+ agentId: string;
323
+ /**
324
+ * Deployment name, e.g. 'production' or 'staging'. Sessions default to 'production' when no deployment, version or draft selector is provided.
325
+ * @public
326
+ */
327
+ name: string;
328
+ description?: string | undefined;
329
+ status: AgentDeploymentStatus;
330
+ /**
331
+ * Weighted routing over distinct published versions. Percentages must sum to 100. Selection is deterministic for a session, and the resolved version is pinned for the session lifetime.
332
+ * @public
333
+ */
334
+ routing: AgentDeploymentRoute[];
335
+ /**
336
+ * Monotonic revision incremented on every deployment update. Used for optimistic locking.
337
+ * @public
338
+ */
339
+ revision: number;
343
340
  }
344
341
  /**
342
+ * The model fills this variable itself, from conversation context. Included in the tool's input schema.
345
343
  * @public
346
344
  */
347
345
  export interface AgentToolVariableAutoHandler {
348
346
  }
349
347
  /**
348
+ * The model fills this variable, guided by this description. Included in the tool's input schema with the description attached.
350
349
  * @public
351
350
  */
352
351
  export interface AgentToolVariableGuidedHandler {
353
352
  description: string;
354
353
  }
355
354
  /**
355
+ * A fixed value bound to the variable and injected directly into the tool call. Not exposed to the model (excluded from the tool's input schema). Supports handlebars templates resolved against agent variables and session context (e.g. '\{\{callerName\}\}').
356
356
  * @public
357
357
  */
358
358
  export interface AgentToolVariablePredefinedHandler {
359
- description: string;
359
+ value: string;
360
360
  }
361
361
  /**
362
362
  * @public
@@ -366,18 +366,30 @@ export type AgentToolVariableHandler = AgentToolVariableHandler.AutoMember | Age
366
366
  * @public
367
367
  */
368
368
  export declare namespace AgentToolVariableHandler {
369
+ /**
370
+ * The model fills this variable itself, from conversation context. Included in the tool's input schema.
371
+ * @public
372
+ */
369
373
  interface AutoMember {
370
374
  auto: AgentToolVariableAutoHandler;
371
375
  guided?: never;
372
376
  predefined?: never;
373
377
  $unknown?: never;
374
378
  }
379
+ /**
380
+ * The model fills this variable, guided by this description. Included in the tool's input schema with the description attached.
381
+ * @public
382
+ */
375
383
  interface GuidedMember {
376
384
  auto?: never;
377
385
  guided: AgentToolVariableGuidedHandler;
378
386
  predefined?: never;
379
387
  $unknown?: never;
380
388
  }
389
+ /**
390
+ * A fixed value bound to the variable and injected directly into the tool call. Not exposed to the model (excluded from the tool's input schema). Supports handlebars templates resolved against agent variables and session context (e.g. '\{\{callerName\}\}').
391
+ * @public
392
+ */
381
393
  interface PredefinedMember {
382
394
  auto?: never;
383
395
  guided?: never;
@@ -416,84 +428,146 @@ export interface AgentToolVariable {
416
428
  handler?: AgentToolVariableHandler | undefined;
417
429
  }
418
430
  /**
419
- * Invoke another agent as a dedicated execution with its own state. The called agent runs independently and returns its result.
431
+ * Invoke another agent (typically an autonomous agent) as a dedicated execution with its own state. The called agent runs independently and returns its result.
420
432
  * @public
421
433
  */
422
434
  export interface AgentCallCapability {
423
435
  agentId: string;
436
+ /**
437
+ * Pin a specific published version of the called agent. Mutually exclusive with agentDeployment.
438
+ * @public
439
+ */
440
+ agentVersion?: string | undefined;
441
+ /**
442
+ * Resolve the called agent through this deployment. When neither agentVersion nor agentDeployment is set, the called agent's 'production' deployment is resolved at invocation time.
443
+ * @public
444
+ */
445
+ agentDeployment?: string | undefined;
446
+ /**
447
+ * Who may invoke this sub-agent tool. Evaluated per invoking user when the calling agent (chat / assistant) builds its
448
+ * toolset: if the user is not granted, this capability is omitted from the tools offered to the model for that session.
449
+ * When omitted, the tool is available to everyone who can use the calling agent. This is where an autonomous agent's
450
+ * invocation access is configured, since autonomous agents have no agent-level access of their own.
451
+ * @public
452
+ */
453
+ access?: AgentAccess | undefined;
424
454
  variables?: AgentToolVariable[] | undefined;
425
455
  }
426
456
  /**
427
- * Delegate the conversation to another agent (max 3 transitions per turn).
457
+ * Comment annotation emitted after a tool completes.
428
458
  * @public
429
459
  */
430
- export interface AgentDelegationCapability {
460
+ export interface AgentToolCommentAnnotation {
431
461
  /**
432
- * Agents this agent may delegate to. Empty list means any agent of the company.
462
+ * Static handlebars expression resolved against agent variables and helpers.
433
463
  * @public
434
464
  */
435
- agents?: string[] | undefined;
465
+ value?: string | undefined;
436
466
  /**
437
- * Extra instructions for when the agent should delegate.
467
+ * Apply when the tool succeeds.
438
468
  * @public
439
469
  */
440
- instructions?: string | undefined;
470
+ applyOnSuccess?: boolean | undefined;
471
+ /**
472
+ * Apply when the tool fails.
473
+ * @public
474
+ */
475
+ applyOnFailure?: boolean | undefined;
441
476
  }
442
477
  /**
478
+ * Result annotation emitted after a tool completes.
443
479
  * @public
444
480
  */
445
- export interface WebhookAuthorizationBasic {
446
- username: string;
447
- password: string;
481
+ export interface AgentToolResultAnnotation {
448
482
  }
449
483
  /**
484
+ * Tag annotation emitted after a tool completes.
450
485
  * @public
451
486
  */
452
- export interface WebhookAuthorizationBearer {
453
- token: string;
487
+ export interface AgentToolTagAnnotation {
488
+ /**
489
+ * Static handlebars expression resolved against agent variables and helpers.
490
+ * @public
491
+ */
492
+ value?: string | undefined;
493
+ /**
494
+ * Apply when the tool succeeds.
495
+ * @public
496
+ */
497
+ applyOnSuccess?: boolean | undefined;
498
+ /**
499
+ * Apply when the tool fails.
500
+ * @public
501
+ */
502
+ applyOnFailure?: boolean | undefined;
454
503
  }
455
504
  /**
505
+ * Variables annotation emitted after a tool completes.
456
506
  * @public
457
507
  */
458
- export interface WebhookAuthorizationOAuth {
459
- clientId: string;
460
- clientSecret: string;
461
- endpointUrl: string;
462
- scope?: string | undefined;
508
+ export interface AgentToolVariablesAnnotation {
463
509
  }
464
510
  /**
511
+ * Configuration for annotations emitted after a tool completes.
465
512
  * @public
466
513
  */
467
- export type WebhookAuthorization = WebhookAuthorization.BasicMember | WebhookAuthorization.BearerMember | WebhookAuthorization.OauthMember | WebhookAuthorization.$UnknownMember;
514
+ export type AgentToolAnnotation = AgentToolAnnotation.CommentMember | AgentToolAnnotation.ResultMember | AgentToolAnnotation.TagMember | AgentToolAnnotation.VariablesMember | AgentToolAnnotation.$UnknownMember;
468
515
  /**
469
516
  * @public
470
517
  */
471
- export declare namespace WebhookAuthorization {
472
- interface BearerMember {
473
- bearer: WebhookAuthorizationBearer;
474
- basic?: never;
475
- oauth?: never;
518
+ export declare namespace AgentToolAnnotation {
519
+ /**
520
+ * Tag annotation emitted after a tool completes.
521
+ * @public
522
+ */
523
+ interface TagMember {
524
+ tag: AgentToolTagAnnotation;
525
+ comment?: never;
526
+ variables?: never;
527
+ result?: never;
528
+ $unknown?: never;
529
+ }
530
+ /**
531
+ * Comment annotation emitted after a tool completes.
532
+ * @public
533
+ */
534
+ interface CommentMember {
535
+ tag?: never;
536
+ comment: AgentToolCommentAnnotation;
537
+ variables?: never;
538
+ result?: never;
476
539
  $unknown?: never;
477
540
  }
478
- interface BasicMember {
479
- bearer?: never;
480
- basic: WebhookAuthorizationBasic;
481
- oauth?: never;
541
+ /**
542
+ * Variables annotation emitted after a tool completes.
543
+ * @public
544
+ */
545
+ interface VariablesMember {
546
+ tag?: never;
547
+ comment?: never;
548
+ variables: AgentToolVariablesAnnotation;
549
+ result?: never;
482
550
  $unknown?: never;
483
551
  }
484
- interface OauthMember {
485
- bearer?: never;
486
- basic?: never;
487
- oauth: WebhookAuthorizationOAuth;
552
+ /**
553
+ * Result annotation emitted after a tool completes.
554
+ * @public
555
+ */
556
+ interface ResultMember {
557
+ tag?: never;
558
+ comment?: never;
559
+ variables?: never;
560
+ result: AgentToolResultAnnotation;
488
561
  $unknown?: never;
489
562
  }
490
563
  /**
491
564
  * @public
492
565
  */
493
566
  interface $UnknownMember {
494
- bearer?: never;
495
- basic?: never;
496
- oauth?: never;
567
+ tag?: never;
568
+ comment?: never;
569
+ variables?: never;
570
+ result?: never;
497
571
  $unknown: [string, any];
498
572
  }
499
573
  /**
@@ -501,103 +575,128 @@ export declare namespace WebhookAuthorization {
501
575
  *
502
576
  */
503
577
  interface Visitor<T> {
504
- bearer: (value: WebhookAuthorizationBearer) => T;
505
- basic: (value: WebhookAuthorizationBasic) => T;
506
- oauth: (value: WebhookAuthorizationOAuth) => T;
578
+ tag: (value: AgentToolTagAnnotation) => T;
579
+ comment: (value: AgentToolCommentAnnotation) => T;
580
+ variables: (value: AgentToolVariablesAnnotation) => T;
581
+ result: (value: AgentToolResultAnnotation) => T;
507
582
  _: (name: string, value: any) => T;
508
583
  }
509
584
  }
510
585
  /**
586
+ * Delegate the conversation to another agent (max 3 transitions per turn). One capability entry per delegate target.
511
587
  * @public
512
588
  */
513
- export interface WebhookHeader {
514
- name: string;
515
- value: string;
516
- }
517
- /**
518
- * @public
519
- */
520
- export interface FunctionWebhookIntegration {
521
- url: string;
522
- method?: WebhookMethod | undefined;
589
+ export interface AgentDelegationCapability {
523
590
  /**
524
- * Fire-and-forget: do not wait for the webhook response.
591
+ * Tool name exposed to the model. Auto-generated when omitted.
525
592
  * @public
526
593
  */
527
- async?: boolean | undefined;
528
- authorization?: WebhookAuthorization | undefined;
529
- headers?: WebhookHeader[] | undefined;
594
+ name?: string | undefined;
530
595
  /**
531
- * Timeout in milliseconds for the webhook request.
596
+ * Description for the model to decide when to delegate.
532
597
  * @public
533
598
  */
534
- timeout?: number | undefined;
599
+ description?: string | undefined;
600
+ /**
601
+ * Agent to delegate to.
602
+ * @public
603
+ */
604
+ id: string;
605
+ /**
606
+ * Pin a specific published version of the delegate agent. Mutually exclusive with agentDeployment.
607
+ * @public
608
+ */
609
+ agentVersion?: string | undefined;
535
610
  /**
536
- * Request payload template (JSON).
611
+ * Resolve the delegate agent through this deployment. When neither agentVersion nor agentDeployment is set, the delegate's 'production' deployment is resolved at delegation time.
537
612
  * @public
538
613
  */
539
- parameters?: __DocumentType | undefined;
614
+ agentDeployment?: string | undefined;
615
+ annotations?: AgentToolAnnotation[] | undefined;
540
616
  }
541
617
  /**
542
618
  * @public
543
619
  */
544
- export type FunctionIntegration = FunctionIntegration.WebhookMember | FunctionIntegration.$UnknownMember;
545
- /**
546
- * @public
547
- */
548
- export declare namespace FunctionIntegration {
549
- interface WebhookMember {
550
- webhook: FunctionWebhookIntegration;
551
- $unknown?: never;
552
- }
620
+ export interface AgentHandoverPipeline {
621
+ type?: AgentHandoverPipelineType | undefined;
553
622
  /**
623
+ * Instructions for the model reply when type is REPLY_INSTRUCTED_AND_HANDOVER.
554
624
  * @public
555
625
  */
556
- interface $UnknownMember {
557
- webhook?: never;
558
- $unknown: [string, any];
559
- }
560
- /**
561
- * @deprecated unused in schema-serde mode.
562
- *
563
- */
564
- interface Visitor<T> {
565
- webhook: (value: FunctionWebhookIntegration) => T;
566
- _: (name: string, value: any) => T;
567
- }
626
+ instructions?: string | undefined;
568
627
  }
569
628
  /**
629
+ * Hand the conversation over to a human and leave it. Honoured on conversation channels (chat, assistant).
570
630
  * @public
571
631
  */
572
- export interface AgentFunctionTool {
573
- name: string;
632
+ export interface AgentHandoverCapability {
633
+ /**
634
+ * Tool name exposed to the model. Auto-generated when omitted.
635
+ * @public
636
+ */
637
+ name?: string | undefined;
574
638
  /**
575
- * Used by the model to decide when to invoke the function.
639
+ * Description for the model to decide when to hand over.
576
640
  * @public
577
641
  */
578
642
  description?: string | undefined;
643
+ variant?: AgentHandoverVariant | undefined;
644
+ /**
645
+ * Wilma agent to hand over to when variant = AGENT.
646
+ * @public
647
+ */
648
+ agent?: string | undefined;
649
+ /**
650
+ * Pin a specific published version of the target agent when variant = AGENT. Mutually exclusive with agentDeployment.
651
+ * @public
652
+ */
653
+ agentVersion?: string | undefined;
654
+ /**
655
+ * Resolve the target agent through this deployment when variant = AGENT. When neither agentVersion nor agentDeployment is set, the target's 'production' deployment is resolved at handover time.
656
+ * @public
657
+ */
658
+ agentDeployment?: string | undefined;
579
659
  /**
580
- * JSON Schema of the function parameters.
660
+ * x-bees service id to hand over to when variant = SERVICE.
581
661
  * @public
582
662
  */
583
- parameters?: __DocumentType | undefined;
584
- integration?: FunctionIntegration | undefined;
663
+ service?: string | undefined;
664
+ /**
665
+ * Hand over without posting a visible message to the user.
666
+ * @public
667
+ */
668
+ silent?: boolean | undefined;
669
+ pipeline?: AgentHandoverPipeline | undefined;
670
+ annotations?: AgentToolAnnotation[] | undefined;
585
671
  }
586
672
  /**
587
- * Hand the conversation over to a human and leave it. Honoured on conversation channels (chat, assistant).
588
673
  * @public
589
674
  */
590
- export interface AgentHandoverCapability {
675
+ export interface AgentHangupPipeline {
676
+ type?: AgentHangupPipelineType | undefined;
591
677
  /**
592
- * Extra instructions for when the agent should hand over.
678
+ * Instructions for the model reply when type is REPLY_INSTRUCTED_AND_HANGUP.
593
679
  * @public
594
680
  */
595
681
  instructions?: string | undefined;
682
+ }
683
+ /**
684
+ * Let the model end the call. Honoured on the voice channel. Maps from the wim-voicebots HANGUP embedded tool.
685
+ * @public
686
+ */
687
+ export interface AgentHangupCapability {
596
688
  /**
597
- * Message sent to the end user when the handover happens.
689
+ * Tool name exposed to the model. Auto-generated when omitted.
598
690
  * @public
599
691
  */
600
- message?: string | undefined;
692
+ name?: string | undefined;
693
+ /**
694
+ * Description for the model to decide when to hang up.
695
+ * @public
696
+ */
697
+ description?: string | undefined;
698
+ pipeline?: AgentHangupPipeline | undefined;
699
+ annotations?: AgentToolAnnotation[] | undefined;
601
700
  }
602
701
  /**
603
702
  * @public
@@ -609,22 +708,10 @@ export interface AgentKnowledgeBase {
609
708
  * @public
610
709
  */
611
710
  instructions?: string | undefined;
711
+ annotations?: AgentToolAnnotation[] | undefined;
612
712
  }
613
713
  /**
614
- * Remote MCP (Model Context Protocol) server whose tools are exposed to the agent.
615
- * @public
616
- */
617
- export interface AgentMcpServerCapability {
618
- url: string;
619
- authorization?: WebhookAuthorization | undefined;
620
- /**
621
- * Restrict the tools exposed from this server. Empty list means all tools.
622
- * @public
623
- */
624
- allowedTools?: string[] | undefined;
625
- }
626
- /**
627
- * Sandbox launched from a pre-built snapshot managed by the wilma-sandbox service.
714
+ * Sandbox launched from a pre-built snapshot managed by the wilma-sandbox service.
628
715
  * @public
629
716
  */
630
717
  export interface AgentSnapshotSandboxOptions {
@@ -716,10 +803,42 @@ export declare namespace AgentSandboxCapability {
716
803
  }
717
804
  }
718
805
  /**
719
- * Emit suggested replies for human operators instead of, or in addition to, answering directly. Honoured on the chat channel.
806
+ * Emit suggested replies for human operators. Honoured on the chat channel.
720
807
  * @public
721
808
  */
722
809
  export interface AgentSuggestionsCapability {
810
+ /**
811
+ * Tool name. Auto-generated when omitted.
812
+ * @public
813
+ */
814
+ name?: string | undefined;
815
+ annotations?: AgentToolAnnotation[] | undefined;
816
+ }
817
+ /**
818
+ * Human-in-the-loop confirmation for a tool. Presence requires approval: the agent pauses before running the tool and the session user (whoever controls the session) approves or denies inline.
819
+ * @public
820
+ */
821
+ export interface AgentToolApproval {
822
+ /**
823
+ * Optional message shown in the confirmation prompt. Supports handlebars against agent variables and the pending tool arguments. When omitted, a default prompt is shown.
824
+ * @public
825
+ */
826
+ prompt?: string | undefined;
827
+ }
828
+ /**
829
+ * @public
830
+ */
831
+ export interface AgentToolPipeline {
832
+ /**
833
+ * How the model waits for a tool and whether it synthesizes a reply from the result. Mirrors the legacy VoiceBot/Bot capability-tool pipeline.
834
+ * @public
835
+ */
836
+ type?: AgentToolPipelineType | undefined;
837
+ /**
838
+ * Reply instructions for the *_GUIDED pipeline types. Use \{\{response\}\} to reference the tool result.
839
+ * @public
840
+ */
841
+ instructions?: string | undefined;
723
842
  }
724
843
  /**
725
844
  * @public
@@ -731,19 +850,85 @@ export interface AgentTool {
731
850
  */
732
851
  id: string;
733
852
  variables?: AgentToolVariable[] | undefined;
853
+ /**
854
+ * Message spoken when the tool call starts. Honoured on the voice channel. Maps from the legacy wim-voicebots capability-tool `startMessage`.
855
+ * @public
856
+ */
857
+ startMessage?: string | undefined;
858
+ /**
859
+ * How the model waits for the tool and whether it synthesizes a reply from the result.
860
+ * @public
861
+ */
862
+ pipeline?: AgentToolPipeline | undefined;
863
+ /**
864
+ * When present, the tool requires inline approval from the session user before it runs. New feature; no legacy equivalent.
865
+ * @public
866
+ */
867
+ approval?: AgentToolApproval | undefined;
868
+ annotations?: AgentToolAnnotation[] | undefined;
734
869
  }
735
870
  /**
736
- * Transfer the interaction to a PBX destination. Honoured on the voice channel.
737
871
  * @public
738
872
  */
739
- export interface AgentTransferCapability {
740
- targets: VoiceTransferTarget[];
873
+ export interface AgentTransferPipeline {
874
+ type?: AgentTransferPipelineType | undefined;
741
875
  /**
742
- * Extra instructions for when the agent should transfer.
876
+ * Instructions for the model reply when type is REPLY_INSTRUCTED_AND_TRANSFER.
743
877
  * @public
744
878
  */
745
879
  instructions?: string | undefined;
746
880
  }
881
+ /**
882
+ * Transfer the call to a PBX destination. Honoured on the voice channel. One capability entry per transfer target.
883
+ * @public
884
+ */
885
+ export interface AgentTransferCapability {
886
+ /**
887
+ * Tool name exposed to the model. Auto-generated when omitted.
888
+ * @public
889
+ */
890
+ name?: string | undefined;
891
+ /**
892
+ * Description for the model to decide when to transfer.
893
+ * @public
894
+ */
895
+ description?: string | undefined;
896
+ variant?: AgentTransferVariant | undefined;
897
+ /**
898
+ * Routing context for PREDEFINED transfers.
899
+ * @public
900
+ */
901
+ context?: string | undefined;
902
+ /**
903
+ * Extension or phone number for PREDEFINED transfers.
904
+ * @public
905
+ */
906
+ extension?: string | undefined;
907
+ pipeline?: AgentTransferPipeline | undefined;
908
+ annotations?: AgentToolAnnotation[] | undefined;
909
+ }
910
+ /**
911
+ * Let the model hold the call while it works (e.g. a lookup), keeping the caller on the line. Honoured on the voice channel. Maps from the wim-voicebots WAIT embedded tool.
912
+ * @public
913
+ */
914
+ export interface AgentWaitCapability {
915
+ /**
916
+ * Tool name exposed to the model. Auto-generated when omitted.
917
+ * @public
918
+ */
919
+ name?: string | undefined;
920
+ /**
921
+ * Description for the model to decide when to wait.
922
+ * @public
923
+ */
924
+ description?: string | undefined;
925
+ /**
926
+ * Message spoken when entering the wait state.
927
+ * @public
928
+ */
929
+ message?: string | undefined;
930
+ annotations?: AgentToolAnnotation[] | undefined;
931
+ }
747
932
  /**
748
933
  * Server-side fetch of a URL, returning its readable text/markdown to the model.
749
934
  * @public
@@ -792,54 +977,39 @@ export interface AgentWebSearchCapability {
792
977
  /**
793
978
  * @public
794
979
  */
795
- export type AgentCapability = AgentCapability.AgentMember | AgentCapability.DelegationMember | AgentCapability.FunctionMember | AgentCapability.HandoverMember | AgentCapability.KbMember | AgentCapability.McpMember | AgentCapability.SandboxMember | AgentCapability.SuggestionsMember | AgentCapability.ToolMember | AgentCapability.TransferMember | AgentCapability.WebFetchMember | AgentCapability.WebSearchMember | AgentCapability.$UnknownMember;
980
+ export type AgentCapability = AgentCapability.AgentMember | AgentCapability.DelegationMember | AgentCapability.HandoverMember | AgentCapability.HangupMember | AgentCapability.KbMember | AgentCapability.SandboxMember | AgentCapability.SuggestionsMember | AgentCapability.ToolMember | AgentCapability.TransferMember | AgentCapability.WaitMember | AgentCapability.WebFetchMember | AgentCapability.WebSearchMember | AgentCapability.$UnknownMember;
796
981
  /**
797
982
  * @public
798
983
  */
799
984
  export declare namespace AgentCapability {
800
985
  interface ToolMember {
801
986
  tool: AgentTool;
802
- function?: never;
803
987
  kb?: never;
804
988
  sandbox?: never;
805
989
  webSearch?: never;
806
990
  webFetch?: never;
807
991
  agent?: never;
808
- mcp?: never;
809
- handover?: never;
810
- delegation?: never;
811
- transfer?: never;
812
- suggestions?: never;
813
- $unknown?: never;
814
- }
815
- interface FunctionMember {
816
- tool?: never;
817
- function: AgentFunctionTool;
818
- kb?: never;
819
- sandbox?: never;
820
- webSearch?: never;
821
- webFetch?: never;
822
- agent?: never;
823
- mcp?: never;
824
992
  handover?: never;
825
993
  delegation?: never;
826
994
  transfer?: never;
827
995
  suggestions?: never;
996
+ hangup?: never;
997
+ wait?: never;
828
998
  $unknown?: never;
829
999
  }
830
1000
  interface KbMember {
831
1001
  tool?: never;
832
- function?: never;
833
1002
  kb: AgentKnowledgeBase;
834
1003
  sandbox?: never;
835
1004
  webSearch?: never;
836
1005
  webFetch?: never;
837
1006
  agent?: never;
838
- mcp?: never;
839
1007
  handover?: never;
840
1008
  delegation?: never;
841
1009
  transfer?: never;
842
1010
  suggestions?: never;
1011
+ hangup?: never;
1012
+ wait?: never;
843
1013
  $unknown?: never;
844
1014
  }
845
1015
  /**
@@ -848,17 +1018,17 @@ export declare namespace AgentCapability {
848
1018
  */
849
1019
  interface SandboxMember {
850
1020
  tool?: never;
851
- function?: never;
852
1021
  kb?: never;
853
1022
  sandbox: AgentSandboxCapability;
854
1023
  webSearch?: never;
855
1024
  webFetch?: never;
856
1025
  agent?: never;
857
- mcp?: never;
858
1026
  handover?: never;
859
1027
  delegation?: never;
860
1028
  transfer?: never;
861
1029
  suggestions?: never;
1030
+ hangup?: never;
1031
+ wait?: never;
862
1032
  $unknown?: never;
863
1033
  }
864
1034
  /**
@@ -867,17 +1037,17 @@ export declare namespace AgentCapability {
867
1037
  */
868
1038
  interface WebSearchMember {
869
1039
  tool?: never;
870
- function?: never;
871
1040
  kb?: never;
872
1041
  sandbox?: never;
873
1042
  webSearch: AgentWebSearchCapability;
874
1043
  webFetch?: never;
875
1044
  agent?: never;
876
- mcp?: never;
877
1045
  handover?: never;
878
1046
  delegation?: never;
879
1047
  transfer?: never;
880
1048
  suggestions?: never;
1049
+ hangup?: never;
1050
+ wait?: never;
881
1051
  $unknown?: never;
882
1052
  }
883
1053
  /**
@@ -886,131 +1056,150 @@ export declare namespace AgentCapability {
886
1056
  */
887
1057
  interface WebFetchMember {
888
1058
  tool?: never;
889
- function?: never;
890
1059
  kb?: never;
891
1060
  sandbox?: never;
892
1061
  webSearch?: never;
893
1062
  webFetch: AgentWebFetchCapability;
894
1063
  agent?: never;
895
- mcp?: never;
896
1064
  handover?: never;
897
1065
  delegation?: never;
898
1066
  transfer?: never;
899
1067
  suggestions?: never;
1068
+ hangup?: never;
1069
+ wait?: never;
900
1070
  $unknown?: never;
901
1071
  }
902
1072
  /**
903
- * Invoke another agent as a dedicated execution with its own state. The called agent runs independently and returns its result.
1073
+ * Invoke another agent (typically an autonomous agent) as a dedicated execution with its own state. The called agent runs independently and returns its result.
904
1074
  * @public
905
1075
  */
906
1076
  interface AgentMember {
907
1077
  tool?: never;
908
- function?: never;
909
1078
  kb?: never;
910
1079
  sandbox?: never;
911
1080
  webSearch?: never;
912
1081
  webFetch?: never;
913
1082
  agent: AgentCallCapability;
914
- mcp?: never;
915
1083
  handover?: never;
916
1084
  delegation?: never;
917
1085
  transfer?: never;
918
1086
  suggestions?: never;
1087
+ hangup?: never;
1088
+ wait?: never;
919
1089
  $unknown?: never;
920
1090
  }
921
1091
  /**
922
- * Remote MCP (Model Context Protocol) server whose tools are exposed to the agent.
1092
+ * Hand the conversation over to a human and leave it. Honoured on conversation channels (chat, assistant).
923
1093
  * @public
924
1094
  */
925
- interface McpMember {
1095
+ interface HandoverMember {
926
1096
  tool?: never;
927
- function?: never;
928
1097
  kb?: never;
929
1098
  sandbox?: never;
930
1099
  webSearch?: never;
931
1100
  webFetch?: never;
932
1101
  agent?: never;
933
- mcp: AgentMcpServerCapability;
934
- handover?: never;
1102
+ handover: AgentHandoverCapability;
935
1103
  delegation?: never;
936
1104
  transfer?: never;
937
1105
  suggestions?: never;
1106
+ hangup?: never;
1107
+ wait?: never;
938
1108
  $unknown?: never;
939
1109
  }
940
1110
  /**
941
- * Hand the conversation over to a human and leave it. Honoured on conversation channels (chat, assistant).
1111
+ * Delegate the conversation to another agent (max 3 transitions per turn). One capability entry per delegate target.
942
1112
  * @public
943
1113
  */
944
- interface HandoverMember {
1114
+ interface DelegationMember {
945
1115
  tool?: never;
946
- function?: never;
947
1116
  kb?: never;
948
1117
  sandbox?: never;
949
1118
  webSearch?: never;
950
1119
  webFetch?: never;
951
1120
  agent?: never;
952
- mcp?: never;
953
- handover: AgentHandoverCapability;
954
- delegation?: never;
1121
+ handover?: never;
1122
+ delegation: AgentDelegationCapability;
955
1123
  transfer?: never;
956
1124
  suggestions?: never;
1125
+ hangup?: never;
1126
+ wait?: never;
957
1127
  $unknown?: never;
958
1128
  }
959
1129
  /**
960
- * Delegate the conversation to another agent (max 3 transitions per turn).
1130
+ * Transfer the call to a PBX destination. Honoured on the voice channel. One capability entry per transfer target.
961
1131
  * @public
962
1132
  */
963
- interface DelegationMember {
1133
+ interface TransferMember {
964
1134
  tool?: never;
965
- function?: never;
966
1135
  kb?: never;
967
1136
  sandbox?: never;
968
1137
  webSearch?: never;
969
1138
  webFetch?: never;
970
1139
  agent?: never;
971
- mcp?: never;
972
1140
  handover?: never;
973
- delegation: AgentDelegationCapability;
974
- transfer?: never;
1141
+ delegation?: never;
1142
+ transfer: AgentTransferCapability;
975
1143
  suggestions?: never;
1144
+ hangup?: never;
1145
+ wait?: never;
976
1146
  $unknown?: never;
977
1147
  }
978
1148
  /**
979
- * Transfer the interaction to a PBX destination. Honoured on the voice channel.
1149
+ * Emit suggested replies for human operators. Honoured on the chat channel.
980
1150
  * @public
981
1151
  */
982
- interface TransferMember {
1152
+ interface SuggestionsMember {
983
1153
  tool?: never;
984
- function?: never;
985
1154
  kb?: never;
986
1155
  sandbox?: never;
987
1156
  webSearch?: never;
988
1157
  webFetch?: never;
989
1158
  agent?: never;
990
- mcp?: never;
991
1159
  handover?: never;
992
1160
  delegation?: never;
993
- transfer: AgentTransferCapability;
1161
+ transfer?: never;
1162
+ suggestions: AgentSuggestionsCapability;
1163
+ hangup?: never;
1164
+ wait?: never;
1165
+ $unknown?: never;
1166
+ }
1167
+ /**
1168
+ * Let the model end the call. Honoured on the voice channel. Maps from the wim-voicebots HANGUP embedded tool.
1169
+ * @public
1170
+ */
1171
+ interface HangupMember {
1172
+ tool?: never;
1173
+ kb?: never;
1174
+ sandbox?: never;
1175
+ webSearch?: never;
1176
+ webFetch?: never;
1177
+ agent?: never;
1178
+ handover?: never;
1179
+ delegation?: never;
1180
+ transfer?: never;
994
1181
  suggestions?: never;
1182
+ hangup: AgentHangupCapability;
1183
+ wait?: never;
995
1184
  $unknown?: never;
996
1185
  }
997
1186
  /**
998
- * Emit suggested replies for human operators instead of, or in addition to, answering directly. Honoured on the chat channel.
1187
+ * Let the model hold the call while it works (e.g. a lookup), keeping the caller on the line. Honoured on the voice channel. Maps from the wim-voicebots WAIT embedded tool.
999
1188
  * @public
1000
1189
  */
1001
- interface SuggestionsMember {
1190
+ interface WaitMember {
1002
1191
  tool?: never;
1003
- function?: never;
1004
1192
  kb?: never;
1005
1193
  sandbox?: never;
1006
1194
  webSearch?: never;
1007
1195
  webFetch?: never;
1008
1196
  agent?: never;
1009
- mcp?: never;
1010
1197
  handover?: never;
1011
1198
  delegation?: never;
1012
1199
  transfer?: never;
1013
- suggestions: AgentSuggestionsCapability;
1200
+ suggestions?: never;
1201
+ hangup?: never;
1202
+ wait: AgentWaitCapability;
1014
1203
  $unknown?: never;
1015
1204
  }
1016
1205
  /**
@@ -1018,17 +1207,17 @@ export declare namespace AgentCapability {
1018
1207
  */
1019
1208
  interface $UnknownMember {
1020
1209
  tool?: never;
1021
- function?: never;
1022
1210
  kb?: never;
1023
1211
  sandbox?: never;
1024
1212
  webSearch?: never;
1025
1213
  webFetch?: never;
1026
1214
  agent?: never;
1027
- mcp?: never;
1028
1215
  handover?: never;
1029
1216
  delegation?: never;
1030
1217
  transfer?: never;
1031
1218
  suggestions?: never;
1219
+ hangup?: never;
1220
+ wait?: never;
1032
1221
  $unknown: [string, any];
1033
1222
  }
1034
1223
  /**
@@ -1037,20 +1226,37 @@ export declare namespace AgentCapability {
1037
1226
  */
1038
1227
  interface Visitor<T> {
1039
1228
  tool: (value: AgentTool) => T;
1040
- function: (value: AgentFunctionTool) => T;
1041
1229
  kb: (value: AgentKnowledgeBase) => T;
1042
1230
  sandbox: (value: AgentSandboxCapability) => T;
1043
1231
  webSearch: (value: AgentWebSearchCapability) => T;
1044
1232
  webFetch: (value: AgentWebFetchCapability) => T;
1045
1233
  agent: (value: AgentCallCapability) => T;
1046
- mcp: (value: AgentMcpServerCapability) => T;
1047
1234
  handover: (value: AgentHandoverCapability) => T;
1048
1235
  delegation: (value: AgentDelegationCapability) => T;
1049
1236
  transfer: (value: AgentTransferCapability) => T;
1050
1237
  suggestions: (value: AgentSuggestionsCapability) => T;
1238
+ hangup: (value: AgentHangupCapability) => T;
1239
+ wait: (value: AgentWaitCapability) => T;
1051
1240
  _: (name: string, value: any) => T;
1052
1241
  }
1053
1242
  }
1243
+ /**
1244
+ * Reference to a skill attached to an agent.
1245
+ * @public
1246
+ */
1247
+ export interface AgentSkillReference {
1248
+ id: string;
1249
+ /**
1250
+ * Pin a specific published skill version. When omitted, latestVersion is resolved.
1251
+ * @public
1252
+ */
1253
+ skillVersion?: string | undefined;
1254
+ /**
1255
+ * Override access for this skill on this agent. When omitted, the agent's default access policy applies.
1256
+ * @public
1257
+ */
1258
+ access?: AgentAccess | undefined;
1259
+ }
1054
1260
  /**
1055
1261
  * @public
1056
1262
  */
@@ -1065,10 +1271,10 @@ export interface AgentVariable {
1065
1271
  description?: string | undefined;
1066
1272
  }
1067
1273
  /**
1068
- * Managed LLM engine: the platform runs the model, tools and knowledge lookups.
1274
+ * Managed AI engine: the platform runs the model, tools and knowledge lookups.
1069
1275
  * @public
1070
1276
  */
1071
- export interface AgentLlmEngine {
1277
+ export interface AgentAiEngine {
1072
1278
  instructions: string;
1073
1279
  /**
1074
1280
  * Defaults to the platform default model when omitted.
@@ -1079,7 +1285,7 @@ export interface AgentLlmEngine {
1079
1285
  * Skills attached to this agent (progressive disclosure).
1080
1286
  * @public
1081
1287
  */
1082
- skills?: string[] | undefined;
1288
+ skills?: AgentSkillReference[] | undefined;
1083
1289
  capabilities?: AgentCapability[] | undefined;
1084
1290
  variables?: AgentVariable[] | undefined;
1085
1291
  }
@@ -1106,19 +1312,20 @@ export interface AgentWebhookEngine {
1106
1312
  timeout?: number | undefined;
1107
1313
  }
1108
1314
  /**
1315
+ * How the agent produces replies. `ai` is the managed engine; `webhook` and `sqs` delegate to an external backend. The legacy Dialogflow CX and OpenAI Assistant backends are intentionally not carried over.
1109
1316
  * @public
1110
1317
  */
1111
- export type AgentEngine = AgentEngine.LlmMember | AgentEngine.SqsMember | AgentEngine.WebhookMember | AgentEngine.$UnknownMember;
1318
+ export type AgentEngine = AgentEngine.AiMember | AgentEngine.SqsMember | AgentEngine.WebhookMember | AgentEngine.$UnknownMember;
1112
1319
  /**
1113
1320
  * @public
1114
1321
  */
1115
1322
  export declare namespace AgentEngine {
1116
1323
  /**
1117
- * Managed LLM engine: the platform runs the model, tools and knowledge lookups.
1324
+ * Managed AI engine: the platform runs the model, tools and knowledge lookups.
1118
1325
  * @public
1119
1326
  */
1120
- interface LlmMember {
1121
- llm: AgentLlmEngine;
1327
+ interface AiMember {
1328
+ ai: AgentAiEngine;
1122
1329
  webhook?: never;
1123
1330
  sqs?: never;
1124
1331
  $unknown?: never;
@@ -1128,7 +1335,7 @@ export declare namespace AgentEngine {
1128
1335
  * @public
1129
1336
  */
1130
1337
  interface WebhookMember {
1131
- llm?: never;
1338
+ ai?: never;
1132
1339
  webhook: AgentWebhookEngine;
1133
1340
  sqs?: never;
1134
1341
  $unknown?: never;
@@ -1138,7 +1345,7 @@ export declare namespace AgentEngine {
1138
1345
  * @public
1139
1346
  */
1140
1347
  interface SqsMember {
1141
- llm?: never;
1348
+ ai?: never;
1142
1349
  webhook?: never;
1143
1350
  sqs: AgentSqsEngine;
1144
1351
  $unknown?: never;
@@ -1147,7 +1354,7 @@ export declare namespace AgentEngine {
1147
1354
  * @public
1148
1355
  */
1149
1356
  interface $UnknownMember {
1150
- llm?: never;
1357
+ ai?: never;
1151
1358
  webhook?: never;
1152
1359
  sqs?: never;
1153
1360
  $unknown: [string, any];
@@ -1157,12 +1364,23 @@ export declare namespace AgentEngine {
1157
1364
  *
1158
1365
  */
1159
1366
  interface Visitor<T> {
1160
- llm: (value: AgentLlmEngine) => T;
1367
+ ai: (value: AgentAiEngine) => T;
1161
1368
  webhook: (value: AgentWebhookEngine) => T;
1162
1369
  sqs: (value: AgentSqsEngine) => T;
1163
1370
  _: (name: string, value: any) => T;
1164
1371
  }
1165
1372
  }
1373
+ /**
1374
+ * Agent-level settings shared across all channels.
1375
+ * @public
1376
+ */
1377
+ export interface AgentSettings {
1378
+ /**
1379
+ * PBX group used for data ACL (e.g. Sales Intelligence lookups). Maps from the legacy wim-voicebots / xbees-users bot `groupId`.
1380
+ * @public
1381
+ */
1382
+ pbxGroupId?: string | undefined;
1383
+ }
1166
1384
  /**
1167
1385
  * The complete, versionable configuration of an agent. This is what gets snapshotted when a version is published.
1168
1386
  * @public
@@ -1180,20 +1398,31 @@ export interface Agent {
1180
1398
  * @public
1181
1399
  */
1182
1400
  picture?: string | undefined;
1401
+ /**
1402
+ * The channels this agent serves and their channel-specific settings. A channel is enabled when its member is present; at least one must be set. An agent may serve multiple channels (e.g. chat + assistant) over the shared engine.
1403
+ * @public
1404
+ */
1405
+ channels: AgentChannels;
1406
+ /**
1407
+ * How the agent produces replies. `ai` is the managed engine; `webhook` and `sqs` delegate to an external backend. The legacy Dialogflow CX and OpenAI Assistant backends are intentionally not carried over.
1408
+ * @public
1409
+ */
1183
1410
  engine: AgentEngine;
1184
1411
  /**
1185
- * Per-channel deployment settings. An agent is reachable only on channels configured here.
1412
+ * Agent-level settings shared across all channels.
1186
1413
  * @public
1187
1414
  */
1188
- channels?: AgentChannels | undefined;
1415
+ settings?: AgentSettings | undefined;
1189
1416
  /**
1190
- * Guardrail policies applied to this agent's inputs and outputs.
1417
+ * Who is allowed to use the agent. There is no view/edit dimension — access solely grants the ability to use the agent.
1418
+ * Per channel: on `chat` and `assistant` agents `grants` govern which colleagues can use the agent; on `voice` agents `grants`
1419
+ * are ignored (inbound calls are routed by the PBX dialplan, and data ACL is the agent-level `settings.pbxGroupId`); on `autonomous` agents agent-level
1420
+ * access is not used — invocation access is configured per reference on the calling agent (see AgentCallCapability.access).
1191
1421
  * @public
1192
1422
  */
1193
- guardrails?: string[] | undefined;
1194
1423
  access?: AgentAccess | undefined;
1195
1424
  /**
1196
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1425
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
1197
1426
  * @public
1198
1427
  */
1199
1428
  createdAt: string;
@@ -1203,7 +1432,7 @@ export interface Agent {
1203
1432
  */
1204
1433
  createdBy: Actor;
1205
1434
  /**
1206
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1435
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
1207
1436
  * @public
1208
1437
  */
1209
1438
  updatedAt?: string | undefined;
@@ -1220,15 +1449,20 @@ export interface Agent {
1220
1449
  */
1221
1450
  revision: number;
1222
1451
  /**
1223
- * Latest published version number; absent while the agent is still a draft.
1452
+ * Latest published version id; absent while the agent is still a draft.
1453
+ * @public
1454
+ */
1455
+ latestVersion?: string | undefined;
1456
+ /**
1457
+ * Published version from which the current draft originated. Absent before the first version is published.
1224
1458
  * @public
1225
1459
  */
1226
- latestVersion?: number | undefined;
1460
+ draftBaseVersion?: string | undefined;
1227
1461
  /**
1228
- * Aliases of this agent with their version routing (e.g. 'production', 'staging').
1462
+ * Named deployment configurations routing new sessions to published versions.
1229
1463
  * @public
1230
1464
  */
1231
- aliases?: AgentAlias[] | undefined;
1465
+ deployments?: AgentDeployment[] | undefined;
1232
1466
  }
1233
1467
  /**
1234
1468
  * @public
@@ -1242,7 +1476,7 @@ export interface AgentApiKey {
1242
1476
  */
1243
1477
  prefix: string;
1244
1478
  /**
1245
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1479
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
1246
1480
  * @public
1247
1481
  */
1248
1482
  createdAt: string;
@@ -1252,12 +1486,12 @@ export interface AgentApiKey {
1252
1486
  */
1253
1487
  createdBy: Actor;
1254
1488
  /**
1255
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1489
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
1256
1490
  * @public
1257
1491
  */
1258
1492
  expiresAt?: string | undefined;
1259
1493
  /**
1260
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1494
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
1261
1495
  * @public
1262
1496
  */
1263
1497
  lastUsedAt?: string | undefined;
@@ -1279,118 +1513,74 @@ export interface AgentDefinitionSnapshot {
1279
1513
  * @public
1280
1514
  */
1281
1515
  picture?: string | undefined;
1282
- engine: AgentEngine;
1283
1516
  /**
1284
- * Per-channel deployment settings. An agent is reachable only on channels configured here.
1517
+ * The channels this agent serves and their channel-specific settings. A channel is enabled when its member is present; at least one must be set. An agent may serve multiple channels (e.g. chat + assistant) over the shared engine.
1285
1518
  * @public
1286
1519
  */
1287
- channels?: AgentChannels | undefined;
1520
+ channels: AgentChannels;
1288
1521
  /**
1289
- * Guardrail policies applied to this agent's inputs and outputs.
1522
+ * How the agent produces replies. `ai` is the managed engine; `webhook` and `sqs` delegate to an external backend. The legacy Dialogflow CX and OpenAI Assistant backends are intentionally not carried over.
1290
1523
  * @public
1291
1524
  */
1292
- guardrails?: string[] | undefined;
1293
- access?: AgentAccess | undefined;
1294
- }
1295
- /**
1296
- * @public
1297
- */
1298
- export interface AgentExecutionError {
1299
- message: string;
1525
+ engine: AgentEngine;
1300
1526
  /**
1301
- * Machine-readable error code, e.g. 'guardrail_blocked', 'engine_error'.
1527
+ * Agent-level settings shared across all channels.
1302
1528
  * @public
1303
1529
  */
1304
- code?: string | undefined;
1530
+ settings?: AgentSettings | undefined;
1531
+ /**
1532
+ * Who is allowed to use the agent. There is no view/edit dimension — access solely grants the ability to use the agent.
1533
+ * Per channel: on `chat` and `assistant` agents `grants` govern which colleagues can use the agent; on `voice` agents `grants`
1534
+ * are ignored (inbound calls are routed by the PBX dialplan, and data ACL is the agent-level `settings.pbxGroupId`); on `autonomous` agents agent-level
1535
+ * access is not used — invocation access is configured per reference on the calling agent (see AgentCallCapability.access).
1536
+ * @public
1537
+ */
1538
+ access?: AgentAccess | undefined;
1305
1539
  }
1306
1540
  /**
1307
- * A file produced (or shared) by an agent during a session or execution. Content lives in object storage; download via the Files API.
1308
1541
  * @public
1309
1542
  */
1310
- export interface AgentFile {
1311
- /**
1312
- * Nano-id file identifier (12 characters).
1313
- * @public
1314
- */
1543
+ export interface AgentInfo {
1315
1544
  id: string;
1316
1545
  name: string;
1546
+ category?: string | undefined;
1547
+ status: AgentStatus;
1317
1548
  /**
1318
- * MIME type, e.g. 'text/csv'.
1319
- * @public
1320
- */
1321
- contentType?: string | undefined;
1322
- /**
1323
- * Size in bytes.
1324
- * @public
1325
- */
1326
- size?: number | undefined;
1327
- /**
1328
- * Intended audience. Defaults to USER.
1329
- * @public
1330
- */
1331
- scope?: AgentFileScope | undefined;
1332
- /**
1333
- * Agent that created the file.
1334
- * @public
1335
- */
1336
- agentId?: string | undefined;
1337
- /**
1338
- * Session that created the file.
1549
+ * The channels this agent serves (voice / chat / assistant / autonomous).
1339
1550
  * @public
1340
1551
  */
1341
- sessionId?: string | undefined;
1552
+ channels: ChannelType[];
1342
1553
  /**
1343
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1554
+ * Immutable published agent version identifier (nanoid).
1344
1555
  * @public
1345
1556
  */
1346
- createdAt: string;
1557
+ latestVersion?: string | undefined;
1347
1558
  }
1348
1559
  /**
1349
1560
  * @public
1350
1561
  */
1351
- export interface AgentExecutionResult {
1352
- /**
1353
- * Output of the execution.
1354
- * @public
1355
- */
1356
- output?: __DocumentType | undefined;
1357
- error?: AgentExecutionError | undefined;
1562
+ export interface AgentVersion {
1563
+ agentId: string;
1358
1564
  /**
1359
- * Files created by the agent during execution (downloadable via the Files API).
1565
+ * Immutable published agent version identifier (nanoid).
1360
1566
  * @public
1361
1567
  */
1362
- files?: AgentFile[] | undefined;
1568
+ version: string;
1363
1569
  /**
1364
- * Trace produced by this execution, inspectable via the wilma-traces API.
1570
+ * Monotonic sequence within the agent's published version history, starting at 1. Used for human-facing labels such as v13; version remains the stable identifier.
1365
1571
  * @public
1366
1572
  */
1367
- traceId?: string | undefined;
1368
- }
1369
- /**
1370
- * @public
1371
- */
1372
- export interface AgentInfo {
1373
- id: string;
1374
- name: string;
1375
- category?: string | undefined;
1376
- status: AgentStatus;
1573
+ sequence: number;
1377
1574
  /**
1378
- * Channels this agent is deployed to.
1575
+ * Published version from which the draft originated. Absent for the first version of a new agent.
1379
1576
  * @public
1380
1577
  */
1381
- channels?: ChannelType[] | undefined;
1382
- latestVersion?: number | undefined;
1383
- }
1384
- /**
1385
- * @public
1386
- */
1387
- export interface AgentVersion {
1388
- agentId: string;
1578
+ basedOnVersion?: string | undefined;
1389
1579
  /**
1390
- * Monotonic version number, starting at 1.
1580
+ * Optional human-readable name supplied at publish time.
1391
1581
  * @public
1392
1582
  */
1393
- version: number;
1583
+ name?: string | undefined;
1394
1584
  /**
1395
1585
  * What changed in this version, provided at publish time.
1396
1586
  * @public
@@ -1402,7 +1592,7 @@ export interface AgentVersion {
1402
1592
  */
1403
1593
  definition: AgentDefinitionSnapshot;
1404
1594
  /**
1405
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1595
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
1406
1596
  * @public
1407
1597
  */
1408
1598
  publishedAt: string;
@@ -1417,7 +1607,7 @@ export interface AgentVersion {
1417
1607
  */
1418
1608
  export interface AgentVersionChange {
1419
1609
  /**
1420
- * JSON pointer of the changed field within the agent definition, e.g. '/engine/llm/instructions'.
1610
+ * JSON pointer of the changed field within the agent definition, e.g. '/engine/ai/instructions'.
1421
1611
  * @public
1422
1612
  */
1423
1613
  path: string;
@@ -1438,57 +1628,38 @@ export interface AgentVersionChange {
1438
1628
  */
1439
1629
  export interface AgentVersionInfo {
1440
1630
  agentId: string;
1441
- version: number;
1442
- changelog?: string | undefined;
1443
1631
  /**
1444
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1632
+ * Immutable published agent version identifier (nanoid).
1445
1633
  * @public
1446
1634
  */
1447
- publishedAt: string;
1635
+ version: string;
1636
+ sequence: number;
1448
1637
  /**
1449
- * Who performed an action: an interactive user, an API key or an internal service.
1638
+ * Immutable published agent version identifier (nanoid).
1450
1639
  * @public
1451
1640
  */
1452
- publishedBy: Actor;
1641
+ basedOnVersion?: string | undefined;
1642
+ name?: string | undefined;
1453
1643
  /**
1454
- * Names of the aliases currently routing to this version.
1644
+ * Human-readable description of what changed in a published version.
1455
1645
  * @public
1456
1646
  */
1457
- aliases?: string[] | undefined;
1458
- }
1459
- /**
1460
- * @public
1461
- */
1462
- export interface AuditRecord {
1463
- id: string;
1647
+ changelog?: string | undefined;
1464
1648
  /**
1465
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1649
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
1466
1650
  * @public
1467
1651
  */
1468
- timestamp: string;
1652
+ publishedAt: string;
1469
1653
  /**
1470
1654
  * Who performed an action: an interactive user, an API key or an internal service.
1471
1655
  * @public
1472
1656
  */
1473
- actor: Actor;
1474
- action: AuditAction;
1475
- resourceType: AuditResourceType;
1476
- resourceId: string;
1477
- /**
1478
- * The agent this record relates to, when the resource belongs to an agent.
1479
- * @public
1480
- */
1481
- agentId?: string | undefined;
1482
- /**
1483
- * Field-level before/after values for update actions.
1484
- * @public
1485
- */
1486
- changes?: AgentVersionChange[] | undefined;
1657
+ publishedBy: Actor;
1487
1658
  /**
1488
- * Correlation id of the API request that caused the change.
1659
+ * Names of the deployments currently routing traffic to this version.
1489
1660
  * @public
1490
1661
  */
1491
- requestId?: string | undefined;
1662
+ deployments?: string[] | undefined;
1492
1663
  }
1493
1664
  /**
1494
1665
  * @public
@@ -1497,15 +1668,25 @@ export interface CompareAgentVersionsInput {
1497
1668
  company?: string | undefined;
1498
1669
  agentId: string;
1499
1670
  /**
1500
- * Base version. 0 means the current draft.
1671
+ * Base published version id. Omit when fromDraft is true.
1672
+ * @public
1673
+ */
1674
+ from?: string | undefined;
1675
+ /**
1676
+ * Compare against the current draft instead of a published version.
1501
1677
  * @public
1502
1678
  */
1503
- from: number;
1679
+ fromDraft?: boolean | undefined;
1504
1680
  /**
1505
- * Target version. 0 means the current draft.
1681
+ * Target published version id. Omit when toDraft is true.
1506
1682
  * @public
1507
1683
  */
1508
- to: number;
1684
+ to?: string | undefined;
1685
+ /**
1686
+ * Compare against the current draft instead of a published version.
1687
+ * @public
1688
+ */
1689
+ toDraft?: boolean | undefined;
1509
1690
  }
1510
1691
  /**
1511
1692
  * @public
@@ -1530,17 +1711,28 @@ export interface CreateAgentInput {
1530
1711
  * @public
1531
1712
  */
1532
1713
  picture?: string | undefined;
1714
+ /**
1715
+ * The channels this agent serves and their channel-specific settings. A channel is enabled when its member is present; at least one must be set. An agent may serve multiple channels (e.g. chat + assistant) over the shared engine.
1716
+ * @public
1717
+ */
1718
+ channels: AgentChannels;
1719
+ /**
1720
+ * How the agent produces replies. `ai` is the managed engine; `webhook` and `sqs` delegate to an external backend. The legacy Dialogflow CX and OpenAI Assistant backends are intentionally not carried over.
1721
+ * @public
1722
+ */
1533
1723
  engine: AgentEngine;
1534
1724
  /**
1535
- * Per-channel deployment settings. An agent is reachable only on channels configured here.
1725
+ * Agent-level settings shared across all channels.
1536
1726
  * @public
1537
1727
  */
1538
- channels?: AgentChannels | undefined;
1728
+ settings?: AgentSettings | undefined;
1539
1729
  /**
1540
- * Guardrail policies applied to this agent's inputs and outputs.
1730
+ * Who is allowed to use the agent. There is no view/edit dimension — access solely grants the ability to use the agent.
1731
+ * Per channel: on `chat` and `assistant` agents `grants` govern which colleagues can use the agent; on `voice` agents `grants`
1732
+ * are ignored (inbound calls are routed by the PBX dialplan, and data ACL is the agent-level `settings.pbxGroupId`); on `autonomous` agents agent-level
1733
+ * access is not used — invocation access is configured per reference on the calling agent (see AgentCallCapability.access).
1541
1734
  * @public
1542
1735
  */
1543
- guardrails?: string[] | undefined;
1544
1736
  access?: AgentAccess | undefined;
1545
1737
  company?: string | undefined;
1546
1738
  }
@@ -1581,164 +1773,27 @@ export interface CreateAgentApiKeyOutput {
1581
1773
  /**
1582
1774
  * @public
1583
1775
  */
1584
- export interface GuardrailContentFilter {
1585
- category: GuardrailContentCategory;
1586
- /**
1587
- * Strength applied to user input. Defaults to NONE.
1588
- * @public
1589
- */
1590
- inputStrength?: GuardrailFilterStrength | undefined;
1591
- /**
1592
- * Strength applied to agent output. Defaults to NONE.
1593
- * @public
1594
- */
1595
- outputStrength?: GuardrailFilterStrength | undefined;
1596
- }
1597
- /**
1598
- * @public
1599
- */
1600
- export interface GuardrailContentPolicy {
1601
- filters: GuardrailContentFilter[];
1602
- }
1603
- /**
1604
- * @public
1605
- */
1606
- export interface GuardrailPiiEntity {
1607
- entityType: GuardrailPiiEntityType;
1608
- /**
1609
- * Regex for CUSTOM entities.
1610
- * @public
1611
- */
1612
- pattern?: string | undefined;
1613
- action: GuardrailPiiAction;
1614
- }
1615
- /**
1616
- * @public
1617
- */
1618
- export interface GuardrailPiiPolicy {
1619
- entities: GuardrailPiiEntity[];
1620
- }
1621
- /**
1622
- * @public
1623
- */
1624
- export interface GuardrailTopic {
1625
- /**
1626
- * Short topic name, e.g. 'investment-advice'.
1627
- * @public
1628
- */
1629
- name: string;
1630
- /**
1631
- * Natural-language definition of the topic used by the classifier.
1632
- * @public
1633
- */
1634
- definition: string;
1635
- /**
1636
- * Example phrases that belong to the topic, to sharpen classification.
1637
- * @public
1638
- */
1639
- examples?: string[] | undefined;
1640
- /**
1641
- * What to do when a policy matches.
1642
- * @public
1643
- */
1644
- action: GuardrailAction;
1645
- }
1646
- /**
1647
- * @public
1648
- */
1649
- export interface GuardrailTopicPolicy {
1650
- topics: GuardrailTopic[];
1651
- }
1652
- /**
1653
- * @public
1654
- */
1655
- export interface GuardrailWordPolicy {
1656
- /**
1657
- * Exact words or phrases to block.
1658
- * @public
1659
- */
1660
- blockedWords?: string[] | undefined;
1661
- /**
1662
- * Also block common profanity.
1663
- * @public
1664
- */
1665
- profanity?: boolean | undefined;
1666
- }
1667
- /**
1668
- * Editable guardrail configuration.
1669
- * @public
1670
- */
1671
- export interface CreateGuardrailInput {
1672
- name: string;
1673
- description?: string | undefined;
1674
- topicPolicy?: GuardrailTopicPolicy | undefined;
1675
- contentPolicy?: GuardrailContentPolicy | undefined;
1676
- wordPolicy?: GuardrailWordPolicy | undefined;
1677
- piiPolicy?: GuardrailPiiPolicy | undefined;
1678
- /**
1679
- * Answer returned to the end user when input is blocked.
1680
- * @public
1681
- */
1682
- blockedInputMessage?: string | undefined;
1776
+ export interface CreateAgentDeploymentInput {
1777
+ company?: string | undefined;
1778
+ agentId: string;
1683
1779
  /**
1684
- * Answer returned to the end user when the agent output is blocked.
1780
+ * Deployment name, e.g. 'production' or 'staging'. Sessions default to 'production' when no deployment, version or draft selector is provided.
1685
1781
  * @public
1686
1782
  */
1687
- blockedOutputMessage?: string | undefined;
1688
- company?: string | undefined;
1689
- }
1690
- /**
1691
- * Editable guardrail configuration.
1692
- * @public
1693
- */
1694
- export interface Guardrail {
1695
1783
  name: string;
1696
1784
  description?: string | undefined;
1697
- topicPolicy?: GuardrailTopicPolicy | undefined;
1698
- contentPolicy?: GuardrailContentPolicy | undefined;
1699
- wordPolicy?: GuardrailWordPolicy | undefined;
1700
- piiPolicy?: GuardrailPiiPolicy | undefined;
1701
- /**
1702
- * Answer returned to the end user when input is blocked.
1703
- * @public
1704
- */
1705
- blockedInputMessage?: string | undefined;
1706
- /**
1707
- * Answer returned to the end user when the agent output is blocked.
1708
- * @public
1709
- */
1710
- blockedOutputMessage?: string | undefined;
1711
- /**
1712
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1713
- * @public
1714
- */
1715
- createdAt: string;
1716
- /**
1717
- * Who performed an action: an interactive user, an API key or an internal service.
1718
- * @public
1719
- */
1720
- createdBy: Actor;
1721
- /**
1722
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
1723
- * @public
1724
- */
1725
- updatedAt?: string | undefined;
1726
- /**
1727
- * Who performed an action: an interactive user, an API key or an internal service.
1728
- * @public
1729
- */
1730
- updatedBy?: Actor | undefined;
1731
- id: string;
1785
+ status: AgentDeploymentStatus;
1786
+ routing: AgentDeploymentRoute[];
1732
1787
  }
1733
1788
  /**
1734
1789
  * @public
1735
1790
  */
1736
- export interface CreateGuardrailOutput {
1791
+ export interface CreateAgentDeploymentOutput {
1737
1792
  /**
1738
- * Editable guardrail configuration.
1793
+ * Standard audit fields carried by every managed resource.
1739
1794
  * @public
1740
1795
  */
1741
- guardrail: Guardrail;
1796
+ deployment: AgentDeployment;
1742
1797
  }
1743
1798
  /**
1744
1799
  * @public
@@ -1752,23 +1807,6 @@ export interface DeleteAgentInput {
1752
1807
  */
1753
1808
  export interface DeleteAgentOutput {
1754
1809
  }
1755
- /**
1756
- * @public
1757
- */
1758
- export interface DeleteAgentAliasInput {
1759
- company?: string | undefined;
1760
- agentId: string;
1761
- /**
1762
- * Alias name, e.g. 'production', 'staging'.
1763
- * @public
1764
- */
1765
- aliasName: string;
1766
- }
1767
- /**
1768
- * @public
1769
- */
1770
- export interface DeleteAgentAliasOutput {
1771
- }
1772
1810
  /**
1773
1811
  * @public
1774
1812
  */
@@ -1785,67 +1823,19 @@ export interface DeleteAgentApiKeyOutput {
1785
1823
  /**
1786
1824
  * @public
1787
1825
  */
1788
- export interface DeleteGuardrailInput {
1789
- company?: string | undefined;
1790
- guardrailId: string;
1791
- }
1792
- /**
1793
- * @public
1794
- */
1795
- export interface DeleteGuardrailOutput {
1796
- }
1797
- /**
1798
- * @public
1799
- */
1800
- export interface ExecuteAgentInput {
1826
+ export interface DeleteAgentDeploymentInput {
1801
1827
  company?: string | undefined;
1802
1828
  agentId: string;
1803
1829
  /**
1804
- * Message or task for the agent.
1805
- * @public
1806
- */
1807
- input: string;
1808
- /**
1809
- * Values for the variables declared by the agent.
1810
- * @public
1811
- */
1812
- variables?: __DocumentType | undefined;
1813
- /**
1814
- * Alias to resolve. Defaults to 'production'. Mutually exclusive with version.
1815
- * @public
1816
- */
1817
- alias?: string | undefined;
1818
- /**
1819
- * Version to execute. 0 executes the current draft (for testing). Mutually exclusive with alias.
1830
+ * Deployment name, e.g. 'production' or 'staging'. Sessions default to 'production' when no deployment, version or draft selector is provided.
1820
1831
  * @public
1821
1832
  */
1822
- version?: number | undefined;
1823
- /**
1824
- * User on whose behalf the agent is executed, e.g. john.doe@example.com.
1825
- * @public
1826
- */
1827
- user?: string | undefined;
1828
- /**
1829
- * Parent agent id that invoked this execution (agent-to-agent calls).
1830
- * @public
1831
- */
1832
- parentAgentId?: string | undefined;
1833
- /**
1834
- * Parent trace id, to correlate nested executions.
1835
- * @public
1836
- */
1837
- parentTraceId?: string | undefined;
1838
- /**
1839
- * Files (by id) created by another agent to make available to this execution.
1840
- * @public
1841
- */
1842
- files?: string[] | undefined;
1833
+ deploymentName: string;
1843
1834
  }
1844
1835
  /**
1845
1836
  * @public
1846
1837
  */
1847
- export interface ExecuteAgentOutput {
1848
- result: AgentExecutionResult;
1838
+ export interface DeleteAgentDeploymentOutput {
1849
1839
  }
1850
1840
  /**
1851
1841
  * @public
@@ -1867,59 +1857,68 @@ export interface GetAgentOutput {
1867
1857
  /**
1868
1858
  * @public
1869
1859
  */
1870
- export interface GetAgentVersionInput {
1860
+ export interface GetAgentDeploymentInput {
1871
1861
  company?: string | undefined;
1872
1862
  agentId: string;
1873
- version: number;
1863
+ /**
1864
+ * Deployment name, e.g. 'production' or 'staging'. Sessions default to 'production' when no deployment, version or draft selector is provided.
1865
+ * @public
1866
+ */
1867
+ deploymentName: string;
1874
1868
  }
1875
1869
  /**
1876
1870
  * @public
1877
1871
  */
1878
- export interface GetAgentVersionOutput {
1879
- version: AgentVersion;
1872
+ export interface GetAgentDeploymentOutput {
1873
+ /**
1874
+ * Standard audit fields carried by every managed resource.
1875
+ * @public
1876
+ */
1877
+ deployment: AgentDeployment;
1880
1878
  }
1881
1879
  /**
1882
1880
  * @public
1883
1881
  */
1884
- export interface GetGuardrailInput {
1882
+ export interface GetAgentVersionInput {
1885
1883
  company?: string | undefined;
1886
- guardrailId: string;
1884
+ agentId: string;
1885
+ /**
1886
+ * Immutable published agent version identifier (nanoid).
1887
+ * @public
1888
+ */
1889
+ version: string;
1887
1890
  }
1888
1891
  /**
1889
1892
  * @public
1890
1893
  */
1891
- export interface GetGuardrailOutput {
1892
- /**
1893
- * Editable guardrail configuration.
1894
- * @public
1895
- */
1896
- guardrail: Guardrail;
1894
+ export interface GetAgentVersionOutput {
1895
+ version: AgentVersion;
1897
1896
  }
1898
1897
  /**
1899
1898
  * @public
1900
1899
  */
1901
- export interface ListAgentAliasesInput {
1900
+ export interface ListAgentApiKeysInput {
1902
1901
  company?: string | undefined;
1903
1902
  agentId: string;
1904
1903
  }
1905
1904
  /**
1906
1905
  * @public
1907
1906
  */
1908
- export interface ListAgentAliasesOutput {
1909
- aliases: AgentAlias[];
1907
+ export interface ListAgentApiKeysOutput {
1908
+ keys: AgentApiKey[];
1910
1909
  }
1911
1910
  /**
1912
1911
  * @public
1913
1912
  */
1914
- export interface ListAgentApiKeysInput {
1913
+ export interface ListAgentDeploymentsInput {
1915
1914
  company?: string | undefined;
1916
1915
  agentId: string;
1917
1916
  }
1918
1917
  /**
1919
1918
  * @public
1920
1919
  */
1921
- export interface ListAgentApiKeysOutput {
1922
- keys: AgentApiKey[];
1920
+ export interface ListAgentDeploymentsOutput {
1921
+ deployments: AgentDeployment[];
1923
1922
  }
1924
1923
  /**
1925
1924
  * @public
@@ -1927,7 +1926,7 @@ export interface ListAgentApiKeysOutput {
1927
1926
  export interface ListAgentsInput {
1928
1927
  company?: string | undefined;
1929
1928
  /**
1930
- * Only agents deployed to this channel.
1929
+ * Only agents that have this channel enabled (voice / chat / assistant / autonomous).
1931
1930
  * @public
1932
1931
  */
1933
1932
  channel?: ChannelType | undefined;
@@ -1942,7 +1941,7 @@ export interface ListAgentsInput {
1942
1941
  * Opaque cursor returned by a previous page; pass it back to fetch the next page.
1943
1942
  * @public
1944
1943
  */
1945
- nextToken?: string | undefined;
1944
+ cursor?: string | undefined;
1946
1945
  }
1947
1946
  /**
1948
1947
  * @public
@@ -1953,7 +1952,7 @@ export interface ListAgentsOutput {
1953
1952
  * Opaque cursor returned by a previous page; pass it back to fetch the next page.
1954
1953
  * @public
1955
1954
  */
1956
- nextToken?: string | undefined;
1955
+ nextCursor?: string | undefined;
1957
1956
  }
1958
1957
  /**
1959
1958
  * @public
@@ -1961,7 +1960,7 @@ export interface ListAgentsOutput {
1961
1960
  export interface ListAgentsNamesInput {
1962
1961
  company?: string | undefined;
1963
1962
  /**
1964
- * Delivery channel an agent can be deployed to.
1963
+ * A channel an agent can serve (see AgentChannels for enablement). Also the runtime channel recorded by wilma-sessions / wilma-traces.
1965
1964
  * @public
1966
1965
  */
1967
1966
  channel?: ChannelType | undefined;
@@ -1983,7 +1982,7 @@ export interface ListAgentVersionsInput {
1983
1982
  * Opaque cursor returned by a previous page; pass it back to fetch the next page.
1984
1983
  * @public
1985
1984
  */
1986
- nextToken?: string | undefined;
1985
+ cursor?: string | undefined;
1987
1986
  }
1988
1987
  /**
1989
1988
  * @public
@@ -1994,114 +1993,62 @@ export interface ListAgentVersionsOutput {
1994
1993
  * Opaque cursor returned by a previous page; pass it back to fetch the next page.
1995
1994
  * @public
1996
1995
  */
1997
- nextToken?: string | undefined;
1996
+ nextCursor?: string | undefined;
1998
1997
  }
1999
1998
  /**
2000
1999
  * @public
2001
2000
  */
2002
- export interface ListAuditRecordsInput {
2001
+ export interface PublishAgentVersionInput {
2003
2002
  company?: string | undefined;
2004
- agentId?: string | undefined;
2005
- resourceType?: AuditResourceType | undefined;
2006
- action?: AuditAction | undefined;
2007
- /**
2008
- * Filter by the user, API key or service that performed the action.
2009
- * @public
2010
- */
2011
- actorId?: string | undefined;
2012
- /**
2013
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
2014
- * @public
2015
- */
2016
- from?: string | undefined;
2017
- /**
2018
- * ISO-8601 timestamp, e.g. '2026-07-03T10:15:30.000Z'.
2019
- * @public
2020
- */
2021
- to?: string | undefined;
2022
- limit?: number | undefined;
2003
+ agentId: string;
2023
2004
  /**
2024
- * Opaque cursor returned by a previous page; pass it back to fetch the next page.
2005
+ * What changed in this version.
2025
2006
  * @public
2026
2007
  */
2027
- nextToken?: string | undefined;
2028
- }
2029
- /**
2030
- * @public
2031
- */
2032
- export interface ListAuditRecordsOutput {
2033
- records: AuditRecord[];
2008
+ changelog?: string | undefined;
2034
2009
  /**
2035
- * Opaque cursor returned by a previous page; pass it back to fetch the next page.
2010
+ * Optional human-readable name for this version.
2036
2011
  * @public
2037
2012
  */
2038
- nextToken?: string | undefined;
2039
- }
2040
- /**
2041
- * @public
2042
- */
2043
- export interface ListGuardrailsInput {
2044
- company?: string | undefined;
2045
- limit?: number | undefined;
2013
+ name?: string | undefined;
2046
2014
  /**
2047
- * Opaque cursor returned by a previous page; pass it back to fetch the next page.
2015
+ * Draft revision this publish is based on (optimistic locking).
2048
2016
  * @public
2049
2017
  */
2050
- nextToken?: string | undefined;
2018
+ revision: number;
2051
2019
  }
2052
2020
  /**
2053
2021
  * @public
2054
2022
  */
2055
- export interface ListGuardrailsOutput {
2056
- guardrails: Guardrail[];
2057
- /**
2058
- * Opaque cursor returned by a previous page; pass it back to fetch the next page.
2059
- * @public
2060
- */
2061
- nextToken?: string | undefined;
2023
+ export interface PublishAgentVersionOutput {
2024
+ version: AgentVersion;
2062
2025
  }
2063
2026
  /**
2064
2027
  * @public
2065
2028
  */
2066
- export interface PublishAgentVersionInput {
2029
+ export interface RestoreAgentVersionToDraftInput {
2067
2030
  company?: string | undefined;
2068
2031
  agentId: string;
2069
2032
  /**
2070
- * What changed in this version.
2033
+ * Immutable published agent version identifier (nanoid).
2071
2034
  * @public
2072
2035
  */
2073
- changelog?: string | undefined;
2036
+ version: string;
2074
2037
  /**
2075
- * Draft revision this publish is based on (optimistic locking).
2038
+ * Draft revision this restore is based on (optimistic locking).
2076
2039
  * @public
2077
2040
  */
2078
- revision?: number | undefined;
2079
- }
2080
- /**
2081
- * @public
2082
- */
2083
- export interface PublishAgentVersionOutput {
2084
- version: AgentVersion;
2041
+ revision: number;
2085
2042
  }
2086
2043
  /**
2087
2044
  * @public
2088
2045
  */
2089
- export interface PutAgentAliasInput {
2090
- company?: string | undefined;
2091
- agentId: string;
2046
+ export interface RestoreAgentVersionToDraftOutput {
2092
2047
  /**
2093
- * Alias name, e.g. 'production', 'staging'.
2048
+ * The complete, versionable configuration of an agent. This is what gets snapshotted when a version is published.
2094
2049
  * @public
2095
2050
  */
2096
- aliasName: string;
2097
- description?: string | undefined;
2098
- routing: AgentAliasRoute[];
2099
- }
2100
- /**
2101
- * @public
2102
- */
2103
- export interface PutAgentAliasOutput {
2104
- alias: AgentAlias;
2051
+ agent: Agent;
2105
2052
  }
2106
2053
  /**
2107
2054
  * The complete, versionable configuration of an agent. This is what gets snapshotted when a version is published.
@@ -2120,17 +2067,28 @@ export interface UpdateAgentInput {
2120
2067
  * @public
2121
2068
  */
2122
2069
  picture?: string | undefined;
2070
+ /**
2071
+ * The channels this agent serves and their channel-specific settings. A channel is enabled when its member is present; at least one must be set. An agent may serve multiple channels (e.g. chat + assistant) over the shared engine.
2072
+ * @public
2073
+ */
2074
+ channels: AgentChannels;
2075
+ /**
2076
+ * How the agent produces replies. `ai` is the managed engine; `webhook` and `sqs` delegate to an external backend. The legacy Dialogflow CX and OpenAI Assistant backends are intentionally not carried over.
2077
+ * @public
2078
+ */
2123
2079
  engine: AgentEngine;
2124
2080
  /**
2125
- * Per-channel deployment settings. An agent is reachable only on channels configured here.
2081
+ * Agent-level settings shared across all channels.
2126
2082
  * @public
2127
2083
  */
2128
- channels?: AgentChannels | undefined;
2084
+ settings?: AgentSettings | undefined;
2129
2085
  /**
2130
- * Guardrail policies applied to this agent's inputs and outputs.
2086
+ * Who is allowed to use the agent. There is no view/edit dimension — access solely grants the ability to use the agent.
2087
+ * Per channel: on `chat` and `assistant` agents `grants` govern which colleagues can use the agent; on `voice` agents `grants`
2088
+ * are ignored (inbound calls are routed by the PBX dialplan, and data ACL is the agent-level `settings.pbxGroupId`); on `autonomous` agents agent-level
2089
+ * access is not used — invocation access is configured per reference on the calling agent (see AgentCallCapability.access).
2131
2090
  * @public
2132
2091
  */
2133
- guardrails?: string[] | undefined;
2134
2092
  access?: AgentAccess | undefined;
2135
2093
  company?: string | undefined;
2136
2094
  agentId: string;
@@ -2138,7 +2096,7 @@ export interface UpdateAgentInput {
2138
2096
  * Draft revision this update is based on (optimistic locking). When it does not match the current revision, RevisionConflictException is returned.
2139
2097
  * @public
2140
2098
  */
2141
- revision?: number | undefined;
2099
+ revision: number;
2142
2100
  }
2143
2101
  /**
2144
2102
  * @public
@@ -2151,36 +2109,32 @@ export interface UpdateAgentOutput {
2151
2109
  agent: Agent;
2152
2110
  }
2153
2111
  /**
2154
- * Editable guardrail configuration.
2155
2112
  * @public
2156
2113
  */
2157
- export interface UpdateGuardrailInput {
2158
- name: string;
2159
- description?: string | undefined;
2160
- topicPolicy?: GuardrailTopicPolicy | undefined;
2161
- contentPolicy?: GuardrailContentPolicy | undefined;
2162
- wordPolicy?: GuardrailWordPolicy | undefined;
2163
- piiPolicy?: GuardrailPiiPolicy | undefined;
2114
+ export interface UpdateAgentDeploymentInput {
2115
+ company?: string | undefined;
2116
+ agentId: string;
2164
2117
  /**
2165
- * Answer returned to the end user when input is blocked.
2118
+ * Deployment name, e.g. 'production' or 'staging'. Sessions default to 'production' when no deployment, version or draft selector is provided.
2166
2119
  * @public
2167
2120
  */
2168
- blockedInputMessage?: string | undefined;
2121
+ deploymentName: string;
2122
+ description?: string | undefined;
2123
+ status: AgentDeploymentStatus;
2124
+ routing: AgentDeploymentRoute[];
2169
2125
  /**
2170
- * Answer returned to the end user when the agent output is blocked.
2126
+ * Deployment revision this update is based on (optimistic locking).
2171
2127
  * @public
2172
2128
  */
2173
- blockedOutputMessage?: string | undefined;
2174
- company?: string | undefined;
2175
- guardrailId: string;
2129
+ revision: number;
2176
2130
  }
2177
2131
  /**
2178
2132
  * @public
2179
2133
  */
2180
- export interface UpdateGuardrailOutput {
2134
+ export interface UpdateAgentDeploymentOutput {
2181
2135
  /**
2182
- * Editable guardrail configuration.
2136
+ * Standard audit fields carried by every managed resource.
2183
2137
  * @public
2184
2138
  */
2185
- guardrail: Guardrail;
2139
+ deployment: AgentDeployment;
2186
2140
  }