@lingjingai/scriptctl 0.49.16 → 0.50.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 (388) hide show
  1. package/README.md +8 -2
  2. package/changes/0.50.0.md +63 -0
  3. package/changes/unreleased.md +2 -1
  4. package/dist/cli.js +26 -5
  5. package/dist/cli.js.map +1 -1
  6. package/dist/domain/authoring/apply.d.ts +1 -33
  7. package/dist/domain/authoring/apply.js +1 -783
  8. package/dist/domain/authoring/apply.js.map +1 -1
  9. package/dist/domain/authoring/export.d.ts +1 -7
  10. package/dist/domain/authoring/export.js +1 -84
  11. package/dist/domain/authoring/export.js.map +1 -1
  12. package/dist/domain/authoring/parser.d.ts +2 -3
  13. package/dist/domain/authoring/parser.js +2 -914
  14. package/dist/domain/authoring/parser.js.map +1 -1
  15. package/dist/domain/authoring/serializer.d.ts +1 -2
  16. package/dist/domain/authoring/serializer.js +1 -243
  17. package/dist/domain/authoring/serializer.js.map +1 -1
  18. package/dist/domain/authoring/shared/bracket.d.ts +4 -0
  19. package/dist/domain/authoring/shared/bracket.js +95 -0
  20. package/dist/domain/authoring/shared/bracket.js.map +1 -0
  21. package/dist/domain/authoring/shared/types.d.ts +12 -0
  22. package/dist/domain/authoring/shared/types.js +2 -0
  23. package/dist/domain/authoring/shared/types.js.map +1 -0
  24. package/dist/domain/authoring/types.d.ts +2 -87
  25. package/dist/domain/authoring/types.js +2 -1
  26. package/dist/domain/authoring/types.js.map +1 -1
  27. package/dist/domain/authoring/v3/apply.d.ts +33 -0
  28. package/dist/domain/authoring/v3/apply.js +784 -0
  29. package/dist/domain/authoring/v3/apply.js.map +1 -0
  30. package/dist/domain/authoring/v3/export.d.ts +7 -0
  31. package/dist/domain/authoring/v3/export.js +85 -0
  32. package/dist/domain/authoring/v3/export.js.map +1 -0
  33. package/dist/domain/authoring/v3/parser.d.ts +3 -0
  34. package/dist/domain/authoring/v3/parser.js +823 -0
  35. package/dist/domain/authoring/v3/parser.js.map +1 -0
  36. package/dist/domain/authoring/v3/serializer.d.ts +2 -0
  37. package/dist/domain/authoring/v3/serializer.js +244 -0
  38. package/dist/domain/authoring/v3/serializer.js.map +1 -0
  39. package/dist/domain/authoring/v3/types.d.ts +76 -0
  40. package/dist/domain/authoring/v3/types.js +2 -0
  41. package/dist/domain/authoring/v3/types.js.map +1 -0
  42. package/dist/domain/authoring/v4/apply.d.ts +40 -0
  43. package/dist/domain/authoring/v4/apply.js +451 -0
  44. package/dist/domain/authoring/v4/apply.js.map +1 -0
  45. package/dist/domain/authoring/v4/parser.d.ts +2 -0
  46. package/dist/domain/authoring/v4/parser.js +729 -0
  47. package/dist/domain/authoring/v4/parser.js.map +1 -0
  48. package/dist/domain/authoring/v4/serializer.d.ts +6 -0
  49. package/dist/domain/authoring/v4/serializer.js +280 -0
  50. package/dist/domain/authoring/v4/serializer.js.map +1 -0
  51. package/dist/domain/authoring/v4/types.d.ts +50 -0
  52. package/dist/domain/authoring/v4/types.js +2 -0
  53. package/dist/domain/authoring/v4/types.js.map +1 -0
  54. package/dist/domain/ingest/apply-plan.d.ts +1 -1
  55. package/dist/domain/ingest/assembler.d.ts +9 -0
  56. package/dist/domain/ingest/assembler.js +98 -36
  57. package/dist/domain/ingest/assembler.js.map +1 -1
  58. package/dist/domain/ingest/asset-audit.d.ts +50 -0
  59. package/dist/domain/ingest/asset-audit.js +196 -0
  60. package/dist/domain/ingest/asset-audit.js.map +1 -0
  61. package/dist/domain/ingest/production-validation.d.ts +5 -4
  62. package/dist/domain/ingest/production-validation.js +10 -25
  63. package/dist/domain/ingest/production-validation.js.map +1 -1
  64. package/dist/domain/ingest/records.d.ts +1 -1
  65. package/dist/domain/ingest/records.js +1 -1
  66. package/dist/domain/ingest/records.js.map +1 -1
  67. package/dist/domain/ingest/serial-context.d.ts +1 -1
  68. package/dist/domain/ingest/validation.d.ts +1 -11
  69. package/dist/domain/ingest/validation.js +1 -199
  70. package/dist/domain/ingest/validation.js.map +1 -1
  71. package/dist/domain/ingest/video-apply.js +68 -45
  72. package/dist/domain/ingest/video-apply.js.map +1 -1
  73. package/dist/domain/script/address.d.ts +1 -32
  74. package/dist/domain/script/address.js +1 -144
  75. package/dist/domain/script/address.js.map +1 -1
  76. package/dist/domain/script/dispatch.d.ts +14 -0
  77. package/dist/domain/script/dispatch.js +47 -0
  78. package/dist/domain/script/dispatch.js.map +1 -0
  79. package/dist/domain/script/lookups.d.ts +1 -33
  80. package/dist/domain/script/lookups.js +1 -316
  81. package/dist/domain/script/lookups.js.map +1 -1
  82. package/dist/domain/script/parse.d.ts +1 -3
  83. package/dist/domain/script/parse.js +1 -164
  84. package/dist/domain/script/parse.js.map +1 -1
  85. package/dist/domain/script/patch/apply.d.ts +1 -2
  86. package/dist/domain/script/patch/apply.js +1 -30
  87. package/dist/domain/script/patch/apply.js.map +1 -1
  88. package/dist/domain/script/patch/helpers.d.ts +1 -17
  89. package/dist/domain/script/patch/helpers.js +1 -210
  90. package/dist/domain/script/patch/helpers.js.map +1 -1
  91. package/dist/domain/script/patch/inline-speaker.d.ts +1 -2
  92. package/dist/domain/script/patch/inline-speaker.js +1 -49
  93. package/dist/domain/script/patch/inline-speaker.js.map +1 -1
  94. package/dist/domain/script/patch/ops-action.d.ts +1 -12
  95. package/dist/domain/script/patch/ops-action.js +1 -366
  96. package/dist/domain/script/patch/ops-action.js.map +1 -1
  97. package/dist/domain/script/patch/ops-asset.d.ts +1 -14
  98. package/dist/domain/script/patch/ops-asset.js +1 -364
  99. package/dist/domain/script/patch/ops-asset.js.map +1 -1
  100. package/dist/domain/script/patch/ops-dialogue.d.ts +1 -2
  101. package/dist/domain/script/patch/ops-dialogue.js +1 -25
  102. package/dist/domain/script/patch/ops-dialogue.js.map +1 -1
  103. package/dist/domain/script/patch/ops-extend.d.ts +1 -8
  104. package/dist/domain/script/patch/ops-extend.js +1 -110
  105. package/dist/domain/script/patch/ops-extend.js.map +1 -1
  106. package/dist/domain/script/patch/ops-meta.d.ts +1 -5
  107. package/dist/domain/script/patch/ops-meta.js +1 -81
  108. package/dist/domain/script/patch/ops-meta.js.map +1 -1
  109. package/dist/domain/script/patch/ops-scene.d.ts +1 -6
  110. package/dist/domain/script/patch/ops-scene.js +1 -350
  111. package/dist/domain/script/patch/ops-scene.js.map +1 -1
  112. package/dist/domain/script/patch/ops-state.d.ts +1 -8
  113. package/dist/domain/script/patch/ops-state.js +1 -164
  114. package/dist/domain/script/patch/ops-state.js.map +1 -1
  115. package/dist/domain/script/patch/registry.d.ts +1 -2
  116. package/dist/domain/script/patch/registry.js +1 -52
  117. package/dist/domain/script/patch/registry.js.map +1 -1
  118. package/dist/domain/script/patch/types.d.ts +1 -10
  119. package/dist/domain/script/patch/types.js +1 -1
  120. package/dist/domain/script/patch/types.js.map +1 -1
  121. package/dist/domain/script/refs.d.ts +1 -4
  122. package/dist/domain/script/refs.js +1 -63
  123. package/dist/domain/script/refs.js.map +1 -1
  124. package/dist/domain/script/scene-refs.d.ts +1 -3
  125. package/dist/domain/script/scene-refs.js +1 -34
  126. package/dist/domain/script/scene-refs.js.map +1 -1
  127. package/dist/domain/script/schema.d.ts +1 -6
  128. package/dist/domain/script/schema.js +1 -55
  129. package/dist/domain/script/schema.js.map +1 -1
  130. package/dist/domain/script/selector.d.ts +1 -45
  131. package/dist/domain/script/selector.js +1 -184
  132. package/dist/domain/script/selector.js.map +1 -1
  133. package/dist/domain/script/shared/regex.d.ts +2 -0
  134. package/dist/domain/script/shared/regex.js +7 -0
  135. package/dist/domain/script/shared/regex.js.map +1 -0
  136. package/dist/domain/script/shared/types.d.ts +18 -0
  137. package/dist/domain/script/shared/types.js +9 -0
  138. package/dist/domain/script/shared/types.js.map +1 -0
  139. package/dist/domain/script/shared/validation.d.ts +10 -0
  140. package/dist/domain/script/shared/validation.js +2 -0
  141. package/dist/domain/script/shared/validation.js.map +1 -0
  142. package/dist/domain/script/types.d.ts +1 -123
  143. package/dist/domain/script/types.js +1 -8
  144. package/dist/domain/script/types.js.map +1 -1
  145. package/dist/domain/script/v3/address.d.ts +32 -0
  146. package/dist/domain/script/v3/address.js +145 -0
  147. package/dist/domain/script/v3/address.js.map +1 -0
  148. package/dist/domain/script/v3/lookups.d.ts +33 -0
  149. package/dist/domain/script/v3/lookups.js +317 -0
  150. package/dist/domain/script/v3/lookups.js.map +1 -0
  151. package/dist/domain/script/v3/ordinal.d.ts +8 -0
  152. package/dist/domain/script/v3/ordinal.js +92 -0
  153. package/dist/domain/script/v3/ordinal.js.map +1 -0
  154. package/dist/domain/script/v3/parse.d.ts +3 -0
  155. package/dist/domain/script/v3/parse.js +165 -0
  156. package/dist/domain/script/v3/parse.js.map +1 -0
  157. package/dist/domain/script/v3/patch/apply.d.ts +2 -0
  158. package/dist/domain/script/v3/patch/apply.js +31 -0
  159. package/dist/domain/script/v3/patch/apply.js.map +1 -0
  160. package/dist/domain/script/v3/patch/helpers.d.ts +17 -0
  161. package/dist/domain/script/v3/patch/helpers.js +211 -0
  162. package/dist/domain/script/v3/patch/helpers.js.map +1 -0
  163. package/dist/domain/script/v3/patch/inline-speaker.d.ts +2 -0
  164. package/dist/domain/script/v3/patch/inline-speaker.js +50 -0
  165. package/dist/domain/script/v3/patch/inline-speaker.js.map +1 -0
  166. package/dist/domain/script/v3/patch/ops-action.d.ts +12 -0
  167. package/dist/domain/script/v3/patch/ops-action.js +367 -0
  168. package/dist/domain/script/v3/patch/ops-action.js.map +1 -0
  169. package/dist/domain/script/v3/patch/ops-asset.d.ts +14 -0
  170. package/dist/domain/script/v3/patch/ops-asset.js +365 -0
  171. package/dist/domain/script/v3/patch/ops-asset.js.map +1 -0
  172. package/dist/domain/script/v3/patch/ops-dialogue.d.ts +2 -0
  173. package/dist/domain/script/v3/patch/ops-dialogue.js +26 -0
  174. package/dist/domain/script/v3/patch/ops-dialogue.js.map +1 -0
  175. package/dist/domain/script/v3/patch/ops-extend.d.ts +8 -0
  176. package/dist/domain/script/v3/patch/ops-extend.js +111 -0
  177. package/dist/domain/script/v3/patch/ops-extend.js.map +1 -0
  178. package/dist/domain/script/v3/patch/ops-meta.d.ts +5 -0
  179. package/dist/domain/script/v3/patch/ops-meta.js +82 -0
  180. package/dist/domain/script/v3/patch/ops-meta.js.map +1 -0
  181. package/dist/domain/script/v3/patch/ops-scene.d.ts +6 -0
  182. package/dist/domain/script/v3/patch/ops-scene.js +351 -0
  183. package/dist/domain/script/v3/patch/ops-scene.js.map +1 -0
  184. package/dist/domain/script/v3/patch/ops-state.d.ts +8 -0
  185. package/dist/domain/script/v3/patch/ops-state.js +165 -0
  186. package/dist/domain/script/v3/patch/ops-state.js.map +1 -0
  187. package/dist/domain/script/v3/patch/registry.d.ts +2 -0
  188. package/dist/domain/script/v3/patch/registry.js +53 -0
  189. package/dist/domain/script/v3/patch/registry.js.map +1 -0
  190. package/dist/domain/script/v3/patch/types.d.ts +10 -0
  191. package/dist/domain/script/v3/patch/types.js +2 -0
  192. package/dist/domain/script/v3/patch/types.js.map +1 -0
  193. package/dist/domain/script/v3/refs.d.ts +4 -0
  194. package/dist/domain/script/v3/refs.js +64 -0
  195. package/dist/domain/script/v3/refs.js.map +1 -0
  196. package/dist/domain/script/v3/scene-refs.d.ts +3 -0
  197. package/dist/domain/script/v3/scene-refs.js +35 -0
  198. package/dist/domain/script/v3/scene-refs.js.map +1 -0
  199. package/dist/domain/script/v3/schema.d.ts +6 -0
  200. package/dist/domain/script/v3/schema.js +56 -0
  201. package/dist/domain/script/v3/schema.js.map +1 -0
  202. package/dist/domain/script/v3/selector.d.ts +44 -0
  203. package/dist/domain/script/v3/selector.js +180 -0
  204. package/dist/domain/script/v3/selector.js.map +1 -0
  205. package/dist/domain/script/v3/types.d.ts +106 -0
  206. package/dist/domain/script/v3/types.js +2 -0
  207. package/dist/domain/script/v3/types.js.map +1 -0
  208. package/dist/domain/script/v3/validation.d.ts +3 -0
  209. package/dist/domain/script/v3/validation.js +200 -0
  210. package/dist/domain/script/v3/validation.js.map +1 -0
  211. package/dist/domain/script/v4/address.d.ts +61 -0
  212. package/dist/domain/script/v4/address.js +100 -0
  213. package/dist/domain/script/v4/address.js.map +1 -0
  214. package/dist/domain/script/v4/factory.d.ts +2 -0
  215. package/dist/domain/script/v4/factory.js +13 -0
  216. package/dist/domain/script/v4/factory.js.map +1 -0
  217. package/dist/domain/script/v4/from-v3.d.ts +29 -0
  218. package/dist/domain/script/v4/from-v3.js +307 -0
  219. package/dist/domain/script/v4/from-v3.js.map +1 -0
  220. package/dist/domain/script/v4/ids.d.ts +27 -0
  221. package/dist/domain/script/v4/ids.js +63 -0
  222. package/dist/domain/script/v4/ids.js.map +1 -0
  223. package/dist/domain/script/v4/ordinal.d.ts +3 -0
  224. package/dist/domain/script/v4/ordinal.js +67 -0
  225. package/dist/domain/script/v4/ordinal.js.map +1 -0
  226. package/dist/domain/script/v4/parse.d.ts +3 -0
  227. package/dist/domain/script/v4/parse.js +18 -0
  228. package/dist/domain/script/v4/parse.js.map +1 -0
  229. package/dist/domain/script/v4/patch/apply.d.ts +3 -0
  230. package/dist/domain/script/v4/patch/apply.js +24 -0
  231. package/dist/domain/script/v4/patch/apply.js.map +1 -0
  232. package/dist/domain/script/v4/patch/helpers.d.ts +32 -0
  233. package/dist/domain/script/v4/patch/helpers.js +139 -0
  234. package/dist/domain/script/v4/patch/helpers.js.map +1 -0
  235. package/dist/domain/script/v4/patch/ops-action.d.ts +13 -0
  236. package/dist/domain/script/v4/patch/ops-action.js +379 -0
  237. package/dist/domain/script/v4/patch/ops-action.js.map +1 -0
  238. package/dist/domain/script/v4/patch/ops-asset.d.ts +17 -0
  239. package/dist/domain/script/v4/patch/ops-asset.js +617 -0
  240. package/dist/domain/script/v4/patch/ops-asset.js.map +1 -0
  241. package/dist/domain/script/v4/patch/ops-extend.d.ts +11 -0
  242. package/dist/domain/script/v4/patch/ops-extend.js +86 -0
  243. package/dist/domain/script/v4/patch/ops-extend.js.map +1 -0
  244. package/dist/domain/script/v4/patch/ops-meta.d.ts +5 -0
  245. package/dist/domain/script/v4/patch/ops-meta.js +49 -0
  246. package/dist/domain/script/v4/patch/ops-meta.js.map +1 -0
  247. package/dist/domain/script/v4/patch/ops-scene-ref.d.ts +3 -0
  248. package/dist/domain/script/v4/patch/ops-scene-ref.js +98 -0
  249. package/dist/domain/script/v4/patch/ops-scene-ref.js.map +1 -0
  250. package/dist/domain/script/v4/patch/ops-structure.d.ts +6 -0
  251. package/dist/domain/script/v4/patch/ops-structure.js +236 -0
  252. package/dist/domain/script/v4/patch/ops-structure.js.map +1 -0
  253. package/dist/domain/script/v4/patch/registry.d.ts +2 -0
  254. package/dist/domain/script/v4/patch/registry.js +50 -0
  255. package/dist/domain/script/v4/patch/registry.js.map +1 -0
  256. package/dist/domain/script/v4/patch/schema.d.ts +7 -0
  257. package/dist/domain/script/v4/patch/schema.js +75 -0
  258. package/dist/domain/script/v4/patch/schema.js.map +1 -0
  259. package/dist/domain/script/v4/patch/types.d.ts +10 -0
  260. package/dist/domain/script/v4/patch/types.js +2 -0
  261. package/dist/domain/script/v4/patch/types.js.map +1 -0
  262. package/dist/domain/script/v4/selector.d.ts +11 -0
  263. package/dist/domain/script/v4/selector.js +125 -0
  264. package/dist/domain/script/v4/selector.js.map +1 -0
  265. package/dist/domain/script/v4/types.d.ts +120 -0
  266. package/dist/domain/script/v4/types.js +2 -0
  267. package/dist/domain/script/v4/types.js.map +1 -0
  268. package/dist/domain/script/v4/validation.d.ts +2 -0
  269. package/dist/domain/script/v4/validation.js +378 -0
  270. package/dist/domain/script/v4/validation.js.map +1 -0
  271. package/dist/help-text.js +146 -114
  272. package/dist/help-text.js.map +1 -1
  273. package/dist/llm/config.js +2 -0
  274. package/dist/llm/config.js.map +1 -1
  275. package/dist/llm/registry.d.ts +1 -0
  276. package/dist/llm/registry.js +3 -0
  277. package/dist/llm/registry.js.map +1 -1
  278. package/dist/llm/tasks/ingest/asset-audit.d.ts +6 -0
  279. package/dist/llm/tasks/ingest/asset-audit.js +164 -0
  280. package/dist/llm/tasks/ingest/asset-audit.js.map +1 -0
  281. package/dist/llm/tasks/ingest/asset-curate.d.ts +1 -1
  282. package/dist/llm/types.d.ts +1 -1
  283. package/dist/llm/types.js.map +1 -1
  284. package/dist/usecases/ingest/command.js +1 -1
  285. package/dist/usecases/ingest/final-asset-audit.d.ts +39 -0
  286. package/dist/usecases/ingest/final-asset-audit.js +88 -0
  287. package/dist/usecases/ingest/final-asset-audit.js.map +1 -0
  288. package/dist/usecases/ingest/pipeline.js +62 -11
  289. package/dist/usecases/ingest/pipeline.js.map +1 -1
  290. package/dist/usecases/ingest/serial-govern.d.ts +2 -1
  291. package/dist/usecases/ingest/serial-govern.js +11 -4
  292. package/dist/usecases/ingest/serial-govern.js.map +1 -1
  293. package/dist/usecases/ingest/video-pipeline.js +100 -14
  294. package/dist/usecases/ingest/video-pipeline.js.map +1 -1
  295. package/dist/usecases/ingest/view-server.js +2 -2
  296. package/dist/usecases/ingest/view-server.js.map +1 -1
  297. package/dist/usecases/script/actions.js +101 -5
  298. package/dist/usecases/script/actions.js.map +1 -1
  299. package/dist/usecases/script/actors.js +16 -7
  300. package/dist/usecases/script/actors.js.map +1 -1
  301. package/dist/usecases/script/alias.js +7 -6
  302. package/dist/usecases/script/alias.js.map +1 -1
  303. package/dist/usecases/script/assets.js +18 -2
  304. package/dist/usecases/script/assets.js.map +1 -1
  305. package/dist/usecases/script/audit-assets.d.ts +4 -0
  306. package/dist/usecases/script/audit-assets.js +40 -0
  307. package/dist/usecases/script/audit-assets.js.map +1 -0
  308. package/dist/usecases/script/command-constraints.d.ts +36 -0
  309. package/dist/usecases/script/command-constraints.js +115 -0
  310. package/dist/usecases/script/command-constraints.js.map +1 -0
  311. package/dist/usecases/script/context.js +31 -4
  312. package/dist/usecases/script/context.js.map +1 -1
  313. package/dist/usecases/script/create.js +2 -2
  314. package/dist/usecases/script/create.js.map +1 -1
  315. package/dist/usecases/script/delete.js +6 -3
  316. package/dist/usecases/script/delete.js.map +1 -1
  317. package/dist/usecases/script/describe.js +7 -4
  318. package/dist/usecases/script/describe.js.map +1 -1
  319. package/dist/usecases/script/dialogue.js +15 -5
  320. package/dist/usecases/script/dialogue.js.map +1 -1
  321. package/dist/usecases/script/dispatch.d.ts +3 -0
  322. package/dist/usecases/script/dispatch.js +10 -0
  323. package/dist/usecases/script/dispatch.js.map +1 -0
  324. package/dist/usecases/script/do.js +74 -11
  325. package/dist/usecases/script/do.js.map +1 -1
  326. package/dist/usecases/script/emotion.js +14 -3
  327. package/dist/usecases/script/emotion.js.map +1 -1
  328. package/dist/usecases/script/episodes.js +15 -4
  329. package/dist/usecases/script/episodes.js.map +1 -1
  330. package/dist/usecases/script/export-authoring.js +35 -11
  331. package/dist/usecases/script/export-authoring.js.map +1 -1
  332. package/dist/usecases/script/extend.js +23 -15
  333. package/dist/usecases/script/extend.js.map +1 -1
  334. package/dist/usecases/script/ids.js +53 -10
  335. package/dist/usecases/script/ids.js.map +1 -1
  336. package/dist/usecases/script/insert.js +74 -38
  337. package/dist/usecases/script/insert.js.map +1 -1
  338. package/dist/usecases/script/lib.d.ts +50 -1
  339. package/dist/usecases/script/lib.js +599 -61
  340. package/dist/usecases/script/lib.js.map +1 -1
  341. package/dist/usecases/script/locations.js +16 -7
  342. package/dist/usecases/script/locations.js.map +1 -1
  343. package/dist/usecases/script/merge.js +8 -5
  344. package/dist/usecases/script/merge.js.map +1 -1
  345. package/dist/usecases/script/move.js +24 -5
  346. package/dist/usecases/script/move.js.map +1 -1
  347. package/dist/usecases/script/parenthetical.d.ts +3 -0
  348. package/dist/usecases/script/parenthetical.js +55 -0
  349. package/dist/usecases/script/parenthetical.js.map +1 -0
  350. package/dist/usecases/script/props.js +16 -7
  351. package/dist/usecases/script/props.js.map +1 -1
  352. package/dist/usecases/script/refs.js +44 -0
  353. package/dist/usecases/script/refs.js.map +1 -1
  354. package/dist/usecases/script/rename.js +7 -4
  355. package/dist/usecases/script/rename.js.map +1 -1
  356. package/dist/usecases/script/scenes.js +32 -6
  357. package/dist/usecases/script/scenes.js.map +1 -1
  358. package/dist/usecases/script/script-patch.js +180 -16
  359. package/dist/usecases/script/script-patch.js.map +1 -1
  360. package/dist/usecases/script/session.d.ts +3 -0
  361. package/dist/usecases/script/session.js +25 -5
  362. package/dist/usecases/script/session.js.map +1 -1
  363. package/dist/usecases/script/split.js +12 -6
  364. package/dist/usecases/script/split.js.map +1 -1
  365. package/dist/usecases/script/states.js +45 -1
  366. package/dist/usecases/script/states.js.map +1 -1
  367. package/dist/usecases/script/synopsis.js +11 -4
  368. package/dist/usecases/script/synopsis.js.map +1 -1
  369. package/dist/usecases/script/v3/mutations.d.ts +2 -0
  370. package/dist/usecases/script/v3/mutations.js +5 -0
  371. package/dist/usecases/script/v3/mutations.js.map +1 -0
  372. package/dist/usecases/script/v4/mutations.d.ts +2 -0
  373. package/dist/usecases/script/v4/mutations.js +6 -0
  374. package/dist/usecases/script/v4/mutations.js.map +1 -0
  375. package/dist/usecases/script/v4/queries.d.ts +14 -0
  376. package/dist/usecases/script/v4/queries.js +154 -0
  377. package/dist/usecases/script/v4/queries.js.map +1 -0
  378. package/dist/usecases/script/working-copy.js +3 -3
  379. package/dist/usecases/script/working-copy.js.map +1 -1
  380. package/dist/usecases/script/write-authoring.js +99 -5
  381. package/dist/usecases/script/write-authoring.js.map +1 -1
  382. package/package.json +3 -2
  383. package/skills/scriptctl/SKILL.md +122 -282
  384. package/skills/scriptctl/references/atomic-edit-workflow.md +23 -38
  385. package/skills/scriptctl/references/bulk-authoring.md +35 -154
  386. package/skills/scriptctl/references/ingest-workflow.md +12 -11
  387. package/skills/scriptctl/references/production-writing-standard.md +38 -67
  388. package/skills/scriptctl/references/state-reference-repair.md +19 -42
