Herramientas de Puerta de Decisión MCP
Descargar: tooling.json (326 KB) Descargar: openapi/decision-gate.json (408 KB)
Páginas de detalles de herramientas
scenario_define- Registrar un ScenarioSpec, validarlo y devolver el hash canónico utilizado para las verificaciones de integridad.scenario_start- Crear un nuevo estado de ejecución para un escenario y, opcionalmente, emitir paquetes de entrada.scenario_status- Obtén una instantánea de ejecución de solo lectura y un resumen seguro sin cambiar el estado.scenario_next- Evaluar puertas en respuesta a una solicitud siguiente impulsada por un agente.scenario_submit- Enviar artefactos externos al estado de ejecución para auditoría y evaluación posterior.scenario_trigger- Enviar un evento de activación (programador/externo) y evaluar la ejecución.evidence_query- Consultar a un proveedor de evidencia con el contexto completo de ejecución y la política de divulgación.runpack_export- Exportar artefactos de runpack deterministas para verificación offline.runpack_verify- Verificar un manifiesto de runpack y artefactos sin conexión.providers_list- Lista de proveedores de evidencia registrados y resumen de capacidades.provider_contract_get- Obtener el JSON del contrato del proveedor canónico y el hash para un proveedor.provider_check_schema_get- Obtener detalles del esquema de verificación (parámetros/resultados/comparadores) para un proveedor.schemas_register- Registrar un esquema de forma de datos para un inquilino y un espacio de nombres.schemas_list- Lista de formas de datos registradas para un inquilino y un espacio de nombres.schemas_get- Recuperar una forma de datos específica por identificador y versión.scenarios_list- Lista de escenarios registrados para un inquilino y un espacio de nombres.precheck- Evaluar un escenario contra datos afirmados sin mutar el estado.decision_gate_docs_search- Buscar documentación de Decision Gate para orientación en tiempo de ejecución.typed_providers_import- Importar OpenAPI en artefactos de proveedores tipados y registrar una versión de perfil.typed_providers_register- Registrar el contrato de proveedor tipado preconstruido + artefactos de perfil de tiempo de ejecución.typed_providers_list- Lista de catálogos de ciclo de vida de proveedores tipados y versiones registradas.typed_providers_get- Obtener artefactos de proveedores tipados + metadatos del ciclo de vida para una versión.typed_providers_activate- Activar una versión del ciclo de vida de un proveedor tipado.typed_providers_deprecate- Descontinuar una versión del ciclo de vida de un proveedor tipado, con retroceso activo opcional.
Este documento resume la superficie de la herramienta MCP y el uso esperado. Los esquemas completos están en tooling.json, con los esquemas de soporte en schemas/ y ejemplos en examples/.
Inicio rápido del ciclo de vida
scenario_defineregistra y valida un ScenarioSpec.scenario_startcrea una ejecución y opcionalmente emite paquetes de entrada.scenario_nextavanza una ejecución impulsada por un agente;scenario_triggeravanza el tiempo/disparadores externos.scenario_statusconsulta el estado de ejecución sin mutarlo.scenario_submitañade artefactos externos para auditoría y verificaciones posteriores.runpack_exportyrunpack_verifyadmiten verificación fuera de línea.
Referencias de artefactos
authoring.md: formatos de autoría y guía de normalización.[scenario.json](/downloads/decision-gate/examples/scenario.json): ejemplo completo de ScenarioSpec.examples/scenario.ron: ejemplo de ScenarioSpec amigable para la autoría.[run-config.json](/downloads/decision-gate/examples/run-config.json): ejemplo de configuración de ejecución para scenario_start.[decision-gate.toml](/downloads/decision-gate/examples/decision-gate.toml): ejemplo de configuración de MCP para proveedores.
| Herramienta | Descripción |
|---|---|
| scenario_define | Registrar un ScenarioSpec, validarlo y devolver el hash canónico utilizado para las verificaciones de integridad. |
| scenario_start | Crear un nuevo estado de ejecución para un escenario y, opcionalmente, emitir paquetes de entrada. |
| scenario_status | Obtener una instantánea de ejecución de solo lectura y un resumen seguro sin cambiar el estado. |
| scenario_next | Evaluar puertas en respuesta a una solicitud de siguiente impulsada por un agente. |
| scenario_submit | Presentar artefactos externos en el estado de ejecución para auditoría y evaluación posterior. |
| scenario_trigger | Presentar un evento de activación (programador/externo) y evaluar la ejecución. |
| evidence_query | Consultar a un proveedor de evidencia con el contexto completo de ejecución y la política de divulgación. |
| runpack_export | Exportar artefactos de runpack deterministas para verificación fuera de línea. |
| runpack_verify | Verificar un manifiesto de runpack y artefactos fuera de línea. |
| providers_list | Listar proveedores de evidencia registrados y resumen de capacidades. |
| provider_contract_get | Obtener el JSON del contrato canónico del proveedor y el hash para un proveedor. |
| provider_check_schema_get | Obtener detalles del esquema de verificación (parámetros/resultados/comparadores) para un proveedor. |
| schemas_register | Registrar un esquema de forma de datos para un inquilino y un espacio de nombres. |
| schemas_list | Listar formas de datos registradas para un inquilino y un espacio de nombres. |
| schemas_get | Obtener una forma de datos específica por identificador y versión. |
| scenarios_list | Listar escenarios registrados para un inquilino y un espacio de nombres. |
| precheck | Evaluar un escenario contra datos afirmados sin mutar el estado. |
| decision_gate_docs_search | Buscar documentación de Decision Gate para orientación en tiempo de ejecución. |
| typed_providers_import | Importar OpenAPI en artefactos de proveedor tipado y registrar una versión de perfil. |
| typed_providers_register | Registrar contrato de proveedor tipado preconstruido + artefactos de perfil en tiempo de ejecución. |
| typed_providers_list | Listar catálogos del ciclo de vida del proveedor tipado y versiones registradas. |
| typed_providers_get | Obtener artefactos de proveedor tipado + metadatos del ciclo de vida para una versión. |
| typed_providers_activate | Activar una versión del ciclo de vida del proveedor tipado. |
| typed_providers_deprecate | Declarar obsoleta una versión del ciclo de vida del proveedor tipado, con retroceso activo opcional. |
escenario_definir
Registra un ScenarioSpec, valídalo y devuelve el hash canónico utilizado para las verificaciones de integridad.
Entradas
- spec (requerido): Especificación del escenario a registrar.
Salidas
- scenario_id (requerido): Identificador del escenario.
- spec_hash (requerido): Tipo: object.
Notas
- Usar antes de comenzar las ejecuciones; scenario_id se convierte en el identificador estable para llamadas posteriores.
- Valida los IDs de etapa/puerta/condición, los árboles RET y las referencias de condición.
- El hash de especificación es determinista; guárdalo para auditoría e integridad de descompresión.
- Falla al cerrarse en especificaciones inválidas o IDs de escenario duplicados.
Ejemplo
Registra la especificación del escenario de ejemplo.
Entrada:
{
"spec": {
"conditions": [
{
"comparator": "equals",
"condition_id": "env_is_prod",
"expected": "production",
"policy_tags": [],
"query": {
"check_id": "get",
"params": {
"key": "DEPLOY_ENV"
},
"provider_id": "env"
}
},
{
"comparator": "equals",
"condition_id": "after_freeze",
"expected": true,
"policy_tags": [],
"query": {
"check_id": "after",
"params": {
"timestamp": 1710000000000
},
"provider_id": "time"
}
}
],
"default_tenant_id": null,
"namespace_id": 1,
"policies": [],
"scenario_id": "example-scenario",
"schemas": [],
"spec_version": "v1",
"stages": [
{
"advance_to": {
"kind": "terminal"
},
"entry_packets": [
{
"content_type": "application/json",
"expiry": null,
"packet_id": "packet-hello",
"payload": {
"kind": "json",
"value": {
"message": "hello",
"purpose": "scenario entry packet"
}
},
"policy_tags": [],
"schema_id": "schema-hello",
"visibility_labels": [
"public"
]
}
],
"gates": [
{
"gate_id": "env_gate",
"requirement": {
"Condition": "env_is_prod"
}
},
{
"gate_id": "time_gate",
"requirement": {
"Condition": "after_freeze"
}
}
],
"on_timeout": "fail",
"stage_id": "main",
"timeout": null
}
]
}
}
Output:
{
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
}
iniciodelescenario
Crea un nuevo estado de ejecución para un escenario y opcionalmente emite paquetes de entrada.
Entradas
- issue_entry_packets (required): Emita paquetes de entrada de inmediato.
- run_config (requerido): Configuración de ejecución y destinos de despacho.
- scenario_id (requerido): Identificador del escenario.
- started_at (requerido): Marca de tiempo de inicio de ejecución proporcionada por el llamador.
Salidas
- current_stage_id (required): Identificador de la etapa actual.
- decisiones (requerido): Tipo: array.
- dispatch_targets (requerido): Tipo: array.
- gate_evals (requerido): Tipo: array.
- namespace_id (requerido): Identificador de espacio de nombres.
- paquetes (requerido): Tipo: array.
- run_id (requerido): Identificador de ejecución.
- scenario_id (requerido): Identificador del escenario.
- spec_hash (requerido): Tipo: object.
stage_entered_at(requerido): Uno de: objeto, objeto.- estado (requerido): Tipo: string.
- envíos (requerido): Tipo: array.
- tenant_id (required): Identificador del inquilino.
- tool_calls (requerido): Tipo: array.
- triggers (requerido): Tipo: array.
Notas
- Requiere RunConfig (tenant_id, run_id, scenario_id, dispatch_targets).
- Utilice started_at para registrar la marca de tiempo de inicio proporcionada por el llamador.
- Si issue_entry_packets es verdadero, los paquetes de entrada se divulgan inmediatamente.
- Falla cerrada si run_id ya existe o scenario_id es unknown.
Ejemplo
Inicie una ejecución para el escenario de ejemplo y emita paquetes de entrada.
Entrada:
{
"issue_entry_packets": true,
"run_config": {
"dispatch_targets": [
{
"agent_id": "agent-alpha",
"kind": "agent"
}
],
"namespace_id": 1,
"policy_tags": [],
"run_id": "run-0001",
"scenario_id": "example-scenario",
"tenant_id": 1
},
"scenario_id": "example-scenario",
"started_at": {
"kind": "unix_millis",
"value": 1710000000000
}
}
Output:
{
"current_stage_id": "main",
"decisions": [],
"dispatch_targets": [
{
"agent_id": "agent-alpha",
"kind": "agent"
}
],
"gate_evals": [],
"namespace_id": 1,
"packets": [],
"run_id": "run-0001",
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"stage_entered_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"status": "active",
"submissions": [],
"tenant_id": 1,
"tool_calls": [],
"triggers": []
}
estadodelescenario
Obtén una instantánea de ejecución de solo lectura y un resumen seguro sin cambiar el estado.
Entradas
- request (required): Carga útil de solicitud de estado.
- scenario_id (requerido): Identificador del escenario.
Salidas
- current_stage_id (required): Identificador de la etapa actual.
- issued_packet_ids (requerido): Tipo: array.
last_decision(requerido, nullable): Uno de: null, objeto.- namespace_id (opcional): Identificador de espacio de nombres.
- run_id (requerido): Identificador de ejecución.
safe_summary(requerido, nullable): Uno de: null, objeto.- scenario_id (requerido): Identificador del escenario.
- estado (requerido): Tipo: string.
Notas
- Usar para encuestas o estado de UI; no evalúa puertas.
- Los resúmenes seguros omiten los valores de evidencia y pueden incluir sugerencias de reintento.
- Devuelve los IDs de paquetes emitidos para ayudar a rastrear divulgaciones.
Ejemplo
Estado de ejecución de la encuesta sin avanzar la ejecución.
Entrada:
{
"request": {
"correlation_id": null,
"namespace_id": 1,
"requested_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"run_id": "run-0001",
"tenant_id": 1
},
"scenario_id": "example-scenario"
}
Output:
{
"current_stage_id": "main",
"issued_packet_ids": [],
"last_decision": null,
"run_id": "run-0001",
"safe_summary": null,
"scenario_id": "example-scenario",
"status": "active"
}
escenario_siguiente
Evalúa las puertas en respuesta a una solicitud siguiente impulsada por un agente.
Entradas
feedback(opcional, nulo): Nivel de retroalimentación opcional para el escenario_siguiente.- request (required): Siguiente carga útil de solicitud de un agente.
- scenario_id (requerido): Identificador del escenario.
Salidas
- decisión (requerido): Tipo: object.
feedback(opcional, nullable): Uno de: null, objeto.- paquetes (requerido): Tipo: array.
- estado (requerido): Tipo: string.
Notas
- Idempotente por trigger_id; las llamadas repetidas devuelven la misma decisión.
- Registra decisiones, evidencia y divulgaciones de paquetes en estado de ejecución.
- Requiere una ejecución activa; las ejecuciones completadas o fallidas no avanzan.
- La retroalimentación opcional puede incluir el rastro de la puerta o evidencia cuando lo permita la política de retroalimentación del servidor.
Ejemplo
Ejemplo 1: Evalúe el siguiente paso impulsado por el agente para una ejecución.
Entrada:
{
"request": {
"agent_id": "agent-alpha",
"correlation_id": null,
"namespace_id": 1,
"run_id": "run-0001",
"tenant_id": 1,
"time": {
"kind": "unix_millis",
"value": 1710000000000
},
"trigger_id": "trigger-0001"
},
"scenario_id": "example-scenario"
}
Output:
{
"decision": {
"correlation_id": null,
"decided_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"decision_id": "decision-0001",
"outcome": {
"kind": "complete",
"stage_id": "main"
},
"seq": 0,
"stage_id": "main",
"trigger_id": "trigger-0001"
},
"packets": [],
"status": "completed"
}
Ejemplo 2: Evalúe una ejecución y solicite comentarios sobre el seguimiento.
Entrada:
{
"feedback": "trace",
"request": {
"agent_id": "agent-alpha",
"correlation_id": null,
"namespace_id": 1,
"run_id": "run-0001",
"tenant_id": 1,
"time": {
"kind": "unix_millis",
"value": 1710000000000
},
"trigger_id": "trigger-0001"
},
"scenario_id": "example-scenario"
}
Output:
{
"decision": {
"correlation_id": null,
"decided_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"decision_id": "decision-0001",
"outcome": {
"kind": "complete",
"stage_id": "main"
},
"seq": 0,
"stage_id": "main",
"trigger_id": "trigger-0001"
},
"feedback": {
"gate_evaluations": [],
"level": "trace"
},
"packets": [],
"status": "completed"
}
escenario_enviar
Enviar artefactos externos al estado de ejecución para auditoría y evaluación posterior.
Entradas
- request (requerido): Carga útil de envío y metadatos.
- scenario_id (requerido): Identificador del escenario.
Salidas
- registro (requerido): Tipo: object.
Notas
- La carga útil se hash y se almacena como un registro de envío.
- La carga útil se persiste en los registros de estado de ejecución/runpack; no envíe secretos en bruto.
- No avanza la ejecución por sí mismo.
- Utilice para los artefactos el modelo o el operador proporciona.
Ejemplo
Enviar un artefacto externo para auditoría y evaluación posterior.
Entrada:
{
"request": {
"content_type": "application/json",
"correlation_id": null,
"namespace_id": 1,
"payload": {
"kind": "json",
"value": {
"artifact": "attestation",
"status": "approved"
}
},
"run_id": "run-0001",
"submission_id": "submission-0001",
"submitted_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"tenant_id": 1
},
"scenario_id": "example-scenario"
}
Output:
{
"record": {
"content_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"content_type": "application/json",
"correlation_id": null,
"payload": {
"kind": "json",
"value": {
"artifact": "attestation",
"status": "approved"
}
},
"run_id": "run-0001",
"submission_id": "submission-0001",
"submitted_at": {
"kind": "unix_millis",
"value": 1710000000000
}
}
}
escenario_disparador
Envía un evento de activación (programador/externo) y evalúa la ejecución.
Entradas
- scenario_id (requerido): Identificador del escenario.
- trigger (requerido): Carga útil del evento de activación.
Salidas
- decisión (requerido): Tipo: object.
- paquetes (requerido): Tipo: array.
- estado (requerido): Tipo: string.
Notas
- El tiempo de activación es proporcionado por el llamador; no se leen relojes de pared.
- Registra el evento desencadenante y la decisión resultante.
- La carga útil se persiste en los registros de estado de ejecución/runpack; no envíe secretos en bruto.
- Usar para desencadenadores basados en el tiempo o en sistemas externos.
Ejemplo
Avance una ejecución desde un programador o un desencadenador externo.
Entrada:
{
"scenario_id": "example-scenario",
"trigger": {
"correlation_id": null,
"kind": "tick",
"namespace_id": 1,
"payload": null,
"run_id": "run-0001",
"source_id": "scheduler-01",
"tenant_id": 1,
"time": {
"kind": "unix_millis",
"value": 1710000000000
},
"trigger_id": "trigger-0001"
}
}
Output:
{
"decision": {
"correlation_id": null,
"decided_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"decision_id": "decision-0001",
"outcome": {
"kind": "complete",
"stage_id": "main"
},
"seq": 0,
"stage_id": "main",
"trigger_id": "trigger-0001"
},
"packets": [],
"status": "completed"
}
consultadeevidencia
Consulta a un proveedor de evidencia con el contexto completo de ejecución y la política de divulgación.
Entradas
- contexto (requerido): Contexto de evidencia utilizado para la evaluación.
- query (required): Carga útil de consulta de evidencia.
Salidas
- resultado (requerido): Tipo: object.
Notas
- La política de divulgación puede redactar valores en bruto; hashes/anclas aún se devuelven.
- Utilizar para diagnósticos o verificaciones previas al vuelo; el tiempo de ejecución utiliza la misma lógica del proveedor.
- Requiere provider_id, check_id y EvidenceContext completo.
Ejemplo
Consulta a un proveedor de evidencia utilizando el contexto de ejecución.
Entrada:
{
"context": {
"correlation_id": null,
"namespace_id": 1,
"run_id": "run-0001",
"scenario_id": "example-scenario",
"stage_id": "main",
"tenant_id": 1,
"trigger_id": "trigger-0001",
"trigger_time": {
"kind": "unix_millis",
"value": 1710000000000
}
},
"query": {
"check_id": "get",
"params": {
"key": "DEPLOY_ENV"
},
"provider_id": "env"
}
}
Output:
{
"result": {
"content_type": "text/plain",
"error": null,
"evidence_anchor": {
"anchor_type": "env",
"anchor_value": "DEPLOY_ENV"
},
"evidence_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"evidence_ref": null,
"lane": "verified",
"signature": null,
"value": {
"kind": "json",
"value": "production"
}
}
}
runpack_export
Exportar artefactos de runpack deterministas para verificación offline.
Entradas
- generated_at (requerido): Marca de tiempo registrada en el manifiesto.
- include_verification (requerido): Generar un artefacto de informe de verificación.
manifest_name(opcional, nullable): Sobrescritura opcional para el nombre del archivo de manifiesto.- namespace_id (requerido): Identificador de espacio de nombres.
output_dir(opcional, anulable): Directorio de salida opcional (requerido para la exportación del sistema de archivos).- run_id (requerido): Identificador de ejecución.
- scenario_id (requerido): Identificador del escenario.
- tenant_id (required): Identificador del inquilino.
Salidas
- manifest (requerido): Tipo: object.
report(requerido, nullable): Uno de: null, objeto.storage_uri(opcional, anulable): URI de almacenamiento opcional para backends de almacenamiento de runpack gestionados.
Notas
- Escribe el manifiesto y los registros en output_dir; generated_at se registra en el manifiesto.
- include_verification agrega un artefacto de informe de verificación.
- El informe de tiempo de exportación .checked_files excluye verifier_report.json; la verificación offline de runpack_verify incluye este archivo (+1 para el mismo runpack).
- Utilice después de que las ejecuciones se completen o para instantáneas de auditoría.
Ejemplo
Exportar un runpack con metadatos de manifiesto.
Entrada:
{
"generated_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"include_verification": false,
"manifest_name": "manifest.json",
"namespace_id": 1,
"output_dir": "/var/lib/decision-gate/runpacks/run-0001",
"run_id": "run-0001",
"scenario_id": "example-scenario",
"tenant_id": 1
}
Output:
{
"manifest": {
"artifacts": [
{
"artifact_id": "decision_log",
"content_type": "application/json",
"hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"kind": "decision_log",
"path": "decision_log.json",
"required": true
}
],
"generated_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"hash_algorithm": "sha256",
"integrity": {
"file_hashes": [
{
"hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"path": "decision_log.json"
}
],
"root_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
},
"manifest_version": "v1",
"namespace_id": 1,
"run_id": "run-0001",
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"tenant_id": 1,
"verifier_mode": "offline_strict"
},
"report": null,
"storage_uri": null
}
runpack_verify
Verifique un manifiesto de runpack y artefactos sin conexión.
Entradas
- manifest_path (requerido): Ruta del manifiesto relativa a la raíz de runpack.
- runpack_dir (requerido): Directorio raíz de Runpack.
Salidas
- informe (requerido): Tipo: object.
- estado (requerido): Estado de verificación de Runpack.
Notas
- Valida hashes, raíz de integridad y estructura del registro de decisiones.
- Falla al cerrarse en archivos faltantes o manipulados.
- Usar en CI o en auditorías fuera de línea.
Ejemplo
Verifique un manifiesto de runpack y artefactos sin conexión.
Entrada:
{
"manifest_path": "manifest.json",
"runpack_dir": "/var/lib/decision-gate/runpacks/run-0001"
}
Output:
{
"report": {
"checked_files": 12,
"errors": [],
"status": "pass"
},
"status": "pass"
}
providers_list
Lista de proveedores de evidencia registrados y resumen de capacidades.
Entradas
Salidas
- proveedores (requerido): Tipo: array.
Notas
- Devuelve identificadores de proveedores y metadatos de transporte.
- Los resultados están limitados por la política de autenticación.
Ejemplo
Listar proveedores de evidencia registrados.
Entrada:
{}
Output:
{
"providers": [
{
"checks": [
"get"
],
"provider_id": "env",
"transport": "builtin"
}
]
}
providercontractget
Obtén el JSON del contrato del proveedor canónico y el hash para un proveedor.
Entradas
- provider_id (required): Identificador del proveedor.
Salidas
- contrato (requerido): Tipo: object.
- contract_hash (requerido): Tipo: object.
- provider_id (required): Identificador del proveedor.
- source (required): Origen de la fuente del contrato.
version(requerido, nullable): Etiqueta de versión de contrato opcional.
Notas
- Devuelve el contrato del proveedor tal como lo carga el servidor MCP.
- Incluye un hash canónico para auditoría y reproducibilidad.
- Sujeto a la política de divulgación del proveedor y autorización.
Ejemplo
Obtén el JSON del contrato para un proveedor.
Entrada:
{
"provider_id": "json"
}
Output:
{
"contract": {
"checks": [],
"config_schema": {
"additionalProperties": false,
"type": "object"
},
"description": "Reads JSON or YAML files and evaluates JSONPath.",
"name": "JSON Provider",
"notes": [],
"provider_id": "json",
"transport": "builtin"
},
"contract_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"provider_id": "json",
"source": "builtin",
"version": null
}
providercheckschema_get
Obtener detalles del esquema de verificación (parámetros/resultados/comparadores) para un proveedor.
Entradas
- check_id (required): Identificador de verificación del proveedor.
- provider_id (required): Identificador del proveedor.
Salidas
- allowed_comparators (requerido): Lista de permitidos de comparadores para esta verificación.
- anchor_types (requerido): Tipos de anclaje emitidos por esta verificación.
- check_id (required): Identificador de verificación.
- content_types (requerido): Tipos de contenido para la salida de verificación.
- contract_hash (requerido): Tipo: object.
- determinismo (requerido): Clasificación de determinismo para verificaciones de proveedor.
- ejemplos (requerido): Tipo: array.
- params_required (required): Si se requieren parámetros para esta verificación.
- params_schema (requerido): esquema JSON para verificar parámetros.
- provider_id (required): Identificador del proveedor.
- result_schema (requerido): esquema JSON para el valor del resultado de la verificación.
Notas
- Devuelve metadatos de esquema compilados para una única verificación.
- Incluye listas de permitidos de comparadores y ejemplos de verificación.
- Sujeto a la política de divulgación del proveedor y autorización.
Ejemplo
Obtén detalles del esquema de verificación para un proveedor.
Entrada:
{
"check_id": "path",
"provider_id": "json"
}
Output:
{
"allowed_comparators": [
"equals",
"in_set",
"exists",
"not_exists"
],
"anchor_types": [],
"check_id": "path",
"content_types": [
"application/json"
],
"contract_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"determinism": "external",
"examples": [],
"params_required": true,
"params_schema": {
"properties": {
"file": {
"type": "string"
},
"jsonpath": {
"type": "string"
}
},
"required": [
"file"
],
"type": "object"
},
"provider_id": "json",
"result_schema": {
"type": [
"null",
"string",
"number",
"boolean",
"array",
"object"
]
}
}
schemas_register
Registra un esquema de forma de datos para un inquilino y un espacio de nombres.
Entradas
- registro (requerido): Tipo: object.
Salidas
- registro (requerido): Tipo: object.
Notas
- Los esquemas son inmutables; registrar la misma versión dos veces falla.
- Proporcione created_at para registrar cuándo se creó el esquema.
Ejemplo
Registrar un esquema de forma de datos.
Entrada:
{
"record": {
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
}
Output:
{
"record": {
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
}
listasdeesquemas
Lista de formas de datos registradas para un inquilino y un espacio de nombres.
Entradas
- cursor (opcional, nullable): Uno de: null, string.
- límite (opcional): Número máximo de registros a devolver.
- namespace_id (requerido): Identificador de espacio de nombres.
- tenant_id (required): Identificador del inquilino.
Salidas
- items (requerido): Tipo: array.
- next_token (requerido, nullable): Uno de: null, string.
Notas
- Requiere tenant_id y namespace_id.
- Soporta la paginación a través de cursor + límite.
Ejemplo
Lista las formas de datos para un espacio de nombres.
Entrada:
{
"cursor": null,
"limit": 50,
"namespace_id": 1,
"tenant_id": 1
}
Output:
{
"items": [
{
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
],
"next_token": null
}
schemas_get
Obtén una forma de datos específica por identificador y versión.
Entradas
- namespace_id (requerido): Identificador de espacio de nombres.
- schema_id (requerido): Identificador de forma de datos.
- tenant_id (required): Identificador del inquilino.
- version (requerido): Identificador de versión de la forma de datos.
Salidas
- registro (requerido): Tipo: object.
Notas
- Requiere tenant_id, namespace_id, schema_id y version.
- Falla al cerrarse cuando falta el esquema.
Ejemplo
Obtén una forma de datos por identificador y versión.
Entrada:
{
"namespace_id": 1,
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
Output:
{
"record": {
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
}
listadeescenarios
Lista de escenarios registrados para un inquilino y un espacio de nombres.
Entradas
- cursor (opcional, nullable): Uno de: null, string.
- límite (opcional): Número máximo de registros a devolver.
- namespace_id (requerido): Identificador de espacio de nombres.
- tenant_id (required): Identificador del inquilino.
Salidas
- items (requerido): Tipo: array.
- next_token (requerido, nullable): Uno de: null, string.
Notas
- Requiere tenant_id y namespace_id.
- Devuelve identificadores de escenario y hashes.
Ejemplo
Enumera los escenarios para un espacio de nombres.
Entrada:
{
"cursor": null,
"limit": 50,
"namespace_id": 1,
"tenant_id": 1
}
Output:
{
"items": [
{
"namespace_id": 1,
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
}
],
"next_token": null
}
preverificación
Evalúa un escenario contra datos afirmados sin mutar el estado.
Entradas
- data_shape (requerido): Tipo: object.
- namespace_id (requerido): Identificador de espacio de nombres.
- payload (requerido): Carga de datos afirmada.
scenario_id(opcional, nullable): Uno de: null, string.spec(opcional, nullable): Uno de: null, ref decision-gate://contract/schemas/scenario.schema.json.stage_id(opcional, nullable): Uno de: null, string.- tenant_id (required): Identificador del inquilino.
Salidas
decision(requerido): Uno de: objeto, objeto, objeto, objeto, objeto.- evaluaciones_de_puerta (requerido): Tipo: array.
Notas
- Valida los datos afirmados contra una forma registrada.
- No muta el estado de ejecución; destinado a simulación.
Ejemplo
Prever un escenario con datos afirmados.
Entrada:
{
"data_shape": {
"schema_id": "asserted_payload",
"version": "v1"
},
"namespace_id": 1,
"payload": {
"deploy_env": "production"
},
"scenario_id": "example-scenario",
"spec": null,
"stage_id": null,
"tenant_id": 1
}
Output:
{
"decision": {
"kind": "hold",
"summary": {
"policy_tags": [],
"retry_hint": "await_evidence",
"status": "hold",
"unmet_gates": [
"ready"
]
}
},
"gate_evaluations": []
}
decisiongatedocs_search
Busque la documentación de Decision Gate para obtener orientación en tiempo de ejecución.
Entradas
- max_sections (opcional): Número máximo de secciones a devolver (por defecto 3, límite máximo 10).
- query (required): Consulta de búsqueda para secciones de documentación.
Salidas
- docs_covered (required): Tipo: array.
- secciones (requerido): Tipo: array.
- sugerencias_de_seguimiento (requerido): Indicaciones de seguimiento conscientes del rol.
Notas
- Utilice para búsquedas rápidas sobre el flujo de evidencia, comparadores y semántica del proveedor.
- Devuelve secciones clasificadas con etiquetas de rol y seguimientos sugeridos.
- La búsqueda es determinista y está limitada al catálogo de documentos configurado.
Ejemplo
Busca evidencia de flujo y orientación de carriles de confianza.
Entrada:
{
"max_sections": 2,
"query": "precheck vs live run trust lanes"
}
Output:
{
"docs_covered": [
{
"doc_id": "evidence_flow_and_execution_model",
"doc_role": "reasoning",
"doc_title": "Evidence Flow + Execution Model"
}
],
"sections": [
{
"content": "...",
"doc_id": "evidence_flow_and_execution_model",
"doc_role": "reasoning",
"doc_title": "Evidence Flow + Execution Model",
"heading": "Core Data Flow",
"rank": 0
}
],
"suggested_followups": [
"Refine the query with comparator or provider keywords for targeted guidance."
]
}
typedprovidersimport
Importar OpenAPI en artefactos de proveedor tipados y registrar una versión de perfil.
Entradas
activate(opcional): Activa esta versión después del registro.allow_unsafe_methods(opcional): Permitir métodos HTTP no seguros durante la importación.credential_bindings(requerido): id del esquema de seguridad OpenAPI para metadatos de enlace de credenciales estructuradas (localizador + valor_render). Use {} para importaciones no autenticadas.external_ref_mode(opcional): Política de resolución de $ref externa opcional.max_response_bytes(opcional): Límite de tamaño de respuesta en tiempo de ejecución opcional.media_support_mode(opcional): Modo de soporte de medios opcional.- namespace_id (requerido): Identificador de espacio de nombres.
openapi(requerido): Documento OpenAPI 3.x en formato JSON.openapi_conformance_mode(opcional): Modo de conformidad: estricto bloquea construcciones no soportadas; informes de auditoría sin activación.openapi_semantics_mode(opcional): Anulación opcional del modo de semántica OpenAPI.openapi_source_path(opcional): Ruta de origen opcional utilizada para resolver referencias de archivos locales.operation_allowlist(requerido): Lista de permitidos de operationId explícita para importación estricta.outbound_max_inflight(opcional): Anulación opcional del límite de inflight saliente.provider_id(requerido): Identificador de proveedor tipado.retry_initial_backoff_ms(opcional): Sobrescritura opcional del retroceso inicial de reintento saliente.retry_max_attempts(opcional): Sobrescritura opcional del número máximo de intentos de reintento saliente.retry_max_backoff_ms(opcional): Anulación opcional del tiempo máximo de espera para reintentos salientes.- tenant_id (required): Identificador del inquilino.
timeout_ms(opcional): Sobrescritura opcional del tiempo de espera en milisegundos.version(requerido): Identificador de versión del ciclo de vida.
Salidas
active_version(requerido, nullable): Uno de: null, string.conformance_summary(requerido): Tipo: object.- contract_hash (requerido): Tipo: object.
operation_count(requerido): Tipo: entero.profile_digest(requerido): Tipo: object.provider_id(requerido): Identificador de proveedor tipado.register_outcome(requerido): Resultado del registro del ciclo de vida del perfil tipado.source_digest(requerido): Tipo: objeto.version(requerido): Identificador de versión del ciclo de vida.
Notas
- Requiere los campos de ámbito tenant_id y namespace_id.
- La importación estricta que falla en cerrado requiere una lista de operaciones permitidas explícita.
- Requiere un mapeo explícito de credential_bindings; use {} para importaciones no autenticadas.
- Soporta límites de salida acotados y una política de reintentos para los perfiles de tiempo de ejecución generados.
- Genera artefactos de contrato de proveedor determinista + perfil de tiempo de ejecución.
- Registra metadatos del ciclo de vida y, opcionalmente, activa la versión importada.
Ejemplo
Importar un documento OpenAPI en artefactos tipados.
Entrada:
{
"activate": true,
"allow_unsafe_methods": false,
"credential_bindings": {},
"external_ref_mode": "local_file_only",
"max_response_bytes": 1048576,
"media_support_mode": "json_only",
"namespace_id": 1,
"openapi": {
"openapi": "3.1.0",
"paths": {
"/assets": {
"get": {
"operationId": "listAssets",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"additionalProperties": false,
"properties": {
"items": {
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
}
},
"description": "ok"
}
}
}
}
}
},
"openapi_conformance_mode": "strict",
"openapi_semantics_mode": "auto",
"operation_allowlist": [
"listAssets"
],
"outbound_max_inflight": 32,
"provider_id": "asset_api",
"retry_initial_backoff_ms": 100,
"retry_max_attempts": 3,
"retry_max_backoff_ms": 2000,
"tenant_id": 1,
"timeout_ms": 5000,
"version": "2026-02-17.1"
}
Output:
{
"active_version": "2026-02-17.1",
"conformance_summary": {
"activation_allowed": true,
"import_mode": "strict",
"supported_feature_hits": [
"openapi.version.3_1"
],
"supported_features_covered": 1,
"unsupported_codes": [],
"unsupported_construct_count": 0,
"unsupported_findings": []
},
"contract_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"operation_count": 1,
"profile_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"provider_id": "asset_api",
"register_outcome": "registered",
"source_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"version": "2026-02-17.1"
}
typedprovidersregister
Registrar contrato de proveedor tipado preconstruido + artefactos de perfil de tiempo de ejecución.
Entradas
activate(opcional): Activa esta versión después del registro.- contrato (requerido): Tipo: object.
- namespace_id (requerido): Identificador de espacio de nombres.
provider_id(requerido): Identificador de proveedor tipado.runtime_profile(requerido): Artefacto de perfil de ejecución tipado.- tenant_id (required): Identificador del inquilino.
version(requerido): Identificador de versión del ciclo de vida.
Salidas
active_version(requerido, nullable): Uno de: null, string.- contract_hash (requerido): Tipo: object.
operation_count(requerido): Tipo: entero.profile_digest(requerido): Tipo: object.provider_id(requerido): Identificador de proveedor tipado.register_outcome(requerido): Resultado del registro del ciclo de vida del perfil tipado.source_digest(requerido): Tipo: objeto.version(requerido): Identificador de versión del ciclo de vida.
Notas
- Requiere los campos de ámbito tenant_id y namespace_id.
- Valida la consistencia de la identidad del transportista/proveedor ingresada.
- Valida la integridad del resumen del perfil de tiempo de ejecución antes del registro.
- Registra metadatos del ciclo de vida y, opcionalmente, activa la versión.
Ejemplo
Registrar artefactos de proveedor tipados preconstruidos.
Entrada:
{
"activate": false,
"contract": {
"checks": [],
"config_schema": {
"additionalProperties": false,
"type": "object"
},
"description": "Typed API provider",
"name": "Asset API",
"notes": [],
"provider_id": "asset_api",
"transport": "typed"
},
"namespace_id": 1,
"provider_id": "asset_api",
"runtime_profile": {
"anchors": {
"anchor_type": "typed_request"
},
"operations": [
{
"allowed_status_codes": [
200
],
"auth": {
"alternatives": [
{
"kind": "none"
}
]
},
"bindings": [],
"check_id": "listAssets",
"content_types": [
"application/json"
],
"extraction": {
"kind": "json_body"
},
"method": "GET",
"operation_id": "listAssets",
"target": "https://api.example.com/assets"
}
],
"profile_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"profile_version": "typed-runtime-v4",
"protocol": "openapi_http",
"provider_id": "asset_api",
"security": {
"allow_http": false,
"allow_private_networks": false,
"allowed_hosts": null,
"max_response_bytes": 1048576,
"outbound_max_inflight": 32,
"retry": {
"initial_backoff_ms": 100,
"max_attempts": 3,
"max_backoff_ms": 2000
},
"timeout_ms": 5000
},
"source_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
},
"tenant_id": 1,
"version": "2026-02-17.2"
}
Output:
{
"active_version": null,
"contract_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"operation_count": 1,
"profile_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"provider_id": "asset_api",
"register_outcome": "registered",
"source_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"version": "2026-02-17.2"
}
typedproviderslist
Enumere los catálogos de ciclo de vida del proveedor tipados y las versiones registradas.
Entradas
- cursor (opcional, nullable): Uno de: null, string.
limit(opcional): Número máximo de catálogos de proveedores a devolver.- namespace_id (requerido): Identificador de espacio de nombres.
- tenant_id (required): Identificador del inquilino.
Salidas
- items (requerido): Tipo: array.
- next_token (requerido, nullable): Uno de: null, string.
Notas
- Requiere los campos de ámbito tenant_id y namespace_id.
- Soporta la paginación determinista a través de cursor + límite.
- Los resultados están limitados por la política de divulgación de descubrimiento del proveedor.
Ejemplo
Lista de catálogos del ciclo de vida del proveedor tipado.
Entrada:
{
"cursor": null,
"limit": 50,
"namespace_id": 1,
"tenant_id": 1
}
Output:
{
"items": [
{
"active_version": "2026-02-17.1",
"provider_id": "asset_api",
"versions": [
{
"deprecated": false,
"profile_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"source_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"version": "2026-02-17.1"
}
]
}
],
"next_token": null
}
typedprovidersget
Obtén artefactos de proveedor tipados + metadatos del ciclo de vida para una versión.
Entradas
- namespace_id (requerido): Identificador de espacio de nombres.
observed_profile_digest(opcional, nullable): Observación de digestión de perfil opcional para verificaciones de deriva.observed_source_digest(opcional, nullable): Observación de digestión de fuente opcional para verificaciones de deriva.provider_id(requerido): Identificador de proveedor tipado.- tenant_id (required): Identificador del inquilino.
version(opcional, nullable): Uno de: null, string.
Salidas
active_version(requerido, nullable): Uno de: null, string.catalog_version(requerido): Versión del esquema del catálogo de ciclo de vida tipado.- contrato (requerido): Tipo: object.
drift_status(requerido, nullable): Uno de: null, string.provider_id(requerido): Identificador de proveedor tipado.- registro (requerido): Tipo: object.
runtime_profile(requerido): Artefacto de perfil de ejecución tipado.selected_version(requerido): Versión del ciclo de vida seleccionada.source(requerido): Cómo se registraron los artefactos tipeados.
Notas
- Requiere los campos de ámbito tenant_id y namespace_id.
- Devuelve el contrato del proveedor + perfil de tiempo de ejecución para la versión seleccionada.
- Puede evaluar la desviación del resumen en comparación con los resúmenes de origen/perfil observados.
- Si se omite la versión, se selecciona la versión activa.
Ejemplo
Obtenga artefactos de proveedor escritos y metadatos del ciclo de vida.
Entrada:
{
"namespace_id": 1,
"observed_profile_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"observed_source_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"provider_id": "asset_api",
"tenant_id": 1,
"version": "2026-02-17.1"
}
Output:
{
"active_version": "2026-02-17.1",
"catalog_version": "typed-lifecycle-v1",
"contract": {
"checks": [],
"config_schema": {
"additionalProperties": false,
"type": "object"
},
"description": "Typed API provider",
"name": "Asset API",
"notes": [],
"provider_id": "asset_api",
"transport": "typed"
},
"drift_status": "in_sync",
"provider_id": "asset_api",
"record": {
"deprecated": false,
"profile_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"source_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"version": "2026-02-17.1"
},
"runtime_profile": {
"anchors": {
"anchor_type": "typed_request"
},
"operations": [
{
"allowed_status_codes": [
200
],
"auth": {
"alternatives": [
{
"kind": "none"
}
]
},
"bindings": [],
"check_id": "listAssets",
"content_types": [
"application/json"
],
"extraction": {
"kind": "json_body"
},
"method": "GET",
"operation_id": "listAssets",
"target": "https://api.example.com/assets"
}
],
"profile_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"profile_version": "typed-runtime-v4",
"protocol": "openapi_http",
"provider_id": "asset_api",
"security": {
"allow_http": false,
"allow_private_networks": false,
"allowed_hosts": null,
"max_response_bytes": 1048576,
"outbound_max_inflight": 32,
"retry": {
"initial_backoff_ms": 100,
"max_attempts": 3,
"max_backoff_ms": 2000
},
"timeout_ms": 5000
},
"source_digest": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
},
"selected_version": "2026-02-17.1",
"source": "openapi_import"
}
typedprovidersactivate
Activa una versión del ciclo de vida del proveedor tipado.
Entradas
- namespace_id (requerido): Identificador de espacio de nombres.
provider_id(requerido): Identificador de proveedor tipado.- tenant_id (required): Identificador del inquilino.
version(requerido): versión del ciclo de vida a activar.
Salidas
active_version(requerido): Versión activada.previous_active_version(requerido, nullable): Uno de: null, string.provider_id(requerido): Identificador de proveedor tipado.
Notas
- Requiere los campos de ámbito tenant_id y namespace_id.
- Los registros de activación versiones activas anteriores para retroceder.
- Las versiones obsoletas no se pueden activar.
Ejemplo
Active una versión del proveedor tipado.
Entrada:
{
"namespace_id": 1,
"provider_id": "asset_api",
"tenant_id": 1,
"version": "2026-02-17.2"
}
Output:
{
"active_version": "2026-02-17.2",
"previous_active_version": "2026-02-17.1",
"provider_id": "asset_api"
}
typedprovidersdeprecate
Descontinuar una versión del ciclo de vida del proveedor tipado, con retroceso activo opcional.
Entradas
- namespace_id (requerido): Identificador de espacio de nombres.
provider_id(requerido): Identificador de proveedor tipado.rollback_if_active(opcional): Revertir la versión activa antes de descontinuar cuando sea necesario.- tenant_id (required): Identificador del inquilino.
version(requerido): Versión del ciclo de vida a desaprobar.
Salidas
active_version(requerido, nullable): Uno de: null, string.deprecated_version(requerido): Versión del ciclo de vida obsoleta.provider_id(requerido): Identificador de proveedor tipado.rolled_back_from(requerido, nullable): Uno de: null, string.
Notas
- Requiere los campos de ámbito tenant_id y namespace_id.
- La desactivación de la versión activa requiere un rollback_if_active=true explícito.
- La reversión selecciona la versión activa más reciente que no está en desuso.
Ejemplo
Descontinuar una versión de proveedor tipado con reversión.
Entrada:
{
"namespace_id": 1,
"provider_id": "asset_api",
"rollback_if_active": true,
"tenant_id": 1,
"version": "2026-02-17.2"
}
Output:
{
"active_version": "2026-02-17.1",
"deprecated_version": "2026-02-17.2",
"provider_id": "asset_api",
"rolled_back_from": "2026-02-17.2"
}