@lingjingai/scriptctl 0.64.3 → 0.65.1

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.
package/dist/cli.d.ts CHANGED
@@ -139,6 +139,7 @@ interface DocumentGenerationRequest {
139
139
  system?: string;
140
140
  user: string;
141
141
  responseJsonSchema?: JsonSchema;
142
+ acceptsText?: (text: string) => boolean;
142
143
  signal?: AbortSignal;
143
144
  }
144
145
  interface DocumentUnderstandingPort {
@@ -153,6 +154,7 @@ interface VideoGenerationRequest {
153
154
  fps: number;
154
155
  maxOutputTokens: number;
155
156
  responseJsonSchema?: JsonSchema;
157
+ acceptsText?: (text: string) => boolean;
156
158
  localPath?: string;
157
159
  localMime?: string;
158
160
  signal?: AbortSignal;
package/dist/cli.js CHANGED
@@ -1 +1 @@
1
- import{a,b}from"./chunk-YYKX6SLG.js";export{a as buildProgram,b as main};
1
+ import{a,b}from"./chunk-5KDKNZCX.js";export{a as buildProgram,b as main};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingjingai/scriptctl",
3
- "version": "0.64.3",
3
+ "version": "0.65.1",
4
4
  "description": "剧本阶段统一 CLI:素材转 Script v4,并兼容 Script v3 的本地写作、精修、校验和发布。",
5
5
  "type": "module",
6
6
  "bin": {
@@ -22,20 +22,6 @@
22
22
  "engines": {
23
23
  "node": ">=22.22.0"
24
24
  },
25
- "scripts": {
26
- "build": "pnpm run clean && pnpm --filter @lingjingai/screenplay build && pnpm --filter @lingjingai/review-agent build && tsc && node scripts/bundle.mjs",
27
- "clean": "rm -rf dist packages/screenplay/dist packages/review-agent/dist",
28
- "postinstall": "node scripts/install-skill.mjs",
29
- "install-skill": "node scripts/install-skill.mjs",
30
- "prepublishOnly": "pnpm run build",
31
- "pretest": "pnpm run build",
32
- "test": "vitest run",
33
- "pretest:coverage": "pnpm run build",
34
- "test:coverage": "c8 --reporter=text --reporter=html --reporter=lcov --report-dir=coverage vitest run",
35
- "test:watch": "vitest",
36
- "typecheck": "tsc --noEmit",
37
- "surface:snapshot": "node scripts/scriptctl-surface-snapshot.mjs"
38
- },
39
25
  "dependencies": {
40
26
  "@anthropic-ai/sdk": "^0.111.0",
41
27
  "@google/genai": "^2.11.0",
@@ -53,8 +39,8 @@
53
39
  "zod": "^4.5.4"
54
40
  },
55
41
  "devDependencies": {
56
- "@lingjingai/review-agent": "workspace:*",
57
- "@lingjingai/screenplay": "workspace:*",
42
+ "@lingjingai/review-agent": "0.1.0",
43
+ "@lingjingai/screenplay": "0.1.0",
58
44
  "@types/jsdom": "^30.0.0",
59
45
  "@types/node": "^20.14.0",
60
46
  "@types/proper-lockfile": "^4.1.4",
@@ -82,5 +68,18 @@
82
68
  "@ai-sdk/openai-compatible": "^3.0.48",
83
69
  "@ai-sdk/provider": "^4.0.4",
84
70
  "@mastra/core": "^1.64.0"
71
+ },
72
+ "scripts": {
73
+ "build": "pnpm run clean && pnpm --filter @lingjingai/screenplay build && pnpm --filter @lingjingai/review-agent build && tsc && node scripts/bundle.mjs",
74
+ "clean": "rm -rf dist packages/screenplay/dist packages/review-agent/dist",
75
+ "postinstall": "node scripts/install-skill.mjs",
76
+ "install-skill": "node scripts/install-skill.mjs",
77
+ "pretest": "pnpm run build",
78
+ "test": "vitest run",
79
+ "pretest:coverage": "pnpm run build",
80
+ "test:coverage": "c8 --reporter=text --reporter=html --reporter=lcov --report-dir=coverage vitest run",
81
+ "test:watch": "vitest",
82
+ "typecheck": "tsc --noEmit",
83
+ "surface:snapshot": "node scripts/scriptctl-surface-snapshot.mjs"
85
84
  }
86
- }
85
+ }
@@ -3,7 +3,7 @@ name: scriptctl
3
3
  description: "剧本 script.json 的本地阅读、定位、原子修改、整场整集回写、素材 ingest 与 revision publish CLI。处理 Script v3/v4、剧本资产与 state、Action、场景引用或视频证据核对时使用。"
4
4
  metadata:
5
5
  version: "0.32.0"
6
- scriptctl_version: "0.64.3"
6
+ scriptctl_version: "0.65.0"
7
7
  author: "official"
8
8
  ---
9
9
 
@@ -109,6 +109,7 @@ scriptctl ingest -s uploads/正片/ -w workspaces/正片 \
109
109
  - `--fps <n>`:视频采样帧率(>1 解锁亚秒级时间码)。默认 3。
110
110
  - `--step`:视频每次只处理下一个未完成集。
111
111
  - `--upload-mode <file-api|base64>`:视频媒体传输方式,默认 `file-api`。
112
+ - `--video-output <dsl|json>`:视频模型输出格式,默认 `dsl`(逐行记录,输出 token 约为 JSON 的一半);`json` 使用 Schema 约束的 JSON。两种格式解析为同一结构,产物一致。模型原文逐集保存:`dsl` 为 `ep/ep_NNN.ep`,`json` 为 `ep/ep_NNN.md`。
112
113
  - `--force`:当前视频 pipeline 的**同源**工作区可清掉产物和人工跳过记录重跑(**不能换源,也不能升级旧 pipeline workspace**)。
113
114
 
114
115
  管线(了解即可,产物都在 `workspace/`):
@@ -178,7 +179,7 @@ scriptctl read -p workspace/script.json # 抽完当普通剧本读
178
179
  |---|---|---|
179
180
  | `INGEST_NORMALIZE_INCOMPLETE`(文本)<br>`INGEST_TRANSCRIBE_/CORRECT_/SPEAKER_INCOMPLETE`(视频) | 部分单元失败,留下 `passN/*.error.json` sidecar | **直接重跑 `scriptctl ingest`(同 source、同 workspace)**——从 checkpoint 续,只补失败单元。跑完 `ingest status` 看还剩几个,多跑几次到收敛 |
180
181
  | `INGEST_SERIAL_FAILED`(文本串行 govern) | 当前窗口的网络或结构化响应异常在进程内自动尝试 3 次后仍未恢复 | **直接重跑**,从该窗口续——前面各集已缓存不重跑 |
181
- | `INGEST_VIDEO_SERIAL_FAILED` | 当前视频集返回非法 JSON、无实际场景或不符合串行输出契约 | schema 与 Prompt 要求至少一个实际场景;解析和整合校验共享每集最多两次候选尝试,失败原因反馈到下一次生成。耗尽后标记 retryable,从同源同 workspace 的失败集续跑,已接受前缀保持不变 |
182
+ | `INGEST_VIDEO_SERIAL_FAILED` | 当前视频集返回无法解析的内容、无实际场景或不符合串行输出契约 | Prompt 要求至少一个实际场景;解析和整合校验共享每集最多两次候选尝试,失败原因反馈到下一次生成。耗尽后标记 retryable,从同源同 workspace 的失败集续跑,已接受前缀保持不变 |
182
183
  | `INGEST_PIPELINE_MISMATCH` | 工作区的管线版本与当前版本不同 | 视频使用新的 `-w` 重新 ingest;文本按错误提示处理 |
183
184
  | `INGEST_SOURCE_MISMATCH` | 工作区是别的 source,或已接受的视频分集前缀发生变化 | 恢复原分集前缀;确实要换源时使用新的 `-w`,**别 `--force` 硬覆盖** |
184
185
  | `INGEST_VIDEO_SEQUENCE` | 视频集号没有组成从 1 开始的连续序列 | 补齐缺集或修正文件名后重跑 |