Skip to content

feat(forward): add Drive APIs and managed tool configuration - #19

Merged
moonyue-w merged 1 commit into
mainfrom
codex/forward-drive
Oct 14, 2026
Merged

moonyue-w merged 1 commit into
mainfrom
codex/forward-drive

Conversation

@moonyue-w

Copy link
Copy Markdown
Collaborator

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_tools to create/update requests and responses.

Drive requests keep identity_id in the query (including Identity SATs), preserve directory slashes and server ordering, and expose the independent entries / next_page_token contract. 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-mcp runtime routes. Template managed tools remain distinct from tools[].enabled_tools; omission, empty lists and null are preserved.

Verification

  • uv run make lint typecheck test build passed. Drive-specific sync/async boundary tests also passed.
  • make docs-check on Python 3.12 against regenerated documentation, with an isolated Git index.
  • The new Drive example ran successfully in CN/Global with PAT and automatic SA Key authentication (4 runs).
  • Drive integration: sync/async × CN/Global × PAT/admin SAT/Identity SAT, all 12 groups passed.

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

  • Additive public API; Drive is documented as Beta.
  • Unreleased changelog, README, generated API reference, examples and contract fixtures updated.
  • Go/Python/TypeScript parity considered; Python sync/async and TS module exports remain supported.
  • No credentials, local environment files, logs or test output included.
  • Breaking-change migration notes: not applicable (new APIs and optional Template configuration).

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.

@moonyue-w
moonyue-w merged commit de70a92 into main Oct 14, 2026
5 checks passed
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