Skip to content

Commit e9bb8b5

Browse files
Merge branch 'main' into litebox-readme-update
2 parents 0c8fbed + fa3c953 commit e9bb8b5

File tree

137 files changed

+26132
-2443
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+26132
-2443
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @mme @ranst91 @ataibarkai
1+
* @mme @ranst91 @ataibarkai @maxkorp @tylerslaton

.github/workflows/test.yml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: test
2+
3+
on:
4+
push:
5+
branches: main
6+
pull_request:
7+
branches: main
8+
9+
jobs:
10+
python:
11+
name: Python SDK Tests
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v4
17+
18+
- name: Set up Python
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: '3.9'
22+
23+
- name: Install Poetry
24+
uses: snok/install-poetry@v1
25+
with:
26+
version: latest
27+
virtualenvs-create: true
28+
virtualenvs-in-project: true
29+
30+
- name: Load cached venv
31+
id: cached-poetry-dependencies
32+
uses: actions/cache@v4
33+
with:
34+
path: python-sdk/.venv
35+
key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
36+
37+
- name: Install dependencies
38+
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
39+
working-directory: python-sdk
40+
run: poetry install --no-interaction --no-root
41+
42+
- name: Install project
43+
working-directory: python-sdk
44+
run: poetry install --no-interaction
45+
46+
- name: Run tests
47+
working-directory: python-sdk
48+
run: poetry run python -m unittest discover tests -v
49+
50+
typescript:
51+
name: TypeScript SDK Tests
52+
runs-on: ubuntu-latest
53+
54+
steps:
55+
- name: Checkout code
56+
uses: actions/checkout@v4
57+
58+
- name: Set up Node.js
59+
uses: actions/setup-node@v4
60+
with:
61+
node-version: '18'
62+
63+
- name: Install protoc
64+
uses: arduino/setup-protoc@v3
65+
with:
66+
version: "25.x"
67+
repo-token: ${{ secrets.GITHUB_TOKEN }}
68+
69+
- name: Install pnpm
70+
uses: pnpm/action-setup@v4
71+
with:
72+
version: 9.0.0
73+
74+
- name: Setup pnpm cache
75+
uses: actions/cache@v4
76+
with:
77+
path: ~/.local/share/pnpm/store
78+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
79+
restore-keys: |
80+
${{ runner.os }}-pnpm-store-
81+
82+
- name: Install dependencies
83+
working-directory: typescript-sdk
84+
run: pnpm install --frozen-lockfile
85+
86+
- name: Run tests
87+
working-directory: typescript-sdk
88+
run: pnpm run test

README.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# <img src="https://github.com/user-attachments/assets/ebc0dd08-8732-4519-9b6c-452ce54d8058" alt="ag-ui Logo" height="42px" /> AG-UI: The Agent-User Interaction Protocol
1+
2+
# <img src="https://github.com/user-attachments/assets/ebc0dd08-8732-4519-9b6c-452ce54d8058" alt="ag-ui Logo" width="45"/> AG-UI: The Agent-User Interaction Protocol
3+
24
AG-UI is a lightweight, event-based protocol that standardizes how AI agents connect to front-end applications. Built for simplicity and flexibility, it enables seamless integration between your AI agents and user interfaces.
35

