164 lines
3.9 KiB
JSON
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"
|
|
}
|
|
}
|
|
}
|