package/dist/help-text.js CHANGED
@@ -6,10 +6,10 @@ const HELP_ENTRIES = [
6
6
  Usage
7
7
  - scriptctl <query> [flags] # read a script
8
8
  - scriptctl <verb> <address> [flags] # edit a script
9
- - scriptctl ingest --source-path SRC # txt/md/docx/video → Script v3
9
+ - scriptctl ingest --source-path SRC # txt/md/docx/video → new Script v4
10
10
 
11
11
  Workflows
12
- - ingest txt/md/docx/video → Script v3 workspace. Run: scriptctl ingest --help
12
+ - ingest txt/md/docx/video → Script v4 workspace. Run: scriptctl ingest --help
13
13
  - view Render a workspace script.json to review.html (no model)
14
14
  - checkout Download one remote snapshot into a managed local working copy
15
15
  - status Show whether the local working copy is managed and dirty
@@ -19,11 +19,11 @@ Workflows
19
19
  Read
20
20
  - summary | episodes | scenes | actions
21
21
  - actors | locations | props | assets | states
22
- - issues | refs | validate
22
+ - issues | refs | validate | audit-assets
23
23
 
24
24
  Write
25
25
  - create | add-actor | add-location | add-prop | add-episode
26
- - replace | type | actor | emotion
26
+ - replace | type | actor | emotion (v3) | parenthetical (v4)
27
27
  - insert | delete | move | split | merge
28
28
  - rename | describe | alias | role | importance | worldview | synopsis | extend
29
29
  - state-add | state-rename | state-delete | transition | scene-ref
@@ -31,7 +31,7 @@ Write
31
31
 
32
32
  Batch
33
33
  - write <file> plan/apply complete script, episode, scene, or span blocks
34
- - ids inspect the next unreserved canonical IDs
34
+ - ids generate unreserved canonical ID candidates
35
35
  - do [file|-] run one CLI verb per line as one transaction
36
36
  - patch [file|-] apply JSON ops; use --schema to inspect op shapes
37
37
 
@@ -114,12 +114,12 @@ Checks
114
114
  ],
