mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-01 19:42:03 +00:00
`registry_item_added` fires when a catalog block is installed and `render_complete` fires when a video is produced, but nothing joined them, so "did this video use the catalog?" had no answer. `hyperframes add` now records each installed item in `hyperframes.json` (installed files are plain composition HTML with no provenance marker, so this manifest is the only record that a file came from the registry), and `render_complete` reports both the items the project installed and the blocks the rendered composition actually reaches. An item installed and then never mounted was tried and dropped, which no add-time event can express. The scan answering "which sub-compositions does this file mount" now has one owner, `collectSubCompositionSrcs` in `@hyperframes/parsers`, shared with lint's `lintMissingOrEmptySubComposition`. It holds two invariants that were previously restated per call site and got re-derived wrongly: it is a text scan rather than a DOM query, because `<template>` content is inert and every sub-composition except the render entry is wrapped in one; and references resolve root-relative at every nesting level, matching `parseSubCompositions`. It walks tag by tag rather than running open-ended spans across the whole file, so a malformed composition cannot stall the render plan. Also: `registryItems` is declared in the config schema, which closes with `additionalProperties: false`, with an ajv-backed test pinning every key the CLI writes; counts are never truncated by the name cap, and the reported used blocks stay a subset of the reported installed ones, with `registry_items_truncated` marking a windowed list; and an unreadable manifest reports itself rather than posing as a project that never used the catalog.
79 lines
2.3 KiB
JSON
79 lines
2.3 KiB
JSON
{
|
|
"name": "@hyperframes/cli",
|
|
"version": "0.8.13",
|
|
"description": "HyperFrames CLI — create, preview, and render HTML video compositions",
|
|
"license": "Apache-2.0",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/heygen-com/hyperframes",
|
|
"directory": "packages/cli"
|
|
},
|
|
"bin": {
|
|
"hyperframes": "./bin/hyperframes.mjs"
|
|
},
|
|
"files": [
|
|
"bin",
|
|
"dist"
|
|
],
|
|
"type": "module",
|
|
"scripts": {
|
|
"test": "vitest run",
|
|
"dev": "tsx src/cli.ts",
|
|
"build": "bun run build:fonts && tsup && bun run build:runtime && bun run build:beat-analyzer && bun run build:copy",
|
|
"build:fonts": "node scripts/build-fonts.mjs",
|
|
"build:runtime": "tsx scripts/build-runtime.ts",
|
|
"build:beat-analyzer": "node scripts/build-beat-analyzer.mjs",
|
|
"build:copy": "node scripts/build-copy.mjs",
|
|
"typecheck": "tsc --noEmit",
|
|
"gen:skills-manifest": "tsx scripts/gen-skills-manifest.ts",
|
|
"gen:agent-dirs": "tsx scripts/sync-agent-dirs.ts"
|
|
},
|
|
"dependencies": {
|
|
"@hono/node-server": "^2.0.5",
|
|
"@puppeteer/browsers": "^3.2.1",
|
|
"adm-zip": "^0.6.0",
|
|
"citty": "^0.2.1",
|
|
"compare-versions": "^6.1.1",
|
|
"debug": "^4.4.0",
|
|
"esbuild": "^0.25.12",
|
|
"fontkit": "^2.0.4",
|
|
"giget": "^3.2.0",
|
|
"hono": "^4.0.0",
|
|
"ignore": "^5.3.2",
|
|
"onnxruntime-node": "1.21.1",
|
|
"open": "^10.0.0",
|
|
"postcss": "^8.5.8",
|
|
"prettier": "^3.8.1",
|
|
"puppeteer-core": "^25.8.0",
|
|
"sharp": "^0.35.0"
|
|
},
|
|
"devDependencies": {
|
|
"@clack/prompts": "^1.1.0",
|
|
"@hyperframes/aws-lambda": "workspace:*",
|
|
"@hyperframes/core": "workspace:*",
|
|
"@hyperframes/engine": "workspace:*",
|
|
"@hyperframes/gcp-cloud-run": "workspace:*",
|
|
"@hyperframes/lint": "workspace:*",
|
|
"@hyperframes/parsers": "workspace:*",
|
|
"@hyperframes/producer": "workspace:*",
|
|
"@hyperframes/studio": "workspace:*",
|
|
"@hyperframes/studio-server": "workspace:*",
|
|
"@types/fontkit": "^2.0.9",
|
|
"@types/mime-types": "^3.0.1",
|
|
"@types/node": "^25.0.10",
|
|
"ajv": "^8.20.0",
|
|
"linkedom": "^0.18.12",
|
|
"picocolors": "^1.1.1",
|
|
"tsup": "^8.0.0",
|
|
"tsx": "^4.0.0",
|
|
"typescript": "^5.0.0",
|
|
"vitest": "^3.2.4"
|
|
},
|
|
"optionalDependencies": {
|
|
"@google/genai": "^1.50.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=22"
|
|
}
|
|
}
|