Commit Graph

248 Commits

  • [BREAKING] Python: Observability cleanup (#905)
    * Further observability cleanup and update telemetry samples
    
    * Add VS Code Extension config
    
    * Fix unit tests
    
    * Fix unit tests
    
    * Add more comments
    
    * Remove live metric
  • Python: [BREAKING] updated structure and samples (#875)
    * updated structure and samples
    
    * updated names and removed cross tests
    
    * updated projects etc
    
    * updated tests
    
    * updated test
    
    * test fixes
    
    * removed devui for now
    
    * updated all-tests task
    
    * removed old style configs
    
    * remove coverage from tests
    
    * updated to unit tests with all-tests
    
    * updated foundry everywhere
    
    * fix azure ai tests
    
    * fix merge tests
    
    * fix mypy
  • Python: Allow union types in FanIn edge group (#868)
    * Improve type utils
    
    * Add sample
    
    * Add Union
    
    * Add more test cases
    
    * Add more test cases
    
    * Fix RequestResponse typing to only coerce mapping original_request
    
    ---------
    
    Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
  • Python: additional Foundry Tools (#611)
    * initial work on additional foundry tools
    
    * fixes
    
    * fix tests
    
    * fix import
    
    * updated lock
    
    * added hosted MCP for foundry
    
    * fixes
    
    * fix for test
    
    * updated samples
    
    * fix result parsing
  • Python: Telemetry and observability follow-up (#833)
    * updated telemetry work
    
    * updated telemetry
    
    * slight improvement
    
    * updated tests
    
    * fixes for telemetry
    
    * fixes for mypy
    
    * added settings setup to runner to avoid error
    
    * streamline usage
    
    * updated tests
    
    * updated tests
    
    * further refinement
    
    * fix dumped item for otel
    
    * removed enable_workflow_otel
    
    * final fixes
    
    * final fixes
    
    * updated samples
    
    * removed exporters
    
    * fix tests
    
    * fixed last import'
    
    * fixed devui
  • Python: add RedisContextProvider (#716)
    * Setting up
    
    * Readme
    
    * Add redis tests path to all-tests
    
    * First pass integration
    
    * Keep provider convention
    
    * First pass integration
    
    * add redis integration tests
    
    * update README.md
    
    * Add basic sample for redis integration
    
    * Add partitioning, add partition-aware tests, improve sample script
    
    * Fix code quality check
    
    * Try to resolve pytest check
    
    * Try to identify if pytest is the cause of failed checks
    
    * Re-enable tests
    
    * Rename redis test file
    
    * Removing some tests to narrow down issue
    
    * Revert, no difference
    
    * Delete temp files
    
    * Starting refactor of RedisProvider
    
    * Build dynamic schema builder, still need to do dynamic embedding model config
    
    * Add scope control
    
    * Complete first pass functionality with OpenAI + HF vectors -> Tests, Samples, Demo to follow
    
    * Fix code quality
    
    * attempt to identify rootcause of failed test
    
    * attempt to identify rootcause of failed test
    
    * Attempt to resolve code quality fail
    
    * Update pyproject.toml for foundry to pin     azure-ai-projects == 1.1.0b3,azure-ai-agents == 1.2.0b3
    
    * Add tests for redisprovider
    
    * Remove invalid tests
    
    * Add API key handling for openai vectorizer
    
    * Update uv.locl
    
    * Use master uv.lock
    
    * Begin sample file, add lazy index creation, fix faulty override
    
    * Index drop and reinit depends on drop_redis_index not overwrite
    
    * Add samples, threading included, escaped queries, verify threading works, sample README.md
    
    * Refactor filters
    
    * Opinionated vars
    
    * Allow filter expression combination
    
    * Try inline stubs for mypy
    
    * Address mypy errors
    
    * Better docstrings, tweaks for feedback
    
    * Tweak example 3 in redis_threads.py sample
    
    * adjust confusing name
    
    * Enrich docstrings
    
    * Add descriptions and comments to samples, externalize vectorizer choice, remove nltk and sentencetransformers dependnecy
    
    * Add descriptions and comments to samples, externalize vectorizer choice, remove nltk and sentencetransformers dependnecy
    
    * Incorporate initial feedback from dmytrostruk
    
    * Fix uv.lock
    
    * Attempt to resolve conflict
    
    * Use remote .tomls
    
    * Sanity check
    
    * fix tests
    
    * Remove hardcoded API key from samples
    
    * Fix incorrect env var
    
    * Make add and redis_search private
    
    * Fix tests relying on private funcs
    
    * Expand tests
    
    * Explainer comments to each test
    
    * Add a 'get_conversation_history' function to RedisProvider - This just returns messages in sequential order. Added 'created_at_*' timestamps to facilitate sequential recovery. function has to be manually invoked by user
    
    * Add agent-framework-redis to  python/pyproject.toml
    
    * Remove get_conversation_history
    
    * improve redis context provider with pydantic techniques and safe index handling patterns
    
    * add RedisChatMessageStore
    
    * remove integration test :(
    
    * fix mypy error
    
    * Remove unused params
    
    * Redo schema validation to be order-invariant, handle attrs (previously throwing errors due to strict ==)
    
    * Expand explanation
    
    * Add ChatMessageStore example
    
    * Fix comments in redis_conversation.py
    
    * Resolving uv.lock conflict, update to match main
    
    * Fix test in redis provider
    
    * Apply suggestion from @ekzhu
    
    * Update python/packages/main/pyproject.toml
    
    ---------
    
    Co-authored-by: Tyler Hutcherson <tyler.hutcherson@redis.com>
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: Add DevUI to AgentFramework (#781)
    * add initial backend service code for devui
    
    * add tests
    
    * add frontendcode
    
    * ui updates
    
    * update readme
    
    * ui updates and tweaks
    
    * update ui bundle
    
    * improve ui, add react flow base
    
    * add react flow ui, fix background
    
    * update ui, fix introspection bug
    
    * update readme
    
    * update ui build
    
    * add support for multimodal input - both backend and frontend
    
    * update ui build
    
    * refactor as main framework package
    
    * backend and tests refactor
    
    * ui build update
    
    * ui build update and refactor
    
    * update pyproject.toml, update uv.lock
    
    * update ui build
    
    * ui update to fit oai responses types
    
    * add backend updat and readme update
    
    * mypy and other fixes
    
    * add intial dev guide
    
    * update ui and fix workflow bug
    
    * update ui build, add thread support
    
    * type fixes
    
    * update workflow view
    
    * update uv.lock
    
    * fix workflow iport errors
    
    * lint and other fixes
    
    * mypy fixes
    
    * minor update
    
    * update ui build
    
    * refactor to use oai dependencies directly, update examples to samples, improve typing
    
    * readme update
    
    * update ui and ui build
    
    * fix workflow pyright error
    
    * update ui, fix issues with run workflow placement, miniamp menu, etc
    
    * make samples integrate serve
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: OpenAI Responses Image Generation Tool (#842)
    * Image generation + Added Samples
    
    * extended image gen tool for responses
    
    * uv fix
    
    * removed hosted image gen
    
    * copilot suggestions
    
    * Update python/packages/main/agent_framework/openai/_responses_client.py
    
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
  • Python: Fixing the OpenAI Responses Client to be able to persist and interact with server-side threads (#818)
    * Fix options_dict handling in response client
    
    * Update python/packages/main/agent_framework/openai/_responses_client.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update condition for storing chat options
    
    Fixes issue where, when using server-side threads, AF would pass back the function call message due to store being in chat_options in kwargs, not at the kwargs level. Means the appending of only the tool execution result never happens.
    
    Resulted in a "tool output not found error" as we replied with the call not the result first.
    
    * Refactor chat_options access for clarity
    
    * Refactor store option assignment in responses client
    
    * Small fixes
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
  • Python: Add tau2 benchmark integration with comprehensive testing and documentation (#817)
    * first commit to tau2-bench
    
    * tau2-bench agent
    
    * tau2 agent
    
    * add condition
    
    * checkpoint
    
    * bug fix
    
    * add tests
    
    * fix tests
    
    * add comments
    
    * add comments
    
    * minor fix
    
    * fix
    
    * batch test script
    
    * .
    
    * init.bak -> init.py
    
    * fix mypy
    
    * update readme
    
    * fix env
    
    * remove temp files
    
    * setup tests
    
    * fix gaia tasks
    
    * fix tau2 tests
    
    * fix coverage
    
    * fix default version
    
    * update cookiecutter template
    
    ---------
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: Introduce Agent Framework Lab with GAIA Benchmark and Lighting project for RL (#719)
    * prepare eval package
    
    * add gaia benchmark to eval package
    
    * update telemetry
    
    * renaming
    
    * organization
    
    * organize into namespace packages; rename to labs
    
    * update cookie cutter instruction
    
    * update gaia runner
    
    * use temp directory
    
    * Rename "labs" --> "lab"
    
    * update
    
    * update gaia sample
    
    * update status
    
    * Add lighting project
    
    * Add listing for lighting
  • Python: [BREAKING] Move workflow to main package (#767)
    * Move workflow to main package
    
    * Remove workflow specific unit test config
    
    * Remove workflow-specific version info
    
    * Revert unintended telemetry changes
    
    * Removed the obsolete packages/workflow/tests target
    
    * Rename dir workflow to _workflow
    
    * Fix test imports
  • Python: api doc generation setup (#342)
    * api doc generation setup
    
    * remove old log file
    
    * improved check md function
    
    * update with sample code in docstring
    
    * updated script
    
    * docs update
    
    * docs update and action
    
    * removed all-extras
    
    * fixed sync command
    
    * moved install
    
    * moved action
    
    * renamed folder
    
    * fixed syntax
    
    * add python path
    
    * fix mypy and reused steps
    
    * updated merge test
    
    * undo change
    
    * slight update in poe commands
    
    * dev setup update
    
    * updated uvlock
  • Python: Add Sequential orchestration builder support. Samples. Tests. (#703)
    * Add support for the Sequential Builder. Add samples. Add tests
    
    * AgentExecutor: always compute full convo during response
    
    * Upgrade azure-ai-agents ToolOutput to FunctionToolOutput
    
    * Explicit notes around allows types for custom agent executors
  • Python: Added Copilot Studio Agent (#722)
    * Small fix in dotnet conformance tests
    
    * Added CopilotStudioAgent implementation
    
    * Added examples
    
    * Updated package README
    
    * Small fixes
    
    * Small improvements
    
    * Fixed dotnet tests
    
    * Add unit tests
    
    * Updated tests
    
    * Small updates
    
    * Small test fixes
    
    * Revert "Small test fixes"
    
    This reverts commit 983ac44a70.
    
    * Small fixes in documentation
    
    * Updated test configuration
    
    * Revert "Updated test configuration"
    
    This reverts commit 2a16fea815.
    
    * Small fix
    
    * Reverted TODO item
    
    * Small suppressions
    
    * More fixes
    
    * Small fixes
    
    * Fixed tests
    
    * Removed disallow_any_unimported rule in all packages
    
    * Fixes
  • .NET: Python: OpenAI Responses Agent Completeness (#721)
    * OpenAI Responses Agent Completeness
    
    * prepare options
    
    * added unit tests
    
    * azure responses test fix
    
    * resolved conflict
    
    * pre commit fix
    
    * Revert "Merge remote changes and resolve conflicts"
    
    This reverts commit 56787f25a4, reversing
    changes made to f71a27ebfe.
    
    * Fixes
    
    * azure responses file search fix
    
    * Fix corrupted uv.lock file
    
    ---------
    
    Co-authored-by: Giles Odigwe <gilesodigwe@microsoft.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
  • Python: added websockets as main dep for agent.run_stream (#672)
    * added websockets as main dep for agent.run_stream
    
    * Update python/packages/main/pyproject.toml
    
    Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
    
    * Update python/packages/main/pyproject.toml
    
    Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Alex Lavaee <alexlavaee@microsoft.com>
    Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
  • Python: Context providers abstraction and Mem0 implementation (#631)
    * Added context provider abstractions
    
    * Added mem0 implementation
    
    * Example and small fixes
    
    * Added unit tests for agent
    
    * Added unit tests for mem0 provider
    
    * Updated README
    
    * Small doc updates
    
    * Update python/packages/mem0/agent_framework_mem0/_provider.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Small fixes in tests
    
    * Renaming based on PR feedback
    
    * Small fixes
    
    * Added tests for AggregateContextProvider
    
    * Small improvements
    
    * More improvements based on PR feedback
    
    * Small constant update
    
    * Added more examples
    
    * Added README for Mem0 examples
    
    * Small updates to API
    
    * Updated initialization logic
    
    * Updates for context manager
    
    * Updated Context class
    
    * Dependency update
    
    * Revert changes
    
    * Fixed tests
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Python: Improved telemetry setup (#421)
    * test with stack and simplified names
    
    * quick demo of agent decorator
    
    * moved builder to protocol to enhance functionality
    
    * undid chatclientAgent -> agent rename
    
    * one more
    
    * reverted AIAgent rename
    
    * final reverts
    
    * fixed foundry import
    
    * revert changes
    
    * streamlined otel and fcc decorators
    
    * cleanup of telemetry
    
    * further refinement
    
    * lots of updates
    
    * fixed typing
    
    * fix for mypy
    
    * added input and output atttributes
    
    * fix import
    
    * initial work on baking in otel
    
    * major update to telemetry
    
    * final fixes after rename
    
    * fix
    
    * fix test
    
    * updated tests
    
    * fix for tests
    
    * fixes for tests
    
    * updated based on comments
    
    * removed agent decorator
    
    * fix for Python: ServiceResponseException when using multiple tools
    Fixes #649
    
    * addressed comments
    
    * fix tests
    
    * fix tests
    
    * fix tools tests
    
    * fix for conversation_id in assistants client
    
    * fix responses test
    
    * fix tests and mypy
    
    * updated test
    
    * foundry fix
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Python: Add Python agent runtime project infrastructure (#563)
    * Add Python agent runtime project infrastructure.
    
    * lint.
    
    * Rename agent_runtime dir to agent_framework_runtime.
    
    * fix uv.lock
    
    * Update pyproject for rename.
    
    * Update python/packages/runtime/agent_framework_runtime/agent_actor.py
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
    
    * Add runtime package to workspace and optional dependencies.
    
    ---------
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: Added examples with explicit settings (#562)
    * Added examples with explicit settings
    
    * Added info about RBAC roles
  • Python: Workflow visualization. (#372)
    * Workflow visualization.
    
    * fix typing
    
    * address comments
    
    * update all samples
    
    * Update fan in edge group visual
    
    * fix quality check
    
    * Update python/samples/getting_started/workflow/step_06_map_reduce.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * address comment
    
    * Catch up with changes in workflow; add to_mermaid method
    
    * Update examples
    
    * fix test
    
    * add installation guide to error messages
    
    * Remove visualization for samples except for one.
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
  • Python: Foundry Chat Client unit tests to improve coverage (#423)
    * Add unit tests for Foundry Chat Client to improve coverage
    
    * Updated Azure OpenAI endpoint and tests timeout
    
    * Error fixes for Foundry Chat Client tests
    
    * Error fixes
    
    ---------
    
    Co-authored-by: Giles Odigwe <gilesodigwe@microsoft.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
  • Python: Introducing Local MCP Servers (#389)
    * mcp parts
    
    * mcp parts 2
    
    * removed structured output in favor of handling in chatresponse, mcp as AITool and running samples
    
    * updated naming
    
    * fixed test
  • Python: openai updates (#388)
    * openai updates
    
    * rebuild of openai structure
    
    * updated responses structure
    
    * renamed sample
    
    * added file id support to code interpreter
    
    * added hosted file ids to code interpretor
    
    * mypy fixes
    
    * removed default az cred from codebase
    
    * updated agent name setup
    
    * added kwargs to entra methods
    
    * and further kwargs
    
    * extra comment
    
    * updated all samples
    
    * readded custom get methods for responses
    
    * updated int tests with ad credential
    
    * missed one
  • Python: added AIAnnotation types and extra tests (#374)
    * added AIAnnotation types and extra tests
    
    * fixed typing and such
    
    * use copy
    
    * fix raw representation for add
    
    * handle annotations in add
    
    * clarified concat
    
    * self to first
  • Python: Define Workflow and Executor APIs (#272)
    * Workflow init commit
    
    * Add samples and clean up
    
    * ExecutionContext -> WorkflowContext
    
    * Address comments 1
    
    * Fix mypy
    
    * flatting folder structure, and rename contexts
    
    * Remove add_loop
    
    * Add map reduce sample, remove Activation conditions
    
    * Add AgentExecutor and allow multiple handlers per executor
    
    * Minor improvement
    
    * Add RequestInfoExecutor
    
    * Add unit tests part 1
    
    * Address comments 2
    
    * Pre-commit update
    
    * Add run method and more unit tests
    
    * Add xml docs
    
    * run_stream -> run_streaming
    
    * message_handler -> handler
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
  • Python: updated doc generation setup and some slight api enhancements (#267)
    * updated doc generation setup and some slight api enhancements
    
    * small fix in index
  • 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
  • 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
  • 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
  • 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
  • Python: improved loading (#202)
    * improved loading
    
    * updated openai folder imports
    
    * fixed import
  • 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>
  • Python: follow on work on OpenAI (#169)
    * updated openai, fcc works, with sample
    
    * reduced files in openai
  • 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>
  • 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
  • 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
  • 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
  • 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>
  • 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
  • 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