@arbol-ai/cli 3.41.0 → 3.43.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 +671 -60
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -18943,7 +18943,7 @@ var commands = {
18943
18943
  ]
18944
18944
  },
18945
18945
  title: "Create a campaign",
18946
- description: "Prepare a campaign with up to 10000 recipients, each a phone `address` with an optional `contactId` and `variables`. A call campaign (the default) has a voice Agent call each one. With `channelType: whatsapp` and an approved `template`, each one is sent the template, its `parameters` filled from their `variables` (`{{name}}`), and its text Agent answers whoever replies. Nobody is reached until it is started. A list adds nobody to the organization's contacts: a recipient becomes the contact it names, or the owner of its number (created when none exists), when the campaign first reaches them. A longer list continues with `updateCampaign` and `addRecipients`. Nothing happens outside `contactHours` (in `timeZone`, the organization's by default) or outside `scheduledStartAt` and `scheduledEndAt`; each recipient gets up to `maxAttempts` attempts, `retryAfterMinutes` apart, after the results in `retryOn`. Read it with `expand=readiness` to see whether it can start. Starting it (REST `POST /v1/campaigns/{campaignId}/start`) is not an AI tool. Read the `run-a-campaign` skill.",
18946
+ description: "Prepare a campaign with up to 10000 recipients, each a phone `address` with an optional `contactId` and `variables`. A call campaign (the default) has a voice Agent call each one. With `channelType: whatsapp` and an approved `template`, each one is sent the template, its `parameters` filled from their `variables` (`{{name}}`) and, when its header is a document, image or video, their own `header` file; its text Agent answers whoever replies. Nobody is reached until it is started. A list adds nobody to the organization's contacts: a recipient becomes the contact it names, or the owner of its number (created when none exists), when the campaign first reaches them. A longer list continues with `updateCampaign` and `addRecipients`. Nothing happens outside `contactHours` (in `timeZone`, the organization's by default) or outside `scheduledStartAt` and `scheduledEndAt`; each recipient gets up to `maxAttempts` attempts, `retryAfterMinutes` apart, after the results in `retryOn`. Read it with `expand=readiness` to see whether it can start. Starting it (REST `POST /v1/campaigns/{campaignId}/start`) is not an AI tool. Read the `run-a-campaign` skill.",
18947
18947
  effect: "write",
18948
18948
  confirmation: null,
18949
18949
  hidden: false
@@ -18962,7 +18962,7 @@ var commands = {
18962
18962
  flag: "expand",
18963
18963
  kind: "string",
18964
18964
  required: false,
18965
- description: "Related data to include, comma-separated: `recipients`, `readiness`."
18965
+ description: "Related data to include, comma-separated: `recipients`, `readiness`, `results`."
18966
18966
  },
