@henjicc/ai-sdk 0.2.8

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 (1006) hide show
  1. package/CHANGELOG.md +143 -0
  2. package/README.md +472 -0
  3. package/dist/capabilities/builtin-descriptors.d.ts +5 -0
  4. package/dist/capabilities/builtin-descriptors.js +32 -0
  5. package/dist/capabilities/client.d.ts +21 -0
  6. package/dist/capabilities/client.js +427 -0
  7. package/dist/capabilities/index.d.ts +5 -0
  8. package/dist/capabilities/index.js +5 -0
  9. package/dist/capabilities/media.d.ts +23 -0
  10. package/dist/capabilities/media.js +18 -0
  11. package/dist/capabilities/realtime.d.ts +2 -0
  12. package/dist/capabilities/realtime.js +1 -0
  13. package/dist/capabilities/speech-recognition/bailian/index.d.ts +3 -0
  14. package/dist/capabilities/speech-recognition/bailian/index.js +3 -0
  15. package/dist/capabilities/speech-recognition/bailian/module.d.ts +5 -0
  16. package/dist/capabilities/speech-recognition/bailian/module.js +232 -0
  17. package/dist/capabilities/speech-recognition/bailian/parse.d.ts +18 -0
  18. package/dist/capabilities/speech-recognition/bailian/parse.js +177 -0
  19. package/dist/capabilities/speech-recognition/bailian/presets.d.ts +17 -0
  20. package/dist/capabilities/speech-recognition/bailian/presets.js +53 -0
  21. package/dist/capabilities/speech-recognition/bailian/realtime/index.d.ts +3 -0
  22. package/dist/capabilities/speech-recognition/bailian/realtime/index.js +3 -0
  23. package/dist/capabilities/speech-recognition/bailian/realtime/module.d.ts +5 -0
  24. package/dist/capabilities/speech-recognition/bailian/realtime/module.js +303 -0
  25. package/dist/capabilities/speech-recognition/bailian/realtime/presets.d.ts +13 -0
  26. package/dist/capabilities/speech-recognition/bailian/realtime/presets.js +32 -0
  27. package/dist/capabilities/speech-recognition/bailian/realtime/protocol.d.ts +38 -0
  28. package/dist/capabilities/speech-recognition/bailian/realtime/protocol.js +192 -0
  29. package/dist/capabilities/speech-recognition/bailian/realtime/types.d.ts +19 -0
  30. package/dist/capabilities/speech-recognition/bailian/realtime/types.js +1 -0
  31. package/dist/capabilities/speech-recognition/bailian/types.d.ts +21 -0
  32. package/dist/capabilities/speech-recognition/bailian/types.js +1 -0
  33. package/dist/capabilities/speech-recognition/bailian/upload.d.ts +9 -0
  34. package/dist/capabilities/speech-recognition/bailian/upload.js +93 -0
  35. package/dist/capabilities/speech-recognition/groq/index.d.ts +4 -0
  36. package/dist/capabilities/speech-recognition/groq/index.js +4 -0
  37. package/dist/capabilities/speech-recognition/groq/module.d.ts +5 -0
  38. package/dist/capabilities/speech-recognition/groq/module.js +226 -0
  39. package/dist/capabilities/speech-recognition/groq/parse.d.ts +3 -0
  40. package/dist/capabilities/speech-recognition/groq/parse.js +109 -0
  41. package/dist/capabilities/speech-recognition/groq/presets.d.ts +9 -0
  42. package/dist/capabilities/speech-recognition/groq/presets.js +23 -0
  43. package/dist/capabilities/speech-recognition/groq/types.d.ts +14 -0
  44. package/dist/capabilities/speech-recognition/groq/types.js +1 -0
  45. package/dist/capabilities/speech-recognition/index.d.ts +72 -0
  46. package/dist/capabilities/speech-recognition/index.js +25 -0
  47. package/dist/capabilities/speech-recognition/siliconflow/index.d.ts +3 -0
  48. package/dist/capabilities/speech-recognition/siliconflow/index.js +3 -0
  49. package/dist/capabilities/speech-recognition/siliconflow/module.d.ts +5 -0
  50. package/dist/capabilities/speech-recognition/siliconflow/module.js +183 -0
  51. package/dist/capabilities/speech-recognition/siliconflow/presets.d.ts +9 -0
  52. package/dist/capabilities/speech-recognition/siliconflow/presets.js +23 -0
  53. package/dist/capabilities/speech-recognition/siliconflow/types.d.ts +6 -0
  54. package/dist/capabilities/speech-recognition/siliconflow/types.js +1 -0
  55. package/dist/capabilities/speech-recognition/volcengine/index.d.ts +3 -0
  56. package/dist/capabilities/speech-recognition/volcengine/index.js +3 -0
  57. package/dist/capabilities/speech-recognition/volcengine/module.d.ts +5 -0
  58. package/dist/capabilities/speech-recognition/volcengine/module.js +260 -0
  59. package/dist/capabilities/speech-recognition/volcengine/parse.d.ts +5 -0
  60. package/dist/capabilities/speech-recognition/volcengine/parse.js +73 -0
  61. package/dist/capabilities/speech-recognition/volcengine/presets.d.ts +8 -0
  62. package/dist/capabilities/speech-recognition/volcengine/presets.js +21 -0
  63. package/dist/capabilities/speech-recognition/volcengine/realtime/index.d.ts +3 -0
  64. package/dist/capabilities/speech-recognition/volcengine/realtime/index.js +3 -0
  65. package/dist/capabilities/speech-recognition/volcengine/realtime/module.d.ts +5 -0
  66. package/dist/capabilities/speech-recognition/volcengine/realtime/module.js +450 -0
  67. package/dist/capabilities/speech-recognition/volcengine/realtime/presets.d.ts +8 -0
  68. package/dist/capabilities/speech-recognition/volcengine/realtime/presets.js +23 -0
  69. package/dist/capabilities/speech-recognition/volcengine/realtime/protocol.d.ts +21 -0
  70. package/dist/capabilities/speech-recognition/volcengine/realtime/protocol.js +223 -0
  71. package/dist/capabilities/speech-recognition/volcengine/realtime/types.d.ts +13 -0
  72. package/dist/capabilities/speech-recognition/volcengine/realtime/types.js +1 -0
  73. package/dist/capabilities/speech-recognition/volcengine/request-id.d.ts +1 -0
  74. package/dist/capabilities/speech-recognition/volcengine/request-id.js +27 -0
  75. package/dist/capabilities/speech-recognition/volcengine/types.d.ts +15 -0
  76. package/dist/capabilities/speech-recognition/volcengine/types.js +1 -0
  77. package/dist/capabilities/translation/bailian/index.d.ts +4 -0
  78. package/dist/capabilities/translation/bailian/index.js +4 -0
  79. package/dist/capabilities/translation/bailian/languages.d.ts +6 -0
  80. package/dist/capabilities/translation/bailian/languages.js +47 -0
  81. package/dist/capabilities/translation/bailian/module.d.ts +6 -0
  82. package/dist/capabilities/translation/bailian/module.js +310 -0
  83. package/dist/capabilities/translation/bailian/sse.d.ts +19 -0
  84. package/dist/capabilities/translation/bailian/sse.js +145 -0
  85. package/dist/capabilities/translation/bailian/types.d.ts +28 -0
  86. package/dist/capabilities/translation/bailian/types.js +13 -0
  87. package/dist/capabilities/translation/index.d.ts +62 -0
  88. package/dist/capabilities/translation/index.js +18 -0
  89. package/dist/capabilities/types.d.ts +81 -0
  90. package/dist/capabilities/types.js +1 -0
  91. package/dist/capabilities/validation.d.ts +8 -0
  92. package/dist/capabilities/validation.js +74 -0
  93. package/dist/catalog/apimart/gemini-omni-flash.model.d.ts +3 -0
  94. package/dist/catalog/apimart/gemini-omni-flash.model.js +185 -0
  95. package/dist/catalog/apimart/gpt-image-2.model.d.ts +3 -0
  96. package/dist/catalog/apimart/gpt-image-2.model.js +174 -0
  97. package/dist/catalog/apimart/grok-imagine-2.0.model.d.ts +3 -0
  98. package/dist/catalog/apimart/grok-imagine-2.0.model.js +145 -0
  99. package/dist/catalog/apimart/kling-3.0-omni.model.d.ts +3 -0
  100. package/dist/catalog/apimart/kling-3.0-omni.model.js +120 -0
  101. package/dist/catalog/apimart/kling-3.0-turbo.model.d.ts +3 -0
  102. package/dist/catalog/apimart/kling-3.0-turbo.model.js +54 -0
  103. package/dist/catalog/apimart/kling-3.0.model.d.ts +3 -0
  104. package/dist/catalog/apimart/kling-3.0.model.js +65 -0
  105. package/dist/catalog/apimart/midjourney-video.model.d.ts +3 -0
  106. package/dist/catalog/apimart/midjourney-video.model.js +113 -0
  107. package/dist/catalog/apimart/midjourney.model.d.ts +3 -0
  108. package/dist/catalog/apimart/midjourney.model.js +307 -0
  109. package/dist/catalog/apimart/minimax-h3.model.d.ts +3 -0
  110. package/dist/catalog/apimart/minimax-h3.model.js +107 -0
  111. package/dist/catalog/apimart/nano-banana-2-lite.model.d.ts +3 -0
  112. package/dist/catalog/apimart/nano-banana-2-lite.model.js +78 -0
  113. package/dist/catalog/apimart/nano-banana-2.model.d.ts +3 -0
  114. package/dist/catalog/apimart/nano-banana-2.model.js +92 -0
  115. package/dist/catalog/apimart/nano-banana-pro.model.d.ts +3 -0
  116. package/dist/catalog/apimart/nano-banana-pro.model.js +78 -0
  117. package/dist/catalog/apimart/qwen-image-3.0.model.d.ts +3 -0
  118. package/dist/catalog/apimart/qwen-image-3.0.model.js +92 -0
  119. package/dist/catalog/apimart/seedance-2.0-fast.model.d.ts +2 -0
  120. package/dist/catalog/apimart/seedance-2.0-fast.model.js +108 -0
  121. package/dist/catalog/apimart/seedance-2.0-mini.model.d.ts +2 -0
  122. package/dist/catalog/apimart/seedance-2.0-mini.model.js +108 -0
  123. package/dist/catalog/apimart/seedance-2.0.model.d.ts +2 -0
  124. package/dist/catalog/apimart/seedance-2.0.model.js +114 -0
  125. package/dist/catalog/apimart/seedance-2.5.model.d.ts +2 -0
  126. package/dist/catalog/apimart/seedance-2.5.model.js +137 -0
  127. package/dist/catalog/apimart/seedream-5.0-lite.model.d.ts +2 -0
  128. package/dist/catalog/apimart/seedream-5.0-lite.model.js +78 -0
  129. package/dist/catalog/apimart/seedream-5.0-pro.model.d.ts +2 -0
  130. package/dist/catalog/apimart/seedream-5.0-pro.model.js +145 -0
  131. package/dist/catalog/apimart/z-image-turbo.model.d.ts +2 -0
  132. package/dist/catalog/apimart/z-image-turbo.model.js +50 -0
  133. package/dist/catalog/bailian/qwen-image-3.0.model.d.ts +3 -0
  134. package/dist/catalog/bailian/qwen-image-3.0.model.js +90 -0
  135. package/dist/catalog/bailian/z-image-turbo.model.d.ts +3 -0
  136. package/dist/catalog/bailian/z-image-turbo.model.js +56 -0
  137. package/dist/catalog/conditions/evaluate.d.ts +15 -0
  138. package/dist/catalog/conditions/evaluate.js +98 -0
  139. package/dist/catalog/conditions/index.d.ts +3 -0
  140. package/dist/catalog/conditions/index.js +3 -0
  141. package/dist/catalog/conditions/parser.d.ts +20 -0
  142. package/dist/catalog/conditions/parser.js +107 -0
  143. package/dist/catalog/conditions/tokens.d.ts +11 -0
  144. package/dist/catalog/conditions/tokens.js +88 -0
  145. package/dist/catalog/consumer-contract.d.ts +45 -0
  146. package/dist/catalog/consumer-contract.js +123 -0
  147. package/dist/catalog/defineModel.d.ts +17 -0
  148. package/dist/catalog/defineModel.js +25 -0
  149. package/dist/catalog/fal/bria-creative-upscale.model.d.ts +2 -0
  150. package/dist/catalog/fal/bria-creative-upscale.model.js +32 -0
  151. package/dist/catalog/fal/gemini-omni-flash.model.d.ts +2 -0
  152. package/dist/catalog/fal/gemini-omni-flash.model.js +76 -0
  153. package/dist/catalog/fal/gpt-image-2.model.d.ts +2 -0
  154. package/dist/catalog/fal/gpt-image-2.model.js +141 -0
  155. package/dist/catalog/fal/grok-imagine-2.0.model.d.ts +2 -0
  156. package/dist/catalog/fal/grok-imagine-2.0.model.js +86 -0
  157. package/dist/catalog/fal/hailuo-02.model.d.ts +2 -0
  158. package/dist/catalog/fal/hailuo-02.model.js +152 -0
  159. package/dist/catalog/fal/hailuo-2.3.model.d.ts +2 -0
  160. package/dist/catalog/fal/hailuo-2.3.model.js +109 -0
  161. package/dist/catalog/fal/ic-light-v2.model.d.ts +2 -0
  162. package/dist/catalog/fal/ic-light-v2.model.js +83 -0
  163. package/dist/catalog/fal/ideogram-upscale.model.d.ts +2 -0
  164. package/dist/catalog/fal/ideogram-upscale.model.js +50 -0
  165. package/dist/catalog/fal/imageSizing.d.ts +3 -0
  166. package/dist/catalog/fal/imageSizing.js +12 -0
  167. package/dist/catalog/fal/imageUpscale.d.ts +4 -0
  168. package/dist/catalog/fal/imageUpscale.js +23 -0
  169. package/dist/catalog/fal/kling-3.0-omni.model.d.ts +2 -0
  170. package/dist/catalog/fal/kling-3.0-omni.model.js +99 -0
  171. package/dist/catalog/fal/kling-3.0-turbo.model.d.ts +2 -0
  172. package/dist/catalog/fal/kling-3.0-turbo.model.js +67 -0
  173. package/dist/catalog/fal/kling-3.0.model.d.ts +2 -0
  174. package/dist/catalog/fal/kling-3.0.model.js +80 -0
  175. package/dist/catalog/fal/kling-image-o1.model.d.ts +2 -0
  176. package/dist/catalog/fal/kling-image-o1.model.js +93 -0
  177. package/dist/catalog/fal/kling-video-o1.model.d.ts +2 -0
  178. package/dist/catalog/fal/kling-video-o1.model.js +167 -0
  179. package/dist/catalog/fal/kling-video-v2.6-pro.model.d.ts +2 -0
  180. package/dist/catalog/fal/kling-video-v2.6-pro.model.js +231 -0
  181. package/dist/catalog/fal/ltx-2.model.d.ts +2 -0
  182. package/dist/catalog/fal/ltx-2.model.js +221 -0
  183. package/dist/catalog/fal/minimax-h3.model.d.ts +2 -0
  184. package/dist/catalog/fal/minimax-h3.model.js +154 -0
  185. package/dist/catalog/fal/nano-banana-2.model.d.ts +2 -0
  186. package/dist/catalog/fal/nano-banana-2.model.js +126 -0
  187. package/dist/catalog/fal/nano-banana-pro.model.d.ts +2 -0
  188. package/dist/catalog/fal/nano-banana-pro.model.js +82 -0
  189. package/dist/catalog/fal/nano-banana.model.d.ts +2 -0
  190. package/dist/catalog/fal/nano-banana.model.js +86 -0
  191. package/dist/catalog/fal/pixverse-v5.5.model.d.ts +2 -0
  192. package/dist/catalog/fal/pixverse-v5.5.model.js +176 -0
  193. package/dist/catalog/fal/qwen-image-3.0.model.d.ts +2 -0
  194. package/dist/catalog/fal/qwen-image-3.0.model.js +90 -0
  195. package/dist/catalog/fal/seedance-2.0-fast.model.d.ts +2 -0
  196. package/dist/catalog/fal/seedance-2.0-fast.model.js +130 -0
  197. package/dist/catalog/fal/seedance-2.0-mini.model.d.ts +2 -0
  198. package/dist/catalog/fal/seedance-2.0-mini.model.js +124 -0
  199. package/dist/catalog/fal/seedance-2.0.model.d.ts +2 -0
  200. package/dist/catalog/fal/seedance-2.0.model.js +133 -0
  201. package/dist/catalog/fal/seedance-2.5.model.d.ts +2 -0
  202. package/dist/catalog/fal/seedance-2.5.model.js +133 -0
  203. package/dist/catalog/fal/seedance.model.d.ts +2 -0
  204. package/dist/catalog/fal/seedance.model.js +173 -0
  205. package/dist/catalog/fal/seedream-5.0-lite.model.d.ts +2 -0
  206. package/dist/catalog/fal/seedream-5.0-lite.model.js +92 -0
  207. package/dist/catalog/fal/seedream-5.0-pro.model.d.ts +2 -0
  208. package/dist/catalog/fal/seedream-5.0-pro.model.js +89 -0
  209. package/dist/catalog/fal/seedream-v4.5.model.d.ts +2 -0
  210. package/dist/catalog/fal/seedream-v4.5.model.js +154 -0
  211. package/dist/catalog/fal/seedream-v4.model.d.ts +2 -0
  212. package/dist/catalog/fal/seedream-v4.model.js +152 -0
  213. package/dist/catalog/fal/seedvr2-image-upscale.model.d.ts +3 -0
  214. package/dist/catalog/fal/seedvr2-image-upscale.model.js +73 -0
  215. package/dist/catalog/fal/topaz-image-upscale.model.d.ts +7 -0
  216. package/dist/catalog/fal/topaz-image-upscale.model.js +200 -0
  217. package/dist/catalog/fal/topaz-transparent-upscale.model.d.ts +2 -0
  218. package/dist/catalog/fal/topaz-transparent-upscale.model.js +35 -0
  219. package/dist/catalog/fal/utils/index.d.ts +9 -0
  220. package/dist/catalog/fal/utils/index.js +19 -0
  221. package/dist/catalog/fal/veo-3.1.model.d.ts +2 -0
  222. package/dist/catalog/fal/veo-3.1.model.js +196 -0
  223. package/dist/catalog/fal/vidu-q2.model.d.ts +2 -0
  224. package/dist/catalog/fal/vidu-q2.model.js +214 -0
  225. package/dist/catalog/fal/wan-2.5-preview.model.d.ts +2 -0
  226. package/dist/catalog/fal/wan-2.5-preview.model.js +116 -0
  227. package/dist/catalog/fal/z-image-turbo.model.d.ts +2 -0
  228. package/dist/catalog/fal/z-image-turbo.model.js +125 -0
  229. package/dist/catalog/grsai/gpt-image-2.model.d.ts +3 -0
  230. package/dist/catalog/grsai/gpt-image-2.model.js +117 -0
  231. package/dist/catalog/grsai/nano-banana-2-lite.model.d.ts +12 -0
  232. package/dist/catalog/grsai/nano-banana-2-lite.model.js +75 -0
  233. package/dist/catalog/grsai/nano-banana-2.model.d.ts +3 -0
  234. package/dist/catalog/grsai/nano-banana-2.model.js +100 -0
  235. package/dist/catalog/grsai/nano-banana-pro.model.d.ts +3 -0
  236. package/dist/catalog/grsai/nano-banana-pro.model.js +106 -0
  237. package/dist/catalog/index.d.ts +13 -0
  238. package/dist/catalog/index.js +224 -0
  239. package/dist/catalog/kie/gemini-omni-video.model.d.ts +2 -0
  240. package/dist/catalog/kie/gemini-omni-video.model.js +197 -0
  241. package/dist/catalog/kie/gpt-image-2.model.d.ts +2 -0
  242. package/dist/catalog/kie/gpt-image-2.model.js +151 -0
  243. package/dist/catalog/kie/grok-imagine-2.0.model.d.ts +2 -0
  244. package/dist/catalog/kie/grok-imagine-2.0.model.js +70 -0
  245. package/dist/catalog/kie/grok-imagine-video.model.d.ts +2 -0
  246. package/dist/catalog/kie/grok-imagine-video.model.js +108 -0
  247. package/dist/catalog/kie/grok-imagine.model.d.ts +2 -0
  248. package/dist/catalog/kie/grok-imagine.model.js +105 -0
  249. package/dist/catalog/kie/hailuo-02.model.d.ts +2 -0
  250. package/dist/catalog/kie/hailuo-02.model.js +125 -0
  251. package/dist/catalog/kie/hailuo-2-3.model.d.ts +2 -0
  252. package/dist/catalog/kie/hailuo-2-3.model.js +124 -0
  253. package/dist/catalog/kie/kling-3.0-omni.model.d.ts +2 -0
  254. package/dist/catalog/kie/kling-3.0-omni.model.js +209 -0
  255. package/dist/catalog/kie/kling-3.0-turbo.model.d.ts +2 -0
  256. package/dist/catalog/kie/kling-3.0-turbo.model.js +90 -0
  257. package/dist/catalog/kie/kling-3.0.model.d.ts +2 -0
  258. package/dist/catalog/kie/kling-3.0.model.js +122 -0
  259. package/dist/catalog/kie/kling-v2-6.model.d.ts +2 -0
  260. package/dist/catalog/kie/kling-v2-6.model.js +203 -0
  261. package/dist/catalog/kie/mediaSources.d.ts +6 -0
  262. package/dist/catalog/kie/mediaSources.js +29 -0
  263. package/dist/catalog/kie/minimax-h3.model.d.ts +2 -0
  264. package/dist/catalog/kie/minimax-h3.model.js +153 -0
  265. package/dist/catalog/kie/nano-banana-2-lite.model.d.ts +2 -0
  266. package/dist/catalog/kie/nano-banana-2-lite.model.js +92 -0
  267. package/dist/catalog/kie/nano-banana-2.model.d.ts +2 -0
  268. package/dist/catalog/kie/nano-banana-2.model.js +120 -0
  269. package/dist/catalog/kie/nano-banana-pro.model.d.ts +2 -0
  270. package/dist/catalog/kie/nano-banana-pro.model.js +94 -0
  271. package/dist/catalog/kie/qwen-image-3.0.model.d.ts +2 -0
  272. package/dist/catalog/kie/qwen-image-3.0.model.js +122 -0
  273. package/dist/catalog/kie/seedance-1.5-pro.model.d.ts +2 -0
  274. package/dist/catalog/kie/seedance-1.5-pro.model.js +142 -0
  275. package/dist/catalog/kie/seedance-2.0-fast.model.d.ts +2 -0
  276. package/dist/catalog/kie/seedance-2.0-fast.model.js +196 -0
  277. package/dist/catalog/kie/seedance-2.0-mini.model.d.ts +2 -0
  278. package/dist/catalog/kie/seedance-2.0-mini.model.js +189 -0
  279. package/dist/catalog/kie/seedance-2.0.model.d.ts +2 -0
  280. package/dist/catalog/kie/seedance-2.0.model.js +200 -0
  281. package/dist/catalog/kie/seedance-2.5.model.d.ts +2 -0
  282. package/dist/catalog/kie/seedance-2.5.model.js +187 -0
  283. package/dist/catalog/kie/seedance-v1.model.d.ts +2 -0
  284. package/dist/catalog/kie/seedance-v1.model.js +229 -0
  285. package/dist/catalog/kie/seedream-4.0.model.d.ts +2 -0
  286. package/dist/catalog/kie/seedream-4.0.model.js +150 -0
  287. package/dist/catalog/kie/seedream-4.5.model.d.ts +2 -0
  288. package/dist/catalog/kie/seedream-4.5.model.js +116 -0
  289. package/dist/catalog/kie/seedream-5.0-lite.model.d.ts +2 -0
  290. package/dist/catalog/kie/seedream-5.0-lite.model.js +110 -0
  291. package/dist/catalog/kie/seedream-5.0-pro.model.d.ts +2 -0
  292. package/dist/catalog/kie/seedream-5.0-pro.model.js +179 -0
  293. package/dist/catalog/kie/z-image.model.d.ts +2 -0
  294. package/dist/catalog/kie/z-image.model.js +67 -0
  295. package/dist/catalog/model-index.d.ts +14 -0
  296. package/dist/catalog/model-index.js +32 -0
  297. package/dist/catalog/modelscope/customModelRegistry.d.ts +26 -0
  298. package/dist/catalog/modelscope/customModelRegistry.js +26 -0
  299. package/dist/catalog/modelscope/flux-1-krea-dev.model.d.ts +5 -0
  300. package/dist/catalog/modelscope/flux-1-krea-dev.model.js +84 -0
  301. package/dist/catalog/modelscope/majicmix-realistic.model.d.ts +5 -0
  302. package/dist/catalog/modelscope/majicmix-realistic.model.js +84 -0
  303. package/dist/catalog/modelscope/modelscope-custom.model.d.ts +5 -0
  304. package/dist/catalog/modelscope/modelscope-custom.model.js +111 -0
  305. package/dist/catalog/modelscope/qwen-image-edit-2509.model.d.ts +5 -0
  306. package/dist/catalog/modelscope/qwen-image-edit-2509.model.js +83 -0
  307. package/dist/catalog/modelscope/qwen-image.model.d.ts +5 -0
  308. package/dist/catalog/modelscope/qwen-image.model.js +84 -0
  309. package/dist/catalog/modelscope/sdxl-14-ckpt.model.d.ts +5 -0
  310. package/dist/catalog/modelscope/sdxl-14-ckpt.model.js +84 -0
  311. package/dist/catalog/modelscope/utils.d.ts +33 -0
  312. package/dist/catalog/modelscope/utils.js +174 -0
  313. package/dist/catalog/modelscope/z-image-turbo.model.d.ts +5 -0
  314. package/dist/catalog/modelscope/z-image-turbo.model.js +75 -0
  315. package/dist/catalog/ppio/kling-3.0.model.d.ts +2 -0
  316. package/dist/catalog/ppio/kling-3.0.model.js +288 -0
  317. package/dist/catalog/ppio/mediaSources.d.ts +6 -0
  318. package/dist/catalog/ppio/mediaSources.js +29 -0
  319. package/dist/catalog/ppio/minimax-hailuo-2.3.model.d.ts +7 -0
  320. package/dist/catalog/ppio/minimax-hailuo-2.3.model.js +114 -0
  321. package/dist/catalog/ppio/minimax-speech.model.d.ts +2 -0
  322. package/dist/catalog/ppio/minimax-speech.model.js +336 -0
  323. package/dist/catalog/ppio/wan-2.5-preview.model.d.ts +7 -0
  324. package/dist/catalog/ppio/wan-2.5-preview.model.js +198 -0
  325. package/dist/catalog/ppio/wan-2.6.model.d.ts +7 -0
  326. package/dist/catalog/ppio/wan-2.6.model.js +206 -0
  327. package/dist/catalog/ppio/wan-2.7.model.d.ts +2 -0
  328. package/dist/catalog/ppio/wan-2.7.model.js +373 -0
  329. package/dist/catalog/shared/mediaPresence.d.ts +24 -0
  330. package/dist/catalog/shared/mediaPresence.js +86 -0
  331. package/dist/catalog/shared/seedreamResolution.d.ts +35 -0
  332. package/dist/catalog/shared/seedreamResolution.js +206 -0
  333. package/dist/catalog/validate.d.ts +17 -0
  334. package/dist/catalog/validate.js +356 -0
  335. package/dist/catalog/volcengine/seedream-5.0-lite.model.d.ts +3 -0
  336. package/dist/catalog/volcengine/seedream-5.0-lite.model.js +83 -0
  337. package/dist/catalog/volcengine/seedream-5.0-pro.model.d.ts +3 -0
  338. package/dist/catalog/volcengine/seedream-5.0-pro.model.js +149 -0
  339. package/dist/client.d.ts +36 -0
  340. package/dist/client.js +38 -0
  341. package/dist/discovery/index.d.ts +77 -0
  342. package/dist/discovery/index.js +238 -0
  343. package/dist/generation/core.d.ts +96 -0
  344. package/dist/generation/core.js +318 -0
  345. package/dist/generation.d.ts +20 -0
  346. package/dist/generation.js +58 -0
  347. package/dist/index.d.ts +28 -0
  348. package/dist/index.js +40 -0
  349. package/dist/llm/bigmodel/index.d.ts +3 -0
  350. package/dist/llm/bigmodel/index.js +3 -0
  351. package/dist/llm/bigmodel/preset.d.ts +11 -0
  352. package/dist/llm/bigmodel/preset.js +58 -0
  353. package/dist/llm/bigmodel/profiles.d.ts +21 -0
  354. package/dist/llm/bigmodel/profiles.js +65 -0
  355. package/dist/llm/chat.d.ts +66 -0
  356. package/dist/llm/chat.js +144 -0
  357. package/dist/llm/chatTypes.d.ts +88 -0
  358. package/dist/llm/chatTypes.js +1 -0
  359. package/dist/llm/defaults.d.ts +29 -0
  360. package/dist/llm/defaults.js +55 -0
  361. package/dist/llm/discovery.d.ts +45 -0
  362. package/dist/llm/discovery.js +97 -0
  363. package/dist/llm/endpointProfiles.d.ts +41 -0
  364. package/dist/llm/endpointProfiles.js +75 -0
  365. package/dist/llm/groq/index.d.ts +25 -0
  366. package/dist/llm/groq/index.js +30 -0
  367. package/dist/llm/groq/module.d.ts +6 -0
  368. package/dist/llm/groq/module.js +51 -0
  369. package/dist/llm/groq/preset.d.ts +9 -0
  370. package/dist/llm/groq/preset.js +50 -0
  371. package/dist/llm/index.d.ts +25 -0
  372. package/dist/llm/index.js +30 -0
  373. package/dist/llm/message-metrics.d.ts +3 -0
  374. package/dist/llm/message-metrics.js +11 -0
  375. package/dist/llm/modelCatalog.d.ts +60 -0
  376. package/dist/llm/modelCatalog.js +64 -0
  377. package/dist/llm/modelCatalogEntries.d.ts +15 -0
  378. package/dist/llm/modelCatalogEntries.js +274 -0
  379. package/dist/llm/modelStep.d.ts +327 -0
  380. package/dist/llm/modelStep.js +200 -0
  381. package/dist/llm/modules/client.d.ts +2 -0
  382. package/dist/llm/modules/client.js +365 -0
  383. package/dist/llm/modules/index.d.ts +4 -0
  384. package/dist/llm/modules/index.js +4 -0
  385. package/dist/llm/modules/result-validation.d.ts +5 -0
  386. package/dist/llm/modules/result-validation.js +54 -0
  387. package/dist/llm/modules/types.d.ts +102 -0
  388. package/dist/llm/modules/types.js +1 -0
  389. package/dist/llm/modules/validation.d.ts +7 -0
  390. package/dist/llm/modules/validation.js +90 -0
  391. package/dist/llm/providerPresets.d.ts +45 -0
  392. package/dist/llm/providerPresets.js +208 -0
  393. package/dist/llm/providerProtocol.d.ts +29 -0
  394. package/dist/llm/providerProtocol.js +25 -0
  395. package/dist/llm/providerProtocolCore.d.ts +4 -0
  396. package/dist/llm/providerProtocolCore.js +35 -0
  397. package/dist/llm/providerReasoningRequest.d.ts +4 -0
  398. package/dist/llm/providerReasoningRequest.js +101 -0
  399. package/dist/llm/providerSetup.d.ts +6 -0
  400. package/dist/llm/providerSetup.js +89 -0
  401. package/dist/llm/reasoning.d.ts +5 -0
  402. package/dist/llm/reasoning.js +1 -0
  403. package/dist/llm/requestContract.d.ts +6 -0
  404. package/dist/llm/requestContract.js +35 -0
  405. package/dist/llm/sdk/index.d.ts +14 -0
  406. package/dist/llm/sdk/index.js +14 -0
  407. package/dist/llm/sdk/modelStep.d.ts +24 -0
  408. package/dist/llm/sdk/modelStep.js +254 -0
  409. package/dist/llm/sdk/provider.d.ts +38 -0
  410. package/dist/llm/sdk/provider.js +335 -0
  411. package/dist/llm/sdk/providerAdapter.d.ts +53 -0
  412. package/dist/llm/sdk/providerAdapter.js +26 -0
  413. package/dist/llm/sdk/retryPolicy.d.ts +13 -0
  414. package/dist/llm/sdk/retryPolicy.js +67 -0
  415. package/dist/llm/sdk/runtime.d.ts +13 -0
  416. package/dist/llm/sdk/runtime.js +127 -0
  417. package/dist/llm/sdk/toolSchema.d.ts +28 -0
  418. package/dist/llm/sdk/toolSchema.js +59 -0
  419. package/dist/llm/streaming/index.d.ts +18 -0
  420. package/dist/llm/streaming/index.js +8 -0
  421. package/dist/llm/streaming.d.ts +25 -0
  422. package/dist/llm/streaming.js +330 -0
  423. package/dist/llm/types.d.ts +290 -0
  424. package/dist/llm/types.js +1 -0
  425. package/dist/llm/utf8-stream-decoder.d.ts +1 -0
  426. package/dist/llm/utf8-stream-decoder.js +2 -0
  427. package/dist/packs/models/apimart/gemini-omni-flash.d.ts +6 -0
  428. package/dist/packs/models/apimart/gemini-omni-flash.js +7 -0
  429. package/dist/packs/models/apimart/gpt-image-2.d.ts +6 -0
  430. package/dist/packs/models/apimart/gpt-image-2.js +7 -0
  431. package/dist/packs/models/apimart/grok-imagine-2.0.d.ts +6 -0
  432. package/dist/packs/models/apimart/grok-imagine-2.0.js +7 -0
  433. package/dist/packs/models/apimart/kling-3.0-omni.d.ts +6 -0
  434. package/dist/packs/models/apimart/kling-3.0-omni.js +7 -0
  435. package/dist/packs/models/apimart/kling-3.0-turbo.d.ts +6 -0
  436. package/dist/packs/models/apimart/kling-3.0-turbo.js +7 -0
  437. package/dist/packs/models/apimart/kling-3.0.d.ts +6 -0
  438. package/dist/packs/models/apimart/kling-3.0.js +7 -0
  439. package/dist/packs/models/apimart/midjourney-video.d.ts +6 -0
  440. package/dist/packs/models/apimart/midjourney-video.js +7 -0
  441. package/dist/packs/models/apimart/midjourney.d.ts +6 -0
  442. package/dist/packs/models/apimart/midjourney.js +7 -0
  443. package/dist/packs/models/apimart/minimax-h3.d.ts +6 -0
  444. package/dist/packs/models/apimart/minimax-h3.js +7 -0
  445. package/dist/packs/models/apimart/nano-banana-2-lite.d.ts +6 -0
  446. package/dist/packs/models/apimart/nano-banana-2-lite.js +7 -0
  447. package/dist/packs/models/apimart/nano-banana-2.d.ts +6 -0
  448. package/dist/packs/models/apimart/nano-banana-2.js +7 -0
  449. package/dist/packs/models/apimart/nano-banana-pro.d.ts +6 -0
  450. package/dist/packs/models/apimart/nano-banana-pro.js +7 -0
  451. package/dist/packs/models/apimart/qwen-image-3.0.d.ts +6 -0
  452. package/dist/packs/models/apimart/qwen-image-3.0.js +7 -0
  453. package/dist/packs/models/apimart/seedance-2.0-fast.d.ts +6 -0
  454. package/dist/packs/models/apimart/seedance-2.0-fast.js +7 -0
  455. package/dist/packs/models/apimart/seedance-2.0-mini.d.ts +6 -0
  456. package/dist/packs/models/apimart/seedance-2.0-mini.js +7 -0
  457. package/dist/packs/models/apimart/seedance-2.0.d.ts +6 -0
  458. package/dist/packs/models/apimart/seedance-2.0.js +7 -0
  459. package/dist/packs/models/apimart/seedance-2.5.d.ts +6 -0
  460. package/dist/packs/models/apimart/seedance-2.5.js +7 -0
  461. package/dist/packs/models/apimart/seedream-5.0-lite.d.ts +6 -0
  462. package/dist/packs/models/apimart/seedream-5.0-lite.js +7 -0
  463. package/dist/packs/models/apimart/seedream-5.0-pro.d.ts +6 -0
  464. package/dist/packs/models/apimart/seedream-5.0-pro.js +7 -0
  465. package/dist/packs/models/apimart/z-image-turbo.d.ts +6 -0
  466. package/dist/packs/models/apimart/z-image-turbo.js +7 -0
  467. package/dist/packs/models/bailian/qwen-image-3.0.d.ts +6 -0
  468. package/dist/packs/models/bailian/qwen-image-3.0.js +7 -0
  469. package/dist/packs/models/bailian/z-image-turbo.d.ts +6 -0
  470. package/dist/packs/models/bailian/z-image-turbo.js +7 -0
  471. package/dist/packs/models/fal/bria-creative-upscale.d.ts +6 -0
  472. package/dist/packs/models/fal/bria-creative-upscale.js +7 -0
  473. package/dist/packs/models/fal/gemini-omni-flash.d.ts +6 -0
  474. package/dist/packs/models/fal/gemini-omni-flash.js +7 -0
  475. package/dist/packs/models/fal/gpt-image-2.d.ts +6 -0
  476. package/dist/packs/models/fal/gpt-image-2.js +7 -0
  477. package/dist/packs/models/fal/grok-imagine-2.0.d.ts +6 -0
  478. package/dist/packs/models/fal/grok-imagine-2.0.js +7 -0
  479. package/dist/packs/models/fal/hailuo-02.d.ts +6 -0
  480. package/dist/packs/models/fal/hailuo-02.js +7 -0
  481. package/dist/packs/models/fal/hailuo-2.3.d.ts +6 -0
  482. package/dist/packs/models/fal/hailuo-2.3.js +7 -0
  483. package/dist/packs/models/fal/ic-light-v2.d.ts +6 -0
  484. package/dist/packs/models/fal/ic-light-v2.js +7 -0
  485. package/dist/packs/models/fal/ideogram-upscale.d.ts +6 -0
  486. package/dist/packs/models/fal/ideogram-upscale.js +7 -0
  487. package/dist/packs/models/fal/kling-3.0-omni.d.ts +6 -0
  488. package/dist/packs/models/fal/kling-3.0-omni.js +7 -0
  489. package/dist/packs/models/fal/kling-3.0-turbo.d.ts +6 -0
  490. package/dist/packs/models/fal/kling-3.0-turbo.js +7 -0
  491. package/dist/packs/models/fal/kling-3.0.d.ts +6 -0
  492. package/dist/packs/models/fal/kling-3.0.js +7 -0
  493. package/dist/packs/models/fal/kling-image-o1.d.ts +6 -0
  494. package/dist/packs/models/fal/kling-image-o1.js +7 -0
  495. package/dist/packs/models/fal/kling-video-o1.d.ts +6 -0
  496. package/dist/packs/models/fal/kling-video-o1.js +7 -0
  497. package/dist/packs/models/fal/kling-video-v2.6-pro.d.ts +6 -0
  498. package/dist/packs/models/fal/kling-video-v2.6-pro.js +7 -0
  499. package/dist/packs/models/fal/ltx-2.d.ts +6 -0
  500. package/dist/packs/models/fal/ltx-2.js +7 -0
  501. package/dist/packs/models/fal/minimax-h3.d.ts +6 -0
  502. package/dist/packs/models/fal/minimax-h3.js +7 -0
  503. package/dist/packs/models/fal/nano-banana-2.d.ts +6 -0
  504. package/dist/packs/models/fal/nano-banana-2.js +7 -0
  505. package/dist/packs/models/fal/nano-banana-pro.d.ts +6 -0
  506. package/dist/packs/models/fal/nano-banana-pro.js +7 -0
  507. package/dist/packs/models/fal/nano-banana.d.ts +6 -0
  508. package/dist/packs/models/fal/nano-banana.js +7 -0
  509. package/dist/packs/models/fal/pixverse-v5.5.d.ts +6 -0
  510. package/dist/packs/models/fal/pixverse-v5.5.js +7 -0
  511. package/dist/packs/models/fal/qwen-image-3.0.d.ts +6 -0
  512. package/dist/packs/models/fal/qwen-image-3.0.js +7 -0
  513. package/dist/packs/models/fal/seedance-2.0-fast.d.ts +6 -0
  514. package/dist/packs/models/fal/seedance-2.0-fast.js +7 -0
  515. package/dist/packs/models/fal/seedance-2.0-mini.d.ts +6 -0
  516. package/dist/packs/models/fal/seedance-2.0-mini.js +7 -0
  517. package/dist/packs/models/fal/seedance-2.0.d.ts +6 -0
  518. package/dist/packs/models/fal/seedance-2.0.js +7 -0
  519. package/dist/packs/models/fal/seedance-2.5.d.ts +6 -0
  520. package/dist/packs/models/fal/seedance-2.5.js +7 -0
  521. package/dist/packs/models/fal/seedance.d.ts +6 -0
  522. package/dist/packs/models/fal/seedance.js +7 -0
  523. package/dist/packs/models/fal/seedream-5.0-lite.d.ts +6 -0
  524. package/dist/packs/models/fal/seedream-5.0-lite.js +7 -0
  525. package/dist/packs/models/fal/seedream-5.0-pro.d.ts +6 -0
  526. package/dist/packs/models/fal/seedream-5.0-pro.js +7 -0
  527. package/dist/packs/models/fal/seedream-v4.5.d.ts +6 -0
  528. package/dist/packs/models/fal/seedream-v4.5.js +7 -0
  529. package/dist/packs/models/fal/seedream-v4.d.ts +6 -0
  530. package/dist/packs/models/fal/seedream-v4.js +7 -0
  531. package/dist/packs/models/fal/seedvr2-image-upscale.d.ts +6 -0
  532. package/dist/packs/models/fal/seedvr2-image-upscale.js +7 -0
  533. package/dist/packs/models/fal/topaz-image-upscale.d.ts +6 -0
  534. package/dist/packs/models/fal/topaz-image-upscale.js +7 -0
  535. package/dist/packs/models/fal/topaz-transparent-upscale.d.ts +6 -0
  536. package/dist/packs/models/fal/topaz-transparent-upscale.js +7 -0
  537. package/dist/packs/models/fal/veo-3.1.d.ts +6 -0
  538. package/dist/packs/models/fal/veo-3.1.js +7 -0
  539. package/dist/packs/models/fal/vidu-q2.d.ts +6 -0
  540. package/dist/packs/models/fal/vidu-q2.js +7 -0
  541. package/dist/packs/models/fal/wan-2.5-preview.d.ts +6 -0
  542. package/dist/packs/models/fal/wan-2.5-preview.js +7 -0
  543. package/dist/packs/models/fal/z-image-turbo.d.ts +6 -0
  544. package/dist/packs/models/fal/z-image-turbo.js +7 -0
  545. package/dist/packs/models/grsai/gpt-image-2.d.ts +6 -0
  546. package/dist/packs/models/grsai/gpt-image-2.js +7 -0
  547. package/dist/packs/models/grsai/nano-banana-2-lite.d.ts +6 -0
  548. package/dist/packs/models/grsai/nano-banana-2-lite.js +7 -0
  549. package/dist/packs/models/grsai/nano-banana-2.d.ts +6 -0
  550. package/dist/packs/models/grsai/nano-banana-2.js +7 -0
  551. package/dist/packs/models/grsai/nano-banana-pro.d.ts +6 -0
  552. package/dist/packs/models/grsai/nano-banana-pro.js +7 -0
  553. package/dist/packs/models/kie/gemini-omni-video.d.ts +6 -0
  554. package/dist/packs/models/kie/gemini-omni-video.js +7 -0
  555. package/dist/packs/models/kie/gpt-image-2.d.ts +6 -0
  556. package/dist/packs/models/kie/gpt-image-2.js +7 -0
  557. package/dist/packs/models/kie/grok-imagine-2.0.d.ts +6 -0
  558. package/dist/packs/models/kie/grok-imagine-2.0.js +7 -0
  559. package/dist/packs/models/kie/grok-imagine-video.d.ts +6 -0
  560. package/dist/packs/models/kie/grok-imagine-video.js +7 -0
  561. package/dist/packs/models/kie/grok-imagine.d.ts +6 -0
  562. package/dist/packs/models/kie/grok-imagine.js +7 -0
  563. package/dist/packs/models/kie/hailuo-02.d.ts +6 -0
  564. package/dist/packs/models/kie/hailuo-02.js +7 -0
  565. package/dist/packs/models/kie/hailuo-2-3.d.ts +6 -0
  566. package/dist/packs/models/kie/hailuo-2-3.js +7 -0
  567. package/dist/packs/models/kie/kling-3.0-omni.d.ts +6 -0
  568. package/dist/packs/models/kie/kling-3.0-omni.js +7 -0
  569. package/dist/packs/models/kie/kling-3.0-turbo.d.ts +6 -0
  570. package/dist/packs/models/kie/kling-3.0-turbo.js +7 -0
  571. package/dist/packs/models/kie/kling-3.0.d.ts +6 -0
  572. package/dist/packs/models/kie/kling-3.0.js +7 -0
  573. package/dist/packs/models/kie/kling-v2-6.d.ts +6 -0
  574. package/dist/packs/models/kie/kling-v2-6.js +7 -0
  575. package/dist/packs/models/kie/minimax-h3.d.ts +6 -0
  576. package/dist/packs/models/kie/minimax-h3.js +7 -0
  577. package/dist/packs/models/kie/nano-banana-2-lite.d.ts +6 -0
  578. package/dist/packs/models/kie/nano-banana-2-lite.js +7 -0
  579. package/dist/packs/models/kie/nano-banana-2.d.ts +6 -0
  580. package/dist/packs/models/kie/nano-banana-2.js +7 -0
  581. package/dist/packs/models/kie/nano-banana-pro.d.ts +6 -0
  582. package/dist/packs/models/kie/nano-banana-pro.js +7 -0
  583. package/dist/packs/models/kie/qwen-image-3.0.d.ts +6 -0
  584. package/dist/packs/models/kie/qwen-image-3.0.js +7 -0
  585. package/dist/packs/models/kie/seedance-1.5-pro.d.ts +6 -0
  586. package/dist/packs/models/kie/seedance-1.5-pro.js +7 -0
  587. package/dist/packs/models/kie/seedance-2.0-fast.d.ts +6 -0
  588. package/dist/packs/models/kie/seedance-2.0-fast.js +7 -0
  589. package/dist/packs/models/kie/seedance-2.0-mini.d.ts +6 -0
  590. package/dist/packs/models/kie/seedance-2.0-mini.js +7 -0
  591. package/dist/packs/models/kie/seedance-2.0.d.ts +6 -0
  592. package/dist/packs/models/kie/seedance-2.0.js +7 -0
  593. package/dist/packs/models/kie/seedance-2.5.d.ts +6 -0
  594. package/dist/packs/models/kie/seedance-2.5.js +7 -0
  595. package/dist/packs/models/kie/seedance-v1.d.ts +6 -0
  596. package/dist/packs/models/kie/seedance-v1.js +7 -0
  597. package/dist/packs/models/kie/seedream-4.0.d.ts +6 -0
  598. package/dist/packs/models/kie/seedream-4.0.js +7 -0
  599. package/dist/packs/models/kie/seedream-4.5.d.ts +6 -0
  600. package/dist/packs/models/kie/seedream-4.5.js +7 -0
  601. package/dist/packs/models/kie/seedream-5.0-lite.d.ts +6 -0
  602. package/dist/packs/models/kie/seedream-5.0-lite.js +7 -0
  603. package/dist/packs/models/kie/seedream-5.0-pro.d.ts +6 -0
  604. package/dist/packs/models/kie/seedream-5.0-pro.js +7 -0
  605. package/dist/packs/models/kie/z-image.d.ts +6 -0
  606. package/dist/packs/models/kie/z-image.js +7 -0
  607. package/dist/packs/models/modelscope/flux-1-krea-dev.d.ts +6 -0
  608. package/dist/packs/models/modelscope/flux-1-krea-dev.js +7 -0
  609. package/dist/packs/models/modelscope/majicmix-realistic.d.ts +6 -0
  610. package/dist/packs/models/modelscope/majicmix-realistic.js +7 -0
  611. package/dist/packs/models/modelscope/modelscope-custom.d.ts +6 -0
  612. package/dist/packs/models/modelscope/modelscope-custom.js +7 -0
  613. package/dist/packs/models/modelscope/qwen-image-edit-2509.d.ts +6 -0
  614. package/dist/packs/models/modelscope/qwen-image-edit-2509.js +7 -0
  615. package/dist/packs/models/modelscope/qwen-image.d.ts +6 -0
  616. package/dist/packs/models/modelscope/qwen-image.js +7 -0
  617. package/dist/packs/models/modelscope/sdxl-14-ckpt.d.ts +6 -0
  618. package/dist/packs/models/modelscope/sdxl-14-ckpt.js +7 -0
  619. package/dist/packs/models/modelscope/z-image-turbo.d.ts +6 -0
  620. package/dist/packs/models/modelscope/z-image-turbo.js +7 -0
  621. package/dist/packs/models/ppio/kling-3.0.d.ts +6 -0
  622. package/dist/packs/models/ppio/kling-3.0.js +7 -0
  623. package/dist/packs/models/ppio/minimax-hailuo-2.3.d.ts +6 -0
  624. package/dist/packs/models/ppio/minimax-hailuo-2.3.js +7 -0
  625. package/dist/packs/models/ppio/minimax-speech.d.ts +6 -0
  626. package/dist/packs/models/ppio/minimax-speech.js +7 -0
  627. package/dist/packs/models/ppio/wan-2.5-preview.d.ts +6 -0
  628. package/dist/packs/models/ppio/wan-2.5-preview.js +7 -0
  629. package/dist/packs/models/ppio/wan-2.6.d.ts +6 -0
  630. package/dist/packs/models/ppio/wan-2.6.js +7 -0
  631. package/dist/packs/models/ppio/wan-2.7.d.ts +6 -0
  632. package/dist/packs/models/ppio/wan-2.7.js +7 -0
  633. package/dist/packs/models/volcengine/seedream-5.0-lite.d.ts +6 -0
  634. package/dist/packs/models/volcengine/seedream-5.0-lite.js +7 -0
  635. package/dist/packs/models/volcengine/seedream-5.0-pro.d.ts +6 -0
  636. package/dist/packs/models/volcengine/seedream-5.0-pro.js +7 -0
  637. package/dist/packs/provider-adapters/apimart.d.ts +3 -0
  638. package/dist/packs/provider-adapters/apimart.js +5 -0
  639. package/dist/packs/provider-adapters/bailian.d.ts +3 -0
  640. package/dist/packs/provider-adapters/bailian.js +5 -0
  641. package/dist/packs/provider-adapters/fal.d.ts +3 -0
  642. package/dist/packs/provider-adapters/fal.js +5 -0
  643. package/dist/packs/provider-adapters/grsai.d.ts +3 -0
  644. package/dist/packs/provider-adapters/grsai.js +5 -0
  645. package/dist/packs/provider-adapters/kie.d.ts +3 -0
  646. package/dist/packs/provider-adapters/kie.js +5 -0
  647. package/dist/packs/provider-adapters/modelscope.d.ts +3 -0
  648. package/dist/packs/provider-adapters/modelscope.js +5 -0
  649. package/dist/packs/provider-adapters/ppio.d.ts +3 -0
  650. package/dist/packs/provider-adapters/ppio.js +5 -0
  651. package/dist/packs/provider-adapters/volcengine.d.ts +3 -0
  652. package/dist/packs/provider-adapters/volcengine.js +5 -0
  653. package/dist/packs/provider-packs/apimart.d.ts +4 -0
  654. package/dist/packs/provider-packs/apimart.js +25 -0
  655. package/dist/packs/provider-packs/bailian.d.ts +4 -0
  656. package/dist/packs/provider-packs/bailian.js +7 -0
  657. package/dist/packs/provider-packs/fal.d.ts +4 -0
  658. package/dist/packs/provider-packs/fal.js +42 -0
  659. package/dist/packs/provider-packs/grsai.d.ts +4 -0
  660. package/dist/packs/provider-packs/grsai.js +9 -0
  661. package/dist/packs/provider-packs/kie.d.ts +4 -0
  662. package/dist/packs/provider-packs/kie.js +32 -0
  663. package/dist/packs/provider-packs/modelscope.d.ts +4 -0
  664. package/dist/packs/provider-packs/modelscope.js +12 -0
  665. package/dist/packs/provider-packs/ppio.d.ts +4 -0
  666. package/dist/packs/provider-packs/ppio.js +11 -0
  667. package/dist/packs/provider-packs/volcengine.d.ts +4 -0
  668. package/dist/packs/provider-packs/volcengine.js +7 -0
  669. package/dist/packs/tool-models/fal/bria-eraser.d.ts +5 -0
  670. package/dist/packs/tool-models/fal/bria-eraser.js +4 -0
  671. package/dist/packs/tool-models/fal/control-light.d.ts +5 -0
  672. package/dist/packs/tool-models/fal/control-light.js +4 -0
  673. package/dist/packs/tool-models/fal/finegrain-eraser.d.ts +5 -0
  674. package/dist/packs/tool-models/fal/finegrain-eraser.js +4 -0
  675. package/dist/packs/tool-models/fal/flux-2-multiple-angles.d.ts +5 -0
  676. package/dist/packs/tool-models/fal/flux-2-multiple-angles.js +4 -0
  677. package/dist/packs/tool-models/fal/flux-pro-erase.d.ts +5 -0
  678. package/dist/packs/tool-models/fal/flux-pro-erase.js +4 -0
  679. package/dist/packs/tool-models/fal/outpaint.d.ts +5 -0
  680. package/dist/packs/tool-models/fal/outpaint.js +4 -0
  681. package/dist/packs/tool-models/fal/perspective-change.d.ts +5 -0
  682. package/dist/packs/tool-models/fal/perspective-change.js +4 -0
  683. package/dist/packs/tool-models/fal/photo-restoration.d.ts +5 -0
  684. package/dist/packs/tool-models/fal/photo-restoration.js +4 -0
  685. package/dist/packs/tool-models/fal/pixelcut-background-removal.d.ts +5 -0
  686. package/dist/packs/tool-models/fal/pixelcut-background-removal.js +4 -0
  687. package/dist/packs/tool-models/fal/product-photography.d.ts +5 -0
  688. package/dist/packs/tool-models/fal/product-photography.js +4 -0
  689. package/dist/packs/tool-models/fal/qwen-image-edit-2509-multiple-angles.d.ts +5 -0
  690. package/dist/packs/tool-models/fal/qwen-image-edit-2509-multiple-angles.js +4 -0
  691. package/dist/packs/tool-models/fal/relighting.d.ts +5 -0
  692. package/dist/packs/tool-models/fal/relighting.js +4 -0
  693. package/dist/packs/tool-packs/fal-image-edit-tools.d.ts +5 -0
  694. package/dist/packs/tool-packs/fal-image-edit-tools.js +8 -0
  695. package/dist/packs/tool-packs/fal-image-utility-tools.d.ts +5 -0
  696. package/dist/packs/tool-packs/fal-image-utility-tools.js +18 -0
  697. package/dist/packs/tool-packs/fal-multi-angle-tools.d.ts +5 -0
  698. package/dist/packs/tool-packs/fal-multi-angle-tools.js +8 -0
  699. package/dist/pricing/index.d.ts +1 -0
  700. package/dist/pricing/index.js +1 -0
  701. package/dist/pricing/mediaContext.d.ts +27 -0
  702. package/dist/pricing/mediaContext.js +110 -0
  703. package/dist/protocols/index.d.ts +7 -0
  704. package/dist/protocols/index.js +7 -0
  705. package/dist/protocols/polling.d.ts +29 -0
  706. package/dist/protocols/polling.js +92 -0
  707. package/dist/protocols/request-builder-dsl.d.ts +15 -0
  708. package/dist/protocols/request-builder-dsl.js +64 -0
  709. package/dist/protocols/request-normalizer.d.ts +3 -0
  710. package/dist/protocols/request-normalizer.js +141 -0
  711. package/dist/protocols/utf8-stream-decoder.d.ts +20 -0
  712. package/dist/protocols/utf8-stream-decoder.js +125 -0
  713. package/dist/providers/apimart.d.ts +3 -0
  714. package/dist/providers/apimart.js +128 -0
  715. package/dist/providers/bailian.d.ts +3 -0
  716. package/dist/providers/bailian.js +50 -0
  717. package/dist/providers/connection.d.ts +3 -0
  718. package/dist/providers/connection.js +169 -0
  719. package/dist/providers/endpoints/apimart.d.ts +11 -0
  720. package/dist/providers/endpoints/apimart.js +49 -0
  721. package/dist/providers/endpoints/grsai.d.ts +11 -0
  722. package/dist/providers/endpoints/grsai.js +50 -0
  723. package/dist/providers/fal.d.ts +3 -0
  724. package/dist/providers/fal.js +148 -0
  725. package/dist/providers/grsai.d.ts +3 -0
  726. package/dist/providers/grsai.js +99 -0
  727. package/dist/providers/helpers.d.ts +10 -0
  728. package/dist/providers/helpers.js +76 -0
  729. package/dist/providers/index.d.ts +25 -0
  730. package/dist/providers/index.js +93 -0
  731. package/dist/providers/kie.d.ts +3 -0
  732. package/dist/providers/kie.js +125 -0
  733. package/dist/providers/metadata.d.ts +22 -0
  734. package/dist/providers/metadata.js +141 -0
  735. package/dist/providers/modelscope.d.ts +3 -0
  736. package/dist/providers/modelscope.js +65 -0
  737. package/dist/providers/ppio-media.d.ts +2 -0
  738. package/dist/providers/ppio-media.js +20 -0
  739. package/dist/providers/ppio.d.ts +3 -0
  740. package/dist/providers/ppio.js +98 -0
  741. package/dist/providers/provider-fetch.d.ts +7 -0
  742. package/dist/providers/provider-fetch.js +42 -0
  743. package/dist/providers/types.d.ts +6 -0
  744. package/dist/providers/types.js +1 -0
  745. package/dist/providers/volcengine.d.ts +3 -0
  746. package/dist/providers/volcengine.js +32 -0
  747. package/dist/runtime/AiRuntimeError.d.ts +5 -0
  748. package/dist/runtime/AiRuntimeError.js +11 -0
  749. package/dist/runtime/CredentialStore.d.ts +47 -0
  750. package/dist/runtime/CredentialStore.js +1 -0
  751. package/dist/runtime/Logger.d.ts +47 -0
  752. package/dist/runtime/Logger.js +11 -0
  753. package/dist/runtime/MediaReader.d.ts +45 -0
  754. package/dist/runtime/MediaReader.js +1 -0
  755. package/dist/runtime/RealtimeTransport.d.ts +22 -0
  756. package/dist/runtime/RealtimeTransport.js +1 -0
  757. package/dist/runtime/RuntimeContext.d.ts +26 -0
  758. package/dist/runtime/RuntimeContext.js +13 -0
  759. package/dist/runtime/Tracer.d.ts +26 -0
  760. package/dist/runtime/Tracer.js +7 -0
  761. package/dist/runtime/Transport.d.ts +43 -0
  762. package/dist/runtime/Transport.js +1 -0
  763. package/dist/runtime/error-classify.d.ts +7 -0
  764. package/dist/runtime/error-classify.js +192 -0
  765. package/dist/runtime/errors.d.ts +40 -0
  766. package/dist/runtime/errors.js +27 -0
  767. package/dist/runtime/index.d.ts +25 -0
  768. package/dist/runtime/index.js +15 -0
  769. package/dist/runtime/provider-error-core.d.ts +33 -0
  770. package/dist/runtime/provider-error-core.js +86 -0
  771. package/dist/runtime/retry.d.ts +7 -0
  772. package/dist/runtime/retry.js +72 -0
  773. package/dist/runtime/task-registry.d.ts +5 -0
  774. package/dist/runtime/task-registry.js +25 -0
  775. package/dist/structured-output/index.d.ts +1 -0
  776. package/dist/structured-output/index.js +1 -0
  777. package/dist/structured-output/seedream-layer-stack.d.ts +4 -0
  778. package/dist/structured-output/seedream-layer-stack.js +206 -0
  779. package/dist/tool-packs/fal-erase/models/bria-eraser.model.d.ts +2 -0
  780. package/dist/tool-packs/fal-erase/models/bria-eraser.model.js +38 -0
  781. package/dist/tool-packs/fal-erase/models/finegrain-eraser.model.d.ts +2 -0
  782. package/dist/tool-packs/fal-erase/models/finegrain-eraser.model.js +47 -0
  783. package/dist/tool-packs/fal-erase/models/flux-pro-erase.model.d.ts +2 -0
  784. package/dist/tool-packs/fal-erase/models/flux-pro-erase.model.js +42 -0
  785. package/dist/tool-packs/fal-image-utilities/models/control-light.model.d.ts +2 -0
  786. package/dist/tool-packs/fal-image-utilities/models/control-light.model.js +42 -0
  787. package/dist/tool-packs/fal-image-utilities/models/outpaint.model.d.ts +2 -0
  788. package/dist/tool-packs/fal-image-utilities/models/outpaint.model.js +74 -0
  789. package/dist/tool-packs/fal-image-utilities/models/photo-restoration.model.d.ts +2 -0
  790. package/dist/tool-packs/fal-image-utilities/models/photo-restoration.model.js +56 -0
  791. package/dist/tool-packs/fal-image-utilities/models/pixelcut-background-removal.model.d.ts +2 -0
  792. package/dist/tool-packs/fal-image-utilities/models/pixelcut-background-removal.model.js +41 -0
  793. package/dist/tool-packs/fal-image-utilities/models/product-photography.model.d.ts +2 -0
  794. package/dist/tool-packs/fal-image-utilities/models/product-photography.model.js +41 -0
  795. package/dist/tool-packs/fal-image-utilities/models/relighting.model.d.ts +3 -0
  796. package/dist/tool-packs/fal-image-utilities/models/relighting.model.js +74 -0
  797. package/dist/tool-packs/fal-image-utilities/shared.d.ts +9 -0
  798. package/dist/tool-packs/fal-image-utilities/shared.js +54 -0
  799. package/dist/tool-packs/fal-multi-angle/models/flux-2-multiple-angles.model.d.ts +2 -0
  800. package/dist/tool-packs/fal-multi-angle/models/flux-2-multiple-angles.model.js +75 -0
  801. package/dist/tool-packs/fal-multi-angle/models/perspective-change.model.d.ts +3 -0
  802. package/dist/tool-packs/fal-multi-angle/models/perspective-change.model.js +58 -0
  803. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.d.ts +2 -0
  804. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.js +75 -0
  805. package/dist/tool-packs/fal-multi-angle/shared.d.ts +2 -0
  806. package/dist/tool-packs/fal-multi-angle/shared.js +22 -0
  807. package/dist/types/index.d.ts +4 -0
  808. package/dist/types/index.js +4 -0
  809. package/dist/types/model.d.ts +432 -0
  810. package/dist/types/model.js +21 -0
  811. package/dist/types/runtime.d.ts +161 -0
  812. package/dist/types/runtime.js +1 -0
  813. package/dist/upload/apimart-upload.d.ts +3 -0
  814. package/dist/upload/apimart-upload.js +32 -0
  815. package/dist/upload/base64.d.ts +5 -0
  816. package/dist/upload/base64.js +49 -0
  817. package/dist/upload/fal-legacy.d.ts +7 -0
  818. package/dist/upload/fal-legacy.js +19 -0
  819. package/dist/upload/fal-transport.d.ts +7 -0
  820. package/dist/upload/fal-transport.js +104 -0
  821. package/dist/upload/index.d.ts +10 -0
  822. package/dist/upload/index.js +15 -0
  823. package/dist/upload/kie-upload.d.ts +3 -0
  824. package/dist/upload/kie-upload.js +41 -0
  825. package/dist/upload/media-binary.d.ts +23 -0
  826. package/dist/upload/media-binary.js +80 -0
  827. package/dist/upload/media-fields.d.ts +34 -0
  828. package/dist/upload/media-fields.js +135 -0
  829. package/dist/upload/prepared-media.d.ts +5 -0
  830. package/dist/upload/prepared-media.js +1 -0
  831. package/dist/upload/preprocess-core.d.ts +40 -0
  832. package/dist/upload/preprocess-core.js +130 -0
  833. package/dist/upload/preprocess.d.ts +8 -0
  834. package/dist/upload/preprocess.js +24 -0
  835. package/dist/upload/provider-preprocessors/apimart.d.ts +4 -0
  836. package/dist/upload/provider-preprocessors/apimart.js +42 -0
  837. package/dist/upload/provider-preprocessors/data-uri.d.ts +4 -0
  838. package/dist/upload/provider-preprocessors/data-uri.js +6 -0
  839. package/dist/upload/provider-preprocessors/factory.d.ts +4 -0
  840. package/dist/upload/provider-preprocessors/factory.js +16 -0
  841. package/dist/upload/provider-preprocessors/fal.d.ts +4 -0
  842. package/dist/upload/provider-preprocessors/fal.js +39 -0
  843. package/dist/upload/provider-preprocessors/kie.d.ts +4 -0
  844. package/dist/upload/provider-preprocessors/kie.js +18 -0
  845. package/dist/upload/provider-preprocessors/ppio.d.ts +6 -0
  846. package/dist/upload/provider-preprocessors/ppio.js +56 -0
  847. package/dist/upload/providers.d.ts +5 -0
  848. package/dist/upload/providers.js +5 -0
  849. package/dist/upload/upload-response.d.ts +3 -0
  850. package/dist/upload/upload-response.js +24 -0
  851. package/docs/README.md +26 -0
  852. package/docs/consumers.md +48 -0
  853. package/docs/llm-adaptation/README.md +139 -0
  854. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +91 -0
  855. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +75 -0
  856. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +84 -0
  857. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +85 -0
  858. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +232 -0
  859. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/201/253/345/261/261/345/274/225/346/223/216.md +87 -0
  860. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +84 -0
  861. package/docs/llm-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +88 -0
  862. package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -0
  863. package/docs/model-adaptation/Bria-/345/210/233/346/204/217/346/224/276/345/244/247/Bria-/345/210/233/346/204/217/346/224/276/345/244/247_Fal.md +31 -0
  864. package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -0
  865. package/docs/model-adaptation/FLUX-2-/345/244/232/350/247/222/345/272/246/FLUX-2-/345/244/232/350/247/222/345/272/246_Fal.md +107 -0
  866. package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -0
  867. package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -0
  868. package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +43 -0
  869. package/docs/model-adaptation/Fun-ASR-Flash-2026-06-15/Fun-ASR-Flash-2026-06-15_/347/231/276/347/202/274.md +41 -0
  870. package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +37 -0
  871. package/docs/model-adaptation/Fun-ASR-Realtime-2026-02-28/Fun-ASR-Realtime-2026-02-28_/347/231/276/347/202/274.md +39 -0
  872. package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +207 -0
  873. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -0
  874. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -0
  875. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +137 -0
  876. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +93 -0
  877. package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -0
  878. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +124 -0
  879. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -0
  880. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +129 -0
  881. package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +36 -0
  882. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -0
  883. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -0
  884. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -0
  885. package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +93 -0
  886. package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +56 -0
  887. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -0
  888. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -0
  889. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +70 -0
  890. package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +96 -0
  891. package/docs/model-adaptation/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +41 -0
  892. package/docs/model-adaptation/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261_Fal.md +72 -0
  893. package/docs/model-adaptation/Image-Apps-v2-/346/211/251/345/233/276/Image-Apps-v2-/346/211/251/345/233/276_Fal.md +93 -0
  894. package/docs/model-adaptation/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215_Fal.md +86 -0
  895. package/docs/model-adaptation/Image-Apps-v2-/351/207/215/346/211/223/345/205/211/Image-Apps-v2-/351/207/215/346/211/223/345/205/211_Fal.md +84 -0
  896. package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -0
  897. package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +89 -0
  898. package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -0
  899. package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +119 -0
  900. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +125 -0
  901. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -0
  902. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +143 -0
  903. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +85 -0
  904. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +83 -0
  905. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -0
  906. package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +396 -0
  907. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +234 -0
  908. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +108 -0
  909. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +111 -0
  910. package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -0
  911. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -0
  912. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -0
  913. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -0
  914. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +70 -0
  915. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -0
  916. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -0
  917. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -0
  918. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -0
  919. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -0
  920. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -0
  921. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -0
  922. package/docs/model-adaptation/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244_Fal.md +79 -0
  923. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -0
  924. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +84 -0
  925. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -0
  926. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -0
  927. package/docs/model-adaptation/Qwen-Image-Edit-2509-/345/244/232/350/247/222/345/272/246/Qwen-Image-Edit-2509-/345/244/232/350/247/222/345/272/246_Fal.md +116 -0
  928. package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +47 -0
  929. package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +39 -0
  930. package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +39 -0
  931. package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +40 -0
  932. package/docs/model-adaptation/Qwen3-ASR-Flash-2026-02-10/Qwen3-ASR-Flash-2026-02-10_/347/231/276/347/202/274.md +33 -0
  933. package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +41 -0
  934. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +35 -0
  935. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime-2026-02-10/Qwen3-ASR-Flash-Realtime-2026-02-10_/347/231/276/347/202/274.md +37 -0
  936. package/docs/model-adaptation/README.md +304 -0
  937. package/docs/model-adaptation/SeedASR-2.0-File/SeedASR-2.0-File_/347/201/253/345/261/261/345/274/225/346/223/216.md +115 -0
  938. package/docs/model-adaptation/SeedASR-2.0-Realtime/SeedASR-2.0-Realtime_/347/201/253/345/261/261/345/274/225/346/223/216.md +143 -0
  939. package/docs/model-adaptation/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +45 -0
  940. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -0
  941. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -0
  942. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +86 -0
  943. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -0
  944. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -0
  945. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +78 -0
  946. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +89 -0
  947. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -0
  948. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +78 -0
  949. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +212 -0
  950. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +94 -0
  951. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +89 -0
  952. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +106 -0
  953. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -0
  954. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -0
  955. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_/347/201/253/345/261/261/345/274/225/346/223/216.md +108 -0
  956. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -0
  957. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -0
  958. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -0
  959. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_/347/201/253/345/261/261/345/274/225/346/223/216.md +137 -0
  960. package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +69 -0
  961. package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +72 -0
  962. package/docs/model-adaptation/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +87 -0
  963. package/docs/model-adaptation/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247_Fal.md +34 -0
  964. package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +82 -0
  965. package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +84 -0
  966. package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +122 -0
  967. package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +76 -0
  968. package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +75 -0
  969. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -0
  970. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +95 -0
  971. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -0
  972. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -0
  973. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +97 -0
  974. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +238 -0
  975. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +172 -0
  976. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +121 -0
  977. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -0
  978. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +131 -0
  979. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/200/231/351/200/211/344/276/233/345/272/224/345/225/206/350/260/203/347/240/224-/345/233/276/347/211/207/345/267/245/345/205/267.md +151 -0
  980. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/277/253/351/200/237/351/200/202/351/205/215/344/276/233/345/272/224/345/225/206.md +65 -0
  981. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//346/264/276/346/254/247/344/272/221.md +138 -0
  982. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/201/253/345/261/261/345/274/225/346/223/216.md +173 -0
  983. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +227 -0
  984. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/241/205/345/237/272/346/265/201/345/212/250.md +88 -0
  985. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +207 -0
  986. package/docs/model-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +311 -0
  987. package/docs/model-adaptation//351/200/217/350/247/206/345/217/230/346/215/242//351/200/217/350/247/206/345/217/230/346/215/242_Fal.md +59 -0
  988. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -0
  989. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -0
  990. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -0
  991. package/docs//346/216/245/345/205/245/346/214/207/345/215/227//344/276/233/345/272/224/345/225/206/345/237/237/345/220/215.md +83 -0
  992. package/docs//346/216/245/345/205/245/346/214/207/345/215/227//351/224/231/350/257/257/345/244/204/347/220/206.md +72 -0
  993. package/examples/form-renderer/README.md +17 -0
  994. package/examples/form-renderer/cli.ts +32 -0
  995. package/examples/form-renderer/index.ts +144 -0
  996. package/examples/form-renderer/package.json +16 -0
  997. package/examples/form-renderer/tsconfig.json +14 -0
  998. package/examples/llm-chat/README.md +32 -0
  999. package/examples/llm-chat/index.ts +100 -0
  1000. package/examples/llm-chat/package.json +19 -0
  1001. package/examples/llm-chat/tsconfig.json +14 -0
  1002. package/examples/minimal-node/README.md +31 -0
  1003. package/examples/minimal-node/index.ts +138 -0
  1004. package/examples/minimal-node/package.json +17 -0
  1005. package/examples/minimal-node/tsconfig.json +14 -0
  1006. package/package.json +198 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,143 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## 0.2.8 - 2026-08-31
