From b39f499de428329b8d3a967b48e3470225aaf73b Mon Sep 17 00:00:00 2001 From: a2a-platform Date: Sun, 21 Jun 2026 16:00:25 +0000 Subject: [PATCH] deploy --- .codegraph/.gitignore | 16 ---------------- a2a.yaml | 2 +- agent.py | 7 +++---- 3 files changed, 4 insertions(+), 21 deletions(-) delete mode 100644 .codegraph/.gitignore diff --git a/.codegraph/.gitignore b/.codegraph/.gitignore deleted file mode 100644 index 9de0f16..0000000 --- a/.codegraph/.gitignore +++ /dev/null @@ -1,16 +0,0 @@ -# CodeGraph data files -# These are local to each machine and should not be committed - -# Database -*.db -*.db-wal -*.db-shm - -# Cache -cache/ - -# Logs -*.log - -# Hook markers -.dirty diff --git a/a2a.yaml b/a2a.yaml index de184ec..5722b8b 100644 --- a/a2a.yaml +++ b/a2a.yaml @@ -4,7 +4,7 @@ entrypoint: agent:TasksApi description: API-only service for tracking tasks in Postgres. runtime: resources: - cpu: 1000m + cpu: 200m memory: 512Mi egress: allow_hosts: diff --git a/agent.py b/agent.py index 59a7b4b..3918960 100644 --- a/agent.py +++ b/agent.py @@ -31,7 +31,7 @@ OPERATIONS = json.loads("{\n \"create_crm_entity\": {\n \"base_url\": \"http OPERATION_GROUPS = json.loads("[]") ROOT_SECURITY = json.loads("[]") SECURITY_SCHEMES = json.loads("{\n \"apiKeyAuth\": {\n \"description\": \"Use the configured `TASKS_API_KEY` value.\",\n \"in\": \"header\",\n \"name\": \"x-api-key\",\n \"type\": \"apiKey\"\n },\n \"bearerAuth\": {\n \"description\": \"Use `Authorization: Bearer $TASKS_API_KEY`.\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n}") -SECURITY_FIELDS = json.loads("{\n \"apiKeyAuth\": {\n \"field\": \"X_API_KEY\",\n \"kind\": \"apiKey\",\n \"location\": \"header\",\n \"name\": \"x-api-key\"\n },\n \"bearerAuth\": {\n \"field\": \"BEARERAUTH_TOKEN\",\n \"kind\": \"http\",\n \"scheme\": \"bearer\"\n }\n}") +SECURITY_FIELDS = json.loads("{\n \"apiKeyAuth\": {\n \"field\": \"TASKS_API_KEY\",\n \"kind\": \"apiKey\",\n \"location\": \"header\",\n \"name\": \"x-api-key\"\n },\n \"bearerAuth\": {\n \"field\": \"TASKS_API_KEY\",\n \"kind\": \"http\",\n \"scheme\": \"bearer\"\n }\n}") PATH_PARAMETER_RE = re.compile(r"{([^}/]+)}") SOURCE_ROOT = Path(globals().get("__file__", "agent.py")).resolve().parent SOURCE_SKILLS_DIR = SOURCE_ROOT / "skills" @@ -52,8 +52,7 @@ class TasksApi(A2AAgent): version = "0.1.0" consumer_setup = ConsumerSetup.from_fields( ConsumerSetupField.config("OPENAPI_BASE_URL", label="API base URL", description="Override the default API server (https://tasks.a2acloud.io).", required=False, input_type="url"), - ConsumerSetupField.secret("BEARERAUTH_TOKEN", label="bearerAuth bearer credential", description="Use `Authorization: Bearer $TASKS_API_KEY`.", required=True), - ConsumerSetupField.secret("X_API_KEY", label="apiKeyAuth API key", description="Use the configured `TASKS_API_KEY` value.", required=True), + ConsumerSetupField.secret("TASKS_API_KEY", label="bearerAuth bearer credential", description="Use `Authorization: Bearer $TASKS_API_KEY`. Use the configured `TASKS_API_KEY` value.", required=True), ) llm_provisioning = LLMProvisioning.PLATFORM pricing = Pricing( @@ -83,7 +82,7 @@ class TasksApi(A2AAgent): name="auto", description="Use the OpenAPI service to complete a natural-language goal.", tags=("openapi", "auto"), - timeout_seconds=180, + timeout_seconds=900, ) async def auto(self, ctx: RunContext, goal: str) -> dict[str, Any]: creds = ctx.llm