@clize/clize 0.32.0 → 0.33.0

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.
Files changed (110) hide show
  1. package/README.md +19 -17
  2. package/dist/cli.js +484 -373
  3. package/dist/cli.js.map +1 -1
  4. package/dist/core/addresses.js +12 -11
  5. package/dist/core/addresses.js.map +1 -1
  6. package/dist/core/analytics.js +6 -5
  7. package/dist/core/analytics.js.map +1 -1
  8. package/dist/core/authz.js +6 -5
  9. package/dist/core/authz.js.map +1 -1
  10. package/dist/core/billing.js +83 -12
  11. package/dist/core/billing.js.map +1 -1
  12. package/dist/core/credentials.js +3 -1
  13. package/dist/core/credentials.js.map +1 -1
  14. package/dist/core/dns.js +3 -2
  15. package/dist/core/dns.js.map +1 -1
  16. package/dist/core/domain-health.js +74 -50
  17. package/dist/core/domain-health.js.map +1 -1
  18. package/dist/core/domains.js +74 -44
  19. package/dist/core/domains.js.map +1 -1
  20. package/dist/core/email-tx.js +8 -6
  21. package/dist/core/email-tx.js.map +1 -1
  22. package/dist/core/email.js +13 -12
  23. package/dist/core/email.js.map +1 -1
  24. package/dist/core/env-detect.js +7 -14
  25. package/dist/core/env-detect.js.map +1 -1
  26. package/dist/core/handle.js +33 -30
  27. package/dist/core/handle.js.map +1 -1
  28. package/dist/core/install.js +114 -56
  29. package/dist/core/install.js.map +1 -1
  30. package/dist/core/media.js +37 -36
  31. package/dist/core/media.js.map +1 -1
  32. package/dist/core/payments.js +5 -4
  33. package/dist/core/payments.js.map +1 -1
  34. package/dist/core/projects.js +38 -26
  35. package/dist/core/projects.js.map +1 -1
  36. package/dist/core/redirect.js +4 -3
  37. package/dist/core/redirect.js.map +1 -1
  38. package/dist/core/serve.js +2 -1
  39. package/dist/core/serve.js.map +1 -1
  40. package/dist/core/setup.js +11 -9
  41. package/dist/core/setup.js.map +1 -1
  42. package/dist/core/shop.js +17 -16
  43. package/dist/core/shop.js.map +1 -1
  44. package/dist/core/site.js +2 -1
  45. package/dist/core/site.js.map +1 -1
  46. package/dist/core/sites.js +41 -40
  47. package/dist/core/sites.js.map +1 -1
  48. package/dist/core/triage.js +39 -5
  49. package/dist/core/triage.js.map +1 -1
  50. package/dist/core/video.js +45 -43
  51. package/dist/core/video.js.map +1 -1
  52. package/dist/github.js +4 -3
  53. package/dist/github.js.map +1 -1
  54. package/dist/i18n/t.js +65 -0
  55. package/dist/i18n/t.js.map +1 -0
  56. package/dist/i18n/zh.js +1265 -0
  57. package/dist/i18n/zh.js.map +1 -0
  58. package/dist/index.js +61 -40
  59. package/dist/index.js.map +1 -1
  60. package/dist/lib/cloudflare.js +8 -7
  61. package/dist/lib/cloudflare.js.map +1 -1
  62. package/dist/lib/crypto.js +2 -1
  63. package/dist/lib/crypto.js.map +1 -1
  64. package/dist/lib/vercel.js +2 -1
  65. package/dist/lib/vercel.js.map +1 -1
  66. package/dist/lib/zone.js +2 -1
  67. package/dist/lib/zone.js.map +1 -1
  68. package/dist/mcp-profiles.js +5 -1
  69. package/dist/mcp-profiles.js.map +1 -1
  70. package/dist/providers/deploy/cloudflare.js +3 -2
  71. package/dist/providers/deploy/cloudflare.js.map +1 -1
  72. package/dist/providers/email/cloudflare-inbound.js +4 -3
  73. package/dist/providers/email/cloudflare-inbound.js.map +1 -1
  74. package/dist/providers/email/cloudflare-outbound.js +2 -1
  75. package/dist/providers/email/cloudflare-outbound.js.map +1 -1
  76. package/dist/providers/email/resend.js +3 -2
  77. package/dist/providers/email/resend.js.map +1 -1
  78. package/dist/providers/email/ses.js +3 -2
  79. package/dist/providers/email/ses.js.map +1 -1
  80. package/dist/providers/index.js +3 -2
  81. package/dist/providers/index.js.map +1 -1
  82. package/dist/providers/media/google.js +10 -9
  83. package/dist/providers/media/google.js.map +1 -1
  84. package/dist/providers/media/kie.js +12 -11
  85. package/dist/providers/media/kie.js.map +1 -1
  86. package/dist/providers/media/kunavo.js +10 -9
  87. package/dist/providers/media/kunavo.js.map +1 -1
  88. package/dist/providers/media/openai.js +5 -4
  89. package/dist/providers/media/openai.js.map +1 -1
  90. package/dist/providers/media/suno.js +7 -6
  91. package/dist/providers/media/suno.js.map +1 -1
  92. package/dist/providers/registrar/routing.js +2 -1
  93. package/dist/providers/registrar/routing.js.map +1 -1
  94. package/dist/providers/registrar/vercel.js +2 -1
  95. package/dist/providers/registrar/vercel.js.map +1 -1
  96. package/dist/providers/seo/dataforseo.js +5 -4
  97. package/dist/providers/seo/dataforseo.js.map +1 -1
  98. package/dist/providers/seo/gsc.js +5 -4
  99. package/dist/providers/seo/gsc.js.map +1 -1
  100. package/dist/remote.js +25 -22
  101. package/dist/remote.js.map +1 -1
  102. package/dist/selfcheck.js +23 -22
  103. package/dist/selfcheck.js.map +1 -1
  104. package/dist/state/file-store.js +17 -16
  105. package/dist/state/file-store.js.map +1 -1
  106. package/package.json +4 -3
  107. package/skills/clize/SKILL.md +171 -143
  108. package/skills/clize-seo/SKILL.md +2 -2
  109. package/skills/clize-site-build/SKILL.md +97 -41
  110. package/skills/clize-site-debug/SKILL.md +73 -45
