Commit Graph
478 Commits
Author SHA1 Message Date
Eduard van ValkenburgandGitHub ba008cf4c0 Merge tests (#247)
* removed hardcoded model names from tests

* add debug line
2025-07-28 11:12:28 +02:00
Eduard van ValkenburgandGitHub 0ce8eb1e2f Python telemetry (#223)
* initial work on telemetry

* moved tool operation const

* missing quotes

* working otel with samples

* updated readme and other assets

* added tests

* added tests

* small updates

* updated genaiattributes docs

* updated tests

* additional warning

* cleanup of tests
2025-07-28 07:33:42 +00:00
3ee9dddfa2 Python: OpenAI responses client (#239)
* Responses client WIP

* add responses class

* fix typing errors

* move test

* streaming responses, structured outputs

* tests

* Update python/packages/main/tests/openai/test_openai_responses_client.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* pr comments

* fix override import

* fix mypy

* add missing function override

* PR comments

* add docstrings

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-25 17:56:22 +00:00
Dmytro StrukandGitHub a72245287f Python: Added fixes and more examples for OpenAI and Azure chat client agents (#232)
* Added non-streaming and streaming examples

* Updated resource management

* Added examples with thread management

* Added function tools examples

* Small rename

* Added code interpreter example

* Updated example

* Addressed PR feedback

* Added more OpenAI and Azure chat completion examples

* File renaming

* Small fix in tests

* Small revert

* More renaming

* Small fix
2025-07-24 15:31:05 +00:00
Dmytro StrukandGitHub 14efb626ab Python: Added fixes and more examples for Foundry agent (#217)
* Added non-streaming and streaming examples

* Updated resource management

* Added examples with thread management

* Added function tools examples

* Small rename

* Added code interpreter example

* Updated example

* Addressed PR feedback

* Addressed PR feedback
2025-07-24 14:47:45 +00:00
Eduard van ValkenburgandGitHub 517955ce66 updated builds and release pipeline setup (without pypi publish) (#219)
* updated builds and release pipeline setup (without pypi publish)

* add label prefix action

* updated uv versions

* final uv updates

* moved uv version semver into variable
2025-07-24 07:15:00 +00:00
Eduard van ValkenburgandGitHub 27f7af2160 Python: moved prepare tools into class (#215)
* moved prepare tools into class

* moved test

* changed tool handling

* fix test

* second fix
2025-07-22 21:37:18 +00:00
Eduard van ValkenburgandGitHub 5c992eb7ae Python: move all tests under tests and initial work on int tests (#206)
* move all tests under tests and initial work on int tests

* added updated tests setup and merge tests

* without failing step

* fixed upload

* updated file names for coverage

* reenable surface tests

* removed package matrix

* simplified variables

* correct path

* removed mistake

* fix mistake in path

* fix path

* windows specific env set

* updated merge tests

* slight update in marker

* added run integration tests settings

* updated setup, moved foundry int tests and updated merge test
2025-07-22 15:26:00 +00:00
Dmytro StrukandGitHub f89c0be0ea Python: Added integration tests for FoundryChatClient (#207)
* Initial version of tests

* Updated the tests
2025-07-22 14:11:54 +00:00
Dmytro StrukandGitHub 160c846b39 Python: Added more examples (#208)
* Small cleanup

* Added Azure and Foundry chat client samples

* Added Azure chat client agent example
2025-07-22 14:07:12 +00:00
Dmytro StrukandGitHub ccd7a44ec7 Python: Implemented FoundryChatClient (#193)
* Initial version of FoundryChatClient

* Updates to the tool call streaming wrapper

* Small fixes

* Small updates and addressed PR feedback

* Handle automatic client creation

* Small improvement

* Added credential parameter

* Small improvements

* Made FoundryChatClient disposable

* Small fixes

* Added unit tests

* Refactored samples

* Small improvements

* Small fix

* Addressed PR feedback

* Small fixes

* Small updates

* Small fix

* Addressed PR feedback
2025-07-18 20:10:14 +00:00
Eduard van ValkenburgandGitHub 9287572b0d Python: improved loading (#202)
* improved loading

* updated openai folder imports

* fixed import
2025-07-18 19:17:30 +00:00
f0dc661c3e Python: Azure chat client (#185)
* updated openai, fcc works, with sample

* reduced files in openai

* Add azure chat client

* fix tests

* Update python/packages/main/tests/unit/test_openai_chat_completion_base.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update python/packages/azure/agent_framework/azure/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update python/packages/azure/agent_framework/azure/_azure_openai_settings.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* PR comments

* fix bad merge

* disable tests for now

* actually disable tests for azure

* fix tests, align test files with merge changes

* update code for new project structure

* PR comments

* add streaming integration tests. Fix flakiness

---------

Co-authored-by: eavanvalkenburg <github@vanvalkenburg.eu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-15 18:38:09 +00:00
Eduard van ValkenburgandGitHub 2e6f6a4008 small update in init (#189) 2025-07-15 15:09:32 +00:00
Eduard van ValkenburgandGitHub 62917ee5e5 Python: simple Agent sample (#180)
* tweaks to agents and sample

* updated clients and agents

* single line run and print

* improved tool handling

* added note on setting max iterations

* fixed streaming param name

* updated tools test

* made kwargs alphabetical

* added params to run methods

* tweak to ensure right overload
2025-07-15 14:01:21 +00:00
Eduard van ValkenburgandGitHub 407ed6de70 Python: follow on work on OpenAI (#169)
* updated openai, fcc works, with sample

* reduced files in openai
2025-07-12 05:15:51 +00:00
Dmytro StrukandGitHub 94e00bd49a Python: Added ChatClientAgentThread and ChatClientAgent implementations (#150)
* Added ChatClientAgentThread

* Initial version of ChatClientAgent

* Completed ChatClientAgent

* Small fixes and unit tests

* Fixes based on pre-commit

* Small fixes

* Small renaming

* Small improvement

* Small fixes

* Addressed PR feedback

* Small fix

* Added method for AgentRunResponse from streaming conversion

* Addressed PR feedback

* Addressed PR feedback

* Addressed PR feedback

* Small fix

* More fixes
2025-07-11 18:09:09 +00:00
Dmytro StrukandGitHub df84675c0f Python: Added AgentRunResponse and AgentRunResponseUpdate types (#157)
* Removed instructions property from Agent

* Added AgentRunResponse and AgentRunResponseUpdate types

* Added unit tests for agent response types

* Small fix

* Addressed PR feedback

* Small improvement

* Small fix
2025-07-11 15:13:06 +00:00
e70401e658 Python: OpenAI Connector (#144)
* Initial checkin of openai connector

* add tests

* extensions work

* chat completion client implicitly implementing ChatClient

* remove AIServiceClientBase

* remove PromptExecutionSettings

* consolidate chat completion types

* add integration test

* fix pre-commit check errors

* remove usage statistics from OpenAIHandler

* Update python/extensions/agent-framework-openai/agent_framework/openai/exceptions.py

Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>

* PR comments

* fix merge

* fix test import

* remove tests for now because they just fail

* Remove fixed TODO

---------

Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
2025-07-11 07:34:25 +00:00
Eduard van ValkenburgandGitHub a233d31813 removed version and reinstated init (#160) 2025-07-10 13:32:39 +02:00
Eduard van ValkenburgandGitHub 3449902b03 Python: added ChatClientBase with function calling (#147)
* added ChatClientBase with function calling

* streaming update

* fixed typing

* test setup

* small update

* src setup

* removed src, updated test naming

* fixed test command

* alolow args

* updated test run

* added unit test folder to azure

* added init and unit test to azure

* added other cross tests

* restructured

* reset test run

* fix name

* removed always

* updated test

* extend pytest.xml locations

* run surface always

* added decorators for FC and marked tests

* fixed mypy settings and added tests

* fix override import

* removed import
2025-07-10 09:18:15 +00:00
Eduard van ValkenburgandGitHub e5ec41b869 Python: small streamline of agents and agent threads (#145)
* small streamline of agents and agent threads

* slight update to tests
2025-07-08 19:01:22 +00:00
Dmytro StrukandGitHub 35c938fb5b .Python: Added Agent and AgentThread abstractions (#130)
* Added Agent and AgentThread classes

* Addressed PR feedback

* Converted Agent to protocol

* Removed thread deletion logic

* Small update

* Small updates to the Agent protocol
2025-07-07 17:47:14 +00:00
Eduard van ValkenburgandGitHub 09309c1239 Python: added embeddingsclient and redid chatclient (#132)
* added embeddingsclient and redid chatclient

* added to init

* added client tests

* fixed typing

* fixed slice import

* fixed pyright
2025-07-07 16:43:54 +00:00
Eduard van ValkenburgandGitHub 91c5414836 Python: added poe setup and docs (#131)
* added poe setup and docs

* smaller bandit exclude

* updated poe

* updated naming

* added something in samples

* exclude docs from bandit

* updated readme

* removed ds_store

* updated readme
2025-07-07 15:03:57 +00:00
94c5d59984 feat: Model Client and associated Content Types (#53)
* feat: ModelClient and content types

* refactor: Pythonify ChatResponseFormat and ChatRole

* feat: Add guardrail interfaces

* refactor: Remove CancellationToken

* feat: Solidify the Usage APIs

* Adds well-known keys for additional_counts, and guidance for how to avoid collisions between providers
* Implement sum-aggregation for usage

* refactor: Move AITool out of model_client

* refactor: Copy editing

* fix: CI checks (pyupgrade, ruff, etc.)

* ci: Fix pre-commit to use pyright in  uv venv

The existing pyright precommit hook inside of python-pyright is no longer being maintained by the owner (see  https://github.com/RobertCraigie/pyright-python/issues/265)

The fix is to define the hook ourselves, relying on `uv run` to drive it. In order for that to work right we need to use the "system" language to break out of the sandbox.

* fix: Pyright error fixes

* docs: Update models and types design docs

* Python: Refinement of content types and model client  (#112)

* refinement of structure and buildup
with ports from semantigen

* refined the data and uri contents

* refined chat response and updates

* moved things and added tests

* moved out of src folder

* fixed imports and tests

* small tweaks

* missing build system

* upgrade

* add mypy

* fixed typing for types

* fix tests

* fixed tool

* disable json checks on vscode

* remove print

---------

Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
Co-authored-by: eavanvalkenburg <github@vanvalkenburg.eu>
2025-07-03 17:51:49 +00:00
Eduard van ValkenburgandGitHub 7cc29fe192 Python: package setup with logger (#125)
* package setup with logger

* set config once

* add unit test workflow

* updated naming of workflows

* add mypy check

* renamed job

* smaller name

* ignore certain files for ruff

* remove assignment

* fix ruff config

* removed pyright from pre-commit

* fixed logging test

* fix mypy setup

* mypy fix

* mypy

* mypy
2025-07-02 15:17:28 +00:00
Jack GerritsandGitHub 8c84320b4b Add initial skeleton of package, including tooling setup and CI (#4)
* Add initial skeleton of package, including tooling setup and CI

* update workflow

* update uv

* add bandit
2025-05-09 10:47:52 -04:00