-
Notifications
You must be signed in to change notification settings - Fork 889
Description
We are integrating the SDK into a durable/serverless environment and have identified a few asks that would enable our scenario:
- Call to os.userInfo blocks execution in Azure App Service environments copilot-cli#1511
- Deferred tool results — let tool handlers suspend a turn and resume via submitToolResult() copilot-cli#1552
Alongside first two, it would be useful to interact with the SDK/CLI without needing filesystem access. We have explored mounting storage as a workaround & plan to create environment-specific abstractions for run_in_terminal, read_file, etc as needed & described in your guide here. We are trying to find a way to also store the session state (conversation history, tool call results, plans, etc) in non-filesystem mechanisms to avoid latency & extra setup for our users.
This might look like a pluggable storage provider in the SDK where we can provide custom implementations for updating conversation history, and upon session resume (could be on a different worker with non-mounted storage) we resume the session & rehydrate via some storage provider APIs. Please let us know if this is on the roadmap or another approach is in the works that might help. Thank you! (Feel free to message over Teams if preferred at karansin).