@xiaohhhh1/canvas-agent 0.4.60 → 0.4.61

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.
@@ -645,11 +645,12 @@ ${compactJson([...selected.values()], 16_000)}
645
645
  ${durationRules}
646
646
  写作要求:
647
647
  1. visualHook、conflict、escalation/turn、productIntervention、visibleProof、purchaseReason、callbackMotivation 与所有 shots 必须执行选中卡的 visualPremise、firstFrame、spectacleEscalation、productProofAction、purchaseReason、truthBoundary 以及七项视觉执行字段;不得扩大功效、稀释构图或换成普通模板。productProofAction 必须同时写清一个真实动作及其镜头内可见结果;purchaseReason 只解释该结果为何值得目标用户购买,不能变成泛泛 CTA。
648
+ 1a. executionBindings 必须逐项指出 opening、proof、purchaseReason 和七项 visualExecution 实际落在哪个 segment/shot;executedAs 必须同时忠实对应 selected candidate 原要求和该 shot 的真实内容。opening 必须包含 segment 1 shot 1。它是可审计索引,不是新增剧情,也不能把未执行的要求写成已执行。
648
649
  2. 每条生成一份稳定 voiceProfile;每段只写简短 voiceCue。口播必须是目标市场 ${task.market} 的自然原生语言、偏快但清晰;导演说明统一用简洁制作英文。
649
650
  3. 每段永远是独立 0–10 秒,含 1–8 个按剧情需要决定的 shots、准确 voiceover、onScreenText、evidence、soundBgm、emotionalNote 与 endingState;模型不要输出 continuity 或 continuityMode。
650
651
  4. shot.visual 要直接写出主体位置、景别、光线、材质、动作峰值和当地自然环境,并保留真实皮肤、细发、布料/商品微纹理和实景混合光;禁止塑料蜡感、静态举产品、品牌广告片、电视购物或伪造工厂/销量/来源。
651
652
  5. 20/30 秒的后一段剧情承接前段 endingState,但每段仍只使用自己的局部 0–10 秒执行内容。
652
- 6. creativePlan 只写 format、visualHook、conflict、escalation/turn、productIntervention、visibleProof、purchaseReason、callbackMotivation 与 differentiationKey。callbackMotivation 必须自然回扣开场与已经展示的 purchaseReason;禁止编造折扣、库存、销量、价格或未提供的量化功效。Agent 会把选中卡的构图、材质、光线、文化、真实性边界和 fingerprint 确定性并回,中心会程序化计算质量门;模型不要重复这些字段。
653
+ 6. creativePlan 只写 format、visualHook、conflict、escalation/turn、productIntervention、visibleProof、purchaseReason、callbackMotivation 与 differentiationKey。callbackMotivation 必须自然回扣开场与已经展示的 purchaseReason;禁止编造折扣、库存、销量、价格或未提供的量化功效。Agent 会把选中卡的构图、材质、光线、文化、真实性边界和 fingerprint 确定性并回,中心会程序化计算质量门;模型不要重复这些字段。若 selected candidate 的 selectionMode=user-framework,用户原框架的开头、事件顺序、核心剧情和结尾是最高权威;只补真实证明、局部时序和执行细节,不得改成另一个创意。
653
654
  固定使用 GPT-5.6 Terra 高推理。storyboardLayoutVersion=${layoutVersion} 仅由中心管理。只返回当前结构化 jobs,不调用工具、不创建任何图片或视频任务。`;
654
655
  }
655
656
  export function creativeCandidatePrompt(id, task, ordinals) {
@@ -37,6 +37,24 @@ function creativePlanSchema() {
37
37
  };
38
38
  return object(properties);
39
39
  }
40
+ function executionBindingSchema() {
41
+ return object({
42
+ segmentIndex: { type: "integer", minimum: 1, maximum: 3 },
43
+ shotIndexes: { type: "array", minItems: 1, maxItems: 8, items: { type: "integer", minimum: 1, maximum: 8 } },
44
+ executedAs: text,
45
+ });
46
+ }
47
+ function executionBindingsSchema() {
48
+ return object({
49
+ opening: executionBindingSchema(),
50
+ proof: executionBindingSchema(),
51
+ purchaseReason: executionBindingSchema(),
52
+ visualExecution: object(Object.fromEntries([
53
+ "firstFrameFocus", "visualContrast", "sensoryTexture", "motionPeak",
54
+ "compositionLighting", "localNativeDetail", "antiFlatness",
55
+ ].map((field) => [field, executionBindingSchema()]))),
56
+ });
57
+ }
40
58
  function segmentSchema() {
41
59
  return object({
42
60
  voiceCue: text,
@@ -65,6 +83,7 @@ export function flowCScriptOutputSchema(durationSeconds, count) {
65
83
  productIndex: { type: "integer", minimum: 0 },
66
84
  sellingFormId: text,
67
85
  creativePlan: creativePlanSchema(),
86
+ executionBindings: executionBindingsSchema(),
68
87
  voiceProfile: voiceProfileSchema(),
69
88
  openingState: openingStateSchema(),
70
89
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiaohhhh1/canvas-agent",
3
- "version": "0.4.60",
3
+ "version": "0.4.61",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",