Azure / Azure/azure-functions-agents-runtime
Migrate workflow client operations to native Durable APIs
- Dominant language
- Python
- Stars
- 9
- Forks
- 7
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 20
Description
> Please provide us with the following information:
> ---------------------------------------------------------------
### This issue is for a: (mark with an `x`)
```
- [ ] bug report -> please search issues before submitting
- [x] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)
```
### Minimal steps to reproduce
> Inspect `src/azure_functions_agents/workflows/tools.py`. Workflow startup now uses `schedule_new_orchestration()`, but status, termination, and event operations still use compatibility aliases: `get_status_all()`, `get_status()`, `terminate()`, and `raise_event()`.
### Any log messages given by the failure
> N/A. The compatibility aliases currently work but are deprecated by the pinned Durable API.
### Expected/desired behavior
> Complete the native Durable client API migration:
> - `get_status_all()` -> `get_all_orchestration_states()`
> - `get_status()` -> `get_orchestration_state()`
> - `terminate()` -> `terminate_orchestration()`
> - `raise_event()` -> `raise_orchestration_event()`
>
> Adapt `status_envelope()` and related tests deliberately for the native `OrchestrationState` contract, including `created_at`, `last_updated_at`, `get_output()`, and `get_custom_status()`. Preserve the existing public workflow status response shape and behavior.
### OS and Version?
> All supported development and hosted environments.
### Versions
> `azure-functions-durable==2.0.0b2`, `durabletask==1.9.0`
### Mention any other details that might be useful
> Follow-up discovered while reviewing PR #201. The orchestrator side in that PR is already consistently migrated to native `OrchestrationContext`, task types, and `when_any()`; this issue intentionally covers the remaining client-side compatibility aliases and associated test doubles.
> ---------------------------------------------------------------
> Thanks! We'll be in touch soon.
Contributor guide
Research direction
Start in src/azure_functions_agents/workflows/tools.py, inspect the workflow client operations and status_envelope(), then review the related tests and test doubles for the compatibility aliases. Replace the four client calls with the named native Durable APIs and adapt the OrchestrationState handling; done means the existing public workflow status response shape and behavior remain unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, python
- Domain
- api, backend, cloud
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100