Regenerate tasks API agent with epics

This commit is contained in:
2026-05-28 12:50:00 -03:00
parent 041f3e65b6
commit d365e4e2b7
3 changed files with 895 additions and 2 deletions

View File

@@ -3,7 +3,7 @@
Generated A2APack agent for Tasks API. Generated A2APack agent for Tasks API.
- Source OpenAPI: https://tasks.a2acloud.io/openapi.json - Source OpenAPI: https://tasks.a2acloud.io/openapi.json
- Generated operations: 6 - Generated operations: 12
- Main skill: `auto` - Main skill: `auto`
The generated code is intentionally editable. Tune prompts, operation The generated code is intentionally editable. Tune prompts, operation

125
agent.py

File diff suppressed because one or more lines are too long

View File

@@ -13,6 +13,269 @@
"title": "DeleteOut", "title": "DeleteOut",
"type": "object" "type": "object"
}, },
"EpicCreate": {
"properties": {
"description": {
"default": "",
"maxLength": 10000,
"title": "Description",
"type": "string"
},
"due_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due At"
},
"labels": {
"items": {
"type": "string"
},
"maxItems": 20,
"title": "Labels",
"type": "array"
},
"priority": {
"default": 0,
"maximum": 100.0,
"minimum": -100.0,
"title": "Priority",
"type": "integer"
},
"status": {
"default": "todo",
"enum": [
"todo",
"in_progress",
"done",
"canceled"
],
"title": "Status",
"type": "string"
},
"title": {
"maxLength": 240,
"minLength": 1,
"title": "Title",
"type": "string"
}
},
"required": [
"title"
],
"title": "EpicCreate",
"type": "object"
},
"EpicListOut": {
"properties": {
"epics": {
"items": {
"$ref": "#/components/schemas/EpicOut"
},
"title": "Epics",
"type": "array"
},
"limit": {
"title": "Limit",
"type": "integer"
},
"offset": {
"title": "Offset",
"type": "integer"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"epics",
"total",
"limit",
"offset"
],
"title": "EpicListOut",
"type": "object"
},
"EpicOut": {
"properties": {
"completed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"due_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due At"
},
"id": {
"title": "Id",
"type": "string"
},
"labels": {
"items": {
"type": "string"
},
"title": "Labels",
"type": "array"
},
"priority": {
"title": "Priority",
"type": "integer"
},
"status": {
"enum": [
"todo",
"in_progress",
"done",
"canceled"
],
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"id",
"title",
"description",
"status",
"priority",
"labels",
"due_at",
"completed_at",
"created_at",
"updated_at"
],
"title": "EpicOut",
"type": "object"
},
"EpicUpdate": {
"properties": {
"description": {
"anyOf": [
{
"maxLength": 10000,
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"due_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due At"
},
"labels": {
"anyOf": [
{
"items": {
"type": "string"
},
"maxItems": 20,
"type": "array"
},
{
"type": "null"
}
],
"title": "Labels"
},
"priority": {
"anyOf": [
{
"maximum": 100.0,
"minimum": -100.0,
"type": "integer"
},
{
"type": "null"
}
],
"title": "Priority"
},
"status": {
"anyOf": [
{
"enum": [
"todo",
"in_progress",
"done",
"canceled"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"maxLength": 240,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "EpicUpdate",
"type": "object"
},
"HTTPValidationError": { "HTTPValidationError": {
"properties": { "properties": {
"detail": { "detail": {
@@ -77,6 +340,18 @@
], ],
"title": "Due At" "title": "Due At"
}, },
"epic_id": {
"anyOf": [
{
"maxLength": 36,
"type": "string"
},
{
"type": "null"
}
],
"title": "Epic Id"
},
"labels": { "labels": {
"items": { "items": {
"type": "string" "type": "string"
@@ -182,6 +457,17 @@
], ],
"title": "Due At" "title": "Due At"
}, },
"epic_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Epic Id"
},
"id": { "id": {
"title": "Id", "title": "Id",
"type": "string" "type": "string"
@@ -225,6 +511,7 @@
"priority", "priority",
"labels", "labels",
"due_at", "due_at",
"epic_id",
"completed_at", "completed_at",
"created_at", "created_at",
"updated_at" "updated_at"
@@ -258,6 +545,18 @@
], ],
"title": "Due At" "title": "Due At"
}, },
"epic_id": {
"anyOf": [
{
"maxLength": 36,
"type": "string"
},
{
"type": "null"
}
],
"title": "Epic Id"
},
"labels": { "labels": {
"anyOf": [ "anyOf": [
{ {
@@ -382,6 +681,460 @@
}, },
"openapi": "3.1.0", "openapi": "3.1.0",
"paths": { "paths": {
"/api/epics": {
"get": {
"operationId": "listEpics",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"enum": [
"todo",
"in_progress",
"done",
"canceled"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "q",
"required": false,
"schema": {
"anyOf": [
{
"maxLength": 120,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "Q"
}
},
{
"in": "query",
"name": "due_before",
"required": false,
"schema": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Before"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EpicListOut"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"security": [
{
"bearerAuth": []
},
{
"apiKeyAuth": []
}
],
"summary": "List Epics",
"tags": [
"Epics"
]
},
"post": {
"operationId": "createEpic",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EpicCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EpicOut"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"security": [
{
"bearerAuth": []
},
{
"apiKeyAuth": []
}
],
"summary": "Create Epic",
"tags": [
"Epics"
]
}
},
"/api/epics/{epic_id}": {
"delete": {
"operationId": "deleteEpic",
"parameters": [
{
"in": "path",
"name": "epic_id",
"required": true,
"schema": {
"title": "Epic Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteOut"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"security": [
{
"bearerAuth": []
},
{
"apiKeyAuth": []
}
],
"summary": "Delete Epic",
"tags": [
"Epics"
]
},
"get": {
"operationId": "getEpic",
"parameters": [
{
"in": "path",
"name": "epic_id",
"required": true,
"schema": {
"title": "Epic Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EpicOut"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"security": [
{
"bearerAuth": []
},
{
"apiKeyAuth": []
}
],
"summary": "Get Epic",
"tags": [
"Epics"
]
},
"patch": {
"operationId": "updateEpic",
"parameters": [
{
"in": "path",
"name": "epic_id",
"required": true,
"schema": {
"title": "Epic Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EpicUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EpicOut"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"security": [
{
"bearerAuth": []
},
{
"apiKeyAuth": []
}
],
"summary": "Update Epic",
"tags": [
"Epics"
]
}
},
"/api/epics/{epic_id}/tasks": {
"get": {
"operationId": "listEpicTasks",
"parameters": [
{
"in": "path",
"name": "epic_id",
"required": true,
"schema": {
"title": "Epic Id",
"type": "string"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"enum": [
"todo",
"in_progress",
"done",
"canceled"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "q",
"required": false,
"schema": {
"anyOf": [
{
"maxLength": 120,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "Q"
}
},
{
"in": "query",
"name": "due_before",
"required": false,
"schema": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Before"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskListOut"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"security": [
{
"bearerAuth": []
},
{
"apiKeyAuth": []
}
],
"summary": "List Epic Tasks",
"tags": [
"Epics"
]
}
},
"/api/tasks": { "/api/tasks": {
"get": { "get": {
"operationId": "listTasks", "operationId": "listTasks",
@@ -443,6 +1196,23 @@
"title": "Due Before" "title": "Due Before"
} }
}, },
{
"in": "query",
"name": "epic_id",
"required": false,
"schema": {
"anyOf": [
{
"maxLength": 36,
"type": "string"
},
{
"type": "null"
}
],
"title": "Epic Id"
}
},
{ {
"in": "query", "in": "query",
"name": "limit", "name": "limit",