@@ -9,6 +9,8 @@
9
9
  import fs from "node:fs";
10
10
  import path from "node:path";
11
11
  import { spawnSync } from "node:child_process";
12
+ // ---------- 蓝图 schema ----------
13
+ import { t } from "../i18n/t.js";
12
14
  const MODEL_LIMITS = {
13
15
  veo: { maxSec: 8, maxRefs: 3, durationParam: false },
14
16
  };
@@ -32,25 +34,25 @@ const HAZARDS = [
32
34
  rule: "screen-display",
33
35
  re: /(screen|display|monitor|phone|tablet|laptop)[^.\n]{0,50}(shows|showing|displays|displaying|with the text|reads)|屏幕(上)?(显示|展示|出现)|手机(上)?显示/i,
34
36
  level: "error",
35
- fix: "屏幕内容别进画面描述:改被动视角(角色自己在看 + 反应),或单独 insert 镜头拍屏幕特写,或该镜改 shotType=ui 走录屏/Remotion",
37
+ fix: t("Keep screen content out of the picture description: switch to a passive angle (the character looks + reacts), use a separate insert shot for a screen close-up, or make the shot shotType=ui and use a screen recording / Remotion."),
36
38
  },
37
39
  {
38
40
  rule: "show-to-camera",
39
41
  re: /holding\s+(the\s+)?(phone|tablet|laptop|device)\s+(at arm'?s length|to(ward)?s? the camera)|举着手机|把(手机|平板|电脑)对着|展示给镜头/i,
40
42
  level: "error",
41
- fix: "设备用自然持握措辞:glances down at phone in her lap / phone glows softly in her hands",
43
+ fix: t("Describe devices as naturally held: glances down at phone in her lap / phone glows softly in her hands."),
42
44
  },
43
45
  {
44
46
  rule: "mirror-reflection",
45
47
  re: /mirror\s+(reflect|showing|shows)|镜中(映出|显示)|镜子里(映|显示|出现)/i,
46
48
  level: "error",
47
- fix: "AI 渲染不对反射角度:删镜面描述,换直接机位拍角色本体。",
49
+ fix: t("AI cannot render reflection angles: remove the mirror description and shoot the character directly."),
48
50
  },
49
51
  {
50
52
  rule: "readable-text",
51
53
  re: /text\s+(reads|saying|that says)|(写着|字样|招牌上书)/i,
52
54
  level: "warning",
53
- fix: "画面内可读文字是穿帮重灾区:删去具体文字,只写视觉外观(a sign glowing warmly);确需文字须显式标注「画面内文字」并接受废片率。",
55
+ fix: t("Readable text inside the frame is the biggest continuity risk: drop the specific words and describe only the look (a sign glowing warmly); if text is essential, label it explicitly as on-screen text and accept the reject rate."),
54
56
  },
55
57
  ];
56
58
  /** 视线方向关键词(多角色镜头缺视线 → 模型默认"社交注视"看镜头/看人,与剧情冲突)。 */
@@ -63,15 +65,15 @@ export function checkBlueprint(bp) {
63
65
  };
64
66
  // -- 蓝图基本形
65
67
  if (!bp.title?.trim())
66
- issue("error", "blueprint", "schema", " title");
68
+ issue("error", "blueprint", "schema", t("title missing"));
67
69
  if (!bp.style?.trim())
