@arbol-ai/cli 3.25.0 → 3.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +1426 -68
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -18154,6 +18154,113 @@ var commands = {
18154
18154
  "open",
18155
18155
  "closed"
18156
18156
  ]
18157
+ },
18158
+ {
18159
+ name: "period",
18160
+ flag: "period",
18161
+ kind: "string",
18162
+ required: false,
18163
+ description: "Started today or in the last 7, 30, 90 or 365 days including today, counting days in the organization's time zone as `get_report` does. A saved view keeps its period this way, so it moves with the calendar.",
18164
+ choices: [
18165
+ "today",
18166
+ "7d",
18167
+ "30d",
18168
+ "90d",
18169
+ "365d"
18170
+ ]
18171
+ },
18172
+ {
18173
+ name: "sentiment",
18174
+ flag: "sentiment",
18175
+ kind: "string",
18176
+ required: false,
18177
+ description: "Comma-separated sentiments of the analysis."
18178
+ },
18179
+ {
18180
+ name: "toolName",
18181
+ flag: "tool-name",
18182
+ kind: "string",
18183
+ required: false,
18184
+ description: "Conversations where the Agent called this tool: its exact name, as the transcript's tool parts show it (`toolName`). `count_conversations` with `groupBy=tool` lists the names with how many conversations used each."
18185
+ },
18186
+ {
18187
+ name: "toolStatus",
18188
+ flag: "tool-status",
18189
+ kind: "string",
18190
+ required: false,
18191
+ description: "With `toolName`, a call of that tool ended this way; alone, a call of any tool did (`failed`: conversations where a tool failed).",
18192
+ choices: [
18193
+ "completed",
18194
+ "failed",
18195
+ "denied"
18196
+ ]
18197
+ },
18198
+ {
18199
+ name: "factDefinition",
18200
+ flag: "fact-definition",
18201
+ kind: "string",
18202
+ required: false,
18203
+ description: "Conversations whose current fact of this definition (its `key`) is known: about the conversation, or about its contact for a contact definition. With `factValue`, equal to that value."
18204
+ },
18205
+ {
18206
+ name: "factValue",
18207
+ flag: "fact-value",
18208
+ kind: "string",
18209
+ required: false,
18210
+ description: "With `factDefinition`: an option's key or label, a text (ignoring case), a number, a date (YYYY-MM-DD) or `true`/`false`."
18211
+ },
18212
+ {
18213
+ name: "assessment",
18214
+ flag: "assessment",
18215
+ kind: "string",
18216
+ required: false,
18217
+ description: "The conversation's yes/no assessments: `failed`, at least one answered no; `passed`, at least one answered and every answered one yes.",
18218
+ choices: [
18219
+ "failed",
18220
+ "passed"
18221
+ ]
18222
+ },
18223
+ {
18224
+ name: "toReview",
18225
+ flag: "to-review",
18226
+ kind: "boolean",
18227
+ required: false,
18228
+ description: "`true`: conversations to review, as `get_report` counts them in `toReviewCount`: the analysis says the request was not resolved, or the AI handed the conversation to the team. `false`: the others."
18229
+ },
18230
+ {
18231
+ name: "messagesMin",
18232
+ flag: "messages-min",
18233
+ kind: "integer",
18234
+ required: false,
18235
+ description: "At least this many messages."
18236
+ },
18237
+ {
18238
+ name: "messagesMax",
18239
+ flag: "messages-max",
18240
+ kind: "integer",
18241
+ required: false,
18242
+ description: "At most this many messages."
18243
+ },
18244
+ {
18245
+ name: "durationMin",
18246
+ flag: "duration-min",
18247
+ kind: "integer",
18248
+ required: false,
18249
+ description: "Calls of at least this many seconds."
18250
+ },
18251
+ {
18252
+ name: "durationMax",
18253
+ flag: "duration-max",
18254
+ kind: "integer",
18255
+ required: false,
18256
+ description: "Calls of at most this many seconds."
18257
+ },
18258
+ {
18259
+ name: "groupBy",
18260
+ flag: "group-by",
18261
+ kind: "string",
18262
+ required: false,
18263
+ description: "`outcome`, `status`, `channel` (type), `agent`, `sentiment`, `tool` (each Agent tool and the conversations that used it), `toolError` (failed calls, of `toolName` when given, by error) or `fact:<definition key>` (the current value of that definition, such as the reason for contact)."
18157
18264
  }
18158
18265
  ],
18159
18266
  inputSchema: {
@@ -18296,12 +18403,118 @@ var commands = {
18296
18403
  type: "string"
18297
18404
  }
18298
18405
  ]
18406
+ },
18407
+ period: {
18408
+ description: "Started today or in the last 7, 30, 90 or 365 days including today, counting days in the organization's time zone as `get_report` does. A saved view keeps its period this way, so it moves with the calendar.",
18409
+ anyOf: [
18410
+ {
18411
+ const: "today",
18412
+ type: "string"
18413
+ },
18414
+ {
18415
+ const: "7d",
18416
+ type: "string"
18417
+ },
18418
+ {
18419
+ const: "30d",
18420
+ type: "string"
18421
+ },
18422
+ {
18423
+ const: "90d",
18424
+ type: "string"
18425
+ },
18426
+ {
18427
+ const: "365d",
18428
+ type: "string"
18429
+ }
18430
+ ]
18431
+ },
18432
+ sentiment: {
18433
+ description: "Comma-separated sentiments of the analysis.",
18434
+ pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
18435
+ type: "string"
18436
+ },
18437
+ toolName: {
18438
+ description: "Conversations where the Agent called this tool: its exact name, as the transcript's tool parts show it (`toolName`). `count_conversations` with `groupBy=tool` lists the names with how many conversations used each.",
18439
+ maxLength: 128,
18440
+ minLength: 1,
18441
+ type: "string"
18442
+ },
18443
+ toolStatus: {
18444
+ description: "With `toolName`, a call of that tool ended this way; alone, a call of any tool did (`failed`: conversations where a tool failed).",
18445
+ anyOf: [
18446
+ {
18447
+ const: "completed",
18448
+ type: "string"
18449
+ },
18450
+ {
18451
+ const: "failed",
18452
+ type: "string"
18453
+ },
18454
+ {
18455
+ const: "denied",
18456
+ type: "string"
18457
+ }
18458
+ ]
18459
+ },
18460
+ factDefinition: {
18461
+ description: "Conversations whose current fact of this definition (its `key`) is known: about the conversation, or about its contact for a contact definition. With `factValue`, equal to that value.",
18462
+ pattern: "^[a-z][a-z0-9_]{0,63}$",
18463
+ type: "string"
18464
+ },
18465
+ factValue: {
18466
+ description: "With `factDefinition`: an option's key or label, a text (ignoring case), a number, a date (YYYY-MM-DD) or `true`/`false`.",
18467
+ maxLength: 500,
18468
+ minLength: 1,
18469
+ type: "string"
18470
+ },
18471
+ assessment: {
18472
+ description: "The conversation's yes/no assessments: `failed`, at least one answered no; `passed`, at least one answered and every answered one yes.",
18473
+ anyOf: [
18474
+ {
18475
+ const: "failed",
18476
+ type: "string"
18477
+ },
18478
+ {
18479
+ const: "passed",
18480
+ type: "string"
18481
+ }
18482
+ ]
18483
+ },
18484
+ toReview: {
18485
+ description: "`true`: conversations to review, as `get_report` counts them in `toReviewCount`: the analysis says the request was not resolved, or the AI handed the conversation to the team. `false`: the others.",
18486
+ type: "boolean"
18487
+ },
18488
+ messagesMin: {
18489
+ description: "At least this many messages.",
18490
+ minimum: 0,
18491
+ type: "integer"
18492
+ },
18493
+ messagesMax: {
18494
+ description: "At most this many messages.",
18495
+ minimum: 0,
18496
+ type: "integer"
18497
+ },
18498
+ durationMin: {
18499
+ description: "Calls of at least this many seconds.",
18500
+ minimum: 0,
18501
+ type: "integer"
18502
+ },
18503
+ durationMax: {
18504
+ description: "Calls of at most this many seconds.",
18505
+ minimum: 0,
18506
+ type: "integer"
18507
+ },
18508
+ groupBy: {
18509
+ description: "`outcome`, `status`, `channel` (type), `agent`, `sentiment`, `tool` (each Agent tool and the conversations that used it), `toolError` (failed calls, of `toolName` when given, by error) or `fact:<definition key>` (the current value of that definition, such as the reason for contact).",
18510
+ pattern: "^(outcome|status|channel|agent|sentiment|tool|toolError|fact:[a-z][a-z0-9_]{0,63})$",
18511
+ type: "string"
18299
18512
  }
18300
18513
  },
18301
18514
  additionalProperties: false
18302
18515
  },
18303
18516
  title: "Count conversations",
18304
- description: "Count the conversations `list_conversations` returns for the same filters (every filter it takes, without `sort`), up to 10,000: `capped` then says at least that many match. Use it to answer how many conversations match instead of paging through the list; for volumes per day, Agent or outcome use `get_report`.",
18517
+ description: "Count the conversations `list_conversations` returns for the same filters (every filter it takes, without `sort`), up to 10,000: `capped` then says at least that many match. `averageMessageCount` and `averageDurationSeconds` are their average length. `groupBy` also divides them, largest group first, each with its outcomes: by `outcome`, `status`, `channel`, `agent`, `sentiment`, `tool` (which Agent tools they used, and in how many a tool failed), `toolError` (why calls of `toolName` failed) or `fact:<definition key>` (such as the reason for contact). Use it to answer how many conversations match, or how they divide, instead of paging through the list; for volumes per day use `get_report`.",
18305
18518
  effect: "read",
