@lingjingai/scriptctl 0.35.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/README.md +21 -5
  2. package/changes/0.36.0.md +22 -0
  3. package/dist/bin.js +0 -0
  4. package/dist/cli.d.ts +2 -1
  5. package/dist/cli.js +52 -128
  6. package/dist/cli.js.map +1 -1
  7. package/dist/common.d.ts +0 -16
  8. package/dist/common.js +2 -342
  9. package/dist/common.js.map +1 -1
  10. package/dist/domain/ingest/apply-plan.d.ts +23 -0
  11. package/dist/domain/ingest/apply-plan.js +210 -0
  12. package/dist/domain/ingest/apply-plan.js.map +1 -0
  13. package/dist/domain/ingest/assembler.d.ts +57 -0
  14. package/dist/domain/ingest/assembler.js +181 -0
  15. package/dist/domain/ingest/assembler.js.map +1 -0
  16. package/dist/domain/ingest/chunker.d.ts +9 -0
  17. package/dist/domain/ingest/chunker.js +38 -0
  18. package/dist/domain/ingest/chunker.js.map +1 -0
  19. package/dist/domain/ingest/evidence.d.ts +5 -0
  20. package/dist/domain/ingest/evidence.js +66 -0
  21. package/dist/domain/ingest/evidence.js.map +1 -0
  22. package/dist/domain/ingest/govern.d.ts +3 -0
  23. package/dist/domain/ingest/govern.js +127 -0
  24. package/dist/domain/ingest/govern.js.map +1 -0
  25. package/dist/domain/ingest/jsonl-parser.d.ts +6 -0
  26. package/dist/domain/ingest/jsonl-parser.js +187 -0
  27. package/dist/domain/ingest/jsonl-parser.js.map +1 -0
  28. package/dist/domain/ingest/markdown-parser.d.ts +6 -0
  29. package/dist/domain/ingest/markdown-parser.js +186 -0
  30. package/dist/domain/ingest/markdown-parser.js.map +1 -0
  31. package/dist/domain/ingest/records.d.ts +71 -0
  32. package/dist/domain/ingest/records.js +9 -0
  33. package/dist/domain/ingest/records.js.map +1 -0
  34. package/dist/domain/ingest/renumber.d.ts +14 -0
  35. package/dist/domain/ingest/renumber.js +130 -0
  36. package/dist/domain/ingest/renumber.js.map +1 -0
  37. package/dist/domain/ingest/script-v3.d.ts +94 -0
  38. package/dist/domain/ingest/script-v3.js +7 -0
  39. package/dist/domain/ingest/script-v3.js.map +1 -0
  40. package/dist/domain/ingest/state-reconcile.d.ts +11 -0
  41. package/dist/domain/ingest/state-reconcile.js +90 -0
  42. package/dist/domain/ingest/state-reconcile.js.map +1 -0
  43. package/dist/domain/ingest/validation.d.ts +11 -0
  44. package/dist/domain/ingest/validation.js +168 -0
  45. package/dist/domain/ingest/validation.js.map +1 -0
  46. package/dist/domain/ingest/video-aggregate.d.ts +23 -0
  47. package/dist/domain/ingest/video-aggregate.js +89 -0
  48. package/dist/domain/ingest/video-aggregate.js.map +1 -0
  49. package/dist/domain/ingest/video-apply.d.ts +37 -0
  50. package/dist/domain/ingest/video-apply.js +236 -0
  51. package/dist/domain/ingest/video-apply.js.map +1 -0
  52. package/dist/domain/ingest/video-md-parser.d.ts +2 -0
  53. package/dist/domain/ingest/video-md-parser.js +233 -0
  54. package/dist/domain/ingest/video-md-parser.js.map +1 -0
  55. package/dist/domain/ingest/video-records.d.ts +56 -0
  56. package/dist/domain/ingest/video-records.js +9 -0
  57. package/dist/domain/ingest/video-records.js.map +1 -0
  58. package/dist/domain/loom/index.d.ts +2 -1
  59. package/dist/domain/loom/index.js +12 -10
  60. package/dist/domain/loom/index.js.map +1 -1
  61. package/dist/domain/loom/types.d.ts +3 -2
  62. package/dist/domain/script/lookups.d.ts +3 -2
  63. package/dist/domain/script/lookups.js +25 -8
  64. package/dist/domain/script/lookups.js.map +1 -1
  65. package/dist/domain/script/patch/apply.js +2 -2
  66. package/dist/domain/script/patch/apply.js.map +1 -1
  67. package/dist/domain/script/patch/helpers.d.ts +3 -7
  68. package/dist/domain/script/patch/helpers.js +23 -96
  69. package/dist/domain/script/patch/helpers.js.map +1 -1
  70. package/dist/domain/script/patch/ops-action.d.ts +0 -2
  71. package/dist/domain/script/patch/ops-action.js +34 -100
  72. package/dist/domain/script/patch/ops-action.js.map +1 -1
  73. package/dist/domain/script/patch/ops-asset.d.ts +1 -0
  74. package/dist/domain/script/patch/ops-asset.js +102 -155
  75. package/dist/domain/script/patch/ops-asset.js.map +1 -1
  76. package/dist/domain/script/patch/ops-dialogue.d.ts +1 -4
  77. package/dist/domain/script/patch/ops-dialogue.js +43 -220
  78. package/dist/domain/script/patch/ops-dialogue.js.map +1 -1
  79. package/dist/domain/script/patch/ops-extend.js +8 -2
  80. package/dist/domain/script/patch/ops-extend.js.map +1 -1
  81. package/dist/domain/script/patch/ops-meta.js.map +1 -1
  82. package/dist/domain/script/patch/ops-scene.js +26 -39
  83. package/dist/domain/script/patch/ops-scene.js.map +1 -1
  84. package/dist/domain/script/patch/ops-state.d.ts +3 -3
  85. package/dist/domain/script/patch/ops-state.js +33 -49
  86. package/dist/domain/script/patch/ops-state.js.map +1 -1
  87. package/dist/domain/script/patch/registry.js +9 -13
  88. package/dist/domain/script/patch/registry.js.map +1 -1
  89. package/dist/domain/script/refs.js +23 -111
  90. package/dist/domain/script/refs.js.map +1 -1
  91. package/dist/domain/script/scene-refs.d.ts +3 -0
  92. package/dist/domain/script/scene-refs.js +35 -0
  93. package/dist/domain/script/scene-refs.js.map +1 -0
  94. package/dist/domain/script/schema.js +17 -21
  95. package/dist/domain/script/schema.js.map +1 -1
  96. package/dist/domain/script/text-util.d.ts +7 -0
  97. package/dist/domain/script/text-util.js +91 -0
  98. package/dist/domain/script/text-util.js.map +1 -0
  99. package/dist/help-text.js +117 -410
  100. package/dist/help-text.js.map +1 -1
  101. package/dist/infra/converters.js +1 -1
  102. package/dist/infra/converters.js.map +1 -1
  103. package/dist/infra/episode-title.d.ts +4 -0
  104. package/dist/infra/episode-title.js +129 -0
  105. package/dist/infra/episode-title.js.map +1 -0
  106. package/dist/infra/ingest/review-renderer.d.ts +1 -0
  107. package/dist/infra/ingest/review-renderer.js +431 -0
  108. package/dist/infra/ingest/review-renderer.js.map +1 -0
  109. package/dist/infra/ingest/source-resolver.d.ts +21 -0
  110. package/dist/infra/ingest/source-resolver.js +51 -0
  111. package/dist/infra/ingest/source-resolver.js.map +1 -0
  112. package/dist/infra/ingest/text-reader.d.ts +3 -0
  113. package/dist/infra/ingest/text-reader.js +27 -0
  114. package/dist/infra/ingest/text-reader.js.map +1 -0
  115. package/dist/infra/ingest/video-discovery.d.ts +8 -0
  116. package/dist/infra/ingest/video-discovery.js +60 -0
  117. package/dist/infra/ingest/video-discovery.js.map +1 -0
  118. package/dist/infra/ingest/workspace-store.d.ts +18 -0
  119. package/dist/infra/ingest/workspace-store.js +70 -0
  120. package/dist/infra/ingest/workspace-store.js.map +1 -0
  121. package/dist/infra/llm/anthropic-model.d.ts +11 -0
  122. package/dist/infra/llm/anthropic-model.js +109 -0
  123. package/dist/infra/llm/anthropic-model.js.map +1 -0
  124. package/dist/infra/llm/gemini-upload.d.ts +9 -0
  125. package/dist/infra/llm/gemini-upload.js +94 -0
  126. package/dist/infra/llm/gemini-upload.js.map +1 -0
  127. package/dist/infra/llm/gemini-video-model.d.ts +47 -0
  128. package/dist/infra/llm/gemini-video-model.js +167 -0
  129. package/dist/infra/llm/gemini-video-model.js.map +1 -0
  130. package/dist/infra/llm/openai-compatible-model.d.ts +13 -0
  131. package/dist/infra/llm/openai-compatible-model.js +143 -0
  132. package/dist/infra/llm/openai-compatible-model.js.map +1 -0
  133. package/dist/infra/llm/proxy.d.ts +1 -0
  134. package/dist/infra/llm/proxy.js +30 -0
  135. package/dist/infra/llm/proxy.js.map +1 -0
  136. package/dist/infra/llm/retry.d.ts +5 -0
  137. package/dist/infra/llm/retry.js +20 -0
  138. package/dist/infra/llm/retry.js.map +1 -0
  139. package/dist/llm/composition.d.ts +5 -0
  140. package/dist/llm/composition.js +5 -0
  141. package/dist/llm/composition.js.map +1 -0
  142. package/dist/llm/config.d.ts +26 -0
  143. package/dist/llm/config.js +201 -0
  144. package/dist/llm/config.js.map +1 -0
  145. package/dist/llm/registry.d.ts +44 -0
  146. package/dist/llm/registry.js +48 -0
  147. package/dist/llm/registry.js.map +1 -0
  148. package/dist/llm/router.d.ts +23 -0
  149. package/dist/llm/router.js +0 -0
  150. package/dist/llm/router.js.map +1 -0
  151. package/dist/llm/tasks/ingest/asset-curate.d.ts +13 -0
  152. package/dist/llm/tasks/ingest/asset-curate.js +45 -0
  153. package/dist/llm/tasks/ingest/asset-curate.js.map +1 -0
  154. package/dist/llm/tasks/ingest/asset-extract.d.ts +12 -0
  155. package/dist/llm/tasks/ingest/asset-extract.js +51 -0
  156. package/dist/llm/tasks/ingest/asset-extract.js.map +1 -0
  157. package/dist/llm/tasks/ingest/asset-govern.d.ts +22 -0
  158. package/dist/llm/tasks/ingest/asset-govern.js +143 -0
  159. package/dist/llm/tasks/ingest/asset-govern.js.map +1 -0
  160. package/dist/llm/tasks/ingest/mention-resolve.d.ts +9 -0
  161. package/dist/llm/tasks/ingest/mention-resolve.js +39 -0
  162. package/dist/llm/tasks/ingest/mention-resolve.js.map +1 -0
  163. package/dist/llm/tasks/ingest/plot-speaker.d.ts +11 -0
  164. package/dist/llm/tasks/ingest/plot-speaker.js +72 -0
  165. package/dist/llm/tasks/ingest/plot-speaker.js.map +1 -0
  166. package/dist/llm/tasks/ingest/roster-merge.d.ts +46 -0
  167. package/dist/llm/tasks/ingest/roster-merge.js +235 -0
  168. package/dist/llm/tasks/ingest/roster-merge.js.map +1 -0
  169. package/dist/llm/tasks/ingest/state-merge.d.ts +10 -0
  170. package/dist/llm/tasks/ingest/state-merge.js +84 -0
  171. package/dist/llm/tasks/ingest/state-merge.js.map +1 -0
  172. package/dist/llm/tasks/ingest/state-reconcile.d.ts +8 -0
  173. package/dist/llm/tasks/ingest/state-reconcile.js +44 -0
  174. package/dist/llm/tasks/ingest/state-reconcile.js.map +1 -0
  175. package/dist/llm/tasks/ingest/text-normalize.d.ts +10 -0
  176. package/dist/llm/tasks/ingest/text-normalize.js +89 -0
  177. package/dist/llm/tasks/ingest/text-normalize.js.map +1 -0
  178. package/dist/llm/tasks/ingest/video-correct.d.ts +30 -0
  179. package/dist/llm/tasks/ingest/video-correct.js +144 -0
  180. package/dist/llm/tasks/ingest/video-correct.js.map +1 -0
  181. package/dist/llm/tasks/ingest/video-transcribe.d.ts +4 -0
  182. package/dist/llm/tasks/ingest/video-transcribe.js +105 -0
  183. package/dist/llm/tasks/ingest/video-transcribe.js.map +1 -0
  184. package/dist/llm/tasks/schemas.d.ts +5 -0
  185. package/dist/llm/tasks/schemas.js +107 -0
  186. package/dist/llm/tasks/schemas.js.map +1 -0
  187. package/dist/llm/types.d.ts +97 -0
  188. package/dist/llm/types.js +13 -0
  189. package/dist/llm/types.js.map +1 -0
  190. package/dist/usecases/doctor.d.ts +1 -1
  191. package/dist/usecases/doctor.js +36 -9
  192. package/dist/usecases/doctor.js.map +1 -1
  193. package/dist/usecases/ingest/command.d.ts +5 -0
  194. package/dist/usecases/ingest/command.js +57 -0
  195. package/dist/usecases/ingest/command.js.map +1 -0
  196. package/dist/usecases/ingest/fanout.d.ts +10 -0
  197. package/dist/usecases/ingest/fanout.js +23 -0
  198. package/dist/usecases/ingest/fanout.js.map +1 -0
  199. package/dist/usecases/ingest/pass4-mention-resolve.d.ts +11 -0
  200. package/dist/usecases/ingest/pass4-mention-resolve.js +52 -0
  201. package/dist/usecases/ingest/pass4-mention-resolve.js.map +1 -0
  202. package/dist/usecases/ingest/pass5-extract.d.ts +7 -0
  203. package/dist/usecases/ingest/pass5-extract.js +50 -0
  204. package/dist/usecases/ingest/pass5-extract.js.map +1 -0
  205. package/dist/usecases/ingest/pass5-govern.d.ts +13 -0
  206. package/dist/usecases/ingest/pass5-govern.js +155 -0
  207. package/dist/usecases/ingest/pass5-govern.js.map +1 -0
  208. package/dist/usecases/ingest/pipeline.d.ts +28 -0
  209. package/dist/usecases/ingest/pipeline.js +144 -0
  210. package/dist/usecases/ingest/pipeline.js.map +1 -0
  211. package/dist/usecases/ingest/publish-command.d.ts +4 -0
  212. package/dist/usecases/ingest/publish-command.js +77 -0
  213. package/dist/usecases/ingest/publish-command.js.map +1 -0
  214. package/dist/usecases/ingest/status.d.ts +39 -0
  215. package/dist/usecases/ingest/status.js +155 -0
  216. package/dist/usecases/ingest/status.js.map +1 -0
  217. package/dist/usecases/ingest/video-pass3.d.ts +26 -0
  218. package/dist/usecases/ingest/video-pass3.js +0 -0
  219. package/dist/usecases/ingest/video-pass3.js.map +1 -0
  220. package/dist/usecases/ingest/video-pipeline.d.ts +32 -0
  221. package/dist/usecases/ingest/video-pipeline.js +202 -0
  222. package/dist/usecases/ingest/video-pipeline.js.map +1 -0
  223. package/dist/usecases/ingest/view-command.d.ts +4 -0
  224. package/dist/usecases/ingest/view-command.js +51 -0
  225. package/dist/usecases/ingest/view-command.js.map +1 -0
  226. package/dist/usecases/script/actions.js +2 -2
  227. package/dist/usecases/script/actions.js.map +1 -1
  228. package/dist/usecases/script/actor.js.map +1 -1
  229. package/dist/usecases/script/actors.js.map +1 -1
  230. package/dist/usecases/script/add-actor.js.map +1 -1
  231. package/dist/usecases/script/add-episode.js.map +1 -1
  232. package/dist/usecases/script/add-location.js.map +1 -1
  233. package/dist/usecases/script/add-prop.js.map +1 -1
  234. package/dist/usecases/script/alias.js.map +1 -1
  235. package/dist/usecases/script/assets.js.map +1 -1
  236. package/dist/usecases/script/context.js.map +1 -1
  237. package/dist/usecases/script/create.js +3 -6
  238. package/dist/usecases/script/create.js.map +1 -1
  239. package/dist/usecases/script/delete.js.map +1 -1
  240. package/dist/usecases/script/describe.js.map +1 -1
  241. package/dist/usecases/script/dialogue.js +6 -13
  242. package/dist/usecases/script/dialogue.js.map +1 -1
  243. package/dist/usecases/script/do.js +1 -1
  244. package/dist/usecases/script/do.js.map +1 -1
  245. package/dist/usecases/script/episodes.js.map +1 -1
  246. package/dist/usecases/script/{add-speaker.d.ts → importance.d.ts} +1 -1
  247. package/dist/usecases/script/importance.js +17 -0
  248. package/dist/usecases/script/importance.js.map +1 -0
  249. package/dist/usecases/script/insert.js.map +1 -1
  250. package/dist/usecases/script/issues.js.map +1 -1
  251. package/dist/usecases/script/lib.d.ts +8 -6
  252. package/dist/usecases/script/lib.js +81 -97
  253. package/dist/usecases/script/lib.js.map +1 -1
  254. package/dist/usecases/script/locations.js.map +1 -1
  255. package/dist/usecases/script/merge.js.map +1 -1
  256. package/dist/usecases/script/move.js.map +1 -1
  257. package/dist/usecases/script/props.js.map +1 -1
  258. package/dist/usecases/script/refs.js.map +1 -1
  259. package/dist/usecases/script/rename.js.map +1 -1
  260. package/dist/usecases/script/replace.js.map +1 -1
  261. package/dist/usecases/script/role.js.map +1 -1
  262. package/dist/usecases/script/scenes.js +8 -15
  263. package/dist/usecases/script/scenes.js.map +1 -1
  264. package/dist/usecases/script/script-patch.js +1 -1
  265. package/dist/usecases/script/script-patch.js.map +1 -1
  266. package/dist/usecases/script/script-validate.js +1 -1
  267. package/dist/usecases/script/script-validate.js.map +1 -1
  268. package/dist/usecases/script/session.d.ts +4 -4
  269. package/dist/usecases/script/session.js +57 -78
  270. package/dist/usecases/script/session.js.map +1 -1
  271. package/dist/usecases/script/split.js.map +1 -1
  272. package/dist/usecases/script/state-add.js.map +1 -1
  273. package/dist/usecases/script/state-delete.js.map +1 -1
  274. package/dist/usecases/script/state-rename.js.map +1 -1
  275. package/dist/usecases/script/summary.js.map +1 -1
  276. package/dist/usecases/script/synopsis-generate.d.ts +4 -5
  277. package/dist/usecases/script/synopsis-generate.js +30 -46
  278. package/dist/usecases/script/synopsis-generate.js.map +1 -1
  279. package/dist/usecases/script/transition.js.map +1 -1
  280. package/dist/usecases/script/type.js.map +1 -1
  281. package/dist/usecases/script/worldview.js.map +1 -1
  282. package/package.json +22 -17
  283. package/skills/scriptctl/SKILL.md +140 -120
  284. package/skills/scriptctl/references/atomic-write-workflow.md +12 -9
  285. package/skills/scriptctl/references/ingest-workflow.md +85 -0
  286. package/skills/scriptctl/references/state-reference-repair.md +26 -39
  287. package/dist/domain/direct/runner.d.ts +0 -25
  288. package/dist/domain/direct/runner.js +0 -88
  289. package/dist/domain/direct/runner.js.map +0 -1
  290. package/dist/domain/direct/stage.d.ts +0 -108
  291. package/dist/domain/direct/stage.js +0 -134
  292. package/dist/domain/direct/stage.js.map +0 -1
  293. package/dist/domain/direct/stages/asset-curation.d.ts +0 -2
  294. package/dist/domain/direct/stages/asset-curation.js +0 -10
  295. package/dist/domain/direct/stages/asset-curation.js.map +0 -1
  296. package/dist/domain/direct/stages/batch-extract.d.ts +0 -2
  297. package/dist/domain/direct/stages/batch-extract.js +0 -12
  298. package/dist/domain/direct/stages/batch-extract.js.map +0 -1
  299. package/dist/domain/direct/stages/batch-plan.d.ts +0 -2
  300. package/dist/domain/direct/stages/batch-plan.js +0 -9
  301. package/dist/domain/direct/stages/batch-plan.js.map +0 -1
  302. package/dist/domain/direct/stages/episode-merge.d.ts +0 -2
  303. package/dist/domain/direct/stages/episode-merge.js +0 -11
  304. package/dist/domain/direct/stages/episode-merge.js.map +0 -1
  305. package/dist/domain/direct/stages/episode-plan.d.ts +0 -2
  306. package/dist/domain/direct/stages/episode-plan.js +0 -9
  307. package/dist/domain/direct/stages/episode-plan.js.map +0 -1
  308. package/dist/domain/direct/stages/episode-synopsis.d.ts +0 -2
  309. package/dist/domain/direct/stages/episode-synopsis.js +0 -12
  310. package/dist/domain/direct/stages/episode-synopsis.js.map +0 -1
  311. package/dist/domain/direct/stages/episode-titles.d.ts +0 -2
  312. package/dist/domain/direct/stages/episode-titles.js +0 -12
  313. package/dist/domain/direct/stages/episode-titles.js.map +0 -1
  314. package/dist/domain/direct/stages/index.d.ts +0 -19
  315. package/dist/domain/direct/stages/index.js +0 -41
  316. package/dist/domain/direct/stages/index.js.map +0 -1
  317. package/dist/domain/direct/stages/metadata.d.ts +0 -2
  318. package/dist/domain/direct/stages/metadata.js +0 -11
  319. package/dist/domain/direct/stages/metadata.js.map +0 -1
  320. package/dist/domain/direct/stages/script-merge.d.ts +0 -2
  321. package/dist/domain/direct/stages/script-merge.js +0 -15
  322. package/dist/domain/direct/stages/script-merge.js.map +0 -1
  323. package/dist/domain/direct/stages/script-synopsis.d.ts +0 -2
  324. package/dist/domain/direct/stages/script-synopsis.js +0 -12
  325. package/dist/domain/direct/stages/script-synopsis.js.map +0 -1
  326. package/dist/domain/direct/stages/source-prepare.d.ts +0 -2
  327. package/dist/domain/direct/stages/source-prepare.js +0 -9
  328. package/dist/domain/direct/stages/source-prepare.js.map +0 -1
  329. package/dist/domain/direct/stages/state-binding.d.ts +0 -2
  330. package/dist/domain/direct/stages/state-binding.js +0 -9
  331. package/dist/domain/direct/stages/state-binding.js.map +0 -1
  332. package/dist/domain/direct/stages/state-curation.d.ts +0 -2
  333. package/dist/domain/direct/stages/state-curation.js +0 -10
  334. package/dist/domain/direct/stages/state-curation.js.map +0 -1
  335. package/dist/domain/direct/stages/validate.d.ts +0 -2
  336. package/dist/domain/direct/stages/validate.js +0 -10
  337. package/dist/domain/direct/stages/validate.js.map +0 -1
  338. package/dist/domain/direct-core.d.ts +0 -313
  339. package/dist/domain/direct-core.js +0 -8514
  340. package/dist/domain/direct-core.js.map +0 -1
  341. package/dist/domain/script/validate.d.ts +0 -22
  342. package/dist/domain/script/validate.js +0 -997
  343. package/dist/domain/script/validate.js.map +0 -1
  344. package/dist/infra/providers.d.ts +0 -97
  345. package/dist/infra/providers.js +0 -1396
  346. package/dist/infra/providers.js.map +0 -1
  347. package/dist/usecases/direct.d.ts +0 -27
  348. package/dist/usecases/direct.js +0 -4172
  349. package/dist/usecases/direct.js.map +0 -1
  350. package/dist/usecases/parse.d.ts +0 -15
  351. package/dist/usecases/parse.js +0 -429
  352. package/dist/usecases/parse.js.map +0 -1
  353. package/dist/usecases/script/add-speaker.js +0 -22
  354. package/dist/usecases/script/add-speaker.js.map +0 -1
  355. package/dist/usecases/script/export.d.ts +0 -3
  356. package/dist/usecases/script/export.js +0 -111
  357. package/dist/usecases/script/export.js.map +0 -1
  358. package/dist/usecases/script/overlap.d.ts +0 -3
  359. package/dist/usecases/script/overlap.js +0 -21
  360. package/dist/usecases/script/overlap.js.map +0 -1
  361. package/dist/usecases/script/speakers.d.ts +0 -3
  362. package/dist/usecases/script/speakers.js +0 -28
  363. package/dist/usecases/script/speakers.js.map +0 -1
  364. package/dist/usecases/script/state-change.d.ts +0 -3
  365. package/dist/usecases/script/state-change.js +0 -24
  366. package/dist/usecases/script/state-change.js.map +0 -1
  367. package/skills/scriptctl/references/direct-workflow.md +0 -72
