Skip to content

Conversation

@CasperGN
Copy link

This PR introduces Dapr Agents as a KAgent with sample setup.

The Agent is using Dapr Agents DurableAgent to provide durable and reliable execution.

Note: I had to exclude the kagent-dapr from the uv workspace as the google-adkdep has a transient dependency on opentelemetry-sdk <1.39.0 and dapr-agents requires opentelemetry-sdk >=1.39.

… Add sample folder with demo. Add test cases. Ensure documenting how to get dapr up and running + add required components

Signed-off-by: Casper Nielsen <casper@diagrid.io>
Copilot AI review requested due to automatic review settings February 11, 2026 12:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Python integration package (kagent-dapr) to expose Dapr Agents DurableAgent via KAgent’s A2A protocol, plus a Kubernetes-ready sample (manifests + Dockerfile) demonstrating durable execution backed by Dapr Workflow + Redis.

Changes:

  • Introduces python/packages/kagent-dapr with a FastAPI A2A app builder and a DaprDurableAgentExecutor, plus unit tests.
  • Adds a full Dapr sample under python/samples/dapr/ (agent code, agent card, k8s manifests, components, Dockerfile, docs).
  • Updates the Python uv workspace configuration and Makefile to accommodate/build the new sample.

Reviewed changes

Copilot reviewed 24 out of 31 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
python/samples/dapr/dapr-agent/pyproject.toml Sample project definition and local path sources for kagent packages
python/samples/dapr/dapr-agent/agent.py Minimal DurableAgent + KAgentApp server entrypoint
python/samples/dapr/dapr-agent/agent-card.json Agent card used by the A2A server
python/samples/dapr/components/redis.yaml Redis deployment/service/secret for Dapr components
python/samples/dapr/components/agent-*.yaml Dapr state/pubsub components for workflow/runtime/registry/memory
python/samples/dapr/agent.yaml KAgent Agent CR for BYO deployment with Dapr sidecar injection
python/samples/dapr/README.md Setup and usage documentation for the sample
python/samples/dapr/Dockerfile Container image build for the Dapr sample agent
python/pyproject.toml uv workspace membership/exclusions updated for Dapr-related dependency conflicts
python/packages/kagent-dapr/src/kagent/dapr/_durable.py Durable workflow-backed A2A executor implementation
python/packages/kagent-dapr/src/kagent/dapr/_a2a.py FastAPI app builder wiring A2A server + durable executor
python/packages/kagent-dapr/tests/test_*.py Unit tests for durable executor and app build behavior
python/packages/kagent-core/src/kagent/core/tracing/_span_processor.py Typing update for span attribute setter
python/packages/kagent-core/src/kagent/core/tracing/init.py Re-exports span processor helpers in tracing package
python/Makefile Adds dapr-agent-sample docker build target

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

CasperGN and others added 6 commits February 11, 2026 13:56
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Casper Nielsen <whopsec@protonmail.com>
Signed-off-by: Casper Nielsen <casper@diagrid.io>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Casper Nielsen <whopsec@protonmail.com>
Signed-off-by: Casper Nielsen <casper@diagrid.io>
…essor.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Casper Nielsen <whopsec@protonmail.com>
…d from uv workspace

Signed-off-by: Casper Nielsen <casper@diagrid.io>
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.

1 participant