18306
18519
  confirmation: null,
18307
18520
  hidden: false
@@ -18611,6 +18824,106 @@ var commands = {
18611
18824
  "closed"
18612
18825
  ]
18613
18826
  },
18827
+ {
18828
+ name: "period",
18829
+ flag: "period",
18830
+ kind: "string",
18831
+ required: false,
18832
+ description: "Started today or in the last 7, 30, 90 or 365 days including today, counting days in the organization's time zone as `get_report` does. A saved view keeps its period this way, so it moves with the calendar.",
18833
+ choices: [
18834
+ "today",
18835
+ "7d",
18836
+ "30d",
18837
+ "90d",
18838
+ "365d"
18839
+ ]
18840
+ },
18841
+ {
18842
+ name: "sentiment",
18843
+ flag: "sentiment",
18844
+ kind: "string",
18845
+ required: false,
18846
+ description: "Comma-separated sentiments of the analysis."
18847
+ },
18848
+ {
18849
+ name: "toolName",
18850
+ flag: "tool-name",
18851
+ kind: "string",
18852
+ required: false,
18853
+ description: "Conversations where the Agent called this tool: its exact name, as the transcript's tool parts show it (`toolName`). `count_conversations` with `groupBy=tool` lists the names with how many conversations used each."
18854
+ },
18855
+ {
18856
+ name: "toolStatus",
18857
+ flag: "tool-status",
18858
+ kind: "string",
18859
+ required: false,
18860
+ description: "With `toolName`, a call of that tool ended this way; alone, a call of any tool did (`failed`: conversations where a tool failed).",
18861
+ choices: [
18862
+ "completed",
18863
+ "failed",
18864
+ "denied"
18865
+ ]
18866
+ },
18867
+ {
18868
+ name: "factDefinition",
18869
+ flag: "fact-definition",
18870
+ kind: "string",
18871
+ required: false,
18872
+ description: "Conversations whose current fact of this definition (its `key`) is known: about the conversation, or about its contact for a contact definition. With `factValue`, equal to that value."
18873
+ },
18874
+ {
18875
+ name: "factValue",
18876
+ flag: "fact-value",
18877
+ kind: "string",
18878
+ required: false,
18879
+ description: "With `factDefinition`: an option's key or label, a text (ignoring case), a number, a date (YYYY-MM-DD) or `true`/`false`."
18880
+ },
18881
+ {
18882
+ name: "assessment",
18883
+ flag: "assessment",
18884
+ kind: "string",
18885
+ required: false,
18886
+ description: "The conversation's yes/no assessments: `failed`, at least one answered no; `passed`, at least one answered and every answered one yes.",
18887
+ choices: [
18888
+ "failed",
18889
+ "passed"
18890
+ ]
18891
+ },
18892
+ {
18893
+ name: "toReview",
18894
+ flag: "to-review",
18895
+ kind: "boolean",
18896
+ required: false,
18897
+ description: "`true`: conversations to review, as `get_report` counts them in `toReviewCount`: the analysis says the request was not resolved, or the AI handed the conversation to the team. `false`: the others."
18898
+ },
18899
+ {
18900
+ name: "messagesMin",
18901
+ flag: "messages-min",
18902
+ kind: "integer",
18903
+ required: false,
18904
+ description: "At least this many messages."
18905
+ },
18906
+ {
18907
+ name: "messagesMax",
18908
+ flag: "messages-max",
18909
+ kind: "integer",
18910
+ required: false,
18911
+ description: "At most this many messages."
18912
+ },
18913
+ {
18914
+ name: "durationMin",
18915
+ flag: "duration-min",
18916
+ kind: "integer",
18917
+ required: false,
18918
+ description: "Calls of at least this many seconds."
18919
+ },
18920
+ {
18921
+ name: "durationMax",
18922
+ flag: "duration-max",
18923
+ kind: "integer",
18924
+ required: false,
18925
+ description: "Calls of at most this many seconds."
18926
+ },
18614
18927
  {
18615
18928
  name: "sort",
18616
18929
  flag: "sort",
@@ -18791,6 +19104,107 @@ var commands = {
18791
19104
  }
18792
19105
  ]
18793
19106
  },