115
115
  [
116
116
  ["ingest"],
117
- `Convert a txt/md/docx or video source into a Script v3 workspace.
117
+ `Convert a txt/md/docx or video source into a Script v4 workspace.
118
118
 
119
119
  Text pipeline: pass1 chunk → pass2 normalize (DeepSeek Flash emits structured JSON,
120
120
  validated deterministically) → pass3 merge → compile (provisional script.initial.json +
121
121
  evidence) → pass5 govern (asset recall + refine → merge/canonical/prune) →
122
- script.json (v3-validated). Fully decoupled from direct.
122
+ script.json (v4-validated). Fully decoupled from direct.
123
123
 
124
124
  Video pipeline (file or directory of episodes): serial parse — each episode's
125
125
  Gemini call watches the video WITH the running cross-episode context (character
@@ -127,7 +127,7 @@ registry + plot digest + open threads) and returns the episode content plus a
127
127
  registry delta. Identity is resolved by plot as it goes (unknown people get an
128
128
  anchored provisional, resolved once a later episode reveals them), so no roster
129
129
  merge / correction / speaker passes. Converges onto the SAME deterministic tail as
130
- text → identical Script v3 (timestamps ride extend.timestamp). script.json is
130
+ text → identical Script v4 (timestamps ride extend.timestamp). script.json is
131
131
  rebuilt after every episode so it streams as it grows. Needs GEMINI_API_KEY.
132
132
 
133
133
  Usage
@@ -173,8 +173,8 @@ Options
173
173
  State (top-level, folded from the files)
174
174
  - empty No ingest workspace (no manifest.json).
175
175
  - incomplete Started, not finished, no hard error (rerun \`scriptctl ingest\` to resume).
176
- - failed Leftover unit error sidecars OR final v3 validation failed.
177
- - ready script.json present and v3-validated.
176
+ - failed Leftover unit error sidecars OR final v4 validation failed.
177
+ - ready script.json present and v4-validated.
178
178
 
179
179
  --json payload (.status)
180
180
  - { workspace, exists, kind, state, phase, passes[], units, script, validation, errors[], updated }
@@ -223,7 +223,7 @@ whether its semantic JSON content differs from the checked-out/published base.
223
223
  ],
224
224
  [
225
225
  ["publish"],
226
- `Validate and publish a local Script v3 working copy with strict revision CAS.
226
+ `Validate and publish a local Script v3 or v4 working copy with strict revision CAS.
227
227
 
228
228
  Usage
229
229
  - scriptctl publish [--script-path <file>] [--project-group-no <no>]
@@ -244,9 +244,9 @@ Usage
244
244
  Options
245
245
  - --create Create script/episode/scene targets. Span targets do not support create.
246
246
  - --replace Replace existing episode/scene targets or explicit non-empty spans.
247
- - --apply Persist the proposed Script v3 atomically.
247
+ - --apply Persist the proposed script atomically.
248
248
  - --plan <digest> Exact digest returned by a fresh plan; required with --apply.
249
- - --script-path <file> Local Script v3 target. Default: ./workspace/script.json
249
+ - --script-path <file> Local target. Default: ./workspace/script.json
250
250
  - --json Print the complete structured plan.
251
251
 
252
252
  The source must be a named file; stdin is not accepted. Default execution is a
@@ -257,13 +257,14 @@ holds the per-script local lock; apply also rechecks the baseline before rename.
257
257
  ],
258
258
  [
259
259
  ["ids"],
260
- `Return unreserved canonical candidate IDs from the current local Script v3.
260
+ `Return unreserved candidate IDs. No script is required; when one exists,
261
+ currently live IDs are excluded.
261
262
 
262
263
  Usage
263
264
  - scriptctl ids --kind <kind> --count <n> [--script-path <file>]
264
265
 
265
266
  Kinds
266
- - actor | location | prop | state | episode | scene
267
+ - actor | location | prop | state | episode | scene | action
267
268
 
268
269
  The command is read-only and does not reserve IDs. Concurrent conflicts are
269
270
  detected later by the write plan's semantic-baseline binding.
@@ -271,7 +272,7 @@ detected later by the write plan's semantic-baseline binding.
271
272
  ],
272
273
  [
273
274
  ["export"],
274
- `Export canonical .scriptctl authoring files from a local Script v3.
275
+ `Export canonical .scriptctl authoring files from a local Script v3 or v4.
275
276
 
276
277
  Usage
277
278
  - scriptctl export script --output <file> [--script-path <file>]
@@ -392,27 +393,31 @@ Usage
392
393
  - scriptctl scenes [options]
393
394
 
394
395
  Options
395
- - --in <addr> Scope to ep_NNN (episode) or ep_NNN/scn_NNN (single scene).
396
+ - --in <selector> V4: bare episode/scene IDs, ID ranges, or query-only @ ordinals.
397
+ V3: ep_NNN or ep_NNN/scn_NNN.
396
398
  - --has-actor <id> Only scenes whose context references this actor.
397
399
  - --has-location <id> Only scenes whose context references this location.
398
400
  - --has-prop <id> Only scenes whose context references this prop.
399
401
  - --script-path / --json / --help
400
402
 
401
403
  Output line
402
- - ep_NNN/scn_NNN [space time] location=loc_NNN(name) actors=... props=... actions=N t=<t_start>..<t_end>
404
+ - V4 addr is the stable scene ID; V3 addr is ep_NNN/scn_NNN.
405
+ - <addr> [space time] location=... actors=... props=... actions=N t=<t_start>..<t_end>
403
406
  t_start / t_end are the first / last action extend.timestamp in the scene
404
407
  (omitted when the scene carries no timestamps).
405
408
 
406
409
  Examples
410
+ - scriptctl scenes --in '@ep:7'
411
+ - scriptctl scenes --in scnK6wT3c
407
412
  - scriptctl scenes --in ep_007
408
413
  - scriptctl scenes --has-actor act_001
409
- - scriptctl scenes --in ep_001/scn_001
410
414
  `,
411
415
  ],
412
416
  [
413
417
  ["actions"],
414
418
  `Search actions across the script (the workhorse for "find where to edit").
415
- Default output is TSV: addr, timestamp, type, speaker, actor, emotion, content.
419
+ V4 rows expose parenthetical; V3 rows expose emotion. V4 addr is the stable
420
+ Action ID; V3 addr remains ep_NNN/scn_NNN#idx.
416
421
  timestamp is the action's extend.timestamp (episode-local "M:SS"; empty when
417
422
  absent) — the anchor for event-level alignment (an event spans first→last ts).
418
423
 
@@ -420,7 +425,9 @@ Usage
420
425
  - scriptctl actions [options]
421
426
 
422
427
  Options
423
- - --in <addr> Scope to ep_NNN / ep_NNN/scn_NNN / ep_NNN/scn_NNN#idx.
428
+ - --in <selector> V4: bare episode/scene/action IDs, same-kind ID ranges,
429
+ or query-only 1-based @ ordinals.
430
+ V3: existing compound addresses and query-only @ ordinals.
424
431
  - --grep <text> Literal substring (default) or /regex/flags. Matches action.content.
425
432
  - --type <type> dialogue | inner_thought | action | transition.
426
433
  - --actor <id> Actions whose inline speaker is this actor (action.speaker.actor_id).
@@ -433,9 +440,12 @@ errors out — dumping every action across all episodes is too large.
433
440
 
434
441
  Default output
435
442
  - TSV header + one row per action:
436
- addr timestamp type speaker actor emotion content
443
+ V4: addr ep_no scene_no global_scene_no action_no global_action_no timestamp type speaker actor parenthetical content
444
+ V3: addr ep_no scene_no global_scene_no action_no global_action_no timestamp type speaker actor emotion content
437
445
 
438
446
  Examples
447
+ - scriptctl actions --in '@ep:2/scn:1'
448
+ - scriptctl actions --in acR8cV4n..acT2fG6z
439
449
  - scriptctl actions --grep "台下掌声雷动"
440
450
  - scriptctl actions --in ep_001 --type dialogue
441
451
  - scriptctl actions --grep "金碧辉煌" --context 2
@@ -606,6 +616,30 @@ Options
606
616
  Exit codes
607
617
  - 0 passed
608
618
  - 78 validation needs repair (see scriptctl issues)
619
+ `,
620
+ ],
621
+ [
622
+ ["audit-assets"],
623
+ `Run a model-backed whole-script asset consistency audit. Read-only for script.json;
624
+ writes an asset-audit.json sidecar with merge/delete/review suggestions.
625
+
626
+ Checks
627
+ - duplicate actors across formatting, aliases, names, transcription and identity clues
628
+ - duplicate stable visual states and suspicious unused/singleton states
629
+ - duplicate location and prop assets (never merges scene occurrences)
630
+
631
+ Usage
632
+ - scriptctl audit-assets [options]
633
+
634
+ Options
635
+ - --script-path <file> Script v3 input. Default: ./workspace/script.json
636
+ - --llm-config <path> Optional LLM routing config.
637
+ - --output <path> Audit sidecar. Default: next to script.json.
638
+ - --json / --help
639
+
640
+ Behavior
641
+ - Never edits or merges the script automatically.
642
+ - Exit 0 when no findings; exit 78 when findings need review.
609
643
  `,
610
644
  ],
611
645
  // =========================================================================
@@ -619,7 +653,7 @@ Usage
619
653
  - scriptctl replace <at> --from <text> [--to <text>] [--all] [options]
620
654
 
621
655
  Required
622
- - <at> Action address: ep_NNN/scn_NNN#idx
656
+ - <at> v4 Action ID, or v3 ep_NNN/scn_NNN#idx.
623
657
  - --from Non-empty substring to replace.
624
658
 
625
659
  Options
@@ -633,7 +667,9 @@ Example
633
667
  ],
634
668
  [
635
669
  ["type"],
636
- `Set the action.type on a specific action.
670
+ `Set action.type on a specific action. V4 writes use an Action ID; converting
671
+ a narrative v4 action into dialogue/inner_thought is refused because no speaker
672
+ was supplied.
637
673
 
638
674
  Usage
639
675
  - scriptctl type <at> <dialogue|action|inner_thought>
@@ -644,19 +680,18 @@ Example
644
680
  ],
645
681
  [
646
682
  ["actor"],
647
- `Set or clear action.actor_id (the action's narrative subject).
683
+ `Set a speaking action's actor speaker.
648
684
 
649
685
  Usage
650
- - scriptctl actor <at> <actor_id|none>
686
+ - scriptctl actor <at> <actor_id>
651
687
 
652
688
  Example
653
689
  - scriptctl actor ep_001/scn_001#3 act_002
654
- - scriptctl actor ep_001/scn_001#3 none
655
690
  `,
656
691
  ],
657
692
  [
658
693
  ["emotion"],
659
- `Set or clear action.emotion on an action.
694
+ `Set or clear action.emotion on a Script v3 action.
660
695
 
661
696
  Usage
662
697
  - scriptctl emotion <at> <emotion>
@@ -670,6 +705,22 @@ Examples
670
705
  - scriptctl emotion ep_001/scn_001#3 愤怒
671
706
  - scriptctl emotion ep_001/scn_001#3 --clear
672
707
  - scriptctl emotion --in ep_001 --type dialogue 紧张 --apply
708
+ `,
709
+ ],
710
+ [
711
+ ["parenthetical"],
712
+ `Set, preserve as empty, or remove a Script v4 speaking Action's parenthetical.
713
+
714
+ Usage
715
+ - scriptctl parenthetical <action-id> --set <text>
716
+ - scriptctl parenthetical <action-id> --set ""
717
+ - scriptctl parenthetical <action-id> --remove
718
+
719
+ Selection
720
+ - scriptctl parenthetical --in <id-or-id-range> [filters] --set <text>
721
+ - scriptctl parenthetical --in <id-or-id-range> [filters] --remove
722
+
723
+ Script v4 writes require stable Action IDs. Ordinal @ anchors are query-only.
673
724
  `,
674
725
  ],
