Skip to content

OpenCode: serve and delegate A2A tasks#9

Open
dimavrem22 wants to merge 4 commits into
fix/remove-paused-write-contractsfrom
feat/a2a-v1
Open

OpenCode: serve and delegate A2A tasks#9
dimavrem22 wants to merge 4 commits into
fix/remove-paused-write-contractsfrom
feat/a2a-v1

Conversation

@dimavrem22

@dimavrem22 dimavrem22 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Decisions

  • Durability: Store each receiver delivery before acknowledgement, reconcile the registry first on restart, and then page all submitted tasks.
  • Session isolation: Serialize inbound work in a2a:{identity}:{context} sessions and authorize complete, ask-caller, and fail through active turn context only.
  • Delegation continuity: Persist outbound message/retry data before SendMessage, promote it to (identity, RPC origin, context), and inject later task updates into the original OpenCode session.
  • Write controls: Reuse the existing outbound approval and recipient allowlist for A2A calls and replies.
  • Compatibility: Keep the base SDK range for non-A2A users, while documenting that A2A requires @inkbox/sdk 0.5.6 or newer.

Changes

  • Add default-enabled A2A call, check/wait, reply, and inbound outcome tools.
  • Add durable inbound serving, task-addressed cancellation, context serialization, restart recovery, and guarded default completion.
  • Add durable caller-side delegation routing and sent-task update injection.
  • Document the A2A tool group and bump the plugin to 0.1.1.

Related pull requests

Merge order

Merge after the paused-contract base PR, backend deployment, and SDK 0.5.6 release.

Verification\n\n- Staged rollout remains compatible with an API that does not yet accept A2A webhook event types; legacy identity events continue and full A2A reconciliation retries on the next startup.\n- npm run lint

  • npm run typecheck
  • npm test: 640 passed.
  • npm run build

@dimavrem22
dimavrem22 marked this pull request as ready for review July 24, 2026 05:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant