diff --git a/_snippets/chunking-document.mdx b/_snippets/chunking-document.mdx index b90d794e7..68e34f184 100644 --- a/_snippets/chunking-document.mdx +++ b/_snippets/chunking-document.mdx @@ -1,4 +1,4 @@ | Parameter | Type | Default | Description | | --------- | ---- | ------- | ----------- | -| `chunk_size` | `int` | `5000` | The maximum size of each chunk. | +| `chunk_size` | `int` | `5000` | Target size before overlap. A single long sentence or added overlap can produce a larger chunk. | | `overlap` | `int` | `0` | The number of characters to overlap between chunks. | diff --git a/agent-os/client/a2a-client.mdx b/agent-os/client/a2a-client.mdx index 668f05936..32febb5f5 100644 --- a/agent-os/client/a2a-client.mdx +++ b/agent-os/client/a2a-client.mdx @@ -34,10 +34,18 @@ asyncio.run(main()) Google ADK uses JSON-RPC mode: ```python +import asyncio + from agno.client.a2a import A2AClient -client = A2AClient("http://localhost:8001/", protocol="json-rpc") -result = await client.send_message(message="Hello!") + +async def main(): + client = A2AClient("http://localhost:8001/", protocol="json-rpc") + result = await client.send_message(message="Hello!") + print(result.content) + + +asyncio.run(main()) ``` ## Streaming Responses @@ -45,13 +53,19 @@ result = await client.send_message(message="Hello!") Stream responses in real-time: ```python +import asyncio + from agno.client.a2a import A2AClient -client = A2AClient("http://localhost:7003/a2a/agents/my-agent") -async for event in client.stream_message(message="Tell me a story"): - if event.is_content and event.content: - print(event.content, end="", flush=True) +async def main(): + client = A2AClient("http://localhost:7003/a2a/agents/my-agent") + async for event in client.stream_message(message="Tell me a story"): + if event.is_content and event.content: + print(event.content, end="", flush=True) + + +asyncio.run(main()) ``` ## Authentication @@ -59,17 +73,24 @@ async for event in client.stream_message(message="Tell me a story"): AgentOS instances running with `authorization=True` require a JWT on every A2A request. Pass it via `headers`: ```python +import asyncio import os from agno.client.a2a import A2AClient -client = A2AClient("https://my-agent-os.com/a2a/agents/my-agent") -headers = {"Authorization": f"Bearer {os.environ['AGENT_OS_JWT']}"} -result = await client.send_message(message="Hello!", headers=headers) +async def main(): + client = A2AClient("https://my-agent-os.com/a2a/agents/my-agent") + headers = {"Authorization": f"Bearer {os.environ['AGENT_OS_JWT']}"} -async for event in client.stream_message(message="Hello!", headers=headers): - ... + result = await client.send_message(message="Hello!", headers=headers) + print(result.content) + + async for event in client.stream_message(message="Hello!", headers=headers): + ... + + +asyncio.run(main()) ``` `send_message`, `stream_message`, and `get_agent_card` all accept `headers`. The token needs the target's run scope (`agents:run`, or per-resource `agents:my-agent:run`) for `message:send` and `message:stream`. See [Scopes](/agent-os/security/authorization/scopes) for the full mapping. diff --git a/agent-os/connect-your-os.mdx b/agent-os/connect-your-os.mdx index 0a999763a..f20956d1d 100644 --- a/agent-os/connect-your-os.mdx +++ b/agent-os/connect-your-os.mdx @@ -6,7 +6,7 @@ description: "Connect your AgentOS to the control plane for monitoring and manag ## Connect Your AgentOS 1. Open [os.agno.com](https://os.agno.com) and sign in -2. Click **"Add new OS"** +2. Click **Connect OS**