675
726
  // =========================================================================
@@ -677,38 +728,23 @@ Examples
677
728
  // =========================================================================
678
729
  [
679
730
  ["insert"],
680
- `Insert an action (into a scene) or a brand-new empty scene (into an episode).
731
+ `Insert an action into a scene or a new empty scene into an episode.
681
732
 
682
- Usage
683
- - scriptctl insert <ep/scn> --type <type> --content <text> [position-flags] [options] # action insert
684
- - scriptctl insert <ep> --location <loc_id> [position-flags] [options] # scene insert
685
-
686
- Action insert (first arg is ep/scn)
687
- - Prerequisite Scene location, with a materialized state on every referenced scene asset.
688
- - --type dialogue / action / inner_thought / transition.
689
- - --content Action content text.
690
- - --emotion <text> Optional action.emotion.
691
- - --actor <id> Required for an actor dialogue/inner_thought; actor must already be in this scene.
692
- - --kind <kind> Non-actor dialogue/inner_thought speaker: system|broadcast|offscreen|group.
693
- - --label <text> Optional label for a non-actor speaker.
694
-
695
- Scene insert (first arg is ep)
696
- - --location <id> Required: the scene's location.
697
- - --time <time> Default: day.
698
- - --space <space> Default: interior.
699
- - --scene-id <id> Optional explicit scene id (auto-assigned otherwise).
700
-
701
- Position (both forms)
702
- - --at <idx> Numeric index in the parent collection.
703
- - --before <addr> Insert before this sibling.
704
- - --after <addr> Insert after this sibling.
705
- - Default Append at end.
733
+ Script v4
734
+ - Parent addresses are bare episode/scene IDs.
735
+ - New IDs are generated as typed NanoIDs, or supplied with --action-id / --scene-id.
736
+ - Placement uses sibling IDs with --before or --after; numeric --at is rejected.
737
+ - Speaking actions accept --parenthetical, --actor and optional --speaker-state.
738
+ - A scene location accepts one or more --state values; location may be omitted.
739
+
740
+ Script v3
741
+ - Parent addresses retain ep_NNN or ep_NNN/scn_NNN.
742
+ - Numeric --at and v3 sibling addresses retain their existing semantics.
743
+ - Speaking actions use --emotion.
706
744
 
707
745
  Examples
708
- - scriptctl insert ep_001/scn_001 --type action --content "..." --emotion "紧张" --after ep_001/scn_001#3
709
- - scriptctl insert ep_001/scn_001 --type dialogue --content "欢迎光临。" --actor act_001
710
- - scriptctl insert ep_001/scn_001 --type dialogue --content "列车即将进站。" --kind broadcast --label 广播
711
- - scriptctl insert ep_001 --after ep_001/scn_005 --location loc_001
746
+ - scriptctl insert scnK6wT3c --action-id acR8cV4n --type dialogue --content "欢迎。" --actor actA3kP9x --parenthetical "低声"
747
+ - scriptctl insert epQ7mN2v --scene-id scnD4eF6g --location locF9dH2s --state default
712
748
  `,
713
749
  ],
714
750
  [
@@ -719,14 +755,14 @@ Usage
719
755
  - scriptctl delete <addr> [--strategy replace|remove] [--replacement <id>] [--force]
720
756
 
721
757
  Behavior by address kind
722
- - action (ep/scn#idx) Remove the action; later indices shift.
723
- - scene (ep/scn) Empty scene: removed. Non-empty: refused unless --force.
724
- - asset (kind:id) Refuses by default if refs exist. Pass --strategy:
758
+ - v4 uses bare typed IDs and asset_id/state_id; v3 uses its existing compound addresses.
759
+ - action Remove the action.
760
+ - scene Empty scene: removed. Non-empty: refused unless --force.
761
+ - asset Refuses by default if refs exist. Pass --strategy:
725
762
  replace --replacement <addr>: rewrite all refs to the replacement, then delete.
726
- remove: scrub refs and delete (refs become dangling).
727
- - state (kind:id/state_id) --strategy replace --replacement <state_id>: repoint context/state_changes, then drop.
728
- --strategy remove: scrub the state from refs and drop. (Same as state-delete.)
729
- - speaker (spk_id) Same --strategy logic as asset.
763
+ remove: scrub valid removable refs and delete.
764
+ - state replace rewrites references; remove is refused if a v4
765
+ scene state set would become empty.
730
766
 
731
767
  Examples
732
768
  - scriptctl delete ep_001/scn_001#3
@@ -738,20 +774,13 @@ Examples
738
774
  ],
739
775
  [
740
776
  ["move"],
741
- `Move an action across actions / scenes, or move a scene across episodes.
777
+ `Move an action across scenes, or a scene across episodes.
742
778
 
743
779
  Usage
744
- - scriptctl move <addr> <to> [--at <idx>]
745
-
746
- Behavior by source address kind
747
- - action (ep/scn#idx) <to> is target action address; insertion is "before that index".
748
- - scene (ep/scn) <to> is target episode id (or ep/scn for insert-before-anchor);
749
- --at <idx> overrides position; default: append at end.
780
+ - scriptctl move <addr> <to> [--at <idx>] [--before <id>|--after <id>]
750
781
 
751
- Examples
752
- - scriptctl move ep_001/scn_001#5 ep_001/scn_002#0 # cross-scene
753
- - scriptctl move ep_001/scn_005 ep_002 # cross-episode
754
- - scriptctl move ep_001/scn_005 ep_002 --at 0 # to ep_002 start
782
+ V4 uses a source ID, target parent ID, and optional sibling Action/Scene ID.
783
+ V3 retains numeric and compound-address placement.
755
784
  `,
756
785
  ],
757
786
  [
@@ -759,17 +788,10 @@ Examples
759
788
  `Split a scene at an action boundary into two sibling scenes.
760
789
 
761
790
  Usage
762
- - scriptctl split <ep/scn> --at <idx> [--new-scene-id <id>]
763
-
764
- Required
765
- - <ep/scn> Scene to split.
766
- - --at Action index (1 <= idx < action count).
767
-
768
- Options
769
- - --new-scene-id Optional explicit id for the new tail scene.
791
+ - v4: scriptctl split <scene-id> --at <first-tail-action-id> [--new-scene-id <id>]
792
+ - v3: scriptctl split <ep/scn> --at <idx> [--new-scene-id <id>]
770
793
 
771
- Example
772
- - scriptctl split ep_001/scn_005 --at 7
794
+ The v4 anchor is the first Action moved into the new tail scene.
773
795
  `,
774
796
  ],
775
797
  [
@@ -779,7 +801,8 @@ Example
779
801
  Usage
780
802
  - scriptctl merge <src> --into <dst>
781
803
 
782
- Both addresses must be the same kind (asset/asset same kind, or scene/scene same episode).
804
+ Both addresses must be the same kind. V4 uses bare typed IDs; scene merge requires
805
+ adjacent scenes in one episode and refuses conflicting locations.
783
806
 
784
807
  Examples
785
808
  - scriptctl merge actor:act_001 --into actor:act_002
@@ -804,7 +827,16 @@ Examples
804
827
  ],
805
828
  [
806
829
  ["scene-ref"],
807
- `Manage a scene's cast / props / location ref (v3: scene.actors[] / props[] / location).
830
+ `Manage a scene's cast / props / location reference.
831
+
832
+ Script v4
833
+ - scriptctl scene-ref <scene-id> <asset-id> --state <state-id> [--state <state-id> ...]
834
+ - scriptctl scene-ref <scene-id> <asset-id> --remove
835
+
836
+ Each asset appears once per scene and carries a complete, non-empty state_ids set.
837
+ Setting replaces that asset's whole set; values are stored in lexical ID order.
838
+
839
+ Script v3
808
840
 
809
841
  Usage
810
842
  - scriptctl scene-ref <ep/scn> <kind:id> --state <state_id> # upsert ref + set state
@@ -834,12 +866,13 @@ Examples
834
866
  `Rename an asset (actor / location / prop) or a state. Dispatches by address kind.
835
867
 
836
868
  Usage
837
- - scriptctl rename <kind:id> <new_name> # asset
838
- - scriptctl rename <kind:id/state_id> <new_name> # state (same as state-rename)
869
+ - v4: scriptctl rename <asset-id> <new_name>
870
+ - v4: scriptctl rename <asset-id/state-id> <new_name>
871
+ - v3: scriptctl rename <kind:id[/state_id]> <new_name>
839
872
 
840
873
  Examples
841
- - scriptctl rename actor:act_001 "陈墨"
842
- - scriptctl rename actor:act_001/st_010 "平静(新)"
874
+ - scriptctl rename actA3kP9x "陈墨"
875
+ - scriptctl rename actA3kP9x/stB4xR8p "平静(新)"
843
876
  `,
844
877
  ],
