@arbol-ai/cli 3.12.0 → 3.14.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 +2268 -1507
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -14213,12 +14213,12 @@ var commands = {
14213
14213
  }
14214
14214
  ]
14215
14215
  },
14216
- integrationSkills: {
14217
- description: "Text Agents. Skills a connection publishes (`listConnections`, checked live in Account), each saved with its current text and offered beside `skills`; names must differ from the Agent's own skills. In an update, the complete new set.",
14216
+ integrationProcedures: {
14217
+ description: "Text Agents. Procedures a connection publishes (`listConnections`, checked live in Account), each saved with its current text and run as a free-form procedure beside `procedures`. In an update, the complete new set.",
14218
14218
  maxItems: 32,
14219
14219
  type: "array",
14220
14220
  items: {
14221
- $ref: "#/components/schemas/RaizAgentIntegrationSkillInput"
14221
+ $ref: "#/components/schemas/RaizAgentIntegrationProcedureInput"
14222
14222
  }
14223
14223
  },
14224
14224
  integrationTools: {
@@ -14251,18 +14251,18 @@ var commands = {
14251
14251
  pattern: "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
14252
14252
  type: "string"
14253
14253
  },
14254
- settings: {
14255
- $ref: "#/components/schemas/RaizAgentSettingsInput",
14256
- description: "How the Agent behaves. In an update, the complete new settings: keys left out return to their default. Text and voice settings apply only to Agents of that modality."
14257
- },
14258
- skills: {
14259
- maxItems: 32,
14260
- description: "Text-only procedures and references loaded on demand. Names and resource paths must be unique; the complete set is limited to 256 KiB. In an update, this replaces the whole set. Skills never grant additional business tools or execute scripts.",
14254
+ procedures: {
14255
+ description: "The Agent's procedures, as a complete set: a procedure left out is removed. Keep each existing procedure's `id`; a new one may omit it.",
14256
+ maxItems: 64,
14261
14257
  type: "array",
14262
14258
  items: {
14263
- $ref: "#/components/schemas/RaizAgentSkill"
14259
+ $ref: "#/components/schemas/RaizAgentProcedureInput"
14264
14260
  }
14265
14261
  },
14262
+ settings: {
14263
+ $ref: "#/components/schemas/RaizAgentSettingsInput",
14264
+ description: "How the Agent behaves. In an update, the complete new settings: keys left out return to their default. Text and voice settings apply only to Agents of that modality."
14265
+ },
14266
14266
  status: {
14267
14267
  description: "A paused Agent answers nothing and places no calls.",
14268
14268
  anyOf: [
@@ -14313,7 +14313,7 @@ var commands = {
14313
14313
  }
14314
14314
  },
14315
14315
  title: "Create an Agent",
14316
- description: "Create an Agent that talks to the organization's contacts. Choose `modality` (`voice`: phone calls; `text`: WhatsApp and web chat) and a `name`; then give it `instructions` (role, goal, limits), and optionally a `firstMessage`, `language`, `timeZone`, `settings`, Knowledge (`knowledgeDocumentIds` of ready documents from `list_knowledge_documents`) and `integrationTools` (connection + tool pairs of the organization's connections in Account, checked live: INTEGRATION_TOOL_UNAVAILABLE), and for a text Agent `integrationSkills` (connection + skill pairs a connection publishes, checked live: INTEGRATION_SKILL_UNAVAILABLE). Next: assign it to a channel with `update_channel`; a voice Agent is published in the background, so check `synced` with `get_agent`. Read the `create-agent` skill (`get_skill`) first.",
14316
+ description: "Create an Agent that talks to the organization's contacts. Choose `modality` (`voice`: phone calls; `text`: WhatsApp and web chat) and a `name`; then give it `instructions` (role, goal, limits), and optionally a `firstMessage`, `language`, `timeZone`, `settings`, Knowledge (`knowledgeDocumentIds` of ready documents from `list_knowledge_documents`) and `integrationTools` (connection + tool pairs of the organization's connections in Account, checked live: INTEGRATION_TOOL_UNAVAILABLE), `procedures` (each a trigger plus free-form Markdown or structured steps, with inline references to the Agent's tools, Knowledge and other procedures: AGENT_PROCEDURES_INVALID says where one is wrong), and for a text Agent `integrationProcedures` (connection + procedure pairs a connection publishes, checked live: INTEGRATION_PROCEDURE_UNAVAILABLE). Next: assign it to a channel with `update_channel`; a voice Agent is published in the background, so check `synced` with `get_agent`. Read the `create-agent` skill (`get_skill`) first.",
14317
14317
  effect: "write",
14318
14318
  confirmation: null,
14319
14319
  hidden: false
@@ -14345,7 +14345,7 @@ var commands = {
14345
14345
  additionalProperties: false
14346
14346
  },
14347
14347
  title: "Get an Agent",
14348
- description: "Read one Agent's complete setup: instructions, first message, language, time zone, settings, integration tools (each with its connection and effect), Knowledge document ids, text-only skills and their references, and channels. `ready` says whether it can hold conversations; for a voice Agent, `synced` says whether its phone line already runs this version, and `syncErrorCode` why not. Read it before `update_agent` and send its `version` as `expectedVersion`.",
14348
+ description: "Read one Agent's complete setup: instructions, first message, language, time zone, settings, integration tools (each with its connection and effect), Knowledge document ids, procedures (trigger plus free-form instructions or structured steps) and connection procedures, and channels. `ready` says whether it can hold conversations; for a voice Agent, `synced` says whether its phone line already runs this version, and `syncErrorCode` why not. Read it before `update_agent` and send its `version` as `expectedVersion`.",
14349
14349
  effect: "read",
14350
14350
  confirmation: null,
14351
14351
  hidden: false
@@ -14624,12 +14624,12 @@ var commands = {
14624
14624
  }
14625
14625
  ]
14626
14626
  },
14627
- integrationSkills: {
14628
- description: "Text Agents. Skills a connection publishes (`listConnections`, checked live in Account), each saved with its current text and offered beside `skills`; names must differ from the Agent's own skills. In an update, the complete new set.",
14627
+ integrationProcedures: {
14628
+ description: "Text Agents. Procedures a connection publishes (`listConnections`, checked live in Account), each saved with its current text and run as a free-form procedure beside `procedures`. In an update, the complete new set.",
14629
14629
  maxItems: 32,
14630
14630
  type: "array",
14631
14631
  items: {
14632
- $ref: "#/components/schemas/RaizAgentIntegrationSkillInput"
14632
+ $ref: "#/components/schemas/RaizAgentIntegrationProcedureInput"
14633
14633
  }
14634
14634
  },
14635
14635
  integrationTools: {
@@ -14662,18 +14662,18 @@ var commands = {
14662
14662
  pattern: "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
14663
14663
  type: "string"
14664
14664
  },
14665
- settings: {
14666
- $ref: "#/components/schemas/RaizAgentSettingsInput",
14667
- description: "How the Agent behaves. In an update, the complete new settings: keys left out return to their default. Text and voice settings apply only to Agents of that modality."
14668
- },
14669
- skills: {
14670
- maxItems: 32,
14671
- description: "Text-only procedures and references loaded on demand. Names and resource paths must be unique; the complete set is limited to 256 KiB. In an update, this replaces the whole set. Skills never grant additional business tools or execute scripts.",
14665
+ procedures: {
14666
+ description: "The Agent's procedures, as a complete set: a procedure left out is removed. Keep each existing procedure's `id`; a new one may omit it.",
14667
+ maxItems: 64,
14672
14668
  type: "array",
14673
14669
  items: {
14674
- $ref: "#/components/schemas/RaizAgentSkill"
14670
+ $ref: "#/components/schemas/RaizAgentProcedureInput"
14675
14671
  }
14676
14672
  },
14673
+ settings: {
14674
+ $ref: "#/components/schemas/RaizAgentSettingsInput",
14675
+ description: "How the Agent behaves. In an update, the complete new settings: keys left out return to their default. Text and voice settings apply only to Agents of that modality."
14676
+ },
14677
14677
  status: {
14678
14678
  description: "A paused Agent answers nothing and places no calls.",
14679
14679
  anyOf: [
@@ -14745,7 +14745,7 @@ var commands = {
14745
14745
  }
14746
14746
  },
14747
14747
  title: "Update an Agent",
14748
- description: "Change an Agent: instructions, first message, name, language, time zone, settings, integration tools, Knowledge, text-only skills, connection skills or status. Omitted fields stay and `null` clears one; `settings`, `integrationTools`, `integrationSkills`, `skills` and `knowledgeDocumentIds` replace the whole value when given, so read the Agent with `get_agent` first and send its `version` as `expectedVersion` (VERSION_CONFLICT: read it again). `status: paused` stops it from answering and calling. `modality` changes only while it has no channels and no published voice line (AGENT_MODALITY_LOCKED). A voice Agent republishes in the background: check `synced`.",
14748
+ description: "Change an Agent: instructions, first message, name, language, time zone, settings, integration tools, Knowledge, procedures, connection procedures or status. Omitted fields stay and `null` clears one; `settings`, `integrationTools`, `integrationProcedures`, `procedures` and `knowledgeDocumentIds` replace the whole value when given (keep each existing procedure's `id`), so read the Agent with `get_agent` first and send its `version` as `expectedVersion` (VERSION_CONFLICT: read it again). `status: paused` stops it from answering and calling. `modality` changes only while it has no channels and no published voice line (AGENT_MODALITY_LOCKED). A voice Agent republishes in the background: check `synced`.",
14749
14749
  effect: "write",
14750
14750
  confirmation: null,
14751
14751
  hidden: false
@@ -19820,7 +19820,7 @@ var commands = {
19820
19820
  type: "string"
19821
19821
  },
19822
19822
  candidate: {
19823
- description: "The candidate version: what changes in what the model reads. Omitted fields keep the live Agent's; `integrationSkills` and `skills` are complete sets, as in `updateAgent`.",
19823
+ description: "The candidate version: what changes in what the model reads. Omitted fields keep the live Agent's; `integrationProcedures` and `procedures` are complete sets, as in `updateAgent`.",
19824
19824
  additionalProperties: false,
19825
19825
  type: "object",
19826
19826
  properties: {
@@ -19837,12 +19837,12 @@ var commands = {
19837
19837
  }
19838
19838
  ]
19839
19839
  },
19840
- integrationSkills: {
19841
- description: "Text Agents. Skills a connection publishes (`listConnections`, checked live in Account), each saved with its current text and offered beside `skills`; names must differ from the Agent's own skills. In an update, the complete new set.",
19840
+ integrationProcedures: {
19841
+ description: "Text Agents. Procedures a connection publishes (`listConnections`, checked live in Account), each saved with its current text and run as a free-form procedure beside `procedures`. In an update, the complete new set.",
19842
19842
  maxItems: 32,
19843
19843
  type: "array",
19844
19844
  items: {
19845
- $ref: "#/components/schemas/RaizAgentIntegrationSkillInput"
19845
+ $ref: "#/components/schemas/RaizAgentIntegrationProcedureInput"
19846
19846
  }
19847
19847
  },
19848
19848
  model: {
@@ -19873,6 +19873,14 @@ var commands = {
19873
19873
  }
19874
19874
  ]
19875
19875
  },
19876
+ procedures: {
19877
+ description: "The Agent's procedures, as a complete set: a procedure left out is removed. Keep each existing procedure's `id`; a new one may omit it.",
19878
+ maxItems: 64,
19879
+ type: "array",
19880
+ items: {
19881
+ $ref: "#/components/schemas/RaizAgentProcedureInput"
19882
+ }
19883
+ },
19876
19884
  reasoningEffort: {
19877
19885
  anyOf: [
19878
19886
  {
@@ -19904,14 +19912,6 @@ var commands = {
19904
19912
  type: "null"
19905
19913
  }
19906
19914
  ]
19907
- },
19908
- skills: {
19909
- maxItems: 32,
19910
- description: "Text-only procedures and references loaded on demand. Names and resource paths must be unique; the complete set is limited to 256 KiB. In an update, this replaces the whole set. Skills never grant additional business tools or execute scripts.",
19911
- type: "array",
19912
- items: {
19913
- $ref: "#/components/schemas/RaizAgentSkill"
19914
- }
19915
19915
  }
19916
19916
  }
19917
19917
  },
@@ -19946,7 +19946,7 @@ var commands = {
19946
19946
  }
19947
19947
  },
19948
19948
  title: "Replay evaluation cases on a candidate",
19949
- description: "With feedbackCaseId, prepare conditional guidance from that kept correction and test it with the Agent’s newest kept cases, always including the source. Do not combine feedbackCaseId with candidate or caseIds. This does not publish. Requires conversation read access. Voice Agents use a spoken-content rehearsal with an independent model (evaluationMode voice_text), not the live voice model, audio, interruptions or telephony. A person must review its applicability to calls before approval. Otherwise measure a candidate version on its kept evaluation cases before publishing it: the WhatsApp Agent rewrites each case's reply with the candidate's `instructions`, `skills`, `integrationSkills`, `model` and `reasoningEffort` (omitted ones stay as the live Agent has them), without running any integration tool (each answers with what it answered in the original conversation) and without sending anything; then a judge model compares each new reply with what the team expects. Replays every kept case, or `caseIds`, at most 50. It calls paid models, so it needs `confirmCost: true`. Follow it with `getEvalRun`; with the Agent's `settings.evalGate`, `updateAgent` publishes exactly this content with `evalRunId`. EVAL_CASES_UNAVAILABLE: no kept case to replay. Not an AI tool.",
19949
+ description: "With feedbackCaseId, prepare conditional guidance from that kept correction and test it with the Agent’s newest kept cases, always including the source. Do not combine feedbackCaseId with candidate or caseIds. This does not publish. Requires conversation read access. Voice Agents use a spoken-content rehearsal with an independent model (evaluationMode voice_text), not the live voice model, audio, interruptions or telephony. A person must review its applicability to calls before approval. Otherwise measure a candidate version on its kept evaluation cases before publishing it: the WhatsApp Agent rewrites each case's reply with the candidate's `instructions`, `procedures`, `integrationProcedures`, `model` and `reasoningEffort` (omitted ones stay as the live Agent has them), without running any integration tool (each answers with what it answered in the original conversation) and without sending anything; then a judge model compares each new reply with what the team expects. Replays every kept case, or `caseIds`, at most 50. It calls paid models, so it needs `confirmCost: true`. Follow it with `getEvalRun`; with the Agent's `settings.evalGate`, `updateAgent` publishes exactly this content with `evalRunId`. EVAL_CASES_UNAVAILABLE: no kept case to replay. Not an AI tool.",
19950
19950
  effect: "write",
19951
19951
  confirmation: null,
19952
19952
  hidden: false
@@ -22944,13 +22944,6 @@ var commands = {
22944
22944
  ],
22945
22945
  inputSchema: {
22946
22946
  additionalProperties: false,
22947
- examples: [
22948
- {
22949
- connectionId: "con_00000000000000000000000000",
22950
- documentType: "CC",
22951
- documentNumber: "000000"
22952
- }
22953
- ],
22954
22947
  type: "object",
22955
22948
  required: [
22956
22949
  "connectionId",
@@ -23089,15 +23082,7 @@ var commands = {
23089
23082
  description: "One local calendar day; the request never traverses an open-ended date range.",
23090
23083
  type: "string"
23091
23084
  }
23092
- },
23093
- examples: [
23094
- {
23095
- connectionId: "con_00000000000000000000000000",
23096
- documentType: "CC",
23097
- documentNumber: "000000",
23098
- day: "2026-09-01"
23099
- }
23100
- ]
23085
+ }
23101
23086
  },
23102
23087
  title: "Look up authorization records for one member, site and day",
23103
23088
  description: "Availability of authorization records for the matched member and selected site on one calendar day. A missing row is not a denial. Returns a count or location_required with permitted choices. Start without branchId or siteId. For location_required, repeat with the chosen ID in field, or pass nextChoiceCursor as choiceCursor for more choices.",
@@ -23213,15 +23198,7 @@ var commands = {
23213
23198
  description: "One local calendar day; the request never traverses an open-ended date range.",
23214
23199
  type: "string"
23215
23200
  }
23216
- },
23217
- examples: [
23218
- {
23219
- connectionId: "con_00000000000000000000000000",
23220
- documentType: "CC",
23221
- documentNumber: "000000",
23222
- day: "2026-09-01"
23223
- }
23224
- ]
23201
+ }
23225
23202
  },
23226
23203
  title: "Look up filing records for one member and day",
23227
23204
  description: "Availability of requests for the matched member and IPS on one calendar day. The provider filing search is institution-wide after site admission. Returns a count or location_required with permitted choices. Start without branchId or siteId. For location_required, repeat with the chosen ID in field, or pass nextChoiceCursor as choiceCursor for more choices.",
@@ -23283,14 +23260,7 @@ var commands = {
23283
23260
  "x-sensitive": true,
23284
23261
  type: "string"
23285
23262
  }