68
- issue("error", "blueprint", "schema", " style(clize build clip list 选一个风格 id)");
70
+ issue("error", "blueprint", "schema", t("style missing (pick a style id from clize build clip list)"));
69
71
  if (!bp.lang?.trim())
70
- issue("error", "blueprint", "schema", " lang(决定语言声明与语速基准)");
72
+ issue("error", "blueprint", "schema", t("lang missing (decides the language declaration and the speech-rate baseline)"));
71
73
  if (!Array.isArray(bp.units) || !bp.units.length)
72
- issue("error", "blueprint", "schema", "units 为空");
74
+ issue("error", "blueprint", "schema", t("units is empty"));
73
75
  if (!Array.isArray(bp.assets))
74
- issue("error", "blueprint", "schema", "assets 数组(可为空数组)");
76
+ issue("error", "blueprint", "schema", t("assets array missing (an empty array is fine)"));
75
77
  if (errors.length) {
76
78
  return report(bp, errors, warnings); // 基本形不齐,后续校验无意义
77
79
  }
@@ -81,12 +83,12 @@ export function checkBlueprint(bp) {
81
83
  // -- 资产校验
82
84
  for (const a of bp.assets) {
83
85
  if (!a.imagePrompt?.trim())
84
- issue("error", a.id, "asset-prompt", " imagePrompt");
86
+ issue("error", a.id, "asset-prompt", t("imagePrompt missing"));
85
87
  else {
86
88
  if ((a.type === "scene" || a.type === "item") && !/no text/i.test(a.imagePrompt))
87
- issue("warning", a.id, "asset-no-text", "场景/物品资产图 prompt 未含 no text 约束(资产图带文字会污染所有引用它的分镜)", "prompt 末尾加:no text, no characters, no annotations");
89
+ issue("warning", a.id, "asset-no-text", t("Scene/prop asset prompt has no 'no text' constraint (text on an asset image contaminates every shot that references it)"), t("Append to the prompt: no text, no characters, no annotations."));
88
90
  if (a.type === "role" && /疲惫|微笑|哭|怒|惊|跑|坐着|站在|holding|running|smiling|crying/i.test(a.imagePrompt))
89
- issue("warning", a.id, "asset-static", "角色资产图 prompt 疑似含动作/情绪描述(资产图只要静态外观,动作情绪属于分镜)", "删动作/情绪词,仅保留年龄/体型/五官/发型/服饰/配饰。");
91
+ issue("warning", a.id, "asset-static", t("Character asset prompt seems to describe action / emotion (asset images are static appearance only; action and emotion belong to the shots)"), t("Remove action / emotion words; keep only age / build / face / hair / clothing / accessories."));
90
92
  }
91
93
  }
92
94
  // -- 分镜校验
@@ -97,53 +99,53 @@ export function checkBlueprint(bp) {
97
99
  const vp = u.videoPrompt ?? "";
98
100
  // ui 镜头:不进视频模型,只提示
99
101
  if (isUi) {
100
- issue("warning", where, "ui-shot", "ui 镜头不进视频模型 —— render 会跳过,需用 Remotion/录屏产出后放进输出目录同名文件再合并");
102
+ issue("warning", where, "ui-shot", t("ui shots do not go to the video model — render skips them; produce them with Remotion / a screen recording, drop the same-named file into the output directory, then merge"));
101
103
  return;
102
104
  }
103
105
  if (!vp.trim()) {
104
- issue("error", where, "schema", " videoPrompt( ui 镜头必填)");
106
+ issue("error", where, "schema", t("videoPrompt missing (required for every non-ui shot)"));
105
107
  return;
106
108
  }
107
109
  // 时长
108
110
  if (u.duration > limit.maxSec)
109
- issue("error", where, "duration-overflow", `duration ${u.duration}s 超模型上限 ${limit.maxSec}s(${bp.model ?? "veo"})`, "拆分为多个 unit,每段分配部分台词。");
111
+ issue("error", where, "duration-overflow", t `duration ${u.duration}s exceeds the model limit of ${limit.maxSec}s (${bp.model ?? "veo"})`, t("Split into several units, giving each part of the dialogue."));
110
112
  const lines = (u.dialogues ?? []).map((d) => d.line).filter(Boolean);
111
113
  if (lines.length) {
112
114
  const est = estimateSpeechSec(lines, lang);
113
115
  if (est > limit.maxSec)
114
- issue("error", where, "speech-overflow", `台词预估 ${est.toFixed(1)}s 超模型单镜上限 ${limit.maxSec}s,语音必被截断`, "把台词拆到多个 unit。");
116
+ issue("error", where, "speech-overflow", t `Estimated dialogue ${est.toFixed(1)}s exceeds the model's per-shot limit of ${limit.maxSec}s; the audio will be cut off`, t("Split the dialogue across several units."));
115
117
  else if (u.duration + 0.5 < Math.max(est, 5))
116
- issue("warning", where, "speech-rushed", `duration ${u.duration}s < 台词预估 ${est.toFixed(1)}s,语速会过快`, `duration 提到 ${Math.min(Math.ceil(est), limit.maxSec)}s。`);
118
+ issue("warning", where, "speech-rushed", t `duration ${u.duration}s < estimated dialogue ${est.toFixed(1)}s; the speech will be too fast`, t `Raise duration to ${Math.min(Math.ceil(est), limit.maxSec)}s.`);
117
119
  }
118
120
  // 台词进 prompt(叙事忠实度:最高优先级)
119
121
  if (lines.length) {
120
122
  if (!/(台词|Dialogue|セリフ)\s*[::]/.test(vp))
121
- issue("error", where, "dialogue-line-missing", "有台词但 videoPrompt 台词:/Dialogue: ", "补台词行,逐字放原文。");
123
+ issue("error", where, "dialogue-line-missing", t("There is dialogue but videoPrompt has no 台词:/Dialogue: line"), t("Add the dialogue line with the exact original words.")); // i18n-ignore: 台词:/Dialogue: 是蓝图协议标签
122
124
  for (const l of lines) {
123
125
  if (!vp.includes(l))
124
- issue("error", where, "dialogue-verbatim", `台词未逐字出现在 videoPrompt:「${clipText(l, 30)}」`, "台词必须逐字进台词行,不得改写/省略/填''");
126
+ issue("error", where, "dialogue-verbatim", t `Dialogue does not appear verbatim in videoPrompt: "${clipText(l, 30)}"`, t("Dialogue must go into the dialogue line verbatim — no rewording, omission or 'none'."));
125
127
  }
126
128
  }
127
129
  seenDialogues.push(...lines);
128
130
  // 语言声明(非中文首行必须声明,否则原生音频语种错乱)
129
131
  if (lang !== "zh" && !/^\s*\[Language:/i.test(vp))
130
- issue("error", where, "lang-declaration", `lang=${bp.lang} videoPrompt 首行无 [Language: …] 声明(原生音频会按 API 默认 locale 出错语种)`, `首行插入 [Language: ${bp.lang}] [Audio: ${bp.lang} only]。`);
132
+ issue("error", where, "lang-declaration", t `lang=${bp.lang} but the first line of videoPrompt has no [Language: …] declaration (native audio will come out in the API's default locale)`, t `Insert [Language: ${bp.lang}] [Audio: ${bp.lang} only] as the first line.`);
131
133
  // @图片N ↔ boundAssets
132
134
  const bound = u.boundAssets ?? [];
133
135
  for (const b of bound)
134
136
  if (!assetIds.has(b))
135
- issue("error", where, "bound-asset-unknown", `boundAssets 引用不存在的资产 ${b}`);
137
+ issue("error", where, "bound-asset-unknown", t `boundAssets references a non-existent asset ${b}`);
136
138
  const refNums = [...vp.matchAll(/@图片(\d+)/g)].map((m) => Number(m[1]));
137
139
  if (refNums.length) {
138
140
  const maxN = Math.max(...refNums);
139
141
  if (maxN > bound.length)
140
- issue("error", where, "ref-index-overflow", `@图片${maxN} 超出 boundAssets 数量 ${bound.length}(索引从 1 对应 boundAssets 顺序)`);
142
+ issue("error", where, "ref-index-overflow", t `@图片${maxN} exceeds the boundAssets count ${bound.length} (indices start at 1 and follow the boundAssets order)`); // i18n-ignore: @图片N 是视频模型占位符
141
143
  }
142
144
  else if (bound.length) {
143
- issue("warning", where, "ref-unused", "boundAssets 非空但 videoPrompt 未用 @图片N 占位(参考图与画面描述未挂钩,一致性减弱)");
145
+ issue("warning", where, "ref-unused", t("boundAssets is non-empty but videoPrompt uses no @图片N placeholder (reference images are not tied to the description; consistency suffers)"));
144
146
  }
145
147
  if (bound.length > limit.maxRefs)
146
- issue("error", where, "refs-overflow", `boundAssets ${bound.length} 张超模型参考图上限 ${limit.maxRefs}(${bp.model ?? "veo"})`, "保留该镜核心角色图+场景图,其余删去。");
148
+ issue("error", where, "refs-overflow", t `boundAssets has ${bound.length} images, over the model's reference limit of ${limit.maxRefs} (${bp.model ?? "veo"})`, t("Keep the shot's core character and scene images and drop the rest."));
147
149
  // 防穿帮 lint(只扫画面描述,放过台词行 —— 台词说"屏幕上显示"不是画面)
148
150
  const visualOnly = vp
149
151
  .split(/\n/)
@@ -152,29 +154,29 @@ export function checkBlueprint(bp) {
152
154
  for (const h of HAZARDS) {
153
155
  const m = visualOnly.match(h.re);
154
156
  if (m && !/画面内文字/.test(visualOnly))
155
- issue(h.level, where, h.rule, `命中高危措辞「${clipText(m[0], 40)}(模型会把信息面转向镜头/烧错文字)`, h.fix);
157
+ issue(h.level, where, h.rule, t `High-risk phrase "${clipText(m[0], 40)}" (the model will turn the information surface toward the camera / burn in wrong text)`, h.fix);
156
158
  }
157
159
  // 画面行内引号长句(疑似台词被写进画面 → 烧成字幕)
158
160
  const quoted = visualOnly.match(/[“"「]([^”"」\n]{8,})[”"」]/);
159
161
  if (quoted && lines.some((l) => l.includes(quoted[1]) || quoted[1].includes(l.slice(0, 8))))
160
- issue("error", where, "dialogue-in-visual", `台词文本出现在画面描述里:「${clipText(quoted[1], 30)}(会被烧成画面字幕)`, "台词只进台词行;画面描述写说话的体态与口型,不写内容。");
162
+ issue("error", where, "dialogue-in-visual", t `Dialogue text appears in the picture description: "${clipText(quoted[1], 30)}" (it will be burned in as on-screen captions)`, t("Dialogue goes only into the dialogue line; the picture description covers posture and mouth movement, not the words."));
161
163
  // 多角色缺视线方向
162
164
  const roleCount = bound.filter((b) => b.startsWith("role")).length;
163
165
  if (roleCount >= 2 && !GAZE_RE.test(visualOnly))
164
- issue("warning", where, "gaze-missing", "多角色镜头未指定视线方向(模型默认'社交注视'看镜头/对视,易与剧情冲突)", '每个可见角色标注视线:her eyes looking down at the cake / 低头看着手中的设计稿。');
166
+ issue("warning", where, "gaze-missing", t("Multi-character shot without gaze directions (the model defaults to 'social gaze' at the camera / each other, which fights the story)"), t("Give every visible character a gaze: her eyes looking down at the cake / looking down at the sketch in her hands."));
165
167
  });
166
168
  // -- 覆盖率:润色剧本台词逐条落位
167
169
  for (const l of bp.scriptDialogues ?? []) {
168
170
  if (!seenDialogues.some((d) => d.includes(l) || l.includes(d)))
169
- issue("error", "blueprint", "coverage-dialogue", `剧本台词未落进任何 unit:「${clipText(l, 30)}」`, "补进对应分镜的 dialogues,并逐字写入 videoPrompt 台词行。");
171
+ issue("error", "blueprint", "coverage-dialogue", t `A script line landed in no unit: "${clipText(l, 30)}"`, t("Add it to the matching shot's dialogues and write it verbatim into the videoPrompt dialogue line."));
170
172
  }
171
173
  // -- 情绪曲线(有标注才查)
172
174
  const scored = bp.units.filter((u) => u.emotionScore != null);
173
175
  if (scored.length >= 2) {
174
176
  if ((bp.units[0]?.emotionScore ?? 10) < 8)
175
- issue("warning", bp.units[0].id, "hook-emotion", "开场情绪值 <8( 3 秒决定完播率,需悬念/冲突钩子拉满)");
177
+ issue("warning", bp.units[0].id, "hook-emotion", t("Opening emotion score <8 (the first 3 seconds decide completion rate; max out the suspense / conflict hook)"));
176
178
  if ((bp.units[bp.units.length - 1]?.emotionScore ?? 10) < 7)
177
- issue("warning", bp.units[bp.units.length - 1].id, "ending-emotion", "结尾情绪值 <7(结尾钩子引互动/关注)");
179
+ issue("warning", bp.units[bp.units.length - 1].id, "ending-emotion", t("Closing emotion score <7 (the closing hook drives engagement / follows)"));
178
180
  }
179
181
  return report(bp, errors, warnings);
180
182
  }
@@ -194,8 +196,8 @@ function report(bp, errors, warnings) {
194
196
  warnings,
195
197
  stats,
196
198
  message: ok
197
- ? `✅ 蓝图通过(${stats.units} / ${stats.totalSec}s${warnings.length ? `;${warnings.length} warning 建议处理` : ""})。资产图齐 ${stats.assetsWithImage}/${stats.assets} → 齐了就 clize build clip render。`
198
- : `❌ ${errors.length} error(${warnings.length} warning)—— 逐条按 fix 修蓝图后重跑 clize build clip check;error 不清零别 render(费钱且必废片)。`,
199
+ ? t `✅ Blueprint passes (${stats.units} shots / ${stats.totalSec}s${warnings.length ? t `; ${warnings.length} warning(s) worth addressing` : ""}). Asset images ${stats.assetsWithImage}/${stats.assets} ready once complete, clize build clip render.`
200
+ : t `❌ ${errors.length} error(s) (${warnings.length} warning(s)) fix the blueprint per each fix and rerun clize build clip check; do not render until errors are zero (it costs money and the footage will be unusable).`,
199
201
  };
200
202
  }
201
203
  /** 按蓝图批量渲染。无 --confirm → 只返报价单;有 → 提交全部、轮询到终态、ffmpeg 合并。可重入(断点续传)。 */
@@ -203,7 +205,7 @@ export async function renderBlueprint(backend, bp, opts = {}) {
203
205
  // 渲染前置闸:check 的 error 必须清零(费钱操作,蓝图不干净不开闸)。
204
206
  const pre = checkBlueprint(bp);
205
207
  if (!pre.ok)
206
- return { ...pre, message: `❌ 蓝图有 ${pre.errors.length} error,render 不开闸 —— clize build clip check fix 修完。` };
208
+ return { ...pre, message: t `❌ The blueprint has ${pre.errors.length} error(s); render stays closed run clize build clip check and fix them first.` };
207
209
  const model = bp.model ?? "veo";
208
210
  const limit = modelLimit(model);
209
211
  const candidates = Math.max(1, Math.floor(opts.candidates ?? 1));
@@ -232,18 +234,18 @@ export async function renderBlueprint(backend, bp, opts = {}) {
232
234
  return {
233
235
  ok: false,
234
236
  missingAssetImages: missing,
235
- message: `❌ ${missing.length} 处资产图未生成(imagePath 为空)—— clize gen image 生成资产图、把路径填回蓝图 assets[].imagePath,再 render。一致性靠参考图,不带图白花钱。`,
237
+ message: t `❌ ${missing.length} asset image(s) not generated (imagePath empty) generate them with clize gen image, put the paths back into assets[].imagePath, then render. Consistency depends on reference images; rendering without them wastes money.`,
236
238
  };
237
239
  // 报价合计(探一镜 × 镜数 × 候选;veo 单价固定,探一次足够)。
238
240
  const first = jobsPlan[0];
239
241
  if (!first)
240
- return { ok: false, message: "无可渲染镜头(全是 ui?)—— ui 镜头走 Remotion/录屏。" };
242
+ return { ok: false, message: t("No renderable shots (all ui?) ui shots go through Remotion / a screen recording.") };
241
243
  const perShot = await backend.quote(toSubmit(first, bp, limit));
242
244
  const totalEst = perShot * jobsPlan.length;
243
245
  if (!opts.confirm)
244
246
  return {
245
247
  quote: { perShotUsd: round2(perShot), shots: jobsPlan.length, candidates, totalUsd: round2(totalEst) },
246
- message: `📋 ${renderable.length} × ${candidates} 候选 = ${jobsPlan.length} 次生成,合计约 $${totalEst.toFixed(2)}。确认后加 --confirm 一次开闸(逐镜不再问)。`,
248
+ message: t `📋 ${renderable.length} shots × ${candidates} candidates = ${jobsPlan.length} generations, about $${totalEst.toFixed(2)} in total. Add --confirm once to open the gate (no per-shot prompts).`,
247
249
  };
248
250
  // 断点续传:读 state,done 的跳过。
249
251
  fs.mkdirSync(unitsDir, { recursive: true });
@@ -276,7 +278,7 @@ export async function renderBlueprint(backend, bp, opts = {}) {
276
278
  ok: false,
277
279
  timedOut: true,
278
280
  progress: progressOf(state, jobsPlan.length),
279
- next: "重跑同一条 clize build clip render 命令续传(已完成的镜头不重生成)",
281
+ next: t("Rerun the same clize build clip render command to resume (finished shots are not regenerated)."),
280
282
  };
281
283
  }
282
284
  await sleep(8000);
@@ -306,7 +308,7 @@ export async function renderBlueprint(backend, bp, opts = {}) {
306
308
  ...(failed.length
307
309
  ? {
308
310
  failed: failed.map((j) => ({ unit: j.key, error: state.units[j.key]?.error })),
309
- retry: "失败原因作数据看待(内容拦截/参考图问题);修 prompt 后重跑同命令,只重生成失败镜。",
311
+ retry: t("Treat the failure reason as data (content block / reference image issue); fix the prompt and rerun the same command, only the failed shots are regenerated."),
310
312
  }
311
313
  : {}),
312
314
  };
@@ -315,7 +317,7 @@ export async function renderBlueprint(backend, bp, opts = {}) {
315
317
  Object.assign(result, merged);
316
318
  }
317
319
  else if (candidates > 1) {
318
- result.message = `各镜 ${candidates} 个候选已落 ${unitsDir} —— 你看不了视频,把候选路径摆给用户挑;挑完按蓝图序 ffmpeg concat 合并。`;
320
+ result.message = t `${candidates} candidate(s) per shot written to ${unitsDir} you cannot watch video, give the user the candidate paths to choose; then merge in blueprint order with ffmpeg concat.`;
319
321
  }
320
322
  return result;
321
323
  }
@@ -338,13 +340,13 @@ function concatUnits(files, outPath, dir) {
338
340
  const probe = spawnSync("ffmpeg", ["-version"], { stdio: "ignore" });
339
341
  const cmd = `ffmpeg -f concat -safe 0 -i ${listPath} -c copy ${outPath}`;
340
342
  if (probe.error)
341
- return { concatList: listPath, message: `未检测到 ffmpeg —— 装好后手动合并:${cmd}` };
343
+ return { concatList: listPath, message: t `ffmpeg not found — install it and merge by hand: ${cmd}` };
342
344
  const r = spawnSync("ffmpeg", ["-y", "-f", "concat", "-safe", "0", "-i", listPath, "-c", "copy", outPath], {
343
345
  stdio: "ignore",
344
346
  });
345
347
  if (r.status === 0)
346
- return { final: outPath, message: `已合并 ${files.length} → ${outPath}(你看不了视频,把 path 摆给用户判断)。` };
347
- return { concatList: listPath, message: `直拼失败(编码不齐?)—— 重编码合并:ffmpeg -f concat -safe 0 -i ${listPath} -c:v libx264 -preset fast -crf 18 -c:a aac ${outPath}` };
348
+ return { final: outPath, message: t `Merged ${files.length} shots → ${outPath} (you cannot watch video; hand the path to the user to judge).` };
349
+ return { concatList: listPath, message: t `Direct concat failed (mismatched encodings?) — merge with re-encoding: ffmpeg -f concat -safe 0 -i ${listPath} -c:v libx264 -preset fast -crf 18 -c:a aac ${outPath}` };
348
350
  }
349
351
  // ---------- 小工具 ----------
350
352
  function readState(p) {
@@ -366,7 +368,7 @@ function writeState(p, s) {
366
368
  }
367
369
  function progressOf(state, total) {
368
370
  const done = Object.values(state.units).filter((u) => u.state === "succeeded").length;
369
- return `${done}/${total} 完成`;
371
+ return t `${done}/${total} done`;
370
372
  }
371
373
  function slug(s) {
372
374
  return (s
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/core/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/core/video.ts"],"names":[],"mappings":"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"}
package/dist/github.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { t } from "./i18n/t.js";
1
2
  // ============================================================
2
3
  // GitHub OAuth Device Flow(RFC 8628)—— CLI 侧,公共客户端,无需 client_secret。
3
4
  // 需在 clize 的 GitHub OAuth App 里开启 "Device Flow";client_id 是公开值。
@@ -14,7 +15,7 @@ export async function startDeviceFlow(clientId) {
14
15
  });
15
16
  const data = (await res.json().catch(() => ({})));
16
17
  if (!res.ok || !data.device_code)
17
- throw new Error(`GitHub device flow 启动失败:${data.error_description ?? data.error ?? `HTTP ${res.status}`}`);
18
+ throw new Error(t `GitHub device flow failed to start: ${data.error_description ?? data.error ?? `HTTP ${res.status}`}`);
18
19
  return data;
19
20
  }
20
21
  /** 第二步:轮询直到用户在浏览器授权;返回 github access token。 */
@@ -42,8 +43,8 @@ export async function pollForToken(clientId, deviceCode, intervalSec, onTick) {
42
43
  interval += 5;
43
44
  continue;
44
45
  }
45
- throw new Error(`授权失败:${data.error ?? "未知"}`);
46
+ throw new Error(t `Authorization failed: ${data.error ?? t("unknown")}`);
46
47
  }
47
- throw new Error("授权超时(15 分钟未完成)");
48
+ throw new Error(t("Authorization timed out (not completed within 15 minutes)"));
48
49
  }