845
878
  [
@@ -917,7 +950,7 @@ Example
917
950
 
918
951
  Usage
919
952
  - scriptctl synopsis <text> # set script.synopsis
920
- - scriptctl synopsis <ep_NNN> <text> # set episode.synopsis
953
+ - scriptctl synopsis <episode-id> <text> # set episode.synopsis
921
954
  - scriptctl synopsis generate --apply # generate missing synopsis fields
922
955
 
923
956
  Patch ops
@@ -963,14 +996,11 @@ The extend{} container is isolated from the known schema fields and survives
963
996
  validation untouched — use it for production metadata the schema has no slot for
964
997
  (camera notes, reference URLs, localization flags, runtime, ad-hoc tags).
965
998
 
966
- Addresses (every dimension)
999
+ Addresses
967
1000
  - global script top level
968
- - ep_001 episode
969
- - ep_001/scn_001 scene
970
- - ep_001/scn_001#3 action (0-based index)
971
- - actor:act_001 asset (also location: / prop:)
972
- - actor:act_001/st_calm asset state
973
- - spk_001 speaker
1001
+ - v4 bare episode / scene / Action / asset ID
1002
+ - v4 asset-id/state-id
1003
+ - v3 existing episode / scene / action / asset / state address
974
1004
 
975
1005
  Usage
976
1006
  - scriptctl extend <addr> <key> <value> # write a string
@@ -989,10 +1019,9 @@ Notes
989
1019
 
990
1020
  Examples
991
1021
  - scriptctl extend global art_style cyberpunk
992
- - scriptctl extend ep_001/scn_001 mood '{"tone":"tense","lit":"neon"}' --json-value
993
- - scriptctl extend ep_001/scn_001#3 camera "low angle, slow push-in"
994
- - scriptctl extend actor:act_001 reference_url https://example.com/ref.png
995
- - scriptctl extend global art_style --clear
1022
+ - scriptctl extend scnK6wT3c mood '{"tone":"tense","lit":"neon"}' --json-value
1023
+ - scriptctl extend acR8cV4n camera "low angle, slow push-in"
1024
+ - scriptctl extend actA3kP9x reference_url https://example.com/ref.png
996
1025
  `,
997
1026
  ],
998
1027
  // =========================================================================
@@ -1003,7 +1032,7 @@ Examples
1003
1032
  `Add a state to an asset's states[].
1004
1033
 
1005
1034
  Usage
1006
- - scriptctl state-add <kind:id> <state_name> [--description <text>] [--state-id <id>]
1035
+ - scriptctl state-add <asset-address> <state_name> [--description <text>] [--state-id <id>]
1007
1036
 
1008
1037
  Required
1009
1038
  - <kind:id> Asset target.
@@ -1011,7 +1040,7 @@ Required
1011
1040
 
1012
1041
  Options
1013
1042
  - --description Optional description.
1014
- - --state-id Optional explicit id (auto-assigned otherwise).
1043
+ - --state-id Optional explicit id. V4 otherwise generates st + six Base58 characters.
1015
1044
 
1016
1045
  Examples
1017
1046
  - scriptctl state-add actor:act_001 "震惊"
@@ -1023,7 +1052,7 @@ Examples
1023
1052
  `Rename a state on an asset.
1024
1053
 
1025
1054
  Usage
1026
- - scriptctl state-rename <kind:id/state_id> <new_name>
1055
+ - scriptctl state-rename <state-address> <new_name>
1027
1056
 
1028
1057
  Example
1029
1058
  - scriptctl state-rename actor:act_001/st_calm "平静(新)"
@@ -1038,8 +1067,8 @@ Usage
1038
1067
 
1039
1068
  Strategy
1040
1069
  - replace --replacement <state_id> Rewrite all refs to the replacement state, then delete.
1041
- - remove Clear refs and delete (scene-initial state becomes null;
1042
- state_changes referencing this state are dropped).
1070
+ - remove Remove the state from references. V4 refuses the
1071
+ operation if any scene state set would become empty.
1043
1072
 
1044
1073
  Examples
1045
1074
  - scriptctl state-delete actor:act_001/st_calm --strategy remove
@@ -1051,14 +1080,14 @@ Examples
1051
1080
  // =========================================================================
1052
1081
  [
1053
1082
  ["dialogue"],
1054
- `Set a dialogue line's inline speaker (v3: a single speaker per line). Also flips
1055
- the action to type=dialogue.
1083
+ `Set a dialogue or inner-thought line's inline speaker.
1056
1084
 
1057
1085
  Usage
1058
1086
  - scriptctl dialogue <at> --actor <actor_id> # an actor speaks
1059
1087
  - scriptctl dialogue <at> --kind <system|broadcast|offscreen|group> [--label <text>]
1060
1088
 
1061
- Pass exactly one of --actor (an actor) or --kind (a non-actor source).
1089
+ Pass exactly one of --actor or --kind. In v4 the Action must already be speaking;
1090
+ an actor and optional state must belong to the current scene reference.
1062
1091
 
1063
1092
  Examples
1064
1093
  - scriptctl dialogue ep_001/scn_001#3 --actor act_001
@@ -1090,12 +1119,15 @@ Use \`scriptctl patch --schema\` to see every supported op + its required fields
1090
1119
 
1091
1120
  Options
1092
1121
  - --schema [<op>] Dump op schema (JSON) instead of applying. With <op>, dump just that op.
1093
- - --dry-run Apply to an in-memory copy, run validate, do NOT write to gateway.
1122
+ - --dry-run Script v3: apply to memory and validate without writing.
1123
+ - --apply Script v4: apply a previously reviewed plan.
1124
+ - --plan <digest> Script v4: exact digest returned by the dry-run.
1094
1125
  - --script-path / --json / --help
1095
1126
 
1096
1127
  Examples
1097
- - scriptctl patch changes.json
1098
- - scriptctl patch changes.json --dry-run
1128
+ - scriptctl patch changes.json # V4 dry-run plan
1129
+ - scriptctl patch changes.json --apply --plan sha256:... # V4 apply
1130
+ - scriptctl patch changes.json --dry-run # V3 dry-run
1099
1131
  - scriptctl patch --schema
1100
1132
  - scriptctl patch --schema asset.rename
1101
1133
  `,
@@ -1 +1 @@
1
- {"version":3,"file":"help-text.js","sourceRoot":"","sources":["../src/help-text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help-text.js","sourceRoot":"","sources":["../src/help-text.ts"],"names":[],"mappings":"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"}
@@ -173,6 +173,8 @@ export const BUILTIN_LLM_CONFIG = {
173
173
  "ingest.text-normalize": "ingest-low",
174
174
  "ingest.mention-resolve": "ingest-low",
175
175
  "ingest.asset-recall": "ingest-low",
176
+ // Whole-script duplicate/state audit needs semantic identity judgment, so
177
+ // it intentionally falls through to the high default model.
176
178
  // Serial asset/state pass is judgment-heavy (importance / durable-vs-transient
177
179
  // with plot context) → high model with max reasoning.
178
180
  "ingest.episode-assets": "ingest-normalize",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ export declare const LLM_TASK_REGISTRY: {
35
35
  "ingest.asset-recall": LlmTaskSpec;
36
36
  "ingest.asset-refine": LlmTaskSpec;
37
37
  "ingest.state-reconcile": LlmTaskSpec;
38
+ "ingest.asset-audit": LlmTaskSpec;
38
39
  "ingest.speaker-audit": LlmTaskSpec;
39
40
  "ingest.video-serial": LlmTaskSpec;
40
41
  };
@@ -49,6 +49,9 @@ export const LLM_TASK_REGISTRY = {
49
49
  "ingest.asset-recall": spec("ingest.asset-recall", "text", 65536),
50
50
  "ingest.asset-refine": spec("ingest.asset-refine", "text", 32000),
51
51
  "ingest.state-reconcile": spec("ingest.state-reconcile", "text", 32000),
52
+ // Final whole-script asset consistency audit. It reads a compact global
53
+ // roster and returns JSON findings only; no automatic merge is applied.
54
+ "ingest.asset-audit": spec("ingest.asset-audit", "text", 32000),
52
55
  "ingest.speaker-audit": spec("ingest.speaker-audit", "tool", 16000),
53
56
  // Video understanding (Gemini, §10.2). One serial pass per episode: watches the
54
57
  // video with the running cross-episode context and emits the episode content +