@arbol-ai/cli 3.26.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 +235 -34
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -18155,6 +18155,20 @@ var commands = {
18155
18155
  "closed"
18156
18156
  ]
18157
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
+ },
18158
18172
  {
18159
18173
  name: "sentiment",
18160
18174
  flag: "sentiment",
@@ -18206,6 +18220,13 @@ var commands = {
18206
18220
  "passed"
18207
18221
  ]
18208
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
+ },
18209
18230
  {
18210
18231
  name: "messagesMin",
18211
18232
  flag: "messages-min",
@@ -18383,6 +18404,31 @@ var commands = {
18383
18404
  }
18384
18405
  ]
18385
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
+ },
18386
18432
  sentiment: {
18387
18433
  description: "Comma-separated sentiments of the analysis.",
18388
18434
  pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
@@ -18435,6 +18481,10 @@ var commands = {
18435
18481
  }
18436
18482
  ]
18437
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
+ },
18438
18488
  messagesMin: {
18439
18489
  description: "At least this many messages.",
18440
18490
  minimum: 0,
@@ -18464,7 +18514,7 @@ var commands = {
18464
18514
  additionalProperties: false
18465
18515
  },
18466
18516
  title: "Count conversations",
18467
- 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` is 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`.",
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`.",
18468
18518
  effect: "read",
18469
18519
  confirmation: null,
18470
18520
  hidden: false
@@ -18774,6 +18824,20 @@ var commands = {
18774
18824
  "closed"
18775
18825
  ]
18776
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
+ },
18777
18841
  {
18778
18842
  name: "sentiment",
18779
18843
  flag: "sentiment",
@@ -18825,6 +18889,13 @@ var commands = {
18825
18889
  "passed"
18826
18890
  ]
18827
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
+ },
18828
18899
  {
18829
18900
  name: "messagesMin",
18830
18901
  flag: "messages-min",
@@ -19033,6 +19104,31 @@ var commands = {
19033
19104
  }
19034
19105
  ]
19035
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
+ },
19036
19132
  sentiment: {
19037
19133
  description: "Comma-separated sentiments of the analysis.",
19038
19134
  pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
@@ -19085,6 +19181,10 @@ var commands = {
19085
19181
  }
19086
19182
  ]
19087
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
+ },
19088
19188
  messagesMin: {
19089
19189
  description: "At least this many messages.",
19090
19190
  minimum: 0,
@@ -19127,7 +19227,7 @@ var commands = {
19127
19227
  additionalProperties: false
19128
19228
  },
19129
19229
  title: "List conversations",
19130
- 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`), 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.",
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.",
19131
19231
  effect: "read",
19132
19232
  confirmation: null,
19133
19233
  hidden: false
@@ -76175,6 +76275,7 @@ var schemaComponents = {
76175
76275
  required: [
76176
76276
  "capped",
76177
76277
  "count",
76278
+ "averageDurationSeconds",
76178
76279
  "averageMessageCount",
76179
76280
  "groups"
76180
76281
  ],
@@ -76189,10 +76290,22 @@ var schemaComponents = {
76189
76290
  minimum: 0,
76190
76291
  type: "integer"
76191
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
+ },
76192
76305
  averageMessageCount: {
76193
76306
  anyOf: [
76194
76307
  {
76195
- description: "The average number of messages of the counted conversations; null when none matches.",
76308
+ description: "Their average number of messages; null when there are none.",
76196
76309
  minimum: 0,
76197
76310
  type: "number"
76198
76311
  },
@@ -76369,6 +76482,8 @@ var schemaComponents = {
76369
76482
  additionalProperties: false,
76370
76483
  type: "object",
76371
76484
  required: [
76485
+ "averageDurationSeconds",
76486
+ "averageMessageCount",
76372
76487
  "count",
76373
76488
  "failed",
76374
76489
  "key",
@@ -76376,6 +76491,30 @@ var schemaComponents = {
76376
76491
  "outcomes"
76377
76492
  ],
76378
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
+ },
76379
76518
  count: {
76380
76519
  description: "Conversations in the group.",
76381
76520
  minimum: 0,
@@ -76580,7 +76719,7 @@ var schemaComponents = {
76580
76719
  },
76581
76720
  filters: {
76582
76721
  $ref: "#/components/schemas/RaizConversationViewFilters",
76583
- description: "The filters of `list_conversations` under the same names, passed to it and to `count_conversations` as they are (resolve `period` to `startedAfter` first)."
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."
76584
76723
  },
76585
76724
  groupBy: {
76586
76725
  anyOf: [
@@ -76798,6 +76937,31 @@ var schemaComponents = {
76798
76937
  }
76799
76938
  ]
76800
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
+ },
76801
76965
  sentiment: {
76802
76966
  description: "Comma-separated sentiments of the analysis.",
76803
76967
  pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
@@ -76850,6 +77014,10 @@ var schemaComponents = {
76850
77014
  }
76851
77015
  ]
76852
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
+ },
76853
77021
  messagesMin: {
76854
77022
  description: "At least this many messages.",
76855
77023
  minimum: 0,
@@ -76869,31 +77037,6 @@ var schemaComponents = {
76869
77037
  description: "Calls of at most this many seconds.",
76870
77038
  minimum: 0,
76871
77039
  type: "integer"
76872
- },
76873
- period: {
76874
- description: "Conversations started today or in the last 7, 30, 90 or 365 days when the view opens, in the organization's time zone. Use it instead of `startedAfter`/`startedBefore` for a view that keeps moving with the calendar.",
76875
- anyOf: [
76876
- {
76877
- const: "today",
76878
- type: "string"
76879
- },
76880
- {
76881
- const: "7d",
76882
- type: "string"
76883
- },
76884
- {
76885
- const: "30d",
76886
- type: "string"
76887
- },
76888
- {
76889
- const: "90d",
76890
- type: "string"
76891
- },
76892
- {
76893
- const: "365d",
76894
- type: "string"
76895
- }
76896
- ]
76897
77040
  }
76898
77041
  }
76899
77042
  },
@@ -112730,6 +112873,31 @@ var schemaComponents = {
112730
112873
  }
112731
112874
  ]
112732
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
+ },
112733
112901
  sentiment: {
112734
112902
  description: "Comma-separated sentiments of the analysis.",
112735
112903
  pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
@@ -112782,6 +112950,10 @@ var schemaComponents = {
112782
112950
  }
112783
112951
  ]
112784
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
+ },
112785
112957
  messagesMin: {
112786
112958
  description: "At least this many messages.",
112787
112959
  minimum: 0,
@@ -113154,6 +113326,31 @@ var schemaComponents = {
113154
113326
  }
113155
113327
  ]
