@lingjingai/scriptctl 0.60.13 → 0.61.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.
- package/changes/0.61.0.md +19 -0
- package/dist/cli/register-script.d.ts +3 -0
- package/dist/cli/register-script.js +256 -0
- package/dist/cli/register-script.js.map +1 -0
- package/dist/cli/register-workflows.js +37 -42
- package/dist/cli/register-workflows.js.map +1 -1
- package/dist/cli.js +2 -6
- package/dist/cli.js.map +1 -1
- package/dist/domain/ingest/environment.d.ts +2 -3
- package/dist/domain/ingest/environment.js +1 -4
- package/dist/domain/ingest/environment.js.map +1 -1
- package/dist/domain/script/names.d.ts +1 -1
- package/dist/domain/script/names.js +1 -3
- package/dist/domain/script/names.js.map +1 -1
- package/dist/domain/script/shared/types.d.ts +1 -18
- package/dist/domain/script/shared/types.js +4 -8
- package/dist/domain/script/shared/types.js.map +1 -1
- package/dist/domain/script/shared/validation.d.ts +1 -12
- package/dist/domain/script/shared/validation.js +2 -22
- package/dist/domain/script/shared/validation.js.map +1 -1
- package/dist/domain/script/timestamp.d.ts +1 -23
- package/dist/domain/script/timestamp.js +2 -126
- package/dist/domain/script/timestamp.js.map +1 -1
- package/dist/domain/script/v3/validation.d.ts +2 -3
- package/dist/domain/script/v3/validation.js +1 -232
- package/dist/domain/script/v3/validation.js.map +1 -1
- package/dist/domain/script/v4/ids.d.ts +2 -24
- package/dist/domain/script/v4/ids.js +19 -40
- package/dist/domain/script/v4/ids.js.map +1 -1
- package/dist/domain/script/v4/validation.d.ts +2 -2
- package/dist/domain/script/v4/validation.js +1 -410
- package/dist/domain/script/v4/validation.js.map +1 -1
- package/dist/usecases/script/action-span.d.ts +3 -19
- package/dist/usecases/script/action-span.js +19 -146
- package/dist/usecases/script/action-span.js.map +1 -1
- package/package.json +4 -3
- package/skills/scriptctl/SKILL.md +148 -214
- package/skills/scriptctl/references/ingest-workflow.md +1 -1
- package/skills/scriptctl/references/state-reference-repair.md +23 -19
- package/skills/scriptctl/references/video-transcript-repair.md +27 -29
- package/dist/cli/register-batch.d.ts +0 -3
- package/dist/cli/register-batch.js +0 -28
- package/dist/cli/register-batch.js.map +0 -1
- package/dist/cli/register-edits.d.ts +0 -4
- package/dist/cli/register-edits.js +0 -234
- package/dist/cli/register-edits.js.map +0 -1
- package/dist/cli/register-query.d.ts +0 -4
- package/dist/cli/register-query.js +0 -95
- package/dist/cli/register-query.js.map +0 -1
- package/skills/scriptctl/references/atomic-edit-workflow.md +0 -47
- package/skills/scriptctl/references/bulk-authoring.md +0 -50
|
@@ -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,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,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":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# 原子精修
|
|
2
|
-
|
|
3
|
-
适用于少量、明确、离散的修改。先读取 `script.json.version`,再使用该方言返回的
|
|
4
|
-
正式地址。
|
|
5
|
-
|
|
6
|
-
## 单点
|
|
7
|
-
|
|
8
|
-
先查询,再用查询结果中的地址修改:
|
|
9
|
-
|
|
10
|
-
```bash
|
|
11
|
-
scriptctl actions -g "台下掌声雷动" -p "$SCRIPT"
|
|
12
|
-
scriptctl replace acR8cV4n --from "台下掌声雷动" --to "掌声骤停" \
|
|
13
|
-
-p "$SCRIPT"
|
|
14
|
-
scriptctl timestamp acR8cV4n --set 00:42.533 -p "$SCRIPT"
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
V4 查询可以使用 1-based `@` 序号,但修改必须使用正式 ID。V3 查询返回原有的
|
|
18
|
-
`ep_NNN/scn_NNN#idx` 可写地址。
|
|
19
|
-
|
|
20
|
-
## 同构多点
|
|
21
|
-
|
|
22
|
-
V4 先运行 dry-run,读取完整目标和 `plan_digest`,再用相同命令 apply:
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
scriptctl replace -i 'acR8cV4n..acT2fG6z' --from "。" --to "!"
|
|
26
|
-
scriptctl replace -i 'acR8cV4n..acT2fG6z' --from "。" --to "!" \
|
|
27
|
-
--apply --plan sha256:...
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## 异构多点
|
|
31
|
-
|
|
32
|
-
把不同原子命令写入文件,每行省略 `scriptctl`:
|
|
33
|
-
|
|
34
|
-
```text
|
|
35
|
-
replace acR8cV4n --from "旧句" --to "新句"
|
|
36
|
-
parenthetical acT2fG6z --set "低声"
|
|
37
|
-
timestamp acT2fG6z --set 00:42.533
|
|
38
|
-
scene-ref scnK6wT3c actA3kP9x --state default --state stB4xR8p
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
scriptctl do edits.txt -p "$SCRIPT"
|
|
43
|
-
scriptctl do edits.txt --apply --plan sha256:... -p "$SCRIPT"
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
`do` 整体解析、修改和校验;任一行失败时不落盘。
|
|
47
|
-
V4 `do` 中新增 asset、state、episode、scene 或 Action 时显式填写候选 ID。
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# 文件化批量写作
|
|
2
|
-
|
|
3
|
-
完整剧本、集、场和连续 Action 区间使用 `.scriptctl` authoring 文件。
|
|
4
|
-
|
|
5
|
-
## 固定流程
|
|
6
|
-
|
|
7
|
-
1. 既有目标先 `export`;新节点 ID 用 `ids` 生成候选。
|
|
8
|
-
2. 修改导出文件或生成完整 create 文件。
|
|
9
|
-
3. `write FILE --create|--replace` 生成计划。
|
|
10
|
-
4. 审阅所有目标、目标内变化、全局保留/新增/删除 ID、未触及 sibling、声明、
|
|
11
|
-
保留的孤立资产和 validation。
|
|
12
|
-
5. 使用相同文件与 mode 执行
|
|
13
|
-
`write FILE --create|--replace --apply --plan <digest>`。
|
|
14
|
-
|
|
15
|
-
确认码绑定精确源文件、mode、解析目标和当前本地基线,不保存为计划文件。
|
|
16
|
-
|
|
17
|
-
## 方言
|
|
18
|
-
|
|
19
|
-
- 无基线 `--create` 使用 Script v4。
|
|
20
|
-
- 已有文件按显式 `script.version` 选择 V3 或 V4 parser、serializer、validator 和 apply。
|
|
21
|
-
- V4 target、replacement 节点和 Action 都携带正式 ID。
|
|
22
|
-
- V4 scene 中同一资产只声明一次,状态写成完整集合。
|
|
23
|
-
- V4 speaking Action 使用
|
|
24
|
-
`[dlg|action-id|speaker|parenthetical?]` 或
|
|
25
|
-
`[think|action-id|speaker|parenthetical?]`。
|
|
26
|
-
|
|
27
|
-
## Target
|
|
28
|
-
|
|
29
|
-
一个文件包含一个或多个同类 target:
|
|
30
|
-
|
|
31
|
-
- `script`
|
|
32
|
-
- `episode`
|
|
33
|
-
- `episode-span`
|
|
34
|
-
- `scene`
|
|
35
|
-
- `scene-span`
|
|
36
|
-
- `action-span`
|
|
37
|
-
|
|
38
|
-
区间包含两端,端点正反等价,并按写入前的当前文档顺序解析。replace 批次必须按
|
|
39
|
-
当前文档顺序排列且互不重叠。span replacement 至少包含一个对应节点;纯删除使用
|
|
40
|
-
显式 delete 原子操作。
|
|
41
|
-
|
|
42
|
-
## 声明
|
|
43
|
-
|
|
44
|
-
`<create>` 放在 targets 前,声明本批次新增的 actor、location、prop 与 state。
|
|
45
|
-
资产先声明,state 紧随 owner 或在 owner 已存在时作为 standalone state 声明。
|
|
46
|
-
所有引用必须在最终提案中可解析。
|
|
47
|
-
|
|
48
|
-
## 核验
|
|
49
|
-
|
|
50
|
-
apply 后用对应 `episodes`、`scenes`、`actions` 和 `refs` 读回,再运行 `validate`。
|