Skip to content

Commit 0e589cd

Browse files
author
xingjian.ym
committed
2 parents b158bd8 + a3c0fe1 commit 0e589cd

File tree

3 files changed

+72
-24
lines changed

3 files changed

+72
-24
lines changed

docs/introduction.mdx

Lines changed: 63 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -232,25 +232,69 @@ You can see demo apps of the AG-UI features with the framework of your choice, w
232232

233233
---
234234

235-
## Supported Frameworks
236-
237-
AG-UI was born from an initial partnership between CopilotKit, LangGraph and CrewAI - and is steadily gaining integrations across the wider AI developer ecosystem.
238-
239-
| Framework | Docs | Demos |
240-
| :----------------------- | :--- | :---- |
241-
| [LangGraph](https://www.langchain.com/langgraph) | [Documentation](https://docs.copilotkit.ai/langgraph/) | [Live Demo](https://dojo.ag-ui.com/langgraph-fastapi/feature/shared_state) |
242-
| [Mastra](https://mastra.ai/) | [Documentation](https://docs.copilotkit.ai/mastra/) | [Live Demo](https://dojo.ag-ui.com/mastra) |
243-
| [Pydantic AI](https://github.com/pydantic/pydantic-ai) | [Documentation](https://docs.copilotkit.ai/pydantic-ai/) | [Live Demo](https://dojo.ag-ui.com/pydantic-ai/feature/shared_state) |
244-
| [Google ADK](https://google.github.io/adk-docs/get-started/) | [Documentation](https://docs.copilotkit.ai/adk) | [Live Demo](https://dojo.ag-ui.com/adk-middleware) |
245-
| [Agno](https://github.com/agno-agi/agno) | [Documentation](https://docs.copilotkit.ai/agno/) | [Live Demo](https://dojo.ag-ui.com/agno) |
246-
| [LlamaIndex](https://github.com/run-llama/llama_index) | [Documentation](https://docs.copilotkit.ai/llamaindex/) | [Live Demo](https://dojo.ag-ui.com/llamaindex/feature/shared_state) |
247-
| [CrewAI](https://crewai.com/) | [Documentation](https://docs.copilotkit.ai/crewai-flows) | [Live Demo](https://dojo.ag-ui.com/crewai/feature/shared_state) |
248-
| [AG2](https://ag2.ai/) | [Documentation](https://docs.copilotkit.ai/ag2/) | Coming Soon |
249-
| [AWS Bedrock Agents](https://aws.amazon.com/bedrock/agents/) | In Progress | Coming Soon |
250-
| [AWS Strands Agents](https://github.com/strands-agents/sdk-python) | In Progress | Coming Soon |
251-
| [Vercel AI SDK](https://github.com/vercel/ai) | In Progress | Coming Soon |
252-
| [OpenAI Agent SDK](https://openai.github.io/openai-agents-python/) | In Progress | Coming Soon |
253-
| [Cloudflare Agents](https://developers.cloudflare.com/agents/) | Open to Contributions | Coming Soon |
235+
## Supported Integrations
236+
237+
AG-UI was born from CopilotKit's initial partnership with LangGraph and CrewAI - and brings the incredibly popular agent-user-interactivity infrastructure to the wider agentic ecosystem.
238+
239+
#### Direct to LLM
240+
241+
| Framework | Status | AG-UI Resources |
242+
| :-------- | ------ | --------------- |
243+
| Direct to LLM | Supported | [Docs](https://docs.copilotkit.ai/direct-to-llm) |
244+
245+
#### Agent Framework - Partnerships
246+
| Framework | Status | AG-UI Resources |
247+
| :-------- | ------ | --------------- |
248+
| [LangGraph](https://www.langchain.com/langgraph) | Supported | [Docs](https://docs.copilotkit.ai/langgraph/), [Demos](https://dojo.ag-ui.com/langgraph-fastapi/feature/shared_state) |
249+
| [Google ADK](https://google.github.io/adk-docs/get-started/) | Supported | [Docs](https://docs.copilotkit.ai/adk), [Demos](https://dojo.ag-ui.com/adk-middleware/feature/shared_state?openCopilot=true) |
250+
| [CrewAI](https://crewai.com/) | Supported | [Docs](https://docs.copilotkit.ai/crewai-flows), [Demos](https://dojo.ag-ui.com/crewai/feature/shared_state) |
251+
252+
#### Agent Framework - 1st Party
253+
| Framework | Status | AG-UI Resources |
254+
| :-------- | ------ | --------------- |
255+
| [Mastra](https://mastra.ai/) | Supported | [Docs](https://docs.copilotkit.ai/mastra/), [Demos](https://dojo.ag-ui.com/mastra/feature/tool_based_generative_ui) |
256+
| [Pydantic AI](https://github.com/pydantic/pydantic-ai) | Supported | [Docs](https://docs.copilotkit.ai/pydantic-ai/), [Demos](https://dojo.ag-ui.com/pydantic-ai/feature/shared_state) |
257+
| [Agno](https://github.com/agno-agi/agno) | Supported | [Docs](https://docs.copilotkit.ai/agno/), [Demos](https://dojo.ag-ui.com/agno/feature/tool_based_generative_ui) |
258+
| [LlamaIndex](https://github.com/run-llama/llama_index) | Supported | [Docs](https://docs.copilotkit.ai/llamaindex/), [Demos](https://dojo.ag-ui.com/llamaindex/feature/shared_state) |
259+
| [AG2](https://ag2.ai/) | Supported | [Docs](https://docs.copilotkit.ai/ag2/) |
260+
| [AWS Bedrock Agents](https://aws.amazon.com/bedrock/agents/) | In Progress ||
261+
| [AWS Strands Agents](https://github.com/strands-agents/sdk-python) | In Progress ||
262+
| [Microsoft Agent Framework](https://azure.microsoft.com/en-us/blog/introducing-microsoft-agent-framework/) | In Progress ||
263+
264+
#### Agent Framework - Community
265+
| Framework | Status | AG-UI Resources |
266+
| :-------- | ------ | --------------- |
267+
| [Vercel AI SDK](https://github.com/vercel/ai) | Supported | [Docs](https://github.com/ag-ui-protocol/ag-ui/tree/main/integrations/vercel-ai-sdk/typescript) |
268+
| [OpenAI Agent SDK](https://openai.github.io/openai-agents-python/) | In Progress ||
269+
| [Cloudflare Agents](https://developers.cloudflare.com/agents/) | In Progress ||
270+
271+
### Agent Interaction Protocols
272+
273+
| Protocol | Status | AG-UI Resources | Integrations |
274+
| :------- | ------ | --------------- | ------------ |
275+
| [A2A Middleware](https://a2a.org/) | Supported | [Docs](https://docs.copilotkit.ai/a2a-protocol) | Partnership |
276+
277+
### SDKs
278+
279+
| SDK | Status | AG-UI Resources | Integrations |
280+
| :-- | ------- | ---------------- | ------------- |
281+
| [Kotlin]() | Supported | [Getting Started](https://github.com/ag-ui-protocol/ag-ui/blob/main/docs/sdk/kotlin/overview.mdx) | Community |
282+
| [Golang]() | Supported | [Getting Started](https://github.com/ag-ui-protocol/ag-ui/blob/main/docs/sdk/go/overview.mdx) | Community |
283+
| [Java]() | Supported | [Getting Started](https://github.com/ag-ui-protocol/ag-ui/blob/main/docs/sdk/java/overview.mdx) | Community |
284+
| [Rust]() | Supported | [Getting Started](https://github.com/ag-ui-protocol/ag-ui/tree/main/sdks/community/rust/crates/ag-ui-client) | Community |
285+
| [.NET]() | In Progress | [PR](https://github.com/ag-ui-protocol/ag-ui/pull/38) | Community |
286+
| [Nim]() | In Progress | [PR](https://github.com/ag-ui-protocol/ag-ui/pull/29) | Community |
287+
| [Dart]() | In Progress | [PR](https://github.com/ag-ui-protocol/ag-ui/pull/432) | Community |
288+
| [Flowise]() | In Progress | [GitHub Source](https://github.com/ag-ui-protocol/ag-ui/issues/367) | Community |
289+
| [Langflow]() | In Progress | [GitHub Source](https://github.com/ag-ui-protocol/ag-ui/issues/366) | Community |
290+
291+
### Clients
292+
293+
| Client | Status | AG-UI Resources | Integrations |
294+
| :----- | ------ | --------------- | ------------ |
295+
| [CopilotKit](https://github.com/CopilotKit/CopilotKit) | Supported | [Getting Started](https://docs.copilotkit.ai/direct-to-llm/guides/quickstart) | 1st Party |
296+
| [Terminal + Agent]() | Supported | [Getting Started](https://docs.ag-ui.com/quickstart/clients) | Community |
297+
| [React Native](https://reactnative.dev/) | Help Wanted | [GitHub Source](https://github.com/ag-ui-protocol/ag-ui/issues/510) | Community |
254298

255299
---
256300

integrations/langgraph/python/ag_ui_langgraph/agent.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ async def _handle_stream_events(self, input: RunAgentInput) -> AsyncGenerator[st
235235
CustomEvent(
236236
type=EventType.CUSTOM,
237237
name=LangGraphEventTypes.OnInterrupt.value,
238-
value=json.dumps(interrupt.value, default=json_safe_stringify) if not isinstance(interrupt.value, str) else interrupt.value,
238+
value=dump_json_safe(interrupt.value),
239239
raw_event=interrupt,
240240
)
241241
)
@@ -311,7 +311,7 @@ async def prepare_stream(self, input: RunAgentInput, agent_state: State, config:
311311
CustomEvent(
312312
type=EventType.CUSTOM,
313313
name=LangGraphEventTypes.OnInterrupt.value,
314-
value=json.dumps(interrupt.value) if not isinstance(interrupt.value, str) else interrupt.value,
314+
value=dump_json_safe(interrupt.value),
315315
raw_event=interrupt,
316316
)
317317
)
@@ -741,7 +741,7 @@ async def _handle_single_event(self, event: Any, state: State) -> AsyncGenerator
741741
ToolCallArgsEvent(
742742
type=EventType.TOOL_CALL_ARGS,
743743
tool_call_id=tool_call_output.tool_call_id,
744-
delta=json.dumps(event["data"]["input"]),
744+
delta=dump_json_safe(event["data"]["input"]),
745745
raw_event=event
746746
)
747747
)
@@ -758,7 +758,7 @@ async def _handle_single_event(self, event: Any, state: State) -> AsyncGenerator
758758
type=EventType.TOOL_CALL_RESULT,
759759
tool_call_id=tool_call_output.tool_call_id,
760760
message_id=str(uuid.uuid4()),
761-
content=tool_call_output.content,
761+
content=dump_json_safe(tool_call_output.content),
762762
role="tool"
763763
)
764764
)
@@ -917,3 +917,7 @@ def get_stream_kwargs(
917917
kwargs.update(fork)
918918

919919
return kwargs
920+
921+
922+
def dump_json_safe(value):
923+
return json.dumps(value, default=json_safe_stringify) if not isinstance(value, str) else value

integrations/langgraph/python/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "ag-ui-langgraph"
3-
version = "0.0.18a0"
3+
version = "0.0.19"
44
description = "Implementation of the AG-UI protocol for LangGraph."
55
authors = ["Ran Shem Tov <[email protected]>"]
66
readme = "README.md"

0 commit comments

Comments
 (0)