18967
18967
  {
18968
18968
  name: "recipientsCursor",
@@ -18998,6 +18998,13 @@ var commands = {
18998
18998
  required: false,
18999
18999
  description: "With `expand=recipients`: only those whose number contains these digits or whose name contains this text."
19000
19000
  },
19001
+ {
19002
+ name: "recipientsResult",
19003
+ flag: "recipients-result",
19004
+ kind: "string",
19005
+ required: false,
19006
+ description: "With `expand=recipients`: `definitionKey=optionKey`, only those whose latest answer is that option; `definitionKey=`, only those with no answer yet."
19007
+ },
19001
19008
  {
19002
19009
  name: "recipientsStatus",
19003
19010
  flag: "recipients-status",
@@ -19025,11 +19032,11 @@ var commands = {
19025
19032
  type: "string"
19026
19033
  },
19027
19034
  expand: {
19028
- description: "Related data to include, comma-separated: `recipients`, `readiness`.",
19035
+ description: "Related data to include, comma-separated: `recipients`, `readiness`, `results`.",
19029
19036
  examples: [
19030
- "recipients,readiness"
19037
+ "recipients,readiness,results"
19031
19038
  ],
19032
- pattern: "^(recipients|readiness)(,(recipients|readiness))*$",
19039
+ pattern: "^(recipients|readiness|results)(,(recipients|readiness|results))*$",
19033
19040
  type: "string"
19034
19041
  },
19035
19042
  recipientsCursor: {
@@ -19064,6 +19071,11 @@ var commands = {
19064
19071
  minLength: 1,
19065
19072
  type: "string"
19066
19073
  },
19074
+ recipientsResult: {
19075
+ description: "With `expand=recipients`: `definitionKey=optionKey`, only those whose latest answer is that option; `definitionKey=`, only those with no answer yet.",
19076
+ pattern: "^[a-z][a-z0-9_]{0,63}=([a-z][a-z0-9_]{0,63})?$",
19077
+ type: "string"
19078
+ },
19067
19079
  recipientsStatus: {
19068
19080
  description: "`pending`: waiting for its (next) call or message. `in_progress`: being called, or on WhatsApp waiting for a reply until a reminder is due. `completed`: an attempt succeeded; on WhatsApp, the message arrived. `failed`: its attempts ran out, or it cannot be reached.",
19069
19081
  anyOf: [
@@ -19096,7 +19108,7 @@ var commands = {
19096
19108
  additionalProperties: false
19097
19109
  },
19098
19110
  title: "Get a campaign",
19099
- description: "Read one campaign: Agent, schedule, contact hours, retries, progress and, in `errorCode`, why it cannot reach anyone now. `expand=recipients` adds its recipients in the order they were added, each with attempts, next attempt, error and latest call or message; continue with `recipientsCursor` (`recipientsDirection` reads the other way). `expand=readiness` says whether it can start and lists what has to be fixed first, without reaching anyone. Read it before `update_campaign` and send `expectedVersion`.",
19111
+ description: "Read one campaign: Agent, schedule, contact hours, retries, progress and, in `errorCode`, why it cannot reach anyone now. `expand=recipients` adds its recipients in the order they were added, each with attempts, next attempt, error and latest call or message; continue with `recipientsCursor` (`recipientsDirection` reads the other way). `expand=readiness` says whether it can start and lists what has to be fixed first, without reaching anyone. `expand=results` counts what people answered, by the Agent's data definitions with options; each recipient also says their own. Read it before `update_campaign` and send `expectedVersion`.",
19100
19112
  effect: "read",
19101
19113
  confirmation: null,
19102
19114
  hidden: false
@@ -19258,6 +19270,38 @@ var commands = {
19258
19270
  confirmation: null,
19259
19271
  hidden: false
19260
19272
  },
19273
+ "raiz campaigns start": {
19274
+ operation: "raiz.campaigns.start",
19275
+ sdkPath: [
19276
+ "raiz",
19277
+ "campaigns",
19278
+ "start"
19279
+ ],
19280
+ pathField: "campaignId",
19281
+ fields: [],
19282
+ inputSchema: {
19283
+ additionalProperties: false,
19284
+ type: "object",
19285
+ required: [
19286
+ "campaignId"
19287
+ ],
19288
+ properties: {
19289
+ campaignId: {
19290
+ description: "Campaign id.",
19291
+ examples: [
19292
+ "cmp_01m45h8q2rf3t9w6y7z0b1c2d3"
19293
+ ],
19294
+ pattern: "^cmp_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$",
19295
+ type: "string"
19296
+ }
19297
+ }
19298
+ },
19299
+ title: "Start a campaign",
19300
+ description: "Start reaching people: from now on the campaign's due recipients are called, at most `settings.channels.maxConcurrentOutboundCalls` (five by default) at once across the organization, or sent their message, one after another, about 30 a minute. A call campaign needs an active, published voice Agent (VOICE_AGENT_NOT_READY). A WhatsApp campaign needs an active text Agent (CAMPAIGN_AGENT_NOT_READY), a line that can send (CHANNEL_NOT_READY), an approved template whose parameters fit (a `TEMPLATE_*` code), a value for every variable (CAMPAIGN_VARIABLE_MISSING) and, when the template's header is a document, image or video, the first pending recipient's own `header` file (CAMPAIGN_HEADER_MISSING). A recipient must be pending (CAMPAIGN_NO_RECIPIENTS). `get_campaign` with `expand=readiness` lists all of this beforehand. A campaign starts once: starting a running one changes nothing, and a paused one resumes with `update_campaign` and `paused: false`. Not an AI tool: it reaches real people.",
19301
+ effect: "write",
19302
+ confirmation: null,
19303
+ hidden: false
19304
+ },
19261
19305
  "raiz campaigns update": {
19262
19306
  operation: "raiz.campaigns.update",
19263
19307
  sdkPath: [
@@ -19553,7 +19597,7 @@ var commands = {
19553
19597
  }
19554
19598
  },
19555
19599
  title: "Update a campaign",
19556
- description: "Change a campaign. Omitted fields stay. `paused: true` pauses a started campaign (no new call or message starts; those in progress finish) and `paused: false` resumes it, with the same checks as starting. Before the start, `recipients` is the complete set, replacing whoever was there; once started it only adds. `addRecipients` adds at any moment, which is how a list longer than one request arrives: a number the campaign already has is skipped, so repeating a part reaches nobody twice. The Agent changes only before the start, and a completed campaign accepts only its name and metadata. A change lifts the wait of a campaign held by `errorCode`: fixing a template and sending it here tries again at once.",
19600
+ description: "Change a campaign. Omitted fields stay. `paused: true` pauses a started campaign (no new call or message starts; those in progress finish) and `paused: false` resumes it, with the same checks as starting. Before the start, `recipients` is the complete set, replacing whoever was there; once started it only adds. `addRecipients` adds at any moment, which is how a list longer than one request arrives: a number the campaign already has is skipped, so repeating a part reaches nobody twice, and a recipient's `header` file is stored only when its row has none (CAMPAIGN_HEADER_NOT_STORED says some were not: send those recipients again). The Agent changes only before the start, and a completed campaign accepts only its name and metadata. A change lifts the wait of a campaign held by `errorCode`: fixing a template and sending it here tries again at once.",
19557
19601
  effect: "write",
19558
19602
  confirmation: null,
19559
19603
  hidden: false
@@ -31027,6 +31071,59 @@ var commands = {
31027
31071
  confirmation: null,
31028
31072
  hidden: false
31029
31073
  },
31074
+ "visoft appointment-receipts lookup": {
31075
+ operation: "visoft.appointmentReceipts.lookup",
31076
+ sdkPath: [
31077
+ "visoft",
31078
+ "appointmentReceipts",
31079
+ "lookup"
31080
+ ],
31081
+ pathField: null,
31082
+ fields: [
31083
+ {
31084
+ name: "connectionId",
31085
+ flag: "connection-id",
31086
+ kind: "string",
31087
+ required: false,
31088
+ description: "The connection to run on. Optional when the organization has one Visoft connection; required when it has several. Another organization's connection is CONNECTION_NOT_FOUND."
31089
+ },
31090
+ {
31091
+ name: "reference",
31092
+ flag: "reference",
31093
+ kind: "string",
31094
+ required: true,
31095
+ description: "The appointment's opaque reference, as visoft.appointments.list answered it."
31096
+ }
31097
+ ],
31098
+ inputSchema: {
31099
+ additionalProperties: false,
31100
+ type: "object",
31101
+ required: [
31102
+ "reference"
31103
+ ],
31104
+ properties: {
31105
+ connectionId: {
31106
+ minLength: 5,
31107
+ maxLength: 68,
31108
+ pattern: "^con_[0-9A-Za-z]+$",
31109
+ description: "The connection to run on. Optional when the organization has one Visoft connection; required when it has several. Another organization's connection is CONNECTION_NOT_FOUND.",
31110
+ type: "string"
31111
+ },
31112
+ reference: {
31113
+ minLength: 1,
31114
+ maxLength: 300,
31115
+ pattern: "^[A-Za-z0-9:._-]+(?:=[A-Za-z0-9:._-]*){8,24}$",
31116
+ description: "The appointment's opaque reference, as visoft.appointments.list answered it.",
31117
+ type: "string"
31118
+ }
31119
+ }
31120
+ },
31121
+ title: "Look up an appointment receipt",
31122
+ description: "SIIPS's own printed receipt (ticket) of one assigned appointment, by the reference visoft.appointments.list answered: the PDF SIIPS's print action serves, unchanged, base64. It is answered only when its text names the appointment's day, hour and patient; otherwise APPOINTMENT_RECEIPT_UNAVAILABLE. Never cached. Printing changes no appointment and sends nothing to the patient.",
31123
+ effect: "read",
31124
+ confirmation: null,
31125
+ hidden: false
31126
+ },
31030
31127
  "visoft appointments cancel": {
31031
31128
  operation: "visoft.appointments.cancel",
31032
31129
  sdkPath: [
@@ -31547,7 +31644,7 @@ var commands = {
31547
31644
  }
31548
31645
  },
31549
31646
  title: "List assigned appointments",
31550
- description: "Read assigned appointments for one day at a cost centre, ordered by moment and reference, with the contact phone SIIPS records. Never cached. A full upstream page that cannot prove completeness is PROVIDER_UNAVAILABLE; narrow by professionalId rather than treating a partial agenda as complete. This operation changes no appointment and sends no message.",
31647
+ description: "Read assigned appointments for one day at a cost centre, ordered by moment and reference, with the contact phone and the state (`status`) SIIPS records. Never cached. A full upstream page that cannot prove completeness is PROVIDER_UNAVAILABLE; narrow by professionalId rather than treating a partial agenda as complete. This operation changes no appointment and sends no message.",
31551
31648
  effect: "read",
31552
31649
  confirmation: null,
31553
31650
  hidden: false
@@ -88361,6 +88458,14 @@ var schemaComponents = {
88361
88458
  recipients: {
88362
88459
  $ref: "#/components/schemas/RaizCampaignRecipientPage",
88363
88460
  description: "The campaign's recipients in the order they were added, each with its latest attempt. Present only when expanded."
88461
+ },
88462
+ results: {
88463
+ description: "What people answered, for each data definition with options their Agent collects that has an answer yet. Answers arrive when a conversation closes and is analyzed, so they can keep arriving after the campaign ends.",
88464
+ maxItems: 100,
88465
+ type: "array",
88466
+ items: {
88467
+ $ref: "#/components/schemas/RaizCampaignResult"
88468
+ }
88364
88469
  }
88365
88470
  }
88366
88471
  },
@@ -88572,6 +88677,10 @@ var schemaComponents = {
88572
88677
  }
88573
88678
  ]
88574
88679
  },
88680
+ header: {
88681
+ $ref: "#/components/schemas/RaizTemplateHeaderFile",
88682
+ description: "WhatsApp only: this recipient's file for a template whose header is a document, image or video (an appointment's receipts, a ticket), shown above its text. Kept privately with the campaign and sent with this recipient's message; a number the campaign already has keeps its first file, and replacing the whole list replaces them. A request carries at most 2 MiB: send a long list with files in parts with `addRecipients`."
88683
+ },
88575
88684
  instructions: {
88576
88685
  anyOf: [
88577
88686
  {
@@ -88586,7 +88695,7 @@ var schemaComponents = {
88586
88695
  ]
88587
88696
  },
88588
88697
  variables: {
88589
- description: "Values for the `{{name}}` variables a WhatsApp template's parameters, or the Agent's instructions, first message or this campaign's texts on a call, reference. Raíz always provides `contact_name`, `contact_given_name` and `contact_phone`, and on a call also `contact_id`, `conversation_id` and `bulletins` (the business bulletins in force); a recipient's values never replace them.",
88698
+ description: "Values for the `{{name}}` variables a WhatsApp template's parameters, or the Agent's instructions, first message or this campaign's texts on a call, reference. A reference means the variable that is the same word, whatever its accents and case: `{{País}}` reads `pais`, and an exact name wins. Raíz always provides `contact_name`, `contact_given_name` and `contact_phone`, and on a call also `contact_id`, `conversation_id` and `bulletins` (the business bulletins in force); a recipient's values never replace them.",
88590
88699
  maxProperties: 30,
88591
88700
  type: "object",
88592
88701
  patternProperties: {
@@ -88616,6 +88725,7 @@ var schemaComponents = {
88616
88725
  required: [
88617
88726
  "address",
88618
88727
  "attemptCount",
88728
+ "contact",
88619
88729
  "contactId",
88620
88730
  "createdAt",
88621
88731
  "deliveredAt",
@@ -88629,6 +88739,7 @@ var schemaComponents = {
88629
88739
  "nextAttemptAt",
88630
88740
  "readAt",
88631
88741
  "repliedAt",
88742
+ "results",
88632
88743
  "status",
88633
88744
  "updatedAt",
88634
88745
  "variables"
@@ -88641,6 +88752,43 @@ var schemaComponents = {
88641
88752
  minimum: 0,
88642
88753
  type: "integer"
88643
88754
  },
88755
+ contact: {
88756
+ anyOf: [
88757
+ {
88758
+ description: "The contact this person is: the one the list named, else the one that owns the number. Null when the organization has none yet; the campaign creates it when it reaches them.",
88759
+ additionalProperties: false,
88760
+ type: "object",
88761
+ required: [
88762
+ "id",
88763
+ "name"
88764
+ ],
88765
+ properties: {
88766
+ id: {
88767
+ description: "Contact id.",
88768
+ examples: [
88769
+ "cnt_01m45h8q2rf3t9w6y7z0b1c2d3"
88770
+ ],
88771
+ pattern: "^cnt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$",
88772
+ type: "string"
88773
+ },
88774
+ name: {
88775
+ anyOf: [
88776
+ {
88777
+ description: "Their saved name, else the name they show on WhatsApp; null when the organization has neither.",
88778
+ type: "string"
88779
+ },
88780
+ {
88781
+ type: "null"
88782
+ }
88783
+ ]
88784
+ }
88785
+ }
88786
+ },
88787
+ {
88788
+ type: "null"
88789
+ }
88790
+ ]
88791
+ },
88644
88792
  contactId: {
88645
88793
  anyOf: [
88646
88794
  {
@@ -88735,7 +88883,7 @@ var schemaComponents = {
88735
88883
  lastAttempt: {
88736
88884
  anyOf: [
88737
88885
  {
88738
- description: "The latest call or message to this recipient; its transcript is `getConversation`.",
88886
+ description: "The latest call or message to this recipient, or their answer when it came after that conversation closed; its transcript is `getConversation`.",
88739
88887
  additionalProperties: false,
88740
88888
  type: "object",
88741
88889
  required: [
@@ -88836,6 +88984,34 @@ var schemaComponents = {
88836
88984
  }
88837
88985
  ]
88838
88986
  },
88987
+ results: {
88988
+ description: "What this person answered, from their conversations: the latest for each data definition with options their Agent collects. Empty until a conversation they answered closes and is analyzed.",
88989
+ maxItems: 100,
88990
+ type: "array",
88991
+ items: {
88992
+ additionalProperties: false,
88993
+ type: "object",
88994
+ required: [
88995
+ "definitionKey",
88996
+ "label",
88997
+ "value"
88998
+ ],
88999
+ properties: {
89000
+ definitionKey: {
89001
+ description: "The key of the data definition that read it.",
89002
+ type: "string"
89003
+ },
89004
+ label: {
89005
+ description: "The answer, as people read it.",
89006
+ type: "string"
89007
+ },
89008
+ value: {
89009
+ description: "The key of the answer's option.",
89010
+ type: "string"
89011
+ }
89012
+ }
89013
+ }
89014
+ },
88839
89015
  status: {
88840
89016
  description: "`pending`: waiting for its (next) call or message. `in_progress`: being called, or on WhatsApp waiting for a reply until a reminder is due. `completed`: an attempt succeeded; on WhatsApp, the message arrived. `failed`: its attempts ran out, or it cannot be reached.",
88841
89017
  anyOf: [
@@ -88867,7 +89043,7 @@ var schemaComponents = {
88867
89043
  type: "string"
88868
89044
  },
88869
89045
  variables: {
88870
- description: "Values for the `{{name}}` variables a WhatsApp template's parameters, or the Agent's instructions, first message or this campaign's texts on a call, reference. Raíz always provides `contact_name`, `contact_given_name` and `contact_phone`, and on a call also `contact_id`, `conversation_id` and `bulletins` (the business bulletins in force); a recipient's values never replace them.",
89046
+ description: "Values for the `{{name}}` variables a WhatsApp template's parameters, or the Agent's instructions, first message or this campaign's texts on a call, reference. A reference means the variable that is the same word, whatever its accents and case: `{{País}}` reads `pais`, and an exact name wins. Raíz always provides `contact_name`, `contact_given_name` and `contact_phone`, and on a call also `contact_id`, `conversation_id` and `bulletins` (the business bulletins in force); a recipient's values never replace them.",
88871
89047
  maxProperties: 30,
88872
89048
  type: "object",
88873
89049
  patternProperties: {
@@ -88891,6 +89067,60 @@ var schemaComponents = {
88891
89067
  }
88892
89068
  }
88893
89069
  },
89070
+ RaizCampaignResult: {
89071
+ additionalProperties: false,
89072
+ type: "object",
89073
+ required: [
89074
+ "definition",
89075
+ "values"
89076
+ ],
89077
+ properties: {
89078
+ definition: {
89079
+ additionalProperties: false,
89080
+ type: "object",
89081
+ required: [
89082
+ "key",
89083
+ "name"
89084
+ ],
89085
+ properties: {
89086
+ key: {
89087
+ type: "string"
89088
+ },
89089
+ name: {
89090
+ type: "string"
89091
+ }
89092
+ }
89093
+ },
89094
+ values: {
89095
+ maxItems: 100,
89096
+ type: "array",
89097
+ items: {
89098
+ additionalProperties: false,
89099
+ type: "object",
89100
+ required: [
89101
+ "key",
89102
+ "label",
89103
+ "people"
89104
+ ],
89105
+ properties: {
89106
+ key: {
89107
+ description: "The key of the answer's option.",
89108
+ type: "string"
89109
+ },
89110
+ label: {
89111
+ description: "The answer, as people read it.",
89112
+ type: "string"
89113
+ },
89114
+ people: {
89115
+ description: "How many recipients it is the latest answer of. Each counts once, however many conversations they had.",
89116
+ minimum: 1,
89117
+ type: "integer"
89118
+ }
89119
+ }
89120
+ }
89121
+ }
89122
+ }
89123
+ },
88894
89124
  RaizCampaignTemplate: {
88895
89125
  additionalProperties: false,
88896
89126
  type: "object",
@@ -88907,7 +89137,7 @@ var schemaComponents = {
88907
89137
  type: "string"
88908
89138
  },
88909
89139
  name: {
88910
- description: "An approved template of the line's WhatsApp Business Account. Its body may have variables; a file in its header and button parameters cannot be used in a campaign.",
89140
+ description: "An approved template of the line's WhatsApp Business Account. Its body may have variables; when its header is a document, image or video, each recipient brings its own file (`header`). Button parameters cannot be used in a campaign.",
88911
89141
  maxLength: 512,
88912
89142
  minLength: 1,
88913
89143
  type: "string"
@@ -88938,7 +89168,7 @@ var schemaComponents = {
88938
89168
  type: "string"
88939
89169
  },
88940
89170
  name: {
88941
- description: "An approved template of the line's WhatsApp Business Account. Its body may have variables; a file in its header and button parameters cannot be used in a campaign.",
89171
+ description: "An approved template of the line's WhatsApp Business Account. Its body may have variables; when its header is a document, image or video, each recipient brings its own file (`header`). Button parameters cannot be used in a campaign.",
88942
89172
  maxLength: 512,
88943
89173
  minLength: 1,
88944
89174
  type: "string"
@@ -94713,11 +94943,11 @@ var schemaComponents = {
94713
94943
  ],
94714
94944
  properties: {
94715
94945
  code: {
94716
- const: "CAMPAIGN_NO_RECIPIENTS",
94946
+ const: "CAMPAIGN_HEADER_MISSING",
94717
94947
  type: "string"
94718
94948
  },
94719
94949
  message: {
94720
- const: "The campaign has nobody left to reach. Add recipients first.",
94950
+ const: "A recipient has no file that fits the template's header (a PDF for a document, JPEG or PNG for an image, MP4 for a video). Each recipient brings its own as `header`.",
94721
94951
  type: "string"
94722
94952
  },
94723
94953
  retryable: {
@@ -94742,11 +94972,11 @@ var schemaComponents = {
94742
94972
  ],
94743
94973
  properties: {
94744
94974
  code: {
94745
- const: "CAMPAIGN_VARIABLE_MISSING",
94975
+ const: "CAMPAIGN_HEADER_NOT_STORED",
94746
94976
  type: "string"
94747
94977
  },
94748
94978
  message: {
94749
- const: "A recipient has no value for a variable the template's parameters use. An empty value cannot be sent on WhatsApp.",
94979
+ const: "The campaign and its recipients were saved, but some recipients' files were not. Send those recipients again with `addRecipients` on this campaign: their numbers are kept and their files stored. Do not create the campaign again.",
94750
94980
  type: "string"
94751
94981
  },
94752
94982
  retryable: {
@@ -94757,16 +94987,11 @@ var schemaComponents = {
94757
94987
  additionalProperties: false,
94758
94988
  type: "object",
94759
94989
  required: [
94760
- "address",
94761
- "variable"
94990
+ "campaignId"
94762
94991
  ],
94763
94992
  properties: {
94764
- address: {
94765
- description: "The first recipient that lacks the value.",
94766
- type: "string"
94767
- },
94768
- variable: {
94769
- description: "The variable of the template's parameters it lacks.",
94993
+ campaignId: {
94994
+ description: "The campaign, saved with its recipients.",
94770
94995
  type: "string"
94771
94996
  }
94772
94997
  }
@@ -94784,11 +95009,11 @@ var schemaComponents = {
94784
95009
  ],
94785
95010
  properties: {
94786
95011
  code: {
94787
- const: "CHANNEL_AGENT_MISMATCH",
95012
+ const: "CAMPAIGN_NO_RECIPIENTS",
94788
95013
  type: "string"
94789
95014
  },
94790
95015
  message: {
94791
- const: "This Agent cannot serve this channel: voice channels need a voice Agent; WhatsApp and web channels need a text Agent.",
95016
+ const: "The campaign has nobody left to reach. Add recipients first.",
94792
95017
  type: "string"
94793
95018
  },
94794
95019
  retryable: {
@@ -94813,11 +95038,11 @@ var schemaComponents = {
94813
95038
  ],
94814
95039
  properties: {
94815
95040
  code: {
94816
- const: "CHANNEL_CREATION_IN_APP",
95041
+ const: "CAMPAIGN_VARIABLE_MISSING",
94817
95042
  type: "string"
94818
95043
  },
94819
95044
  message: {
94820
- 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.",
95045
+ const: "A recipient has no value for a variable the template's parameters use. An empty value cannot be sent on WhatsApp.",
94821
95046
  type: "string"
94822
95047
  },
94823
95048
  retryable: {
@@ -94827,7 +95052,20 @@ var schemaComponents = {
94827
95052
  data: {
94828
95053
  additionalProperties: false,
94829
95054
  type: "object",
94830
- properties: {}
95055
+ required: [
95056
+ "address",
95057
+ "variable"
95058
+ ],
95059
+ properties: {
95060
+ address: {
95061
+ description: "The first recipient that lacks the value.",
95062
+ type: "string"
95063
+ },
95064
+ variable: {
95065
+ description: "The variable of the template's parameters it lacks.",
95066
+ type: "string"
95067
+ }
95068
+ }
94831
95069
  }
94832
95070
  }
94833
95071
  },
@@ -94842,11 +95080,11 @@ var schemaComponents = {
94842
95080
  ],
94843
95081
  properties: {
94844
95082
  code: {
94845
- const: "CHANNEL_AGENT_REQUIRED",
95083
+ const: "CHANNEL_AGENT_MISMATCH",
94846
95084
  type: "string"
94847
95085
  },
94848
95086
  message: {
94849
- const: "Inbound traffic requires an assigned Agent. Outbound traffic requires one except on WhatsApp notification channels.",
95087
+ const: "This Agent cannot serve this channel: voice channels need a voice Agent; WhatsApp and web channels need a text Agent.",
94850
95088
  type: "string"
94851
95089
  },
94852
95090
  retryable: {
@@ -94871,11 +95109,11 @@ var schemaComponents = {
94871
95109
  ],
94872
95110
  properties: {
94873
95111
  code: {
94874
- const: "CHANNEL_ENDPOINT_IN_USE",
95112
+ const: "CHANNEL_CREATION_IN_APP",
94875
95113
  type: "string"
94876
95114
  },
94877
95115
  message: {
94878
- const: "Another channel already uses this number or endpoint.",
95116
+ 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.",
94879
95117
  type: "string"
94880
95118
  },
94881
95119
  retryable: {
@@ -94900,11 +95138,11 @@ var schemaComponents = {
94900
95138
  ],
94901
95139
  properties: {
94902
95140
  code: {
94903
- const: "CHANNEL_NOT_READY",
95141
+ const: "CHANNEL_AGENT_REQUIRED",
94904
95142
  type: "string"
94905
95143
  },
94906
95144
  message: {
94907
- const: "The channel is not connected yet, or this kind of traffic is not enabled on it.",
95145
+ const: "Inbound traffic requires an assigned Agent. Outbound traffic requires one except on WhatsApp notification channels.",
94908
95146
  type: "string"
94909
95147
  },
94910
95148
  retryable: {
@@ -94929,11 +95167,11 @@ var schemaComponents = {
94929
95167
  ],
94930
95168
  properties: {
94931
95169
  code: {
94932
- const: "CHANNEL_TYPE_MISMATCH",
95170
+ const: "CHANNEL_ENDPOINT_IN_USE",
94933
95171
  type: "string"
94934
95172
  },
94935
95173
  message: {
94936
- const: "This operation or field does not apply to this channel's type.",
95174
+ const: "Another channel already uses this number or endpoint.",
94937
95175
  type: "string"
94938
95176
  },
94939
95177
  retryable: {
@@ -94958,11 +95196,11 @@ var schemaComponents = {
94958
95196
  ],
94959
95197
  properties: {
94960
95198
  code: {
94961
- const: "CONVERSATION_VIEW_AUTHOR_ONLY",
95199
+ const: "CHANNEL_NOT_READY",
94962
95200
  type: "string"
94963
95201
  },
94964
95202
  message: {
94965
- const: "Only the person who saved this view can make it private; it would disappear for the rest of the team.",
95203
+ const: "The channel is not connected yet, or this kind of traffic is not enabled on it.",
94966
95204
  type: "string"
94967
95205
  },
94968
95206
  retryable: {
@@ -94987,11 +95225,11 @@ var schemaComponents = {
94987
95225
  ],
94988
95226
  properties: {
94989
95227
  code: {
94990
- const: "CONVERSATION_VIEW_LIMIT_REACHED",
95228
+ const: "CHANNEL_TYPE_MISMATCH",
94991
95229
  type: "string"
94992
95230
  },
94993
95231
  message: {
94994
- const: "The organization already has 200 saved views. Delete one before saving another.",
95232
+ const: "This operation or field does not apply to this channel's type.",
94995
95233
  type: "string"
94996
95234
  },
94997
95235
  retryable: {
@@ -95016,11 +95254,11 @@ var schemaComponents = {
95016
95254
  ],
95017
95255
  properties: {
95018
95256
  code: {
95019
- const: "CONVERSATION_VIEW_NAME_TAKEN",
95257
+ const: "CONVERSATION_VIEW_AUTHOR_ONLY",
95020
95258
  type: "string"
95021
95259
  },
95022
95260
  message: {
95023
- const: "Another saved view already has this name. Choose a different name.",
95261
+ const: "Only the person who saved this view can make it private; it would disappear for the rest of the team.",
95024
95262
  type: "string"
95025
95263
  },
95026
95264
  retryable: {
@@ -95045,11 +95283,11 @@ var schemaComponents = {
95045
95283
  ],
95046
95284
  properties: {
95047
95285
  code: {
95048
- const: "TEMPLATE_HEADER_MISMATCH",
95286
+ const: "CONVERSATION_VIEW_LIMIT_REACHED",
95049
95287
  type: "string"
95050
95288
  },
95051
95289
  message: {
95052
- 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.",
95290
+ const: "The organization already has 200 saved views. Delete one before saving another.",
95053
95291
  type: "string"
95054
95292
  },
95055
95293
  retryable: {
@@ -95074,11 +95312,11 @@ var schemaComponents = {
95074
95312
  ],
95075
95313
  properties: {
95076
95314
  code: {
95077
- const: "TEMPLATE_HEADER_REQUIRED",
95315
+ const: "CONVERSATION_VIEW_NAME_TAKEN",
95078
95316
  type: "string"
95079
95317
  },
95080
95318
  message: {
95081
- const: "The template's header is a document, image or video: send its file with the template.",
95319
+ const: "Another saved view already has this name. Choose a different name.",
95082
95320
  type: "string"
95083
95321
  },
95084
95322
  retryable: {
@@ -95103,11 +95341,11 @@ var schemaComponents = {
95103
95341
  ],
95104
95342
  properties: {
95105
95343
  code: {
95106
- const: "TEMPLATE_NOT_APPROVED",
95344
+ const: "TEMPLATE_HEADER_MISMATCH",
95107
95345
  type: "string"
95108
95346
  },
95109
95347
  message: {
95110
- const: "The template is not approved for sending: it is pending review, rejected, paused or disabled.",
95348
+ 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.",
95111
95349
  type: "string"
95112
95350
  },
95113
95351
  retryable: {
@@ -95132,11 +95370,69 @@ var schemaComponents = {
95132
95370
  ],
95133
95371
  properties: {
95134
95372
  code: {
95135
- const: "TEMPLATE_NOT_FOUND",
95373
+ const: "TEMPLATE_HEADER_REQUIRED",
95136
95374
  type: "string"
95137
95375
  },
95138
95376
  message: {
95139
- const: "The template does not exist in this channel's WhatsApp Business Account.",
95377
+ const: "The template's header is a document, image or video: send its file with the template.",
95378
+ type: "string"
95379
+ },
95380
+ retryable: {
95381
+ const: false,
95382
+ type: "boolean"
95383
+ },
95384
+ data: {
95385
+ additionalProperties: false,
95386
+ type: "object",
95387
+ properties: {}
95388
+ }
95389
+ }
95390
+ },
95391
+ {
95392
+ additionalProperties: false,
95393
+ type: "object",
95394
+ required: [
95395
+ "code",
95396
+ "message",
95397
+ "retryable",
95398
+ "data"
95399
+ ],
95400
+ properties: {
95401
+ code: {
95402
+ const: "TEMPLATE_NOT_APPROVED",
95403
+ type: "string"
95404
+ },
95405
+ message: {
95406
+ const: "The template is not approved for sending: it is pending review, rejected, paused or disabled.",
95407
+ type: "string"
95408
+ },
95409
+ retryable: {
95410
+ const: false,
95411
+ type: "boolean"
95412
+ },
95413
+ data: {
95414
+ additionalProperties: false,
95415
+ type: "object",
95416
+ properties: {}
95417
+ }
95418
+ }
95419
+ },
95420
+ {
95421
+ additionalProperties: false,
95422
+ type: "object",
95423
+ required: [
95424
+ "code",
95425
+ "message",
95426
+ "retryable",
95427
+ "data"
95428
+ ],
95429
+ properties: {
95430
+ code: {
95431
+ const: "TEMPLATE_NOT_FOUND",
95432
+ type: "string"
95433
+ },
95434
+ message: {
95435
+ const: "The template does not exist in this channel's WhatsApp Business Account.",
95140
95436
  type: "string"
95141
95437
  },
95142
95438
  retryable: {
@@ -114045,6 +114341,7 @@ var schemaComponents = {
114045
114341
  "startsAt",
114046
114342
  "admissionNumber",
114047
114343
  "attended",
114344
+ "status",
114048
114345
  "purpose",
114049
114346
  "resource",
114050
114347
  "subCostCenter",
@@ -114111,6 +114408,10 @@ var schemaComponents = {
114111
114408
  description: "SIIPS's attendance mark.",
114112
114409
  type: "string"
114113
114410
  },
114411
+ status: {
114412
+ description: "SIIPS's state of the appointment (its agenda's Estado), as stored: `S` for one requested.",
114413
+ type: "string"
114414
+ },
114114
114415
  purpose: {
114115
114416
  description: "The purpose SIIPS records.",
114116
114417
  type: "string"
@@ -114175,6 +114476,108 @@ var schemaComponents = {
114175
114476
  }
114176
114477
  }
114177
114478
  },
114479
+ VisoftAppointmentReceipt: {
114480
+ additionalProperties: false,
114481
+ type: "object",
114482
+ required: [
114483
+ "reference",
114484
+ "fileName",
114485
+ "mediaType",
114486
+ "sizeBytes",
114487
+ "sha256",
114488
+ "data"
114489
+ ],
114490
+ properties: {
114491
+ reference: {
114492
+ description: "The reference the receipt was printed for.",
114493
+ type: "string"
114494
+ },
114495
+ fileName: {
114496
+ description: "A file name made of the appointment's day and hour; never the patient's.",
114497
+ type: "string"
114498
+ },
114499
+ mediaType: {
114500
+ const: "application/pdf",
114501
+ type: "string"
114502
+ },
114503
+ sizeBytes: {
114504
+ minimum: 1,
114505
+ type: "integer"
114506
+ },
114507
+ sha256: {
114508
+ pattern: "^[0-9a-f]{64}$",
114509
+ description: "The SHA-256 of the bytes, hexadecimal.",
114510
+ type: "string"
114511
+ },
114512
+ data: {
114513
+ contentEncoding: "base64",
114514
+ description: "The PDF, unchanged, base64.",
114515
+ type: "string"
114516
+ }
114517
+ }
114518
+ },
114519
+ VisoftAppointmentReceiptResponse: {
114520
+ type: "object",
114521
+ description: "A successful answer.",
114522
+ additionalProperties: false,
114523
+ required: [
114524
+ "success",
114525
+ "data",
114526
+ "error",
114527
+ "metadata"
114528
+ ],
114529
+ properties: {
114530
+ success: {
114531
+ type: "boolean",
114532
+ enum: [
114533
+ true
114534
+ ]
114535
+ },
114536
+ data: {
114537
+ $ref: "#/components/schemas/VisoftAppointmentReceipt"
114538
+ },
114539
+ error: {
114540
+ const: null
114541
+ },
114542
+ metadata: {
114543
+ $ref: "#/components/schemas/ResponseMetadata"
114544
+ }
114545
+ }
114546
+ },
114547
+ VisoftAppointmentReceiptUnavailableFailure: {
114548
+ type: "object",
114549
+ description: "SIIPS printed no receipt naming this appointment's day, hour and patient. Read the day's appointments again for a current reference.",
114550
+ additionalProperties: false,
114551
+ required: [
114552
+ "code",
114553
+ "message",
114554
+ "retryable",
114555
+ "data"
114556
+ ],
114557
+ properties: {
114558
+ code: {
114559
+ type: "string",
114560
+ enum: [
114561
+ "APPOINTMENT_RECEIPT_UNAVAILABLE"
114562
+ ],
114563
+ description: "The failure code, stable across releases."
114564
+ },
114565
+ message: {
114566
+ type: "string",
114567
+ description: "What went wrong, for people; it never contains input values."
114568
+ },
114569
+ retryable: {
114570
+ type: "boolean",
114571
+ enum: [
114572
+ false
114573
+ ],
114574
+ description: "Whether repeating the same request may succeed."
114575
+ },
114576
+ data: {
114577
+ $ref: "#/components/schemas/Empty"
114578
+ }
114579
+ }
114580
+ },
114178
114581
  VisoftAppointmentReferenceInvalidFailure: {
114179
114582
  type: "object",
114180
114583
  description: "The reference is not one a patient's appointments answered. Nothing was cancelled.",
@@ -114270,6 +114673,7 @@ var schemaComponents = {
114270
114673
  "patientName",
114271
114674
  "phone",
114272
114675
  "service",
114676
+ "status",
114273
114677
  "attended"
114274
114678
  ],
114275
114679
  properties: {
@@ -114304,6 +114708,10 @@ var schemaComponents = {
114304
114708
  service: {
114305
114709
  type: "string"
114306
114710
  },
114711
+ status: {
114712
+ description: "SIIPS's state of the appointment (its agenda's Estado), as stored: `S` for one requested and still to be attended.",
114713
+ type: "string"
114714
+ },
114307
114715
  attended: {
114308
114716
  description: "SIIPS's attendance flag, as stored.",
114309
114717
  type: "string"
@@ -117145,6 +117553,164 @@ var schemaComponents = {
117145
117553
  }
117146
117554
  }
117147
117555
  },
117556
+ VisoftLookupAppointmentReceiptBadGatewayError: {
117557
+ type: "object",
117558
+ description: "A failed answer.",
117559
+ additionalProperties: false,
117560
+ required: [
117561
+ "success",
117562
+ "data",
117563
+ "error",
117564
+ "metadata"
117565
+ ],
117566
+ properties: {
117567
+ success: {
117568
+ type: "boolean",
117569
+ enum: [
117570
+ false
117571
+ ]
117572
+ },
117573
+ data: {
117574
+ const: null
117575
+ },
117576
+ error: {
117577
+ $ref: "#/components/schemas/VisoftLookupAppointmentReceiptBadGatewayFailure"
117578
+ },
117579
+ metadata: {
117580
+ $ref: "#/components/schemas/ResponseMetadata"
117581
+ }
117582
+ }
117583
+ },
117584
+ VisoftLookupAppointmentReceiptBadGatewayFailure: {
117585
+ oneOf: [
117586
+ {
117587
+ $ref: "#/components/schemas/OutcomeUnknownFailure"
117588
+ },
117589
+ {
117590
+ $ref: "#/components/schemas/VisoftProviderUnavailableFailure"
117591
+ }
117592
+ ],
117593
+ discriminator: {
117594
+ propertyName: "code",
117595
+ mapping: {
117596
+ OUTCOME_UNKNOWN: "#/components/schemas/OutcomeUnknownFailure",
117597
+ PROVIDER_UNAVAILABLE: "#/components/schemas/VisoftProviderUnavailableFailure"
117598
+ }
117599
+ }
117600
+ },
117601
+ VisoftLookupAppointmentReceiptBody: {
117602
+ additionalProperties: false,
117603
+ type: "object",
117604
+ required: [
117605
+ "reference"
117606
+ ],
117607
+ properties: {
117608
+ connectionId: {
117609
+ minLength: 5,
117610
+ maxLength: 68,
117611
+ pattern: "^con_[0-9A-Za-z]+$",
117612
+ description: "The connection to run on. Optional when the organization has one Visoft connection; required when it has several. Another organization's connection is CONNECTION_NOT_FOUND.",
117613
+ type: "string"
117614
+ },
117615
+ reference: {
117616
+ minLength: 1,
117617
+ maxLength: 300,
117618
+ pattern: "^[A-Za-z0-9:._-]+(?:=[A-Za-z0-9:._-]*){8,24}$",
117619
+ description: "The appointment's opaque reference, as visoft.appointments.list answered it.",
117620
+ type: "string"
117621
+ }
117622
+ }
117623
+ },
117624
+ VisoftLookupAppointmentReceiptNotFoundError: {
117625
+ type: "object",
117626
+ description: "A failed answer.",
117627
+ additionalProperties: false,
117628
+ required: [
117629
+ "success",
117630
+ "data",
117631
+ "error",
117632
+ "metadata"
117633
+ ],
117634
+ properties: {
117635
+ success: {
117636
+ type: "boolean",
117637
+ enum: [
117638
+ false
117639
+ ]
117640
+ },
117641
+ data: {
117642
+ const: null
117643
+ },
117644
+ error: {
117645
+ $ref: "#/components/schemas/VisoftLookupAppointmentReceiptNotFoundFailure"
117646
+ },
117647
+ metadata: {
117648
+ $ref: "#/components/schemas/ResponseMetadata"
117649
+ }
117650
+ }
117651
+ },
117652
+ VisoftLookupAppointmentReceiptNotFoundFailure: {
117653
+ oneOf: [
117654
+ {
117655
+ $ref: "#/components/schemas/ConnectionNotFoundFailure"
117656
+ },
117657
+ {
117658
+ $ref: "#/components/schemas/VisoftAppointmentReceiptUnavailableFailure"
117659
+ }
117660
+ ],
117661
+ discriminator: {
117662
+ propertyName: "code",
117663
+ mapping: {
117664
+ CONNECTION_NOT_FOUND: "#/components/schemas/ConnectionNotFoundFailure",
117665
+ APPOINTMENT_RECEIPT_UNAVAILABLE: "#/components/schemas/VisoftAppointmentReceiptUnavailableFailure"
117666
+ }
117667
+ }
117668
+ },
117669
+ VisoftLookupAppointmentReceiptUnprocessableContentError: {
117670
+ type: "object",
117671
+ description: "A failed answer.",
117672
+ additionalProperties: false,
117673
+ required: [
117674
+ "success",
117675
+ "data",
117676
+ "error",
117677
+ "metadata"
117678
+ ],
117679
+ properties: {
117680
+ success: {
117681
+ type: "boolean",
117682
+ enum: [
117683
+ false
117684
+ ]
117685
+ },
117686
+ data: {
117687
+ const: null
117688
+ },
117689
+ error: {
117690
+ $ref: "#/components/schemas/VisoftLookupAppointmentReceiptUnprocessableContentFailure"
117691
+ },
117692
+ metadata: {
117693
+ $ref: "#/components/schemas/ResponseMetadata"
117694
+ }
117695
+ }
117696
+ },
117697
+ VisoftLookupAppointmentReceiptUnprocessableContentFailure: {
117698
+ oneOf: [
117699
+ {
117700
+ $ref: "#/components/schemas/VisoftCredentialsRejectedFailure"
117701
+ },
117702
+ {
117703
+ $ref: "#/components/schemas/VisoftAgencyNotServedFailure"
117704
+ }
117705
+ ],
117706
+ discriminator: {
117707
+ propertyName: "code",
117708
+ mapping: {
117709
+ CREDENTIALS_REJECTED: "#/components/schemas/VisoftCredentialsRejectedFailure",
117710
+ AGENCY_NOT_SERVED: "#/components/schemas/VisoftAgencyNotServedFailure"
117711
+ }
117712
+ }
117713
+ },
117148
117714
  VisoftLookupAvailabilityBadGatewayError: {
117149
117715
  type: "object",
117150
117716
  description: "A failed answer.",
@@ -128434,11 +129000,11 @@ var schemaComponents = {
128434
129000
  type: "string"
128435
129001
  },
128436
129002
  expand: {
128437
- description: "Related data to include, comma-separated: `recipients`, `readiness`.",
129003
+ description: "Related data to include, comma-separated: `recipients`, `readiness`, `results`.",
128438
129004
  examples: [
128439
- "recipients,readiness"
129005
+ "recipients,readiness,results"
128440
129006
  ],
128441
- pattern: "^(recipients|readiness)(,(recipients|readiness))*$",
129007
+ pattern: "^(recipients|readiness|results)(,(recipients|readiness|results))*$",
128442
129008
  type: "string"
128443
129009
  },
128444
129010
  recipientsCursor: {
@@ -128473,6 +129039,11 @@ var schemaComponents = {
128473
129039
  minLength: 1,
128474
129040
  type: "string"
128475
129041
  },
129042
+ recipientsResult: {
129043
+ description: "With `expand=recipients`: `definitionKey=optionKey`, only those whose latest answer is that option; `definitionKey=`, only those with no answer yet.",
129044
+ pattern: "^[a-z][a-z0-9_]{0,63}=([a-z][a-z0-9_]{0,63})?$",
129045
+ type: "string"
129046
+ },
128476
129047
  recipientsStatus: {
128477
129048
  description: "`pending`: waiting for its (next) call or message. `in_progress`: being called, or on WhatsApp waiting for a reply until a reminder is due. `completed`: an attempt succeeded; on WhatsApp, the message arrived. `failed`: its attempts ran out, or it cannot be reached.",
128478
129049
  anyOf: [
@@ -128692,6 +129263,23 @@ var schemaComponents = {
128692
129263
  }
128693
129264
  }
128694
129265
  },
129266
+ RaizCampaignsStartInput: {
129267
+ additionalProperties: false,
129268
+ type: "object",
129269
+ required: [
129270
+ "campaignId"
129271
+ ],
129272
+ properties: {
129273
+ campaignId: {
129274
+ description: "Campaign id.",
129275
+ examples: [
129276
+ "cmp_01m45h8q2rf3t9w6y7z0b1c2d3"
129277
+ ],
129278
+ pattern: "^cmp_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$",
129279
+ type: "string"
129280
+ }
129281
+ }
129282
+ },
128695
129283
  RaizChangesListInput: {
128696
129284
  type: "object",
128697
129285
  properties: {
@@ -135431,6 +136019,29 @@ var schemaComponents = {
135431
136019
  }
135432
136020
  }
135433
136021
  },
136022
+ VisoftAppointmentReceiptsLookupInput: {
136023
+ additionalProperties: false,
136024
+ type: "object",
136025
+ required: [
136026
+ "reference"
136027
+ ],
136028
+ properties: {
136029
+ connectionId: {
136030
+ minLength: 5,
136031
+ maxLength: 68,
136032
+ pattern: "^con_[0-9A-Za-z]+$",
136033
+ description: "The connection to run on. Optional when the organization has one Visoft connection; required when it has several. Another organization's connection is CONNECTION_NOT_FOUND.",
136034
+ type: "string"
136035
+ },
136036
+ reference: {
136037
+ minLength: 1,
136038
+ maxLength: 300,
136039
+ pattern: "^[A-Za-z0-9:._-]+(?:=[A-Za-z0-9:._-]*){8,24}$",
136040
+ description: "The appointment's opaque reference, as visoft.appointments.list answered it.",
136041
+ type: "string"
136042
+ }
136043
+ }
136044
+ },
135434
136045
  VisoftAppointmentsCreateInput: {
135435
136046
  additionalProperties: false,
135436
136047
  type: "object",
@@ -136548,9 +137159,9 @@ var schemaComponents = {
136548
137159
  // src/generated/generation.json
136549
137160
  var generation_default = {
136550
137161
  formatVersion: 6,
136551
- release: "1.20261106.171439",
136552
- openapiSha256: "3dde2e71d41c041ea8a06dcad793712321720bccfd252ba901b8575274e4d042",
136553
- openapiContentSha256: "e7c2c8058a6f848070f1d5933ea788446ac39acb99aa97b4f6eed2f83162f71f",
137162
+ release: "1.20261106.211734",
137163
+ openapiSha256: "4175207787b9909be1c8404cfc24c4f18230bf12e8fd96074241b11a8a928863",
137164
+ openapiContentSha256: "ef2bacbc6bbda25bcbb2bb78972e717f3a5d4e7efef6d308b1f5718f2c08a2ff",
136554
137165
  forge: {
136555
137166
  repository: "https://github.com/cloudflare/forge",
136556
137167
  commit: "7f86447210b7bea3779bfdab3cd5655eade0eadb",
@@ -136563,7 +137174,7 @@ var generation_default = {
136563
137174
  outputs: [
136564
137175
  {
136565
137176
  path: "src/generated/commands.ts",
136566
- sha256: "6ae733a2be6cc4395d26c710ecbfe0ac6c569f63abcb4630629aa45cef3aeec5"
137177
+ sha256: "d69498a3fbbf7bb5af95810cd76ba97eecd5dfb668a53df88d0c20e8c6db499a"
136567
137178
  }
136568
137179
  ]
136569
137180
  };
@@ -138163,7 +138774,7 @@ ${name}`);
138163
138774
  }
138164
138775
 
138165
138776
  // src/index.ts
138166
- var VERSION = "3.41.0";
138777
+ var VERSION = "3.43.0";
138167
138778
  var RELEASE = generation_default.release;
138168
138779
  var commands2 = { ...commands, ...accountOperatorCommands };
138169
138780
  var SDK_PATHS = new Map(Object.values(commands2).map((command) => [command.operation, command.sdkPath]));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbol-ai/cli",
3
- "version": "3.41.0",
3
+ "version": "3.43.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.41.0",
48
+ "@arbol-ai/sdk": "5.43.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.20261106.171439",
64
- "sha256": "e7c2c8058a6f848070f1d5933ea788446ac39acb99aa97b4f6eed2f83162f71f"
63
+ "release": "1.20261106.211734",
64
+ "sha256": "ef2bacbc6bbda25bcbb2bb78972e717f3a5d4e7efef6d308b1f5718f2c08a2ff"
65
65
  }
66
66
  }
67
67
  }