19107
+ period: {
19108
+ description: "Started today or in the last 7, 30, 90 or 365 days including today, counting days in the organization's time zone as `get_report` does. A saved view keeps its period this way, so it moves with the calendar.",
19109
+ anyOf: [
19110
+ {
19111
+ const: "today",
19112
+ type: "string"
19113
+ },
19114
+ {
19115
+ const: "7d",
19116
+ type: "string"
19117
+ },
19118
+ {
19119
+ const: "30d",
19120
+ type: "string"
19121
+ },
19122
+ {
19123
+ const: "90d",
19124
+ type: "string"
19125
+ },
19126
+ {
19127
+ const: "365d",
19128
+ type: "string"
19129
+ }
19130
+ ]
19131
+ },
19132
+ sentiment: {
19133
+ description: "Comma-separated sentiments of the analysis.",
19134
+ pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
19135
+ type: "string"
19136
+ },
19137
+ toolName: {
19138
+ description: "Conversations where the Agent called this tool: its exact name, as the transcript's tool parts show it (`toolName`). `count_conversations` with `groupBy=tool` lists the names with how many conversations used each.",
19139
+ maxLength: 128,
19140
+ minLength: 1,
19141
+ type: "string"
19142
+ },
19143
+ toolStatus: {
19144
+ description: "With `toolName`, a call of that tool ended this way; alone, a call of any tool did (`failed`: conversations where a tool failed).",
19145
+ anyOf: [
19146
+ {
19147
+ const: "completed",
19148
+ type: "string"
19149
+ },
19150
+ {
19151
+ const: "failed",
19152
+ type: "string"
19153
+ },
19154
+ {
19155
+ const: "denied",
19156
+ type: "string"
19157
+ }
19158
+ ]
19159
+ },
19160
+ factDefinition: {
19161
+ description: "Conversations whose current fact of this definition (its `key`) is known: about the conversation, or about its contact for a contact definition. With `factValue`, equal to that value.",
19162
+ pattern: "^[a-z][a-z0-9_]{0,63}$",
19163
+ type: "string"
19164
+ },
19165
+ factValue: {
19166
+ description: "With `factDefinition`: an option's key or label, a text (ignoring case), a number, a date (YYYY-MM-DD) or `true`/`false`.",
19167
+ maxLength: 500,
19168
+ minLength: 1,
19169
+ type: "string"
19170
+ },
19171
+ assessment: {
19172
+ description: "The conversation's yes/no assessments: `failed`, at least one answered no; `passed`, at least one answered and every answered one yes.",
19173
+ anyOf: [
19174
+ {
19175
+ const: "failed",
19176
+ type: "string"
19177
+ },
19178
+ {
19179
+ const: "passed",
19180
+ type: "string"
19181
+ }
19182
+ ]
19183
+ },
19184
+ toReview: {
19185
+ description: "`true`: conversations to review, as `get_report` counts them in `toReviewCount`: the analysis says the request was not resolved, or the AI handed the conversation to the team. `false`: the others.",
19186
+ type: "boolean"
19187
+ },
19188
+ messagesMin: {
19189
+ description: "At least this many messages.",
19190
+ minimum: 0,
19191
+ type: "integer"
19192
+ },
19193
+ messagesMax: {
19194
+ description: "At most this many messages.",
19195
+ minimum: 0,
19196
+ type: "integer"
19197
+ },
19198
+ durationMin: {
19199
+ description: "Calls of at least this many seconds.",
19200
+ minimum: 0,
19201
+ type: "integer"
19202
+ },
19203
+ durationMax: {
19204
+ description: "Calls of at most this many seconds.",
19205
+ minimum: 0,
19206
+ type: "integer"
19207
+ },
18794
19208
  sort: {
18795
19209
  default: "started",
18796
19210
  description: "`started` (newest first), `last_message` (most recent activity first) or `changed`: the changed feed, oldest change first, with deleted conversations as tombstones; a forward page's `pageInfo.nextCursor` is always a position to save and poll from.",
@@ -18813,7 +19227,7 @@ var commands = {
18813
19227
  additionalProperties: false
18814
19228
  },
18815
19229
  title: "List conversations",
18816
- description: "Find calls, WhatsApp chats and web chats. Filter by `contactId` (as counterpart or subject), `agentId`, `channelId`, `channelType`, `status`, `conversationDirection`, `origin`, `outcome`, `handling` (`ai` or `team`: whether the AI takes part; `escalated`: handed to the team by the AI), `worker` (`ai` or `team`: who answers it now), `campaignId`, `profileId`, `requestedBy` and start time (`startedAfter`, `startedBefore`); `q` searches participant identities (names, profile names, usernames, phones, emails and documents), visible messages, titles, summaries and exact conversation references; `count_conversations` counts every match. Each item already carries its title, summary, outcome, sentiment and workers, often enough to answer. `sort`: `started` (newest first), `last_message` (latest activity first) or `changed`, the feed of status, outcome and analysis changes, oldest first, that systems poll from a saved `pageInfo.nextCursor` (a deleted conversation appears once with `deletedAt`). Next: `get_conversation` for a transcript.",
19230
+ description: "Find calls, WhatsApp chats and web chats. Filter by `contactId` (as counterpart or subject), `agentId`, `channelId`, `channelType`, `status`, `conversationDirection`, `origin`, `outcome`, `sentiment`, `handling` (`ai` or `team`: whether the AI takes part; `escalated`: handed to the team by the AI), `worker` (`ai` or `team`: who answers it now), the Agent's tools (`toolName`, `toolStatus`: which tool it called and how the call ended), a captured fact (`factDefinition`, `factValue`), `assessment` (`failed` or `passed`), `toReview` (what needs a person's look: not resolved, or handed to the team), length (`messagesMin`, `messagesMax`, `durationMin`, `durationMax`), `campaignId`, `profileId`, `requestedBy` and start time (`startedAfter`, `startedBefore`); `q` searches participant identities (names, profile names, usernames, phones, emails and documents), visible messages, titles, summaries and exact conversation references; `count_conversations` counts every match. Each item already carries its title, summary, outcome, sentiment, workers and tool calls (how many, how many failed, the latest failure), often enough to answer. `sort`: `started` (newest first), `last_message` (latest activity first) or `changed`, the feed of status, outcome and analysis changes, oldest first, that systems poll from a saved `pageInfo.nextCursor` (a deleted conversation appears once with `deletedAt`). Next: `get_conversation` for a transcript.",
18817
19231
  effect: "read",
18818
19232
  confirmation: null,
18819
19233
  hidden: false
@@ -73695,7 +74109,7 @@ var schemaComponents = {
73695
74109
  type: "string"
73696
74110
  },
73697
74111
  resourceType: {
73698
- description: "What changed: `contact`, `contact_point`, `contact_identifier`, `agent`, `agent_tool` (its id is the Agent's), `channel`, `definition`, `knowledge_document`, `campaign`, `suppression`, `bulletin`, `provider_account`, `fact`, `task` (a person cancelled or retried it).",
74112
+ description: "What changed: `contact`, `contact_point`, `contact_identifier`, `agent`, `agent_tool` (its id is the Agent's), `channel`, `definition`, `knowledge_document`, `campaign`, `suppression`, `bulletin`, `conversation_view`, `provider_account`, `fact`, `task` (a person cancelled or retried it).",
73699
74113
  type: "string"
73700
74114
  },
73701
74115
  sourceId: {
@@ -75230,6 +75644,7 @@ var schemaComponents = {
75230
75644
  "updatedAt",
75231
75645
  "version",
75232
75646
  "workers",
75647
+ "toolCalls",
75233
75648
  "analysisErrorCode",
75234
75649
  "facts"
75235
75650
  ],
@@ -75811,6 +76226,9 @@ var schemaComponents = {
75811
76226
  description: "Who works the conversation for the organization."
75812
76227
  }
75813
76228
  },
76229
+ toolCalls: {
76230
+ $ref: "#/components/schemas/RaizConversationToolCalls"
76231
+ },
75814
76232
  analysisErrorCode: {
75815
76233
  anyOf: [
75816
76234
  {
@@ -75851,6 +76269,68 @@ var schemaComponents = {
75851
76269
  }
75852
76270
  }
75853
76271
  },
76272
+ RaizConversationCount: {
76273
+ additionalProperties: false,
76274
+ type: "object",
76275
+ required: [
76276
+ "capped",
76277
+ "count",
76278
+ "averageDurationSeconds",
76279
+ "averageMessageCount",
76280
+ "groups"
76281
+ ],
76282
+ properties: {
76283
+ capped: {
76284
+ description: "True when the count reached 10000: at least that many match.",
76285
+ type: "boolean"
76286
+ },
76287
+ count: {
76288
+ description: "How many match the filters, counted up to 10000.",
76289
+ maximum: 1e4,
76290
+ minimum: 0,
76291
+ type: "integer"
76292
+ },
76293
+ averageDurationSeconds: {
76294
+ anyOf: [
76295
+ {
76296
+ description: "The average duration of the calls among them, in seconds; null when none has one.",
76297
+ minimum: 0,
76298
+ type: "number"
76299
+ },
76300
+ {
76301
+ type: "null"
76302
+ }
76303
+ ]
76304
+ },
76305
+ averageMessageCount: {
76306
+ anyOf: [
76307
+ {
76308
+ description: "Their average number of messages; null when there are none.",
76309
+ minimum: 0,
76310
+ type: "number"
76311
+ },
76312
+ {
76313
+ type: "null"
76314
+ }
76315
+ ]
76316
+ },
76317
+ groups: {
76318
+ anyOf: [
76319
+ {
76320
+ description: "With `groupBy`: the counted conversations by group, largest first, at most 100. A conversation counts once per group; with `tool`, once in each tool it used.",
76321
+ maxItems: 100,
76322
+ type: "array",
76323
+ items: {
76324
+ $ref: "#/components/schemas/RaizConversationGroup"
76325
+ }
76326
+ },
76327
+ {
76328
+ type: "null"
76329
+ }
76330
+ ]
76331
+ }
76332
+ }
76333
+ },
75854
76334
  RaizConversationDiagnostics: {
75855
76335
  additionalProperties: false,
75856
76336
  type: "object",
@@ -75998,6 +76478,116 @@ var schemaComponents = {
75998
76478
  }
75999
76479
  }
76000
76480
  },
76481
+ RaizConversationGroup: {
76482
+ additionalProperties: false,
76483
+ type: "object",
76484
+ required: [
76485
+ "averageDurationSeconds",
76486
+ "averageMessageCount",
76487
+ "count",
76488
+ "failed",
76489
+ "key",
76490
+ "label",
76491
+ "outcomes"
76492
+ ],
76493
+ properties: {
76494
+ averageDurationSeconds: {
76495
+ anyOf: [
76496
+ {
76497
+ description: "The average duration of the calls among them, in seconds; null when none has one.",
76498
+ minimum: 0,
76499
+ type: "number"
76500
+ },
76501
+ {
76502
+ type: "null"
76503
+ }
76504
+ ]
76505
+ },
76506
+ averageMessageCount: {
76507
+ anyOf: [
76508
+ {
76509
+ description: "Their average number of messages; null when there are none.",
76510
+ minimum: 0,
76511
+ type: "number"
76512
+ },
76513
+ {
76514
+ type: "null"
76515
+ }
76516
+ ]
76517
+ },
76518
+ count: {
76519
+ description: "Conversations in the group.",
76520
+ minimum: 0,
76521
+ type: "integer"
76522
+ },
76523
+ failed: {
76524
+ anyOf: [
76525
+ {
76526
+ description: "For `tool`: conversations where a call of the tool failed. Null for other groupings.",
76527
+ minimum: 0,
76528
+ type: "integer"
76529
+ },
76530
+ {
76531
+ type: "null"
76532
+ }
76533
+ ]
76534
+ },
76535
+ key: {
76536
+ anyOf: [
76537
+ {
76538
+ description: "The group's value: an outcome, status, channel type, Agent id, sentiment, tool name, error code (or message, when a failure has no code) or fact value (an option's key or the text). Null: conversations without one (not analyzed, no Agent, no value).",
76539
+ type: "string"
76540
+ },
76541
+ {
76542
+ type: "null"
76543
+ }
76544
+ ]
76545
+ },
76546
+ label: {
76547
+ anyOf: [
76548
+ {
76549
+ description: "The value's name when the records have one: the Agent's name, the option's label, the most frequent error message.",
76550
+ type: "string"
76551
+ },
76552
+ {
76553
+ type: "null"
76554
+ }
76555
+ ]
76556
+ },
76557
+ outcomes: {
76558
+ $ref: "#/components/schemas/RaizConversationOutcomeCounts"
76559
+ }
76560
+ }
76561
+ },
76562
+ RaizConversationOutcomeCounts: {
76563
+ additionalProperties: false,
76564
+ type: "object",
76565
+ required: [
76566
+ "failure",
76567
+ "pending",
76568
+ "success",
76569
+ "unknown"
76570
+ ],
76571
+ properties: {
76572
+ failure: {
76573
+ minimum: 0,
76574
+ type: "integer"
76575
+ },
76576
+ pending: {
76577
+ description: "Not analyzed yet.",
76578
+ minimum: 0,
76579
+ type: "integer"
76580
+ },
76581
+ success: {
76582
+ minimum: 0,
76583
+ type: "integer"
76584
+ },
76585
+ unknown: {
76586
+ minimum: 0,
76587
+ type: "integer"
76588
+ }
76589
+ }
76590
+ },
76001
76591
  RaizConversationPage: {
76002
76592
  additionalProperties: false,
76003
76593
  type: "object",
@@ -76025,6 +76615,458 @@ var schemaComponents = {
76025
76615
  }
76026
76616
  }
76027
76617
  },
