{"id":45952797,"url":"https://github.com/zeroasterisk/a2a-opt","last_synced_at":"2026-02-28T13:01:52.903Z","repository":{"id":338697362,"uuid":"1158274532","full_name":"zeroasterisk/a2a-opt","owner":"zeroasterisk","description":"A2A Objective-Plan-Task Extension - Hierarchical task management for AI agents","archived":false,"fork":false,"pushed_at":"2026-02-15T22:30:58.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-16T06:04:51.175Z","etag":null,"topics":["a2a","agent","ai","extension","task-management"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeroasterisk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-15T04:34:36.000Z","updated_at":"2026-02-15T22:31:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zeroasterisk/a2a-opt","commit_stats":null,"previous_names":["zeroasterisk/a2a-opt"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/zeroasterisk/a2a-opt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroasterisk%2Fa2a-opt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroasterisk%2Fa2a-opt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroasterisk%2Fa2a-opt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroasterisk%2Fa2a-opt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeroasterisk","download_url":"https://codeload.github.com/zeroasterisk/a2a-opt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroasterisk%2Fa2a-opt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29934956,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T13:00:17.143Z","status":"ssl_error","status_checked_at":"2026-02-28T12:59:13.669Z","response_time":90,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a2a","agent","ai","extension","task-management"],"created_at":"2026-02-28T13:01:52.220Z","updated_at":"2026-02-28T13:01:52.871Z","avatar_url":"https://github.com/zeroasterisk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A2A OPT Extension\n[![CI](https://github.com/zeroasterisk/a2a-opt/actions/workflows/ci.yml/badge.svg)](https://github.com/zeroasterisk/a2a-opt/actions/workflows/ci.yml) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)\n\n\n\u003e ⚠️ **Beta** — Tested and working, but spec may evolve. Feedback welcome!\n\n**Objective-Plan-Task:** Hierarchical task management for [A2A Protocol](https://a2a-protocol.org).\n\n🎯 **Extension URI:** `https://github.com/zeroasterisk/a2a-opt/v1`\n\n## Why?\n\nA2A's Task model handles single interactions. Complex work needs hierarchy:\n\n```\nObjective: \"Write blog post about AI safety\"\n├── Plan: Research\n│   ├── Task: Search papers\n│   └── Task: Summarize findings\n└── Plan: Writing\n    ├── Task: Create outline\n    └── Task: Write draft\n```\n\nOPT adds this to A2A. Any A2A-compatible agent can use it.\n\n## Quick Start\n\n```javascript\n// 1. Create objective\n{ \"method\": \"objectives/create\", \"params\": { \"name\": \"Write blog post\" } }\n\n// 2. Add plan with tasks\n{ \"method\": \"plans/create\", \"params\": { \n  \"objectiveId\": \"obj-123\",\n  \"name\": \"Research\",\n  \"tasks\": [\n    { \"name\": \"Search papers\" },\n    { \"name\": \"Summarize findings\" }\n  ]\n}}\n\n// 3. Update status (cascades automatically!)\n{ \"method\": \"tasks/updateStatus\", \"params\": { \"id\": \"task-0\", \"status\": \"completed\" } }\n```\n\n## Data Model\n\n### Objective\nTop-level goal.\n\n```typescript\n{\n  id: \"obj-123\",\n  name: \"Write blog post\",\n  status: \"working\",  // submitted|planning|working|blocked|completed|failed|canceled\n  plans: [...]\n}\n```\n\n### Plan\nStructured approach with ordered tasks.\n\n```typescript\n{\n  id: \"plan-456\",\n  objectiveId: \"obj-123\",\n  name: \"Research Phase\",\n  status: \"working\",  // pending|working|blocked|completed|failed|skipped\n  tasks: [...]\n}\n```\n\n### PlanTask\nIndividual work item, links to A2A Task.\n\n```typescript\n{\n  id: \"task-789\",\n  planId: \"plan-456\",\n  name: \"Search papers\",\n  taskIndex: 0,\n  status: \"completed\",\n  a2aTaskId: \"a2a-task-abc\"  // optional link\n}\n```\n\n## Methods\n\n| Method | Description |\n|--------|-------------|\n| `objectives/create` | Create objective |\n| `objectives/get` | Get with plans/tasks |\n| `objectives/list` | List (filter by status) |\n| `objectives/update` | Update status |\n| `plans/create` | Create plan with tasks |\n| `plans/get` | Get plan |\n| `plans/update` | Update status |\n| `tasks/link` | Link to A2A task |\n| `tasks/updateStatus` | Update (cascades up!) |\n\n## Metadata Keys\n\nLink A2A Tasks to OPT hierarchy:\n\n| Key | Type | Description |\n|-----|------|-------------|\n| `opt/v1/objectiveId` | string | Parent objective |\n| `opt/v1/planId` | string | Parent plan |\n| `opt/v1/taskIndex` | number | Position in plan |\n\n## Agent Card\n\nDeclare OPT support:\n\n```json\n{\n  \"capabilities\": {\n    \"extensions\": [{\n      \"uri\": \"https://github.com/zeroasterisk/a2a-opt/v1\",\n      \"required\": false\n    }]\n  }\n}\n```\n\n## Implementations\n\n| Implementation | Status |\n|----------------|--------|\n| [OpenClaw A2A Plugin](https://github.com/zeroasterisk/openclaw-a2a) | ✅ Ready |\n\n## Use Cases\n\n- **Multi-step projects** — Track phases with dependencies\n- **Human-in-the-loop** — Block plans awaiting approval\n- **Multi-agent orchestration** — Delegate plans to specialists\n- **Progress visibility** — Show completion in UI\n\n## Links\n\n- [A2A Protocol](https://a2a-protocol.org)\n- [A2A Extensions Guide](https://a2a-protocol.org/latest/topics/extensions/)\n- [OpenClaw](https://openclaw.ai)\n\n## License\n\nApache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroasterisk%2Fa2a-opt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeroasterisk%2Fa2a-opt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroasterisk%2Fa2a-opt/lists"}