diff --git a/.a2a/agent.dsl.json b/.a2a/agent.dsl.json new file mode 100644 index 0000000..7178c4c --- /dev/null +++ b/.a2a/agent.dsl.json @@ -0,0 +1,182 @@ +{ + "schema_version": "2026-06-04", + "language": "python", + "name": "learnhouse-agent", + "description": "LearnHouse is an open-source platform tailored for learning experiences.", + "version": "1.2.7", + "entrypoint": { + "module": "agent", + "class_name": "Learnhouse", + "function": null, + "command": [] + }, + "skills": [ + { + "name": "auto", + "description": "Use the OpenAPI service to complete a natural-language goal.", + "handler": "auto", + "tags": [ + "openapi", + "auto" + ], + "scopes": [], + "stream": false, + "policy": { + "timeout_seconds": 900.0, + "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": { + "goal": { + "type": "string" + } + }, + "required": [ + "goal" + ], + "additionalProperties": false + }, + "output_schema": { + "additionalProperties": true, + "type": "object" + } + } + ], + "capabilities": { + "openapi_auto_agent": { + "operation_count": 422, + "default_base_url": "https://learnhouse.a2acloud.io", + "source_openapi_url": "https://learnhouse.a2acloud.io/openapi.json", + "source_openapi_urls": [ + "https://learnhouse.a2acloud.io/openapi.json" + ], + "server_urls": [ + "https://learnhouse.a2acloud.io" + ], + "regenerable": true, + "security_schemes": [] + } + }, + "input_modes": [ + "application/json" + ], + "output_modes": [ + "application/json" + ], + "required_secrets": [], + "required_env": [], + "consumer_setup": { + "fields": [ + { + "name": "OPENAPI_BASE_URL", + "kind": "config", + "label": "API base URL", + "description": "Override the default API server (https://learnhouse.a2acloud.io).", + "required": false, + "input_type": "url", + "options": [] + }, + { + "name": "LEARNHOUSE_API_KEY", + "kind": "secret", + "label": "LearnHouse API key", + "description": "Bearer token or API key for LearnHouse requests.", + "required": true, + "input_type": "password", + "options": [] + } + ] + }, + "runtime": { + "lifecycle": "ephemeral", + "availability": "on_demand", + "state": "none", + "sandbox": "microsandbox", + "resources": { + "cpu": "200m", + "memory": "512Mi", + "gpu": 0, + "max_runtime_seconds": 600 + }, + "concurrency": 1, + "egress": { + "allow_hosts": [ + "learnhouse.a2acloud.io" + ], + "allow_internal_services": [], + "deny_internet_by_default": true + }, + "tools_used": [ + "openapi", + "deepagents" + ], + "llm_provisioning": "platform", + "pricing": { + "price_per_call_usd": 0.0, + "caller_pays_llm": true, + "notes": "Uses the caller's saved LLM credential through ctx.llm." + }, + "wants_cp_jwt": false, + "platform_resources": { + "memory": null, + "databases": [] + }, + "endpoints": [], + "apt_packages": [] + }, + "template_lineage": null, + "meta_agent_manifest": null, + "state_schema": null, + "workspace_access": { + "enabled": true, + "max_files": 50, + "allowed_modes": [ + "read_only", + "read_write_overlay" + ], + "require_reason": false, + "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": "learnhouse-agent", + "version": "1.2.7", + "entrypoint": "agent:Learnhouse" + } + } +}