@lingjingai/scriptctl 0.63.14 → 0.63.16
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 +12 -1
- package/changes/0.63.15.md +15 -0
- package/dist/bin.js +1 -20844
- package/dist/chunk-YOCQDDQC.js +823 -0
- package/dist/cli.d.ts +214 -5
- package/dist/cli.js +1 -187
- package/dist/review-agent.js +60 -3593
- package/package.json +17 -9
- package/skills/scriptctl/SKILL.md +2 -0
- package/skills/scriptctl/references/ingest-workflow.md +4 -0
- package/skills/scriptctl/references/production-writing-standard.md +10 -1
- package/skills/scriptctl/references/state-reference-repair.md +8 -0
- package/dist/bin.d.ts +0 -2
- package/dist/bin.js.map +0 -7
- package/dist/cli/register-authoring.d.ts +0 -4
- package/dist/cli/register-authoring.js +0 -35
- package/dist/cli/register-authoring.js.map +0 -1
- package/dist/cli/register-review.d.ts +0 -3
- package/dist/cli/register-review.js +0 -20
- package/dist/cli/register-review.js.map +0 -1
- package/dist/cli/register-script.d.ts +0 -3
- package/dist/cli/register-script.js +0 -297
- package/dist/cli/register-script.js.map +0 -1
- package/dist/cli/register-tools.d.ts +0 -3
- package/dist/cli/register-tools.js +0 -23
- package/dist/cli/register-tools.js.map +0 -1
- package/dist/cli/register-workflows.d.ts +0 -4
- package/dist/cli/register-workflows.js +0 -108
- package/dist/cli/register-workflows.js.map +0 -1
- package/dist/cli/registry.d.ts +0 -14
- package/dist/cli/registry.js +0 -65
- package/dist/cli/registry.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/common.d.ts +0 -93
- package/dist/common.js +0 -240
- package/dist/common.js.map +0 -1
- package/dist/domain/authoring/apply.d.ts +0 -1
- package/dist/domain/authoring/apply.js +0 -2
- package/dist/domain/authoring/apply.js.map +0 -1
- package/dist/domain/authoring/export.d.ts +0 -1
- package/dist/domain/authoring/export.js +0 -2
- package/dist/domain/authoring/export.js.map +0 -1
- package/dist/domain/authoring/parser.d.ts +0 -2
- package/dist/domain/authoring/parser.js +0 -3
- package/dist/domain/authoring/parser.js.map +0 -1
- package/dist/domain/authoring/serializer.d.ts +0 -1
- package/dist/domain/authoring/serializer.js +0 -2
- package/dist/domain/authoring/serializer.js.map +0 -1
- package/dist/domain/authoring/shared/bracket.d.ts +0 -4
- package/dist/domain/authoring/shared/bracket.js +0 -95
- package/dist/domain/authoring/shared/bracket.js.map +0 -1
- package/dist/domain/authoring/shared/types.d.ts +0 -12
- package/dist/domain/authoring/shared/types.js +0 -2
- package/dist/domain/authoring/shared/types.js.map +0 -1
- package/dist/domain/authoring/types.d.ts +0 -2
- package/dist/domain/authoring/types.js +0 -3
- package/dist/domain/authoring/types.js.map +0 -1
- package/dist/domain/authoring/v3/apply.d.ts +0 -33
- package/dist/domain/authoring/v3/apply.js +0 -784
- package/dist/domain/authoring/v3/apply.js.map +0 -1
- package/dist/domain/authoring/v3/export.d.ts +0 -7
- package/dist/domain/authoring/v3/export.js +0 -85
- package/dist/domain/authoring/v3/export.js.map +0 -1
- package/dist/domain/authoring/v3/parser.d.ts +0 -3
- package/dist/domain/authoring/v3/parser.js +0 -823
- package/dist/domain/authoring/v3/parser.js.map +0 -1
- package/dist/domain/authoring/v3/serializer.d.ts +0 -2
- package/dist/domain/authoring/v3/serializer.js +0 -244
- package/dist/domain/authoring/v3/serializer.js.map +0 -1
- package/dist/domain/authoring/v3/types.d.ts +0 -76
- package/dist/domain/authoring/v3/types.js +0 -2
- package/dist/domain/authoring/v3/types.js.map +0 -1
- package/dist/domain/authoring/v4/apply.d.ts +0 -40
- package/dist/domain/authoring/v4/apply.js +0 -451
- package/dist/domain/authoring/v4/apply.js.map +0 -1
- package/dist/domain/authoring/v4/parser.d.ts +0 -2
- package/dist/domain/authoring/v4/parser.js +0 -729
- package/dist/domain/authoring/v4/parser.js.map +0 -1
- package/dist/domain/authoring/v4/serializer.d.ts +0 -6
- package/dist/domain/authoring/v4/serializer.js +0 -280
- package/dist/domain/authoring/v4/serializer.js.map +0 -1
- package/dist/domain/authoring/v4/types.d.ts +0 -50
- package/dist/domain/authoring/v4/types.js +0 -2
- package/dist/domain/authoring/v4/types.js.map +0 -1
- package/dist/domain/creative-draft/compose.d.ts +0 -18
- package/dist/domain/creative-draft/compose.js +0 -448
- package/dist/domain/creative-draft/compose.js.map +0 -1
- package/dist/domain/ingest/apply-plan.d.ts +0 -23
- package/dist/domain/ingest/apply-plan.js +0 -210
- package/dist/domain/ingest/apply-plan.js.map +0 -1
- package/dist/domain/ingest/assembler.d.ts +0 -65
- package/dist/domain/ingest/assembler.js +0 -263
- package/dist/domain/ingest/assembler.js.map +0 -1
- package/dist/domain/ingest/asset-audit.d.ts +0 -50
- package/dist/domain/ingest/asset-audit.js +0 -196
- package/dist/domain/ingest/asset-audit.js.map +0 -1
- package/dist/domain/ingest/chunker.d.ts +0 -9
- package/dist/domain/ingest/chunker.js +0 -49
- package/dist/domain/ingest/chunker.js.map +0 -1
- package/dist/domain/ingest/environment.d.ts +0 -3
- package/dist/domain/ingest/environment.js +0 -32
- package/dist/domain/ingest/environment.js.map +0 -1
- package/dist/domain/ingest/evidence.d.ts +0 -5
- package/dist/domain/ingest/evidence.js +0 -66
- package/dist/domain/ingest/evidence.js.map +0 -1
- package/dist/domain/ingest/govern.d.ts +0 -3
- package/dist/domain/ingest/govern.js +0 -157
- package/dist/domain/ingest/govern.js.map +0 -1
- package/dist/domain/ingest/jsonl-parser.d.ts +0 -6
- package/dist/domain/ingest/jsonl-parser.js +0 -204
- package/dist/domain/ingest/jsonl-parser.js.map +0 -1
- package/dist/domain/ingest/markdown-parser.d.ts +0 -6
- package/dist/domain/ingest/markdown-parser.js +0 -187
- package/dist/domain/ingest/markdown-parser.js.map +0 -1
- package/dist/domain/ingest/production-validation.d.ts +0 -8
- package/dist/domain/ingest/production-validation.js +0 -37
- package/dist/domain/ingest/production-validation.js.map +0 -1
- package/dist/domain/ingest/records.d.ts +0 -72
- package/dist/domain/ingest/records.js +0 -10
- package/dist/domain/ingest/records.js.map +0 -1
- package/dist/domain/ingest/renumber.d.ts +0 -14
- package/dist/domain/ingest/renumber.js +0 -130
- package/dist/domain/ingest/renumber.js.map +0 -1
- package/dist/domain/ingest/serial-context.d.ts +0 -93
- package/dist/domain/ingest/serial-context.js +0 -355
- package/dist/domain/ingest/serial-context.js.map +0 -1
- package/dist/domain/ingest/state-identity.d.ts +0 -2
- package/dist/domain/ingest/state-identity.js +0 -3
- package/dist/domain/ingest/state-identity.js.map +0 -1
- package/dist/domain/ingest/state-reconcile.d.ts +0 -12
- package/dist/domain/ingest/state-reconcile.js +0 -92
- package/dist/domain/ingest/state-reconcile.js.map +0 -1
- package/dist/domain/ingest/validation.d.ts +0 -1
- package/dist/domain/ingest/validation.js +0 -2
- package/dist/domain/ingest/validation.js.map +0 -1
- package/dist/domain/ingest/video-apply.d.ts +0 -4
- package/dist/domain/ingest/video-apply.js +0 -128
- package/dist/domain/ingest/video-apply.js.map +0 -1
- package/dist/domain/ingest/video-context.d.ts +0 -64
- package/dist/domain/ingest/video-context.js +0 -480
- package/dist/domain/ingest/video-context.js.map +0 -1
- package/dist/domain/ingest/video-records.d.ts +0 -57
- package/dist/domain/ingest/video-records.js +0 -9
- package/dist/domain/ingest/video-records.js.map +0 -1
- package/dist/domain/ingest/video-serial-md.d.ts +0 -81
- package/dist/domain/ingest/video-serial-md.js +0 -297
- package/dist/domain/ingest/video-serial-md.js.map +0 -1
- package/dist/domain/ingest/video-source-evolution.d.ts +0 -25
- package/dist/domain/ingest/video-source-evolution.js +0 -40
- package/dist/domain/ingest/video-source-evolution.js.map +0 -1
- package/dist/domain/ingest/video-state-evidence.d.ts +0 -66
- package/dist/domain/ingest/video-state-evidence.js +0 -385
- package/dist/domain/ingest/video-state-evidence.js.map +0 -1
- package/dist/domain/ingest/video-timestamp.d.ts +0 -8
- package/dist/domain/ingest/video-timestamp.js +0 -26
- package/dist/domain/ingest/video-timestamp.js.map +0 -1
- package/dist/domain/loom/checkpointer.d.ts +0 -3
- package/dist/domain/loom/checkpointer.js +0 -30
- package/dist/domain/loom/checkpointer.js.map +0 -1
- package/dist/domain/loom/index.d.ts +0 -45
- package/dist/domain/loom/index.js +0 -277
- package/dist/domain/loom/index.js.map +0 -1
- package/dist/domain/loom/types.d.ts +0 -101
- package/dist/domain/loom/types.js +0 -2
- package/dist/domain/loom/types.js.map +0 -1
- package/dist/domain/script/address.d.ts +0 -1
- package/dist/domain/script/address.js +0 -2
- package/dist/domain/script/address.js.map +0 -1
- package/dist/domain/script/dispatch.d.ts +0 -18
- package/dist/domain/script/dispatch.js +0 -55
- package/dist/domain/script/dispatch.js.map +0 -1
- package/dist/domain/script/lookups.d.ts +0 -1
- package/dist/domain/script/lookups.js +0 -2
- package/dist/domain/script/lookups.js.map +0 -1
- package/dist/domain/script/migrations/registry.d.ts +0 -4
- package/dist/domain/script/migrations/registry.js +0 -76
- package/dist/domain/script/migrations/registry.js.map +0 -1
- package/dist/domain/script/migrations/types.d.ts +0 -17
- package/dist/domain/script/migrations/types.js +0 -2
- package/dist/domain/script/migrations/types.js.map +0 -1
- package/dist/domain/script/migrations/v3-to-v4.d.ts +0 -3
- package/dist/domain/script/migrations/v3-to-v4.js +0 -57
- package/dist/domain/script/migrations/v3-to-v4.js.map +0 -1
- package/dist/domain/script/names.d.ts +0 -1
- package/dist/domain/script/names.js +0 -2
- package/dist/domain/script/names.js.map +0 -1
- package/dist/domain/script/parse.d.ts +0 -1
- package/dist/domain/script/parse.js +0 -2
- package/dist/domain/script/parse.js.map +0 -1
- package/dist/domain/script/patch/apply.d.ts +0 -1
- package/dist/domain/script/patch/apply.js +0 -2
- package/dist/domain/script/patch/apply.js.map +0 -1
- package/dist/domain/script/patch/helpers.d.ts +0 -1
- package/dist/domain/script/patch/helpers.js +0 -2
- package/dist/domain/script/patch/helpers.js.map +0 -1
- package/dist/domain/script/patch/inline-speaker.d.ts +0 -1
- package/dist/domain/script/patch/inline-speaker.js +0 -2
- package/dist/domain/script/patch/inline-speaker.js.map +0 -1
- package/dist/domain/script/patch/ops-action.d.ts +0 -1
- package/dist/domain/script/patch/ops-action.js +0 -2
- package/dist/domain/script/patch/ops-action.js.map +0 -1
- package/dist/domain/script/patch/ops-asset.d.ts +0 -1
- package/dist/domain/script/patch/ops-asset.js +0 -2
- package/dist/domain/script/patch/ops-asset.js.map +0 -1
- package/dist/domain/script/patch/ops-dialogue.d.ts +0 -1
- package/dist/domain/script/patch/ops-dialogue.js +0 -2
- package/dist/domain/script/patch/ops-dialogue.js.map +0 -1
- package/dist/domain/script/patch/ops-extend.d.ts +0 -1
- package/dist/domain/script/patch/ops-extend.js +0 -2
- package/dist/domain/script/patch/ops-extend.js.map +0 -1
- package/dist/domain/script/patch/ops-meta.d.ts +0 -1
- package/dist/domain/script/patch/ops-meta.js +0 -2
- package/dist/domain/script/patch/ops-meta.js.map +0 -1
- package/dist/domain/script/patch/ops-scene.d.ts +0 -1
- package/dist/domain/script/patch/ops-scene.js +0 -2
- package/dist/domain/script/patch/ops-scene.js.map +0 -1
- package/dist/domain/script/patch/ops-state.d.ts +0 -1
- package/dist/domain/script/patch/ops-state.js +0 -2
- package/dist/domain/script/patch/ops-state.js.map +0 -1
- package/dist/domain/script/patch/registry.d.ts +0 -1
- package/dist/domain/script/patch/registry.js +0 -2
- package/dist/domain/script/patch/registry.js.map +0 -1
- package/dist/domain/script/patch/types.d.ts +0 -1
- package/dist/domain/script/patch/types.js +0 -2
- package/dist/domain/script/patch/types.js.map +0 -1
- package/dist/domain/script/refs.d.ts +0 -1
- package/dist/domain/script/refs.js +0 -2
- package/dist/domain/script/refs.js.map +0 -1
- package/dist/domain/script/scene-refs.d.ts +0 -1
- package/dist/domain/script/scene-refs.js +0 -2
- package/dist/domain/script/scene-refs.js.map +0 -1
- package/dist/domain/script/schema.d.ts +0 -1
- package/dist/domain/script/schema.js +0 -2
- package/dist/domain/script/schema.js.map +0 -1
- package/dist/domain/script/selector.d.ts +0 -1
- package/dist/domain/script/selector.js +0 -2
- package/dist/domain/script/selector.js.map +0 -1
- package/dist/domain/script/shared/regex.d.ts +0 -2
- package/dist/domain/script/shared/regex.js +0 -7
- package/dist/domain/script/shared/regex.js.map +0 -1
- package/dist/domain/script/shared/types.d.ts +0 -1
- package/dist/domain/script/shared/types.js +0 -5
- package/dist/domain/script/shared/types.js.map +0 -1
- package/dist/domain/script/shared/validation.d.ts +0 -1
- package/dist/domain/script/shared/validation.js +0 -3
- package/dist/domain/script/shared/validation.js.map +0 -1
- package/dist/domain/script/shared.d.ts +0 -15
- package/dist/domain/script/shared.js +0 -35
- package/dist/domain/script/shared.js.map +0 -1
- package/dist/domain/script/text-util.d.ts +0 -7
- package/dist/domain/script/text-util.js +0 -95
- package/dist/domain/script/text-util.js.map +0 -1
- package/dist/domain/script/timestamp.d.ts +0 -1
- package/dist/domain/script/timestamp.js +0 -3
- package/dist/domain/script/timestamp.js.map +0 -1
- package/dist/domain/script/types.d.ts +0 -1
- package/dist/domain/script/types.js +0 -2
- package/dist/domain/script/types.js.map +0 -1
- package/dist/domain/script/v3/address.d.ts +0 -32
- package/dist/domain/script/v3/address.js +0 -136
- package/dist/domain/script/v3/address.js.map +0 -1
- package/dist/domain/script/v3/lookups.d.ts +0 -33
- package/dist/domain/script/v3/lookups.js +0 -316
- package/dist/domain/script/v3/lookups.js.map +0 -1
- package/dist/domain/script/v3/ordinal.d.ts +0 -8
- package/dist/domain/script/v3/ordinal.js +0 -91
- package/dist/domain/script/v3/ordinal.js.map +0 -1
- package/dist/domain/script/v3/parse.d.ts +0 -3
- package/dist/domain/script/v3/parse.js +0 -164
- package/dist/domain/script/v3/parse.js.map +0 -1
- package/dist/domain/script/v3/patch/apply.d.ts +0 -2
- package/dist/domain/script/v3/patch/apply.js +0 -31
- package/dist/domain/script/v3/patch/apply.js.map +0 -1
- package/dist/domain/script/v3/patch/helpers.d.ts +0 -15
- package/dist/domain/script/v3/patch/helpers.js +0 -155
- package/dist/domain/script/v3/patch/helpers.js.map +0 -1
- package/dist/domain/script/v3/patch/inline-speaker.d.ts +0 -2
- package/dist/domain/script/v3/patch/inline-speaker.js +0 -50
- package/dist/domain/script/v3/patch/inline-speaker.js.map +0 -1
- package/dist/domain/script/v3/patch/ops-action.d.ts +0 -12
- package/dist/domain/script/v3/patch/ops-action.js +0 -355
- package/dist/domain/script/v3/patch/ops-action.js.map +0 -1
- package/dist/domain/script/v3/patch/ops-asset.d.ts +0 -14
- package/dist/domain/script/v3/patch/ops-asset.js +0 -347
- package/dist/domain/script/v3/patch/ops-asset.js.map +0 -1
- package/dist/domain/script/v3/patch/ops-dialogue.d.ts +0 -2
- package/dist/domain/script/v3/patch/ops-dialogue.js +0 -21
- package/dist/domain/script/v3/patch/ops-dialogue.js.map +0 -1
- package/dist/domain/script/v3/patch/ops-extend.d.ts +0 -8
- package/dist/domain/script/v3/patch/ops-extend.js +0 -122
- package/dist/domain/script/v3/patch/ops-extend.js.map +0 -1
- package/dist/domain/script/v3/patch/ops-meta.d.ts +0 -5
- package/dist/domain/script/v3/patch/ops-meta.js +0 -82
- package/dist/domain/script/v3/patch/ops-meta.js.map +0 -1
- package/dist/domain/script/v3/patch/ops-scene.d.ts +0 -6
- package/dist/domain/script/v3/patch/ops-scene.js +0 -351
- package/dist/domain/script/v3/patch/ops-scene.js.map +0 -1
- package/dist/domain/script/v3/patch/ops-state.d.ts +0 -8
- package/dist/domain/script/v3/patch/ops-state.js +0 -155
- package/dist/domain/script/v3/patch/ops-state.js.map +0 -1
- package/dist/domain/script/v3/patch/ops-timestamp.d.ts +0 -6
- package/dist/domain/script/v3/patch/ops-timestamp.js +0 -47
- package/dist/domain/script/v3/patch/ops-timestamp.js.map +0 -1
- package/dist/domain/script/v3/patch/registry.d.ts +0 -2
- package/dist/domain/script/v3/patch/registry.js +0 -56
- package/dist/domain/script/v3/patch/registry.js.map +0 -1
- package/dist/domain/script/v3/patch/types.d.ts +0 -10
- package/dist/domain/script/v3/patch/types.js +0 -2
- package/dist/domain/script/v3/patch/types.js.map +0 -1
- package/dist/domain/script/v3/refs.d.ts +0 -4
- package/dist/domain/script/v3/refs.js +0 -64
- package/dist/domain/script/v3/refs.js.map +0 -1
- package/dist/domain/script/v3/scene-refs.d.ts +0 -3
- package/dist/domain/script/v3/scene-refs.js +0 -35
- package/dist/domain/script/v3/scene-refs.js.map +0 -1
- package/dist/domain/script/v3/schema.d.ts +0 -6
- package/dist/domain/script/v3/schema.js +0 -58
- package/dist/domain/script/v3/schema.js.map +0 -1
- package/dist/domain/script/v3/selector.d.ts +0 -44
- package/dist/domain/script/v3/selector.js +0 -178
- package/dist/domain/script/v3/selector.js.map +0 -1
- package/dist/domain/script/v3/types.d.ts +0 -106
- package/dist/domain/script/v3/types.js +0 -2
- package/dist/domain/script/v3/types.js.map +0 -1
- package/dist/domain/script/v3/validation.d.ts +0 -2
- package/dist/domain/script/v3/validation.js +0 -2
- package/dist/domain/script/v3/validation.js.map +0 -1
- package/dist/domain/script/v4/address.d.ts +0 -61
- package/dist/domain/script/v4/address.js +0 -99
- package/dist/domain/script/v4/address.js.map +0 -1
- package/dist/domain/script/v4/factory.d.ts +0 -2
- package/dist/domain/script/v4/factory.js +0 -13
- package/dist/domain/script/v4/factory.js.map +0 -1
- package/dist/domain/script/v4/from-v3.d.ts +0 -29
- package/dist/domain/script/v4/from-v3.js +0 -307
- package/dist/domain/script/v4/from-v3.js.map +0 -1
- package/dist/domain/script/v4/ids.d.ts +0 -5
- package/dist/domain/script/v4/ids.js +0 -41
- package/dist/domain/script/v4/ids.js.map +0 -1
- package/dist/domain/script/v4/ordinal.d.ts +0 -3
- package/dist/domain/script/v4/ordinal.js +0 -66
- package/dist/domain/script/v4/ordinal.js.map +0 -1
- package/dist/domain/script/v4/parse.d.ts +0 -5
- package/dist/domain/script/v4/parse.js +0 -196
- package/dist/domain/script/v4/parse.js.map +0 -1
- package/dist/domain/script/v4/patch/apply.d.ts +0 -3
- package/dist/domain/script/v4/patch/apply.js +0 -24
- package/dist/domain/script/v4/patch/apply.js.map +0 -1
- package/dist/domain/script/v4/patch/helpers.d.ts +0 -32
- package/dist/domain/script/v4/patch/helpers.js +0 -138
- package/dist/domain/script/v4/patch/helpers.js.map +0 -1
- package/dist/domain/script/v4/patch/ops-action.d.ts +0 -13
- package/dist/domain/script/v4/patch/ops-action.js +0 -351
- package/dist/domain/script/v4/patch/ops-action.js.map +0 -1
- package/dist/domain/script/v4/patch/ops-asset.d.ts +0 -17
- package/dist/domain/script/v4/patch/ops-asset.js +0 -556
- package/dist/domain/script/v4/patch/ops-asset.js.map +0 -1
- package/dist/domain/script/v4/patch/ops-extend.d.ts +0 -11
- package/dist/domain/script/v4/patch/ops-extend.js +0 -103
- package/dist/domain/script/v4/patch/ops-extend.js.map +0 -1
- package/dist/domain/script/v4/patch/ops-meta.d.ts +0 -5
- package/dist/domain/script/v4/patch/ops-meta.js +0 -49
- package/dist/domain/script/v4/patch/ops-meta.js.map +0 -1
- package/dist/domain/script/v4/patch/ops-scene-ref.d.ts +0 -3
- package/dist/domain/script/v4/patch/ops-scene-ref.js +0 -74
- package/dist/domain/script/v4/patch/ops-scene-ref.js.map +0 -1
- package/dist/domain/script/v4/patch/ops-structure.d.ts +0 -6
- package/dist/domain/script/v4/patch/ops-structure.js +0 -236
- package/dist/domain/script/v4/patch/ops-structure.js.map +0 -1
- package/dist/domain/script/v4/patch/ops-timestamp.d.ts +0 -6
- package/dist/domain/script/v4/patch/ops-timestamp.js +0 -40
- package/dist/domain/script/v4/patch/ops-timestamp.js.map +0 -1
- package/dist/domain/script/v4/patch/registry.d.ts +0 -2
- package/dist/domain/script/v4/patch/registry.js +0 -53
- package/dist/domain/script/v4/patch/registry.js.map +0 -1
- package/dist/domain/script/v4/patch/schema.d.ts +0 -7
- package/dist/domain/script/v4/patch/schema.js +0 -77
- package/dist/domain/script/v4/patch/schema.js.map +0 -1
- package/dist/domain/script/v4/patch/types.d.ts +0 -10
- package/dist/domain/script/v4/patch/types.js +0 -2
- package/dist/domain/script/v4/patch/types.js.map +0 -1
- package/dist/domain/script/v4/selector.d.ts +0 -11
- package/dist/domain/script/v4/selector.js +0 -124
- package/dist/domain/script/v4/selector.js.map +0 -1
- package/dist/domain/script/v4/types.d.ts +0 -120
- package/dist/domain/script/v4/types.js +0 -2
- package/dist/domain/script/v4/types.js.map +0 -1
- package/dist/domain/script/v4/validation.d.ts +0 -2
- package/dist/domain/script/v4/validation.js +0 -2
- package/dist/domain/script/v4/validation.js.map +0 -1
- package/dist/failures.d.ts +0 -58
- package/dist/failures.js +0 -96
- package/dist/failures.js.map +0 -1
- package/dist/infra/converters.d.ts +0 -9
- package/dist/infra/converters.js +0 -689
- package/dist/infra/converters.js.map +0 -1
- package/dist/infra/env.d.ts +0 -2
- package/dist/infra/env.js +0 -81
- package/dist/infra/env.js.map +0 -1
- package/dist/infra/episode-title.d.ts +0 -4
- package/dist/infra/episode-title.js +0 -129
- package/dist/infra/episode-title.js.map +0 -1
- package/dist/infra/ingest/review-renderer.d.ts +0 -1
- package/dist/infra/ingest/review-renderer.js +0 -440
- package/dist/infra/ingest/review-renderer.js.map +0 -1
- package/dist/infra/ingest/source-resolver.d.ts +0 -21
- package/dist/infra/ingest/source-resolver.js +0 -51
- package/dist/infra/ingest/source-resolver.js.map +0 -1
- package/dist/infra/ingest/text-reader.d.ts +0 -3
- package/dist/infra/ingest/text-reader.js +0 -27
- package/dist/infra/ingest/text-reader.js.map +0 -1
- package/dist/infra/ingest/video-discovery.d.ts +0 -8
- package/dist/infra/ingest/video-discovery.js +0 -69
- package/dist/infra/ingest/video-discovery.js.map +0 -1
- package/dist/infra/ingest/video-source-snapshot.d.ts +0 -4
- package/dist/infra/ingest/video-source-snapshot.js +0 -47
- package/dist/infra/ingest/video-source-snapshot.js.map +0 -1
- package/dist/infra/ingest/video-state-evidence.d.ts +0 -14
- package/dist/infra/ingest/video-state-evidence.js +0 -140
- package/dist/infra/ingest/video-state-evidence.js.map +0 -1
- package/dist/infra/ingest/video-transcode.d.ts +0 -7
- package/dist/infra/ingest/video-transcode.js +0 -98
- package/dist/infra/ingest/video-transcode.js.map +0 -1
- package/dist/infra/ingest/workspace-lock.d.ts +0 -1
- package/dist/infra/ingest/workspace-lock.js +0 -32
- package/dist/infra/ingest/workspace-lock.js.map +0 -1
- package/dist/infra/ingest/workspace-store.d.ts +0 -18
- package/dist/infra/ingest/workspace-store.js +0 -70
- package/dist/infra/ingest/workspace-store.js.map +0 -1
- package/dist/infra/llm/anthropic-model.d.ts +0 -11
- package/dist/infra/llm/anthropic-model.js +0 -130
- package/dist/infra/llm/anthropic-model.js.map +0 -1
- package/dist/infra/llm/doubao-model.d.ts +0 -60
- package/dist/infra/llm/doubao-model.js +0 -249
- package/dist/infra/llm/doubao-model.js.map +0 -1
- package/dist/infra/llm/failure-mapping.d.ts +0 -6
- package/dist/infra/llm/failure-mapping.js +0 -146
- package/dist/infra/llm/failure-mapping.js.map +0 -1
- package/dist/infra/llm/gemini-upload.d.ts +0 -13
- package/dist/infra/llm/gemini-upload.js +0 -138
- package/dist/infra/llm/gemini-upload.js.map +0 -1
- package/dist/infra/llm/gemini-video-model.d.ts +0 -50
- package/dist/infra/llm/gemini-video-model.js +0 -371
- package/dist/infra/llm/gemini-video-model.js.map +0 -1
- package/dist/infra/llm/openai-compatible-model.d.ts +0 -14
- package/dist/infra/llm/openai-compatible-model.js +0 -207
- package/dist/infra/llm/openai-compatible-model.js.map +0 -1
- package/dist/infra/llm/retry.d.ts +0 -8
- package/dist/infra/llm/retry.js +0 -41
- package/dist/infra/llm/retry.js.map +0 -1
- package/dist/infra/local-script-output-store.d.ts +0 -43
- package/dist/infra/local-script-output-store.js +0 -168
- package/dist/infra/local-script-output-store.js.map +0 -1
- package/dist/infra/script-output-api.d.ts +0 -50
- package/dist/infra/script-output-api.js +0 -251
- package/dist/infra/script-output-api.js.map +0 -1
- package/dist/infra/script-output-store.d.ts +0 -152
- package/dist/infra/script-output-store.js +0 -114
- package/dist/infra/script-output-store.js.map +0 -1
- package/dist/infra/script-working-copy.d.ts +0 -23
- package/dist/infra/script-working-copy.js +0 -157
- package/dist/infra/script-working-copy.js.map +0 -1
- package/dist/infra/storage.d.ts +0 -35
- package/dist/infra/storage.js +0 -91
- package/dist/infra/storage.js.map +0 -1
- package/dist/llm/composition.d.ts +0 -5
- package/dist/llm/composition.js +0 -5
- package/dist/llm/composition.js.map +0 -1
- package/dist/llm/config.d.ts +0 -28
- package/dist/llm/config.js +0 -231
- package/dist/llm/config.js.map +0 -1
- package/dist/llm/registry.d.ts +0 -43
- package/dist/llm/registry.js +0 -69
- package/dist/llm/registry.js.map +0 -1
- package/dist/llm/router.d.ts +0 -46
- package/dist/llm/router.js +0 -512
- package/dist/llm/router.js.map +0 -1
- package/dist/llm/tasks/ingest/arc-summary.d.ts +0 -8
- package/dist/llm/tasks/ingest/arc-summary.js +0 -26
- package/dist/llm/tasks/ingest/arc-summary.js.map +0 -1
- package/dist/llm/tasks/ingest/asset-audit.d.ts +0 -6
- package/dist/llm/tasks/ingest/asset-audit.js +0 -158
- package/dist/llm/tasks/ingest/asset-audit.js.map +0 -1
- package/dist/llm/tasks/ingest/asset-curate.d.ts +0 -13
- package/dist/llm/tasks/ingest/asset-curate.js +0 -45
- package/dist/llm/tasks/ingest/asset-curate.js.map +0 -1
- package/dist/llm/tasks/ingest/asset-extract.d.ts +0 -12
- package/dist/llm/tasks/ingest/asset-extract.js +0 -51
- package/dist/llm/tasks/ingest/asset-extract.js.map +0 -1
- package/dist/llm/tasks/ingest/asset-govern.d.ts +0 -22
- package/dist/llm/tasks/ingest/asset-govern.js +0 -143
- package/dist/llm/tasks/ingest/asset-govern.js.map +0 -1
- package/dist/llm/tasks/ingest/body-start.d.ts +0 -10
- package/dist/llm/tasks/ingest/body-start.js +0 -41
- package/dist/llm/tasks/ingest/body-start.js.map +0 -1
- package/dist/llm/tasks/ingest/episode-assets.d.ts +0 -29
- package/dist/llm/tasks/ingest/episode-assets.js +0 -282
- package/dist/llm/tasks/ingest/episode-assets.js.map +0 -1
- package/dist/llm/tasks/ingest/mention-resolve.d.ts +0 -9
- package/dist/llm/tasks/ingest/mention-resolve.js +0 -39
- package/dist/llm/tasks/ingest/mention-resolve.js.map +0 -1
- package/dist/llm/tasks/ingest/name-fix.d.ts +0 -9
- package/dist/llm/tasks/ingest/name-fix.js +0 -56
- package/dist/llm/tasks/ingest/name-fix.js.map +0 -1
- package/dist/llm/tasks/ingest/state-reconcile.d.ts +0 -8
- package/dist/llm/tasks/ingest/state-reconcile.js +0 -44
- package/dist/llm/tasks/ingest/state-reconcile.js.map +0 -1
- package/dist/llm/tasks/ingest/text-normalize.d.ts +0 -10
- package/dist/llm/tasks/ingest/text-normalize.js +0 -122
- package/dist/llm/tasks/ingest/text-normalize.js.map +0 -1
- package/dist/llm/tasks/ingest/video-serial.d.ts +0 -24
- package/dist/llm/tasks/ingest/video-serial.js +0 -416
- package/dist/llm/tasks/ingest/video-serial.js.map +0 -1
- package/dist/llm/tasks/schemas.d.ts +0 -9
- package/dist/llm/tasks/schemas.js +0 -466
- package/dist/llm/tasks/schemas.js.map +0 -1
- package/dist/llm/types.d.ts +0 -178
- package/dist/llm/types.js +0 -44
- package/dist/llm/types.js.map +0 -1
- package/dist/output.d.ts +0 -3
- package/dist/output.js +0 -94
- package/dist/output.js.map +0 -1
- package/dist/package-root.d.ts +0 -2
- package/dist/package-root.js +0 -38
- package/dist/package-root.js.map +0 -1
- package/dist/review-agent.js.map +0 -7
- package/dist/usecases/changelog.d.ts +0 -9
- package/dist/usecases/changelog.js +0 -134
- package/dist/usecases/changelog.js.map +0 -1
- package/dist/usecases/doctor.d.ts +0 -2
- package/dist/usecases/doctor.js +0 -231
- package/dist/usecases/doctor.js.map +0 -1
- package/dist/usecases/ingest/body-start.d.ts +0 -8
- package/dist/usecases/ingest/body-start.js +0 -36
- package/dist/usecases/ingest/body-start.js.map +0 -1
- package/dist/usecases/ingest/command.d.ts +0 -5
- package/dist/usecases/ingest/command.js +0 -183
- package/dist/usecases/ingest/command.js.map +0 -1
- package/dist/usecases/ingest/failure.d.ts +0 -26
- package/dist/usecases/ingest/failure.js +0 -153
- package/dist/usecases/ingest/failure.js.map +0 -1
- package/dist/usecases/ingest/fanout.d.ts +0 -10
- package/dist/usecases/ingest/fanout.js +0 -23
- package/dist/usecases/ingest/fanout.js.map +0 -1
- package/dist/usecases/ingest/final-asset-audit.d.ts +0 -39
- package/dist/usecases/ingest/final-asset-audit.js +0 -88
- package/dist/usecases/ingest/final-asset-audit.js.map +0 -1
- package/dist/usecases/ingest/generate-video-state-evidence.d.ts +0 -23
- package/dist/usecases/ingest/generate-video-state-evidence.js +0 -124
- package/dist/usecases/ingest/generate-video-state-evidence.js.map +0 -1
- package/dist/usecases/ingest/pass4-mention-resolve.d.ts +0 -11
- package/dist/usecases/ingest/pass4-mention-resolve.js +0 -52
- package/dist/usecases/ingest/pass4-mention-resolve.js.map +0 -1
- package/dist/usecases/ingest/pass5-extract.d.ts +0 -7
- package/dist/usecases/ingest/pass5-extract.js +0 -51
- package/dist/usecases/ingest/pass5-extract.js.map +0 -1
- package/dist/usecases/ingest/pass5-govern.d.ts +0 -13
- package/dist/usecases/ingest/pass5-govern.js +0 -157
- package/dist/usecases/ingest/pass5-govern.js.map +0 -1
- package/dist/usecases/ingest/pipeline.d.ts +0 -28
- package/dist/usecases/ingest/pipeline.js +0 -335
- package/dist/usecases/ingest/pipeline.js.map +0 -1
- package/dist/usecases/ingest/publish-command.d.ts +0 -1
- package/dist/usecases/ingest/publish-command.js +0 -4
- package/dist/usecases/ingest/publish-command.js.map +0 -1
- package/dist/usecases/ingest/serial-govern.d.ts +0 -40
- package/dist/usecases/ingest/serial-govern.js +0 -488
- package/dist/usecases/ingest/serial-govern.js.map +0 -1
- package/dist/usecases/ingest/skip-video-episode.d.ts +0 -4
- package/dist/usecases/ingest/skip-video-episode.js +0 -120
- package/dist/usecases/ingest/skip-video-episode.js.map +0 -1
- package/dist/usecases/ingest/status.d.ts +0 -61
- package/dist/usecases/ingest/status.js +0 -347
- package/dist/usecases/ingest/status.js.map +0 -1
- package/dist/usecases/ingest/timings.d.ts +0 -51
- package/dist/usecases/ingest/timings.js +0 -68
- package/dist/usecases/ingest/timings.js.map +0 -1
- package/dist/usecases/ingest/usage-report.d.ts +0 -125
- package/dist/usecases/ingest/usage-report.js +0 -248
- package/dist/usecases/ingest/usage-report.js.map +0 -1
- package/dist/usecases/ingest/video-pipeline.d.ts +0 -81
- package/dist/usecases/ingest/video-pipeline.js +0 -548
- package/dist/usecases/ingest/video-pipeline.js.map +0 -1
- package/dist/usecases/ingest/video-skip-state.d.ts +0 -29
- package/dist/usecases/ingest/video-skip-state.js +0 -148
- package/dist/usecases/ingest/video-skip-state.js.map +0 -1
- package/dist/usecases/ingest/view-command.d.ts +0 -4
- package/dist/usecases/ingest/view-command.js +0 -67
- package/dist/usecases/ingest/view-command.js.map +0 -1
- package/dist/usecases/ingest/view-server.d.ts +0 -29
- package/dist/usecases/ingest/view-server.js +0 -364
- package/dist/usecases/ingest/view-server.js.map +0 -1
- package/dist/usecases/script/action-span.d.ts +0 -10
- package/dist/usecases/script/action-span.js +0 -42
- package/dist/usecases/script/action-span.js.map +0 -1
- package/dist/usecases/script/actions.d.ts +0 -3
- package/dist/usecases/script/actions.js +0 -184
- package/dist/usecases/script/actions.js.map +0 -1
- package/dist/usecases/script/actor.d.ts +0 -3
- package/dist/usecases/script/actor.js +0 -26
- package/dist/usecases/script/actor.js.map +0 -1
- package/dist/usecases/script/actors.d.ts +0 -3
- package/dist/usecases/script/actors.js +0 -25
- package/dist/usecases/script/actors.js.map +0 -1
- package/dist/usecases/script/add-actor.d.ts +0 -3
- package/dist/usecases/script/add-actor.js +0 -13
- package/dist/usecases/script/add-actor.js.map +0 -1
- package/dist/usecases/script/add-episode.d.ts +0 -3
- package/dist/usecases/script/add-episode.js +0 -9
- package/dist/usecases/script/add-episode.js.map +0 -1
- package/dist/usecases/script/add-location.d.ts +0 -3
- package/dist/usecases/script/add-location.js +0 -11
- package/dist/usecases/script/add-location.js.map +0 -1
- package/dist/usecases/script/add-prop.d.ts +0 -3
- package/dist/usecases/script/add-prop.js +0 -11
- package/dist/usecases/script/add-prop.js.map +0 -1
- package/dist/usecases/script/alias.d.ts +0 -3
- package/dist/usecases/script/alias.js +0 -39
- package/dist/usecases/script/alias.js.map +0 -1
- package/dist/usecases/script/assets.d.ts +0 -3
- package/dist/usecases/script/assets.js +0 -46
- package/dist/usecases/script/assets.js.map +0 -1
- package/dist/usecases/script/audit-assets.d.ts +0 -4
- package/dist/usecases/script/audit-assets.js +0 -37
- package/dist/usecases/script/audit-assets.js.map +0 -1
- package/dist/usecases/script/command-constraints.d.ts +0 -38
- package/dist/usecases/script/command-constraints.js +0 -143
- package/dist/usecases/script/command-constraints.js.map +0 -1
- package/dist/usecases/script/compose-creative-draft.d.ts +0 -3
- package/dist/usecases/script/compose-creative-draft.js +0 -106
- package/dist/usecases/script/compose-creative-draft.js.map +0 -1
- package/dist/usecases/script/context.d.ts +0 -3
- package/dist/usecases/script/context.js +0 -52
- package/dist/usecases/script/context.js.map +0 -1
- package/dist/usecases/script/create.d.ts +0 -3
- package/dist/usecases/script/create.js +0 -27
- package/dist/usecases/script/create.js.map +0 -1
- package/dist/usecases/script/delete.d.ts +0 -3
- package/dist/usecases/script/delete.js +0 -88
- package/dist/usecases/script/delete.js.map +0 -1
- package/dist/usecases/script/describe.d.ts +0 -3
- package/dist/usecases/script/describe.js +0 -32
- package/dist/usecases/script/describe.js.map +0 -1
- package/dist/usecases/script/dialogue.d.ts +0 -3
- package/dist/usecases/script/dialogue.js +0 -30
- package/dist/usecases/script/dialogue.js.map +0 -1
- package/dist/usecases/script/dispatch.d.ts +0 -3
- package/dist/usecases/script/dispatch.js +0 -10
- package/dist/usecases/script/dispatch.js.map +0 -1
- package/dist/usecases/script/do.d.ts +0 -3
- package/dist/usecases/script/do.js +0 -186
- package/dist/usecases/script/do.js.map +0 -1
- package/dist/usecases/script/emotion.d.ts +0 -3
- package/dist/usecases/script/emotion.js +0 -24
- package/dist/usecases/script/emotion.js.map +0 -1
- package/dist/usecases/script/episodes.d.ts +0 -3
- package/dist/usecases/script/episodes.js +0 -62
- package/dist/usecases/script/episodes.js.map +0 -1
- package/dist/usecases/script/export-authoring.d.ts +0 -4
- package/dist/usecases/script/export-authoring.js +0 -326
- package/dist/usecases/script/export-authoring.js.map +0 -1
- package/dist/usecases/script/extend.d.ts +0 -3
- package/dist/usecases/script/extend.js +0 -94
- package/dist/usecases/script/extend.js.map +0 -1
- package/dist/usecases/script/ids.d.ts +0 -3
- package/dist/usecases/script/ids.js +0 -148
- package/dist/usecases/script/ids.js.map +0 -1
- package/dist/usecases/script/importance.d.ts +0 -3
- package/dist/usecases/script/importance.js +0 -16
- package/dist/usecases/script/importance.js.map +0 -1
- package/dist/usecases/script/insert.d.ts +0 -3
- package/dist/usecases/script/insert.js +0 -127
- package/dist/usecases/script/insert.js.map +0 -1
- package/dist/usecases/script/issues.d.ts +0 -3
- package/dist/usecases/script/issues.js +0 -35
- package/dist/usecases/script/issues.js.map +0 -1
- package/dist/usecases/script/lib.d.ts +0 -152
- package/dist/usecases/script/lib.js +0 -1654
- package/dist/usecases/script/lib.js.map +0 -1
- package/dist/usecases/script/locations.d.ts +0 -3
- package/dist/usecases/script/locations.js +0 -25
- package/dist/usecases/script/locations.js.map +0 -1
- package/dist/usecases/script/merge.d.ts +0 -3
- package/dist/usecases/script/merge.js +0 -43
- package/dist/usecases/script/merge.js.map +0 -1
- package/dist/usecases/script/migrate.d.ts +0 -3
- package/dist/usecases/script/migrate.js +0 -210
- package/dist/usecases/script/migrate.js.map +0 -1
- package/dist/usecases/script/move.d.ts +0 -3
- package/dist/usecases/script/move.js +0 -50
- package/dist/usecases/script/move.js.map +0 -1
- package/dist/usecases/script/parenthetical.d.ts +0 -3
- package/dist/usecases/script/parenthetical.js +0 -52
- package/dist/usecases/script/parenthetical.js.map +0 -1
- package/dist/usecases/script/props.d.ts +0 -3
- package/dist/usecases/script/props.js +0 -25
- package/dist/usecases/script/props.js.map +0 -1
- package/dist/usecases/script/refs.d.ts +0 -3
- package/dist/usecases/script/refs.js +0 -111
- package/dist/usecases/script/refs.js.map +0 -1
- package/dist/usecases/script/rename.d.ts +0 -3
- package/dist/usecases/script/rename.js +0 -35
- package/dist/usecases/script/rename.js.map +0 -1
- package/dist/usecases/script/replace.d.ts +0 -3
- package/dist/usecases/script/replace.js +0 -33
- package/dist/usecases/script/replace.js.map +0 -1
- package/dist/usecases/script/review.d.ts +0 -3
- package/dist/usecases/script/review.js +0 -187
- package/dist/usecases/script/review.js.map +0 -1
- package/dist/usecases/script/role.d.ts +0 -3
- package/dist/usecases/script/role.js +0 -16
- package/dist/usecases/script/role.js.map +0 -1
- package/dist/usecases/script/scenes.d.ts +0 -3
- package/dist/usecases/script/scenes.js +0 -66
- package/dist/usecases/script/scenes.js.map +0 -1
- package/dist/usecases/script/script-patch.d.ts +0 -3
- package/dist/usecases/script/script-patch.js +0 -321
- package/dist/usecases/script/script-patch.js.map +0 -1
- package/dist/usecases/script/script-validate.d.ts +0 -3
- package/dist/usecases/script/script-validate.js +0 -27
- package/dist/usecases/script/script-validate.js.map +0 -1
- package/dist/usecases/script/session.d.ts +0 -62
- package/dist/usecases/script/session.js +0 -567
- package/dist/usecases/script/session.js.map +0 -1
- package/dist/usecases/script/split.d.ts +0 -3
- package/dist/usecases/script/split.js +0 -41
- package/dist/usecases/script/split.js.map +0 -1
- package/dist/usecases/script/state-add.d.ts +0 -3
- package/dist/usecases/script/state-add.js +0 -22
- package/dist/usecases/script/state-add.js.map +0 -1
- package/dist/usecases/script/state-delete.d.ts +0 -3
- package/dist/usecases/script/state-delete.js +0 -22
- package/dist/usecases/script/state-delete.js.map +0 -1
- package/dist/usecases/script/state-rename.d.ts +0 -3
- package/dist/usecases/script/state-rename.js +0 -16
- package/dist/usecases/script/state-rename.js.map +0 -1
- package/dist/usecases/script/states.d.ts +0 -3
- package/dist/usecases/script/states.js +0 -197
- package/dist/usecases/script/states.js.map +0 -1
- package/dist/usecases/script/summary.d.ts +0 -3
- package/dist/usecases/script/summary.js +0 -72
- package/dist/usecases/script/summary.js.map +0 -1
- package/dist/usecases/script/synopsis-generate.d.ts +0 -115
- package/dist/usecases/script/synopsis-generate.js +0 -776
- package/dist/usecases/script/synopsis-generate.js.map +0 -1
- package/dist/usecases/script/synopsis.d.ts +0 -3
- package/dist/usecases/script/synopsis.js +0 -45
- package/dist/usecases/script/synopsis.js.map +0 -1
- package/dist/usecases/script/timestamp-filter.d.ts +0 -4
- package/dist/usecases/script/timestamp-filter.js +0 -55
- package/dist/usecases/script/timestamp-filter.js.map +0 -1
- package/dist/usecases/script/timestamp.d.ts +0 -3
- package/dist/usecases/script/timestamp.js +0 -11
- package/dist/usecases/script/timestamp.js.map +0 -1
- package/dist/usecases/script/transition.d.ts +0 -3
- package/dist/usecases/script/transition.js +0 -23
- package/dist/usecases/script/transition.js.map +0 -1
- package/dist/usecases/script/type.d.ts +0 -3
- package/dist/usecases/script/type.js +0 -23
- package/dist/usecases/script/type.js.map +0 -1
- package/dist/usecases/script/v3/mutations.d.ts +0 -2
- package/dist/usecases/script/v3/mutations.js +0 -5
- package/dist/usecases/script/v3/mutations.js.map +0 -1
- package/dist/usecases/script/v4/mutations.d.ts +0 -2
- package/dist/usecases/script/v4/mutations.js +0 -6
- package/dist/usecases/script/v4/mutations.js.map +0 -1
- package/dist/usecases/script/v4/queries.d.ts +0 -15
- package/dist/usecases/script/v4/queries.js +0 -196
- package/dist/usecases/script/v4/queries.js.map +0 -1
- package/dist/usecases/script/working-copy.d.ts +0 -5
- package/dist/usecases/script/working-copy.js +0 -399
- package/dist/usecases/script/working-copy.js.map +0 -1
- package/dist/usecases/script/worldview.d.ts +0 -3
- package/dist/usecases/script/worldview.js +0 -17
- package/dist/usecases/script/worldview.js.map +0 -1
- package/dist/usecases/script/write-authoring.d.ts +0 -3
- package/dist/usecases/script/write-authoring.js +0 -263
- package/dist/usecases/script/write-authoring.js.map +0 -1
- package/dist/usecases/update.d.ts +0 -13
- package/dist/usecases/update.js +0 -128
- package/dist/usecases/update.js.map +0 -1
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
// Kept as an import-compatible name for internal callers. The public publish
|
|
2
|
-
// implementation has one source of truth: the managed local working-copy flow.
|
|
3
|
-
export { commandWorkingCopyPublish as commandPublish } from "../script/working-copy.js";
|
|
4
|
-
//# sourceMappingURL=publish-command.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publish-command.js","sourceRoot":"","sources":["../../../src/usecases/ingest/publish-command.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,+EAA+E;AAC/E,OAAO,EAAE,yBAAyB,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { type NameScript, type NameScene, type StructuralIdentityKeys } from "../../domain/ingest/assembler.js";
|
|
2
|
-
import type { LlmTaskExecutor } from "../../llm/types.js";
|
|
3
|
-
export interface SerialCheckpoint {
|
|
4
|
-
readUpdate(startEp: number, endEp: number): string | undefined;
|
|
5
|
-
writeStep(startEp: number, endEp: number, contextMd: string, updateMd: string): void;
|
|
6
|
-
readArc?(startEp: number, endEp: number): string | undefined;
|
|
7
|
-
writeArc?(startEp: number, endEp: number, summaryMd: string): void;
|
|
8
|
-
readNameFix?(startEp: number, endEp: number): string | undefined;
|
|
9
|
-
writeNameFix?(startEp: number, endEp: number, raw: string): void;
|
|
10
|
-
}
|
|
11
|
-
export interface SerialWindowTiming {
|
|
12
|
-
startEp: number;
|
|
13
|
-
endEp: number;
|
|
14
|
-
ms: number;
|
|
15
|
-
cached: boolean;
|
|
16
|
-
index: number;
|
|
17
|
-
total: number;
|
|
18
|
-
totalEpisodes: number;
|
|
19
|
-
}
|
|
20
|
-
export interface SerialGovernOptions {
|
|
21
|
-
executor: LlmTaskExecutor;
|
|
22
|
-
signal?: AbortSignal;
|
|
23
|
-
checkpoint?: SerialCheckpoint;
|
|
24
|
-
force?: boolean;
|
|
25
|
-
windowTokens?: number;
|
|
26
|
-
sourceRef?: string;
|
|
27
|
-
onWindow?: (t: SerialWindowTiming) => void;
|
|
28
|
-
}
|
|
29
|
-
export interface SerialGovernResult {
|
|
30
|
-
doc: Record<string, unknown>;
|
|
31
|
-
identityKeys: StructuralIdentityKeys;
|
|
32
|
-
episodes: number;
|
|
33
|
-
reused: number;
|
|
34
|
-
}
|
|
35
|
-
export declare function runSerialGovern(body: NameScript, opts: SerialGovernOptions): Promise<SerialGovernResult>;
|
|
36
|
-
export declare function renderEpisodeBody(ep: {
|
|
37
|
-
episode_id: string;
|
|
38
|
-
title?: string;
|
|
39
|
-
scenes: NameScene[];
|
|
40
|
-
}): string;
|
|
@@ -1,488 +0,0 @@
|
|
|
1
|
-
// Serial governance orchestrator (§ serial), incremental. Input is the name-based
|
|
2
|
-
// body (assembled NameScript) — NOT the roster. It walks episodes IN ORDER with a
|
|
3
|
-
// context that starts EMPTY: per episode the model reads that episode's body plus
|
|
4
|
-
// the context-so-far and reports discovered entities / 造型 / and per
|
|
5
|
-
// scene who is present in which look. Nothing is seeded from the front's extracted
|
|
6
|
-
// assets/states.
|
|
7
|
-
//
|
|
8
|
-
// The final v3 is built FROM the accumulated registry: the serial scene refs are
|
|
9
|
-
// injected into the body, assignProvisionalIds mints ids + assets, the registry's
|
|
10
|
-
// descriptions/looks are overlaid, and governDeterministic materializes.
|
|
11
|
-
// Per-episode md checkpoint + transient-retry as before.
|
|
12
|
-
import { CliError, EXIT_INPUT } from "../../common.js";
|
|
13
|
-
import { assignProvisionalIds, } from "../../domain/ingest/assembler.js";
|
|
14
|
-
import { governDeterministic } from "../../domain/ingest/govern.js";
|
|
15
|
-
import { emptyContext, applyDelta, compact, pendingArcFold, applyArcFold, synopsisLabel, render, resolveCanon, findEntity, baseLook, estimateTokens, packEpisodes, isCrowdName } from "../../domain/ingest/serial-context.js";
|
|
16
|
-
import { runArcSummary } from "../../llm/tasks/ingest/arc-summary.js";
|
|
17
|
-
import { runEpisodeAssets, toDelta, SerialDeltaShapeError } from "../../llm/tasks/ingest/episode-assets.js";
|
|
18
|
-
import { runNameFix, nameFixToDelta } from "../../llm/tasks/ingest/name-fix.js";
|
|
19
|
-
const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
20
|
-
const isArr = (v) => Array.isArray(v);
|
|
21
|
-
// featured iff an asset appears at ≥2 points in the global action stream AND those
|
|
22
|
-
// points span ≥ this many actions apart — a real recurring presence, not a single
|
|
23
|
-
// scene's chatter. Tunable after observing results.
|
|
24
|
-
const FEATURED_MIN_SPAN = 5;
|
|
25
|
-
const norm = (s) => s.normalize("NFC").replace(/\s+/g, " ").trim();
|
|
26
|
-
// A checkpointed window is the tool's raw JSON. Top-level parse failure → null so
|
|
27
|
-
// the caller can re-run the window instead of projecting an empty Delta (the old
|
|
28
|
-
// `{}` fallback silently wiped entity/look registration for that window).
|
|
29
|
-
const parseRaw = (raw) => {
|
|
30
|
-
try {
|
|
31
|
-
return JSON.parse(raw);
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
// Include serial_delta_shape so double-encoded / unparseable array fields re-call
|
|
38
|
-
// the model instead of shipping an empty registry for the window.
|
|
39
|
-
// A successful HTTP response can still omit the forced tool call, return an empty
|
|
40
|
-
// body, or stop before the structured payload is complete. Those are transient
|
|
41
|
-
// generation failures in an ingest window, just like a timeout: retry the same
|
|
42
|
-
// semantic unit before asking the outer caller to resume the whole workspace.
|
|
43
|
-
const RETRYABLE = new Set([
|
|
44
|
-
"timeout",
|
|
45
|
-
"rate_limited",
|
|
46
|
-
"request_failed",
|
|
47
|
-
"endpoint",
|
|
48
|
-
"empty_response",
|
|
49
|
-
"invalid_response",
|
|
50
|
-
"truncated",
|
|
51
|
-
"serial_delta_shape",
|
|
52
|
-
]);
|
|
53
|
-
const isRetryable = (e) => !!e && typeof e === "object" && "code" in e && RETRYABLE.has(String(e.code));
|
|
54
|
-
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
55
|
-
const winLabel = (startEp, endEp) => (startEp === endEp ? `episode ${startEp}` : `episodes ${startEp}-${endEp}`);
|
|
56
|
-
async function windowUpdate(executor, startEp, endEp, contextMd, bodyMd, signal) {
|
|
57
|
-
for (let attempt = 1;; attempt++) {
|
|
58
|
-
try {
|
|
59
|
-
return await runEpisodeAssets(executor, contextMd, bodyMd, signal);
|
|
60
|
-
}
|
|
61
|
-
catch (e) {
|
|
62
|
-
if (isRetryable(e) && attempt < 3 && !signal?.aborted) {
|
|
63
|
-
await sleep(3000 * attempt);
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
throw new CliError(`serial govern failed at ${winLabel(startEp, endEp)}.`, {
|
|
67
|
-
exitCode: EXIT_INPUT,
|
|
68
|
-
errorCode: "INGEST_SERIAL_FAILED",
|
|
69
|
-
hint: e instanceof SerialDeltaShapeError
|
|
70
|
-
? `Model returned a malformed serial delta (${e.message}). Rerun \`scriptctl ingest\` (optionally --force) to retry ${winLabel(startEp, endEp)}.`
|
|
71
|
-
: `Rerun \`scriptctl ingest\` to resume from ${winLabel(startEp, endEp)} (earlier windows are cached).`,
|
|
72
|
-
data: { actual: [e instanceof Error ? e.message : String(e)] },
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
function assertNameFixTargets(ctx, delta) {
|
|
78
|
-
const missing = delta.merges
|
|
79
|
-
.map((merge) => merge.into)
|
|
80
|
-
.filter((target) => !findEntity(ctx, target));
|
|
81
|
-
if (missing.length) {
|
|
82
|
-
throw new SerialDeltaShapeError(`name-fix merge target is not registered: ${[...new Set(missing)].join("、")}`);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
// Name-fix is required for every unresolved actor/location. A structurally valid
|
|
86
|
-
// but incomplete repair is retried in the same window instead of reaching govern
|
|
87
|
-
// as an asset with empty semantics.
|
|
88
|
-
async function nameFixRetry(executor, startEp, endEp, contextMd, names, ctx, signal) {
|
|
89
|
-
for (let attempt = 1;; attempt++) {
|
|
90
|
-
try {
|
|
91
|
-
const produced = await runNameFix(executor, contextMd, names, signal);
|
|
92
|
-
assertNameFixTargets(ctx, produced.delta);
|
|
93
|
-
return produced;
|
|
94
|
-
}
|
|
95
|
-
catch (e) {
|
|
96
|
-
if (isRetryable(e) && attempt < 3 && !signal?.aborted) {
|
|
97
|
-
await sleep(3000 * attempt);
|
|
98
|
-
continue;
|
|
99
|
-
}
|
|
100
|
-
throw new CliError(`serial name repair failed at ${winLabel(startEp, endEp)}.`, {
|
|
101
|
-
exitCode: EXIT_INPUT,
|
|
102
|
-
errorCode: "INGEST_SERIAL_NAME_FIX_FAILED",
|
|
103
|
-
hint: e instanceof SerialDeltaShapeError
|
|
104
|
-
? `Model returned an incomplete name repair (${e.message}). Rerun \`scriptctl ingest\` to retry ${winLabel(startEp, endEp)}.`
|
|
105
|
-
: `Rerun \`scriptctl ingest\` to resume from ${winLabel(startEp, endEp)} (earlier windows are cached).`,
|
|
106
|
-
data: { actual: [e instanceof Error ? e.message : String(e)] },
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
export async function runSerialGovern(body, opts) {
|
|
112
|
-
const ctx = emptyContext();
|
|
113
|
-
const episodes = body.episodes ?? [];
|
|
114
|
-
let reused = 0;
|
|
115
|
-
// Pack contiguous episodes into token-bounded windows and parse each window in
|
|
116
|
-
// one call. Bodies + token sizes are precomputed so packing is deterministic.
|
|
117
|
-
const bodies = episodes.map(renderEpisodeBody);
|
|
118
|
-
const windows = packEpisodes(bodies.map(estimateTokens), opts.windowTokens);
|
|
119
|
-
for (let index = 0; index < windows.length; index++) {
|
|
120
|
-
const [startEp, endEp] = windows[index];
|
|
121
|
-
const contextMd = render(ctx, endEp);
|
|
122
|
-
// Each body already opens with `# ep_NNN`, so the model sees the episode splits.
|
|
123
|
-
const bodyMd = bodies.slice(startEp - 1, endEp).join("\n\n");
|
|
124
|
-
// Prepend the source 原文设定 reference (static) to what the model sees; the
|
|
125
|
-
// checkpoint trace stores only the registry contextMd (the ref is redundant 23×).
|
|
126
|
-
const promptCtx = opts.sourceRef ? `# 原文设定(参考,来自原稿开头)\n${opts.sourceRef}\n\n${contextMd}` : contextMd;
|
|
127
|
-
const t0 = Date.now();
|
|
128
|
-
// The checkpoint stores the window's raw tool JSON; resume re-projects it to a
|
|
129
|
-
// Delta (deterministic), so a cached window costs no model call. Corrupt or
|
|
130
|
-
// shape-invalid cache (double-encoded garbage, unescaped quotes) is re-run —
|
|
131
|
-
// never applied as an empty Delta.
|
|
132
|
-
const cached = opts.force ? undefined : opts.checkpoint?.readUpdate(startEp, endEp);
|
|
133
|
-
let delta;
|
|
134
|
-
let cachedHit = false;
|
|
135
|
-
if (cached !== undefined) {
|
|
136
|
-
const parsed = parseRaw(cached);
|
|
137
|
-
try {
|
|
138
|
-
if (parsed == null)
|
|
139
|
-
throw new SerialDeltaShapeError("checkpoint top-level JSON is unparseable");
|
|
140
|
-
delta = toDelta(parsed);
|
|
141
|
-
cachedHit = true;
|
|
142
|
-
reused++;
|
|
143
|
-
opts.executor.recordReuse("ingest.episode-assets");
|
|
144
|
-
}
|
|
145
|
-
catch (e) {
|
|
146
|
-
if (!(e instanceof SerialDeltaShapeError))
|
|
147
|
-
throw e;
|
|
148
|
-
const produced = await windowUpdate(opts.executor, startEp, endEp, promptCtx, bodyMd, opts.signal);
|
|
149
|
-
delta = produced.delta;
|
|
150
|
-
opts.checkpoint?.writeStep(startEp, endEp, contextMd, produced.raw);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
const produced = await windowUpdate(opts.executor, startEp, endEp, promptCtx, bodyMd, opts.signal);
|
|
155
|
-
delta = produced.delta;
|
|
156
|
-
opts.checkpoint?.writeStep(startEp, endEp, contextMd, produced.raw);
|
|
157
|
-
}
|
|
158
|
-
applyDelta(ctx, delta, startEp, endEp);
|
|
159
|
-
// Name-fix repair, IN THIS WINDOW (whichever window meets an unregistered name
|
|
160
|
-
// fixes it here, not in a giant final pass). After applying this window's delta,
|
|
161
|
-
// any actor/location the body names but the registry still can't resolve is a
|
|
162
|
-
// missed merge — ask the model (merge-into-existing or new) and apply, so the
|
|
163
|
-
// registry is complete before we move on. Best-effort: a gateway failure skips
|
|
164
|
-
// the fix for this window (names ship as-is) rather than aborting the run.
|
|
165
|
-
const unresolved = collectUnresolved(episodes.slice(startEp - 1, endEp), ctx);
|
|
166
|
-
if (unresolved.length) {
|
|
167
|
-
const cachedFix = opts.force ? undefined : opts.checkpoint?.readNameFix?.(startEp, endEp);
|
|
168
|
-
if (cachedFix !== undefined) {
|
|
169
|
-
const parsedFix = parseRaw(cachedFix);
|
|
170
|
-
try {
|
|
171
|
-
if (parsedFix == null)
|
|
172
|
-
throw new SerialDeltaShapeError("name-fix checkpoint top-level JSON is unparseable");
|
|
173
|
-
const fixDelta = nameFixToDelta(parsedFix, unresolved);
|
|
174
|
-
assertNameFixTargets(ctx, fixDelta);
|
|
175
|
-
applyDelta(ctx, fixDelta, startEp, endEp);
|
|
176
|
-
reused++;
|
|
177
|
-
opts.executor.recordReuse("ingest.name-fix");
|
|
178
|
-
}
|
|
179
|
-
catch (e) {
|
|
180
|
-
if (!(e instanceof SerialDeltaShapeError))
|
|
181
|
-
throw e;
|
|
182
|
-
const produced = await nameFixRetry(opts.executor, startEp, endEp, render(ctx, endEp), unresolved, ctx, opts.signal);
|
|
183
|
-
opts.checkpoint?.writeNameFix?.(startEp, endEp, produced.raw);
|
|
184
|
-
applyDelta(ctx, produced.delta, startEp, endEp);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
const produced = await nameFixRetry(opts.executor, startEp, endEp, render(ctx, endEp), unresolved, ctx, opts.signal);
|
|
189
|
-
opts.checkpoint?.writeNameFix?.(startEp, endEp, produced.raw);
|
|
190
|
-
applyDelta(ctx, produced.delta, startEp, endEp);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
compact(ctx);
|
|
194
|
-
// Fold the far synopsis into arc summaries when over budget. Deterministic
|
|
195
|
-
// range → cached by [startEp, endEp] so resume never re-summarizes.
|
|
196
|
-
for (let group = pendingArcFold(ctx); group; group = pendingArcFold(ctx)) {
|
|
197
|
-
const startEp = group[0].startEp;
|
|
198
|
-
const endEp = group[group.length - 1].endEp;
|
|
199
|
-
const cachedArc = opts.force ? undefined : opts.checkpoint?.readArc?.(startEp, endEp);
|
|
200
|
-
let summary;
|
|
201
|
-
if (cachedArc !== undefined) {
|
|
202
|
-
summary = cachedArc;
|
|
203
|
-
reused++;
|
|
204
|
-
opts.executor.recordReuse("ingest.arc-summary");
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
const foldedText = group.map((g) => `${synopsisLabel(g)}:${g.line}`).join("\n");
|
|
208
|
-
summary = await runArcSummary(opts.executor, `第${startEp}集–第${endEp}集`, foldedText, opts.signal);
|
|
209
|
-
opts.checkpoint?.writeArc?.(startEp, endEp, summary);
|
|
210
|
-
}
|
|
211
|
-
applyArcFold(ctx, summary);
|
|
212
|
-
}
|
|
213
|
-
opts.onWindow?.({ startEp, endEp, ms: Date.now() - t0, cached: cachedHit, index, total: windows.length, totalEpisodes: episodes.length });
|
|
214
|
-
}
|
|
215
|
-
const finalized = finalize(body, ctx);
|
|
216
|
-
return {
|
|
217
|
-
...finalized,
|
|
218
|
-
episodes: episodes.length,
|
|
219
|
-
reused,
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
// Body ACTOR/LOCATION names (in the given episodes) that resolve to no registry
|
|
223
|
-
// entity — a missed merge worth repairing (a real character/place the serial pass
|
|
224
|
-
// forgot to register). PROPS are excluded on purpose: the body lists every
|
|
225
|
-
// incidental object, but the registry deliberately keeps only 关键道具, so an
|
|
226
|
-
// unregistered prop is a background object we DROP (finalize skips it), not a fix.
|
|
227
|
-
function collectUnresolved(eps, ctx) {
|
|
228
|
-
const set = new Set();
|
|
229
|
-
const check = (name) => {
|
|
230
|
-
if (!name)
|
|
231
|
-
return;
|
|
232
|
-
const canon = resolveCanon(ctx, name);
|
|
233
|
-
if (isCrowdName(canon))
|
|
234
|
-
return;
|
|
235
|
-
if (!findEntity(ctx, canon))
|
|
236
|
-
set.add(canon);
|
|
237
|
-
};
|
|
238
|
-
for (const ep of eps) {
|
|
239
|
-
for (const sc of ep.scenes) {
|
|
240
|
-
check(sc.location?.name);
|
|
241
|
-
for (const a of sc.actors)
|
|
242
|
-
check(a.name);
|
|
243
|
-
for (const ac of sc.actions)
|
|
244
|
-
if (ac.speaker && "name" in ac.speaker)
|
|
245
|
-
check(ac.speaker.name);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
return [...set];
|
|
249
|
-
}
|
|
250
|
-
const SPACE = { interior: "内", exterior: "外" };
|
|
251
|
-
const TIME = { day: "日", night: "夜" };
|
|
252
|
-
// Render one episode's body as readable 正文 — scene id + time/space + the source's
|
|
253
|
-
// declared 地点/在场/道具 (so the model can lean on the original text's own names +
|
|
254
|
-
// descriptions) + the action/dialogue lines (speaker by name). Inline descriptions
|
|
255
|
-
// live in the action text; the model still emits its own scene presence refs.
|
|
256
|
-
export function renderEpisodeBody(ep) {
|
|
257
|
-
const out = [`# ${ep.episode_id}${ep.title ? ` ${ep.title}` : ""}`];
|
|
258
|
-
for (const sc of ep.scenes) {
|
|
259
|
-
out.push(`## ${sc.scene_id}`);
|
|
260
|
-
const env = [SPACE[sc.environment?.space ?? ""], TIME[sc.environment?.time ?? ""]].filter(Boolean).join(" ");
|
|
261
|
-
if (env)
|
|
262
|
-
out.push(`时空:${env}`);
|
|
263
|
-
if (sc.location?.name)
|
|
264
|
-
out.push(`地点:${sc.location.name}`);
|
|
265
|
-
if (sc.actors.length)
|
|
266
|
-
out.push(`在场:${sc.actors.map((a) => a.name).join("、")}`);
|
|
267
|
-
if (sc.props.length)
|
|
268
|
-
out.push(`道具:${sc.props.map((p) => p.name).join("、")}`);
|
|
269
|
-
for (const ac of sc.actions) {
|
|
270
|
-
const sp = ac.speaker ? ("name" in ac.speaker ? ac.speaker.name : `[${ac.speaker.kind}]`) : "";
|
|
271
|
-
const emo = ac.emotion ? `(${ac.emotion})` : "";
|
|
272
|
-
if (ac.type === "dialogue")
|
|
273
|
-
out.push(`${sp}${emo}:${ac.content}`);
|
|
274
|
-
else if (ac.type === "inner_thought")
|
|
275
|
-
out.push(`${sp}(心)${emo}:${ac.content}`);
|
|
276
|
-
else if (ac.type === "transition")
|
|
277
|
-
out.push(`【转场】${ac.content}`);
|
|
278
|
-
else
|
|
279
|
-
out.push(ac.content);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
return out.join("\n");
|
|
283
|
-
}
|
|
284
|
-
// Build the final v3 doc from the body + accumulated registry. Inject serial scene
|
|
285
|
-
// refs (canonical names + look as state), mint ids via assignProvisionalIds, overlay
|
|
286
|
-
// registry description/aliases/look-descriptions, then materialize.
|
|
287
|
-
function finalize(body, ctx) {
|
|
288
|
-
const doc = JSON.parse(JSON.stringify(body));
|
|
289
|
-
// The BODY (from normalize) is the source of who's on screen and every dialogue
|
|
290
|
-
// line — the model's job was only to build the registry + correct the names. So
|
|
291
|
-
// here we resolve every body-written name to its registry canonical (this IS the
|
|
292
|
-
// "correct the transcript" step), rewrite dialogue text likewise, and derive each
|
|
293
|
-
// scene's 造型 from the sparse lookChanges carried forward. The model's scene
|
|
294
|
-
// presence lists are NOT used.
|
|
295
|
-
const carry = new Map(); // canonical → current 造型 (continuity)
|
|
296
|
-
for (const ep of doc.episodes) {
|
|
297
|
-
for (const sc of ep.scenes) {
|
|
298
|
-
// register is the source of truth: keep only refs that resolve to a
|
|
299
|
-
// registered entity. Unregistered names are dropped (an unregistered prop is a
|
|
300
|
-
// background object; any actor/location worth keeping was fixed by name-fix).
|
|
301
|
-
const reg = (n) => !!findEntity(ctx, n);
|
|
302
|
-
const loc = sc.location ? resolveCanon(ctx, sc.location.name) : null;
|
|
303
|
-
let actors = dedupeNames(sc.actors.map((a) => resolveCanon(ctx, a.name)).filter((n) => !isCrowdName(n) && reg(n)));
|
|
304
|
-
const props = dedupeNames(sc.props.map((p) => resolveCanon(ctx, p.name)).filter(reg));
|
|
305
|
-
const speaking = [];
|
|
306
|
-
for (const ac of sc.actions) {
|
|
307
|
-
if (ac.speaker && "name" in ac.speaker) {
|
|
308
|
-
const canon = resolveCanon(ctx, ac.speaker.name);
|
|
309
|
-
if (isCrowdName(canon))
|
|
310
|
-
ac.speaker = { kind: "group", label: canon };
|
|
311
|
-
else {
|
|
312
|
-
ac.speaker.name = canon;
|
|
313
|
-
if (reg(canon))
|
|
314
|
-
speaking.push(canon);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
// ponytail: 只归一 speaker,正文 content 逐字保留。别名字符串替换会
|
|
318
|
-
// 双替(圣典→英雄圣典 命中已有 英雄圣典)并误改画面/字幕原文(RELIC、
|
|
319
|
-
// CHRONICLE OF HEROES 等 UI 字面)。要恢复正文改名须做实体感知替换,非朴素 split/join。
|
|
320
|
-
}
|
|
321
|
-
for (const canon of speaking)
|
|
322
|
-
if (!actors.some((n) => norm(n) === norm(canon)))
|
|
323
|
-
actors.push(canon); // speaker ⇒ present
|
|
324
|
-
// 造型: apply this scene's changes to the carry, then stamp each ref (inherit).
|
|
325
|
-
for (const lc of ctx.lookChanges[sc.scene_id] ?? [])
|
|
326
|
-
carry.set(resolveCanon(ctx, lc.entity), lc.look);
|
|
327
|
-
sc.location = loc && reg(loc) ? stateRef(ctx, loc, carry) : null;
|
|
328
|
-
sc.actors = actors.map((n) => stateRef(ctx, n, carry));
|
|
329
|
-
sc.props = props.map((n) => stateRef(ctx, n, carry));
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
const assigned = assignProvisionalIds(doc);
|
|
333
|
-
const script = assigned.script;
|
|
334
|
-
overlay(script, ctx);
|
|
335
|
-
applyImportance(script); // deterministic: override model/registry tiers by on-screen span
|
|
336
|
-
const governed = governDeterministic(script);
|
|
337
|
-
renameSyntheticDefault(governed);
|
|
338
|
-
assertDescriptions(governed);
|
|
339
|
-
return { doc: governed, identityKeys: assigned.identityKeys };
|
|
340
|
-
}
|
|
341
|
-
const RESET = "常态";
|
|
342
|
-
// De-dupe a list of already-resolved canonical names, keeping first-seen order.
|
|
343
|
-
function dedupeNames(names) {
|
|
344
|
-
const seen = new Set();
|
|
345
|
-
return names.filter((n) => { const k = norm(n); if (!n || seen.has(k))
|
|
346
|
-
return false; seen.add(k); return true; });
|
|
347
|
-
}
|
|
348
|
-
// A canonical name + its 造型 for a scene: the carried look, else the entity's
|
|
349
|
-
// baseline 常态. Every on-screen ref binds a state (never null/未标注).
|
|
350
|
-
function stateRef(ctx, canon, carry) {
|
|
351
|
-
const e = findEntity(ctx, canon);
|
|
352
|
-
const look = carry.get(canon) ?? (e ? baseLook(e) : undefined) ?? RESET;
|
|
353
|
-
return { name: canon, state: look };
|
|
354
|
-
}
|
|
355
|
-
// Assets with no discovered look keep a synthetic default whose name leaked as the
|
|
356
|
-
// literal "default"; relabel it to 常态 for a meaningful baseline.
|
|
357
|
-
function renameSyntheticDefault(script) {
|
|
358
|
-
for (const listKey of ["actors", "locations", "props"]) {
|
|
359
|
-
for (const asset of isArr(script[listKey]) ? script[listKey] : []) {
|
|
360
|
-
if (!isObj(asset))
|
|
361
|
-
continue;
|
|
362
|
-
for (const st of isArr(asset.states) ? asset.states : []) {
|
|
363
|
-
if (isObj(st) && st.state_id === "default" && st.state_name === "default")
|
|
364
|
-
st.state_name = "常态";
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
// Stamp registry descriptions, aliases, and per-look state descriptions onto the
|
|
370
|
-
// minted assets. Importance is derived later from the complete action stream.
|
|
371
|
-
function overlay(script, ctx) {
|
|
372
|
-
for (const [listKey, nameKey] of [["actors", "actor_name"], ["locations", "location_name"], ["props", "prop_name"]]) {
|
|
373
|
-
for (const asset of isArr(script[listKey]) ? script[listKey] : []) {
|
|
374
|
-
if (!isObj(asset))
|
|
375
|
-
continue;
|
|
376
|
-
const e = findEntity(ctx, String(asset[nameKey]));
|
|
377
|
-
const states = isArr(asset.states) ? asset.states : [];
|
|
378
|
-
if (e) {
|
|
379
|
-
if (e.description)
|
|
380
|
-
asset.description = e.description;
|
|
381
|
-
if (e.aliases.length)
|
|
382
|
-
asset.aliases = [...new Set([...(isArr(asset.aliases) ? asset.aliases : []), ...e.aliases])];
|
|
383
|
-
const baseName = baseLook(e); // baseline (常态) look NAME for the synthetic default state
|
|
384
|
-
const baseDesc = baseName ? (e.looks.find((l) => norm(l.name) === norm(baseName))?.description ?? "") : "";
|
|
385
|
-
for (const st of states) {
|
|
386
|
-
if (!isObj(st))
|
|
387
|
-
continue;
|
|
388
|
-
if (st.state_id === "default") {
|
|
389
|
-
if (baseDesc)
|
|
390
|
-
st.description = baseDesc;
|
|
391
|
-
continue;
|
|
392
|
-
}
|
|
393
|
-
const look = e.looks.find((l) => norm(l.name) === norm(String(st.state_name)));
|
|
394
|
-
if (look?.description)
|
|
395
|
-
st.description = look.description;
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
// Deterministic importance (§ replaces the model's judgment call). Walk the whole
|
|
402
|
-
// doc as one ordered action stream; every asset records the action index of each
|
|
403
|
-
// point it's "on screen" — a dialogue/inner-thought speaker at that action, or a
|
|
404
|
-
// member of a scene's cast/props/location (counted at the scene's first action).
|
|
405
|
-
// featured iff it surfaces at ≥2 points spanning ≥ FEATURED_MIN_SPAN actions apart;
|
|
406
|
-
// everything else background. Fully overrides whatever overlay stamped.
|
|
407
|
-
function applyImportance(script) {
|
|
408
|
-
const first = new Map(); // assetId → first on-screen action index
|
|
409
|
-
const last = new Map(); // assetId → last on-screen action index
|
|
410
|
-
const count = new Map(); // assetId → number of on-screen points
|
|
411
|
-
let idx = 0;
|
|
412
|
-
const mark = (id) => {
|
|
413
|
-
if (typeof id !== "string")
|
|
414
|
-
return;
|
|
415
|
-
if (!first.has(id))
|
|
416
|
-
first.set(id, idx);
|
|
417
|
-
last.set(id, idx);
|
|
418
|
-
count.set(id, (count.get(id) ?? 0) + 1);
|
|
419
|
-
};
|
|
420
|
-
for (const ep of isArr(script.episodes) ? script.episodes : []) {
|
|
421
|
-
if (!isObj(ep) || !isArr(ep.scenes))
|
|
422
|
-
continue;
|
|
423
|
-
for (const sc of ep.scenes) {
|
|
424
|
-
if (!isObj(sc))
|
|
425
|
-
continue;
|
|
426
|
-
// Scene membership (cast/props/location) counts at the scene's first action.
|
|
427
|
-
const members = [
|
|
428
|
-
...(isArr(sc.actors) ? sc.actors : []),
|
|
429
|
-
...(isArr(sc.props) ? sc.props : []),
|
|
430
|
-
...(isObj(sc.location) ? [sc.location] : []),
|
|
431
|
-
];
|
|
432
|
-
const memberIds = members.filter(isObj).map((m) => m.actor_id ?? m.prop_id ?? m.location_id);
|
|
433
|
-
for (const id of memberIds)
|
|
434
|
-
mark(id);
|
|
435
|
-
for (const ac of isArr(sc.actions) ? sc.actions : []) {
|
|
436
|
-
if (isObj(ac) && isObj(ac.speaker) && typeof ac.speaker.actor_id === "string")
|
|
437
|
-
mark(ac.speaker.actor_id);
|
|
438
|
-
idx++; // every action advances the global stream, speaker or not
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
const featured = (id) => (count.get(id) ?? 0) >= 2 && (last.get(id) - first.get(id)) >= FEATURED_MIN_SPAN;
|
|
443
|
-
for (const [listKey, idKey] of [["actors", "actor_id"], ["props", "prop_id"]]) {
|
|
444
|
-
for (const asset of isArr(script[listKey]) ? script[listKey] : []) {
|
|
445
|
-
if (!isObj(asset))
|
|
446
|
-
continue;
|
|
447
|
-
asset.importance = (featured(String(asset[idKey])) ? "featured" : "background");
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
// Locations are always featured — every place that reaches the script is worth a
|
|
451
|
-
// background plate; there is no "龙套 location" to skip.
|
|
452
|
-
for (const asset of isArr(script.locations) ? script.locations : []) {
|
|
453
|
-
if (isObj(asset))
|
|
454
|
-
asset.importance = "featured";
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
// Final invariant after governDeterministic has rebuilt state ids: identity and
|
|
458
|
-
// look descriptions must already be complete. Missing content is an ingest error;
|
|
459
|
-
// identity text is never copied into a look to manufacture completeness.
|
|
460
|
-
function assertDescriptions(script) {
|
|
461
|
-
const nonEmpty = (v) => (typeof v === "string" ? v.trim() : "");
|
|
462
|
-
for (const [listKey, nameKey] of [["actors", "actor_name"], ["locations", "location_name"], ["props", "prop_name"]]) {
|
|
463
|
-
for (const asset of isArr(script[listKey]) ? script[listKey] : []) {
|
|
464
|
-
if (!isObj(asset))
|
|
465
|
-
continue;
|
|
466
|
-
const assetName = String(asset[nameKey] ?? "");
|
|
467
|
-
const states = isArr(asset.states) ? asset.states : [];
|
|
468
|
-
if (!nonEmpty(asset.description)) {
|
|
469
|
-
throw new CliError(`Ingested asset "${assetName}" is missing its identity description.`, {
|
|
470
|
-
exitCode: EXIT_INPUT,
|
|
471
|
-
errorCode: "ASSET_DESCRIPTION_MISSING",
|
|
472
|
-
hint: "Rerun `scriptctl ingest --force` so the serial asset window can regenerate this entity.",
|
|
473
|
-
});
|
|
474
|
-
}
|
|
475
|
-
for (const st of states) {
|
|
476
|
-
if (!isObj(st) || nonEmpty(st.description))
|
|
477
|
-
continue;
|
|
478
|
-
const stateName = String(st.state_name ?? "");
|
|
479
|
-
throw new CliError(`Ingested asset "${assetName}" has no visual description for look "${stateName}".`, {
|
|
480
|
-
exitCode: EXIT_INPUT,
|
|
481
|
-
errorCode: st.state_id === "default" ? "DEFAULT_LOOK_DESCRIPTION_MISSING" : "LOOK_DESCRIPTION_MISSING",
|
|
482
|
-
hint: "Rerun `scriptctl ingest --force` so the serial asset window can regenerate this look.",
|
|
483
|
-
});
|
|
484
|
-
}
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
//# sourceMappingURL=serial-govern.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serial-govern.js","sourceRoot":"","sources":["../../../src/usecases/ingest/serial-govern.ts"],"names":[],"mappings":"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"}
|