Eines del Decision Gate MCP
Descarregar: tooling.json (326 KB) Descarregar: openapi/decision-gate.json (408 KB)
Pàgines de detall de l’eina
scenario_define- Registra un ScenarioSpec, valida’l i retorna el hash canònic utilitzat per a les comprovacions d’integritat.scenario_start- Crea un nou estat d’execució per a un escenari i, opcionalment, emet paquets d’entrada.scenario_status- Obteniu una instantània de lectura només i un resum segur sense canviar l’estat.scenario_next- Avaluar les portes en resposta a una sol·licitud següent impulsada per un agent.scenario_submit- Enviar artefactes externs a l’estat d’execució per a auditoria i avaluació posterior.scenario_trigger- Enviar un esdeveniment de desencadenament (programador/external) i avaluar l’execució.evidence_query- Consultar un proveïdor d’evidències amb el context d’execució complet i la política de divulgació.runpack_export- Exporta artefactes de runpack deterministes per a la verificació fora de línia.runpack_verify- Verifica un manifest de runpack i artefactes fora de línia.providers_list- Llista de proveïdors d’evidències registrats i resum de capacitats.provider_contract_get- Obtenir el contracte canònic del proveïdor en format JSON i el seu hash per a un proveïdor.provider_check_schema_get- Obtenir detalls de l’esquema de comprovació (params/resultat/comparadors) per a un proveïdor.schemas_register- Registra un esquema de forma de dades per a un inquilí i un espai de noms.schemas_list- Llista de formes de dades registrades per a un inquilí i un espai de noms.schemas_get- Obtenir una forma de dades específica mitjançant l’identificador i la versió.scenarios_list- Llista de scenarios registrats per a un llogater i un espai de noms.precheck- Avaluar un escenari contra dades afirmades sense mutar l’estat.decision_gate_docs_search- Cerqueu la documentació de Decision Gate per a orientació en temps d’execució.typed_providers_import- Importa OpenAPI en artefactes de proveïdor tipats i registra una versió de perfil.typed_providers_register- Registra el contracte de proveïdor tipat preconstruït + artefactes de perfil d’execució.typed_providers_list- Llista de catàlegs del cicle de vida dels proveïdors tipats i versions registrades.typed_providers_get- Obtenir artefactes de proveïdors tipats + metadades del cicle de vida per a una versió.typed_providers_activate- Activa una versió del cicle de vida d’un proveïdor tipificat.typed_providers_deprecate- Descontinuar una versió del cicle de vida d’un proveïdor tipat, amb una reversió activa opcional.
Aquest document resumeix la superfície de l’eina MCP i l’ús esperat. Els esquemes complets es troben a tooling.json, amb esquemes de suport sota schemas/ i exemples sota examples/.
Inici ràpid del cicle de vida
scenario_defineregistra i valida un ScenarioSpec.scenario_startcrea una execució i opcionalment emet paquets d’entrada.scenario_nextavança una execució impulsada per agents;scenario_triggeravança el temps/activadors externs.scenario_statusconsulta l’estat d’execució sense modificar-lo.scenario_submitafegeix artefactes externs per a auditoria i verificacions posteriors.runpack_exportirunpack_verifysuporten la verificació fora de línia.
Referències d’artefactes
authoring.md: formats d’autoria i orientació sobre normalització.[scenario.json](/downloads/decision-gate/examples/scenario.json): exemple complet de ScenarioSpec.examples/scenario.ron: exemple de ScenarioSpec amigable per a l’autoria.[run-config.json](/downloads/decision-gate/examples/run-config.json): exemple de configuració d’execució per a scenario_start.[decision-gate.toml](/downloads/decision-gate/examples/decision-gate.toml): exemple de configuració MCP per a proveïdors.
| Tool | Description |
|---|---|
| scenario_define | Registrar un ScenarioSpec, validar-lo i retornar el hash canònic utilitzat per a les comprovacions d’integritat. |
| scenario_start | Crear un nou estat d’execució per a un escenari i opcionalment emetre paquets d’entrada. |
| scenario_status | Obtenir una instantània d’execució de només lectura i un resum segur sense canviar l’estat. |
| scenario_next | Avaluar portes en resposta a una sol·licitud següent impulsada per un agent. |
| scenario_submit | Presentar artefactes externs a l’estat d’execució per a auditoria i avaluació posterior. |
| scenario_trigger | Presentar un esdeveniment de desencadenament (programador/external) i avaluar l’execució. |
| evidence_query | Consultar un proveïdor d’evidències amb el context complet d’execució i la política de divulgació. |
| runpack_export | Exportar artefactes de runpack deterministes per a verificació fora de línia. |
| runpack_verify | Verificar un manifest de runpack i artefactes fora de línia. |
| providers_list | Llistar proveïdors d’evidències registrats i resum de capacitats. |
| provider_contract_get | Obtenir el JSON del contracte canònic del proveïdor i el hash per a un proveïdor. |
| provider_check_schema_get | Obtenir detalls de l’esquema de comprovació (params/result/comparadors) per a un proveïdor. |
| schemas_register | Registrar un esquema de forma de dades per a un llogater i un espai de noms. |
| schemas_list | Llistar formes de dades registrades per a un llogater i un espai de noms. |
| schemas_get | Obtenir una forma de dades específica per identificador i versió. |
| scenarios_list | Llistar escenaris registrats per a un llogater i un espai de noms. |
| precheck | Avaluar un escenari contra dades afirmades sense mutar l’estat. |
| decision_gate_docs_search | Cercar documentació de Decision Gate per a orientació en temps d’execució. |
| typed_providers_import | Importar OpenAPI en artefactes de proveïdor tipat i registrar una versió de perfil. |
| typed_providers_register | Registrar contracte de proveïdor tipat preconstruït + artefactes de perfil d’execució. |
| typed_providers_list | Llistar catàlegs del cicle de vida del proveïdor tipat i versions registrades. |
| typed_providers_get | Obtenir artefactes de proveïdor tipat + metadades del cicle de vida per a una versió. |
| typed_providers_activate | Activar una versió del cicle de vida del proveïdor tipat. |
| typed_providers_deprecate | Deprecació d’una versió del cicle de vida del proveïdor tipat, amb retrocés actiu opcional. |
escenari_definir
Registra un ScenarioSpec, valida’l i retorna el hash canònic utilitzat per a les comprovacions d’integritat.
Inputs
- spec (requerit): Especificació de l’escenari per registrar.
Sortides
- scenario_id (required): Identificador de l’escenari.
- spec_hash (requerit): Tipus: object.
Notes
- Utilitzeu abans d’iniciar les curses; scenario_id es converteix en el controlador estable per a les crides posteriors.
- Valida els IDs d’etapa/port/condició, arbres RET i referències de condició.
- El hash de l’especificació és determinista; emmagatzema-ho per a l’auditoria i la integritat del paquet.
- Els errors es tanquen en especificacions no vàlides o IDs de scenario duplicats.
Exemple
Registra l’especificació de l’escenari d’exemple.
Input:
{
"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"
}
}
escenari_inici
Crea un nou estat d’execució per a un escenari i opcionalment emet paquets d’entrada.
Inputs
- issue_entry_packets (required): Emetre paquets d’entrada immediatament.
- run_config (requerit): Configuració d’execució i objectius de despach.
- scenario_id (required): Identificador de l’escenari.
- started_at (requerit): Timestamp d’inici de la execució proporcionat pel cridant.
Sortides
- current_stage_id (required): Identificador de l’etapa actual.
- decisions (requerit): Tipus: array.
- dispatch_targets (required): Tipus: array.
- gate_evals (requerit): Tipus: array.
- namespace_id (requerit): Identificador de l’espai de noms.
- paquets (requerit): Tipus: array.
- run_id (requerit): Identificador de la execució.
- scenario_id (required): Identificador de l’escenari.
- spec_hash (requerit): Tipus: object.
stage_entered_at(requerit): Un dels: objecte, objecte.- status (requerit): Tipus: string.
- submissions (requerit): Tipus: array.
- tenant_id (required): Identificador del llogater.
- tool_calls (required): Tipus: array.
- triggers (requerit): Tipus: array.
Notes
- Requereix RunConfig (tenant_id, run_id, scenario_id, dispatch_targets).
- Utilitzeu started_at per enregistrar la marca de temps d’inici proporcionada pel que truca.
- Si issue_entry_packets és cert, els paquets d’entrada es revelen immediatament.
- Tanca si run_id ja existeix o scenario_id és desconegut.
Exemple
Inicieu una execució per a l’escenari d’exemple i emeteu paquets d’entrada.
Input:
{
"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": []
}
estat_escenari
Obteniu una instantània de lectura només i un resum segur sense canviar l’estat.
Inputs
- request (required): Càrrega útil de la sol·licitud d’estat.
- scenario_id (required): Identificador de l’escenari.
Sortides
- current_stage_id (required): Identificador de l’etapa actual.
- issued_packet_ids (required): Tipus: array.
last_decision(requerit, nullable): Un dels següents: null, objecte.- namespace_id (opcional): Identificador de l’espai de noms.
- run_id (requerit): Identificador de la execució.
safe_summary(requerit, nullable): Un dels següents: null, objecte.- scenario_id (required): Identificador de l’escenari.
- status (requerit): Tipus: string.
Notes
- S’utilitza per a enquestes o estat de la interfície d’usuari; no avalua portes.
- Els resums segurs ometen els valors d’evidència i poden incloure pistes de reintents.
- Retorna els IDs de paquet emesos per ajudar a rastrejar les divulgacions.
Exemple
Estat de l’execució de la consulta sense avançar l’execució.
Input:
{
"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"
}
escenari_seguent
Avalua les portes en resposta a una sol·licitud següent impulsada per un agent.
Inputs
feedback(opcional, nul·la): Nivell de retroalimentació opcional per sobreescriure per a scenario_next.- request (required): Proper següent del payload d’una agent.
- scenario_id (required): Identificador de l’escenari.
Sortides
- decisió (requerit): Tipus: objecte.
feedback(opcional, nul·la): Un dels següents: null, objecte.- paquets (requerit): Tipus: array.
- status (requerit): Tipus: string.
Notes
- Idempotent per trigger_id; les trucades repetides retornen la mateixa decisió.
- Registres de decisió, proves i divulgacions de paquets en estat d’execució.
- Requereix una execució activa; les execucions completades o fallides no avancen.
- El comentari opcional pot incloure el rastreig de la porta o proves quan ho permeti la política de comentaris del servidor.
Exemple
Exemple 1: Avaluar el següent pas impulsat per agents per a una execució.
Input:
{
"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"
}
Exemple 2: Avaluar una execució i sol·licitar comentaris sobre el rastreig.
Input:
{
"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"
}
escenari_enviar
Presentar artefactes externs en l’estat d’execució per a auditoria i avaluació posterior.
Inputs
- request (obligatori): Càrrega de la sol·licitud i metadades.
- scenario_id (required): Identificador de l’escenari.
Sortides
- registre (requerit): Tipus: objecte.
Notes
- El payload es fa un hash i es desa com un registre de presentació.
- La càrrega útil es manté en els registres de l’estat d’execució/runpack; no envieu secrets en brut.
- No avança la carrera per si mateix.
- Utilitzeu per als artefactes el model o operador subministrat.
Exemple
Presenta un artefacte extern per a auditoria i avaluació posterior.
Input:
{
"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
}
}
}
escenari_disparador
Envia un esdeveniment de desencadenament (programador/external) i avalua l’execució.
Inputs
- scenario_id (required): Identificador de l’escenari.
- trigger (requerit): Payload de l’esdeveniment de desencadenament.
Sortides
- decisió (requerit): Tipus: objecte.
- paquets (requerit): Tipus: array.
- status (requerit): Tipus: string.
Notes
- El temps d’activació és subministrat pel qui crida; no es fan lectures del rellotge de paret.
- Registra l’esdeveniment de desencadenament i la decisió resultant.
- La càrrega útil es manté en els registres de l’estat d’execució/runpack; no envieu secrets en brut.
- Utilitzeu per a desencadenants basats en el temps o sistemes externs.
Exemple
Avança una execució des d’un programador o un desencadenant extern.
Input:
{
"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"
}
evidència_consulta
Consulta un proveïdor d’evidències amb el context complet d’execució i la política de divulgació.
Inputs
- context (required): Context de l’evidència utilitzat per a l’avaluació.
- query (required): Càrrega de consulta d’evidències.
Sortides
- result (required): Tipus: object.
Notes
- La política de divulgació pot redactar valors en brut; els hashes/ancres encara es retornen.
- Utilitzeu per a diagnòstics o comprovacions abans del vol; el temps d’execució utilitza la mateixa lògica del proveïdor.
- Requereix provider_id, check_id i EvidenceContext complet.
Exemple
Consulta un proveïdor d’evidències utilitzant el context d’execució.
Input:
{
"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
Exporta artefactes de runpack deterministes per a la verificació fora de línia.
Inputs
- generated_at (requerit): Timestamp enregistrat al manifest.
- include_verification (requerit): Generar un artefacte de informe de verificació.
manifest_name(opcional, nul): Substitució opcional per al nom del fitxer manifest.- namespace_id (requerit): Identificador de l’espai de noms.
output_dir(opcional, nul·la): Directori de sortida opcional (requerit per a l’exportació del sistema de fitxers).- run_id (requerit): Identificador de la execució.
- scenario_id (required): Identificador de l’escenari.
- tenant_id (required): Identificador del llogater.
Sortides
- manifest (requerit): Tipus: object.
report(requerit, nullable): Un dels següents: null, objecte.storage_uri(opcional, nul): URI d’emmagatzematge opcional per a backend d’emmagatzematge de runpack gestionats.
Notes
- Escriu el manifest i els registres a output_dir; generated_at es registra al manifest.
- include_verification afegeix un artefacte de informe de verificació.
- L’informe d’exportació checked_files exclou verifier_report.json; l’execució offline runpack_verify checked_files l’inclou (+1 per la mateixa runpack).
- Utilitzeu després que les execucions es completin o per a instantànies d’auditoria.
Exemple
Exporta un runpack amb metadades del manifest.
Input:
{
"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
Verifiqueu un manifest de runpack i artefactes fora de línia.
Inputs
- manifest_path (required): Ruta del manifest relativa a la carpeta arrel de runpack.
- runpack_dir (requerit): Directori arrel de Runpack.
Sortides
- informe (requerit): Tipus: objecte.
- estat (requerit): Estat de verificació de Runpack.
Notes
- Valida els hashes, l’arrel d’integritat i l’estructura del registre de decisions.
- Els fallos es tanquen en cas de fitxers perduts o manipulats.
- Utilitzeu en CI o en canals d’auditoria fora de línia.
Exemple
Verifiqueu un manifest de runpack i artefactes fora de línia.
Input:
{
"manifest_path": "manifest.json",
"runpack_dir": "/var/lib/decision-gate/runpacks/run-0001"
}
Output:
{
"report": {
"checked_files": 12,
"errors": [],
"status": "pass"
},
"status": "pass"
}
llista_proveïdors
Llista de proveïdors d’evidències registrades i resum de capacitats.
Inputs
Sortides
- proveïdors (requerit): Tipus: array.
Notes
- Retorna identificadors de proveïdors i metadades de transport.
- Els resultats estan limitats per la política d’autenticació.
Exemple
Llista de proveïdors d’evidència registrats.
Input:
{}
Output:
{
"providers": [
{
"checks": [
"get"
],
"provider_id": "env",
"transport": "builtin"
}
]
}
proveedorcontracteobtenir
Obteniu el JSON del contracte del proveïdor canònic i el hash per a un proveïdor.
Inputs
- provider_id (required): Identificador del proveïdor.
Sortides
- contracte (requerit): Tipus: objecte.
- contract_hash (requerit): Tipus: object.
- provider_id (required): Identificador del proveïdor.
- source (required): Origen de la font del contracte.
versió(requerida, nullable): Etiqueta de versió de contracte opcional.
Notes
- Retorna el contracte del proveïdor tal com ha estat carregat pel servidor MCP.
- Inclou un hash canònic per a l’auditoria i la reproductibilitat.
- Sota la política de divulgació del proveïdor i l’autorització.
Exemple
Obteniu el JSON del contracte per a un proveïdor.
Input:
{
"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
}
proveidorcomprovaresquema_obtenir
Obteniu detalls de l’esquema de comprovació (paràmetres/resultat/comparadors) per a un proveïdor.
Inputs
- check_id (required): Identificador de comprovació del proveïdor.
- provider_id (required): Identificador del proveïdor.
Sortides
- allowed_comparators (requerit): Llista blanca de comparadors per a aquesta comprovació.
- anchor_types (required): Tipus d’ancora emesos per aquesta comprovació.
- check_id (required): Identificador de comprovació.
- content_types (required): Tipus de contingut per a la sortida de comprovació.
- contract_hash (requerit): Tipus: object.
- determinisme (requerit): Classificació del determinisme per a les comprovacions del proveïdor.
- exemples (requerit): Tipus: array.
- params_required (required): Si es requereixen paràmetres per a aquesta comprovació.
- params_schema (required): esquema JSON per a comprovar els paràmetres.
- provider_id (required): Identificador del proveïdor.
- result_schema (requerit): esquema JSON per al valor del resultat de la comprovació.
Notes
- Retorna metadades de l’esquema compilades per a una única comprovació.
- Inclou llistes d’allow-list de comparadors i exemples de comprovació.
- Sota la política de divulgació del proveïdor i l’autorització.
Exemple
Obteniu detalls de l’esquema de verificació per a un proveïdor.
Input:
{
"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"
]
}
}
esquemes_registre
Registreu un esquema de forma de dades per a un llogater i un espai de noms.
Inputs
- registre (requerit): Tipus: objecte.
Sortides
- registre (requerit): Tipus: objecte.
Notes
- Els esquemes són immutables; registrar la mateixa versió dues vegades falla.
- Proporciona created_at per enregistrar quan es va redactar l’esquema.
Exemple
Registra un esquema de forma de dades.
Input:
{
"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"
}
}
esquemes_llista
Llista de formes de dades registrades per a un llogater i un espai de noms.
Inputs
- cursor (opcional, nul·la): Un dels: null, string.
- limit (opcional): Nombre màxim de registres a retornar.
- namespace_id (requerit): Identificador de l’espai de noms.
- tenant_id (required): Identificador del llogater.
Sortides
- elements (requerit): Tipus: array.
- next_token (requerit, nullable): Un d’aquests: null, string.
Notes
- Requereix tenant_id i namespace_id.
- Admet la paginació mitjançant cursor + límit.
Exemple
Llista de formes de dades per a un espai de noms.
Input:
{
"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_obtenir
Obteniu una forma de dades específica per identificador i versió.
Inputs
- namespace_id (requerit): Identificador de l’espai de noms.
- schema_id (requerit): Identificador de la forma de dades.
- tenant_id (required): Identificador del llogater.
- versió (requerida): Identificador de versió de la forma de dades.
Sortides
- registre (requerit): Tipus: objecte.
Notes
- Requereix tenant_id, namespace_id, schema_id i version.
- Falla tancada quan falta l’esquema.
Exemple
Obteniu una forma de dades per identificador i versió.
Input:
{
"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"
}
}
escenaris_llista
Llista d’escenaris registrats per a un llogater i un espai de noms.
Inputs
- cursor (opcional, nul·la): Un dels: null, string.
- limit (opcional): Nombre màxim de registres a retornar.
- namespace_id (requerit): Identificador de l’espai de noms.
- tenant_id (required): Identificador del llogater.
Sortides
- elements (requerit): Tipus: array.
- next_token (requerit, nullable): Un d’aquests: null, string.
Notes
- Requereix tenant_id i namespace_id.
- Retorna identificadors de scenario i hashes.
Exemple
Llista d’escenaris per a un espai de noms.
Input:
{
"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
}
precomprovació
Avaluar un escenari contra dades afirmades sense mutar l’estat.
Inputs
- data_shape (requerit): Tipus: object.
- namespace_id (requerit): Identificador de l’espai de noms.
- payload (requerit): Dades de càrrega afirmades.
scenario_id(opcional, nul·la): Un dels següents: null, cadena.spec(opcional, nul·la): Un dels següents: null, ref decision-gate://contract/schemas/scenario.schema.json.stage_id(opcional, nul·la): Un dels següents: nul, cadena.- tenant_id (required): Identificador del llogater.
Sortides
decisió(requerit): Un dels: objecte, objecte, objecte, objecte, objecte.- gate_evaluations (requerit): Tipus: array.
Notes
- Valida les dades afirmades contra una forma registrada.
- No muta l’estat d’execució; destinat a la simulació.
Exemple
Precomprovar un escenari amb dades afirmades.
Input:
{
"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
Cerca la documentació de Decision Gate per a orientació en temps d’execució.
Inputs
- max_sections (opcional): Nombre màxim de seccions a retornar (per defecte 3, límit màxim 10).
- query (required): Consulta de cerca per a seccions de documentació.
Sortides
- docs_covered (requerit): Tipus: array.
- seccions (requerit): Tipus: array.
- suggested_followups (required): Suggeriments de seguiment conscients del rol.
Notes
- Utilitzeu per a consultes ràpides sobre el flux d’evidències, comparadors i semàntica dels proveïdors.
- Retorna seccions classificades amb etiquetes de rol i suggeriments de seguiment.
- La cerca és determinista i està limitada al catàleg de documents configurat.
Exemple
Cerca evidències del flux i orientació del carril de confiança.
Input:
{
"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
Importa OpenAPI en artefactes de proveïdor tipats i registra una versió de perfil.
Inputs
activate(opcional): Activa aquesta versió després del registre.allow_unsafe_methods(opcional): Permetre mètodes HTTP no segurs durant la importació.credential_bindings(requerit): id del esquema de seguretat OpenAPI per a metadades de vinculació de credencials estructurades (localitzador + valor_render). Utilitzeu {} per a importacions no autenticades.external_ref_mode(opcional): Política de resolució de $ref externa opcional.max_response_bytes(opcional): Sobrecàrrega opcional del límit de mida de resposta en temps d’execució.media_support_mode(opcional): Mode de suport multimèdia opcional.- namespace_id (requerit): Identificador de l’espai de noms.
openapi(requerit): document OpenAPI 3.x com a JSON.openapi_conformance_mode(opcional): Mode de conformitat: els blocs estrictes bloquegen construccions no compatibles; informes d’auditoria sense activació.openapi_semantics_mode(opcional): Sobreescriptura opcional del mode de semàntica OpenAPI.openapi_source_path(opcional): Ruta de font opcional utilitzada per resoldre referències de fitxers locals.operation_allowlist(requerit): Llista d’operacions explícites allowlist per a una importació estricta.outbound_max_inflight(opcional): Sobrecàrrega opcional del límit d’inflight sortint.provider_id(requerit): Identificador del proveïdor tipat.retry_initial_backoff_ms(opcional): Substitució opcional de l’espera inicial de reintents sortints.retry_max_attempts(opcional): Sobrecàrrega opcional del màxim nombre d’intents de reintents sortints.retry_max_backoff_ms(opcional): Sobrecàrrega opcional del màxim retrocés de reintents sortints.- tenant_id (required): Identificador del llogater.
timeout_ms(opcional): Sobrecàrrega opcional de temps d’execució en mil·lisegons.version(requerit): Identificador de la versió del cicle de vida.
Sortides
active_version(requerit, nullable): Un dels següents: null, string.conformance_summary(requerit): Tipus: objecte.- contract_hash (requerit): Tipus: object.
operation_count(requerit): Tipus: enter.profile_digest(requerit): Tipus: objecte.provider_id(requerit): Identificador del proveïdor tipat.register_outcome(requerit): Resultat del registre del cicle de vida del perfil tipificat.source_digest(obligatori): Tipus: objecte.version(requerit): Identificador de la versió del cicle de vida.
Notes
- Requereix els camps de l’abast tenant_id i namespace_id.
- La importació estrictament tancada requereix una llista d’operacions explícita permesa.
- Requereix un mapeig explícit de credential_bindings; utilitzeu {} per a importacions no autenticades.
- Suporta límits de sortida delimitats i una política de reintents per a perfils d’execució generats.
- Genera artefactes de contracte de proveïdor determinístic + perfil d’execució.
- Registra metadades del cicle de vida i opcionalment activa la versió importada.
Exemple
Importa un document OpenAPI en artefactes tipats.
Input:
{
"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
Registreu el contracte de proveïdor tipat preconstruït + artefactes de perfil d’execució.
Inputs
activate(opcional): Activa aquesta versió després del registre.- contracte (requerit): Tipus: objecte.
- namespace_id (requerit): Identificador de l’espai de noms.
provider_id(requerit): Identificador del proveïdor tipat.runtime_profile(requerit): Artifact de perfil d’execució tipat.- tenant_id (required): Identificador del llogater.
version(requerit): Identificador de la versió del cicle de vida.
Sortides
active_version(requerit, nullable): Un dels següents: null, string.- contract_hash (requerit): Tipus: object.
operation_count(requerit): Tipus: enter.profile_digest(requerit): Tipus: objecte.provider_id(requerit): Identificador del proveïdor tipat.register_outcome(requerit): Resultat del registre del cicle de vida del perfil tipificat.source_digest(obligatori): Tipus: objecte.version(requerit): Identificador de la versió del cicle de vida.
Notes
- Requereix els camps de l’abast tenant_id i namespace_id.
- Valida la coherència de la identitat del transportista/proveïdor introduïda.
- Valida la integritat del resum del perfil d’execució abans del registre.
- Registra metadades del cicle de vida i activa opcionalment la versió.
Exemple
Registra artefactes de proveïdor tipats preconstruïts.
Input:
{
"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
Llista els catàlegs del cicle de vida del proveïdor tipat i les versions registrades.
Inputs
- cursor (opcional, nul·la): Un dels: null, string.
limit(opcional): Nombre màxim de catàlegs de proveïdors a retornar.- namespace_id (requerit): Identificador de l’espai de noms.
- tenant_id (required): Identificador del llogater.
Sortides
- elements (requerit): Tipus: array.
- next_token (requerit, nullable): Un d’aquests: null, string.
Notes
- Requereix els camps de l’abast tenant_id i namespace_id.
- Suporta la paginació determinista mitjançant cursor + límit.
- Els resultats estan limitats per la política de divulgació de descobriment del proveïdor.
Exemple
Llista de catàlegs del cicle de vida del proveïdor tipat.
Input:
{
"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
Obtenir artefactes del proveïdor escrits + metadades del cicle de vida per a una versió.
Inputs
- namespace_id (requerit): Identificador de l’espai de noms.
observed_profile_digest(opcional, nullable): Observació opcional del resum del perfil per a comprovacions de deriva.observed_source_digest(opcional, nul·la): Observació de digest de font opcional per a comprovacions de deriva.provider_id(requerit): Identificador del proveïdor tipat.- tenant_id (required): Identificador del llogater.
version(opcional, nul·la): Un dels següents: null, string.
Sortides
active_version(requerit, nullable): Un dels següents: null, string.catalog_version(requerit): Versió del esquema del catàleg del cicle de vida tipat.- contracte (requerit): Tipus: objecte.
drift_status(requerit, nullable): Un dels següents: null, string.provider_id(requerit): Identificador del proveïdor tipat.- registre (requerit): Tipus: objecte.
runtime_profile(requerit): Artifact de perfil d’execució tipat.selected_version(requerit): Versió del cicle de vida seleccionada.source(required): Com es van registrar els artefactes escrits.
Notes
- Requereix els camps de l’abast tenant_id i namespace_id.
- Retorna el contracte del proveïdor + perfil d’execució per a la versió seleccionada.
- Pot avaluar la deriva del digest contra els digests de font/perfil observats.
- Si es omet la versió, es selecciona la versió activa.
Exemple
Obteniu artefactes de proveïdor escrits i metadades del cicle de vida.
Input:
{
"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ó del cicle de vida del proveïdor tipat.
Inputs
- namespace_id (requerit): Identificador de l’espai de noms.
provider_id(requerit): Identificador del proveïdor tipat.- tenant_id (required): Identificador del llogater.
version(requerit): Versió del cicle de vida a activar.
Sortides
active_version(requerit): Versió activada.previous_active_version(requerit, nullable): Un dels següents: null, string.provider_id(requerit): Identificador del proveïdor tipat.
Notes
- Requereix els camps de l’abast tenant_id i namespace_id.
- Els registres d’activació de les versions actives anteriors per a la reversió.
- Les versions obsoletes no es poden activar.
Exemple
Activa una versió del proveïdor tipada.
Input:
{
"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
Desaconsellar una versió del cicle de vida del proveïdor tipat, amb una reversió activa opcional.
Inputs
- namespace_id (requerit): Identificador de l’espai de noms.
provider_id(requerit): Identificador del proveïdor tipat.rollback_if_active(opcional): Revertir la versió activa abans de desactivar-la quan sigui necessari.- tenant_id (required): Identificador del llogater.
version(requerit): Versió del cicle de vida a desactivar.
Sortides
active_version(requerit, nullable): Un dels següents: null, string.deprecated_version(requerit): Versió del cicle de vida obsoleta.provider_id(requerit): Identificador del proveïdor tipat.rolled_back_from(requerit, nullable): Un dels següents: null, string.
Notes
- Requereix els camps de l’abast tenant_id i namespace_id.
- La desactivació de la versió activa requereix un rollback_if_active=true explícit.
- La reversió selecciona la versió activa anterior més recent que no està obsoleta.
Exemple
Deprecació d’una versió de proveïdor tipada amb retrocés.
Input:
{
"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"
}