mirror of
https://github.com/hanzoai/frames.git
synced 2026-09-24 00:08:03 +00:00
Forked from HyperFrames (Apache-2.0), full history preserved. Hosts are mapped explicitly and BEFORE the identifier rename, because hyperframes.heygen.com is not decoration: 175 of its occurrences are $schema identifiers that a validator dereferences. A blind rename would have left them naming a host that never serves them. The schema files are in this repo under docs/schema, so the mapped host is one we can actually serve -- that is the condition that makes the rewrite safe, and serving them is a deploy task, not an edit. docs/schema/hyperframes.json is renamed to frames.json to match the identifier it is now published under. api.heygen.com and the CLI auth against heygen.com are left UNRENAMED on purpose. They are a dependency on HeyGen's SaaS, not a name of ours to take, and the right move is to remove that integration rather than rebrand it. LICENSE and CREDITS.md are untouched; NOTICE records the lineage. Co-authored-by: Hanzo Dev <[email protected]>
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
// Thin wrapper over the shared packet builder in frames-core โ this file pins
|
|
// this workflow's paths plus its one behavioral difference: design truth resolves
|
|
// frame.md โ design.md โ DESIGN.md (general-video ยง 6 order). Everything else has
|
|
// one owner: ../../frames-core/scripts/lib/frame-packets-core.mjs
|
|
|
|
import { existsSync } from "node:fs";
|
|
import { dirname, join, resolve } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import * as core from "../../frames-core/scripts/lib/frame-packets-core.mjs";
|
|
|
|
const SKILL_DIR = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
|
|
function designTruthLine(projectDir) {
|
|
for (const name of ["frame.md", "design.md", "DESIGN.md"]) {
|
|
const candidate = join(resolve(projectDir), name);
|
|
if (existsSync(candidate)) return `- Design truth: ${candidate}`;
|
|
}
|
|
return `- Design truth: ${join(resolve(projectDir), "frame.md")}`;
|
|
}
|
|
|
|
const CONFIG = {
|
|
animationDir: resolve(SKILL_DIR, "../frames-animation"),
|
|
corePath: resolve(SKILL_DIR, "../frames-core/references/frame-worker-core.md"),
|
|
deltaPath: resolve(SKILL_DIR, "sub-agents/frame-worker.md"),
|
|
designTruthLine,
|
|
};
|
|
|
|
export function buildRolePayload({ outDir }) {
|
|
return core.buildRolePayload({ ...CONFIG, outDir });
|
|
}
|
|
|
|
export function buildFramePackets(options) {
|
|
return core.buildFramePackets({ ...CONFIG, ...options });
|
|
}
|
|
|
|
if (core.isMainModule(import.meta.url)) core.runCli({ buildFramePackets, buildRolePayload });
|