@arbol-ai/cli 2.4.0 → 2.6.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 +805 -64
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -10705,12 +10705,51 @@ var commands = {
10705
10705
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
10706
10706
  default: 25
10707
10707
  },
10708
+ {
10709
+ name: "agentMode",
10710
+ flag: "agent-mode",
10711
+ kind: "boolean",
10712
+ required: false,
10713
+ description: "Set true for voice/AI agents: compact Spanish text, at most 10 matches, complete catalog search and a tenant-isolated catalog cache of at most 60 seconds."
10714
+ },
10715
+ {
10716
+ name: "refresh",
10717
+ flag: "refresh",
10718
+ kind: "boolean",
10719
+ required: false,
10720
+ description: "Bypass the agent catalog cache and read the provider now."
10721
+ },
10708
10722
  {
10709
10723
  name: "id",
10710
10724
  flag: "id",
10711
10725
  kind: "string",
10712
10726
  required: false,
10713
- description: ""
10727
+ description: "Exact catalog id. Use q for a service name or code."
10728
+ },
10729
+ {
10730
+ name: "q",
10731
+ flag: "q",
10732
+ kind: "string",
10733
+ required: false,
10734
+ description: "Search name, code and description across the catalog, ignoring accents and case. Use a distinctive word such as lavado. An empty completed search means no matching catalog entry, not that the clinic cannot perform the procedure."
10735
+ },
10736
+ {
10737
+ name: "active",
10738
+ flag: "active",
10739
+ kind: "boolean",
10740
+ required: false,
10741
+ description: "Filter by the explicit catalog active flag. Omit to include unknown states."
10742
+ },
10743
+ {
10744
+ name: "kind",
10745
+ flag: "kind",
10746
+ kind: "string",
10747
+ required: false,
10748
+ description: "Filter services or products. Use SERVICE for clinical service information.",
10749
+ choices: [
10750
+ "SERVICE",
10751
+ "PRODUCT"
10752
+ ]
10714
10753
  },
10715
10754
  {
10716
10755
  name: "connectionId",
@@ -10750,10 +10789,43 @@ var commands = {
10750
10789
  type: "integer",
10751
10790
  default: 25
10752
10791
  },
10792
+ agentMode: {
10793
+ description: "Set true for voice/AI agents: compact Spanish text, at most 10 matches, complete catalog search and a tenant-isolated catalog cache of at most 60 seconds.",
10794
+ type: "boolean"
10795
+ },
10796
+ refresh: {
10797
+ description: "Bypass the agent catalog cache and read the provider now.",
10798
+ type: "boolean"
10799
+ },
10753
10800
  id: {
10754
10801
  pattern: "^[1-9][0-9]{0,14}$",
10802
+ description: "Exact catalog id. Use q for a service name or code.",
10803
+ type: "string"
10804
+ },
10805
+ q: {
10806
+ minLength: 2,
10807
+ maxLength: 120,
10808
+ pattern: "\\S",
10809
+ description: "Search name, code and description across the catalog, ignoring accents and case. Use a distinctive word such as lavado. An empty completed search means no matching catalog entry, not that the clinic cannot perform the procedure.",
10755
10810
  type: "string"
10756
10811
  },
10812
+ active: {
10813
+ description: "Filter by the explicit catalog active flag. Omit to include unknown states.",
10814
+ type: "boolean"
10815
+ },
10816
+ kind: {
10817
+ description: "Filter services or products. Use SERVICE for clinical service information.",
10818
+ anyOf: [
10819
+ {
10820
+ const: "SERVICE",
10821
+ type: "string"
10822
+ },
10823
+ {
10824
+ const: "PRODUCT",
10825
+ type: "string"
10826
+ }
10827
+ ]
10828
+ },
10757
10829
  connectionId: {
10758
10830
  pattern: "^con_[0-9A-Za-z]{26}$",
10759
10831
  type: "string"
@@ -10761,7 +10833,7 @@ var commands = {
10761
10833
  }
10762
10834
  },
10763
10835
  title: "List services",
10764
- description: "Use the organization gMedic account. Read-only request; provider failures are never empty results.",
10836
+ description: "For voice/AI agents set agentMode=true: concise Spanish text, up to 10 matches and a complete catalog cache of at most 60 seconds. Use q (name/code, accent-insensitive), active and kind filters; use a short distinctive term and limit 5 for a caller question. Filtered searches inspect all provider pages before returning matching entries. Incomplete scans fail explicitly. Without filters, returns one catalog page: follow pageInfo.nextCursor while hasNextPage is true before concluding an entry is absent. A generic procedure or missing price does not establish the requested service or tariff.",
10765
10837
  effect: "read",
10766
10838
  confirmation: null,
10767
10839
  hidden: false
@@ -20469,6 +20541,14 @@ var commands = {
20469
20541
  "CC"
20470
20542
  ]
20471
20543
  },
20544
+ {
20545
+ name: "agentMode",
20546
+ flag: "agent-mode",
20547
+ kind: "boolean",
20548
+ required: false,
20549
+ 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.",
20550
+ default: false
20551
+ },
20472
20552
  {
20473
20553
  name: "connectionId",
20474
20554
  flag: "connection-id",
@@ -20512,6 +20592,11 @@ var commands = {
20512
20592
  }
20513
20593
  ]
20514
20594
  },
20595
+ agentMode: {
20596
+ default: false,
20597
+ 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.",
20598
+ type: "boolean"
20599
+ },
20515
20600
  connectionId: {
20516
20601
  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.",
20517
20602
  maxLength: 128,
@@ -20623,6 +20708,14 @@ var commands = {
20623
20708
  required: true,
20624
20709
  description: "The appointment's hour as HH:MM, exactly as list_appointments returned it."
20625
20710
  },
20711
+ {
20712
+ name: "agentMode",
20713
+ flag: "agent-mode",
20714
+ kind: "boolean",
20715
+ required: false,
20716
+ 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.",
20717
+ default: false
20718
+ },
20626
20719
  {
20627
20720
  name: "connectionId",
20628
20721
  flag: "connection-id",
@@ -20789,6 +20882,11 @@ var commands = {
20789
20882
  description: "The appointment's hour as HH:MM, exactly as list_appointments returned it.",
20790
20883
  type: "string"
20791
20884
  },
20885
+ agentMode: {
20886
+ default: false,
20887
+ 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.",
20888
+ type: "boolean"
20889
+ },
20792
20890
  connectionId: {
20793
20891
  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.",
20794
20892
  maxLength: 128,
@@ -20909,6 +21007,14 @@ var commands = {
20909
21007
  required: true,
20910
21008
  description: "The hour the caller agreed to, as HH:MM on a 24-hour clock, exactly as it appeared in find_availability's times[]."
20911
21009
  },
21010
+ {
21011
+ name: "agentMode",
21012
+ flag: "agent-mode",
21013
+ kind: "boolean",
21014
+ required: false,
21015
+ 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.",
21016
+ default: false
21017
+ },
20912
21018
  {
20913
21019
  name: "connectionId",
20914
21020
  flag: "connection-id",
@@ -21082,6 +21188,11 @@ var commands = {
21082
21188
  description: "The hour the caller agreed to, as HH:MM on a 24-hour clock, exactly as it appeared in find_availability's times[].",
21083
21189
  type: "string"
21084
21190
  },
21191
+ agentMode: {
21192
+ default: false,
21193
+ 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.",
21194
+ type: "boolean"
21195
+ },
21085
21196
  connectionId: {
21086
21197
  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.",
21087
21198
  maxLength: 128,
@@ -21187,6 +21298,14 @@ var commands = {
21187
21298
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
21188
21299
  default: 25
21189
21300
  },
21301
+ {
21302
+ name: "agentMode",
21303
+ flag: "agent-mode",
21304
+ kind: "boolean",
21305
+ required: false,
21306
+ 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.",
21307
+ default: false
21308
+ },
21190
21309
  {
21191
21310
  name: "connectionId",
21192
21311
  flag: "connection-id",
@@ -21337,6 +21456,11 @@ var commands = {
21337
21456
  type: "integer",
21338
21457
  default: 25
21339
21458
  },
21459
+ agentMode: {
21460
+ default: false,
21461
+ 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.",
21462
+ type: "boolean"
21463
+ },
21340
21464
  connectionId: {
21341
21465
  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.",
21342
21466
  maxLength: 128,
@@ -21389,7 +21513,7 @@ var commands = {
21389
21513
  flag: "date",
21390
21514
  kind: "string",
21391
21515
  required: false,
21392
- 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.`
21516
+ 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.`
21393
21517
  },
21394
21518
  {
21395
21519
  name: "documentNumber",
@@ -21434,7 +21558,7 @@ var commands = {
21434
21558
  flag: "allow-other-professionals",
21435
21559
  kind: "string",
21436
21560
  required: false,
21437
- 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.",
21561
+ 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.",
21438
21562
  choices: [
21439
21563
  "true",
21440
21564
  "false"
@@ -21445,7 +21569,7 @@ var commands = {
21445
21569
  flag: "from-date",
21446
21570
  kind: "string",
21447
21571
  required: false,
21448
- description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date only for an exact day."
21572
+ description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date for a specific day."
21449
21573
  },
21450
21574
  {
21451
21575
  name: "timeFrom",
@@ -21496,7 +21620,7 @@ var commands = {
21496
21620
  flag: "professional",
21497
21621
  kind: "string",
21498
21622
  required: false,
21499
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest."
21623
+ 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."
21500
21624
  },
21501
21625
  {
21502
21626
  name: "serviceId",
@@ -21505,6 +21629,14 @@ var commands = {
21505
21629
  required: true,
21506
21630
  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."
21507
21631
  },
21632
+ {
21633
+ name: "agentMode",
21634
+ flag: "agent-mode",
21635
+ kind: "boolean",
21636
+ required: false,
21637
+ 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.",
21638
+ default: false
21639
+ },
21508
21640
  {
21509
21641
  name: "connectionId",
21510
21642
  flag: "connection-id",
@@ -21546,7 +21678,7 @@ var commands = {
21546
21678
  ]
21547
21679
  },
21548
21680
  date: {
21549
- 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.`,
21681
+ 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.`,
21550
21682
  anyOf: [
21551
21683
  {
21552
21684
  type: "string"
@@ -21654,7 +21786,7 @@ var commands = {
21654
21786
  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."
21655
21787
  },
21656
21788
  allowOtherProfessionals: {
21657
- 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.",
21789
+ 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.",
21658
21790
  anyOf: [
21659
21791
  {
21660
21792
  const: "true",
@@ -21670,7 +21802,7 @@ var commands = {
21670
21802
  ]
21671
21803
  },
21672
21804
  fromDate: {
21673
- description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date only for an exact day.",
21805
+ description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date for a specific day.",
21674
21806
  anyOf: [
21675
21807
  {
21676
21808
  type: "string"
@@ -21750,7 +21882,7 @@ var commands = {
21750
21882
  ]
21751
21883
  },
21752
21884
  professional: {
21753
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest.",
21885
+ 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.",
21754
21886
  anyOf: [
21755
21887
  {
21756
21888
  type: "string"
@@ -21764,6 +21896,11 @@ var commands = {
21764
21896
  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.",
21765
21897
  type: "string"
21766
21898
  },
21899
+ agentMode: {
21900
+ default: false,
21901
+ 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.",
21902
+ type: "boolean"
21903
+ },
21767
21904
  connectionId: {
21768
21905
  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.",
21769
21906
  maxLength: 128,
@@ -21835,6 +21972,14 @@ var commands = {
21835
21972
  required: true,
21836
21973
  description: "Issuer code before the hyphen in the authorization identifier."
21837
21974
  },
21975
+ {
21976
+ name: "agentMode",
21977
+ flag: "agent-mode",
21978
+ kind: "boolean",
21979
+ required: false,
21980
+ 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.",
21981
+ default: false
21982
+ },
21838
21983
  {
21839
21984
  name: "connectionId",
21840
21985
  flag: "connection-id",
@@ -21888,6 +22033,11 @@ var commands = {
21888
22033
  description: "Issuer code before the hyphen in the authorization identifier.",
21889
22034
  type: "string"
21890
22035
  },
22036
+ agentMode: {
22037
+ default: false,
22038
+ 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.",
22039
+ type: "boolean"
22040
+ },
21891
22041
  connectionId: {
21892
22042
  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.",
21893
22043
  maxLength: 128,
@@ -21985,7 +22135,7 @@ var commands = {
21985
22135
  flag: "professional",
21986
22136
  kind: "string",
21987
22137
  required: false,
21988
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest."
22138
+ 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."
21989
22139
  },
21990
22140
  {
21991
22141
  name: "serviceId",
@@ -21994,6 +22144,14 @@ var commands = {
21994
22144
  required: true,
21995
22145
  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.`
21996
22146
  },
22147
+ {
22148
+ name: "agentMode",
22149
+ flag: "agent-mode",
22150
+ kind: "boolean",
22151
+ required: false,
22152
+ 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.",
22153
+ default: false
22154
+ },
21997
22155
  {
21998
22156
  name: "connectionId",
21999
22157
  flag: "connection-id",
@@ -22143,7 +22301,7 @@ var commands = {
22143
22301
  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."
22144
22302
  },
22145
22303
  professional: {
22146
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest.",
22304
+ 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.",
22147
22305
  anyOf: [
22148
22306
  {
22149
22307
  type: "string"
@@ -22157,6 +22315,11 @@ var commands = {
22157
22315
  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.`,
22158
22316
  type: "string"
22159
22317
  },
22318
+ agentMode: {
22319
+ default: false,
22320
+ 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.",
22321
+ type: "boolean"
22322
+ },
22160
22323
  connectionId: {
22161
22324
  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.",
22162
22325
  maxLength: 128,
@@ -22196,7 +22359,16 @@ var commands = {
22196
22359
  "delete"
22197
22360
  ],
22198
22361
  pathField: "id",
22199
- fields: [],
22362
+ fields: [
22363
+ {
22364
+ name: "agentMode",
22365
+ flag: "agent-mode",
22366
+ kind: "boolean",
22367
+ required: false,
22368
+ 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.",
22369
+ default: false
22370
+ }
22371
+ ],
22200
22372
  inputSchema: {
22201
22373
  additionalProperties: false,
22202
22374
  type: "object",
@@ -22210,6 +22382,11 @@ var commands = {
22210
22382
  pattern: "^[A-Za-z0-9_-]+$",
22211
22383
  description: "The connection's id, as Account lists it; it must be one of the caller's own organization's.",
22212
22384
  type: "string"
22385
+ },
22386
+ agentMode: {
22387
+ default: false,
22388
+ 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.",
22389
+ type: "boolean"
22213
22390
  }
22214
22391
  }
22215
22392
  },
@@ -22227,7 +22404,16 @@ var commands = {
22227
22404
  "get"
22228
22405
  ],
22229
22406
  pathField: "id",
22230
- fields: [],
22407
+ fields: [
22408
+ {
22409
+ name: "agentMode",
22410
+ flag: "agent-mode",
22411
+ kind: "boolean",
22412
+ required: false,
22413
+ 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.",
22414
+ default: false
22415
+ }
22416
+ ],
22231
22417
  inputSchema: {
22232
22418
  additionalProperties: false,
22233
22419
  type: "object",
@@ -22241,6 +22427,11 @@ var commands = {
22241
22427
  pattern: "^[A-Za-z0-9_-]+$",
22242
22428
  description: "The connection's id, as Account lists it; it must be one of the caller's own organization's.",
22243
22429
  type: "string"
22430
+ },
22431
+ agentMode: {
22432
+ default: false,
22433
+ 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.",
22434
+ type: "boolean"
22244
22435
  }
22245
22436
  }
22246
22437
  },
@@ -22285,6 +22476,14 @@ var commands = {
22285
22476
  required: false,
22286
22477
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
22287
22478
  default: 25
22479
+ },
22480
+ {
22481
+ name: "agentMode",
22482
+ flag: "agent-mode",
22483
+ kind: "boolean",
22484
+ required: false,
22485
+ 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.",
22486
+ default: false
22288
22487
  }
22289
22488
  ],
22290
22489
  inputSchema: {
@@ -22316,6 +22515,11 @@ var commands = {
22316
22515
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
22317
22516
  type: "integer",
22318
22517
  default: 25
22518
+ },
22519
+ agentMode: {
22520
+ default: false,
22521
+ 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.",
22522
+ type: "boolean"
22319
22523
  }
22320
22524
  }
22321
22525
  },
@@ -22334,6 +22538,14 @@ var commands = {
22334
22538
  ],
22335
22539
  pathField: "connectionId",
22336
22540
  fields: [
22541
+ {
22542
+ name: "agentMode",
22543
+ flag: "agent-mode",
22544
+ kind: "boolean",
22545
+ required: false,
22546
+ 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.",
22547
+ default: false
22548
+ },
22337
22549
  {
22338
22550
  name: "name",
22339
22551
  flag: "name",
@@ -22369,6 +22581,11 @@ var commands = {
22369
22581
  "logins"
22370
22582
  ],
22371
22583
  properties: {
22584
+ agentMode: {
22585
+ default: false,
22586
+ 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.",
22587
+ type: "boolean"
22588
+ },
22372
22589
  connectionId: {
22373
22590
  minLength: 1,
22374
22591
  maxLength: 128,
@@ -22479,6 +22696,14 @@ var commands = {
22479
22696
  required: true,
22480
22697
  description: "Explicit four-digit year for copay history, from 2000 to 2099."
22481
22698
  },
22699
+ {
22700
+ name: "agentMode",
22701
+ flag: "agent-mode",
22702
+ kind: "boolean",
22703
+ required: false,
22704
+ 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.",
22705
+ default: false
22706
+ },
22482
22707
  {
22483
22708
  name: "connectionId",
22484
22709
  flag: "connection-id",
@@ -22527,6 +22752,11 @@ var commands = {
22527
22752
  description: "Explicit four-digit year for copay history, from 2000 to 2099.",
22528
22753
  type: "string"
22529
22754
  },
22755
+ agentMode: {
22756
+ default: false,
22757
+ 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.",
22758
+ type: "boolean"
22759
+ },
22530
22760
  connectionId: {
22531
22761
  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.",
22532
22762
  maxLength: 128,
@@ -22567,6 +22797,14 @@ var commands = {
22567
22797
  ],
22568
22798
  pathField: "operationId",
22569
22799
  fields: [
22800
+ {
22801
+ name: "agentMode",
22802
+ flag: "agent-mode",
22803
+ kind: "boolean",
22804
+ required: false,
22805
+ 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.",
22806
+ default: false
22807
+ },
22570
22808
  {
22571
22809
  name: "connectionId",
22572
22810
  flag: "connection-id",
@@ -22598,6 +22836,11 @@ var commands = {
22598
22836
  description: "The operationId of the pending answer, exactly as it was returned.",
22599
22837
  type: "string"
22600
22838
  },
22839
+ agentMode: {
22840
+ default: false,
22841
+ 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.",
22842
+ type: "boolean"
22843
+ },
22601
22844
  connectionId: {
22602
22845
  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.",
22603
22846
  maxLength: 128,
@@ -22676,6 +22919,14 @@ var commands = {
22676
22919
  "TI"
22677
22920
  ]
22678
22921
  },
22922
+ {
22923
+ name: "agentMode",
22924
+ flag: "agent-mode",
22925
+ kind: "boolean",
22926
+ required: false,
22927
+ 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.",
22928
+ default: false
22929
+ },
22679
22930
  {
22680
22931
  name: "connectionId",
22681
22932
  flag: "connection-id",
@@ -22801,6 +23052,11 @@ var commands = {
22801
23052
  ],
22802
23053
  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."
22803
23054
  },
23055
+ agentMode: {
23056
+ default: false,
23057
+ 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.",
23058
+ type: "boolean"
23059
+ },
22804
23060
  connectionId: {
22805
23061
  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.",
22806
23062
  maxLength: 128,
@@ -22832,6 +23088,168 @@ var commands = {
22832
23088
  confirmation: null,
22833
23089
  hidden: false
22834
23090
  },
23091
+ "sura professionals list": {
23092
+ operation: "sura.professionals.list",
23093
+ sdkPath: [
23094
+ "sura",
23095
+ "professionals",
23096
+ "list"
23097
+ ],
23098
+ pathField: null,
23099
+ fields: [
23100
+ {
23101
+ name: "areaId",
23102
+ flag: "area-id",
23103
+ kind: "string",
23104
+ required: false,
23105
+ 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."
23106
+ },
23107
+ {
23108
+ name: "serviceId",
23109
+ flag: "service-id",
23110
+ kind: "string",
23111
+ required: true,
23112
+ description: "Exact numeric service id returned by list_services. This directory is not filtered by patient coverage or available appointments."
23113
+ },
23114
+ {
23115
+ name: "cursor",
23116
+ flag: "cursor",
23117
+ kind: "string",
23118
+ required: false,
23119
+ description: "Opaque cursor returned by pageInfo; omit it to request the first page."
23120
+ },
23121
+ {
23122
+ name: "direction",
23123
+ flag: "direction",
23124
+ kind: "string",
23125
+ required: false,
23126
+ description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
23127
+ choices: [
23128
+ "forward",
23129
+ "backward"
23130
+ ],
23131
+ default: "forward"
23132
+ },
23133
+ {
23134
+ name: "limit",
23135
+ flag: "limit",
23136
+ kind: "integer",
23137
+ required: false,
23138
+ description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
23139
+ default: 25
23140
+ },
23141
+ {
23142
+ name: "agentMode",
23143
+ flag: "agent-mode",
23144
+ kind: "boolean",
23145
+ required: false,
23146
+ 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.",
23147
+ default: false
23148
+ },
23149
+ {
23150
+ name: "connectionId",
23151
+ flag: "connection-id",
23152
+ kind: "string",
23153
+ required: false,
23154
+ 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."
23155
+ },
23156
+ {
23157
+ name: "channel",
23158
+ flag: "channel",
23159
+ kind: "string",
23160
+ required: false,
23161
+ 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.",
23162
+ choices: [
23163
+ "voice",
23164
+ "whatsapp",
23165
+ "web"
23166
+ ]
23167
+ }
23168
+ ],
23169
+ inputSchema: {
23170
+ additionalProperties: false,
23171
+ type: "object",
23172
+ required: [
23173
+ "serviceId"
23174
+ ],
23175
+ properties: {
23176
+ areaId: {
23177
+ 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.",
23178
+ anyOf: [
23179
+ {
23180
+ type: "string"
23181
+ },
23182
+ {
23183
+ type: "null"
23184
+ }
23185
+ ]
23186
+ },
23187
+ serviceId: {
23188
+ description: "Exact numeric service id returned by list_services. This directory is not filtered by patient coverage or available appointments.",
23189
+ pattern: "^[0-9]{1,20}$",
23190
+ type: "string"
23191
+ },
23192
+ cursor: {
23193
+ description: "Opaque cursor returned by pageInfo; omit it to request the first page.",
23194
+ type: "string"
23195
+ },
23196
+ direction: {
23197
+ description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
23198
+ anyOf: [
23199
+ {
23200
+ const: "forward",
23201
+ type: "string"
23202
+ },
23203
+ {
23204
+ const: "backward",
23205
+ type: "string"
23206
+ }
23207
+ ],
23208
+ default: "forward"
23209
+ },
23210
+ limit: {
23211
+ minimum: 1,
23212
+ maximum: 100,
23213
+ description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
23214
+ type: "integer",
23215
+ default: 25
23216
+ },
23217
+ agentMode: {
23218
+ default: false,
23219
+ 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.",
23220
+ type: "boolean"
23221
+ },
23222
+ connectionId: {
23223
+ 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.",
23224
+ maxLength: 128,
23225
+ minLength: 1,
23226
+ type: "string"
23227
+ },
23228
+ channel: {
23229
+ anyOf: [
23230
+ {
23231
+ const: "voice",
23232
+ type: "string"
23233
+ },
23234
+ {
23235
+ const: "whatsapp",
23236
+ type: "string"
23237
+ },
23238
+ {
23239
+ const: "web",
23240
+ type: "string"
23241
+ }
23242
+ ],
23243
+ 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."
23244
+ }
23245
+ }
23246
+ },
23247
+ title: "List registered professionals",
23248
+ 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.",
23249
+ effect: "read",
23250
+ confirmation: null,
23251
+ hidden: false
23252
+ },
22835
23253
  "sura services list": {
22836
23254
  operation: "sura.services.list",
22837
23255
  sdkPath: [
@@ -22875,6 +23293,14 @@ var commands = {
22875
23293
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
22876
23294
  default: 25
22877
23295
  },
23296
+ {
23297
+ name: "agentMode",
23298
+ flag: "agent-mode",
23299
+ kind: "boolean",
23300
+ required: false,
23301
+ 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.",
23302
+ default: false
23303
+ },
22878
23304
  {
22879
23305
  name: "connectionId",
22880
23306
  flag: "connection-id",
@@ -22936,6 +23362,11 @@ var commands = {
22936
23362
  type: "integer",
22937
23363
  default: 25
22938
23364
  },
23365
+ agentMode: {
23366
+ default: false,
23367
+ 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.",
23368
+ type: "boolean"
23369
+ },
22939
23370
  connectionId: {
22940
23371
  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.",
22941
23372
  maxLength: 128,
@@ -35506,6 +35937,19 @@ var schemaComponents = {
35506
35937
  }
35507
35938
  }
35508
35939
  },
35940
+ GmedicAgentServicesText: {
35941
+ additionalProperties: false,
35942
+ type: "object",
35943
+ required: [
35944
+ "text"
35945
+ ],
35946
+ properties: {
35947
+ text: {
35948
+ maxLength: 16000,
35949
+ type: "string"
35950
+ }
35951
+ }
35952
+ },
35509
35953
  GmedicAppointmentsPage: {
35510
35954
  additionalProperties: false,
35511
35955
  type: "object",
@@ -37248,11 +37692,69 @@ var schemaComponents = {
37248
37692
  ],
37249
37693
  properties: {
37250
37694
  code: {
37251
- const: "RATE_LIMITED",
37695
+ const: "RATE_LIMITED",
37696
+ type: "string"
37697
+ },
37698
+ message: {
37699
+ const: "The request rate limit was exceeded. Try again later.",
37700
+ type: "string"
37701
+ },
37702
+ retryable: {
37703
+ const: true,
37704
+ type: "boolean"
37705
+ },
37706
+ data: {
37707
+ additionalProperties: false,
37708
+ type: "object",
37709
+ properties: {}
37710
+ }
37711
+ }
37712
+ },
37713
+ {
37714
+ additionalProperties: false,
37715
+ type: "object",
37716
+ required: [
37717
+ "code",
37718
+ "message",
37719
+ "retryable",
37720
+ "data"
37721
+ ],
37722
+ properties: {
37723
+ code: {
37724
+ const: "INTERNAL_ERROR",
37725
+ type: "string"
37726
+ },
37727
+ message: {
37728
+ const: "The service could not complete the operation.",
37729
+ type: "string"
37730
+ },
37731
+ retryable: {
37732
+ const: false,
37733
+ type: "boolean"
37734
+ },
37735
+ data: {
37736
+ additionalProperties: false,
37737
+ type: "object",
37738
+ properties: {}
37739
+ }
37740
+ }
37741
+ },
37742
+ {
37743
+ additionalProperties: false,
37744
+ type: "object",
37745
+ required: [
37746
+ "code",
37747
+ "message",
37748
+ "retryable",
37749
+ "data"
37750
+ ],
37751
+ properties: {
37752
+ code: {
37753
+ const: "UPSTREAM_UNAVAILABLE",
37252
37754
  type: "string"
37253
37755
  },
37254
37756
  message: {
37255
- const: "The request rate limit was exceeded. Try again later.",
37757
+ const: "The upstream service could not complete the request.",
37256
37758
  type: "string"
37257
37759
  },
37258
37760
  retryable: {
@@ -37277,40 +37779,11 @@ var schemaComponents = {
37277
37779
  ],
37278
37780
  properties: {
37279
37781
  code: {
37280
- const: "INTERNAL_ERROR",
37281
- type: "string"
37282
- },
37283
- message: {
37284
- const: "The service could not complete the operation.",
37285
- type: "string"
37286
- },
37287
- retryable: {
37288
- const: false,
37289
- type: "boolean"
37290
- },
37291
- data: {
37292
- additionalProperties: false,
37293
- type: "object",
37294
- properties: {}
37295
- }
37296
- }
37297
- },
37298
- {
37299
- additionalProperties: false,
37300
- type: "object",
37301
- required: [
37302
- "code",
37303
- "message",
37304
- "retryable",
37305
- "data"
37306
- ],
37307
- properties: {
37308
- code: {
37309
- const: "UPSTREAM_UNAVAILABLE",
37782
+ const: "UPSTREAM_TIMEOUT",
37310
37783
  type: "string"
37311
37784
  },
37312
37785
  message: {
37313
- const: "The upstream service could not complete the request.",
37786
+ const: "The upstream service did not respond before its deadline.",
37314
37787
  type: "string"
37315
37788
  },
37316
37789
  retryable: {
@@ -37335,15 +37808,15 @@ var schemaComponents = {
37335
37808
  ],
37336
37809
  properties: {
37337
37810
  code: {
37338
- const: "UPSTREAM_TIMEOUT",
37811
+ const: "OUTCOME_UNKNOWN",
37339
37812
  type: "string"
37340
37813
  },
37341
37814
  message: {
37342
- const: "The upstream service did not respond before its deadline.",
37815
+ const: "The operation may have been applied; check its result before repeating it.",
37343
37816
  type: "string"
37344
37817
  },
37345
37818
  retryable: {
37346
- const: true,
37819
+ const: false,
37347
37820
  type: "boolean"
37348
37821
  },
37349
37822
  data: {
@@ -37364,11 +37837,11 @@ var schemaComponents = {
37364
37837
  ],
37365
37838
  properties: {
37366
37839
  code: {
37367
- const: "OUTCOME_UNKNOWN",
37840
+ const: "NOT_CONFIGURED",
37368
37841
  type: "string"
37369
37842
  },
37370
37843
  message: {
37371
- const: "The operation may have been applied; check its result before repeating it.",
37844
+ const: "This organization has no verified gMedic connection.",
37372
37845
  type: "string"
37373
37846
  },
37374
37847
  retryable: {
@@ -37393,11 +37866,11 @@ var schemaComponents = {
37393
37866
  ],
37394
37867
  properties: {
37395
37868
  code: {
37396
- const: "NOT_CONFIGURED",
37869
+ const: "CATALOG_SEARCH_INCOMPLETE",
37397
37870
  type: "string"
37398
37871
  },
37399
37872
  message: {
37400
- const: "This organization has no verified gMedic connection.",
37873
+ const: "The service catalog search could not be completed within its limits. Service absence cannot be concluded.",
37401
37874
  type: "string"
37402
37875
  },
37403
37876
  retryable: {
@@ -56749,6 +57222,14 @@ var schemaComponents = {
56749
57222
  description: "False when the bounded search stopped before establishing the requested nearest options.",
56750
57223
  type: "boolean"
56751
57224
  },
57225
+ requestedProfessionalAvailable: {
57226
+ 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.",
57227
+ type: "boolean"
57228
+ },
57229
+ requestedDateAvailable: {
57230
+ 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.",
57231
+ type: "boolean"
57232
+ },
56752
57233
  appointments: {
56753
57234
  description: "The patient's pending appointments of the requested service.",
56754
57235
  type: "array",
@@ -57048,6 +57529,14 @@ var schemaComponents = {
57048
57529
  description: "False when the bounded search stopped before establishing the requested nearest options.",
57049
57530
  type: "boolean"
57050
57531
  },
57532
+ requestedProfessionalAvailable: {
57533
+ 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.",
57534
+ type: "boolean"
57535
+ },
57536
+ requestedDateAvailable: {
57537
+ 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.",
57538
+ type: "boolean"
57539
+ },
57051
57540
  appointments: {
57052
57541
  description: "The patient's pending appointments of the requested service.",
57053
57542
  type: "array",
@@ -57103,6 +57592,72 @@ var schemaComponents = {
57103
57592
  }
57104
57593
  }
57105
57594
  },
57595
+ SuraProfessional: {
57596
+ additionalProperties: false,
57597
+ type: "object",
57598
+ required: [
57599
+ "id",
57600
+ "name",
57601
+ "areaId",
57602
+ "serviceId",
57603
+ "serviceName",
57604
+ "registered",
57605
+ "availabilityChecked"
57606
+ ],
57607
+ properties: {
57608
+ id: {
57609
+ description: "Opaque directory identity. Use name, not this id, when requesting availability.",
57610
+ type: "string"
57611
+ },
57612
+ name: {
57613
+ type: "string"
57614
+ },
57615
+ areaId: {
57616
+ type: "string"
57617
+ },
57618
+ serviceId: {
57619
+ type: "string"
57620
+ },
57621
+ serviceName: {
57622
+ type: "string"
57623
+ },
57624
+ registered: {
57625
+ const: true,
57626
+ type: "boolean"
57627
+ },
57628
+ availabilityChecked: {
57629
+ const: false,
57630
+ type: "boolean"
57631
+ }
57632
+ }
57633
+ },
57634
+ SuraProfessionalPage: {
57635
+ additionalProperties: false,
57636
+ type: "object",
57637
+ required: [
57638
+ "data",
57639
+ "object",
57640
+ "pageInfo"
57641
+ ],
57642
+ properties: {
57643
+ data: {
57644
+ description: "Items admitted by this resource contract within the verified organization.",
57645
+ type: "array",
57646
+ items: {
57647
+ $ref: "#/components/schemas/SuraProfessional"
57648
+ }
57649
+ },
57650
+ object: {
57651
+ description: "Discriminator for a resource list response.",
57652
+ const: "list",
57653
+ type: "string"
57654
+ },
57655
+ pageInfo: {
57656
+ $ref: "#/components/schemas/PageInfo",
57657
+ description: "Opaque navigation cursors for this page’s stable keyset order."
57658
+ }
57659
+ }
57660
+ },
57106
57661
  SuraRefusal: {
57107
57662
  additionalProperties: false,
57108
57663
  type: "object",
@@ -64098,10 +64653,43 @@ var schemaComponents = {
64098
64653
  type: "integer",
64099
64654
  default: 25
64100
64655
  },
64656
+ agentMode: {
64657
+ description: "Set true for voice/AI agents: compact Spanish text, at most 10 matches, complete catalog search and a tenant-isolated catalog cache of at most 60 seconds.",
64658
+ type: "boolean"
64659
+ },
64660
+ refresh: {
64661
+ description: "Bypass the agent catalog cache and read the provider now.",
64662
+ type: "boolean"
64663
+ },
64101
64664
  id: {
64102
64665
  pattern: "^[1-9][0-9]{0,14}$",
64666
+ description: "Exact catalog id. Use q for a service name or code.",
64667
+ type: "string"
64668
+ },
64669
+ q: {
64670
+ minLength: 2,
64671
+ maxLength: 120,
64672
+ pattern: "\\S",
64673
+ description: "Search name, code and description across the catalog, ignoring accents and case. Use a distinctive word such as lavado. An empty completed search means no matching catalog entry, not that the clinic cannot perform the procedure.",
64103
64674
  type: "string"
64104
64675
  },
64676
+ active: {
64677
+ description: "Filter by the explicit catalog active flag. Omit to include unknown states.",
64678
+ type: "boolean"
64679
+ },
64680
+ kind: {
64681
+ description: "Filter services or products. Use SERVICE for clinical service information.",
64682
+ anyOf: [
64683
+ {
64684
+ const: "SERVICE",
64685
+ type: "string"
64686
+ },
64687
+ {
64688
+ const: "PRODUCT",
64689
+ type: "string"
64690
+ }
64691
+ ]
64692
+ },
64105
64693
  connectionId: {
64106
64694
  pattern: "^con_[0-9A-Za-z]{26}$",
64107
64695
  type: "string"
@@ -69716,6 +70304,11 @@ var schemaComponents = {
69716
70304
  }
69717
70305
  ]
69718
70306
  },
70307
+ agentMode: {
70308
+ default: false,
70309
+ 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.",
70310
+ type: "boolean"
70311
+ },
69719
70312
  connectionId: {
69720
70313
  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.",
69721
70314
  maxLength: 128,
@@ -69894,6 +70487,11 @@ var schemaComponents = {
69894
70487
  description: "The hour the caller agreed to, as HH:MM on a 24-hour clock, exactly as it appeared in find_availability's times[].",
69895
70488
  type: "string"
69896
70489
  },
70490
+ agentMode: {
70491
+ default: false,
70492
+ 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.",
70493
+ type: "boolean"
70494
+ },
69897
70495
  connectionId: {
69898
70496
  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.",
69899
70497
  maxLength: 128,
@@ -70049,6 +70647,11 @@ var schemaComponents = {
70049
70647
  type: "integer",
70050
70648
  default: 25
70051
70649
  },
70650
+ agentMode: {
70651
+ default: false,
70652
+ 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.",
70653
+ type: "boolean"
70654
+ },
70052
70655
  connectionId: {
70053
70656
  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.",
70054
70657
  maxLength: 128,
@@ -70220,6 +70823,11 @@ var schemaComponents = {
70220
70823
  description: "The appointment's hour as HH:MM, exactly as list_appointments returned it.",
70221
70824
  type: "string"
70222
70825
  },
70826
+ agentMode: {
70827
+ default: false,
70828
+ 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.",
70829
+ type: "boolean"
70830
+ },
70223
70831
  connectionId: {
70224
70832
  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.",
70225
70833
  maxLength: 128,
@@ -70266,7 +70874,7 @@ var schemaComponents = {
70266
70874
  ]
70267
70875
  },
70268
70876
  date: {
70269
- 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.`,
70877
+ 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.`,
70270
70878
  anyOf: [
70271
70879
  {
70272
70880
  type: "string"
@@ -70374,7 +70982,7 @@ var schemaComponents = {
70374
70982
  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."
70375
70983
  },
70376
70984
  allowOtherProfessionals: {
70377
- 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.",
70985
+ 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.",
70378
70986
  anyOf: [
70379
70987
  {
70380
70988
  const: "true",
@@ -70390,7 +70998,7 @@ var schemaComponents = {
70390
70998
  ]
70391
70999
  },
70392
71000
  fromDate: {
70393
- description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date only for an exact day.",
71001
+ description: "Search from this day onward (YYYY-MM-DD), using the live calendar. Omit for today. Use date for a specific day.",
70394
71002
  anyOf: [
70395
71003
  {
70396
71004
  type: "string"
@@ -70470,7 +71078,7 @@ var schemaComponents = {
70470
71078
  ]
70471
71079
  },
70472
71080
  professional: {
70473
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest.",
71081
+ 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.",
70474
71082
  anyOf: [
70475
71083
  {
70476
71084
  type: "string"
@@ -70484,6 +71092,11 @@ var schemaComponents = {
70484
71092
  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.",
70485
71093
  type: "string"
70486
71094
  },
71095
+ agentMode: {
71096
+ default: false,
71097
+ 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.",
71098
+ type: "boolean"
71099
+ },
70487
71100
  connectionId: {
70488
71101
  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.",
70489
71102
  maxLength: 128,
@@ -70542,6 +71155,11 @@ var schemaComponents = {
70542
71155
  description: "Issuer code before the hyphen in the authorization identifier.",
70543
71156
  type: "string"
70544
71157
  },
71158
+ agentMode: {
71159
+ default: false,
71160
+ 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.",
71161
+ type: "boolean"
71162
+ },
70545
71163
  connectionId: {
70546
71164
  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.",
70547
71165
  maxLength: 128,
@@ -70696,7 +71314,7 @@ var schemaComponents = {
70696
71314
  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."
70697
71315
  },
70698
71316
  professional: {
70699
- description: "Doctor's name, or part of it, when the caller asked for someone specific. Omit it to see whoever has room soonest.",
71317
+ 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.",
70700
71318
  anyOf: [
70701
71319
  {
70702
71320
  type: "string"
@@ -70710,6 +71328,11 @@ var schemaComponents = {
70710
71328
  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.`,
70711
71329
  type: "string"
70712
71330
  },
71331
+ agentMode: {
71332
+ default: false,
71333
+ 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.",
71334
+ type: "boolean"
71335
+ },
70713
71336
  connectionId: {
70714
71337
  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.",
70715
71338
  maxLength: 128,
@@ -70764,6 +71387,11 @@ var schemaComponents = {
70764
71387
  description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
70765
71388
  type: "integer",
70766
71389
  default: 25
71390
+ },
71391
+ agentMode: {
71392
+ default: false,
71393
+ 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.",
71394
+ type: "boolean"
70767
71395
  }
70768
71396
  }
70769
71397
  },
@@ -70776,6 +71404,11 @@ var schemaComponents = {
70776
71404
  "logins"
70777
71405
  ],
70778
71406
  properties: {
71407
+ agentMode: {
71408
+ default: false,
71409
+ 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.",
71410
+ type: "boolean"
71411
+ },
70779
71412
  connectionId: {
70780
71413
  minLength: 1,
70781
71414
  maxLength: 128,
@@ -70860,6 +71493,11 @@ var schemaComponents = {
70860
71493
  pattern: "^[A-Za-z0-9_-]+$",
70861
71494
  description: "The connection's id, as Account lists it; it must be one of the caller's own organization's.",
70862
71495
  type: "string"
71496
+ },
71497
+ agentMode: {
71498
+ default: false,
71499
+ 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.",
71500
+ type: "boolean"
70863
71501
  }
70864
71502
  }
70865
71503
  },
@@ -70876,6 +71514,11 @@ var schemaComponents = {
70876
71514
  pattern: "^[A-Za-z0-9_-]+$",
70877
71515
  description: "The connection's id, as Account lists it; it must be one of the caller's own organization's.",
70878
71516
  type: "string"
71517
+ },
71518
+ agentMode: {
71519
+ default: false,
71520
+ 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.",
71521
+ type: "boolean"
70879
71522
  }
70880
71523
  }
70881
71524
  },
@@ -70907,6 +71550,11 @@ var schemaComponents = {
70907
71550
  description: "Explicit four-digit year for copay history, from 2000 to 2099.",
70908
71551
  type: "string"
70909
71552
  },
71553
+ agentMode: {
71554
+ default: false,
71555
+ 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.",
71556
+ type: "boolean"
71557
+ },
70910
71558
  connectionId: {
70911
71559
  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.",
70912
71560
  maxLength: 128,
@@ -70943,6 +71591,11 @@ var schemaComponents = {
70943
71591
  description: "The operationId of the pending answer, exactly as it was returned.",
70944
71592
  type: "string"
70945
71593
  },
71594
+ agentMode: {
71595
+ default: false,
71596
+ 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.",
71597
+ type: "boolean"
71598
+ },
70946
71599
  connectionId: {
70947
71600
  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.",
70948
71601
  maxLength: 128,
@@ -71073,6 +71726,89 @@ var schemaComponents = {
71073
71726
  ],
71074
71727
  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."
71075
71728
  },
71729
+ agentMode: {
71730
+ default: false,
71731
+ 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.",
71732
+ type: "boolean"
71733
+ },
71734
+ connectionId: {
71735
+ 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.",
71736
+ maxLength: 128,
71737
+ minLength: 1,
71738
+ type: "string"
71739
+ },
71740
+ channel: {
71741
+ anyOf: [
71742
+ {
71743
+ const: "voice",
71744
+ type: "string"
71745
+ },
71746
+ {
71747
+ const: "whatsapp",
71748
+ type: "string"
71749
+ },
71750
+ {
71751
+ const: "web",
71752
+ type: "string"
71753
+ }
71754
+ ],
71755
+ 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."
71756
+ }
71757
+ }
71758
+ },
71759
+ SuraProfessionalsListInput: {
71760
+ additionalProperties: false,
71761
+ type: "object",
71762
+ required: [
71763
+ "serviceId"
71764
+ ],
71765
+ properties: {
71766
+ areaId: {
71767
+ 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.",
71768
+ anyOf: [
71769
+ {
71770
+ type: "string"
71771
+ },
71772
+ {
71773
+ type: "null"
71774
+ }
71775
+ ]
71776
+ },
71777
+ serviceId: {
71778
+ description: "Exact numeric service id returned by list_services. This directory is not filtered by patient coverage or available appointments.",
71779
+ pattern: "^[0-9]{1,20}$",
71780
+ type: "string"
71781
+ },
71782
+ cursor: {
71783
+ description: "Opaque cursor returned by pageInfo; omit it to request the first page.",
71784
+ type: "string"
71785
+ },
71786
+ direction: {
71787
+ description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
71788
+ anyOf: [
71789
+ {
71790
+ const: "forward",
71791
+ type: "string"
71792
+ },
71793
+ {
71794
+ const: "backward",
71795
+ type: "string"
71796
+ }
71797
+ ],
71798
+ default: "forward"
71799
+ },
71800
+ limit: {
71801
+ minimum: 1,
71802
+ maximum: 100,
71803
+ description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
71804
+ type: "integer",
71805
+ default: 25
71806
+ },
71807
+ agentMode: {
71808
+ default: false,
71809
+ 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.",
71810
+ type: "boolean"
71811
+ },
71076
71812
  connectionId: {
71077
71813
  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.",
71078
71814
  maxLength: 128,
@@ -71139,6 +71875,11 @@ var schemaComponents = {
71139
71875
  type: "integer",
71140
71876
  default: 25
71141
71877
  },
71878
+ agentMode: {
71879
+ default: false,
71880
+ 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.",
71881
+ type: "boolean"
71882
+ },
71142
71883
  connectionId: {
71143
71884
  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.",
71144
71885
  maxLength: 128,
@@ -72277,9 +73018,9 @@ var schemaComponents = {
72277
73018
  // src/generated/generation.json
72278
73019
  var generation_default = {
72279
73020
  formatVersion: 6,
72280
- release: "1.20261021.53505",
72281
- openapiSha256: "d0b2c69861cf5d9bf86d722c20f3d09c7420d4fbe3f1319c948fd39122505b3c",
72282
- openapiContentSha256: "3dbd465d9ddac7ecd1b00c5694419214ef02e6aa3925085dabaea80077fbfcca",
73021
+ release: "1.20261022.214640",
73022
+ openapiSha256: "07df005c83ee996aeac081f6291a06b976ca88cb57bc00e30a533b19bc844e61",
73023
+ openapiContentSha256: "7ab911484cc0f05d9a2ef6b4851b369b666ccfdb43cb7086b6f91f60755f855a",
72283
73024
  forge: {
72284
73025
  repository: "https://github.com/cloudflare/forge",
72285
73026
  commit: "7f86447210b7bea3779bfdab3cd5655eade0eadb",
@@ -72292,7 +73033,7 @@ var generation_default = {
72292
73033
  outputs: [
72293
73034
  {
72294
73035
  path: "src/generated/commands.ts",
72295
- sha256: "b359de474d469104dcb084c58616bb848fb2d88819774ca4396889667e2a4bcb"
73036
+ sha256: "007c9676e6634b3837c94b4e43c465919f3db316e538838066fc806949f560ea"
72296
73037
  }
72297
73038
  ]
72298
73039
  };
@@ -72647,7 +73388,7 @@ ${name}`);
72647
73388
  }
72648
73389
 
72649
73390
  // src/index.ts
72650
- var VERSION = "2.4.0";
73391
+ var VERSION = "2.6.0";
72651
73392
  var RELEASE = generation_default.release;
72652
73393
  var SDK_PATHS = new Map(Object.values(commands).map((command) => [command.operation, command.sdkPath]));
72653
73394
  var SERVICES = [...new Set(Object.keys(commands).map((name) => name.split(" ")[0]))].toSorted();