@@ -1,21 +1,22 @@
1
- import { ROLE_TYPE_VALUES, } from "../../../common.js";
2
- import { inferNonActorSpeakerKind, sceneContext, setSceneContext, } from "../../direct-core.js";
1
+ import { ROLE_TYPE_VALUES } from "../../../common.js";
2
+ import { inferNonActorSpeakerKind } from "../text-util.js";
3
3
  import { asList, isDict, isList, opErr, strOf } from "../shared.js";
4
- import { assetKeys, normalizeStates, pluralForKind, pushAsset, } from "../lookups.js";
5
- import { parseAssetTarget, } from "../address.js";
4
+ import { assetKeys, normalizeStates, pluralForKind, pushAsset } from "../lookups.js";
5
+ import { parseAssetTarget } from "../address.js";
6
6
  import { collectAssetRefs } from "../refs.js";
7
- import { contextRefsForKind, resolveAssetByTarget, } from "./helpers.js";
7
+ import { sceneRefs, setSceneRefs } from "../scene-refs.js";
8
+ import { contextRefsForKind, resolveAssetByTarget } from "./helpers.js";
8
9
  import { mergeExtendInto } from "./ops-extend.js";
10
+ const IMPORTANCE_VALUES = new Set(["featured", "background"]);
11
+ const transTarget = (kind, id) => `${kind}:${id}`;
9
12
  export function op_actor_add(__ctx) {
10
- const { script, op, sourceText, applied, kind } = __ctx;
13
+ const { script, op, applied, kind } = __ctx;
11
14
  const name = strOf(op["name"] ?? op["actor_name"]).trim();
12
- // Reject non-human speakers as actors up front (validate would flag
13
- // NONHUMAN_AS_ACTOR otherwise) — system/broadcast/prop voices belong in
14
- // speakers[], not actors[].
15
+ // Reject non-human speakers as actors up front.
15
16
  if (name && inferNonActorSpeakerKind(name) !== "actor") {
16
17
  throw opErr("SCRIPT OP BLOCKED: Non-human as actor", "Non-human speaker registered as actor.", {
17
18
  required: ["a human/character name"], received: [name],
18
- nextSteps: ["Register non-human voices with add-speaker (kind system/broadcast/prop/group/other)."],
19
+ nextSteps: ["Non-human voices belong on dialogue lines as a non-actor speaker (dialogue.speaker.set --kind system|broadcast|offscreen|group)."],
19
20
  op: kind, errorCode: "NONHUMAN_AS_ACTOR",
20
21
  });
21
22
  }
@@ -31,61 +32,64 @@ export function op_actor_add(__ctx) {
31
32
  }
32
33
  entity["role_type"] = roleType;
33
34
  }
