@aswless_854771076/ai_short_studio_cli 0.1.98 → 0.1.100

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 (405) hide show
  1. package/README.md +15 -313
  2. package/dist/base-command.d.ts +0 -6
  3. package/dist/base-command.js +1 -39
  4. package/dist/client/api-client.js +2 -19
  5. package/dist/commands/auth/login.d.ts +1 -2
  6. package/dist/commands/auth/login.js +2 -5
  7. package/dist/commands/auth/logout.d.ts +0 -1
  8. package/dist/commands/auth/signup.d.ts +0 -1
  9. package/dist/commands/auth/status.d.ts +0 -1
  10. package/dist/commands/canvas/apply.d.ts +0 -1
  11. package/dist/commands/canvas/asset/get.d.ts +0 -1
  12. package/dist/commands/canvas/asset/list.d.ts +0 -1
  13. package/dist/commands/canvas/asset/select.d.ts +1 -3
  14. package/dist/commands/canvas/asset/select.js +3 -22
  15. package/dist/commands/canvas/asset/upload.d.ts +0 -14
  16. package/dist/commands/canvas/asset/upload.js +3 -43
  17. package/dist/commands/canvas/continuity/analyze.d.ts +0 -1
  18. package/dist/commands/canvas/edge/connect.d.ts +0 -1
  19. package/dist/commands/canvas/edge/disconnect.d.ts +0 -1
  20. package/dist/commands/canvas/edge/list.d.ts +0 -1
  21. package/dist/commands/canvas/edge/list.js +1 -4
  22. package/dist/commands/canvas/episode/create.d.ts +0 -1
  23. package/dist/commands/canvas/episode/list.d.ts +0 -1
  24. package/dist/commands/canvas/folder/copy-cross-project.d.ts +0 -1
  25. package/dist/commands/canvas/folder/create.d.ts +0 -1
  26. package/dist/commands/canvas/folder/delete.d.ts +0 -1
  27. package/dist/commands/canvas/folder/list.d.ts +0 -1
  28. package/dist/commands/canvas/folder/move.d.ts +0 -1
  29. package/dist/commands/canvas/folder/rename.d.ts +0 -1
  30. package/dist/commands/canvas/folder/restore.d.ts +0 -1
  31. package/dist/commands/canvas/get.d.ts +0 -1
  32. package/dist/commands/canvas/inspect.d.ts +0 -1
  33. package/dist/commands/canvas/node/add.d.ts +1 -1
  34. package/dist/commands/canvas/node/add.js +2 -2
  35. package/dist/commands/canvas/node/delete.d.ts +0 -1
  36. package/dist/commands/canvas/node/edit-resource.d.ts +0 -2
  37. package/dist/commands/canvas/node/edit-resource.js +1 -9
  38. package/dist/commands/canvas/node/edit-shot.d.ts +0 -1
  39. package/dist/commands/canvas/node/get.d.ts +0 -1
  40. package/dist/commands/canvas/node/list.d.ts +0 -5
  41. package/dist/commands/canvas/node/list.js +2 -43
  42. package/dist/commands/canvas/node/run.d.ts +0 -15
  43. package/dist/commands/canvas/node/run.js +6 -142
  44. package/dist/commands/canvas/node/types.d.ts +0 -1
  45. package/dist/commands/canvas/node/update-many.d.ts +0 -1
  46. package/dist/commands/canvas/node/update.d.ts +0 -1
  47. package/dist/commands/canvas/settings/get.d.ts +0 -1
  48. package/dist/commands/canvas/settings/set.d.ts +0 -24
  49. package/dist/commands/canvas/settings/set.js +1 -60
  50. package/dist/commands/config/get.d.ts +0 -1
  51. package/dist/commands/config/set.d.ts +0 -2
  52. package/dist/commands/config/set.js +2 -55
  53. package/dist/commands/preflight.d.ts +0 -1
  54. package/dist/commands/preflight.js +1 -9
  55. package/dist/commands/project/create.d.ts +0 -1
  56. package/dist/commands/project/delete.d.ts +0 -1
  57. package/dist/commands/project/get.d.ts +0 -1
  58. package/dist/commands/project/list.d.ts +0 -1
  59. package/dist/commands/project/update.d.ts +0 -1
  60. package/dist/commands/skill/install.d.ts +0 -1
  61. package/dist/commands/skill/install.js +0 -1
  62. package/dist/commands/skill/path.d.ts +0 -1
  63. package/dist/commands/skill/path.js +0 -1
  64. package/dist/commands/skill/status.d.ts +0 -1
  65. package/dist/commands/skill/status.js +0 -1
  66. package/dist/commands/task/cancel.d.ts +0 -1
  67. package/dist/commands/task/get.d.ts +0 -1
  68. package/dist/commands/task/wait.d.ts +0 -2
  69. package/dist/commands/task/wait.js +1 -6
  70. package/dist/domain/vvicat-api.d.ts +3 -63
  71. package/dist/domain/vvicat-api.js +9 -74
  72. package/dist/output/formatter.d.ts +0 -11
  73. package/dist/output/formatter.js +0 -20
  74. package/dist/preflight.d.ts +0 -1
  75. package/dist/preflight.js +1 -14
  76. package/dist/skill/command-flags.js +4 -7
  77. package/dist/skill/skill-manager.d.ts +2 -75
  78. package/dist/skill/skill-manager.js +15 -60
  79. package/package.json +3 -4
  80. package/scripts/postinstall.mjs +12 -7
  81. package/skills/using-vvicat-ai-short-studio-cli/SKILL.md +67 -27
  82. package/skills/using-vvicat-ai-short-studio-cli/references/commands/canvas.md +4 -3
  83. package/skills/using-vvicat-ai-short-studio-cli/references/commands/project.md +2 -26
  84. package/skills/using-vvicat-ai-short-studio-cli/references/commands.md +2 -2
  85. package/skills/using-vvicat-ai-short-studio-cli/references/editing-delivery.md +1 -1
  86. package/skills/using-vvicat-ai-short-studio-cli/references/h3-video-delivery.md +1 -1
  87. package/skills/using-vvicat-ai-short-studio-cli/references/humanizer/humanizer.md +9 -0
  88. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/SKILL.md +447 -0
  89. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/brief.md +93 -0
  90. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/project-files.md +246 -0
  91. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/reference-video.md +266 -0
  92. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/script-and-time.md +253 -0
  93. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/transformations.md +141 -0
  94. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/distribution.md +176 -0
  95. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/local-tools.md +411 -0
  96. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/model-and-provider.md +275 -0
  97. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/profile.md +286 -0
  98. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/asset-and-shot-preproduction.md +193 -0
  99. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/b-roll.md +94 -0
  100. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/caption-tracking.md +125 -0
  101. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/captions.md +252 -0
  102. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/conversation-images.md +218 -0
  103. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-base-prompt-writing.md +222 -0
  104. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-reference-prompt-writing.md +341 -0
  105. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/image-direction.md +123 -0
  106. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/generated-dependencies.md +38 -0
  107. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/graphic-compositions.md +85 -0
  108. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/h3-prompt-writing.md +54 -0
  109. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/image-direction.md +95 -0
  110. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/motion-graphics.md +68 -0
  111. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/recreation-policy.md +51 -0
  112. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/screen-demonstrations.md +51 -0
  113. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/shot-production-contracts.md +161 -0
  114. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/sound-mix.md +76 -0
  115. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/video-direction.md +433 -0
  116. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-and-performance.md +224 -0
  117. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-direction.md +99 -0
  118. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/narration-led-demo.md +87 -0
  119. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/presenter-led-explainer.md +160 -0
  120. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/ranking-listicle.md +71 -0
  121. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/reference-recreation-canvas.md +8 -0
  122. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama-workflow.md +165 -0
  123. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama.md +88 -0
  124. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/street-interview.md +92 -0
  125. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/talking-head.md +82 -0
  126. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/two-person-podcast.md +101 -0
  127. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/index.md +77 -0
  128. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/audio-presentation.md +49 -0
  129. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/authoring.md +228 -0
  130. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/browser-capture.md +112 -0
  131. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/builds.md +330 -0
  132. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-authoring.md +156 -0
  133. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-presentation.md +66 -0
  134. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-design.md +217 -0
  135. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-sharing.md +150 -0
  136. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-visuals.md +152 -0
  137. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/detail.svrun +8 -0
  138. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/direction.svs +14 -0
  139. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/look.svs +6 -0
  140. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/material.svrun +5 -0
  141. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svml +73 -0
  142. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svrun +5 -0
  143. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/visuals.ts +62 -0
  144. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/fonts-and-text.md +138 -0
  145. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/image-operations.md +102 -0
  146. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/index.md +73 -0
  147. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media-presentation.md +111 -0
  148. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media.md +246 -0
  149. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/performance.md +114 -0
  150. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/prompt-kits.md +165 -0
  151. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/rendering.md +141 -0
  152. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/review.md +211 -0
  153. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/runs.md +151 -0
  154. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/script-syntax.md +236 -0
  155. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/snapshots.md +90 -0
  156. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/sound.md +75 -0
  157. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/source-syntax.md +163 -0
  158. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/spatial.md +189 -0
  159. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio-companions.md +186 -0
  160. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio.md +249 -0
  161. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/system.md +169 -0
  162. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timeline.md +74 -0
  163. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timing.md +96 -0
  164. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/track-authoring.md +215 -0
  165. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/tracks.md +67 -0
  166. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/video-downloads.md +47 -0
  167. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/vocabulary.md +119 -0
  168. package/skills/using-vvicat-ai-short-studio-cli/references/project-and-canvas.md +1 -1
  169. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/README.md +11 -0
  170. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/SKILL.md +102 -0
  171. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/art-styles.json +585 -0
  172. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-images.md +11 -0
  173. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles/character-profile-output.schema.json +99 -0
  174. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles.md +7 -0
  175. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-drama-art-style.md +9 -0
  176. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-prop-assets.md +11 -0
  177. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-scene-assets.md +13 -0
  178. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-art-styles.md +9 -0
  179. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-assets.md +9 -0
  180. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.en.txt +24 -0
  181. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.zh.txt +24 -0
  182. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.en.txt +61 -0
  183. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.zh.txt +79 -0
  184. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.en.txt +101 -0
  185. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.zh.txt +150 -0
  186. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.en.txt +114 -0
  187. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.zh.txt +89 -0
  188. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.en.txt +114 -0
  189. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.zh.txt +389 -0
  190. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.en.txt +40 -0
  191. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.zh.txt +40 -0
  192. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.en.txt +24 -0
  193. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.zh.txt +24 -0
  194. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.en.txt +19 -0
  195. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.zh.txt +19 -0
  196. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.en.txt +26 -0
  197. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.zh.txt +26 -0
  198. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.en.txt +33 -0
  199. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.zh.txt +33 -0
  200. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.en.txt +36 -0
  201. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.zh.txt +36 -0
  202. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.en.txt +33 -0
  203. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.zh.txt +33 -0
  204. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.en.txt +26 -0
  205. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.zh.txt +26 -0
  206. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.en.txt +21 -0
  207. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.zh.txt +21 -0
  208. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.en.txt +12 -0
  209. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.zh.txt +12 -0
  210. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.en.txt +13 -0
  211. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.zh.txt +13 -0
  212. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.en.txt +11 -0
  213. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.zh.txt +11 -0
  214. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.en.txt +15 -0
  215. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.zh.txt +15 -0
  216. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.en.txt +14 -0
  217. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.zh.txt +14 -0
  218. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.en.txt +50 -0
  219. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.zh.txt +50 -0
  220. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.en.txt +18 -0
  221. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.zh.txt +18 -0
  222. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.en.txt +67 -0
  223. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.zh.txt +67 -0
  224. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.en.txt +14 -0
  225. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.zh.txt +14 -0
  226. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.en.txt +16 -0
  227. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.zh.txt +16 -0
  228. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.en.txt +17 -0
  229. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.zh.txt +17 -0
  230. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.en.txt +11 -0
  231. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.zh.txt +11 -0
  232. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.en.txt +14 -0
  233. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.zh.txt +14 -0
  234. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.en.txt +13 -0
  235. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.zh.txt +13 -0
  236. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.en.txt +12 -0
  237. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.zh.txt +12 -0
  238. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.en.txt +19 -0
  239. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.zh.txt +19 -0
  240. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.en.txt +18 -0
  241. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.zh.txt +17 -0
  242. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.en.txt +29 -0
  243. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.zh.txt +29 -0
  244. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.en.txt +77 -0
  245. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.zh.txt +77 -0
  246. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.en.txt +109 -0
  247. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.zh.txt +109 -0
  248. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.en.txt +23 -0
  249. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.zh.txt +23 -0
  250. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.en.txt +42 -0
  251. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.zh.txt +42 -0
  252. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.en.txt +55 -0
  253. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.zh.txt +55 -0
  254. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.en.txt +49 -0
  255. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.zh.txt +52 -0
  256. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.en.txt +37 -0
  257. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.zh.txt +37 -0
  258. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.en.txt +28 -0
  259. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.zh.txt +28 -0
  260. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.en.txt +57 -0
  261. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.zh.txt +169 -0
  262. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.en.txt +64 -0
  263. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.zh.txt +117 -0
  264. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.en.txt +34 -0
  265. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.zh.txt +34 -0
  266. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.en.txt +18 -0
  267. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.zh.txt +13 -0
  268. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.en.txt +7 -0
  269. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.zh.txt +7 -0
  270. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.en.txt +28 -0
  271. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.zh.txt +42 -0
  272. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.en.txt +35 -0
  273. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.zh.txt +35 -0
  274. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.en.txt +21 -0
  275. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.zh.txt +21 -0
  276. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.en.txt +39 -0
  277. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.zh.txt +39 -0
  278. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.en.txt +49 -0
  279. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.zh.txt +48 -0
  280. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.en.txt +51 -0
  281. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.zh.txt +51 -0
  282. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.en.txt +50 -0
  283. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.zh.txt +50 -0
  284. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.en.txt +48 -0
  285. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.zh.txt +46 -0
  286. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/plan-drama-assets.md +7 -0
  287. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/codex-contracts.md +14 -0
  288. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/comfly-provider.md +12 -0
  289. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/controlled-vocabulary.json +115 -0
  290. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/analyze-drama-source.md +7 -0
  291. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/define-drama-brief.md +8 -0
  292. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/design-drama-bible.md +5 -0
  293. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/humanizer.md +9 -0
  294. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/outline-drama-series.md +5 -0
  295. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/short-drama.md +13 -0
  296. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-director-book.md +6 -0
  297. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-episode.md +6 -0
  298. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/director-composition.md +794 -0
  299. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-deliver-drama.md +5 -0
  300. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-drama-timeline.md +22 -0
  301. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/remotion-best-practices.md +12 -0
  302. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing-workflow.md +56 -0
  303. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/feature-completeness.md +111 -0
  304. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/configure-generation-providers.md +17 -0
  305. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/design-drama-audio.md +11 -0
  306. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/drama-generation-service.md +13 -0
  307. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-drama-videos.md +9 -0
  308. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-storyboard-images.md +11 -0
  309. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/monitor-drama-tasks.md +15 -0
  310. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/transform-drama-media.md +9 -0
  311. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/write-drama-video-prompts.md +50 -0
  312. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/market-report.schema.json +46 -0
  313. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/methodology.md +24 -0
  314. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market.md +47 -0
  315. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market/market-inspiration.schema.json +109 -0
  316. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market.md +15 -0
  317. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/module-map.json +595 -0
  318. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/music-catalog-providers.md +16 -0
  319. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/manage-drama-projects.md +11 -0
  320. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/orchestrate-short-drama.md +20 -0
  321. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/recover-drama-pipeline.md +5 -0
  322. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/short-drama-skill-index.md +29 -0
  323. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/use-short-drama-studio.md +15 -0
  324. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/pipeline.md +85 -0
  325. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/project-spec-v1.md +217 -0
  326. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/prompt-skill-index.md +62 -0
  327. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/recreation/publish-drama-references/litterbox.md +5 -0
  328. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-script.md +7 -0
  329. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-shots.md +39 -0
  330. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/runninghub-provider.md +33 -0
  331. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/starrouter-provider.md +53 -0
  332. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/build-drama-storyboard.md +13 -0
  333. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/design-fight-video.md +19 -0
  334. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/action-previz.md +39 -0
  335. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/direction-contract.md +96 -0
  336. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/weapons-vfx.md +23 -0
  337. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz.md +15 -0
  338. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/generate-blender-previz.md +20 -0
  339. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-drama-production.md +21 -0
  340. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-shot-continuity.md +15 -0
  341. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/revise-drama-storyboards.md +5 -0
  342. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/usage-guide.md +107 -0
  343. package/skills/using-vvicat-ai-short-studio-cli/references/special-workflows.md +2 -8
  344. package/skills/using-vvicat-ai-short-studio-cli/references/troubleshooting.md +0 -1
  345. package/dist/auth/login-provider.d.ts +0 -2
  346. package/dist/auth/login-provider.js +0 -3
  347. package/dist/commands/canvas/node/quote.d.ts +0 -17
  348. package/dist/commands/canvas/node/quote.js +0 -13
  349. package/dist/commands/config/ai-provider/capabilities.d.ts +0 -60
  350. package/dist/commands/config/ai-provider/capabilities.js +0 -124
  351. package/dist/commands/config/ai-provider/get.d.ts +0 -22
  352. package/dist/commands/config/ai-provider/get.js +0 -21
  353. package/dist/commands/config/ai-provider/list.d.ts +0 -21
  354. package/dist/commands/config/ai-provider/list.js +0 -19
  355. package/dist/commands/config/ai-provider/models.d.ts +0 -22
  356. package/dist/commands/config/ai-provider/models.js +0 -21
  357. package/dist/commands/config/ai-provider/set.d.ts +0 -41
  358. package/dist/commands/config/ai-provider/set.js +0 -65
  359. package/dist/commands/config/ai-provider/test.d.ts +0 -25
  360. package/dist/commands/config/ai-provider/test.js +0 -24
  361. package/dist/commands/project/provider/get.d.ts +0 -15
  362. package/dist/commands/project/provider/get.js +0 -12
  363. package/dist/commands/project/provider/set.d.ts +0 -16
  364. package/dist/commands/project/provider/set.js +0 -18
  365. package/dist/commands/project/provider/test.d.ts +0 -15
  366. package/dist/commands/project/provider/test.js +0 -12
  367. package/dist/domain/ai-provider-capabilities.d.ts +0 -109
  368. package/dist/domain/ai-provider-capabilities.js +0 -180
  369. package/dist/domain/ai-provider-command-helpers.d.ts +0 -27
  370. package/dist/domain/ai-provider-command-helpers.js +0 -55
  371. package/skills/using-vvicat-ai-short-studio-cli/references/b-roll-and-screen.md +0 -9
  372. package/skills/using-vvicat-ai-short-studio-cli/references/caption-and-graphics-direction.md +0 -11
  373. package/skills/using-vvicat-ai-short-studio-cli/references/composition-and-shot-review.md +0 -17
  374. package/skills/using-vvicat-ai-short-studio-cli/references/craft-index.md +0 -20
  375. package/skills/using-vvicat-ai-short-studio-cli/references/drama-canvas.md +0 -19
  376. package/skills/using-vvicat-ai-short-studio-cli/references/format-relationships.md +0 -15
  377. package/skills/using-vvicat-ai-short-studio-cli/references/h3-prompts.md +0 -7
  378. package/skills/using-vvicat-ai-short-studio-cli/references/image-and-reference-direction.md +0 -9
  379. package/skills/using-vvicat-ai-short-studio-cli/references/licensed-music.md +0 -9
  380. package/skills/using-vvicat-ai-short-studio-cli/references/licenses/oh-my-short-drama-MIT.txt +0 -21
  381. package/skills/using-vvicat-ai-short-studio-cli/references/licenses/short-drama-MIT.txt +0 -21
  382. package/skills/using-vvicat-ai-short-studio-cli/references/media-provenance-and-review.md +0 -22
  383. package/skills/using-vvicat-ai-short-studio-cli/references/paid-plan.md +0 -7
  384. package/skills/using-vvicat-ai-short-studio-cli/references/production-specialties.md +0 -25
  385. package/skills/using-vvicat-ai-short-studio-cli/references/recreation.md +0 -21
  386. package/skills/using-vvicat-ai-short-studio-cli/references/reference-analysis-and-timing.md +0 -19
  387. package/skills/using-vvicat-ai-short-studio-cli/references/remotion-editing.md +0 -18
  388. package/skills/using-vvicat-ai-short-studio-cli/references/shot-production.md +0 -9
  389. package/skills/using-vvicat-ai-short-studio-cli/references/sound-and-captions.md +0 -7
  390. package/skills/using-vvicat-ai-short-studio-cli/references/sources.md +0 -6
  391. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/canvas-production.md +0 -9
  392. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/guide.md +0 -7
  393. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/index.md +0 -13
  394. package/skills/using-vvicat-ai-short-studio-cli/references/video-and-performance-direction.md +0 -9
  395. package/skills/using-vvicat-ai-short-studio-cli/references/voice-and-sound-direction.md +0 -9
  396. package/skills/using-vvicat-ai-short-studio-cli/references/writing-polish.md +0 -15
  397. /package/skills/using-vvicat-ai-short-studio-cli/references/{licenses/humanizer-MIT.txt → short-drama/assets/modules/humanizer/LICENSE} +0 -0
  398. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/compliance-checklist.md +0 -0
  399. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/genre-guide.md +0 -0
  400. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/hook-design.md +0 -0
  401. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/opening-rules.md +0 -0
  402. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/paywall-design.md +0 -0
  403. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/rhythm-curve.md +0 -0
  404. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/satisfaction-matrix.md +0 -0
  405. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/villain-design.md +0 -0
