@lingjingai/scriptctl 0.63.8 → 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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingjingai/scriptctl",
3
- "version": "0.63.8",
3
+ "version": "0.63.9",
4
4
  "description": "剧本阶段统一 CLI:素材转 Script v4,并兼容 Script v3 的本地写作、精修、校验和发布。",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2,8 +2,8 @@
2
2
  name: scriptctl
3
3
  description: "剧本 script.json 的本地阅读、定位、原子修改、整场整集回写、素材 ingest 与 revision publish CLI。处理 Script v3/v4、剧本资产与 state、Action、场景引用或视频证据核对时使用。"
4
4
  metadata:
5
- version: "0.31.5"
6
- scriptctl_version: "0.63.8"
5
+ version: "0.31.6"
6
+ scriptctl_version: "0.63.9"
7
7
  author: "official"
8
8
  ---
9
9
 
@@ -223,6 +223,8 @@ scriptctl checkout / status / publish # 远端工作副本
223
223
 
224
224
  有原视频的 `review` 按集执行「豆包 Flash ASR → Gemini 对比 → 校时落盘 → Mastra 审核 → 落盘」,`--concurrency` 控制整集流程并发,默认 5。需要 `SD_AUDIO_APIKEY`、ffmpeg 和按集对应的视频。Gemini 阅读带时间戳、行锚点的亚洲格式正文及 ASR 句/词时间,选择整条台词开头对应的 ASR 起点;程序校时并落盘,保留原台词和其他字段。缺漏按集记录原话、时间与理由,随后交给本集 Agent 逐项 `watch` 核对原片再修复,并按窗口数增加看片预算;不确定项保留原样并记录待核对线索。单集服务或响应失败会记录为失败集,其他集继续执行。
225
225
 
226
+ 逐集审核同时明确动作叙述的人物指代:依据资产、上下文与原片证据,将可确认的称呼、别名和代词写成资产正式名;普通词义、台词和画面文字原文保留,歧义记 unresolved。全剧收敛核对人物合并、更名后的叙述名称一致性。具体边界见 [references/video-transcript-repair.md](references/video-transcript-repair.md)。
227
+
226
228
  `.review/asr/episode-N/` 保存成功 ASR 缓存及每次对比的正文、原始响应、前后时间与缺漏报告。`asr-compared` 仅表示对比完成,带 `episode_number` 的 `asr-applied` 表示本集校时已落盘,不等于 Agent 审核完成。`--episodes` 只重跑指定集的 ASR 和审核,`--converge-only` 只做全剧收敛。无视频的纯文本审核不执行 ASR;`--check` 不发模型请求。
227
229
 
228
230
  审核 Agent、ASR 文本比对和原片核对先使用所选 Gemini,再按 3.8 / 3.7 / 3.6 Flash 尝试其余模型,最后进入豆包。Gemini 沿用 provider 的 `maxAttempts`,豆包最多尝试三次;使用 `ARK_API_KEY` 和可选 `ARK_MODEL`。模型切换发生在当前调用内,保留成功工具操作;原片核对复用同一片段,响应和用量按实际模型记录。
@@ -22,6 +22,10 @@ V3 保持其现有地址与字段;V4 使用其正式 ID。Agent 只在用户
22
22
  - 不同人物共用外观标签:把各自 `actor_name` 改为真实稳定身份,外观或称呼放 aliases。
23
23
  - 人物名改成已有 alias 后,同步移除与正式名相同的 alias。
24
24
 
25
+ 每集审核逐条核对 `type=action` 的人物指代:依据资产、上下文、关系与原片证据,将已明确的称呼、别名和代词写成资产正式 `actor_name`,保留动作事实、时间与引用。名称明确化同时保留颜色、服装、体型、物种和当前形态等已有视觉信息;必要时用“正式名(原有形态描述)”表达。人物卡的正式名称是写入依据,工具显示的最短别名只用于阅读定位。
26
+
27
+ aliases 是候选线索,通用称呼按当前上下文判断;普通词义和对白、心声、旁白、action 内引用的原声与画面文字保留。指代无法确认时保留原文并记录 unresolved。逐集仅改本集正文,全剧收敛负责人物合并、更名后的叙述名称一致性。
28
+
25
29
  每轮修复后运行 `validate`。校验通过表示结构与引用合法,人物身份仍以视频复核结论为准。
