Files
self-healing-demo-v1/.a2a/agent.dsl.json
a2a-platform b9b0abea2b deploy
2026-07-18 11:56:09 +00:00

190 lines
4.7 KiB
JSON

{
"schema_version": "2026-06-04",
"language": "python",
"name": "self-healing-demo-v1",
"description": "A live demonstration of bounded, auditable source self-repair.",
"version": "0.1.0",
"entrypoint": {
"module": "agent",
"class_name": "SelfHealingDemo",
"function": null,
"command": []
},
"skills": [
{
"name": "status",
"description": "Return the current self-healing demo state.",
"handler": "status",
"tags": [],
"scopes": [],
"stream": false,
"policy": {
"timeout_seconds": null,
"idempotent": false,
"max_retries": 0,
"cost_class": null,
"allow_scope_expansion": false,
"grant_mode": null,
"grant_allow_patterns": [],
"grant_deny_patterns": [],
"grant_outputs_prefix": null,
"grant_write_prefixes": [],
"grant_ttl_seconds": null,
"grant_run_timeout_seconds": null,
"grant_approval_timeout_seconds": null,
"grant_scope_approval_timeout_seconds": null
},
"input_schema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"output_schema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "run",
"description": "Run the demo workflow, including its controlled production failure.",
"handler": "run",
"tags": [],
"scopes": [],
"stream": false,
"policy": {
"timeout_seconds": null,
"idempotent": false,
"max_retries": 0,
"cost_class": null,
"allow_scope_expansion": false,
"grant_mode": null,
"grant_allow_patterns": [],
"grant_deny_patterns": [],
"grant_outputs_prefix": null,
"grant_write_prefixes": [],
"grant_ttl_seconds": null,
"grant_run_timeout_seconds": null,
"grant_approval_timeout_seconds": null,
"grant_scope_approval_timeout_seconds": null
},
"input_schema": {
"type": "object",
"properties": {
"scenario": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"output_schema": {
"additionalProperties": true,
"type": "object"
}
}
],
"capabilities": {
"self_healing": {
"enabled": true,
"consecutive_failures": 1,
"window_seconds": 300,
"cooldown_seconds": 300,
"max_repairs_per_day": 2,
"max_turns": 30,
"deployment_timeout_seconds": 1800,
"require_tests": true
}
},
"input_modes": [
"application/json"
],
"output_modes": [
"application/json"
],
"required_secrets": [],
"required_env": [],
"consumer_setup": {
"fields": []
},
"runtime": {
"lifecycle": "ephemeral",
"availability": "always_on",
"state": "none",
"sandbox": "microsandbox",
"resources": {
"cpu": "100m",
"memory": "256Mi",
"gpu": 0,
"max_runtime_seconds": 120
},
"concurrency": 1,
"egress": {
"allow_hosts": [],
"allow_internal_services": [],
"deny_internet_by_default": true
},
"tools_used": [],
"llm_provisioning": "platform",
"pricing": {
"price_per_call_usd": 0.0,
"caller_pays_llm": false,
"notes": ""
},
"wants_cp_jwt": false,
"platform_resources": {
"memory": null,
"databases": [],
"mailbox": null
},
"endpoints": [],
"apt_packages": []
},
"template_lineage": null,
"meta_agent_manifest": null,
"state_schema": null,
"workspace_access": {
"enabled": false,
"max_files": 0,
"allowed_modes": [],
"require_reason": true,
"deny_patterns": [],
"require_human_approval": false,
"max_total_size_bytes": 104857600
},
"config_schema": {
"description": "Default config model when an agent declares no config.",
"properties": {},
"title": "_EmptyConfig",
"type": "object"
},
"auth": {
"model": "a2a_pack.auth.NoAuth",
"strategy": "public",
"principal_schema": {
"additionalProperties": false,
"description": "Public agent: no caller identity required.",
"properties": {},
"title": "NoAuth",
"type": "object"
},
"resolver": null,
"required": false
},
"metadata": {
"source": "python-a2a-pack",
"project_manifest": {
"name": "self-healing-demo-v1",
"version": "0.1.0",
"entrypoint": "agent:SelfHealingDemo",
"frontend": {
"path": "frontend",
"build": "mkdir -p dist && cp index.html app.js styles.css dist/",
"dist": "dist",
"mount": "/",
"auth": "public"
}
}
}
}