mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 04:38:33 +00:00
* feat(media-use): usage visibility — shared telemetry identity, miss log, resolve --stats - U6: join the CLI/studio telemetry identity — read the shared install id from ~/.hyperframes/config.json (seed if absent) instead of a media-use-only ~/.media/anon-id, and $identify to the HeyGen account (email/username) once per run on sign-in. One PostHog person across surfaces; pseudonymous before sign-in, account-linked after. Event properties stay coarse (no intent/paths). - U1: one-time first-run disclosure to stderr + Privacy section in SKILL.md; honors DO_NOT_TRACK / HYPERFRAMES_NO_TELEMETRY. - U2: persist resolve misses to ~/.media/misses.jsonl (local → intent kept; the media_use_resolve_miss telemetry event stays intent-free). - U3: `resolve --stats` (+ --days) — local usage report over .media/ + ~/.media (volume by type, source/provider/via split, hit-rate, top missed intents, global-cache size/reuse); human + --json. - U4: reproducible PostHog dashboard definition (references/telemetry-dashboard.md). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H5k87mPZ4d6yiFwcWSb8Vv * fix(media-use): address #2113 review — shared notice state, legacy id migration, stats robustness - Notice-shown state now lives in the shared ~/.hyperframes/config.json (config.telemetryNoticeShown, the CLI's own field) instead of a media-use-only ~/.media marker — so shared-identity users see the first-run notice once per person, not once per tool. - Migrate a pre-existing ~/.media/anon-id into the shared config on upgrade, so media-use-only users keep their PostHog persona instead of resetting. - buildStats: --days only windows on a positive finite value (negative/NaN → all time, not an empty report); dropped the top-level catch that masked a real error as an all-zero "no usage" report (sub-reads are individually guarded). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H5k87mPZ4d6yiFwcWSb8Vv --------- Co-authored-by: Claude Opus 4.8 (1M context) <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": "c2929c6cc7ca35b3",
|
|
"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": "511a6283a5dbd7ea",
|
|
"files": 14
|
|
},
|
|
"hyperframes-creative": {
|
|
"hash": "d60c84ddca9ea6db",
|
|
"files": 69
|
|
},
|
|
"hyperframes-keyframes": {
|
|
"hash": "555c0cd491c40cea",
|
|
"files": 3
|
|
},
|
|
"hyperframes-registry": {
|
|
"hash": "e3b389526834109d",
|
|
"files": 10
|
|
},
|
|
"media-use": {
|
|
"hash": "6c4aa8649e1eaf99",
|
|
"files": 121
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|