@arbol-ai/cli 2.3.0 → 2.5.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 +1040 -375
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -10705,12 +10705,51 @@ var commands = {
10705
10705
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
10706
10706
  default: 25
10707
10707
  },
10708
+ {
10709
+ name: "agentMode",
10710
+ flag: "agent-mode",
10711
+ kind: "boolean",
10712
+ required: false,
10713
+ description: "Set true for voice/AI agents: compact Spanish text, at most 10 matches, complete catalog search and a tenant-isolated catalog cache of at most 60 seconds."
10714
+ },
10715
+ {
10716
+ name: "refresh",
10717
+ flag: "refresh",
10718
+ kind: "boolean",
10719
+ required: false,
10720
+ description: "Bypass the agent catalog cache and read the provider now."
10721
+ },
10708
10722
  {
10709
10723
  name: "id",
10710
10724
  flag: "id",
10711
10725
  kind: "string",
10712
10726
  required: false,
10713
- description: ""
10727
+ description: "Exact catalog id. Use q for a service name or code."
10728
+ },
10729
+ {
10730
+ name: "q",
10731
+ flag: "q",
10732
+ kind: "string",
10733
+ required: false,
10734
+ description: "Search name, code and description across the catalog, ignoring accents and case. Use a distinctive word such as lavado. An empty completed search means no matching catalog entry, not that the clinic cannot perform the procedure."
10735
+ },
10736
+ {
10737
+ name: "active",
10738
+ flag: "active",
10739
+ kind: "boolean",
10740
+ required: false,
10741
+ description: "Filter by the explicit catalog active flag. Omit to include unknown states."
10742
+ },
10743
+ {
10744
+ name: "kind",
10745
+ flag: "kind",
10746
+ kind: "string",
10747
+ required: false,
10748
+ description: "Filter services or products. Use SERVICE for clinical service information.",
10749
+ choices: [
10750
+ "SERVICE",
10751
+ "PRODUCT"
10752
+ ]
10714
10753
  },
10715
10754
  {
10716
10755
  name: "connectionId",
@@ -10750,10 +10789,43 @@ var commands = {
10750
10789
  type: "integer",
10751
10790
  default: 25
10752
10791
  },
10792
+ agentMode: {
10793
+ description: "Set true for voice/AI agents: compact Spanish text, at most 10 matches, complete catalog search and a tenant-isolated catalog cache of at most 60 seconds.",
10794
+ type: "boolean"
10795
+ },
10796
+ refresh: {
10797
+ description: "Bypass the agent catalog cache and read the provider now.",
10798
+ type: "boolean"
10799
+ },
10753
10800
  id: {
10754
10801
  pattern: "^[1-9][0-9]{0,14}$",
10802
+ description: "Exact catalog id. Use q for a service name or code.",
10755
10803
  type: "string"
10756
10804
  },
10805
+ q: {
10806
+ minLength: 2,
10807
+ maxLength: 120,
10808
+ pattern: "\\S",
10809
+ description: "Search name, code and description across the catalog, ignoring accents and case. Use a distinctive word such as lavado. An empty completed search means no matching catalog entry, not that the clinic cannot perform the procedure.",
10810
+ type: "string"
10811
+ },
10812
+ active: {
10813
+ description: "Filter by the explicit catalog active flag. Omit to include unknown states.",
10814
+ type: "boolean"
10815
+ },
10816
+ kind: {
10817
+ description: "Filter services or products. Use SERVICE for clinical service information.",
10818
+ anyOf: [
10819
+ {
10820
+ const: "SERVICE",
10821
+ type: "string"
10822
+ },
10823
+ {
10824
+ const: "PRODUCT",
10825
+ type: "string"
10826
+ }
10827
+ ]
10828
+ },
10757
10829
  connectionId: {
10758
10830
  pattern: "^con_[0-9A-Za-z]{26}$",
10759
10831
  type: "string"
@@ -10761,7 +10833,7 @@ var commands = {
10761
10833
  }
10762
10834
  },
10763
10835
  title: "List services",
10764
- description: "Use the organization gMedic account. Read-only request; provider failures are never empty results.",
10836
+ description: "For voice/AI agents set agentMode=true: concise Spanish text, up to 10 matches and a complete catalog cache of at most 60 seconds. Use q (name/code, accent-insensitive), active and kind filters; use a short distinctive term and limit 5 for a caller question. Filtered searches inspect all provider pages before returning matching entries. Incomplete scans fail explicitly. Without filters, returns one catalog page: follow pageInfo.nextCursor while hasNextPage is true before concluding an entry is absent. A generic procedure or missing price does not establish the requested service or tariff.",
10765
10837
  effect: "read",
10766
10838
  confirmation: null,
10767
10839
  hidden: false
@@ -13648,7 +13720,7 @@ var commands = {
13648
13720
  ]
13649
13721
  },
13650
13722
  title: "Add a channel",
13651
- description: "Add a channel. `whatsapp` creates a pending channel and a setup link (`setup.url`) where the business connects its WhatsApp number; call `verify_channel` once that is done. `voice` connects a platform phone number (`platform_number`) or the organization's own carrier over SIP (`sip_trunk`) at once (SIP credentials are passed on once and never stored). `web` creates the chat widget with its configuration. With an Agent, traffic is on by default. Done in Settings → Channels or the REST API; not an AI tool.",
13723
+ description: "Add a channel. `web` creates a website chat or form (the widget) from its complete configuration (`widget`: mode, texts, fields, colors and fonts, allowed origins, `publicLink` for its own hosted page); it is the one kind an AI tool creates. Create it with `inboundEnabled: false` to review it before publishing, then publish or pause it with `update_channel`; `publication` says whether visitors can reach it and where. `whatsapp` creates a pending channel and a setup link (`setup.url`) where the business connects its WhatsApp number; call `verify_channel` once that is done. `voice` connects a platform phone number (`platform_number`) or the organization's own carrier over SIP (`sip_trunk`) at once (SIP credentials are passed on once and never stored). A person adds WhatsApp and voice channels in Settings → Channels or with the REST API: over MCP they fail with CHANNEL_CREATION_IN_APP. With an Agent, traffic is on by default. Not idempotent: after an unknown outcome, `list_channels` before trying again.",
13652
13724
  effect: "write",
13653
13725
  confirmation: null,
13654
13726
  hidden: false
@@ -19278,7 +19350,7 @@ var commands = {
19278
19350
  additionalProperties: false
19279
19351
  },
19280
19352
  title: "Get a report",
19281
- description: "Get the numbers behind a question. `name`: `conversations_daily` (conversations the AI took part in, per day), `booking_outcomes` (verified saved booking receipts by completion day and integration, excluding tests, imports and deleted conversations; new bookings, reschedules, cancellations, failures, pending and unverified results separately), `tool_calls_daily` (Agent tool calls per day), `tool_calls` (each call, newest first), `assessment_results_daily` (assessment results per day), each over days in the organization's time zone (`from`, `to`; the last 30 days by default), or `campaign_progress`. Narrow with `agentId`, `channelType`, `campaignId` or `definitionId`; unsupported filters fail. At most 1000 rows: `hasMore` means split the range or filter. Booking outcomes return no partial totals when their evidence scan exceeds its bound. Conversation success and completed tool calls never establish a booking; these are historical receipts, not the provider's current appointment status.",
19353
+ description: "Get the numbers behind a question. `name`: `conversations_daily` (conversations the AI took part in, per day), `booking_outcomes` (verified saved booking receipts by completion day and integration, excluding tests, imports and deleted conversations; createdCount counts new appointments created by the AI, not confirmations of existing appointments; confirmedCount is its compatibility alias and must not be added again; reschedules, cancellations, failures, pending and unverified results separately), `tool_calls_daily` (Agent tool calls per day), `tool_calls` (each call, newest first), `assessment_results_daily` (assessment results per day), each over days in the organization's time zone (`from`, `to`; the last 30 days by default), or `campaign_progress`. Narrow with `agentId`, `channelType`, `campaignId` or `definitionId`; unsupported filters fail. At most 1000 rows: `hasMore` means split the range or filter. Booking outcomes return no partial totals when their evidence scan exceeds its bound. Conversation success and completed tool calls never establish a booking; these are historical receipts, not the provider's current appointment status.",
19282
19354
  effect: "read",
19283
19355
  confirmation: null,
19284
19356
  hidden: false
@@ -35506,6 +35578,19 @@ var schemaComponents = {
35506
35578
  }
35507
35579
  }
35508
35580
  },
35581
+ GmedicAgentServicesText: {
35582
+ additionalProperties: false,
35583
+ type: "object",
35584
+ required: [
35585
+ "text"
35586
+ ],
35587
+ properties: {
35588
+ text: {
35589
+ maxLength: 16000,
35590
+ type: "string"
35591
+ }
35592
+ }
35593
+ },
35509
35594
  GmedicAppointmentsPage: {
35510
35595
  additionalProperties: false,
35511
35596
  type: "object",
@@ -37411,6 +37496,35 @@ var schemaComponents = {
37411
37496
  }
37412
37497
  }
37413
37498
  },
37499
+ {
37500
+ additionalProperties: false,
37501
+ type: "object",
37502
+ required: [
37503
+ "code",
37504
+ "message",
37505
+ "retryable",
37506
+ "data"
37507
+ ],
37508
+ properties: {
37509
+ code: {
37510
+ const: "CATALOG_SEARCH_INCOMPLETE",
37511
+ type: "string"
37512
+ },
37513
+ message: {
37514
+ const: "The service catalog search could not be completed within its limits. Service absence cannot be concluded.",
37515
+ type: "string"
37516
+ },
37517
+ retryable: {
37518
+ const: false,
37519
+ type: "boolean"
37520
+ },
37521
+ data: {
37522
+ additionalProperties: false,
37523
+ type: "object",
37524
+ properties: {}
37525
+ }
37526
+ }
37527
+ },
37414
37528
  {
37415
37529
  additionalProperties: false,
37416
37530
  type: "object",
@@ -42735,6 +42849,7 @@ var schemaComponents = {
42735
42849
  "status",
42736
42850
  "updatedAt",
42737
42851
  "version",
42852
+ "publication",
42738
42853
  "widget"
42739
42854
  ],
42740
42855
  properties: {
@@ -42995,6 +43110,17 @@ var schemaComponents = {
42995
43110
  }
42996
43111
  ]
42997
43112
  },
43113
+ publication: {
43114
+ anyOf: [
43115
+ {
43116
+ $ref: "#/components/schemas/RaizWidgetPublication",
43117
+ description: "Web channels only; null for every other channel."
43118
+ },
43119
+ {
43120
+ type: "null"
43121
+ }
43122
+ ]
43123
+ },
42998
43124
  setup: {
42999
43125
  description: "Present only in the response of the action that issued the link: `createChannel`, `renewChannelSetup`, or a `verifyChannel` that replaced an expired one.",
43000
43126
  additionalProperties: false,
@@ -47385,40 +47511,11 @@ var schemaComponents = {
47385
47511
  ],
47386
47512
  properties: {
47387
47513
  code: {
47388
- const: "CHANNEL_AGENT_REQUIRED",
47389
- type: "string"
47390
- },
47391
- message: {
47392
- const: "Inbound traffic requires an assigned Agent. Outbound traffic requires one except on WhatsApp notification channels.",
47393
- type: "string"
47394
- },
47395
- retryable: {
47396
- const: false,
47397
- type: "boolean"
47398
- },
47399
- data: {
47400
- additionalProperties: false,
47401
- type: "object",
47402
- properties: {}
47403
- }
47404
- }
47405
- },
47406
- {
47407
- additionalProperties: false,
47408
- type: "object",
47409
- required: [
47410
- "code",
47411
- "message",
47412
- "retryable",
47413
- "data"
47414
- ],
47415
- properties: {
47416
- code: {
47417
- const: "CHANNEL_ENDPOINT_IN_USE",
47514
+ const: "CHANNEL_CREATION_IN_APP",
47418
47515
  type: "string"
47419
47516
  },
47420
47517
  message: {
47421
- const: "Another channel already uses this number or endpoint.",
47518
+ 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.",
47422
47519
  type: "string"
47423
47520
  },
47424
47521
  retryable: {
@@ -47443,98 +47540,11 @@ var schemaComponents = {
47443
47540
  ],
47444
47541
  properties: {
47445
47542
  code: {
47446
- const: "CHANNEL_NOT_READY",
47447
- type: "string"
47448
- },
47449
- message: {
47450
- const: "The channel is not connected yet, or this kind of traffic is not enabled on it.",
47451
- type: "string"
47452
- },
47453
- retryable: {
47454
- const: false,
47455
- type: "boolean"
47456
- },
47457
- data: {
47458
- additionalProperties: false,
47459
- type: "object",
47460
- properties: {}
47461
- }
47462
- }
47463
- },
47464
- {
47465
- additionalProperties: false,
47466
- type: "object",
47467
- required: [
47468
- "code",
47469
- "message",
47470
- "retryable",
47471
- "data"
47472
- ],
47473
- properties: {
47474
- code: {
47475
- const: "CHANNEL_TYPE_MISMATCH",
47476
- type: "string"
47477
- },
47478
- message: {
47479
- const: "This operation or field does not apply to this channel's type.",
47480
- type: "string"
47481
- },
47482
- retryable: {
47483
- const: false,
47484
- type: "boolean"
47485
- },
47486
- data: {
47487
- additionalProperties: false,
47488
- type: "object",
47489
- properties: {}
47490
- }
47491
- }
47492
- },
47493
- {
47494
- additionalProperties: false,
47495
- type: "object",
47496
- required: [
47497
- "code",
47498
- "message",
47499
- "retryable",
47500
- "data"
47501
- ],
47502
- properties: {
47503
- code: {
47504
- const: "TEMPLATE_HEADER_MISMATCH",
47505
- type: "string"
47506
- },
47507
- message: {
47508
- const: "The header file does not fit the template: a document header takes a PDF, an image header a JPEG or PNG, a video header an MP4, and a template without a media header takes no file.",
47509
- type: "string"
47510
- },
47511
- retryable: {
47512
- const: false,
47513
- type: "boolean"
47514
- },
47515
- data: {
47516
- additionalProperties: false,
47517
- type: "object",
47518
- properties: {}
47519
- }
47520
- }
47521
- },
47522
- {
47523
- additionalProperties: false,
47524
- type: "object",
47525
- required: [
47526
- "code",
47527
- "message",
47528
- "retryable",
47529
- "data"
47530
- ],
47531
- properties: {
47532
- code: {
47533
- const: "TEMPLATE_HEADER_REQUIRED",
47543
+ const: "CHANNEL_AGENT_REQUIRED",
47534
47544
  type: "string"
47535
47545
  },
47536
47546
  message: {
47537
- const: "The template's header is a document, image or video: send its file with the template.",
47547
+ const: "Inbound traffic requires an assigned Agent. Outbound traffic requires one except on WhatsApp notification channels.",
47538
47548
  type: "string"
47539
47549
  },
47540
47550
  retryable: {
@@ -47559,11 +47569,11 @@ var schemaComponents = {
47559
47569
  ],
47560
47570
  properties: {
47561
47571
  code: {
47562
- const: "TEMPLATE_NOT_APPROVED",
47572
+ const: "CHANNEL_ENDPOINT_IN_USE",
47563
47573
  type: "string"
47564
47574
  },
47565
47575
  message: {
47566
- const: "The template is not approved for sending: it is pending review, rejected, paused or disabled.",
47576
+ const: "Another channel already uses this number or endpoint.",
47567
47577
  type: "string"
47568
47578
  },
47569
47579
  retryable: {
@@ -47588,11 +47598,11 @@ var schemaComponents = {
47588
47598
  ],
47589
47599
  properties: {
47590
47600
  code: {
47591
- const: "TEMPLATE_NOT_FOUND",
47601
+ const: "CHANNEL_NOT_READY",
47592
47602
  type: "string"
47593
47603
  },
47594
47604
  message: {
47595
- const: "The template does not exist in this channel's WhatsApp Business Account.",
47605
+ const: "The channel is not connected yet, or this kind of traffic is not enabled on it.",
47596
47606
  type: "string"
47597
47607
  },
47598
47608
  retryable: {
@@ -47617,11 +47627,11 @@ var schemaComponents = {
47617
47627
  ],
47618
47628
  properties: {
47619
47629
  code: {
47620
- const: "TEMPLATE_PARAMETERS_MISMATCH",
47630
+ const: "CHANNEL_TYPE_MISMATCH",
47621
47631
  type: "string"
47622
47632
  },
47623
47633
  message: {
47624
- const: "The number of parameters does not match the variables of the template's body.",
47634
+ const: "This operation or field does not apply to this channel's type.",
47625
47635
  type: "string"
47626
47636
  },
47627
47637
  retryable: {
@@ -47646,11 +47656,11 @@ var schemaComponents = {
47646
47656
  ],
47647
47657
  properties: {
47648
47658
  code: {
47649
- const: "TEMPLATE_UNSUPPORTED",
47659
+ const: "TEMPLATE_HEADER_MISMATCH",
47650
47660
  type: "string"
47651
47661
  },
47652
47662
  message: {
47653
- const: "The template needs header text variables, a location header or button parameters, which cannot be sent yet.",
47663
+ const: "The header file does not fit the template: a document header takes a PDF, an image header a JPEG or PNG, a video header an MP4, and a template without a media header takes no file.",
47654
47664
  type: "string"
47655
47665
  },
47656
47666
  retryable: {
@@ -47675,11 +47685,11 @@ var schemaComponents = {
47675
47685
  ],
47676
47686
  properties: {
47677
47687
  code: {
47678
- const: "WHATSAPP_AI_PAUSED",
47688
+ const: "TEMPLATE_HEADER_REQUIRED",
47679
47689
  type: "string"
47680
47690
  },
47681
47691
  message: {
47682
- const: "Automatic replies are paused or this conversation can no longer receive them.",
47692
+ const: "The template's header is a document, image or video: send its file with the template.",
47683
47693
  type: "string"
47684
47694
  },
47685
47695
  retryable: {
@@ -47704,11 +47714,11 @@ var schemaComponents = {
47704
47714
  ],
47705
47715
  properties: {
47706
47716
  code: {
47707
- const: "WHATSAPP_CHANNEL_INTERNAL",
47717
+ const: "TEMPLATE_NOT_APPROVED",
47708
47718
  type: "string"
47709
47719
  },
47710
47720
  message: {
47711
- const: "The delivery outcome could not be read back. Asking again never sends the message twice.",
47721
+ const: "The template is not approved for sending: it is pending review, rejected, paused or disabled.",
47712
47722
  type: "string"
47713
47723
  },
47714
47724
  retryable: {
@@ -47733,11 +47743,11 @@ var schemaComponents = {
47733
47743
  ],
47734
47744
  properties: {
47735
47745
  code: {
47736
- const: "WHATSAPP_CHANNEL_REFUSED",
47746
+ const: "TEMPLATE_NOT_FOUND",
47737
47747
  type: "string"
47738
47748
  },
47739
47749
  message: {
47740
- const: "Only the WhatsApp Agent Worker delivers through this service, and only Agent messages of a WhatsApp conversation.",
47750
+ const: "The template does not exist in this channel's WhatsApp Business Account.",
47741
47751
  type: "string"
47742
47752
  },
47743
47753
  retryable: {
@@ -47762,11 +47772,11 @@ var schemaComponents = {
47762
47772
  ],
47763
47773
  properties: {
47764
47774
  code: {
47765
- const: "WHATSAPP_DELIVERY_FAILED",
47775
+ const: "TEMPLATE_PARAMETERS_MISMATCH",
47766
47776
  type: "string"
47767
47777
  },
47768
47778
  message: {
47769
- const: "WhatsApp did not deliver the message.",
47779
+ const: "The number of parameters does not match the variables of the template's body.",
47770
47780
  type: "string"
47771
47781
  },
47772
47782
  retryable: {
@@ -47791,11 +47801,11 @@ var schemaComponents = {
47791
47801
  ],
47792
47802
  properties: {
47793
47803
  code: {
47794
- const: "WHATSAPP_DELIVERY_UNCONFIRMED",
47804
+ const: "TEMPLATE_UNSUPPORTED",
47795
47805
  type: "string"
47796
47806
  },
47797
47807
  message: {
47798
- const: "WhatsApp never confirmed whether the message was sent. It was not sent again.",
47808
+ const: "The template needs header text variables, a location header or button parameters, which cannot be sent yet.",
47799
47809
  type: "string"
47800
47810
  },
47801
47811
  retryable: {
@@ -47820,11 +47830,11 @@ var schemaComponents = {
47820
47830
  ],
47821
47831
  properties: {
47822
47832
  code: {
47823
- const: "WHATSAPP_MARKETING_STOPPED",
47833
+ const: "WHATSAPP_AI_PAUSED",
47824
47834
  type: "string"
47825
47835
  },
47826
47836
  message: {
47827
- const: "The contact chose to stop receiving marketing messages from this business.",
47837
+ const: "Automatic replies are paused or this conversation can no longer receive them.",
47828
47838
  type: "string"
47829
47839
  },
47830
47840
  retryable: {
@@ -47849,11 +47859,11 @@ var schemaComponents = {
47849
47859
  ],
47850
47860
  properties: {
47851
47861
  code: {
47852
- const: "WHATSAPP_MEDIA_REJECTED",
47862
+ const: "WHATSAPP_CHANNEL_INTERNAL",
47853
47863
  type: "string"
47854
47864
  },
47855
47865
  message: {
47856
- const: "WhatsApp could not use the attachment. Check its type and size limits.",
47866
+ const: "The delivery outcome could not be read back. Asking again never sends the message twice.",
47857
47867
  type: "string"
47858
47868
  },
47859
47869
  retryable: {
@@ -47878,98 +47888,11 @@ var schemaComponents = {
47878
47888
  ],
47879
47889
  properties: {
47880
47890
  code: {
47881
- const: "WHATSAPP_MESSAGE_UNSUPPORTED",
47882
- type: "string"
47883
- },
47884
- message: {
47885
- const: "This message cannot be sent on WhatsApp: it allows one attachment per message, up to three buttons or ten list options, and text of up to 4096 characters.",
47886
- type: "string"
47887
- },
47888
- retryable: {
47889
- const: false,
47890
- type: "boolean"
47891
- },
47892
- data: {
47893
- additionalProperties: false,
47894
- type: "object",
47895
- properties: {}
47896
- }
47897
- }
47898
- },
47899
- {
47900
- additionalProperties: false,
47901
- type: "object",
47902
- required: [
47903
- "code",
47904
- "message",
47905
- "retryable",
47906
- "data"
47907
- ],
47908
- properties: {
47909
- code: {
47910
- const: "WHATSAPP_NOT_SENT",
47911
- type: "string"
47912
- },
47913
- message: {
47914
- const: "The message was stored but never handed to WhatsApp. It was not sent.",
47915
- type: "string"
47916
- },
47917
- retryable: {
47918
- const: false,
47919
- type: "boolean"
47920
- },
47921
- data: {
47922
- additionalProperties: false,
47923
- type: "object",
47924
- properties: {}
47925
- }
47926
- }
47927
- },
47928
- {
47929
- additionalProperties: false,
47930
- type: "object",
47931
- required: [
47932
- "code",
47933
- "message",
47934
- "retryable",
47935
- "data"
47936
- ],
47937
- properties: {
47938
- code: {
47939
- const: "WHATSAPP_RATE_LIMITED",
47940
- type: "string"
47941
- },
47942
- message: {
47943
- const: "WhatsApp is limiting messages from this number. Try again later.",
47944
- type: "string"
47945
- },
47946
- retryable: {
47947
- const: true,
47948
- type: "boolean"
47949
- },
47950
- data: {
47951
- additionalProperties: false,
47952
- type: "object",
47953
- properties: {}
47954
- }
47955
- }
47956
- },
47957
- {
47958
- additionalProperties: false,
47959
- type: "object",
47960
- required: [
47961
- "code",
47962
- "message",
47963
- "retryable",
47964
- "data"
47965
- ],
47966
- properties: {
47967
- code: {
47968
- const: "WHATSAPP_RECIPIENT_UNAVAILABLE",
47891
+ const: "WHATSAPP_CHANNEL_REFUSED",
47969
47892
  type: "string"
47970
47893
  },
47971
47894
  message: {
47972
- const: "The recipient cannot receive WhatsApp messages from this number.",
47895
+ const: "Only the WhatsApp Agent Worker delivers through this service, and only Agent messages of a WhatsApp conversation.",
47973
47896
  type: "string"
47974
47897
  },
47975
47898
  retryable: {
@@ -47994,11 +47917,11 @@ var schemaComponents = {
47994
47917
  ],
47995
47918
  properties: {
47996
47919
  code: {
47997
- const: "WHATSAPP_WINDOW_CLOSED",
47920
+ const: "WHATSAPP_DELIVERY_FAILED",
47998
47921
  type: "string"
47999
47922
  },
48000
47923
  message: {
48001
- const: "More than 24 hours passed since the contact last wrote. Start the conversation with an approved template.",
47924
+ const: "WhatsApp did not deliver the message.",
48002
47925
  type: "string"
48003
47926
  },
48004
47927
  retryable: {
@@ -48023,11 +47946,11 @@ var schemaComponents = {
48023
47946
  ],
48024
47947
  properties: {
48025
47948
  code: {
48026
- const: "CALL_REJECTED",
47949
+ const: "WHATSAPP_DELIVERY_UNCONFIRMED",
48027
47950
  type: "string"
48028
47951
  },
48029
47952
  message: {
48030
- const: "The call could not be placed. Check the destination number and the line.",
47953
+ const: "WhatsApp never confirmed whether the message was sent. It was not sent again.",
48031
47954
  type: "string"
48032
47955
  },
48033
47956
  retryable: {
@@ -48052,11 +47975,11 @@ var schemaComponents = {
48052
47975
  ],
48053
47976
  properties: {
48054
47977
  code: {
48055
- const: "PROVIDER_ACCOUNT_MISMATCH",
47978
+ const: "WHATSAPP_MARKETING_STOPPED",
48056
47979
  type: "string"
48057
47980
  },
48058
47981
  message: {
48059
- const: "The number and the Agent belong to different voice accounts. A voice Agent answers and dials only numbers of its own account.",
47982
+ const: "The contact chose to stop receiving marketing messages from this business.",
48060
47983
  type: "string"
48061
47984
  },
48062
47985
  retryable: {
@@ -48081,11 +48004,11 @@ var schemaComponents = {
48081
48004
  ],
48082
48005
  properties: {
48083
48006
  code: {
48084
- const: "PROVIDER_ACCOUNT_UNSUPPORTED",
48007
+ const: "WHATSAPP_MEDIA_REJECTED",
48085
48008
  type: "string"
48086
48009
  },
48087
48010
  message: {
48088
- const: "This deployment cannot use provider accounts of this provider yet; the platform's own account is used instead.",
48011
+ const: "WhatsApp could not use the attachment. Check its type and size limits.",
48089
48012
  type: "string"
48090
48013
  },
48091
48014
  retryable: {
@@ -48110,11 +48033,11 @@ var schemaComponents = {
48110
48033
  ],
48111
48034
  properties: {
48112
48035
  code: {
48113
- const: "PROVIDER_CREDENTIALS_REJECTED",
48036
+ const: "WHATSAPP_MESSAGE_UNSUPPORTED",
48114
48037
  type: "string"
48115
48038
  },
48116
48039
  message: {
48117
- const: "The provider refused the provider account's credentials, or the account is not active there.",
48040
+ const: "This message cannot be sent on WhatsApp: it allows one attachment per message, up to three buttons or ten list options, and text of up to 4096 characters.",
48118
48041
  type: "string"
48119
48042
  },
48120
48043
  retryable: {
@@ -48139,11 +48062,11 @@ var schemaComponents = {
48139
48062
  ],
48140
48063
  properties: {
48141
48064
  code: {
48142
- const: "PROVIDER_SECRET_UNAVAILABLE",
48065
+ const: "WHATSAPP_NOT_SENT",
48143
48066
  type: "string"
48144
48067
  },
48145
48068
  message: {
48146
- const: "A secret the provider account needs is not available to this deployment. Name a TENANT_ Secrets Store entry that this deployment has a binding for.",
48069
+ const: "The message was stored but never handed to WhatsApp. It was not sent.",
48147
48070
  type: "string"
48148
48071
  },
48149
48072
  retryable: {
@@ -48168,15 +48091,15 @@ var schemaComponents = {
48168
48091
  ],
48169
48092
  properties: {
48170
48093
  code: {
48171
- const: "VOICE_AGENT_NOT_READY",
48094
+ const: "WHATSAPP_RATE_LIMITED",
48172
48095
  type: "string"
48173
48096
  },
48174
48097
  message: {
48175
- const: "The Agent cannot take calls yet: it must be an active voice Agent with instructions, published for calls.",
48098
+ const: "WhatsApp is limiting messages from this number. Try again later.",
48176
48099
  type: "string"
48177
48100
  },
48178
48101
  retryable: {
48179
- const: false,
48102
+ const: true,
48180
48103
  type: "boolean"
48181
48104
  },
48182
48105
  data: {
@@ -48197,11 +48120,11 @@ var schemaComponents = {
48197
48120
  ],
48198
48121
  properties: {
48199
48122
  code: {
48200
- const: "VOICE_LINE_UNAVAILABLE",
48123
+ const: "WHATSAPP_RECIPIENT_UNAVAILABLE",
48201
48124
  type: "string"
48202
48125
  },
48203
48126
  message: {
48204
- const: "No voice line can place this call. Give an active outbound voice channel, or assign one to the Agent.",
48127
+ const: "The recipient cannot receive WhatsApp messages from this number.",
48205
48128
  type: "string"
48206
48129
  },
48207
48130
  retryable: {
@@ -48226,11 +48149,11 @@ var schemaComponents = {
48226
48149
  ],
48227
48150
  properties: {
48228
48151
  code: {
48229
- const: "VOICE_NUMBER_IN_USE",
48152
+ const: "WHATSAPP_WINDOW_CLOSED",
48230
48153
  type: "string"
48231
48154
  },
48232
48155
  message: {
48233
- const: "This number is already connected to another voice service. Release it there first.",
48156
+ const: "More than 24 hours passed since the contact last wrote. Start the conversation with an approved template.",
48234
48157
  type: "string"
48235
48158
  },
48236
48159
  retryable: {
@@ -48255,11 +48178,11 @@ var schemaComponents = {
48255
48178
  ],
48256
48179
  properties: {
48257
48180
  code: {
48258
- const: "VOICE_NUMBER_NOT_OWNED",
48181
+ const: "CALL_REJECTED",
48259
48182
  type: "string"
48260
48183
  },
48261
48184
  message: {
48262
- const: "The platform's telephony account does not own a voice-capable number with this value.",
48185
+ const: "The call could not be placed. Check the destination number and the line.",
48263
48186
  type: "string"
48264
48187
  },
48265
48188
  retryable: {
@@ -48284,40 +48207,11 @@ var schemaComponents = {
48284
48207
  ],
48285
48208
  properties: {
48286
48209
  code: {
48287
- const: "VOICE_UNAVAILABLE",
48288
- type: "string"
48289
- },
48290
- message: {
48291
- const: "Calls are unavailable right now. Try again in a few minutes.",
48292
- type: "string"
48293
- },
48294
- retryable: {
48295
- const: true,
48296
- type: "boolean"
48297
- },
48298
- data: {
48299
- additionalProperties: false,
48300
- type: "object",
48301
- properties: {}
48302
- }
48303
- }
48304
- },
48305
- {
48306
- additionalProperties: false,
48307
- type: "object",
48308
- required: [
48309
- "code",
48310
- "message",
48311
- "retryable",
48312
- "data"
48313
- ],
48314
- properties: {
48315
- code: {
48316
- const: "AGENT_SKILLS_INVALID",
48210
+ const: "PROVIDER_ACCOUNT_MISMATCH",
48317
48211
  type: "string"
48318
48212
  },
48319
48213
  message: {
48320
- const: "Skills require a text Agent, unique names and resource paths, nonempty instructions, and at most 256 KiB in total.",
48214
+ const: "The number and the Agent belong to different voice accounts. A voice Agent answers and dials only numbers of its own account.",
48321
48215
  type: "string"
48322
48216
  },
48323
48217
  retryable: {
@@ -48342,11 +48236,11 @@ var schemaComponents = {
48342
48236
  ],
48343
48237
  properties: {
48344
48238
  code: {
48345
- const: "AGENT_IN_USE",
48239
+ const: "PROVIDER_ACCOUNT_UNSUPPORTED",
48346
48240
  type: "string"
48347
48241
  },
48348
48242
  message: {
48349
- const: "The Agent still has channels or active campaigns. Unassign them before deleting it.",
48243
+ const: "This deployment cannot use provider accounts of this provider yet; the platform's own account is used instead.",
48350
48244
  type: "string"
48351
48245
  },
48352
48246
  retryable: {
@@ -48371,11 +48265,11 @@ var schemaComponents = {
48371
48265
  ],
48372
48266
  properties: {
48373
48267
  code: {
48374
- const: "AGENT_MODALITY_LOCKED",
48268
+ const: "PROVIDER_CREDENTIALS_REJECTED",
48375
48269
  type: "string"
48376
48270
  },
48377
48271
  message: {
48378
- const: "The Agent's modality cannot change while it has channels or is published for calls. Create a new Agent instead.",
48272
+ const: "The provider refused the provider account's credentials, or the account is not active there.",
48379
48273
  type: "string"
48380
48274
  },
48381
48275
  retryable: {
@@ -48400,11 +48294,11 @@ var schemaComponents = {
48400
48294
  ],
48401
48295
  properties: {
48402
48296
  code: {
48403
- const: "AGENT_SETTINGS_INVALID",
48297
+ const: "PROVIDER_SECRET_UNAVAILABLE",
48404
48298
  type: "string"
48405
48299
  },
48406
48300
  message: {
48407
- const: "The settings do not apply to this Agent's modality, or two settings contradict each other.",
48301
+ const: "A secret the provider account needs is not available to this deployment. Name a TENANT_ Secrets Store entry that this deployment has a binding for.",
48408
48302
  type: "string"
48409
48303
  },
48410
48304
  retryable: {
@@ -48429,11 +48323,11 @@ var schemaComponents = {
48429
48323
  ],
48430
48324
  properties: {
48431
48325
  code: {
48432
- const: "BULLETIN_LIMIT_REACHED",
48326
+ const: "VOICE_AGENT_NOT_READY",
48433
48327
  type: "string"
48434
48328
  },
48435
48329
  message: {
48436
- const: "The organization already has 30 bulletins in force or scheduled. End or delete one before adding another.",
48330
+ const: "The Agent cannot take calls yet: it must be an active voice Agent with instructions, published for calls.",
48437
48331
  type: "string"
48438
48332
  },
48439
48333
  retryable: {
@@ -48458,11 +48352,11 @@ var schemaComponents = {
48458
48352
  ],
48459
48353
  properties: {
48460
48354
  code: {
48461
- const: "BULLETIN_PERIOD_INVALID",
48355
+ const: "VOICE_LINE_UNAVAILABLE",
48462
48356
  type: "string"
48463
48357
  },
48464
48358
  message: {
48465
- const: "A bulletin must end after it starts, and a new one must end in the future.",
48359
+ const: "No voice line can place this call. Give an active outbound voice channel, or assign one to the Agent.",
48466
48360
  type: "string"
48467
48361
  },
48468
48362
  retryable: {
@@ -48487,11 +48381,11 @@ var schemaComponents = {
48487
48381
  ],
48488
48382
  properties: {
48489
48383
  code: {
48490
- const: "EVAL_CASES_UNAVAILABLE",
48384
+ const: "VOICE_NUMBER_IN_USE",
48491
48385
  type: "string"
48492
48386
  },
48493
48387
  message: {
48494
- const: "The Agent has no kept evaluation case to replay, or a named case is not one of its kept cases.",
48388
+ const: "This number is already connected to another voice service. Release it there first.",
48495
48389
  type: "string"
48496
48390
  },
48497
48391
  retryable: {
@@ -48516,11 +48410,11 @@ var schemaComponents = {
48516
48410
  ],
48517
48411
  properties: {
48518
48412
  code: {
48519
- const: "EVAL_GATE_UNMET",
48413
+ const: "VOICE_NUMBER_NOT_OWNED",
48520
48414
  type: "string"
48521
48415
  },
48522
48416
  message: {
48523
- const: "This Agent requires a completed evaluation run of exactly this content, in which every case passed, before what its model reads changes. Create one with createEvalRun and send its id as evalRunId.",
48417
+ const: "The platform's telephony account does not own a voice-capable number with this value.",
48524
48418
  type: "string"
48525
48419
  },
48526
48420
  retryable: {
@@ -48545,11 +48439,11 @@ var schemaComponents = {
48545
48439
  ],
48546
48440
  properties: {
48547
48441
  code: {
48548
- const: "INTEGRATIONS_UNAVAILABLE",
48442
+ const: "VOICE_UNAVAILABLE",
48549
48443
  type: "string"
48550
48444
  },
48551
48445
  message: {
48552
- const: "The organization's integrations cannot be read right now. Try again shortly.",
48446
+ const: "Calls are unavailable right now. Try again in a few minutes.",
48553
48447
  type: "string"
48554
48448
  },
48555
48449
  retryable: {
@@ -48574,11 +48468,11 @@ var schemaComponents = {
48574
48468
  ],
48575
48469
  properties: {
48576
48470
  code: {
48577
- const: "INTEGRATION_SKILL_UNAVAILABLE",
48471
+ const: "AGENT_SKILLS_INVALID",
48578
48472
  type: "string"
48579
48473
  },
48580
48474
  message: {
48581
- const: "A skill does not exist in this organization's connections, Raíz cannot run its connection, or its name repeats one of the Agent's skills.",
48475
+ const: "Skills require a text Agent, unique names and resource paths, nonempty instructions, and at most 256 KiB in total.",
48582
48476
  type: "string"
48583
48477
  },
48584
48478
  retryable: {
@@ -48603,11 +48497,11 @@ var schemaComponents = {
48603
48497
  ],
48604
48498
  properties: {
48605
48499
  code: {
48606
- const: "INTEGRATION_TOOL_UNAVAILABLE",
48500
+ const: "AGENT_IN_USE",
48607
48501
  type: "string"
48608
48502
  },
48609
48503
  message: {
48610
- const: "An integration tool does not exist in this organization's connections, or Raíz cannot run it.",
48504
+ const: "The Agent still has channels or active campaigns. Unassign them before deleting it.",
48611
48505
  type: "string"
48612
48506
  },
48613
48507
  retryable: {
@@ -48632,11 +48526,11 @@ var schemaComponents = {
48632
48526
  ],
48633
48527
  properties: {
48634
48528
  code: {
48635
- const: "KNOWLEDGE_DOCUMENT_UNAVAILABLE",
48529
+ const: "AGENT_MODALITY_LOCKED",
48636
48530
  type: "string"
48637
48531
  },
48638
48532
  message: {
48639
- const: "A Knowledge document does not exist in this organization.",
48533
+ const: "The Agent's modality cannot change while it has channels or is published for calls. Create a new Agent instead.",
48640
48534
  type: "string"
48641
48535
  },
48642
48536
  retryable: {
@@ -48661,11 +48555,11 @@ var schemaComponents = {
48661
48555
  ],
48662
48556
  properties: {
48663
48557
  code: {
48664
- const: "KNOWLEDGE_FILE_INVALID",
48558
+ const: "AGENT_SETTINGS_INVALID",
48665
48559
  type: "string"
48666
48560
  },
48667
48561
  message: {
48668
- const: "The file is not valid base64, exceeds the size limit or does not match its declared type.",
48562
+ const: "The settings do not apply to this Agent's modality, or two settings contradict each other.",
48669
48563
  type: "string"
48670
48564
  },
48671
48565
  retryable: {
@@ -48690,11 +48584,11 @@ var schemaComponents = {
48690
48584
  ],
48691
48585
  properties: {
48692
48586
  code: {
48693
- const: "KNOWLEDGE_KIND_MISMATCH",
48587
+ const: "BULLETIN_LIMIT_REACHED",
48694
48588
  type: "string"
48695
48589
  },
48696
48590
  message: {
48697
- const: "The change does not apply to this kind of Knowledge document.",
48591
+ const: "The organization already has 30 bulletins in force or scheduled. End or delete one before adding another.",
48698
48592
  type: "string"
48699
48593
  },
48700
48594
  retryable: {
@@ -48719,11 +48613,11 @@ var schemaComponents = {
48719
48613
  ],
48720
48614
  properties: {
48721
48615
  code: {
48722
- const: "WEBSITE_NOT_APPROVED",
48616
+ const: "BULLETIN_PERIOD_INVALID",
48723
48617
  type: "string"
48724
48618
  },
48725
48619
  message: {
48726
- const: "This website's origin is not approved for crawling in this deployment.",
48620
+ const: "A bulletin must end after it starts, and a new one must end in the future.",
48727
48621
  type: "string"
48728
48622
  },
48729
48623
  retryable: {
@@ -48748,11 +48642,11 @@ var schemaComponents = {
48748
48642
  ],
48749
48643
  properties: {
48750
48644
  code: {
48751
- const: "WIDGET_CONFLICT",
48645
+ const: "EVAL_CASES_UNAVAILABLE",
48752
48646
  type: "string"
48753
48647
  },
48754
48648
  message: {
48755
- const: "The request cannot be repeated or another turn is active.",
48649
+ const: "The Agent has no kept evaluation case to replay, or a named case is not one of its kept cases.",
48756
48650
  type: "string"
48757
48651
  },
48758
48652
  retryable: {
@@ -48777,11 +48671,11 @@ var schemaComponents = {
48777
48671
  ],
48778
48672
  properties: {
48779
48673
  code: {
48780
- const: "WIDGET_INTERNAL",
48674
+ const: "EVAL_GATE_UNMET",
48781
48675
  type: "string"
48782
48676
  },
48783
48677
  message: {
48784
- const: "The request outcome could not be confirmed. Do not repeat it with a new identifier.",
48678
+ const: "This Agent requires a completed evaluation run of exactly this content, in which every case passed, before what its model reads changes. Create one with createEvalRun and send its id as evalRunId.",
48785
48679
  type: "string"
48786
48680
  },
48787
48681
  retryable: {
@@ -48806,11 +48700,11 @@ var schemaComponents = {
48806
48700
  ],
48807
48701
  properties: {
48808
48702
  code: {
48809
- const: "WIDGET_LIMIT_REACHED",
48703
+ const: "INTEGRATIONS_UNAVAILABLE",
48810
48704
  type: "string"
48811
48705
  },
48812
48706
  message: {
48813
- const: "This widget reached its conversations or messages for today. It takes visitors again after 00:00 UTC.",
48707
+ const: "The organization's integrations cannot be read right now. Try again shortly.",
48814
48708
  type: "string"
48815
48709
  },
48816
48710
  retryable: {
@@ -48835,11 +48729,11 @@ var schemaComponents = {
48835
48729
  ],
48836
48730
  properties: {
48837
48731
  code: {
48838
- const: "WIDGET_REFUSED",
48732
+ const: "INTEGRATION_SKILL_UNAVAILABLE",
48839
48733
  type: "string"
48840
48734
  },
48841
48735
  message: {
48842
- const: "This widget session is unavailable.",
48736
+ const: "A skill does not exist in this organization's connections, Raíz cannot run its connection, or its name repeats one of the Agent's skills.",
48843
48737
  type: "string"
48844
48738
  },
48845
48739
  retryable: {
@@ -48864,11 +48758,11 @@ var schemaComponents = {
48864
48758
  ],
48865
48759
  properties: {
48866
48760
  code: {
48867
- const: "ADDRESS_IN_USE",
48761
+ const: "INTEGRATION_TOOL_UNAVAILABLE",
48868
48762
  type: "string"
48869
48763
  },
48870
48764
  message: {
48871
- const: "Another contact in this organization already uses this address.",
48765
+ const: "An integration tool does not exist in this organization's connections, or Raíz cannot run it.",
48872
48766
  type: "string"
48873
48767
  },
48874
48768
  retryable: {
@@ -48893,11 +48787,11 @@ var schemaComponents = {
48893
48787
  ],
48894
48788
  properties: {
48895
48789
  code: {
48896
- const: "IDENTIFIER_IN_USE",
48790
+ const: "KNOWLEDGE_DOCUMENT_UNAVAILABLE",
48897
48791
  type: "string"
48898
48792
  },
48899
48793
  message: {
48900
- const: "Another contact in this organization already has this identity document.",
48794
+ const: "A Knowledge document does not exist in this organization.",
48901
48795
  type: "string"
48902
48796
  },
48903
48797
  retryable: {
@@ -48922,11 +48816,11 @@ var schemaComponents = {
48922
48816
  ],
48923
48817
  properties: {
48924
48818
  code: {
48925
- const: "INVALID_CURSOR",
48819
+ const: "KNOWLEDGE_FILE_INVALID",
48926
48820
  type: "string"
48927
48821
  },
48928
48822
  message: {
48929
- const: "The cursor is malformed or belongs to a different list.",
48823
+ const: "The file is not valid base64, exceeds the size limit or does not match its declared type.",
48930
48824
  type: "string"
48931
48825
  },
48932
48826
  retryable: {
@@ -48951,11 +48845,11 @@ var schemaComponents = {
48951
48845
  ],
48952
48846
  properties: {
48953
48847
  code: {
48954
- const: "INVALID_STATE",
48848
+ const: "KNOWLEDGE_KIND_MISMATCH",
48955
48849
  type: "string"
48956
48850
  },
48957
48851
  message: {
48958
- const: "The resource is not in a state that allows this operation.",
48852
+ const: "The change does not apply to this kind of Knowledge document.",
48959
48853
  type: "string"
48960
48854
  },
48961
48855
  retryable: {
@@ -48980,11 +48874,301 @@ var schemaComponents = {
48980
48874
  ],
48981
48875
  properties: {
48982
48876
  code: {
48983
- const: "KEY_IN_USE",
48877
+ const: "WEBSITE_NOT_APPROVED",
48984
48878
  type: "string"
48985
48879
  },
48986
48880
  message: {
48987
- const: "Another active resource in this organization already uses this key.",
48881
+ const: "This website's origin is not approved for crawling in this deployment.",
48882
+ type: "string"
48883
+ },
48884
+ retryable: {
48885
+ const: false,
48886
+ type: "boolean"
48887
+ },
48888
+ data: {
48889
+ additionalProperties: false,
48890
+ type: "object",
48891
+ properties: {}
48892
+ }
48893
+ }
48894
+ },
48895
+ {
48896
+ additionalProperties: false,
48897
+ type: "object",
48898
+ required: [
48899
+ "code",
48900
+ "message",
48901
+ "retryable",
48902
+ "data"
48903
+ ],
48904
+ properties: {
48905
+ code: {
48906
+ const: "WIDGET_CONFLICT",
48907
+ type: "string"
48908
+ },
48909
+ message: {
48910
+ const: "The request cannot be repeated or another turn is active.",
48911
+ type: "string"
48912
+ },
48913
+ retryable: {
48914
+ const: false,
48915
+ type: "boolean"
48916
+ },
48917
+ data: {
48918
+ additionalProperties: false,
48919
+ type: "object",
48920
+ properties: {}
48921
+ }
48922
+ }
48923
+ },
48924
+ {
48925
+ additionalProperties: false,
48926
+ type: "object",
48927
+ required: [
48928
+ "code",
48929
+ "message",
48930
+ "retryable",
48931
+ "data"
48932
+ ],
48933
+ properties: {
48934
+ code: {
48935
+ const: "WIDGET_INTERNAL",
48936
+ type: "string"
48937
+ },
48938
+ message: {
48939
+ const: "The request outcome could not be confirmed. Do not repeat it with a new identifier.",
48940
+ type: "string"
48941
+ },
48942
+ retryable: {
48943
+ const: false,
48944
+ type: "boolean"
48945
+ },
48946
+ data: {
48947
+ additionalProperties: false,
48948
+ type: "object",
48949
+ properties: {}
48950
+ }
48951
+ }
48952
+ },
48953
+ {
48954
+ additionalProperties: false,
48955
+ type: "object",
48956
+ required: [
48957
+ "code",
48958
+ "message",
48959
+ "retryable",
48960
+ "data"
48961
+ ],
48962
+ properties: {
48963
+ code: {
48964
+ const: "WIDGET_LIMIT_REACHED",
48965
+ type: "string"
48966
+ },
48967
+ message: {
48968
+ const: "This widget reached its conversations or messages for today. It takes visitors again after 00:00 UTC.",
48969
+ type: "string"
48970
+ },
48971
+ retryable: {
48972
+ const: true,
48973
+ type: "boolean"
48974
+ },
48975
+ data: {
48976
+ additionalProperties: false,
48977
+ type: "object",
48978
+ properties: {}
48979
+ }
48980
+ }
48981
+ },
48982
+ {
48983
+ additionalProperties: false,
48984
+ type: "object",
48985
+ required: [
48986
+ "code",
48987
+ "message",
48988
+ "retryable",
48989
+ "data"
48990
+ ],
48991
+ properties: {
48992
+ code: {
48993
+ const: "WIDGET_REFUSED",
48994
+ type: "string"
48995
+ },
48996
+ message: {
48997
+ const: "This widget session is unavailable.",
48998
+ type: "string"
48999
+ },
49000
+ retryable: {
49001
+ const: false,
49002
+ type: "boolean"
49003
+ },
49004
+ data: {
49005
+ additionalProperties: false,
49006
+ type: "object",
49007
+ properties: {}
49008
+ }
49009
+ }
49010
+ },
49011
+ {
49012
+ additionalProperties: false,
49013
+ type: "object",
49014
+ required: [
49015
+ "code",
49016
+ "message",
49017
+ "retryable",
49018
+ "data"
49019
+ ],
49020
+ properties: {
49021
+ code: {
49022
+ const: "WIDGET_VOICE_UNHEARD",
49023
+ type: "string"
49024
+ },
49025
+ message: {
49026
+ const: "The voice message could not be understood. Record it again or write the message.",
49027
+ type: "string"
49028
+ },
49029
+ retryable: {
49030
+ const: false,
49031
+ type: "boolean"
49032
+ },
49033
+ data: {
49034
+ additionalProperties: false,
49035
+ type: "object",
49036
+ properties: {}
49037
+ }
49038
+ }
49039
+ },
49040
+ {
49041
+ additionalProperties: false,
49042
+ type: "object",
49043
+ required: [
49044
+ "code",
49045
+ "message",
49046
+ "retryable",
49047
+ "data"
49048
+ ],
49049
+ properties: {
49050
+ code: {
49051
+ const: "ADDRESS_IN_USE",
49052
+ type: "string"
49053
+ },
49054
+ message: {
49055
+ const: "Another contact in this organization already uses this address.",
49056
+ type: "string"
49057
+ },
49058
+ retryable: {
49059
+ const: false,
49060
+ type: "boolean"
49061
+ },
49062
+ data: {
49063
+ additionalProperties: false,
49064
+ type: "object",
49065
+ properties: {}
49066
+ }
49067
+ }
49068
+ },
49069
+ {
49070
+ additionalProperties: false,
49071
+ type: "object",
49072
+ required: [
49073
+ "code",
49074
+ "message",
49075
+ "retryable",
49076
+ "data"
49077
+ ],
49078
+ properties: {
49079
+ code: {
49080
+ const: "IDENTIFIER_IN_USE",
49081
+ type: "string"
49082
+ },
49083
+ message: {
49084
+ const: "Another contact in this organization already has this identity document.",
49085
+ type: "string"
49086
+ },
49087
+ retryable: {
49088
+ const: false,
49089
+ type: "boolean"
49090
+ },
49091
+ data: {
49092
+ additionalProperties: false,
49093
+ type: "object",
49094
+ properties: {}
49095
+ }
49096
+ }
49097
+ },
49098
+ {
49099
+ additionalProperties: false,
49100
+ type: "object",
49101
+ required: [
49102
+ "code",
49103
+ "message",
49104
+ "retryable",
49105
+ "data"
49106
+ ],
49107
+ properties: {
49108
+ code: {
49109
+ const: "INVALID_CURSOR",
49110
+ type: "string"
49111
+ },
49112
+ message: {
49113
+ const: "The cursor is malformed or belongs to a different list.",
49114
+ type: "string"
49115
+ },
49116
+ retryable: {
49117
+ const: false,
49118
+ type: "boolean"
49119
+ },
49120
+ data: {
49121
+ additionalProperties: false,
49122
+ type: "object",
49123
+ properties: {}
49124
+ }
49125
+ }
49126
+ },
49127
+ {
49128
+ additionalProperties: false,
49129
+ type: "object",
49130
+ required: [
49131
+ "code",
49132
+ "message",
49133
+ "retryable",
49134
+ "data"
49135
+ ],
49136
+ properties: {
49137
+ code: {
49138
+ const: "INVALID_STATE",
49139
+ type: "string"
49140
+ },
49141
+ message: {
49142
+ const: "The resource is not in a state that allows this operation.",
49143
+ type: "string"
49144
+ },
49145
+ retryable: {
49146
+ const: false,
49147
+ type: "boolean"
49148
+ },
49149
+ data: {
49150
+ additionalProperties: false,
49151
+ type: "object",
49152
+ properties: {}
49153
+ }
49154
+ }
49155
+ },
49156
+ {
49157
+ additionalProperties: false,
49158
+ type: "object",
49159
+ required: [
49160
+ "code",
49161
+ "message",
49162
+ "retryable",
49163
+ "data"
49164
+ ],
49165
+ properties: {
49166
+ code: {
49167
+ const: "KEY_IN_USE",
49168
+ type: "string"
49169
+ },
49170
+ message: {
49171
+ const: "Another active resource in this organization already uses this key.",
48988
49172
  type: "string"
48989
49173
  },
48990
49174
  retryable: {
@@ -51754,6 +51938,7 @@ var schemaComponents = {
51754
51938
  "agentName",
51755
51939
  "day",
51756
51940
  "source",
51941
+ "createdCount",
51757
51942
  "confirmedCount",
51758
51943
  "rescheduledCount",
51759
51944
  "cancelledCount",
@@ -51797,10 +51982,17 @@ var schemaComponents = {
51797
51982
  description: "Integration recorded in the booking receipt; unknown when absent.",
51798
51983
  type: "string"
51799
51984
  },
51800
- confirmedCount: {
51985
+ createdCount: {
51801
51986
  minimum: 0,
51987
+ description: "New appointments created by the AI, supported by successful booking receipts on the operation's completion day. Not confirmations of pre-existing appointments or appointment attendance.",
51802
51988
  type: "integer"
51803
51989
  },
51990
+ confirmedCount: {
51991
+ minimum: 0,
51992
+ type: "integer",
51993
+ deprecated: true,
51994
+ description: "Compatibility alias of createdCount: the same new bookings, not another category. Never add the two fields or label this as confirmations of existing appointments."
51995
+ },
51804
51996
  rescheduledCount: {
51805
51997
  minimum: 0,
51806
51998
  type: "integer"
@@ -53122,6 +53314,12 @@ var schemaComponents = {
53122
53314
  "type"
53123
53315
  ],
53124
53316
  properties: {
53317
+ description: {
53318
+ default: "",
53319
+ description: "Help shown under the label.",
53320
+ maxLength: 300,
53321
+ type: "string"
53322
+ },
53125
53323
  label: {
53126
53324
  maxLength: 80,
53127
53325
  minLength: 1,
@@ -53133,7 +53331,7 @@ var schemaComponents = {
53133
53331
  },
53134
53332
  options: {
53135
53333
  default: [],
53136
- maxItems: 12,
53334
+ maxItems: 30,
53137
53335
  type: "array",
53138
53336
  items: {
53139
53337
  maxLength: 80,
@@ -53179,9 +53377,85 @@ var schemaComponents = {
53179
53377
  const: "select",
53180
53378
  type: "string"
53181
53379
  },
53380
+ {
53381
+ const: "radio",
53382
+ type: "string"
53383
+ },
53182
53384
  {
53183
53385
  const: "checkbox",
53184
53386
  type: "string"
53387
+ },
53388
+ {
53389
+ const: "url",
53390
+ type: "string"
53391
+ }
53392
+ ]
53393
+ },
53394
+ width: {
53395
+ default: "full",
53396
+ description: "`half` sets two consecutive half fields side by side on wide screens.",
53397
+ anyOf: [
53398
+ {
53399
+ const: "full",
53400
+ type: "string"
53401
+ },
53402
+ {
53403
+ const: "half",
53404
+ type: "string"
53405
+ }
53406
+ ]
53407
+ }
53408
+ }
53409
+ },
53410
+ RaizWidgetPublication: {
53411
+ additionalProperties: false,
53412
+ type: "object",
53413
+ required: [
53414
+ "live",
53415
+ "problems",
53416
+ "url"
53417
+ ],
53418
+ properties: {
53419
+ live: {
53420
+ description: "Visitors can start now: no `problems`. The hosted page answers at `url`, and the widget runs on its `allowedOrigins`.",
53421
+ type: "boolean"
53422
+ },
53423
+ problems: {
53424
+ description: "Why it is not live: `CHANNEL_INACTIVE` (the channel is not active), `PAUSED` (`inboundEnabled` is off), `AGENT_REQUIRED` (no Agent assigned), `AGENT_PAUSED` (its Agent is paused), `NOT_PLACED` (no hosted page and no https site may embed it).",
53425
+ type: "array",
53426
+ items: {
53427
+ anyOf: [
53428
+ {
53429
+ const: "CHANNEL_INACTIVE",
53430
+ type: "string"
53431
+ },
53432
+ {
53433
+ const: "PAUSED",
53434
+ type: "string"
53435
+ },
53436
+ {
53437
+ const: "AGENT_REQUIRED",
53438
+ type: "string"
53439
+ },
53440
+ {
53441
+ const: "AGENT_PAUSED",
53442
+ type: "string"
53443
+ },
53444
+ {
53445
+ const: "NOT_PLACED",
53446
+ type: "string"
53447
+ }
53448
+ ]
53449
+ }
53450
+ },
53451
+ url: {
53452
+ anyOf: [
53453
+ {
53454
+ description: "The widget's own hosted page (`publicLink` on), live or not; null when it runs only on the allowed sites.",
53455
+ type: "string"
53456
+ },
53457
+ {
53458
+ type: "null"
53185
53459
  }
53186
53460
  ]
53187
53461
  }
@@ -53250,10 +53524,23 @@ var schemaComponents = {
53250
53524
  },
53251
53525
  assistantColor: {
53252
53526
  default: "#FFFFFF",
53253
- description: "A color in `#RRGGBB` form.",
53527
+ description: "Background behind the Agent's messages; the background color shows them as plain text. A color in `#RRGGBB` form.",
53254
53528
  pattern: "^#[0-9a-fA-F]{6}$",
53255
53529
  type: "string"
53256
53530
  },
53531
+ assistantTextColor: {
53532
+ default: null,
53533
+ description: "Text of the Agent's messages; null: `textColor`. A color in `#RRGGBB` form, or null to derive it.",
53534
+ anyOf: [
53535
+ {
53536
+ pattern: "^#[0-9a-fA-F]{6}$",
53537
+ type: "string"
53538
+ },
53539
+ {
53540
+ type: "null"
53541
+ }
53542
+ ]
53543
+ },
53257
53544
  attachmentsEnabled: {
53258
53545
  default: false,
53259
53546
  type: "boolean"
@@ -53329,6 +53616,20 @@ var schemaComponents = {
53329
53616
  $ref: "#/components/schemas/RaizWidgetClientTool"
53330
53617
  }
53331
53618
  },
53619
+ controlRadius: {
53620
+ default: null,
53621
+ description: "Corner radius of fields and buttons, in pixels; 24 makes pill-shaped buttons. Null: derived from `radius`.",
53622
+ anyOf: [
53623
+ {
53624
+ maximum: 24,
53625
+ minimum: 0,
53626
+ type: "integer"
53627
+ },
53628
+ {
53629
+ type: "null"
53630
+ }
53631
+ ]
53632
+ },
53332
53633
  consentText: {
53333
53634
  default: "Acepto compartir estos datos y esta conversación con esta organización.",
53334
53635
  maxLength: 500,
@@ -53341,10 +53642,16 @@ var schemaComponents = {
53341
53642
  maxLength: 8000,
53342
53643
  type: "string"
53343
53644
  },
53645
+ errorColor: {
53646
+ default: "#B42318",
53647
+ description: "Field errors and failures the visitor must see. A color in `#RRGGBB` form.",
53648
+ pattern: "^#[0-9a-fA-F]{6}$",
53649
+ type: "string"
53650
+ },
53344
53651
  fields: {
53345
53652
  default: [],
53346
- description: "Up to 12 pre-chat form fields with unique names.",
53347
- maxItems: 12,
53653
+ description: "Up to 40 form fields with unique names, asked before the conversation (or alone, in `form` mode).",
53654
+ maxItems: 40,
53348
53655
  type: "array",
53349
53656
  items: {
53350
53657
  $ref: "#/components/schemas/RaizWidgetField"
@@ -53358,7 +53665,89 @@ var schemaComponents = {
53358
53665
  },
53359
53666
  font: {
53360
53667
  default: "arbol",
53668
+ description: "The text typeface: `arbol` (bundled), `system` (the device's), `serif`, `rounded`, `page` (the embedding page's) or `custom` (`fontFamily`, with an optional `fontUrl`).",
53669
+ anyOf: [
53670
+ {
53671
+ const: "arbol",
53672
+ type: "string"
53673
+ },
53674
+ {
53675
+ const: "system",
53676
+ type: "string"
53677
+ },
53678
+ {
53679
+ const: "serif",
53680
+ type: "string"
53681
+ },
53682
+ {
53683
+ const: "rounded",
53684
+ type: "string"
53685
+ },
53686
+ {
53687
+ const: "page",
53688
+ type: "string"
53689
+ },
53690
+ {
53691
+ const: "custom",
53692
+ type: "string"
53693
+ }
53694
+ ]
53695
+ },
53696
+ fontFamily: {
53697
+ default: "",
53698
+ description: "The CSS font-family of `font: custom`.",
53699
+ maxLength: 200,
53700
+ pattern: `^[a-zA-Z0-9 ,"'_-]*$`,
53701
+ type: "string"
53702
+ },
53703
+ fontSize: {
53704
+ default: 15,
53705
+ maximum: 20,
53706
+ minimum: 12,
53707
+ type: "integer"
53708
+ },
53709
+ fontUrl: {
53710
+ default: null,
53361
53711
  anyOf: [
53712
+ {
53713
+ $ref: "#/components/schemas/RaizHttpsUrl",
53714
+ description: "An HTTPS URL."
53715
+ },
53716
+ {
53717
+ type: "null"
53718
+ }
53719
+ ]
53720
+ },
53721
+ formTitle: {
53722
+ default: "Antes de empezar",
53723
+ maxLength: 120,
53724
+ type: "string"
53725
+ },
53726
+ greeting: {
53727
+ default: "¡Hola! ¿En qué te podemos ayudar?",
53728
+ maxLength: 500,
53729
+ type: "string"
53730
+ },
53731
+ headerColor: {
53732
+ default: "#F6F8F5",
53733
+ description: "A color in `#RRGGBB` form.",
53734
+ pattern: "^#[0-9a-fA-F]{6}$",
53735
+ type: "string"
53736
+ },
53737
+ headerTextColor: {
53738
+ default: "#182D24",
53739
+ description: "A color in `#RRGGBB` form.",
53740
+ pattern: "^#[0-9a-fA-F]{6}$",
53741
+ type: "string"
53742
+ },
53743
+ headingFont: {
53744
+ default: "text",
53745
+ description: "The headings' typeface: `text` (the same as `font`) or one of `font`'s choices, with `headingFontFamily` and `headingFontUrl` for `custom`.",
53746
+ anyOf: [
53747
+ {
53748
+ const: "text",
53749
+ type: "string"
53750
+ },
53362
53751
  {
53363
53752
  const: "arbol",
53364
53753
  type: "string"
@@ -53385,19 +53774,14 @@ var schemaComponents = {
53385
53774
  }
53386
53775
  ]
53387
53776
  },
53388
- fontFamily: {
53777
+ headingFontFamily: {
53389
53778
  default: "",
53779
+ description: "The CSS font-family of `headingFont: custom`.",
53390
53780
  maxLength: 200,
53391
53781
  pattern: `^[a-zA-Z0-9 ,"'_-]*$`,
53392
53782
  type: "string"
53393
53783
  },
53394
- fontSize: {
53395
- default: 15,
53396
- maximum: 20,
53397
- minimum: 12,
53398
- type: "integer"
53399
- },
53400
- fontUrl: {
53784
+ headingFontUrl: {
53401
53785
  default: null,
53402
53786
  anyOf: [
53403
53787
  {
@@ -53409,27 +53793,39 @@ var schemaComponents = {
53409
53793
  }
53410
53794
  ]
53411
53795
  },
53412
- formTitle: {
53413
- default: "Antes de empezar",
53414
- maxLength: 120,
53415
- type: "string"
53416
- },
53417
- greeting: {
53418
- default: "¡Hola! ¿En qué te podemos ayudar?",
53419
- maxLength: 500,
53420
- type: "string"
53796
+ headingWeight: {
53797
+ default: 500,
53798
+ description: "The headings' weight, from 300 (light) to 800 (heavy).",
53799
+ maximum: 800,
53800
+ minimum: 300,
53801
+ multipleOf: 100,
53802
+ type: "integer"
53421
53803
  },
53422
- headerColor: {
53423
- default: "#F6F8F5",
53424
- description: "A color in `#RRGGBB` form.",
53425
- pattern: "^#[0-9a-fA-F]{6}$",
53426
- type: "string"
53804
+ inputBorderColor: {
53805
+ default: null,
53806
+ description: "The border of form fields and of the message box. A color in `#RRGGBB` form, or null to derive it.",
53807
+ anyOf: [
53808
+ {
53809
+ pattern: "^#[0-9a-fA-F]{6}$",
53810
+ type: "string"
53811
+ },
53812
+ {
53813
+ type: "null"
53814
+ }
53815
+ ]
53427
53816
  },
53428
- headerTextColor: {
53429
- default: "#182D24",
53430
- description: "A color in `#RRGGBB` form.",
53431
- pattern: "^#[0-9a-fA-F]{6}$",
53432
- type: "string"
53817
+ inputColor: {
53818
+ default: null,
53819
+ description: "The background of form fields and of the message box. A color in `#RRGGBB` form, or null to derive it.",
53820
+ anyOf: [
53821
+ {
53822
+ pattern: "^#[0-9a-fA-F]{6}$",
53823
+ type: "string"
53824
+ },
53825
+ {
53826
+ type: "null"
53827
+ }
53828
+ ]
53433
53829
  },
53434
53830
  language: {
53435
53831
  default: "es",
@@ -53486,6 +53882,19 @@ var schemaComponents = {
53486
53882
  }
53487
53883
  ]
53488
53884
  },
53885
+ linkColor: {
53886
+ default: null,
53887
+ description: "Links; null: `primaryColor`. A color in `#RRGGBB` form, or null to derive it.",
53888
+ anyOf: [
53889
+ {
53890
+ pattern: "^#[0-9a-fA-F]{6}$",
53891
+ type: "string"
53892
+ },
53893
+ {
53894
+ type: "null"
53895
+ }
53896
+ ]
53897
+ },
53489
53898
  logoObjectKey: {
53490
53899
  default: null,
53491
53900
  anyOf: [
@@ -53507,6 +53916,19 @@ var schemaComponents = {
53507
53916
  minimum: 1,
53508
53917
  type: "integer"
53509
53918
  },
53919
+ mutedTextColor: {
53920
+ default: null,
53921
+ description: "Secondary text: descriptions, hints and times. A color in `#RRGGBB` form, or null to derive it.",
53922
+ anyOf: [
53923
+ {
53924
+ pattern: "^#[0-9a-fA-F]{6}$",
53925
+ type: "string"
53926
+ },
53927
+ {
53928
+ type: "null"
53929
+ }
53930
+ ]
53931
+ },
53510
53932
  mobileMode: {
53511
53933
  default: "fullscreen",
53512
53934
  anyOf: [
@@ -53678,10 +54100,41 @@ var schemaComponents = {
53678
54100
  },
53679
54101
  userTextColor: {
53680
54102
  default: "#FFFFFF",
53681
- description: "A color in `#RRGGBB` form.",
54103
+ description: "Text on `primaryColor`: buttons and the launcher. A color in `#RRGGBB` form.",
53682
54104
  pattern: "^#[0-9a-fA-F]{6}$",
53683
54105
  type: "string"
53684
54106
  },
54107
+ visitorColor: {
54108
+ default: null,
54109
+ description: "Background of the visitor's own messages; null: a light tint of `textColor`. A color in `#RRGGBB` form, or null to derive it.",
54110
+ anyOf: [
54111
+ {
54112
+ pattern: "^#[0-9a-fA-F]{6}$",
54113
+ type: "string"
54114
+ },
54115
+ {
54116
+ type: "null"
54117
+ }
54118
+ ]
54119
+ },
54120
+ visitorTextColor: {
54121
+ default: null,
54122
+ description: "Text of the visitor's own messages; null: `textColor`. A color in `#RRGGBB` form, or null to derive it.",
54123
+ anyOf: [
54124
+ {
54125
+ pattern: "^#[0-9a-fA-F]{6}$",
54126
+ type: "string"
54127
+ },
54128
+ {
54129
+ type: "null"
54130
+ }
54131
+ ]
54132
+ },
54133
+ voiceMessages: {
54134
+ default: false,
54135
+ description: "Let visitors record a voice message; Raíz transcribes it and the Agent answers the transcript.",
54136
+ type: "boolean"
54137
+ },
53685
54138
  welcomeText: {
53686
54139
  default: "Pregúntanos lo que necesites. Solemos responder en minutos.",
53687
54140
  maxLength: 300,
@@ -53761,10 +54214,23 @@ var schemaComponents = {
53761
54214
  },
53762
54215
  assistantColor: {
53763
54216
  default: "#FFFFFF",
53764
- description: "A color in `#RRGGBB` form.",
54217
+ description: "Background behind the Agent's messages; the background color shows them as plain text. A color in `#RRGGBB` form.",
53765
54218
  pattern: "^#[0-9a-fA-F]{6}$",
53766
54219
  type: "string"
53767
54220
  },
54221
+ assistantTextColor: {
54222
+ default: null,
54223
+ description: "Text of the Agent's messages; null: `textColor`. A color in `#RRGGBB` form, or null to derive it.",
54224
+ anyOf: [
54225
+ {
54226
+ pattern: "^#[0-9a-fA-F]{6}$",
54227
+ type: "string"
54228
+ },
54229
+ {
54230
+ type: "null"
54231
+ }
54232
+ ]
54233
+ },
53768
54234
  attachmentsEnabled: {
53769
54235
  default: false,
53770
54236
  type: "boolean"
@@ -53840,6 +54306,20 @@ var schemaComponents = {
53840
54306
  $ref: "#/components/schemas/RaizWidgetClientTool"
53841
54307
  }
53842
54308
  },
54309
+ controlRadius: {
54310
+ default: null,
54311
+ description: "Corner radius of fields and buttons, in pixels; 24 makes pill-shaped buttons. Null: derived from `radius`.",
54312
+ anyOf: [
54313
+ {
54314
+ maximum: 24,
54315
+ minimum: 0,
54316
+ type: "integer"
54317
+ },
54318
+ {
54319
+ type: "null"
54320
+ }
54321
+ ]
54322
+ },
53843
54323
  consentText: {
53844
54324
  default: "Acepto compartir estos datos y esta conversación con esta organización.",
53845
54325
  maxLength: 500,
@@ -53852,10 +54332,16 @@ var schemaComponents = {
53852
54332
  maxLength: 8000,
53853
54333
  type: "string"
53854
54334
  },
54335
+ errorColor: {
54336
+ default: "#B42318",
54337
+ description: "Field errors and failures the visitor must see. A color in `#RRGGBB` form.",
54338
+ pattern: "^#[0-9a-fA-F]{6}$",
54339
+ type: "string"
54340
+ },
53855
54341
  fields: {
53856
54342
  default: [],
53857
- description: "Up to 12 pre-chat form fields with unique names.",
53858
- maxItems: 12,
54343
+ description: "Up to 40 form fields with unique names, asked before the conversation (or alone, in `form` mode).",
54344
+ maxItems: 40,
53859
54345
  type: "array",
53860
54346
  items: {
53861
54347
  $ref: "#/components/schemas/RaizWidgetField"
@@ -53869,6 +54355,7 @@ var schemaComponents = {
53869
54355
  },
53870
54356
  font: {
53871
54357
  default: "arbol",
54358
+ description: "The text typeface: `arbol` (bundled), `system` (the device's), `serif`, `rounded`, `page` (the embedding page's) or `custom` (`fontFamily`, with an optional `fontUrl`).",
53872
54359
  anyOf: [
53873
54360
  {
53874
54361
  const: "arbol",
@@ -53898,6 +54385,7 @@ var schemaComponents = {
53898
54385
  },
53899
54386
  fontFamily: {
53900
54387
  default: "",
54388
+ description: "The CSS font-family of `font: custom`.",
53901
54389
  maxLength: 200,
53902
54390
  pattern: `^[a-zA-Z0-9 ,"'_-]*$`,
53903
54391
  type: "string"
@@ -53942,6 +54430,93 @@ var schemaComponents = {
53942
54430
  pattern: "^#[0-9a-fA-F]{6}$",
53943
54431
  type: "string"
53944
54432
  },
54433
+ headingFont: {
54434
+ default: "text",
54435
+ description: "The headings' typeface: `text` (the same as `font`) or one of `font`'s choices, with `headingFontFamily` and `headingFontUrl` for `custom`.",
54436
+ anyOf: [
54437
+ {
54438
+ const: "text",
54439
+ type: "string"
54440
+ },
54441
+ {
54442
+ const: "arbol",
54443
+ type: "string"
54444
+ },
54445
+ {
54446
+ const: "system",
54447
+ type: "string"
54448
+ },
54449
+ {
54450
+ const: "serif",
54451
+ type: "string"
54452
+ },
54453
+ {
54454
+ const: "rounded",
54455
+ type: "string"
54456
+ },
54457
+ {
54458
+ const: "page",
54459
+ type: "string"
54460
+ },
54461
+ {
54462
+ const: "custom",
54463
+ type: "string"
54464
+ }
54465
+ ]
54466
+ },
54467
+ headingFontFamily: {
54468
+ default: "",
54469
+ description: "The CSS font-family of `headingFont: custom`.",
54470
+ maxLength: 200,
54471
+ pattern: `^[a-zA-Z0-9 ,"'_-]*$`,
54472
+ type: "string"
54473
+ },
54474
+ headingFontUrl: {
54475
+ default: null,
54476
+ anyOf: [
54477
+ {
54478
+ $ref: "#/components/schemas/RaizHttpsUrl",
54479
+ description: "An HTTPS URL."
54480
+ },
54481
+ {
54482
+ type: "null"
54483
+ }
54484
+ ]
54485
+ },
54486
+ headingWeight: {
54487
+ default: 500,
54488
+ description: "The headings' weight, from 300 (light) to 800 (heavy).",
54489
+ maximum: 800,
54490
+ minimum: 300,
54491
+ multipleOf: 100,
54492
+ type: "integer"
54493
+ },
54494
+ inputBorderColor: {
54495
+ default: null,
54496
+ description: "The border of form fields and of the message box. A color in `#RRGGBB` form, or null to derive it.",
54497
+ anyOf: [
54498
+ {
54499
+ pattern: "^#[0-9a-fA-F]{6}$",
54500
+ type: "string"
54501
+ },
54502
+ {
54503
+ type: "null"
54504
+ }
54505
+ ]
54506
+ },
54507
+ inputColor: {
54508
+ default: null,
54509
+ description: "The background of form fields and of the message box. A color in `#RRGGBB` form, or null to derive it.",
54510
+ anyOf: [
54511
+ {
54512
+ pattern: "^#[0-9a-fA-F]{6}$",
54513
+ type: "string"
54514
+ },
54515
+ {
54516
+ type: "null"
54517
+ }
54518
+ ]
54519
+ },
53945
54520
  language: {
53946
54521
  default: "es",
53947
54522
  description: "The visitor interface language when the browser asks for none of the translated ones.",
@@ -53997,6 +54572,19 @@ var schemaComponents = {
53997
54572
  }
53998
54573
  ]
53999
54574
  },
54575
+ linkColor: {
54576
+ default: null,
54577
+ description: "Links; null: `primaryColor`. A color in `#RRGGBB` form, or null to derive it.",
54578
+ anyOf: [
54579
+ {
54580
+ pattern: "^#[0-9a-fA-F]{6}$",
54581
+ type: "string"
54582
+ },
54583
+ {
54584
+ type: "null"
54585
+ }
54586
+ ]
54587
+ },
54000
54588
  logoObjectKey: {
54001
54589
  default: null,
54002
54590
  anyOf: [
@@ -54018,6 +54606,19 @@ var schemaComponents = {
54018
54606
  minimum: 1,
54019
54607
  type: "integer"
54020
54608
  },
54609
+ mutedTextColor: {
54610
+ default: null,
54611
+ description: "Secondary text: descriptions, hints and times. A color in `#RRGGBB` form, or null to derive it.",
54612
+ anyOf: [
54613
+ {
54614
+ pattern: "^#[0-9a-fA-F]{6}$",
54615
+ type: "string"
54616
+ },
54617
+ {
54618
+ type: "null"
54619
+ }
54620
+ ]
54621
+ },
54021
54622
  mobileMode: {
54022
54623
  default: "fullscreen",
54023
54624
  anyOf: [
@@ -54189,10 +54790,41 @@ var schemaComponents = {
54189
54790
  },
54190
54791
  userTextColor: {
54191
54792
  default: "#FFFFFF",
54192
- description: "A color in `#RRGGBB` form.",
54793
+ description: "Text on `primaryColor`: buttons and the launcher. A color in `#RRGGBB` form.",
54193
54794
  pattern: "^#[0-9a-fA-F]{6}$",
54194
54795
  type: "string"
54195
54796
  },
54797
+ visitorColor: {
54798
+ default: null,
54799
+ description: "Background of the visitor's own messages; null: a light tint of `textColor`. A color in `#RRGGBB` form, or null to derive it.",
54800
+ anyOf: [
54801
+ {
54802
+ pattern: "^#[0-9a-fA-F]{6}$",
54803
+ type: "string"
54804
+ },
54805
+ {
54806
+ type: "null"
54807
+ }
54808
+ ]
54809
+ },
54810
+ visitorTextColor: {
54811
+ default: null,
54812
+ description: "Text of the visitor's own messages; null: `textColor`. A color in `#RRGGBB` form, or null to derive it.",
54813
+ anyOf: [
54814
+ {
54815
+ pattern: "^#[0-9a-fA-F]{6}$",
54816
+ type: "string"
54817
+ },
54818
+ {
54819
+ type: "null"
54820
+ }
54821
+ ]
54822
+ },
54823
+ voiceMessages: {
54824
+ default: false,
54825
+ description: "Let visitors record a voice message; Raíz transcribes it and the Agent answers the transcript.",
54826
+ type: "boolean"
54827
+ },
54196
54828
  welcomeText: {
54197
54829
  default: "Pregúntanos lo que necesites. Solemos responder en minutos.",
54198
54830
  maxLength: 300,
@@ -63580,10 +64212,43 @@ var schemaComponents = {
63580
64212
  type: "integer",
63581
64213
  default: 25
63582
64214
  },
64215
+ agentMode: {
64216
+ description: "Set true for voice/AI agents: compact Spanish text, at most 10 matches, complete catalog search and a tenant-isolated catalog cache of at most 60 seconds.",
64217
+ type: "boolean"
64218
+ },
64219
+ refresh: {
64220
+ description: "Bypass the agent catalog cache and read the provider now.",
64221
+ type: "boolean"
64222
+ },
63583
64223
  id: {
63584
64224
  pattern: "^[1-9][0-9]{0,14}$",
64225
+ description: "Exact catalog id. Use q for a service name or code.",
63585
64226
  type: "string"
63586
64227
  },
64228
+ q: {
64229
+ minLength: 2,
64230
+ maxLength: 120,
64231
+ pattern: "\\S",
64232
+ description: "Search name, code and description across the catalog, ignoring accents and case. Use a distinctive word such as lavado. An empty completed search means no matching catalog entry, not that the clinic cannot perform the procedure.",
64233
+ type: "string"
64234
+ },
64235
+ active: {
64236
+ description: "Filter by the explicit catalog active flag. Omit to include unknown states.",
64237
+ type: "boolean"
64238
+ },
64239
+ kind: {
64240
+ description: "Filter services or products. Use SERVICE for clinical service information.",
64241
+ anyOf: [
64242
+ {
64243
+ const: "SERVICE",
64244
+ type: "string"
64245
+ },
64246
+ {
64247
+ const: "PRODUCT",
64248
+ type: "string"
64249
+ }
64250
+ ]
64251
+ },
63587
64252
  connectionId: {
63588
64253
  pattern: "^con_[0-9A-Za-z]{26}$",
63589
64254
  type: "string"
@@ -71759,9 +72424,9 @@ var schemaComponents = {
71759
72424
  // src/generated/generation.json
71760
72425
  var generation_default = {
71761
72426
  formatVersion: 6,
71762
- release: "1.20261020.162831",
71763
- openapiSha256: "d684366d945dec0cfe5900fed4e51473963873db416e99cfd182b99561d82454",
71764
- openapiContentSha256: "3c0996ddbfb92924b8d8bc8f0ccaef401eb19e2f6168ec412558a37cf0709240",
72427
+ release: "1.20261021.142621",
72428
+ openapiSha256: "9ee7f470f970025948f315a5f014385c35fe2adf8c88f65cc48ded8ce39329dc",
72429
+ openapiContentSha256: "38b2a1f8990668b3b55c4da7ee4ecc6b906464cb5fd58e3dd448889b6145fd36",
71765
72430
  forge: {
71766
72431
  repository: "https://github.com/cloudflare/forge",
71767
72432
  commit: "7f86447210b7bea3779bfdab3cd5655eade0eadb",
@@ -71774,7 +72439,7 @@ var generation_default = {
71774
72439
  outputs: [
71775
72440
  {
71776
72441
  path: "src/generated/commands.ts",
71777
- sha256: "47d6deb6fa4529adfd2f12cf375336fbd77960017760f56c7ea51abb8f08d216"
72442
+ sha256: "60141edcfd08e09bba48673c2ddc2e7dba98c907d07a2f41469bb8d9c8406e1b"
71778
72443
  }
71779
72444
  ]
71780
72445
  };
@@ -72129,7 +72794,7 @@ ${name}`);
72129
72794
  }
72130
72795
 
72131
72796
  // src/index.ts
72132
- var VERSION = "2.3.0";
72797
+ var VERSION = "2.5.0";
72133
72798
  var RELEASE = generation_default.release;
72134
72799
  var SDK_PATHS = new Map(Object.values(commands).map((command) => [command.operation, command.sdkPath]));
72135
72800
  var SERVICES = [...new Set(Object.keys(commands).map((name) => name.split(" ")[0]))].toSorted();