@lemoncat7/dsh-partner 2.4.2 → 2.7.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 (671) hide show
  1. package/README.md +8 -0
  2. package/docs/THIRD_PARTY_LICENSES.md +13 -0
  3. package/docs/attachment-storage.md +18 -0
  4. package/docs/director-skills.md +24 -0
  5. package/docs/long-task-continuation.md +51 -0
  6. package/docs/releases/2.5.0.md +13 -0
  7. package/docs/releases/2.6.0.md +11 -0
  8. package/docs/releases/2.7.0.md +21 -0
  9. package/lib/agent-runtime.d.ts +9 -1
  10. package/lib/agent-runtime.d.ts.map +1 -1
  11. package/lib/agent-runtime.js +117 -17
  12. package/lib/agent-runtime.js.map +1 -1
  13. package/lib/api/features/attachments-api.d.ts.map +1 -1
  14. package/lib/api/features/attachments-api.js +31 -1
  15. package/lib/api/features/attachments-api.js.map +1 -1
  16. package/lib/api.d.ts +1 -1
  17. package/lib/api.d.ts.map +1 -1
  18. package/lib/api.js +1 -1
  19. package/lib/api.js.map +1 -1
  20. package/lib/attachments/grouped-storage.d.ts +5 -0
  21. package/lib/attachments/grouped-storage.d.ts.map +1 -0
  22. package/lib/attachments/grouped-storage.js +47 -0
  23. package/lib/attachments/grouped-storage.js.map +1 -0
  24. package/lib/attachments/service.d.ts +17 -0
  25. package/lib/attachments/service.d.ts.map +1 -1
  26. package/lib/attachments/service.js +100 -8
  27. package/lib/attachments/service.js.map +1 -1
  28. package/lib/attachments/shared-storage.d.ts +7 -0
  29. package/lib/attachments/shared-storage.d.ts.map +1 -0
  30. package/lib/attachments/shared-storage.js +44 -0
  31. package/lib/attachments/shared-storage.js.map +1 -0
  32. package/lib/attachments/storage-admin.d.ts +6 -0
  33. package/lib/attachments/storage-admin.d.ts.map +1 -0
  34. package/lib/attachments/storage-admin.js +43 -0
  35. package/lib/attachments/storage-admin.js.map +1 -0
  36. package/lib/attachments/storage-types.d.ts +33 -0
  37. package/lib/attachments/storage-types.d.ts.map +1 -0
  38. package/lib/attachments/storage-types.js +2 -0
  39. package/lib/attachments/storage-types.js.map +1 -0
  40. package/lib/attachments/tool.d.ts.map +1 -1
  41. package/lib/attachments/tool.js +16 -5
  42. package/lib/attachments/tool.js.map +1 -1
  43. package/lib/channels/delivery-policy.d.ts.map +1 -1
  44. package/lib/channels/delivery-policy.js +7 -4
  45. package/lib/channels/delivery-policy.js.map +1 -1
  46. package/lib/channels/direct/message-format.js +418 -281
  47. package/lib/channels/direct/message-format.js.map +4 -4
  48. package/lib/channels/manager.d.ts +7 -3
  49. package/lib/channels/manager.d.ts.map +1 -1
  50. package/lib/channels/manager.js +73 -38
  51. package/lib/channels/manager.js.map +1 -1
  52. package/lib/channels/weixin/api.d.ts.map +1 -1
  53. package/lib/channels/weixin/api.js +7 -2
  54. package/lib/channels/weixin/api.js.map +1 -1
  55. package/lib/channels/weixin/errors.d.ts +14 -0
  56. package/lib/channels/weixin/errors.d.ts.map +1 -0
  57. package/lib/channels/weixin/errors.js +29 -0
  58. package/lib/channels/weixin/errors.js.map +1 -0
  59. package/lib/channels/weixin/poll.d.ts +14 -0
  60. package/lib/channels/weixin/poll.d.ts.map +1 -0
  61. package/lib/channels/weixin/poll.js +50 -0
  62. package/lib/channels/weixin/poll.js.map +1 -0
  63. package/lib/client-api.d.ts +1 -23
  64. package/lib/client-api.d.ts.map +1 -1
  65. package/lib/client-api.js.map +1 -1
  66. package/lib/client-controller.d.ts.map +1 -1
  67. package/lib/client-controller.js +3 -3
  68. package/lib/client-controller.js.map +1 -1
  69. package/lib/client.d.ts.map +1 -1
  70. package/lib/client.js +1078 -679
  71. package/lib/client.js.map +4 -4
  72. package/lib/collaboration/composition.d.ts.map +1 -1
  73. package/lib/collaboration/composition.js +32 -8
  74. package/lib/collaboration/composition.js.map +1 -1
  75. package/lib/collaboration/domain.d.ts +8 -0
  76. package/lib/collaboration/domain.d.ts.map +1 -1
  77. package/lib/collaboration/domain.js.map +1 -1
  78. package/lib/collaboration/service.d.ts.map +1 -1
  79. package/lib/collaboration/service.js +38 -5
  80. package/lib/collaboration/service.js.map +1 -1
  81. package/lib/concern-notification.d.ts.map +1 -1
  82. package/lib/concern-notification.js +2 -1
  83. package/lib/concern-notification.js.map +1 -1
  84. package/lib/concern-tool.js +1 -1
  85. package/lib/concern-tool.js.map +1 -1
  86. package/lib/execution/reply-progress.d.ts.map +1 -1
  87. package/lib/execution/reply-progress.js +4 -2
  88. package/lib/execution/reply-progress.js.map +1 -1
  89. package/lib/execution/service.d.ts +1 -1
  90. package/lib/execution/service.d.ts.map +1 -1
  91. package/lib/execution/service.js +4 -7
  92. package/lib/execution/service.js.map +1 -1
  93. package/lib/index.d.ts.map +1 -1
  94. package/lib/index.js +7 -1
  95. package/lib/index.js.map +1 -1
  96. package/lib/memory-reflection.js +2 -2
  97. package/lib/memory-reflection.js.map +1 -1
  98. package/lib/message-source.d.ts +25 -0
  99. package/lib/message-source.d.ts.map +1 -0
  100. package/lib/message-source.js +8 -0
  101. package/lib/message-source.js.map +1 -0
  102. package/lib/observation-loop.js +4 -4
  103. package/lib/observation-loop.js.map +1 -1
  104. package/lib/pendant/reader.js +1 -1
  105. package/lib/pendant/reader.js.map +1 -1
  106. package/lib/pendant/settings-panel.js +1 -1
  107. package/lib/pendant/settings-panel.js.map +1 -1
  108. package/lib/persona/service.js +1 -1
  109. package/lib/persona/service.js.map +1 -1
  110. package/lib/requirements/attachments.d.ts +7 -0
  111. package/lib/requirements/attachments.d.ts.map +1 -0
  112. package/lib/requirements/attachments.js +26 -0
  113. package/lib/requirements/attachments.js.map +1 -0
  114. package/lib/requirements/domain.d.ts +1 -1
  115. package/lib/requirements/domain.d.ts.map +1 -1
  116. package/lib/requirements/service.d.ts.map +1 -1
  117. package/lib/requirements/service.js +4 -1
  118. package/lib/requirements/service.js.map +1 -1
  119. package/lib/scheduler/channel-origin.d.ts +7 -0
  120. package/lib/scheduler/channel-origin.d.ts.map +1 -0
  121. package/lib/scheduler/channel-origin.js +27 -0
  122. package/lib/scheduler/channel-origin.js.map +1 -0
  123. package/lib/scheduler/continuations.d.ts +29 -0
  124. package/lib/scheduler/continuations.d.ts.map +1 -0
  125. package/lib/scheduler/continuations.js +286 -0
  126. package/lib/scheduler/continuations.js.map +1 -0
  127. package/lib/scheduler/domain.d.ts +40 -0
  128. package/lib/scheduler/domain.d.ts.map +1 -1
  129. package/lib/scheduler/final-reply.d.ts +13 -0
  130. package/lib/scheduler/final-reply.d.ts.map +1 -0
  131. package/lib/scheduler/final-reply.js +21 -0
  132. package/lib/scheduler/final-reply.js.map +1 -0
  133. package/lib/scheduler/service.d.ts +2 -0
  134. package/lib/scheduler/service.d.ts.map +1 -1
  135. package/lib/scheduler/service.js +30 -1
  136. package/lib/scheduler/service.js.map +1 -1
  137. package/lib/scheduler/wakeup-context.d.ts +7 -0
  138. package/lib/scheduler/wakeup-context.d.ts.map +1 -0
  139. package/lib/scheduler/wakeup-context.js +14 -0
  140. package/lib/scheduler/wakeup-context.js.map +1 -0
  141. package/lib/scheduler/wakeup.d.ts +11 -0
  142. package/lib/scheduler/wakeup.d.ts.map +1 -0
  143. package/lib/scheduler/wakeup.js +52 -0
  144. package/lib/scheduler/wakeup.js.map +1 -0
  145. package/lib/skills/builtin-resources.d.ts +6 -0
  146. package/lib/skills/builtin-resources.d.ts.map +1 -0
  147. package/lib/skills/builtin-resources.js +47 -0
  148. package/lib/skills/builtin-resources.js.map +1 -0
  149. package/lib/skills/builtin.d.ts +2 -5
  150. package/lib/skills/builtin.d.ts.map +1 -1
  151. package/lib/skills/builtin.js +11 -0
  152. package/lib/skills/builtin.js.map +1 -1
  153. package/lib/skills/director-builtins.d.ts +8 -0
  154. package/lib/skills/director-builtins.d.ts.map +1 -0
  155. package/lib/skills/director-builtins.js +65 -0
  156. package/lib/skills/director-builtins.js.map +1 -0
  157. package/lib/skills/drama-builtin.d.ts +3 -0
  158. package/lib/skills/drama-builtin.d.ts.map +1 -0
  159. package/lib/skills/drama-builtin.js +49 -0
  160. package/lib/skills/drama-builtin.js.map +1 -0
  161. package/lib/skills/long-task-continuation.d.ts +4 -0
  162. package/lib/skills/long-task-continuation.d.ts.map +1 -0
  163. package/lib/skills/long-task-continuation.js +43 -0
  164. package/lib/skills/long-task-continuation.js.map +1 -0
  165. package/lib/skills/service.d.ts.map +1 -1
  166. package/lib/skills/service.js +8 -3
  167. package/lib/skills/service.js.map +1 -1
  168. package/lib/skills/viora-canvas-builtin.d.ts +3 -0
  169. package/lib/skills/viora-canvas-builtin.d.ts.map +1 -0
  170. package/lib/skills/viora-canvas-builtin.js +19 -0
  171. package/lib/skills/viora-canvas-builtin.js.map +1 -0
  172. package/lib/storage/migrate-layout.d.ts.map +1 -1
  173. package/lib/storage/migrate-layout.js +13 -4
  174. package/lib/storage/migrate-layout.js.map +1 -1
  175. package/lib/store.d.ts.map +1 -1
  176. package/lib/store.js +2 -0
  177. package/lib/store.js.map +1 -1
  178. package/lib/tasks/context.js +1 -0
  179. package/lib/tasks/context.js.map +1 -1
  180. package/lib/tasks/continuation-yield.d.ts +4 -0
  181. package/lib/tasks/continuation-yield.d.ts.map +1 -0
  182. package/lib/tasks/continuation-yield.js +27 -0
  183. package/lib/tasks/continuation-yield.js.map +1 -0
  184. package/lib/tasks/continuation.d.ts +13 -0
  185. package/lib/tasks/continuation.d.ts.map +1 -0
  186. package/lib/tasks/continuation.js +106 -0
  187. package/lib/tasks/continuation.js.map +1 -0
  188. package/lib/tasks/domain.d.ts +2 -0
  189. package/lib/tasks/domain.d.ts.map +1 -1
  190. package/lib/tasks/scheduling.d.ts.map +1 -1
  191. package/lib/tasks/scheduling.js +7 -0
  192. package/lib/tasks/scheduling.js.map +1 -1
  193. package/lib/tasks/service.d.ts +2 -1
  194. package/lib/tasks/service.d.ts.map +1 -1
  195. package/lib/tasks/service.js +19 -1
  196. package/lib/tasks/service.js.map +1 -1
  197. package/lib/ui/attachment-storage.d.ts +2 -0
  198. package/lib/ui/attachment-storage.d.ts.map +1 -0
  199. package/lib/ui/attachment-storage.js +59 -0
  200. package/lib/ui/attachment-storage.js.map +1 -0
  201. package/lib/ui/capability-editor.js +1 -1
  202. package/lib/ui/capability-editor.js.map +1 -1
  203. package/lib/ui/companion-access-panel.js +1 -1
  204. package/lib/ui/companion-access-panel.js.map +1 -1
  205. package/lib/ui/companion-create.js +1 -1
  206. package/lib/ui/companion-create.js.map +1 -1
  207. package/lib/ui/companion-picker.js +1 -1
  208. package/lib/ui/companion-picker.js.map +1 -1
  209. package/lib/ui/identity-editor.js +1 -1
  210. package/lib/ui/identity-editor.js.map +1 -1
  211. package/lib/ui/mcp-capabilities.js +1 -1
  212. package/lib/ui/mcp-capabilities.js.map +1 -1
  213. package/lib/ui/mcp-panel.js +1 -1
  214. package/lib/ui/mcp-panel.js.map +1 -1
  215. package/lib/ui/memory/concern-board.js +2 -2
  216. package/lib/ui/memory/concern-board.js.map +1 -1
  217. package/lib/ui/memory/concern-deletion.d.ts +1 -1
  218. package/lib/ui/memory/concern-deletion.d.ts.map +1 -1
  219. package/lib/ui/memory/concern-deletion.js +9 -4
  220. package/lib/ui/memory/concern-deletion.js.map +1 -1
  221. package/lib/ui/memory/concern-panel.js +1 -1
  222. package/lib/ui/memory/concern-panel.js.map +1 -1
  223. package/lib/ui/memory/memory-library.js +1 -1
  224. package/lib/ui/memory/memory-library.js.map +1 -1
  225. package/lib/ui/memory/memory-panel.js +1 -1
  226. package/lib/ui/memory/memory-panel.js.map +1 -1
  227. package/lib/ui/partner-components.js +1 -1
  228. package/lib/ui/partner-components.js.map +1 -1
  229. package/lib/ui/requirement-board.js +1 -1
  230. package/lib/ui/requirement-board.js.map +1 -1
  231. package/lib/ui/requirement-dialog.js +1 -1
  232. package/lib/ui/requirement-dialog.js.map +1 -1
  233. package/lib/ui/requirement-tasks-panel.js +1 -1
  234. package/lib/ui/requirement-tasks-panel.js.map +1 -1
  235. package/lib/ui/schedule-panel.d.ts.map +1 -1
  236. package/lib/ui/schedule-panel.js +20 -4
  237. package/lib/ui/schedule-panel.js.map +1 -1
  238. package/lib/ui/skills-panel.js +1 -1
  239. package/lib/ui/skills-panel.js.map +1 -1
  240. package/lib/ui/storage-settings.d.ts.map +1 -1
  241. package/lib/ui/storage-settings.js +2 -1
  242. package/lib/ui/storage-settings.js.map +1 -1
  243. package/lib/ui/task-board-stage.js +1 -1
  244. package/lib/ui/task-board-stage.js.map +1 -1
  245. package/lib/ui/workspace-components.js +1 -1
  246. package/lib/ui/workspace-components.js.map +1 -1
  247. package/lib/ui/workspace-navigation.d.ts +16 -16
  248. package/lib/ui/workspace-navigation.js +1 -1
  249. package/lib/ui/workspace-navigation.js.map +1 -1
  250. package/package.json +55 -41
  251. package/resources/skills/cinematic-director/manifest.json +205 -0
  252. package/resources/skills/cinematic-director/upstream/CHANGELOG.md +213 -0
  253. package/resources/skills/cinematic-director/upstream/CONTRIBUTING.md +316 -0
  254. package/resources/skills/cinematic-director/upstream/LICENSE +21 -0
  255. package/resources/skills/cinematic-director/upstream/README.md +507 -0
  256. package/resources/skills/cinematic-director/upstream/SKILL.md +420 -0
  257. package/resources/skills/cinematic-director/upstream/assets/beat-sheet-template.md +97 -0
  258. package/resources/skills/cinematic-director/upstream/assets/director-book-template.md +254 -0
  259. package/resources/skills/cinematic-director/upstream/assets/edit-timeline-template.md +147 -0
  260. package/resources/skills/cinematic-director/upstream/assets/keyframe-prompt-template.md +334 -0
  261. package/resources/skills/cinematic-director/upstream/assets/qc-checklist.md +153 -0
  262. package/resources/skills/cinematic-director/upstream/assets/shot-plan-template.md +95 -0
  263. package/resources/skills/cinematic-director/upstream/assets/sound-plan-template.md +181 -0
  264. package/resources/skills/cinematic-director/upstream/assets/video-prompt-template.md +305 -0
  265. package/resources/skills/cinematic-director/upstream/evals/run.md +69 -0
  266. package/resources/skills/cinematic-director/upstream/references/ai-video-tool-adapters.md +527 -0
  267. package/resources/skills/cinematic-director/upstream/references/blocking-and-staging.md +424 -0
  268. package/resources/skills/cinematic-director/upstream/references/cinematic-language.md +595 -0
  269. package/resources/skills/cinematic-director/upstream/references/continuity-bible.md +410 -0
  270. package/resources/skills/cinematic-director/upstream/references/director_styles/01_spielberg.md +192 -0
  271. package/resources/skills/cinematic-director/upstream/references/director_styles/02_hitchcock.md +193 -0
  272. package/resources/skills/cinematic-director/upstream/references/director_styles/03_kubrick.md +196 -0
  273. package/resources/skills/cinematic-director/upstream/references/director_styles/04_kurosawa.md +196 -0
  274. package/resources/skills/cinematic-director/upstream/references/director_styles/05_scorsese.md +195 -0
  275. package/resources/skills/cinematic-director/upstream/references/director_styles/06_fellini.md +197 -0
  276. package/resources/skills/cinematic-director/upstream/references/director_styles/07_bergman.md +197 -0
  277. package/resources/skills/cinematic-director/upstream/references/director_styles/08_tarkovsky.md +184 -0
  278. package/resources/skills/cinematic-director/upstream/references/director_styles/09_wong_kar_wai.md +189 -0
  279. package/resources/skills/cinematic-director/upstream/references/director_styles/10_nolan.md +185 -0
  280. package/resources/skills/cinematic-director/upstream/references/director_styles/11_villeneuve.md +188 -0
  281. package/resources/skills/cinematic-director/upstream/references/director_styles/12_fincher.md +185 -0
  282. package/resources/skills/cinematic-director/upstream/references/director_styles/13_refn.md +186 -0
  283. package/resources/skills/cinematic-director/upstream/references/director_styles/14_bi_gan.md +188 -0
  284. package/resources/skills/cinematic-director/upstream/references/director_styles/15_zhang_yimou.md +192 -0
  285. package/resources/skills/cinematic-director/upstream/references/director_styles/16_hou_hsiao_hsien.md +192 -0
  286. package/resources/skills/cinematic-director/upstream/references/director_styles/17_park_chan_wook.md +192 -0
  287. package/resources/skills/cinematic-director/upstream/references/director_styles/18_malick.md +191 -0
  288. package/resources/skills/cinematic-director/upstream/references/director_styles/19_michael_mann.md +192 -0
  289. package/resources/skills/cinematic-director/upstream/references/director_styles/20_coen_brothers.md +194 -0
  290. package/resources/skills/cinematic-director/upstream/references/director_styles/README.md +89 -0
  291. package/resources/skills/cinematic-director/upstream/references/director_styles/example_comparisons.md +140 -0
  292. package/resources/skills/cinematic-director/upstream/references/editing-and-assembly.md +263 -0
  293. package/resources/skills/cinematic-director/upstream/references/failure-modes.md +594 -0
  294. package/resources/skills/cinematic-director/upstream/references/genre-playbooks.md +407 -0
  295. package/resources/skills/cinematic-director/upstream/references/image-model-adapters.md +290 -0
  296. package/resources/skills/cinematic-director/upstream/references/lighting-and-color.md +349 -0
  297. package/resources/skills/cinematic-director/upstream/references/product-and-macro.md +207 -0
  298. package/resources/skills/cinematic-director/upstream/references/production-workflow.md +238 -0
  299. package/resources/skills/cinematic-director/upstream/references/prompt-lexicon.md +602 -0
  300. package/resources/skills/cinematic-director/upstream/references/sound-and-dialogue.md +364 -0
  301. package/resources/skills/director-skills/manifest.json +541 -0
  302. package/resources/skills/director-skills/upstream/CHANGELOG.md +32 -0
  303. package/resources/skills/director-skills/upstream/LICENSE +21 -0
  304. package/resources/skills/director-skills/upstream/MANIFEST.md +366 -0
  305. package/resources/skills/director-skills/upstream/README.md +251 -0
  306. package/resources/skills/director-skills/upstream/RESEARCH_PROVENANCE.md +37 -0
  307. package/resources/skills/director-skills/upstream/SKILL.md +114 -0
  308. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/SKILL.md +81 -0
  309. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/checklists/continuity_checklist.md +8 -0
  310. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/character_continuity_update.md +9 -0
  311. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/location_continuity_update.md +9 -0
  312. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/continuity_system.md +21 -0
  313. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/golden_image_workflow.md +29 -0
  314. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/identity_anchors.md +14 -0
  315. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/visual_bible_system.md +15 -0
  316. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/character_profile.md +15 -0
  317. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/continuity_checklist.md +11 -0
  318. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/costume_profile.md +12 -0
  319. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/location_profile.md +14 -0
  320. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/prop_profile.md +13 -0
  321. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/visual_style_bible.md +15 -0
  322. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/tests/continuity_tests.md +6 -0
  323. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/SKILL.md +80 -0
  324. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/checklists/image_prompt_quality_checklist.md +10 -0
  325. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/examples/shot_list_to_image_prompts.md +4 -0
  326. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/image_prompt_components.md +22 -0
  327. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/lighting_and_photorealism.md +19 -0
  328. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/negative_prompt_patterns.md +18 -0
  329. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/prompt_anatomy.md +18 -0
  330. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/character_reference_sheet_prompt.md +5 -0
  331. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/cinematic_still_prompt.md +3 -0
  332. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/keyframe_prompt.md +6 -0
  333. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/location_reference_prompt.md +3 -0
  334. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/prop_prompt.md +3 -0
  335. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/tests/image_prompt_completeness_tests.md +5 -0
  336. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/SKILL.md +84 -0
  337. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/checklists/video_prompt_quality_checklist.md +9 -0
  338. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/examples/image_prompt_to_video_prompt.md +3 -0
  339. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/ai_film_production_pipeline.md +21 -0
  340. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/audio_motion_timing.md +16 -0
  341. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/camera_lens_movement.md +26 -0
  342. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/negative_prompt_patterns.md +18 -0
  343. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/prompt_anatomy.md +18 -0
  344. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/video_prompt_components.md +25 -0
  345. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/image_to_video_prompt.md +5 -0
  346. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/text_to_video_prompt.md +5 -0
  347. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/video_beat_prompt.md +9 -0
  348. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/tests/video_prompt_completeness_tests.md +5 -0
  349. package/resources/skills/director-skills/upstream/skills/model-adaptation/SKILL.md +82 -0
  350. package/resources/skills/director-skills/upstream/skills/model-adaptation/checklists/model_export_checklist.md +9 -0
  351. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/failed_model_transfer_diagnosis.md +5 -0
  352. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/image_prompt_translation.md +10 -0
  353. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/same_scene_across_models.md +9 -0
  354. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/universal_prompt_to_model_specific_exports.md +14 -0
  355. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/video_prompt_translation.md +9 -0
  356. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/failure_modes_by_model.md +13 -0
  357. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/image_model_profiles.md +226 -0
  358. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_capability_matrix.md +24 -0
  359. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_update_protocol.md +10 -0
  360. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/parameter_compatibility.md +20 -0
  361. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/prompt_translation_rules.md +18 -0
  362. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/video_model_profiles.md +251 -0
  363. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_comparison_table.md +4 -0
  364. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_specific_prompt_export.md +21 -0
  365. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/multi_model_export_package.md +18 -0
  366. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/prompt_translation_report.md +13 -0
  367. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/universal_prompt_brief.md +25 -0
  368. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/model_routing_tests.md +8 -0
  369. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/prompt_translation_tests.md +7 -0
  370. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/research_provenance_tests.md +6 -0
  371. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/unknown_capability_tests.md +7 -0
  372. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/SKILL.md +82 -0
  373. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/diagnostic_checklist.md +8 -0
  374. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/release_quality_checklist.md +9 -0
  375. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/failed_output_to_revised_prompt.md +10 -0
  376. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/final_prompt_package_export.md +10 -0
  377. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/failure_modes.md +13 -0
  378. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/iteration_diagnostics.md +17 -0
  379. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/revision_loops.md +17 -0
  380. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/story_voice_release_qc.md +30 -0
  381. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/failed_output_intake.md +13 -0
  382. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/final_production_package.md +11 -0
  383. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/prompt_revision_report.md +17 -0
  384. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/tests/prompt_quality_checklist_tests.md +6 -0
  385. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/SKILL.md +81 -0
  386. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/checklists/scene_quality_checklist.md +8 -0
  387. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/examples/scene_to_screenplay_excerpt.md +18 -0
  388. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/dialogue_and_subtext.md +15 -0
  389. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/fountain_workflow.md +29 -0
  390. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/scene_construction.md +20 -0
  391. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/screenplay_format.md +18 -0
  392. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/beat_sheet.md +6 -0
  393. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/dialogue_pass.md +9 -0
  394. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/fountain_scene.md +25 -0
  395. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/screenplay_scene.md +19 -0
  396. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/tests/screenplay_scene_tests.md +6 -0
  397. package/resources/skills/director-skills/upstream/skills/short-film-development/SKILL.md +83 -0
  398. package/resources/skills/director-skills/upstream/skills/short-film-development/checklists/concept_quality_checklist.md +8 -0
  399. package/resources/skills/director-skills/upstream/skills/short-film-development/examples/idea_to_logline.md +13 -0
  400. package/resources/skills/director-skills/upstream/skills/short-film-development/examples/logline_to_outline.md +10 -0
  401. package/resources/skills/director-skills/upstream/skills/short-film-development/references/ai_storytelling_workflow.md +46 -0
  402. package/resources/skills/director-skills/upstream/skills/short-film-development/references/continuity_handoff.md +8 -0
  403. package/resources/skills/director-skills/upstream/skills/short-film-development/references/screenplay_structure.md +19 -0
  404. package/resources/skills/director-skills/upstream/skills/short-film-development/references/story_development_workflow.md +23 -0
  405. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/beat_sheet.md +7 -0
  406. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/idea_intake.md +16 -0
  407. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/logline.md +10 -0
  408. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_film_treatment.md +23 -0
  409. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_story_plan.md +22 -0
  410. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_premise.md +19 -0
  411. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_revision_audit.md +22 -0
  412. package/resources/skills/director-skills/upstream/skills/short-film-development/tests/output_format_tests.md +3 -0
  413. package/resources/skills/director-skills/upstream/skills/short-film-development/tests/routing_tests.md +7 -0
  414. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/SKILL.md +77 -0
  415. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/checklists/shotlist_quality_checklist.md +8 -0
  416. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/examples/screenplay_scene_to_shot_list.md +8 -0
  417. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/camera_plan.md +11 -0
  418. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/production_breakdown.md +11 -0
  419. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/shotlist_schema.md +21 -0
  420. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/asset_list.md +7 -0
  421. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/camera_plan.md +10 -0
  422. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/scene_breakdown.md +16 -0
  423. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/shot_list.md +5 -0
  424. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/tests/screenplay_to_shotlist_tests.md +5 -0
  425. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/SKILL.md +77 -0
  426. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/checklists/style_quality_checklist.md +8 -0
  427. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/examples/genre_to_visual_direction.md +15 -0
  428. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/camera_lens_movement.md +26 -0
  429. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/cinematic_language.md +32 -0
  430. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/genre_style_tone.md +17 -0
  431. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/lighting_and_photorealism.md +19 -0
  432. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/templates/visual_style_bible.md +33 -0
  433. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/tests/style_translation_tests.md +5 -0
  434. package/resources/skills/director-skills/upstream/tests/master_router_tests.md +80 -0
  435. package/resources/skills/drama-production/manifest.json +933 -0
  436. package/resources/skills/drama-production/upstream/LICENSE +21 -0
  437. package/resources/skills/drama-production/upstream/skills/short-drama/SKILL.md +153 -0
  438. package/resources/skills/drama-production/upstream/skills/short-drama/agents/openai.yaml +4 -0
  439. package/resources/skills/drama-production/upstream/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
  440. package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/app.js +1263 -0
  441. package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/index.html +114 -0
  442. package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/styles.css +297 -0
  443. package/resources/skills/drama-production/upstream/skills/short-drama/assets/production-observation.example.jsonl +2 -0
  444. package/resources/skills/drama-production/upstream/skills/short-drama/assets/project-template/short-drama.json +36 -0
  445. package/resources/skills/drama-production/upstream/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
  446. package/resources/skills/drama-production/upstream/skills/short-drama/references/audience-reveal.md +21 -0
  447. package/resources/skills/drama-production/upstream/skills/short-drama/references/contract-and-ownership.md +45 -0
  448. package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-documents.md +230 -0
  449. package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-workflow.md +98 -0
  450. package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
  451. package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +74 -0
  452. package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +79 -0
  453. package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
  454. package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
  455. package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +72 -0
  456. package/resources/skills/drama-production/upstream/skills/short-drama/references/knowhow-index.md +85 -0
  457. package/resources/skills/drama-production/upstream/skills/short-drama/references/look-development.md +51 -0
  458. package/resources/skills/drama-production/upstream/skills/short-drama/references/pickup-and-alternate.md +24 -0
  459. package/resources/skills/drama-production/upstream/skills/short-drama/references/production-form-profiles.md +126 -0
  460. package/resources/skills/drama-production/upstream/skills/short-drama/references/reference-roles.md +53 -0
  461. package/resources/skills/drama-production/upstream/skills/short-drama/references/runtime-preflight.md +24 -0
  462. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/creator_markdown_check.py +1413 -0
  463. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/dashboard_server.py +1798 -0
  464. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/project_tool.py +2454 -0
  465. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/selftest.py +287 -0
  466. package/resources/skills/drama-production/upstream/skills/short-drama-assets/SKILL.md +76 -0
  467. package/resources/skills/drama-production/upstream/skills/short-drama-assets/agents/openai.yaml +4 -0
  468. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
  469. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
  470. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
  471. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
  472. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
  473. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
  474. package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
  475. package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
  476. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/asset-review-checklist.md +82 -0
  477. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/character-and-look.md +190 -0
  478. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-delta.md +120 -0
  479. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-lock.md +122 -0
  480. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/identity-vs-variant.md +140 -0
  481. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/location-and-view.md +84 -0
  482. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/occurrence-extraction.md +108 -0
  483. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/prop-and-state.md +126 -0
  484. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/stage-contract.md +43 -0
  485. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/voice-direction.md +179 -0
  486. package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/asset_check.py +267 -0
  487. package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/selftest.py +89 -0
  488. package/resources/skills/drama-production/upstream/skills/short-drama-develop/SKILL.md +157 -0
  489. package/resources/skills/drama-production/upstream/skills/short-drama-develop/agents/openai.yaml +4 -0
  490. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
  491. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/creative-brief.md +120 -0
  492. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
  493. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/story-engine.md +181 -0
  494. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/adaptation-craft.md +219 -0
  495. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
  496. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/director-brief-craft.md +113 -0
  497. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/episode-design.md +509 -0
  498. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
  499. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
  500. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
  501. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
  502. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
  503. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
  504. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
  505. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
  506. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
  507. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
  508. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
  509. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
  510. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
  511. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards.md +92 -0
  512. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/mechanism-loop.md +282 -0
  513. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
  514. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/premise-devices.md +211 -0
  515. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
  516. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
  517. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/stage-contract.md +88 -0
  518. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/story-craft.md +359 -0
  519. package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/episode_intake.py +699 -0
  520. package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/selftest.py +47 -0
  521. package/resources/skills/drama-production/upstream/skills/short-drama-edit/SKILL.md +146 -0
  522. package/resources/skills/drama-production/upstream/skills/short-drama-edit/agents/openai.yaml +4 -0
  523. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/README.md +60 -0
  524. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/package.json +15 -0
  525. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
  526. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
  527. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
  528. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
  529. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
  530. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
  531. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
  532. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
  533. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/cut-craft.md +38 -0
  534. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/delivery-verify.md +29 -0
  535. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/generated-footage.md +54 -0
  536. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
  537. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/stage-contract.md +51 -0
  538. package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
  539. package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/selftest.py +520 -0
  540. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/SKILL.md +73 -0
  541. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
  542. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
  543. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompts.md +42 -0
  544. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
  545. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-prompts.md +34 -0
  546. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
  547. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/character-and-look.md +153 -0
  548. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/common-recipe.md +241 -0
  549. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/edit-and-revision.md +110 -0
  550. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/location-plate.md +151 -0
  551. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/look-and-state-variant.md +97 -0
  552. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/lookdev-frame.md +34 -0
  553. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
  554. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/prop-plate.md +137 -0
  555. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
  556. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/stage-contract.md +32 -0
  557. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
  558. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/selftest.py +95 -0
  559. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/SKILL.md +245 -0
  560. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
  561. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
  562. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
  563. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
  564. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
  565. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/chapter-extraction.md +144 -0
  566. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
  567. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
  568. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
  569. package/resources/skills/drama-production/upstream/skills/short-drama-produce/SKILL.md +183 -0
  570. package/resources/skills/drama-production/upstream/skills/short-drama-produce/agents/openai.yaml +4 -0
  571. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/adapter-contract.md +219 -0
  572. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
  573. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-h3-video.md +86 -0
  574. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
  575. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
  576. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/seedance.md +64 -0
  577. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/fixture_adapter.py +77 -0
  578. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/production_tool.py +2205 -0
  579. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/provider_adapters.py +1747 -0
  580. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/selftest.py +135 -0
  581. package/resources/skills/drama-production/upstream/skills/short-drama-review/SKILL.md +118 -0
  582. package/resources/skills/drama-production/upstream/skills/short-drama-review/agents/openai.yaml +4 -0
  583. package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/finding-template.jsonl +2 -0
  584. package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
  585. package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/verdict-template.json +32 -0
  586. package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
  587. package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-verdict.json +34 -0
  588. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/anti-template-repair.md +109 -0
  589. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/production-quality-gates.md +276 -0
  590. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/project-calibration.md +83 -0
  591. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/review-method.md +81 -0
  592. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-assets-prompts.md +111 -0
  593. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
  594. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-story-script.md +264 -0
  595. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-visual-motion.md +184 -0
  596. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/stage-contract.md +28 -0
  597. package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/review_check.py +325 -0
  598. package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/selftest.py +87 -0
  599. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/SKILL.md +175 -0
  600. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/agents/openai.yaml +4 -0
  601. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
  602. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
  603. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-prompts.md +36 -0
  604. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
  605. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
  606. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
  607. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
  608. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/blocking-playbooks.md +216 -0
  609. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
  610. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/coverage-audition.md +34 -0
  611. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/keyframe-craft.md +174 -0
  612. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
  613. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/production-shot-grammar.md +279 -0
  614. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/review-and-fixtures.md +36 -0
  615. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/scene-visual-plan.md +30 -0
  616. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +155 -0
  617. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-craft.md +266 -0
  618. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-revision-identity.md +25 -0
  619. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/stage-contract.md +57 -0
  620. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/selftest.py +191 -0
  621. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
  622. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/SKILL.md +154 -0
  623. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
  624. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
  625. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
  626. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +217 -0
  627. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
  628. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
  629. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
  630. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/video-prompts.md +67 -0
  631. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
  632. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/camera-audio-continuity.md +259 -0
  633. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/delivery-profile.md +273 -0
  634. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/generability.md +93 -0
  635. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/minimax-h3.md +253 -0
  636. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/motion-recipe.md +315 -0
  637. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/performance-action-timing.md +209 -0
  638. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/production-prompt-grammar.md +304 -0
  639. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/review-and-fixtures.md +139 -0
  640. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.0.md +50 -0
  641. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.5.md +122 -0
  642. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/stage-contract.md +60 -0
  643. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/target-model-profile.md +116 -0
  644. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
  645. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
  646. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
  647. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
  648. package/resources/skills/drama-production/upstream/skills/short-drama-write/SKILL.md +99 -0
  649. package/resources/skills/drama-production/upstream/skills/short-drama-write/agents/openai.yaml +4 -0
  650. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/beats.jsonl +2 -0
  651. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
  652. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card.json +55 -0
  653. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/screenplay.md +36 -0
  654. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
  655. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/dialogue-craft.md +526 -0
  656. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/production-format-dialect.md +273 -0
  657. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-handoff-capsule.md +25 -0
  658. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
  659. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/screenplay-format.md +266 -0
  660. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/script-craft.md +745 -0
  661. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/stage-contract.md +36 -0
  662. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/substitutable-realization.md +107 -0
  663. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/duration_estimate.py +309 -0
  664. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
  665. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/selftest.py +229 -0
  666. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
  667. package/resources/skills/viora-canvas-production/manifest.json +23 -0
  668. package/resources/skills/viora-canvas-production/references/canvas-contract.md +50 -0
  669. package/resources/skills/viora-canvas-production/references/creative-production.md +50 -0
  670. package/resources/skills/viora-canvas-production/references/generation-delivery.md +36 -0
  671. package/resources/skills/viora-canvas-production/references/production-ledger.md +25 -0
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env python3
2
+ """Offline self-test for the standalone novel index."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import json
7
+ import sys
8
+ import tempfile
9
+ from pathlib import Path
10
+
11
+ from novel_index import build_index, sample_chapters, verify_index
12
+
13
+ MINIMUM_PYTHON = (3, 9)
14
+ if sys.version_info < MINIMUM_PYTHON:
15
+ raise SystemExit("selftest.py requires Python 3.9 or newer")
16
+
17
+
18
+ def require(condition: bool, message: str) -> None:
19
+ if not condition:
20
+ raise AssertionError(message)
21
+
22
+
23
+ def main() -> int:
24
+ with tempfile.TemporaryDirectory() as directory:
25
+ root = Path(directory)
26
+ source = root / "novel.txt"
27
+ index_path = root / "index.json"
28
+ source.write_text(
29
+ "第一章 起势\n"
30
+ + "人物做出选择,代价随之发生,旧关系因此失衡,新的目标也被迫提前。" * 4
31
+ + "\n第二章 反转\n"
32
+ + "旧承诺被新的证据推翻,人物必须在名誉与家人之间付出不可逆的代价。" * 4
33
+ + "\n",
34
+ encoding="utf-8",
35
+ )
36
+ index = build_index(source)
37
+ require(index["chapter_count"] == 2, "chapter count")
38
+ require(index["problems"] == [], "valid chapter index")
39
+ index_path.write_text(json.dumps(index, ensure_ascii=False), encoding="utf-8")
40
+ require(verify_index(index_path, source)["verified"] is True, "fresh index")
41
+ require(sample_chapters(index_path, 2)["sampled_count"] == 2, "sample count")
42
+
43
+ source.write_text(source.read_text(encoding="utf-8") + "变化\n", encoding="utf-8")
44
+ require(verify_index(index_path, source)["verified"] is False, "source drift")
45
+
46
+ print("5 self-tests passed")
47
+ return 0
48
+
49
+
50
+ if __name__ == "__main__":
51
+ raise SystemExit(main())
@@ -0,0 +1,183 @@
1
+ ---
2
+ name: short-drama-produce
3
+ description: 在创作者明确确认后,执行短剧项目的图片、视频、TTS/配音或时间线音乐生产任务,并把结果与精简运行记录落回项目。用户说“生成这张图/这段视频/这句配音/这段配乐”“开始跑图/跑视频/合成语音/生成音乐”“把已确认提示词送去生产”,或要求批量执行已确认媒体任务时使用;不负责创作提示词、镜头、台词、歌词或声音身份,也绝不把预览、继续、预算说明或既有接受状态当作本次付费生产确认。
4
+ license: MIT
5
+ ---
6
+
7
+ # 确认后生产
8
+
9
+ 本技能只负责把已经写好的生产规格安全送到运行环境配置的 adapter。图片提示词仍归
10
+ `$short-drama-image-prompts`,视频提示词归 `$short-drama-video-prompts`,台词与录音表归
11
+ `$short-drama-write`,声音身份归 `$short-drama-assets`。
12
+
13
+ ## Quick Start
14
+
15
+ 只在用户明确要求实际生成后,从当前 `图片提示词.md`、`分镜.md` 或 `视频提示词.md` 中
16
+ 取出本次提示词,建立一个有边界的运行 job。creator-first job 的 `source` 必须指向拥有这条提示词的
17
+ 当前 Markdown,`source_entry` 必须点名该文档允许的二级标题:`图片提示词.md` 用 `IMG-*`,
18
+ `视频提示词.md` 用 `MOTION-*`,`分镜.md` 用 `SHOT-*`(modality 为 `image`,正文取该镜的
19
+ `### 冻结关键帧提示词`)。此选择器只提取首帧;尾帧需先由图片提示词阶段建立独立 `IMG-*` 状态图条目,
20
+ 再从 `图片提示词.md` 准备 image job。创作者也可以提供已有起始帧——
21
+ 在自己的工具里出图再放进项目同样成立,图片始终不进项目时走分镜的 `PLAN-...`;
22
+ 产出落在 `剧集/<EP>/制作成果/images/` 后,分镜 owner 才能把它绑成 `用途:起始帧` 的 `REF-...`。存在真实参考图时,
23
+ 还必须逐张填写 `reference_bindings` 的槽位、顺序、路径、中文名、用途以及允许/禁止控制范围;
24
+ 内置视频 adapter 把这里的 `用途` 字段读成供应商自己的 role,只接受它公布的取值
25
+ (MiniMax 为 `first_frame`/`last_frame`/`reference_image`/`reference_video`/`reference_audio`,
26
+ Seedance 为三个 `reference_*`);带参考图却没有绑定的 job 会直接失败,不替它猜一个 role。
27
+ 本地图片由内置 adapter 按 base64 data URI 直接送出,不需要自建上传服务。
28
+ 条目的「输入参考图」写成 `PLAN-...` 时,那些图片在创作者自己的工具里,项目内没有文件可送:
29
+ `prepare` 直接失败并说明先把真实文件放进项目、改写成 `REF-...`,不拿计划当输入,也不静默丢掉参考。
30
+ `references` 可以省略并由绑定顺序生成,也可以作为相同顺序的显式镜像。输出放在
31
+ `剧集/<EP>/制作成果/`;这个 job 是生产工具的临时输入,不是第六份创作文档:
32
+
33
+ ```bash
34
+ python3 {技能目录}/scripts/production_tool.py prepare <project> --job <临时-job.json>
35
+ ```
36
+
37
+ 先展示 `prepare` 的完整预览;此时不会调用供应商。
38
+
39
+ ## 硬闸门
40
+
41
+ 每次生产都必须经过以下四步,顺序不可合并:
42
+
43
+ 1. 建立一个有边界的 job:一种 modality、明确数量、完整 prompt/spec、参考文件、参数、输出路径和 adapter profile。
44
+ 2. 运行 `prepare`,把返回的完整预览展示给创作者,尤其是数量、prompt、source entry、
45
+ reference bindings、references、outputs、overwrite 与 adapter。creator-first job 会在这一步机械核对
46
+ 所选标题里的可复制提示词,以及参考图槽位、顺序、路径、中文名和控制边界;任一漂移都 fail closed。
47
+ 3. 等创作者在**看到这份预览之后**明确确认。只有明确同意这项当前任务,才运行 `confirm`;
48
+ “继续”“都做完”“预算没问题”、上游内容已接受或之前确认过另一版,都不算本次生产确认。
49
+ 4. 运行 `run`。它会在启动 adapter 前消费一次确认;成功或失败后再次执行都必须重新确认,
50
+ 防止失败重试意外产生第二笔费用。
51
+
52
+ job、prompt、参数、输出路径或直接输入任一变化,旧确认立即失效。不得代替创作者填写确认。
53
+ 当前已确认 job 是本轮唯一工作单元;运行结束后回报结果并交还控制权,不自动准备下一批或启动审查。
54
+
55
+ `分镜.md` 的「输入参考图」路径只是创作阶段的可读依据与使用意图,不是生产输入快照。进入生产时,
56
+ creator-first job 必须从 `图片提示词.md` 或 `视频提示词.md` 的对应条目建立绑定;`prepare` 展示的
57
+ `reference_bindings`、`references` 与已确认 job 才是本次 adapter 实际读取哪些文件字节、各自允许
58
+ 影响什么的权威。非 creator 的结构化规格可不填 `source_entry`/`reference_bindings`,继续只使用显式
59
+ `references`;但新的 image/video job 只要 `source` 指向 canonical `图片提示词.md` 或
60
+ `视频提示词.md` 就强制使用对应 selector,不能靠省略字段降级绕过。升级前已经 prepare 并落盘的
61
+ 旧 job 仍可按原指纹读取。
62
+ 新生产结果不自动回填或刷新分镜;需要把它改为后续输入时,由分镜 owner 修订文档,再建立新 job
63
+ 并重新预览、确认。
64
+
65
+ ## 命令
66
+
67
+ 只在进入生产边界后把当前提示词和运行参数写成临时 JSON;视频与图片 job 的
68
+ `parameters.prompt_language` 跟随当前可复制正文已经解析出的提示词语言,使 adapter 追加的参考约束
69
+ 使用同一种语言,而不是重新回退成固定英文。不要在创作阶段为每条提示词预建 job。
70
+ 格式和 adapter 契约见
71
+ [adapter-contract.md](references/adapter-contract.md)。命令由
72
+ [production_tool.py](scripts/production_tool.py) 提供,然后运行:
73
+
74
+ ```text
75
+ python3 <本技能目录>/scripts/production_tool.py prepare <project> --job <job.json>
76
+ python3 <本技能目录>/scripts/production_tool.py confirm <project> --job-id <id> --confirmation "CONFIRM <id> <code>"
77
+ python3 <本技能目录>/scripts/production_tool.py run <project> --job-id <id> --adapter-config <outside-project-config.json>
78
+ python3 <本技能目录>/scripts/production_tool.py status <project> --job-id <id>
79
+ python3 <本技能目录>/scripts/production_tool.py collect <project> --job-id <id> --adapter-config <outside-project-config.json>
80
+ python3 <本技能目录>/scripts/production_tool.py audit <project>
81
+ ```
82
+
83
+ `prepare` 只验证并预览,不生产。`confirm` 只保存与当前 job 指纹绑定的一次性确认。
84
+ `run` 才启动 adapter。`collect` 只取回**已经提交过、已经计费**的那次任务的结果,
85
+ 不重新提交、也不需要新的确认——见下面「中断不等于要重跑」。`audit` 只对账本地任务历史、失败后恢复、重复内容尝试和当前输出字节,
86
+ 不会调用供应商,也不把技术成功、文件存在或哈希一致写成媒体质量结论。同一 job 存在未决
87
+ `running` attempt 时禁止重新 prepare、confirm 或 run;先等待完成或排查遗留 attempt。
88
+
89
+ ## 输入选择
90
+
91
+ - **image**:读取 `图片提示词.md` 的当前 `IMG-*` 可复制正文,或 `分镜.md` 的当前 `SHOT-*`
92
+ 冻结关键帧正文,加上必要参考图和明确的输出尺寸/数量;creator-first job 使用 `source_entry`
93
+ 锁定这一条。资产板走 `IMG-*`,某一镜的起始画面走 `SHOT-*`;两者不互相替代。
94
+ - **video**:读取 `视频提示词.md` 的当前 `MOTION-*` 可复制正文,并核对 `分镜.md` 中对应镜头、
95
+ 冻结关键帧、时长与画幅;creator-first job 使用 `source_entry` 锁定这一条。连续段选择从上一段
96
+ 生成结果续接时,下一段 job 同时绑定上一段实际视频和从该视频取得的实际尾帧,并保留
97
+ `continuity_video`、`actual_tail_frame` 的不同职责;供应商 role 由目标模型 adapter 翻译。H3 的这组
98
+ 输入统一译为 `reference_video + reference_image`,不能混成 `reference_video + first_frame`;不以
99
+ 计划尾帧或文字描述代替真实文件。
100
+ - **tts**:从 `剧本.md` 读取原句与表演要求,声音参考由用户或现有媒体明确提供。不得在生产 job
101
+ 中改词,也不为 TTS 新建第六份创作文档。
102
+ - **music**:读取 `视频提示词.md` 中创作者已确认的时间线音乐章节;主题曲使用已确认歌词,纯配乐
103
+ 不携带歌词。供应商不能精确承诺时长时,生成源音轨后仍由 `$short-drama-edit` 按文档里的混音意图完成落点、
104
+ 循环、淡入淡出和对白 ducking。
105
+
106
+ 一个 job 不混合 modality。大批量工作拆成创作者能看清数量和成本边界的小 job;不为方便把整季
107
+ 隐式塞进一次确认。
108
+
109
+ ## Adapter 边界
110
+
111
+ adapter 配置必须在项目外,只包含 argv 命令和超时;凭据由 adapter 自己从进程环境或系统凭据
112
+ 存储读取。项目 job、确认记录、运行记录和 Dashboard 都不得保存密钥。
113
+
114
+ 脚本以 JSON stdin 调用 argv 数组,不使用 shell,不拼接命令。adapter 返回本地临时文件;工具只
115
+ 接受与已确认 targets 完全一致的结果,并把完整文件原子复制到项目的 `剧集/<EP>/制作成果/`
116
+ 目录。项目和上游 Skill 不写死供应商、模型或即将变化的 API。
117
+
118
+ 内置图片/视频 compiler 会根据已确认的 `reference_bindings`,按顺序向供应商 prompt 附加一段确定性的
119
+ 引用语义说明(中文名、用途、允许控制与不得控制范围);不会把槽位名误当成要渲染进画面的文字。
120
+ 外部 adapter 也必须保留这组语义或明确拒绝,不能只上传文件而静默丢失控制边界。
121
+
122
+ 本技能可选提供四个 stdlib adapter,均通过项目外 adapter config 选择,凭据只从运行环境读取:
123
+
124
+ - [Seedance](references/providers/seedance.md):模型/Endpoint ID 必须由账号显式配置;compiler 支持
125
+ 官方图片、视频和音频参考 role,内置 runtime 未配置可信上传时仍拒绝本地参考文件。
126
+ - [GPT Image 2](references/providers/gpt-image-2.md):无参考图走 generation,有参考图走 edit;
127
+ 固定高保真引用并校验尺寸、格式与透明背景限制。
128
+ - [MiniMax Music](references/providers/minimax-music.md):使用 `music-3.0` 与 hex 结果,区分主题曲
129
+ 和纯配乐,不伪造时长请求字段。
130
+ - [MiniMax 语音](references/providers/minimax-speech.md):`tts` 模态;模型与 `voice_id` 都必须
131
+ 由账号与文档显式给出,不内置音色清单。只从预置音色合成,不做声音克隆——克隆是授权问题,
132
+ 创作者授权的参考录音按普通创作者输入走 `输入/`。
133
+ - [MiniMax H3 视频](references/providers/minimax-h3-video.md):模型 ID、分辨率集合与时长区间必须
134
+ 由账号显式配置;提示词进 `content` 的 text 项,参考图按显式 role 绑定,本地参考在没有可信上传时
135
+ fail closed。该模型与画面同一次生成声音,写法影响见视频提示词技能的目标模型能力档案。
136
+
137
+ 这些 adapter 是已验证请求契约,不是账号可用性或生成质量保证;正式生产仍必须通过上面的本次
138
+ 确认闸门,并由审查 Skill 判断产物质量。
139
+
140
+ 仓库自带 `fixture_adapter.py` 只用于离线测试,不代表真实生成质量或默认生产 adapter。
141
+
142
+ ## 中断不等于要重跑
143
+
144
+ 视频任务在**提交那一刻**就已经计费,不是在拿到结果时。提交之后的一切——轮询几分钟、下载——
145
+ 都可能被进程被杀、断网、机器休眠打断。内置 adapter 因此在拿到供应商任务 ID 的第一时间就把它
146
+ 写进 `handle_path`(早于第一次轮询),这个路径不随本次尝试一起删除。
147
+
148
+ 于是中断之后有三条确定的动作,不必再花一次钱:
149
+
150
+ 1. `audit` 会把带着任务 ID 的未完成尝试报成 `orphaned_provider_job`,
151
+ `action` 是 `collect_before_retry`;
152
+ 2. `collect` 用那个 ID 取回结果并把这次尝试标成成功;
153
+ 3. 只有在 `collect` 也确认那边确实失败之后,才走重新确认与重投的老路。
154
+
155
+ **不要在 `audit` 报出 `orphaned_provider_job` 时直接重投**——那是在为同一个镜头付第二次钱。
156
+ `collect` 不走确认闸门是有意的:闸门防的是意外花钱,而 collect 不花钱;
157
+ 如果它也要求重新确认,那么中断之后最省事的路径就变成再付一次,正好是闸门要防的事。
158
+
159
+ ## 结果与复核
160
+
161
+ 成功后回报实际输出路径、媒体类型和运行状态;不要把“adapter 返回成功”写成质量结论。
162
+ 多任务或重试后先运行 `audit`:终态失败按 `retryable` 路由,重试仍须新的明确确认;输出缺失或
163
+ 文件的哈希或大小不再等于运行记录时,先复核当前字节或重新生产。`repeated_content` 只是成本与诊断信号,
164
+ 不能自动判定同文重试合理或不合理;`running_attempt` 是未决运营状态,audit 必须返回 attention。
165
+ 失败按三路走。超时、限流、服务端错误这类技术失败可做有上限重试。失败信息点名了被拒的是哪
166
+ 一项输入——提示词文本、参考图或音频——就先改那一项再投:文本被拒改写那一句,把「一拳砸在
167
+ 对方脸上,血顺着下巴滴」换成「一拳挥空,对方侧身避开,桌上的杯子被带倒」;参考图被拒换一张
168
+ 构图与角色一致、画面本身合规的图;音频被拒重录那句台词。改动写进新的 job 重新 prepare,让创
169
+ 作者在预览里看到改的是哪一项再确认;原样重投的那次确认不产生修复,只产生一笔费用。重复内容
170
+ 缺陷回到对应 prompt/spec owner。
171
+ 生产结束后不自动进入剪辑。素材要装配成成片时由用户点名 `$short-drama-edit`;它只取舍已有帧,
172
+ 不回头改本阶段的 job,也不生成新素材。
173
+ 如需质量复核,报告可把已有结果另行交给 `$short-drama-review`;不要在生产调用中自动启动复核。
174
+ Dashboard 只负责展示这些文件和运行摘要,不提供 adapter 设置或生产按钮。
175
+
176
+ ## 安装维护
177
+
178
+ 只有安装、升级或排障时运行离线自检;普通创作和生产准备不运行:
179
+
180
+ ```bash
181
+ python3 scripts/selftest.py
182
+ python3 scripts/provider_adapters.py --selftest
183
+ ```
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "短剧生产"
3
+ short_description: "确认后安全执行图片、视频和语音生产任务,并保留可审计运行记录"
4
+ default_prompt: "Use $short-drama-produce to preview a bounded media job, request explicit confirmation, then execute it safely."
@@ -0,0 +1,219 @@
1
+ # Adapter Contract
2
+
3
+ ## Job file
4
+
5
+ ```json
6
+ {
7
+ "schema_version": "1.0",
8
+ "job_id": "EP001-MOTION001-video",
9
+ "modality": "video",
10
+ "adapter": "studio-video",
11
+ "prompt": "the exact copyable prompt from MOTION-EP001-001",
12
+ "source": "剧集/EP001/视频提示词.md",
13
+ "source_entry": "MOTION-EP001-001",
14
+ "reference_bindings": [
15
+ {
16
+ "slot_id": "REF-HERO",
17
+ "order": 1,
18
+ "path": "输入/approved-character-reference.png",
19
+ "label": "女主定妆照",
20
+ "role": "reference_image",
21
+ "may_control": ["身份", "造型"],
22
+ "must_not_control": ["构图", "动作"]
23
+ }
24
+ ],
25
+ "references": ["输入/approved-character-reference.png"],
26
+ "outputs": ["剧集/EP001/制作成果/video/SHOT-EP001-001.mp4"],
27
+ "parameters": {"duration": 5, "ratio": "9:16", "prompt_language": "zh-CN"},
28
+ "overwrite": false
29
+ }
30
+ ```
31
+
32
+ - `modality`: `image`, `video`, `tts`, or `music`. `tts` is one bounded spoken
33
+ utterance; `music` is a separately accepted timeline-level cue or song and
34
+ must not be smuggled into every shot's video job.
35
+ - `source`: optional current project text/spec that owns the prompt.
36
+ - `source_entry`: for a creator-first job, the exact uppercase H2 ID inside a
37
+ canonical `剧集|episodes/<EP>/` creator document, matched to that document:
38
+ `图片提示词.md` takes `IMG-*` (image), `视频提示词.md` takes `MOTION-*` (video),
39
+ and `分镜.md` takes `SHOT-*` (image, whose prompt is the shot's
40
+ `### 冻结关键帧提示词` body rather than `### 可复制提示词`). A new image/video job pointing to either canonical filename must
41
+ provide the matching selector; an arbitrary Markdown file cannot impersonate a
42
+ creator source. `prepare` selects that section and requires `prompt` to exactly
43
+ equal its copyable prompt after Markdown quote markers are removed.
44
+ - `reference_bindings`: zero to sixteen ordered semantic bindings. Every entry has
45
+ exactly `slot_id`, contiguous `order`, project-relative `path`, Chinese `label`,
46
+ non-empty `role`, and non-empty `may_control` / `must_not_control` lists. When
47
+ `source_entry` is present, these fields must exactly match that entry's
48
+ `参考` (IMG) or `输入参考图` (SHOT/MOTION) declaration (except `role`, which is
49
+ production metadata). Allowed and prohibited scopes may not overlap.
50
+ The creator declaration also carries a `用途` — what this picture decides in
51
+ this shot, from the closed set in the storyboard skill. `role` is its
52
+ production-side translation and is chosen per provider, so the two are not
53
+ compared; a binding whose `role` contradicts the declared `用途` is a defect
54
+ the creator document, not this schema, is the authority on. This schema keeps
55
+ `role` free-form because an external adapter names its own inputs, but the
56
+ bundled video adapters read it as the provider's own role and accept only
57
+ their published vocabulary: `first_frame`, `last_frame`, `reference_image`,
58
+ `reference_video`, `reference_audio` for MiniMax, and the three `reference_*`
59
+ values for Seedance. A video job carrying references without bindings fails
60
+ closed there rather than having a role guessed for it.
61
+ - `references`: zero to sixteen current project files actually sent to production.
62
+ It may be omitted when `reference_bindings` is present, in which case the paths
63
+ are derived in binding order. If both are present, they must match exactly.
64
+ - `outputs`: one to sixteen unique paths rooted at top-level `production/` or
65
+ `剧集|episodes/<EP>/制作成果|production/`; extensions must match the modality.
66
+ A nested directory merely named `production` does not grant write access to
67
+ protected input or delivery trees.
68
+ - `parameters`: provider-neutral public settings only. Image/video jobs carry the resolved
69
+ `prompt_language` so a bundled compiler writes its appended reference contract in the same
70
+ language as the copyable prompt; this execution-only setting is not forwarded as a provider
71
+ request field. Secret-like keys are rejected.
72
+ - `overwrite`: must be explicitly true to replace an existing result.
73
+
74
+ `prepare` records internal digests of source/reference bytes and returns the exact confirmation phrase. Callers never
75
+ calculate those digests. A changed input requires prepare and confirmation again.
76
+ Jobs already prepared and stored before this contract remain readable under their
77
+ original fingerprint. New non-creator structured jobs remain valid without
78
+ `source_entry` and `reference_bindings`; they still receive the existing
79
+ path/digest/confirmation checks. A `music` job may continue to use the timeline
80
+ music section of canonical `视频提示词.md` without pretending that section is a
81
+ `MOTION-*` entry; other new image/video jobs using canonical creator paths must use
82
+ their matching selector.
83
+
84
+ ## Adapter config
85
+
86
+ Keep this file outside the project:
87
+
88
+ ```json
89
+ {
90
+ "adapters": {
91
+ "studio-image": {
92
+ "command": ["python3", "/opt/studio/image_adapter.py"],
93
+ "timeout_seconds": 600
94
+ }
95
+ }
96
+ }
97
+ ```
98
+
99
+ `command` is an argv array, never a shell string. Timeout is 1–3600 seconds. Do not put credentials in this file;
100
+ let the adapter read its environment or operating-system credential store.
101
+
102
+ ## Capability sources
103
+
104
+ Use the provider's current API reference for roles, limits and supported combinations.
105
+ A relay can expose a different subset, reject inputs itself or transform requests.
106
+ Record the tested execution path and distinguish its observations from the native API contract.
107
+
108
+ ## Adapter stdin
109
+
110
+ The adapter receives one UTF-8 JSON document as raw stdin bytes. Read the
111
+ binary stream (for example `json.load(sys.stdin.buffer)`) rather than relying
112
+ on the machine locale. The document contains the confirmed job plus:
113
+
114
+ - `run_id`: unique attempt ID;
115
+ - `project_root`: local absolute path to a private, run-scoped snapshot containing
116
+ the exact confirmed `source` and `references`. It is not the live creator
117
+ project and is deleted after the attempt.
118
+ - `output_root`: empty private, run-scoped staging directory owned by the
119
+ production tool. Every adapter output source must be a direct regular-file
120
+ child of this directory. The whole directory is deleted after success or
121
+ failure.
122
+ - `handle_path`: absolute path where the adapter records the provider's task id
123
+ **as soon as it has one, before it starts polling** — write
124
+ `{"provider_job_id": "<id>"}`, atomically. Unlike `output_root` this path
125
+ survives the attempt.
126
+ - `collect_provider_job_id`: present only on a collect call. When it is set the
127
+ adapter must **not submit anything**; it polls and downloads that existing
128
+ task and returns its outputs as usual.
129
+
130
+ ## Recovering a submitted task
131
+
132
+ Record the provider task ID before polling so an interrupted task can be collected without resubmission.
133
+ A local handle-write failure is non-fatal after submission. The tool copies the handle into the attempt
134
+ record on success or failure; `audit` reports unfinished tasks as `orphaned_provider_job` with
135
+ `action: collect_before_retry`.
136
+
137
+ `production_tool.py collect` retrieves the existing task without new submission or confirmation.
138
+
139
+ It may translate provider-neutral parameters into its chosen SDK/API. Optional
140
+ provider adapters under `scripts/` document and implement known translations;
141
+ the project job remains provider-neutral, and adapter selection, model access,
142
+ polling and credentials stay in the external runtime configuration.
143
+
144
+ The confirmed document includes `source_entry` and `reference_bindings`. Bundled
145
+ image/video compilers append an ordered reference contract to the provider prompt so the Chinese
146
+ label, role, allowed controls, and prohibited controls survive the handoff. Its prose follows
147
+ `parameters.prompt_language`; model-native compilers also use that model's actual reference tokens,
148
+ such as Seedance `@图片1` or H3 `<Picture 1>`, rather than adding a second generic numbering scheme.
149
+ External adapters must preserve equivalent semantics
150
+ or reject the job; silently reducing the input to an unlabelled file list is invalid.
151
+
152
+ ## Adapter stdout
153
+
154
+ On success, write one bounded UTF-8 JSON object to stdout. Portable adapters
155
+ should ASCII-escape JSON strings so Windows locale settings cannot corrupt
156
+ project paths:
157
+
158
+ ```json
159
+ {
160
+ "outputs": [
161
+ {
162
+ "target": "剧集/EP001/制作成果/images/SHOT001.png",
163
+ "source": "/temporary/adapter/result.png"
164
+ }
165
+ ],
166
+ "provider_job_id": "optional-public-id"
167
+ }
168
+ ```
169
+
170
+ Targets must appear in exactly the confirmed order. Sources must be direct
171
+ regular-file children of `output_root`, not symlinks. The tool opens each source
172
+ without following links, copies the pinned bytes into the project, records
173
+ size/media type/checksum, and removes staging. It never stores adapter
174
+ stdout/stderr or environment values.
175
+
176
+ On a provider failure, an adapter may write only this whitelisted evidence to stdout:
177
+
178
+ ```json
179
+ {
180
+ "error": {
181
+ "provider": "studio-image",
182
+ "category": "rate_limit",
183
+ "code": "rate_limit_exceeded",
184
+ "http_status": 429,
185
+ "request_id": "request_safe_123",
186
+ "retryable": true
187
+ }
188
+ }
189
+ ```
190
+
191
+ Never include provider messages, response bodies, prompts, paths or credentials.
192
+ The production run record keeps only validated fields; malformed failure output
193
+ is replaced with a generic adapter exit code.
194
+
195
+ A nonzero exit, timeout, malformed response or mismatched output marks the run failed. Because the adapter may have
196
+ submitted paid work before failing locally, confirmation is consumed as soon as execution starts; retry only after a
197
+ new creator confirmation. A job with an unresolved `running` attempt cannot be prepared, confirmed, or run again;
198
+ wait for its terminal record or investigate the interrupted attempt first.
199
+
200
+ ## Operational reconciliation
201
+
202
+ `production_tool.py audit <project>` reads only local production metadata and the
203
+ current output bytes. It reports terminal failures, retryable failures, recovered
204
+ jobs, unresolved running attempts, repeated content fingerprints, and missing or
205
+ changed outputs. Terminal state, recovery, and repeated output claims are ordered
206
+ by validated completion time rather than start time. For paths written more than
207
+ once, the latest completed successful claim is authoritative for this operational
208
+ check. Only attempts bound to the current stored job fingerprint can claim its
209
+ current outputs; older fingerprints remain visible as `superseded` attempt history.
210
+ A successful record must declare exactly the current job's output set and media
211
+ types before any output claim is trusted. Jobs, confirmations, run records, and the
212
+ production lock use pinned no-follow directories where directory FDs are available,
213
+ and reparse/identity checks on the portable fallback. A linked parent chain fails
214
+ closed instead of redirecting state outside the project.
215
+
216
+ The audit deliberately returns `quality_verdict: not_assessed`. A provider success,
217
+ retry recovery, file presence, size, or checksum proves execution/custody only; it
218
+ does not prove identity, performance, continuity, lip-sync, mix, edit, or audience
219
+ quality. Those claims require an authorized observation and a separate review.
@@ -0,0 +1,24 @@
1
+ # GPT Image 2 adapter
2
+
3
+ Adapter command:
4
+
5
+ ```json
6
+ {"command": ["python3", "/absolute/path/provider_adapters.py", "gpt-image-2"], "timeout_seconds": 600}
7
+ ```
8
+
9
+ Required environment: `OPENAI_API_KEY`. `OPENAI_BASE_URL` optionally overrides the default
10
+ `https://api.openai.com/v1` and must remain HTTPS.
11
+
12
+ The job must have modality `image` and exactly one output. With no references, the adapter sends JSON to
13
+ `POST /images/generations`. With one to sixteen references, it sends an `image[]` multipart edit to
14
+ `POST /images/edits`. The model is always `gpt-image-2`, `n` is always one, and the single returned `b64_json` image is
15
+ written to a private temporary file.
16
+
17
+ Supported public parameters are `width` plus `height` (compiled to `size`), or `size`, and `quality`, `background`, and
18
+ `moderation`. References use GPT Image 2's high-fidelity behavior without sending the older `input_fidelity` field.
19
+ Transparent backgrounds are rejected because GPT Image 2 does not support them. The output extension selects `png`,
20
+ `jpeg`, or `webp`.
21
+
22
+ Protocol references: [GPT Image 2 model](https://developers.openai.com/api/docs/models/gpt-image-2),
23
+ [image generation](https://developers.openai.com/api/reference/resources/images/methods/generate), and
24
+ [image edits](https://developers.openai.com/api/reference/resources/images/methods/edit).
@@ -0,0 +1,86 @@
1
+ # MiniMax H3 video adapter
2
+
3
+ Adapter command:
4
+
5
+ ```json
6
+ {"command": ["python3", "/absolute/path/provider_adapters.py", "minimax-h3"], "timeout_seconds": 3600}
7
+ ```
8
+
9
+ Required environment:
10
+
11
+ - `MINIMAX_API_KEY`: MiniMax API key.
12
+ - `MINIMAX_VIDEO_MODEL`: the exact enabled model ID. There is intentionally no default; the adapter
13
+ never assumes which MiniMax video release an account has.
14
+ - `MINIMAX_VIDEO_RESOLUTIONS`: comma-separated subset the configured model actually accepts, drawn
15
+ from `480P`, `768P`, `2K`. The published envelopes differ per release, so this is configuration,
16
+ not a constant.
17
+ - `MINIMAX_VIDEO_MIN_DURATION` and `MINIMAX_VIDEO_MAX_DURATION`: the configured model's explicit
18
+ inclusive duration range in whole seconds. Set both or neither; a job carrying `duration` without
19
+ the profile fails closed.
20
+
21
+ Optional environment:
22
+
23
+ - `MINIMAX_VIDEO_BASE_URL` (default `https://api.minimax.io/v2`)
24
+ - `MINIMAX_VIDEO_RATIOS`: comma-separated subset of `adaptive`, `1:1`, `3:4`, `4:3`, `9:16`, `16:9`,
25
+ `21:9`.
26
+ - `MINIMAX_VIDEO_POLL_INTERVAL` (default `5` seconds)
27
+ - `MINIMAX_VIDEO_TIMEOUT_SECONDS` (default `1800` seconds)
28
+
29
+ The job must have modality `video` and exactly one `.mp4` output. `duration` and `resolution` are
30
+ required and are only accepted when the runtime profile above permits their values. `ratio` is
31
+ optional for reference-conditioned jobs and **required** for text-to-video, where `adaptive` is
32
+ refused because there is no reference frame to adapt to.
33
+
34
+ The adapter validates and forwards `duration`; it does not estimate speech length or retime dialogue.
35
+ Before preparing a speaking shot, compare the accepted shot duration, the prompt's spoken timeline,
36
+ and the job's `duration`. Resolve insufficient speaking time in the storyboard and regenerate the
37
+ dependent prompt before preparing the job. Prompt timestamps alone do not change the request duration.
38
+ The official video API has no separate speech-rate parameter.
39
+
40
+ The prompt is compiled into one `text` item of the multimodal `content` array and is refused above
41
+ 7000 characters. Each declared reference becomes one further `content` item carrying an explicit
42
+ `role`: `first_frame`, `last_frame`, `reference_image`, `reference_video`, or `reference_audio`.
43
+ Set the job's `parameters.prompt_language` to the resolved video-prompt language; the compiler
44
+ consumes it when appending reference semantics and does not send it as a MiniMax request field.
45
+ `first_frame` and `last_frame` may each appear once. The published envelope also caps reference
46
+ conditioning at 9 `reference_image`, 3 `reference_video` and 3 `reference_audio` items, with video and
47
+ audio clips between 2 and 15 seconds each and at most 15 seconds in total per modality; the compiler
48
+ does not count them, so a configuration that can exceed those numbers has to bound them itself.
49
+ frame conditioning (`first_frame` / `last_frame`) and full-reference conditioning
50
+ (`reference_image` / `reference_video` / `reference_audio`) are mutually exclusive in one request.
51
+ For continuation, bind the previous actual video as `reference_video` and its actual tail as
52
+ `reference_image`; the compiler labels them `<Video 1>` and `<Picture 1>` in its appended contract.
53
+ Never relabel that tail as `first_frame` while a reference video is present. Reference URLs may be HTTPS, `mm_file://{file_id}`, or a `data:<mime>;base64,<...>` URI — all three
54
+ are documented inputs. A project-relative reference in the confirmed job is read from disk and sent
55
+ inline as a data URI, so binding an image in the creator documents is enough to run the job; no
56
+ upload service is required. Each file's bytes must match the media type its extension claims, and
57
+ the published per-modality caps apply: 30MB per image, 50MB per video, 15MB per audio clip, and 64MB
58
+ for the whole request measured after base64 expansion. A reference past those caps fails closed with
59
+ an explicit message; host it and bind an HTTPS URL instead of splitting it.
60
+
61
+ Each reference takes its provider role from the confirmed job's `reference_bindings[].role`, which is
62
+ where the creator document's `用途` is translated for this provider. A job that carries references
63
+ without those bindings fails closed rather than guessing a role.
64
+
65
+ The adapter creates an asynchronous task with `POST {base}/video_generation`, polls
66
+ `GET {base}/query/video_generation/{task_id}` until a terminal state, and downloads `task.content.url` into a private temporary directory. Any unknown
67
+ status fails closed.
68
+
69
+ ## What this model changes for the prompt itself
70
+
71
+ This release generates audio in the same pass as the picture. Its direct prompt dialect is also
72
+ structured: base/first-frame/first-last-frame tasks use `integrated_multimodal_description`,
73
+ `overall_soundscape`, and `non_diegetic_music`; full-reference tasks use the six-section H3 reference
74
+ form. Chinese dialogue remains exact inside `<d>[Chinese] ...</d>`. Full details live in the
75
+ video-prompt skill's `references/minimax-h3.md`.
76
+
77
+ State the intended sound layers in the prompt. For no non-diegetic music, the
78
+ H3 dialect uses `non_diegetic_music: N/A`; small probes observed unwanted music
79
+ when this layer was omitted. They did not establish that omitted speech or
80
+ negative clauses cause extra dialogue.
81
+
82
+ Follow the project's subtitle and in-scene-text policy. Prompt wording belongs
83
+ to the video-prompt skill and the declared language, not to adapter-generated
84
+ boilerplate.
85
+
86
+ Protocol reference: [MiniMax video generation API](https://platform.minimax.io/docs/api-reference/video-generation-v2-create).
@@ -0,0 +1,25 @@
1
+ # MiniMax Music adapter
2
+
3
+ Adapter command:
4
+
5
+ ```json
6
+ {"command": ["python3", "/absolute/path/provider_adapters.py", "minimax-music"], "timeout_seconds": 600}
7
+ ```
8
+
9
+ Required environment: `MINIMAX_API_KEY`. `MINIMAX_BASE_URL` optionally overrides the default
10
+ `https://api.minimax.io/v1` and must remain HTTPS.
11
+
12
+ The job uses the suite's `music` modality and must have exactly one output. The production prompt becomes the
13
+ music style/mood prompt. Supported public parameters are `lyrics`, `is_instrumental`, `sample_rate`,
14
+ `bitrate`, and `format`. Vocal jobs require exact accepted lyrics. The requested format must match the target extension
15
+ and be `mp3` or `wav`.
16
+
17
+ For this confirmed-production profile, `lyrics_optimizer` is rejected even when `true` is requested: supplier-authored lyrics would not have
18
+ appeared in the preview and cannot satisfy creator ownership or licensing. A vocal job therefore requires the exact
19
+ accepted lyrics; an instrumental job carries neither lyrics nor an optimizer request.
20
+
21
+ The request always uses model `music-3.0`, non-streaming `output_format: hex`, and
22
+ `POST /music_generation`. The adapter validates `base_resp.status_code`, decodes `data.audio` as hexadecimal bytes,
23
+ and writes it to a private temporary file.
24
+
25
+ Protocol reference: [MiniMax Music Generation](https://platform.minimax.io/docs/api-reference/music-generation).
@@ -0,0 +1,41 @@
1
+ # MiniMax Speech adapter
2
+
3
+ Adapter command:
4
+
5
+ ```json
6
+ {"command": ["python3", "/absolute/path/provider_adapters.py", "minimax-speech"], "timeout_seconds": 600}
7
+ ```
8
+
9
+ Required environment: `MINIMAX_API_KEY`. `MINIMAX_BASE_URL` optionally overrides the default
10
+ `https://api.minimax.io/v1` and must remain HTTPS.
11
+
12
+ The job uses the suite's `tts` modality and must have exactly one output. The production prompt is the
13
+ line to be spoken, verbatim — not a description of it. Supported public parameters are `model`,
14
+ `voice_id`, `emotion`, `speed`, `vol`, `pitch`, `sample_rate`, `bitrate`, and `format`. The requested
15
+ format must match the target extension and be `mp3` or `wav`.
16
+
17
+ `model` and `voice_id` are both required and neither has a default. The model is an account-enabled
18
+ endpoint, exactly as for the video providers. The voice is a creative decision recorded in
19
+ `视觉设定.md` under the character's 声音方向, and it reaches the adapter through the confirmed job.
20
+
21
+ ## Voice selection
22
+
23
+ Read the provider's voice listing and confirm availability for the chosen model and account.
24
+ The adapter validates the ID format, not catalogue membership. Record the selected ID in the
25
+ character's 声音方向 and pass it through the confirmed job.
26
+
27
+ This workflow selects preset voices. The adapter does not enrol or clone a voice;
28
+ any supplied recording retains its documented authorization and usage scope.
29
+
30
+ ## Request shape
31
+
32
+ The request is non-streaming with `output_format: hex`, `POST /t2a_v2`, and carries
33
+ `voice_setting` (`voice_id`, and any of `emotion`, `speed`, `vol`, `pitch`) alongside `audio_setting`
34
+ (`sample_rate`, `bitrate`, `format`). The adapter validates `base_resp.status_code`, decodes
35
+ `data.audio` as hexadecimal bytes, and writes it to a private temporary file.
36
+
37
+ `emotion` accepts the provider's seven values: `happy`, `sad`, `angry`, `fearful`, `disgusted`,
38
+ `surprised`, `neutral`. Anything outside that set is refused rather than passed through — a rejected
39
+ emotion is a typo caught before it is paid for.
40
+
41
+ Protocol reference: [MiniMax Text to Speech](https://platform.minimax.io/docs/api-reference/speech-t2a-http).