Skip to content

Conversation

mattsp1290
Copy link

This PR adds a Dart SDK.

Abubakar-01 and others added 30 commits July 18, 2025 00:12
Signed-off-by: Tyler Slaton <[email protected]>
Add type literals for the new event types in the Python SDK, so users
don't have to manually set the type field when creating event instances.
* fix(typescript-sdk): random build failures

Due to the way pnpm runs scripts in parallel, some packages were not
ready when others tried to access them, leading to random build
failures.

Fixes applied to eliminate race conditions:
- Disable clean in tsup config files
- Use the same clean method across all packages

Also:
- Add clean script to the root package.json for consistency
- Disable minify when watch is enabled for performance

Fixes ag-ui-protocol#59

* chore(typescript-sdk): clean root level

Clean the typescript SDK root level, which was previously missing,
requiring manual clean up on some changes.
Signed-off-by: Tyler Slaton <[email protected]>
* feat: Pydantic AI support

Add support for the Pydantic AI integration.

Add missing background change confirmation.

Increase agentic generation ui page size to allow it to display results
from the Pydantic AI integration better.

Add a description for the human in the loop generate_task_steps tool, so
the Pydantic AI example works as expected.

Merge write_document and confirm_changes tool into one, which allows it
work correctly with the Pydantic AI example, without the need for the
agent to perform two separate tool calls.

Sort the features, so they are easier to find when reading the code and
implementing new integrations.

Fixes: #5

* chore: revert sorting of features

Revert the sorting of features, as per review feedback.

* fix: predictive state examples

Fix predictive state examples by renaming the `write_document` tool to
`write_document_local` and updating the metadata accordingly. This
ensures that the examples correctly reflect the intended functionality
of the predictive state updates, while still allowing the Pydantic AI
example to leverage the AG-UI defined `write_document` tool.

Restore the `confirm_changes` tool to enable the confirmation of
changes for existing examples.
…isabling-of-sidebar

chore: add disabling of dojo sidebar and integration picker
Signed-off-by: Tyler Slaton <[email protected]>
* Wrap sidebar in a suspense so useSearchParams doesn't blow up

* Cleanup unused code from main layout
We have bumped @mastra/core to 0.11.0
mattsp1290 and others added 15 commits September 11, 2025 09:24
- Added thinkingContent to EventType enum
- Created ThinkingContentEvent class with delta field for content streaming
- Added case handling in BaseEvent.fromJson() for THINKING_CONTENT events
- Added validation for ThinkingContentEvent in decoder
- Updated integration test to use proper ThinkingContentEvent type

This fixes the failing test that was expecting THINKING_CONTENT events
to be properly decoded from the fixture data.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Resolved conflicts in README.md by keeping the comprehensive documentation
from the docs/example-readme branch which includes:
- Detailed usage examples
- Complete API documentation
- Multiple code snippets for different use cases
- Environment variable configuration
- Error handling examples
- End-to-end implementation example

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add comprehensive CHANGELOG.md following Keep a Changelog format
- Restructure README.md with improved sections and formatting
  - Add badges for GitHub, Dart SDK, and protocol
  - Simplify section headers and streamline content
  - Remove duplicate content between sections
- Enhance pubspec.yaml metadata
  - Add repository, issue tracker, and documentation links
  - Add topics for better package discoverability
  - Update minimum SDK version to 3.3.0
- Add dartdoc comments to all public APIs
  - Document main library with features and examples
  - Add class-level documentation for client, config, and types
  - Include method documentation with parameters and return values
  - Add usage examples in documentation comments

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Added 243+ new unit tests across all major components:
  - SSE components (client, parser, messages, backoff)
  - Types and models (base, context, message, tool)
  - Encoder/decoder components (codec, errors, stream adapter)
  - Event types and handling
  - Client configuration

- Fixed SSE client tests to avoid hanging issues
  - Simplified test approach to avoid MockClient.streaming complexity
  - Created focused unit tests for SSE stream parsing

- Removed inappropriate integration tests
  - Removed tests requiring TypeScript SDK infrastructure
  - Preserved valid integration tests (event_decoding, fixtures)

- Added ConstantBackoff implementation for testing
- Removed skipped SSE retry tests (protocol limitation)
- Added TEST_GUIDE.md documentation

All 415 tests now pass successfully with no failures or skips.

🤖 Generated with Claude Code

Co-Authored-By: Claude <[email protected]>
Add complete documentation for the AG-UI Dart SDK including:
- Main SDK overview with quick start guide
- Client package documentation (AgUiClient, configuration)
- Core types documentation (RunAgentInput, Messages, Context, Tools, State)
- Events system documentation (lifecycle, text message, tool call, state events)
- Encoder/decoder documentation (binary protocol, compression, streaming)

Documentation follows the same structure and style as TypeScript and Python SDKs
for consistency across all language implementations.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Remove references to non-existent Flutter example app and update to
accurately describe the CLI example that is actually provided.

The SDK supports Flutter but the current example is a CLI tool demonstrating
the protocol functionality.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Add Dart SDK test job to run tests on every push and PR. Includes:
- Dart stable SDK setup
- Pub cache for faster builds
- Test execution with expanded reporter for detailed output

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@mattsp1290
Copy link
Author

Not sure what has happened with git history in ag-ui-protocol, but git histories have diverged somewhere. The current state of this was me only editing the new dart files. But had an issue where I couldn't merge main back into my branch or open a PR against this repo with git merge main --no-ff --allow-unrelated-histories.

@mattsp1290 mattsp1290 mentioned this pull request Sep 28, 2025
@tylerslaton
Copy link
Contributor

Really excited to dig into this @mattsp1290 :)

@NathanTarbert
Copy link
Contributor

@mattsp1290, is there anything we can assist you with?

You mentioned the git histories, but did that get resolved?

@mattsp1290
Copy link
Author

@mattsp1290, is there anything we can assist you with?

You mentioned the git histories, but did that get resolved?

I resolved it and a squash commit on merge will probably fix there here. But if you look at the commit history on this PR you'll see it's a little odd. Included a bunch of TypeScript changes that are not part of this PR. This happened after merging main from ag-ui to main on my fork and merging that into my branch. Until I forced those commits to merge in GitHub thought my dart branch and main ag-ui didn't share a git history.

I don't think there is anything I need from the AG-UI team around this at present. But I guess heads up if other folks see this over time.

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.