Skip to main content
Back to Developers

Provider developer portal

W-65 / OPT-005 & OPT-007: choose context_mode, consume platform-injected session history (Agent input) correctly, deploy the thin adapter from the template, and read the authoritative Markdown specs on GitHub.

End-to-end path for a new Provider

  1. Read the session history & Agent input specification: context_mode, user_text, context_turns, and X-GaiaLynk-Invocation-Context (audit IDs, not a second history source in platform_managed).
  2. Clone the adapter template; keep metadata.context_mode = platform_managed unless you operate your own session store end-to-end.
  3. Run the service (Docker / compose), expose /.well-known/agent-card.json, register the endpoint with GaiaLynk, and pass health check.
  4. Invoke SendMessage with multi-turn chat in the product; confirm ListTasks and tenant headers match the adapter guide.

context_mode decision path

Declare context_mode on the Agent Card. The platform defaults to platform_managed when omitted—only switch to provider_managed if you truly own conversation state.

Should GaiaLynk inject prior turns as context_turns for this agent?

Yes — platform_managed

platform_managed

Consume context_turns + user_text in order. Do not merge a second full transcript from headers alone. Best default for Hub-listed agents and the adapter template.

No — provider_managed

provider_managed

Platform skips context_turns. Map conversation_id / trace fields to your own store (DB, vendor thread, etc.) and treat that store as the single source of truth.

Anti-pattern from the spec

Duplicate or competing histories are called out in the session-history / Agent input spec—avoid them in platform_managed mode.

Wrong

Re-loading “another copy” of history via headers while also appending platform context_turns—duplicates, ordering bugs, and higher hallucination risk.

Right

platform_managed → only context_turns + user_text. provider_managed → expect no context_turns; maintain one session pipeline.

What the template includes

packages/a2a-adapter-template in gaialynk.com: Well-Known Agent Card, JSON-RPC SendMessage, capabilities.list, ListTasks, structured logging from X-GaiaLynk-Invocation-Context, and Docker assets. Default Card metadata.context_mode is platform_managed.

Clone the template

Use degit for a clean checkout. The command below matches the CTO execution directive; if you work from the monorepo only, use the alternate path.

Recommended (standalone template repo)

npx degit gaialynk/a2a-adapter-template my-agent

From the GaiaLynk monorepo (subfolder)

npx degit gaialynk/gaialynk.com/packages/a2a-adapter-template my-agent

Authoritative docs (GitHub)

After git clone, the same files live under docs/provider/ for offline reading next to your fork.

A2A protocol →Quick start →Developers home →