@lingjingai/scriptctl 0.49.16 → 0.51.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 (525) hide show
  1. package/README.md +8 -2
  2. package/changes/0.50.0.md +63 -0
  3. package/changes/0.51.0.md +24 -0
  4. package/dist/cli/register-batch.d.ts +3 -0
  5. package/dist/cli/register-batch.js +28 -0
  6. package/dist/cli/register-batch.js.map +1 -0
  7. package/dist/cli/register-edits.d.ts +4 -0
  8. package/dist/cli/register-edits.js +226 -0
  9. package/dist/cli/register-edits.js.map +1 -0
  10. package/dist/cli/register-query.d.ts +4 -0
  11. package/dist/cli/register-query.js +93 -0
  12. package/dist/cli/register-query.js.map +1 -0
  13. package/dist/cli/register-tools.d.ts +3 -0
  14. package/dist/cli/register-tools.js +23 -0
  15. package/dist/cli/register-tools.js.map +1 -0
  16. package/dist/cli/register-workflows.d.ts +4 -0
  17. package/dist/cli/register-workflows.js +71 -0
  18. package/dist/cli/register-workflows.js.map +1 -0
  19. package/dist/cli/registry.d.ts +14 -0
  20. package/dist/cli/registry.js +65 -0
  21. package/dist/cli/registry.js.map +1 -0
  22. package/dist/cli.d.ts +3 -0
  23. package/dist/cli.js +146 -575
  24. package/dist/cli.js.map +1 -1
  25. package/dist/common.d.ts +12 -38
  26. package/dist/common.js +5 -11
  27. package/dist/common.js.map +1 -1
  28. package/dist/domain/authoring/apply.d.ts +1 -33
  29. package/dist/domain/authoring/apply.js +1 -783
  30. package/dist/domain/authoring/apply.js.map +1 -1
  31. package/dist/domain/authoring/export.d.ts +1 -7
  32. package/dist/domain/authoring/export.js +1 -84
  33. package/dist/domain/authoring/export.js.map +1 -1
  34. package/dist/domain/authoring/parser.d.ts +2 -3
  35. package/dist/domain/authoring/parser.js +2 -914
  36. package/dist/domain/authoring/parser.js.map +1 -1
  37. package/dist/domain/authoring/serializer.d.ts +1 -2
  38. package/dist/domain/authoring/serializer.js +1 -243
  39. package/dist/domain/authoring/serializer.js.map +1 -1
  40. package/dist/domain/authoring/shared/bracket.d.ts +4 -0
  41. package/dist/domain/authoring/shared/bracket.js +95 -0
  42. package/dist/domain/authoring/shared/bracket.js.map +1 -0
  43. package/dist/domain/authoring/shared/types.d.ts +12 -0
  44. package/dist/domain/authoring/shared/types.js +2 -0
  45. package/dist/domain/authoring/shared/types.js.map +1 -0
  46. package/dist/domain/authoring/types.d.ts +2 -87
  47. package/dist/domain/authoring/types.js +2 -1
  48. package/dist/domain/authoring/types.js.map +1 -1
  49. package/dist/domain/authoring/v3/apply.d.ts +33 -0
  50. package/dist/domain/authoring/v3/apply.js +784 -0
  51. package/dist/domain/authoring/v3/apply.js.map +1 -0
  52. package/dist/domain/authoring/v3/export.d.ts +7 -0
  53. package/dist/domain/authoring/v3/export.js +85 -0
  54. package/dist/domain/authoring/v3/export.js.map +1 -0
  55. package/dist/domain/authoring/v3/parser.d.ts +3 -0
  56. package/dist/domain/authoring/v3/parser.js +823 -0
  57. package/dist/domain/authoring/v3/parser.js.map +1 -0
  58. package/dist/domain/authoring/v3/serializer.d.ts +2 -0
  59. package/dist/domain/authoring/v3/serializer.js +244 -0
  60. package/dist/domain/authoring/v3/serializer.js.map +1 -0
  61. package/dist/domain/authoring/v3/types.d.ts +76 -0
  62. package/dist/domain/authoring/v3/types.js +2 -0
  63. package/dist/domain/authoring/v3/types.js.map +1 -0
  64. package/dist/domain/authoring/v4/apply.d.ts +40 -0
  65. package/dist/domain/authoring/v4/apply.js +451 -0
  66. package/dist/domain/authoring/v4/apply.js.map +1 -0
  67. package/dist/domain/authoring/v4/parser.d.ts +2 -0
  68. package/dist/domain/authoring/v4/parser.js +729 -0
  69. package/dist/domain/authoring/v4/parser.js.map +1 -0
  70. package/dist/domain/authoring/v4/serializer.d.ts +6 -0
  71. package/dist/domain/authoring/v4/serializer.js +280 -0
  72. package/dist/domain/authoring/v4/serializer.js.map +1 -0
  73. package/dist/domain/authoring/v4/types.d.ts +50 -0
  74. package/dist/domain/authoring/v4/types.js +2 -0
  75. package/dist/domain/authoring/v4/types.js.map +1 -0
  76. package/dist/domain/ingest/apply-plan.d.ts +1 -1
  77. package/dist/domain/ingest/assembler.d.ts +9 -0
  78. package/dist/domain/ingest/assembler.js +98 -36
  79. package/dist/domain/ingest/assembler.js.map +1 -1
  80. package/dist/domain/ingest/asset-audit.d.ts +50 -0
  81. package/dist/domain/ingest/asset-audit.js +196 -0
  82. package/dist/domain/ingest/asset-audit.js.map +1 -0
  83. package/dist/domain/ingest/production-validation.d.ts +5 -4
  84. package/dist/domain/ingest/production-validation.js +10 -25
  85. package/dist/domain/ingest/production-validation.js.map +1 -1
  86. package/dist/domain/ingest/records.d.ts +1 -1
  87. package/dist/domain/ingest/records.js +1 -1
  88. package/dist/domain/ingest/records.js.map +1 -1
  89. package/dist/domain/ingest/serial-context.d.ts +1 -1
  90. package/dist/domain/ingest/validation.d.ts +1 -11
  91. package/dist/domain/ingest/validation.js +1 -199
  92. package/dist/domain/ingest/validation.js.map +1 -1
  93. package/dist/domain/ingest/video-apply.js +68 -45
  94. package/dist/domain/ingest/video-apply.js.map +1 -1
  95. package/dist/domain/script/address.d.ts +1 -32
  96. package/dist/domain/script/address.js +1 -144
  97. package/dist/domain/script/address.js.map +1 -1
  98. package/dist/domain/script/dispatch.d.ts +14 -0
  99. package/dist/domain/script/dispatch.js +45 -0
  100. package/dist/domain/script/dispatch.js.map +1 -0
  101. package/dist/domain/script/lookups.d.ts +1 -33
  102. package/dist/domain/script/lookups.js +1 -316
  103. package/dist/domain/script/lookups.js.map +1 -1
  104. package/dist/domain/script/parse.d.ts +1 -3
  105. package/dist/domain/script/parse.js +1 -164
  106. package/dist/domain/script/parse.js.map +1 -1
  107. package/dist/domain/script/patch/apply.d.ts +1 -2
  108. package/dist/domain/script/patch/apply.js +1 -30
  109. package/dist/domain/script/patch/apply.js.map +1 -1
  110. package/dist/domain/script/patch/helpers.d.ts +1 -17
  111. package/dist/domain/script/patch/helpers.js +1 -210
  112. package/dist/domain/script/patch/helpers.js.map +1 -1
  113. package/dist/domain/script/patch/inline-speaker.d.ts +1 -2
  114. package/dist/domain/script/patch/inline-speaker.js +1 -49
  115. package/dist/domain/script/patch/inline-speaker.js.map +1 -1
  116. package/dist/domain/script/patch/ops-action.d.ts +1 -12
  117. package/dist/domain/script/patch/ops-action.js +1 -366
  118. package/dist/domain/script/patch/ops-action.js.map +1 -1
  119. package/dist/domain/script/patch/ops-asset.d.ts +1 -14
  120. package/dist/domain/script/patch/ops-asset.js +1 -364
  121. package/dist/domain/script/patch/ops-asset.js.map +1 -1
  122. package/dist/domain/script/patch/ops-dialogue.d.ts +1 -2
  123. package/dist/domain/script/patch/ops-dialogue.js +1 -25
  124. package/dist/domain/script/patch/ops-dialogue.js.map +1 -1
  125. package/dist/domain/script/patch/ops-extend.d.ts +1 -8
  126. package/dist/domain/script/patch/ops-extend.js +1 -110
  127. package/dist/domain/script/patch/ops-extend.js.map +1 -1
  128. package/dist/domain/script/patch/ops-meta.d.ts +1 -5
  129. package/dist/domain/script/patch/ops-meta.js +1 -81
  130. package/dist/domain/script/patch/ops-meta.js.map +1 -1
  131. package/dist/domain/script/patch/ops-scene.d.ts +1 -6
  132. package/dist/domain/script/patch/ops-scene.js +1 -350
  133. package/dist/domain/script/patch/ops-scene.js.map +1 -1
  134. package/dist/domain/script/patch/ops-state.d.ts +1 -8
  135. package/dist/domain/script/patch/ops-state.js +1 -164
  136. package/dist/domain/script/patch/ops-state.js.map +1 -1
  137. package/dist/domain/script/patch/registry.d.ts +1 -2
  138. package/dist/domain/script/patch/registry.js +1 -52
  139. package/dist/domain/script/patch/registry.js.map +1 -1
  140. package/dist/domain/script/patch/types.d.ts +1 -10
  141. package/dist/domain/script/patch/types.js +1 -1
  142. package/dist/domain/script/patch/types.js.map +1 -1
  143. package/dist/domain/script/refs.d.ts +1 -4
  144. package/dist/domain/script/refs.js +1 -63
  145. package/dist/domain/script/refs.js.map +1 -1
  146. package/dist/domain/script/scene-refs.d.ts +1 -3
  147. package/dist/domain/script/scene-refs.js +1 -34
  148. package/dist/domain/script/scene-refs.js.map +1 -1
  149. package/dist/domain/script/schema.d.ts +1 -6
  150. package/dist/domain/script/schema.js +1 -55
  151. package/dist/domain/script/schema.js.map +1 -1
  152. package/dist/domain/script/selector.d.ts +1 -45
  153. package/dist/domain/script/selector.js +1 -184
  154. package/dist/domain/script/selector.js.map +1 -1
  155. package/dist/domain/script/shared/regex.d.ts +2 -0
  156. package/dist/domain/script/shared/regex.js +7 -0
  157. package/dist/domain/script/shared/regex.js.map +1 -0
  158. package/dist/domain/script/shared/types.d.ts +18 -0
  159. package/dist/domain/script/shared/types.js +9 -0
  160. package/dist/domain/script/shared/types.js.map +1 -0
  161. package/dist/domain/script/shared/validation.d.ts +10 -0
  162. package/dist/domain/script/shared/validation.js +2 -0
  163. package/dist/domain/script/shared/validation.js.map +1 -0
  164. package/dist/domain/script/shared.js +4 -6
  165. package/dist/domain/script/shared.js.map +1 -1
  166. package/dist/domain/script/types.d.ts +1 -123
  167. package/dist/domain/script/types.js +1 -8
  168. package/dist/domain/script/types.js.map +1 -1
  169. package/dist/domain/script/v3/address.d.ts +32 -0
  170. package/dist/domain/script/v3/address.js +136 -0
  171. package/dist/domain/script/v3/address.js.map +1 -0
  172. package/dist/domain/script/v3/lookups.d.ts +33 -0
  173. package/dist/domain/script/v3/lookups.js +316 -0
  174. package/dist/domain/script/v3/lookups.js.map +1 -0
  175. package/dist/domain/script/v3/ordinal.d.ts +8 -0
  176. package/dist/domain/script/v3/ordinal.js +91 -0
  177. package/dist/domain/script/v3/ordinal.js.map +1 -0
  178. package/dist/domain/script/v3/parse.d.ts +3 -0
  179. package/dist/domain/script/v3/parse.js +164 -0
  180. package/dist/domain/script/v3/parse.js.map +1 -0
  181. package/dist/domain/script/v3/patch/apply.d.ts +2 -0
  182. package/dist/domain/script/v3/patch/apply.js +31 -0
  183. package/dist/domain/script/v3/patch/apply.js.map +1 -0
  184. package/dist/domain/script/v3/patch/helpers.d.ts +17 -0
  185. package/dist/domain/script/v3/patch/helpers.js +209 -0
  186. package/dist/domain/script/v3/patch/helpers.js.map +1 -0
  187. package/dist/domain/script/v3/patch/inline-speaker.d.ts +2 -0
  188. package/dist/domain/script/v3/patch/inline-speaker.js +50 -0
  189. package/dist/domain/script/v3/patch/inline-speaker.js.map +1 -0
  190. package/dist/domain/script/v3/patch/ops-action.d.ts +12 -0
  191. package/dist/domain/script/v3/patch/ops-action.js +367 -0
  192. package/dist/domain/script/v3/patch/ops-action.js.map +1 -0
  193. package/dist/domain/script/v3/patch/ops-asset.d.ts +14 -0
  194. package/dist/domain/script/v3/patch/ops-asset.js +365 -0
  195. package/dist/domain/script/v3/patch/ops-asset.js.map +1 -0
  196. package/dist/domain/script/v3/patch/ops-dialogue.d.ts +2 -0
  197. package/dist/domain/script/v3/patch/ops-dialogue.js +26 -0
  198. package/dist/domain/script/v3/patch/ops-dialogue.js.map +1 -0
  199. package/dist/domain/script/v3/patch/ops-extend.d.ts +8 -0
  200. package/dist/domain/script/v3/patch/ops-extend.js +111 -0
  201. package/dist/domain/script/v3/patch/ops-extend.js.map +1 -0
  202. package/dist/domain/script/v3/patch/ops-meta.d.ts +5 -0
  203. package/dist/domain/script/v3/patch/ops-meta.js +82 -0
  204. package/dist/domain/script/v3/patch/ops-meta.js.map +1 -0
  205. package/dist/domain/script/v3/patch/ops-scene.d.ts +6 -0
  206. package/dist/domain/script/v3/patch/ops-scene.js +351 -0
  207. package/dist/domain/script/v3/patch/ops-scene.js.map +1 -0
  208. package/dist/domain/script/v3/patch/ops-state.d.ts +8 -0
  209. package/dist/domain/script/v3/patch/ops-state.js +165 -0
  210. package/dist/domain/script/v3/patch/ops-state.js.map +1 -0
  211. package/dist/domain/script/v3/patch/registry.d.ts +2 -0
  212. package/dist/domain/script/v3/patch/registry.js +53 -0
  213. package/dist/domain/script/v3/patch/registry.js.map +1 -0
  214. package/dist/domain/script/v3/patch/types.d.ts +10 -0
  215. package/dist/domain/script/v3/patch/types.js +2 -0
  216. package/dist/domain/script/v3/patch/types.js.map +1 -0
  217. package/dist/domain/script/v3/refs.d.ts +4 -0
  218. package/dist/domain/script/v3/refs.js +64 -0
  219. package/dist/domain/script/v3/refs.js.map +1 -0
  220. package/dist/domain/script/v3/scene-refs.d.ts +3 -0
  221. package/dist/domain/script/v3/scene-refs.js +35 -0
  222. package/dist/domain/script/v3/scene-refs.js.map +1 -0
  223. package/dist/domain/script/v3/schema.d.ts +6 -0
  224. package/dist/domain/script/v3/schema.js +56 -0
  225. package/dist/domain/script/v3/schema.js.map +1 -0
  226. package/dist/domain/script/v3/selector.d.ts +44 -0
  227. package/dist/domain/script/v3/selector.js +178 -0
  228. package/dist/domain/script/v3/selector.js.map +1 -0
  229. package/dist/domain/script/v3/types.d.ts +106 -0
  230. package/dist/domain/script/v3/types.js +2 -0
  231. package/dist/domain/script/v3/types.js.map +1 -0
  232. package/dist/domain/script/v3/validation.d.ts +3 -0
  233. package/dist/domain/script/v3/validation.js +200 -0
  234. package/dist/domain/script/v3/validation.js.map +1 -0
  235. package/dist/domain/script/v4/address.d.ts +61 -0
  236. package/dist/domain/script/v4/address.js +99 -0
  237. package/dist/domain/script/v4/address.js.map +1 -0
  238. package/dist/domain/script/v4/factory.d.ts +2 -0
  239. package/dist/domain/script/v4/factory.js +13 -0
  240. package/dist/domain/script/v4/factory.js.map +1 -0
  241. package/dist/domain/script/v4/from-v3.d.ts +29 -0
  242. package/dist/domain/script/v4/from-v3.js +307 -0
  243. package/dist/domain/script/v4/from-v3.js.map +1 -0
  244. package/dist/domain/script/v4/ids.d.ts +27 -0
  245. package/dist/domain/script/v4/ids.js +62 -0
  246. package/dist/domain/script/v4/ids.js.map +1 -0
  247. package/dist/domain/script/v4/ordinal.d.ts +3 -0
  248. package/dist/domain/script/v4/ordinal.js +66 -0
  249. package/dist/domain/script/v4/ordinal.js.map +1 -0
  250. package/dist/domain/script/v4/parse.d.ts +3 -0
  251. package/dist/domain/script/v4/parse.js +17 -0
  252. package/dist/domain/script/v4/parse.js.map +1 -0
  253. package/dist/domain/script/v4/patch/apply.d.ts +3 -0
  254. package/dist/domain/script/v4/patch/apply.js +24 -0
  255. package/dist/domain/script/v4/patch/apply.js.map +1 -0
  256. package/dist/domain/script/v4/patch/helpers.d.ts +32 -0
  257. package/dist/domain/script/v4/patch/helpers.js +138 -0
  258. package/dist/domain/script/v4/patch/helpers.js.map +1 -0
  259. package/dist/domain/script/v4/patch/ops-action.d.ts +13 -0
  260. package/dist/domain/script/v4/patch/ops-action.js +376 -0
  261. package/dist/domain/script/v4/patch/ops-action.js.map +1 -0
  262. package/dist/domain/script/v4/patch/ops-asset.d.ts +17 -0
  263. package/dist/domain/script/v4/patch/ops-asset.js +617 -0
  264. package/dist/domain/script/v4/patch/ops-asset.js.map +1 -0
  265. package/dist/domain/script/v4/patch/ops-extend.d.ts +11 -0
  266. package/dist/domain/script/v4/patch/ops-extend.js +86 -0
  267. package/dist/domain/script/v4/patch/ops-extend.js.map +1 -0
  268. package/dist/domain/script/v4/patch/ops-meta.d.ts +5 -0
  269. package/dist/domain/script/v4/patch/ops-meta.js +49 -0
  270. package/dist/domain/script/v4/patch/ops-meta.js.map +1 -0
  271. package/dist/domain/script/v4/patch/ops-scene-ref.d.ts +3 -0
  272. package/dist/domain/script/v4/patch/ops-scene-ref.js +98 -0
  273. package/dist/domain/script/v4/patch/ops-scene-ref.js.map +1 -0
  274. package/dist/domain/script/v4/patch/ops-structure.d.ts +6 -0
  275. package/dist/domain/script/v4/patch/ops-structure.js +236 -0
  276. package/dist/domain/script/v4/patch/ops-structure.js.map +1 -0
  277. package/dist/domain/script/v4/patch/registry.d.ts +2 -0
  278. package/dist/domain/script/v4/patch/registry.js +50 -0
  279. package/dist/domain/script/v4/patch/registry.js.map +1 -0
  280. package/dist/domain/script/v4/patch/schema.d.ts +7 -0
  281. package/dist/domain/script/v4/patch/schema.js +75 -0
  282. package/dist/domain/script/v4/patch/schema.js.map +1 -0
  283. package/dist/domain/script/v4/patch/types.d.ts +10 -0
  284. package/dist/domain/script/v4/patch/types.js +2 -0
  285. package/dist/domain/script/v4/patch/types.js.map +1 -0
  286. package/dist/domain/script/v4/selector.d.ts +11 -0
  287. package/dist/domain/script/v4/selector.js +124 -0
  288. package/dist/domain/script/v4/selector.js.map +1 -0
  289. package/dist/domain/script/v4/types.d.ts +120 -0
  290. package/dist/domain/script/v4/types.js +2 -0
  291. package/dist/domain/script/v4/types.js.map +1 -0
  292. package/dist/domain/script/v4/validation.d.ts +2 -0
  293. package/dist/domain/script/v4/validation.js +378 -0
  294. package/dist/domain/script/v4/validation.js.map +1 -0
  295. package/dist/infra/ingest/video-discovery.js +7 -4
  296. package/dist/infra/ingest/video-discovery.js.map +1 -1
  297. package/dist/infra/script-output-store.js +6 -11
  298. package/dist/infra/script-output-store.js.map +1 -1
  299. package/dist/infra/script-working-copy.js +15 -16
  300. package/dist/infra/script-working-copy.js.map +1 -1
  301. package/dist/llm/config.js +5 -4
  302. package/dist/llm/config.js.map +1 -1
  303. package/dist/llm/registry.d.ts +1 -0
  304. package/dist/llm/registry.js +3 -0
  305. package/dist/llm/registry.js.map +1 -1
  306. package/dist/llm/router.js +6 -8
  307. package/dist/llm/router.js.map +1 -1
  308. package/dist/llm/tasks/ingest/asset-audit.d.ts +6 -0
  309. package/dist/llm/tasks/ingest/asset-audit.js +164 -0
  310. package/dist/llm/tasks/ingest/asset-audit.js.map +1 -0
  311. package/dist/llm/tasks/ingest/asset-curate.d.ts +1 -1
  312. package/dist/llm/tasks/ingest/text-normalize.js +3 -3
  313. package/dist/llm/tasks/ingest/text-normalize.js.map +1 -1
  314. package/dist/llm/tasks/ingest/video-serial.js +3 -3
  315. package/dist/llm/tasks/ingest/video-serial.js.map +1 -1
  316. package/dist/llm/types.d.ts +1 -1
  317. package/dist/llm/types.js.map +1 -1
  318. package/dist/output.d.ts +2 -3
  319. package/dist/output.js +72 -109
  320. package/dist/output.js.map +1 -1
  321. package/dist/usecases/changelog.d.ts +2 -2
  322. package/dist/usecases/changelog.js +28 -36
  323. package/dist/usecases/changelog.js.map +1 -1
  324. package/dist/usecases/doctor.d.ts +2 -2
  325. package/dist/usecases/doctor.js +3 -5
  326. package/dist/usecases/doctor.js.map +1 -1
  327. package/dist/usecases/ingest/command.d.ts +2 -2
  328. package/dist/usecases/ingest/command.js +23 -6
  329. package/dist/usecases/ingest/command.js.map +1 -1
  330. package/dist/usecases/ingest/final-asset-audit.d.ts +39 -0
  331. package/dist/usecases/ingest/final-asset-audit.js +88 -0
  332. package/dist/usecases/ingest/final-asset-audit.js.map +1 -0
  333. package/dist/usecases/ingest/pass5-extract.js +5 -4
  334. package/dist/usecases/ingest/pass5-extract.js.map +1 -1
  335. package/dist/usecases/ingest/pass5-govern.js +13 -11
  336. package/dist/usecases/ingest/pass5-govern.js.map +1 -1
  337. package/dist/usecases/ingest/pipeline.js +77 -23
  338. package/dist/usecases/ingest/pipeline.js.map +1 -1
  339. package/dist/usecases/ingest/serial-govern.d.ts +2 -1
  340. package/dist/usecases/ingest/serial-govern.js +16 -8
  341. package/dist/usecases/ingest/serial-govern.js.map +1 -1
  342. package/dist/usecases/ingest/status.d.ts +2 -2
  343. package/dist/usecases/ingest/status.js +1 -1
  344. package/dist/usecases/ingest/status.js.map +1 -1
  345. package/dist/usecases/ingest/video-pipeline.js +121 -29
  346. package/dist/usecases/ingest/video-pipeline.js.map +1 -1
  347. package/dist/usecases/ingest/view-command.d.ts +2 -2
  348. package/dist/usecases/ingest/view-command.js +7 -6
  349. package/dist/usecases/ingest/view-command.js.map +1 -1
  350. package/dist/usecases/ingest/view-server.d.ts +2 -2
  351. package/dist/usecases/ingest/view-server.js +9 -7
  352. package/dist/usecases/ingest/view-server.js.map +1 -1
  353. package/dist/usecases/script/actions.d.ts +2 -2
  354. package/dist/usecases/script/actions.js +106 -11
  355. package/dist/usecases/script/actions.js.map +1 -1
  356. package/dist/usecases/script/actor.d.ts +2 -2
  357. package/dist/usecases/script/actor.js +3 -4
  358. package/dist/usecases/script/actor.js.map +1 -1
  359. package/dist/usecases/script/actors.d.ts +2 -2
  360. package/dist/usecases/script/actors.js +18 -9
  361. package/dist/usecases/script/actors.js.map +1 -1
  362. package/dist/usecases/script/add-actor.d.ts +2 -2
  363. package/dist/usecases/script/add-episode.d.ts +2 -2
  364. package/dist/usecases/script/add-location.d.ts +2 -2
  365. package/dist/usecases/script/add-prop.d.ts +2 -2
  366. package/dist/usecases/script/alias.d.ts +2 -2
  367. package/dist/usecases/script/alias.js +13 -14
  368. package/dist/usecases/script/alias.js.map +1 -1
  369. package/dist/usecases/script/assets.d.ts +2 -2
  370. package/dist/usecases/script/assets.js +29 -5
  371. package/dist/usecases/script/assets.js.map +1 -1
  372. package/dist/usecases/script/audit-assets.d.ts +4 -0
  373. package/dist/usecases/script/audit-assets.js +37 -0
  374. package/dist/usecases/script/audit-assets.js.map +1 -0
  375. package/dist/usecases/script/command-constraints.d.ts +36 -0
  376. package/dist/usecases/script/command-constraints.js +114 -0
  377. package/dist/usecases/script/command-constraints.js.map +1 -0
  378. package/dist/usecases/script/context.d.ts +2 -2
  379. package/dist/usecases/script/context.js +34 -8
  380. package/dist/usecases/script/context.js.map +1 -1
  381. package/dist/usecases/script/create.d.ts +2 -2
  382. package/dist/usecases/script/create.js +5 -6
  383. package/dist/usecases/script/create.js.map +1 -1
  384. package/dist/usecases/script/delete.d.ts +2 -2
  385. package/dist/usecases/script/delete.js +15 -15
  386. package/dist/usecases/script/delete.js.map +1 -1
  387. package/dist/usecases/script/describe.d.ts +2 -2
  388. package/dist/usecases/script/describe.js +13 -12
  389. package/dist/usecases/script/describe.js.map +1 -1
  390. package/dist/usecases/script/dialogue.d.ts +2 -2
  391. package/dist/usecases/script/dialogue.js +18 -9
  392. package/dist/usecases/script/dialogue.js.map +1 -1
  393. package/dist/usecases/script/dispatch.d.ts +3 -0
  394. package/dist/usecases/script/dispatch.js +10 -0
  395. package/dist/usecases/script/dispatch.js.map +1 -0
  396. package/dist/usecases/script/do.d.ts +2 -2
  397. package/dist/usecases/script/do.js +105 -45
  398. package/dist/usecases/script/do.js.map +1 -1
  399. package/dist/usecases/script/emotion.d.ts +2 -2
  400. package/dist/usecases/script/emotion.js +14 -3
  401. package/dist/usecases/script/emotion.js.map +1 -1
  402. package/dist/usecases/script/episodes.d.ts +2 -2
  403. package/dist/usecases/script/episodes.js +19 -8
  404. package/dist/usecases/script/episodes.js.map +1 -1
  405. package/dist/usecases/script/export-authoring.d.ts +2 -2
  406. package/dist/usecases/script/export-authoring.js +47 -26
  407. package/dist/usecases/script/export-authoring.js.map +1 -1
  408. package/dist/usecases/script/extend.d.ts +2 -2
  409. package/dist/usecases/script/extend.js +43 -31
  410. package/dist/usecases/script/extend.js.map +1 -1
  411. package/dist/usecases/script/ids.d.ts +2 -2
  412. package/dist/usecases/script/ids.js +68 -21
  413. package/dist/usecases/script/ids.js.map +1 -1
  414. package/dist/usecases/script/importance.d.ts +2 -2
  415. package/dist/usecases/script/importance.js +3 -4
  416. package/dist/usecases/script/importance.js.map +1 -1
  417. package/dist/usecases/script/insert.d.ts +2 -2
  418. package/dist/usecases/script/insert.js +80 -46
  419. package/dist/usecases/script/insert.js.map +1 -1
  420. package/dist/usecases/script/issues.d.ts +2 -2
  421. package/dist/usecases/script/issues.js +10 -2
  422. package/dist/usecases/script/issues.js.map +1 -1
  423. package/dist/usecases/script/lib.d.ts +62 -7
  424. package/dist/usecases/script/lib.js +782 -184
  425. package/dist/usecases/script/lib.js.map +1 -1
  426. package/dist/usecases/script/locations.d.ts +2 -2
  427. package/dist/usecases/script/locations.js +18 -9
  428. package/dist/usecases/script/locations.js.map +1 -1
  429. package/dist/usecases/script/merge.d.ts +2 -2
  430. package/dist/usecases/script/merge.js +17 -17
  431. package/dist/usecases/script/merge.js.map +1 -1
  432. package/dist/usecases/script/move.d.ts +2 -2
  433. package/dist/usecases/script/move.js +30 -13
  434. package/dist/usecases/script/move.js.map +1 -1
  435. package/dist/usecases/script/parenthetical.d.ts +3 -0
  436. package/dist/usecases/script/parenthetical.js +52 -0
  437. package/dist/usecases/script/parenthetical.js.map +1 -0
  438. package/dist/usecases/script/props.d.ts +2 -2
  439. package/dist/usecases/script/props.js +18 -9
  440. package/dist/usecases/script/props.js.map +1 -1
  441. package/dist/usecases/script/refs.d.ts +2 -2
  442. package/dist/usecases/script/refs.js +61 -11
  443. package/dist/usecases/script/refs.js.map +1 -1
  444. package/dist/usecases/script/rename.d.ts +2 -2
  445. package/dist/usecases/script/rename.js +13 -12
  446. package/dist/usecases/script/rename.js.map +1 -1
  447. package/dist/usecases/script/replace.d.ts +2 -2
  448. package/dist/usecases/script/replace.js +6 -8
  449. package/dist/usecases/script/replace.js.map +1 -1
  450. package/dist/usecases/script/role.d.ts +2 -2
  451. package/dist/usecases/script/role.js +3 -4
  452. package/dist/usecases/script/role.js.map +1 -1
  453. package/dist/usecases/script/scenes.d.ts +2 -2
  454. package/dist/usecases/script/scenes.js +35 -7
  455. package/dist/usecases/script/scenes.js.map +1 -1
  456. package/dist/usecases/script/script-patch.d.ts +2 -2
  457. package/dist/usecases/script/script-patch.js +219 -72
  458. package/dist/usecases/script/script-patch.js.map +1 -1
  459. package/dist/usecases/script/script-validate.d.ts +2 -2
  460. package/dist/usecases/script/script-validate.js +11 -7
  461. package/dist/usecases/script/script-validate.js.map +1 -1
  462. package/dist/usecases/script/session.d.ts +3 -0
  463. package/dist/usecases/script/session.js +74 -65
  464. package/dist/usecases/script/session.js.map +1 -1
  465. package/dist/usecases/script/split.d.ts +2 -2
  466. package/dist/usecases/script/split.js +18 -14
  467. package/dist/usecases/script/split.js.map +1 -1
  468. package/dist/usecases/script/state-add.d.ts +2 -2
  469. package/dist/usecases/script/state-add.js +3 -4
  470. package/dist/usecases/script/state-add.js.map +1 -1
  471. package/dist/usecases/script/state-delete.d.ts +2 -2
  472. package/dist/usecases/script/state-delete.js +3 -4
  473. package/dist/usecases/script/state-delete.js.map +1 -1
  474. package/dist/usecases/script/state-rename.d.ts +2 -2
  475. package/dist/usecases/script/state-rename.js +3 -4
  476. package/dist/usecases/script/state-rename.js.map +1 -1
  477. package/dist/usecases/script/states.d.ts +2 -2
  478. package/dist/usecases/script/states.js +91 -20
  479. package/dist/usecases/script/states.js.map +1 -1
  480. package/dist/usecases/script/summary.d.ts +2 -2
  481. package/dist/usecases/script/summary.js +21 -2
  482. package/dist/usecases/script/summary.js.map +1 -1
  483. package/dist/usecases/script/synopsis-generate.d.ts +2 -2
  484. package/dist/usecases/script/synopsis-generate.js +38 -39
  485. package/dist/usecases/script/synopsis-generate.js.map +1 -1
  486. package/dist/usecases/script/synopsis.d.ts +2 -2
  487. package/dist/usecases/script/synopsis.js +20 -16
  488. package/dist/usecases/script/synopsis.js.map +1 -1
  489. package/dist/usecases/script/transition.d.ts +2 -2
  490. package/dist/usecases/script/transition.js +3 -4
  491. package/dist/usecases/script/transition.js.map +1 -1
  492. package/dist/usecases/script/type.d.ts +2 -2
  493. package/dist/usecases/script/type.js +3 -4
  494. package/dist/usecases/script/type.js.map +1 -1
  495. package/dist/usecases/script/v3/mutations.d.ts +2 -0
  496. package/dist/usecases/script/v3/mutations.js +5 -0
  497. package/dist/usecases/script/v3/mutations.js.map +1 -0
  498. package/dist/usecases/script/v4/mutations.d.ts +2 -0
  499. package/dist/usecases/script/v4/mutations.js +6 -0
  500. package/dist/usecases/script/v4/mutations.js.map +1 -0
  501. package/dist/usecases/script/v4/queries.d.ts +15 -0
  502. package/dist/usecases/script/v4/queries.js +191 -0
  503. package/dist/usecases/script/v4/queries.js.map +1 -0
  504. package/dist/usecases/script/working-copy.d.ts +4 -4
  505. package/dist/usecases/script/working-copy.js +98 -94
  506. package/dist/usecases/script/working-copy.js.map +1 -1
  507. package/dist/usecases/script/worldview.d.ts +2 -2
  508. package/dist/usecases/script/worldview.js +3 -4
  509. package/dist/usecases/script/worldview.js.map +1 -1
  510. package/dist/usecases/script/write-authoring.d.ts +2 -2
  511. package/dist/usecases/script/write-authoring.js +125 -50
  512. package/dist/usecases/script/write-authoring.js.map +1 -1
  513. package/dist/usecases/update.d.ts +2 -2
  514. package/dist/usecases/update.js +32 -47
  515. package/dist/usecases/update.js.map +1 -1
  516. package/package.json +3 -2
  517. package/skills/scriptctl/SKILL.md +128 -282
  518. package/skills/scriptctl/references/atomic-edit-workflow.md +23 -38
  519. package/skills/scriptctl/references/bulk-authoring.md +35 -154
  520. package/skills/scriptctl/references/ingest-workflow.md +12 -11
  521. package/skills/scriptctl/references/production-writing-standard.md +38 -67
  522. package/skills/scriptctl/references/state-reference-repair.md +19 -42
  523. package/dist/help-text.d.ts +0 -2
  524. package/dist/help-text.js +0 -1112
  525. package/dist/help-text.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/domain/script/v3/parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type Dict } from "../../shared.js";
2
+ export declare function applyPatchOperations(script: Dict, sourceText: string, operations: Dict[]): string[];
@@ -0,0 +1,31 @@
1
+ // Patch op engine driver. Replaces the former 1300-line if/else chain with a
2
+ // lookup-and-invoke dispatch over OP_REGISTRY (Replace Conditional Dispatcher
3
+ // with Command). Per-op logic lives in ops-*.ts; this file only loops and
4
+ // dispatches. Scene IDs are stable identities and are never rewritten as a
5
+ // side effect of structural edits. Any op throwing aborts the whole batch
6
+ // (callers persist only after this returns).
7
+ import { opErr, strOf } from "../../shared.js";
8
+ import { V3_OP_REGISTRY } from "./registry.js";
9
+ export function applyPatchOperations(script, sourceText, operations) {
10
+ const applied = [];
11
+ for (const op of operations) {
12
+ const kind = strOf(op["op"]);
13
+ const handler = V3_OP_REGISTRY[kind];
14
+ if (!handler) {
15
+ throw opErr("PATCH BLOCKED: Unsupported operation", "Unsupported patch operation.", {
16
+ required: [
17
+ "dot-style op: meta.{worldview,synopsis}.set / episode.{add,synopsis.set} / asset.{rename,describe,alias.set,alias.add,alias.remove,states.set,role.set,merge,delete} / importance.set / state.{add,rename,describe,delete} / scene.ref.{set,clear,remove} / action.{type.set,actor.set,emotion.set,emotion.clear,delete,insert,move,transition.set,transition.clear,content.replace,content.regex-replace} / scene.{split,merge,delete,move,insert} / dialogue.speaker.set / extend.{set,clear}",
18
+ ],
19
+ received: [kind],
20
+ nextSteps: [
21
+ "Use a supported dot-style patch operation.",
22
+ "Removed in v3: context.* (use scene.ref.*), dialogue.speakers/dialogue.overlap (use dialogue.speaker.set — single inline speaker), speaker.add/speaker.delete (v3 has no speaker roster), action.state.change/remove (state lives on scene.ref.*).",
23
+ ],
24
+ errorCode: "OP_UNSUPPORTED",
25
+ });
26
+ }
27
+ handler({ script, op, sourceText, applied, kind, runOps: (subOps) => applyPatchOperations(script, sourceText, subOps) });
28
+ }
29
+ return applied;
30
+ }
31
+ //# sourceMappingURL=apply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../../../src/domain/script/v3/patch/apply.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,8EAA8E;AAC9E,0EAA0E;AAC1E,2EAA2E;AAC3E,0EAA0E;AAC1E,6CAA6C;AAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAa,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,UAAU,oBAAoB,CAAC,MAAY,EAAE,UAAkB,EAAE,UAAkB;IACvF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,KAAK,CAAC,sCAAsC,EAAE,8BAA8B,EAAE;gBAClF,QAAQ,EAAE;oBACR,ieAAie;iBACle;gBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;gBAChB,SAAS,EAAE;oBACT,4CAA4C;oBAC5C,oPAAoP;iBACrP;gBACD,SAAS,EAAE,gBAAgB;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type Dict } from "../../shared.js";
2
+ export declare function resolveAssetByTarget(script: Dict, kind: string, targetId: string): Dict;
3
+ export declare function resolveState(script: Dict, kind: string, targetId: string, stateId: string): Dict;
4
+ export declare function validateStateForTarget(script: Dict, kind: string, targetId: string, stateId: string | null): string | null;
5
+ export declare function contextRefsForKind(refs: Dict, kind: string): Dict[];
6
+ export declare function findContextRef(refs: Dict, kind: string, targetId: string): Dict | null;
7
+ export declare function sceneRefOccurrence(value: unknown, op: string): number | undefined;
8
+ export declare function matchingContextRefIndexes(refs: Dict[], idKey: string, targetId: string): number[];
9
+ export declare function contextRefIndex(refs: Dict[], idKey: string, targetId: string, occurrence: number | undefined, op: string): number | undefined;
10
+ export declare function assertActorReferencedByScene(script: Dict, epId: string, sceneId: string, actorId: string, op: string): void;
11
+ export declare function assertSceneReadyForBody(script: Dict, epId: string, sceneId: string, op: string): void;
12
+ export declare function setContextState(script: Dict, epId: string, sceneId: string, kind: string, targetId: string, stateId: string | null, options: {
13
+ append?: boolean;
14
+ occurrence?: number;
15
+ op: string;
16
+ }): void;
17
+ export declare function inferStateBeforeAction(script: Dict, epId: string, sceneId: string, _actionIndex: number, kind: string, targetId: string): string | null;
@@ -0,0 +1,209 @@
1
+ import { CliError, EXIT_USAGE } from "../../../../common.js";
2
+ import { asList, opErr, strOf } from "../../shared.js";
3
+ import { sceneRefs, setSceneRefs } from "../scene-refs.js";
4
+ import { assetKeys, ensureRefId, findScene, idKeyForKind, pluralForKind } from "../lookups.js";
5
+ export function resolveAssetByTarget(script, kind, targetId) {
6
+ const [key, idKey] = assetKeys(kind);
7
+ for (const item of asList(script[key])) {
8
+ if (strOf(item[idKey]) === targetId)
9
+ return item;
10
+ }
11
+ throw new CliError("Asset not found.", {
12
+ exitCode: EXIT_USAGE,
13
+ errorCode: "ASSET_NOT_FOUND",
14
+ hint: "Inspect assets and fix the target.",
15
+ data: { expected: [`existing ${kind} id`], actual: [`${kind}:${targetId}`] },
16
+ });
17
+ }
18
+ export function resolveState(script, kind, targetId, stateId) {
19
+ const asset = resolveAssetByTarget(script, kind, targetId);
20
+ for (const state of asList(asset["states"])) {
21
+ if (strOf(state["state_id"]) === stateId)
22
+ return state;
23
+ }
24
+ throw new CliError("State not found.", {
25
+ exitCode: EXIT_USAGE,
26
+ errorCode: "STATE_NOT_FOUND",
27
+ hint: "Inspect states and fix the target.",
28
+ data: { expected: ["existing state_id on the target asset"], actual: [`${kind}:${targetId}/${stateId}`] },
29
+ });
30
+ }
31
+ export function validateStateForTarget(script, kind, targetId, stateId) {
32
+ const value = strOf(stateId).trim();
33
+ if (!value)
34
+ return null;
35
+ resolveState(script, kind, targetId, value);
36
+ return value;
37
+ }
38
+ // A scene's cast/props/location refs, read as the {actors,locations,props} bag
39
+ // (v3 storage lives on scene.actors/props + scene.location — see scene-refs.ts).
40
+ export function contextRefsForKind(refs, kind) {
41
+ return asList(refs[pluralForKind(kind)]);
42
+ }
43
+ export function findContextRef(refs, kind, targetId) {
44
+ const idKey = idKeyForKind(kind);
45
+ for (const ref of contextRefsForKind(refs, kind)) {
46
+ if (strOf(ref[idKey]) === targetId)
47
+ return ref;
48
+ }
49
+ return null;
50
+ }
51
+ export function sceneRefOccurrence(value, op) {
52
+ if (value === undefined || value === null || value === "")
53
+ return undefined;
54
+ const occurrence = typeof value === "number"
55
+ ? value
56
+ : typeof value === "string" && /^\d+$/.test(value)
57
+ ? Number(value)
58
+ : Number.NaN;
59
+ if (Number.isInteger(occurrence) && occurrence >= 1)
60
+ return occurrence;
61
+ throw opErr("SCRIPT OP BLOCKED: scene ref occurrence invalid", "Scene ref occurrence must be a positive integer.", {
62
+ required: ["occurrence: positive integer (1-based)"],
63
+ received: [strOf(value)],
64
+ nextSteps: ["Use 1 for the first matching scene ref, 2 for the second, and so on."],
65
+ op,
66
+ errorCode: "SCENE_REF_OCCURRENCE_INVALID",
67
+ });
68
+ }
69
+ export function matchingContextRefIndexes(refs, idKey, targetId) {
70
+ const indexes = [];
71
+ for (let index = 0; index < refs.length; index++) {
72
+ if (strOf(refs[index]?.[idKey]) === targetId)
73
+ indexes.push(index);
74
+ }
75
+ return indexes;
76
+ }
77
+ export function contextRefIndex(refs, idKey, targetId, occurrence, op) {
78
+ const indexes = matchingContextRefIndexes(refs, idKey, targetId);
79
+ if (occurrence !== undefined) {
80
+ const index = indexes[occurrence - 1];
81
+ if (index !== undefined)
82
+ return index;
83
+ throw opErr("SCRIPT OP BLOCKED: scene ref occurrence not found", "The requested scene ref occurrence does not exist.", {
84
+ required: [`occurrence: 1..${indexes.length}`],
85
+ received: [String(occurrence)],
86
+ nextSteps: ["Inspect the scene refs and choose an existing occurrence."],
87
+ op,
88
+ errorCode: "SCENE_REF_OCCURRENCE_NOT_FOUND",
89
+ });
90
+ }
91
+ if (indexes.length > 1) {
92
+ throw opErr("SCRIPT OP BLOCKED: scene ref target is ambiguous", "The target appears more than once in this scene.", {
93
+ required: ["occurrence: 1-based matching ref"],
94
+ received: [`${targetId}: ${indexes.length} refs`],
95
+ nextSteps: ["Pass --occurrence <n> to select one scene ref."],
96
+ op,
97
+ errorCode: "SCENE_REF_OCCURRENCE_REQUIRED",
98
+ });
99
+ }
100
+ return indexes[0];
101
+ }
102
+ export function assertActorReferencedByScene(script, epId, sceneId, actorId, op) {
103
+ const scene = findScene(script, epId, sceneId);
104
+ const actorRef = findContextRef(sceneRefs(scene), "actor", actorId);
105
+ if (actorRef !== null)
106
+ return;
107
+ throw opErr("SCRIPT OP BLOCKED: Actor is not in scene", "Actor is not referenced by this scene.", {
108
+ required: [`scene-ref ${epId}/${sceneId} actor:${actorId} --state <state_id>`],
109
+ received: [`actor:${actorId}`],
110
+ nextSteps: ["Add the actor and its materialized state to the scene before writing or assigning the line."],
111
+ op,
112
+ errorCode: "ACTOR_NOT_IN_SCENE",
113
+ });
114
+ }
115
+ export function assertSceneReadyForBody(script, epId, sceneId, op) {
116
+ const scene = findScene(script, epId, sceneId);
117
+ const refs = sceneRefs(scene);
118
+ const locations = contextRefsForKind(refs, "location");
119
+ if (locations.length === 0) {
120
+ throw opErr("SCRIPT OP BLOCKED: Scene location missing", "Scene needs a location reference before body can be written.", {
121
+ required: [`scene-ref ${epId}/${sceneId} location:<id> --state <state_id>`],
122
+ received: ["scene.location: null"],
123
+ nextSteps: ["Reference the scene location and its materialized state, then retry."],
124
+ op,
125
+ errorCode: "SCENE_LOCATION_REF_MISSING",
126
+ });
127
+ }
128
+ const actors = contextRefsForKind(refs, "actor");
129
+ const missingStateTargets = [];
130
+ for (const [assetKind, assetRefs] of [
131
+ ["location", locations],
132
+ ["actor", actors],
133
+ ["prop", contextRefsForKind(refs, "prop")],
134
+ ]) {
135
+ const idKey = idKeyForKind(assetKind);
136
+ for (const ref of assetRefs) {
137
+ const assetId = strOf(ref[idKey]).trim();
138
+ const stateId = strOf(ref["state_id"]).trim();
139
+ if (!stateId) {
140
+ missingStateTargets.push(`${assetKind}:${assetId}`);
141
+ continue;
142
+ }
143
+ resolveState(script, assetKind, assetId, stateId);
144
+ }
145
+ }
146
+ if (missingStateTargets.length === 0)
147
+ return;
148
+ throw opErr("SCRIPT OP BLOCKED: Scene asset state missing", "Every scene asset reference needs a materialized state before body can be written.", {
149
+ required: ["state_id on every scene location / actor / prop reference"],
150
+ received: missingStateTargets,
151
+ nextSteps: missingStateTargets.map((target) => `Run scene-ref ${epId}/${sceneId} ${target} --state <state_id>.`),
152
+ op,
153
+ errorCode: "SCENE_REF_STATE_MISSING",
154
+ });
155
+ }
156
+ export function setContextState(script, epId, sceneId, kind, targetId, stateId, options) {
157
+ ensureRefId(script, kind, targetId);
158
+ const normalizedState = validateStateForTarget(script, kind, targetId, stateId);
159
+ const scene = findScene(script, epId, sceneId);
160
+ const bag = sceneRefs(scene);
161
+ const idKey = idKeyForKind(kind);
162
+ // Location is single-valued per scene. Actor refs are ordered instances and
163
+ // may repeat; props keep id-based upsert semantics.
164
+ if (kind === "location") {
165
+ if (options.append || options.occurrence !== undefined) {
166
+ throw opErr("SCRIPT OP BLOCKED: location ref is single-valued", "Location refs do not support append or occurrence.", {
167
+ required: ["scene.ref.set without append or occurrence"],
168
+ received: [options.append ? "append=true" : `occurrence=${options.occurrence}`],
169
+ nextSteps: ["Set the scene location directly; it replaces the existing location ref."],
170
+ op: options.op,
171
+ errorCode: "SCENE_LOCATION_REF_SINGLE",
172
+ });
173
+ }
174
+ bag[pluralForKind(kind)] = [{ [idKey]: targetId, state_id: normalizedState }];
175
+ setSceneRefs(scene, bag);
176
+ return;
177
+ }
178
+ const refs = [...contextRefsForKind(bag, kind)];
179
+ if (options.append) {
180
+ if (kind !== "actor") {
181
+ throw opErr("SCRIPT OP BLOCKED: append only supports actor refs", "Only actor refs may repeat in a scene.", {
182
+ required: ["target: actor:<id>"],
183
+ received: [`${kind}:${targetId}`],
184
+ nextSteps: ["Use actor:<id> with append, or set the existing prop ref."],
185
+ op: options.op,
186
+ errorCode: "SCENE_REF_APPEND_KIND_INVALID",
187
+ });
188
+ }
189
+ refs.push({ [idKey]: targetId, state_id: normalizedState });
190
+ }
191
+ else {
192
+ const existingIndex = contextRefIndex(refs, idKey, targetId, options.occurrence, options.op);
193
+ if (existingIndex === undefined)
194
+ refs.push({ [idKey]: targetId, state_id: normalizedState });
195
+ else
196
+ refs[existingIndex]["state_id"] = normalizedState;
197
+ }
198
+ bag[pluralForKind(kind)] = refs;
199
+ setSceneRefs(scene, bag);
200
+ }
201
+ // v3: a scene ref's state_id IS the state at the scene (no per-action
202
+ // state_changes to walk), so the "state before action N" is simply the scene
203
+ // cast/location/prop ref's declared state.
204
+ export function inferStateBeforeAction(script, epId, sceneId, _actionIndex, kind, targetId) {
205
+ const scene = findScene(script, epId, sceneId);
206
+ const ref = findContextRef(sceneRefs(scene), kind, targetId);
207
+ return ref ? strOf(ref["state_id"]).trim() || null : null;
208
+ }
209
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/domain/script/v3/patch/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type Dict } from "../../shared.js";
2
+ export declare function inlineSpeakerFromOp(script: Dict, op: Dict, opName: string): Dict;
@@ -0,0 +1,50 @@
1
+ import { opErr, strOf } from "../../shared.js";
2
+ import { ensureRefId } from "../lookups.js";
3
+ import { NON_ACTOR_SPEAKER_KIND_SET } from "../types.js";
4
+ export function inlineSpeakerFromOp(script, op, opName) {
5
+ const actorId = strOf(op["actor_id"]).trim();
6
+ const speakerKind = strOf(op["kind"]).trim();
7
+ const label = strOf(op["label"]).trim();
8
+ if (actorId && speakerKind) {
9
+ throw opErr("SCRIPT OP BLOCKED: Speaker ambiguous", "Pass actor_id OR kind, not both.", {
10
+ required: ["exactly one of: actor_id (an actor) or kind (a non-actor source)"],
11
+ received: [`actor_id=${actorId}, kind=${speakerKind}`],
12
+ nextSteps: ["Set actor_id for an actor line, or kind (system|broadcast|offscreen|group) for a non-actor line."],
13
+ op: opName,
14
+ errorCode: "SPEAKER_AMBIGUOUS",
15
+ });
16
+ }
17
+ if (actorId) {
18
+ if (label) {
19
+ throw opErr("SCRIPT OP BLOCKED: Speaker label misplaced", "label is only valid with a non-actor speaker kind.", {
20
+ required: ["omit label with actor_id, or pair label with kind"],
21
+ received: [`actor_id=${actorId}, label=${label}`],
22
+ nextSteps: ["Remove label for an actor line, or use kind for a labeled non-actor source."],
23
+ op: opName,
24
+ errorCode: "SPEAKER_LABEL_WITHOUT_KIND",
25
+ });
26
+ }
27
+ ensureRefId(script, "actor", actorId);
28
+ return { actor_id: actorId };
29
+ }
30
+ if (speakerKind) {
31
+ if (!NON_ACTOR_SPEAKER_KIND_SET.has(speakerKind)) {
32
+ throw opErr("SCRIPT OP BLOCKED: Speaker kind invalid", "Speaker kind invalid.", {
33
+ required: ["kind: system, broadcast, offscreen, or group"],
34
+ received: [speakerKind],
35
+ nextSteps: ["Use a supported non-actor speaker kind, or pass actor_id for an actor."],
36
+ op: opName,
37
+ errorCode: "SPEAKER_KIND_INVALID",
38
+ });
39
+ }
40
+ return label ? { kind: speakerKind, label } : { kind: speakerKind };
41
+ }
42
+ throw opErr("SCRIPT OP BLOCKED: Speaker missing", "Speaker missing.", {
43
+ required: ["actor_id or kind"],
44
+ received: [JSON.stringify(op)],
45
+ nextSteps: ["Pass actor_id for an actor line, or kind for a non-actor line."],
46
+ op: opName,
47
+ errorCode: "SPEAKER_MISSING",
48
+ });
49
+ }
50
+ //# sourceMappingURL=inline-speaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-speaker.js","sourceRoot":"","sources":["../../../../../src/domain/script/v3/patch/inline-speaker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,UAAU,mBAAmB,CAAC,MAAY,EAAE,EAAQ,EAAE,MAAc;IACxE,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,sCAAsC,EAAE,kCAAkC,EAAE;YACtF,QAAQ,EAAE,CAAC,kEAAkE,CAAC;YAC9E,QAAQ,EAAE,CAAC,YAAY,OAAO,UAAU,WAAW,EAAE,CAAC;YACtD,SAAS,EAAE,CAAC,kGAAkG,CAAC;YAC/G,EAAE,EAAE,MAAM;YACV,SAAS,EAAE,mBAAmB;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,CAAC,4CAA4C,EAAE,oDAAoD,EAAE;gBAC9G,QAAQ,EAAE,CAAC,mDAAmD,CAAC;gBAC/D,QAAQ,EAAE,CAAC,YAAY,OAAO,WAAW,KAAK,EAAE,CAAC;gBACjD,SAAS,EAAE,CAAC,6EAA6E,CAAC;gBAC1F,EAAE,EAAE,MAAM;gBACV,SAAS,EAAE,4BAA4B;aACxC,CAAC,CAAC;QACL,CAAC;QACD,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,CAAC,yCAAyC,EAAE,uBAAuB,EAAE;gBAC9E,QAAQ,EAAE,CAAC,8CAA8C,CAAC;gBAC1D,QAAQ,EAAE,CAAC,WAAW,CAAC;gBACvB,SAAS,EAAE,CAAC,wEAAwE,CAAC;gBACrF,EAAE,EAAE,MAAM;gBACV,SAAS,EAAE,sBAAsB;aAClC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,KAAK,CAAC,oCAAoC,EAAE,kBAAkB,EAAE;QACpE,QAAQ,EAAE,CAAC,kBAAkB,CAAC;QAC9B,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9B,SAAS,EAAE,CAAC,gEAAgE,CAAC;QAC7E,EAAE,EAAE,MAAM;QACV,SAAS,EAAE,iBAAiB;KAC7B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { OpCtx } from "./types.js";
2
+ export declare function op_action_transition_set(__ctx: OpCtx): void;
3
+ export declare function op_action_transition_clear(__ctx: OpCtx): void;
4
+ export declare function op_action_content_replace(__ctx: OpCtx): void;
5
+ export declare function op_action_content_regex_replace(__ctx: OpCtx): void;
6
+ export declare function op_action_type_set(__ctx: OpCtx): void;
7
+ export declare function op_action_actor_set(__ctx: OpCtx): void;
8
+ export declare function op_action_emotion_set(__ctx: OpCtx): void;
9
+ export declare function op_action_emotion_clear(__ctx: OpCtx): void;
10
+ export declare function op_action_delete(__ctx: OpCtx): void;
11
+ export declare function op_action_insert(__ctx: OpCtx): void;
12
+ export declare function op_action_move(__ctx: OpCtx): void;