@lingjingai/scriptctl 0.34.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/README.md +30 -5
  2. package/changes/0.35.0.md +22 -0
  3. package/changes/0.36.0.md +22 -0
  4. package/changes/unreleased.md +3 -5
  5. package/dist/cli.d.ts +2 -1
  6. package/dist/cli.js +56 -128
  7. package/dist/cli.js.map +1 -1
  8. package/dist/common.d.ts +0 -16
  9. package/dist/common.js +2 -342
  10. package/dist/common.js.map +1 -1
  11. package/dist/domain/ingest/apply-plan.d.ts +23 -0
  12. package/dist/domain/ingest/apply-plan.js +210 -0
  13. package/dist/domain/ingest/apply-plan.js.map +1 -0
  14. package/dist/domain/ingest/assembler.d.ts +57 -0
  15. package/dist/domain/ingest/assembler.js +181 -0
  16. package/dist/domain/ingest/assembler.js.map +1 -0
  17. package/dist/domain/ingest/chunker.d.ts +9 -0
  18. package/dist/domain/ingest/chunker.js +38 -0
  19. package/dist/domain/ingest/chunker.js.map +1 -0
  20. package/dist/domain/ingest/evidence.d.ts +5 -0
  21. package/dist/domain/ingest/evidence.js +66 -0
  22. package/dist/domain/ingest/evidence.js.map +1 -0
  23. package/dist/domain/ingest/govern.d.ts +3 -0
  24. package/dist/domain/ingest/govern.js +127 -0
  25. package/dist/domain/ingest/govern.js.map +1 -0
  26. package/dist/domain/ingest/jsonl-parser.d.ts +6 -0
  27. package/dist/domain/ingest/jsonl-parser.js +187 -0
  28. package/dist/domain/ingest/jsonl-parser.js.map +1 -0
  29. package/dist/domain/ingest/markdown-parser.d.ts +6 -0
  30. package/dist/domain/ingest/markdown-parser.js +186 -0
  31. package/dist/domain/ingest/markdown-parser.js.map +1 -0
  32. package/dist/domain/ingest/records.d.ts +71 -0
  33. package/dist/domain/ingest/records.js +9 -0
  34. package/dist/domain/ingest/records.js.map +1 -0
  35. package/dist/domain/ingest/renumber.d.ts +14 -0
  36. package/dist/domain/ingest/renumber.js +130 -0
  37. package/dist/domain/ingest/renumber.js.map +1 -0
  38. package/dist/domain/ingest/script-v3.d.ts +94 -0
  39. package/dist/domain/ingest/script-v3.js +7 -0
  40. package/dist/domain/ingest/script-v3.js.map +1 -0
  41. package/dist/domain/ingest/state-reconcile.d.ts +11 -0
  42. package/dist/domain/ingest/state-reconcile.js +90 -0
  43. package/dist/domain/ingest/state-reconcile.js.map +1 -0
  44. package/dist/domain/ingest/validation.d.ts +11 -0
  45. package/dist/domain/ingest/validation.js +168 -0
  46. package/dist/domain/ingest/validation.js.map +1 -0
  47. package/dist/domain/ingest/video-aggregate.d.ts +23 -0
  48. package/dist/domain/ingest/video-aggregate.js +89 -0
  49. package/dist/domain/ingest/video-aggregate.js.map +1 -0
  50. package/dist/domain/ingest/video-apply.d.ts +37 -0
  51. package/dist/domain/ingest/video-apply.js +236 -0
  52. package/dist/domain/ingest/video-apply.js.map +1 -0
  53. package/dist/domain/ingest/video-md-parser.d.ts +2 -0
  54. package/dist/domain/ingest/video-md-parser.js +233 -0
  55. package/dist/domain/ingest/video-md-parser.js.map +1 -0
  56. package/dist/domain/ingest/video-records.d.ts +56 -0
  57. package/dist/domain/ingest/video-records.js +9 -0
  58. package/dist/domain/ingest/video-records.js.map +1 -0
  59. package/dist/domain/loom/index.d.ts +2 -1
  60. package/dist/domain/loom/index.js +12 -10
  61. package/dist/domain/loom/index.js.map +1 -1
  62. package/dist/domain/loom/types.d.ts +3 -2
  63. package/dist/domain/script/lookups.d.ts +3 -2
  64. package/dist/domain/script/lookups.js +25 -8
  65. package/dist/domain/script/lookups.js.map +1 -1
  66. package/dist/domain/script/patch/apply.js +2 -2
  67. package/dist/domain/script/patch/apply.js.map +1 -1
  68. package/dist/domain/script/patch/helpers.d.ts +3 -7
  69. package/dist/domain/script/patch/helpers.js +23 -96
  70. package/dist/domain/script/patch/helpers.js.map +1 -1
  71. package/dist/domain/script/patch/ops-action.d.ts +0 -2
  72. package/dist/domain/script/patch/ops-action.js +34 -100
  73. package/dist/domain/script/patch/ops-action.js.map +1 -1
  74. package/dist/domain/script/patch/ops-asset.d.ts +1 -0
  75. package/dist/domain/script/patch/ops-asset.js +102 -155
  76. package/dist/domain/script/patch/ops-asset.js.map +1 -1
  77. package/dist/domain/script/patch/ops-dialogue.d.ts +1 -4
  78. package/dist/domain/script/patch/ops-dialogue.js +43 -220
  79. package/dist/domain/script/patch/ops-dialogue.js.map +1 -1
  80. package/dist/domain/script/patch/ops-extend.js +8 -2
  81. package/dist/domain/script/patch/ops-extend.js.map +1 -1
  82. package/dist/domain/script/patch/ops-meta.js.map +1 -1
  83. package/dist/domain/script/patch/ops-scene.js +26 -39
  84. package/dist/domain/script/patch/ops-scene.js.map +1 -1
  85. package/dist/domain/script/patch/ops-state.d.ts +3 -3
  86. package/dist/domain/script/patch/ops-state.js +33 -49
  87. package/dist/domain/script/patch/ops-state.js.map +1 -1
  88. package/dist/domain/script/patch/registry.js +9 -13
  89. package/dist/domain/script/patch/registry.js.map +1 -1
  90. package/dist/domain/script/refs.js +23 -111
  91. package/dist/domain/script/refs.js.map +1 -1
  92. package/dist/domain/script/scene-refs.d.ts +3 -0
  93. package/dist/domain/script/scene-refs.js +35 -0
  94. package/dist/domain/script/scene-refs.js.map +1 -0
  95. package/dist/domain/script/schema.js +17 -21
  96. package/dist/domain/script/schema.js.map +1 -1
  97. package/dist/domain/script/text-util.d.ts +7 -0
  98. package/dist/domain/script/text-util.js +91 -0
  99. package/dist/domain/script/text-util.js.map +1 -0
  100. package/dist/help-text.js +145 -414
  101. package/dist/help-text.js.map +1 -1
  102. package/dist/infra/converters.js +1 -1
  103. package/dist/infra/converters.js.map +1 -1
  104. package/dist/infra/episode-title.d.ts +4 -0
  105. package/dist/infra/episode-title.js +129 -0
  106. package/dist/infra/episode-title.js.map +1 -0
  107. package/dist/infra/ingest/review-renderer.d.ts +1 -0
  108. package/dist/infra/ingest/review-renderer.js +431 -0
  109. package/dist/infra/ingest/review-renderer.js.map +1 -0
  110. package/dist/infra/ingest/source-resolver.d.ts +21 -0
  111. package/dist/infra/ingest/source-resolver.js +51 -0
  112. package/dist/infra/ingest/source-resolver.js.map +1 -0
  113. package/dist/infra/ingest/text-reader.d.ts +3 -0
  114. package/dist/infra/ingest/text-reader.js +27 -0
  115. package/dist/infra/ingest/text-reader.js.map +1 -0
  116. package/dist/infra/ingest/video-discovery.d.ts +8 -0
  117. package/dist/infra/ingest/video-discovery.js +60 -0
  118. package/dist/infra/ingest/video-discovery.js.map +1 -0
  119. package/dist/infra/ingest/workspace-store.d.ts +18 -0
  120. package/dist/infra/ingest/workspace-store.js +70 -0
  121. package/dist/infra/ingest/workspace-store.js.map +1 -0
  122. package/dist/infra/llm/anthropic-model.d.ts +11 -0
  123. package/dist/infra/llm/anthropic-model.js +109 -0
  124. package/dist/infra/llm/anthropic-model.js.map +1 -0
  125. package/dist/infra/llm/gemini-upload.d.ts +9 -0
  126. package/dist/infra/llm/gemini-upload.js +94 -0
  127. package/dist/infra/llm/gemini-upload.js.map +1 -0
  128. package/dist/infra/llm/gemini-video-model.d.ts +47 -0
  129. package/dist/infra/llm/gemini-video-model.js +167 -0
  130. package/dist/infra/llm/gemini-video-model.js.map +1 -0
  131. package/dist/infra/llm/openai-compatible-model.d.ts +13 -0
  132. package/dist/infra/llm/openai-compatible-model.js +143 -0
  133. package/dist/infra/llm/openai-compatible-model.js.map +1 -0
  134. package/dist/infra/llm/proxy.d.ts +1 -0
  135. package/dist/infra/llm/proxy.js +30 -0
  136. package/dist/infra/llm/proxy.js.map +1 -0
  137. package/dist/infra/llm/retry.d.ts +5 -0
  138. package/dist/infra/llm/retry.js +20 -0
  139. package/dist/infra/llm/retry.js.map +1 -0
  140. package/dist/llm/composition.d.ts +5 -0
  141. package/dist/llm/composition.js +5 -0
  142. package/dist/llm/composition.js.map +1 -0
  143. package/dist/llm/config.d.ts +26 -0
  144. package/dist/llm/config.js +201 -0
  145. package/dist/llm/config.js.map +1 -0
  146. package/dist/llm/registry.d.ts +44 -0
  147. package/dist/llm/registry.js +48 -0
  148. package/dist/llm/registry.js.map +1 -0
  149. package/dist/llm/router.d.ts +23 -0
  150. package/dist/llm/router.js +0 -0
  151. package/dist/llm/router.js.map +1 -0
  152. package/dist/llm/tasks/ingest/asset-curate.d.ts +13 -0
  153. package/dist/llm/tasks/ingest/asset-curate.js +45 -0
  154. package/dist/llm/tasks/ingest/asset-curate.js.map +1 -0
  155. package/dist/llm/tasks/ingest/asset-extract.d.ts +12 -0
  156. package/dist/llm/tasks/ingest/asset-extract.js +51 -0
  157. package/dist/llm/tasks/ingest/asset-extract.js.map +1 -0
  158. package/dist/llm/tasks/ingest/asset-govern.d.ts +22 -0
  159. package/dist/llm/tasks/ingest/asset-govern.js +143 -0
  160. package/dist/llm/tasks/ingest/asset-govern.js.map +1 -0
  161. package/dist/llm/tasks/ingest/mention-resolve.d.ts +9 -0
  162. package/dist/llm/tasks/ingest/mention-resolve.js +39 -0
  163. package/dist/llm/tasks/ingest/mention-resolve.js.map +1 -0
  164. package/dist/llm/tasks/ingest/plot-speaker.d.ts +11 -0
  165. package/dist/llm/tasks/ingest/plot-speaker.js +72 -0
  166. package/dist/llm/tasks/ingest/plot-speaker.js.map +1 -0
  167. package/dist/llm/tasks/ingest/roster-merge.d.ts +46 -0
  168. package/dist/llm/tasks/ingest/roster-merge.js +235 -0
  169. package/dist/llm/tasks/ingest/roster-merge.js.map +1 -0
  170. package/dist/llm/tasks/ingest/state-merge.d.ts +10 -0
  171. package/dist/llm/tasks/ingest/state-merge.js +84 -0
  172. package/dist/llm/tasks/ingest/state-merge.js.map +1 -0
  173. package/dist/llm/tasks/ingest/state-reconcile.d.ts +8 -0
  174. package/dist/llm/tasks/ingest/state-reconcile.js +44 -0
  175. package/dist/llm/tasks/ingest/state-reconcile.js.map +1 -0
  176. package/dist/llm/tasks/ingest/text-normalize.d.ts +10 -0
  177. package/dist/llm/tasks/ingest/text-normalize.js +89 -0
  178. package/dist/llm/tasks/ingest/text-normalize.js.map +1 -0
  179. package/dist/llm/tasks/ingest/video-correct.d.ts +30 -0
  180. package/dist/llm/tasks/ingest/video-correct.js +144 -0
  181. package/dist/llm/tasks/ingest/video-correct.js.map +1 -0
  182. package/dist/llm/tasks/ingest/video-transcribe.d.ts +4 -0
  183. package/dist/llm/tasks/ingest/video-transcribe.js +105 -0
  184. package/dist/llm/tasks/ingest/video-transcribe.js.map +1 -0
  185. package/dist/llm/tasks/schemas.d.ts +5 -0
  186. package/dist/llm/tasks/schemas.js +107 -0
  187. package/dist/llm/tasks/schemas.js.map +1 -0
  188. package/dist/llm/types.d.ts +97 -0
  189. package/dist/llm/types.js +13 -0
  190. package/dist/llm/types.js.map +1 -0
  191. package/dist/usecases/doctor.d.ts +1 -1
  192. package/dist/usecases/doctor.js +36 -9
  193. package/dist/usecases/doctor.js.map +1 -1
  194. package/dist/usecases/ingest/command.d.ts +5 -0
  195. package/dist/usecases/ingest/command.js +57 -0
  196. package/dist/usecases/ingest/command.js.map +1 -0
  197. package/dist/usecases/ingest/fanout.d.ts +10 -0
  198. package/dist/usecases/ingest/fanout.js +23 -0
  199. package/dist/usecases/ingest/fanout.js.map +1 -0
  200. package/dist/usecases/ingest/pass4-mention-resolve.d.ts +11 -0
  201. package/dist/usecases/ingest/pass4-mention-resolve.js +52 -0
  202. package/dist/usecases/ingest/pass4-mention-resolve.js.map +1 -0
  203. package/dist/usecases/ingest/pass5-extract.d.ts +7 -0
  204. package/dist/usecases/ingest/pass5-extract.js +50 -0
  205. package/dist/usecases/ingest/pass5-extract.js.map +1 -0
  206. package/dist/usecases/ingest/pass5-govern.d.ts +13 -0
  207. package/dist/usecases/ingest/pass5-govern.js +155 -0
  208. package/dist/usecases/ingest/pass5-govern.js.map +1 -0
  209. package/dist/usecases/ingest/pipeline.d.ts +28 -0
  210. package/dist/usecases/ingest/pipeline.js +144 -0
  211. package/dist/usecases/ingest/pipeline.js.map +1 -0
  212. package/dist/usecases/ingest/publish-command.d.ts +4 -0
  213. package/dist/usecases/ingest/publish-command.js +77 -0
  214. package/dist/usecases/ingest/publish-command.js.map +1 -0
  215. package/dist/usecases/ingest/status.d.ts +39 -0
  216. package/dist/usecases/ingest/status.js +155 -0
  217. package/dist/usecases/ingest/status.js.map +1 -0
  218. package/dist/usecases/ingest/video-pass3.d.ts +26 -0
  219. package/dist/usecases/ingest/video-pass3.js +0 -0
  220. package/dist/usecases/ingest/video-pass3.js.map +1 -0
  221. package/dist/usecases/ingest/video-pipeline.d.ts +32 -0
  222. package/dist/usecases/ingest/video-pipeline.js +202 -0
  223. package/dist/usecases/ingest/video-pipeline.js.map +1 -0
  224. package/dist/usecases/ingest/view-command.d.ts +4 -0
  225. package/dist/usecases/ingest/view-command.js +51 -0
  226. package/dist/usecases/ingest/view-command.js.map +1 -0
  227. package/dist/usecases/script/actions.js +2 -2
  228. package/dist/usecases/script/actions.js.map +1 -1
  229. package/dist/usecases/script/actor.js.map +1 -1
  230. package/dist/usecases/script/actors.js +1 -0
  231. package/dist/usecases/script/actors.js.map +1 -1
  232. package/dist/usecases/script/add-actor.js.map +1 -1
  233. package/dist/usecases/script/add-episode.js.map +1 -1
  234. package/dist/usecases/script/add-location.js.map +1 -1
  235. package/dist/usecases/script/add-prop.js.map +1 -1
  236. package/dist/usecases/script/alias.js.map +1 -1
  237. package/dist/usecases/script/assets.js +2 -1
  238. package/dist/usecases/script/assets.js.map +1 -1
  239. package/dist/usecases/script/context.js.map +1 -1
  240. package/dist/usecases/script/create.js +3 -6
  241. package/dist/usecases/script/create.js.map +1 -1
  242. package/dist/usecases/script/delete.js.map +1 -1
  243. package/dist/usecases/script/describe.js.map +1 -1
  244. package/dist/usecases/script/dialogue.js +6 -13
  245. package/dist/usecases/script/dialogue.js.map +1 -1
  246. package/dist/usecases/script/do.js +1 -1
  247. package/dist/usecases/script/do.js.map +1 -1
  248. package/dist/usecases/script/episodes.js.map +1 -1
  249. package/dist/usecases/script/{add-speaker.d.ts → importance.d.ts} +1 -1
  250. package/dist/usecases/script/importance.js +17 -0
  251. package/dist/usecases/script/importance.js.map +1 -0
  252. package/dist/usecases/script/insert.js.map +1 -1
  253. package/dist/usecases/script/issues.js.map +1 -1
  254. package/dist/usecases/script/lib.d.ts +19 -6
  255. package/dist/usecases/script/lib.js +173 -99
  256. package/dist/usecases/script/lib.js.map +1 -1
  257. package/dist/usecases/script/locations.js +1 -0
  258. package/dist/usecases/script/locations.js.map +1 -1
  259. package/dist/usecases/script/merge.js.map +1 -1
  260. package/dist/usecases/script/move.js.map +1 -1
  261. package/dist/usecases/script/props.js +1 -0
  262. package/dist/usecases/script/props.js.map +1 -1
  263. package/dist/usecases/script/refs.js.map +1 -1
  264. package/dist/usecases/script/rename.js.map +1 -1
  265. package/dist/usecases/script/replace.js.map +1 -1
  266. package/dist/usecases/script/role.js.map +1 -1
  267. package/dist/usecases/script/scenes.js +8 -15
  268. package/dist/usecases/script/scenes.js.map +1 -1
  269. package/dist/usecases/script/script-patch.js +1 -1
  270. package/dist/usecases/script/script-patch.js.map +1 -1
  271. package/dist/usecases/script/script-validate.js +1 -1
  272. package/dist/usecases/script/script-validate.js.map +1 -1
  273. package/dist/usecases/script/session.d.ts +4 -4
  274. package/dist/usecases/script/session.js +57 -78
  275. package/dist/usecases/script/session.js.map +1 -1
  276. package/dist/usecases/script/split.js.map +1 -1
  277. package/dist/usecases/script/state-add.js.map +1 -1
  278. package/dist/usecases/script/state-delete.js.map +1 -1
  279. package/dist/usecases/script/state-rename.js.map +1 -1
  280. package/dist/usecases/script/states.js +58 -13
  281. package/dist/usecases/script/states.js.map +1 -1
  282. package/dist/usecases/script/summary.js +8 -0
  283. package/dist/usecases/script/summary.js.map +1 -1
  284. package/dist/usecases/script/synopsis-generate.d.ts +4 -5
  285. package/dist/usecases/script/synopsis-generate.js +30 -46
  286. package/dist/usecases/script/synopsis-generate.js.map +1 -1
  287. package/dist/usecases/script/transition.js.map +1 -1
  288. package/dist/usecases/script/type.js.map +1 -1
  289. package/dist/usecases/script/worldview.js.map +1 -1
  290. package/package.json +11 -3
  291. package/scripts/install-skill.mjs +120 -0
  292. package/skills/scriptctl/SKILL.md +293 -0
  293. package/skills/scriptctl/references/atomic-write-workflow.md +117 -0
  294. package/skills/scriptctl/references/ingest-workflow.md +85 -0
  295. package/skills/scriptctl/references/state-reference-repair.md +59 -0
  296. package/dist/domain/direct/runner.d.ts +0 -25
  297. package/dist/domain/direct/runner.js +0 -88
  298. package/dist/domain/direct/runner.js.map +0 -1
  299. package/dist/domain/direct/stage.d.ts +0 -108
  300. package/dist/domain/direct/stage.js +0 -134
  301. package/dist/domain/direct/stage.js.map +0 -1
  302. package/dist/domain/direct/stages/asset-curation.d.ts +0 -2
  303. package/dist/domain/direct/stages/asset-curation.js +0 -10
  304. package/dist/domain/direct/stages/asset-curation.js.map +0 -1
  305. package/dist/domain/direct/stages/batch-extract.d.ts +0 -2
  306. package/dist/domain/direct/stages/batch-extract.js +0 -12
  307. package/dist/domain/direct/stages/batch-extract.js.map +0 -1
  308. package/dist/domain/direct/stages/batch-plan.d.ts +0 -2
  309. package/dist/domain/direct/stages/batch-plan.js +0 -9
  310. package/dist/domain/direct/stages/batch-plan.js.map +0 -1
  311. package/dist/domain/direct/stages/episode-merge.d.ts +0 -2
  312. package/dist/domain/direct/stages/episode-merge.js +0 -11
  313. package/dist/domain/direct/stages/episode-merge.js.map +0 -1
  314. package/dist/domain/direct/stages/episode-plan.d.ts +0 -2
  315. package/dist/domain/direct/stages/episode-plan.js +0 -9
  316. package/dist/domain/direct/stages/episode-plan.js.map +0 -1
  317. package/dist/domain/direct/stages/episode-synopsis.d.ts +0 -2
  318. package/dist/domain/direct/stages/episode-synopsis.js +0 -12
  319. package/dist/domain/direct/stages/episode-synopsis.js.map +0 -1
  320. package/dist/domain/direct/stages/episode-titles.d.ts +0 -2
  321. package/dist/domain/direct/stages/episode-titles.js +0 -12
  322. package/dist/domain/direct/stages/episode-titles.js.map +0 -1
  323. package/dist/domain/direct/stages/index.d.ts +0 -19
  324. package/dist/domain/direct/stages/index.js +0 -41
  325. package/dist/domain/direct/stages/index.js.map +0 -1
  326. package/dist/domain/direct/stages/metadata.d.ts +0 -2
  327. package/dist/domain/direct/stages/metadata.js +0 -11
  328. package/dist/domain/direct/stages/metadata.js.map +0 -1
  329. package/dist/domain/direct/stages/script-merge.d.ts +0 -2
  330. package/dist/domain/direct/stages/script-merge.js +0 -15
  331. package/dist/domain/direct/stages/script-merge.js.map +0 -1
  332. package/dist/domain/direct/stages/script-synopsis.d.ts +0 -2
  333. package/dist/domain/direct/stages/script-synopsis.js +0 -12
  334. package/dist/domain/direct/stages/script-synopsis.js.map +0 -1
  335. package/dist/domain/direct/stages/source-prepare.d.ts +0 -2
  336. package/dist/domain/direct/stages/source-prepare.js +0 -9
  337. package/dist/domain/direct/stages/source-prepare.js.map +0 -1
  338. package/dist/domain/direct/stages/state-binding.d.ts +0 -2
  339. package/dist/domain/direct/stages/state-binding.js +0 -9
  340. package/dist/domain/direct/stages/state-binding.js.map +0 -1
  341. package/dist/domain/direct/stages/state-curation.d.ts +0 -2
  342. package/dist/domain/direct/stages/state-curation.js +0 -10
  343. package/dist/domain/direct/stages/state-curation.js.map +0 -1
  344. package/dist/domain/direct/stages/validate.d.ts +0 -2
  345. package/dist/domain/direct/stages/validate.js +0 -10
  346. package/dist/domain/direct/stages/validate.js.map +0 -1
  347. package/dist/domain/direct-core.d.ts +0 -313
  348. package/dist/domain/direct-core.js +0 -8516
  349. package/dist/domain/direct-core.js.map +0 -1
  350. package/dist/domain/script/validate.d.ts +0 -22
  351. package/dist/domain/script/validate.js +0 -997
  352. package/dist/domain/script/validate.js.map +0 -1
  353. package/dist/infra/providers.d.ts +0 -97
  354. package/dist/infra/providers.js +0 -1396
  355. package/dist/infra/providers.js.map +0 -1
  356. package/dist/usecases/direct.d.ts +0 -27
  357. package/dist/usecases/direct.js +0 -4172
  358. package/dist/usecases/direct.js.map +0 -1
  359. package/dist/usecases/parse.d.ts +0 -15
  360. package/dist/usecases/parse.js +0 -429
  361. package/dist/usecases/parse.js.map +0 -1
  362. package/dist/usecases/script/add-speaker.js +0 -22
  363. package/dist/usecases/script/add-speaker.js.map +0 -1
  364. package/dist/usecases/script/export.d.ts +0 -3
  365. package/dist/usecases/script/export.js +0 -111
  366. package/dist/usecases/script/export.js.map +0 -1
  367. package/dist/usecases/script/overlap.d.ts +0 -3
  368. package/dist/usecases/script/overlap.js +0 -21
  369. package/dist/usecases/script/overlap.js.map +0 -1
  370. package/dist/usecases/script/speakers.d.ts +0 -3
  371. package/dist/usecases/script/speakers.js +0 -28
  372. package/dist/usecases/script/speakers.js.map +0 -1
  373. package/dist/usecases/script/state-change.d.ts +0 -3
  374. package/dist/usecases/script/state-change.js +0 -24
  375. package/dist/usecases/script/state-change.js.map +0 -1
