@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,130 +0,0 @@
|
|
|
1
|
-
// Deterministic final id renumbering (§ ids). Governance leaves survivor ids
|
|
2
|
-
// with gaps (merges/…) and globally-unique state ids; this one-time pass, run at
|
|
3
|
-
// the very end of ingest, renumbers everything to clean, contiguous, readable
|
|
4
|
-
// ids and rewrites all references. ids are opaque stable keys — this is only the
|
|
5
|
-
// clean initial numbering for the freshly-generated product (editing never
|
|
6
|
-
// renumbers). Pure: input never mutated; returns the doc + old→new id map.
|
|
7
|
-
//
|
|
8
|
-
// episode ep_NNN by episodes[] order
|
|
9
|
-
// scene scn_NNN global, by appearance order (scenes can move across eps)
|
|
10
|
-
// actor act_NNN by first appearance in the script (per kind, contiguous)
|
|
11
|
-
// location loc_NNN
|
|
12
|
-
// prop prp_NNN
|
|
13
|
-
// state default + st_NNN per-asset scoped (default kept)
|
|
14
|
-
const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
15
|
-
const isArr = (v) => Array.isArray(v);
|
|
16
|
-
const pad = (n) => String(n).padStart(3, "0");
|
|
17
|
-
const KINDS = [
|
|
18
|
-
{ key: "actors", idField: "actor_id", prefix: "act" },
|
|
19
|
-
{ key: "locations", idField: "location_id", prefix: "loc" },
|
|
20
|
-
{ key: "props", idField: "prop_id", prefix: "prp" },
|
|
21
|
-
];
|
|
22
|
-
export function renumberIds(input) {
|
|
23
|
-
if (!isObj(input))
|
|
24
|
-
throw new Error("renumberIds expects a script object");
|
|
25
|
-
const doc = JSON.parse(JSON.stringify(input));
|
|
26
|
-
const idMap = { episodes: {}, scenes: {}, actors: {}, locations: {}, props: {}, states: {} };
|
|
27
|
-
// 1. Asset ids by first appearance (document walk).
|
|
28
|
-
const seen = { actors: [], locations: [], props: [] };
|
|
29
|
-
const seenSet = { actors: new Set(), locations: new Set(), props: new Set() };
|
|
30
|
-
const see = (bucket, id) => { if (typeof id === "string" && !seenSet[bucket].has(id)) {
|
|
31
|
-
seenSet[bucket].add(id);
|
|
32
|
-
seen[bucket].push(id);
|
|
33
|
-
} };
|
|
34
|
-
for (const ep of isArr(doc.episodes) ? doc.episodes : []) {
|
|
35
|
-
if (!isObj(ep) || !isArr(ep.scenes))
|
|
36
|
-
continue;
|
|
37
|
-
for (const sc of ep.scenes) {
|
|
38
|
-
if (!isObj(sc))
|
|
39
|
-
continue;
|
|
40
|
-
if (isObj(sc.location))
|
|
41
|
-
see("locations", sc.location.location_id);
|
|
42
|
-
for (const a of isArr(sc.actors) ? sc.actors : [])
|
|
43
|
-
if (isObj(a))
|
|
44
|
-
see("actors", a.actor_id);
|
|
45
|
-
for (const p of isArr(sc.props) ? sc.props : [])
|
|
46
|
-
if (isObj(p))
|
|
47
|
-
see("props", p.prop_id);
|
|
48
|
-
for (const ac of isArr(sc.actions) ? sc.actions : [])
|
|
49
|
-
if (isObj(ac) && isObj(ac.speaker))
|
|
50
|
-
see("actors", ac.speaker.actor_id);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
// Append any asset present in the top-level lists but never referenced.
|
|
54
|
-
for (const { key, idField } of KINDS)
|
|
55
|
-
for (const a of isArr(doc[key]) ? doc[key] : [])
|
|
56
|
-
if (isObj(a))
|
|
57
|
-
see(key, a[idField]);
|
|
58
|
-
for (const { key, prefix } of KINDS)
|
|
59
|
-
seen[key].forEach((old, i) => { idMap[key][old] = `${prefix}_${pad(i + 1)}`; });
|
|
60
|
-
// 2. Rebuild top-level asset lists in new-id order; renumber per-asset states.
|
|
61
|
-
for (const { key, idField } of KINDS) {
|
|
62
|
-
const list = (isArr(doc[key]) ? doc[key] : []).filter(isObj);
|
|
63
|
-
const bucket = idMap[key];
|
|
64
|
-
const byNew = new Map();
|
|
65
|
-
for (const a of list) {
|
|
66
|
-
const oldId = a[idField];
|
|
67
|
-
const newId = bucket[oldId] ?? oldId;
|
|
68
|
-
a[idField] = newId;
|
|
69
|
-
// states: keep default, renumber the rest st_001.. in array order.
|
|
70
|
-
let n = 0;
|
|
71
|
-
for (const st of isArr(a.states) ? a.states : []) {
|
|
72
|
-
if (!isObj(st) || typeof st.state_id !== "string")
|
|
73
|
-
continue;
|
|
74
|
-
if (st.state_id === "default")
|
|
75
|
-
continue;
|
|
76
|
-
const ns = `st_${pad(++n)}`;
|
|
77
|
-
idMap.states[st.state_id] = ns;
|
|
78
|
-
st.state_id = ns;
|
|
79
|
-
}
|
|
80
|
-
byNew.set(newId, a);
|
|
81
|
-
}
|
|
82
|
-
doc[key] = [...byNew.entries()].sort((x, y) => (x[0] < y[0] ? -1 : 1)).map((e) => e[1]);
|
|
83
|
-
}
|
|
84
|
-
// 3. Episode / scene ids (in order).
|
|
85
|
-
let scn = 0;
|
|
86
|
-
(isArr(doc.episodes) ? doc.episodes : []).forEach((ep, ei) => {
|
|
87
|
-
if (!isObj(ep))
|
|
88
|
-
return;
|
|
89
|
-
if (typeof ep.episode_id === "string") {
|
|
90
|
-
const nid = `ep_${pad(ei + 1)}`;
|
|
91
|
-
idMap.episodes[ep.episode_id] = nid;
|
|
92
|
-
ep.episode_id = nid;
|
|
93
|
-
}
|
|
94
|
-
for (const sc of isArr(ep.scenes) ? ep.scenes : []) {
|
|
95
|
-
if (!isObj(sc))
|
|
96
|
-
continue;
|
|
97
|
-
if (typeof sc.scene_id === "string") {
|
|
98
|
-
const nid = `scn_${pad(++scn)}`;
|
|
99
|
-
idMap.scenes[sc.scene_id] = nid;
|
|
100
|
-
sc.scene_id = nid;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
// 4. Rewrite references (asset ids + state ids) throughout the scenes.
|
|
105
|
-
const remapRef = (holder, idField, kind) => {
|
|
106
|
-
if (!isObj(holder) || typeof holder[idField] !== "string")
|
|
107
|
-
return;
|
|
108
|
-
holder[idField] = idMap[kind][holder[idField]] ?? holder[idField];
|
|
109
|
-
if (typeof holder.state_id === "string" && idMap.states[holder.state_id])
|
|
110
|
-
holder.state_id = idMap.states[holder.state_id];
|
|
111
|
-
};
|
|
112
|
-
for (const ep of isArr(doc.episodes) ? doc.episodes : []) {
|
|
113
|
-
if (!isObj(ep) || !isArr(ep.scenes))
|
|
114
|
-
continue;
|
|
115
|
-
for (const sc of ep.scenes) {
|
|
116
|
-
if (!isObj(sc))
|
|
117
|
-
continue;
|
|
118
|
-
remapRef(sc.location, "location_id", "locations");
|
|
119
|
-
for (const a of isArr(sc.actors) ? sc.actors : [])
|
|
120
|
-
remapRef(a, "actor_id", "actors");
|
|
121
|
-
for (const p of isArr(sc.props) ? sc.props : [])
|
|
122
|
-
remapRef(p, "prop_id", "props");
|
|
123
|
-
for (const ac of isArr(sc.actions) ? sc.actions : [])
|
|
124
|
-
if (isObj(ac))
|
|
125
|
-
remapRef(ac.speaker, "actor_id", "actors");
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return { script: doc, idMap };
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=renumber.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renumber.js","sourceRoot":"","sources":["../../../src/domain/ingest/renumber.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
export interface Look {
|
|
2
|
-
name: string;
|
|
3
|
-
aliases: string[];
|
|
4
|
-
description: string;
|
|
5
|
-
}
|
|
6
|
-
export interface DefaultLook {
|
|
7
|
-
name: string;
|
|
8
|
-
description: string;
|
|
9
|
-
}
|
|
10
|
-
export interface RegEntity {
|
|
11
|
-
kind: "actor" | "location" | "prop";
|
|
12
|
-
canonical: string;
|
|
13
|
-
aliases: string[];
|
|
14
|
-
description: string;
|
|
15
|
-
looks: Look[];
|
|
16
|
-
currentLook?: string;
|
|
17
|
-
lastSeen: number;
|
|
18
|
-
}
|
|
19
|
-
export interface LookChange {
|
|
20
|
-
entity: string;
|
|
21
|
-
look: string;
|
|
22
|
-
}
|
|
23
|
-
export interface RecentEpisode {
|
|
24
|
-
startEp: number;
|
|
25
|
-
endEp: number;
|
|
26
|
-
summary: string;
|
|
27
|
-
subEvents: string[];
|
|
28
|
-
}
|
|
29
|
-
export declare const recentLabel: (r: {
|
|
30
|
-
startEp: number;
|
|
31
|
-
endEp: number;
|
|
32
|
-
}) => string;
|
|
33
|
-
export interface SynopsisLine {
|
|
34
|
-
startEp: number;
|
|
35
|
-
endEp: number;
|
|
36
|
-
line: string;
|
|
37
|
-
}
|
|
38
|
-
export declare const synopsisLabel: (s: SynopsisLine) => string;
|
|
39
|
-
export interface GlobalContext {
|
|
40
|
-
entities: RegEntity[];
|
|
41
|
-
lookChanges: Record<string, LookChange[]>;
|
|
42
|
-
recent: RecentEpisode[];
|
|
43
|
-
synopsis: SynopsisLine[];
|
|
44
|
-
}
|
|
45
|
-
export interface Delta {
|
|
46
|
-
newEntities: Array<{
|
|
47
|
-
name: string;
|
|
48
|
-
kind: RegEntity["kind"];
|
|
49
|
-
description: string;
|
|
50
|
-
aliases: string[];
|
|
51
|
-
defaultLook: DefaultLook;
|
|
52
|
-
}>;
|
|
53
|
-
merges: Array<{
|
|
54
|
-
from: string;
|
|
55
|
-
into: string;
|
|
56
|
-
}>;
|
|
57
|
-
looks: Array<{
|
|
58
|
-
entity: string;
|
|
59
|
-
names: string[];
|
|
60
|
-
description: string;
|
|
61
|
-
}>;
|
|
62
|
-
lookChanges: Array<{
|
|
63
|
-
scene: string;
|
|
64
|
-
entity: string;
|
|
65
|
-
look: string;
|
|
66
|
-
}>;
|
|
67
|
-
subEvents: string[];
|
|
68
|
-
summary: string;
|
|
69
|
-
}
|
|
70
|
-
export declare const emptyDelta: () => Delta;
|
|
71
|
-
export declare const emptyContext: () => GlobalContext;
|
|
72
|
-
export interface CompactOpts {
|
|
73
|
-
recentEpisodes: number;
|
|
74
|
-
synopsisChars: number;
|
|
75
|
-
arcFold: number;
|
|
76
|
-
}
|
|
77
|
-
export declare const DEFAULT_COMPACT: CompactOpts;
|
|
78
|
-
export declare const DEFAULT_WINDOW_TOKENS = 10000;
|
|
79
|
-
export declare function estimateTokens(text: string): number;
|
|
80
|
-
export declare function packEpisodes(tokens: number[], budget?: number): Array<[number, number]>;
|
|
81
|
-
export declare const kindFromLabel: (s: string) => RegEntity["kind"] | undefined;
|
|
82
|
-
export declare function findEntity(ctx: GlobalContext, name: string): RegEntity | undefined;
|
|
83
|
-
export declare function fullest(names: string[]): string;
|
|
84
|
-
export declare function isCrowdName(name: string): boolean;
|
|
85
|
-
export declare function resolveCanon(ctx: GlobalContext, name: string): string;
|
|
86
|
-
export declare function resolveLook(e: RegEntity, name: string): string;
|
|
87
|
-
export declare function baseLook(e: RegEntity): string | undefined;
|
|
88
|
-
export declare function applyDelta(ctx: GlobalContext, delta: Delta, startEp: number, endEp?: number): GlobalContext;
|
|
89
|
-
export declare function compact(ctx: GlobalContext, opts?: CompactOpts): GlobalContext;
|
|
90
|
-
export declare function pendingArcFold(ctx: GlobalContext, opts?: CompactOpts): SynopsisLine[] | null;
|
|
91
|
-
export declare function applyArcFold(ctx: GlobalContext, summary: string, opts?: CompactOpts): void;
|
|
92
|
-
export declare const DETAIL_EPISODES = 6;
|
|
93
|
-
export declare function render(ctx: GlobalContext, currentEpisode?: number): string;
|
|
@@ -1,355 +0,0 @@
|
|
|
1
|
-
// Serial-govern running context (§ serial), built INCREMENTALLY. The front gives
|
|
2
|
-
// only the body (scenes + dialogue/action, speakers by name); it does NOT feed any
|
|
3
|
-
// pre-extracted assets/states. This module maintains a registry that starts EMPTY
|
|
4
|
-
// and grows episode by episode: the model, reading one episode's body plus the
|
|
5
|
-
// context-so-far, discovers entities (with 造型/looks + descriptions),
|
|
6
|
-
// merges identities, and states — per scene — who is present and in which 造型.
|
|
7
|
-
//
|
|
8
|
-
// Nothing here is seeded from the jsonl roster. render() shows only what has been
|
|
9
|
-
// discovered up to now (so episode 1 is small). The persistent core (entities +
|
|
10
|
-
// looks + per-scene refs) never compacts; the plot narrative (recent → synopsis →
|
|
11
|
-
// arc) ages down a ladder to stay within budget. The final v3 assets/scene-refs
|
|
12
|
-
// are built from THIS registry, not the roster.
|
|
13
|
-
const norm = (s) => s.normalize("NFC").replace(/\s+/g, " ").trim();
|
|
14
|
-
// Strip an inline paren annotation from a name — `大牛(BigBull)` → `大牛`. The
|
|
15
|
-
// serial tool output is cleaned in toDelta, but names coming from the assembled
|
|
16
|
-
// BODY (scene cast, dialogue speakers written by normalize) still carry the source
|
|
17
|
-
// `中文(English)` dual-naming. resolveCanon runs those through this so a polluted
|
|
18
|
-
// speaker resolves against the clean registry (and, if unmatched, still ships
|
|
19
|
-
// clean). A leading paren (no name before it) is left whole.
|
|
20
|
-
const stripParen = (s) => {
|
|
21
|
-
const m = /[((]/.exec(s);
|
|
22
|
-
if (!m || m.index === 0)
|
|
23
|
-
return s;
|
|
24
|
-
return s.slice(0, m.index).trim();
|
|
25
|
-
};
|
|
26
|
-
export const recentLabel = (r) => r.startEp === r.endEp ? `第${r.startEp}集` : `第${r.startEp}集–第${r.endEp}集`;
|
|
27
|
-
export const synopsisLabel = (s) => s.startEp === s.endEp ? `第${s.startEp}集` : `第${s.startEp}集–第${s.endEp}集`;
|
|
28
|
-
export const emptyDelta = () => ({ newEntities: [], merges: [], looks: [], lookChanges: [], subEvents: [], summary: "" });
|
|
29
|
-
export const emptyContext = () => ({ entities: [], lookChanges: {}, recent: [], synopsis: [] });
|
|
30
|
-
export const DEFAULT_COMPACT = { recentEpisodes: 6, synopsisChars: 3500, arcFold: 10 };
|
|
31
|
-
// Serial windowing: pack contiguous episode bodies up to this token budget and
|
|
32
|
-
// parse them in ONE call. Context still flows window→window (serial), so a window
|
|
33
|
-
// only trades a little within-window pre-applied context for far fewer calls —
|
|
34
|
-
// the win is biggest late, where one big context is amortized over several episodes.
|
|
35
|
-
export const DEFAULT_WINDOW_TOKENS = 10000;
|
|
36
|
-
// Deterministic token estimate for CJK+latin mixed body text. Not a real
|
|
37
|
-
// tokenizer (grok/deepseek differ), but stable across runs so window boundaries —
|
|
38
|
-
// hence resume cache keys — are identical. CJK ≈ 0.7 tok/char, latin ≈ 0.25.
|
|
39
|
-
export function estimateTokens(text) {
|
|
40
|
-
let cjk = 0, total = 0;
|
|
41
|
-
for (const ch of text) {
|
|
42
|
-
total++;
|
|
43
|
-
const c = ch.codePointAt(0);
|
|
44
|
-
if ((c >= 0x3400 && c <= 0x9fff) || (c >= 0x3000 && c <= 0x30ff) || (c >= 0xff00 && c <= 0xffef) || (c >= 0xf900 && c <= 0xfaff))
|
|
45
|
-
cjk++;
|
|
46
|
-
}
|
|
47
|
-
return Math.round(cjk * 0.7 + (total - cjk) * 0.25);
|
|
48
|
-
}
|
|
49
|
-
// Greedy-pack episode token sizes into windows under `budget`. Episodes are atomic
|
|
50
|
-
// (cut only on episode boundaries); a single episode larger than the budget takes
|
|
51
|
-
// its own window. Returns inclusive 1-based [startEp, endEp] ranges. Pure +
|
|
52
|
-
// deterministic so resume re-packs identically.
|
|
53
|
-
export function packEpisodes(tokens, budget = DEFAULT_WINDOW_TOKENS) {
|
|
54
|
-
const windows = [];
|
|
55
|
-
let start = 0, acc = 0;
|
|
56
|
-
for (let i = 0; i < tokens.length; i++) {
|
|
57
|
-
if (i > start && acc + tokens[i] > budget) {
|
|
58
|
-
windows.push([start + 1, i]);
|
|
59
|
-
start = i;
|
|
60
|
-
acc = 0;
|
|
61
|
-
}
|
|
62
|
-
acc += tokens[i];
|
|
63
|
-
}
|
|
64
|
-
if (start < tokens.length)
|
|
65
|
-
windows.push([start + 1, tokens.length]);
|
|
66
|
-
return windows;
|
|
67
|
-
}
|
|
68
|
-
const KIND_LABEL = { actor: "人物", location: "场景", prop: "道具" };
|
|
69
|
-
const LABEL_KIND = { 人物: "actor", 场景: "location", 地点: "location", 道具: "prop" };
|
|
70
|
-
export const kindFromLabel = (s) => LABEL_KIND[s.trim()];
|
|
71
|
-
export function findEntity(ctx, name) {
|
|
72
|
-
const key = norm(name);
|
|
73
|
-
return ctx.entities.find((e) => norm(e.canonical) === key || e.aliases.some((a) => norm(a) === key));
|
|
74
|
-
}
|
|
75
|
-
const addAlias = (e, name) => {
|
|
76
|
-
if (norm(name) !== norm(e.canonical) && !e.aliases.some((a) => norm(a) === norm(name)))
|
|
77
|
-
e.aliases.push(name);
|
|
78
|
-
};
|
|
79
|
-
// Age/size modifier prefixes that a proper name would not carry — a name whose
|
|
80
|
-
// only extra over a shorter one is such a modifier is NOT "fuller" (年轻苏远桥 is
|
|
81
|
-
// not fuller than 苏远桥; 苏若雪 IS fuller than 若雪 because 苏 is a surname).
|
|
82
|
-
const MODIFIERS = ["年轻", "年老", "年幼", "年少", "中年", "青年", "少年", "老年", "幼年", "老", "小", "大", "少", "幼"];
|
|
83
|
-
// n properly extends m if it contains m and the leftover part is a real name
|
|
84
|
-
// fragment (a surname), not just a modifier.
|
|
85
|
-
function properlyExtends(n, m) {
|
|
86
|
-
const N = norm(n), M = norm(m);
|
|
87
|
-
if (N === M || !N.includes(M))
|
|
88
|
-
return false;
|
|
89
|
-
const extra = N.replace(M, "").trim();
|
|
90
|
-
return extra.length > 0 && !MODIFIERS.some((mod) => extra === mod || extra.startsWith(mod));
|
|
91
|
-
}
|
|
92
|
-
// The "fullest" name in a set = the longest one that PROPERLY extends another
|
|
93
|
-
// (surname prefix, not a modifier). If none does, keep the first (current
|
|
94
|
-
// canonical) — avoids promoting a modified or unrelated long name.
|
|
95
|
-
export function fullest(names) {
|
|
96
|
-
const supers = names.filter((n) => names.some((m) => m !== n && properlyExtends(n, m)));
|
|
97
|
-
return supers.length ? supers.reduce((a, b) => (b.length > a.length ? b : a)) : names[0];
|
|
98
|
-
}
|
|
99
|
-
// Crowd / collective names (同学们, 众人, 丫鬟们, 村民, 轿夫4名) are NOT single
|
|
100
|
-
// characters — nobody draws a portrait of "同学们". Such a name must never become an
|
|
101
|
-
// actor asset; its lines belong to a `group` speaker instead. Signal: ends with 们,
|
|
102
|
-
// is a bare crowd noun, has an explicit group qualifier/count, or ends in an
|
|
103
|
-
// inherently collective noun such as 群众/观众. A trailing count (轿夫4名 → 轿夫)
|
|
104
|
-
// is stripped first. Specific individual roles such as 传旨太监 remain actors.
|
|
105
|
-
const CROWD_WORDS = [
|
|
106
|
-
"众人", "群众", "民众", "观众", "人群", "人们", "大家", "路人", "行人", "看客", "围观者",
|
|
107
|
-
"村民", "士兵", "百姓", "学生", "同学", "丫鬟", "随从", "侍卫", "家丁", "仆人", "下人", "孩子",
|
|
108
|
-
"轿夫", "护卫", "手下", "小弟", "喽啰", "官兵", "衙役", "太监", "宫女", "婢女", "商贩", "食客",
|
|
109
|
-
];
|
|
110
|
-
const COLLECTIVE_SUFFIXES = ["众人", "群众", "民众", "观众", "人群", "人们", "大家", "百姓", "官兵"];
|
|
111
|
-
const GROUP_QUALIFIER = /^(?:一群|一众|全体|所有|几名|数名|多名|[0-9零一二两三四五六七八九十百千]+名?)/;
|
|
112
|
-
export function isCrowdName(name) {
|
|
113
|
-
const n = norm(name).replace(/[0-9零一二两三四五六七八九十百千]+名?$/, "").trim();
|
|
114
|
-
if (!n)
|
|
115
|
-
return false;
|
|
116
|
-
if (n.endsWith("们"))
|
|
117
|
-
return true;
|
|
118
|
-
if (CROWD_WORDS.includes(n))
|
|
119
|
-
return true;
|
|
120
|
-
if (COLLECTIVE_SUFFIXES.some((word) => n.endsWith(word)))
|
|
121
|
-
return true;
|
|
122
|
-
return GROUP_QUALIFIER.test(n) && CROWD_WORDS.some((word) => n.endsWith(word));
|
|
123
|
-
}
|
|
124
|
-
// Canonical name for any name/alias (post-upsert), else the (paren-stripped) name.
|
|
125
|
-
// Body-sourced names (dialogue speakers, scene cast) resolve here — since the model
|
|
126
|
-
// declares every 叫法 (incl. speaker spellings) as an entity alias, findEntity picks
|
|
127
|
-
// them up; an unmatched name is the model having missed an alias, and ships clean.
|
|
128
|
-
export function resolveCanon(ctx, name) {
|
|
129
|
-
const clean = stripParen(name);
|
|
130
|
-
return findEntity(ctx, clean)?.canonical ?? clean;
|
|
131
|
-
}
|
|
132
|
-
// Canonical look name for a look name/alias on an entity, else the name unchanged.
|
|
133
|
-
export function resolveLook(e, name) {
|
|
134
|
-
const key = norm(name);
|
|
135
|
-
return e.looks.find((l) => norm(l.name) === key || l.aliases.some((a) => norm(a) === key))?.name ?? name;
|
|
136
|
-
}
|
|
137
|
-
// The entity's baseline "常态" look name (everyday appearance) — the explicitly
|
|
138
|
-
// labelled one if present, else the first look reported. Scenes with no specific
|
|
139
|
-
// look fall back to this, so an ordinary scene never inherits a dramatic outfit.
|
|
140
|
-
const BASE_LABELS = ["常态", "日常", "平时", "基础", "普通"];
|
|
141
|
-
export function baseLook(e) {
|
|
142
|
-
if (e.looks.length === 0)
|
|
143
|
-
return undefined;
|
|
144
|
-
return (e.looks.find((l) => BASE_LABELS.some((b) => l.name.includes(b))) ?? e.looks[0]).name;
|
|
145
|
-
}
|
|
146
|
-
// The registered entity (within kind) that a name belongs to, else undefined.
|
|
147
|
-
// exclude lets a caller ignore the entity it's currently updating.
|
|
148
|
-
function ownerOf(ctx, kind, name, exclude) {
|
|
149
|
-
const k = norm(stripParen(name));
|
|
150
|
-
if (!k)
|
|
151
|
-
return undefined;
|
|
152
|
-
return ctx.entities.find((e) => e.kind === kind && e !== exclude && (norm(e.canonical) === k || e.aliases.some((a) => norm(a) === k)));
|
|
153
|
-
}
|
|
154
|
-
// Promote the fullest name (a superstring of another in the set) to canonical, so
|
|
155
|
-
// 苏若雪 wins over 若雪, 顾夜渊 over 夜渊.
|
|
156
|
-
function promoteCanonical(e) {
|
|
157
|
-
const all = [e.canonical, ...e.aliases];
|
|
158
|
-
const best = fullest(all);
|
|
159
|
-
if (norm(best) !== norm(e.canonical)) {
|
|
160
|
-
e.canonical = best;
|
|
161
|
-
e.aliases = all.filter((n) => norm(n) !== norm(best));
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
export function applyDelta(ctx, delta, startEp, endEp = startEp) {
|
|
165
|
-
// newEntities: declare/refresh an entity. An alias that already belongs to a
|
|
166
|
-
// DIFFERENT entity is a cross-entity slip → skipped (never absorb another
|
|
167
|
-
// character). Re-declaring a known name just tops up its aliases/description.
|
|
168
|
-
for (const ne of delta.newEntities) {
|
|
169
|
-
const canon = stripParen(ne.name);
|
|
170
|
-
if (!canon)
|
|
171
|
-
continue;
|
|
172
|
-
const dst = ownerOf(ctx, ne.kind, canon);
|
|
173
|
-
if (!dst) {
|
|
174
|
-
const aliases = [];
|
|
175
|
-
for (const a of ne.aliases) {
|
|
176
|
-
const n = stripParen(a);
|
|
177
|
-
if (n && norm(n) !== norm(canon) && !ownerOf(ctx, ne.kind, n))
|
|
178
|
-
aliases.push(n);
|
|
179
|
-
}
|
|
180
|
-
ctx.entities.push({
|
|
181
|
-
kind: ne.kind,
|
|
182
|
-
canonical: canon,
|
|
183
|
-
aliases: [...new Set(aliases)],
|
|
184
|
-
description: ne.description,
|
|
185
|
-
looks: [{ name: ne.defaultLook.name, aliases: [], description: ne.defaultLook.description }],
|
|
186
|
-
lastSeen: endEp,
|
|
187
|
-
});
|
|
188
|
-
continue;
|
|
189
|
-
}
|
|
190
|
-
for (const a of ne.aliases) {
|
|
191
|
-
const n = stripParen(a);
|
|
192
|
-
if (n && !ownerOf(ctx, ne.kind, n, dst))
|
|
193
|
-
addAlias(dst, n);
|
|
194
|
-
}
|
|
195
|
-
if (!dst.description && ne.description)
|
|
196
|
-
dst.description = ne.description;
|
|
197
|
-
const registeredDefault = dst.looks.find((look) => norm(look.name) === norm(ne.defaultLook.name));
|
|
198
|
-
if (registeredDefault)
|
|
199
|
-
registeredDefault.description = ne.defaultLook.description;
|
|
200
|
-
else
|
|
201
|
-
dst.looks.unshift({ name: ne.defaultLook.name, aliases: [], description: ne.defaultLook.description });
|
|
202
|
-
promoteCanonical(dst);
|
|
203
|
-
}
|
|
204
|
-
// merges: a body 称呼 (`from`) that is NOT yet registered is an alias of `into`.
|
|
205
|
-
// CONSERVATIVE: if `from` is already its own registered entity, skip — never fold
|
|
206
|
-
// two registered characters (wrong merge is irreversible; a missed one is cheap).
|
|
207
|
-
for (const { from, into } of delta.merges) {
|
|
208
|
-
const intoCanon = stripParen(into);
|
|
209
|
-
if (!intoCanon)
|
|
210
|
-
continue;
|
|
211
|
-
const dst = findEntity(ctx, intoCanon);
|
|
212
|
-
if (!dst)
|
|
213
|
-
continue;
|
|
214
|
-
const f = stripParen(from);
|
|
215
|
-
if (!f || norm(f) === norm(dst.canonical))
|
|
216
|
-
continue;
|
|
217
|
-
if (findEntity(ctx, f))
|
|
218
|
-
continue; // `from` is a registered entity → don't fold
|
|
219
|
-
addAlias(dst, f);
|
|
220
|
-
promoteCanonical(dst);
|
|
221
|
-
}
|
|
222
|
-
for (const { entity, names: raw, description } of delta.looks) {
|
|
223
|
-
const e = findEntity(ctx, entity);
|
|
224
|
-
if (!e)
|
|
225
|
-
continue;
|
|
226
|
-
const names = raw.map((n) => n.trim()).filter(Boolean);
|
|
227
|
-
if (!names.length)
|
|
228
|
-
continue;
|
|
229
|
-
const canonical = names[0];
|
|
230
|
-
const existing = e.looks.find((l) => norm(l.name) === norm(canonical) || names.some((n) => l.aliases.some((a) => norm(a) === norm(n))));
|
|
231
|
-
if (existing) {
|
|
232
|
-
if (description)
|
|
233
|
-
existing.description = description;
|
|
234
|
-
for (const n of names) {
|
|
235
|
-
if (norm(n) !== norm(existing.name) && !existing.aliases.some((a) => norm(a) === norm(n)))
|
|
236
|
-
existing.aliases.push(n);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
else
|
|
240
|
-
e.looks.push({ name: canonical, aliases: names.slice(1), description });
|
|
241
|
-
}
|
|
242
|
-
// Sparse 造型 changes → accumulate per scene; entity resolved to canonical. Also
|
|
243
|
-
// stamp currentLook so the render gives the model each entity's latest 造型.
|
|
244
|
-
for (const lc of delta.lookChanges) {
|
|
245
|
-
const scene = lc.scene.trim();
|
|
246
|
-
const entity = resolveCanon(ctx, lc.entity);
|
|
247
|
-
const rawLook = lc.look.trim();
|
|
248
|
-
if (!scene || !entity || !rawLook)
|
|
249
|
-
continue;
|
|
250
|
-
const registered = findEntity(ctx, entity);
|
|
251
|
-
const look = registered ? resolveLook(registered, rawLook) : rawLook;
|
|
252
|
-
(ctx.lookChanges[scene] ??= []).push({ entity, look });
|
|
253
|
-
if (registered)
|
|
254
|
-
registered.currentLook = look;
|
|
255
|
-
}
|
|
256
|
-
// Mark every entity referenced this episode as freshly seen (drives render
|
|
257
|
-
// detail gating: recent entities render in full, dormant ones fold to one line).
|
|
258
|
-
const touched = new Set();
|
|
259
|
-
for (const ne of delta.newEntities) {
|
|
260
|
-
touched.add(ne.name);
|
|
261
|
-
for (const a of ne.aliases)
|
|
262
|
-
touched.add(a);
|
|
263
|
-
}
|
|
264
|
-
for (const mg of delta.merges) {
|
|
265
|
-
touched.add(mg.from);
|
|
266
|
-
touched.add(mg.into);
|
|
267
|
-
}
|
|
268
|
-
for (const l of delta.looks)
|
|
269
|
-
touched.add(l.entity);
|
|
270
|
-
for (const lc of delta.lookChanges)
|
|
271
|
-
touched.add(lc.entity);
|
|
272
|
-
for (const n of touched) {
|
|
273
|
-
const e = findEntity(ctx, n);
|
|
274
|
-
if (e)
|
|
275
|
-
e.lastSeen = endEp;
|
|
276
|
-
}
|
|
277
|
-
ctx.recent.push({ startEp, endEp, summary: delta.summary, subEvents: delta.subEvents });
|
|
278
|
-
return ctx;
|
|
279
|
-
}
|
|
280
|
-
const recentChars = (r) => r.summary.length + r.subEvents.reduce((n, s) => n + s.length, 0);
|
|
281
|
-
// Age recent → synopsis one-liners (pure). Arc folding of the synopsis is a
|
|
282
|
-
// SEPARATE async step (pendingArcFold + applyArcFold) because it summarizes via
|
|
283
|
-
// LLM; keeping compact pure lets resume replay it deterministically.
|
|
284
|
-
export function compact(ctx, opts = DEFAULT_COMPACT) {
|
|
285
|
-
while (ctx.recent.length > opts.recentEpisodes || (ctx.recent.length > 1 && ctx.recent.reduce((n, r) => n + recentChars(r), 0) > 6000)) {
|
|
286
|
-
const oldest = ctx.recent.shift();
|
|
287
|
-
if (oldest.summary.trim())
|
|
288
|
-
ctx.synopsis.push({ startEp: oldest.startEp, endEp: oldest.endEp, line: oldest.summary.trim() });
|
|
289
|
-
}
|
|
290
|
-
return ctx;
|
|
291
|
-
}
|
|
292
|
-
// The oldest `arcFold` synopsis entries to compress, if the synopsis is over its
|
|
293
|
-
// char budget; else null. Pure + deterministic, so the fold boundary — and thus
|
|
294
|
-
// the arc summary's cache key [startEp, endEp] — is identical across runs/resumes.
|
|
295
|
-
export function pendingArcFold(ctx, opts = DEFAULT_COMPACT) {
|
|
296
|
-
const total = ctx.synopsis.reduce((n, s) => n + s.line.length, 0);
|
|
297
|
-
if (total <= opts.synopsisChars || ctx.synopsis.length <= opts.arcFold)
|
|
298
|
-
return null;
|
|
299
|
-
return ctx.synopsis.slice(0, opts.arcFold);
|
|
300
|
-
}
|
|
301
|
-
// Replace the oldest `arcFold` synopsis entries with one arc entry carrying the
|
|
302
|
-
// (LLM-produced) summary and the folded range's clean [startEp, endEp].
|
|
303
|
-
export function applyArcFold(ctx, summary, opts = DEFAULT_COMPACT) {
|
|
304
|
-
const fold = ctx.synopsis.splice(0, opts.arcFold);
|
|
305
|
-
if (!fold.length)
|
|
306
|
-
return;
|
|
307
|
-
ctx.synopsis.unshift({ startEp: fold[0].startEp, endEp: fold[fold.length - 1].endEp, line: summary.trim() });
|
|
308
|
-
}
|
|
309
|
-
// Episodes of recency within which an entity renders in FULL detail; older
|
|
310
|
-
// (dormant) entities fold to a one-line stub so input doesn't grow with cast.
|
|
311
|
-
export const DETAIL_EPISODES = 6;
|
|
312
|
-
// Render the discovered-so-far context as md — BOTH the prompt and the per-step
|
|
313
|
-
// trace. Empty at episode 1. When `currentEpisode` is given, only entities seen
|
|
314
|
-
// within DETAIL_EPISODES render in full (简介 + 造型 + 描述); dormant ones fold to a
|
|
315
|
-
// one-line stub (name + aliases + current look) so identity is still recognizable
|
|
316
|
-
// on their return without bloating the input.
|
|
317
|
-
export function render(ctx, currentEpisode) {
|
|
318
|
-
const detailed = (e) => currentEpisode === undefined || e.lastSeen >= currentEpisode - DETAIL_EPISODES;
|
|
319
|
-
const out = ["# 设定"];
|
|
320
|
-
for (const kind of ["actor", "location", "prop"]) {
|
|
321
|
-
const list = ctx.entities.filter((e) => e.kind === kind);
|
|
322
|
-
if (!list.length)
|
|
323
|
-
continue;
|
|
324
|
-
out.push(`## ${KIND_LABEL[kind]}`);
|
|
325
|
-
for (const e of list) {
|
|
326
|
-
const bits = [...(e.aliases.length ? [`别名 ${e.aliases.join("、")}`] : []), ...(e.currentLook ? [`当前造型 ${e.currentLook}`] : [])];
|
|
327
|
-
out.push(`- ${e.canonical}|${bits.join("|")}`);
|
|
328
|
-
if (!detailed(e))
|
|
329
|
-
continue; // dormant → one-line stub only
|
|
330
|
-
if (e.description)
|
|
331
|
-
out.push(` 简介:${e.description}`);
|
|
332
|
-
for (const l of e.looks) {
|
|
333
|
-
const nm = l.aliases.length ? `${l.name}(=${l.aliases.join("=")})` : l.name;
|
|
334
|
-
out.push(` 造型 ${nm}${l.description ? `:${l.description}` : ""}`);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
if (ctx.synopsis.length) {
|
|
339
|
-
out.push("", "# 前情");
|
|
340
|
-
for (const s of ctx.synopsis)
|
|
341
|
-
out.push(`- ${synopsisLabel(s)}:${s.line}`);
|
|
342
|
-
}
|
|
343
|
-
if (ctx.recent.length) {
|
|
344
|
-
out.push("", "# 最近");
|
|
345
|
-
for (const r of ctx.recent) {
|
|
346
|
-
out.push(`## ${recentLabel(r)}`);
|
|
347
|
-
if (r.summary.trim())
|
|
348
|
-
out.push(`梗概:${r.summary.trim()}`);
|
|
349
|
-
for (const e of r.subEvents)
|
|
350
|
-
out.push(`- ${e}`);
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
return out.join("\n");
|
|
354
|
-
}
|
|
355
|
-
//# sourceMappingURL=serial-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serial-context.js","sourceRoot":"","sources":["../../../src/domain/ingest/serial-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state-identity.js","sourceRoot":"","sources":["../../../src/domain/ingest/state-identity.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE,CACxD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type StateGroup = {
|
|
2
|
-
canonical: string;
|
|
3
|
-
state_ids: string[];
|
|
4
|
-
description?: string;
|
|
5
|
-
};
|
|
6
|
-
type Obj = Record<string, unknown>;
|
|
7
|
-
export declare function mergeableStates(asset: Obj): Array<{
|
|
8
|
-
id: string;
|
|
9
|
-
name: string;
|
|
10
|
-
}>;
|
|
11
|
-
export declare function applyStateReconcile(input: unknown, keepByAsset: Map<string, StateGroup[]>): Obj;
|
|
12
|
-
export {};
|