76618
+ RaizConversationToolCalls: {
76619
+ additionalProperties: false,
76620
+ type: "object",
76621
+ required: [
76622
+ "count",
76623
+ "failed",
76624
+ "lastFailure"
76625
+ ],
76626
+ properties: {
76627
+ count: {
76628
+ description: "The Agent's tool calls in the conversation.",
76629
+ minimum: 0,
76630
+ type: "integer"
76631
+ },
76632
+ failed: {
76633
+ description: "How many of them failed.",
76634
+ minimum: 0,
76635
+ type: "integer"
76636
+ },
76637
+ lastFailure: {
76638
+ anyOf: [
76639
+ {
76640
+ $ref: "#/components/schemas/RaizConversationToolFailure",
76641
+ description: "The conversation's latest failed tool call; null when none failed."
76642
+ },
76643
+ {
76644
+ type: "null"
76645
+ }
76646
+ ]
76647
+ }
76648
+ }
76649
+ },
76650
+ RaizConversationToolFailure: {
76651
+ additionalProperties: false,
76652
+ type: "object",
76653
+ required: [
76654
+ "errorCode",
76655
+ "errorMessage",
76656
+ "toolName"
76657
+ ],
76658
+ properties: {
76659
+ errorCode: {
76660
+ anyOf: [
76661
+ {
76662
+ type: "string"
76663
+ },
76664
+ {
76665
+ type: "null"
76666
+ }
76667
+ ]
76668
+ },
76669
+ errorMessage: {
76670
+ anyOf: [
76671
+ {
76672
+ description: "What the tool answered when it failed, up to 500 characters; the transcript has all of it.",
76673
+ type: "string"
76674
+ },
76675
+ {
76676
+ type: "null"
76677
+ }
76678
+ ]
76679
+ },
76680
+ toolName: {
76681
+ type: "string"
76682
+ }
76683
+ }
76684
+ },
76685
+ RaizConversationView: {
76686
+ additionalProperties: false,
76687
+ type: "object",
76688
+ required: [
76689
+ "columns",
76690
+ "createdAt",
76691
+ "filters",
76692
+ "groupBy",
76693
+ "id",
76694
+ "layout",
76695
+ "mine",
76696
+ "name",
76697
+ "position",
76698
+ "shared",
76699
+ "sort",
76700
+ "updatedAt",
76701
+ "version"
76702
+ ],
76703
+ properties: {
76704
+ columns: {
76705
+ description: "The client's own column keys, in the order it shows them; empty for its default columns.",
76706
+ maxItems: 24,
76707
+ type: "array",
76708
+ items: {
76709
+ maxLength: 64,
76710
+ minLength: 1,
76711
+ pattern: "^[A-Za-z][A-Za-z0-9_.:-]*$",
76712
+ type: "string"
76713
+ }
76714
+ },
76715
+ createdAt: {
76716
+ description: "An instant in RFC 3339 format, in UTC.",
76717
+ format: "date-time",
76718
+ type: "string"
76719
+ },
76720
+ filters: {
76721
+ $ref: "#/components/schemas/RaizConversationViewFilters",
76722
+ description: "The filters of `list_conversations` under the same names, passed to it and to `count_conversations` as they are. A rolling `period` keeps the view moving with the calendar; `startedAfter`/`startedBefore` fix it to dates."
76723
+ },
76724
+ groupBy: {
76725
+ anyOf: [
76726
+ {
76727
+ description: "How the view groups its conversations: `outcome`, `status`, `channel`, `agent`, `sentiment`, `tool` or `fact:<definition key>` (such as the reason for contact); `count_conversations` takes the same value as `groupBy`.",
76728
+ pattern: "^(outcome|status|channel|agent|sentiment|tool|fact:[a-z][a-z0-9_]{0,63})$",
76729
+ type: "string"
76730
+ },
76731
+ {
76732
+ type: "null"
76733
+ }
76734
+ ]
76735
+ },
76736
+ id: {
76737
+ description: "Saved view id.",
76738
+ examples: [
76739
+ "cvw_01m45h8q2rf3t9w6y7z0b1c2d3"
76740
+ ],
76741
+ pattern: "^cvw_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$",
76742
+ type: "string"
76743
+ },
76744
+ layout: {
76745
+ description: "`table`: rows with columns; `reading`: the list beside one conversation, to read them one after another.",
76746
+ anyOf: [
76747
+ {
76748
+ const: "table",
76749
+ type: "string"
76750
+ },
76751
+ {
76752
+ const: "reading",
76753
+ type: "string"
76754
+ }
76755
+ ]
76756
+ },
76757
+ mine: {
76758
+ description: "The caller saved it.",
76759
+ type: "boolean"
76760
+ },
76761
+ name: {
76762
+ type: "string"
76763
+ },
76764
+ position: {
76765
+ description: "Where the view goes in the list of views, lowest first; views with the same position keep the order they were saved in.",
76766
+ maximum: 1e5,
76767
+ minimum: 0,
76768
+ type: "integer"
76769
+ },
76770
+ shared: {
76771
+ description: "`true`: everyone in the organization sees and can change it; `false`: only the person who saved it.",
76772
+ type: "boolean"
76773
+ },
76774
+ sort: {
76775
+ description: "`started` (newest first) or `last_message` (latest activity first).",
76776
+ anyOf: [
76777
+ {
76778
+ const: "started",
76779
+ type: "string"
76780
+ },
76781
+ {
76782
+ const: "last_message",
76783
+ type: "string"
76784
+ }
76785
+ ]
76786
+ },
76787
+ updatedAt: {
76788
+ description: "An instant in RFC 3339 format, in UTC.",
76789
+ format: "date-time",
76790
+ type: "string"
76791
+ },
76792
+ version: {
76793
+ minimum: 1,
76794
+ type: "integer"
76795
+ }
76796
+ }
76797
+ },
76798
+ RaizConversationViewFilters: {
76799
+ additionalProperties: false,
76800
+ type: "object",
76801
+ properties: {
76802
+ agentId: {
76803
+ description: "Agent id.",
76804
+ examples: [
76805
+ "agt_01m45h8q2rf3t9w6y7z0b1c2d3"
76806
+ ],
76807
+ pattern: "^agt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$",
76808
+ type: "string"
76809
+ },
76810
+ campaignId: {
76811
+ description: "Attempts of this campaign.",
76812
+ examples: [
76813
+ "cmp_01m45h8q2rf3t9w6y7z0b1c2d3"
76814
+ ],
76815
+ pattern: "^cmp_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$",
76816
+ type: "string"
76817
+ },
76818
+ channelId: {
76819
+ description: "Channel id.",
76820
+ examples: [
76821
+ "chn_01m45h8q2rf3t9w6y7z0b1c2d3"
76822
+ ],
76823
+ pattern: "^(?:chn_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))|(?:agc)_(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$",
76824
+ type: "string"
76825
+ },
76826
+ channelType: {
76827
+ description: "Comma-separated channel types.",
76828
+ pattern: "^(voice|whatsapp|web)(,(voice|whatsapp|web))*$",
76829
+ type: "string"
76830
+ },
76831
+ contactId: {
76832
+ description: "Conversations with this contact as counterpart or subject. A merged duplicate's id lists the survivor's.",
76833
+ examples: [
76834
+ "cnt_01m45h8q2rf3t9w6y7z0b1c2d3"
76835
+ ],
76836
+ pattern: "^cnt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$",
76837
+ type: "string"
76838
+ },
76839
+ conversationDirection: {
76840
+ description: "`inbound`: the contact started it; `outbound`: the organization did. It matches each conversation's `direction` (the query field `direction` pages the list).",
76841
+ anyOf: [
76842
+ {
76843
+ const: "inbound",
76844
+ type: "string"
76845
+ },
76846
+ {
76847
+ const: "outbound",
76848
+ type: "string"
76849
+ }
76850
+ ]
76851
+ },
76852
+ handling: {
76853
+ description: "`ai`: conversations the AI takes part in (calls and web chats, and WhatsApp conversations the AI handles or answered). `team`: WhatsApp conversations the organization's people handle on their own. `escalated`: conversations the AI handed to the team (a request it could not resolve, a contact who asked for a person, or a spent budget), also once the team gave them back to the AI; the ones `conversations_daily` counts in `escalatedCount`. A trial is not one, nor a conversation that opens while the AI is still paused for the number after an earlier handoff.",
76854
+ anyOf: [
76855
+ {
76856
+ const: "ai",
76857
+ type: "string"
76858
+ },
76859
+ {
76860
+ const: "team",
76861
+ type: "string"
76862
+ },
76863
+ {
76864
+ const: "escalated",
76865
+ type: "string"
76866
+ }
76867
+ ]
76868
+ },
76869
+ worker: {
76870
+ description: "Who works the conversation now. `ai`: calls and web chats, open WhatsApp conversations the AI answers (assigned to it and not paused), and closed ones the AI answered. `team`: open WhatsApp conversations the organization's people answer (not assigned to the AI, or paused) and closed ones they answered. Unlike `handling`, a conversation the AI answered and then handed to people is `team` while open.",
76871
+ anyOf: [
76872
+ {
76873
+ const: "ai",
76874
+ type: "string"
76875
+ },
76876
+ {
76877
+ const: "team",
76878
+ type: "string"
76879
+ }
76880
+ ]
76881
+ },
76882
+ origin: {
76883
+ description: "Comma-separated origins.",
76884
+ pattern: "^(inbound|manual|api|campaign|import|test)(,(inbound|manual|api|campaign|import|test))*$",
76885
+ type: "string"
76886
+ },
76887
+ outcome: {
76888
+ description: "Comma-separated outcomes of the analysis.",
76889
+ pattern: "^(success|failure|unknown)(,(success|failure|unknown))*$",
76890
+ type: "string"
76891
+ },
76892
+ metadataReference: {
76893
+ description: "Conversations whose `metadata.reference` is exactly this value: the reference a caller gave `createConversation`, to find a conversation whose answer it did not receive.",
76894
+ maxLength: 500,
76895
+ minLength: 1,
76896
+ type: "string"
76897
+ },
76898
+ profileId: {
76899
+ description: "Conversations started from this communication profile.",
76900
+ examples: [
76901
+ "prf_01m45h8q2rf3t9w6y7z0b1c2d3"
76902
+ ],
76903
+ pattern: "^prf_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$",
76904
+ type: "string"
76905
+ },
76906
+ q: {
76907
+ description: "Search participant names, channel profile names, usernames, phones, emails, identity documents, visible message text, conversation ids and exact external references. Ignores accents/case and phone/document formatting. Also searches titles and summaries with Spanish stemming (quoted phrases, `or` and `-word` apply there). Attachments without stored transcription and tool payloads are not searched.",
76908
+ maxLength: 200,
76909
+ minLength: 1,
76910
+ type: "string"
76911
+ },
76912
+ requestedBy: {
76913
+ description: "Conversations started with `createConversation` by this token subject (exact match): a machine client reads its own requests with `<client id>@clients`.",
76914
+ maxLength: 255,
76915
+ minLength: 1,
76916
+ type: "string"
76917
+ },
76918
+ startedAfter: {
76919
+ description: "Started at or after this instant (RFC 3339).",
76920
+ format: "date-time",
76921
+ type: "string"
76922
+ },
76923
+ startedBefore: {
76924
+ description: "Started before this instant (RFC 3339).",
76925
+ format: "date-time",
76926
+ type: "string"
76927
+ },
76928
+ status: {
76929
+ anyOf: [
76930
+ {
76931
+ const: "open",
76932
+ type: "string"
76933
+ },
76934
+ {
76935
+ const: "closed",
76936
+ type: "string"
76937
+ }
76938
+ ]
76939
+ },
76940
+ period: {
76941
+ description: "Started today or in the last 7, 30, 90 or 365 days including today, counting days in the organization's time zone as `get_report` does. A saved view keeps its period this way, so it moves with the calendar.",
76942
+ anyOf: [
76943
+ {
76944
+ const: "today",
76945
+ type: "string"
76946
+ },
76947
+ {
76948
+ const: "7d",
76949
+ type: "string"
76950
+ },
76951
+ {
76952
+ const: "30d",
76953
+ type: "string"
76954
+ },
76955
+ {
76956
+ const: "90d",
76957
+ type: "string"
76958
+ },
76959
+ {
76960
+ const: "365d",
76961
+ type: "string"
76962
+ }
76963
+ ]
76964
+ },
76965
+ sentiment: {
76966
+ description: "Comma-separated sentiments of the analysis.",
76967
+ pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
76968
+ type: "string"
76969
+ },
76970
+ toolName: {
76971
+ description: "Conversations where the Agent called this tool: its exact name, as the transcript's tool parts show it (`toolName`). `count_conversations` with `groupBy=tool` lists the names with how many conversations used each.",
76972
+ maxLength: 128,
76973
+ minLength: 1,
76974
+ type: "string"
76975
+ },
76976
+ toolStatus: {
76977
+ description: "With `toolName`, a call of that tool ended this way; alone, a call of any tool did (`failed`: conversations where a tool failed).",
76978
+ anyOf: [
76979
+ {
76980
+ const: "completed",
76981
+ type: "string"
76982
+ },
76983
+ {
76984
+ const: "failed",
76985
+ type: "string"
76986
+ },
76987
+ {
76988
+ const: "denied",
76989
+ type: "string"
76990
+ }
76991
+ ]
76992
+ },
76993
+ factDefinition: {
76994
+ description: "Conversations whose current fact of this definition (its `key`) is known: about the conversation, or about its contact for a contact definition. With `factValue`, equal to that value.",
76995
+ pattern: "^[a-z][a-z0-9_]{0,63}$",
76996
+ type: "string"
76997
+ },
76998
+ factValue: {
76999
+ description: "With `factDefinition`: an option's key or label, a text (ignoring case), a number, a date (YYYY-MM-DD) or `true`/`false`.",
77000
+ maxLength: 500,
77001
+ minLength: 1,
77002
+ type: "string"
77003
+ },
77004
+ assessment: {
77005
+ description: "The conversation's yes/no assessments: `failed`, at least one answered no; `passed`, at least one answered and every answered one yes.",
77006
+ anyOf: [
77007
+ {
77008
+ const: "failed",
77009
+ type: "string"
77010
+ },
77011
+ {
77012
+ const: "passed",
77013
+ type: "string"
77014
+ }
77015
+ ]
77016
+ },
77017
+ toReview: {
77018
+ description: "`true`: conversations to review, as `get_report` counts them in `toReviewCount`: the analysis says the request was not resolved, or the AI handed the conversation to the team. `false`: the others.",
77019
+ type: "boolean"
77020
+ },
77021
+ messagesMin: {
77022
+ description: "At least this many messages.",
77023
+ minimum: 0,
77024
+ type: "integer"
77025
+ },
77026
+ messagesMax: {
77027
+ description: "At most this many messages.",
77028
+ minimum: 0,
77029
+ type: "integer"
77030
+ },
77031
+ durationMin: {
77032
+ description: "Calls of at least this many seconds.",
77033
+ minimum: 0,
77034
+ type: "integer"
77035
+ },
77036
+ durationMax: {
77037
+ description: "Calls of at most this many seconds.",
77038
+ minimum: 0,
77039
+ type: "integer"
77040
+ }
77041
+ }
77042
+ },
77043
+ RaizConversationViewPage: {
77044
+ additionalProperties: false,
77045
+ type: "object",
77046
+ required: [
77047
+ "data",
77048
+ "object",
77049
+ "pageInfo"
77050
+ ],
77051
+ properties: {
77052
+ data: {
77053
+ description: "Items admitted by this resource contract within the verified organization.",
77054
+ type: "array",
77055
+ items: {
77056
+ $ref: "#/components/schemas/RaizConversationView"
77057
+ }
77058
+ },
77059
+ object: {
77060
+ description: "Discriminator for a resource list response.",
77061
+ const: "list",
77062
+ type: "string"
77063
+ },
77064
+ pageInfo: {
77065
+ $ref: "#/components/schemas/PageInfo",
77066
+ description: "Opaque navigation cursors for this page’s stable keyset order."
77067
+ }
77068
+ }
77069
+ },
76028
77070
  RaizConversationWorker: {
76029
77071
  anyOf: [
76030
77072
  {
@@ -77185,6 +78227,7 @@ var schemaComponents = {
77185
78227
  required: [
77186
78228
  "id",
77187
78229
  "key",
78230
+ "kind",
77188
78231
  "name",
77189
78232
  "valueType"
77190
78233
  ],
@@ -77200,6 +78243,27 @@ var schemaComponents = {
77200
78243
  key: {
77201
78244
  type: "string"
77202
78245
  },
78246
+ kind: {
78247
+ description: "What the definition captures: an `attribute` (a datum), an `assessment` (a yes/no check of the conversation), a `category` (a classification such as the reason for contact) or a `metric`.",
78248
+ anyOf: [
78249
+ {
78250
+ const: "attribute",
78251
+ type: "string"
78252
+ },
78253
+ {
78254
+ const: "assessment",
78255
+ type: "string"
78256
+ },
78257
+ {
78258
+ const: "category",
78259
+ type: "string"
78260
+ },
78261
+ {
78262
+ const: "metric",
78263
+ type: "string"
78264
+ }
78265
+ ]
78266
+ },
77203
78267
  name: {
77204
78268
  type: "string"
77205
78269
  },
@@ -77870,11 +78934,98 @@ var schemaComponents = {
77870
78934
  ],
77871
78935
  properties: {
77872
78936
  code: {
77873
- const: "DAILY_REPORT_IN_PROGRESS",
78937
+ const: "DAILY_REPORT_IN_PROGRESS",
78938
+ type: "string"
78939
+ },
78940
+ message: {
78941
+ const: "The daily report you asked for is still on its way; it arrives within a minute.",
78942
+ type: "string"
78943
+ },
78944
+ retryable: {
78945
+ const: false,
78946
+ type: "boolean"
78947
+ },
78948
+ data: {
78949
+ additionalProperties: false,
78950
+ type: "object",
78951
+ properties: {}
78952
+ }
78953
+ }
78954
+ },
78955
+ {
78956
+ additionalProperties: false,
78957
+ type: "object",
78958
+ required: [
78959
+ "code",
78960
+ "message",
78961
+ "retryable",
78962
+ "data"
78963
+ ],
78964
+ properties: {
78965
+ code: {
78966
+ const: "DAILY_REPORT_RECIPIENTS_MISSING",
78967
+ type: "string"
78968
+ },
78969
+ message: {
78970
+ const: "The daily report has no recipients. Add them in `settings.dailyReport.recipients` first.",
78971
+ type: "string"
78972
+ },
78973
+ retryable: {
78974
+ const: false,
78975
+ type: "boolean"
78976
+ },
78977
+ data: {
78978
+ additionalProperties: false,
78979
+ type: "object",
78980
+ properties: {}
78981
+ }
78982
+ }
78983
+ },
78984
+ {
78985
+ additionalProperties: false,
78986
+ type: "object",
78987
+ required: [
78988
+ "code",
78989
+ "message",
78990
+ "retryable",
78991
+ "data"
78992
+ ],
78993
+ properties: {
78994
+ code: {
78995
+ const: "DEFINITION_NOT_ACTIVE",
78996
+ type: "string"
78997
+ },
78998
+ message: {
78999
+ const: "Facts can be asserted only under an active definition.",
79000
+ type: "string"
79001
+ },
79002
+ retryable: {
79003
+ const: false,
79004
+ type: "boolean"
79005
+ },
79006
+ data: {
79007
+ additionalProperties: false,
79008
+ type: "object",
79009
+ properties: {}
79010
+ }
79011
+ }
79012
+ },
79013
+ {
79014
+ additionalProperties: false,
79015
+ type: "object",
79016
+ required: [
79017
+ "code",
79018
+ "message",
79019
+ "retryable",
79020
+ "data"
79021
+ ],
79022
+ properties: {
79023
+ code: {
79024
+ const: "DEFINITION_OPTIONS_INVALID",
77874
79025
  type: "string"
77875
79026
  },
77876
79027
  message: {
77877
- const: "The daily report you asked for is still on its way; it arrives within a minute.",
79028
+ const: "Only a definition whose value type is `option` has options; it needs at least one, and option keys must be unique.",
77878
79029
  type: "string"
77879
79030
  },
77880
79031
  retryable: {
@@ -77899,11 +79050,11 @@ var schemaComponents = {
77899
79050
  ],
77900
79051
  properties: {
77901
79052
  code: {
77902
- const: "DAILY_REPORT_RECIPIENTS_MISSING",
79053
+ const: "DEFINITION_RETIRED",
77903
79054
  type: "string"
77904
79055
  },
77905
79056
  message: {
77906
- const: "The daily report has no recipients. Add them in `settings.dailyReport.recipients` first.",
79057
+ const: "The definition is retired and can no longer change.",
77907
79058
  type: "string"
77908
79059
  },
77909
79060
  retryable: {
@@ -77928,11 +79079,11 @@ var schemaComponents = {
77928
79079
  ],
77929
79080
  properties: {
77930
79081
  code: {
77931
- const: "DEFINITION_NOT_ACTIVE",
79082
+ const: "DEFINITION_TYPE_LOCKED",
77932
79083
  type: "string"
77933
79084
  },
77934
79085
  message: {
77935
- const: "Facts can be asserted only under an active definition.",
79086
+ const: "The value type and subject of a definition cannot change once it has facts. Retire it and create a new one instead.",
77936
79087
  type: "string"
77937
79088
  },
77938
79089
  retryable: {
@@ -77957,11 +79108,11 @@ var schemaComponents = {
77957
79108
  ],
77958
79109
  properties: {
77959
79110
  code: {
77960
- const: "DEFINITION_OPTIONS_INVALID",
79111
+ const: "FACT_SUBJECT_MISMATCH",
77961
79112
  type: "string"
77962
79113
  },
77963
79114
  message: {
77964
- const: "Only a definition whose value type is `option` has options; it needs at least one, and option keys must be unique.",
79115
+ const: "The fact's subject (a contact or a conversation) does not match what its definition describes.",
77965
79116
  type: "string"
77966
79117
  },
77967
79118
  retryable: {
@@ -77986,11 +79137,11 @@ var schemaComponents = {
77986
79137
  ],
77987
79138
  properties: {
77988
79139
  code: {
77989
- const: "DEFINITION_RETIRED",
79140
+ const: "FACT_VALUE_INVALID",
77990
79141
  type: "string"
77991
79142
  },
77992
79143
  message: {
77993
- const: "The definition is retired and can no longer change.",
79144
+ const: "The value does not match the definition's value type, or names no active option.",
77994
79145
  type: "string"
77995
79146
  },
77996
79147
  retryable: {
@@ -78015,11 +79166,11 @@ var schemaComponents = {
78015
79166
  ],
78016
79167
  properties: {
78017
79168
  code: {
78018
- const: "DEFINITION_TYPE_LOCKED",
79169
+ const: "HANDOFF_ALREADY_CONTINUED",
78019
79170
  type: "string"
78020
79171
  },
78021
79172
  message: {
78022
- const: "The value type and subject of a definition cannot change once it has facts. Retire it and create a new one instead.",
79173
+ const: "This handoff was already given back to the AI to continue. It continues once per handoff; a new escalation can be given back again.",
78023
79174
  type: "string"
78024
79175
  },
78025
79176
  retryable: {
@@ -78044,15 +79195,15 @@ var schemaComponents = {
78044
79195
  ],
78045
79196
  properties: {
78046
79197
  code: {
78047
- const: "FACT_SUBJECT_MISMATCH",
79198
+ const: "REPLY_IN_PROGRESS",
78048
79199
  type: "string"
78049
79200
  },
78050
79201
  message: {
78051
- const: "The fact's subject (a contact or a conversation) does not match what its definition describes.",
79202
+ const: "The Agent is still replying in this conversation. Try again once the reply is delivered.",
78052
79203
  type: "string"
78053
79204
  },
78054
79205
  retryable: {
78055
- const: false,
79206
+ const: true,
78056
79207
  type: "boolean"
78057
79208
  },
78058
79209
  data: {
@@ -78073,11 +79224,11 @@ var schemaComponents = {
78073
79224
  ],
78074
79225
  properties: {
78075
79226
  code: {
78076
- const: "FACT_VALUE_INVALID",
79227
+ const: "IMPORT_FILE_INVALID",
78077
79228
  type: "string"
78078
79229
  },
78079
79230
  message: {
78080
- const: "The value does not match the definition's value type, or names no active option.",
79231
+ const: "The import file is not valid base64 of UTF-8 text. Save the spreadsheet as CSV UTF-8 and try again.",
78081
79232
  type: "string"
78082
79233
  },
78083
79234
  retryable: {
@@ -78102,11 +79253,11 @@ var schemaComponents = {
78102
79253
  ],
78103
79254
  properties: {
78104
79255
  code: {
78105
- const: "HANDOFF_ALREADY_CONTINUED",
79256
+ const: "IMPORT_FILE_TOO_LARGE",
78106
79257
  type: "string"
78107
79258
  },
78108
79259
  message: {
78109
- const: "This handoff was already given back to the AI to continue. It continues once per handoff; a new escalation can be given back again.",
79260
+ const: "The import file is larger than 12 MB. Split it into several files.",
78110
79261
  type: "string"
78111
79262
  },
78112
79263
  retryable: {
@@ -78131,15 +79282,15 @@ var schemaComponents = {
78131
79282
  ],
78132
79283
  properties: {
78133
79284
  code: {
78134
- const: "REPLY_IN_PROGRESS",
79285
+ const: "IP_NETWORK_INVALID",
78135
79286
  type: "string"
78136
79287
  },
78137
79288
  message: {
78138
- const: "The Agent is still replying in this conversation. Try again once the reply is delivered.",
79289
+ const: "The IP network is not a valid IPv4 or IPv6 address or CIDR block.",
78139
79290
  type: "string"
78140
79291
  },
78141
79292
  retryable: {
78142
- const: true,
79293
+ const: false,
78143
79294
  type: "boolean"
78144
79295
  },
78145
79296
  data: {
@@ -78160,11 +79311,11 @@ var schemaComponents = {
78160
79311
  ],
78161
79312
  properties: {
78162
79313
  code: {
78163
- const: "IMPORT_FILE_INVALID",
79314
+ const: "OUTSIDE_CONTACT_HOURS",
78164
79315
  type: "string"
78165
79316
  },
78166
79317
  message: {
78167
- const: "The import file is not valid base64 of UTF-8 text. Save the spreadsheet as CSV UTF-8 and try again.",
79318
+ const: "The profile's contact hours do not allow starting a conversation now. Try again within them.",
78168
79319
  type: "string"
78169
79320
  },
78170
79321
  retryable: {
@@ -78189,11 +79340,11 @@ var schemaComponents = {
78189
79340
  ],
78190
79341
  properties: {
78191
79342
  code: {
78192
- const: "IMPORT_FILE_TOO_LARGE",
79343
+ const: "PROFILE_VARIABLE_MISSING",
78193
79344
  type: "string"
78194
79345
  },
78195
79346
  message: {
78196
- const: "The import file is larger than 12 MB. Split it into several files.",
79347
+ const: "The profile's template parameters reference a variable that `variables` does not give.",
78197
79348
  type: "string"
78198
79349
  },
78199
79350
  retryable: {
@@ -78218,11 +79369,11 @@ var schemaComponents = {
78218
79369
  ],
78219
79370
  properties: {
78220
79371
  code: {
78221
- const: "IP_NETWORK_INVALID",
79372
+ const: "PROVIDER_ACCOUNT_EXISTS",
78222
79373
  type: "string"
78223
79374
  },
78224
79375
  message: {
78225
- const: "The IP network is not a valid IPv4 or IPv6 address or CIDR block.",
79376
+ const: "This provider account is already registered.",
78226
79377
  type: "string"
78227
79378
  },
78228
79379
  retryable: {
@@ -78247,11 +79398,11 @@ var schemaComponents = {
78247
79398
  ],
78248
79399
  properties: {
78249
79400
  code: {
78250
- const: "OUTSIDE_CONTACT_HOURS",
79401
+ const: "PROVIDER_ACCOUNT_IN_USE",
78251
79402
  type: "string"
78252
79403
  },
78253
79404
  message: {
78254
- const: "The profile's contact hours do not allow starting a conversation now. Try again within them.",
79405
+ const: "Channels or Agents still use this provider account. Move them to another account first.",
78255
79406
  type: "string"
78256
79407
  },
78257
79408
  retryable: {
@@ -78276,11 +79427,11 @@ var schemaComponents = {
78276
79427
  ],
78277
79428
  properties: {
78278
79429
  code: {
78279
- const: "PROFILE_VARIABLE_MISSING",
79430
+ const: "REPORT_FILTER_UNSUPPORTED",
78280
79431
  type: "string"
78281
79432
  },
78282
79433
  message: {
78283
- const: "The profile's template parameters reference a variable that `variables` does not give.",
79434
+ const: "A filter does not apply to the selected report.",
78284
79435
  type: "string"
78285
79436
  },
78286
79437
  retryable: {
@@ -78305,11 +79456,11 @@ var schemaComponents = {
78305
79456
  ],
78306
79457
  properties: {
78307
79458
  code: {
78308
- const: "PROVIDER_ACCOUNT_EXISTS",
79459
+ const: "REPORT_RANGE_INVALID",
78309
79460
  type: "string"
78310
79461
  },
78311
79462
  message: {
78312
- const: "This provider account is already registered.",
79463
+ const: "The report range is invalid: `from` must not be after `to`.",
78313
79464
  type: "string"
78314
79465
  },
78315
79466
  retryable: {
@@ -78334,11 +79485,11 @@ var schemaComponents = {
78334
79485
  ],
78335
79486
  properties: {
78336
79487
  code: {
78337
- const: "PROVIDER_ACCOUNT_IN_USE",
79488
+ const: "SOURCE_CONVERSATION_OPEN",
78338
79489
  type: "string"
78339
79490
  },
78340
79491
  message: {
78341
- const: "Channels or Agents still use this provider account. Move them to another account first.",
79492
+ const: "A fact can cite only a closed conversation as its source.",
78342
79493
  type: "string"
78343
79494
  },
78344
79495
  retryable: {
@@ -78363,11 +79514,11 @@ var schemaComponents = {
78363
79514
  ],
78364
79515
  properties: {
78365
79516
  code: {
78366
- const: "REPORT_FILTER_UNSUPPORTED",
79517
+ const: "SUPPRESSION_EXISTS",
78367
79518
  type: "string"
78368
79519
  },
78369
79520
  message: {
78370
- const: "A filter does not apply to the selected report.",
79521
+ const: "This organization already has this suppression rule.",
78371
79522
  type: "string"
78372
79523
  },
78373
79524
  retryable: {
@@ -78392,11 +79543,11 @@ var schemaComponents = {
78392
79543
  ],
78393
79544
  properties: {
78394
79545
  code: {
78395
- const: "REPORT_RANGE_INVALID",
79546
+ const: "TASK_NOT_RETRYABLE",
78396
79547
  type: "string"
78397
79548
  },
78398
79549
  message: {
78399
- const: "The report range is invalid: `from` must not be after `to`.",
79550
+ const: "This task cannot be retried: its kind never retries, or it already used every attempt. Start it again from its resource.",
78400
79551
  type: "string"
78401
79552
  },
78402
79553
  retryable: {
@@ -78421,11 +79572,11 @@ var schemaComponents = {
78421
79572
  ],
78422
79573
  properties: {
78423
79574
  code: {
78424
- const: "SOURCE_CONVERSATION_OPEN",
79575
+ const: "TIME_ZONE_UNKNOWN",
78425
79576
  type: "string"
78426
79577
  },
78427
79578
  message: {
78428
- const: "A fact can cite only a closed conversation as its source.",
79579
+ const: "The time zone is not in the IANA time zone database.",
78429
79580
  type: "string"
78430
79581
  },
78431
79582
  retryable: {
@@ -78450,11 +79601,11 @@ var schemaComponents = {
78450
79601
  ],
78451
79602
  properties: {
78452
79603
  code: {
78453
- const: "SUPPRESSION_EXISTS",
79604
+ const: "CHANNEL_AGENT_MISMATCH",
78454
79605
  type: "string"
78455
79606
  },
78456
79607
  message: {
78457
- const: "This organization already has this suppression rule.",
79608
+ const: "This Agent cannot serve this channel: voice channels need a voice Agent; WhatsApp and web channels need a text Agent.",
78458
79609
  type: "string"
78459
79610
  },
78460
79611
  retryable: {
@@ -78479,11 +79630,11 @@ var schemaComponents = {
78479
79630
  ],
78480
79631
  properties: {
78481
79632
  code: {
78482
- const: "TASK_NOT_RETRYABLE",
79633
+ const: "CHANNEL_CREATION_IN_APP",
78483
79634
  type: "string"
78484
79635
  },
78485
79636
  message: {
78486
- const: "This task cannot be retried: its kind never retries, or it already used every attempt. Start it again from its resource.",
79637
+ const: "An AI tool creates website chats and forms only. A person adds WhatsApp numbers and phone numbers in Settings → Channels, or through the REST API.",
78487
79638
  type: "string"
78488
79639
  },
78489
79640
  retryable: {
@@ -78508,11 +79659,11 @@ var schemaComponents = {
78508
79659
  ],
78509
79660
  properties: {
78510
79661
  code: {
78511
- const: "TIME_ZONE_UNKNOWN",
79662
+ const: "CHANNEL_AGENT_REQUIRED",
78512
79663
  type: "string"
78513
79664
  },
78514
79665
  message: {
78515
- const: "The time zone is not in the IANA time zone database.",
79666
+ const: "Inbound traffic requires an assigned Agent. Outbound traffic requires one except on WhatsApp notification channels.",
78516
79667
  type: "string"
78517
79668
  },
78518
79669
  retryable: {
@@ -78537,11 +79688,11 @@ var schemaComponents = {
78537
79688
  ],
78538
79689
  properties: {
78539
79690
  code: {
78540
- const: "CHANNEL_AGENT_MISMATCH",
79691
+ const: "CHANNEL_ENDPOINT_IN_USE",
78541
79692
  type: "string"
78542
79693
  },
78543
79694
  message: {
78544
- const: "This Agent cannot serve this channel: voice channels need a voice Agent; WhatsApp and web channels need a text Agent.",
79695
+ const: "Another channel already uses this number or endpoint.",
78545
79696
  type: "string"
78546
79697
  },
78547
79698
  retryable: {
@@ -78566,11 +79717,11 @@ var schemaComponents = {
78566
79717
  ],
78567
79718
  properties: {
78568
79719
  code: {
78569
- const: "CHANNEL_CREATION_IN_APP",
79720
+ const: "CHANNEL_NOT_READY",
78570
79721
  type: "string"
78571
79722
  },
78572
79723
  message: {
78573
- const: "An AI tool creates website chats and forms only. A person adds WhatsApp numbers and phone numbers in Settings → Channels, or through the REST API.",
79724
+ const: "The channel is not connected yet, or this kind of traffic is not enabled on it.",
78574
79725
  type: "string"
78575
79726
  },
78576
79727
  retryable: {
@@ -78595,11 +79746,11 @@ var schemaComponents = {
78595
79746
  ],
78596
79747
  properties: {
78597
79748
  code: {
78598
- const: "CHANNEL_AGENT_REQUIRED",
79749
+ const: "CHANNEL_TYPE_MISMATCH",
78599
79750
  type: "string"
78600
79751
  },
78601
79752
  message: {
78602
- const: "Inbound traffic requires an assigned Agent. Outbound traffic requires one except on WhatsApp notification channels.",
79753
+ const: "This operation or field does not apply to this channel's type.",
78603
79754
  type: "string"
78604
79755
  },
78605
79756
  retryable: {
@@ -78624,11 +79775,11 @@ var schemaComponents = {
78624
79775
  ],
78625
79776
  properties: {
78626
79777
  code: {
78627
- const: "CHANNEL_ENDPOINT_IN_USE",
79778
+ const: "CONVERSATION_VIEW_AUTHOR_ONLY",
78628
79779
  type: "string"
78629
79780
  },
78630
79781
  message: {
78631
- const: "Another channel already uses this number or endpoint.",
79782
+ const: "Only the person who saved this view can make it private; it would disappear for the rest of the team.",
78632
79783
  type: "string"
78633
79784
  },
78634
79785
  retryable: {
@@ -78653,11 +79804,11 @@ var schemaComponents = {
78653
79804
  ],
78654
79805
  properties: {
78655
79806
  code: {
78656
- const: "CHANNEL_NOT_READY",
79807
+ const: "CONVERSATION_VIEW_LIMIT_REACHED",
78657
79808
  type: "string"
78658
79809
  },
78659
79810
  message: {
78660
- const: "The channel is not connected yet, or this kind of traffic is not enabled on it.",
79811
+ const: "The organization already has 200 saved views. Delete one before saving another.",
78661
79812
  type: "string"
78662
79813
  },
78663
79814
  retryable: {
@@ -78682,11 +79833,11 @@ var schemaComponents = {
78682
79833
  ],
78683
79834
  properties: {
78684
79835
  code: {
78685
- const: "CHANNEL_TYPE_MISMATCH",
79836
+ const: "CONVERSATION_VIEW_NAME_TAKEN",
78686
79837
  type: "string"
78687
79838
  },
78688
79839
  message: {
78689
- const: "This operation or field does not apply to this channel's type.",
79840
+ const: "Another saved view already has this name. Choose a different name.",
78690
79841
  type: "string"
78691
79842
  },
78692
79843
  retryable: {
@@ -111722,6 +112873,107 @@ var schemaComponents = {
111722
112873
  }
111723
112874
  ]
111724
112875
  },
112876
+ period: {
112877
+ description: "Started today or in the last 7, 30, 90 or 365 days including today, counting days in the organization's time zone as `get_report` does. A saved view keeps its period this way, so it moves with the calendar.",
112878
+ anyOf: [
112879
+ {
112880
+ const: "today",
112881
+ type: "string"
112882
+ },
112883
+ {
112884
+ const: "7d",
112885
+ type: "string"
112886
+ },
112887
+ {
112888
+ const: "30d",
112889
+ type: "string"
112890
+ },
112891
+ {
112892
+ const: "90d",
112893
+ type: "string"
112894
+ },
112895
+ {
112896
+ const: "365d",
112897
+ type: "string"
112898
+ }
112899
+ ]
112900
+ },
112901
+ sentiment: {
112902
+ description: "Comma-separated sentiments of the analysis.",
112903
+ pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
112904
+ type: "string"
112905
+ },
112906
+ toolName: {
112907
+ description: "Conversations where the Agent called this tool: its exact name, as the transcript's tool parts show it (`toolName`). `count_conversations` with `groupBy=tool` lists the names with how many conversations used each.",
112908
+ maxLength: 128,
112909
+ minLength: 1,
112910
+ type: "string"
112911
+ },
112912
+ toolStatus: {
112913
+ description: "With `toolName`, a call of that tool ended this way; alone, a call of any tool did (`failed`: conversations where a tool failed).",
112914
+ anyOf: [
112915
+ {
112916
+ const: "completed",
112917
+ type: "string"
112918
+ },
112919
+ {
112920
+ const: "failed",
112921
+ type: "string"
112922
+ },
112923
+ {
112924
+ const: "denied",
112925
+ type: "string"
112926
+ }
112927
+ ]
112928
+ },
112929
+ factDefinition: {
112930
+ description: "Conversations whose current fact of this definition (its `key`) is known: about the conversation, or about its contact for a contact definition. With `factValue`, equal to that value.",
112931
+ pattern: "^[a-z][a-z0-9_]{0,63}$",
112932
+ type: "string"
112933
+ },
112934
+ factValue: {
112935
+ description: "With `factDefinition`: an option's key or label, a text (ignoring case), a number, a date (YYYY-MM-DD) or `true`/`false`.",
112936
+ maxLength: 500,
112937
+ minLength: 1,
112938
+ type: "string"
112939
+ },
112940
+ assessment: {
112941
+ description: "The conversation's yes/no assessments: `failed`, at least one answered no; `passed`, at least one answered and every answered one yes.",
112942
+ anyOf: [
112943
+ {
112944
+ const: "failed",
112945
+ type: "string"
112946
+ },
112947
+ {
112948
+ const: "passed",
112949
+ type: "string"
112950
+ }
112951
+ ]
112952
+ },
112953
+ toReview: {
112954
+ description: "`true`: conversations to review, as `get_report` counts them in `toReviewCount`: the analysis says the request was not resolved, or the AI handed the conversation to the team. `false`: the others.",
112955
+ type: "boolean"
112956
+ },
112957
+ messagesMin: {
112958
+ description: "At least this many messages.",
112959
+ minimum: 0,
112960
+ type: "integer"
112961
+ },
112962
+ messagesMax: {
112963
+ description: "At most this many messages.",
112964
+ minimum: 0,
112965
+ type: "integer"
112966
+ },
112967
+ durationMin: {
112968
+ description: "Calls of at least this many seconds.",
112969
+ minimum: 0,
112970
+ type: "integer"
112971
+ },
112972
+ durationMax: {
112973
+ description: "Calls of at most this many seconds.",
112974
+ minimum: 0,
112975
+ type: "integer"
112976
+ },
111725
112977
  sort: {
111726
112978
  default: "started",
111727
112979
  description: "`started` (newest first), `last_message` (most recent activity first) or `changed`: the changed feed, oldest change first, with deleted conversations as tombstones; a forward page's `pageInfo.nextCursor` is always a position to save and poll from.",
@@ -112073,6 +113325,112 @@ var schemaComponents = {
112073
113325
  type: "string"
112074
113326
  }
112075
113327
  ]
113328
+ },
113329
+ period: {
113330
+ description: "Started today or in the last 7, 30, 90 or 365 days including today, counting days in the organization's time zone as `get_report` does. A saved view keeps its period this way, so it moves with the calendar.",
113331
+ anyOf: [
113332
+ {
113333
+ const: "today",
113334
+ type: "string"
113335
+ },
113336
+ {
113337
+ const: "7d",
113338
+ type: "string"
113339
+ },
113340
+ {
113341
+ const: "30d",
113342
+ type: "string"
113343
+ },
113344
+ {
113345
+ const: "90d",
113346
+ type: "string"
113347
+ },
113348
+ {
113349
+ const: "365d",
113350
+ type: "string"
113351
+ }
113352
+ ]
113353
+ },
113354
+ sentiment: {
113355
+ description: "Comma-separated sentiments of the analysis.",
113356
+ pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
113357
+ type: "string"
113358
+ },
113359
+ toolName: {
113360
+ description: "Conversations where the Agent called this tool: its exact name, as the transcript's tool parts show it (`toolName`). `count_conversations` with `groupBy=tool` lists the names with how many conversations used each.",
113361
+ maxLength: 128,
113362
+ minLength: 1,
113363
+ type: "string"
113364
+ },
113365
+ toolStatus: {
113366
+ description: "With `toolName`, a call of that tool ended this way; alone, a call of any tool did (`failed`: conversations where a tool failed).",
113367
+ anyOf: [
113368
+ {
113369
+ const: "completed",
113370
+ type: "string"
113371
+ },
113372
+ {
113373
+ const: "failed",
113374
+ type: "string"
113375
+ },
113376
+ {
113377
+ const: "denied",
113378
+ type: "string"
113379
+ }
113380
+ ]
113381
+ },
113382
+ factDefinition: {
113383
+ description: "Conversations whose current fact of this definition (its `key`) is known: about the conversation, or about its contact for a contact definition. With `factValue`, equal to that value.",
113384
+ pattern: "^[a-z][a-z0-9_]{0,63}$",
113385
+ type: "string"
113386
+ },
113387
+ factValue: {
113388
+ description: "With `factDefinition`: an option's key or label, a text (ignoring case), a number, a date (YYYY-MM-DD) or `true`/`false`.",
113389
+ maxLength: 500,
113390
+ minLength: 1,
113391
+ type: "string"
113392
+ },
113393
+ assessment: {
113394
+ description: "The conversation's yes/no assessments: `failed`, at least one answered no; `passed`, at least one answered and every answered one yes.",
113395
+ anyOf: [
113396
+ {
113397
+ const: "failed",
113398
+ type: "string"
113399
+ },
113400
+ {
113401
+ const: "passed",
113402
+ type: "string"
113403
+ }
113404
+ ]
113405
+ },
113406
+ toReview: {
113407
+ description: "`true`: conversations to review, as `get_report` counts them in `toReviewCount`: the analysis says the request was not resolved, or the AI handed the conversation to the team. `false`: the others.",
113408
+ type: "boolean"
113409
+ },
113410
+ messagesMin: {
113411
+ description: "At least this many messages.",
113412
+ minimum: 0,
113413
+ type: "integer"
113414
+ },
113415
+ messagesMax: {
113416
+ description: "At most this many messages.",
113417
+ minimum: 0,
113418
+ type: "integer"
113419
+ },
113420
+ durationMin: {
113421
+ description: "Calls of at least this many seconds.",
113422
+ minimum: 0,
113423
+ type: "integer"
113424
+ },
113425
+ durationMax: {
113426
+ description: "Calls of at most this many seconds.",
113427
+ minimum: 0,
113428
+ type: "integer"
113429
+ },
113430
+ groupBy: {
113431
+ description: "`outcome`, `status`, `channel` (type), `agent`, `sentiment`, `tool` (each Agent tool and the conversations that used it), `toolError` (failed calls, of `toolName` when given, by error) or `fact:<definition key>` (the current value of that definition, such as the reason for contact).",
113432
+ pattern: "^(outcome|status|channel|agent|sentiment|tool|toolError|fact:[a-z][a-z0-9_]{0,63})$",
113433
+ type: "string"
112076
113434
  }
112077
113435
  },
112078
113436
  additionalProperties: false
@@ -118537,9 +119895,9 @@ var schemaComponents = {
118537
119895
  // src/generated/generation.json
118538
119896
  var generation_default = {
118539
119897
  formatVersion: 6,
118540
- release: "1.20261101.50133",
118541
- openapiSha256: "8d21074b9ddd85fdc62f5e87426ea93caa0b71de564823fe856a4fb91ec75f83",
118542
- openapiContentSha256: "b5391b5c8b2e6b4cb27f0005a1fdb1b50531d5f455fb868b039f51e7587e03da",
119898
+ release: "1.20261101.92027",
119899
+ openapiSha256: "abc86d5374ddfc56957e7ae9960f95a6682aa3886c075a1c17ba8d9d51cd2490",
119900
+ openapiContentSha256: "e9be828ee9b2d19b0f340ec445d812a85a2a24ab2ccb9577e74bdfc058336af2",
118543
119901
  forge: {
118544
119902
  repository: "https://github.com/cloudflare/forge",
118545
119903
  commit: "7f86447210b7bea3779bfdab3cd5655eade0eadb",
@@ -118552,7 +119910,7 @@ var generation_default = {
118552
119910
  outputs: [
118553
119911
  {
118554
119912
  path: "src/generated/commands.ts",
118555
- sha256: "8a2743d6daadceddc6436c7df70ffeb94ae53fc351ebce56b4717938555b24a7"
119913
+ sha256: "7ce6fc11bc507fc2f1370c2e7b4ae31605eb62606e37e2d3b4230abdc1f2ae80"
118556
119914
  }
118557
119915
  ]
118558
119916
  };
@@ -118907,7 +120265,7 @@ ${name}`);
118907
120265
  }
118908
120266
 
118909
120267
  // src/index.ts
118910
- var VERSION = "3.25.0";
120268
+ var VERSION = "3.27.0";
118911
120269
  var RELEASE = generation_default.release;
118912
120270
  var SDK_PATHS = new Map(Object.values(commands).map((command) => [command.operation, command.sdkPath]));
118913
120271
  var SERVICES = [...new Set(Object.keys(commands).map((name) => name.split(" ")[0]))].toSorted();