Skip to content

feature - async supervisor support#106

Open
finnjclancy wants to merge 3 commits intotalos-agent:mainfrom
finnjclancy:feature/async-supervisor-support
Open

feature - async supervisor support#106
finnjclancy wants to merge 3 commits intotalos-agent:mainfrom
finnjclancy:feature/async-supervisor-support

Conversation

@finnjclancy
Copy link

if async tools were executed, they were forced to call synchronous supervisor methods

so i added async supervisor support across the entire supervision system

still maintain full backward compatibility

main features from this commit -

  • async supervisors checked first, sync as fallback for backward compatibility
  • made 15 new tests to cover all async functionalities
  • no breaking changes + dependencies and conig updated



files changed and why:

src/talos/tools/base.py

  • added AsyncSupervisor interface and updated SupervisedTool for async support

src/talos/hypervisor/supervisor.py

  • added AsyncSupervisor base class and async implementations (AsyncRuleBasedSupervisor, AsyncSimpleSupervisor)

src/talos/tools/supervised_tool.py

  • added async_supervisor field and updated arun method with fallback to sync

examples/example.py

  • added AsyncAlternatingSupervisor example imp.

tests/test_supervised_tool.py

  • added async supervisor tests and fallback behavior tests

tests/test_supervisor.py

  • added async rule-based supervisor tests

tests/test_async_supervisors.py

  • created comprehensive async supervisor test

tests/simple_supervisor.py

  • added AsyncSimpleSupervisor for tests

pyproject.toml

  • added pytest-asyncio dependency and configuration so you can test this update

@johnny-emp johnny-emp force-pushed the main branch 3 times, most recently from ccf2936 to 015ec79 Compare September 10, 2025 04:44
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