package/dist/common.d.ts CHANGED
@@ -14,15 +14,8 @@ export declare const EXIT_NEEDS_AGENT = 78;
14
14
  * exposure when the CLI is wrapped by another agent.
15
15
  */
16
16
  export declare function isDebug(): boolean;
17
- export declare const DEFAULT_PROVIDER = "anthropic";
18
17
  export declare const DEFAULT_CONCURRENCY = 30;
19
18
  export declare const DEFAULT_DIRECT_CONCURRENCY = 80;
20
- export declare const DEFAULT_MODEL = "claude-sonnet-4-6-aihubmix";
21
- export declare const DEFAULT_MAX_TOKENS = 32000;
22
- export declare const DEFAULT_BATCH_MAX_TOKENS = 16000;
23
- export declare const DEFAULT_PROVIDER_ATTEMPTS = 3;
24
- export declare const NONSTREAMING_MAX_TOKENS = 20000;
25
- export declare const DEFAULT_THINKING_BUDGET_TOKENS = 1024;
26
19
  export declare const DEFAULT_BATCH_TARGET_LINES = 36;
27
20
  export declare const DEFAULT_BATCH_MAX_CHARS = 1800;
28
21
  export declare const DEFAULT_BATCH_MIN_LINES = 12;
@@ -41,16 +34,7 @@ export declare const SCRIPT_TARGET_KINDS: Set<string>;
41
34
  export declare const SPEAKER_SOURCE_KINDS: Set<string>;
