Skip to content

[codex] add control-plane file upload URLs#38

Merged
winrey merged 13 commits into
devfrom
codex/scp-host-files-ahand
May 14, 2026
Merged

[codex] add control-plane file upload URLs#38
winrey merged 13 commits into
devfrom
codex/scp-host-files-ahand

Conversation

@winrey
Copy link
Copy Markdown
Contributor

@winrey winrey commented May 13, 2026

Summary

Adds the aHand control-plane support needed by Team9 streaming host file transfer.

What changed

  • Added POST /api/control/files/upload-url so control-plane callers can request a scoped upload URL for device file writes.
  • Scoped generated upload object keys under the authorized device prefix.
  • Added SDK helpers and exported types for file upload URL creation.
  • Improved SDK abort/error classification for upload-url and body-read error paths.

Why

Team9 scp_host_files writes to aHand devices via a worker-mediated streaming relay. Large binary payloads must not be buffered in Team9 memory, so Team9 requests an upload URL and streams the PUT body directly while committing the resulting object through the existing file operation flow.

Validation

  • pnpm --filter @ahandai/sdk test passed.
  • cargo test -p ahand-hub --test control_files control_files_401_without_auth_header passed.
  • Team9 integration work also verified direct upload-url usage without requiring an unpublished @ahandai/sdk@0.2.1 runtime dependency.

Notes

This branch targets dev. The worktree still has a local unstaged pnpm-lock.yaml install-noise diff; it is intentionally not included in this PR.

@winrey winrey marked this pull request as ready for review May 14, 2026 14:47
@winrey winrey merged commit a907da9 into dev May 14, 2026
3 checks passed
@winrey winrey deleted the codex/scp-host-files-ahand branch May 14, 2026 15:29
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