@@ -1,60 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- /**
3
- * vvicat config ai-provider capabilities
4
- *
5
- * 聚合视图:agent 视角的「当前能跑什么 / 缺什么」。
6
- *
7
- * 数据来源:
8
- * - GET /api/admin/ai-providers → 仓库 provider 目录
9
- * - GET /api/user/api-config → catalog + defaultModels + capabilityDefaults
10
- * - POST /api/admin/ai-providers/{id}/test (每个 enabled provider) → reachability
11
- *
12
- * 输出 CapabilitiesReport JSON(schema 见 src/domain/ai-provider-capabilities.ts)。
13
- */
14
- export default class ConfigAiProviderCapabilities extends BaseCommand {
15
- static description: string;
16
- static flags: {
17
- 'no-reachability': import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
- 'reachability-concurrency': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
19
- 'base-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
- locale: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
22
- profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
- episode: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
- output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
- };
26
- run(): Promise<void>;
27
- }
28
- type ProbeOutcome = 'ok' | 'unknown' | 'failed';
29
- /**
30
- * 探测结果判定(2026-10-09 · ERR-20261009-004 · 报告 P0-6)。
31
- *
32
- * 服务端对 **RunningHub 协议**的 provider 返回 `{ success: false, reason:
33
- * 'comfyui-runninghub-protocol', hint: 'RunningHub 协议无法做连通性测试…',
34
- * steps: [{ status: 'skip', httpStatus: 200 }] }` —— 这是「**不可探测**」,不是
35
- * 「探测失败」。旧实现只看 `success === true`,把它一律压成 `ok: false`,于是
36
- * reachability 报 `failed` 而 detail 是 `skip/200`,读起来自相矛盾
37
- * (端到端测试报告记录的就是这个现象)。
38
- *
39
- * 代价不是「不好看」而是**误导决策**:agent/运维看到 failed 就判定 provider 不可用,
40
- * 于是去补环境变量配置、跳过该模型 —— 而真实故障在别处(凭据通道走错,见同 ERR 的
41
- * video.ts / adapter.ts 修复)。
42
- *
43
- * 修法:`skip` 与该 reason **不算失败**,映射为 unknown(与 `--no-reachability` 时同义),
44
- * 并把服务端给的 hint 带进 detail,让「为什么不可探测」在报告里直接可读。
45
- */
46
- declare function classifyProbe(result: {
47
- success?: boolean;
48
- reason?: string;
49
- hint?: string;
50
- steps?: Array<{
51
- status?: string;
52
- httpStatus?: number;
53
- }>;
54
- }): {
55
- outcome: ProbeOutcome;
56
- detail: string;
57
- };
58
- /** 测试出口:与 classifyProbe 同函数,仅供单测直接断言三态映射。 */
59
- export declare const classifyProbeForTest: typeof classifyProbe;
60
- export {};
@@ -1,124 +0,0 @@
1
- import { Flags } from '@oclif/core';
2
- import { BaseCommand } from '../../../base-command.js';
3
- import { commandApi } from '../../../command-helpers.js';
4
- import { buildCapabilitiesReport } from '../../../domain/ai-provider-capabilities.js';
5
- import { extractCapabilityDefaults, extractCatalogModels, extractDefaultModels } from '../../../domain/ai-provider-command-helpers.js';
6
- /**
7
- * vvicat config ai-provider capabilities
8
- *
9
- * 聚合视图:agent 视角的「当前能跑什么 / 缺什么」。
10
- *
11
- * 数据来源:
12
- * - GET /api/admin/ai-providers → 仓库 provider 目录
13
- * - GET /api/user/api-config → catalog + defaultModels + capabilityDefaults
14
- * - POST /api/admin/ai-providers/{id}/test (每个 enabled provider) → reachability
15
- *
16
- * 输出 CapabilitiesReport JSON(schema 见 src/domain/ai-provider-capabilities.ts)。
17
- */
18
- export default class ConfigAiProviderCapabilities extends BaseCommand {
19
- static description = '聚合视图:当前能跑哪些模型,缺什么配置';
20
- static flags = {
21
- ...BaseCommand.baseFlags,
22
- 'no-reachability': Flags.boolean({
23
- description: '跳过连通性探测(更快,但 reachability 全部为 unknown)',
24
- default: false,
25
- }),
26
- 'reachability-concurrency': Flags.integer({
27
- description: '并发探测 provider 数(默认 4)',
28
- default: 4,
29
- }),
30
- };
31
- async run() {
32
- const { flags } = await this.parse(ConfigAiProviderCapabilities);
33
- const { api } = await commandApi(flags);
34
- const [providersPayload, config] = await Promise.all([
35
- api.listAiProviders(),
36
- api.config(),
37
- ]);
38
- const providerRows = (providersPayload.items ?? []);
39
- const reachability = {};
40
- if (!flags['no-reachability']) {
41
- const enabled = providerRows.filter((p) => p.enabled);
42
- const concurrency = Math.max(1, Math.min(flags['reachability-concurrency'], enabled.length || 1));
43
- const results = await probeConcurrently(enabled, concurrency, api.testAiProvider.bind(api));
44
- for (const [id, result] of results)
45
- reachability[id] = result;
46
- }
47
- const report = buildCapabilitiesReport({
48
- baseUrl: flags['base-url'] ?? '',
49
- providers: providerRows.map((p) => ({
50
- id: p.id,
51
- name: p.name,
52
- type: p.type,
53
- enabled: p.enabled,
54
- baseUrl: p.baseUrl,
55
- apiKeyMask: p.apiKeyMask,
56
- hasApiKey: p.hasApiKey,
57
- protocolMode: p.protocolMode,
58
- lastTestResult: p.lastTestResult,
59
- lastResponseMs: p.lastResponseMs,
60
- upstreamModels: p.upstreamModels,
61
- upstreamModelsSyncedAt: p.upstreamModelsSyncedAt,
62
- })),
63
- catalogModels: extractCatalogModels(config),
64
- defaultModels: extractDefaultModels(config),
65
- capabilityDefaults: extractCapabilityDefaults(config),
66
- reachability,
67
- });
68
- this.print(report);
69
- }
70
- }
71
- /**
72
- * 探测结果判定(2026-10-09 · ERR-20261009-004 · 报告 P0-6)。
73
- *
74
- * 服务端对 **RunningHub 协议**的 provider 返回 `{ success: false, reason:
75
- * 'comfyui-runninghub-protocol', hint: 'RunningHub 协议无法做连通性测试…',
76
- * steps: [{ status: 'skip', httpStatus: 200 }] }` —— 这是「**不可探测**」,不是
77
- * 「探测失败」。旧实现只看 `success === true`,把它一律压成 `ok: false`,于是
78
- * reachability 报 `failed` 而 detail 是 `skip/200`,读起来自相矛盾
79
- * (端到端测试报告记录的就是这个现象)。
80
- *
81
- * 代价不是「不好看」而是**误导决策**:agent/运维看到 failed 就判定 provider 不可用,
82
- * 于是去补环境变量配置、跳过该模型 —— 而真实故障在别处(凭据通道走错,见同 ERR 的
83
- * video.ts / adapter.ts 修复)。
84
- *
85
- * 修法:`skip` 与该 reason **不算失败**,映射为 unknown(与 `--no-reachability` 时同义),
86
- * 并把服务端给的 hint 带进 detail,让「为什么不可探测」在报告里直接可读。
87
- */
88
- function classifyProbe(result) {
89
- const steps = result.steps ?? [];
90
- const skipped = steps.length > 0 && steps.every((step) => step.status === 'skip');
91
- const stepDetail = steps.map((step) => `${step.status ?? 'unknown'}/${step.httpStatus ?? '?'}`).join(', ');
92
- if (skipped || result.reason === 'comfyui-runninghub-protocol') {
93
- return { outcome: 'unknown', detail: [stepDetail, result.hint].filter(Boolean).join(' · ') };
94
- }
95
- return { outcome: result.success === true ? 'ok' : 'failed', detail: stepDetail };
96
- }
97
- /** 测试出口:与 classifyProbe 同函数,仅供单测直接断言三态映射。 */
98
- export const classifyProbeForTest = classifyProbe;
99
- async function probeConcurrently(providers, concurrency, probe) {
100
- const out = [];
101
- let cursor = 0;
102
- const workers = Array.from({ length: Math.min(concurrency, Math.max(providers.length, 1)) }, async () => {
103
- while (cursor < providers.length) {
104
- const index = cursor++;
105
- const provider = providers[index];
106
- try {
107
- const result = await probe(provider.id);
108
- const { outcome, detail } = classifyProbe(result);
109
- // resolveReachability 只读 sample.ok,故 unknown 也用 ok:true 承载,
110
- // 并在 detail 加 unknown 前缀让下游(CLI 输出/人读报告)能直接分辨三态。
111
- out.push([provider.id, {
112
- ok: outcome !== 'failed',
113
- detail: outcome === 'unknown' ? `unknown · ${detail}` : detail,
114
- durationMs: result.durationMs,
115
- }]);
116
- }
117
- catch (error) {
118
- out.push([provider.id, { ok: false, detail: error instanceof Error ? error.message : String(error) }]);
119
- }
120
- }
121
- });
122
- await Promise.all(workers);
123
- return out;
124
- }
@@ -1,22 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- /**
3
- * vvicat config ai-provider get <providerId>
4
- *
5
- * 查看单个 provider 的 baseUrl / enabled / protocol / apiKey 状态。
6
- * 服务端 serializeExtendedProvider 已脱敏(apiKeyMask='••••••••'),CLI 不再多处理。
7
- */
8
- export default class ConfigAiProviderGet extends BaseCommand {
9
- static description: string;
10
- static args: {
11
- providerId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
12
- };
13
- static flags: {
14
- 'base-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
- locale: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
- profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
- episode: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
- output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
- };
21
- run(): Promise<void>;
22
- }
@@ -1,21 +0,0 @@
1
- import { Args } from '@oclif/core';
2
- import { BaseCommand } from '../../../base-command.js';
3
- import { commandApi } from '../../../command-helpers.js';
4
- /**
5
- * vvicat config ai-provider get <providerId>
6
- *
7
- * 查看单个 provider 的 baseUrl / enabled / protocol / apiKey 状态。
8
- * 服务端 serializeExtendedProvider 已脱敏(apiKeyMask='••••••••'),CLI 不再多处理。
9
- */
10
- export default class ConfigAiProviderGet extends BaseCommand {
11
- static description = '查看单个 AI provider 详情';
12
- static args = {
13
- providerId: Args.string({ required: true, description: 'provider ID(如 comfyui / runninghub)' }),
14
- };
15
- static flags = BaseCommand.baseFlags;
16
- async run() {
17
- const { args, flags } = await this.parse(ConfigAiProviderGet);
18
- const { api } = await commandApi(flags);
19
- this.print(await api.getAiProvider(args.providerId));
20
- }
21
- }
@@ -1,21 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- /**
3
- * vvicat config ai-provider list
4
- *
5
- * 列出仓库中所有 AI provider(comfly / comfyui / runninghub / openai / ...),
6
- * 含 enabled/protocol/baseUrl/apiKey 状态(apiKey 脱敏)。
7
- *
8
- * 服务端要求 admin 鉴权。
9
- */
10
- export default class ConfigAiProviderList extends BaseCommand {
11
- static description: string;
12
- static flags: {
13
- 'base-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- locale: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
- profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
- episode: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
- output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
- };
20
- run(): Promise<void>;
21
- }
@@ -1,19 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- import { commandApi } from '../../../command-helpers.js';
3
- /**
4
- * vvicat config ai-provider list
5
- *
6
- * 列出仓库中所有 AI provider(comfly / comfyui / runninghub / openai / ...),
7
- * 含 enabled/protocol/baseUrl/apiKey 状态(apiKey 脱敏)。
8
- *
9
- * 服务端要求 admin 鉴权。
10
- */
11
- export default class ConfigAiProviderList extends BaseCommand {
12
- static description = '列出仓库中所有 AI provider(apiKey 脱敏)';
13
- static flags = BaseCommand.baseFlags;
14
- async run() {
15
- const { flags } = await this.parse(ConfigAiProviderList);
16
- const { api } = await commandApi(flags);
17
- this.print(await api.listAiProviders());
18
- }
19
- }
@@ -1,22 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- /**
3
- * vvicat config ai-provider models <providerId>
4
- *
5
- * 拉取 provider 远端真实模型清单(GET baseUrl/models)。
6
- * 服务端会把结果缓存到 ai_providers.upstreamModels,可重复调用观察同步状态。
7
- */
8
- export default class ConfigAiProviderModels extends BaseCommand {
9
- static description: string;
10
- static args: {
11
- providerId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
12
- };
13
- static flags: {
14
- 'base-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
- locale: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
- profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
- episode: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
- output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
- };
21
- run(): Promise<void>;
22
- }
@@ -1,21 +0,0 @@
1
- import { Args } from '@oclif/core';
2
- import { BaseCommand } from '../../../base-command.js';
3
- import { commandApi } from '../../../command-helpers.js';
4
- /**
5
- * vvicat config ai-provider models <providerId>
6
- *
7
- * 拉取 provider 远端真实模型清单(GET baseUrl/models)。
8
- * 服务端会把结果缓存到 ai_providers.upstreamModels,可重复调用观察同步状态。
9
- */
10
- export default class ConfigAiProviderModels extends BaseCommand {
11
- static description = '拉取 provider 远端真实模型清单(GET /models)';
12
- static args = {
13
- providerId: Args.string({ required: true, description: 'provider ID' }),
14
- };
15
- static flags = BaseCommand.baseFlags;
16
- async run() {
17
- const { args, flags } = await this.parse(ConfigAiProviderModels);
18
- const { api } = await commandApi(flags);
19
- this.print(await api.fetchAiProviderModels(args.providerId));
20
- }
21
- }
@@ -1,41 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- /**
3
- * vvicat config ai-provider set <providerId> [...flags]
4
- *
5
- * 写入 provider 配置。两类使用方式:
6
- *
7
- * 1. 命令行 flag(最常见):
8
- * vvicat config ai-provider set comfyui \
9
- * --base-url http://127.0.0.1:8188 \
10
- * --enabled true \
11
- * --protocol comfyui-official
12
- *
13
- * 2. JSON 文件(复杂场景,如 openai-compat 协议全套字段):
14
- * vvicat config ai-provider set openai --file openai-config.json
15
- * cat openai-config.json | vvicat config ai-provider set openai --file -
16
- *
17
- * `--file` 模式时:JSON 内容会作为完整 body 提交,要求含 `type` + `name`;CLI 不再叠加 flag。
18
- */
19
- export default class ConfigAiProviderSet extends BaseCommand {
20
- static description: string;
21
- static args: {
22
- providerId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
23
- };
24
- static flags: {
25
- 'base-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
- 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
- 'api-mode': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
- name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
- protocol: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
- enabled: import("@oclif/core/interfaces").BooleanFlag<boolean>;
31
- 'sort-order': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
- file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
- create: import("@oclif/core/interfaces").BooleanFlag<boolean>;
34
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
35
- locale: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
36
- profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
37
- episode: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
38
- output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
39
- };
40
- run(): Promise<void>;
41
- }
@@ -1,65 +0,0 @@
1
- import { Args, Flags } from '@oclif/core';
2
- import { BaseCommand } from '../../../base-command.js';
3
- import { commandApi, readJsonInput } from '../../../command-helpers.js';
4
- import { composeBodyFromFlags } from '../../../domain/ai-provider-command-helpers.js';
5
- /**
6
- * vvicat config ai-provider set <providerId> [...flags]
7
- *
8
- * 写入 provider 配置。两类使用方式:
9
- *
10
- * 1. 命令行 flag(最常见):
11
- * vvicat config ai-provider set comfyui \
12
- * --base-url http://127.0.0.1:8188 \
13
- * --enabled true \
14
- * --protocol comfyui-official
15
- *
16
- * 2. JSON 文件(复杂场景,如 openai-compat 协议全套字段):
17
- * vvicat config ai-provider set openai --file openai-config.json
18
- * cat openai-config.json | vvicat config ai-provider set openai --file -
19
- *
20
- * `--file` 模式时:JSON 内容会作为完整 body 提交,要求含 `type` + `name`;CLI 不再叠加 flag。
21
- */
22
- export default class ConfigAiProviderSet extends BaseCommand {
23
- static description = '配置 AI provider 的 baseUrl / apiKey / 协议 / enabled 等字段';
24
- static args = {
25
- providerId: Args.string({ required: true, description: 'provider ID' }),
26
- };
27
- static flags = {
28
- ...BaseCommand.baseFlags,
29
- 'base-url': Flags.string({ description: 'provider 服务地址(如 http://127.0.0.1:8188)' }),
30
- 'api-key': Flags.string({ description: 'provider API key(仅写入;不会回显)' }),
31
- 'api-mode': Flags.string({ description: 'apiMode(gateway 协议族字段,如 openai / comfyui-official)' }),
32
- name: Flags.string({ description: 'provider 展示名(默认沿用 providerId)' }),
33
- protocol: Flags.string({ description: 'protocolMode(openai / comfyui-official / runninghub)' }),
34
- enabled: Flags.boolean({ description: 'true 启用;false 禁用', allowNo: true }),
35
- 'sort-order': Flags.integer({ description: '排序权重(数字越小越靠前)' }),
36
- file: Flags.string({ description: '完整 JSON body;省略时从 stdin 读取' }),
37
- create: Flags.boolean({ description: '强制走 POST 创建(默认 PATCH 404 时自动回退到 create)', default: false }),
38
- };
39
- async run() {
40
- const { args, flags } = await this.parse(ConfigAiProviderSet);
41
- const { api } = await commandApi(flags);
42
- const body = flags.file !== undefined
43
- ? await readJsonInput(flags.file === '-' ? undefined : flags.file)
44
- : composeBodyFromFlags(args.providerId, flags);
45
- if (typeof body.type !== 'string' || !body.type.trim()) {
46
- this.error('set 请求 body 必须包含 type 字段(provider 类型,如 comfyui / openai)');
47
- }
48
- if (flags.create) {
49
- this.print(await api.createAiProvider(body));
50
- return;
51
- }
52
- try {
53
- this.print(await api.updateAiProvider(args.providerId, body));
54
- }
55
- catch (error) {
56
- // PATCH 404 → 不存在,自动回退到 create(更友好的 UX)
57
- const status = error.status;
58
- if (status === 404) {
59
- this.print(await api.createAiProvider(body));
60
- return;
61
- }
62
- throw error;
63
- }
64
- }
65
- }
@@ -1,25 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- /**
3
- * vvicat config ai-provider test <providerId>
4
- *
5
- * 触发服务端连通性探测:
6
- * - comfyui: GET baseUrl/system_stats
7
- * - 其他 OpenAI 兼容: GET baseUrl/models 带 Bearer token
8
- *
9
- * 返回 { success, steps, durationMs }。CLI 原样转发。
10
- */
11
- export default class ConfigAiProviderTest extends BaseCommand {
12
- static description: string;
13
- static args: {
14
- providerId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
15
- };
16
- static flags: {
17
- 'base-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
- locale: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
20
- profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
- episode: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
- output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
- };
24
- run(): Promise<void>;
25
- }
@@ -1,24 +0,0 @@
1
- import { Args } from '@oclif/core';
2
- import { BaseCommand } from '../../../base-command.js';
3
- import { commandApi } from '../../../command-helpers.js';
4
- /**
5
- * vvicat config ai-provider test <providerId>
6
- *
7
- * 触发服务端连通性探测:
8
- * - comfyui: GET baseUrl/system_stats
9
- * - 其他 OpenAI 兼容: GET baseUrl/models 带 Bearer token
10
- *
11
- * 返回 { success, steps, durationMs }。CLI 原样转发。
12
- */
13
- export default class ConfigAiProviderTest extends BaseCommand {
14
- static description = '触发服务端连通性探测(GET /models 或 /system_stats)';
15
- static args = {
16
- providerId: Args.string({ required: true, description: 'provider ID' }),
17
- };
18
- static flags = BaseCommand.baseFlags;
19
- async run() {
20
- const { args, flags } = await this.parse(ConfigAiProviderTest);
21
- const { api } = await commandApi(flags);
22
- this.print(await api.testAiProvider(args.providerId));
23
- }
24
- }
@@ -1,15 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- export default class ProjectProviderGet extends BaseCommand {
3
- static args: {
4
- projectId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
- };
6
- static flags: {
7
- 'base-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
- locale: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
- profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
- episode: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
- output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
- };
14
- run(): Promise<void>;
15
- }
@@ -1,12 +0,0 @@
1
- import { Args } from '@oclif/core';
2
- import { BaseCommand } from '../../../base-command.js';
3
- import { commandApi } from '../../../command-helpers.js';
4
- export default class ProjectProviderGet extends BaseCommand {
5
- static args = { projectId: Args.string({ required: true }) };
6
- static flags = BaseCommand.baseFlags;
7
- async run() {
8
- const { args, flags } = await this.parse(ProjectProviderGet);
9
- const { api } = await commandApi(flags);
10
- this.print(await api.projectMaterialProvider(args.projectId));
11
- }
12
- }
@@ -1,16 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- export default class ProjectProviderSet extends BaseCommand {
3
- static args: {
4
- projectId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
- };
6
- static flags: {
7
- file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
- 'base-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
- locale: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
- profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
- episode: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
- output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
- };
15
- run(): Promise<void>;
16
- }
@@ -1,18 +0,0 @@
1
- import { Args, Flags } from '@oclif/core';
2
- import { BaseCommand } from '../../../base-command.js';
3
- import { commandApi, readJsonInput } from '../../../command-helpers.js';
4
- export default class ProjectProviderSet extends BaseCommand {
5
- static args = { projectId: Args.string({ required: true }) };
6
- static flags = { ...BaseCommand.baseFlags, file: Flags.string({ description: '配置 JSON;省略时读取 stdin' }) };
7
- async run() {
8
- const { args, flags } = await this.parse(ProjectProviderSet);
9
- const input = await readJsonInput(flags.file);
10
- if (typeof input.enabled !== 'boolean')
11
- this.error('配置必须包含 boolean 类型的 enabled');
12
- const { api } = await commandApi(flags);
13
- this.print(await api.updateProjectMaterialProvider(args.projectId, {
14
- enabled: input.enabled,
15
- ...(typeof input.apiKey === 'string' ? { apiKey: input.apiKey } : {}),
16
- }));
17
- }
18
- }
@@ -1,15 +0,0 @@
1
- import { BaseCommand } from '../../../base-command.js';
2
- export default class ProjectProviderTest extends BaseCommand {
3
- static args: {
4
- projectId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
- };
6
- static flags: {
7
- 'base-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
- locale: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
- profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
- episode: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
- output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
- };
14
- run(): Promise<void>;
15
- }
@@ -1,12 +0,0 @@
1
- import { Args } from '@oclif/core';
2
- import { BaseCommand } from '../../../base-command.js';
3
- import { commandApi } from '../../../command-helpers.js';
4
- export default class ProjectProviderTest extends BaseCommand {
5
- static args = { projectId: Args.string({ required: true }) };
6
- static flags = BaseCommand.baseFlags;
7
- async run() {
8
- const { args, flags } = await this.parse(ProjectProviderTest);
9
- const { api } = await commandApi(flags);
10
- this.print(await api.testProjectMaterialProvider(args.projectId));
11
- }
12
- }