34
- // Only stamp aliases when there's at least one — keeps the entity shape
35
- // identical to direct/parse-produced actors (which omit the key when empty).
36
35
  const aliases = isList(op["aliases"]) ? op["aliases"].map((a) => strOf(a).trim()).filter(Boolean) : [];
37
36
  if (aliases.length)
38
37
  entity["aliases"] = aliases;
39
38
  applied.push(kind);
40
39
  }
41
40
  export function op_location_add(__ctx) {
42
- const { script, op, sourceText, applied, kind } = __ctx;
41
+ const { script, op, applied, kind } = __ctx;
43
42
  pushAsset(script, "location", op);
44
43
  applied.push(kind);
45
44
  }
46
45
  export function op_prop_add(__ctx) {
47
- const { script, op, sourceText, applied, kind } = __ctx;
46
+ const { script, op, applied, kind } = __ctx;
48
47
  pushAsset(script, "prop", op);
49
48
  applied.push(kind);
50
49
  }
51
50
  export function op_asset_role_set(__ctx) {
52
- const { script, op, sourceText, applied, kind } = __ctx;
51
+ const { script, op, applied, kind } = __ctx;
53
52
  const [assetKind, assetId] = parseAssetTarget(op["target"]);
54
53
  if (assetKind !== "actor") {
55
54
  throw opErr("SCRIPT OP BLOCKED: Role only on actors", "Role applies to actor only.", {
56
- required: ["actor:<id>"],
57
- received: [strOf(op["target"])],
58
- nextSteps: ["Use an actor target."],
59
- op: kind,
60
- errorCode: "ROLE_TARGET_INVALID",
55
+ required: ["actor:<id>"], received: [strOf(op["target"])],
56
+ nextSteps: ["Use an actor target."], op: kind, errorCode: "ROLE_TARGET_INVALID",
61
57
  });
62
58
  }
63
59
  const asset = resolveAssetByTarget(script, "actor", assetId);
64
60
  const roleType = strOf(op["role_type"] ?? op["role"]).trim();
65
61
  if (!ROLE_TYPE_VALUES.includes(roleType)) {
66
62
  throw opErr("SCRIPT OP BLOCKED: Role type invalid", "Role type invalid.", {
67
- required: ["role_type: 主角 or 配角"],
68
- received: [roleType || "<empty>"],
69
- nextSteps: ["Use a supported actor role_type."],
70
- op: kind,
71
- errorCode: "ROLE_TYPE_INVALID",
63
+ required: ["role_type: 主角 or 配角"], received: [roleType || "<empty>"],
64
+ nextSteps: ["Use a supported actor role_type."], op: kind, errorCode: "ROLE_TYPE_INVALID",
72
65
  });
73
66
  }
74
67
  asset["role_type"] = roleType;
75
68
  applied.push(kind);
76
69
  }
