mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 04:38:33 +00:00
Extends the scope+retry work from the figma bug-bash (valid report:
9-bugs-with-repros; the skill-not-used report was discarded).
- 403-body parse (bug 4): figma returns 403 {"err":"Invalid token"} for bad
PATs (NOT 401), and 403 {"err":"Invalid scope(s)… requires X"} for missing
scopes. get() now reads the body: "Invalid token" reclassifies to BAD_TOKEN
with re-mint advice; a scope body surfaces figma's own diagnosis verbatim;
else falls back to the endpoint's scope hint. Reads both err and message
(variables endpoint uses message). One fix, honest messages for bugs 1/4/9.
- Batch asset fetch (requested): figma asset accepts multiple refs
(space-separated or comma-joined) of one file and renders them in a SINGLE
/v1/images call via new client.renderNodes — figma's documented per-minute
rate-limit workaround. runAssetImport delegates to runAssetImportMany;
cache-checks per node, batches only the misses, one index.md regen.
- NO_TOKEN box (bug 8): errorBox indented only the first hint line, mangling
the numbered setup list. Indent every line; single-line hints unchanged.
Verified live: 3 refs -> 3 imports -> 1 request; bad token -> BAD_TOKEN not
scope advice. Client suite 22, cli figma 33.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
86 lines
1.7 KiB
JSON
86 lines
1.7 KiB
JSON
{
|
|
"source": "heygen-com/hyperframes",
|
|
"skills": {
|
|
"embedded-captions": {
|
|
"hash": "fe837c08dd47b077",
|
|
"files": 144
|
|
},
|
|
"faceless-explainer": {
|
|
"hash": "7f8f31695723756b",
|
|
"files": 18
|
|
},
|
|
"figma": {
|
|
"hash": "5581f824cc5deecc",
|
|
"files": 2
|
|
},
|
|
"general-video": {
|
|
"hash": "e26710c3537b3a07",
|
|
"files": 1
|
|
},
|
|
"hyperframes": {
|
|
"hash": "7ddbb928a3674e5e",
|
|
"files": 1
|
|
},
|
|
"hyperframes-animation": {
|
|
"hash": "373da1c37ee2bd36",
|
|
"files": 116
|
|
},
|
|
"hyperframes-cli": {
|
|
"hash": "8ca3bef87f169ba1",
|
|
"files": 7
|
|
},
|
|
"hyperframes-core": {
|
|
"hash": "2b1fb57fc6964e76",
|
|
"files": 14
|
|
},
|
|
"hyperframes-creative": {
|
|
"hash": "a5bccc25d291899d",
|
|
"files": 69
|
|
},
|
|
"hyperframes-keyframes": {
|
|
"hash": "555c0cd491c40cea",
|
|
"files": 3
|
|
},
|
|
"hyperframes-registry": {
|
|
"hash": "e3b389526834109d",
|
|
"files": 10
|
|
},
|
|
"media-use": {
|
|
"hash": "1bea0c917a66f085",
|
|
"files": 113
|
|
},
|
|
"motion-graphics": {
|
|
"hash": "96ed2f7d8051b009",
|
|
"files": 23
|
|
},
|
|
"music-to-video": {
|
|
"hash": "901a19d0680f8c1b",
|
|
"files": 132
|
|
},
|
|
"pr-to-video": {
|
|
"hash": "800b4c11cda4658b",
|
|
"files": 22
|
|
},
|
|
"product-launch-video": {
|
|
"hash": "4f858cc4d59324da",
|
|
"files": 20
|
|
},
|
|
"remotion-to-hyperframes": {
|
|
"hash": "aa599f027db4b994",
|
|
"files": 70
|
|
},
|
|
"slideshow": {
|
|
"hash": "19a0332616bc397b",
|
|
"files": 2
|
|
},
|
|
"talking-head-recut": {
|
|
"hash": "d5c51342625c9952",
|
|
"files": 27
|
|
},
|
|
"website-to-video": {
|
|
"hash": "32bdb559f4d18f99",
|
|
"files": 32
|
|
}
|
|
}
|
|
}
|