6
+
7
+ - 正式分发渠道从需要读包凭据的私有 GitHub Packages 迁移到公共 npm;消费项目现在可以直接安装 `@henjicc/ai-sdk`,无需 `.npmrc` 或访问令牌。
8
+ - 发布前门禁固定校验 npm 公共 registry、仓库 scope 映射与 `access=public`,并提供显式指定公共源的 `npm run publish:sdk`,避免用户级配置把版本误发回私有源;正式发布仍只由 npm 包维护者手动执行。
9
+ - 本次只调整分发与安装契约,不改变 0.2.7 的运行时 API、模型目录、请求协议或宿主能力边界。
10
+
11
+ ## 0.2.7 - 2026-08-31
12
+
13
+ - ASR 按需能力从百炼 9 个模型扩展到 15 个:新增火山引擎 SeedASR 2.0 文件 submit/query 与二进制实时 WebSocket、硅基流动 SenseVoiceSmall/TeleSpeechASR,以及 Groq Whisper Large v3/Turbo。
14
+ - 火山实时协议严格校验 V1 大端二进制帧、sequence、payload size、gzip 与终包语义;文件标准版只接受官方要求的公网 URL,不为本地文件伪造上传能力。
15
+ - Groq 与硅基流动使用各自官方 multipart 转写契约并统一输出 `SpeechRecognitionOutput`;Groq `verbose_json` 额外归一化时长、分句和词级时间戳,免费层默认按 25 MB 本地上限保护,消费宿主可按套餐显式调整。
16
+ - 新增四个 ASR 独立 exports、官方来源 fixture、协议断牙测试、bundle 隔离、仓外 Vite/Node ESM 与无全局 TextEncoder/TextDecoder 的受限宿主门禁。
17
+
18
+ - 默认生成目录从 99 个扩展到 105 个模型,新增六个 Fal 入口:IC-Light v2 重打光,以及 Topaz、Topaz 透明图、SeedVR2、Bria Creative、Ideogram 高清放大;按需工具仍不混入默认目录。
19
+ - IC-Light v2 固定单图约 1MP 重打光契约,并提供五档官方初始光照方向;Fal GPT Image 2 新增 `2:1` 比例和显式约 2K 输出档。
20
+ - Topaz 图片放大统一为 Precision / Creative / Generative 显式模式路由,按模式裁剪模型、增强和人脸参数;Topaz 计价改为按实时官方输出 MP 阶梯计算,不再将所有超过 48MP 的任务直接估为 `$1.36`。
21
+ - Fal 可选图片工具扩展到 12 个:保留 3 个消除工具,新增 6 个重打光、暗光增强、扩图、商品摄影、照片修复、背景移除工具,以及 Qwen、Perspective、FLUX 2 三个多角度工具;提供 3 / 6 / 3 三个聚合 pack 和对应单模型入口。
22
+ - 多角度工具分别支持九档离散方位、透视水平/垂直旋转与 FLUX 2 连续水平、垂直、缩放控制;图片实用工具保持单图输入、官方字段限制和独立固定/按 MP 估价。
23
+ - 新增可移植的 `StructuredGenerationOutput` / `layer-stack` 响应契约;火山引擎、APIMart、KIE 的 Seedream 5.0 Pro 图层拆分统一解析输出顺序、尺寸、格式、包围盒和原始索引,同时保留供应商原始 metadata。
24
+ - Fal 队列提交现在只把 `sync_mode: true` 当作本地直连路由标记;显式 `sync_mode: false` 会继续发送给队列,保证 Pixelcut 等端点返回可持久化 CDN URL。
25
+ - Fal 返回或恢复的 `status_url` / `response_url` 必须属于官方 `https://queue.fal.run` 源,拒绝带用户信息或第三方源的任务 URL,且 `invalid_endpoint` 不进入轮询重试,避免 API Key 被外带。
26
+ - `continuePolling()` 只解析模型端点,不再为了续查重建并校验完整生成请求体;持久化任务可在没有原始媒体参数时安全恢复轮询。
27
+ - 新增 `openai-responses` 模型步骤协议,与 Chat Completions 并存;标准 Responses SSE、usage、失败与取消统一落到既有模型步骤事件和错误契约。
28
+ - 预制供应商按“供应商端点 × 具体模型”自动选择协议:DeepSeek、火山引擎、百炼、MiniMax 与智谱国内 GLM-5.3 的已确认组合默认 Responses,聚合网关和未确认模型继续 Chat。
29
+ - Anthropic 协议仍未实现,不再向宿主设置界面提供伪选项;自定义未知端点只需在 Chat / Responses 之间选择。
30
+ - `LlmProviderSetup` 新增可选 `connectionOverrides`:预设默认继续按具体模型自动路由,只有用户主动修改时才覆盖 API 地址或统一请求协议;供应商身份、凭据槽与模型能力仍保留预设契约。
31
+ - 发布门禁同步锁定 105 个默认模型、12 个 Fal 工具、三类工具聚合包以及仓库外 Node ESM、严格 TypeScript、Vite 与受限宿主包回装;fixture/scripted 验证不发起付费供应商请求。
32
+
33
+ ## 0.2.6 - 2026-08-28
34
+
35
+ - 新增统一的 `PROVIDER_METADATA` 与 `findProviderMetadata(providerId, options)` 公共契约,覆盖全部生成供应商、LLM 预设与 BigModel 国内/国际端点的官网和 API Key 入口。
36
+ - 派欧云、KIE、APIMart 的 `websiteUrl` 保留项目已有邀请码,其余供应商使用正常官网;未知自定义供应商返回 `null`,宿主无需复制或猜测链接。
37
+ - LLM preset 与 endpoint profile 改为消费统一供应商目录,并更新 Kimi、MiniMax、小米 MiMo、百炼、火山引擎等已变化的控制台入口。
38
+
39
+ ## 0.2.5 - 2026-08-28
40
+
41
+ - 新增 `LlmProviderSetup` 的 preset/custom 来源契约和 `builtin | user` 生命周期;已有配置字段与工厂参数均保持可选,0.2.4 消费代码无需迁移即可继续运行。
42
+ - `createProviderFromPreset()` 现在显式返回稳定 `credentialId` 与 setup 来源,并允许宿主把正式内置记录标为 `builtin`;BigModel cn/global 仍保持区域化 endpoint profile 与凭据隔离。
43
+ - 新增 API Key 管理地址规范化与解析:endpoint profile 官方地址优先,其次 preset 官方地址,custom 只接受不含内嵌凭据、长度不超过 2048 的绝对 HTTP(S) URL。
44
+
45
+ ## 0.2.4 - 2026-08-28
46
+
47
+ - 新增 `@henjicc/ai-sdk/llm/bigmodel` 按需入口:保留 `bigmodel` 中国大陆默认实例,并在同一协议族内提供 `cn/global` 两个端点 profile、独立凭据槽和分区价格。
48
+ - 新增 GLM-5.3-Flash 的保守能力目录与 Chat Completions 文件引用、普通 SSE 工具分片支持;结构化输出、`tool_stream` 与 SDK 未实现的 `file_id` 上传保持关闭。
49
+ - LLM 原生流式与模型步按 `providerFamilyId` 应用协议规则、按 `credentialId` 取密钥,并拒绝 BigModel 跨区端点或凭据错配。
50
+
51
+ 本项目遵循语义化版本。`0.x` 阶段仍可能包含破坏性调整,升级时请先阅读对应版本说明。
52
+
53
+ ## 0.2.3 - 2026-08-28
54
+
55
+ - 修复 Fun-ASR Realtime 把官方 `sentence_begin=true`、`sentence_end=false`、`text=""` 句首生命周期事件误报为 `invalid_response`;空句首现在继续等待真实文本。
56
+ - 保持严格终态:空 final 仍报协议错误,任务全程没有有效 final 时在 `task-finished` 报无有效转写;空 `task-finished.payload` 不覆盖已累计结果。
57
+ - 重复 final 只累计并通知一次;补齐官方事件 fixture、用户错误回归、空终态、终态顺序、错误与资源释放断牙测试。
58
+
59
+ ## 0.2.2 - 2026-08-28
60
+
61
+ - 新增按需入口 `@henjicc/ai-sdk/llm/modules`:外部包、插件与内置 LLM 共用 source-aware 注册、流式/非流式执行、模型发现、取消、drain、namespace 注销和 dispose 生命周期。
62
+ - LLM module 复用现有 Chat DTO、Token/ReasoningToken、usage、Abort/timeout、RuntimeContext、日志、trace 与统一 discovery;client 统一发射 Usage/Finish/Done/Error,插件不需要导入 SDK,也没有第二套插件专用执行器。
63
+ - module ID 与 provider/model 坐标冲突均拒绝覆盖并列出双方 source;新增 `createGroqLlmModule()`,正式验证外部插件不能遮蔽内置 Groq。
64
+ - 新增精确资源/断牙测试、无网络 bundle 隔离门禁,以及远端 Node ESM、strict TypeScript、Vite 和无全局 `TextEncoder` / `TextDecoder` 消费验证。
65
+
66
+ ## 0.2.1 - 2026-08-28
67
+
68
+ - 修复构建期 ESM specifier 重写漏掉精确 `.` / `..` 目录导入,确保 Node ESM 消费方可直接加载 ASR、实时 ASR、翻译和 Groq 按需入口。
69
+ - 发布门禁新增仓库外 Node ESM 实际执行,连同严格 TypeScript、Vite、无全局 `TextEncoder` / `TextDecoder` 与 bundle 隔离一起验证;发布说明将 `0.2.0` 标记为不建议使用。
70
+
71
+ ## 0.2.0 - 2026-08-28
72
+
73
+ - 新增供应商无关的 ASR、翻译与实时会话能力协议;宿主按需注入 HTTP、实时连接、媒体读取、凭据、日志、Abort 与超时,不依赖 Node/Electron 或浏览器全局 WebSocket。
74
+ - 新增 5 个百炼短音频/文件 ASR、4 个百炼实时 ASR、Qwen-MT Flash/Plus/Lite,以及 Groq GPT-OSS 20B 流式聊天、静态默认模型与模型发现入口;具体能力均需从独立子路径显式导入。
75
+ - capability descriptor 新增必填 `source.kind/source.namespace`,支持内置/外部/插件所有权、冲突诊断、来源批量卸载和资源释放;module ID、provider/kind/model 坐标与统一 discovery ID 冲突不再静默覆盖。
76
+ - **破坏性变更**:百炼 ASR module ID 从 `bailian.<modelId>` 统一为 `bailian.speech-recognition.<modelId>`,SDK 不保留旧 ID 或 `funasr` provider alias;已有宿主持久化数据需一次性迁移。
77
+ - 新增 ASR、翻译、Groq 与开放 OCR/custom operation 的穷举/断牙测试及独立 bundle 门禁;所有供应商 fixture 均不含真实密钥,本版本发布验证不发起付费模型请求。
78
+
79
+ ## 0.1.8 - 2026-08-28
80
+
81
+ - 修复 Photoshop UXP 9.2 缺少全局 `TextDecoder` 时 LLM SSE 无法启动:窄流式入口改用 SDK 内部增量 UTF-8 解码器,不要求宿主注入 DOM 或 Node polyfill。
82
+ - UTF-8 解码覆盖中文与 emoji 跨 chunk、畸形/过长/代理项/越界序列的替换字符语义,以及流结束截断尾段 flush;LLM reasoning/text/usage/stop/`[DONE]` 和 Abort 契约不变。
83
+ - UXP 门禁不再向 VM 注入 `TextEncoder` / `TextDecoder`,并禁止重新引入直接 `TextDecoder` 构造。
84
+
85
+ ## 0.1.7 - 2026-08-28
86
+
87
+ - 新增 `@henjicc/ai-sdk/llm/streaming` 受限宿主入口,仅包含原生 OpenAI-compatible SSE、取消、必要类型与错误协议,不静态带入 modelStep、Zod 或 Vercel AI SDK。
88
+ - 原生 SSE 补齐 usage 与 finish reason 结果,保持 reasoning/text 事件与旧入口兼容;覆盖 UTF-8 跨 chunk、`[DONE]`、供应商错误与 Abort。
89
+ - 新增关闭 tree-shaking 的 UXP LLM IIFE/ESM 发布门禁,禁止动态代码生成、Node 全局与非必需 Streams polyfill。
90
+
91
+ ## 0.1.6 - 2026-08-28
92
+
93
+ - APIMart Nano Banana 2、Lite、Pro 新增常规/官方双渠道,保持常规渠道为默认,并按渠道切换精确模型 ID 与估价。
94
+ - APIMart Seedream 5 Pro 补齐官方合法的 `2:1` / `1:2`;Pro/Lite 对列表外比例显式报错,不再静默降级 1:1。
95
+ - Fal Seedream 5 Pro/Lite、Qwen Image 3、GPT Image 2、Z-Image 补齐通用比例与显式约 1MP 请求档;GPT Image 2 补齐 `quality=auto`,所有 0.1.5 默认保持不变。
96
+ - 补齐 Photoshop adapter 迁移交接;APIMart Midjourney、Z-Image、GPT Image 2 与 Fal Nano 隐藏默认经官方契约核证后维持现实现。
97
+
98
+ ## 0.1.5 - 2026-08-28
99
+
100
+ - 新增零内置依赖的 `generation/core`、99 个完整单模型 pack、8 个 provider adapter/pack;默认
101
+ `generation` 仍保持 99 模型兼容行为。
102
+ - 新增 provider-scoped 媒体预处理/上传策略,完整 pack 可独立完成媒体读取、上传与生成生命周期。
103
+ - 新增开放 capability module 协议,支持 ASR/OCR 等非媒体生成能力按模块注册、发现、类型化执行与取消。
104
+ - 新增 3 个不进入默认目录的 Fal 图像消除单模型 pack 与聚合 `tool-packs/fal-image-edit-tools`,复用同一
105
+ Fal 上传、队列、轮询、错误与取消内核。
106
+ - 新增跨 generation、LLM 与开放扩展的统一能力画像和组合筛选;筛选只作用于宿主已导入候选,
107
+ 静态最小化仍由单模型、供应商或模型集合 pack 的 import 边界决定。
108
+
109
+ ## 0.1.4 - 2026-08-27
110
+
111
+ - 新增 `@henjicc/ai-sdk/generation` 与 `createGenerationClient`,复用根客户端唯一生成内核,不静态带入 LLM/Vercel AI SDK。
112
+ - 新增 generation IIFE/VM 发布门禁:99 模型目录与零网络生命周期通过,禁止 Node、动态代码生成、global fetch、Streams、File、`btoa`/`atob` 等受限宿主风险。
113
+ - Fal CDN 上传改为全程使用 `RuntimeContext.transport` 的 REST initiate + signed PUT,不再依赖 `@fal-ai/client` 或构造 `File`;补齐成功、失败、取消 fixture。
114
+ - 保留 `uploadToFal(apiKey, prepared)` 两参数兼容调用;新宿主应显式传 Transport 或使用生成客户端。
115
+
116
+ ## 0.1.3 - 2026-08-27
117
+
118
+ - 修复 Fal 队列任务在提交 alias 与状态查询 canonical route 不一致时轮询失败:优先保存供应商返回的完整 `status_url`,仅缺失时才按 `request_id` 重建。
119
+ - 完整 `status_url` 轮询完成后仍还原纯 request id,避免状态 URL 被媒体结果收集器误判为生成结果。
120
+ - KIE/Fal Seedream 4.0、4.5 四个历史 override 已完成真实供应商单张最小规格验证;KIE/APIMart/PPIO 只读连通性与 KIE/APIMart 设置页余额展示已完成正式 Electron 验证。
121
+
122
+ ## 0.1.2 - 2026-08-27
123
+
124
+ - 修复发布包在标准 Vite 开发模式下无法解析:五个 `exports` 入口不再优先指向未随包发布的 `src/`,统一解析到已发布的 `dist/` ESM 与类型声明。
125
+ - 发布前门禁新增仓库外临时消费方的标准 Vite dev server 解析回归,覆盖包根及四个子路径入口,防止再次发布只在 monorepo 内可用的条件导出。
126
+
127
+ ## 0.1.1 - 2026-08-27
128
+
129
+ - 新增 Electron、Tauri、UXP 接入指南,以及供应商域名与错误处理参考。
130
+ - 新增 `minimal-node`、`form-renderer`、`llm-chat` 三个可构建示例。
131
+ - 重写快速开始,补齐 GitHub Packages 私有安装、四项宿主接口注入和生成/轮询示例。
132
+
133
+ - 不改变 `0.1.0` 的运行时 API;此补丁版用于交付完整指南、示例与已知限制。
134
+
135
+ ## 0.1.0 - 2026-08-27
136
+
137
+ - 首次私有发布到 GitHub Packages:`@henjicc/ai-sdk`。
138
+ - 提供 8 个生成供应商、99 个模型目录、媒体上传预处理与统一 `createAIClient` 入口。
139
+ - 提供 OpenAI-compatible LLM 流式执行与模型步能力。
140
+ - 提供 5 个 ESM 导出入口、完整 TypeScript 类型声明及模型/LLM 适配文档。
141
+ - 产物保留源码模块结构,不预打成单文件,供 UXP、Tauri 与现代 Node 打包器静态分析和 tree-shaking。
142
+
143
+ 迁移说明:这是首次发布,无历史 npm 版本需要迁移;仓库内原占位导入名 `@henji/ai-sdk` 已统一改为 `@henjicc/ai-sdk`。
package/README.md ADDED
@@ -0,0 +1,472 @@
1
+ # @henjicc/ai-sdk
2
+
3
+ 痕迹AI 的多供应商模型 SDK:内含 8 个生成供应商、105 个图片/视频/音频模型,以及
4
+ 7 家 LLM 供应商预设(加上派欧云聚合入口共 8 个预设项)和 15 个按需 ASR 模型。另有 12 个 FAL 图片工具使用独立按需入口,不进入默认 105 模型目录。预制 LLM 会按供应商与具体模型自动选择 Responses API 或 Chat Completions,宿主不需要暴露逐模型协议设置。SDK 负责目录、请求构建、媒体预处理、
5
+ 供应商调用、轮询、SSE 与错误归一化;宿主只需注入网络、凭据、媒体读取和日志。
6
+
7
+ ## 5 分钟快速开始
8
+
9
+ SDK `0.2.8` 公开发布在 npm,无需配置 registry 或访问令牌:
10
+
11
+ ```bash
12
+ npm install @henjicc/ai-sdk@0.2.8
13
+ ```
14
+
15
+ 然后提供 4 个宿主能力(`Transport` / `CredentialStore` / `MediaReader` / `Logger`),创建客户端:
16
+
17
+ ```ts
18
+ import { readFile } from 'node:fs/promises'
19
+ import { basename } from 'node:path'
20
+ import { createAIClient, type RuntimeContext } from '@henjicc/ai-sdk'
21
+
22
+ const runtime: RuntimeContext = {
23
+ transport: { fetch: (url, init) => fetch(url, init) },
24
+ credentials: {
25
+ get: (scope, providerId) =>
26
+ scope === 'generation' && providerId === 'kie' ? process.env.KIE_API_KEY : undefined,
27
+ },
28
+ media: {
29
+ read: async (ref) => ({
30
+ bytes: new Uint8Array(await readFile(ref)),
31
+ mimeType: 'image/png',
32
+ filename: basename(ref),
33
+ }),
34
+ },
35
+ logger: {
36
+ info: console.log,
37
+ warn: console.warn,
38
+ error: console.error,
39
+ },
40
+ }
41
+
42
+ const client = createAIClient({ runtime })
43
+ try {
44
+ const params = { prompt: 'A blue paper boat', kieZImageAspectRatio: '1:1' }
45
+ const created = await client.generate({ modelId: 'kie-z-image', params })
46
+ const result = created.status === 'pending' && created.taskId
47
+ ? await client.continuePolling({ modelId: 'kie-z-image', taskId: created.taskId, params })
48
+ : created
49
+ console.log(result.url) // SDK 返回 URL;宿主决定是否下载落盘
50
+ } finally {
51
+ client.dispose()
52
+ }
53
+ ```
54
+
55
+ 可直接运行的 Node 版本在 [examples/minimal-node](examples/minimal-node/README.md);它先提供零网络
56
+ `dry-run`,并为付费创建请求加了单次外网闸门。
57
+
58
+ ## 宿主契约
59
+
60
+ | 接口 | 宿主必须保证 |
61
+ |---|---|
62
+ | `Transport.fetch` | 返回标准 `Response`,保留 4xx/5xx 响应,网络失败抛异常,尊重 `AbortSignal` |
63
+ | `CredentialStore.get` | 按 scope/providerId 读取明文密钥;未配置或丢失时返回 `undefined` |
64
+ | `MediaReader.read` | 将宿主的本地/受管引用转成 `Uint8Array + mimeType + filename` |
65
+ | `Logger` | 可选;不得记录 API key/token/cookie/授权头 |
66
+ | `Tracer` | 可选;缺省为 no-op |
67
+
68
+ 生成和 LLM 取消都必须带命名空间:
69
+ `client.cancel({ namespace: 'generation' | 'llm', taskId })`。自定义 provider 使用进程级注册表,
70
+ 同 ID 并发注册会拒绝;持有它的 client 退出时必须 `dispose()`。
71
+
72
+ 供应商官网与 API Key 入口由 SDK 统一提供,宿主不需要再维护一份链接表:
73
+
74
+ ```ts
75
+ import { findProviderMetadata } from '@henjicc/ai-sdk'
76
+
77
+ const provider = findProviderMetadata('kie')
78
+ console.log(provider?.websiteUrl, provider?.apiKeyUrl)
79
+
80
+ // 同一供应商的区域站点通过 endpointProfile 选择。
81
+ const zAi = findProviderMetadata('bigmodel', { endpointProfile: 'global' })
82
+ ```
83
+
84
+ LLM 预设默认使用 SDK 维护的官方地址,并按具体模型选择 Chat Completions 或 Responses。宿主若允许高级用户修改连接信息,应把主动修改写入
85
+ `setup.connectionOverrides`;字段缺省时保持自动路由,不要把 SDK 的默认值复制成覆盖值。
86
+
87
+ `websiteUrl` 是面向用户的实际跳转入口;派欧云、KIE、APIMart 会保留项目配置的邀请码,
88
+ 其余供应商使用正常官网。未知的自定义供应商返回 `null`,SDK 不猜测地址。
89
+
90
+ ## 接入文档与示例
91
+
92
+ - [SDK 消费项目清单](docs/consumers.md)
93
+ - [Electron 主进程适配](docs/接入指南/Electron.md)
94
+ - [Tauri 2 适配](docs/接入指南/Tauri.md)
95
+ - [Photoshop UXP 适配](docs/接入指南/UXP.md)
96
+ - [供应商域名与白名单](docs/接入指南/供应商域名.md)
97
+ - [错误处理](docs/接入指南/错误处理.md)
98
+ - [Node KIE 生成](examples/minimal-node/README.md)
99
+ - [5 模型表单契约](examples/form-renderer/README.md)
100
+ - [LLM 流式对话](examples/llm-chat/README.md)
101
+
102
+ ## 发布形式与可移植性
103
+
104
+ 发布产物是保留模块边界的 ESM + `.d.ts`,没有 CJS `require` 入口。CommonJS 项目请用
105
+ 动态 `import()`。UXP/Tauri 必须在构建期用 Vite/Rollup/webpack/esbuild 打包实际使用的 ESM 依赖。
106
+ SDK 源码不得依赖 `@/`、`node:`、Electron、`import.meta.glob`、`eval`/`new Function`/`node:vm`;
107
+ `npm run check:sdk` 会守住这些边界。Photoshop/受限宿主只做生成时应从
108
+ `@henjicc/ai-sdk/generation` 导入 `createGenerationClient`;该入口不静态带入 LLM、Vercel AI SDK、
109
+ Node 内置模块或 Fal 官方客户端,发布门禁会把它打成 IIFE 并在无网络生命周期中核对 105 个模型。
110
+
111
+ ## 按需装配生成模型
112
+
113
+ `@henjicc/ai-sdk/generation` 是兼容入口,默认始终装入 105 个模型。真正需要缩小 Photoshop/Tauri
114
+ 包体时,从不含任何内置 catalog/provider 的 `generation/core` 创建模块化客户端,并只导入完整 pack:
115
+
116
+ ```ts
117
+ import { createModularGenerationClient } from '@henjicc/ai-sdk/generation/core'
118
+ import { pack as kieZImage } from '@henjicc/ai-sdk/models/kie/z-image'
119
+
120
+ const client = createModularGenerationClient({ runtime, packs: [kieZImage] })
121
+ console.log(client.catalog.list().map((model) => model.meta.id)) // ['kie-z-image']
122
+ ```
123
+
124
+ 完整单模型 pack 同时携带该模型的唯一真实 schema、provider adapter 与 provider-scoped 媒体预处理/
125
+ 上传策略;宿主不需要知道内部上传模块。`@henjicc/ai-sdk/provider-packs/kie` 可一次装入 KIE 的全部
126
+ 27 个模型;`provider-adapters/kie` 只装入 KIE 执行与上传策略、不装任何模型。所有 105 个单模型路径和
127
+ 8 个供应商路径由 catalog 生成器自动产出并由 bundle 门禁穷举,新增模型不会靠手工维护 exports。
128
+
129
+ 每个 `models/<provider>/<model>` 子路径也导出名为 `model` 的低层定义,供目录分析或高级自定义组合;
130
+ 直接传裸 `model` 而不传同文件的 `pack` 不保证媒体上传或供应商执行完整,普通宿主应使用 `pack`。
131
+ 包根 `createAIClient` 仍默认 105 模型;若确实需要根 client 的 chat 与按需生成共存,可显式传:
132
+
133
+ ```ts
134
+ const client = createAIClient({
135
+ runtime,
136
+ generation: { mode: 'modular', packs: [kieZImage] },
137
+ })
138
+ ```
139
+
140
+ 普通 LLM 宿主可直接导入 `@henjicc/ai-sdk/llm`。Photoshop UXP 等禁止字符串代码生成的受限宿主
141
+ 必须改用 `@henjicc/ai-sdk/llm/streaming`:它只提供原生 OpenAI-compatible SSE 的
142
+ `runLlmChatStream`、`cancelLlmChatTask` 与必要类型/错误,不会进入 modelStep、Zod、Vercel AI SDK
143
+ 或 generation 静态图。两条入口复用同一份原生流式实现,不存在功能分叉。
144
+
145
+ ```ts
146
+ import {
147
+ cancelLlmChatTask,
148
+ runLlmChatStream,
149
+ type LlmChatRequestDto,
150
+ type RuntimeContext,
151
+ } from '@henjicc/ai-sdk/llm/streaming'
152
+
153
+ const request: LlmChatRequestDto = {
154
+ requestId: 'chat-1', providerId: 'openai', modelId: 'gpt-5-mini',
155
+ messages: [{ role: 'user', content: '你好' }],
156
+ }
157
+ const result = await runLlmChatStream(request, 'chat-1', onStreamEvent, runtime as RuntimeContext)
158
+ console.log(result.output, result.reasoningOutput, result.usage, result.finishReason)
159
+ cancelLlmChatTask('chat-1')
160
+ ```
161
+
162
+ ### 可选模型分发包与统一能力筛选
163
+
164
+ 当前 12 个 FAL 图片工具不会混入默认 105 模型。宿主可选择单个完整工具模型 pack,也可按用户任务装入三个聚合包:
165
+
166
+ - `tool-packs/fal-image-edit-tools`:3 个消除工具。
167
+ - `tool-packs/fal-image-utility-tools`:6 个重打光、暗光增强、扩图、商品摄影、照片修复和背景移除工具。
168
+ - `tool-packs/fal-multi-angle-tools`:3 个连续镜头控制或离散方位工具。
169
+
170
+ ```ts
171
+ import { createModularGenerationClient } from '@henjicc/ai-sdk/generation/core'
172
+ import { createModelCapabilityDiscovery } from '@henjicc/ai-sdk/discovery'
173
+ import { pack as falImageEditTools } from '@henjicc/ai-sdk/tool-packs/fal-image-edit-tools'
174
+ import { pack as falImageUtilityTools } from '@henjicc/ai-sdk/tool-packs/fal-image-utility-tools'
175
+
176
+ const eraseDiscovery = createModelCapabilityDiscovery({ generationPacks: [falImageEditTools] })
177
+ const utilityDiscovery = createModelCapabilityDiscovery({ generationPacks: [falImageUtilityTools] })
178
+ const erasers = eraseDiscovery.search({
179
+ providerIds: 'fal',
180
+ outputModalities: 'image',
181
+ operations: 'image-edit',
182
+ features: 'erase',
183
+ })
184
+ const utilities = utilityDiscovery.search({ providerIds: 'fal', outputModalities: 'image' })
185
+ const client = createModularGenerationClient({
186
+ runtime,
187
+ packs: [falImageEditTools, falImageUtilityTools],
188
+ })
189
+ console.log(erasers.map((item) => item.id))
190
+ console.log(utilities.map((item) => item.id))
191
+ ```
192
+
193
+ 单模型入口按集合分为:
194
+
195
+ - 消除:`tool-models/fal/flux-pro-erase`、`tool-models/fal/bria-eraser`、`tool-models/fal/finegrain-eraser`。
196
+ - 图片实用工具:`tool-models/fal/relighting`、`tool-models/fal/control-light`、`tool-models/fal/outpaint`、`tool-models/fal/product-photography`、`tool-models/fal/photo-restoration`、`tool-models/fal/pixelcut-background-removal`。
197
+ - 多角度:`tool-models/fal/qwen-image-edit-2509-multiple-angles`、`tool-models/fal/perspective-change`、`tool-models/fal/flux-2-multiple-angles`。
198
+
199
+ 每个单模型入口只导出 `model`、`provider` 与完整 `pack`。三个聚合包只携带各自 3 / 6 / 3 个工具模型、Fal adapter 和 Fal CDN 上传,不携带其余 105 模型或 LLM。能力筛选与分发是两层:`search()` 只过滤已经导入的候选,不会让已经进入 bundle 的代码自动消失;缩小包体仍必须显式选择单模型/provider/collection pack。
200
+
201
+ Henji-AI 在执行层按需装入工具 pack,但普通模型选择器、`@henjicc/ai-sdk/generation` 与默认能力发现仍只展示 105 个主目录模型。
202
+
203
+ ## 两类模型的公共边界
204
+
205
+ 生成模型与 LLM 共用以下基础设施:
206
+
207
+ | 能力 | 统一实现 | 约束 |
208
+ |---|---|---|
209
+ | 凭据 | `RuntimeContext.credentials` / `CredentialStore` | 用 `generation`、`llm` scope 隔离宿主密钥空间 |
210
+ | 网络 | `Transport` + `fetchProvider` | 只自动重试可证明尚未建连的错误,避免重放可能计费的请求 |
211
+ | 错误 | `runtime/errors.ts` + `runtime/error-classify.ts` | 生成错误码字符串保持稳定;LLM 保留鉴权、余额、限流、上下文、内容过滤等细分类 |
212
+ | 取消 | `runtime/task-registry.ts` | 单一 registry,以 `generation` / `llm` 命名空间隔离同名任务 |
213
+ | 重试判断 | `shouldRetry(error, mode)` | `safe-preconnect`、`request`、`poll-query` 共用分类,但策略生命周期不同 |
214
+ | 追踪 | `RuntimeContext.tracer` | SDK 只报告通用 span;助手专属 trace 由痕迹AI 宿主持有 |
215
+
216
+ 以下协议刻意保持分离:
217
+
218
+ - 生成模型是“创建任务 → 可选轮询 → 提取媒体结果”,允许长时间轮询,并容忍状态查询的连续瞬态失败。
219
+ - LLM 是 SSE 流式或 Vercel 模型步,持续输出 token / tool call,单次请求失败按模型步策略处理。
220
+
221
+ 二者的终止条件、进度含义、结果形状和可安全重试边界都不同。把它们压成一个通用 `execute()`
222
+ 只会隐藏协议差异,无法形成可靠抽象;第五阶段统一客户端只应在入口层分组编排,不应合并生命周期。
223
+
224
+ ## 目录与参数表单契约
225
+
226
+ 消费方从 client 私有目录读取模型,不需要自行复刻 canonical/alias 索引规则:
227
+
228
+ ```ts
229
+ const images = client.catalog.listByType('image')
230
+ const falModels = client.catalog.listByProvider('fal')
231
+ const editors = client.catalog.listByTag('supports-image-editing')
232
+ const params = client.catalog.getParams('fal-ai-gpt-image-2')
233
+ const defaults = client.catalog.getDefaultValues('fal-ai-gpt-image-2')
234
+ const price = client.catalog.estimatePrice('fal-ai-gpt-image-2', defaults)
235
+ ```
236
+
237
+ 价格依赖本地图片像素或视频时长时,模型会在 `pricing.mediaContext` 声明所需指标。消费方从
238
+ `@henjicc/ai-sdk/pricing` 调用 `resolvePricingMediaContext()`,只需注入自身的图片/视频元数据读取器;
239
+ SDK 统一处理媒体来源优先级、首个/求和聚合、固定倍率和参数倍率换算,再把结果交给原模型 calculator。
240
+ 指标无法读取时返回 `complete: false`,消费方应隐藏总价,而不是显示最低档兜底价。
241
+
242
+ `getParams()` 返回纯运行时 `RuntimeParamDef[]`。参数名、选项 label、图标、分组布局、linkages 和
243
+ 痕迹AI 特有 composite 面板配置属于应用 presentation,不在 SDK 目录里;通用消费方可以用参数 ID
244
+ 作最小标签,也可以在宿主维护自己的本地化展示层。`composite` 只保证值类型/default/API 契约,宿主
245
+ 必须按参数 ID 注入自定义组件,不能从 SDK 还原痕迹AI 专属面板。
246
+
247
+ ### 参数类型 → 控件
248
+
249
+ 以下 13 种是 `RuntimeParamDef` 的完整公开联合;括号内是当前真实 105 catalog 的出现数量。未出现不代表
250
+ 类型无效,而是当前目录没有对应模型。
251
+
252
+ | type | 105 catalog | 消费方控件 | 关键运行时字段 |
253
+ |---|---:|---|---|
254
+ | `dropdown` | 298 | 下拉选择 | `options[].value`、`default`、`required?` |
255
+ | `switch` | 92 | 布尔开关 | `default` |
256
+ | `number` | 83 | 数值输入/步进器 | `min?`、`max?`、`step?`、`default` |
257
+ | `text` | 7 | 单行文本 | `maxLength?`、`default` |
258
+ | `image-upload` | 5 | 图片上传 | `maxCount?`、`accept?`、`maxSize?`、`format?` |
259
+ | `composite` | 4 | 宿主自定义组件钩子 | `valueType?`、`default`;panel/config 不在 SDK |
260
+ | `textarea` | 3 | 多行文本 | `maxLength?`、`default` |
261
+ | `file-upload` | 1 | 文件上传 | `maxCount?`、`accept?`、`maxSize?` |
262
+ | `radio` | 0 | 单选组 | `options[].value`、`default` |
263
+ | `panel` | 0 | 递归分组容器 | `children[]`;布局样式由宿主决定 |
264
+ | `video-upload` | 0 | 视频上传 | `maxCount?`、`accept?`、`maxSize?`、时长范围 |
265
+ | `resolution` | 0 | 分辨率选择 | `presets[].value`、`allowCustom?` |
266
+ | `aspect-ratio` | 0 | 比例选择 | `options[].value` |
267
+
268
+ 所有参数共有 `id`、`type`、`order`、`default`,并可带 `required`、`valueType`、API 映射、
269
+ `transferKey`、`visible`、`disabled`。实际 105 catalog 的字段集合与数量由
270
+ `packages/ai-sdk/tests/catalog-consumer-contract.test.ts` 穷举锁定,不以旧 ParamDef 文件或示例推断。
271
+
272
+ ### 条件与媒体输入
273
+
274
+ - `evaluateRuntimeCondition()` 是条件显隐/inputLimits/requirements 的公共判断入口。函数条件直接调用;
275
+ 字符串条件使用受限 parser,支持真实 catalog 用到的标识符、`.length`、字面量、`typeof`、比较、
276
+ `&&`/`||`/`!`、括号和 `Array.isArray()`。它不使用 `eval`/`new Function`;未知 token、属性或调用
277
+ 会抛出明确错误,不会静默判为 false。
278
+ - `resolveRuntimeInputLimits()` 解析数据型/函数型输入限制并应用条件规则。
279
+ - `getRuntimeMediaInputContract()` 把 `inputLimits` 的通用图片/视频/音频入口、显式
280
+ `image-upload`/`video-upload`/`file-upload` 参数,以及 `runtimeConstraints.mediaFields` 的特殊请求字段
281
+ 分层返回。消费方必须据此渲染上传组件;不存在 URL 文本框 fallback。
282
+
283
+ 最小无框架验证器位于 `examples/form-renderer/`。它用 5 个真实模型覆盖普通选择、数值范围、条件显隐、
284
+ 通用与特殊媒体上传、composite 自定义钩子,可作为无 UI 框架的最小接入参考。
285
+
286
+ 本包不发布 JSON catalog 快照。Tauri/UXP 消费端都能在构建期使用 ESM,而真实目录包含 builder、
287
+ 计价、显隐和 inputLimits 函数,JSON 无法无损表达;并行发布不完整快照会形成第二份真相。未来只有出现
288
+ 明确的非 JavaScript/TypeScript 消费方时,才应另行设计带版本的可序列化投影契约。
289
+
290
+ ## 扩展模型类型与供应商
291
+
292
+ `ModelType` 与 `ProviderId` 都采用“内置字面量 + 开放字符串”的形式:编辑器仍会提示
293
+ `image` / `video` / `audio` 和 8 个内置供应商,同时消费方可以直接声明自己的类型与 provider id。
294
+ 下面的 TypeScript 示例不新增真实模型或供应商,只演示完整的注册、索引与请求构建机制:
295
+
296
+ ```ts
297
+ import {
298
+ buildRequest,
299
+ createModelIndex,
300
+ defineModel,
301
+ registerProvider,
302
+ unregisterProvider,
303
+ } from '@henjicc/ai-sdk'
304
+
305
+ const providerId = 'acme-transcript'
306
+
307
+ async function main(): Promise<void> {
308
+ registerProvider(providerId, {
309
+ execute: async (input) => ({
310
+ status: 'completed',
311
+ url: 'memory://result',
312
+ metadata: { requestBody: input.body },
313
+ }),
314
+ continuePolling: async () => ({
315
+ status: 'failed',
316
+ url: '',
317
+ metadata: { reason: 'not-supported' },
318
+ }),
319
+ })
320
+
321
+ try {
322
+ const model = defineModel({
323
+ meta: {
324
+ id: 'acme-transcript-v1',
325
+ canonicalModelId: 'acme-transcript-v1',
326
+ provider: providerId,
327
+ type: 'transcript',
328
+ },
329
+ params: [{ id: 'text', type: 'text', order: 1, default: '' }],
330
+ endpoints: '/v1/transcript',
331
+ request: { builder: (params) => ({ input: params.text }) },
332
+ pricing: { currency: '$', fixed: 0 },
333
+ })
334
+
335
+ const index = createModelIndex([model])
336
+ const request = await buildRequest(
337
+ { text: 'hello' },
338
+ index.get('acme-transcript-v1'),
339
+ )
340
+ console.log(request)
341
+ } finally {
342
+ unregisterProvider(providerId)
343
+ }
344
+ }
345
+
346
+ void main()
347
+ ```
348
+
349
+ 注册表语义是确定的:`registerProvider` 遇到同名 id 会抛
350
+ `provider_already_registered`,不会覆盖既有适配器;`unregisterProvider` 删除成功返回 `true`,
351
+ 未登记返回 `false`;`listProviders` 返回快照,修改返回数组不会改动注册表。插件与测试应使用唯一 id,
352
+ 并在 `finally` / `afterEach` 中注销。SDK 在首次访问 provider 注册表时惰性初始化 APIMart、Bailian、
353
+ Volcengine、PPIO、KIE、ModelScope、Fal、Grsai 八个内置供应商;调用方无需手工初始化。惰性初始化
354
+ 避免依赖仅靠模块加载保留的副作用,使 `sideEffects: false` 与 tree-shaking 语义一致。
355
+
356
+ ### 跨模型类型的统一能力画像
357
+
358
+ `@henjicc/ai-sdk/discovery` 只负责发现和筛选,不改变 generation、LLM 或扩展模块各自的执行协议。
359
+ 画像从已导入候选的真实 schema 派生,统一提供 provider、输出模态、operation、输入/输出内容类型、
360
+ features 与原始 tags。顶层查询维度默认 AND,也可设 `mode: 'any'`;单一维度可用
361
+ `{ anyOf: [...] }` / `{ allOf: [...] }` 表达 OR/AND。
362
+
363
+ 标准 operation 覆盖图片生成/编辑、视频文生/图生/参考/编辑、音频生成、chat、语音识别和 OCR,
364
+ 同时保留开放字符串。筛选结果用 `sourceKind` 区分 `generation-model`、`llm-model`、`extension`,
365
+ 调用方随后交给对应执行 handle;SDK 不提供一个掩盖协议差异的通用 `generate()`。
366
+
367
+ 能力画像是运行时选择层,不是打包器。`createModelCapabilityDiscovery({ generationPacks: [...] })` 只会看
368
+ 传入的 pack;它既不会隐式导入默认 105,也不会从 bundle 删除已导入代码。真正的按需分发仍以 import
369
+ 单模型/provider/collection pack 为边界。
370
+
371
+ ### ASR/OCR 等开放能力
372
+
373
+ ASR、OCR 不属于图片/视频/音频生成的 `ModelType`,SDK 不再要求把它们伪装成媒体生成模型。
374
+ `@henjicc/ai-sdk/capabilities` 提供独立的开放模块协议:
375
+
376
+ ```ts
377
+ import { createCapabilityClient, type CapabilityModule } from '@henjicc/ai-sdk/capabilities'
378
+
379
+ const speechRecognition: CapabilityModule<{ audio: Uint8Array }, { text: string }> = {
380
+ descriptor: {
381
+ id: 'my.speech-recognition',
382
+ kind: 'speech-recognition',
383
+ source: { kind: 'external', namespace: '@example/my-asr' },
384
+ contract: {
385
+ input: [{ kind: 'audio', required: true }],
386
+ output: [{ kind: 'text', required: true }],
387
+ },
388
+ },
389
+ execute: async ({ audio }, { signal }) => runLocalAsr(audio, signal),
390
+ }
391
+
392
+ const capabilities = createCapabilityClient({ runtime })
393
+ const asr = capabilities.register(speechRecognition)
394
+ const result = await asr.execute({ audio: bytes }, { requestId: 'asr-1' })
395
+ await capabilities.unregister(speechRecognition.descriptor.id)
396
+ await capabilities.dispose()
397
+ ```
398
+
399
+ `CapabilityKind` 与输入/输出 `CapabilityContentKind` 都是开放字符串;`source.namespace` 是包或插件的
400
+ 稳定所有者 ID,用于冲突诊断和批量卸载。模块执行上下文统一带
401
+ `RuntimeContext`、`AbortSignal`、requestId、Logger 与 Tracer。client 提供注册、发现、类型化执行、取消、
402
+ 注销、`unregisterSource(namespace)` 和 dispose,并统一错误边界。跨类型筛选使用上面的
403
+ `ModelCapabilityProfile`;执行仍走各自稳定的轮询、流式或扩展 handle,不复制协议。
404
+
405
+ 以下可选供应商入口只有显式 import 才进入消费方 bundle:
406
+
407
+ - `capabilities/speech-recognition/bailian`:5 个百炼短音频/文件 ASR;
408
+ - `capabilities/speech-recognition/bailian/realtime`:4 个百炼 Fun-ASR/Qwen 实时 ASR;
409
+ - `capabilities/speech-recognition/volcengine`:SeedASR 2.0 文件 submit/query;官方标准版只接受公网 URL;
410
+ - `capabilities/speech-recognition/volcengine/realtime`:SeedASR 2.0 gzip 二进制 WebSocket 实时识别;
411
+ - `capabilities/speech-recognition/siliconflow`:SenseVoiceSmall 与 TeleSpeechASR multipart 文件转写;
412
+ - `capabilities/speech-recognition/groq`:Whisper Large v3 Turbo/v3 文件转写与可选词/句时间戳;
413
+ - `capabilities/translation/bailian`:Qwen-MT Flash/Plus/Lite;
414
+ - `llm/groq`:Groq GPT-OSS 20B 默认配置、流式聊天和模型发现。
415
+ - `llm/bigmodel`:智谱同一 provider family 下的中国大陆/Global 端点 profile、独立凭据槽与 GLM-5.3-Flash 能力。
416
+ - `llm/modules`:外部包、插件与内置 LLM 共用的注册、执行、发现、取消和 namespace 卸载边界。
417
+
418
+ ASR module ID 固定为 `<providerId>.speech-recognition.<modelId>`,翻译固定为
419
+ `bailian.translation.<modelId>`;供应商 ID 使用 `bailian` / `volcengine` / `siliconflow` / `groq`,
420
+ 没有 `funasr` 兼容供应商别名。火山文件标准版不会读取本地 bytes/media-ref;宿主必须先通过自己受控的
421
+ 对象存储发布成供应商可访问 URL。SDK 不提供公共 URL 文本框或冒充上传成功的回退路径。
422
+
423
+ 外部 LLM 不属于 ASR/translation `CapabilityModule`。宿主从插件 manifest 构造 `LlmModule`,插件本身
424
+ 只实现宿主约定的轻量 ABI,无需导入或打包 SDK:
425
+
426
+ ```ts
427
+ import { createLlmModuleClient, type LlmModule } from '@henjicc/ai-sdk/llm/modules'
428
+
429
+ const pluginModule: LlmModule = {
430
+ descriptor: {
431
+ id: 'com.example.chat',
432
+ source: { kind: 'plugin', namespace: 'com.example.provider' },
433
+ providerId: 'example',
434
+ modelId: 'example-chat',
435
+ capabilities,
436
+ executionModes: ['request-response', 'event-stream'],
437
+ },
438
+ execute: async (request, context) => pluginAdapter.invoke(request, context),
439
+ discover: async (context) => pluginAdapter.discover(context),
440
+ dispose: async () => pluginAdapter.dispose(),
441
+ }
442
+
443
+ const llmModules = createLlmModuleClient({ runtime, modules: [pluginModule] })
444
+ const result = await llmModules.execute(pluginModule.descriptor.id, { messages }, {
445
+ requestId: 'chat-1',
446
+ mode: 'event-stream',
447
+ onEvent,
448
+ })
449
+ await llmModules.unregisterSource('com.example.provider')
450
+ ```
451
+
452
+ client 统一拥有 Usage/Finish/Done/Error 终态、Abort/timeout、结构化日志、trace、冲突诊断和资源 drain;
453
+ module 只发送 Token/ReasoningToken 增量并返回最终结果。`createGroqLlmModule()` 把现有 Groq 共享内核
454
+ 包装成同一注册边界,插件占用 `groq/openai/gpt-oss-20b` 时会列出双方 source 并拒绝覆盖。
455
+
456
+ ## 已知限制与验证边界
457
+
458
+ - SDK 从 `0.2.8` 起以公共 npm 为唯一正式分发渠道,可匿名安装;旧 GitHub Packages 版本仅保留作历史与回滚依据。
459
+ - Electron 宿主已经完整构建、桌面冒烟与真实 KIE/LLM 请求验证;`0.1.2` 已在真实 macOS Tauri 2.11.0 WebView + Rust `tauri-plugin-http` 中以 loopback fixture 跑通 create/poll、multi-chunk SSE 与 AbortSignal。`0.2.0` 的 generation-only、单工具、Fal erase tool pack、ASR、翻译、Groq 与 UXP LLM streaming 入口已通过静态依赖、受限 VM 和零网络生命周期门禁;窄 LLM 入口在完全没有 `TextEncoder` / `TextDecoder` 的 VM 中覆盖 UTF-8 跨 chunk、reasoning、text、usage、stop、`[DONE]` 与取消。`0.2.7` 新增的火山文件/实时、硅基流动和 Groq ASR 四个按需入口也已纳入独立 bundle 与受限宿主门禁;百炼、火山、硅基流动、Groq 的 ASR/翻译验证均使用官方来源或明确分类的构造 fixture,没有发起真实或付费网络请求。Photoshop UXP 真机网络稳定性仍由插件集成任务验证,Grayscale/LAB/CMYK 图层字节读取也未真机复验。
460
+ - Fal 官方存储上传已在 Electron/Node real profile 中用无隐私合成 PNG 跑通真实端到端:119 字节上传与 Range 回读 SHA-256 一致,未触发模型请求或费用。`0.1.4` 将同一 initiate + signed PUT 协议收口到 `RuntimeContext.transport`,不再依赖 `@fal-ai/client` 或构造 `File`,并补齐成功、失败与取消 fixture;真实证据仍来自迁移前已核对的同一官方协议。CDN URL 公开,生产代码未显式设置 lifecycle,保留期依赖 Fal 账户设置。
461
+ - 四个历史 override 模型均已完成真实供应商 create/poll/result URL 验证。KIE Seedream 4.0/4.5 首轮各一次完成;Fal Seedream 4.0 首轮 create 后暴露 `0.1.2` status route 重建 405 并按首败停止,后在新的独立费用授权下,修复后 4.0 completed 才继续 4.5,两者均 completed 且无 create 重试。优先保存供应商完整 `status_url` 的修复已在私有 `0.1.3` 发布,并通过远程干净安装与标准 Vite 五入口回归。
462
+ - KIE、APIMart、PPIO 的正式只读 probe 均已得到 HTTP 200 且分类为 connected/verified;KIE/APIMart 余额已在正式 Electron real-profile 设置页显示,对应截图已实际打开目视。首轮场景选择器失败仍保留在 6.6 交接,没有用后台日志冒充 UI 证据。
463
+ - 8 家 provider fixture 中只有 Grsai 来自真实日志;其余按已核对测试断言与供应商文档构建。准确来源逐条记在 `tests/fixtures/README.md`,未冒充真实日志。
464
+ - `llm-chat` 已离线验证显式关闭 reasoning 后的文本 token 路径;唯一一次 DeepSeek 真实请求只返回 reasoning,修正版未再发起付费复验。
465
+ - 真实供应商的取消响应与错误 Key body 形状仅有注入 `Transport` 的契约测试,没有额外发起付费或故意失败的外网请求。
466
+
467
+ ## 相关文档
468
+
469
+ - 任务定义:`docs/task/模型SDK抽离/任务/第一阶段-可行性验证与基础设施/1.2-建立SDK包骨架.md`
470
+ - 重要决定记录:`docs/task/模型SDK抽离/重要记录.md`
471
+ - 本包内的调研资料索引:[docs/README.md](docs/README.md)
472
+ - 版本记录:[CHANGELOG.md](CHANGELOG.md)
@@ -0,0 +1,5 @@
1
+ import type { CapabilityDescriptor } from './types.js';
2
+ /** 仅用于统一发现;执行继续由 generation client 持有。 */
3
+ export declare const GENERATION_CAPABILITY_DESCRIPTOR: CapabilityDescriptor;
4
+ /** 仅用于统一发现;执行继续由 LLM/chat client 持有。 */
5
+ export declare const CHAT_CAPABILITY_DESCRIPTOR: CapabilityDescriptor;