@arbol-ai/cli 2.5.0 → 2.7.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 +923 -155
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -19243,9 +19243,10 @@ var commands = {
19243
19243
  flag: "name",
19244
19244
  kind: "string",
19245
19245
  required: true,
19246
- description: "`conversations_daily`: conversations the AI took part in per day, Agent, channel type and direction, with outcomes and escalations (filters `agentId`, `channelType`). `booking_outcomes`: verified saved booking receipts per completion day, Agent and integration, excluding test/import/deleted conversations; confirmed new bookings, reschedules, cancellations, failed, pending, unverified and duplicate receipts separately (filter `agentId`). Historical evidence, not current appointment status; hasMore requires splitting the range and returns no partial totals. `tool_calls_daily`: tool calls per day, Agent and tool with failures/durations (filter `agentId`). `tool_calls`: individual calls, never inputs/outputs (filter `agentId`). `assessment_results_daily`: assessments per day/definition (filter `definitionId`). `campaign_progress`: recipients by status (filter `campaignId`; no dates).",
19246
+ description: "`conversations_daily`: conversations the AI took part in per day, Agent, channel type and direction, with outcomes and escalations (filters `agentId`, `channelType`). `booking_outcomes`: verified saved booking receipts per completion day, Agent and integration, excluding test/import/deleted conversations; confirmed new bookings, reschedules, cancellations, failed, pending, unverified and duplicate receipts separately (filter `agentId`). Historical evidence, not current appointment status; hasMore requires splitting the range and returns no partial totals. `tool_calls_daily`: tool calls per day, Agent and tool with failures/durations (filter `agentId`). `tool_calls`: individual calls, never inputs/outputs (filter `agentId`). `assessment_results_daily`: assessments per day/definition (filter `definitionId`). `pqrsf_daily`: classification, confirmed resolution and referral-link counts from the pqrsf_* definitions, including pending/unclassified conversations, excluding tests/imports/deleted records (filters `agentId`, `channelType`); no measured filing reduction is inferred. `campaign_progress`: recipients by status (filter `campaignId`; no dates).",
19247
19247
  choices: [
19248
19248
  "conversations_daily",
19249
+ "pqrsf_daily",
19249
19250
  "tool_calls_daily",
19250
19251
  "tool_calls",
19251
19252
  "booking_outcomes",
@@ -19310,12 +19311,16 @@ var commands = {
19310
19311
  type: "string"
19311
19312
  },
19312
19313
  name: {
19313
- description: "`conversations_daily`: conversations the AI took part in per day, Agent, channel type and direction, with outcomes and escalations (filters `agentId`, `channelType`). `booking_outcomes`: verified saved booking receipts per completion day, Agent and integration, excluding test/import/deleted conversations; confirmed new bookings, reschedules, cancellations, failed, pending, unverified and duplicate receipts separately (filter `agentId`). Historical evidence, not current appointment status; hasMore requires splitting the range and returns no partial totals. `tool_calls_daily`: tool calls per day, Agent and tool with failures/durations (filter `agentId`). `tool_calls`: individual calls, never inputs/outputs (filter `agentId`). `assessment_results_daily`: assessments per day/definition (filter `definitionId`). `campaign_progress`: recipients by status (filter `campaignId`; no dates).",
19314
+ description: "`conversations_daily`: conversations the AI took part in per day, Agent, channel type and direction, with outcomes and escalations (filters `agentId`, `channelType`). `booking_outcomes`: verified saved booking receipts per completion day, Agent and integration, excluding test/import/deleted conversations; confirmed new bookings, reschedules, cancellations, failed, pending, unverified and duplicate receipts separately (filter `agentId`). Historical evidence, not current appointment status; hasMore requires splitting the range and returns no partial totals. `tool_calls_daily`: tool calls per day, Agent and tool with failures/durations (filter `agentId`). `tool_calls`: individual calls, never inputs/outputs (filter `agentId`). `assessment_results_daily`: assessments per day/definition (filter `definitionId`). `pqrsf_daily`: classification, confirmed resolution and referral-link counts from the pqrsf_* definitions, including pending/unclassified conversations, excluding tests/imports/deleted records (filters `agentId`, `channelType`); no measured filing reduction is inferred. `campaign_progress`: recipients by status (filter `campaignId`; no dates).",
19314
19315
  anyOf: [
19315
19316
  {
19316
19317
  const: "conversations_daily",
19317
19318
  type: "string"
19318
19319
  },
19320
+ {
19321
+ const: "pqrsf_daily",
19322
+ type: "string"
19323
+ },
19319
19324
  {
19320
19325
  const: "tool_calls_daily",
19321
19326
  type: "string"
@@ -19350,7 +19355,7 @@ var commands = {
19350
19355
  additionalProperties: false
19351
19356
  },
19352
19357
  title: "Get a report",
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.",
19358
+ 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), `pqrsf_daily` (PQRSF classification, confirmed informational resolution and correct referrals from current pqrsf_* facts; unknown and pending analysis remain visible; excludes tests/imports/deleted records), 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.",
19354
19359
  effect: "read",
19355
19360
  confirmation: null,
19356
19361
  hidden: false
@@ -20541,6 +20546,14 @@ var commands = {
20541
20546
  "CC"
20542
20547
  ]
20543
20548
  },
20549
+ {
20550
+ name: "agentMode",
20551
+ flag: "agent-mode",
20552
+ kind: "boolean",
20553
+ required: false,
20554
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
20555
+ default: false
20556
+ },
20544
20557
  {
20545
20558
  name: "connectionId",
20546
20559
  flag: "connection-id",
@@ -20584,6 +20597,11 @@ var commands = {
20584
20597
  }
20585
20598
  ]
20586
20599
  },
20600
+ agentMode: {
20601
+ default: false,
20602
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
20603
+ type: "boolean"
20604
+ },
20587
20605
  connectionId: {
20588
20606
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
20589
20607
  maxLength: 128,
@@ -20695,6 +20713,14 @@ var commands = {
20695
20713
  required: true,
20696
20714
  description: "The appointment's hour as HH:MM, exactly as list_appointments returned it."
20697
20715
  },
20716
+ {
20717
+ name: "agentMode",
20718
+ flag: "agent-mode",
20719
+ kind: "boolean",
20720
+ required: false,
20721
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
20722
+ default: false
20723
+ },
20698
20724
  {
20699
20725
  name: "connectionId",
20700
20726
  flag: "connection-id",
@@ -20861,6 +20887,11 @@ var commands = {
20861
20887
  description: "The appointment's hour as HH:MM, exactly as list_appointments returned it.",
20862
20888
  type: "string"
20863
20889
  },
20890
+ agentMode: {
20891
+ default: false,
20892
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
20893
+ type: "boolean"
20894
+ },
20864
20895
  connectionId: {
20865
20896
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
20866
20897
  maxLength: 128,
@@ -20981,6 +21012,14 @@ var commands = {
20981
21012
  required: true,
20982
21013
  description: "The hour the caller agreed to, as HH:MM on a 24-hour clock, exactly as it appeared in find_availability's times[]."
20983
21014
  },
21015
+ {
21016
+ name: "agentMode",
21017
+ flag: "agent-mode",
21018
+ kind: "boolean",
21019
+ required: false,
21020
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
21021
+ default: false
21022
+ },
20984
21023
  {
20985
21024
  name: "connectionId",
20986
21025
  flag: "connection-id",
@@ -21154,6 +21193,11 @@ var commands = {
21154
21193
  description: "The hour the caller agreed to, as HH:MM on a 24-hour clock, exactly as it appeared in find_availability's times[].",
21155
21194
  type: "string"
21156
21195
  },
21196
+ agentMode: {
21197
+ default: false,
21198
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
21199
+ type: "boolean"
21200
+ },
21157
21201
  connectionId: {
21158
21202
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
21159
21203
  maxLength: 128,
@@ -21259,6 +21303,14 @@ var commands = {
21259
21303
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
21260
21304
  default: 25
21261
21305
  },
21306
+ {
21307
+ name: "agentMode",
21308
+ flag: "agent-mode",
21309
+ kind: "boolean",
21310
+ required: false,
21311
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
21312
+ default: false
21313
+ },
21262
21314
  {
21263
21315
  name: "connectionId",
21264
21316
  flag: "connection-id",
@@ -21409,6 +21461,11 @@ var commands = {
21409
21461
  type: "integer",
21410
21462
  default: 25
21411
21463
  },
21464
+ agentMode: {
21465
+ default: false,
21466
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
21467
+ type: "boolean"
21468
+ },
21412
21469
  connectionId: {
21413
21470
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
21414
21471
  maxLength: 128,
@@ -21461,7 +21518,7 @@ var commands = {
21461
21518
  flag: "date",
21462
21519
  kind: "string",
21463
21520
  required: false,
21464
- description: `A day to look at, as YYYY-MM-DD. Omit it for the soonest day with room. Resolve relative dates like "mañana" against the clinic's own timezone before calling.`
21521
+ description: `A day the person asked for, as YYYY-MM-DD. Its openings come first; when it has none, the openings nearest to it on either side are offered instead and requestedDateAvailable is false. Omit it for the soonest openings. Resolve relative dates like "mañana" against the clinic's own timezone before calling.`
21465
21522
  },
21466
21523
  {
21467
21524
  name: "documentNumber",
@@ -21506,7 +21563,7 @@ var commands = {
21506
21563
  flag: "allow-other-professionals",
21507
21564
  kind: "string",
21508
21565
  required: false,
21509
- description: "When true, a requested doctor with no openings falls back automatically to other doctors of the same service. Present their names and obtain consent before booking.",
21566
+ description: "Whether other doctors of this service may be offered when the named doctor has no opening in the searched window. Defaults to true: the named doctor's openings come first, and only when that doctor has none are the other doctors' nearest openings returned, with requestedProfessionalAvailable false. Name the actual doctor of each option and obtain consent before booking. False keeps the named doctor as a strict filter.",
21510
21567
  choices: [
21511
21568
  "true",
21512
21569
  "false"
@@ -21517,7 +21574,7 @@ var commands = {
21517
21574
  flag: "from-date",
21518
21575
  kind: "string",
21519
21576
  required: false,
21520
- description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date only for an exact day."
21577
+ description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date for a specific day."
21521
21578
  },
21522
21579
  {
21523
21580
  name: "timeFrom",
@@ -21568,7 +21625,7 @@ var commands = {
21568
21625
  flag: "professional",
21569
21626
  kind: "string",
21570
21627
  required: false,
21571
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest."
21628
+ description: "Doctor's name, or part of it, when the caller asked for someone specific. Use list_professionals to check the service's registered doctors independently of available slots; absence from an open-agenda selector does not mean the doctor does not exist. Omit it to see whoever has room soonest."
21572
21629
  },
21573
21630
  {
21574
21631
  name: "serviceId",
@@ -21577,6 +21634,14 @@ var commands = {
21577
21634
  required: true,
21578
21635
  description: "Exact service in the order or a previously returned service ID. Names are resolved internally against the live catalog; do not call list_services first or invent IDs. Preserve consultation/control and pediatric qualifiers."
21579
21636
  },
21637
+ {
21638
+ name: "agentMode",
21639
+ flag: "agent-mode",
21640
+ kind: "boolean",
21641
+ required: false,
21642
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
21643
+ default: false
21644
+ },
21580
21645
  {
21581
21646
  name: "connectionId",
21582
21647
  flag: "connection-id",
@@ -21618,7 +21683,7 @@ var commands = {
21618
21683
  ]
21619
21684
  },
21620
21685
  date: {
21621
- description: `A day to look at, as YYYY-MM-DD. Omit it for the soonest day with room. Resolve relative dates like "mañana" against the clinic's own timezone before calling.`,
21686
+ description: `A day the person asked for, as YYYY-MM-DD. Its openings come first; when it has none, the openings nearest to it on either side are offered instead and requestedDateAvailable is false. Omit it for the soonest openings. Resolve relative dates like "mañana" against the clinic's own timezone before calling.`,
21622
21687
  anyOf: [
21623
21688
  {
21624
21689
  type: "string"
@@ -21726,7 +21791,7 @@ var commands = {
21726
21791
  description: "Patient document type read legibly from the original or explicitly supplied. Ask only if unknown or genuinely conflicting; never infer it from age or number length."
21727
21792
  },
21728
21793
  allowOtherProfessionals: {
21729
- description: "When true, a requested doctor with no openings falls back automatically to other doctors of the same service. Present their names and obtain consent before booking.",
21794
+ description: "Whether other doctors of this service may be offered when the named doctor has no opening in the searched window. Defaults to true: the named doctor's openings come first, and only when that doctor has none are the other doctors' nearest openings returned, with requestedProfessionalAvailable false. Name the actual doctor of each option and obtain consent before booking. False keeps the named doctor as a strict filter.",
21730
21795
  anyOf: [
21731
21796
  {
21732
21797
  const: "true",
@@ -21742,7 +21807,7 @@ var commands = {
21742
21807
  ]
21743
21808
  },
21744
21809
  fromDate: {
21745
- description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date only for an exact day.",
21810
+ description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date for a specific day.",
21746
21811
  anyOf: [
21747
21812
  {
21748
21813
  type: "string"
@@ -21822,7 +21887,7 @@ var commands = {
21822
21887
  ]
21823
21888
  },
21824
21889
  professional: {
21825
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest.",
21890
+ description: "Doctor's name, or part of it, when the caller asked for someone specific. Use list_professionals to check the service's registered doctors independently of available slots; absence from an open-agenda selector does not mean the doctor does not exist. Omit it to see whoever has room soonest.",
21826
21891
  anyOf: [
21827
21892
  {
21828
21893
  type: "string"
@@ -21836,6 +21901,11 @@ var commands = {
21836
21901
  description: "Exact service in the order or a previously returned service ID. Names are resolved internally against the live catalog; do not call list_services first or invent IDs. Preserve consultation/control and pediatric qualifiers.",
21837
21902
  type: "string"
21838
21903
  },
21904
+ agentMode: {
21905
+ default: false,
21906
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
21907
+ type: "boolean"
21908
+ },
21839
21909
  connectionId: {
21840
21910
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
21841
21911
  maxLength: 128,
@@ -21907,6 +21977,14 @@ var commands = {
21907
21977
  required: true,
21908
21978
  description: "Issuer code before the hyphen in the authorization identifier."
21909
21979
  },
21980
+ {
21981
+ name: "agentMode",
21982
+ flag: "agent-mode",
21983
+ kind: "boolean",
21984
+ required: false,
21985
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
21986
+ default: false
21987
+ },
21910
21988
  {
21911
21989
  name: "connectionId",
21912
21990
  flag: "connection-id",
@@ -21960,6 +22038,11 @@ var commands = {
21960
22038
  description: "Issuer code before the hyphen in the authorization identifier.",
21961
22039
  type: "string"
21962
22040
  },
22041
+ agentMode: {
22042
+ default: false,
22043
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22044
+ type: "boolean"
22045
+ },
21963
22046
  connectionId: {
21964
22047
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
21965
22048
  maxLength: 128,
@@ -22057,7 +22140,7 @@ var commands = {
22057
22140
  flag: "professional",
22058
22141
  kind: "string",
22059
22142
  required: false,
22060
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest."
22143
+ description: "Doctor's name, or part of it, when the caller asked for someone specific. Use list_professionals to check the service's registered doctors independently of available slots; absence from an open-agenda selector does not mean the doctor does not exist. Omit it to see whoever has room soonest."
22061
22144
  },
22062
22145
  {
22063
22146
  name: "serviceId",
@@ -22066,6 +22149,14 @@ var commands = {
22066
22149
  required: true,
22067
22150
  description: `What the appointment is for: either an id from list_services or the service's own name, in the caller's words ("neurología", "control"). A name that matches more than one service is answered with the choices, so you can ask which one instead of guessing.`
22068
22151
  },
22152
+ {
22153
+ name: "agentMode",
22154
+ flag: "agent-mode",
22155
+ kind: "boolean",
22156
+ required: false,
22157
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22158
+ default: false
22159
+ },
22069
22160
  {
22070
22161
  name: "connectionId",
22071
22162
  flag: "connection-id",
@@ -22215,7 +22306,7 @@ var commands = {
22215
22306
  description: "Patient document type read legibly from the original or explicitly supplied. Ask only if unknown or genuinely conflicting; never infer it from age or number length."
22216
22307
  },
22217
22308
  professional: {
22218
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest.",
22309
+ description: "Doctor's name, or part of it, when the caller asked for someone specific. Use list_professionals to check the service's registered doctors independently of available slots; absence from an open-agenda selector does not mean the doctor does not exist. Omit it to see whoever has room soonest.",
22219
22310
  anyOf: [
22220
22311
  {
22221
22312
  type: "string"
@@ -22229,6 +22320,11 @@ var commands = {
22229
22320
  description: `What the appointment is for: either an id from list_services or the service's own name, in the caller's words ("neurología", "control"). A name that matches more than one service is answered with the choices, so you can ask which one instead of guessing.`,
22230
22321
  type: "string"
22231
22322
  },
22323
+ agentMode: {
22324
+ default: false,
22325
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22326
+ type: "boolean"
22327
+ },
22232
22328
  connectionId: {
22233
22329
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
22234
22330
  maxLength: 128,
@@ -22268,7 +22364,16 @@ var commands = {
22268
22364
  "delete"
22269
22365
  ],
22270
22366
  pathField: "id",
22271
- fields: [],
22367
+ fields: [
22368
+ {
22369
+ name: "agentMode",
22370
+ flag: "agent-mode",
22371
+ kind: "boolean",
22372
+ required: false,
22373
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22374
+ default: false
22375
+ }
22376
+ ],
22272
22377
  inputSchema: {
22273
22378
  additionalProperties: false,
22274
22379
  type: "object",
@@ -22282,6 +22387,11 @@ var commands = {
22282
22387
  pattern: "^[A-Za-z0-9_-]+$",
22283
22388
  description: "The connection's id, as Account lists it; it must be one of the caller's own organization's.",
22284
22389
  type: "string"
22390
+ },
22391
+ agentMode: {
22392
+ default: false,
22393
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22394
+ type: "boolean"
22285
22395
  }
22286
22396
  }
22287
22397
  },
@@ -22299,7 +22409,16 @@ var commands = {
22299
22409
  "get"
22300
22410
  ],
22301
22411
  pathField: "id",
22302
- fields: [],
22412
+ fields: [
22413
+ {
22414
+ name: "agentMode",
22415
+ flag: "agent-mode",
22416
+ kind: "boolean",
22417
+ required: false,
22418
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22419
+ default: false
22420
+ }
22421
+ ],
22303
22422
  inputSchema: {
22304
22423
  additionalProperties: false,
22305
22424
  type: "object",
@@ -22313,6 +22432,11 @@ var commands = {
22313
22432
  pattern: "^[A-Za-z0-9_-]+$",
22314
22433
  description: "The connection's id, as Account lists it; it must be one of the caller's own organization's.",
22315
22434
  type: "string"
22435
+ },
22436
+ agentMode: {
22437
+ default: false,
22438
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22439
+ type: "boolean"
22316
22440
  }
22317
22441
  }
22318
22442
  },
@@ -22357,6 +22481,14 @@ var commands = {
22357
22481
  required: false,
22358
22482
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
22359
22483
  default: 25
22484
+ },
22485
+ {
22486
+ name: "agentMode",
22487
+ flag: "agent-mode",
22488
+ kind: "boolean",
22489
+ required: false,
22490
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22491
+ default: false
22360
22492
  }
22361
22493
  ],
22362
22494
  inputSchema: {
@@ -22388,6 +22520,11 @@ var commands = {
22388
22520
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
22389
22521
  type: "integer",
22390
22522
  default: 25
22523
+ },
22524
+ agentMode: {
22525
+ default: false,
22526
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22527
+ type: "boolean"
22391
22528
  }
22392
22529
  }
22393
22530
  },
@@ -22406,6 +22543,14 @@ var commands = {
22406
22543
  ],
22407
22544
  pathField: "connectionId",
22408
22545
  fields: [
22546
+ {
22547
+ name: "agentMode",
22548
+ flag: "agent-mode",
22549
+ kind: "boolean",
22550
+ required: false,
22551
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22552
+ default: false
22553
+ },
22409
22554
  {
22410
22555
  name: "name",
22411
22556
  flag: "name",
@@ -22441,6 +22586,11 @@ var commands = {
22441
22586
  "logins"
22442
22587
  ],
22443
22588
  properties: {
22589
+ agentMode: {
22590
+ default: false,
22591
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22592
+ type: "boolean"
22593
+ },
22444
22594
  connectionId: {
22445
22595
  minLength: 1,
22446
22596
  maxLength: 128,
@@ -22551,6 +22701,14 @@ var commands = {
22551
22701
  required: true,
22552
22702
  description: "Explicit four-digit year for copay history, from 2000 to 2099."
22553
22703
  },
22704
+ {
22705
+ name: "agentMode",
22706
+ flag: "agent-mode",
22707
+ kind: "boolean",
22708
+ required: false,
22709
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22710
+ default: false
22711
+ },
22554
22712
  {
22555
22713
  name: "connectionId",
22556
22714
  flag: "connection-id",
@@ -22599,6 +22757,11 @@ var commands = {
22599
22757
  description: "Explicit four-digit year for copay history, from 2000 to 2099.",
22600
22758
  type: "string"
22601
22759
  },
22760
+ agentMode: {
22761
+ default: false,
22762
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22763
+ type: "boolean"
22764
+ },
22602
22765
  connectionId: {
22603
22766
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
22604
22767
  maxLength: 128,
@@ -22639,6 +22802,14 @@ var commands = {
22639
22802
  ],
22640
22803
  pathField: "operationId",
22641
22804
  fields: [
22805
+ {
22806
+ name: "agentMode",
22807
+ flag: "agent-mode",
22808
+ kind: "boolean",
22809
+ required: false,
22810
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22811
+ default: false
22812
+ },
22642
22813
  {
22643
22814
  name: "connectionId",
22644
22815
  flag: "connection-id",
@@ -22670,6 +22841,11 @@ var commands = {
22670
22841
  description: "The operationId of the pending answer, exactly as it was returned.",
22671
22842
  type: "string"
22672
22843
  },
22844
+ agentMode: {
22845
+ default: false,
22846
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22847
+ type: "boolean"
22848
+ },
22673
22849
  connectionId: {
22674
22850
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
22675
22851
  maxLength: 128,
@@ -22748,6 +22924,14 @@ var commands = {
22748
22924
  "TI"
22749
22925
  ]
22750
22926
  },
22927
+ {
22928
+ name: "agentMode",
22929
+ flag: "agent-mode",
22930
+ kind: "boolean",
22931
+ required: false,
22932
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
22933
+ default: false
22934
+ },
22751
22935
  {
22752
22936
  name: "connectionId",
22753
22937
  flag: "connection-id",
@@ -22873,6 +23057,11 @@ var commands = {
22873
23057
  ],
22874
23058
  description: "Patient document type read legibly from the original or explicitly supplied. Ask only if unknown or genuinely conflicting; never infer it from age or number length."
22875
23059
  },
23060
+ agentMode: {
23061
+ default: false,
23062
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
23063
+ type: "boolean"
23064
+ },
22876
23065
  connectionId: {
22877
23066
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
22878
23067
  maxLength: 128,
@@ -22904,11 +23093,11 @@ var commands = {
22904
23093
  confirmation: null,
22905
23094
  hidden: false
22906
23095
  },
22907
- "sura services list": {
22908
- operation: "sura.services.list",
23096
+ "sura professionals list": {
23097
+ operation: "sura.professionals.list",
22909
23098
  sdkPath: [
22910
23099
  "sura",
22911
- "services",
23100
+ "professionals",
22912
23101
  "list"
22913
23102
  ],
22914
23103
  pathField: null,
@@ -22921,133 +23110,308 @@ var commands = {
22921
23110
  description: "The areaId list_services returned beside that service. Pass it with an exact serviceId to skip a catalog lookup; omit it whenever you are naming the service in words."
22922
23111
  },
22923
23112
  {
22924
- name: "cursor",
22925
- flag: "cursor",
22926
- kind: "string",
22927
- required: false,
22928
- description: "Opaque cursor returned by pageInfo; omit it to request the first page."
22929
- },
22930
- {
22931
- name: "direction",
22932
- flag: "direction",
22933
- kind: "string",
22934
- required: false,
22935
- description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
22936
- choices: [
22937
- "forward",
22938
- "backward"
22939
- ],
22940
- default: "forward"
22941
- },
22942
- {
22943
- name: "limit",
22944
- flag: "limit",
22945
- kind: "integer",
22946
- required: false,
22947
- description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
22948
- default: 25
22949
- },
22950
- {
22951
- name: "connectionId",
22952
- flag: "connection-id",
23113
+ name: "serviceId",
23114
+ flag: "service-id",
22953
23115
  kind: "string",
22954
- required: false,
22955
- description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several."
23116
+ required: true,
23117
+ description: "Exact numeric service id returned by list_services. This directory is not filtered by patient coverage or available appointments."
22956
23118
  },
22957
- {
22958
- name: "channel",
22959
- flag: "channel",
22960
- kind: "string",
22961
- required: false,
22962
- description: "The channel the caller is waiting on, which sets how long it waits before an answer comes back pending, and puts a phone call's reads ahead of others. Defaults to web.",
22963
- choices: [
22964
- "voice",
22965
- "whatsapp",
22966
- "web"
22967
- ]
22968
- }
22969
- ],
22970
- inputSchema: {
22971
- additionalProperties: false,
22972
- type: "object",
22973
- required: [],
22974
- properties: {
22975
- areaId: {
22976
- description: "The areaId list_services returned beside that service. Pass it with an exact serviceId to skip a catalog lookup; omit it whenever you are naming the service in words.",
22977
- anyOf: [
22978
- {
22979
- type: "string"
22980
- },
22981
- {
22982
- type: "null"
22983
- }
22984
- ]
22985
- },
22986
- cursor: {
22987
- description: "Opaque cursor returned by pageInfo; omit it to request the first page.",
22988
- type: "string"
22989
- },
22990
- direction: {
22991
- description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
22992
- anyOf: [
22993
- {
22994
- const: "forward",
22995
- type: "string"
22996
- },
22997
- {
22998
- const: "backward",
22999
- type: "string"
23000
- }
23001
- ],
23002
- default: "forward"
23003
- },
23004
- limit: {
23005
- minimum: 1,
23006
- maximum: 100,
23007
- description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
23008
- type: "integer",
23009
- default: 25
23010
- },
23011
- connectionId: {
23012
- description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
23013
- maxLength: 128,
23014
- minLength: 1,
23015
- type: "string"
23016
- },
23017
- channel: {
23018
- anyOf: [
23019
- {
23020
- const: "voice",
23021
- type: "string"
23022
- },
23023
- {
23024
- const: "whatsapp",
23025
- type: "string"
23026
- },
23027
- {
23028
- const: "web",
23029
- type: "string"
23030
- }
23031
- ],
23032
- description: "The channel the caller is waiting on, which sets how long it waits before an answer comes back pending, and puts a phone call's reads ahead of others. Defaults to web."
23033
- }
23034
- }
23035
- },
23036
- title: "List services",
23037
- description: "List what this clinic can be booked for. Call it with no arguments to get every service it offers, each with the areaId it belongs to, as a page ordered by areaId and then id: up to 25 by default (limit up to 100), and while pageInfo.hasNextPage is true call again with cursor set to pageInfo.nextCursor before deciding a service is not offered. Match the caller's own words to a service here rather than inventing one, and carry both id and areaId into find_availability; never substitute an exam with a consultation. A service missing from the catalog does not mean the clinic does not provide it, or that it does not exist at other sites or channels. The catalog is not filtered by plan or coverage: the portal applies the patient's own coverage when availability is read.",
23038
- effect: "read",
23039
- confirmation: null,
23040
- hidden: false
23041
- },
23042
- "visoft agencies list": {
23043
- operation: "visoft.agencies.list",
23044
- sdkPath: [
23045
- "visoft",
23046
- "agencies",
23047
- "list"
23048
- ],
23049
- pathField: null,
23050
- fields: [
23119
+ {
23120
+ name: "cursor",
23121
+ flag: "cursor",
23122
+ kind: "string",
23123
+ required: false,
23124
+ description: "Opaque cursor returned by pageInfo; omit it to request the first page."
23125
+ },
23126
+ {
23127
+ name: "direction",
23128
+ flag: "direction",
23129
+ kind: "string",
23130
+ required: false,
23131
+ description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
23132
+ choices: [
23133
+ "forward",
23134
+ "backward"
23135
+ ],
23136
+ default: "forward"
23137
+ },
23138
+ {
23139
+ name: "limit",
23140
+ flag: "limit",
23141
+ kind: "integer",
23142
+ required: false,
23143
+ description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
23144
+ default: 25
23145
+ },
23146
+ {
23147
+ name: "agentMode",
23148
+ flag: "agent-mode",
23149
+ kind: "boolean",
23150
+ required: false,
23151
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
23152
+ default: false
23153
+ },
23154
+ {
23155
+ name: "connectionId",
23156
+ flag: "connection-id",
23157
+ kind: "string",
23158
+ required: false,
23159
+ description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several."
23160
+ },
23161
+ {
23162
+ name: "channel",
23163
+ flag: "channel",
23164
+ kind: "string",
23165
+ required: false,
23166
+ description: "The channel the caller is waiting on, which sets how long it waits before an answer comes back pending, and puts a phone call's reads ahead of others. Defaults to web.",
23167
+ choices: [
23168
+ "voice",
23169
+ "whatsapp",
23170
+ "web"
23171
+ ]
23172
+ }
23173
+ ],
23174
+ inputSchema: {
23175
+ additionalProperties: false,
23176
+ type: "object",
23177
+ required: [
23178
+ "serviceId"
23179
+ ],
23180
+ properties: {
23181
+ areaId: {
23182
+ description: "The areaId list_services returned beside that service. Pass it with an exact serviceId to skip a catalog lookup; omit it whenever you are naming the service in words.",
23183
+ anyOf: [
23184
+ {
23185
+ type: "string"
23186
+ },
23187
+ {
23188
+ type: "null"
23189
+ }
23190
+ ]
23191
+ },
23192
+ serviceId: {
23193
+ description: "Exact numeric service id returned by list_services. This directory is not filtered by patient coverage or available appointments.",
23194
+ pattern: "^[0-9]{1,20}$",
23195
+ type: "string"
23196
+ },
23197
+ cursor: {
23198
+ description: "Opaque cursor returned by pageInfo; omit it to request the first page.",
23199
+ type: "string"
23200
+ },
23201
+ direction: {
23202
+ description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
23203
+ anyOf: [
23204
+ {
23205
+ const: "forward",
23206
+ type: "string"
23207
+ },
23208
+ {
23209
+ const: "backward",
23210
+ type: "string"
23211
+ }
23212
+ ],
23213
+ default: "forward"
23214
+ },
23215
+ limit: {
23216
+ minimum: 1,
23217
+ maximum: 100,
23218
+ description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
23219
+ type: "integer",
23220
+ default: 25
23221
+ },
23222
+ agentMode: {
23223
+ default: false,
23224
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
23225
+ type: "boolean"
23226
+ },
23227
+ connectionId: {
23228
+ description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
23229
+ maxLength: 128,
23230
+ minLength: 1,
23231
+ type: "string"
23232
+ },
23233
+ channel: {
23234
+ anyOf: [
23235
+ {
23236
+ const: "voice",
23237
+ type: "string"
23238
+ },
23239
+ {
23240
+ const: "whatsapp",
23241
+ type: "string"
23242
+ },
23243
+ {
23244
+ const: "web",
23245
+ type: "string"
23246
+ }
23247
+ ],
23248
+ description: "The channel the caller is waiting on, which sets how long it waits before an answer comes back pending, and puts a phone call's reads ahead of others. Defaults to web."
23249
+ }
23250
+ }
23251
+ },
23252
+ title: "List registered professionals",
23253
+ description: "List SURA's registered professionals for a service at this connection's institution, including doctors without published or free appointments. First obtain serviceId and optionally areaId from list_services. No patient identity is needed. Follow pageInfo.nextCursor while hasNextPage is true before concluding a name is absent from this scoped directory. Absence does not establish that a doctor does not exist or works nowhere else. Registration does not establish coverage, authorization, or availability: use prepare_appointment with the patient's evidence and the requested professional name to find actual slots. Never substitute another doctor without the patient's agreement. An unreadable or incomplete provider directory is a technical failure, not an empty list.",
23254
+ effect: "read",
23255
+ confirmation: null,
23256
+ hidden: false
23257
+ },
23258
+ "sura services list": {
23259
+ operation: "sura.services.list",
23260
+ sdkPath: [
23261
+ "sura",
23262
+ "services",
23263
+ "list"
23264
+ ],
23265
+ pathField: null,
23266
+ fields: [
23267
+ {
23268
+ name: "areaId",
23269
+ flag: "area-id",
23270
+ kind: "string",
23271
+ required: false,
23272
+ description: "The areaId list_services returned beside that service. Pass it with an exact serviceId to skip a catalog lookup; omit it whenever you are naming the service in words."
23273
+ },
23274
+ {
23275
+ name: "cursor",
23276
+ flag: "cursor",
23277
+ kind: "string",
23278
+ required: false,
23279
+ description: "Opaque cursor returned by pageInfo; omit it to request the first page."
23280
+ },
23281
+ {
23282
+ name: "direction",
23283
+ flag: "direction",
23284
+ kind: "string",
23285
+ required: false,
23286
+ description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
23287
+ choices: [
23288
+ "forward",
23289
+ "backward"
23290
+ ],
23291
+ default: "forward"
23292
+ },
23293
+ {
23294
+ name: "limit",
23295
+ flag: "limit",
23296
+ kind: "integer",
23297
+ required: false,
23298
+ description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
23299
+ default: 25
23300
+ },
23301
+ {
23302
+ name: "agentMode",
23303
+ flag: "agent-mode",
23304
+ kind: "boolean",
23305
+ required: false,
23306
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
23307
+ default: false
23308
+ },
23309
+ {
23310
+ name: "connectionId",
23311
+ flag: "connection-id",
23312
+ kind: "string",
23313
+ required: false,
23314
+ description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several."
23315
+ },
23316
+ {
23317
+ name: "channel",
23318
+ flag: "channel",
23319
+ kind: "string",
23320
+ required: false,
23321
+ description: "The channel the caller is waiting on, which sets how long it waits before an answer comes back pending, and puts a phone call's reads ahead of others. Defaults to web.",
23322
+ choices: [
23323
+ "voice",
23324
+ "whatsapp",
23325
+ "web"
23326
+ ]
23327
+ }
23328
+ ],
23329
+ inputSchema: {
23330
+ additionalProperties: false,
23331
+ type: "object",
23332
+ required: [],
23333
+ properties: {
23334
+ areaId: {
23335
+ description: "The areaId list_services returned beside that service. Pass it with an exact serviceId to skip a catalog lookup; omit it whenever you are naming the service in words.",
23336
+ anyOf: [
23337
+ {
23338
+ type: "string"
23339
+ },
23340
+ {
23341
+ type: "null"
23342
+ }
23343
+ ]
23344
+ },
23345
+ cursor: {
23346
+ description: "Opaque cursor returned by pageInfo; omit it to request the first page.",
23347
+ type: "string"
23348
+ },
23349
+ direction: {
23350
+ description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
23351
+ anyOf: [
23352
+ {
23353
+ const: "forward",
23354
+ type: "string"
23355
+ },
23356
+ {
23357
+ const: "backward",
23358
+ type: "string"
23359
+ }
23360
+ ],
23361
+ default: "forward"
23362
+ },
23363
+ limit: {
23364
+ minimum: 1,
23365
+ maximum: 100,
23366
+ description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
23367
+ type: "integer",
23368
+ default: 25
23369
+ },
23370
+ agentMode: {
23371
+ default: false,
23372
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
23373
+ type: "boolean"
23374
+ },
23375
+ connectionId: {
23376
+ description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
23377
+ maxLength: 128,
23378
+ minLength: 1,
23379
+ type: "string"
23380
+ },
23381
+ channel: {
23382
+ anyOf: [
23383
+ {
23384
+ const: "voice",
23385
+ type: "string"
23386
+ },
23387
+ {
23388
+ const: "whatsapp",
23389
+ type: "string"
23390
+ },
23391
+ {
23392
+ const: "web",
23393
+ type: "string"
23394
+ }
23395
+ ],
23396
+ description: "The channel the caller is waiting on, which sets how long it waits before an answer comes back pending, and puts a phone call's reads ahead of others. Defaults to web."
23397
+ }
23398
+ }
23399
+ },
23400
+ title: "List services",
23401
+ description: "List what this clinic can be booked for. Call it with no arguments to get every service it offers, each with the areaId it belongs to, as a page ordered by areaId and then id: up to 25 by default (limit up to 100), and while pageInfo.hasNextPage is true call again with cursor set to pageInfo.nextCursor before deciding a service is not offered. Match the caller's own words to a service here rather than inventing one, and carry both id and areaId into find_availability; never substitute an exam with a consultation. A service missing from the catalog does not mean the clinic does not provide it, or that it does not exist at other sites or channels. The catalog is not filtered by plan or coverage: the portal applies the patient's own coverage when availability is read.",
23402
+ effect: "read",
23403
+ confirmation: null,
23404
+ hidden: false
23405
+ },
23406
+ "visoft agencies list": {
23407
+ operation: "visoft.agencies.list",
23408
+ sdkPath: [
23409
+ "visoft",
23410
+ "agencies",
23411
+ "list"
23412
+ ],
23413
+ pathField: null,
23414
+ fields: [
23051
23415
  {
23052
23416
  name: "cursor",
23053
23417
  flag: "cursor",
@@ -40887,6 +41251,7 @@ var schemaComponents = {
40887
41251
  additionalProperties: false,
40888
41252
  type: "object",
40889
41253
  required: [
41254
+ "automaticKnowledge",
40890
41255
  "attachmentReader",
40891
41256
  "budgetExhaustedMessage",
40892
41257
  "closingMessage",
@@ -40909,6 +41274,17 @@ var schemaComponents = {
40909
41274
  "voice"
40910
41275
  ],
40911
41276
  properties: {
41277
+ automaticKnowledge: {
41278
+ anyOf: [
41279
+ {
41280
+ description: "Text Agents. Retrieve relevant passages from this Agent's active Knowledge before a substantive contact message, without a model tool call. Null or false: on-demand search only. Does not store contact memories or learn unreviewed answers.",
41281
+ type: "boolean"
41282
+ },
41283
+ {
41284
+ type: "null"
41285
+ }
41286
+ ]
41287
+ },
40912
41288
  attachmentReader: {
40913
41289
  anyOf: [
40914
41290
  {
@@ -41198,6 +41574,17 @@ var schemaComponents = {
41198
41574
  additionalProperties: false,
41199
41575
  type: "object",
41200
41576
  properties: {
41577
+ automaticKnowledge: {
41578
+ anyOf: [
41579
+ {
41580
+ description: "Text Agents. Retrieve relevant passages from this Agent's active Knowledge before a substantive contact message, without a model tool call. Null or false: on-demand search only. Does not store contact memories or learn unreviewed answers.",
41581
+ type: "boolean"
41582
+ },
41583
+ {
41584
+ type: "null"
41585
+ }
41586
+ ]
41587
+ },
41201
41588
  attachmentReader: {
41202
41589
  anyOf: [
41203
41590
  {
@@ -41958,7 +42345,7 @@ var schemaComponents = {
41958
42345
  ]
41959
42346
  },
41960
42347
  outsideHoursMessage: {
41961
- description: "What whoever writes outside the hours receives, once per number and closed period (until the hours open again), whether the conversation's AI is on, off or paused. It is never taken as an answer: the AI answers what the contact wrote when a person turns it on or resumes it in business hours.",
42348
+ description: "What whoever writes outside the hours receives, once per number and closed period (until the hours open again), whether the conversation's AI is on, off or paused. With `outsideHoursTemplate`, the template goes instead, and this text only when WhatsApp refuses the template. The notice is never taken as an answer: the AI answers what the contact wrote when a person turns it on or resumes it in business hours.",
41962
42349
  maxLength: 1000,
41963
42350
  minLength: 1,
41964
42351
  type: "string"
@@ -41988,6 +42375,18 @@ var schemaComponents = {
41988
42375
  $ref: "#/components/schemas/RaizBusinessHoursWindow",
41989
42376
  description: "Open on these days from `from` until `to`, local time."
41990
42377
  }
42378
+ },
42379
+ outsideHoursTemplate: {
42380
+ description: "Send the notice as this approved WhatsApp template instead of `outsideHoursMessage`: a template of the number's account with no variables and no document, image or video header (in `list_templates`: `sendable`, with `parameterCount` 0). WhatsApp's approval is checked when the hours are saved. If WhatsApp refuses the template when a notice goes (deleted, paused or disabled since), `outsideHoursMessage` goes instead. Null or absent: the notice is `outsideHoursMessage`.",
42381
+ anyOf: [
42382
+ {
42383
+ $ref: "#/components/schemas/RaizOutsideHoursTemplate",
42384
+ description: "An approved template of the number's WhatsApp Business Account, by name and language."
42385
+ },
42386
+ {
42387
+ type: "null"
42388
+ }
42389
+ ]
41991
42390
  }
41992
42391
  }
41993
42392
  },
@@ -51072,6 +51471,32 @@ var schemaComponents = {
51072
51471
  }
51073
51472
  }
51074
51473
  },
51474
+ RaizOutsideHoursTemplate: {
51475
+ additionalProperties: false,
51476
+ type: "object",
51477
+ required: [
51478
+ "language",
51479
+ "name"
51480
+ ],
51481
+ properties: {
51482
+ language: {
51483
+ description: "The template's language in WhatsApp's code, for example `es` or `es_MX`.",
51484
+ examples: [
51485
+ "es"
51486
+ ],
51487
+ pattern: "^[a-z]{2,3}(_[A-Z]{2})?$",
51488
+ type: "string"
51489
+ },
51490
+ name: {
51491
+ description: "The template's name.",
51492
+ examples: [
51493
+ "outside_hours_notice"
51494
+ ],
51495
+ pattern: "^[a-z0-9_]{1,512}$",
51496
+ type: "string"
51497
+ }
51498
+ }
51499
+ },
51075
51500
  RaizPhoneNumber: {
51076
51501
  pattern: "^\\+[1-9][0-9]{1,14}$",
51077
51502
  type: "string"
@@ -51568,6 +51993,110 @@ var schemaComponents = {
51568
51993
  }
51569
51994
  }
51570
51995
  },
51996
+ {
51997
+ additionalProperties: false,
51998
+ type: "object",
51999
+ required: [
52000
+ "from",
52001
+ "hasMore",
52002
+ "to",
52003
+ "name",
52004
+ "rows"
52005
+ ],
52006
+ properties: {
52007
+ from: {
52008
+ description: "A calendar day in the organization's time zone.",
52009
+ format: "date",
52010
+ type: "string"
52011
+ },
52012
+ hasMore: {
52013
+ description: "More than 1000 rows matched: narrow the range or the filters.",
52014
+ type: "boolean"
52015
+ },
52016
+ to: {
52017
+ description: "A calendar day in the organization's time zone.",
52018
+ format: "date",
52019
+ type: "string"
52020
+ },
52021
+ name: {
52022
+ const: "pqrsf_daily",
52023
+ type: "string"
52024
+ },
52025
+ rows: {
52026
+ maxItems: 1000,
52027
+ type: "array",
52028
+ items: {
52029
+ additionalProperties: false,
52030
+ type: "object",
52031
+ required: [
52032
+ "day",
52033
+ "conversationCount",
52034
+ "analyzedCount",
52035
+ "informativeResolvedCount",
52036
+ "informativeUnresolvedCount",
52037
+ "formalPqrsfCount",
52038
+ "unclassifiedCount",
52039
+ "confirmedResolutionCount",
52040
+ "referralRequiredCount",
52041
+ "referralCorrectCount",
52042
+ "referralIncorrectCount",
52043
+ "referralPendingCount"
52044
+ ],
52045
+ properties: {
52046
+ day: {
52047
+ description: "A calendar day in the organization's time zone.",
52048
+ format: "date",
52049
+ type: "string"
52050
+ },
52051
+ conversationCount: {
52052
+ minimum: 0,
52053
+ type: "integer"
52054
+ },
52055
+ analyzedCount: {
52056
+ minimum: 0,
52057
+ type: "integer"
52058
+ },
52059
+ informativeResolvedCount: {
52060
+ minimum: 0,
52061
+ type: "integer"
52062
+ },
52063
+ informativeUnresolvedCount: {
52064
+ minimum: 0,
52065
+ type: "integer"
52066
+ },
52067
+ formalPqrsfCount: {
52068
+ minimum: 0,
52069
+ type: "integer"
52070
+ },
52071
+ unclassifiedCount: {
52072
+ minimum: 0,
52073
+ type: "integer"
52074
+ },
52075
+ confirmedResolutionCount: {
52076
+ minimum: 0,
52077
+ type: "integer"
52078
+ },
52079
+ referralRequiredCount: {
52080
+ minimum: 0,
52081
+ type: "integer"
52082
+ },
52083
+ referralCorrectCount: {
52084
+ minimum: 0,
52085
+ type: "integer"
52086
+ },
52087
+ referralIncorrectCount: {
52088
+ minimum: 0,
52089
+ type: "integer"
52090
+ },
52091
+ referralPendingCount: {
52092
+ minimum: 0,
52093
+ type: "integer"
52094
+ }
52095
+ }
52096
+ }
52097
+ }
52098
+ }
52099
+ },
51571
52100
  {
51572
52101
  additionalProperties: false,
51573
52102
  type: "object",
@@ -56863,6 +57392,14 @@ var schemaComponents = {
56863
57392
  description: "False when the bounded search stopped before establishing the requested nearest options.",
56864
57393
  type: "boolean"
56865
57394
  },
57395
+ requestedProfessionalAvailable: {
57396
+ description: "Present when a professional was named: true when the options are that doctor's, false when that doctor had no opening in the searched window and any options are other doctors' of the same service.",
57397
+ type: "boolean"
57398
+ },
57399
+ requestedDateAvailable: {
57400
+ description: "Present when a date was given: true when an option falls on that day, false when it had none and any options are the nearest days to it.",
57401
+ type: "boolean"
57402
+ },
56866
57403
  appointments: {
56867
57404
  description: "The patient's pending appointments of the requested service.",
56868
57405
  type: "array",
@@ -57162,6 +57699,14 @@ var schemaComponents = {
57162
57699
  description: "False when the bounded search stopped before establishing the requested nearest options.",
57163
57700
  type: "boolean"
57164
57701
  },
57702
+ requestedProfessionalAvailable: {
57703
+ description: "Present when a professional was named: true when the options are that doctor's, false when that doctor had no opening in the searched window and any options are other doctors' of the same service.",
57704
+ type: "boolean"
57705
+ },
57706
+ requestedDateAvailable: {
57707
+ description: "Present when a date was given: true when an option falls on that day, false when it had none and any options are the nearest days to it.",
57708
+ type: "boolean"
57709
+ },
57165
57710
  appointments: {
57166
57711
  description: "The patient's pending appointments of the requested service.",
57167
57712
  type: "array",
@@ -57217,6 +57762,72 @@ var schemaComponents = {
57217
57762
  }
57218
57763
  }
57219
57764
  },
57765
+ SuraProfessional: {
57766
+ additionalProperties: false,
57767
+ type: "object",
57768
+ required: [
57769
+ "id",
57770
+ "name",
57771
+ "areaId",
57772
+ "serviceId",
57773
+ "serviceName",
57774
+ "registered",
57775
+ "availabilityChecked"
57776
+ ],
57777
+ properties: {
57778
+ id: {
57779
+ description: "Opaque directory identity. Use name, not this id, when requesting availability.",
57780
+ type: "string"
57781
+ },
57782
+ name: {
57783
+ type: "string"
57784
+ },
57785
+ areaId: {
57786
+ type: "string"
57787
+ },
57788
+ serviceId: {
57789
+ type: "string"
57790
+ },
57791
+ serviceName: {
57792
+ type: "string"
57793
+ },
57794
+ registered: {
57795
+ const: true,
57796
+ type: "boolean"
57797
+ },
57798
+ availabilityChecked: {
57799
+ const: false,
57800
+ type: "boolean"
57801
+ }
57802
+ }
57803
+ },
57804
+ SuraProfessionalPage: {
57805
+ additionalProperties: false,
57806
+ type: "object",
57807
+ required: [
57808
+ "data",
57809
+ "object",
57810
+ "pageInfo"
57811
+ ],
57812
+ properties: {
57813
+ data: {
57814
+ description: "Items admitted by this resource contract within the verified organization.",
57815
+ type: "array",
57816
+ items: {
57817
+ $ref: "#/components/schemas/SuraProfessional"
57818
+ }
57819
+ },
57820
+ object: {
57821
+ description: "Discriminator for a resource list response.",
57822
+ const: "list",
57823
+ type: "string"
57824
+ },
57825
+ pageInfo: {
57826
+ $ref: "#/components/schemas/PageInfo",
57827
+ description: "Opaque navigation cursors for this page’s stable keyset order."
57828
+ }
57829
+ }
57830
+ },
57220
57831
  SuraRefusal: {
57221
57832
  additionalProperties: false,
57222
57833
  type: "object",
@@ -69075,12 +69686,16 @@ var schemaComponents = {
69075
69686
  type: "string"
69076
69687
  },
69077
69688
  name: {
69078
- description: "`conversations_daily`: conversations the AI took part in per day, Agent, channel type and direction, with outcomes and escalations (filters `agentId`, `channelType`). `booking_outcomes`: verified saved booking receipts per completion day, Agent and integration, excluding test/import/deleted conversations; confirmed new bookings, reschedules, cancellations, failed, pending, unverified and duplicate receipts separately (filter `agentId`). Historical evidence, not current appointment status; hasMore requires splitting the range and returns no partial totals. `tool_calls_daily`: tool calls per day, Agent and tool with failures/durations (filter `agentId`). `tool_calls`: individual calls, never inputs/outputs (filter `agentId`). `assessment_results_daily`: assessments per day/definition (filter `definitionId`). `campaign_progress`: recipients by status (filter `campaignId`; no dates).",
69689
+ description: "`conversations_daily`: conversations the AI took part in per day, Agent, channel type and direction, with outcomes and escalations (filters `agentId`, `channelType`). `booking_outcomes`: verified saved booking receipts per completion day, Agent and integration, excluding test/import/deleted conversations; confirmed new bookings, reschedules, cancellations, failed, pending, unverified and duplicate receipts separately (filter `agentId`). Historical evidence, not current appointment status; hasMore requires splitting the range and returns no partial totals. `tool_calls_daily`: tool calls per day, Agent and tool with failures/durations (filter `agentId`). `tool_calls`: individual calls, never inputs/outputs (filter `agentId`). `assessment_results_daily`: assessments per day/definition (filter `definitionId`). `pqrsf_daily`: classification, confirmed resolution and referral-link counts from the pqrsf_* definitions, including pending/unclassified conversations, excluding tests/imports/deleted records (filters `agentId`, `channelType`); no measured filing reduction is inferred. `campaign_progress`: recipients by status (filter `campaignId`; no dates).",
69079
69690
  anyOf: [
69080
69691
  {
69081
69692
  const: "conversations_daily",
69082
69693
  type: "string"
69083
69694
  },
69695
+ {
69696
+ const: "pqrsf_daily",
69697
+ type: "string"
69698
+ },
69084
69699
  {
69085
69700
  const: "tool_calls_daily",
69086
69701
  type: "string"
@@ -69863,6 +70478,11 @@ var schemaComponents = {
69863
70478
  }
69864
70479
  ]
69865
70480
  },
70481
+ agentMode: {
70482
+ default: false,
70483
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
70484
+ type: "boolean"
70485
+ },
69866
70486
  connectionId: {
69867
70487
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
69868
70488
  maxLength: 128,
@@ -70041,6 +70661,11 @@ var schemaComponents = {
70041
70661
  description: "The hour the caller agreed to, as HH:MM on a 24-hour clock, exactly as it appeared in find_availability's times[].",
70042
70662
  type: "string"
70043
70663
  },
70664
+ agentMode: {
70665
+ default: false,
70666
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
70667
+ type: "boolean"
70668
+ },
70044
70669
  connectionId: {
70045
70670
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
70046
70671
  maxLength: 128,
@@ -70196,6 +70821,11 @@ var schemaComponents = {
70196
70821
  type: "integer",
70197
70822
  default: 25
70198
70823
  },
70824
+ agentMode: {
70825
+ default: false,
70826
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
70827
+ type: "boolean"
70828
+ },
70199
70829
  connectionId: {
70200
70830
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
70201
70831
  maxLength: 128,
@@ -70367,6 +70997,11 @@ var schemaComponents = {
70367
70997
  description: "The appointment's hour as HH:MM, exactly as list_appointments returned it.",
70368
70998
  type: "string"
70369
70999
  },
71000
+ agentMode: {
71001
+ default: false,
71002
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71003
+ type: "boolean"
71004
+ },
70370
71005
  connectionId: {
70371
71006
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
70372
71007
  maxLength: 128,
@@ -70413,7 +71048,7 @@ var schemaComponents = {
70413
71048
  ]
70414
71049
  },
70415
71050
  date: {
70416
- description: `A day to look at, as YYYY-MM-DD. Omit it for the soonest day with room. Resolve relative dates like "mañana" against the clinic's own timezone before calling.`,
71051
+ description: `A day the person asked for, as YYYY-MM-DD. Its openings come first; when it has none, the openings nearest to it on either side are offered instead and requestedDateAvailable is false. Omit it for the soonest openings. Resolve relative dates like "mañana" against the clinic's own timezone before calling.`,
70417
71052
  anyOf: [
70418
71053
  {
70419
71054
  type: "string"
@@ -70521,7 +71156,7 @@ var schemaComponents = {
70521
71156
  description: "Patient document type read legibly from the original or explicitly supplied. Ask only if unknown or genuinely conflicting; never infer it from age or number length."
70522
71157
  },
70523
71158
  allowOtherProfessionals: {
70524
- description: "When true, a requested doctor with no openings falls back automatically to other doctors of the same service. Present their names and obtain consent before booking.",
71159
+ description: "Whether other doctors of this service may be offered when the named doctor has no opening in the searched window. Defaults to true: the named doctor's openings come first, and only when that doctor has none are the other doctors' nearest openings returned, with requestedProfessionalAvailable false. Name the actual doctor of each option and obtain consent before booking. False keeps the named doctor as a strict filter.",
70525
71160
  anyOf: [
70526
71161
  {
70527
71162
  const: "true",
@@ -70537,7 +71172,7 @@ var schemaComponents = {
70537
71172
  ]
70538
71173
  },
70539
71174
  fromDate: {
70540
- description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date only for an exact day.",
71175
+ description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date for a specific day.",
70541
71176
  anyOf: [
70542
71177
  {
70543
71178
  type: "string"
@@ -70617,7 +71252,7 @@ var schemaComponents = {
70617
71252
  ]
70618
71253
  },
70619
71254
  professional: {
70620
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest.",
71255
+ description: "Doctor's name, or part of it, when the caller asked for someone specific. Use list_professionals to check the service's registered doctors independently of available slots; absence from an open-agenda selector does not mean the doctor does not exist. Omit it to see whoever has room soonest.",
70621
71256
  anyOf: [
70622
71257
  {
70623
71258
  type: "string"
@@ -70631,6 +71266,11 @@ var schemaComponents = {
70631
71266
  description: "Exact service in the order or a previously returned service ID. Names are resolved internally against the live catalog; do not call list_services first or invent IDs. Preserve consultation/control and pediatric qualifiers.",
70632
71267
  type: "string"
70633
71268
  },
71269
+ agentMode: {
71270
+ default: false,
71271
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71272
+ type: "boolean"
71273
+ },
70634
71274
  connectionId: {
70635
71275
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
70636
71276
  maxLength: 128,
@@ -70689,6 +71329,11 @@ var schemaComponents = {
70689
71329
  description: "Issuer code before the hyphen in the authorization identifier.",
70690
71330
  type: "string"
70691
71331
  },
71332
+ agentMode: {
71333
+ default: false,
71334
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71335
+ type: "boolean"
71336
+ },
70692
71337
  connectionId: {
70693
71338
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
70694
71339
  maxLength: 128,
@@ -70843,7 +71488,7 @@ var schemaComponents = {
70843
71488
  description: "Patient document type read legibly from the original or explicitly supplied. Ask only if unknown or genuinely conflicting; never infer it from age or number length."
70844
71489
  },
70845
71490
  professional: {
70846
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest.",
71491
+ description: "Doctor's name, or part of it, when the caller asked for someone specific. Use list_professionals to check the service's registered doctors independently of available slots; absence from an open-agenda selector does not mean the doctor does not exist. Omit it to see whoever has room soonest.",
70847
71492
  anyOf: [
70848
71493
  {
70849
71494
  type: "string"
@@ -70857,6 +71502,11 @@ var schemaComponents = {
70857
71502
  description: `What the appointment is for: either an id from list_services or the service's own name, in the caller's words ("neurología", "control"). A name that matches more than one service is answered with the choices, so you can ask which one instead of guessing.`,
70858
71503
  type: "string"
70859
71504
  },
71505
+ agentMode: {
71506
+ default: false,
71507
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71508
+ type: "boolean"
71509
+ },
70860
71510
  connectionId: {
70861
71511
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
70862
71512
  maxLength: 128,
@@ -70911,6 +71561,11 @@ var schemaComponents = {
70911
71561
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
70912
71562
  type: "integer",
70913
71563
  default: 25
71564
+ },
71565
+ agentMode: {
71566
+ default: false,
71567
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71568
+ type: "boolean"
70914
71569
  }
70915
71570
  }
70916
71571
  },
@@ -70923,6 +71578,11 @@ var schemaComponents = {
70923
71578
  "logins"
70924
71579
  ],
70925
71580
  properties: {
71581
+ agentMode: {
71582
+ default: false,
71583
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71584
+ type: "boolean"
71585
+ },
70926
71586
  connectionId: {
70927
71587
  minLength: 1,
70928
71588
  maxLength: 128,
@@ -71007,6 +71667,11 @@ var schemaComponents = {
71007
71667
  pattern: "^[A-Za-z0-9_-]+$",
71008
71668
  description: "The connection's id, as Account lists it; it must be one of the caller's own organization's.",
71009
71669
  type: "string"
71670
+ },
71671
+ agentMode: {
71672
+ default: false,
71673
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71674
+ type: "boolean"
71010
71675
  }
71011
71676
  }
71012
71677
  },
@@ -71023,6 +71688,11 @@ var schemaComponents = {
71023
71688
  pattern: "^[A-Za-z0-9_-]+$",
71024
71689
  description: "The connection's id, as Account lists it; it must be one of the caller's own organization's.",
71025
71690
  type: "string"
71691
+ },
71692
+ agentMode: {
71693
+ default: false,
71694
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71695
+ type: "boolean"
71026
71696
  }
71027
71697
  }
71028
71698
  },
@@ -71054,6 +71724,11 @@ var schemaComponents = {
71054
71724
  description: "Explicit four-digit year for copay history, from 2000 to 2099.",
71055
71725
  type: "string"
71056
71726
  },
71727
+ agentMode: {
71728
+ default: false,
71729
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71730
+ type: "boolean"
71731
+ },
71057
71732
  connectionId: {
71058
71733
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
71059
71734
  maxLength: 128,
@@ -71090,6 +71765,11 @@ var schemaComponents = {
71090
71765
  description: "The operationId of the pending answer, exactly as it was returned.",
71091
71766
  type: "string"
71092
71767
  },
71768
+ agentMode: {
71769
+ default: false,
71770
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71771
+ type: "boolean"
71772
+ },
71093
71773
  connectionId: {
71094
71774
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
71095
71775
  maxLength: 128,
@@ -71220,6 +71900,89 @@ var schemaComponents = {
71220
71900
  ],
71221
71901
  description: "Patient document type read legibly from the original or explicitly supplied. Ask only if unknown or genuinely conflicting; never infer it from age or number length."
71222
71902
  },
71903
+ agentMode: {
71904
+ default: false,
71905
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71906
+ type: "boolean"
71907
+ },
71908
+ connectionId: {
71909
+ description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
71910
+ maxLength: 128,
71911
+ minLength: 1,
71912
+ type: "string"
71913
+ },
71914
+ channel: {
71915
+ anyOf: [
71916
+ {
71917
+ const: "voice",
71918
+ type: "string"
71919
+ },
71920
+ {
71921
+ const: "whatsapp",
71922
+ type: "string"
71923
+ },
71924
+ {
71925
+ const: "web",
71926
+ type: "string"
71927
+ }
71928
+ ],
71929
+ description: "The channel the caller is waiting on, which sets how long it waits before an answer comes back pending, and puts a phone call's reads ahead of others. Defaults to web."
71930
+ }
71931
+ }
71932
+ },
71933
+ SuraProfessionalsListInput: {
71934
+ additionalProperties: false,
71935
+ type: "object",
71936
+ required: [
71937
+ "serviceId"
71938
+ ],
71939
+ properties: {
71940
+ areaId: {
71941
+ description: "The areaId list_services returned beside that service. Pass it with an exact serviceId to skip a catalog lookup; omit it whenever you are naming the service in words.",
71942
+ anyOf: [
71943
+ {
71944
+ type: "string"
71945
+ },
71946
+ {
71947
+ type: "null"
71948
+ }
71949
+ ]
71950
+ },
71951
+ serviceId: {
71952
+ description: "Exact numeric service id returned by list_services. This directory is not filtered by patient coverage or available appointments.",
71953
+ pattern: "^[0-9]{1,20}$",
71954
+ type: "string"
71955
+ },
71956
+ cursor: {
71957
+ description: "Opaque cursor returned by pageInfo; omit it to request the first page.",
71958
+ type: "string"
71959
+ },
71960
+ direction: {
71961
+ description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
71962
+ anyOf: [
71963
+ {
71964
+ const: "forward",
71965
+ type: "string"
71966
+ },
71967
+ {
71968
+ const: "backward",
71969
+ type: "string"
71970
+ }
71971
+ ],
71972
+ default: "forward"
71973
+ },
71974
+ limit: {
71975
+ minimum: 1,
71976
+ maximum: 100,
71977
+ description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
71978
+ type: "integer",
71979
+ default: 25
71980
+ },
71981
+ agentMode: {
71982
+ default: false,
71983
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
71984
+ type: "boolean"
71985
+ },
71223
71986
  connectionId: {
71224
71987
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
71225
71988
  maxLength: 128,
@@ -71286,6 +72049,11 @@ var schemaComponents = {
71286
72049
  type: "integer",
71287
72050
  default: 25
71288
72051
  },
72052
+ agentMode: {
72053
+ default: false,
72054
+ description: "Set agentMode=true when calling this tool for an AI agent. The answer is concise Spanish text instead of JSON. Omit it for structured machine data. This changes presentation only, never authorization, consent or idempotency.",
72055
+ type: "boolean"
72056
+ },
71289
72057
  connectionId: {
71290
72058
  description: "Which of the organization's SURA connections to run on, by its id. Optional while the organization has one; required when it has several.",
71291
72059
  maxLength: 128,
@@ -72424,9 +73192,9 @@ var schemaComponents = {
72424
73192
  // src/generated/generation.json
72425
73193
  var generation_default = {
72426
73194
  formatVersion: 6,
72427
- release: "1.20261021.142621",
72428
- openapiSha256: "9ee7f470f970025948f315a5f014385c35fe2adf8c88f65cc48ded8ce39329dc",
72429
- openapiContentSha256: "38b2a1f8990668b3b55c4da7ee4ecc6b906464cb5fd58e3dd448889b6145fd36",
73195
+ release: "1.20261023.13947",
73196
+ openapiSha256: "922e8f634818548570d7cd6f85d240c2207870cbe5d5b3a176af2743e8fb20ff",
73197
+ openapiContentSha256: "1c5faf8f909599f3c67cb00c9370946d6ffd505ee2885a7d62170f253b3c736d",
72430
73198
  forge: {
72431
73199
  repository: "https://github.com/cloudflare/forge",
72432
73200
  commit: "7f86447210b7bea3779bfdab3cd5655eade0eadb",
@@ -72439,7 +73207,7 @@ var generation_default = {
72439
73207
  outputs: [
72440
73208
  {
72441
73209
  path: "src/generated/commands.ts",
72442
- sha256: "60141edcfd08e09bba48673c2ddc2e7dba98c907d07a2f41469bb8d9c8406e1b"
73210
+ sha256: "eef35f981f1a13a2020f600d5f6da76b48af252dae6b4ff21820901c25327258"
72443
73211
  }
72444
73212
  ]
72445
73213
  };
@@ -72794,7 +73562,7 @@ ${name}`);
72794
73562
  }
72795
73563
 
72796
73564
  // src/index.ts
72797
- var VERSION = "2.5.0";
73565
+ var VERSION = "2.7.0";
72798
73566
  var RELEASE = generation_default.release;
72799
73567
  var SDK_PATHS = new Map(Object.values(commands).map((command) => [command.operation, command.sdkPath]));
72800
73568
  var SERVICES = [...new Set(Object.keys(commands).map((name) => name.split(" ")[0]))].toSorted();