46
[![Version](https://img.shields.io/npm/v/@ag-ui/core?label=Version&color=6963ff&logo=npm&logoColor=white)](https://www.npmjs.com/package/@ag-ui/core)
@@ -40,6 +42,8 @@ It also ships with a **reference HTTP implementation** and **default connector**
4042

4143
AG-UI was developed based on real-world requirements and practical experience building in-app agent interactions.
4244

45+
46+
4347
## Where does AGUI fit in the agentic protocol stack?
4448
AG-UI is complementary to the other 2 top agentic protocols
4549
- MCP gives agents tools
@@ -69,6 +73,7 @@ AG-UI is complementary to the other 2 top agentic protocols
6973

7074
## 🛠 Supported Frameworks
7175

76+
7277
AG-UI integrates with many popular agent frameworks
7378

7479
| Framework | Status | AG-UI Resources |
@@ -97,14 +102,21 @@ AG-UI integrates with many popular agent frameworks
97102

98103
[View all supported frameworks →](https://ag-ui.com/frameworks)
99104

105+
100106
## ✨ Hello World App
101107

102-
https://agui-demo.vercel.app/
103108

104109
Video:
105110

106111
https://github.com/user-attachments/assets/18c03330-1ebc-4863-b2b8-cc6c3a4c7bae
107112

113+
https://agui-demo.vercel.app/
114+
115+
Video:
116+
117+
https://github.com/user-attachments/assets/a67d3d54-36b2-4c7a-ac69-a0ca01365d5b
118+
119+
108120

109121
## 🧩 AG-UI Showcase: The AG-UI Dojo (Building-Blocks Viewer)
110122
The [AG-UI Dojo](https://copilotkit-feature-viewer.vercel.app/) showcases many of the building blocks that AG-UI supports ([AG-UI Dojo Source Code](https://github.com/ag-ui-protocol/ag-ui/tree/main/typescript-sdk/apps/dojo)).
@@ -130,6 +142,3 @@ Check out the [AG-UI Roadmap](https://github.com/orgs/ag-ui-protocol/projects/1)
130142

131143
AG-UI is open source software [licensed as MIT](https://opensource.org/licenses/MIT).
132144
Maintained by [AG Protocol](https://www.agprotocol.ai).
133-
134-
135-

docs/concepts/events.mdx

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,14 @@ The `RunFinished` event indicates that an agent has successfully completed all
9595
its work for the current run. Upon receiving this event, frontends should
9696
finalize any UI states that were waiting on the agent's completion. This event
9797
marks a clean termination point and indicates that no further processing will
98-
occur in this run unless explicitly requested.
98+
occur in this run unless explicitly requested. The optional `result` field can
99+
contain any output data produced by the agent run.
99100

100101
| Property | Description |
101102
| ---------- | ----------------------------- |
102103
| `threadId` | ID of the conversation thread |
103104
| `runId` | ID of the agent run |
105+
| `result` | Optional result data from run |
104106

105107
### RunError
106108

@@ -255,6 +257,9 @@ sequenceDiagram
255257
256258
Note over Agent,Client: Tool call completes
257259
Agent->>Client: ToolCallEnd
260+
261+
Note over Agent,Client: Tool execution result
262+
Agent->>Client: ToolCallResult
258263
```
259264

260265
The `ToolCallArgs` events each contain a `delta` field with a chunk of the
@@ -314,6 +319,26 @@ received the results.
314319
| ------------ | ----------------------------------- |
315320
| `toolCallId` | Matches the ID from `ToolCallStart` |
316321

322+
### ToolCallResult
323+
324+
Provides the result of a tool call execution.
325+
326+
The `ToolCallResult` event delivers the output or result from a tool that was
327+
previously invoked by the agent. This event is sent after the tool has been
328+
executed by the system and contains the actual output generated by the tool.
329+
Unlike the streaming pattern of tool call specification (start, args, end), the
330+
result is delivered as a complete unit since tool execution typically produces a
331+
complete output. Frontends can use this event to display tool results to users,
332+
append them to the conversation history, or trigger follow-up actions based on
333+
the tool's output.
334+
335+
| Property | Description |
336+
| ------------ | ----------------------------------------------------------- |
337+
| `messageId` | ID of the conversation message this result belongs to |
338+
| `toolCallId` | Matches the ID from the corresponding `ToolCallStart` event |
339+
| `content` | The actual result/output content from the tool execution |
340+
| `role` | Optional role identifier, typically "tool" for tool results |
341+
317342
## State Management Events
318343

319344
These events are used to manage and synchronize the agent's state with the

docs/docs.json

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"group": "Quickstart",
2222
"pages": [
2323
"quickstart/applications",
24+
"quickstart/clients",
2425
{
2526
"group": "Build integrations",
2627
"pages": [
@@ -30,8 +31,7 @@
3031
]
3132
}
3233
]
33-
},
34-
"integrations"
34+
}
3535
]
3636
},
3737
{
@@ -68,7 +68,12 @@
6868
},
6969
{
7070
"group": "@ag-ui/client",
71-
"pages": ["sdk/js/client/overview"]
71+
"pages": [
72+
"sdk/js/client/overview",
73+
"sdk/js/client/abstract-agent",
74+
"sdk/js/client/http-agent",
75+
"sdk/js/client/subscriber"
76+
]
7277
},
7378
"sdk/js/encoder",
7479
"sdk/js/proto"
@@ -132,6 +137,12 @@
132137
},
133138
"indexing": "navigable"
134139
},
140+
"integrations": {
141+
"posthog": {
142+
"apiKey": "phc_XZdymVYjrph9Mi0xZYGNyCKexxgblXRR1jMENCtdz5Q",
143+
"apiHost": "https://eu.posthog.com"
144+
}
145+
},
135146
"footer": {
136147
"socials": {
137148
"github": "https://github.com/ag-ui-protocol/ag-ui"

0 commit comments

Comments
 (0)