[pull] main from heygen-com:main#68
Merged
Merged
Conversation
…200MB) (#1844) * chore(cli): regenerate cloud client for createAssetUpload + completeAssetUpload Regenerated from experiment-framework `master` at commit `e74815f7af` (the merge of EF#41085, which added `/v3/assets/direct-uploads` + `/v3/assets/{asset_id}/complete` to the `TARGET_ENDPOINTS` allowlist in `scripts/generate_hyperframes_cli_client.py`). The `sync-hyperframes-codegen.yml` workflow that normally auto-opens this PR failed with a `gh: Not Found (HTTP 404)` on the PR-creation step (run 28556975483); regenerated manually with: cd experiment-framework PYTHONPATH=. python3 scripts/generate_hyperframes_cli_client.py \\ --out /path/to/hyperframes-oss This commit is codegen-only — no hand edits. The direct-upload wire-up that consumes the new `createAssetUpload` + `completeAssetUpload` methods lands in the follow-up commit. — Jerrai Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * feat(cli): migrate cloud-render upload to /v3/assets/direct-uploads (200MB) Replaces the legacy `client.uploadAsset(...)` multipart POST to `/v3/assets` (32 MB in-memory proxy path) with the three-step direct-to- S3 flow that lifts the practical per-project ceiling to 200 MB: 1. `POST /v3/assets/direct-uploads` — declares filename, content-type, size, and SHA256 checksum; returns `asset_id`, presigned `upload_url`, and required `upload_headers`. 2. Raw `PUT` to `upload_url` with the zip bytes + `upload_headers` verbatim. No CLI auth attached — the presigned URL signature carries authorization, and any extra headers would break the signature. 3. `POST /v3/assets/{asset_id}/complete` — finalizes into a reusable asset. Retried up to 5x on 409 ("Uploaded object not found yet"), a documented race between S3 write consistency and the finalize check. The returned `asset_id` is the same namespace the legacy path produced (both write into `movio_asset`), so the downstream render submission at `createRender({project: {type: "asset_id", asset_id}})` is unchanged. Server-side context (EF#41085): the direct-upload endpoint now accepts `application/zip` via a scoped `_ZIP_MIME_TO_EXT` map — the shared media/ PDF allowlist stays zip-free. The exact-MIME cross-check at the sniff step guards against zip<->PDF confusion under the shared 'document' category. Canonical S3 key layout matches the legacy proxy path (`document/{asset_id}/original.zip`), so the render-side head_object gate is transparent to which upload path produced the asset. The prior codegen commit added the generated createAssetUpload + completeAssetUpload methods this commit consumes. — Jerrai Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )