@lingjingai/scriptctl 0.51.1 → 0.51.3

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/README.md CHANGED
@@ -26,6 +26,7 @@ scriptctl --help # 顶层帮助
26
26
  scriptctl doctor # 环境自检
27
27
  scriptctl update # 更新全局安装的 scriptctl
28
28
  scriptctl changelog # 查看当前版本功能变更
29
+ scriptctl migrate -p <source.json> -o <target.json> --to <version>
29
30
  scriptctl ingest --source-path <file|dir>
30
31
  scriptctl checkout --script-path workspace/script.json
31
32
  scriptctl actions --in '@ep:2/scn:1' --script-path workspace/script.json
@@ -0,0 +1,13 @@
1
+ # 0.51.2
2
+
3
+ ## Added
4
+ - Add `migrate-v4` to create an auditable Script v4 copy and V3-to-V4 identity map from an existing Script v3 file. Structurally readable transcripts with remaining semantic issues produce a repairable V4 draft and exit 78.
5
+
6
+ ## Changed
7
+ - Reuse the saved identity map when `migrate-v4 --force` reruns after V3 content repair, preserving existing V4 identities where the V3 node address remains stable.
8
+
9
+ ## Fixed
10
+ - None.
11
+
12
+ ## Breaking
13
+ - None.
@@ -0,0 +1,13 @@
1
+ # 0.51.3
2
+
3
+ ## Added
4
+ - `scriptctl migrate --to <version>` upgrades a copy through registered adjacent Script schema migrations and writes a manifest containing each migration step's identity map.
5
+
6
+ ## Changed
7
+ - None.
8
+
9
+ ## Fixed
10
+ - None.
11
+
12
+ ## Breaking
13
+ - `scriptctl migrate-v4` is replaced by `scriptctl migrate --to 4`; the new command writes `*.migration.json` manifests instead of standalone identity-map files.
@@ -2,10 +2,20 @@ import { commandIngest } from "../usecases/ingest/command.js";
2
2
  import { commandIngestStatus } from "../usecases/ingest/status.js";
3
3
  import { commandView } from "../usecases/ingest/view-command.js";
4
4
  import { commandExportAuthoring } from "../usecases/script/export-authoring.js";
5
+ import { commandMigrate } from "../usecases/script/migrate.js";
5
6
  import { commandCheckout, commandWorkingCopyPublish, commandWorkingCopyStatus, } from "../usecases/script/working-copy.js";
6
7
  import { commandWriteAuthoring } from "../usecases/script/write-authoring.js";
7
8
  import { describeArguments, dispatch, withScriptOpts, withWorkingCopyOpts, } from "./registry.js";
8
9
  export function registerWorkflowCommands(program, state, llm) {
10
+ program.command("migrate")
11
+ .description("Create a newer Script schema copy through the registered migration chain")
12
+ .requiredOption("-p, --script-path <path>", "Source Script JSON file")
13
+ .requiredOption("-o, --output <file>", "Destination Script JSON file")
14
+ .requiredOption("--to <version>", "Target Script version")
15
+ .option("--manifest <file>", "Migration manifest output")
16
+ .option("--force", "Replace existing migration artifacts")
17
+ .addHelpText("after", "\nExample:\n scriptctl migrate -p ./old-script.json -o ./script-v4.json --to 4\n")
18
+ .action(dispatch(commandMigrate, state));
9
19
  const ingest = program.command("ingest")
10
20
  .description("Convert source files into a Script v4 workspace")
11
21
  .option("-s, --source-path <path>", "Source file or directory")
@@ -1 +1 @@
1
- {"version":3,"file":"register-workflows.js","sourceRoot":"","sources":["../../src/cli/register-workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-workflows.js","sourceRoot":"","sources":["../../src/cli/register-workflows.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@ import type { ScriptV4 } from "./v4/types.js";
3
3
  import type { ValidationResult } from "./shared/validation.js";
4
4
  export type ScriptVersion = 3 | 4;
5
5
  export type ScriptDocument = ScriptV3 | ScriptV4;
6
+ export declare const SUPPORTED_SCRIPT_VERSIONS: readonly ScriptVersion[];
6
7
  export interface ScriptDialect {
7
8
  readonly version: ScriptVersion;
8
9
  readonly require: (value: unknown) => ScriptDocument;
9
10
  readonly validate: (value: unknown) => ValidationResult;
10
11
  }
12
+ export declare function isSupportedScriptVersion(value: unknown): value is ScriptVersion;
11
13
  export declare function scriptVersionOf(value: unknown): ScriptVersion;
12
14
  export declare function dialectFor(value: unknown): ScriptDialect;
13
15
  export declare function requireScriptDocument(value: unknown): ScriptDocument;
@@ -3,6 +3,7 @@ import { requireScriptV3 } from "./v3/parse.js";
3
3
  import { requireScriptV4 } from "./v4/parse.js";
4
4
  import { validateScriptV4 } from "./v4/validation.js";
5
5
  import { validateScriptV3 } from "./v3/validation.js";
6
+ export const SUPPORTED_SCRIPT_VERSIONS = [3, 4];
6
7
  const DIALECTS = {
7
8
  3: {
8
9
  version: 3,
@@ -15,6 +16,10 @@ const DIALECTS = {
15
16
  validate: validateScriptV4,
16
17
  },
17
18
  };
19
+ export function isSupportedScriptVersion(value) {
20
+ return typeof value === "number"
21
+ && SUPPORTED_SCRIPT_VERSIONS.some((version) => version === value);
22
+ }
18
23
  export function scriptVersionOf(value) {
19
24
  if (typeof value !== "object" || value === null || Array.isArray(value)) {
20
25
  throw new CliError("script.json must be an object with an explicit version.", {
@@ -24,7 +29,7 @@ export function scriptVersionOf(value) {
24
29
  });
25
30
  }
26
31
  const version = value.version;
27
- if (version === 3 || version === 4)
32
+ if (isSupportedScriptVersion(version))
28
33
  return version;
29
34
  throw new CliError("script.json must declare version 3 or version 4.", {
30
35
  exitCode: EXIT_INPUT,
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/domain/script/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AActD,MAAM,QAAQ,GAA6B;IACzC,CAAC,EAAE;QACD,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,gBAAgB;KAC3B;IACD,CAAC,EAAE;QACD,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,gBAAgB;KAC3B;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,QAAQ,CAAC,yDAAyD,EAAE;YACtE,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,wBAAwB;YACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE;SAC1G,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAC;IAC3D,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACnD,MAAM,IAAI,QAAQ,CAAC,kDAAkD,EAAE;QAC/D,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,4BAA4B;QAC1F,IAAI,EAAE,mGAAmG;QACzG,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;KAC5E,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/domain/script/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,CAAC,MAAM,yBAAyB,GAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAU1E,MAAM,QAAQ,GAA6B;IACzC,CAAC,EAAE;QACD,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,gBAAgB;KAC3B;IACD,CAAC,EAAE;QACD,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,gBAAgB;KAC3B;CACF,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,yBAAyB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,QAAQ,CAAC,yDAAyD,EAAE;YACtE,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,wBAAwB;YACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE;SAC1G,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAC;IAC3D,IAAI,wBAAwB,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACtD,MAAM,IAAI,QAAQ,CAAC,kDAAkD,EAAE;QAC/D,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,4BAA4B;QAC1F,IAAI,EAAE,mGAAmG;QACzG,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;KAC5E,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ScriptVersion } from "../dispatch.js";
2
+ import type { ScriptMigrationResult, ScriptMigrationStepArtifact } from "./types.js";
3
+ export declare function parseScriptMigrationStepArtifacts(value: unknown): ScriptMigrationStepArtifact[];
4
+ export declare function migrateScriptToVersion(value: unknown, targetVersion: ScriptVersion, priorArtifacts?: readonly ScriptMigrationStepArtifact[]): ScriptMigrationResult;
@@ -0,0 +1,76 @@
1
+ import { CliError, EXIT_INPUT } from "../../../common.js";
2
+ import { isSupportedScriptVersion, requireScriptDocument, scriptVersionOf, } from "../dispatch.js";
3
+ import { isDict } from "../shared.js";
4
+ import { migrate as migrateV3ToV4 } from "./v3-to-v4.js";
5
+ const MIGRATIONS = [
6
+ {
7
+ sourceVersion: 3,
8
+ targetVersion: 4,
9
+ migrate: migrateV3ToV4,
10
+ },
11
+ ];
12
+ function isMigrationArtifact(value) {
13
+ return isDict(value)
14
+ && isSupportedScriptVersion(value["source_version"])
15
+ && isSupportedScriptVersion(value["target_version"])
16
+ && value["source_version"] < value["target_version"]
17
+ && "identity_map" in value;
18
+ }
19
+ export function parseScriptMigrationStepArtifacts(value) {
20
+ if (!Array.isArray(value)) {
21
+ throw new CliError("Migration manifest steps must be an array.", {
22
+ exitCode: EXIT_INPUT,
23
+ errorCode: "MIGRATE_MANIFEST_INVALID",
24
+ });
25
+ }
26
+ return value.map((item) => {
27
+ if (!isMigrationArtifact(item)) {
28
+ throw new CliError("Migration manifest contains an invalid step artifact.", {
29
+ exitCode: EXIT_INPUT,
30
+ errorCode: "MIGRATE_MANIFEST_INVALID",
31
+ });
32
+ }
33
+ return {
34
+ sourceVersion: item.source_version,
35
+ targetVersion: item.target_version,
36
+ identityMap: item.identity_map,
37
+ };
38
+ });
39
+ }
40
+ function migrationFor(sourceVersion, targetVersion) {
41
+ return MIGRATIONS.find((migration) => (migration.sourceVersion === sourceVersion
42
+ && migration.targetVersion <= targetVersion));
43
+ }
44
+ function priorArtifactFor(artifacts, migration) {
45
+ return artifacts.find((artifact) => (artifact.sourceVersion === migration.sourceVersion
46
+ && artifact.targetVersion === migration.targetVersion));
47
+ }
48
+ export function migrateScriptToVersion(value, targetVersion, priorArtifacts = []) {
49
+ const sourceVersion = scriptVersionOf(value);
50
+ if (targetVersion < sourceVersion) {
51
+ throw new CliError("A migration target must be newer than the source script.", {
52
+ exitCode: EXIT_INPUT,
53
+ errorCode: "MIGRATE_TARGET_OLDER",
54
+ data: { expected: [String(sourceVersion)], actual: [String(targetVersion)] },
55
+ });
56
+ }
57
+ let current = requireScriptDocument(value);
58
+ let currentVersion = sourceVersion;
59
+ const steps = [];
60
+ while (currentVersion < targetVersion) {
61
+ const migration = migrationFor(currentVersion, targetVersion);
62
+ if (migration === undefined) {
63
+ throw new CliError(`No migration path exists from Script v${currentVersion} to Script v${targetVersion}.`, {
64
+ exitCode: EXIT_INPUT,
65
+ errorCode: "MIGRATE_PATH_UNSUPPORTED",
66
+ data: { actual: [String(currentVersion), String(targetVersion)] },
67
+ });
68
+ }
69
+ const migrated = migration.migrate(current, priorArtifactFor(priorArtifacts, migration));
70
+ current = migrated.script;
71
+ currentVersion = migration.targetVersion;
72
+ steps.push(migrated.artifact);
73
+ }
74
+ return { sourceVersion, targetVersion, script: current, steps };
75
+ }
76
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/domain/script/migrations/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ScriptDocument, ScriptVersion } from "../dispatch.js";
2
+ export interface ScriptMigrationStepArtifact {
3
+ readonly sourceVersion: ScriptVersion;
4
+ readonly targetVersion: ScriptVersion;
5
+ readonly identityMap: unknown;
6
+ }
7
+ export interface ScriptMigrationStepResult {
8
+ readonly script: ScriptDocument;
9
+ readonly artifact: ScriptMigrationStepArtifact;
10
+ }
11
+ export type ScriptMigration = (source: ScriptDocument, prior: ScriptMigrationStepArtifact | undefined) => ScriptMigrationStepResult;
12
+ export interface ScriptMigrationResult {
13
+ readonly sourceVersion: ScriptVersion;
14
+ readonly targetVersion: ScriptVersion;
15
+ readonly script: ScriptDocument;
16
+ readonly steps: readonly ScriptMigrationStepArtifact[];
17
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/script/migrations/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { ScriptDocument } from "../dispatch.js";
2
+ import type { ScriptMigrationStepArtifact, ScriptMigrationStepResult } from "./types.js";
3
+ export declare function migrate(source: ScriptDocument, prior: ScriptMigrationStepArtifact | undefined): ScriptMigrationStepResult;
@@ -0,0 +1,57 @@
1
+ import { CliError, EXIT_INPUT } from "../../../common.js";
2
+ import { isDict } from "../shared.js";
3
+ import { requireScriptV3 } from "../v3/parse.js";
4
+ import { newScriptV4FromV3WithIdentity } from "../v4/from-v3.js";
5
+ function v3ActionIdentityKeys(source) {
6
+ const action = {};
7
+ for (const episode of source.episodes) {
8
+ for (const scene of episode.scenes) {
9
+ const sceneAddress = `${episode.episode_id}/${scene.scene_id}`;
10
+ scene.actions.forEach((_item, index) => {
11
+ const address = `${sceneAddress}#${index}`;
12
+ action[address] = address;
13
+ });
14
+ }
15
+ }
16
+ return action;
17
+ }
18
+ function isStringRecord(value) {
19
+ return isDict(value) && Object.values(value).every((item) => typeof item === "string");
20
+ }
21
+ function isNestedStringRecord(value) {
22
+ return isDict(value) && Object.values(value).every(isStringRecord);
23
+ }
24
+ function isV4IdentityMap(value) {
25
+ return isDict(value)
26
+ && value["version"] === 3
27
+ && isStringRecord(value["actor"])
28
+ && isStringRecord(value["location"])
29
+ && isStringRecord(value["prop"])
30
+ && isNestedStringRecord(value["state"])
31
+ && isStringRecord(value["episode"])
32
+ && isStringRecord(value["scene"])
33
+ && isStringRecord(value["action"]);
34
+ }
35
+ function priorIdentityMap(prior) {
36
+ if (prior === undefined)
37
+ return undefined;
38
+ if (isV4IdentityMap(prior.identityMap))
39
+ return prior.identityMap;
40
+ throw new CliError("Migration manifest contains an invalid v3-to-v4 identity map.", {
41
+ exitCode: EXIT_INPUT,
42
+ errorCode: "MIGRATE_MANIFEST_INVALID",
43
+ });
44
+ }
45
+ export function migrate(source, prior) {
46
+ const sourceV3 = requireScriptV3(source);
47
+ const converted = newScriptV4FromV3WithIdentity(sourceV3, priorIdentityMap(prior), { action: v3ActionIdentityKeys(sourceV3) });
48
+ return {
49
+ script: converted.script,
50
+ artifact: {
51
+ sourceVersion: 3,
52
+ targetVersion: 4,
53
+ identityMap: converted.identityMap,
54
+ },
55
+ };
56
+ }
57
+ //# sourceMappingURL=v3-to-v4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v3-to-v4.js","sourceRoot":"","sources":["../../../../src/domain/script/migrations/v3-to-v4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,6BAA6B,EAAsB,MAAM,kBAAkB,CAAC;AAGrF,SAAS,oBAAoB,CAAC,MAA0C;IACtE,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/D,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrC,MAAM,OAAO,GAAG,GAAG,YAAY,IAAI,KAAK,EAAE,CAAC;gBAC3C,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,KAAK,CAAC;WACf,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;WACtB,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;WAC9B,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;WACjC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;WAC7B,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;WACpC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;WAChC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;WAC9B,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA8C;IACtE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC,WAAW,CAAC;IACjE,MAAM,IAAI,QAAQ,CAAC,+DAA+D,EAAE;QAClF,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,0BAA0B;KACtC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,MAAsB,EACtB,KAA8C;IAE9C,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,6BAA6B,CAC7C,QAAQ,EACR,gBAAgB,CAAC,KAAK,CAAC,EACvB,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAC3C,CAAC;IACF,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,QAAQ,EAAE;YACR,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,SAAS,CAAC,WAAW;SACnC;KACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { ScriptV4 } from "./types.js";
2
2
  export declare function isScriptV4(value: unknown): value is ScriptV4;
3
3
  export declare function requireScriptV4(value: unknown): ScriptV4;
4
+ export declare function requireStructurallyReadableScriptV4(value: unknown): ScriptV4;
@@ -1,5 +1,11 @@
1
1
  import { CliError, EXIT_INPUT } from "../../../common.js";
2
2
  import { validateScriptV4 } from "./validation.js";
3
+ const REPAIRABLE_IDENTITY_ISSUES = new Set([
4
+ "dup_actor_name",
5
+ "alias_empty",
6
+ "alias_equals_name",
7
+ "dup_alias",
8
+ ]);
3
9
  export function isScriptV4(value) {
4
10
  return validateScriptV4(value).ok;
5
11
  }
@@ -14,4 +20,16 @@ export function requireScriptV4(value) {
14
20
  data: { expected: ["A valid Script v4 document"], actual: validation.errors.slice(0, 20).map((issue) => `${issue.path}: ${issue.message}`) },
15
21
  });
16
22
  }
23
+ export function requireStructurallyReadableScriptV4(value) {
24
+ const validation = validateScriptV4(value);
25
+ if (validation.ok
26
+ || validation.errors.every((issue) => REPAIRABLE_IDENTITY_ISSUES.has(issue.code)))
27
+ return value;
28
+ throw new CliError("The local file is not a structurally readable Script v4 document.", {
29
+ exitCode: EXIT_INPUT,
30
+ errorCode: "SCRIPT_V4_INVALID",
31
+ hint: "Run `scriptctl validate --script-path <path>` and repair the reported v4 fields.",
32
+ data: { expected: ["A structurally readable Script v4 document"], actual: validation.errors.slice(0, 20).map((issue) => `${issue.path}: ${issue.message}`) },
33
+ });
34
+ }
17
35
  //# sourceMappingURL=parse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/domain/script/v4/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,EAAE;QAAE,OAAO,KAAiB,CAAC;IAC5C,MAAM,IAAI,QAAQ,CAAC,mDAAmD,EAAE;QAChE,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE,kFAAkF;QACxF,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,4BAA4B,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE;KAC7I,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/domain/script/v4/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,EAAE;QAAE,OAAO,KAAiB,CAAC;IAC5C,MAAM,IAAI,QAAQ,CAAC,mDAAmD,EAAE;QAChE,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE,kFAAkF;QACxF,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,4BAA4B,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE;KAC7I,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,KAAc;IAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC3C,IACE,UAAU,CAAC,EAAE;WACV,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjF,OAAO,KAAiB,CAAC;IAC3B,MAAM,IAAI,QAAQ,CAAC,mEAAmE,EAAE;QAChF,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE,kFAAkF;QACxF,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE;KAC7J,CAAC,CAAC;AACX,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { CliError, EXIT_INPUT, EXIT_NEEDS_AGENT, EXIT_OK, EXIT_USAGE, sha256Text, } from "../../common.js";
2
2
  import { applyPatchOperationsV4 } from "../../domain/script/v4/patch/apply.js";
3
3
  import { isV4Id } from "../../domain/script/v4/ids.js";
4
- import { requireScriptV4 } from "../../domain/script/v4/parse.js";
4
+ import { requireStructurallyReadableScriptV4 } from "../../domain/script/v4/parse.js";
5
5
  import { validateScriptV4 } from "../../domain/script/v4/validation.js";
6
6
  import { sceneRefs } from "../../domain/script/scene-refs.js";
7
7
  import { isDangerousRegex, MAX_GREP_PATTERN_LEN, parseInSelector, selectorSingleActionPoint, WHOLE_SCRIPT, } from "../../domain/script/selector.js";
@@ -884,7 +884,7 @@ export function buildV4MutationPlan(session, operations, options = {}) {
884
884
  data: { actual: [`Script v${session.version}`] },
885
885
  });
886
886
  }
887
- const original = requireScriptV4(session.script);
887
+ const original = requireStructurallyReadableScriptV4(session.script);
888
888
  const proposed = structuredClone(original);
889
889
  const originalIds = v4CanonicalIds(original);
890
890
  const applied = [];
@@ -1073,7 +1073,7 @@ export async function applySelectorEditsToSession(session, opts, template, verbL
1073
1073
  const script = session.script;
1074
1074
  const refs = session.version === 3
1075
1075
  ? resolveActionTargets(script, opts).map((target) => `${target.epId}/${target.sceneId}#${target.idx}`)
1076
- : resolveActionTargetsV4(requireScriptV4(script), opts, { allowOrdinals: false })
1076
+ : resolveActionTargetsV4(requireStructurallyReadableScriptV4(script), opts, { allowOrdinals: false })
1077
1077
  .map((target) => target.action.action_id);
1078
1078
  const operations = refs.map((ref) => ({ ...template, at: ref }));
1079
1079
  const multiV4 = session.version === 4 && refs.length > 1;
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/usecases/script/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/usecases/script/lib.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type CommandOutput } from "../../common.js";
2
+ import { type Dict } from "../../domain/script/shared.js";
3
+ export declare function commandMigrate(opts: Dict): Promise<[CommandOutput, number]>;
@@ -0,0 +1,210 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { CliError, EXIT_NEEDS_AGENT, EXIT_OK, EXIT_USAGE, sha256Text, } from "../../common.js";
4
+ import { migrateScriptToVersion, parseScriptMigrationStepArtifacts, } from "../../domain/script/migrations/registry.js";
5
+ import { isSupportedScriptVersion, scriptVersionOf, SUPPORTED_SCRIPT_VERSIONS, validateScriptDocument, } from "../../domain/script/dispatch.js";
6
+ import { atomicWriteJson, withScriptFileLock } from "../../infra/script-working-copy.js";
7
+ import { isDict } from "../../domain/script/shared.js";
8
+ function stringOption(opts, name) {
9
+ const value = opts[name];
10
+ return typeof value === "string" ? value.trim() : "";
11
+ }
12
+ function numberOption(opts, name) {
13
+ const value = stringOption(opts, name);
14
+ if (!/^\d+$/.test(value))
15
+ return null;
16
+ return Number(value);
17
+ }
18
+ function requireTargetVersion(opts) {
19
+ const value = numberOption(opts, "to");
20
+ if (isSupportedScriptVersion(value))
21
+ return value;
22
+ throw new CliError("A supported migration target version is required.", {
23
+ exitCode: EXIT_USAGE,
24
+ errorCode: "MIGRATE_TARGET_INVALID",
25
+ hint: "Pass --to <version> with a supported Script version.",
26
+ data: {
27
+ expected: SUPPORTED_SCRIPT_VERSIONS.map(String),
28
+ actual: [stringOption(opts, "to") || "<empty>"],
29
+ },
30
+ });
31
+ }
32
+ function defaultManifestPath(outputPath) {
33
+ const extension = path.extname(outputPath);
34
+ const stem = extension.length > 0
35
+ ? outputPath.slice(0, -extension.length)
36
+ : outputPath;
37
+ return `${stem}.migration.json`;
38
+ }
39
+ function requireDistinctPaths(sourcePath, outputPath, manifestPath) {
40
+ const resolved = [sourcePath, outputPath, manifestPath].map((item) => path.resolve(item));
41
+ if (resolved[0] === resolved[1]) {
42
+ throw new CliError("The migration destination must differ from the source.", {
43
+ exitCode: EXIT_USAGE,
44
+ errorCode: "MIGRATE_SAME_PATH",
45
+ hint: "Choose a separate --output path. The source file stays unchanged.",
46
+ data: { actual: [sourcePath] },
47
+ });
48
+ }
49
+ if (resolved[0] === resolved[2] || resolved[1] === resolved[2]) {
50
+ throw new CliError("The migration manifest needs its own file path.", {
51
+ exitCode: EXIT_USAGE,
52
+ errorCode: "MIGRATE_MANIFEST_PATH",
53
+ hint: "Choose a --manifest path separate from the source and output files.",
54
+ data: { actual: [manifestPath] },
55
+ });
56
+ }
57
+ }
58
+ function assertWritableDestination(filePath, force) {
59
+ if (!force && fs.existsSync(filePath)) {
60
+ throw new CliError("Migration destination already exists.", {
61
+ exitCode: EXIT_USAGE,
62
+ errorCode: "MIGRATE_OUTPUT_EXISTS",
63
+ hint: "Choose a new path, or pass --force to replace the migration artifact.",
64
+ data: { actual: [filePath] },
65
+ });
66
+ }
67
+ }
68
+ function readSource(sourcePath) {
69
+ let raw;
70
+ try {
71
+ raw = fs.readFileSync(sourcePath, "utf8");
72
+ }
73
+ catch (error) {
74
+ throw new CliError("Cannot read the source script.", {
75
+ exitCode: EXIT_USAGE,
76
+ errorCode: "MIGRATE_SOURCE_READ_FAILED",
77
+ hint: "Pass an existing JSON file with --script-path.",
78
+ data: { actual: [sourcePath, error instanceof Error ? error.message : String(error)] },
79
+ });
80
+ }
81
+ try {
82
+ return { raw, value: JSON.parse(raw) };
83
+ }
84
+ catch (error) {
85
+ throw new CliError("The source script is not valid JSON.", {
86
+ exitCode: EXIT_USAGE,
87
+ errorCode: "MIGRATE_SOURCE_JSON_INVALID",
88
+ hint: "Repair the JSON syntax, then rerun migrate.",
89
+ data: { actual: [error instanceof Error ? error.message : String(error)] },
90
+ });
91
+ }
92
+ }
93
+ function readPriorManifest(manifestPath, force) {
94
+ if (!force || !fs.existsSync(manifestPath))
95
+ return undefined;
96
+ let value;
97
+ try {
98
+ value = JSON.parse(fs.readFileSync(manifestPath, "utf8"));
99
+ }
100
+ catch (error) {
101
+ throw new CliError("Cannot reuse the existing migration manifest.", {
102
+ exitCode: EXIT_USAGE,
103
+ errorCode: "MIGRATE_MANIFEST_INVALID",
104
+ hint: "Restore the migration manifest, or choose a new --manifest path.",
105
+ data: { actual: [manifestPath, error instanceof Error ? error.message : String(error)] },
106
+ });
107
+ }
108
+ if (!isDict(value)
109
+ || value["version"] !== 1
110
+ || !isSupportedScriptVersion(value["source_version"])
111
+ || !isSupportedScriptVersion(value["target_version"])
112
+ || typeof value["source_path"] !== "string"
113
+ || typeof value["source_sha256"] !== "string") {
114
+ throw new CliError("Cannot reuse the existing migration manifest.", {
115
+ exitCode: EXIT_USAGE,
116
+ errorCode: "MIGRATE_MANIFEST_INVALID",
117
+ hint: "Restore the migration manifest, or choose a new --manifest path.",
118
+ data: { actual: [manifestPath] },
119
+ });
120
+ }
121
+ return {
122
+ version: 1,
123
+ source_version: value["source_version"],
124
+ target_version: value["target_version"],
125
+ source_path: value["source_path"],
126
+ source_sha256: value["source_sha256"],
127
+ steps: parseScriptMigrationStepArtifacts(value["steps"]),
128
+ };
129
+ }
130
+ export async function commandMigrate(opts) {
131
+ const sourceRawPath = stringOption(opts, "script_path");
132
+ const outputRawPath = stringOption(opts, "output");
133
+ if (!sourceRawPath || !outputRawPath) {
134
+ throw new CliError("Migration paths are required.", {
135
+ exitCode: EXIT_USAGE,
136
+ errorCode: "MIGRATE_PATH_MISSING",
137
+ hint: "Pass --script-path <source.json> and --output <target.json>.",
138
+ data: { expected: ["--script-path <source.json>", "--output <target.json>"] },
139
+ });
140
+ }
141
+ const sourcePath = path.resolve(sourceRawPath);
142
+ const outputPath = path.resolve(outputRawPath);
143
+ const manifestPath = path.resolve(stringOption(opts, "manifest") || defaultManifestPath(outputPath));
144
+ const targetVersion = requireTargetVersion(opts);
145
+ const force = Boolean(opts["force"]);
146
+ requireDistinctPaths(sourcePath, outputPath, manifestPath);
147
+ return withScriptFileLock(outputPath, async () => {
148
+ assertWritableDestination(outputPath, force);
149
+ assertWritableDestination(manifestPath, force);
150
+ const sourceDocument = readSource(sourcePath);
151
+ const sourceVersion = scriptVersionOf(sourceDocument.value);
152
+ if (targetVersion <= sourceVersion) {
153
+ throw new CliError("The migration target must be newer than the source script.", {
154
+ exitCode: EXIT_USAGE,
155
+ errorCode: "MIGRATE_TARGET_NOT_NEWER",
156
+ data: { expected: [`>${sourceVersion}`], actual: [String(targetVersion)] },
157
+ });
158
+ }
159
+ const sourceValidation = validateScriptDocument(sourceDocument.value);
160
+ const priorManifest = readPriorManifest(manifestPath, force);
161
+ const migrated = migrateScriptToVersion(sourceDocument.value, targetVersion, priorManifest?.steps);
162
+ const validation = validateScriptDocument(migrated.script);
163
+ const manifest = {
164
+ version: 1,
165
+ source_version: migrated.sourceVersion,
166
+ target_version: migrated.targetVersion,
167
+ source_path: sourcePath,
168
+ source_sha256: sha256Text(sourceDocument.raw),
169
+ steps: migrated.steps,
170
+ };
171
+ atomicWriteJson(manifestPath, {
172
+ ...manifest,
173
+ steps: manifest.steps.map((step) => ({
174
+ source_version: step.sourceVersion,
175
+ target_version: step.targetVersion,
176
+ identity_map: step.identityMap,
177
+ })),
178
+ });
179
+ atomicWriteJson(outputPath, migrated.script);
180
+ const data = {
181
+ op: "script.migrate",
182
+ changed: true,
183
+ source_script_path: sourcePath,
184
+ script_path: outputPath,
185
+ manifest_path: manifestPath,
186
+ source_version: migrated.sourceVersion,
187
+ target_version: migrated.targetVersion,
188
+ source_validation: {
189
+ ok: sourceValidation.ok,
190
+ errors: sourceValidation.errors.length,
191
+ warnings: sourceValidation.warnings.length,
192
+ },
193
+ validation: {
194
+ ok: validation.ok,
195
+ errors: validation.errors.length,
196
+ warnings: validation.warnings.length,
197
+ issues: validation.errors.slice(0, 100),
198
+ },
199
+ };
200
+ const text = validation.ok
201
+ ? [`Script v${migrated.targetVersion}: ${outputPath}`, `Migration manifest: ${manifestPath}`, "validation: ok"].join("\n")
202
+ : [
203
+ `Script v${migrated.targetVersion}: ${outputPath}`,
204
+ `Migration manifest: ${manifestPath}`,
205
+ `validation: ${validation.errors.length} errors; repair before production use`,
206
+ ].join("\n");
207
+ return [{ text, data }, validation.ok ? EXIT_OK : EXIT_NEEDS_AGENT];
208
+ });
209
+ }
210
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/usecases/script/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,UAAU,GAEX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,yBAAyB,EACzB,sBAAsB,GAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,MAAM,EAAa,MAAM,+BAA+B,CAAC;AAWlE,SAAS,YAAY,CAAC,IAAU,EAAE,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,IAAU,EAAE,IAAY;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU;IACtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,wBAAwB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,IAAI,QAAQ,CAAC,mDAAmD,EAAE;QACtE,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,wBAAwB;QACnC,IAAI,EAAE,sDAAsD;QAC5D,IAAI,EAAE;YACJ,QAAQ,EAAE,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/C,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC;SAChD;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;QAC/B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QACxC,CAAC,CAAC,UAAU,CAAC;IACf,OAAO,GAAG,IAAI,iBAAiB,CAAC;AAClC,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAkB,EAAE,UAAkB,EAAE,YAAoB;IACxF,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,wDAAwD,EAAE;YAC3E,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,mBAAmB;YAC9B,IAAI,EAAE,mEAAmE;YACzE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,QAAQ,CAAC,iDAAiD,EAAE;YACpE,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,uBAAuB;YAClC,IAAI,EAAE,qEAAqE;YAC3E,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAgB,EAAE,KAAc;IACjE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,QAAQ,CAAC,uCAAuC,EAAE;YAC1D,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,uBAAuB;YAClC,IAAI,EAAE,uEAAuE;YAC7E,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB;IACpC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,gCAAgC,EAAE;YACnD,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,4BAA4B;YACvC,IAAI,EAAE,gDAAgD;YACtD,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;SACvF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,sCAAsC,EAAE;YACzD,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,6BAA6B;YACxC,IAAI,EAAE,6CAA6C;YACnD,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;SAC3E,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAoB,EAAE,KAAc;IAC7D,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,+CAA+C,EAAE;YAClE,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,0BAA0B;YACrC,IAAI,EAAE,kEAAkE;YACxE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;SACzF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;WACb,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;WACtB,CAAC,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;WAClD,CAAC,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;WAClD,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ;WACxC,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,QAAQ,CAAC,+CAA+C,EAAE;YAClE,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,0BAA0B;YACrC,IAAI,EAAE,kEAAkE;YACxE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC;QACV,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACvC,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACvC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC;QACjC,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC;QACrC,KAAK,EAAE,iCAAiC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAU;IAC7C,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,MAAM,IAAI,QAAQ,CAAC,+BAA+B,EAAE;YAClD,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,sBAAsB;YACjC,IAAI,EAAE,8DAA8D;YACpE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,wBAAwB,CAAC,EAAE;SAC9E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IACrG,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAE3D,OAAO,kBAAkB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QAC/C,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7C,yBAAyB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAE/C,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,QAAQ,CAAC,4DAA4D,EAAE;gBAC/E,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,0BAA0B;gBACrC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE;aAC3E,CAAC,CAAC;QACL,CAAC;QACD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,sBAAsB,CACrC,cAAc,CAAC,KAAK,EACpB,aAAa,EACb,aAAa,EAAE,KAAK,CACrB,CAAC;QACF,MAAM,UAAU,GAAG,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAsB;YAClC,OAAO,EAAE,CAAC;YACV,cAAc,EAAE,QAAQ,CAAC,aAAa;YACtC,cAAc,EAAE,QAAQ,CAAC,aAAa;YACtC,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC;YAC7C,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC;QAEF,eAAe,CAAC,YAAY,EAAE;YAC5B,GAAG,QAAQ;YACX,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnC,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,YAAY,EAAE,IAAI,CAAC,WAAW;aAC/B,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG;YACX,EAAE,EAAE,gBAAgB;YACpB,OAAO,EAAE,IAAI;YACb,kBAAkB,EAAE,UAAU;YAC9B,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,QAAQ,CAAC,aAAa;YACtC,cAAc,EAAE,QAAQ,CAAC,aAAa;YACtC,iBAAiB,EAAE;gBACjB,EAAE,EAAE,gBAAgB,CAAC,EAAE;gBACvB,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM;gBACtC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,MAAM;aAC3C;YACD,UAAU,EAAE;gBACV,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;gBAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;gBACpC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aACxC;SACF,CAAC;QACF,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE;YACxB,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,aAAa,KAAK,UAAU,EAAE,EAAE,uBAAuB,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1H,CAAC,CAAC;gBACE,WAAW,QAAQ,CAAC,aAAa,KAAK,UAAU,EAAE;gBAClD,uBAAuB,YAAY,EAAE;gBACrC,eAAe,UAAU,CAAC,MAAM,CAAC,MAAM,uCAAuC;aAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { applyPatchOperationsV4 } from "../../../domain/script/v4/patch/apply.js";
2
- import { requireScriptV4 } from "../../../domain/script/v4/parse.js";
2
+ import { requireStructurallyReadableScriptV4 } from "../../../domain/script/v4/parse.js";
3
3
  export function applyV4Mutations(script, operations) {
4
- return applyPatchOperationsV4(requireScriptV4(script), operations);
4
+ return applyPatchOperationsV4(requireStructurallyReadableScriptV4(script), operations);
5
5
  }
6
6
  //# sourceMappingURL=mutations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../../src/usecases/script/v4/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,MAAM,UAAU,gBAAgB,CAAC,MAAY,EAAE,UAAkB;IAC/D,OAAO,sBAAsB,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../../src/usecases/script/v4/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,mCAAmC,EAAE,MAAM,oCAAoC,CAAC;AAGzF,MAAM,UAAU,gBAAgB,CAAC,MAAY,EAAE,UAAkB;IAC/D,OAAO,sBAAsB,CAAC,mCAAmC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AACzF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingjingai/scriptctl",
3
- "version": "0.51.1",
3
+ "version": "0.51.3",
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、两个 script.json、剧本资产/state、Action、场景引用或 authoring 时使用。"
4
4
  metadata:
5
- version: "0.27.1"
6
- scriptctl_version: "0.51.1"
5
+ version: "0.27.2"
6
+ scriptctl_version: "0.51.3"
7
7
  author: "official"
8
8
  ---
9
9
 
@@ -177,6 +177,12 @@ scriptctl scene-ref ep_001/scn_003 actor:act_001 --state st_002
177
177
  对 V3 文件运行 `export`、`write`、原子命令、`validate` 和 `publish` 时,CLI
178
178
  会选择 V3 实现并保持原文件结构与既有 ID。
179
179
 
180
+ ## 版本变更边界
181
+
182
+ Agent 不得自行调用 `migrate` 命令,也不得执行任何 Script schema 升级或生成升级产物。
183
+ 版本变更会重写全局身份与外部引用,可能影响项目上下文、视频锚点和下游工作流;只有用户
184
+ 明确要求时才由应用层处理。面对 V3 文件,按其现有版本读取、查询、修改和校验。
185
+
180
186
  ## 多点写与 plan
181
187
 
182
188
  V4 单个明确 ID 的原子修改直接执行。任何单事务多点修改先生成完整计划:
@@ -0,0 +1,114 @@
1
+ # 视频转录剧本人工复核
2
+
3
+ 本流程适用于视频转录产生的 Script v3/v4。目标是保留原视频可验证的内容与集内时间点,
4
+ 由人判断身份、场界、说话人和误拆合并,Agent 执行定位、批量写入、读回和校验。
5
+
6
+ ## 1. 建立可修复工作副本
7
+
8
+ 读取 `script.json.version`。对 V3 先运行:
9
+
10
+ ```bash
11
+ scriptctl validate -p "$V3"
12
+ ```
13
+
14
+ V3 保持其现有地址与字段;V4 使用其正式 ID 与计划写入语义。Agent 只在用户指定的
15
+ 现有版本内进行复核和精修,不改变 Script schema。任一版本有多个 blocking issue 时,
16
+ 把完整修复组织成一个 `do` 或 `patch` 事务;计划的最终状态通过校验后再 apply。
17
+
18
+ 人物重名按剧情身份判断:
19
+
20
+ - 同一人物被重复建档:先核对 `refs`、states、aliases、importance 和实际对白,再把信息
21
+ 补到保留人物,最后 `merge <source> --into <survivor>`。
22
+ - 不同人物共用外观标签:把各自 `actor_name` 改为真实稳定身份,外观或称呼放 aliases。
23
+ - 人物名改成已有 alias 后,同步移除与正式名相同的 alias。
24
+
25
+ 每轮修复后运行 `validate`。校验通过表示结构与引用合法,人物身份仍以视频复核结论为准。
26
+
27
+ ## 2. 定位 Action 与时间点
28
+
29
+ 时间戳是集内固定起点,存储在 `action.extend.timestamp`,格式使用
30
+ `M:SS` 或 `MM:SS.mmm`。它不是持续区间;一条 Action 的结束时间由下一条 Action 的
31
+ 起点或视频画面复核推断。
32
+
33
+ ```bash
34
+ scriptctl actions -i '@ep:4' -p "$SCRIPT"
35
+ scriptctl actions -g "台词片段" -p "$SCRIPT"
36
+ scriptctl extend <action-id> timestamp 00:42.533 -p "$SCRIPT"
37
+ ```
38
+
39
+ 校时使用视频中该动作或对白真正开始的画面。保留亚秒级精度。没有视频证据时保留待复核,
40
+ 不根据相邻行平均分配。
41
+
42
+ ## 3. 补漏 Action 或对白
43
+
44
+ 先取得相邻 Action、场景和说话人的正式 ID,再生成一个 Action ID:
45
+
46
+ ```bash
47
+ scriptctl ids -k action --count 1 -p "$SCRIPT"
48
+ ```
49
+
50
+ 把插入和时间戳写在同一个 `do` 事务中。动作示例:
51
+
52
+ ```text
53
+ insert <scene-id> --action-id <new-action-id> -t action --content "她推门进屋。" --after <previous-action-id>
54
+ extend <new-action-id> timestamp 00:42.533
55
+ ```
56
+
57
+ 对白示例:
58
+
59
+ ```text
60
+ insert <scene-id> --action-id <new-action-id> -t dialogue --content "我回来了。" -a <actor-id> --after <previous-action-id>
61
+ extend <new-action-id> timestamp 00:42.533
62
+ ```
63
+
64
+ 人物必须已经出现在本场 scene ref 中;需要指定造型时同时传 `--speaker-state <state-id>`。
65
+ 先运行 `scriptctl do edits.txt -p "$SCRIPT"` 查看计划,再用返回的 digest 精确 apply。
66
+
67
+ ## 4. 合并被误拆的连续对白
68
+
69
+ 满足以下条件时合并:
70
+
71
+ 1. 行在同一场内连续;
72
+ 2. 类型相同;
73
+ 3. 对白或心声的 speaker 相同;
74
+ 4. 中间没有独立动作、反应、转折或另一个说话人;
75
+ 5. 视频确认它们属于同一次连续表达。
76
+
77
+ 保留第一条 Action ID,正文按原视频顺序拼接,时间戳取第一句真正开始的时间,删除后续
78
+ Action。使用一个 `do` 事务:
79
+
80
+ ```text
81
+ replace <first-action-id> --from "第一段" --to "第一段第二段"
82
+ extend <first-action-id> timestamp 00:42.533
83
+ delete <second-action-id>
84
+ ```
85
+
86
+ 多个连续碎片依次并入第一条。不同人物重复表达同一态度仍是多条对白;剧情功能相同不代表
87
+ 物理 Action 可以合并。
88
+
89
+ ## 5. 人与 Agent 的分工
90
+
91
+ 人工确认:
92
+
93
+ - 真实人物身份、同名人物是否同一人;
94
+ - 场界和说话人;
95
+ - 时间点与视频画面;
96
+ - 拆行是否属于一次连续表达;
97
+ - 修正后的对白和动作是否忠于原视频。
98
+
99
+ Agent 执行:
100
+
101
+ - 查询 Action、资产、refs 和缺失时间戳;
102
+ - 生成 V4 ID;
103
+ - 组织 `do` 计划;
104
+ - 应用经确认的插入、校时、合并和人物修复;
105
+ - 读回目标并运行 `validate`;
106
+ - 输出仍需人工复核的清单。
107
+
108
+ 完成标准:
109
+
110
+ 1. 每条需要跳转视频的 Action 都有有效集内时间戳;
111
+ 2. 新增、删除和合并后的 Action 顺序正确;
112
+ 3. V4 Action ID 唯一且稳定;
113
+ 4. `validate` 通过;
114
+ 5. 人工完成逐集视频复核。