Repository navigation
feat(forward): add Drive APIs and managed tool configuration - #19
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SDK users currently have no typed way to manage Forward Drive files or enable the Agent's managed Drive tools. Add the five Drive Beta APIs and Template
managed_tool_config.enabled_toolsto create/update requests and responses.Drive requests keep
identity_idin the query (including Identity SATs), preserve directory slashes and server ordering, and expose the independententries/next_page_tokencontract. Signed URL responses retain method/headers/expiry; examples use a separate storage HTTP client. Clear sends no body, partial deletion details remain in standard API errors, and write retry behavior is unchanged.Why
This completes the public Drive API surface without exposing internal
/forward-mcpruntime routes. Template managed tools remain distinct fromtools[].enabled_tools; omission, empty lists and null are preserved.Verification
uv run make lint typecheck test buildpassed. Drive-specific sync/async boundary tests also passed.make docs-checkon Python 3.12 against regenerated documentation, with an isolated Git index.Live coverage includes upload/download content, Unicode and space-containing paths, single-entry cursor pages, zero-byte files, nonempty-directory refusal, recursive/repeated deletion, clear, Identity isolation and Template configuration readback. Tests create isolated Identities; resources were cleaned up and issued SATs revoked. No model/tool execution was performed. Partial storage failures and null serialization are covered offline.
Impact
The new Drive live test entry point is opt-in. Internal AoneCI adoption will follow GitHub main merge; this PR does not run Agent Drive tools or introduce a high-level local-file transfer helper.