diff --git a/.a2a/agent.dsl.json b/.a2a/agent.dsl.json new file mode 100644 index 0000000..03d92fa --- /dev/null +++ b/.a2a/agent.dsl.json @@ -0,0 +1,662 @@ +{ + "schema_version": "2026-06-04", + "language": "python", + "name": "production-proof-v116-high-utili-7255-1", + "description": "One-page dashboard for software agencies to turn recurring operational updates into filters, trends, exceptions, durable history, downloads, receipts, and MCP tools.", + "version": "0.1.0", + "entrypoint": { + "module": "agent", + "class_name": "ProductionProofV116HighUtili72551", + "function": null, + "command": [] + }, + "skills": [ + { + "name": "build_dashboard", + "description": "Build the agency ops dashboard, persist history/receipt, and emit a CSV artifact.", + "handler": "build_dashboard", + "tags": [], + "scopes": [], + "stream": false, + "policy": { + "timeout_seconds": 60.0, + "idempotent": false, + "max_retries": 0, + "cost_class": "standard", + "allow_scope_expansion": false, + "grant_mode": "read_write_overlay", + "grant_allow_patterns": [ + "outputs/dashboard/**" + ], + "grant_deny_patterns": [], + "grant_outputs_prefix": "outputs/dashboard/", + "grant_write_prefixes": [ + "outputs/dashboard/" + ], + "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": { + "updates_text": { + "default": "2026-07-01 | Acme Portal | green | Sprint 18 shipped client dashboard, 3 blockers cleared, utilization 81%, margin 34%.\n2026-07-02 | Beacon CRM | yellow | API integration waiting on customer credentials; utilization 74%, margin 27%, risk: delayed approval.\n2026-07-03 | Cedar Mobile | red | Escalated crash fix is overdue; utilization 92%, margin 18%, blocker: App Store review.\n2026-07-04 | Delta RevOps | green | Retainer reporting automated; utilization 68%, margin 39%, next: expansion proposal.", + "maxLength": 6000, + "type": "string" + }, + "agency_name": { + "default": "Proofline Software Agency", + "maxLength": 80, + "type": "string" + }, + "window_label": { + "default": "This week", + "maxLength": 60, + "type": "string" + }, + "min_severity": { + "default": "all", + "pattern": "^(all|green|yellow|red)$", + "type": "string" + } + }, + "required": [], + "additionalProperties": false + }, + "output_schema": { + "$defs": { + "ArtifactDescriptor": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "media_type": { + "title": "Media Type", + "type": "string" + }, + "uri": { + "title": "Uri", + "type": "string" + }, + "size_bytes": { + "title": "Size Bytes", + "type": "integer" + }, + "content": { + "title": "Content", + "type": "string" + } + }, + "required": [ + "name", + "media_type", + "uri", + "size_bytes", + "content" + ], + "title": "ArtifactDescriptor", + "type": "object" + }, + "DashboardRow": { + "properties": { + "date": { + "title": "Date", + "type": "string" + }, + "client": { + "title": "Client", + "type": "string" + }, + "status": { + "title": "Status", + "type": "string" + }, + "update": { + "title": "Update", + "type": "string" + }, + "utilization": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Utilization" + }, + "margin": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Margin" + }, + "exception": { + "default": false, + "title": "Exception", + "type": "boolean" + } + }, + "required": [ + "date", + "client", + "status", + "update" + ], + "title": "DashboardRow", + "type": "object" + } + }, + "properties": { + "status": { + "title": "Status", + "type": "string" + }, + "run_id": { + "title": "Run Id", + "type": "string" + }, + "receipt_id": { + "title": "Receipt Id", + "type": "string" + }, + "created_at": { + "title": "Created At", + "type": "string" + }, + "agency_name": { + "title": "Agency Name", + "type": "string" + }, + "window_label": { + "title": "Window Label", + "type": "string" + }, + "filters": { + "additionalProperties": true, + "title": "Filters", + "type": "object" + }, + "trends": { + "additionalProperties": true, + "title": "Trends", + "type": "object" + }, + "exceptions": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "title": "Exceptions", + "type": "array" + }, + "dashboard_data": { + "items": { + "$ref": "#/$defs/DashboardRow" + }, + "title": "Dashboard Data", + "type": "array" + }, + "history": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "title": "History", + "type": "array" + }, + "artifact": { + "$ref": "#/$defs/ArtifactDescriptor" + }, + "summary": { + "title": "Summary", + "type": "string" + } + }, + "required": [ + "status", + "run_id", + "receipt_id", + "created_at", + "agency_name", + "window_label", + "filters", + "trends", + "exceptions", + "dashboard_data", + "history", + "artifact", + "summary" + ], + "title": "DashboardResult", + "type": "object" + } + }, + { + "name": "list_history", + "description": "List durable dashboard history for the signed-in platform user.", + "handler": "list_history", + "tags": [], + "scopes": [], + "stream": false, + "policy": { + "timeout_seconds": 30.0, + "idempotent": true, + "max_retries": 0, + "cost_class": "standard", + "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": { + "limit": { + "default": 8, + "maximum": 25, + "minimum": 1, + "type": "integer" + } + }, + "required": [], + "additionalProperties": false + }, + "output_schema": { + "properties": { + "status": { + "title": "Status", + "type": "string" + }, + "history": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "title": "History", + "type": "array" + } + }, + "required": [ + "status", + "history" + ], + "title": "HistoryResult", + "type": "object" + } + }, + { + "name": "scheduled_rollup", + "description": "Idempotent scheduled/MCP rollup that stores at most one dashboard run per run_key.", + "handler": "scheduled_rollup", + "tags": [], + "scopes": [], + "stream": false, + "policy": { + "timeout_seconds": 60.0, + "idempotent": true, + "max_retries": 0, + "cost_class": "standard", + "allow_scope_expansion": false, + "grant_mode": "read_write_overlay", + "grant_allow_patterns": [ + "outputs/dashboard/**" + ], + "grant_deny_patterns": [], + "grant_outputs_prefix": "outputs/dashboard/", + "grant_write_prefixes": [ + "outputs/dashboard/" + ], + "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": { + "run_key": { + "default": "demo-weekly-rollup", + "maxLength": 80, + "pattern": "^[A-Za-z0-9_.:-]+$", + "type": "string" + }, + "updates_text": { + "default": "2026-07-01 | Acme Portal | green | Sprint 18 shipped client dashboard, 3 blockers cleared, utilization 81%, margin 34%.\n2026-07-02 | Beacon CRM | yellow | API integration waiting on customer credentials; utilization 74%, margin 27%, risk: delayed approval.\n2026-07-03 | Cedar Mobile | red | Escalated crash fix is overdue; utilization 92%, margin 18%, blocker: App Store review.\n2026-07-04 | Delta RevOps | green | Retainer reporting automated; utilization 68%, margin 39%, next: expansion proposal.", + "maxLength": 6000, + "type": "string" + } + }, + "required": [], + "additionalProperties": false + }, + "output_schema": { + "$defs": { + "DashboardRow": { + "properties": { + "date": { + "title": "Date", + "type": "string" + }, + "client": { + "title": "Client", + "type": "string" + }, + "status": { + "title": "Status", + "type": "string" + }, + "update": { + "title": "Update", + "type": "string" + }, + "utilization": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Utilization" + }, + "margin": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Margin" + }, + "exception": { + "default": false, + "title": "Exception", + "type": "boolean" + } + }, + "required": [ + "date", + "client", + "status", + "update" + ], + "title": "DashboardRow", + "type": "object" + } + }, + "properties": { + "status": { + "title": "Status", + "type": "string" + }, + "run_key": { + "title": "Run Key", + "type": "string" + }, + "run_id": { + "title": "Run Id", + "type": "string" + }, + "receipt_id": { + "title": "Receipt Id", + "type": "string" + }, + "already_processed": { + "title": "Already Processed", + "type": "boolean" + }, + "summary": { + "title": "Summary", + "type": "string" + }, + "dashboard_data": { + "items": { + "$ref": "#/$defs/DashboardRow" + }, + "title": "Dashboard Data", + "type": "array" + } + }, + "required": [ + "status", + "run_key", + "run_id", + "receipt_id", + "already_processed", + "summary", + "dashboard_data" + ], + "title": "ScheduledRollupResult", + "type": "object" + } + } + ], + "capabilities": { + "mcp": { + "tools": [ + "build_dashboard", + "list_history", + "scheduled_rollup" + ] + }, + "schedules": { + "tool": "scheduled_rollup", + "idempotency_key": "run_key", + "note": "Safe to call from a recurring platform schedule or MCP client." + }, + "artifacts": { + "outputs": [ + "agency-ops-dashboard.csv" + ] + } + }, + "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": "500m", + "memory": "512Mi", + "gpu": 0, + "max_runtime_seconds": 120 + }, + "concurrency": 1, + "egress": { + "allow_hosts": [], + "allow_internal_services": [], + "deny_internet_by_default": true + }, + "tools_used": [ + "postgres", + "mcp", + "artifacts", + "scheduled-rollup" + ], + "llm_provisioning": "platform", + "account_access": { + "required": true, + "platform_skill_calls": 3, + "after_trial": "byok" + }, + "pricing": { + "price_per_call_usd": 0.0, + "caller_pays_llm": true, + "notes": "Account required. First 3 platform skill calls are funded; after that BYOK is required by the platform." + }, + "wants_cp_jwt": false, + "platform_resources": { + "memory": null, + "databases": [ + { + "name": "production-proof-v116-high-utili-7255-1-data", + "engine": "postgres", + "provider": "neon", + "scope": "user", + "branch": "main", + "access_mode": "read_write", + "env": { + "url": "DATABASE_URL" + }, + "migrations": { + "path": "db/migrations" + }, + "scale_to_zero": true + } + ], + "mailbox": null + }, + "endpoints": [], + "apt_packages": [] + }, + "template_lineage": null, + "meta_agent_manifest": null, + "state_schema": null, + "workspace_access": { + "enabled": true, + "max_files": 16, + "allowed_modes": [ + "read_write_overlay" + ], + "require_reason": false, + "deny_patterns": [], + "require_human_approval": false, + "max_total_size_bytes": 104857600 + }, + "config_schema": { + "properties": { + "default_window_label": { + "default": "This week", + "title": "Default Window Label", + "type": "string" + } + }, + "title": "ProductionProofV116HighUtili72551Config", + "type": "object" + }, + "auth": { + "model": "a2a_pack.auth.PlatformUserAuth", + "strategy": "platform_user", + "principal_schema": { + "additionalProperties": false, + "description": "Caller authenticated by the A2A platform session.\n\nUse this for packed frontend apps that should require a logged-in A2A\nCloud user without wiring a custom OAuth/OIDC resolver.", + "properties": { + "sub": { + "title": "Sub", + "type": "string" + }, + "user_id": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "User Id" + }, + "email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Email" + }, + "org_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Org Id" + }, + "org_slug": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Org Slug" + }, + "scopes": { + "items": { + "type": "string" + }, + "title": "Scopes", + "type": "array" + } + }, + "required": [ + "sub" + ], + "title": "PlatformUserAuth", + "type": "object" + }, + "resolver": null, + "required": true + }, + "metadata": { + "source": "python-a2a-pack", + "project_manifest": { + "name": "production-proof-v116-high-utili-7255-1", + "version": "0.1.0", + "entrypoint": "agent:ProductionProofV116HighUtili72551", + "frontend": { + "path": "frontend", + "build": "npm run build", + "dist": "dist", + "mount": "/app", + "auth": "inherit" + } + } + } +}