49
50
  //# sourceMappingURL=github.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,sEAAsE;AACtE,iEAAiE;AACjE,gDAAgD;AAChD,+DAA+D;AAE/D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,sBAAsB,CAAC;AAU9E,8BAA8B;AAC9B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,sCAAsC,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC3E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;KAClE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAG/C,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;QAC9B,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAC1F,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,UAAkB,EAClB,WAAmB,EACnB,MAAmB;IAEnB,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;IACxD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;QACzD,MAAM,EAAE,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,6CAA6C,EAAE;YACrE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC3E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,SAAS,EAAE,QAAQ;gBACnB,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,8CAA8C;aAC3D,CAAC;SACH,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA8C,CAAC;QAC/F,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,KAAK,uBAAuB;YAAE,SAAS;QACrD,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/B,QAAQ,IAAI,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"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"}
package/dist/i18n/t.js ADDED
@@ -0,0 +1,65 @@
1
+ // ============================================================
2
+ // clize i18n(design/cli-experience-plan.md E1;ARCHITECTURE §3「英文优先,中文作 locale」)
3
+ //
4
+ // · 代码里的用户可见字符串一律**英文**(源);其他语言是以英文原文为键的字典(./zh.ts)。
5
+ // · `t("…")` / t`… ${x} …` 在**调用时**按当前语言查字典,缺条目回退英文 —— 所以字典永远只是
6
+ // 加分项,漏译不会把中文漏给英文用户,也不会把英文漏给中文用户以外的人。
7
+ // · 语言来源:CLI / MCP 进程读环境(CLIZE_LANG > LC_ALL > LC_MESSAGES > LANG > LANGUAGE,zh* → zh);
8
+ // 控制面 worker 按请求的 Accept-Language(worker 用 AsyncLocalStorage 注入 provider,见 worker.ts)。
9
+ // · 模块作用域的字面量会在进程启动时就求值:CLI / MCP 没问题(语言随进程),worker 上不许在模块
10
+ // 作用域调 t()(会冻成英文)—— 常量改成函数,或在输出时再包 t()。scripts/check-i18n.mjs 守门。
11
+ // · 本文件零依赖:客户端与 worker 共用;字典键 = 英文原文(模板用 {0} {1} 占位)。
12
+ // ============================================================
13
+ import { zh } from "./zh.js";
14
+ const DICTS = { zh };
15
+ /** 从进程环境判定语言:CLIZE_LANG 显式优先,其次系统 locale;只认 zh*,其余一律 en。 */
16
+ export function langFromEnv(env) {
17
+ if (!env)
18
+ return "en";
19
+ const raw = env.CLIZE_LANG || env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE || "";
20
+ return /^zh/i.test(raw.trim()) ? "zh" : "en";
21
+ }
22
+ /** 从 HTTP Accept-Language 判定(CLI 只会发 "zh" / "en";浏览器发 "zh-CN,zh;q=0.9" 也认)。 */
23
+ export function langFromAcceptLanguage(header) {
24
+ if (!header)
25
+ return "en";
26
+ const first = header.split(",")[0]?.trim() || "";
27
+ return /^zh/i.test(first) ? "zh" : "en";
28
+ }
29
+ /** 进程环境判定的语言(CLI / MCP 的缺省来源;worker 上没有请求作用域时也退回这里)。 */
30
+ export function envLang() {
31
+ const env = globalThis.process?.env;
32
+ return langFromEnv(env);
33
+ }
34
+ function defaultProvider() {
35
+ return envLang();
36
+ }
37
+ let provider = defaultProvider;
38
+ /** 替换语言来源(worker 用请求作用域注入;测试可强制某语言)。 */
39
+ export function setLangProvider(fn) {
40
+ provider = fn;
41
+ }
42
+ export function currentLang() {
43
+ try {
44
+ return provider();
45
+ }
46
+ catch {
47
+ return "en";
48
+ }
49
+ }
50
+ function lookup(key) {
51
+ const lang = currentLang();
52
+ if (lang === "en")
53
+ return undefined;
54
+ return DICTS[lang]?.[key];
55
+ }
56
+ export function t(a, ...values) {
57
+ if (typeof a === "string")
58
+ return lookup(a) ?? a;
59
+ const key = a.map((s, i) => (i < a.length - 1 ? `${s}{${i}}` : s)).join("");
60
+ const tr = lookup(key);
61
+ if (tr === undefined)
62
+ return a.map((s, i) => (i < values.length ? `${s}${String(values[i])}` : s)).join("");
63
+ return tr.replace(/\{(\d+)\}/g, (m, n) => (Number(n) < values.length ? String(values[Number(n)]) : m));
64
+ }
65
+ //# sourceMappingURL=t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"t.js","sourceRoot":"","sources":["../../src/i18n/t.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,iFAAiF;AACjF,EAAE;AACF,sDAAsD;AACtD,iEAAiE;AACjE,yCAAyC;AACzC,yFAAyF;AACzF,0FAA0F;AAC1F,4DAA4D;AAC5D,qEAAqE;AACrE,uDAAuD;AACvD,+DAA+D;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAI7B,MAAM,KAAK,GAAwD,EAAE,EAAE,EAAE,CAAC;AAE1E,4DAA4D;AAC5D,MAAM,UAAU,WAAW,CAAC,GAAmD;IAC7E,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC9F,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB,CAAC,MAAiC;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,OAAO;IACrB,MAAM,GAAG,GAAI,UAAyE,CAAC,OAAO,EAAE,GAAG,CAAC;IACpG,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC;AAED,IAAI,QAAQ,GAAe,eAAe,CAAC;AAE3C,wCAAwC;AACxC,MAAM,UAAU,eAAe,CAAC,EAAc;IAC5C,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC;QACH,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AASD,MAAM,UAAU,CAAC,CAAC,CAAgC,EAAE,GAAG,MAAiB;IACtE,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5G,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzG,CAAC"}