This repository has been archived on 2026-07-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
agent-reviewer/.a2a/agent.dsl.json
2026-07-18 13:50:46 -03:00

164 lines
3.9 KiB
JSON

{
"schema_version": "2026-06-04",
"language": "python",
"name": "agent-reviewer",
"description": "Pre-deploy audit of an A2A agent's source — security, scope, ergonomics.",
"version": "0.1.2",
"entrypoint": {
"module": "agent",
"class_name": "AgentReviewer",
"function": null,
"command": []
},
"skills": [
{
"name": "review",
"description": "Audit an agent's source. Pass the target ``agent_name`` (kebab-case) and optional ``ref`` (defaults to ``main``). Returns a ReviewReport with severity-categorized findings.",
"handler": "review",
"tags": [
"reviewer",
"audit",
"meta"
],
"scopes": [],
"stream": true,
"policy": {
"timeout_seconds": 900.0,
"idempotent": false,
"max_retries": 0,
"cost_class": "medium",
"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": {
"agent_name": {
"type": "string"
},
"ref": {
"type": "string"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"mode": {
"type": "string"
}
},
"required": [
"agent_name"
],
"additionalProperties": false
},
"output_schema": {
"additionalProperties": true,
"type": "object"
}
}
],
"capabilities": {},
"input_modes": [
"application/json"
],
"output_modes": [
"application/json"
],
"required_secrets": [],
"required_env": [],
"consumer_setup": {
"fields": []
},
"runtime": {
"lifecycle": "ephemeral",
"availability": "on_demand",
"state": "none",
"sandbox": "microsandbox",
"resources": {
"cpu": "100m",
"memory": "256Mi",
"gpu": 0,
"max_runtime_seconds": 600
},
"concurrency": 1,
"egress": {
"allow_hosts": [],
"allow_internal_services": [],
"deny_internet_by_default": true
},
"tools_used": [
"deepagents",
"a2a-pack",
"litellm",
"microsandbox",
"gitea"
],
"llm_provisioning": "platform",
"pricing": {
"price_per_call_usd": 0.05,
"caller_pays_llm": true,
"notes": "Reads target source via a short-lived, repo-scoped Gitea token minted on the caller's behalf. Never deploys or writes."
},
"wants_cp_jwt": true,
"platform_resources": {
"memory": null,
"databases": []
},
"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": {
"properties": {},
"title": "ReviewerConfig",
"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": "agent-reviewer",
"version": "0.1.2",
"entrypoint": "agent:AgentReviewer"
}
}
}