26
30
 
27
31
  ## 2. 定位 Action 与时间点
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- import { type RunState } from "./registry.js";
3
- export declare function registerBatchCommands(program: Command, state: RunState): void;
@@ -1,28 +0,0 @@
1
- import { commandDo } from "../usecases/script/do.js";
2
- import { commandScriptPatch } from "../usecases/script/script-patch.js";
3
- import { describeArguments, dispatch, withScriptOpts } from "./registry.js";
4
- export function registerBatchCommands(program, state) {
5
- const doCommand = withScriptOpts(program.command("do [file]"))
6
- .description("Run one CLI edit per line as one transaction")
7
- .option("--apply", "Apply the planned transaction")
8
- .option("--plan <digest>", "Exact plan digest to apply")
9
- .option("-n, --dry-run", "Preview the transaction without writing")
10
- .addHelpText("after", "\nExample:\n scriptctl do edits.txt\n scriptctl do edits.txt --apply --plan <digest>\n")
11
- .action(dispatch(commandDo, state));
12
- describeArguments(doCommand, ["Command file, or stdin when omitted"]);
13
- const patch = withScriptOpts(program.command("patch [file]"))
14
- .description("Apply structured JSON patch operations")
15
- .option("--schema [op]", "Show every operation schema or one named operation")
16
- .option("-n, --dry-run", "Preview patch operations without writing")
17
- .option("--apply", "Apply the exact planned patch")
18
- .option("--plan <digest>", "Exact plan digest to apply")
19
- .addHelpText("after", "\nExample:\n scriptctl patch --schema\n scriptctl patch changes.json --dry-run\n")
20
- .action(dispatch((opts) => {
21
- const args = opts["_args"] || [];
22
- if (args[0])
23
- opts["patch"] = args[0];
24
- return commandScriptPatch(opts);
25
- }, state));
26
- describeArguments(patch, ["Patch JSON file"]);
27
- }
28
- //# sourceMappingURL=register-batch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register-batch.js","sourceRoot":"","sources":["../../src/cli/register-batch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAiB,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3F,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,KAAe;IACrE,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC3D,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAClE,WAAW,CAAC,OAAO,EAAE,0FAA0F,CAAC;SAChH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACtC,iBAAiB,CAAC,SAAS,EAAE,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAEtE,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SAC1D,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,eAAe,EAAE,oDAAoD,CAAC;SAC7E,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,WAAW,CAAC,OAAO,EAAE,oFAAoF,CAAC;SAC1G,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,IAAI,GAAI,IAAI,CAAC,OAAO,CAAc,IAAI,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACb,iBAAiB,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Command } from "commander";
2
- import { type LlmComposition } from "../llm/composition.js";
3
- import { type RunState } from "./registry.js";
4
- export declare function registerEditCommands(program: Command, state: RunState, llm: LlmComposition): void;
@@ -1,234 +0,0 @@
1
- import { commandAddActor } from "../usecases/script/add-actor.js";
2
- import { commandAddEpisode } from "../usecases/script/add-episode.js";
3
- import { commandAddLocation } from "../usecases/script/add-location.js";
4
- import { commandAddProp } from "../usecases/script/add-prop.js";
5
- import { commandActor } from "../usecases/script/actor.js";
6
- import { commandAlias } from "../usecases/script/alias.js";
7
- import { commandContext } from "../usecases/script/context.js";
8
- import { commandCreate } from "../usecases/script/create.js";
9
- import { commandDelete } from "../usecases/script/delete.js";
10
- import { commandDescribe } from "../usecases/script/describe.js";
11
- import { commandDialogue } from "../usecases/script/dialogue.js";
12
- import { commandEmotion } from "../usecases/script/emotion.js";
13
- import { commandExtend } from "../usecases/script/extend.js";
14
- import { commandImportance } from "../usecases/script/importance.js";
15
- import { commandInsert } from "../usecases/script/insert.js";
16
- import { commandMerge } from "../usecases/script/merge.js";
17
- import { commandMove } from "../usecases/script/move.js";
18
- import { commandParenthetical } from "../usecases/script/parenthetical.js";
19
- import { commandRename } from "../usecases/script/rename.js";
20
- import { commandReplace } from "../usecases/script/replace.js";
21
- import { commandRole } from "../usecases/script/role.js";
22
- import { commandSplit } from "../usecases/script/split.js";
23
- import { commandStateAdd } from "../usecases/script/state-add.js";
24
- import { commandStateDelete } from "../usecases/script/state-delete.js";
25
- import { commandStateRename } from "../usecases/script/state-rename.js";
26
- import { commandSynopsis } from "../usecases/script/synopsis.js";
27
- import { commandSynopsisGenerate } from "../usecases/script/synopsis-generate.js";
28
- import { commandTimestamp } from "../usecases/script/timestamp.js";
29
- import { commandTransition } from "../usecases/script/transition.js";
30
- import { commandType } from "../usecases/script/type.js";
31
- import { commandWorldview } from "../usecases/script/worldview.js";
32
- import { appendString, describeArguments, dispatch, withScriptOpts, withSelection, } from "./registry.js";
33
- export function registerEditCommands(program, state, llm) {
34
- withScriptOpts(program.command("create"))
35
- .description("Create an empty script")
36
- .option("--title <title>", "Script title")
37
- .option("--force", "Replace an existing script file")
38
- .action(dispatch(commandCreate, state));
39
- const addActor = withScriptOpts(program.command("add-actor <name>"))
40
- .description("Add an actor")
41
- .option("--id <id>", "Actor ID")
42
- .option("--role <role>", "Actor role")
43
- .option("--description <text>", "Actor description")
44
- .option("--alias <alias>", "Actor alias; repeatable", appendString, [])
45
- .action(dispatch(commandAddActor, state));
46
- describeArguments(addActor, ["Actor name"]);
47
- const addLocation = withScriptOpts(program.command("add-location <name>"))
48
- .description("Add a location")
49
- .option("--id <id>", "Location ID")
50
- .option("--description <text>", "Location description")
51
- .action(dispatch(commandAddLocation, state));
52
- describeArguments(addLocation, ["Location name"]);
53
- const addProp = withScriptOpts(program.command("add-prop <name>"))
54
- .description("Add a prop")
55
- .option("--id <id>", "Prop ID")
56
- .option("--description <text>", "Prop description")
57
- .action(dispatch(commandAddProp, state));
58
- describeArguments(addProp, ["Prop name"]);
59
- withScriptOpts(program.command("add-episode"))
60
- .description("Append an episode")
61
- .option("--id <id>", "Episode ID")
62
- .option("--title <title>", "Episode title")
63
- .action(dispatch(commandAddEpisode, state));
64
- const replace = withSelection(withScriptOpts(program.command("replace [at]")))
65
- .description("Replace action text at one address or across a selection")
66
- .requiredOption("--from <text>", "Text or pattern to replace")
67
- .option("--to <text>", "Replacement text", "")
68
- .option("--all", "Replace every occurrence")
69
- .option("--regex", "Treat --from as a regular expression")
70
- .addHelpText("after", "\nExample:\n scriptctl replace --in ep_001 -g \"old\" --from old --to new\n")
71
- .action(dispatch(commandReplace, state));
72
- describeArguments(replace, ["Single action address"]);
73
- const type = withSelection(withScriptOpts(program.command("type [at] [type]")))
74
- .description("Set action type at one address or across a selection")
75
- .action(dispatch(commandType, state));
76
- describeArguments(type, ["Single action address", "New action type"]);
77
- const actor = withSelection(withScriptOpts(program.command("actor [at] [actor-id]")))
78
- .description("Set an action actor at one address or across a selection")
79
- .action(dispatch(commandActor, state));
80
- describeArguments(actor, ["Single action address", "Actor ID"]);
81
- const emotion = withSelection(withScriptOpts(program.command("emotion [at] [emotion]")))
82
- .description("Set or clear action emotion")
83
- .option("--clear", "Clear the emotion")
84
- .action(dispatch(commandEmotion, state));
85
- describeArguments(emotion, ["Single action address", "Emotion value"]);
86
- const parenthetical = withSelection(withScriptOpts(program.command("parenthetical [at]")))
87
- .description("Set or remove a dialogue parenthetical")
88
- .option("--set <text>", "Parenthetical text")
89
- .option("--remove", "Remove the parenthetical")
90
- .action(dispatch(commandParenthetical, state));
91
- describeArguments(parenthetical, ["Single action address"]);
92
- const timestamp = withScriptOpts(program.command("timestamp <at>"))
93
- .description("Set or remove an action timestamp")
94
- .option("--set <time>", "Episode-local action start time")
95
- .option("--remove", "Remove the timestamp")
96
- .addHelpText("after", "\nExample:\n scriptctl timestamp acR8cV4n --set 00:42.533\n")
97
- .action(dispatch(commandTimestamp, state));
98
- describeArguments(timestamp, ["V3 action address or V4 Action ID"]);
99
- const insert = withScriptOpts(program.command("insert <addr>"))
100
- .description("Insert an action into a scene or a scene into an episode")
101
- .option("-t, --type <type>", "Action type")
102
- .option("--content <text>", "Action content")
103
- .option("--emotion <emotion>", "Dialogue emotion")
104
- .option("--parenthetical <text>", "Dialogue parenthetical")
105
- .option("--action-id <id>", "Action ID")
106
- .option("--at <idx>", "Numeric insertion position")
107
- .option("--before <addr>", "Insert before this sibling")
108
- .option("--after <addr>", "Insert after this sibling")
109
- .option("-a, --actor <id>", "Actor ID")
110
- .option("--speaker-state <id>", "Actor state ID")
111
- .option("-k, --kind <kind>", "Non-actor speaker kind")
112
- .option("--label <text>", "Non-actor speaker label")
113
- .option("--location <id>", "Scene location ID")
114
- .option("--time <time>", "Scene time")
115
- .option("--space <space>", "Scene space")
116
- .option("--scene-id <id>", "Scene ID")
117
- .option("--state <id>", "Asset state ID; repeatable", appendString, [])
118
- .action(dispatch(commandInsert, state));
119
- describeArguments(insert, ["Episode or scene address"]);
120
- const deleteCommand = withScriptOpts(program.command("delete <addr>"))
121
- .description("Delete an action, scene, asset, state, or speaker")
122
- .option("--strategy <strategy>", "Reference handling strategy")
123
- .option("--replacement <addr>", "Replacement address for references")
124
- .option("--force", "Allow guarded destructive deletion")
125
- .action(dispatch(commandDelete, state));
126
- describeArguments(deleteCommand, ["Address to delete"]);
127
- const move = withScriptOpts(program.command("move <addr> <to>"))
128
- .description("Move an action across scenes or a scene across episodes")
129
- .option("--at <idx>", "Numeric destination position")
130
- .option("--before <id>", "Place before this sibling ID")
131
- .option("--after <id>", "Place after this sibling ID")
132
- .action(dispatch(commandMove, state));
133
- describeArguments(move, ["Action or scene address", "Destination scene or episode address"]);
134
- const split = withScriptOpts(program.command("split <ep/scn>"))
135
- .description("Split a scene")
136
- .requiredOption("--at <index-or-action-id>", "Split position")
137
- .option("--new-scene-id <id>", "ID for the new scene")
138
- .action(dispatch(commandSplit, state));
139
- describeArguments(split, ["Scene address"]);
140
- const merge = withScriptOpts(program.command("merge <src>"))
141
- .description("Merge one asset or scene into another")
142
- .requiredOption("--into <dst>", "Destination asset or scene address")
143
- .action(dispatch(commandMerge, state));
144
- describeArguments(merge, ["Source asset or scene address"]);
145
- const transition = withSelection(withScriptOpts(program.command("transition [at] [target]")))
146
- .description("Set or clear an action transition")
147
- .option("--process <text>", "Transition process")
148
- .option("--contrast <text>", "Transition contrast")
149
- .option("--clear", "Clear the transition")
150
- .action(dispatch(commandTransition, state));
151
- describeArguments(transition, ["Single action address", "Transition target"]);
152
- const sceneRef = withScriptOpts(program.command("scene-ref <at> <target>"))
153
- .description("Set or remove an asset reference in a scene")
154
- .option("--state <id>", "Target state ID; repeatable", appendString, [])
155
- .option("--clear", "Clear the matching v3 reference state")
156
- .option("--remove", "Remove the matching reference")
157
- .option("--append", "Append instead of replacing")
158
- .option("--occurrence <n>", "Target occurrence number")
159
- .addHelpText("after", "\nExample:\n scriptctl scene-ref ep_001/scn_001 actor:act_001 --state st_calm\n")
160
- .action(dispatch(commandContext, state));
161
- describeArguments(sceneRef, ["Scene address", "Referenced asset address"]);
162
- const rename = withScriptOpts(program.command("rename <target> <name>"))
163
- .description("Rename an asset or state")
164
- .action(dispatch(commandRename, state));
165
- describeArguments(rename, ["Asset or state address", "New name"]);
166
- const describe = withScriptOpts(program.command("describe <target> <text>"))
167
- .description("Set an asset or state description")
168
- .action(dispatch(commandDescribe, state));
169
- describeArguments(describe, ["Asset or state address", "Description"]);
170
- const alias = withScriptOpts(program.command("alias <target>"))
171
- .description("Add or remove asset aliases")
172
- .option("--add <alias>", "Alias to add; repeatable", appendString, [])
173
- .option("--remove <alias>", "Alias to remove; repeatable", appendString, [])
174
- .action(dispatch(commandAlias, state));
175
- describeArguments(alias, ["Asset address"]);
176
- for (const [name, description, handler, second] of [
177
- ["role", "Set an actor role", commandRole, "Role"],
178
- ["importance", "Set asset importance", commandImportance, "Importance"],
179
- ]) {
180
- const command = withScriptOpts(program.command(`${name} <target> <value>`))
181
- .description(description)
182
- .action(dispatch(handler, state));
183
- describeArguments(command, ["Asset address", second]);
184
- }
185
- const worldview = withScriptOpts(program.command("worldview <value>"))
186
- .description("Set the script worldview")
187
- .action(dispatch(commandWorldview, state));
188
- describeArguments(worldview, ["Worldview value"]);
189
- const synopsis = withScriptOpts(program.command("synopsis [target-or-text] [text]"))
190
- .description("Set script or episode synopsis text")
191
- .action(dispatch(commandSynopsis, state));
192
- describeArguments(synopsis, ["Episode address or script synopsis", "Episode synopsis text"]);
193
- withScriptOpts(synopsis.command("generate"))
194
- .description("Generate synopsis fields with an LLM")
195
- .option("--llm-config <path>", "LLM configuration file")
196
- .option("--concurrency <n>", "Maximum concurrent model calls", "30")
197
- .option("--checkpoint <dir>", "Checkpoint directory")
198
- .option("--overwrite", "Regenerate existing synopsis fields")
199
- .option("--apply", "Write generated fields")
200
- .option("-n, --dry-run", "Generate a preview without writing")
201
- .action(dispatch((options) => commandSynopsisGenerate(options, llm), state));
202
- const extend = withScriptOpts(program.command("extend <addr> [key] [value]"))
203
- .description("Read, set, or clear extension data")
204
- .option("--json-value", "Parse the value as JSON")
205
- .option("--clear", "Delete the key or extension container")
206
- .action(dispatch(commandExtend, state));
207
- describeArguments(extend, ["Target address", "Extension key", "Extension value"]);
208
- const stateAdd = withScriptOpts(program.command("state-add <target> <name>"))
209
- .description("Add an asset state")
210
- .option("--description <text>", "State description", "")
211
- .option("--state-id <id>", "State ID")
212
- .action(dispatch(commandStateAdd, state));
213
- describeArguments(stateAdd, ["Asset address", "State name"]);
214
- const stateRename = withScriptOpts(program.command("state-rename <target> <name>"))
215
- .description("Rename an asset state")
216
- .action(dispatch(commandStateRename, state));
217
- describeArguments(stateRename, ["State address", "New name"]);
218
- const stateDelete = withScriptOpts(program.command("state-delete <target>"))
219
- .description("Delete an asset state")
220
- .requiredOption("--strategy <strategy>", "Reference handling strategy")
221
- .option("--replacement <id>", "Replacement state ID")
222
- .action(dispatch(commandStateDelete, state));
223
- describeArguments(stateDelete, ["State address"]);
224
- const dialogue = withScriptOpts(program.command("dialogue <at>"))
225
- .description("Set the speaker for dialogue or inner thought")
226
- .option("-a, --actor <id>", "Actor speaker ID")
227
- .option("--state <id>", "Actor state ID")
228
- .option("-k, --kind <kind>", "Non-actor speaker kind")
229
- .option("--label <text>", "Non-actor speaker label")
230
- .addHelpText("after", "\nExample:\n scriptctl dialogue ep_001/scn_001#3 --actor act_001\n")
231
- .action(dispatch(commandDialogue, state));
232
- describeArguments(dialogue, ["Dialogue action address"]);
233
- }
234
- //# sourceMappingURL=register-edits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register-edits.js","sourceRoot":"","sources":["../../src/cli/register-edits.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { Command } from "commander";
2
- import { type LlmComposition } from "../llm/composition.js";
3
- import { type RunState } from "./registry.js";
4
- export declare function registerQueryCommands(program: Command, state: RunState, llm: LlmComposition): void;
@@ -1,95 +0,0 @@
1
- import { commandActions } from "../usecases/script/actions.js";
2
- import { commandActors } from "../usecases/script/actors.js";
3
- import { commandAssets } from "../usecases/script/assets.js";
4
- import { commandAuditAssets } from "../usecases/script/audit-assets.js";
5
- import { commandEpisodes } from "../usecases/script/episodes.js";
6
- import { commandIds } from "../usecases/script/ids.js";
7
- import { commandIssues } from "../usecases/script/issues.js";
8
- import { commandLocations } from "../usecases/script/locations.js";
9
- import { commandProps } from "../usecases/script/props.js";
10
- import { commandRefs } from "../usecases/script/refs.js";
11
- import { commandScenes } from "../usecases/script/scenes.js";
12
- import { commandScriptValidate } from "../usecases/script/script-validate.js";
13
- import { commandStates } from "../usecases/script/states.js";
14
- import { commandSummary } from "../usecases/script/summary.js";
15
- import { describeArguments, dispatch, withScriptOpts } from "./registry.js";
16
- export function registerQueryCommands(program, state, llm) {
17
- withScriptOpts(program.command("summary"), "read")
18
- .description("Show a compact script summary")
19
- .action(dispatch(commandSummary, state));
20
- withScriptOpts(program.command("episodes"), "read")
21
- .description("List episodes")
22
- .option("--id <id>", "Filter by episode ID")
23
- .option("-i, --in <addr>", "Limit results to an address")
24
- .option("--min-chars <n>", "Minimum episode character count")
25
- .option("--max-chars <n>", "Maximum episode character count")
26
- .action(dispatch(commandEpisodes, state));
27
- withScriptOpts(program.command("scenes"), "read")
28
- .description("List scenes")
29
- .option("-i, --in <addr>", "Limit results to an address")
30
- .option("--has-actor <id>", "Require an actor reference")
31
- .option("--has-location <id>", "Require a location reference")
32
- .option("--has-prop <id>", "Require a prop reference")
33
- .action(dispatch(commandScenes, state));
34
- withScriptOpts(program.command("actions"), "read")
35
- .description("List actions")
36
- .option("-i, --in <addr>", "Limit results to an address or range")
37
- .option("-g, --grep <text>", "Match action text")
38
- .option("-t, --type <type>", "Filter by action type")
39
- .option("-a, --actor <id>", "Filter by actor ID")
40
- .option("--has <kind>", "Require a populated action facet")
41
- .option("--time <time-or-range>", "Match an episode-local timestamp or closed range")
42
- .option("--context <n>", "Include surrounding actions")
43
- .option("--span", "Collapse selected Actions to one episode-local timestamp span")
44
- .addHelpText("after", "\nExamples:\n scriptctl actions --in ep_001/scn_001 --grep \"door\"\n scriptctl actions --in @ep:1 --time 00:30..00:45\n scriptctl actions --in 'acStart..acEnd' --span\n")
45
- .action(dispatch(commandActions, state));
46
- for (const [name, description, handler] of [
47
- ["actors", "List actors", commandActors],
48
- ["locations", "List locations", commandLocations],
49
- ["props", "List props", commandProps],
50
- ]) {
51
- withScriptOpts(program.command(name), "read")
52
- .description(description)
53
- .option("--id <id>", `Filter ${name} by ID`)
54
- .option("--name <text>", `Filter ${name} by name`)
55
- .option("-i, --in <addr>", "Limit results to an address")
56
- .option("--counts", "Include reference counts")
57
- .action(dispatch(handler, state));
58
- }
59
- withScriptOpts(program.command("assets"), "read")
60
- .description("List actors, locations, and props")
61
- .option("-k, --kind <kind>", "Filter by asset kind")
62
- .option("--id <id>", "Filter by asset ID")
63
- .option("--name <text>", "Filter by asset name")
64
- .option("-i, --in <addr>", "Limit results to an address")
65
- .option("--counts", "Include reference counts")
66
- .action(dispatch(commandAssets, state));
67
- const states = withScriptOpts(program.command("states <asset-addr>"), "read")
68
- .description("List states for an asset")
69
- .action(dispatch(commandStates, state));
70
- describeArguments(states, ["Actor, location, or prop address"]);
71
- withScriptOpts(program.command("issues"), "read")
72
- .description("List validation issues")
73
- .option("--severity <severity>", "Filter by severity")
74
- .option("--code <code>", "Filter by issue code")
75
- .action(dispatch(commandIssues, state));
76
- const refs = withScriptOpts(program.command("refs <addr>"), "read")
77
- .description("List references to an address")
78
- .option("--level <level>", "Reference detail level")
79
- .action(dispatch(commandRefs, state));
80
- describeArguments(refs, ["Address to inspect"]);
81
- withScriptOpts(program.command("validate"), "read")
82
- .description("Validate the script")
83
- .action(dispatch(commandScriptValidate, state));
84
- withScriptOpts(program.command("audit-assets"), "read")
85
- .description("Audit asset consistency with an LLM")
86
- .option("--llm-config <path>", "LLM configuration file")
87
- .option("-o, --output <path>", "Audit JSON output file")
88
- .action(dispatch((options) => commandAuditAssets(options, llm), state));
89
- withScriptOpts(program.command("ids"), "read")
90
- .description("Generate unreserved candidate IDs")
91
- .requiredOption("-k, --kind <kind>", "ID kind")
92
- .requiredOption("--count <n>", "Number of IDs")
93
- .action(dispatch(commandIds, state));
94
- }
95
- //# sourceMappingURL=register-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register-query.js","sourceRoot":"","sources":["../../src/cli/register-query.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAiB,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3F,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,KAAe,EAAE,GAAmB;IAC1F,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;SAC/C,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3C,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;SAChD,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC3C,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SACxD,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5C,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;SAC9C,WAAW,CAAC,aAAa,CAAC;SAC1B,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SACxD,MAAM,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;SACxD,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1C,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;SAC/C,WAAW,CAAC,cAAc,CAAC;SAC3B,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;SACjE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;SACpD,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;SAChD,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAC1D,MAAM,CAAC,wBAAwB,EAAE,kDAAkD,CAAC;SACpF,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,+DAA+D,CAAC;SACjF,WAAW,CACV,OAAO,EACP,8KAA8K,CAC/K;SACA,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI;QACzC,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC;QACxC,CAAC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QACjD,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC;KAC7B,EAAE,CAAC;QACX,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;aAC1C,WAAW,CAAC,WAAW,CAAC;aACxB,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,QAAQ,CAAC;aAC3C,MAAM,CAAC,eAAe,EAAE,UAAU,IAAI,UAAU,CAAC;aACjD,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;aACxD,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;aAC9C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;SAC9C,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;SAC/C,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SACxD,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;SAC9C,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;SAC1E,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1C,iBAAiB,CAAC,MAAM,EAAE,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAEhE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;SAC9C,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;SACrD,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;SAC/C,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;SAChE,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;SACnD,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IACxC,iBAAiB,CAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAEhD,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;SAChD,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC;IAElD,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;SACpD,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;SACvD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;SACvD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1E,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;SAC3C,WAAW,CAAC,mCAAmC,CAAC;SAChD,cAAc,CAAC,mBAAmB,EAAE,SAAS,CAAC;SAC9C,cAAc,CAAC,aAAa,EAAE,eAAe,CAAC;SAC9C,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -1,56 +0,0 @@
1
- import { type JsonSchema, type VideoGenerationResponse } from "../../llm/types.js";
2
- export interface ArkResponse {
3
- status?: string;
4
- incomplete_details?: {
5
- reason?: string;
6
- };
7
- output?: Array<{
8
- type?: string;
9
- content?: Array<{
10
- type?: string;
11
- text?: string;
12
- }>;
13
- }>;
14
- usage?: {
15
- input_tokens?: number;
16
- output_tokens?: number;
17
- };
18
- }
19
- export interface ArkFile {
20
- id?: string;
21
- status?: string;
22
- }
23
- export interface ArkClient {
24
- uploadFile(params: {
25
- filePath: string;
26
- mimeType: string;
27
- fps: number;
28
- }): Promise<ArkFile>;
29
- getFile(params: {
30
- id: string;
31
- }): Promise<ArkFile>;
32
- createResponse(params: Record<string, unknown>, signal?: AbortSignal): Promise<ArkResponse>;
33
- deleteFile(params: {
34
- id: string;
35
- }): Promise<void>;
36
- }
37
- export interface DoubaoRunRequest {
38
- localPath: string;
39
- localMime: string;
40
- system?: string;
41
- user: string;
42
- fps: number;
43
- maxOutputTokens: number;
44
- responseJsonSchema?: JsonSchema;
45
- signal?: AbortSignal;
46
- }
47
- export declare class DoubaoVideoModel {
48
- private readonly model;
49
- private readonly timeoutMs;
50
- private readonly maxAttempts;
51
- private readonly client;
52
- constructor(model: string, timeoutMs: number, maxAttempts: number, apiKey: string, baseUrl: string, client?: ArkClient);
53
- run(request: DoubaoRunRequest): Promise<VideoGenerationResponse>;
54
- private pollActive;
55
- private generateOnce;
56
- }