70
+ export function op_importance_set(__ctx) {
71
+ const { script, op, applied, kind } = __ctx;
72
+ const [assetKind, assetId] = parseAssetTarget(op["target"]);
73
+ const asset = resolveAssetByTarget(script, assetKind, assetId);
74
+ const importance = strOf(op["importance"]).trim();
75
+ if (!IMPORTANCE_VALUES.has(importance)) {
76
+ throw opErr("SCRIPT OP BLOCKED: Importance invalid", "Importance invalid.", {
77
+ required: ["importance: featured or background"], received: [importance || "<empty>"],
78
+ nextSteps: ["Use featured (主角/配角) or background (龙套/背景)."], op: kind, errorCode: "IMPORTANCE_INVALID",
79
+ });
80
+ }
81
+ asset["importance"] = importance;
82
+ applied.push(kind);
83
+ }
77
84
  export function op_asset_rename(__ctx) {
78
- const { script, op, sourceText, applied, kind } = __ctx;
85
+ const { script, op, applied, kind } = __ctx;
79
86
  const [assetKind, assetId] = parseAssetTarget(op["target"]);
80
87
  const asset = resolveAssetByTarget(script, assetKind, assetId);
81
88
  const newName = strOf(op["name"] ?? op["new_name"]).trim();
82
89
  if (!newName) {
83
90
  throw opErr("SCRIPT OP BLOCKED: Name empty", "Name empty.", {
84
- required: ["name"],
85
- received: [JSON.stringify(op)],
86
- nextSteps: ["Provide a non-empty name."],
87
- op: kind,
88
- errorCode: "NAME_EMPTY",
91
+ required: ["name"], received: [JSON.stringify(op)],
92
+ nextSteps: ["Provide a non-empty name."], op: kind, errorCode: "NAME_EMPTY",
89
93
  });
90
94
  }
91
95
  const [, , nameKey] = assetKeys(assetKind);
@@ -93,35 +97,28 @@ export function op_asset_rename(__ctx) {
93
97
  applied.push(kind);
94
98
  }
95
99
  export function op_asset_describe(__ctx) {
96
- const { script, op, sourceText, applied, kind } = __ctx;
100
+ const { script, op, applied, kind } = __ctx;
97
101
  const [assetKind, assetId] = parseAssetTarget(op["target"]);
98
102
  const asset = resolveAssetByTarget(script, assetKind, assetId);
99
103
  const description = strOf(op["description"]).trim();
100
104
  if (!description) {
101
105
  throw opErr("SCRIPT OP BLOCKED: Description empty", "Description empty.", {
102
- required: ["description"],
103
- received: [JSON.stringify(op)],
104
- nextSteps: ["Provide a concise grounded description."],
105
- op: kind,
106
- errorCode: "DESCRIPTION_EMPTY",
106
+ required: ["description"], received: [JSON.stringify(op)],
107
+ nextSteps: ["Provide a concise grounded description."], op: kind, errorCode: "DESCRIPTION_EMPTY",
107
108
  });
108
109
  }
109
110
  asset["description"] = description;
110
111
  applied.push(kind);
111
112
  }
112
113
  export function op_asset_alias_set(__ctx) {
113
- const { script, op, sourceText, applied, kind } = __ctx;
114
- // Bulk replace. Rare; primarily for migration tools.
114
+ const { script, op, applied, kind } = __ctx;
115
115
  const [assetKind, assetId] = parseAssetTarget(op["target"]);
116
116
  const asset = resolveAssetByTarget(script, assetKind, assetId);
117
117
  const aliases = op["aliases"];
118
118
  if (!isList(aliases) || aliases.some((it) => typeof it !== "string")) {
119
119
  throw opErr("SCRIPT OP BLOCKED: Aliases invalid", "Aliases invalid.", {
120
- required: ["aliases: array of strings"],
121
- received: [JSON.stringify(op)],
122
- nextSteps: ["Pass a string array."],
123
- op: kind,
124
- errorCode: "ALIASES_INVALID",
120
+ required: ["aliases: array of strings"], received: [JSON.stringify(op)],
121
+ nextSteps: ["Pass a string array."], op: kind, errorCode: "ALIASES_INVALID",
125
122
  });
126
123
  }
127
124
  const seen = new Set();
@@ -137,7 +134,7 @@ export function op_asset_alias_set(__ctx) {
137
134
  applied.push(kind);
138
135
  }
139
136
  export function op_asset_alias_add(__ctx) {
140
- const { script, op, sourceText, applied, kind } = __ctx;
137
+ const { script, op, applied, kind } = __ctx;
141
138
  const [assetKind, assetId] = parseAssetTarget(op["target"]);
142
139
  const asset = resolveAssetByTarget(script, assetKind, assetId);
143
140
  const rawAdd = op["alias"] ?? op["aliases"];
@@ -146,11 +143,8 @@ export function op_asset_alias_add(__ctx) {
146
143
  : strOf(rawAdd).trim() ? [strOf(rawAdd).trim()] : [];
147
144
  if (toAdd.length === 0) {
148
145
  throw opErr("SCRIPT OP BLOCKED: Alias empty", "Alias empty.", {
149
- required: ["alias: non-empty string or array"],
150
- received: [JSON.stringify(op)],
151
- nextSteps: ["Pass --add <alias> at least once."],
152
- op: kind,
153
- errorCode: "ALIAS_EMPTY",
146
+ required: ["alias: non-empty string or array"], received: [JSON.stringify(op)],
147
+ nextSteps: ["Pass --add <alias> at least once."], op: kind, errorCode: "ALIAS_EMPTY",
154
148
  });
155
149
  }
156
150
  const existing = asList(asset["aliases"]).map((s) => strOf(s));
@@ -165,7 +159,7 @@ export function op_asset_alias_add(__ctx) {
165
159
  applied.push(kind);
166
160
  }
167
161
  export function op_asset_alias_remove(__ctx) {
168
- const { script, op, sourceText, applied, kind } = __ctx;
162
+ const { script, op, applied, kind } = __ctx;
169
163
  const [assetKind, assetId] = parseAssetTarget(op["target"]);
170
164
  const asset = resolveAssetByTarget(script, assetKind, assetId);
171
165
  const rawRemove = op["alias"] ?? op["aliases"];
@@ -174,26 +168,28 @@ export function op_asset_alias_remove(__ctx) {
174
168
  : strOf(rawRemove).trim() ? [strOf(rawRemove).trim()] : []);
175
169
  if (toRemove.size === 0) {
176
170
  throw opErr("SCRIPT OP BLOCKED: Alias empty", "Alias empty.", {
177
- required: ["alias: non-empty string or array"],
178
- received: [JSON.stringify(op)],
179
- nextSteps: ["Pass --remove <alias> at least once."],
180
- op: kind,
181
- errorCode: "ALIAS_EMPTY",
171
+ required: ["alias: non-empty string or array"], received: [JSON.stringify(op)],
172
+ nextSteps: ["Pass --remove <alias> at least once."], op: kind, errorCode: "ALIAS_EMPTY",
182
173
  });
183
174
  }
184
175
  asset["aliases"] = asList(asset["aliases"]).map((s) => strOf(s)).filter((a) => !toRemove.has(a));
185
176
  applied.push(kind);
186
177
  }
187
178
  export function op_asset_states_set(__ctx) {
188
- const { script, op, sourceText, applied, kind } = __ctx;
179
+ const { script, op, applied, kind } = __ctx;
189
180
  const [assetKind, assetId] = parseAssetTarget(op["target"]);
190
181
  const asset = resolveAssetByTarget(script, assetKind, assetId);
191
- asset["states"] = normalizeStates(script, op["states"], assetKind);
182
+ // v3 keeps exactly one 'default' state; preserve the existing default (or
183
+ // synthesize one) and append the caller's non-default states.
184
+ const existingDefault = asList(asset["states"]).find((s) => strOf(s["state_id"]) === "default")
185
+ ?? { state_id: "default", state_name: "default", description: "" };
186
+ const rest = normalizeStates(script, op["states"], assetKind).filter((s) => strOf(s["state_id"]) !== "default");
187
+ asset["states"] = [existingDefault, ...rest];
192
188
  applied.push(kind);
193
189
  }
194
190
  export function op_asset_merge(__ctx) {
195
- const { script, op, sourceText, applied, kind } = __ctx;
196
- // Direction is explicit: `from` disappears, `into` keeps everything.
191
+ const { script, op, applied, kind } = __ctx;
192
+ // `from` disappears, `into` keeps everything.
197
193
  const fromRaw = op["from"] ?? op["source"];
198
194
  const intoRaw = op["into"] ?? op["target"];
199
195
  const [fromKind, fromId] = parseAssetTarget(fromRaw);
@@ -202,116 +198,83 @@ export function op_asset_merge(__ctx) {
202
198
  throw opErr("SCRIPT OP BLOCKED: Merge kind mismatch", "Merge source and target must be the same kind.", {
203
199
  required: ["same kind on both sides (actor/actor, location/location, prop/prop)"],
204
200
  received: [`${fromKind}:${fromId} → ${intoKind}:${intoId}`],
205
- nextSteps: ["Use a same-kind target."],
206
- op: kind,
207
- errorCode: "MERGE_KIND_MISMATCH",
201
+ nextSteps: ["Use a same-kind target."], op: kind, errorCode: "MERGE_KIND_MISMATCH",
208
202
  });
209
203
  }
210
- // Self-merge resolves both sides to the same dict, then drops it from the
211
- // asset list — silently deleting the survivor. Refuse before any mutation.
212
204
  if (fromId === intoId) {
213
205
  throw opErr("SCRIPT OP BLOCKED: Merge self", "Cannot merge an asset into itself.", {
214
206
  required: ["distinct from / into assets"],
215
207
  received: [`${fromKind}:${fromId} → ${intoKind}:${intoId}`],
216
- nextSteps: ["Pick two different assets to merge."],
217
- op: kind,
218
- errorCode: "MERGE_SELF",
208
+ nextSteps: ["Pick two different assets to merge."], op: kind, errorCode: "MERGE_SELF",
219
209
  });
220
210
  }
221
211
  const [key, idKey] = assetKeys(fromKind);
222
- // Verify both exist (and keep the live dicts for extend carry-over below).
223
212
  const fromAsset = resolveAssetByTarget(script, fromKind, fromId);
224
213
  const intoAsset = resolveAssetByTarget(script, intoKind, intoId);
225
- // Pre-flight: refuse merge if any scene context already references BOTH
226
- // from and into with conflicting state_ids. Silently picking one (the
227
- // array-order-first) was a quiet data-loss bug — we'd rather make the
228
- // user resolve the state divergence explicitly.
214
+ // Pre-flight: refuse if a scene references BOTH with conflicting state_ids.
229
215
  for (const ep of asList(script["episodes"])) {
230
216
  for (const scene of asList(ep["scenes"])) {
231
- const ctx = sceneContext(scene);
232
- const refList = contextRefsForKind(ctx, fromKind);
217
+ const refList = contextRefsForKind(sceneRefs(scene), fromKind);
233
218
  const fromRef = refList.find((ref) => strOf(ref[idKey]) === fromId);
234
219
  const intoRef = refList.find((ref) => strOf(ref[idKey]) === intoId);
235
- if (fromRef && intoRef) {
236
- const fromState = strOf(fromRef["state_id"]);
237
- const intoState = strOf(intoRef["state_id"]);
238
- if (fromState !== intoState) {
239
- throw opErr("SCRIPT OP BLOCKED: Merge state conflict", "Merge has conflicting state_ids in a shared scene.", {
240
- required: ["from and into agree on state_id in every scene where both appear"],
241
- received: [`${ep["episode_id"]}/${scene["scene_id"]}: ${fromId}=${fromState || "null"}, ${intoId}=${intoState || "null"}`],
242
- nextSteps: ["Resolve the state divergence (run `scriptctl context <scene> <kind>:<into-id> --state <state>`) then retry merge."],
243
- op: kind,
244
- errorCode: "MERGE_STATE_CONFLICT",
245
- });
246
- }
220
+ if (fromRef && intoRef && strOf(fromRef["state_id"]) !== strOf(intoRef["state_id"])) {
221
+ throw opErr("SCRIPT OP BLOCKED: Merge state conflict", "Merge has conflicting state_ids in a shared scene.", {
222
+ required: ["from and into agree on state_id in every scene where both appear"],
223
+ received: [`${ep["episode_id"]}/${scene["scene_id"]}: ${fromId}=${strOf(fromRef["state_id"]) || "null"}, ${intoId}=${strOf(intoRef["state_id"]) || "null"}`],
224
+ nextSteps: ["Resolve the state divergence (scene.ref.set) then retry merge."],
225
+ op: kind, errorCode: "MERGE_STATE_CONFLICT",
226
+ });
247
227
  }
248
228
  }
249
229
  }
250
- // Carry the dropped asset's extend{} keys into the survivor (into wins).
251
230
  mergeExtendInto(fromAsset, intoAsset);
252
- // Drop source from the asset list.
253
231
  script[key] = asList(script[key]).filter((it) => strOf(it[idKey]) !== fromId);
254
- // Rewrite refs: scene.context, action.actor_id (actor only), state_changes targets, transition targets, speaker.source_id.
232
+ // Rewrite refs: scene cast/props/location, dialogue speaker (actor), transition target.
233
+ const fromTgt = transTarget(fromKind, fromId);
255
234
  for (const ep of asList(script["episodes"])) {
256
235
  for (const scene of asList(ep["scenes"])) {
257
- const ctx = sceneContext(scene);
258
- const refList = contextRefsForKind(ctx, fromKind);
236
+ const bag = sceneRefs(scene);
237
+ const refList = contextRefsForKind(bag, fromKind);
259
238
  for (const ref of refList) {
260
239
  if (strOf(ref[idKey]) === fromId)
261
240
  ref[idKey] = intoId;
262
241
  }
263
- // After rewrite, dedupe (intoId may now appear twice). State_id was
264
- // pre-validated to agree above, so first-seen wins is safe.
265
242
  const seen = new Set();
266
- ctx[pluralForKind(fromKind)] = refList.filter((ref) => {
267
- const key2 = strOf(ref[idKey]);
268
- if (seen.has(key2))
243
+ bag[pluralForKind(fromKind)] = refList.filter((ref) => {
244
+ const k = strOf(ref[idKey]);
245
+ if (seen.has(k))
269
246
  return false;
270
- seen.add(key2);
247
+ seen.add(k);
271
248
  return true;
272
249
  });
273
- setSceneContext(scene, ctx);
250
+ setSceneRefs(scene, bag);
274
251
  for (const action of asList(scene["actions"])) {
275
- if (fromKind === "actor" && strOf(action["actor_id"]) === fromId)
276
- action["actor_id"] = intoId;
277
- for (const change of asList(action["state_changes"])) {
278
- if (strOf(change["target_kind"]) === fromKind && strOf(change["target_id"]) === fromId) {
279
- change["target_id"] = intoId;
280
- }
252
+ const speaker = action["speaker"];
253
+ if (fromKind === "actor" && isDict(speaker) && strOf(speaker["actor_id"]) === fromId) {
254
+ speaker["actor_id"] = intoId;
281
255
  }
282
256
  const transition = action["transition_prompt"];
283
- if (isDict(transition) && strOf(transition["target_kind"]) === fromKind && strOf(transition["target_id"]) === fromId) {
284
- transition["target_id"] = intoId;
257
+ if (isDict(transition)) {
258
+ const t = strOf(transition["target"]).trim();
259
+ if (t === fromTgt || t === fromId)
260
+ transition["target"] = transTarget(fromKind, intoId);
285
261
  }
286
262
  }
287
263
  }
288
264
  }
289
- // Speakers anchored to the source actor get reattached to the target.
290
- for (const sp of asList(script["speakers"])) {
291
- if (strOf(sp["source_kind"]) === fromKind && strOf(sp["source_id"]) === fromId) {
292
- sp["source_id"] = intoId;
293
- }
294
- }
295
265
  applied.push(kind);
296
266
  }
297
267
  export function op_asset_delete(__ctx) {
298
- const { script, op, sourceText, applied, kind } = __ctx;
299
- // Refs are walked via collectAssetRefs. Default: refuse if any refs exist.
300
- // strategy=replace → rewrite refs to a replacement asset, then delete.
301
- // strategy=remove → rewrite refs to null/clean and delete (leaves dangling
302
- // pointers cleaned by per-edge logic; validation will still surface anything
303
- // still wrong).
268
+ const { script, op, applied, kind } = __ctx;
304
269
  const [assetKind, assetId] = parseAssetTarget(op["target"]);
305
270
  resolveAssetByTarget(script, assetKind, assetId);
306
271
  const refs = collectAssetRefs(script, assetKind, assetId);
307
272
  const strategy = strOf(op["strategy"]).trim();
308
273
  if (refs.length > 0 && !strategy) {
309
274
  throw opErr("SCRIPT OP BLOCKED: Asset has refs", `Asset is referenced ${refs.length} time(s).`, {
310
- required: ["--strategy replace|remove"],
311
- received: [`refs=${refs.length}`],
275
+ required: ["--strategy replace|remove"], received: [`refs=${refs.length}`],
312
276
  nextSteps: ["Use --strategy replace --replacement <addr> to remap, or --strategy remove to scrub refs."],
313
- op: kind,
314
- errorCode: "ASSET_HAS_REFS",
277
+ op: kind, errorCode: "ASSET_HAS_REFS",
315
278
  });
316
279
  }
317
280
  if (strategy === "replace") {
@@ -319,58 +282,42 @@ export function op_asset_delete(__ctx) {
319
282
  const [replacementKind, replacementId] = parseAssetTarget(replacementRaw);
320
283
  if (replacementKind !== assetKind) {
321
284
  throw opErr("SCRIPT OP BLOCKED: Replacement kind mismatch", "Replacement must be same kind.", {
322
- required: ["replacement same kind as target"],
323
- received: [`${assetKind} vs ${replacementKind}`],
324
- nextSteps: ["Pass a same-kind replacement."],
325
- op: kind,
326
- errorCode: "REPLACEMENT_KIND_MISMATCH",
285
+ required: ["replacement same kind as target"], received: [`${assetKind} vs ${replacementKind}`],
286
+ nextSteps: ["Pass a same-kind replacement."], op: kind, errorCode: "REPLACEMENT_KIND_MISMATCH",
327
287
  });
328
288
  }
329
289
  resolveAssetByTarget(script, replacementKind, replacementId);
330
- // Delegate ref rewrite to asset.merge logic by reusing the same traversal.
331
- __ctx.runOps([
332
- { op: "asset.merge", from: op["target"], into: replacementRaw },
333
- ]);
290
+ __ctx.runOps([{ op: "asset.merge", from: op["target"], into: replacementRaw }]);
334
291
  applied.push(kind);
335
292
  }
336
293
  else if (strategy === "remove" || refs.length === 0) {
337
- // Scrub refs (actor_id → undefined, state_changes/transition refs removed, scene.context entries removed, speakers' source_id cleared).
338
294
  const [key, idKey] = assetKeys(assetKind);
295
+ const tgt = transTarget(assetKind, assetId);
339
296
  script[key] = asList(script[key]).filter((it) => strOf(it[idKey]) !== assetId);
340
297
  for (const ep of asList(script["episodes"])) {
341
298
  for (const scene of asList(ep["scenes"])) {
342
- const ctx = sceneContext(scene);
343
- ctx[pluralForKind(assetKind)] = contextRefsForKind(ctx, assetKind).filter((ref) => strOf(ref[idKey]) !== assetId);
344
- setSceneContext(scene, ctx);
299
+ const bag = sceneRefs(scene);
300
+ bag[pluralForKind(assetKind)] = contextRefsForKind(bag, assetKind).filter((ref) => strOf(ref[idKey]) !== assetId);
301
+ setSceneRefs(scene, bag);
345
302
  for (const action of asList(scene["actions"])) {
346
- if (assetKind === "actor" && strOf(action["actor_id"]) === assetId)
347
- delete action["actor_id"];
348
- const changes = asList(action["state_changes"]).filter((c) => !(strOf(c["target_kind"]) === assetKind && strOf(c["target_id"]) === assetId));
349
- if (changes.length > 0)
350
- action["state_changes"] = changes;
351
- else
352
- delete action["state_changes"];
303
+ const speaker = action["speaker"];
304
+ if (assetKind === "actor" && isDict(speaker) && strOf(speaker["actor_id"]) === assetId)
305
+ delete action["speaker"];
353
306
  const transition = action["transition_prompt"];
354
- if (isDict(transition) && strOf(transition["target_kind"]) === assetKind && strOf(transition["target_id"]) === assetId) {
355
- delete action["transition_prompt"];
307
+ if (isDict(transition)) {
308
+ const t = strOf(transition["target"]).trim();
309
+ if (t === tgt || t === assetId)
310
+ delete action["transition_prompt"];
356
311
  }
357
312
  }
358
313
  }
359
314
  }
360
- for (const sp of asList(script["speakers"])) {
361
- if (strOf(sp["source_kind"]) === assetKind && strOf(sp["source_id"]) === assetId) {
362
- sp["source_id"] = null;
363
- }
364
- }
365
315
  applied.push(kind);
366
316
  }
367
317
  else {
368
318
  throw opErr("SCRIPT OP BLOCKED: Strategy invalid", "Strategy invalid.", {
369
- required: ["strategy: replace or remove"],
370
- received: [strategy],
371
- nextSteps: ["Use replace (with --replacement) or remove."],
372
- op: kind,
373
- errorCode: "DELETE_STRATEGY_INVALID",
319
+ required: ["strategy: replace or remove"], received: [strategy],
320
+ nextSteps: ["Use replace (with --replacement) or remove."], op: kind, errorCode: "DELETE_STRATEGY_INVALID",
374
321
  });
375
322
  }
376
323
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ops-asset.js","sourceRoot":"","sources":["../../../../src/domain/script/patch/ops-asset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ops-asset.js","sourceRoot":"","sources":["../../../../src/domain/script/patch/ops-asset.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,2 @@
1
1
  import type { OpCtx } from "./types.js";
2
- export declare function op_speaker_add(__ctx: OpCtx): void;
3
- export declare function op_dialogue_speakers(__ctx: OpCtx): void;
4
- export declare function op_dialogue_overlap(__ctx: OpCtx): void;
5
- export declare function op_speaker_delete(__ctx: OpCtx): void;
2
+ export declare function op_dialogue_speaker_set(__ctx: OpCtx): void;