Commit Graph

11 Commits

Author SHA1 Message Date
Roberto Rodriguez 29edfc419b Refactor LLM Workflows and Orchestrators for Unified Response Handling and Iteration (#163)
* Refactor ChatClientBase: drop Pydantic inheritance and add typed generate() overloads

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Align all LLM chat clients with refactored base and unified response models

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Unify LLM utils across providers and delegate streaming/response to provider‑specific handlers

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Refactor LLM pipeline: add HuggingFace tool calls, unify chat client/response types, and switch DurableAgent to loop‑based workflow

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Refactor orchestrators with loops and unify LLM response handling using LLMChatResponse

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* test remaining quickstarts after all changes

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* run pytest after all changes

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Run linting and formatting checks to ensure code quality

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Update logging, Orchestrator Name and OTel module name

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

---------

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>
Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
2025-07-28 13:14:09 -07:00
Roberto Rodriguez 3e767e03fb
Refactor agent workflows, orchestrators, and integrations for reliability and modularity (#161)
* Remove cookbook to avoid confusion

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Update Hugging Face integration and quickstart to use SmolLM3-3B model

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Refactor Agent and AgentBase for improved tool execution, prompt handling, and message metadata

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Refactor workflow features into mixins for messaging, pub/sub, state management, and service logic

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Refactor DurableAgent for improved workflow state, tool execution, and message handling

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Refactor workflow base and AgenticWorkflow to modularize Dapr integration and delegate service/state logic to mixins

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Update text printer logic to flush messages

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Split Workflow decorators for better organization.

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Refactor ConversationDaprStateMemory to return full message objects and improve logging.

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Refactor VectorStoreBase to return document IDs

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Refactor orchestrators to standardize broadcast messages, unify decorator imports, and improve workflow robustness

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Test quickstarts to validate all changes and update main README

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Set broadcast_topic_name to None to disable broadcasting

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Improve package exports and clean up imports for linter compliance

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Fix code style and lint errors flagged by Ruff

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Fix mypy type errors and improve

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Fix lint errors and code style issues with ruff

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* fix mypy attr-defined and call-arg errors

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* fix lint errors and code style issues

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* mypy type errors

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Updated test state class to DurableAgentWorkflowEntry

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Fix mypy errors

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Set DurableAgent to not broadcast messages by default and clarified dapr client private attribute in agentic workflow

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Update tests with latest changes

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Minor updates identified while working on test files

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Clarify AgentTool use in docstrings

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Centralize tool_history and tool_choice in AgentBase and unify tool execution record schema for tool_history

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* fix mypy errors

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Update dapr_agents/agents/base.py

Update default basic agent prompt

Co-authored-by: Sam <sam@diagrid.io>
Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

* Update quickstarts/03-durable-agent-tool-call/durable_weather_agent.py

Update durable weather agent with the right comments

Co-authored-by: Sam <sam@diagrid.io>
Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>

---------

Signed-off-by: Roberto Rodriguez <9653181+Cyb3rWard0g@users.noreply.github.com>
Co-authored-by: Sam <sam@diagrid.io>
2025-07-28 07:40:58 -07:00
Sam 6d55c383b9
feat: unify agent types (#139)
* style: save my todo comments

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* feat: unify agent types and save my wip

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* feat: save as i got 03 poc quickstart working

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* feat: add durable agent examples and fixes

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix(bug): support both template formats

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix(bug): support our custom format with vars inline

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* feat: agent + durableagent types, new cfg class, updated quickstarts/docs

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: some clean up

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: more clean up on things reviewing my pr

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: just more clean up of logs

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: update docs

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: actorAgent -> assistantAgent and rm actoragent

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: make linter happy

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* test: add init test setup and cases

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* feat: save an ex i created for what openapi agent looks like

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: rm up openapi react agent ex

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: more clean up for now

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* refactor: rm openapireact + react agents

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* refactor: mv durable agent with agent

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: update imports

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* refactor: make agent + durable agent use same base class + rm config for now

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* tests: add some init tests

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: make linter happy

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: use tcp conn instead of app layer

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: make linter happy

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: make linter happy

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* tests: add agent class tests + some clean up

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* tests: add durableagent class tests

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: make linter happy

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: make linter happy

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: acct for linter errs

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: run ruff

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: address many tox -e type errs, fix class inheritance mvment, replace generic data types with specific types

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: final type fix

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: update docs on new quickstarts

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: tox -e ruff + clean up comments

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: update for tox -e flake8

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: clean up print outs

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* tests: make things testable and fix some existing test errs

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: clean up quickstarts, add tests i forgot earlier

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: last few fixes

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: tox -e ruff

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix(build): acct for build errs

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: add tox ini file

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: fix linter

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: acct for posthog breaking change

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: address feedback

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: push test fixes

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: rm actor references

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: tox -e ruff

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix(quickstart): use local agent updates

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: tox -e flake8 fixes

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: style dirs we want

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix(build): install test deps properly

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: see if this fixes build err

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix(cookbook): update one more reqs file to use local agent deps instead of old release tag

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: register agent properly in db

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: rm duplicate quickstart sample

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* style: make linter happy

Signed-off-by: Samantha Coyle <sam@diagrid.io>

* fix: ruff check --fix .

Signed-off-by: Samantha Coyle <sam@diagrid.io>

---------

Signed-off-by: Samantha Coyle <sam@diagrid.io>
2025-07-07 07:36:23 -07:00
Casper Nielsen f129754486
Fix/30 add linter action (#95)
* Fix: Fix Setup lint GitHub action #30

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Remove branch filter on PR and remove on push

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Remove on mergequeue

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Add tox.ini file

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Return on push

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: tox -e ruff

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ignore .ruff_cache

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Update tox file

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Add mypy.ini

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ignore if line is too long

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Set the ignore in command instead

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W503

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: 541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W503

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Ignore F401, unused imports as __init__ files has them

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Return linebreak as tox -e ruff yields that

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ignore W503 as ruff introduces it

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F841

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: E203

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W293

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W291

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: E203

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: E203

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W291

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F811

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F841

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F811

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F841

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F811

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W291

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F811

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ruff want's the space before :

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ignore space before :

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: E291

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Add dev-requirements.txt

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Correct python version

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Ref dev-requirements.txt

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Add mypy cache dir

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Update mypy version

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Exclude cookbook and quicstarts

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Remove unused import

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Add specific sub module ignore on error for future smaller fixing

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Reintroduce branches filter on push and pull_request

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* chore: Ruff

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: ruff formatting

* Chore: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: E401

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Ruff

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: F811

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: F841

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Ruff

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: E711

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: ruff

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

---------

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>
2025-04-23 22:58:48 -07:00
Roberto Rodriguez 099dc5d2fb
Hierarchical LLM config on Tasks + workflow/ decorator refactor (#92)
* updated dependencies versions

* Updated model validator for HuggingFace-Hub client to catch model and hub url early

* split task registration into discover + register phases, improved LLM client init in tasks and workflow wrappers

* improve decorator to access method attributes

* wrapping workflow decotrators to log, validate, etc., without losing signature/docs

* Improved LLM-based task client and cleaned execution of LLM, agent and python function

* Added an example of multiple models being defined per workflow task after updates

* Updated quickstarts basic agent runs to async

* Added model attribute to huggingface-hub client class

* Fixed random and roundrobin orchestrators TriggerAction schema, trigger action and task to process agent response

* Updated quickstart multi-agent workflows and actor-based agents docs

* added .dapr to gitignore
2025-04-22 06:17:36 -07:00
Yaron Schneider f5dc9372e7
Revert "Fix: Setup lint GitHub action #30 (#85)" (#88)
This reverts commit 199fcf9d02.
2025-04-18 15:39:26 -07:00
Casper Nielsen 199fcf9d02
Fix: Setup lint GitHub action #30 (#85)
* Fix: Fix Setup lint GitHub action #30

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Remove branch filter on PR and remove on push

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Remove on mergequeue

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Add tox.ini file

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Return on push

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: tox -e ruff

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ignore .ruff_cache

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Update tox file

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Add mypy.ini

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ignore if line is too long

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Set the ignore in command instead

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W503

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: 541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W503

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Ignore F401, unused imports as __init__ files has them

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Return linebreak as tox -e ruff yields that

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ignore W503 as ruff introduces it

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F841

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: E203

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W293

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W291

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: E203

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: E203

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W291

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F811

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F841

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F811

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F841

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F811

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: W291

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F811

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: F541

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ruff want's the space before :

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ignore space before :

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: E291

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Add dev-requirements.txt

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Correct python version

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Ref dev-requirements.txt

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Add mypy cache dir

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Update mypy version

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Exclude cookbook and quicstarts

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Remove unused import

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Chore: Add specific sub module ignore on error for future smaller fixing

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Reintroduce branches filter on push and pull_request

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* chore: Ruff

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

---------

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>
2025-04-15 18:20:34 -07:00
Roberto Rodriguez c872c5a8bd
Integrate MCP Client + Enable Async Tool Execution for Agent Framework (#72)
* Enable async-first execution for AgentTool and ToolExecutor

* Update basic agent patterns to support async tool execution

* Updated assistant agentic workflow base to support async tool execution

* fix #70. Updated input for workflow task agent execution

* Update agent actor base to support async tool execution

* Updated logging on workflow message decorator

* Enable lazy initialization of schemas for Orchestrator agentic workflows

* minor update on quickstart 05 apps to follow the right structure

* added basic single-agent example of a dapr workflow agent

* Integrate MCP client with full tool and prompt support

* Created MCP examples in cookbook
2025-04-10 14:31:03 -07:00
Roberto Rodriguez cf400f189c
Improve Structured Output Handling, Iterable Model Support, and Validation in LLM Tasks (#64)
* unify iterable model wrapping and response model resolution

* added support for kwargs in decorator in WorkflowTask initialization

* feat: support arbitrary task config via decorator kwargs

* refactor: unify LLM task validation and structured output handling
2025-03-29 00:59:07 +03:00
Roberto Rodriguez 7fac47b6d4
Enhanced Workflow and Task Registration, Dynamic Message Routing, Structured Validation, and Unified API Integration (#18)
* Refactored Workflow & Task Decorators for Easier Standalone Registration

* Refactored WorkflowApp: Improved Task & Workflow Registration, Enhanced State Management

* Refactored WorkflowTask: Improved LLM Execution, Validation, and Chat History Support

* Refactored API Server & Workflow Services: Unified FastAPI & Dapr Integration

* Refactored Pub/Sub and Message Routing: Unified Dapr Integration & CloudEvent Parsing

* Introduced AgenticWorkflowService: Unified Agent Workflows, State Management & Messaging

* Enhanced Orchestrators with Dapr Workflow Patterns & Intelligent Message Routing

* Updated Text Printer for Agents to show their name.

* Introduced Assistant Agent with Tool-Driven LLM Workflow, Dapr Messaging, and Adaptive Execution

* Consolidated Actor Wrappers into Unified Agent Actor Service and updated agent response logic

* Removed workflows folder from Actors directory. Workflow App and Service folders taking over.

* Introduced Execution Framework with Docker and Local Code Executors for Agents.

* Refactored Dapr gRPC Configuration: Unified Naming and Improved Initialization Logic

* Updated VectorStoreBase to Use Explicit EmbedderBase Type Annotation

* Enhanced Structured Response Handling: JSON Schema & Iterable Support

* Ran notebooks with latest version.

* Updated agentic workflow docs

* removed floki from huggingface chat client

* Updated init files for latest changes

* updated dapr pip package to 1.5.0 to use latest version

* removed floki reference from code and docs. Tags in README still point to floki

* Added a dummy notebook to test ReAct Agents
2025-03-04 06:09:31 -08:00
Roberto Rodriguez f902c99da8 Replaced floki module with dapr_agents and updated setup files 2025-01-25 19:04:26 -05:00