42
35
  export declare const DELIVERY_VALUES: Set<string>;
43
36
  export declare const EFFECTIVE_FROM_VALUES: Set<string>;
44
- export declare const MARKDOWN_BATCH_PROMPT_SPEC: string;
45
37
  export declare const PARSE_MD_SPEC: string;
46
- export type JsonSchema = Record<string, unknown>;
47
- export declare const DEFAULT_METADATA_ASSET_CHUNK = 20;
48
- export declare const METADATA_GLOBAL_MD_SPEC: string;
49
- export declare const METADATA_DESC_MD_SPEC: string;
50
- export declare const EPISODE_TITLE_EXTRACTION_SCHEMA: JsonSchema;
51
- export declare const EPISODE_SYNOPSIS_SCHEMA: JsonSchema;
52
- export declare const SCRIPT_SYNOPSIS_SCHEMA: JsonSchema;
53
- export declare const STATE_BINDING_SCHEMA: JsonSchema;
54
38
  export interface Report {
55
39
  title?: string;
56
40
  message?: string;
package/dist/common.js CHANGED
@@ -19,17 +19,10 @@ export const EXIT_NEEDS_AGENT = 78;
19
19
  export function isDebug() {
20
20
  return process.env.SCRIPTCTL_DEBUG === "1";
21
21
  }
22
- export const DEFAULT_PROVIDER = "anthropic";
23
22
  export const DEFAULT_CONCURRENCY = 30;
24
23
  // direct init fans out many small, independent batch/title extractions; it runs
25
24
  // hotter than the generic default. Other commands keep DEFAULT_CONCURRENCY.
26
25
  export const DEFAULT_DIRECT_CONCURRENCY = 80;
27
- export const DEFAULT_MODEL = "claude-sonnet-4-6-aihubmix";
28
- export const DEFAULT_MAX_TOKENS = 32000;
29
- export const DEFAULT_BATCH_MAX_TOKENS = 16000;
30
- export const DEFAULT_PROVIDER_ATTEMPTS = 3;
31
- export const NONSTREAMING_MAX_TOKENS = 20000;
32
- export const DEFAULT_THINKING_BUDGET_TOKENS = 1024;
33
26
  export const DEFAULT_BATCH_TARGET_LINES = 36;
34
27
  export const DEFAULT_BATCH_MAX_CHARS = 1800;
35
28
  export const DEFAULT_BATCH_MIN_LINES = 12;
@@ -70,169 +63,8 @@ export const SPEAKER_SOURCE_KINDS = new Set([
70
63
  ]);
71
64
  export const DELIVERY_VALUES = new Set(["single", "simultaneous", "overlap", "group"]);
72
65
  export const EFFECTIVE_FROM_VALUES = new Set(["before_action", "after_action"]);
73
- export const MARKDOWN_BATCH_PROMPT_SPEC = "Output format: a single markdown document. Start with a `## 梗概` block, then\n" +
74
- "two top-level sections (`# 剧本`, `# 资产`) in this exact order. Do NOT wrap the\n" +
75
- "document in fenced code blocks, do NOT add prose before or after the document.\n" +
76
- "\n" +
77
- "## 梗概\n" +
78
- "<如果 Batch Source 基本覆盖完整单集,写 200-300 字;如果只是单集中的一个片段,写 80-150 字。按发生顺序概括,只写当前 Batch Source,纯文本>\n" +
79
- "\n" +
80
- "# 剧本\n" +
81
- "\n" +
82
- "## 场景 1\n" +
83
- "- 时空: <内|外> <日|夜>\n" +
84
- "- 地点: <稳定主空间地点名>[场景状态]\n" +
85
- "- 角色: <跨场景复用的具体单人角色1>, <角色2>(状态), <角色3>\n" +
86
- "- 道具: <需要单独生成并保持一致的prop1>, <prop2>\n" +
87
- "\n" +
88
- "> [act] 动作或环境描写。\n" +
89
- "> [dlg|name] 角色对白原文。\n" +
90
- "> [dlg|name|emotion] 带情绪标签的对白。\n" +
91
- "> [dlg|system:<发声源名>] 非人物发声源对白。\n" +
92
- "> [dlg|prop:<道具名>] 道具发声对白。\n" +
93
- "> [dlg|broadcast:<广播名>] 广播 / 喇叭发声对白。\n" +
94
- "> [dlg|<speaker1>/<speaker2>|simultaneous] 多人同时说同一句。\n" +
95
- "> [dlg|overlap] <speaker1>:<line1> / <speaker2>:<line2>\n" +
96
- "> [think|name] 角色心声/内心独白。\n" +
97
- "\n" +
98
- "## 场景 2\n" +
99
- "...\n" +
100
- "\n" +
101
- "# 资产\n" +
102
- "\n" +
103
- "## 人物\n" +
104
- "- 具体单人角色名: 简短角色描述\n" +
105
- "- 具体单人角色名\n" +
106
- "\n" +
107
- "## 场景\n" +
108
- "- 地点名: 地点用途/氛围\n" +
109
- "- 地点名\n" +
110
- "\n" +
111
- "## 道具\n" +
112
- "- 道具名: 道具描述\n" +
113
- "- 道具名\n" +
114
- "\n" +
115
- "## 发声源\n" +
116
- "- <发声源名>(system): 声音描述\n" +
117
- "- <广播名>(broadcast)\n" +
118
- "\n" +
119
- "## 人物状态\n" +
120
- "- <角色名>|<状态名>: <描述这个状态下的具体可视外观>\n" +
121
- " 提取缘由: <用一段自然语言说明为什么这是独立可复用外观状态,不要写结构化标签>\n" +
122
- "\n" +
123
- "## 场景状态\n" +
124
- "- <地点名>|<状态名>: <描述这个状态下的具体可视外观>\n" +
125
- " 提取缘由: <用一段自然语言说明为什么这是独立可复用外观状态>\n" +
126
- "\n" +
127
- "## 道具状态\n" +
128
- "- <道具名>|<状态名>: <描述这个状态下的具体可视外观>\n" +
129
- " 提取缘由: <用一段自然语言说明为什么这是独立可复用外观状态>\n" +
130
- "\n" +
131
- "Rules:\n" +
132
- "- `## 梗概` 写本片段(可能是半集)的剧情要点:如果 Batch Source 基本覆盖完整单集,写\n" +
133
- " 200-300 字;如果只是单集中的一个片段,写 80-150 字。按发生顺序,只概括给定 Batch\n" +
134
- " Source,不跨片段推测、不剧透后续、不写资产清单。为概览服务可适度概括(区别于\n" +
135
- " action 正文的逐字保留)。若本片段没有可概括的剧情,可留空该小节。梗概正文必须是\n" +
136
- " 纯文本,不要使用 markdown 标题(#)、列表(- / *)、引用(>)等结构语法(否则会被解析\n" +
137
- " 截断)。\n" +
138
- "- Extract every scene from Batch Source only. Do not summarize or skip scenes.\n" +
139
- "- Each `> [...]` line is one action. The action body is single-line by default;\n" +
140
- " if the source spans multiple lines, append continuation lines directly under\n" +
141
- " the anchor (no `>` prefix, no leading `-` or `#`) — the parser joins them with newlines.\n" +
142
- "- For actor dialogue/inner_thought, the speaker name in the anchor must appear\n" +
143
- " in the scene's `- 角色: ...` list.\n" +
144
- "- `- 角色:` and `## 人物` are only for concrete single-person character assets\n" +
145
- " that may need reuse across scenes. Crowd/group labels such as 众人, 群众,\n" +
146
- " 围观者, 路人们, or 大家 must stay out of actors; use `group:name` speakers\n" +
147
- " or action narration instead.\n" +
148
- "- For non-human speech, do not add the source to `- 角色`. Use a typed speaker\n" +
149
- " anchor: `system:name`, `broadcast:name`, `prop:name`, `location:name`,\n" +
150
- " `group:name`, or `other:name`. If a prop/location speaks, also list it in\n" +
151
- " `- 道具:` or `- 地点:` / the asset section.\n" +
152
- "- Asset names must be canonical names only. Never include bracketed or\n" +
153
- " parenthesized state/role/status text in actor, location, prop, or speaker\n" +
154
- " names. Put durable traits in descriptions and temporary details in actions.\n" +
155
- "- Location time variants such as 夜晚的教室 / 黄昏的街道 must be one stable\n" +
156
- " location (教室 / 街道) plus a location state (夜晚 / 黄昏), not separate\n" +
157
- " locations. Fine time words from scene headers may become location states;\n" +
158
- " the environment.time field remains only day/night.\n" +
159
- "- Actor-held objects should be listed as props when they need visual\n" +
160
- " continuity. Do not encode them as actor state labels; normalization does\n" +
161
- " not infer props from actor names, actor references, or actor state labels.\n" +
162
- "- Whole worn outfits and styling looks are actor states, not props. Examples:\n" +
163
- " bridal gown, groom formalwear, lawyer suit, gala dress, school uniform. Only\n" +
164
- " detachable named accessories or signature physical instances with standalone\n" +
165
- " continuity should become props.\n" +
166
- "- For `- 地点:`, prefer the stable main space. Micro-areas such as doorways,\n" +
167
- " corners, table-side, corridors, or car-front positions stay in action text\n" +
168
- " unless they recur as visually distinct production assets.\n" +
169
- "- Props are concrete objects that must be tracked as independent visual\n" +
170
- " assets, not every object mentioned in action text. Add an item to `- 道具:` /\n" +
171
- " `## 道具` only if it meets at least one of these gates: it drives the plot or\n" +
172
- " carries rules/evidence/secrets/tasks; the shot must show specific readable\n" +
173
- " content on it (text, pattern, photo, interface); the same object recurs\n" +
174
- " across scenes and needs visual continuity; or it speaks via `prop:<name>`.\n" +
175
- " If none of these gates clearly applies, do not promote the object to a prop.\n" +
176
- " Being picked up, used, worn, seen, thrown, carried, broken, or briefly\n" +
177
- " involved in an action is not enough by itself.\n" +
178
- " Do not create owner-specific variants of generic object categories unless\n" +
179
- " that exact physical instance needs continuity or visible distinguishing\n" +
180
- " content.\n" +
181
- "- Keep ordinary action tools, temporary held objects, background set dressing,\n" +
182
- " generic furniture, generic clothing/accessories, and one-off daily objects in\n" +
183
- " action text only. Examples to extract: readable rule/evidence objects,\n" +
184
- " mission/secret carriers, conflict-critical weapons, access tokens/keys,\n" +
185
- " recurring charms/devices, or speaking objects. Examples not to extract:\n" +
186
- " ordinary communication devices, tools, tableware, books, clothes, furniture,\n" +
187
- " decor, or other one-off action details.\n" +
188
- "- 状态 = 某个 actor / location / prop 稳定可辨、值得单独出图的宏观外观造型档位:整套\n" +
189
- " 服装着装、发型、持续性妆造、非人形态、巨大化/兽化/神化等完整外形变化。状态只有\n" +
190
- " 写进 人物状态 / 场景状态 / 道具状态 小节才会被采纳。\n" +
191
- "- 状态描述只写稳定可视外观,不写镜头/剧情调度。禁止把“背对镜头、正脸未露、特写、\n" +
192
- " 初始、转身、接过手、拥吻、站在舞台上”等动作、遮挡、机位或情节词写进状态描述。\n" +
193
- "- 每个状态下面必须写一行 `提取缘由:`,用自然语言说明原文证据和你为什么提出这个候选状态;\n" +
194
- " 不要写“必须单独出图/一定保留”这类结论,不要输出 category/permanence/scope 这类结构化标签。\n" +
195
- "- 不要把连续变化过程的每一帧都登记为状态。图腾/光效亮度变化、身体逐渐透明/消散/\n" +
196
- " 凝实、局部透明进度、瞬间爆发金光等,默认写在 action 或 state_changes,不单独列状态;\n" +
197
- " 除非它是后续多场稳定复用的宏观形态。\n" +
198
- "- 明确的仪式/身份场景要补齐必要造型状态:例如婚礼中某人位于红毯尽头、接过新娘的手、\n" +
199
- " 与新娘在舞台上拥吻,且语境明确他是新郎时,应登记该角色的“新郎造型/婚礼正装”状态,\n" +
200
- " 描述为保守的婚礼正装外观;不要把接手、拥吻、站位写入状态描述。\n" +
201
- "- 下列一律不是状态,禁止登记,改放进 action 文本或 dlg 的 emotion 标签:情绪 /\n" +
202
- " 表情(疲惫、自信微笑、茫然、紧张、憔悴)、姿态 / 动作(瘫坐、躺床、刷手机、摇头、\n" +
203
- " 脱鞋、昏迷卧床)、临时脏污 / 伤口 / 黑眼圈等转瞬细节(灰头土脸、见血)、普通日常\n" +
204
- " 便装、以及处境而非外观的描述(刚发工资、加班)。状态名必须是单一造型标签,不要把动作或情绪并进标签\n" +
205
- " (如「居家躺床」要么只留造型「居家装」,要么不列)。\n" +
206
- "- A transformation action has two parts: keep the action content as the process\n" +
207
- " description, and use script state-change/transition fields when a state changes.\n" +
208
- "- If multiple speakers say the same line at the same time, emit one line:\n" +
209
- " `[dlg|speaker1/speaker2|simultaneous] content`. Do not split it into two\n" +
210
- " sequential dialogue lines.\n" +
211
- "- If multiple speakers talk over each other with different lines, emit one line:\n" +
212
- " `[dlg|overlap] speaker1:content1 / system:source:content2`. Use typed\n" +
213
- " prefixes for non-human speakers inside overlap lines too.\n" +
214
- "- Action content must be copied verbatim from Batch Source — do not paraphrase,\n" +
215
- " translate, summarize, or add commentary.\n" +
216
- "- When a single source line packs multiple semantic parts (e.g. a speaker label\n" +
217
- " `Name(emotion):`, the spoken line, and a parenthetical translation/aside), put\n" +
218
- " only the spoken line into the action content. The speaker name belongs after\n" +
219
- " `dlg|`, the emotion belongs after `dlg|name|`. Translations/asides in\n" +
220
- " parentheses must be discarded.\n" +
221
- "- For action narration prefixed with ▲ △ or 【字幕/音效/特效/屏幕字/...】, the action\n" +
222
- " content is the narration body without the bracket label. Spoken system,\n" +
223
- " broadcast, prop, location, or group voices are dialogue, not action.\n" +
224
- "- Do not invent dialogue or actions not present in Batch Source. Do not split a\n" +
225
- " single coherent line into many tiny fragments.\n" +
226
- "- Subtitles, sound effects, character captions, and on-screen text use `> [act]`.\n" +
227
- " Never invent action kinds outside act/dlg/think.\n" +
228
- "- The 资产 section lists only people/locations/props/speakers that are reusable\n" +
229
- " production assets for this batch's scenes, not every noun that appears.\n" +
230
- " Each item: a name, optionally followed by `: description`.\n" +
231
- " An item without `:` carries no description.\n" +
232
- "- Lines marked [meta] in Batch Source are read-only metadata; do not promote\n" +
233
- " them to actions.\n";
234
- // Spec for the subagent-driven `scriptctl parse` workflow. A DISTINCT layout
235
- // from MARKDOWN_BATCH_PROMPT_SPEC (write/direct): the 正文 md carries ONLY the
66
+ // Spec for the subagent-driven `scriptctl parse` workflow. Unlike direct batch
67
+ // extraction, the 正文 md carries ONLY the
236
68
  // screenplay and registers no assets; each asset KIND lives in its own file
237
69
  // (人物 / 场景 / 道具 / 发声源), plus an optional 梗概.md for the whole-script
238
70
  // synopsis. Many subagents work in parallel — body md never collide; each asset
@@ -357,178 +189,6 @@ export const PARSE_MD_SPEC = "scriptctl parse 输入 = 一个 md 工作区目录
357
189
  "- 群体词(众人 / 群众 / 围观者 / 路人们)不进 人物.md,登到 发声源.md 用 group 或写动作旁白。\n" +
358
190
  "- 动作 / 对白正文逐字保留,不要转述 / 翻译 / 概括 / 加注释;动作种类只有 act/dlg/think。\n" +
359
191
  "- 每个出现在正文里的角色,都要在 人物.md 给出非空描述(否则校验报错)。\n";
360
- // Metadata extraction is split into many small markdown requests instead of one
361
- // big one: a single GLOBAL call (worldview + protagonists, tiny input/output)
362
- // plus N per-asset-chunk DESCRIPTION calls (each ≤ DEFAULT_METADATA_ASSET_CHUNK
363
- // assets). Markdown (not tool_use JSON) keeps every response well under
364
- // DEFAULT_BATCH_MAX_TOKENS on the non-streaming `messages.create` path the LiteLLM
365
- // gateway doesn't drop, and chunking bounds each response so output can't overflow.
366
- // All keyed by id (not name). Results merge through overlayMetadataSections, which
367
- // validates enums and backfills any missing asset from the deterministic baseline.
368
- // How many assets (actors + locations + props, pooled) per description request.
369
- export const DEFAULT_METADATA_ASSET_CHUNK = 20;
370
- // GLOBAL call: the two fields a single chunk can't decide — worldview (whole-show
371
- // judgement) and which actors are protagonists. Tiny input (names + titles, no
372
- // examples) and tiny output. Parsed by parseGlobalMetadataMd.
373
- export const METADATA_GLOBAL_MD_SPEC = "Output format: a single markdown document with exactly two top-level sections,\n" +
374
- "in this order: `# 世界观` then `# 主角`. Do NOT wrap it in fenced code blocks;\n" +
375
- "do NOT add any prose before or after it.\n" +
376
- "\n" +
377
- "# 世界观\n" +
378
- "<从给定 context.worldview_options 里选且只选一个,原样照抄该选项文字>\n" +
379
- "\n" +
380
- "# 主角\n" +
381
- "- <actor_id>\n" +
382
- "- <actor_id>\n" +
383
- "\n" +
384
- "Rules:\n" +
385
- "- 世界观正文必须是 context.worldview_options 中的一个,原样照抄,不要自创、不要翻译。\n" +
386
- "- 主角小节只列真正的主角 actor_id(行首用 id,不是名字),通常 1-3 个;其余角色\n" +
387
- " 一律视为配角,不要列出。若拿不准,可只列最核心的一个。\n" +
388
- "- 只输出这两个小节,不要 JSON、不要解释。\n";
389
- // DESCRIPTION call: one short visual description per asset id in the given chunk.
390
- // Uniform `id | 描述` rows under a single section — kind is recovered from the id
391
- // by the caller. Parsed by parseAssetDescriptionsMd.
392
- export const METADATA_DESC_MD_SPEC = "Output format: a single markdown document with one top-level section `# 描述`.\n" +
393
- "Do NOT wrap it in fenced code blocks; do NOT add any prose before or after it.\n" +
394
- "\n" +
395
- "# 描述\n" +
396
- "- <id> | <该资产的简洁可视描述>\n" +
397
- "- <id> | <...>\n" +
398
- "\n" +
399
- "Rules:\n" +
400
- "- context.assets 里每个条目都带一个 id;为每个条目各写一行,行首用其 id(不是名字)。\n" +
401
- "- 描述要简洁、服务下游出图,基于给定的 names / states / examples,不要编造剧情。\n" +
402
- "- 描述里不要出现 `|` 或换行(会被解析截断)。资产名 / 状态写进描述正文即可。\n" +
403
- "- 不要输出 context 里没有的 id,不要写世界观 / 主配角,只写描述。\n";
404
- export const EPISODE_TITLE_EXTRACTION_SCHEMA = {
405
- type: "object",
406
- required: ["episode_titles"],
407
- additionalProperties: false,
408
- properties: {
409
- episode_titles: {
410
- type: "array",
411
- items: {
412
- type: "object",
413
- required: ["episode", "title"],
414
- additionalProperties: false,
415
- properties: {
416
- episode: { type: "integer" },
417
- title: { type: "string" },
418
- },
419
- },
420
- },
421
- },
422
- };
423
- // Reduce-step synopsis schema. Used both for the per-episode reduce (stitch a
424
- // few batch synopses into one coherent episode synopsis) and the intermediate
425
- // merge levels of the whole-script reduce — both only need a single string out.
426
- export const EPISODE_SYNOPSIS_SCHEMA = {
427
- type: "object",
428
- required: ["synopsis"],
429
- additionalProperties: false,
430
- properties: {
431
- synopsis: { type: "string" },
432
- },
433
- };
434
- // Top-level whole-script synopsis schema. Only the final reduce call uses this;
435
- // it produces the script overview fields a downstream agent reads to answer
436
- // "what is this script about / who's in it / what's the theme". worldview is
437
- // produced by metadata extraction (enum-backed, see METADATA_GLOBAL_MD_SPEC);
438
- // style is produced here because it is a whole-show judgement.
439
- export const SCRIPT_SYNOPSIS_SCHEMA = {
440
- type: "object",
441
- required: ["synopsis", "theme", "logline", "style", "main_characters"],
442
- additionalProperties: false,
443
- properties: {
444
- synopsis: { type: "string" },
445
- theme: { type: "string" },
446
- logline: { type: "string" },
447
- style: { type: "string" },
448
- main_characters: {
449
- type: "array",
450
- items: {
451
- type: "object",
452
- required: ["name", "role"],
453
- additionalProperties: false,
454
- properties: {
455
- name: { type: "string" },
456
- role: { type: "string" },
457
- },
458
- },
459
- },
460
- },
461
- };
462
- export const STATE_BINDING_SCHEMA = {
463
- type: "object",
464
- required: ["scenes"],
465
- additionalProperties: false,
466
- properties: {
467
- scenes: {
468
- type: "array",
469
- items: {
470
- type: "object",
471
- required: ["scene_id"],
472
- additionalProperties: false,
473
- properties: {
474
- scene_id: { type: "string" },
475
- actors: {
476
- type: "array",
477
- items: {
478
- type: "object",
479
- required: ["actor_id", "state_id"],
480
- additionalProperties: false,
481
- properties: {
482
- actor_id: { type: "string" },
483
- state_id: { type: ["string", "null"] },
484
- },
485
- },
486
- },
487
- locations: {
488
- type: "array",
489
- items: {
490
- type: "object",
491
- required: ["location_id", "state_id"],
492
- additionalProperties: false,
493
- properties: {
494
- location_id: { type: "string" },
495
- state_id: { type: ["string", "null"] },
496
- },
497
- },
498
- },
499
- props: {
500
- type: "array",
501
- items: {
502
- type: "object",
503
- required: ["prop_id", "state_id"],
504
- additionalProperties: false,
505
- properties: {
506
- prop_id: { type: "string" },
507
- state_id: { type: ["string", "null"] },
508
- },
509
- },
510
- },
511
- state_changes: {
512
- type: "array",
513
- items: {
514
- type: "object",
515
- required: ["action_index", "target_kind", "target_id", "to_state_id"],
516
- additionalProperties: false,
517
- properties: {
518
- action_index: { type: "integer" },
519
- target_kind: { type: "string", enum: ["actor", "location", "prop"] },
520
- target_id: { type: "string" },
521
- from_state_id: { type: ["string", "null"] },
522
- to_state_id: { type: "string" },
523
- effective_from: { type: "string", enum: ["before_action", "after_action"] },
524
- },
525
- },
526
- },
527
- },
528
- },
529
- },
530
- },
531
- };
532
192
  export class CliError extends Error {
533
193
  title;
534
194
  exitCode;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { Importance } from "./script-v3.js";
2
+ export type AssetAction = "keep" | "merge";
3
+ export type AssetDecision = {
4
+ provisional_id: string;
5
+ action: AssetAction;
6
+ merge_into?: string;
7
+ };
8
+ export type CanonicalInfo = {
9
+ name: string;
10
+ aliases?: string[];
11
+ };
12
+ export type GovernPlan = {
13
+ decisions: AssetDecision[];
14
+ canonical: Record<string, CanonicalInfo>;
15
+ importance: Record<string, Importance>;
16
+ };
17
+ export declare class PlanError extends Error {
18
+ }
19
+ type Obj = Record<string, unknown>;
20
+ export declare function checkPlanCoverage(doc: unknown, plan: GovernPlan): void;
21
+ export declare function applyPlanRaw(input: unknown, plan: GovernPlan): Obj;
22
+ export declare function applyPlan(input: unknown, plan: GovernPlan): Obj;
23
+ export {};