23286
- },
23287
- examples: [
23288
- {
23289
- connectionId: "con_00000000000000000000000000",
23290
- prefix: "SAMPLE",
23291
- invoiceNumber: "000001"
23292
- }
23293
- ]
23263
+ }
23294
23264
  },
23295
23265
  title: "Look up an exact IPS invoice reference",
23296
23266
  description: "Look up one exact invoice prefix and number in the active billing connection’s institution. Returns only the number of matching report rows. A successful empty report does not establish rejection, payment or a filing receipt.",
@@ -23335,486 +23305,6 @@ var commands = {
23335
23305
  confirmation: null,
23336
23306
  hidden: false
23337
23307
  },
23338
- "salud-total samples list": {
23339
- operation: "salud-total.samples.list",
23340
- sdkPath: [
23341
- "saludTotal",
23342
- "samples",
23343
- "list"
23344
- ],
23345
- pathField: null,
23346
- fields: [
23347
- {
23348
- name: "cursor",
23349
- flag: "cursor",
23350
- kind: "string",
23351
- required: false,
23352
- description: "Opaque cursor returned by pageInfo; omit it to request the first page."
23353
- },
23354
- {
23355
- name: "direction",
23356
- flag: "direction",
23357
- kind: "string",
23358
- required: false,
23359
- description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
23360
- choices: [
23361
- "forward",
23362
- "backward"
23363
- ],
23364
- default: "forward"
23365
- },
23366
- {
23367
- name: "limit",
23368
- flag: "limit",
23369
- kind: "integer",
23370
- required: false,
23371
- description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
23372
- default: 25
23373
- },
23374
- {
23375
- name: "resource",
23376
- flag: "resource",
23377
- kind: "string",
23378
- required: false,
23379
- description: "The resource.",
23380
- choices: [
23381
- "affiliations",
23382
- "authorizations",
23383
- "filings",
23384
- "invoices"
23385
- ]
23386
- },
23387
- {
23388
- name: "status",
23389
- flag: "status",
23390
- kind: "string",
23391
- required: false,
23392
- description: "Exact response status, for example no_match, member_no_match or no_records."
23393
- }
23394
- ],
23395
- inputSchema: {
23396
- type: "object",
23397
- properties: {
23398
- cursor: {
23399
- description: "Opaque cursor returned by pageInfo; omit it to request the first page.",
23400
- type: "string"
23401
- },
23402
- direction: {
23403
- description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
23404
- anyOf: [
23405
- {
23406
- const: "forward",
23407
- type: "string"
23408
- },
23409
- {
23410
- const: "backward",
23411
- type: "string"
23412
- }
23413
- ],
23414
- default: "forward"
23415
- },
23416
- limit: {
23417
- minimum: 1,
23418
- maximum: 100,
23419
- description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
23420
- type: "integer",
23421
- default: 25
23422
- },
23423
- resource: {
23424
- anyOf: [
23425
- {
23426
- const: "affiliations",
23427
- type: "string"
23428
- },
23429
- {
23430
- const: "authorizations",
23431
- type: "string"
23432
- },
23433
- {
23434
- const: "filings",
23435
- type: "string"
23436
- },
23437
- {
23438
- const: "invoices",
23439
- type: "string"
23440
- }
23441
- ],
23442
- description: "The resource."
23443
- },
23444
- status: {
23445
- minLength: 1,
23446
- maxLength: 40,
23447
- description: "Exact response status, for example no_match, member_no_match or no_records.",
23448
- type: "string"
23449
- }
23450
- },
23451
- additionalProperties: false
23452
- },
23453
- title: "Find a lookup request and sample response",
23454
- description: "Return synthetic examples for the published IPS lookups, filtered by resource or response status. Resolve each sample path against its baseUrl. It includes the JSON request body and unwrapped response data. No provider is contacted. Replace the example identifiers before making an authorized live call.",
23455
- effect: "read",
23456
- confirmation: null,
23457
- hidden: false
23458
- },
23459
- "salud-total workflow-previews get": {
23460
- operation: "salud-total.workflowPreviews.get",
23461
- sdkPath: [
23462
- "saludTotal",
23463
- "workflowPreviews",
23464
- "get"
23465
- ],
23466
- pathField: null,
23467
- fields: [
23468
- {
23469
- name: "workflow",
23470
- flag: "workflow",
23471
- kind: "string",
23472
- required: true,
23473
- description: "IPS workflow, for example affiliation, authorization, filing or billing. Earlier Spanish identifiers are also accepted.",
23474
- choices: [
23475
- "affiliation",
23476
- "clarification",
23477
- "authorization",
23478
- "filing",
23479
- "tracking",
23480
- "billing",
23481
- "objections",
23482
- "routing",
23483
- "referrals",
23484
- "scheduling",
23485
- "rips",
23486
- "mipres",
23487
- "diagnostics",
23488
- "afiliacion",
23489
- "aclaracion",
23490
- "autorizacion",
23491
- "radicacion",
23492
- "seguimiento",
23493
- "facturacion",
23494
- "glosas",
23495
- "direccionamiento",
23496
- "remisiones",
23497
- "programaciones",
23498
- "diagnostico"
23499
- ]
23500
- },
23501
- {
23502
- name: "scenario",
23503
- flag: "scenario",
23504
- kind: "string",
23505
- required: false,
23506
- description: "Synthetic outcome, for example no_match, missing_attachment, session_expired or response_lost.",
23507
- choices: [
23508
- "normal",
23509
- "no_match",
23510
- "ambiguous",
23511
- "forbidden",
23512
- "session_expired",
23513
- "missing_attachment",
23514
- "response_lost",
23515
- "interactive_challenge",
23516
- "connection_inactive",
23517
- "credentials_rejected",
23518
- "sin_registro",
23519
- "ambiguo",
23520
- "sin_permiso",
23521
- "sesion_expirada",
23522
- "falta_soporte",
23523
- "respuesta_perdida",
23524
- "desafio_interactivo",
23525
- "conexion_inactiva",
23526
- "credencial_rechazada"
23527
- ],
23528
- default: "normal"
23529
- },
23530
- {
23531
- name: "stage",
23532
- flag: "stage",
23533
- kind: "string",
23534
- required: false,
23535
- description: "Step that loses its response in a filing simulation. With filing and response_lost, the default is association.",
23536
- choices: [
23537
- "first_attachment",
23538
- "next_attachment",
23539
- "request_creation",
23540
- "association"
23541
- ]
23542
- },
23543
- {
23544
- name: "view",
23545
- flag: "view",
23546
- kind: "string",
23547
- required: false,
23548
- description: "The view.",
23549
- choices: [
23550
- "brief",
23551
- "trace"
23552
- ],
23553
- default: "brief"
23554
- }
23555
- ],
23556
- inputSchema: {
23557
- type: "object",
23558
- properties: {
23559
- workflow: {
23560
- description: "IPS workflow, for example affiliation, authorization, filing or billing. Earlier Spanish identifiers are also accepted.",
23561
- anyOf: [
23562
- {
23563
- anyOf: [
23564
- {
23565
- const: "affiliation",
23566
- type: "string"
23567
- },
23568
- {
23569
- const: "clarification",
23570
- type: "string"
23571
- },
23572
- {
23573
- const: "authorization",
23574
- type: "string"
23575
- },
23576
- {
23577
- const: "filing",
23578
- type: "string"
23579
- },
23580
- {
23581
- const: "tracking",
23582
- type: "string"
23583
- },
23584
- {
23585
- const: "billing",
23586
- type: "string"
23587
- },
23588
- {
23589
- const: "objections",
23590
- type: "string"
23591
- },
23592
- {
23593
- const: "routing",
23594
- type: "string"
23595
- },
23596
- {
23597
- const: "referrals",
23598
- type: "string"
23599
- },
23600
- {
23601
- const: "scheduling",
23602
- type: "string"
23603
- },
23604
- {
23605
- const: "rips",
23606
- type: "string"
23607
- },
23608
- {
23609
- const: "mipres",
23610
- type: "string"
23611
- },
23612
- {
23613
- const: "diagnostics",
23614
- type: "string"
23615
- }
23616
- ]
23617
- },
23618
- {
23619
- anyOf: [
23620
- {
23621
- const: "afiliacion",
23622
- type: "string"
23623
- },
23624
- {
23625
- const: "aclaracion",
23626
- type: "string"
23627
- },
23628
- {
23629
- const: "autorizacion",
23630
- type: "string"
23631
- },
23632
- {
23633
- const: "radicacion",
23634
- type: "string"
23635
- },
23636
- {
23637
- const: "seguimiento",
23638
- type: "string"
23639
- },
23640
- {
23641
- const: "facturacion",
23642
- type: "string"
23643
- },
23644
- {
23645
- const: "glosas",
23646
- type: "string"
23647
- },
23648
- {
23649
- const: "direccionamiento",
23650
- type: "string"
23651
- },
23652
- {
23653
- const: "remisiones",
23654
- type: "string"
23655
- },
23656
- {
23657
- const: "programaciones",
23658
- type: "string"
23659
- },
23660
- {
23661
- const: "rips",
23662
- type: "string"
23663
- },
23664
- {
23665
- const: "mipres",
23666
- type: "string"
23667
- },
23668
- {
23669
- const: "diagnostico",
23670
- type: "string"
23671
- }
23672
- ]
23673
- }
23674
- ]
23675
- },
23676
- scenario: {
23677
- default: "normal",
23678
- description: "Synthetic outcome, for example no_match, missing_attachment, session_expired or response_lost.",
23679
- anyOf: [
23680
- {
23681
- anyOf: [
23682
- {
23683
- const: "normal",
23684
- type: "string"
23685
- },
23686
- {
23687
- const: "no_match",
23688
- type: "string"
23689
- },
23690
- {
23691
- const: "ambiguous",
23692
- type: "string"
23693
- },
23694
- {
23695
- const: "forbidden",
23696
- type: "string"
23697
- },
23698
- {
23699
- const: "session_expired",
23700
- type: "string"
23701
- },
23702
- {
23703
- const: "missing_attachment",
23704
- type: "string"
23705
- },
23706
- {
23707
- const: "response_lost",
23708
- type: "string"
23709
- },
23710
- {
23711
- const: "interactive_challenge",
23712
- type: "string"
23713
- },
23714
- {
23715
- const: "connection_inactive",
23716
- type: "string"
23717
- },
23718
- {
23719
- const: "credentials_rejected",
23720
- type: "string"
23721
- }
23722
- ]
23723
- },
23724
- {
23725
- default: "normal",
23726
- anyOf: [
23727
- {
23728
- const: "normal",
23729
- type: "string"
23730
- },
23731
- {
23732
- const: "sin_registro",
23733
- type: "string"
23734
- },
23735
- {
23736
- const: "ambiguo",
23737
- type: "string"
23738
- },
23739
- {
23740
- const: "sin_permiso",
23741
- type: "string"
23742
- },
23743
- {
23744
- const: "sesion_expirada",
23745
- type: "string"
23746
- },
23747
- {
23748
- const: "falta_soporte",
23749
- type: "string"
23750
- },
23751
- {
23752
- const: "respuesta_perdida",
23753
- type: "string"
23754
- },
23755
- {
23756
- const: "desafio_interactivo",
23757
- type: "string"
23758
- },
23759
- {
23760
- const: "conexion_inactiva",
23761
- type: "string"
23762
- },
23763
- {
23764
- const: "credencial_rechazada",
23765
- type: "string"
23766
- }
23767
- ]
23768
- }
23769
- ]
23770
- },
23771
- stage: {
23772
- description: "Step that loses its response in a filing simulation. With filing and response_lost, the default is association.",
23773
- anyOf: [
23774
- {
23775
- const: "first_attachment",
23776
- type: "string"
23777
- },
23778
- {
23779
- const: "next_attachment",
23780
- type: "string"
23781
- },
23782
- {
23783
- const: "request_creation",
23784
- type: "string"
23785
- },
23786
- {
23787
- const: "association",
23788
- type: "string"
23789
- }
23790
- ]
23791
- },
23792
- view: {
23793
- default: "brief",
23794
- anyOf: [
23795
- {
23796
- const: "brief",
23797
- type: "string"
23798
- },
23799
- {
23800
- const: "trace",
23801
- type: "string"
23802
- }
23803
- ],
23804
- description: "The view."
23805
- }
23806
- },
23807
- required: [
23808
- "workflow"
23809
- ],
23810
- additionalProperties: false
23811
- },
23812
- title: "Preview a synthetic IPS workflow",
23813
- description: "Simulate an IPS workflow using only enums and local fixtures. One workflow parameter returns one line in Spanish. Optional scenarios include missing records, missing documents, ambiguous matches, permissions, expiry and uncertain responses. For a lost filing response, stage selects the interrupted attachment, creation or association. No connection or member is contacted.",
23814
- effect: "read",
23815
- confirmation: null,
23816
- hidden: false
23817
- },
23818
23308
  "somos appointments cancel": {
23819
23309
  operation: "somos.appointments.cancel",
23820
23310
  sdkPath: [
@@ -67512,11 +67002,11 @@ var schemaComponents = {
67512
67002
  "version",
67513
67003
  "channels",
67514
67004
  "instructions",
67515
- "integrationSkills",
67005
+ "integrationProcedures",
67516
67006
  "integrationTools",
67517
67007
  "knowledgeDocumentIds",
67518
- "settings",
67519
- "skills"
67008
+ "procedures",
67009
+ "settings"
67520
67010
  ],
67521
67011
  properties: {
67522
67012
  channelCount: {
@@ -67721,8 +67211,8 @@ var schemaComponents = {
67721
67211
  }
67722
67212
  ]
67723
67213
  },
67724
- integrationSkills: {
67725
- description: "The skills the Agent takes from its connections, each saved with the text its connection published then. Offered beside `skills`.",
67214
+ integrationProcedures: {
67215
+ description: "The procedures the Agent takes from its connections, each saved with the text its connection published then. They run as free-form procedures beside `procedures`.",
67726
67216
  maxItems: 32,
67727
67217
  type: "array",
67728
67218
  items: {
@@ -67731,7 +67221,7 @@ var schemaComponents = {
67731
67221
  required: [
67732
67222
  "connectionId",
67733
67223
  "digest",
67734
- "skill"
67224
+ "procedure"
67735
67225
  ],
67736
67226
  properties: {
67737
67227
  connectionId: {
@@ -67742,13 +67232,13 @@ var schemaComponents = {
67742
67232
  type: "string"
67743
67233
  },
67744
67234
  digest: {
67745
- description: "The digest of the skill the Agent was saved with. When the connection's skill (`listConnections`) has another digest, it changed: the Agent keeps this text until it is saved again.",
67235
+ description: "The digest of the procedure the Agent was saved with. When the connection's procedure (`listConnections`) has another digest, it changed: the Agent keeps this text until it is saved again.",
67746
67236
  maxLength: 64,
67747
67237
  minLength: 1,
67748
67238
  type: "string"
67749
67239
  },
67750
- skill: {
67751
- description: "The skill's name, as its connection lists it.",
67240
+ procedure: {
67241
+ description: "The procedure's name, as its connection lists it.",
67752
67242
  maxLength: 64,
67753
67243
  minLength: 1,
67754
67244
  pattern: "^[a-z0-9]+(-[a-z0-9]+)*$",
@@ -67825,16 +67315,16 @@ var schemaComponents = {
67825
67315
  type: "string"
67826
67316
  }
67827
67317
  },
67828
- settings: {
67829
- $ref: "#/components/schemas/RaizAgentSettings"
67830
- },
67831
- skills: {
67832
- maxItems: 32,
67833
- description: "Text-only procedures and references loaded on demand. Names and resource paths must be unique; the complete set is limited to 256 KiB. In an update, this replaces the whole set. Skills never grant additional business tools or execute scripts.",
67318
+ procedures: {
67319
+ description: "The Agent's procedures. The model reads only the triggers until a conversation matches one, then loads that procedure. In an update, the complete new set.",
67320
+ maxItems: 64,
67834
67321
  type: "array",
67835
67322
  items: {
67836
- $ref: "#/components/schemas/RaizAgentSkill"
67323
+ $ref: "#/components/schemas/RaizAgentProcedure"
67837
67324
  }
67325
+ },
67326
+ settings: {
67327
+ $ref: "#/components/schemas/RaizAgentSettings"
67838
67328
  }
67839
67329
  }
67840
67330
  },
@@ -67909,12 +67399,12 @@ var schemaComponents = {
67909
67399
  }
67910
67400
  ]
67911
67401
  },
67912
- RaizAgentIntegrationSkillInput: {
67402
+ RaizAgentIntegrationProcedureInput: {
67913
67403
  additionalProperties: false,
67914
67404
  type: "object",
67915
67405
  required: [
67916
67406
  "connectionId",
67917
- "skill"
67407
+ "procedure"
67918
67408
  ],
67919
67409
  properties: {
67920
67410
  connectionId: {
@@ -67924,8 +67414,8 @@ var schemaComponents = {
67924
67414
  pattern: "^[A-Za-z0-9_-]+$",
67925
67415
  type: "string"
67926
67416
  },
67927
- skill: {
67928
- description: "The skill's name, as its connection lists it.",
67417
+ procedure: {
67418
+ description: "The procedure's name, as its connection lists it.",
67929
67419
  maxLength: 64,
67930
67420
  minLength: 1,
67931
67421
  pattern: "^[a-z0-9]+(-[a-z0-9]+)*$",
@@ -68050,6 +67540,2129 @@ var schemaComponents = {
68050
67540
  }
68051
67541
  }
68052
67542
  },
67543
+ RaizAgentProcedure: {
67544
+ additionalProperties: false,
67545
+ type: "object",
67546
+ required: [
67547
+ "content",
67548
+ "id",
67549
+ "name",
67550
+ "status",
67551
+ "steps",
67552
+ "trigger",
67553
+ "type"
67554
+ ],
67555
+ properties: {
67556
+ content: {
67557
+ description: 'Free-form procedures: what to do, in Markdown, with inline references such as `[tool id="buscar_citas"]`, `[kb id="kdc_…"]`, `[procedure id="prc_…"]`, `[system_tool id="end_conversation"]` and `{{contact_name}}`. Empty for structured procedures.',
67558
+ maxLength: 50000,
67559
+ type: "string"
67560
+ },
67561
+ id: {
67562
+ description: "The procedure's id (`prc_…`), stable for the Agent's life.",
67563
+ examples: [
67564
+ "prc_01k8f3w2pqv6xs9mhdr0tz7n3b"
67565
+ ],
67566
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
67567
+ type: "string"
67568
+ },
67569
+ name: {
67570
+ description: "A short label for people. The model never reads it.",
67571
+ maxLength: 120,
67572
+ minLength: 1,
67573
+ type: "string"
67574
+ },
67575
+ status: {
67576
+ description: "A paused procedure runs on no channel.",
67577
+ anyOf: [
67578
+ {
67579
+ const: "active",
67580
+ type: "string"
67581
+ },
67582
+ {
67583
+ const: "paused",
67584
+ type: "string"
67585
+ }
67586
+ ]
67587
+ },
67588
+ steps: {
67589
+ description: "Structured procedures: the steps, in order. Empty for free-form procedures.",
67590
+ maxItems: 40,
67591
+ type: "array",
67592
+ items: {
67593
+ anyOf: [
67594
+ {
67595
+ additionalProperties: false,
67596
+ type: "object",
67597
+ required: [
67598
+ "instruction",
67599
+ "type"
67600
+ ],
67601
+ properties: {
67602
+ instruction: {
67603
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
67604
+ maxLength: 2000,
67605
+ minLength: 1,
67606
+ type: "string"
67607
+ },
67608
+ type: {
67609
+ const: "ask",
67610
+ type: "string"
67611
+ }
67612
+ }
67613
+ },
67614
+ {
67615
+ additionalProperties: false,
67616
+ type: "object",
67617
+ required: [
67618
+ "instruction",
67619
+ "type"
67620
+ ],
67621
+ properties: {
67622
+ instruction: {
67623
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
67624
+ maxLength: 2000,
67625
+ minLength: 1,
67626
+ type: "string"
67627
+ },
67628
+ type: {
67629
+ const: "tell",
67630
+ type: "string"
67631
+ }
67632
+ }
67633
+ },
67634
+ {
67635
+ additionalProperties: false,
67636
+ type: "object",
67637
+ required: [
67638
+ "message",
67639
+ "type"
67640
+ ],
67641
+ properties: {
67642
+ message: {
67643
+ description: "What to say, word for word.",
67644
+ maxLength: 2000,
67645
+ minLength: 1,
67646
+ type: "string"
67647
+ },
67648
+ translations: {
67649
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
67650
+ type: "object",
67651
+ patternProperties: {
67652
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
67653
+ maxLength: 2000,
67654
+ minLength: 1,
67655
+ type: "string"
67656
+ }
67657
+ }
67658
+ },
67659
+ type: {
67660
+ const: "say",
67661
+ type: "string"
67662
+ }
67663
+ }
67664
+ },
67665
+ {
67666
+ additionalProperties: false,
67667
+ type: "object",
67668
+ required: [
67669
+ "tool",
67670
+ "type"
67671
+ ],
67672
+ properties: {
67673
+ arguments: {
67674
+ description: "Parameters whose value is fixed, by name; the model fills the others.",
67675
+ type: "object",
67676
+ patternProperties: {
67677
+ "^[A-Za-z0-9_.-]{1,128}$": {
67678
+ anyOf: [
67679
+ {
67680
+ additionalProperties: false,
67681
+ type: "object",
67682
+ required: [
67683
+ "value"
67684
+ ],
67685
+ properties: {
67686
+ value: {
67687
+ description: "Always this value."
67688
+ }
67689
+ }
67690
+ },
67691
+ {
67692
+ additionalProperties: false,
67693
+ type: "object",
67694
+ required: [
67695
+ "variable"
67696
+ ],
67697
+ properties: {
67698
+ variable: {
67699
+ description: "The current value of this runtime variable.",
67700
+ pattern: "^[A-Za-z_][A-Za-z0-9_]{0,63}$",
67701
+ type: "string"
67702
+ }
67703
+ }
67704
+ },
67705
+ {
67706
+ additionalProperties: false,
67707
+ type: "object",
67708
+ required: [
67709
+ "omit"
67710
+ ],
67711
+ properties: {
67712
+ omit: {
67713
+ description: "Leave the parameter out of the call.",
67714
+ const: true,
67715
+ type: "boolean"
67716
+ }
67717
+ }
67718
+ }
67719
+ ]
67720
+ }
67721
+ }
67722
+ },
67723
+ instruction: {
67724
+ description: "How to fill the tool's parameters; omitted leaves it to the model.",
67725
+ maxLength: 2000,
67726
+ type: "string"
67727
+ },
67728
+ onFailure: {
67729
+ description: "What to do when the call fails. Omitted or empty: the procedure stops and the Agent handles the failure under its instructions.",
67730
+ maxItems: 40,
67731
+ type: "array",
67732
+ items: {
67733
+ anyOf: [
67734
+ {
67735
+ additionalProperties: false,
67736
+ type: "object",
67737
+ required: [
67738
+ "instruction",
67739
+ "type"
67740
+ ],
67741
+ properties: {
67742
+ instruction: {
67743
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
67744
+ maxLength: 2000,
67745
+ minLength: 1,
67746
+ type: "string"
67747
+ },
67748
+ type: {
67749
+ const: "ask",
67750
+ type: "string"
67751
+ }
67752
+ }
67753
+ },
67754
+ {
67755
+ additionalProperties: false,
67756
+ type: "object",
67757
+ required: [
67758
+ "instruction",
67759
+ "type"
67760
+ ],
67761
+ properties: {
67762
+ instruction: {
67763
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
67764
+ maxLength: 2000,
67765
+ minLength: 1,
67766
+ type: "string"
67767
+ },
67768
+ type: {
67769
+ const: "tell",
67770
+ type: "string"
67771
+ }
67772
+ }
67773
+ },
67774
+ {
67775
+ additionalProperties: false,
67776
+ type: "object",
67777
+ required: [
67778
+ "message",
67779
+ "type"
67780
+ ],
67781
+ properties: {
67782
+ message: {
67783
+ description: "What to say, word for word.",
67784
+ maxLength: 2000,
67785
+ minLength: 1,
67786
+ type: "string"
67787
+ },
67788
+ translations: {
67789
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
67790
+ type: "object",
67791
+ patternProperties: {
67792
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
67793
+ maxLength: 2000,
67794
+ minLength: 1,
67795
+ type: "string"
67796
+ }
67797
+ }
67798
+ },
67799
+ type: {
67800
+ const: "say",
67801
+ type: "string"
67802
+ }
67803
+ }
67804
+ },
67805
+ {
67806
+ additionalProperties: false,
67807
+ type: "object",
67808
+ required: [
67809
+ "procedureId",
67810
+ "type"
67811
+ ],
67812
+ properties: {
67813
+ procedureId: {
67814
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
67815
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
67816
+ type: "string"
67817
+ },
67818
+ type: {
67819
+ const: "procedure",
67820
+ type: "string"
67821
+ }
67822
+ }
67823
+ },
67824
+ {
67825
+ additionalProperties: false,
67826
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
67827
+ type: "object",
67828
+ required: [
67829
+ "type"
67830
+ ],
67831
+ properties: {
67832
+ type: {
67833
+ const: "end",
67834
+ type: "string"
67835
+ }
67836
+ }
67837
+ },
67838
+ {
67839
+ additionalProperties: false,
67840
+ description: "Call the failed tool again and, if it fails again, run its failure steps again. Only the last step of a failure handler.",
67841
+ type: "object",
67842
+ required: [
67843
+ "maxRetries",
67844
+ "type"
67845
+ ],
67846
+ properties: {
67847
+ maxRetries: {
67848
+ description: "Calls of the tool after the first one.",
67849
+ maximum: 3,
67850
+ minimum: 1,
67851
+ type: "integer"
67852
+ },
67853
+ type: {
67854
+ const: "retry",
67855
+ type: "string"
67856
+ }
67857
+ }
67858
+ }
67859
+ ]
67860
+ }
67861
+ },
67862
+ tool: {
67863
+ description: "One of the Agent's integration tools by its tool name, or one of Raíz's own tools (`search_knowledge`, `escalate_to_team`, `transfer_to_human`).",
67864
+ pattern: "^[A-Za-z0-9_.-]{1,128}$",
67865
+ type: "string"
67866
+ },
67867
+ type: {
67868
+ const: "tool",
67869
+ type: "string"
67870
+ }
67871
+ }
67872
+ },
67873
+ {
67874
+ additionalProperties: false,
67875
+ description: "The first condition that holds runs its steps; then the procedure continues after the branch.",
67876
+ type: "object",
67877
+ required: [
67878
+ "branches",
67879
+ "type"
67880
+ ],
67881
+ properties: {
67882
+ branches: {
67883
+ maxItems: 8,
67884
+ minItems: 1,
67885
+ type: "array",
67886
+ items: {
67887
+ additionalProperties: false,
67888
+ type: "object",
67889
+ required: [
67890
+ "steps",
67891
+ "when"
67892
+ ],
67893
+ properties: {
67894
+ steps: {
67895
+ maxItems: 40,
67896
+ minItems: 1,
67897
+ type: "array",
67898
+ items: {
67899
+ anyOf: [
67900
+ {
67901
+ additionalProperties: false,
67902
+ type: "object",
67903
+ required: [
67904
+ "instruction",
67905
+ "type"
67906
+ ],
67907
+ properties: {
67908
+ instruction: {
67909
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
67910
+ maxLength: 2000,
67911
+ minLength: 1,
67912
+ type: "string"
67913
+ },
67914
+ type: {
67915
+ const: "ask",
67916
+ type: "string"
67917
+ }
67918
+ }
67919
+ },
67920
+ {
67921
+ additionalProperties: false,
67922
+ type: "object",
67923
+ required: [
67924
+ "instruction",
67925
+ "type"
67926
+ ],
67927
+ properties: {
67928
+ instruction: {
67929
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
67930
+ maxLength: 2000,
67931
+ minLength: 1,
67932
+ type: "string"
67933
+ },
67934
+ type: {
67935
+ const: "tell",
67936
+ type: "string"
67937
+ }
67938
+ }
67939
+ },
67940
+ {
67941
+ additionalProperties: false,
67942
+ type: "object",
67943
+ required: [
67944
+ "message",
67945
+ "type"
67946
+ ],
67947
+ properties: {
67948
+ message: {
67949
+ description: "What to say, word for word.",
67950
+ maxLength: 2000,
67951
+ minLength: 1,
67952
+ type: "string"
67953
+ },
67954
+ translations: {
67955
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
67956
+ type: "object",
67957
+ patternProperties: {
67958
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
67959
+ maxLength: 2000,
67960
+ minLength: 1,
67961
+ type: "string"
67962
+ }
67963
+ }
67964
+ },
67965
+ type: {
67966
+ const: "say",
67967
+ type: "string"
67968
+ }
67969
+ }
67970
+ },
67971
+ {
67972
+ additionalProperties: false,
67973
+ type: "object",
67974
+ required: [
67975
+ "tool",
67976
+ "type"
67977
+ ],
67978
+ properties: {
67979
+ arguments: {
67980
+ description: "Parameters whose value is fixed, by name; the model fills the others.",
67981
+ type: "object",
67982
+ patternProperties: {
67983
+ "^[A-Za-z0-9_.-]{1,128}$": {
67984
+ anyOf: [
67985
+ {
67986
+ additionalProperties: false,
67987
+ type: "object",
67988
+ required: [
67989
+ "value"
67990
+ ],
67991
+ properties: {
67992
+ value: {
67993
+ description: "Always this value."
67994
+ }
67995
+ }
67996
+ },
67997
+ {
67998
+ additionalProperties: false,
67999
+ type: "object",
68000
+ required: [
68001
+ "variable"
68002
+ ],
68003
+ properties: {
68004
+ variable: {
68005
+ description: "The current value of this runtime variable.",
68006
+ pattern: "^[A-Za-z_][A-Za-z0-9_]{0,63}$",
68007
+ type: "string"
68008
+ }
68009
+ }
68010
+ },
68011
+ {
68012
+ additionalProperties: false,
68013
+ type: "object",
68014
+ required: [
68015
+ "omit"
68016
+ ],
68017
+ properties: {
68018
+ omit: {
68019
+ description: "Leave the parameter out of the call.",
68020
+ const: true,
68021
+ type: "boolean"
68022
+ }
68023
+ }
68024
+ }
68025
+ ]
68026
+ }
68027
+ }
68028
+ },
68029
+ instruction: {
68030
+ description: "How to fill the tool's parameters; omitted leaves it to the model.",
68031
+ maxLength: 2000,
68032
+ type: "string"
68033
+ },
68034
+ onFailure: {
68035
+ description: "What to do when the call fails. Omitted or empty: the procedure stops and the Agent handles the failure under its instructions.",
68036
+ maxItems: 40,
68037
+ type: "array",
68038
+ items: {
68039
+ anyOf: [
68040
+ {
68041
+ additionalProperties: false,
68042
+ type: "object",
68043
+ required: [
68044
+ "instruction",
68045
+ "type"
68046
+ ],
68047
+ properties: {
68048
+ instruction: {
68049
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
68050
+ maxLength: 2000,
68051
+ minLength: 1,
68052
+ type: "string"
68053
+ },
68054
+ type: {
68055
+ const: "ask",
68056
+ type: "string"
68057
+ }
68058
+ }
68059
+ },
68060
+ {
68061
+ additionalProperties: false,
68062
+ type: "object",
68063
+ required: [
68064
+ "instruction",
68065
+ "type"
68066
+ ],
68067
+ properties: {
68068
+ instruction: {
68069
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
68070
+ maxLength: 2000,
68071
+ minLength: 1,
68072
+ type: "string"
68073
+ },
68074
+ type: {
68075
+ const: "tell",
68076
+ type: "string"
68077
+ }
68078
+ }
68079
+ },
68080
+ {
68081
+ additionalProperties: false,
68082
+ type: "object",
68083
+ required: [
68084
+ "message",
68085
+ "type"
68086
+ ],
68087
+ properties: {
68088
+ message: {
68089
+ description: "What to say, word for word.",
68090
+ maxLength: 2000,
68091
+ minLength: 1,
68092
+ type: "string"
68093
+ },
68094
+ translations: {
68095
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
68096
+ type: "object",
68097
+ patternProperties: {
68098
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
68099
+ maxLength: 2000,
68100
+ minLength: 1,
68101
+ type: "string"
68102
+ }
68103
+ }
68104
+ },
68105
+ type: {
68106
+ const: "say",
68107
+ type: "string"
68108
+ }
68109
+ }
68110
+ },
68111
+ {
68112
+ additionalProperties: false,
68113
+ type: "object",
68114
+ required: [
68115
+ "procedureId",
68116
+ "type"
68117
+ ],
68118
+ properties: {
68119
+ procedureId: {
68120
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
68121
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
68122
+ type: "string"
68123
+ },
68124
+ type: {
68125
+ const: "procedure",
68126
+ type: "string"
68127
+ }
68128
+ }
68129
+ },
68130
+ {
68131
+ additionalProperties: false,
68132
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
68133
+ type: "object",
68134
+ required: [
68135
+ "type"
68136
+ ],
68137
+ properties: {
68138
+ type: {
68139
+ const: "end",
68140
+ type: "string"
68141
+ }
68142
+ }
68143
+ },
68144
+ {
68145
+ additionalProperties: false,
68146
+ description: "Call the failed tool again and, if it fails again, run its failure steps again. Only the last step of a failure handler.",
68147
+ type: "object",
68148
+ required: [
68149
+ "maxRetries",
68150
+ "type"
68151
+ ],
68152
+ properties: {
68153
+ maxRetries: {
68154
+ description: "Calls of the tool after the first one.",
68155
+ maximum: 3,
68156
+ minimum: 1,
68157
+ type: "integer"
68158
+ },
68159
+ type: {
68160
+ const: "retry",
68161
+ type: "string"
68162
+ }
68163
+ }
68164
+ }
68165
+ ]
68166
+ }
68167
+ },
68168
+ tool: {
68169
+ description: "One of the Agent's integration tools by its tool name, or one of Raíz's own tools (`search_knowledge`, `escalate_to_team`, `transfer_to_human`).",
68170
+ pattern: "^[A-Za-z0-9_.-]{1,128}$",
68171
+ type: "string"
68172
+ },
68173
+ type: {
68174
+ const: "tool",
68175
+ type: "string"
68176
+ }
68177
+ }
68178
+ },
68179
+ {
68180
+ additionalProperties: false,
68181
+ type: "object",
68182
+ required: [
68183
+ "procedureId",
68184
+ "type"
68185
+ ],
68186
+ properties: {
68187
+ procedureId: {
68188
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
68189
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
68190
+ type: "string"
68191
+ },
68192
+ type: {
68193
+ const: "procedure",
68194
+ type: "string"
68195
+ }
68196
+ }
68197
+ },
68198
+ {
68199
+ additionalProperties: false,
68200
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
68201
+ type: "object",
68202
+ required: [
68203
+ "type"
68204
+ ],
68205
+ properties: {
68206
+ type: {
68207
+ const: "end",
68208
+ type: "string"
68209
+ }
68210
+ }
68211
+ }
68212
+ ]
68213
+ }
68214
+ },
68215
+ when: {
68216
+ description: "A condition the Agent judges from the conversation, such as: The contact says the order already shipped.",
68217
+ maxLength: 2000,
68218
+ minLength: 1,
68219
+ type: "string"
68220
+ }
68221
+ }
68222
+ }
68223
+ },
68224
+ otherwise: {
68225
+ description: "What to do when no condition holds; omitted or empty continues.",
68226
+ maxItems: 40,
68227
+ type: "array",
68228
+ items: {
68229
+ anyOf: [
68230
+ {
68231
+ additionalProperties: false,
68232
+ type: "object",
68233
+ required: [
68234
+ "instruction",
68235
+ "type"
68236
+ ],
68237
+ properties: {
68238
+ instruction: {
68239
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
68240
+ maxLength: 2000,
68241
+ minLength: 1,
68242
+ type: "string"
68243
+ },
68244
+ type: {
68245
+ const: "ask",
68246
+ type: "string"
68247
+ }
68248
+ }
68249
+ },
68250
+ {
68251
+ additionalProperties: false,
68252
+ type: "object",
68253
+ required: [
68254
+ "instruction",
68255
+ "type"
68256
+ ],
68257
+ properties: {
68258
+ instruction: {
68259
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
68260
+ maxLength: 2000,
68261
+ minLength: 1,
68262
+ type: "string"
68263
+ },
68264
+ type: {
68265
+ const: "tell",
68266
+ type: "string"
68267
+ }
68268
+ }
68269
+ },
68270
+ {
68271
+ additionalProperties: false,
68272
+ type: "object",
68273
+ required: [
68274
+ "message",
68275
+ "type"
68276
+ ],
68277
+ properties: {
68278
+ message: {
68279
+ description: "What to say, word for word.",
68280
+ maxLength: 2000,
68281
+ minLength: 1,
68282
+ type: "string"
68283
+ },
68284
+ translations: {
68285
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
68286
+ type: "object",
68287
+ patternProperties: {
68288
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
68289
+ maxLength: 2000,
68290
+ minLength: 1,
68291
+ type: "string"
68292
+ }
68293
+ }
68294
+ },
68295
+ type: {
68296
+ const: "say",
68297
+ type: "string"
68298
+ }
68299
+ }
68300
+ },
68301
+ {
68302
+ additionalProperties: false,
68303
+ type: "object",
68304
+ required: [
68305
+ "tool",
68306
+ "type"
68307
+ ],
68308
+ properties: {
68309
+ arguments: {
68310
+ description: "Parameters whose value is fixed, by name; the model fills the others.",
68311
+ type: "object",
68312
+ patternProperties: {
68313
+ "^[A-Za-z0-9_.-]{1,128}$": {
68314
+ anyOf: [
68315
+ {
68316
+ additionalProperties: false,
68317
+ type: "object",
68318
+ required: [
68319
+ "value"
68320
+ ],
68321
+ properties: {
68322
+ value: {
68323
+ description: "Always this value."
68324
+ }
68325
+ }
68326
+ },
68327
+ {
68328
+ additionalProperties: false,
68329
+ type: "object",
68330
+ required: [
68331
+ "variable"
68332
+ ],
68333
+ properties: {
68334
+ variable: {
68335
+ description: "The current value of this runtime variable.",
68336
+ pattern: "^[A-Za-z_][A-Za-z0-9_]{0,63}$",
68337
+ type: "string"
68338
+ }
68339
+ }
68340
+ },
68341
+ {
68342
+ additionalProperties: false,
68343
+ type: "object",
68344
+ required: [
68345
+ "omit"
68346
+ ],
68347
+ properties: {
68348
+ omit: {
68349
+ description: "Leave the parameter out of the call.",
68350
+ const: true,
68351
+ type: "boolean"
68352
+ }
68353
+ }
68354
+ }
68355
+ ]
68356
+ }
68357
+ }
68358
+ },
68359
+ instruction: {
68360
+ description: "How to fill the tool's parameters; omitted leaves it to the model.",
68361
+ maxLength: 2000,
68362
+ type: "string"
68363
+ },
68364
+ onFailure: {
68365
+ description: "What to do when the call fails. Omitted or empty: the procedure stops and the Agent handles the failure under its instructions.",
68366
+ maxItems: 40,
68367
+ type: "array",
68368
+ items: {
68369
+ anyOf: [
68370
+ {
68371
+ additionalProperties: false,
68372
+ type: "object",
68373
+ required: [
68374
+ "instruction",
68375
+ "type"
68376
+ ],
68377
+ properties: {
68378
+ instruction: {
68379
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
68380
+ maxLength: 2000,
68381
+ minLength: 1,
68382
+ type: "string"
68383
+ },
68384
+ type: {
68385
+ const: "ask",
68386
+ type: "string"
68387
+ }
68388
+ }
68389
+ },
68390
+ {
68391
+ additionalProperties: false,
68392
+ type: "object",
68393
+ required: [
68394
+ "instruction",
68395
+ "type"
68396
+ ],
68397
+ properties: {
68398
+ instruction: {
68399
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
68400
+ maxLength: 2000,
68401
+ minLength: 1,
68402
+ type: "string"
68403
+ },
68404
+ type: {
68405
+ const: "tell",
68406
+ type: "string"
68407
+ }
68408
+ }
68409
+ },
68410
+ {
68411
+ additionalProperties: false,
68412
+ type: "object",
68413
+ required: [
68414
+ "message",
68415
+ "type"
68416
+ ],
68417
+ properties: {
68418
+ message: {
68419
+ description: "What to say, word for word.",
68420
+ maxLength: 2000,
68421
+ minLength: 1,
68422
+ type: "string"
68423
+ },
68424
+ translations: {
68425
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
68426
+ type: "object",
68427
+ patternProperties: {
68428
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
68429
+ maxLength: 2000,
68430
+ minLength: 1,
68431
+ type: "string"
68432
+ }
68433
+ }
68434
+ },
68435
+ type: {
68436
+ const: "say",
68437
+ type: "string"
68438
+ }
68439
+ }
68440
+ },
68441
+ {
68442
+ additionalProperties: false,
68443
+ type: "object",
68444
+ required: [
68445
+ "procedureId",
68446
+ "type"
68447
+ ],
68448
+ properties: {
68449
+ procedureId: {
68450
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
68451
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
68452
+ type: "string"
68453
+ },
68454
+ type: {
68455
+ const: "procedure",
68456
+ type: "string"
68457
+ }
68458
+ }
68459
+ },
68460
+ {
68461
+ additionalProperties: false,
68462
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
68463
+ type: "object",
68464
+ required: [
68465
+ "type"
68466
+ ],
68467
+ properties: {
68468
+ type: {
68469
+ const: "end",
68470
+ type: "string"
68471
+ }
68472
+ }
68473
+ },
68474
+ {
68475
+ additionalProperties: false,
68476
+ description: "Call the failed tool again and, if it fails again, run its failure steps again. Only the last step of a failure handler.",
68477
+ type: "object",
68478
+ required: [
68479
+ "maxRetries",
68480
+ "type"
68481
+ ],
68482
+ properties: {
68483
+ maxRetries: {
68484
+ description: "Calls of the tool after the first one.",
68485
+ maximum: 3,
68486
+ minimum: 1,
68487
+ type: "integer"
68488
+ },
68489
+ type: {
68490
+ const: "retry",
68491
+ type: "string"
68492
+ }
68493
+ }
68494
+ }
68495
+ ]
68496
+ }
68497
+ },
68498
+ tool: {
68499
+ description: "One of the Agent's integration tools by its tool name, or one of Raíz's own tools (`search_knowledge`, `escalate_to_team`, `transfer_to_human`).",
68500
+ pattern: "^[A-Za-z0-9_.-]{1,128}$",
68501
+ type: "string"
68502
+ },
68503
+ type: {
68504
+ const: "tool",
68505
+ type: "string"
68506
+ }
68507
+ }
68508
+ },
68509
+ {
68510
+ additionalProperties: false,
68511
+ type: "object",
68512
+ required: [
68513
+ "procedureId",
68514
+ "type"
68515
+ ],
68516
+ properties: {
68517
+ procedureId: {
68518
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
68519
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
68520
+ type: "string"
68521
+ },
68522
+ type: {
68523
+ const: "procedure",
68524
+ type: "string"
68525
+ }
68526
+ }
68527
+ },
68528
+ {
68529
+ additionalProperties: false,
68530
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
68531
+ type: "object",
68532
+ required: [
68533
+ "type"
68534
+ ],
68535
+ properties: {
68536
+ type: {
68537
+ const: "end",
68538
+ type: "string"
68539
+ }
68540
+ }
68541
+ }
68542
+ ]
68543
+ }
68544
+ },
68545
+ type: {
68546
+ const: "branch",
68547
+ type: "string"
68548
+ }
68549
+ }
68550
+ },
68551
+ {
68552
+ additionalProperties: false,
68553
+ type: "object",
68554
+ required: [
68555
+ "procedureId",
68556
+ "type"
68557
+ ],
68558
+ properties: {
68559
+ procedureId: {
68560
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
68561
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
68562
+ type: "string"
68563
+ },
68564
+ type: {
68565
+ const: "procedure",
68566
+ type: "string"
68567
+ }
68568
+ }
68569
+ },
68570
+ {
68571
+ additionalProperties: false,
68572
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
68573
+ type: "object",
68574
+ required: [
68575
+ "type"
68576
+ ],
68577
+ properties: {
68578
+ type: {
68579
+ const: "end",
68580
+ type: "string"
68581
+ }
68582
+ }
68583
+ }
68584
+ ]
68585
+ }
68586
+ },
68587
+ trigger: {
68588
+ description: "When it applies, from the contact's side: When the contact asks to book or move an appointment. Empty makes a sub-procedure, which only runs when another procedure references it.",
68589
+ maxLength: 1000,
68590
+ type: "string"
68591
+ },
68592
+ type: {
68593
+ description: "`free_form`: instructions the Agent adapts. `structured`: steps that run the same way every time. Fixed once created.",
68594
+ anyOf: [
68595
+ {
68596
+ const: "free_form",
68597
+ type: "string"
68598
+ },
68599
+ {
68600
+ const: "structured",
68601
+ type: "string"
68602
+ }
68603
+ ]
68604
+ }
68605
+ }
68606
+ },
68607
+ RaizAgentProcedureInput: {
68608
+ additionalProperties: false,
68609
+ type: "object",
68610
+ required: [
68611
+ "name",
68612
+ "type"
68613
+ ],
68614
+ properties: {
68615
+ content: {
68616
+ description: 'Free-form procedures: what to do, in Markdown, with inline references such as `[tool id="buscar_citas"]`, `[kb id="kdc_…"]`, `[procedure id="prc_…"]`, `[system_tool id="end_conversation"]` and `{{contact_name}}`. Empty for structured procedures.',
68617
+ maxLength: 50000,
68618
+ type: "string"
68619
+ },
68620
+ id: {
68621
+ description: "The procedure's id (`prc_…`), stable for the Agent's life.",
68622
+ examples: [
68623
+ "prc_01k8f3w2pqv6xs9mhdr0tz7n3b"
68624
+ ],
68625
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
68626
+ type: "string"
68627
+ },
68628
+ name: {
68629
+ description: "A short label for people. The model never reads it.",
68630
+ maxLength: 120,
68631
+ minLength: 1,
68632
+ type: "string"
68633
+ },
68634
+ status: {
68635
+ description: "A paused procedure runs on no channel.",
68636
+ anyOf: [
68637
+ {
68638
+ const: "active",
68639
+ type: "string"
68640
+ },
68641
+ {
68642
+ const: "paused",
68643
+ type: "string"
68644
+ }
68645
+ ]
68646
+ },
68647
+ steps: {
68648
+ description: "Structured procedures: the steps, in order. Empty for free-form procedures.",
68649
+ maxItems: 40,
68650
+ type: "array",
68651
+ items: {
68652
+ anyOf: [
68653
+ {
68654
+ additionalProperties: false,
68655
+ type: "object",
68656
+ required: [
68657
+ "instruction",
68658
+ "type"
68659
+ ],
68660
+ properties: {
68661
+ instruction: {
68662
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
68663
+ maxLength: 2000,
68664
+ minLength: 1,
68665
+ type: "string"
68666
+ },
68667
+ type: {
68668
+ const: "ask",
68669
+ type: "string"
68670
+ }
68671
+ }
68672
+ },
68673
+ {
68674
+ additionalProperties: false,
68675
+ type: "object",
68676
+ required: [
68677
+ "instruction",
68678
+ "type"
68679
+ ],
68680
+ properties: {
68681
+ instruction: {
68682
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
68683
+ maxLength: 2000,
68684
+ minLength: 1,
68685
+ type: "string"
68686
+ },
68687
+ type: {
68688
+ const: "tell",
68689
+ type: "string"
68690
+ }
68691
+ }
68692
+ },
68693
+ {
68694
+ additionalProperties: false,
68695
+ type: "object",
68696
+ required: [
68697
+ "message",
68698
+ "type"
68699
+ ],
68700
+ properties: {
68701
+ message: {
68702
+ description: "What to say, word for word.",
68703
+ maxLength: 2000,
68704
+ minLength: 1,
68705
+ type: "string"
68706
+ },
68707
+ translations: {
68708
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
68709
+ type: "object",
68710
+ patternProperties: {
68711
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
68712
+ maxLength: 2000,
68713
+ minLength: 1,
68714
+ type: "string"
68715
+ }
68716
+ }
68717
+ },
68718
+ type: {
68719
+ const: "say",
68720
+ type: "string"
68721
+ }
68722
+ }
68723
+ },
68724
+ {
68725
+ additionalProperties: false,
68726
+ type: "object",
68727
+ required: [
68728
+ "tool",
68729
+ "type"
68730
+ ],
68731
+ properties: {
68732
+ arguments: {
68733
+ description: "Parameters whose value is fixed, by name; the model fills the others.",
68734
+ type: "object",
68735
+ patternProperties: {
68736
+ "^[A-Za-z0-9_.-]{1,128}$": {
68737
+ anyOf: [
68738
+ {
68739
+ additionalProperties: false,
68740
+ type: "object",
68741
+ required: [
68742
+ "value"
68743
+ ],
68744
+ properties: {
68745
+ value: {
68746
+ description: "Always this value."
68747
+ }
68748
+ }
68749
+ },
68750
+ {
68751
+ additionalProperties: false,
68752
+ type: "object",
68753
+ required: [
68754
+ "variable"
68755
+ ],
68756
+ properties: {
68757
+ variable: {
68758
+ description: "The current value of this runtime variable.",
68759
+ pattern: "^[A-Za-z_][A-Za-z0-9_]{0,63}$",
68760
+ type: "string"
68761
+ }
68762
+ }
68763
+ },
68764
+ {
68765
+ additionalProperties: false,
68766
+ type: "object",
68767
+ required: [
68768
+ "omit"
68769
+ ],
68770
+ properties: {
68771
+ omit: {
68772
+ description: "Leave the parameter out of the call.",
68773
+ const: true,
68774
+ type: "boolean"
68775
+ }
68776
+ }
68777
+ }
68778
+ ]
68779
+ }
68780
+ }
68781
+ },
68782
+ instruction: {
68783
+ description: "How to fill the tool's parameters; omitted leaves it to the model.",
68784
+ maxLength: 2000,
68785
+ type: "string"
68786
+ },
68787
+ onFailure: {
68788
+ description: "What to do when the call fails. Omitted or empty: the procedure stops and the Agent handles the failure under its instructions.",
68789
+ maxItems: 40,
68790
+ type: "array",
68791
+ items: {
68792
+ anyOf: [
68793
+ {
68794
+ additionalProperties: false,
68795
+ type: "object",
68796
+ required: [
68797
+ "instruction",
68798
+ "type"
68799
+ ],
68800
+ properties: {
68801
+ instruction: {
68802
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
68803
+ maxLength: 2000,
68804
+ minLength: 1,
68805
+ type: "string"
68806
+ },
68807
+ type: {
68808
+ const: "ask",
68809
+ type: "string"
68810
+ }
68811
+ }
68812
+ },
68813
+ {
68814
+ additionalProperties: false,
68815
+ type: "object",
68816
+ required: [
68817
+ "instruction",
68818
+ "type"
68819
+ ],
68820
+ properties: {
68821
+ instruction: {
68822
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
68823
+ maxLength: 2000,
68824
+ minLength: 1,
68825
+ type: "string"
68826
+ },
68827
+ type: {
68828
+ const: "tell",
68829
+ type: "string"
68830
+ }
68831
+ }
68832
+ },
68833
+ {
68834
+ additionalProperties: false,
68835
+ type: "object",
68836
+ required: [
68837
+ "message",
68838
+ "type"
68839
+ ],
68840
+ properties: {
68841
+ message: {
68842
+ description: "What to say, word for word.",
68843
+ maxLength: 2000,
68844
+ minLength: 1,
68845
+ type: "string"
68846
+ },
68847
+ translations: {
68848
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
68849
+ type: "object",
68850
+ patternProperties: {
68851
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
68852
+ maxLength: 2000,
68853
+ minLength: 1,
68854
+ type: "string"
68855
+ }
68856
+ }
68857
+ },
68858
+ type: {
68859
+ const: "say",
68860
+ type: "string"
68861
+ }
68862
+ }
68863
+ },
68864
+ {
68865
+ additionalProperties: false,
68866
+ type: "object",
68867
+ required: [
68868
+ "procedureId",
68869
+ "type"
68870
+ ],
68871
+ properties: {
68872
+ procedureId: {
68873
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
68874
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
68875
+ type: "string"
68876
+ },
68877
+ type: {
68878
+ const: "procedure",
68879
+ type: "string"
68880
+ }
68881
+ }
68882
+ },
68883
+ {
68884
+ additionalProperties: false,
68885
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
68886
+ type: "object",
68887
+ required: [
68888
+ "type"
68889
+ ],
68890
+ properties: {
68891
+ type: {
68892
+ const: "end",
68893
+ type: "string"
68894
+ }
68895
+ }
68896
+ },
68897
+ {
68898
+ additionalProperties: false,
68899
+ description: "Call the failed tool again and, if it fails again, run its failure steps again. Only the last step of a failure handler.",
68900
+ type: "object",
68901
+ required: [
68902
+ "maxRetries",
68903
+ "type"
68904
+ ],
68905
+ properties: {
68906
+ maxRetries: {
68907
+ description: "Calls of the tool after the first one.",
68908
+ maximum: 3,
68909
+ minimum: 1,
68910
+ type: "integer"
68911
+ },
68912
+ type: {
68913
+ const: "retry",
68914
+ type: "string"
68915
+ }
68916
+ }
68917
+ }
68918
+ ]
68919
+ }
68920
+ },
68921
+ tool: {
68922
+ description: "One of the Agent's integration tools by its tool name, or one of Raíz's own tools (`search_knowledge`, `escalate_to_team`, `transfer_to_human`).",
68923
+ pattern: "^[A-Za-z0-9_.-]{1,128}$",
68924
+ type: "string"
68925
+ },
68926
+ type: {
68927
+ const: "tool",
68928
+ type: "string"
68929
+ }
68930
+ }
68931
+ },
68932
+ {
68933
+ additionalProperties: false,
68934
+ description: "The first condition that holds runs its steps; then the procedure continues after the branch.",
68935
+ type: "object",
68936
+ required: [
68937
+ "branches",
68938
+ "type"
68939
+ ],
68940
+ properties: {
68941
+ branches: {
68942
+ maxItems: 8,
68943
+ minItems: 1,
68944
+ type: "array",
68945
+ items: {
68946
+ additionalProperties: false,
68947
+ type: "object",
68948
+ required: [
68949
+ "steps",
68950
+ "when"
68951
+ ],
68952
+ properties: {
68953
+ steps: {
68954
+ maxItems: 40,
68955
+ minItems: 1,
68956
+ type: "array",
68957
+ items: {
68958
+ anyOf: [
68959
+ {
68960
+ additionalProperties: false,
68961
+ type: "object",
68962
+ required: [
68963
+ "instruction",
68964
+ "type"
68965
+ ],
68966
+ properties: {
68967
+ instruction: {
68968
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
68969
+ maxLength: 2000,
68970
+ minLength: 1,
68971
+ type: "string"
68972
+ },
68973
+ type: {
68974
+ const: "ask",
68975
+ type: "string"
68976
+ }
68977
+ }
68978
+ },
68979
+ {
68980
+ additionalProperties: false,
68981
+ type: "object",
68982
+ required: [
68983
+ "instruction",
68984
+ "type"
68985
+ ],
68986
+ properties: {
68987
+ instruction: {
68988
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
68989
+ maxLength: 2000,
68990
+ minLength: 1,
68991
+ type: "string"
68992
+ },
68993
+ type: {
68994
+ const: "tell",
68995
+ type: "string"
68996
+ }
68997
+ }
68998
+ },
68999
+ {
69000
+ additionalProperties: false,
69001
+ type: "object",
69002
+ required: [
69003
+ "message",
69004
+ "type"
69005
+ ],
69006
+ properties: {
69007
+ message: {
69008
+ description: "What to say, word for word.",
69009
+ maxLength: 2000,
69010
+ minLength: 1,
69011
+ type: "string"
69012
+ },
69013
+ translations: {
69014
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
69015
+ type: "object",
69016
+ patternProperties: {
69017
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
69018
+ maxLength: 2000,
69019
+ minLength: 1,
69020
+ type: "string"
69021
+ }
69022
+ }
69023
+ },
69024
+ type: {
69025
+ const: "say",
69026
+ type: "string"
69027
+ }
69028
+ }
69029
+ },
69030
+ {
69031
+ additionalProperties: false,
69032
+ type: "object",
69033
+ required: [
69034
+ "tool",
69035
+ "type"
69036
+ ],
69037
+ properties: {
69038
+ arguments: {
69039
+ description: "Parameters whose value is fixed, by name; the model fills the others.",
69040
+ type: "object",
69041
+ patternProperties: {
69042
+ "^[A-Za-z0-9_.-]{1,128}$": {
69043
+ anyOf: [
69044
+ {
69045
+ additionalProperties: false,
69046
+ type: "object",
69047
+ required: [
69048
+ "value"
69049
+ ],
69050
+ properties: {
69051
+ value: {
69052
+ description: "Always this value."
69053
+ }
69054
+ }
69055
+ },
69056
+ {
69057
+ additionalProperties: false,
69058
+ type: "object",
69059
+ required: [
69060
+ "variable"
69061
+ ],
69062
+ properties: {
69063
+ variable: {
69064
+ description: "The current value of this runtime variable.",
69065
+ pattern: "^[A-Za-z_][A-Za-z0-9_]{0,63}$",
69066
+ type: "string"
69067
+ }
69068
+ }
69069
+ },
69070
+ {
69071
+ additionalProperties: false,
69072
+ type: "object",
69073
+ required: [
69074
+ "omit"
69075
+ ],
69076
+ properties: {
69077
+ omit: {
69078
+ description: "Leave the parameter out of the call.",
69079
+ const: true,
69080
+ type: "boolean"
69081
+ }
69082
+ }
69083
+ }
69084
+ ]
69085
+ }
69086
+ }
69087
+ },
69088
+ instruction: {
69089
+ description: "How to fill the tool's parameters; omitted leaves it to the model.",
69090
+ maxLength: 2000,
69091
+ type: "string"
69092
+ },
69093
+ onFailure: {
69094
+ description: "What to do when the call fails. Omitted or empty: the procedure stops and the Agent handles the failure under its instructions.",
69095
+ maxItems: 40,
69096
+ type: "array",
69097
+ items: {
69098
+ anyOf: [
69099
+ {
69100
+ additionalProperties: false,
69101
+ type: "object",
69102
+ required: [
69103
+ "instruction",
69104
+ "type"
69105
+ ],
69106
+ properties: {
69107
+ instruction: {
69108
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
69109
+ maxLength: 2000,
69110
+ minLength: 1,
69111
+ type: "string"
69112
+ },
69113
+ type: {
69114
+ const: "ask",
69115
+ type: "string"
69116
+ }
69117
+ }
69118
+ },
69119
+ {
69120
+ additionalProperties: false,
69121
+ type: "object",
69122
+ required: [
69123
+ "instruction",
69124
+ "type"
69125
+ ],
69126
+ properties: {
69127
+ instruction: {
69128
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
69129
+ maxLength: 2000,
69130
+ minLength: 1,
69131
+ type: "string"
69132
+ },
69133
+ type: {
69134
+ const: "tell",
69135
+ type: "string"
69136
+ }
69137
+ }
69138
+ },
69139
+ {
69140
+ additionalProperties: false,
69141
+ type: "object",
69142
+ required: [
69143
+ "message",
69144
+ "type"
69145
+ ],
69146
+ properties: {
69147
+ message: {
69148
+ description: "What to say, word for word.",
69149
+ maxLength: 2000,
69150
+ minLength: 1,
69151
+ type: "string"
69152
+ },
69153
+ translations: {
69154
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
69155
+ type: "object",
69156
+ patternProperties: {
69157
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
69158
+ maxLength: 2000,
69159
+ minLength: 1,
69160
+ type: "string"
69161
+ }
69162
+ }
69163
+ },
69164
+ type: {
69165
+ const: "say",
69166
+ type: "string"
69167
+ }
69168
+ }
69169
+ },
69170
+ {
69171
+ additionalProperties: false,
69172
+ type: "object",
69173
+ required: [
69174
+ "procedureId",
69175
+ "type"
69176
+ ],
69177
+ properties: {
69178
+ procedureId: {
69179
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
69180
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
69181
+ type: "string"
69182
+ },
69183
+ type: {
69184
+ const: "procedure",
69185
+ type: "string"
69186
+ }
69187
+ }
69188
+ },
69189
+ {
69190
+ additionalProperties: false,
69191
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
69192
+ type: "object",
69193
+ required: [
69194
+ "type"
69195
+ ],
69196
+ properties: {
69197
+ type: {
69198
+ const: "end",
69199
+ type: "string"
69200
+ }
69201
+ }
69202
+ },
69203
+ {
69204
+ additionalProperties: false,
69205
+ description: "Call the failed tool again and, if it fails again, run its failure steps again. Only the last step of a failure handler.",
69206
+ type: "object",
69207
+ required: [
69208
+ "maxRetries",
69209
+ "type"
69210
+ ],
69211
+ properties: {
69212
+ maxRetries: {
69213
+ description: "Calls of the tool after the first one.",
69214
+ maximum: 3,
69215
+ minimum: 1,
69216
+ type: "integer"
69217
+ },
69218
+ type: {
69219
+ const: "retry",
69220
+ type: "string"
69221
+ }
69222
+ }
69223
+ }
69224
+ ]
69225
+ }
69226
+ },
69227
+ tool: {
69228
+ description: "One of the Agent's integration tools by its tool name, or one of Raíz's own tools (`search_knowledge`, `escalate_to_team`, `transfer_to_human`).",
69229
+ pattern: "^[A-Za-z0-9_.-]{1,128}$",
69230
+ type: "string"
69231
+ },
69232
+ type: {
69233
+ const: "tool",
69234
+ type: "string"
69235
+ }
69236
+ }
69237
+ },
69238
+ {
69239
+ additionalProperties: false,
69240
+ type: "object",
69241
+ required: [
69242
+ "procedureId",
69243
+ "type"
69244
+ ],
69245
+ properties: {
69246
+ procedureId: {
69247
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
69248
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
69249
+ type: "string"
69250
+ },
69251
+ type: {
69252
+ const: "procedure",
69253
+ type: "string"
69254
+ }
69255
+ }
69256
+ },
69257
+ {
69258
+ additionalProperties: false,
69259
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
69260
+ type: "object",
69261
+ required: [
69262
+ "type"
69263
+ ],
69264
+ properties: {
69265
+ type: {
69266
+ const: "end",
69267
+ type: "string"
69268
+ }
69269
+ }
69270
+ }
69271
+ ]
69272
+ }
69273
+ },
69274
+ when: {
69275
+ description: "A condition the Agent judges from the conversation, such as: The contact says the order already shipped.",
69276
+ maxLength: 2000,
69277
+ minLength: 1,
69278
+ type: "string"
69279
+ }
69280
+ }
69281
+ }
69282
+ },
69283
+ otherwise: {
69284
+ description: "What to do when no condition holds; omitted or empty continues.",
69285
+ maxItems: 40,
69286
+ type: "array",
69287
+ items: {
69288
+ anyOf: [
69289
+ {
69290
+ additionalProperties: false,
69291
+ type: "object",
69292
+ required: [
69293
+ "instruction",
69294
+ "type"
69295
+ ],
69296
+ properties: {
69297
+ instruction: {
69298
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
69299
+ maxLength: 2000,
69300
+ minLength: 1,
69301
+ type: "string"
69302
+ },
69303
+ type: {
69304
+ const: "ask",
69305
+ type: "string"
69306
+ }
69307
+ }
69308
+ },
69309
+ {
69310
+ additionalProperties: false,
69311
+ type: "object",
69312
+ required: [
69313
+ "instruction",
69314
+ "type"
69315
+ ],
69316
+ properties: {
69317
+ instruction: {
69318
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
69319
+ maxLength: 2000,
69320
+ minLength: 1,
69321
+ type: "string"
69322
+ },
69323
+ type: {
69324
+ const: "tell",
69325
+ type: "string"
69326
+ }
69327
+ }
69328
+ },
69329
+ {
69330
+ additionalProperties: false,
69331
+ type: "object",
69332
+ required: [
69333
+ "message",
69334
+ "type"
69335
+ ],
69336
+ properties: {
69337
+ message: {
69338
+ description: "What to say, word for word.",
69339
+ maxLength: 2000,
69340
+ minLength: 1,
69341
+ type: "string"
69342
+ },
69343
+ translations: {
69344
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
69345
+ type: "object",
69346
+ patternProperties: {
69347
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
69348
+ maxLength: 2000,
69349
+ minLength: 1,
69350
+ type: "string"
69351
+ }
69352
+ }
69353
+ },
69354
+ type: {
69355
+ const: "say",
69356
+ type: "string"
69357
+ }
69358
+ }
69359
+ },
69360
+ {
69361
+ additionalProperties: false,
69362
+ type: "object",
69363
+ required: [
69364
+ "tool",
69365
+ "type"
69366
+ ],
69367
+ properties: {
69368
+ arguments: {
69369
+ description: "Parameters whose value is fixed, by name; the model fills the others.",
69370
+ type: "object",
69371
+ patternProperties: {
69372
+ "^[A-Za-z0-9_.-]{1,128}$": {
69373
+ anyOf: [
69374
+ {
69375
+ additionalProperties: false,
69376
+ type: "object",
69377
+ required: [
69378
+ "value"
69379
+ ],
69380
+ properties: {
69381
+ value: {
69382
+ description: "Always this value."
69383
+ }
69384
+ }
69385
+ },
69386
+ {
69387
+ additionalProperties: false,
69388
+ type: "object",
69389
+ required: [
69390
+ "variable"
69391
+ ],
69392
+ properties: {
69393
+ variable: {
69394
+ description: "The current value of this runtime variable.",
69395
+ pattern: "^[A-Za-z_][A-Za-z0-9_]{0,63}$",
69396
+ type: "string"
69397
+ }
69398
+ }
69399
+ },
69400
+ {
69401
+ additionalProperties: false,
69402
+ type: "object",
69403
+ required: [
69404
+ "omit"
69405
+ ],
69406
+ properties: {
69407
+ omit: {
69408
+ description: "Leave the parameter out of the call.",
69409
+ const: true,
69410
+ type: "boolean"
69411
+ }
69412
+ }
69413
+ }
69414
+ ]
69415
+ }
69416
+ }
69417
+ },
69418
+ instruction: {
69419
+ description: "How to fill the tool's parameters; omitted leaves it to the model.",
69420
+ maxLength: 2000,
69421
+ type: "string"
69422
+ },
69423
+ onFailure: {
69424
+ description: "What to do when the call fails. Omitted or empty: the procedure stops and the Agent handles the failure under its instructions.",
69425
+ maxItems: 40,
69426
+ type: "array",
69427
+ items: {
69428
+ anyOf: [
69429
+ {
69430
+ additionalProperties: false,
69431
+ type: "object",
69432
+ required: [
69433
+ "instruction",
69434
+ "type"
69435
+ ],
69436
+ properties: {
69437
+ instruction: {
69438
+ description: "What to ask, and when an answer counts. The procedure waits here until the contact answers.",
69439
+ maxLength: 2000,
69440
+ minLength: 1,
69441
+ type: "string"
69442
+ },
69443
+ type: {
69444
+ const: "ask",
69445
+ type: "string"
69446
+ }
69447
+ }
69448
+ },
69449
+ {
69450
+ additionalProperties: false,
69451
+ type: "object",
69452
+ required: [
69453
+ "instruction",
69454
+ "type"
69455
+ ],
69456
+ properties: {
69457
+ instruction: {
69458
+ description: "What to convey, in the Agent's own words. The procedure continues without waiting.",
69459
+ maxLength: 2000,
69460
+ minLength: 1,
69461
+ type: "string"
69462
+ },
69463
+ type: {
69464
+ const: "tell",
69465
+ type: "string"
69466
+ }
69467
+ }
69468
+ },
69469
+ {
69470
+ additionalProperties: false,
69471
+ type: "object",
69472
+ required: [
69473
+ "message",
69474
+ "type"
69475
+ ],
69476
+ properties: {
69477
+ message: {
69478
+ description: "What to say, word for word.",
69479
+ maxLength: 2000,
69480
+ minLength: 1,
69481
+ type: "string"
69482
+ },
69483
+ translations: {
69484
+ description: "The exact message in other languages, by BCP 47 tag, for an Agent that speaks several.",
69485
+ type: "object",
69486
+ patternProperties: {
69487
+ "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$": {
69488
+ maxLength: 2000,
69489
+ minLength: 1,
69490
+ type: "string"
69491
+ }
69492
+ }
69493
+ },
69494
+ type: {
69495
+ const: "say",
69496
+ type: "string"
69497
+ }
69498
+ }
69499
+ },
69500
+ {
69501
+ additionalProperties: false,
69502
+ type: "object",
69503
+ required: [
69504
+ "procedureId",
69505
+ "type"
69506
+ ],
69507
+ properties: {
69508
+ procedureId: {
69509
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
69510
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
69511
+ type: "string"
69512
+ },
69513
+ type: {
69514
+ const: "procedure",
69515
+ type: "string"
69516
+ }
69517
+ }
69518
+ },
69519
+ {
69520
+ additionalProperties: false,
69521
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
69522
+ type: "object",
69523
+ required: [
69524
+ "type"
69525
+ ],
69526
+ properties: {
69527
+ type: {
69528
+ const: "end",
69529
+ type: "string"
69530
+ }
69531
+ }
69532
+ },
69533
+ {
69534
+ additionalProperties: false,
69535
+ description: "Call the failed tool again and, if it fails again, run its failure steps again. Only the last step of a failure handler.",
69536
+ type: "object",
69537
+ required: [
69538
+ "maxRetries",
69539
+ "type"
69540
+ ],
69541
+ properties: {
69542
+ maxRetries: {
69543
+ description: "Calls of the tool after the first one.",
69544
+ maximum: 3,
69545
+ minimum: 1,
69546
+ type: "integer"
69547
+ },
69548
+ type: {
69549
+ const: "retry",
69550
+ type: "string"
69551
+ }
69552
+ }
69553
+ }
69554
+ ]
69555
+ }
69556
+ },
69557
+ tool: {
69558
+ description: "One of the Agent's integration tools by its tool name, or one of Raíz's own tools (`search_knowledge`, `escalate_to_team`, `transfer_to_human`).",
69559
+ pattern: "^[A-Za-z0-9_.-]{1,128}$",
69560
+ type: "string"
69561
+ },
69562
+ type: {
69563
+ const: "tool",
69564
+ type: "string"
69565
+ }
69566
+ }
69567
+ },
69568
+ {
69569
+ additionalProperties: false,
69570
+ type: "object",
69571
+ required: [
69572
+ "procedureId",
69573
+ "type"
69574
+ ],
69575
+ properties: {
69576
+ procedureId: {
69577
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
69578
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
69579
+ type: "string"
69580
+ },
69581
+ type: {
69582
+ const: "procedure",
69583
+ type: "string"
69584
+ }
69585
+ }
69586
+ },
69587
+ {
69588
+ additionalProperties: false,
69589
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
69590
+ type: "object",
69591
+ required: [
69592
+ "type"
69593
+ ],
69594
+ properties: {
69595
+ type: {
69596
+ const: "end",
69597
+ type: "string"
69598
+ }
69599
+ }
69600
+ }
69601
+ ]
69602
+ }
69603
+ },
69604
+ type: {
69605
+ const: "branch",
69606
+ type: "string"
69607
+ }
69608
+ }
69609
+ },
69610
+ {
69611
+ additionalProperties: false,
69612
+ type: "object",
69613
+ required: [
69614
+ "procedureId",
69615
+ "type"
69616
+ ],
69617
+ properties: {
69618
+ procedureId: {
69619
+ description: "Another structured procedure of this Agent. It runs to its end, then this procedure continues.",
69620
+ pattern: "^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$",
69621
+ type: "string"
69622
+ },
69623
+ type: {
69624
+ const: "procedure",
69625
+ type: "string"
69626
+ }
69627
+ }
69628
+ },
69629
+ {
69630
+ additionalProperties: false,
69631
+ description: "Finish the conversation after this reply (on a call, hang up). Always the last step of its list.",
69632
+ type: "object",
69633
+ required: [
69634
+ "type"
69635
+ ],
69636
+ properties: {
69637
+ type: {
69638
+ const: "end",
69639
+ type: "string"
69640
+ }
69641
+ }
69642
+ }
69643
+ ]
69644
+ }
69645
+ },
69646
+ trigger: {
69647
+ description: "When it applies, from the contact's side: When the contact asks to book or move an appointment. Empty makes a sub-procedure, which only runs when another procedure references it.",
69648
+ maxLength: 1000,
69649
+ type: "string"
69650
+ },
69651
+ type: {
69652
+ description: "`free_form`: instructions the Agent adapts. `structured`: steps that run the same way every time. Fixed once created.",
69653
+ anyOf: [
69654
+ {
69655
+ const: "free_form",
69656
+ type: "string"
69657
+ },
69658
+ {
69659
+ const: "structured",
69660
+ type: "string"
69661
+ }
69662
+ ]
69663
+ }
69664
+ }
69665
+ },
68053
69666
  RaizAgentSettings: {
68054
69667
  additionalProperties: false,
68055
69668
  type: "object",
@@ -68146,7 +69759,7 @@ var schemaComponents = {
68146
69759
  advisorAgentId: {
68147
69760
  anyOf: [
68148
69761
  {
68149
- description: "Optional active text Agent in the same organization, other than this Agent, whose instructions and skills provide specialist guidance. The configured recovery model and cost bounds stay unchanged; no specialist tools or conversation history are accessed.",
69762
+ description: "Optional active text Agent in the same organization, other than this Agent, whose instructions and procedures provide specialist guidance. The configured recovery model and cost bounds stay unchanged; no specialist tools or conversation history are accessed.",
68150
69763
  examples: [
68151
69764
  "agt_01m45h8q2rf3t9w6y7z0b1c2d3"
68152
69765
  ],
@@ -68280,7 +69893,7 @@ var schemaComponents = {
68280
69893
  evalGate: {
68281
69894
  anyOf: [
68282
69895
  {
68283
- description: "Text and voice Agents. When true, an `updateAgent` that changes what the model reads (instructions, skills, connection skills, `model` or `reasoningEffort`) must send `evalRunId`: a completed `createEvalRun` of this Agent with exactly that content, in which every case passed (EVAL_GATE_UNMET otherwise). Null: no requirement.",
69896
+ description: "Text and voice Agents. When true, an `updateAgent` that changes what the model reads (instructions, procedures, connection procedures, `model` or `reasoningEffort`) must send `evalRunId`: a completed `createEvalRun` of this Agent with exactly that content, in which every case passed (EVAL_GATE_UNMET otherwise). Null: no requirement.",
68284
69897
  type: "boolean"
68285
69898
  },
68286
69899
  {
@@ -68608,7 +70221,7 @@ var schemaComponents = {
68608
70221
  advisorAgentId: {
68609
70222
  anyOf: [
68610
70223
  {
68611
- description: "Optional active text Agent in the same organization, other than this Agent, whose instructions and skills provide specialist guidance. The configured recovery model and cost bounds stay unchanged; no specialist tools or conversation history are accessed.",
70224
+ description: "Optional active text Agent in the same organization, other than this Agent, whose instructions and procedures provide specialist guidance. The configured recovery model and cost bounds stay unchanged; no specialist tools or conversation history are accessed.",
68612
70225
  examples: [
68613
70226
  "agt_01m45h8q2rf3t9w6y7z0b1c2d3"
68614
70227
  ],
@@ -68754,7 +70367,7 @@ var schemaComponents = {
68754
70367
  evalGate: {
68755
70368
  anyOf: [
68756
70369
  {
68757
- description: "Text and voice Agents. When true, an `updateAgent` that changes what the model reads (instructions, skills, connection skills, `model` or `reasoningEffort`) must send `evalRunId`: a completed `createEvalRun` of this Agent with exactly that content, in which every case passed (EVAL_GATE_UNMET otherwise). Null: no requirement.",
70370
+ description: "Text and voice Agents. When true, an `updateAgent` that changes what the model reads (instructions, procedures, connection procedures, `model` or `reasoningEffort`) must send `evalRunId`: a completed `createEvalRun` of this Agent with exactly that content, in which every case passed (EVAL_GATE_UNMET otherwise). Null: no requirement.",
68758
70371
  type: "boolean"
68759
70372
  },
68760
70373
  {
@@ -69013,83 +70626,6 @@ var schemaComponents = {
69013
70626
  }
69014
70627
  }
69015
70628
  },
69016
- RaizAgentSkill: {
69017
- additionalProperties: false,
69018
- type: "object",
69019
- required: [
69020
- "name",
69021
- "description",
69022
- "instructions",
69023
- "status",
69024
- "resources"
69025
- ],
69026
- properties: {
69027
- name: {
69028
- minLength: 1,
69029
- maxLength: 64,
69030
- pattern: "^[a-z0-9]+(-[a-z0-9]+)*$",
69031
- type: "string"
69032
- },
69033
- description: {
69034
- minLength: 1,
69035
- maxLength: 500,
69036
- pattern: "^[^\\r\\n]+$",
69037
- type: "string"
69038
- },
69039
- instructions: {
69040
- minLength: 1,
69041
- maxLength: 30000,
69042
- type: "string"
69043
- },
69044
- status: {
69045
- anyOf: [
69046
- {
69047
- const: "active",
69048
- type: "string"
69049
- },
69050
- {
69051
- const: "paused",
69052
- type: "string"
69053
- }
69054
- ]
69055
- },
69056
- tools: {
69057
- description: "WhatsApp: while this skill is active in a reply, the model is offered only these tools plus Raíz's own (choices, attachments, skills, escalation). Omitted: every tool stays offered. Narrowing changes the request's tool list, so the provider's cached prefix restarts for that reply.",
69058
- maxItems: 32,
69059
- uniqueItems: true,
69060
- type: "array",
69061
- items: {
69062
- pattern: "^[A-Za-z0-9_-]{1,64}$",
69063
- type: "string"
69064
- }
69065
- },
69066
- resources: {
69067
- maxItems: 16,
69068
- type: "array",
69069
- items: {
69070
- additionalProperties: false,
69071
- type: "object",
69072
- required: [
69073
- "path",
69074
- "content"
69075
- ],
69076
- properties: {
69077
- path: {
69078
- minLength: 1,
69079
- maxLength: 200,
69080
- pattern: "^references/[a-zA-Z0-9_-]+(?:/[a-zA-Z0-9_-]+)*\\.(?:md|txt|json|csv)$",
69081
- type: "string"
69082
- },
69083
- content: {
69084
- minLength: 1,
69085
- maxLength: 20000,
69086
- type: "string"
69087
- }
69088
- }
69089
- }
69090
- }
69091
- }
69092
- },
69093
70629
  RaizAgentTurnPolicy: {
69094
70630
  additionalProperties: false,
69095
70631
  type: "object",
@@ -70838,7 +72374,7 @@ var schemaComponents = {
70838
72374
  "kind",
70839
72375
  "name",
70840
72376
  "status",
70841
- "skills",
72377
+ "procedures",
70842
72378
  "summary",
70843
72379
  "tools",
70844
72380
  "toolsVersion"
@@ -70889,8 +72425,8 @@ var schemaComponents = {
70889
72425
  }
70890
72426
  ]
70891
72427
  },
70892
- skills: {
70893
- description: "The procedures a custom server publishes beside its tools. An Agent pins the ones it uses (`integrationSkills`).",
72428
+ procedures: {
72429
+ description: "The procedures a custom server publishes beside its tools. An Agent pins the ones it uses (`integrationProcedures`).",
70894
72430
  maxItems: 64,
70895
72431
  type: "array",
70896
72432
  items: {
@@ -70903,17 +72439,17 @@ var schemaComponents = {
70903
72439
  ],
70904
72440
  properties: {
70905
72441
  description: {
70906
- description: "One line: what the procedure achieves and when to load it.",
72442
+ description: "One line: what the procedure achieves and when it applies. It is the procedure's trigger.",
70907
72443
  type: "string"
70908
72444
  },
70909
72445
  digest: {
70910
- description: "A digest of the skill (its name, description and procedure). Equal digests, equal skills.",
72446
+ description: "A digest of the procedure (its name, description and instructions). Equal digests, equal procedures.",
70911
72447
  maxLength: 64,
70912
72448
  minLength: 1,
70913
72449
  type: "string"
70914
72450
  },
70915
72451
  name: {
70916
- description: "The skill's name, as its connection lists it.",
72452
+ description: "The procedure's name, as its connection lists it.",
70917
72453
  maxLength: 64,
70918
72454
  minLength: 1,
70919
72455
  pattern: "^[a-z0-9]+(-[a-z0-9]+)*$",
@@ -73602,7 +75138,7 @@ var schemaComponents = {
73602
75138
  ]
73603
75139
  },
73604
75140
  contentSha256: {
73605
- description: "SHA-256 of the candidate's content (instructions, skills, connection skills, model, reasoning effort): what `settings.evalGate` compares with an update's.",
75141
+ description: "SHA-256 of the candidate's content (instructions, procedures, connection procedures, model, reasoning effort): what `settings.evalGate` compares with an update's.",
73606
75142
  pattern: "^[a-f0-9]{64}$",
73607
75143
  type: "string"
73608
75144
  },
@@ -76234,11 +77770,11 @@ var schemaComponents = {
76234
77770
  ],
76235
77771
  properties: {
76236
77772
  code: {
76237
- const: "AGENT_SKILLS_INVALID",
77773
+ const: "AGENT_PROCEDURES_INVALID",
76238
77774
  type: "string"
76239
77775
  },
76240
77776
  message: {
76241
- const: "Skills require a text Agent, unique names and resource paths, nonempty instructions, and at most 256 KiB in total.",
77777
+ const: "A procedure is incomplete, references a tool, document or procedure the Agent does not have, or breaks the structured step rules. `issues` says where.",
76242
77778
  type: "string"
76243
77779
  },
76244
77780
  retryable: {
@@ -76248,7 +77784,33 @@ var schemaComponents = {
76248
77784
  data: {
76249
77785
  additionalProperties: false,
76250
77786
  type: "object",
76251
- properties: {}
77787
+ required: [
77788
+ "issues"
77789
+ ],
77790
+ properties: {
77791
+ issues: {
77792
+ maxItems: 20,
77793
+ type: "array",
77794
+ items: {
77795
+ additionalProperties: false,
77796
+ type: "object",
77797
+ required: [
77798
+ "code",
77799
+ "path"
77800
+ ],
77801
+ properties: {
77802
+ code: {
77803
+ description: "Why, as a label: content_required, steps_required, unknown_tool, unknown_knowledge, unknown_procedure, sub_procedure_not_structured, consecutive_branches, end_not_last, retry_not_last, type_changed, procedure_cycle, reference_not_allowed, unsupported_on_calls…",
77804
+ type: "string"
77805
+ },
77806
+ path: {
77807
+ description: "RFC 6901 pointer to the refused field, such as `/procedures/2/steps/1`.",
77808
+ type: "string"
77809
+ }
77810
+ }
77811
+ }
77812
+ }
77813
+ }
76252
77814
  }
76253
77815
  }
76254
77816
  },
@@ -76524,11 +78086,11 @@ var schemaComponents = {
76524
78086
  ],
76525
78087
  properties: {
76526
78088
  code: {
76527
- const: "INTEGRATION_SKILL_UNAVAILABLE",
78089
+ const: "INTEGRATION_PROCEDURE_UNAVAILABLE",
76528
78090
  type: "string"
76529
78091
  },
76530
78092
  message: {
76531
- const: "A skill does not exist in this organization's connections, Raíz cannot run its connection, or its name repeats one of the Agent's skills.",
78093
+ const: "A procedure does not exist in this organization's connections, Raíz cannot run its connection, or the Agent is not a text Agent.",
76532
78094
  type: "string"
76533
78095
  },
76534
78096
  retryable: {
@@ -83270,13 +84832,6 @@ var schemaComponents = {
83270
84832
  },
83271
84833
  SaludTotalLookupAffiliationBody: {
83272
84834
  additionalProperties: false,
83273
- examples: [
83274
- {
83275
- connectionId: "con_00000000000000000000000000",
83276
- documentType: "CC",
83277
- documentNumber: "000000"
83278
- }
83279
- ],
83280
84835
  type: "object",
83281
84836
  required: [
83282
84837
  "connectionId",
@@ -84133,415 +85688,6 @@ var schemaComponents = {
84133
85688
  }
84134
85689
  }
84135
85690
  },
84136
- SaludTotalLookupSample: {
84137
- anyOf: [
84138
- {
84139
- additionalProperties: false,
84140
- type: "object",
84141
- required: [
84142
- "id",
84143
- "synthetic",
84144
- "resource",
84145
- "method",
84146
- "baseUrl",
84147
- "path",
84148
- "requestBody",
84149
- "responseData",
84150
- "evidence"
84151
- ],
84152
- properties: {
84153
- id: {
84154
- type: "string"
84155
- },
84156
- synthetic: {
84157
- const: true,
84158
- type: "boolean"
84159
- },
84160
- resource: {
84161
- const: "affiliations",
84162
- type: "string"
84163
- },
84164
- method: {
84165
- const: "POST",
84166
- type: "string"
84167
- },
84168
- baseUrl: {
84169
- const: "https://saludtotal.getarbol.app",
84170
- type: "string"
84171
- },
84172
- path: {
84173
- const: "/v1/affiliations/lookup",
84174
- type: "string"
84175
- },
84176
- requestBody: {
84177
- additionalProperties: false,
84178
- type: "object",
84179
- required: [
84180
- "connectionId",
84181
- "documentType",
84182
- "documentNumber"
84183
- ],
84184
- properties: {
84185
- connectionId: {
84186
- pattern: "^con_[0-7][0-9a-hjkmnp-tv-z]{25}$",
84187
- type: "string"
84188
- },
84189
- documentType: {
84190
- const: "CC",
84191
- type: "string"
84192
- },
84193
- documentNumber: {
84194
- pattern: "^[0-9]{6,15}$",
84195
- description: "Fictional document number in the example request.",
84196
- type: "string"
84197
- }
84198
- }
84199
- },
84200
- responseData: {
84201
- $ref: "#/components/schemas/SaludTotalAffiliationLookup"
84202
- },
84203
- evidence: {
84204
- description: "Whether this outcome was seen in an authorized provider read. Every example uses fictional values.",
84205
- anyOf: [
84206
- {
84207
- const: "observed_shape",
84208
- type: "string"
84209
- },
84210
- {
84211
- const: "contract_only",
84212
- type: "string"
84213
- }
84214
- ]
84215
- }
84216
- }
84217
- },
84218
- {
84219
- additionalProperties: false,
84220
- type: "object",
84221
- required: [
84222
- "id",
84223
- "synthetic",
84224
- "resource",
84225
- "method",
84226
- "baseUrl",
84227
- "path",
84228
- "requestBody",
84229
- "responseData",
84230
- "evidence"
84231
- ],
84232
- properties: {
84233
- id: {
84234
- type: "string"
84235
- },
84236
- synthetic: {
84237
- const: true,
84238
- type: "boolean"
84239
- },
84240
- resource: {
84241
- const: "authorizations",
84242
- type: "string"
84243
- },
84244
- method: {
84245
- const: "POST",
84246
- type: "string"
84247
- },
84248
- baseUrl: {
84249
- const: "https://saludtotal.getarbol.app",
84250
- type: "string"
84251
- },
84252
- path: {
84253
- const: "/v1/authorizations/lookup",
84254
- type: "string"
84255
- },
84256
- requestBody: {
84257
- additionalProperties: false,
84258
- type: "object",
84259
- required: [
84260
- "connectionId",
84261
- "documentType",
84262
- "documentNumber",
84263
- "day"
84264
- ],
84265
- properties: {
84266
- connectionId: {
84267
- pattern: "^con_[0-7][0-9a-hjkmnp-tv-z]{25}$",
84268
- type: "string"
84269
- },
84270
- branchId: {
84271
- minimum: 1,
84272
- maximum: 2147483647,
84273
- type: "integer"
84274
- },
84275
- siteId: {
84276
- minimum: 1,
84277
- maximum: 2147483647,
84278
- type: "integer"
84279
- },
84280
- choiceCursor: {
84281
- pattern: "^(branchId|siteId):[0-9]{1,10}:[1-9][0-9]{0,9}$",
84282
- description: "Continuation returned by a location_required result. Repeat the same lookup to get more choices.",
84283
- type: "string"
84284
- },
84285
- documentType: {
84286
- const: "CC",
84287
- type: "string"
84288
- },
84289
- documentNumber: {
84290
- pattern: "^[0-9]{6,15}$",
84291
- description: "Fictional document number in the example request.",
84292
- type: "string"
84293
- },
84294
- day: {
84295
- format: "date",
84296
- pattern: "^\\d{4}-\\d{2}-\\d{2}$",
84297
- description: "One local calendar day; the request never traverses an open-ended date range.",
84298
- type: "string"
84299
- }
84300
- }
84301
- },
84302
- responseData: {
84303
- $ref: "#/components/schemas/SaludTotalRecordAvailability"
84304
- },
84305
- evidence: {
84306
- description: "Whether this outcome was seen in an authorized provider read. Every example uses fictional values.",
84307
- anyOf: [
84308
- {
84309
- const: "observed_shape",
84310
- type: "string"
84311
- },
84312
- {
84313
- const: "contract_only",
84314
- type: "string"
84315
- }
84316
- ]
84317
- }
84318
- }
84319
- },
84320
- {
84321
- additionalProperties: false,
84322
- type: "object",
84323
- required: [
84324
- "id",
84325
- "synthetic",
84326
- "resource",
84327
- "method",
84328
- "baseUrl",
84329
- "path",
84330
- "requestBody",
84331
- "responseData",
84332
- "evidence"
84333
- ],
84334
- properties: {
84335
- id: {
84336
- type: "string"
84337
- },
84338
- synthetic: {
84339
- const: true,
84340
- type: "boolean"
84341
- },
84342
- resource: {
84343
- const: "filings",
84344
- type: "string"
84345
- },
84346
- method: {
84347
- const: "POST",
84348
- type: "string"
84349
- },
84350
- baseUrl: {
84351
- const: "https://saludtotal.getarbol.app",
84352
- type: "string"
84353
- },
84354
- path: {
84355
- const: "/v1/filings/lookup",
84356
- type: "string"
84357
- },
84358
- requestBody: {
84359
- additionalProperties: false,
84360
- type: "object",
84361
- required: [
84362
- "connectionId",
84363
- "documentType",
84364
- "documentNumber",
84365
- "day"
84366
- ],
84367
- properties: {
84368
- connectionId: {
84369
- pattern: "^con_[0-7][0-9a-hjkmnp-tv-z]{25}$",
84370
- type: "string"
84371
- },
84372
- branchId: {
84373
- minimum: 1,
84374
- maximum: 2147483647,
84375
- type: "integer"
84376
- },
84377
- siteId: {
84378
- minimum: 1,
84379
- maximum: 2147483647,
84380
- type: "integer"
84381
- },
84382
- choiceCursor: {
84383
- pattern: "^(branchId|siteId):[0-9]{1,10}:[1-9][0-9]{0,9}$",
84384
- description: "Continuation returned by a location_required result. Repeat the same lookup to get more choices.",
84385
- type: "string"
84386
- },
84387
- documentType: {
84388
- const: "CC",
84389
- type: "string"
84390
- },
84391
- documentNumber: {
84392
- pattern: "^[0-9]{6,15}$",
84393
- description: "Fictional document number in the example request.",
84394
- type: "string"
84395
- },
84396
- day: {
84397
- format: "date",
84398
- pattern: "^\\d{4}-\\d{2}-\\d{2}$",
84399
- description: "One local calendar day; the request never traverses an open-ended date range.",
84400
- type: "string"
84401
- }
84402
- }
84403
- },
84404
- responseData: {
84405
- $ref: "#/components/schemas/SaludTotalRecordAvailability"
84406
- },
84407
- evidence: {
84408
- description: "Whether this outcome was seen in an authorized provider read. Every example uses fictional values.",
84409
- anyOf: [
84410
- {
84411
- const: "observed_shape",
84412
- type: "string"
84413
- },
84414
- {
84415
- const: "contract_only",
84416
- type: "string"
84417
- }
84418
- ]
84419
- }
84420
- }
84421
- },
84422
- {
84423
- additionalProperties: false,
84424
- type: "object",
84425
- required: [
84426
- "id",
84427
- "synthetic",
84428
- "resource",
84429
- "method",
84430
- "baseUrl",
84431
- "path",
84432
- "requestBody",
84433
- "responseData",
84434
- "evidence"
84435
- ],
84436
- properties: {
84437
- id: {
84438
- type: "string"
84439
- },
84440
- synthetic: {
84441
- const: true,
84442
- type: "boolean"
84443
- },
84444
- resource: {
84445
- const: "invoices",
84446
- type: "string"
84447
- },
84448
- method: {
84449
- const: "POST",
84450
- type: "string"
84451
- },
84452
- baseUrl: {
84453
- const: "https://saludtotal.getarbol.app",
84454
- type: "string"
84455
- },
84456
- path: {
84457
- const: "/v1/invoices/lookup",
84458
- type: "string"
84459
- },
84460
- requestBody: {
84461
- $ref: "#/components/schemas/SaludTotalInvoiceLookupInput",
84462
- examples: [
84463
- {
84464
- connectionId: "con_00000000000000000000000000",
84465
- prefix: "SAMPLE",
84466
- invoiceNumber: "000001"
84467
- }
84468
- ]
84469
- },
84470
- responseData: {
84471
- $ref: "#/components/schemas/SaludTotalInvoiceLookupResult"
84472
- },
84473
- evidence: {
84474
- description: "Whether this outcome was seen in an authorized provider read. Every example uses fictional values.",
84475
- anyOf: [
84476
- {
84477
- const: "observed_shape",
84478
- type: "string"
84479
- },
84480
- {
84481
- const: "contract_only",
84482
- type: "string"
84483
- }
84484
- ]
84485
- }
84486
- }
84487
- }
84488
- ]
84489
- },
84490
- SaludTotalLookupSamplePage: {
84491
- additionalProperties: false,
84492
- type: "object",
84493
- required: [
84494
- "data",
84495
- "object",
84496
- "pageInfo"
84497
- ],
84498
- properties: {
84499
- data: {
84500
- description: "Items admitted by this resource contract within the verified organization.",
84501
- type: "array",
84502
- items: {
84503
- $ref: "#/components/schemas/SaludTotalLookupSample"
84504
- }
84505
- },
84506
- object: {
84507
- description: "Discriminator for a resource list response.",
84508
- const: "list",
84509
- type: "string"
84510
- },
84511
- pageInfo: {
84512
- $ref: "#/components/schemas/PageInfo",
84513
- description: "Opaque navigation cursors for this page’s stable keyset order."
84514
- }
84515
- }
84516
- },
84517
- SaludTotalLookupSamplePageResponse: {
84518
- type: "object",
84519
- description: "A successful answer.",
84520
- additionalProperties: false,
84521
- required: [
84522
- "success",
84523
- "data",
84524
- "error",
84525
- "metadata"
84526
- ],
84527
- properties: {
84528
- success: {
84529
- type: "boolean",
84530
- enum: [
84531
- true
84532
- ]
84533
- },
84534
- data: {
84535
- $ref: "#/components/schemas/SaludTotalLookupSamplePage"
84536
- },
84537
- error: {
84538
- const: null
84539
- },
84540
- metadata: {
84541
- $ref: "#/components/schemas/ResponseMetadata"
84542
- }
84543
- }
84544
- },
84545
85691
  SaludTotalModuleForbiddenFailure: {
84546
85692
  type: "object",
84547
85693
  description: "The account cannot access the required module.",
@@ -84610,47 +85756,6 @@ var schemaComponents = {
84610
85756
  }
84611
85757
  }
84612
85758
  },
84613
- SaludTotalPreviewWorkflowResult: {
84614
- additionalProperties: false,
84615
- type: "object",
84616
- required: [
84617
- "text"
84618
- ],
84619
- properties: {
84620
- text: {
84621
- maxLength: 1800,
84622
- type: "string"
84623
- }
84624
- }
84625
- },
84626
- SaludTotalPreviewWorkflowResultResponse: {
84627
- type: "object",
84628
- description: "A successful answer.",
84629
- additionalProperties: false,
84630
- required: [
84631
- "success",
84632
- "data",
84633
- "error",
84634
- "metadata"
84635
- ],
84636
- properties: {
84637
- success: {
84638
- type: "boolean",
84639
- enum: [
84640
- true
84641
- ]
84642
- },
84643
- data: {
84644
- $ref: "#/components/schemas/SaludTotalPreviewWorkflowResult"
84645
- },
84646
- error: {
84647
- const: null
84648
- },
84649
- metadata: {
84650
- $ref: "#/components/schemas/ResponseMetadata"
84651
- }
84652
- }
84653
- },
84654
85759
  SaludTotalProviderUnavailableFailure: {
84655
85760
  type: "object",
84656
85761
  description: "The provider response is unavailable or unrecognized.",
@@ -106053,12 +107158,12 @@ var schemaComponents = {
106053
107158
  }
106054
107159
  ]
106055
107160
  },
106056
- integrationSkills: {
106057
- description: "Text Agents. Skills a connection publishes (`listConnections`, checked live in Account), each saved with its current text and offered beside `skills`; names must differ from the Agent's own skills. In an update, the complete new set.",
107161
+ integrationProcedures: {
107162
+ description: "Text Agents. Procedures a connection publishes (`listConnections`, checked live in Account), each saved with its current text and run as a free-form procedure beside `procedures`. In an update, the complete new set.",
106058
107163
  maxItems: 32,
106059
107164
  type: "array",
106060
107165
  items: {
106061
- $ref: "#/components/schemas/RaizAgentIntegrationSkillInput"
107166
+ $ref: "#/components/schemas/RaizAgentIntegrationProcedureInput"
106062
107167
  }
106063
107168
  },
106064
107169
  integrationTools: {
@@ -106091,18 +107196,18 @@ var schemaComponents = {
106091
107196
  pattern: "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
106092
107197
  type: "string"
106093
107198
  },
106094
- settings: {
106095
- $ref: "#/components/schemas/RaizAgentSettingsInput",
106096
- description: "How the Agent behaves. In an update, the complete new settings: keys left out return to their default. Text and voice settings apply only to Agents of that modality."
106097
- },
106098
- skills: {
106099
- maxItems: 32,
106100
- description: "Text-only procedures and references loaded on demand. Names and resource paths must be unique; the complete set is limited to 256 KiB. In an update, this replaces the whole set. Skills never grant additional business tools or execute scripts.",
107199
+ procedures: {
107200
+ description: "The Agent's procedures, as a complete set: a procedure left out is removed. Keep each existing procedure's `id`; a new one may omit it.",
107201
+ maxItems: 64,
106101
107202
  type: "array",
106102
107203
  items: {
106103
- $ref: "#/components/schemas/RaizAgentSkill"
107204
+ $ref: "#/components/schemas/RaizAgentProcedureInput"
106104
107205
  }
106105
107206
  },
107207
+ settings: {
107208
+ $ref: "#/components/schemas/RaizAgentSettingsInput",
107209
+ description: "How the Agent behaves. In an update, the complete new settings: keys left out return to their default. Text and voice settings apply only to Agents of that modality."
107210
+ },
106106
107211
  status: {
106107
107212
  description: "A paused Agent answers nothing and places no calls.",
106108
107213
  anyOf: [
@@ -106213,12 +107318,12 @@ var schemaComponents = {
106213
107318
  }
106214
107319
  ]
106215
107320
  },
106216
- integrationSkills: {
106217
- description: "Text Agents. Skills a connection publishes (`listConnections`, checked live in Account), each saved with its current text and offered beside `skills`; names must differ from the Agent's own skills. In an update, the complete new set.",
107321
+ integrationProcedures: {
107322
+ description: "Text Agents. Procedures a connection publishes (`listConnections`, checked live in Account), each saved with its current text and run as a free-form procedure beside `procedures`. In an update, the complete new set.",
106218
107323
  maxItems: 32,
106219
107324
  type: "array",
106220
107325
  items: {
106221
- $ref: "#/components/schemas/RaizAgentIntegrationSkillInput"
107326
+ $ref: "#/components/schemas/RaizAgentIntegrationProcedureInput"
106222
107327
  }
106223
107328
  },
106224
107329
  integrationTools: {
@@ -106251,18 +107356,18 @@ var schemaComponents = {
106251
107356
  pattern: "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
106252
107357
  type: "string"
106253
107358
  },
106254
- settings: {
106255
- $ref: "#/components/schemas/RaizAgentSettingsInput",
106256
- description: "How the Agent behaves. In an update, the complete new settings: keys left out return to their default. Text and voice settings apply only to Agents of that modality."
106257
- },
106258
- skills: {
106259
- maxItems: 32,
106260
- description: "Text-only procedures and references loaded on demand. Names and resource paths must be unique; the complete set is limited to 256 KiB. In an update, this replaces the whole set. Skills never grant additional business tools or execute scripts.",
107359
+ procedures: {
107360
+ description: "The Agent's procedures, as a complete set: a procedure left out is removed. Keep each existing procedure's `id`; a new one may omit it.",
107361
+ maxItems: 64,
106261
107362
  type: "array",
106262
107363
  items: {
106263
- $ref: "#/components/schemas/RaizAgentSkill"
107364
+ $ref: "#/components/schemas/RaizAgentProcedureInput"
106264
107365
  }
106265
107366
  },
107367
+ settings: {
107368
+ $ref: "#/components/schemas/RaizAgentSettingsInput",
107369
+ description: "How the Agent behaves. In an update, the complete new settings: keys left out return to their default. Text and voice settings apply only to Agents of that modality."
107370
+ },
106266
107371
  status: {
106267
107372
  description: "A paused Agent answers nothing and places no calls.",
106268
107373
  anyOf: [
@@ -109213,7 +110318,7 @@ var schemaComponents = {
109213
110318
  type: "string"
109214
110319
  },
109215
110320
  candidate: {
109216
- description: "The candidate version: what changes in what the model reads. Omitted fields keep the live Agent's; `integrationSkills` and `skills` are complete sets, as in `updateAgent`.",
110321
+ description: "The candidate version: what changes in what the model reads. Omitted fields keep the live Agent's; `integrationProcedures` and `procedures` are complete sets, as in `updateAgent`.",
109217
110322
  additionalProperties: false,
109218
110323
  type: "object",
109219
110324
  properties: {
@@ -109230,12 +110335,12 @@ var schemaComponents = {
109230
110335
  }
109231
110336
  ]
109232
110337
  },
109233
- integrationSkills: {
109234
- description: "Text Agents. Skills a connection publishes (`listConnections`, checked live in Account), each saved with its current text and offered beside `skills`; names must differ from the Agent's own skills. In an update, the complete new set.",
110338
+ integrationProcedures: {
110339
+ description: "Text Agents. Procedures a connection publishes (`listConnections`, checked live in Account), each saved with its current text and run as a free-form procedure beside `procedures`. In an update, the complete new set.",
109235
110340
  maxItems: 32,
109236
110341
  type: "array",
109237
110342
  items: {
109238
- $ref: "#/components/schemas/RaizAgentIntegrationSkillInput"
110343
+ $ref: "#/components/schemas/RaizAgentIntegrationProcedureInput"
109239
110344
  }
109240
110345
  },
109241
110346
  model: {
@@ -109266,6 +110371,14 @@ var schemaComponents = {
109266
110371
  }
109267
110372
  ]
109268
110373
  },
110374
+ procedures: {
110375
+ description: "The Agent's procedures, as a complete set: a procedure left out is removed. Keep each existing procedure's `id`; a new one may omit it.",
110376
+ maxItems: 64,
110377
+ type: "array",
110378
+ items: {
110379
+ $ref: "#/components/schemas/RaizAgentProcedureInput"
110380
+ }
110381
+ },
109269
110382
  reasoningEffort: {
109270
110383
  anyOf: [
109271
110384
  {
@@ -109297,14 +110410,6 @@ var schemaComponents = {
109297
110410
  type: "null"
109298
110411
  }
109299
110412
  ]
109300
- },
109301
- skills: {
109302
- maxItems: 32,
109303
- description: "Text-only procedures and references loaded on demand. Names and resource paths must be unique; the complete set is limited to 256 KiB. In an update, this replaces the whole set. Skills never grant additional business tools or execute scripts.",
109304
- type: "array",
109305
- items: {
109306
- $ref: "#/components/schemas/RaizAgentSkill"
109307
- }
109308
110413
  }
109309
110414
  }
109310
110415
  },
@@ -111199,13 +112304,6 @@ var schemaComponents = {
111199
112304
  },
111200
112305
  SaludTotalAffiliationsLookupInput: {
111201
112306
  additionalProperties: false,
111202
- examples: [
111203
- {
111204
- connectionId: "con_00000000000000000000000000",
111205
- documentType: "CC",
111206
- documentNumber: "000000"
111207
- }
111208
- ],
111209
112307
  type: "object",
111210
112308
  required: [
111211
112309
  "connectionId",
@@ -111276,15 +112374,7 @@ var schemaComponents = {
111276
112374
  description: "One local calendar day; the request never traverses an open-ended date range.",
111277
112375
  type: "string"
111278
112376
  }
111279
- },
111280
- examples: [
111281
- {
111282
- connectionId: "con_00000000000000000000000000",
111283
- documentType: "CC",
111284
- documentNumber: "000000",
111285
- day: "2026-09-01"
111286
- }
111287
- ]
112377
+ }
111288
112378
  },
111289
112379
  SaludTotalFilingsLookupInput: {
111290
112380
  additionalProperties: false,
@@ -111332,15 +112422,7 @@ var schemaComponents = {
111332
112422
  description: "One local calendar day; the request never traverses an open-ended date range.",
111333
112423
  type: "string"
111334
112424
  }
111335
- },
111336
- examples: [
111337
- {
111338
- connectionId: "con_00000000000000000000000000",
111339
- documentType: "CC",
111340
- documentNumber: "000000",
111341
- day: "2026-09-01"
111342
- }
111343
- ]
112425
+ }
111344
112426
  },
111345
112427
  SaludTotalInvoicesLookupInput: {
111346
112428
  additionalProperties: false,
@@ -111365,14 +112447,7 @@ var schemaComponents = {
111365
112447
  "x-sensitive": true,
111366
112448
  type: "string"
111367
112449
  }
111368
- },
111369
- examples: [
111370
- {
111371
- connectionId: "con_00000000000000000000000000",
111372
- prefix: "SAMPLE",
111373
- invoiceNumber: "000001"
111374
- }
111375
- ]
112450
+ }
111376
112451
  },
111377
112452
  SaludTotalNoticesCountInput: {
111378
112453
  type: "object",
@@ -111388,320 +112463,6 @@ var schemaComponents = {
111388
112463
  ],
111389
112464
  additionalProperties: false
111390
112465
  },
111391
- SaludTotalSamplesListInput: {
111392
- type: "object",
111393
- properties: {
111394
- cursor: {
111395
- description: "Opaque cursor returned by pageInfo; omit it to request the first page.",
111396
- type: "string"
111397
- },
111398
- direction: {
111399
- description: "Direction to traverse the stable keyset ordering from the supplied cursor.",
111400
- anyOf: [
111401
- {
111402
- const: "forward",
111403
- type: "string"
111404
- },
111405
- {
111406
- const: "backward",
111407
- type: "string"
111408
- }
111409
- ],
111410
- default: "forward"
111411
- },
111412
- limit: {
111413
- minimum: 1,
111414
- maximum: 100,
111415
- description: "Maximum items returned in one page. Defaults to 25; larger reads require another cursor.",
111416
- type: "integer",
111417
- default: 25
111418
- },
111419
- resource: {
111420
- anyOf: [
111421
- {
111422
- const: "affiliations",
111423
- type: "string"
111424
- },
111425
- {
111426
- const: "authorizations",
111427
- type: "string"
111428
- },
111429
- {
111430
- const: "filings",
111431
- type: "string"
111432
- },
111433
- {
111434
- const: "invoices",
111435
- type: "string"
111436
- }
111437
- ],
111438
- description: "The resource."
111439
- },
111440
- status: {
111441
- minLength: 1,
111442
- maxLength: 40,
111443
- description: "Exact response status, for example no_match, member_no_match or no_records.",
111444
- type: "string"
111445
- }
111446
- },
111447
- additionalProperties: false
111448
- },
111449
- SaludTotalWorkflowPreviewsGetInput: {
111450
- type: "object",
111451
- properties: {
111452
- workflow: {
111453
- description: "IPS workflow, for example affiliation, authorization, filing or billing. Earlier Spanish identifiers are also accepted.",
111454
- anyOf: [
111455
- {
111456
- anyOf: [
111457
- {
111458
- const: "affiliation",
111459
- type: "string"
111460
- },
111461
- {
111462
- const: "clarification",
111463
- type: "string"
111464
- },
111465
- {
111466
- const: "authorization",
111467
- type: "string"
111468
- },
111469
- {
111470
- const: "filing",
111471
- type: "string"
111472
- },
111473
- {
111474
- const: "tracking",
111475
- type: "string"
111476
- },
111477
- {
111478
- const: "billing",
111479
- type: "string"
111480
- },
111481
- {
111482
- const: "objections",
111483
- type: "string"
111484
- },
111485
- {
111486
- const: "routing",
111487
- type: "string"
111488
- },
111489
- {
111490
- const: "referrals",
111491
- type: "string"
111492
- },
111493
- {
111494
- const: "scheduling",
111495
- type: "string"
111496
- },
111497
- {
111498
- const: "rips",
111499
- type: "string"
111500
- },
111501
- {
111502
- const: "mipres",
111503
- type: "string"
111504
- },
111505
- {
111506
- const: "diagnostics",
111507
- type: "string"
111508
- }
111509
- ]
111510
- },
111511
- {
111512
- anyOf: [
111513
- {
111514
- const: "afiliacion",
111515
- type: "string"
111516
- },
111517
- {
111518
- const: "aclaracion",
111519
- type: "string"
111520
- },
111521
- {
111522
- const: "autorizacion",
111523
- type: "string"
111524
- },
111525
- {
111526
- const: "radicacion",
111527
- type: "string"
111528
- },
111529
- {
111530
- const: "seguimiento",
111531
- type: "string"
111532
- },
111533
- {
111534
- const: "facturacion",
111535
- type: "string"
111536
- },
111537
- {
111538
- const: "glosas",
111539
- type: "string"
111540
- },
111541
- {
111542
- const: "direccionamiento",
111543
- type: "string"
111544
- },
111545
- {
111546
- const: "remisiones",
111547
- type: "string"
111548
- },
111549
- {
111550
- const: "programaciones",
111551
- type: "string"
111552
- },
111553
- {
111554
- const: "rips",
111555
- type: "string"
111556
- },
111557
- {
111558
- const: "mipres",
111559
- type: "string"
111560
- },
111561
- {
111562
- const: "diagnostico",
111563
- type: "string"
111564
- }
111565
- ]
111566
- }
111567
- ]
111568
- },
111569
- scenario: {
111570
- default: "normal",
111571
- description: "Synthetic outcome, for example no_match, missing_attachment, session_expired or response_lost.",
111572
- anyOf: [
111573
- {
111574
- anyOf: [
111575
- {
111576
- const: "normal",
111577
- type: "string"
111578
- },
111579
- {
111580
- const: "no_match",
111581
- type: "string"
111582
- },
111583
- {
111584
- const: "ambiguous",
111585
- type: "string"
111586
- },
111587
- {
111588
- const: "forbidden",
111589
- type: "string"
111590
- },
111591
- {
111592
- const: "session_expired",
111593
- type: "string"
111594
- },
111595
- {
111596
- const: "missing_attachment",
111597
- type: "string"
111598
- },
111599
- {
111600
- const: "response_lost",
111601
- type: "string"
111602
- },
111603
- {
111604
- const: "interactive_challenge",
111605
- type: "string"
111606
- },
111607
- {
111608
- const: "connection_inactive",
111609
- type: "string"
111610
- },
111611
- {
111612
- const: "credentials_rejected",
111613
- type: "string"
111614
- }
111615
- ]
111616
- },
111617
- {
111618
- default: "normal",
111619
- anyOf: [
111620
- {
111621
- const: "normal",
111622
- type: "string"
111623
- },
111624
- {
111625
- const: "sin_registro",
111626
- type: "string"
111627
- },
111628
- {
111629
- const: "ambiguo",
111630
- type: "string"
111631
- },
111632
- {
111633
- const: "sin_permiso",
111634
- type: "string"
111635
- },
111636
- {
111637
- const: "sesion_expirada",
111638
- type: "string"
111639
- },
111640
- {
111641
- const: "falta_soporte",
111642
- type: "string"
111643
- },
111644
- {
111645
- const: "respuesta_perdida",
111646
- type: "string"
111647
- },
111648
- {
111649
- const: "desafio_interactivo",
111650
- type: "string"
111651
- },
111652
- {
111653
- const: "conexion_inactiva",
111654
- type: "string"
111655
- },
111656
- {
111657
- const: "credencial_rechazada",
111658
- type: "string"
111659
- }
111660
- ]
111661
- }
111662
- ]
111663
- },
111664
- stage: {
111665
- description: "Step that loses its response in a filing simulation. With filing and response_lost, the default is association.",
111666
- anyOf: [
111667
- {
111668
- const: "first_attachment",
111669
- type: "string"
111670
- },
111671
- {
111672
- const: "next_attachment",
111673
- type: "string"
111674
- },
111675
- {
111676
- const: "request_creation",
111677
- type: "string"
111678
- },
111679
- {
111680
- const: "association",
111681
- type: "string"
111682
- }
111683
- ]
111684
- },
111685
- view: {
111686
- default: "brief",
111687
- anyOf: [
111688
- {
111689
- const: "brief",
111690
- type: "string"
111691
- },
111692
- {
111693
- const: "trace",
111694
- type: "string"
111695
- }
111696
- ],
111697
- description: "The view."
111698
- }
111699
- },
111700
- required: [
111701
- "workflow"
111702
- ],
111703
- additionalProperties: false
111704
- },
111705
112466
  SomosAppointmentsCreateInput: {
111706
112467
  $schema: "https://json-schema.org/draft/2020-12/schema",
111707
112468
  additionalProperties: false,
@@ -115350,9 +116111,9 @@ var schemaComponents = {
115350
116111
  // src/generated/generation.json
115351
116112
  var generation_default = {
115352
116113
  formatVersion: 6,
115353
- release: "1.20261031.230532",
115354
- openapiSha256: "7203ba8ab509bffd374d903a5dc163735f772ad42cfebdf1078d18c2a215eb60",
115355
- openapiContentSha256: "f72c7d8c774ddc0ab035464dceb9bc8f11968114f4a6efd76d2205f271f76c4b",
116114
+ release: "1.20261031.232616",
116115
+ openapiSha256: "b59648fb5a125fe67b0e5f285fbce8edced6851dab817b00807f1991eb40c314",
116116
+ openapiContentSha256: "c278178a1672b31209b7ed57864896029959c7988f99d6d3adfc5256fd2990a6",
115356
116117
  forge: {
115357
116118
  repository: "https://github.com/cloudflare/forge",
115358
116119
  commit: "7f86447210b7bea3779bfdab3cd5655eade0eadb",
@@ -115365,7 +116126,7 @@ var generation_default = {
115365
116126
  outputs: [
115366
116127
  {
115367
116128
  path: "src/generated/commands.ts",
115368
- sha256: "83d3b2ed72a23a45cfb443d2808e3035b74170def90e86a580ce4c50a12bdb5b"
116129
+ sha256: "813c3136796b047fefcbfbeb386d2a7989a0168a64b48f9479f416e7d026568b"
115369
116130
  }
115370
116131
  ]
115371
116132
  };
@@ -115720,7 +116481,7 @@ ${name}`);
115720
116481
  }
115721
116482
 
115722
116483
  // src/index.ts
115723
- var VERSION = "3.12.0";
116484
+ var VERSION = "3.14.0";
115724
116485
  var RELEASE = generation_default.release;
115725
116486
  var SDK_PATHS = new Map(Object.values(commands).map((command) => [command.operation, command.sdkPath]));
115726
116487
  var SERVICES = [...new Set(Object.keys(commands).map((name) => name.split(" ")[0]))].toSorted();