@lingjingai/scriptctl 0.63.7 → 0.63.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ # 0.63.8
2
+
3
+ - 视频 ingest 整合保留逐集提取的 Action 正文,修复人物别名「头」「妈」「洛」「哥」及地点、道具别名误替换普通词的问题。
4
+ - 名称归一化仅作用于完整的结构化资产引用;人物跨集更名、历史 aliases、稳定 ID 和道具去重继续生效。
5
+ - 沿用视频 pipeline 19 和原分集 checkpoint,修复无需重新调用模型;已经人工审核或修改的成稿应单独核对恢复。
@@ -0,0 +1,5 @@
1
+ # 0.63.9
2
+
3
+ - `scriptctl review` 逐集审核动作叙述的人物指代,依据资产、上下文与原片证据,将可确认的称呼、别名和代词规范为资产正式名;有歧义时保留原文并记录待核对项。
4
+ - 动作换名要求保留已有视觉描述、动作事实和人物 aliases;普通词义、对白及动作内引用的原声与画面文字保留原文。
5
+ - 全剧收敛在人物合并或更名后核对受影响动作叙述的名称一致性。
package/dist/bin.js CHANGED
@@ -16487,29 +16487,8 @@ function checkLifecycle2(store, previous, episodes, force) {
16487
16487
  }
16488
16488
  }
16489
16489
  function renameDocs(docs, alias) {
16490
- const terms = /* @__PURE__ */ new Map();
16491
- for (const [surface, canonical] of alias) {
16492
- terms.set(canonical, canonical);
16493
- terms.set(surface, canonical);
16494
- }
16495
- const orderedTerms = [...terms].sort(([left], [right]) => right.length - left.length);
16496
- const renameActionContent = (content) => {
16497
- let result = "";
16498
- let offset = 0;
16499
- while (offset < content.length) {
16500
- const match = orderedTerms.find(([surface]) => content.startsWith(surface, offset));
16501
- if (match) {
16502
- result += match[1];
16503
- offset += match[0].length;
16504
- } else {
16505
- result += content[offset];
16506
- offset += 1;
16507
- }
16508
- }
16509
- return result;
16510
- };
16511
16490
  return docs.map((d) => {
16512
- const c = JSON.parse(JSON.stringify(d));
16491
+ const c = structuredClone(d);
16513
16492
  for (const a of c.actors) a.name = applyRename(a.name, alias) ?? a.name;
16514
16493
  for (const sc of c.scenes) {
16515
16494
  for (const ch of sc.characters) ch.name = applyRename(ch.name, alias) ?? ch.name;
@@ -16527,7 +16506,6 @@ function renameDocs(docs, alias) {
16527
16506
  sc.props = renamedProps;
16528
16507
  for (const an of sc.anchors) {
16529
16508
  an.speaker = applyRename(an.speaker, alias);
16530
- if (an.kind === "act") an.content = renameActionContent(an.content);
16531
16509
  }
16532
16510
  }
16533
16511
  return c;