Skip to content

Extend IStorage interface to support new operations - #883

Open
sw-joelmut wants to merge 4 commits into
mainfrom
southworks/add/storagev2
Open

Extend IStorage interface to support new operations#883
sw-joelmut wants to merge 4 commits into
mainfrom
southworks/add/storagev2

Conversation

@sw-joelmut

Copy link
Copy Markdown
Collaborator

Fixes #848

Description
This PR extends the storage system by introducing IStorageV2 interface to support new operations with structured result types. It adds a StorageCompatibility helper to maintain backward compatibility while enabling enhanced storage capabilities.

Key changes

  • New storage interface: Added IStorageV2 interface that extends IStorage with new methods returning structured results (StorageOperationStatus, typed values)
  • Compatibility layer: Introduced StorageCompatibility class to convert between IStorage and IStorageV2, ensuring existing code continues to work
  • Storage implementations: Updated MemoryStorage, BlobsStorage, and CosmosDbPartitionedStorage to implement IStorageV2
  • Component updates: Modified AgentState, UserAuthorization, AzureBotUserAuthorization, ConfigurationAgentHost, and other components to use IStorageV2 and handle structured storage results
  • Enhanced operations: Storage operations now return status codes (Succeeded, NotFound, Conflict) and typed values instead of nullable objects
  • Test coverage: Updated existing tests and added new tests for IStorageV2 functionality

Testing
The following image shows a few of the tested scenarios.
image

Copilot AI review requested due to automatic review settings June 19, 2026 16:01
@sw-joelmut
sw-joelmut requested review from a team and ceciliaavila as code owners June 19, 2026 16:01
@github-actions github-actions Bot added ML: Core Tags changes to core libraries ML: Tests Tags changes to tests labels Jun 19, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ML: Core Tags changes to core libraries ML: Tests Tags changes to tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extend IStorage interface to support new operations

2 participants