113156
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
+ },
113157
113354
  sentiment: {
113158
113355
  description: "Comma-separated sentiments of the analysis.",
113159
113356
  pattern: "^(positive|neutral|negative)(,(positive|neutral|negative))*$",
@@ -113206,6 +113403,10 @@ var schemaComponents = {
113206
113403
  }
113207
113404
  ]
113208
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
+ },
113209
113410
  messagesMin: {
113210
113411
  description: "At least this many messages.",
113211
113412
  minimum: 0,
@@ -119694,9 +119895,9 @@ var schemaComponents = {
119694
119895
  // src/generated/generation.json
119695
119896
  var generation_default = {
119696
119897
  formatVersion: 6,
119697
- release: "1.20261101.70110",
119698
- openapiSha256: "6b4e628b78cf25beee158af805d84cd7e782ca0e4977749e0c46763c986b66e4",
119699
- openapiContentSha256: "4e788d1263f27e67611185e5a290fc8c4c9d3c287f417a7bb8decd8e78ce32a6",
119898
+ release: "1.20261101.92027",
119899
+ openapiSha256: "abc86d5374ddfc56957e7ae9960f95a6682aa3886c075a1c17ba8d9d51cd2490",
119900
+ openapiContentSha256: "e9be828ee9b2d19b0f340ec445d812a85a2a24ab2ccb9577e74bdfc058336af2",
119700
119901
  forge: {
119701
119902
  repository: "https://github.com/cloudflare/forge",
119702
119903
  commit: "7f86447210b7bea3779bfdab3cd5655eade0eadb",
@@ -119709,7 +119910,7 @@ var generation_default = {
119709
119910
  outputs: [
119710
119911
  {
119711
119912
  path: "src/generated/commands.ts",
119712
- sha256: "72f40e9c20874491fa950a4f86820f9e7b8dfa38404776ccd7d3c7010099539d"
119913
+ sha256: "7ce6fc11bc507fc2f1370c2e7b4ae31605eb62606e37e2d3b4230abdc1f2ae80"
119713
119914
  }
119714
119915
  ]
119715
119916
  };
@@ -120064,7 +120265,7 @@ ${name}`);
120064
120265
  }
120065
120266
 
120066
120267
  // src/index.ts
120067
- var VERSION = "3.26.0";
120268
+ var VERSION = "3.27.0";
120068
120269
  var RELEASE = generation_default.release;
120069
120270
  var SDK_PATHS = new Map(Object.values(commands).map((command) => [command.operation, command.sdkPath]));
120070
120271
  var SERVICES = [...new Set(Object.keys(commands).map((name) => name.split(" ")[0]))].toSorted();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbol-ai/cli",
3
- "version": "3.26.0",
3
+ "version": "3.27.0",
4
4
  "description": "The Arbol CLI: the Arbol API from your terminal, with commands generated by Cloudflare Forge from the public OpenAPI.",
5
5
  "keywords": [
6
6
  "arbol",
@@ -45,7 +45,7 @@
45
45
  "verify:with-tests": "bun run typecheck && bun run test && bun run build"
46
46
  },
47
47
  "dependencies": {
48
- "@arbol-ai/sdk": "5.25.0",
48
+ "@arbol-ai/sdk": "5.26.0",
49
49
  "ajv": "8.20.0",
50
50
  "ajv-formats": "3.0.1",
51
51
  "oauth4webapi": "3.8.8"
@@ -60,8 +60,8 @@
60
60
  "packageManager": "bun@1.4.3",
61
61
  "arbol": {
62
62
  "openapi": {
63
- "release": "1.20261101.70110",
64
- "sha256": "4e788d1263f27e67611185e5a290fc8c4c9d3c287f417a7bb8decd8e78ce32a6"
63
+ "release": "1.20261101.92027",
64
+ "sha256": "e9be828ee9b2d19b0f340ec445d812a85a2a24ab2ccb9577e74bdfc058336af2"
65
65
  }
66
66
  }
67
67
  }