@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.
- package/CHANGELOG.md +143 -0
- package/README.md +472 -0
- package/dist/capabilities/builtin-descriptors.d.ts +5 -0
- package/dist/capabilities/builtin-descriptors.js +32 -0
- package/dist/capabilities/client.d.ts +21 -0
- package/dist/capabilities/client.js +427 -0
- package/dist/capabilities/index.d.ts +5 -0
- package/dist/capabilities/index.js +5 -0
- package/dist/capabilities/media.d.ts +23 -0
- package/dist/capabilities/media.js +18 -0
- package/dist/capabilities/realtime.d.ts +2 -0
- package/dist/capabilities/realtime.js +1 -0
- package/dist/capabilities/speech-recognition/bailian/index.d.ts +3 -0
- package/dist/capabilities/speech-recognition/bailian/index.js +3 -0
- package/dist/capabilities/speech-recognition/bailian/module.d.ts +5 -0
- package/dist/capabilities/speech-recognition/bailian/module.js +232 -0
- package/dist/capabilities/speech-recognition/bailian/parse.d.ts +18 -0
- package/dist/capabilities/speech-recognition/bailian/parse.js +177 -0
- package/dist/capabilities/speech-recognition/bailian/presets.d.ts +17 -0
- package/dist/capabilities/speech-recognition/bailian/presets.js +53 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/index.d.ts +3 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/index.js +3 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/module.d.ts +5 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/module.js +303 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/presets.d.ts +13 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/presets.js +32 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/protocol.d.ts +38 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/protocol.js +192 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/types.d.ts +19 -0
- package/dist/capabilities/speech-recognition/bailian/realtime/types.js +1 -0
- package/dist/capabilities/speech-recognition/bailian/types.d.ts +21 -0
- package/dist/capabilities/speech-recognition/bailian/types.js +1 -0
- package/dist/capabilities/speech-recognition/bailian/upload.d.ts +9 -0
- package/dist/capabilities/speech-recognition/bailian/upload.js +93 -0
- package/dist/capabilities/speech-recognition/groq/index.d.ts +4 -0
- package/dist/capabilities/speech-recognition/groq/index.js +4 -0
- package/dist/capabilities/speech-recognition/groq/module.d.ts +5 -0
- package/dist/capabilities/speech-recognition/groq/module.js +226 -0
- package/dist/capabilities/speech-recognition/groq/parse.d.ts +3 -0
- package/dist/capabilities/speech-recognition/groq/parse.js +109 -0
- package/dist/capabilities/speech-recognition/groq/presets.d.ts +9 -0
- package/dist/capabilities/speech-recognition/groq/presets.js +23 -0
- package/dist/capabilities/speech-recognition/groq/types.d.ts +14 -0
- package/dist/capabilities/speech-recognition/groq/types.js +1 -0
- package/dist/capabilities/speech-recognition/index.d.ts +72 -0
- package/dist/capabilities/speech-recognition/index.js +25 -0
- package/dist/capabilities/speech-recognition/siliconflow/index.d.ts +3 -0
- package/dist/capabilities/speech-recognition/siliconflow/index.js +3 -0
- package/dist/capabilities/speech-recognition/siliconflow/module.d.ts +5 -0
- package/dist/capabilities/speech-recognition/siliconflow/module.js +183 -0
- package/dist/capabilities/speech-recognition/siliconflow/presets.d.ts +9 -0
- package/dist/capabilities/speech-recognition/siliconflow/presets.js +23 -0
- package/dist/capabilities/speech-recognition/siliconflow/types.d.ts +6 -0
- package/dist/capabilities/speech-recognition/siliconflow/types.js +1 -0
- package/dist/capabilities/speech-recognition/volcengine/index.d.ts +3 -0
- package/dist/capabilities/speech-recognition/volcengine/index.js +3 -0
- package/dist/capabilities/speech-recognition/volcengine/module.d.ts +5 -0
- package/dist/capabilities/speech-recognition/volcengine/module.js +260 -0
- package/dist/capabilities/speech-recognition/volcengine/parse.d.ts +5 -0
- package/dist/capabilities/speech-recognition/volcengine/parse.js +73 -0
- package/dist/capabilities/speech-recognition/volcengine/presets.d.ts +8 -0
- package/dist/capabilities/speech-recognition/volcengine/presets.js +21 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/index.d.ts +3 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/index.js +3 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/module.d.ts +5 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/module.js +450 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/presets.d.ts +8 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/presets.js +23 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/protocol.d.ts +21 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/protocol.js +223 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/types.d.ts +13 -0
- package/dist/capabilities/speech-recognition/volcengine/realtime/types.js +1 -0
- package/dist/capabilities/speech-recognition/volcengine/request-id.d.ts +1 -0
- package/dist/capabilities/speech-recognition/volcengine/request-id.js +27 -0
- package/dist/capabilities/speech-recognition/volcengine/types.d.ts +15 -0
- package/dist/capabilities/speech-recognition/volcengine/types.js +1 -0
- package/dist/capabilities/translation/bailian/index.d.ts +4 -0
- package/dist/capabilities/translation/bailian/index.js +4 -0
- package/dist/capabilities/translation/bailian/languages.d.ts +6 -0
- package/dist/capabilities/translation/bailian/languages.js +47 -0
- package/dist/capabilities/translation/bailian/module.d.ts +6 -0
- package/dist/capabilities/translation/bailian/module.js +310 -0
- package/dist/capabilities/translation/bailian/sse.d.ts +19 -0
- package/dist/capabilities/translation/bailian/sse.js +145 -0
- package/dist/capabilities/translation/bailian/types.d.ts +28 -0
- package/dist/capabilities/translation/bailian/types.js +13 -0
- package/dist/capabilities/translation/index.d.ts +62 -0
- package/dist/capabilities/translation/index.js +18 -0
- package/dist/capabilities/types.d.ts +81 -0
- package/dist/capabilities/types.js +1 -0
- package/dist/capabilities/validation.d.ts +8 -0
- package/dist/capabilities/validation.js +74 -0
- package/dist/catalog/apimart/gemini-omni-flash.model.d.ts +3 -0
- package/dist/catalog/apimart/gemini-omni-flash.model.js +185 -0
- package/dist/catalog/apimart/gpt-image-2.model.d.ts +3 -0
- package/dist/catalog/apimart/gpt-image-2.model.js +174 -0
- package/dist/catalog/apimart/grok-imagine-2.0.model.d.ts +3 -0
- package/dist/catalog/apimart/grok-imagine-2.0.model.js +145 -0
- package/dist/catalog/apimart/kling-3.0-omni.model.d.ts +3 -0
- package/dist/catalog/apimart/kling-3.0-omni.model.js +120 -0
- package/dist/catalog/apimart/kling-3.0-turbo.model.d.ts +3 -0
- package/dist/catalog/apimart/kling-3.0-turbo.model.js +54 -0
- package/dist/catalog/apimart/kling-3.0.model.d.ts +3 -0
- package/dist/catalog/apimart/kling-3.0.model.js +65 -0
- package/dist/catalog/apimart/midjourney-video.model.d.ts +3 -0
- package/dist/catalog/apimart/midjourney-video.model.js +113 -0
- package/dist/catalog/apimart/midjourney.model.d.ts +3 -0
- package/dist/catalog/apimart/midjourney.model.js +307 -0
- package/dist/catalog/apimart/minimax-h3.model.d.ts +3 -0
- package/dist/catalog/apimart/minimax-h3.model.js +107 -0
- package/dist/catalog/apimart/nano-banana-2-lite.model.d.ts +3 -0
- package/dist/catalog/apimart/nano-banana-2-lite.model.js +78 -0
- package/dist/catalog/apimart/nano-banana-2.model.d.ts +3 -0
- package/dist/catalog/apimart/nano-banana-2.model.js +92 -0
- package/dist/catalog/apimart/nano-banana-pro.model.d.ts +3 -0
- package/dist/catalog/apimart/nano-banana-pro.model.js +78 -0
- package/dist/catalog/apimart/qwen-image-3.0.model.d.ts +3 -0
- package/dist/catalog/apimart/qwen-image-3.0.model.js +92 -0
- package/dist/catalog/apimart/seedance-2.0-fast.model.d.ts +2 -0
- package/dist/catalog/apimart/seedance-2.0-fast.model.js +108 -0
- package/dist/catalog/apimart/seedance-2.0-mini.model.d.ts +2 -0
- package/dist/catalog/apimart/seedance-2.0-mini.model.js +108 -0
- package/dist/catalog/apimart/seedance-2.0.model.d.ts +2 -0
- package/dist/catalog/apimart/seedance-2.0.model.js +114 -0
- package/dist/catalog/apimart/seedance-2.5.model.d.ts +2 -0
- package/dist/catalog/apimart/seedance-2.5.model.js +137 -0
- package/dist/catalog/apimart/seedream-5.0-lite.model.d.ts +2 -0
- package/dist/catalog/apimart/seedream-5.0-lite.model.js +78 -0
- package/dist/catalog/apimart/seedream-5.0-pro.model.d.ts +2 -0
- package/dist/catalog/apimart/seedream-5.0-pro.model.js +145 -0
- package/dist/catalog/apimart/z-image-turbo.model.d.ts +2 -0
- package/dist/catalog/apimart/z-image-turbo.model.js +50 -0
- package/dist/catalog/bailian/qwen-image-3.0.model.d.ts +3 -0
- package/dist/catalog/bailian/qwen-image-3.0.model.js +90 -0
- package/dist/catalog/bailian/z-image-turbo.model.d.ts +3 -0
- package/dist/catalog/bailian/z-image-turbo.model.js +56 -0
- package/dist/catalog/conditions/evaluate.d.ts +15 -0
- package/dist/catalog/conditions/evaluate.js +98 -0
- package/dist/catalog/conditions/index.d.ts +3 -0
- package/dist/catalog/conditions/index.js +3 -0
- package/dist/catalog/conditions/parser.d.ts +20 -0
- package/dist/catalog/conditions/parser.js +107 -0
- package/dist/catalog/conditions/tokens.d.ts +11 -0
- package/dist/catalog/conditions/tokens.js +88 -0
- package/dist/catalog/consumer-contract.d.ts +45 -0
- package/dist/catalog/consumer-contract.js +123 -0
- package/dist/catalog/defineModel.d.ts +17 -0
- package/dist/catalog/defineModel.js +25 -0
- package/dist/catalog/fal/bria-creative-upscale.model.d.ts +2 -0
- package/dist/catalog/fal/bria-creative-upscale.model.js +32 -0
- package/dist/catalog/fal/gemini-omni-flash.model.d.ts +2 -0
- package/dist/catalog/fal/gemini-omni-flash.model.js +76 -0
- package/dist/catalog/fal/gpt-image-2.model.d.ts +2 -0
- package/dist/catalog/fal/gpt-image-2.model.js +141 -0
- package/dist/catalog/fal/grok-imagine-2.0.model.d.ts +2 -0
- package/dist/catalog/fal/grok-imagine-2.0.model.js +86 -0
- package/dist/catalog/fal/hailuo-02.model.d.ts +2 -0
- package/dist/catalog/fal/hailuo-02.model.js +152 -0
- package/dist/catalog/fal/hailuo-2.3.model.d.ts +2 -0
- package/dist/catalog/fal/hailuo-2.3.model.js +109 -0
- package/dist/catalog/fal/ic-light-v2.model.d.ts +2 -0
- package/dist/catalog/fal/ic-light-v2.model.js +83 -0
- package/dist/catalog/fal/ideogram-upscale.model.d.ts +2 -0
- package/dist/catalog/fal/ideogram-upscale.model.js +50 -0
- package/dist/catalog/fal/imageSizing.d.ts +3 -0
- package/dist/catalog/fal/imageSizing.js +12 -0
- package/dist/catalog/fal/imageUpscale.d.ts +4 -0
- package/dist/catalog/fal/imageUpscale.js +23 -0
- package/dist/catalog/fal/kling-3.0-omni.model.d.ts +2 -0
- package/dist/catalog/fal/kling-3.0-omni.model.js +99 -0
- package/dist/catalog/fal/kling-3.0-turbo.model.d.ts +2 -0
- package/dist/catalog/fal/kling-3.0-turbo.model.js +67 -0
- package/dist/catalog/fal/kling-3.0.model.d.ts +2 -0
- package/dist/catalog/fal/kling-3.0.model.js +80 -0
- package/dist/catalog/fal/kling-image-o1.model.d.ts +2 -0
- package/dist/catalog/fal/kling-image-o1.model.js +93 -0
- package/dist/catalog/fal/kling-video-o1.model.d.ts +2 -0
- package/dist/catalog/fal/kling-video-o1.model.js +167 -0
- package/dist/catalog/fal/kling-video-v2.6-pro.model.d.ts +2 -0
- package/dist/catalog/fal/kling-video-v2.6-pro.model.js +231 -0
- package/dist/catalog/fal/ltx-2.model.d.ts +2 -0
- package/dist/catalog/fal/ltx-2.model.js +221 -0
- package/dist/catalog/fal/minimax-h3.model.d.ts +2 -0
- package/dist/catalog/fal/minimax-h3.model.js +154 -0
- package/dist/catalog/fal/nano-banana-2.model.d.ts +2 -0
- package/dist/catalog/fal/nano-banana-2.model.js +126 -0
- package/dist/catalog/fal/nano-banana-pro.model.d.ts +2 -0
- package/dist/catalog/fal/nano-banana-pro.model.js +82 -0
- package/dist/catalog/fal/nano-banana.model.d.ts +2 -0
- package/dist/catalog/fal/nano-banana.model.js +86 -0
- package/dist/catalog/fal/pixverse-v5.5.model.d.ts +2 -0
- package/dist/catalog/fal/pixverse-v5.5.model.js +176 -0
- package/dist/catalog/fal/qwen-image-3.0.model.d.ts +2 -0
- package/dist/catalog/fal/qwen-image-3.0.model.js +90 -0
- package/dist/catalog/fal/seedance-2.0-fast.model.d.ts +2 -0
- package/dist/catalog/fal/seedance-2.0-fast.model.js +130 -0
- package/dist/catalog/fal/seedance-2.0-mini.model.d.ts +2 -0
- package/dist/catalog/fal/seedance-2.0-mini.model.js +124 -0
- package/dist/catalog/fal/seedance-2.0.model.d.ts +2 -0
- package/dist/catalog/fal/seedance-2.0.model.js +133 -0
- package/dist/catalog/fal/seedance-2.5.model.d.ts +2 -0
- package/dist/catalog/fal/seedance-2.5.model.js +133 -0
- package/dist/catalog/fal/seedance.model.d.ts +2 -0
- package/dist/catalog/fal/seedance.model.js +173 -0
- package/dist/catalog/fal/seedream-5.0-lite.model.d.ts +2 -0
- package/dist/catalog/fal/seedream-5.0-lite.model.js +92 -0
- package/dist/catalog/fal/seedream-5.0-pro.model.d.ts +2 -0
- package/dist/catalog/fal/seedream-5.0-pro.model.js +89 -0
- package/dist/catalog/fal/seedream-v4.5.model.d.ts +2 -0
- package/dist/catalog/fal/seedream-v4.5.model.js +154 -0
- package/dist/catalog/fal/seedream-v4.model.d.ts +2 -0
- package/dist/catalog/fal/seedream-v4.model.js +152 -0
- package/dist/catalog/fal/seedvr2-image-upscale.model.d.ts +3 -0
- package/dist/catalog/fal/seedvr2-image-upscale.model.js +73 -0
- package/dist/catalog/fal/topaz-image-upscale.model.d.ts +7 -0
- package/dist/catalog/fal/topaz-image-upscale.model.js +200 -0
- package/dist/catalog/fal/topaz-transparent-upscale.model.d.ts +2 -0
- package/dist/catalog/fal/topaz-transparent-upscale.model.js +35 -0
- package/dist/catalog/fal/utils/index.d.ts +9 -0
- package/dist/catalog/fal/utils/index.js +19 -0
- package/dist/catalog/fal/veo-3.1.model.d.ts +2 -0
- package/dist/catalog/fal/veo-3.1.model.js +196 -0
- package/dist/catalog/fal/vidu-q2.model.d.ts +2 -0
- package/dist/catalog/fal/vidu-q2.model.js +214 -0
- package/dist/catalog/fal/wan-2.5-preview.model.d.ts +2 -0
- package/dist/catalog/fal/wan-2.5-preview.model.js +116 -0
- package/dist/catalog/fal/z-image-turbo.model.d.ts +2 -0
- package/dist/catalog/fal/z-image-turbo.model.js +125 -0
- package/dist/catalog/grsai/gpt-image-2.model.d.ts +3 -0
- package/dist/catalog/grsai/gpt-image-2.model.js +117 -0
- package/dist/catalog/grsai/nano-banana-2-lite.model.d.ts +12 -0
- package/dist/catalog/grsai/nano-banana-2-lite.model.js +75 -0
- package/dist/catalog/grsai/nano-banana-2.model.d.ts +3 -0
- package/dist/catalog/grsai/nano-banana-2.model.js +100 -0
- package/dist/catalog/grsai/nano-banana-pro.model.d.ts +3 -0
- package/dist/catalog/grsai/nano-banana-pro.model.js +106 -0
- package/dist/catalog/index.d.ts +13 -0
- package/dist/catalog/index.js +224 -0
- package/dist/catalog/kie/gemini-omni-video.model.d.ts +2 -0
- package/dist/catalog/kie/gemini-omni-video.model.js +197 -0
- package/dist/catalog/kie/gpt-image-2.model.d.ts +2 -0
- package/dist/catalog/kie/gpt-image-2.model.js +151 -0
- package/dist/catalog/kie/grok-imagine-2.0.model.d.ts +2 -0
- package/dist/catalog/kie/grok-imagine-2.0.model.js +70 -0
- package/dist/catalog/kie/grok-imagine-video.model.d.ts +2 -0
- package/dist/catalog/kie/grok-imagine-video.model.js +108 -0
- package/dist/catalog/kie/grok-imagine.model.d.ts +2 -0
- package/dist/catalog/kie/grok-imagine.model.js +105 -0
- package/dist/catalog/kie/hailuo-02.model.d.ts +2 -0
- package/dist/catalog/kie/hailuo-02.model.js +125 -0
- package/dist/catalog/kie/hailuo-2-3.model.d.ts +2 -0
- package/dist/catalog/kie/hailuo-2-3.model.js +124 -0
- package/dist/catalog/kie/kling-3.0-omni.model.d.ts +2 -0
- package/dist/catalog/kie/kling-3.0-omni.model.js +209 -0
- package/dist/catalog/kie/kling-3.0-turbo.model.d.ts +2 -0
- package/dist/catalog/kie/kling-3.0-turbo.model.js +90 -0
- package/dist/catalog/kie/kling-3.0.model.d.ts +2 -0
- package/dist/catalog/kie/kling-3.0.model.js +122 -0
- package/dist/catalog/kie/kling-v2-6.model.d.ts +2 -0
- package/dist/catalog/kie/kling-v2-6.model.js +203 -0
- package/dist/catalog/kie/mediaSources.d.ts +6 -0
- package/dist/catalog/kie/mediaSources.js +29 -0
- package/dist/catalog/kie/minimax-h3.model.d.ts +2 -0
- package/dist/catalog/kie/minimax-h3.model.js +153 -0
- package/dist/catalog/kie/nano-banana-2-lite.model.d.ts +2 -0
- package/dist/catalog/kie/nano-banana-2-lite.model.js +92 -0
- package/dist/catalog/kie/nano-banana-2.model.d.ts +2 -0
- package/dist/catalog/kie/nano-banana-2.model.js +120 -0
- package/dist/catalog/kie/nano-banana-pro.model.d.ts +2 -0
- package/dist/catalog/kie/nano-banana-pro.model.js +94 -0
- package/dist/catalog/kie/qwen-image-3.0.model.d.ts +2 -0
- package/dist/catalog/kie/qwen-image-3.0.model.js +122 -0
- package/dist/catalog/kie/seedance-1.5-pro.model.d.ts +2 -0
- package/dist/catalog/kie/seedance-1.5-pro.model.js +142 -0
- package/dist/catalog/kie/seedance-2.0-fast.model.d.ts +2 -0
- package/dist/catalog/kie/seedance-2.0-fast.model.js +196 -0
- package/dist/catalog/kie/seedance-2.0-mini.model.d.ts +2 -0
- package/dist/catalog/kie/seedance-2.0-mini.model.js +189 -0
- package/dist/catalog/kie/seedance-2.0.model.d.ts +2 -0
- package/dist/catalog/kie/seedance-2.0.model.js +200 -0
- package/dist/catalog/kie/seedance-2.5.model.d.ts +2 -0
- package/dist/catalog/kie/seedance-2.5.model.js +187 -0
- package/dist/catalog/kie/seedance-v1.model.d.ts +2 -0
- package/dist/catalog/kie/seedance-v1.model.js +229 -0
- package/dist/catalog/kie/seedream-4.0.model.d.ts +2 -0
- package/dist/catalog/kie/seedream-4.0.model.js +150 -0
- package/dist/catalog/kie/seedream-4.5.model.d.ts +2 -0
- package/dist/catalog/kie/seedream-4.5.model.js +116 -0
- package/dist/catalog/kie/seedream-5.0-lite.model.d.ts +2 -0
- package/dist/catalog/kie/seedream-5.0-lite.model.js +110 -0
- package/dist/catalog/kie/seedream-5.0-pro.model.d.ts +2 -0
- package/dist/catalog/kie/seedream-5.0-pro.model.js +179 -0
- package/dist/catalog/kie/z-image.model.d.ts +2 -0
- package/dist/catalog/kie/z-image.model.js +67 -0
- package/dist/catalog/model-index.d.ts +14 -0
- package/dist/catalog/model-index.js +32 -0
- package/dist/catalog/modelscope/customModelRegistry.d.ts +26 -0
- package/dist/catalog/modelscope/customModelRegistry.js +26 -0
- package/dist/catalog/modelscope/flux-1-krea-dev.model.d.ts +5 -0
- package/dist/catalog/modelscope/flux-1-krea-dev.model.js +84 -0
- package/dist/catalog/modelscope/majicmix-realistic.model.d.ts +5 -0
- package/dist/catalog/modelscope/majicmix-realistic.model.js +84 -0
- package/dist/catalog/modelscope/modelscope-custom.model.d.ts +5 -0
- package/dist/catalog/modelscope/modelscope-custom.model.js +111 -0
- package/dist/catalog/modelscope/qwen-image-edit-2509.model.d.ts +5 -0
- package/dist/catalog/modelscope/qwen-image-edit-2509.model.js +83 -0
- package/dist/catalog/modelscope/qwen-image.model.d.ts +5 -0
- package/dist/catalog/modelscope/qwen-image.model.js +84 -0
- package/dist/catalog/modelscope/sdxl-14-ckpt.model.d.ts +5 -0
- package/dist/catalog/modelscope/sdxl-14-ckpt.model.js +84 -0
- package/dist/catalog/modelscope/utils.d.ts +33 -0
- package/dist/catalog/modelscope/utils.js +174 -0
- package/dist/catalog/modelscope/z-image-turbo.model.d.ts +5 -0
- package/dist/catalog/modelscope/z-image-turbo.model.js +75 -0
- package/dist/catalog/ppio/kling-3.0.model.d.ts +2 -0
- package/dist/catalog/ppio/kling-3.0.model.js +288 -0
- package/dist/catalog/ppio/mediaSources.d.ts +6 -0
- package/dist/catalog/ppio/mediaSources.js +29 -0
- package/dist/catalog/ppio/minimax-hailuo-2.3.model.d.ts +7 -0
- package/dist/catalog/ppio/minimax-hailuo-2.3.model.js +114 -0
- package/dist/catalog/ppio/minimax-speech.model.d.ts +2 -0
- package/dist/catalog/ppio/minimax-speech.model.js +336 -0
- package/dist/catalog/ppio/wan-2.5-preview.model.d.ts +7 -0
- package/dist/catalog/ppio/wan-2.5-preview.model.js +198 -0
- package/dist/catalog/ppio/wan-2.6.model.d.ts +7 -0
- package/dist/catalog/ppio/wan-2.6.model.js +206 -0
- package/dist/catalog/ppio/wan-2.7.model.d.ts +2 -0
- package/dist/catalog/ppio/wan-2.7.model.js +373 -0
- package/dist/catalog/shared/mediaPresence.d.ts +24 -0
- package/dist/catalog/shared/mediaPresence.js +86 -0
- package/dist/catalog/shared/seedreamResolution.d.ts +35 -0
- package/dist/catalog/shared/seedreamResolution.js +206 -0
- package/dist/catalog/validate.d.ts +17 -0
- package/dist/catalog/validate.js +356 -0
- package/dist/catalog/volcengine/seedream-5.0-lite.model.d.ts +3 -0
- package/dist/catalog/volcengine/seedream-5.0-lite.model.js +83 -0
- package/dist/catalog/volcengine/seedream-5.0-pro.model.d.ts +3 -0
- package/dist/catalog/volcengine/seedream-5.0-pro.model.js +149 -0
- package/dist/client.d.ts +36 -0
- package/dist/client.js +38 -0
- package/dist/discovery/index.d.ts +77 -0
- package/dist/discovery/index.js +238 -0
- package/dist/generation/core.d.ts +96 -0
- package/dist/generation/core.js +318 -0
- package/dist/generation.d.ts +20 -0
- package/dist/generation.js +58 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +40 -0
- package/dist/llm/bigmodel/index.d.ts +3 -0
- package/dist/llm/bigmodel/index.js +3 -0
- package/dist/llm/bigmodel/preset.d.ts +11 -0
- package/dist/llm/bigmodel/preset.js +58 -0
- package/dist/llm/bigmodel/profiles.d.ts +21 -0
- package/dist/llm/bigmodel/profiles.js +65 -0
- package/dist/llm/chat.d.ts +66 -0
- package/dist/llm/chat.js +144 -0
- package/dist/llm/chatTypes.d.ts +88 -0
- package/dist/llm/chatTypes.js +1 -0
- package/dist/llm/defaults.d.ts +29 -0
- package/dist/llm/defaults.js +55 -0
- package/dist/llm/discovery.d.ts +45 -0
- package/dist/llm/discovery.js +97 -0
- package/dist/llm/endpointProfiles.d.ts +41 -0
- package/dist/llm/endpointProfiles.js +75 -0
- package/dist/llm/groq/index.d.ts +25 -0
- package/dist/llm/groq/index.js +30 -0
- package/dist/llm/groq/module.d.ts +6 -0
- package/dist/llm/groq/module.js +51 -0
- package/dist/llm/groq/preset.d.ts +9 -0
- package/dist/llm/groq/preset.js +50 -0
- package/dist/llm/index.d.ts +25 -0
- package/dist/llm/index.js +30 -0
- package/dist/llm/message-metrics.d.ts +3 -0
- package/dist/llm/message-metrics.js +11 -0
- package/dist/llm/modelCatalog.d.ts +60 -0
- package/dist/llm/modelCatalog.js +64 -0
- package/dist/llm/modelCatalogEntries.d.ts +15 -0
- package/dist/llm/modelCatalogEntries.js +274 -0
- package/dist/llm/modelStep.d.ts +327 -0
- package/dist/llm/modelStep.js +200 -0
- package/dist/llm/modules/client.d.ts +2 -0
- package/dist/llm/modules/client.js +365 -0
- package/dist/llm/modules/index.d.ts +4 -0
- package/dist/llm/modules/index.js +4 -0
- package/dist/llm/modules/result-validation.d.ts +5 -0
- package/dist/llm/modules/result-validation.js +54 -0
- package/dist/llm/modules/types.d.ts +102 -0
- package/dist/llm/modules/types.js +1 -0
- package/dist/llm/modules/validation.d.ts +7 -0
- package/dist/llm/modules/validation.js +90 -0
- package/dist/llm/providerPresets.d.ts +45 -0
- package/dist/llm/providerPresets.js +208 -0
- package/dist/llm/providerProtocol.d.ts +29 -0
- package/dist/llm/providerProtocol.js +25 -0
- package/dist/llm/providerProtocolCore.d.ts +4 -0
- package/dist/llm/providerProtocolCore.js +35 -0
- package/dist/llm/providerReasoningRequest.d.ts +4 -0
- package/dist/llm/providerReasoningRequest.js +101 -0
- package/dist/llm/providerSetup.d.ts +6 -0
- package/dist/llm/providerSetup.js +89 -0
- package/dist/llm/reasoning.d.ts +5 -0
- package/dist/llm/reasoning.js +1 -0
- package/dist/llm/requestContract.d.ts +6 -0
- package/dist/llm/requestContract.js +35 -0
- package/dist/llm/sdk/index.d.ts +14 -0
- package/dist/llm/sdk/index.js +14 -0
- package/dist/llm/sdk/modelStep.d.ts +24 -0
- package/dist/llm/sdk/modelStep.js +254 -0
- package/dist/llm/sdk/provider.d.ts +38 -0
- package/dist/llm/sdk/provider.js +335 -0
- package/dist/llm/sdk/providerAdapter.d.ts +53 -0
- package/dist/llm/sdk/providerAdapter.js +26 -0
- package/dist/llm/sdk/retryPolicy.d.ts +13 -0
- package/dist/llm/sdk/retryPolicy.js +67 -0
- package/dist/llm/sdk/runtime.d.ts +13 -0
- package/dist/llm/sdk/runtime.js +127 -0
- package/dist/llm/sdk/toolSchema.d.ts +28 -0
- package/dist/llm/sdk/toolSchema.js +59 -0
- package/dist/llm/streaming/index.d.ts +18 -0
- package/dist/llm/streaming/index.js +8 -0
- package/dist/llm/streaming.d.ts +25 -0
- package/dist/llm/streaming.js +330 -0
- package/dist/llm/types.d.ts +290 -0
- package/dist/llm/types.js +1 -0
- package/dist/llm/utf8-stream-decoder.d.ts +1 -0
- package/dist/llm/utf8-stream-decoder.js +2 -0
- package/dist/packs/models/apimart/gemini-omni-flash.d.ts +6 -0
- package/dist/packs/models/apimart/gemini-omni-flash.js +7 -0
- package/dist/packs/models/apimart/gpt-image-2.d.ts +6 -0
- package/dist/packs/models/apimart/gpt-image-2.js +7 -0
- package/dist/packs/models/apimart/grok-imagine-2.0.d.ts +6 -0
- package/dist/packs/models/apimart/grok-imagine-2.0.js +7 -0
- package/dist/packs/models/apimart/kling-3.0-omni.d.ts +6 -0
- package/dist/packs/models/apimart/kling-3.0-omni.js +7 -0
- package/dist/packs/models/apimart/kling-3.0-turbo.d.ts +6 -0
- package/dist/packs/models/apimart/kling-3.0-turbo.js +7 -0
- package/dist/packs/models/apimart/kling-3.0.d.ts +6 -0
- package/dist/packs/models/apimart/kling-3.0.js +7 -0
- package/dist/packs/models/apimart/midjourney-video.d.ts +6 -0
- package/dist/packs/models/apimart/midjourney-video.js +7 -0
- package/dist/packs/models/apimart/midjourney.d.ts +6 -0
- package/dist/packs/models/apimart/midjourney.js +7 -0
- package/dist/packs/models/apimart/minimax-h3.d.ts +6 -0
- package/dist/packs/models/apimart/minimax-h3.js +7 -0
- package/dist/packs/models/apimart/nano-banana-2-lite.d.ts +6 -0
- package/dist/packs/models/apimart/nano-banana-2-lite.js +7 -0
- package/dist/packs/models/apimart/nano-banana-2.d.ts +6 -0
- package/dist/packs/models/apimart/nano-banana-2.js +7 -0
- package/dist/packs/models/apimart/nano-banana-pro.d.ts +6 -0
- package/dist/packs/models/apimart/nano-banana-pro.js +7 -0
- package/dist/packs/models/apimart/qwen-image-3.0.d.ts +6 -0
- package/dist/packs/models/apimart/qwen-image-3.0.js +7 -0
- package/dist/packs/models/apimart/seedance-2.0-fast.d.ts +6 -0
- package/dist/packs/models/apimart/seedance-2.0-fast.js +7 -0
- package/dist/packs/models/apimart/seedance-2.0-mini.d.ts +6 -0
- package/dist/packs/models/apimart/seedance-2.0-mini.js +7 -0
- package/dist/packs/models/apimart/seedance-2.0.d.ts +6 -0
- package/dist/packs/models/apimart/seedance-2.0.js +7 -0
- package/dist/packs/models/apimart/seedance-2.5.d.ts +6 -0
- package/dist/packs/models/apimart/seedance-2.5.js +7 -0
- package/dist/packs/models/apimart/seedream-5.0-lite.d.ts +6 -0
- package/dist/packs/models/apimart/seedream-5.0-lite.js +7 -0
- package/dist/packs/models/apimart/seedream-5.0-pro.d.ts +6 -0
- package/dist/packs/models/apimart/seedream-5.0-pro.js +7 -0
- package/dist/packs/models/apimart/z-image-turbo.d.ts +6 -0
- package/dist/packs/models/apimart/z-image-turbo.js +7 -0
- package/dist/packs/models/bailian/qwen-image-3.0.d.ts +6 -0
- package/dist/packs/models/bailian/qwen-image-3.0.js +7 -0
- package/dist/packs/models/bailian/z-image-turbo.d.ts +6 -0
- package/dist/packs/models/bailian/z-image-turbo.js +7 -0
- package/dist/packs/models/fal/bria-creative-upscale.d.ts +6 -0
- package/dist/packs/models/fal/bria-creative-upscale.js +7 -0
- package/dist/packs/models/fal/gemini-omni-flash.d.ts +6 -0
- package/dist/packs/models/fal/gemini-omni-flash.js +7 -0
- package/dist/packs/models/fal/gpt-image-2.d.ts +6 -0
- package/dist/packs/models/fal/gpt-image-2.js +7 -0
- package/dist/packs/models/fal/grok-imagine-2.0.d.ts +6 -0
- package/dist/packs/models/fal/grok-imagine-2.0.js +7 -0
- package/dist/packs/models/fal/hailuo-02.d.ts +6 -0
- package/dist/packs/models/fal/hailuo-02.js +7 -0
- package/dist/packs/models/fal/hailuo-2.3.d.ts +6 -0
- package/dist/packs/models/fal/hailuo-2.3.js +7 -0
- package/dist/packs/models/fal/ic-light-v2.d.ts +6 -0
- package/dist/packs/models/fal/ic-light-v2.js +7 -0
- package/dist/packs/models/fal/ideogram-upscale.d.ts +6 -0
- package/dist/packs/models/fal/ideogram-upscale.js +7 -0
- package/dist/packs/models/fal/kling-3.0-omni.d.ts +6 -0
- package/dist/packs/models/fal/kling-3.0-omni.js +7 -0
- package/dist/packs/models/fal/kling-3.0-turbo.d.ts +6 -0
- package/dist/packs/models/fal/kling-3.0-turbo.js +7 -0
- package/dist/packs/models/fal/kling-3.0.d.ts +6 -0
- package/dist/packs/models/fal/kling-3.0.js +7 -0
- package/dist/packs/models/fal/kling-image-o1.d.ts +6 -0
- package/dist/packs/models/fal/kling-image-o1.js +7 -0
- package/dist/packs/models/fal/kling-video-o1.d.ts +6 -0
- package/dist/packs/models/fal/kling-video-o1.js +7 -0
- package/dist/packs/models/fal/kling-video-v2.6-pro.d.ts +6 -0
- package/dist/packs/models/fal/kling-video-v2.6-pro.js +7 -0
- package/dist/packs/models/fal/ltx-2.d.ts +6 -0
- package/dist/packs/models/fal/ltx-2.js +7 -0
- package/dist/packs/models/fal/minimax-h3.d.ts +6 -0
- package/dist/packs/models/fal/minimax-h3.js +7 -0
- package/dist/packs/models/fal/nano-banana-2.d.ts +6 -0
- package/dist/packs/models/fal/nano-banana-2.js +7 -0
- package/dist/packs/models/fal/nano-banana-pro.d.ts +6 -0
- package/dist/packs/models/fal/nano-banana-pro.js +7 -0
- package/dist/packs/models/fal/nano-banana.d.ts +6 -0
- package/dist/packs/models/fal/nano-banana.js +7 -0
- package/dist/packs/models/fal/pixverse-v5.5.d.ts +6 -0
- package/dist/packs/models/fal/pixverse-v5.5.js +7 -0
- package/dist/packs/models/fal/qwen-image-3.0.d.ts +6 -0
- package/dist/packs/models/fal/qwen-image-3.0.js +7 -0
- package/dist/packs/models/fal/seedance-2.0-fast.d.ts +6 -0
- package/dist/packs/models/fal/seedance-2.0-fast.js +7 -0
- package/dist/packs/models/fal/seedance-2.0-mini.d.ts +6 -0
- package/dist/packs/models/fal/seedance-2.0-mini.js +7 -0
- package/dist/packs/models/fal/seedance-2.0.d.ts +6 -0
- package/dist/packs/models/fal/seedance-2.0.js +7 -0
- package/dist/packs/models/fal/seedance-2.5.d.ts +6 -0
- package/dist/packs/models/fal/seedance-2.5.js +7 -0
- package/dist/packs/models/fal/seedance.d.ts +6 -0
- package/dist/packs/models/fal/seedance.js +7 -0
- package/dist/packs/models/fal/seedream-5.0-lite.d.ts +6 -0
- package/dist/packs/models/fal/seedream-5.0-lite.js +7 -0
- package/dist/packs/models/fal/seedream-5.0-pro.d.ts +6 -0
- package/dist/packs/models/fal/seedream-5.0-pro.js +7 -0
- package/dist/packs/models/fal/seedream-v4.5.d.ts +6 -0
- package/dist/packs/models/fal/seedream-v4.5.js +7 -0
- package/dist/packs/models/fal/seedream-v4.d.ts +6 -0
- package/dist/packs/models/fal/seedream-v4.js +7 -0
- package/dist/packs/models/fal/seedvr2-image-upscale.d.ts +6 -0
- package/dist/packs/models/fal/seedvr2-image-upscale.js +7 -0
- package/dist/packs/models/fal/topaz-image-upscale.d.ts +6 -0
- package/dist/packs/models/fal/topaz-image-upscale.js +7 -0
- package/dist/packs/models/fal/topaz-transparent-upscale.d.ts +6 -0
- package/dist/packs/models/fal/topaz-transparent-upscale.js +7 -0
- package/dist/packs/models/fal/veo-3.1.d.ts +6 -0
- package/dist/packs/models/fal/veo-3.1.js +7 -0
- package/dist/packs/models/fal/vidu-q2.d.ts +6 -0
- package/dist/packs/models/fal/vidu-q2.js +7 -0
- package/dist/packs/models/fal/wan-2.5-preview.d.ts +6 -0
- package/dist/packs/models/fal/wan-2.5-preview.js +7 -0
- package/dist/packs/models/fal/z-image-turbo.d.ts +6 -0
- package/dist/packs/models/fal/z-image-turbo.js +7 -0
- package/dist/packs/models/grsai/gpt-image-2.d.ts +6 -0
- package/dist/packs/models/grsai/gpt-image-2.js +7 -0
- package/dist/packs/models/grsai/nano-banana-2-lite.d.ts +6 -0
- package/dist/packs/models/grsai/nano-banana-2-lite.js +7 -0
- package/dist/packs/models/grsai/nano-banana-2.d.ts +6 -0
- package/dist/packs/models/grsai/nano-banana-2.js +7 -0
- package/dist/packs/models/grsai/nano-banana-pro.d.ts +6 -0
- package/dist/packs/models/grsai/nano-banana-pro.js +7 -0
- package/dist/packs/models/kie/gemini-omni-video.d.ts +6 -0
- package/dist/packs/models/kie/gemini-omni-video.js +7 -0
- package/dist/packs/models/kie/gpt-image-2.d.ts +6 -0
- package/dist/packs/models/kie/gpt-image-2.js +7 -0
- package/dist/packs/models/kie/grok-imagine-2.0.d.ts +6 -0
- package/dist/packs/models/kie/grok-imagine-2.0.js +7 -0
- package/dist/packs/models/kie/grok-imagine-video.d.ts +6 -0
- package/dist/packs/models/kie/grok-imagine-video.js +7 -0
- package/dist/packs/models/kie/grok-imagine.d.ts +6 -0
- package/dist/packs/models/kie/grok-imagine.js +7 -0
- package/dist/packs/models/kie/hailuo-02.d.ts +6 -0
- package/dist/packs/models/kie/hailuo-02.js +7 -0
- package/dist/packs/models/kie/hailuo-2-3.d.ts +6 -0
- package/dist/packs/models/kie/hailuo-2-3.js +7 -0
- package/dist/packs/models/kie/kling-3.0-omni.d.ts +6 -0
- package/dist/packs/models/kie/kling-3.0-omni.js +7 -0
- package/dist/packs/models/kie/kling-3.0-turbo.d.ts +6 -0
- package/dist/packs/models/kie/kling-3.0-turbo.js +7 -0
- package/dist/packs/models/kie/kling-3.0.d.ts +6 -0
- package/dist/packs/models/kie/kling-3.0.js +7 -0
- package/dist/packs/models/kie/kling-v2-6.d.ts +6 -0
- package/dist/packs/models/kie/kling-v2-6.js +7 -0
- package/dist/packs/models/kie/minimax-h3.d.ts +6 -0
- package/dist/packs/models/kie/minimax-h3.js +7 -0
- package/dist/packs/models/kie/nano-banana-2-lite.d.ts +6 -0
- package/dist/packs/models/kie/nano-banana-2-lite.js +7 -0
- package/dist/packs/models/kie/nano-banana-2.d.ts +6 -0
- package/dist/packs/models/kie/nano-banana-2.js +7 -0
- package/dist/packs/models/kie/nano-banana-pro.d.ts +6 -0
- package/dist/packs/models/kie/nano-banana-pro.js +7 -0
- package/dist/packs/models/kie/qwen-image-3.0.d.ts +6 -0
- package/dist/packs/models/kie/qwen-image-3.0.js +7 -0
- package/dist/packs/models/kie/seedance-1.5-pro.d.ts +6 -0
- package/dist/packs/models/kie/seedance-1.5-pro.js +7 -0
- package/dist/packs/models/kie/seedance-2.0-fast.d.ts +6 -0
- package/dist/packs/models/kie/seedance-2.0-fast.js +7 -0
- package/dist/packs/models/kie/seedance-2.0-mini.d.ts +6 -0
- package/dist/packs/models/kie/seedance-2.0-mini.js +7 -0
- package/dist/packs/models/kie/seedance-2.0.d.ts +6 -0
- package/dist/packs/models/kie/seedance-2.0.js +7 -0
- package/dist/packs/models/kie/seedance-2.5.d.ts +6 -0
- package/dist/packs/models/kie/seedance-2.5.js +7 -0
- package/dist/packs/models/kie/seedance-v1.d.ts +6 -0
- package/dist/packs/models/kie/seedance-v1.js +7 -0
- package/dist/packs/models/kie/seedream-4.0.d.ts +6 -0
- package/dist/packs/models/kie/seedream-4.0.js +7 -0
- package/dist/packs/models/kie/seedream-4.5.d.ts +6 -0
- package/dist/packs/models/kie/seedream-4.5.js +7 -0
- package/dist/packs/models/kie/seedream-5.0-lite.d.ts +6 -0
- package/dist/packs/models/kie/seedream-5.0-lite.js +7 -0
- package/dist/packs/models/kie/seedream-5.0-pro.d.ts +6 -0
- package/dist/packs/models/kie/seedream-5.0-pro.js +7 -0
- package/dist/packs/models/kie/z-image.d.ts +6 -0
- package/dist/packs/models/kie/z-image.js +7 -0
- package/dist/packs/models/modelscope/flux-1-krea-dev.d.ts +6 -0
- package/dist/packs/models/modelscope/flux-1-krea-dev.js +7 -0
- package/dist/packs/models/modelscope/majicmix-realistic.d.ts +6 -0
- package/dist/packs/models/modelscope/majicmix-realistic.js +7 -0
- package/dist/packs/models/modelscope/modelscope-custom.d.ts +6 -0
- package/dist/packs/models/modelscope/modelscope-custom.js +7 -0
- package/dist/packs/models/modelscope/qwen-image-edit-2509.d.ts +6 -0
- package/dist/packs/models/modelscope/qwen-image-edit-2509.js +7 -0
- package/dist/packs/models/modelscope/qwen-image.d.ts +6 -0
- package/dist/packs/models/modelscope/qwen-image.js +7 -0
- package/dist/packs/models/modelscope/sdxl-14-ckpt.d.ts +6 -0
- package/dist/packs/models/modelscope/sdxl-14-ckpt.js +7 -0
- package/dist/packs/models/modelscope/z-image-turbo.d.ts +6 -0
- package/dist/packs/models/modelscope/z-image-turbo.js +7 -0
- package/dist/packs/models/ppio/kling-3.0.d.ts +6 -0
- package/dist/packs/models/ppio/kling-3.0.js +7 -0
- package/dist/packs/models/ppio/minimax-hailuo-2.3.d.ts +6 -0
- package/dist/packs/models/ppio/minimax-hailuo-2.3.js +7 -0
- package/dist/packs/models/ppio/minimax-speech.d.ts +6 -0
- package/dist/packs/models/ppio/minimax-speech.js +7 -0
- package/dist/packs/models/ppio/wan-2.5-preview.d.ts +6 -0
- package/dist/packs/models/ppio/wan-2.5-preview.js +7 -0
- package/dist/packs/models/ppio/wan-2.6.d.ts +6 -0
- package/dist/packs/models/ppio/wan-2.6.js +7 -0
- package/dist/packs/models/ppio/wan-2.7.d.ts +6 -0
- package/dist/packs/models/ppio/wan-2.7.js +7 -0
- package/dist/packs/models/volcengine/seedream-5.0-lite.d.ts +6 -0
- package/dist/packs/models/volcengine/seedream-5.0-lite.js +7 -0
- package/dist/packs/models/volcengine/seedream-5.0-pro.d.ts +6 -0
- package/dist/packs/models/volcengine/seedream-5.0-pro.js +7 -0
- package/dist/packs/provider-adapters/apimart.d.ts +3 -0
- package/dist/packs/provider-adapters/apimart.js +5 -0
- package/dist/packs/provider-adapters/bailian.d.ts +3 -0
- package/dist/packs/provider-adapters/bailian.js +5 -0
- package/dist/packs/provider-adapters/fal.d.ts +3 -0
- package/dist/packs/provider-adapters/fal.js +5 -0
- package/dist/packs/provider-adapters/grsai.d.ts +3 -0
- package/dist/packs/provider-adapters/grsai.js +5 -0
- package/dist/packs/provider-adapters/kie.d.ts +3 -0
- package/dist/packs/provider-adapters/kie.js +5 -0
- package/dist/packs/provider-adapters/modelscope.d.ts +3 -0
- package/dist/packs/provider-adapters/modelscope.js +5 -0
- package/dist/packs/provider-adapters/ppio.d.ts +3 -0
- package/dist/packs/provider-adapters/ppio.js +5 -0
- package/dist/packs/provider-adapters/volcengine.d.ts +3 -0
- package/dist/packs/provider-adapters/volcengine.js +5 -0
- package/dist/packs/provider-packs/apimart.d.ts +4 -0
- package/dist/packs/provider-packs/apimart.js +25 -0
- package/dist/packs/provider-packs/bailian.d.ts +4 -0
- package/dist/packs/provider-packs/bailian.js +7 -0
- package/dist/packs/provider-packs/fal.d.ts +4 -0
- package/dist/packs/provider-packs/fal.js +42 -0
- package/dist/packs/provider-packs/grsai.d.ts +4 -0
- package/dist/packs/provider-packs/grsai.js +9 -0
- package/dist/packs/provider-packs/kie.d.ts +4 -0
- package/dist/packs/provider-packs/kie.js +32 -0
- package/dist/packs/provider-packs/modelscope.d.ts +4 -0
- package/dist/packs/provider-packs/modelscope.js +12 -0
- package/dist/packs/provider-packs/ppio.d.ts +4 -0
- package/dist/packs/provider-packs/ppio.js +11 -0
- package/dist/packs/provider-packs/volcengine.d.ts +4 -0
- package/dist/packs/provider-packs/volcengine.js +7 -0
- package/dist/packs/tool-models/fal/bria-eraser.d.ts +5 -0
- package/dist/packs/tool-models/fal/bria-eraser.js +4 -0
- package/dist/packs/tool-models/fal/control-light.d.ts +5 -0
- package/dist/packs/tool-models/fal/control-light.js +4 -0
- package/dist/packs/tool-models/fal/finegrain-eraser.d.ts +5 -0
- package/dist/packs/tool-models/fal/finegrain-eraser.js +4 -0
- package/dist/packs/tool-models/fal/flux-2-multiple-angles.d.ts +5 -0
- package/dist/packs/tool-models/fal/flux-2-multiple-angles.js +4 -0
- package/dist/packs/tool-models/fal/flux-pro-erase.d.ts +5 -0
- package/dist/packs/tool-models/fal/flux-pro-erase.js +4 -0
- package/dist/packs/tool-models/fal/outpaint.d.ts +5 -0
- package/dist/packs/tool-models/fal/outpaint.js +4 -0
- package/dist/packs/tool-models/fal/perspective-change.d.ts +5 -0
- package/dist/packs/tool-models/fal/perspective-change.js +4 -0
- package/dist/packs/tool-models/fal/photo-restoration.d.ts +5 -0
- package/dist/packs/tool-models/fal/photo-restoration.js +4 -0
- package/dist/packs/tool-models/fal/pixelcut-background-removal.d.ts +5 -0
- package/dist/packs/tool-models/fal/pixelcut-background-removal.js +4 -0
- package/dist/packs/tool-models/fal/product-photography.d.ts +5 -0
- package/dist/packs/tool-models/fal/product-photography.js +4 -0
- package/dist/packs/tool-models/fal/qwen-image-edit-2509-multiple-angles.d.ts +5 -0
- package/dist/packs/tool-models/fal/qwen-image-edit-2509-multiple-angles.js +4 -0
- package/dist/packs/tool-models/fal/relighting.d.ts +5 -0
- package/dist/packs/tool-models/fal/relighting.js +4 -0
- package/dist/packs/tool-packs/fal-image-edit-tools.d.ts +5 -0
- package/dist/packs/tool-packs/fal-image-edit-tools.js +8 -0
- package/dist/packs/tool-packs/fal-image-utility-tools.d.ts +5 -0
- package/dist/packs/tool-packs/fal-image-utility-tools.js +18 -0
- package/dist/packs/tool-packs/fal-multi-angle-tools.d.ts +5 -0
- package/dist/packs/tool-packs/fal-multi-angle-tools.js +8 -0
- package/dist/pricing/index.d.ts +1 -0
- package/dist/pricing/index.js +1 -0
- package/dist/pricing/mediaContext.d.ts +27 -0
- package/dist/pricing/mediaContext.js +110 -0
- package/dist/protocols/index.d.ts +7 -0
- package/dist/protocols/index.js +7 -0
- package/dist/protocols/polling.d.ts +29 -0
- package/dist/protocols/polling.js +92 -0
- package/dist/protocols/request-builder-dsl.d.ts +15 -0
- package/dist/protocols/request-builder-dsl.js +64 -0
- package/dist/protocols/request-normalizer.d.ts +3 -0
- package/dist/protocols/request-normalizer.js +141 -0
- package/dist/protocols/utf8-stream-decoder.d.ts +20 -0
- package/dist/protocols/utf8-stream-decoder.js +125 -0
- package/dist/providers/apimart.d.ts +3 -0
- package/dist/providers/apimart.js +128 -0
- package/dist/providers/bailian.d.ts +3 -0
- package/dist/providers/bailian.js +50 -0
- package/dist/providers/connection.d.ts +3 -0
- package/dist/providers/connection.js +169 -0
- package/dist/providers/endpoints/apimart.d.ts +11 -0
- package/dist/providers/endpoints/apimart.js +49 -0
- package/dist/providers/endpoints/grsai.d.ts +11 -0
- package/dist/providers/endpoints/grsai.js +50 -0
- package/dist/providers/fal.d.ts +3 -0
- package/dist/providers/fal.js +148 -0
- package/dist/providers/grsai.d.ts +3 -0
- package/dist/providers/grsai.js +99 -0
- package/dist/providers/helpers.d.ts +10 -0
- package/dist/providers/helpers.js +76 -0
- package/dist/providers/index.d.ts +25 -0
- package/dist/providers/index.js +93 -0
- package/dist/providers/kie.d.ts +3 -0
- package/dist/providers/kie.js +125 -0
- package/dist/providers/metadata.d.ts +22 -0
- package/dist/providers/metadata.js +141 -0
- package/dist/providers/modelscope.d.ts +3 -0
- package/dist/providers/modelscope.js +65 -0
- package/dist/providers/ppio-media.d.ts +2 -0
- package/dist/providers/ppio-media.js +20 -0
- package/dist/providers/ppio.d.ts +3 -0
- package/dist/providers/ppio.js +98 -0
- package/dist/providers/provider-fetch.d.ts +7 -0
- package/dist/providers/provider-fetch.js +42 -0
- package/dist/providers/types.d.ts +6 -0
- package/dist/providers/types.js +1 -0
- package/dist/providers/volcengine.d.ts +3 -0
- package/dist/providers/volcengine.js +32 -0
- package/dist/runtime/AiRuntimeError.d.ts +5 -0
- package/dist/runtime/AiRuntimeError.js +11 -0
- package/dist/runtime/CredentialStore.d.ts +47 -0
- package/dist/runtime/CredentialStore.js +1 -0
- package/dist/runtime/Logger.d.ts +47 -0
- package/dist/runtime/Logger.js +11 -0
- package/dist/runtime/MediaReader.d.ts +45 -0
- package/dist/runtime/MediaReader.js +1 -0
- package/dist/runtime/RealtimeTransport.d.ts +22 -0
- package/dist/runtime/RealtimeTransport.js +1 -0
- package/dist/runtime/RuntimeContext.d.ts +26 -0
- package/dist/runtime/RuntimeContext.js +13 -0
- package/dist/runtime/Tracer.d.ts +26 -0
- package/dist/runtime/Tracer.js +7 -0
- package/dist/runtime/Transport.d.ts +43 -0
- package/dist/runtime/Transport.js +1 -0
- package/dist/runtime/error-classify.d.ts +7 -0
- package/dist/runtime/error-classify.js +192 -0
- package/dist/runtime/errors.d.ts +40 -0
- package/dist/runtime/errors.js +27 -0
- package/dist/runtime/index.d.ts +25 -0
- package/dist/runtime/index.js +15 -0
- package/dist/runtime/provider-error-core.d.ts +33 -0
- package/dist/runtime/provider-error-core.js +86 -0
- package/dist/runtime/retry.d.ts +7 -0
- package/dist/runtime/retry.js +72 -0
- package/dist/runtime/task-registry.d.ts +5 -0
- package/dist/runtime/task-registry.js +25 -0
- package/dist/structured-output/index.d.ts +1 -0
- package/dist/structured-output/index.js +1 -0
- package/dist/structured-output/seedream-layer-stack.d.ts +4 -0
- package/dist/structured-output/seedream-layer-stack.js +206 -0
- package/dist/tool-packs/fal-erase/models/bria-eraser.model.d.ts +2 -0
- package/dist/tool-packs/fal-erase/models/bria-eraser.model.js +38 -0
- package/dist/tool-packs/fal-erase/models/finegrain-eraser.model.d.ts +2 -0
- package/dist/tool-packs/fal-erase/models/finegrain-eraser.model.js +47 -0
- package/dist/tool-packs/fal-erase/models/flux-pro-erase.model.d.ts +2 -0
- package/dist/tool-packs/fal-erase/models/flux-pro-erase.model.js +42 -0
- package/dist/tool-packs/fal-image-utilities/models/control-light.model.d.ts +2 -0
- package/dist/tool-packs/fal-image-utilities/models/control-light.model.js +42 -0
- package/dist/tool-packs/fal-image-utilities/models/outpaint.model.d.ts +2 -0
- package/dist/tool-packs/fal-image-utilities/models/outpaint.model.js +74 -0
- package/dist/tool-packs/fal-image-utilities/models/photo-restoration.model.d.ts +2 -0
- package/dist/tool-packs/fal-image-utilities/models/photo-restoration.model.js +56 -0
- package/dist/tool-packs/fal-image-utilities/models/pixelcut-background-removal.model.d.ts +2 -0
- package/dist/tool-packs/fal-image-utilities/models/pixelcut-background-removal.model.js +41 -0
- package/dist/tool-packs/fal-image-utilities/models/product-photography.model.d.ts +2 -0
- package/dist/tool-packs/fal-image-utilities/models/product-photography.model.js +41 -0
- package/dist/tool-packs/fal-image-utilities/models/relighting.model.d.ts +3 -0
- package/dist/tool-packs/fal-image-utilities/models/relighting.model.js +74 -0
- package/dist/tool-packs/fal-image-utilities/shared.d.ts +9 -0
- package/dist/tool-packs/fal-image-utilities/shared.js +54 -0
- package/dist/tool-packs/fal-multi-angle/models/flux-2-multiple-angles.model.d.ts +2 -0
- package/dist/tool-packs/fal-multi-angle/models/flux-2-multiple-angles.model.js +75 -0
- package/dist/tool-packs/fal-multi-angle/models/perspective-change.model.d.ts +3 -0
- package/dist/tool-packs/fal-multi-angle/models/perspective-change.model.js +58 -0
- package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.d.ts +2 -0
- package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.js +75 -0
- package/dist/tool-packs/fal-multi-angle/shared.d.ts +2 -0
- package/dist/tool-packs/fal-multi-angle/shared.js +22 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.js +4 -0
- package/dist/types/model.d.ts +432 -0
- package/dist/types/model.js +21 -0
- package/dist/types/runtime.d.ts +161 -0
- package/dist/types/runtime.js +1 -0
- package/dist/upload/apimart-upload.d.ts +3 -0
- package/dist/upload/apimart-upload.js +32 -0
- package/dist/upload/base64.d.ts +5 -0
- package/dist/upload/base64.js +49 -0
- package/dist/upload/fal-legacy.d.ts +7 -0
- package/dist/upload/fal-legacy.js +19 -0
- package/dist/upload/fal-transport.d.ts +7 -0
- package/dist/upload/fal-transport.js +104 -0
- package/dist/upload/index.d.ts +10 -0
- package/dist/upload/index.js +15 -0
- package/dist/upload/kie-upload.d.ts +3 -0
- package/dist/upload/kie-upload.js +41 -0
- package/dist/upload/media-binary.d.ts +23 -0
- package/dist/upload/media-binary.js +80 -0
- package/dist/upload/media-fields.d.ts +34 -0
- package/dist/upload/media-fields.js +135 -0
- package/dist/upload/prepared-media.d.ts +5 -0
- package/dist/upload/prepared-media.js +1 -0
- package/dist/upload/preprocess-core.d.ts +40 -0
- package/dist/upload/preprocess-core.js +130 -0
- package/dist/upload/preprocess.d.ts +8 -0
- package/dist/upload/preprocess.js +24 -0
- package/dist/upload/provider-preprocessors/apimart.d.ts +4 -0
- package/dist/upload/provider-preprocessors/apimart.js +42 -0
- package/dist/upload/provider-preprocessors/data-uri.d.ts +4 -0
- package/dist/upload/provider-preprocessors/data-uri.js +6 -0
- package/dist/upload/provider-preprocessors/factory.d.ts +4 -0
- package/dist/upload/provider-preprocessors/factory.js +16 -0
- package/dist/upload/provider-preprocessors/fal.d.ts +4 -0
- package/dist/upload/provider-preprocessors/fal.js +39 -0
- package/dist/upload/provider-preprocessors/kie.d.ts +4 -0
- package/dist/upload/provider-preprocessors/kie.js +18 -0
- package/dist/upload/provider-preprocessors/ppio.d.ts +6 -0
- package/dist/upload/provider-preprocessors/ppio.js +56 -0
- package/dist/upload/providers.d.ts +5 -0
- package/dist/upload/providers.js +5 -0
- package/dist/upload/upload-response.d.ts +3 -0
- package/dist/upload/upload-response.js +24 -0
- package/docs/README.md +26 -0
- package/docs/consumers.md +48 -0
- package/docs/llm-adaptation/README.md +139 -0
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +91 -0
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +75 -0
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +84 -0
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +85 -0
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +232 -0
- 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
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +84 -0
- 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
- package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -0
- 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
- package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -0
- 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
- package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -0
- package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -0
- package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +43 -0
- 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
- package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +37 -0
- 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
- package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +207 -0
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -0
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -0
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +137 -0
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +93 -0
- package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -0
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +124 -0
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -0
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +129 -0
- package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +36 -0
- package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -0
- package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -0
- package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -0
- package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +93 -0
- package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +56 -0
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -0
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -0
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +70 -0
- package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +96 -0
- 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
- 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
- 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
- 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
- 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
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -0
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +89 -0
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -0
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +119 -0
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +125 -0
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -0
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +143 -0
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +85 -0
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +83 -0
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -0
- package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +396 -0
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +234 -0
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +108 -0
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +111 -0
- package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -0
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -0
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -0
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -0
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +70 -0
- package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -0
- package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -0
- package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -0
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -0
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -0
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -0
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -0
- 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
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -0
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +84 -0
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -0
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -0
- 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
- package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +47 -0
- package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +39 -0
- package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +39 -0
- package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +40 -0
- 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
- package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +41 -0
- package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +35 -0
- 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
- package/docs/model-adaptation/README.md +304 -0
- 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
- 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
- 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
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -0
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -0
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +86 -0
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -0
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -0
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +78 -0
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +89 -0
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -0
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +78 -0
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +212 -0
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +94 -0
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +89 -0
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +106 -0
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -0
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -0
- 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
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -0
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -0
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -0
- 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
- package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +69 -0
- package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +72 -0
- 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
- 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
- package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +82 -0
- package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +84 -0
- package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +122 -0
- package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +76 -0
- package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +75 -0
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -0
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +95 -0
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -0
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -0
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +97 -0
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +238 -0
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +172 -0
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +121 -0
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -0
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +131 -0
- 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
- 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
- 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
- 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
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +227 -0
- 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
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +207 -0
- 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
- 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
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -0
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -0
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -0
- 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
- 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
- package/examples/form-renderer/README.md +17 -0
- package/examples/form-renderer/cli.ts +32 -0
- package/examples/form-renderer/index.ts +144 -0
- package/examples/form-renderer/package.json +16 -0
- package/examples/form-renderer/tsconfig.json +14 -0
- package/examples/llm-chat/README.md +32 -0
- package/examples/llm-chat/index.ts +100 -0
- package/examples/llm-chat/package.json +19 -0
- package/examples/llm-chat/tsconfig.json +14 -0
- package/examples/minimal-node/README.md +31 -0
- package/examples/minimal-node/index.ts +138 -0
- package/examples/minimal-node/package.json +17 -0
- package/examples/minimal-node/tsconfig.json +14 -0
- package/package.json +198 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Tauri 2 接入
|
|
2
|
+
|
|
3
|
+
## 已验证边界
|
|
4
|
+
|
|
5
|
+
任务 1.1 在 `@tauri-apps/plugin-http@2.5.9` 上完成了真实 `cargo check`,并直接核对了已安装包源码:
|
|
6
|
+
|
|
7
|
+
- `fetch()` 会尊重 `AbortSignal`,取消会调 Rust 侧 `fetch_cancel` / `fetch_cancel_body`。
|
|
8
|
+
- `Response.body` 是按 chunk 读取的标准 `ReadableStream`,因此与 SDK SSE 读取器的类型契约相容。
|
|
9
|
+
- capability URL glob 通过编译期校验。
|
|
10
|
+
|
|
11
|
+
未做的是 Tauri WebView 里的真实 SSE 服务器端到端联调;不要把“源码级支持”写成“所有平台都已实测稳定”。
|
|
12
|
+
|
|
13
|
+
## RuntimeContext
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { fetch as tauriFetch } from '@tauri-apps/plugin-http'
|
|
17
|
+
import { readFile } from '@tauri-apps/plugin-fs'
|
|
18
|
+
import type { CredentialScope, Logger, RuntimeContext } from '@henjicc/ai-sdk'
|
|
19
|
+
|
|
20
|
+
type ReadSecret = (key: string) => Promise<string | undefined>
|
|
21
|
+
|
|
22
|
+
export function createTauriRuntime(readSecret: ReadSecret, logger?: Logger): RuntimeContext {
|
|
23
|
+
return {
|
|
24
|
+
transport: { fetch: (url, init) => tauriFetch(url, init) },
|
|
25
|
+
credentials: {
|
|
26
|
+
get: (scope: CredentialScope, providerId: string) =>
|
|
27
|
+
readSecret(`${scope}:${providerId}`),
|
|
28
|
+
},
|
|
29
|
+
media: {
|
|
30
|
+
async read(ref) {
|
|
31
|
+
const bytes = await readFile(ref)
|
|
32
|
+
return {
|
|
33
|
+
bytes,
|
|
34
|
+
mimeType: inferMime(ref),
|
|
35
|
+
filename: ref.split(/[\\/]/).at(-1) || 'upload.bin',
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
logger,
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function inferMime(ref: string): string {
|
|
44
|
+
const path = ref.toLowerCase()
|
|
45
|
+
if (path.endsWith('.png')) return 'image/png'
|
|
46
|
+
if (path.endsWith('.webp')) return 'image/webp'
|
|
47
|
+
if (path.endsWith('.mp4')) return 'video/mp4'
|
|
48
|
+
if (path.endsWith('.mp3')) return 'audio/mpeg'
|
|
49
|
+
return 'image/jpeg'
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
`@tauri-apps/plugin-fs` 还需要单独配置可读路径 scope;不要给全文件系统无限制权限。
|
|
54
|
+
|
|
55
|
+
## HTTP capability
|
|
56
|
+
|
|
57
|
+
`src-tauri/capabilities/default.json` 的形状如下;实际 URL 完整清单见
|
|
58
|
+
[供应商域名.md](供应商域名.md):
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"permissions": [
|
|
63
|
+
"http:default",
|
|
64
|
+
{
|
|
65
|
+
"identifier": "http:allow-fetch",
|
|
66
|
+
"allow": [
|
|
67
|
+
{ "url": "https://api.kie.ai/*" },
|
|
68
|
+
{ "url": "https://*.apimart.ai/*" }
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
1.1 已对 `{"url":"https://*.apimart.ai/*"}` 做过 `cargo check`。新增供应商域名后要更新 capability 并重新发版。
|
|
76
|
+
|
|
77
|
+
## 凭据
|
|
78
|
+
|
|
79
|
+
`tauri-plugin-store` 是明文 JSON,不应直接存 API key。使用 Stronghold 或系统 keyring 实现上面的
|
|
80
|
+
`ReadSecret`,并在你的应用中完成写入/删除/重填流程。任务 1.1 只做了这两类方案的文档确认,
|
|
81
|
+
没有对某个 Stronghold/keyring 包的读写 API 做真机验证,所以本指南不伪造具体插件调用。
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Photoshop UXP 接入
|
|
2
|
+
|
|
3
|
+
## 证据边界
|
|
4
|
+
|
|
5
|
+
SDK 上游已完成 generation-only 与窄 LLM streaming IIFE/VM 门禁;Photoshop UXP 真机网络与图层编码
|
|
6
|
+
仍由插件集成验证。
|
|
7
|
+
|
|
8
|
+
- UXP 有 `fetch` / `AbortController` / Streams,但未找到官方证据证明长时间 `text/event-stream`
|
|
9
|
+
在 Photoshop UXP 中稳定;SDK 已完成 scripted SSE 与取消门禁,真实长流稳定性仍是插件真机项。
|
|
10
|
+
- `requiredPermissions.network.domains` 支持 `https://*.example.com` 子域通配和 `"all"`。
|
|
11
|
+
`requiredPermissions.webview.domains` 是另一套权限,不支持同样的通配,不要混用。
|
|
12
|
+
- `allowCodeGenerationFromStrings` 默认 `false`;UXP 又没有 Node/`node:vm`。SDK 因此只直接调用
|
|
13
|
+
ESM 函数,不用 `eval`/`new Function`。不需要为 SDK 开启这项高风险权限。
|
|
14
|
+
- UXP 没有运行时 Node 模块解析;`@henjicc/ai-sdk` 必须在构建期 bundle。只做少量生成模型时使用
|
|
15
|
+
`@henjicc/ai-sdk/generation/core` + 完整模型 pack;需要全部 99 模型时才使用兼容的
|
|
16
|
+
`@henjicc/ai-sdk/generation`。不要导入带 LLM 的包根。
|
|
17
|
+
- UXP 只做原生流式聊天时导入 `@henjicc/ai-sdk/llm/streaming`,不要导入 `llm` 总入口;后者为了
|
|
18
|
+
向后兼容还包含 modelStep、Zod 与 Vercel AI SDK。
|
|
19
|
+
|
|
20
|
+
generation-only 入口公开 `createGenerationClient`,提供 `generate`、`continuePolling`、`cancel`、
|
|
21
|
+
`catalog`、`providers` 与 `dispose`。发布门禁确认其 IIFE 不含 LLM/Vercel AI SDK、Node、动态代码生成、
|
|
22
|
+
global fetch、Streams、File、`btoa`/`atob`,import/create/catalog/dispose 网络调用为 0,目录为 99 个模型;
|
|
23
|
+
宿主不需要 alias 或 shim。
|
|
24
|
+
|
|
25
|
+
窄 LLM streaming 入口只导出原生 OpenAI-compatible SSE 执行、取消、DTO、运行时类型与稳定错误协议。
|
|
26
|
+
关闭 tree-shaking 的 IIFE/ESM 静态图门禁确认 Zod、modelStep、Vercel `ai`、`@ai-sdk/*`、Node builtin、
|
|
27
|
+
`Buffer`、`process`、global fetch、`eval`/`new Function`、`TransformStream`、`WritableStream` 均为 0。
|
|
28
|
+
`ReadableStream` 仍由宿主响应提供;Photoshop 27.5 / UXP 9.2 真机确认没有全局 `TextEncoder` 与
|
|
29
|
+
`TextDecoder`,`0.1.8` 起 SSE 使用 SDK 内部增量 UTF-8 解码器,不要求插件注入 DOM 或 Node polyfill。
|
|
30
|
+
|
|
31
|
+
## manifest v5 网络权限
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"manifestVersion": 5,
|
|
36
|
+
"requiredPermissions": {
|
|
37
|
+
"network": {
|
|
38
|
+
"domains": [
|
|
39
|
+
"https://api.kie.ai",
|
|
40
|
+
"https://kieai.redpandaai.co",
|
|
41
|
+
"https://fal.run",
|
|
42
|
+
"https://*.fal.run",
|
|
43
|
+
"https://rest.fal.ai"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
这里只是短示例;复制 [供应商域名.md](供应商域名.md) 中你实际启用的全部请求域名。
|
|
51
|
+
模型结果可能来自供应商 CDN 或用户自定义 LLM Base URL,它们不可能被静态 SDK 目录穷举;
|
|
52
|
+
宿主需要在保持最小权限的前提下单独加入。
|
|
53
|
+
|
|
54
|
+
## RuntimeContext
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
import { createModularGenerationClient } from '@henjicc/ai-sdk/generation/core'
|
|
58
|
+
import { pack as kieZImage } from '@henjicc/ai-sdk/models/kie/z-image'
|
|
59
|
+
import type { Logger, RuntimeContext } from '@henjicc/ai-sdk/runtime'
|
|
60
|
+
|
|
61
|
+
const { secureStorage } = require('uxp').storage
|
|
62
|
+
|
|
63
|
+
type ExportEncodedLayer = (ref: string) => Promise<{
|
|
64
|
+
bytes: Uint8Array
|
|
65
|
+
mimeType: 'image/png' | 'image/jpeg'
|
|
66
|
+
filename: string
|
|
67
|
+
}>
|
|
68
|
+
|
|
69
|
+
export function createUxpRuntime(
|
|
70
|
+
exportEncodedLayer: ExportEncodedLayer,
|
|
71
|
+
logger?: Logger,
|
|
72
|
+
): RuntimeContext {
|
|
73
|
+
return {
|
|
74
|
+
transport: { fetch: (url, init) => fetch(url, init) },
|
|
75
|
+
credentials: {
|
|
76
|
+
async get(scope, providerId) {
|
|
77
|
+
const stored = await secureStorage.getItem(`${scope}:${providerId}`)
|
|
78
|
+
return stored ? decodeAsciiCredential(stored) : undefined
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
media: { read: exportEncodedLayer },
|
|
82
|
+
logger,
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// API key 按 ASCII 保存;避免 UXP 不存在 TextDecoder 时凭据读取失败。
|
|
87
|
+
function decodeAsciiCredential(bytes: Uint8Array): string {
|
|
88
|
+
let value = ''
|
|
89
|
+
for (const byte of bytes) value += String.fromCharCode(byte)
|
|
90
|
+
return value
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export function createUxpGenerationClient(exportEncodedLayer: ExportEncodedLayer) {
|
|
94
|
+
return createModularGenerationClient({
|
|
95
|
+
runtime: createUxpRuntime(exportEncodedLayer),
|
|
96
|
+
packs: [kieZImage],
|
|
97
|
+
})
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
LLM 使用同一个 `RuntimeContext`,密钥 scope 为 `llm`:
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
import {
|
|
105
|
+
cancelLlmChatTask,
|
|
106
|
+
runLlmChatStream,
|
|
107
|
+
type LlmChatRequestDto,
|
|
108
|
+
} from '@henjicc/ai-sdk/llm/streaming'
|
|
109
|
+
|
|
110
|
+
const request: LlmChatRequestDto = {
|
|
111
|
+
requestId: 'uxp-chat-1',
|
|
112
|
+
providerId: 'openai',
|
|
113
|
+
modelId: 'gpt-5-mini',
|
|
114
|
+
messages: [{ role: 'user', content: '描述当前图片' }],
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const outcome = await runLlmChatStream(request, request.requestId!, (event) => {
|
|
118
|
+
if (event.type === 'Token') appendText(event.data)
|
|
119
|
+
if (event.type === 'ReasoningToken') appendReasoning(event.data)
|
|
120
|
+
}, runtime)
|
|
121
|
+
console.log(outcome.usage, outcome.finishReason)
|
|
122
|
+
|
|
123
|
+
// 用户点击取消时使用同一个 taskId:
|
|
124
|
+
cancelLlmChatTask(request.requestId!)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
输入图片/视频/音频时仍通过 `LlmContentPart` 结构与 `RuntimeContext.media` 处理宿主管理引用;不要在插件
|
|
128
|
+
里复制 SSE parser、错误分类或取消登记表。`Transport.fetch` 必须保留 `Response.body` 的原生字节流并尊重
|
|
129
|
+
`init.signal`,不能先把整段响应转为字符串,否则会失去 token 流与及时取消。
|
|
130
|
+
|
|
131
|
+
`kieZImage` 是完整执行 pack,不只是目录定义;它已包含 KIE adapter 与 KIE 范围内的媒体上传策略。
|
|
132
|
+
选择别的模型时替换或追加对应 `models/<provider>/<model>` pack。不要只拿同路径的低层 `model`
|
|
133
|
+
导出再由插件手拼上传逻辑。需要某供应商全部模型时改用 `provider-packs/<provider>`。
|
|
134
|
+
|
|
135
|
+
Photoshop 的消除面板应只导入可选模型分发集合,不把工具塞进普通生成目录:
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
import { createModularGenerationClient } from '@henjicc/ai-sdk/generation/core'
|
|
139
|
+
import { pack as falImageEditTools } from '@henjicc/ai-sdk/tool-packs/fal-image-edit-tools'
|
|
140
|
+
|
|
141
|
+
const erase = createModularGenerationClient({ runtime, packs: [falImageEditTools] })
|
|
142
|
+
const created = await erase.generate({
|
|
143
|
+
modelId: 'fal-finegrain-eraser',
|
|
144
|
+
params: {
|
|
145
|
+
image: ['uxp://active-layer'],
|
|
146
|
+
mask: ['uxp://erase-mask'],
|
|
147
|
+
mode: 'standard',
|
|
148
|
+
},
|
|
149
|
+
})
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
该入口只携带 3 个 Fal 消除模型、Fal adapter 和 Fal CDN 上传;默认 105 目录、其他供应商与 LLM
|
|
153
|
+
不会进入静态依赖图。单模型可改用 `tool-models/fal/<model>` 导出的 `pack`。运行时能力筛选只过滤
|
|
154
|
+
已导入候选;要缩小 UXP bundle,必须从 import 边界选择 pack,不能先导入集合再靠筛选期待 tree-shake。
|
|
155
|
+
|
|
156
|
+
`ref` 应是你插件自己管理的 `uxp://...` / `managed://...` 文档或图层引用,不是让用户手填 URL。
|
|
157
|
+
这些引用会原样交给 `MediaReader.read()`。`photoshop.imaging.getPixels()`
|
|
158
|
+
可得到 `PhotoshopImageData`,再从 `imageData.getData()` 取像素字节;这是**原始像素**,
|
|
159
|
+
必须经插件的图像编码/临时文件导出流程得到真正 PNG/JPEG 字节,再从 `MediaReader.read()`
|
|
160
|
+
返回;不得把 RGBA 像素误报成 `image/png`。记录中 Grayscale/LAB 的通道处理与 CMYK
|
|
161
|
+
`getData()` 有历史问题,正式开放前要在真实 Photoshop 复测或明确禁用这些色彩模式。
|
|
162
|
+
|
|
163
|
+
## SecureStorage 与媒体编码
|
|
164
|
+
|
|
165
|
+
- SecureStorage 的 value 加密,key 名不加密;Adobe 将它定位为“更像缓存”,数据可丢失。
|
|
166
|
+
凭据丢失时 `get()` 返回 `undefined`,UI 必须让用户重新填写;不得把它当作唯一且永久的账户真相源。
|
|
167
|
+
- SDK 的媒体 base64 编解码只依赖 `Uint8Array`,不要求 UXP 提供 `btoa` / `atob` polyfill。
|
|
168
|
+
- Fal 本地媒体上传使用 `RuntimeContext.transport` 执行 REST initiate + signed PUT,不构造 `File`;
|
|
169
|
+
取消信号与 120 秒上传 deadline 会传到两段请求。真实 UXP 网络权限、取消和图片放置仍需真机验证。
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# 供应商域名白名单
|
|
2
|
+
|
|
3
|
+
本清单不是凭记忆维护。在仓库根运行:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
node packages/ai-sdk/scripts/audit-integration-docs.cjs --check
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
脚本从 SDK provider、Transport 上传与 LLM Base URL 常量提取域名,
|
|
10
|
+
再断言本文档逐项覆盖。`apiKeyUrl`/控制台/文档链接不属于 SDK 运行时请求,不放进白名单。
|
|
11
|
+
|
|
12
|
+
## 供应商官网与 API Key 入口
|
|
13
|
+
|
|
14
|
+
这些地址由 `PROVIDER_METADATA` / `findProviderMetadata(providerId, options)` 统一导出,宿主不再复制。
|
|
15
|
+
`websiteUrl` 是实际对用户展示的跳转入口:一般供应商使用正常官网;派欧云、KIE、APIMart
|
|
16
|
+
保留项目已有的邀请码。`apiKeyUrl` 只用于用户主动打开控制台,不参与 SDK 运行时请求。
|
|
17
|
+
|
|
18
|
+
| providerId | 官网入口 `websiteUrl` | API Key 入口 `apiKeyUrl` |
|
|
19
|
+
|---|---|---|
|
|
20
|
+
| `apimart` | `https://apimart.ai/register?aff=cGPOZd`(邀请码) | `https://apimart.ai/keys` |
|
|
21
|
+
| `bailian` | `https://www.aliyun.com/product/bailian` | `https://bailian.console.aliyun.com/?apiKey=1#/api-key` |
|
|
22
|
+
| `bigmodel` | `https://open.bigmodel.cn/` | `https://bigmodel.cn/usercenter/proj-mgmt/apikeys` |
|
|
23
|
+
| `bigmodel-global` | `https://z.ai/` | `https://z.ai/manage-apikey/apikey-list` |
|
|
24
|
+
| `deepseek` | `https://www.deepseek.com/` | `https://platform.deepseek.com/api_keys` |
|
|
25
|
+
| `fal` | `https://fal.ai/` | `https://fal.ai/dashboard/keys` |
|
|
26
|
+
| `groq` | `https://groq.com/` | `https://console.groq.com/keys` |
|
|
27
|
+
| `grsai` | `https://grsai.ai/` | `https://grsai.ai/zh/dashboard/api-keys` |
|
|
28
|
+
| `kie` | `https://kie.ai?ref=eef20ef0b0595cad227d45b29c635f6c`(邀请码) | `https://kie.ai/api-key` |
|
|
29
|
+
| `kimi` | `https://platform.kimi.com/` | `https://platform.kimi.com/console/api-keys` |
|
|
30
|
+
| `minimax` | `https://platform.minimaxi.com/` | `https://platform.minimaxi.com/console/access?tab=api-keys` |
|
|
31
|
+
| `mimo` | `https://mimo.mi.com/` | `https://platform.xiaomimimo.com/console/api-keys` |
|
|
32
|
+
| `modelscope` | `https://www.modelscope.cn/` | `https://modelscope.cn/my/myaccesstoken` |
|
|
33
|
+
| `ppio` | `https://ppio.com/user/register?invited_by=WGY0DZ`(邀请码) | `https://ppio.com/settings/key-management` |
|
|
34
|
+
| `siliconflow` | `https://siliconflow.cn/` | `https://cloud.siliconflow.cn/account/ak` |
|
|
35
|
+
| `volcengine` | `https://www.volcengine.com/product/ark` | `https://console.volcengine.com/ark/region:cn-beijing/apiKey` |
|
|
36
|
+
|
|
37
|
+
BigModel 国内/国际共用 provider family;调用
|
|
38
|
+
`findProviderMetadata('bigmodel', { endpointProfile: 'global' })` 会返回 `bigmodel-global` 的 Z.AI 地址。
|
|
39
|
+
纯自定义供应商没有官方目录依据时返回 `null`,消费软件不应要求用户填写或自行猜测管理地址。
|
|
40
|
+
|
|
41
|
+
## 生成、上传与连通性
|
|
42
|
+
|
|
43
|
+
| 供应商/用途 | 必需域名 |
|
|
44
|
+
|---|---|
|
|
45
|
+
| APIMart 生成、图片上传、故障切换 | `api.apimart.ai`、`api.apib.ai`、`api.aiuxu.com`、`api.aishuch.com` |
|
|
46
|
+
| Grsai 生成、查询、故障切换 | `grsaiapi.com`、`grsai.dakka.com.cn` |
|
|
47
|
+
| KIE 生成/轮询/余额 | `api.kie.ai` |
|
|
48
|
+
| KIE 公网文件上传 | `kieai.redpandaai.co` |
|
|
49
|
+
| Fal 同步/队列 | `fal.run`、`queue.fal.run`、`*.fal.run` |
|
|
50
|
+
| Fal CDN REST 存储上传 | `rest.fal.ai` |
|
|
51
|
+
| 派欧云生成与 LLM | `api.ppio.com` |
|
|
52
|
+
| 魔搭 | `api-inference.modelscope.cn` |
|
|
53
|
+
| 百炼图像/ASR/翻译 | `dashscope.aliyuncs.com`、`*.cn-beijing.maas.aliyuncs.com` |
|
|
54
|
+
| 火山引擎图像/LLM | `ark.cn-beijing.volces.com` |
|
|
55
|
+
| 火山引擎 SeedASR 2.0 | `openspeech.bytedance.com` |
|
|
56
|
+
| 硅基流动 ASR | `api.siliconflow.cn` |
|
|
57
|
+
| Groq LLM/ASR | `api.groq.com` |
|
|
58
|
+
|
|
59
|
+
## LLM 内置/默认地址
|
|
60
|
+
|
|
61
|
+
| 供应商 | 必需域名 |
|
|
62
|
+
|---|---|
|
|
63
|
+
| DeepSeek | `api.deepseek.com` |
|
|
64
|
+
| Kimi | `api.moonshot.cn` |
|
|
65
|
+
| 智谱 GLM | `open.bigmodel.cn` |
|
|
66
|
+
| 小米 MiMo | `api.xiaomimimo.com` |
|
|
67
|
+
| MiniMax | `api.minimaxi.com` |
|
|
68
|
+
| 百炼 Qwen 工作空间地址 | `*.cn-beijing.maas.aliyuncs.com` |
|
|
69
|
+
| OpenAI-compatible 默认回落 | `api.openai.com` |
|
|
70
|
+
|
|
71
|
+
## 权限格式
|
|
72
|
+
|
|
73
|
+
UXP manifest 使用 scheme + host,例如 `https://api.kie.ai` 和 `https://*.fal.run`。
|
|
74
|
+
Tauri `http:allow-fetch` 在后面加路径 glob,例如 `https://api.kie.ai/*` 和
|
|
75
|
+
`https://*.fal.run/*`。
|
|
76
|
+
|
|
77
|
+
本表只穷举 **SDK 主动请求**。下列域名必须由宿主按实际输入/结果动态管理,不能假装可以在此静态穷举:
|
|
78
|
+
|
|
79
|
+
- 用户自建 LLM provider 的 `baseUrl`。
|
|
80
|
+
- 供应商返回的 CDN/结果 URL。
|
|
81
|
+
- 用户传入的既有远程媒体 URL。
|
|
82
|
+
|
|
83
|
+
新增供应商或域名时,同时更新源码常量、本文档、UXP manifest/Tauri capability,并发布宿主新版本。
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# 错误处理
|
|
2
|
+
|
|
3
|
+
SDK 有两层错误契约:生成/上传的 `AiRuntimeError.code`,以及 LLM 的
|
|
4
|
+
`ProviderModelStepError.details` 分类。宿主显示用户可读提示,把原始细节放进经脱敏的调试日志;
|
|
5
|
+
不要把 API key、Authorization header 或完整供应商 body 原样显示。
|
|
6
|
+
|
|
7
|
+
在仓库根运行下列命令,会从 `packages/ai-sdk/src` 的真实 schema/callsites 穷举并检查本页:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
node packages/ai-sdk/scripts/audit-integration-docs.cjs --check
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## AiRuntimeError
|
|
14
|
+
|
|
15
|
+
| code | 宿主提示/处理 |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `api_key_missing` | 该生成供应商未配置密钥;打开凭据设置。 |
|
|
18
|
+
| `missing_api_key` | 媒体上传依赖的供应商密钥缺失;补配后重新提交。 |
|
|
19
|
+
| `cancelled` | 任务已取消;不作失败 toast,停止轮询。 |
|
|
20
|
+
| `client_disposed` | client 已释放;修正宿主生命周期,不要自动重试。 |
|
|
21
|
+
| `empty_result` | 供应商已响应但没有可用结果 URL;保留 taskId 与脱敏响应供排查。 |
|
|
22
|
+
| `invalid_audio` | 实时识别没有收到可提交的音频;检查录音与分块生命周期。 |
|
|
23
|
+
| `invalid_audio_chunk` | 音频块为空或不满足 PCM 字节对齐;宿主修正分块后再发送。 |
|
|
24
|
+
| `invalid_data_uri` | 媒体 data URI 格式无效;让用户重新选择/导出文件。 |
|
|
25
|
+
| `invalid_base64` | 媒体 base64 数据无效;让宿主重新编码文件。 |
|
|
26
|
+
| `invalid_json` | 供应商返回非 JSON;不重放付费创建请求,保留 taskId 查询。 |
|
|
27
|
+
| `invalid_media` | 文件识别收到空媒体;让用户重新选择或重新读取文件。 |
|
|
28
|
+
| `invalid_parameter` | ASR 通用或供应商参数类型/范围无效;修正调用参数,不自动重试。 |
|
|
29
|
+
| `invalid_provider_id` | 自定义 provider ID 为空;在注册前校验。 |
|
|
30
|
+
| `invalid_response` | 响应缺少必需字段;提示协议不兼容并记录脱敏响应。 |
|
|
31
|
+
| `invalid_route` | catalog 给出空路由;属于开发/版本错误。 |
|
|
32
|
+
| `invalid_selector_result` | endpoint selector 没有返回字符串;属于开发/版本错误。 |
|
|
33
|
+
| `provider_already_registered` | provider ID 已被另一 client 占用;使用唯一 ID 或先 `dispose()`。 |
|
|
34
|
+
| `provider_http_error` | 供应商 HTTP 失败;按 status 引导检查参数/鉴权/服务。 |
|
|
35
|
+
| `provider_network_error` | DNS/连接等网络失败;允许用户主动重试,不自动重放可能计费的 POST。 |
|
|
36
|
+
| `provider_not_found` | 模型无法映射 provider;检查模型 ID/版本。 |
|
|
37
|
+
| `provider_task_failed` | 供应商明确宣告任务失败;显示经脱敏原因,不继续轮询。 |
|
|
38
|
+
| `provider_task_unreachable` | 状态查询连续 20 次失败;保留 taskId,让用户稍后手动续查。 |
|
|
39
|
+
| `public_media_url_required` | 目标字段必须是公网 URL,但当前供应商没有可用官方上传路径。 |
|
|
40
|
+
| `unknown_provider` | 调用了未注册 provider;核对 ID 或注册流程。 |
|
|
41
|
+
| `unsupported_media_source` | 后端不能解析 `blob:` 等媒体引用;宿主先导出成受管字节。 |
|
|
42
|
+
| `unsupported_media_type` | 上传端点不支持当前 MIME;转成文档允许的格式。 |
|
|
43
|
+
| `unsupported_audio_format` | ASR 音频编码不受当前协议支持;按模型要求转换格式。 |
|
|
44
|
+
| `unsupported_parameter` | 当前 P0 协议未实现该可选参数;宿主移除参数或选择其他模型。 |
|
|
45
|
+
| `unsupported_provider` | 对同步 provider 调用了续轮询等不支持的生命周期。 |
|
|
46
|
+
| `upload_failed` | 供应商官方上传失败/未返回 URL;引导重新选择或检查密钥。 |
|
|
47
|
+
| `upload_timeout` | Fal 两段上传超过 120 秒;确认网络后由用户重新提交。 |
|
|
48
|
+
| `upload_too_large` | 文件超过上传上限;显示精确限制并让用户压缩/换文件。 |
|
|
49
|
+
|
|
50
|
+
## LLM 结构化错误
|
|
51
|
+
|
|
52
|
+
`ProviderModelStepError.details` 固定字段为 `code/category/status/retryable/retryAfterMs/providerId/modelId/requestId/message`。
|
|
53
|
+
供应商的 code 可动态透传;SDK 自己产生的固定 code 是 `API_KEY_MISSING`、`MODEL_REQUEST_TIMEOUT`、
|
|
54
|
+
`MODEL_STEP_CANCELLED`、`PROVIDER_ERROR`。字符串协议 marker 为 `api_key_missing`、`model_step_failed`、
|
|
55
|
+
`provider_error`、`task_cancelled`。
|
|
56
|
+
|
|
57
|
+
| category | 建议提示 | SDK 默认 retryable |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| `authentication` | 鉴权失败,重新配置密钥 | 否 |
|
|
60
|
+
| `billing` | 计费状态异常,检查账单/充值 | 否 |
|
|
61
|
+
| `quota` | 供应商额度不足 | 否 |
|
|
62
|
+
| `rate_limit` | 请求频率受限,按 `retryAfterMs` 等待 | 是 |
|
|
63
|
+
| `server` | 供应商服务暂时不可用 | 是 |
|
|
64
|
+
| `network` | 网络请求失败 | 是 |
|
|
65
|
+
| `invalid_request` | 供应商拒绝了参数,显示脱敏 detail | 否 |
|
|
66
|
+
| `context_overflow` | 上下文超限,缩短历史/附件 | 否 |
|
|
67
|
+
| `content_filter` | 内容策略拒绝,调整输入 | 否 |
|
|
68
|
+
| `cancelled` | 用户取消,不当成系统失败 | 否 |
|
|
69
|
+
| `unknown` | 供应商请求失败,保留 requestId 供排查 | 否 |
|
|
70
|
+
|
|
71
|
+
`retryable: true` 不等于宿主可以无脑重放一次完整付费请求。生成创建 POST 只在能证明尚未建连时有
|
|
72
|
+
“安全预连接”重试;轮询 GET 和 LLM 模型步又有各自独立生命周期。
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# form-renderer
|
|
2
|
+
|
|
3
|
+
无框架、无 DOM 依赖的 `@henjicc/ai-sdk@0.2.8` 参数表单契约示例。它从 `client.catalog` 读取真实模型,使用
|
|
4
|
+
`evaluateRuntimeCondition()` 处理显隐/禁用,使用 `getRuntimeMediaInputContract()` 生成媒体上传入口。
|
|
5
|
+
示例只使用 `generation`、`catalog` 与 `runtime` 按需入口,保留完整 generation catalog,
|
|
6
|
+
但不会带入 LLM/BigModel。
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install
|
|
10
|
+
npm start
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
入口会真实渲染 5 个差异模型,覆盖普通下拉与数值、条件显隐、动态 input limits、通用与特殊媒体、
|
|
14
|
+
`composite` 宿主钩子。输出是最小 HTML 骨架,不包含痕迹AI 的名称、i18n、面板布局或专属组件。
|
|
15
|
+
|
|
16
|
+
媒体控件只负责让宿主选择本地/受管资源,不能降级为 URL 文本框;实际上传仍由 SDK 在请求边界调用
|
|
17
|
+
当前供应商的官方上传能力。`composite` 只输出 `data-control="custom"`,宿主按参数 ID 注入自己的组件。
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createGenerationClient } from '@henjicc/ai-sdk/generation'
|
|
2
|
+
import type { RuntimeContext } from '@henjicc/ai-sdk/runtime'
|
|
3
|
+
|
|
4
|
+
import { renderMinimalModelForm } from './index.js'
|
|
5
|
+
|
|
6
|
+
const runtime: RuntimeContext = {
|
|
7
|
+
transport: { fetch: async () => { throw new Error('form-renderer does not access the network') } },
|
|
8
|
+
credentials: { get: () => undefined },
|
|
9
|
+
media: { read: async () => { throw new Error('form-renderer does not read media') } },
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const modelIds = [
|
|
13
|
+
'volcengine-seedream-5.0-lite',
|
|
14
|
+
'apimart-gemini-omni-flash',
|
|
15
|
+
'ppio-wan-2.7',
|
|
16
|
+
'apimart-midjourney',
|
|
17
|
+
'ppio-minimax-speech',
|
|
18
|
+
] as const
|
|
19
|
+
|
|
20
|
+
const client = createGenerationClient({ runtime })
|
|
21
|
+
try {
|
|
22
|
+
const forms = modelIds.map((modelId) => renderMinimalModelForm(client, modelId))
|
|
23
|
+
console.log(JSON.stringify(forms.map((form) => ({
|
|
24
|
+
modelId: form.modelId,
|
|
25
|
+
controlCount: form.controls.length,
|
|
26
|
+
mediaKinds: [...new Set(form.controls.map((control) => control.mediaKind).filter(Boolean))],
|
|
27
|
+
customControlIds: form.customControlIds,
|
|
28
|
+
html: form.html,
|
|
29
|
+
})), null, 2))
|
|
30
|
+
} finally {
|
|
31
|
+
client.dispose()
|
|
32
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import {
|
|
2
|
+
evaluateRuntimeCondition,
|
|
3
|
+
flattenRuntimeParams,
|
|
4
|
+
getRuntimeMediaInputContract,
|
|
5
|
+
} from '@henjicc/ai-sdk/catalog'
|
|
6
|
+
import type { GenerationClient } from '@henjicc/ai-sdk/generation'
|
|
7
|
+
|
|
8
|
+
type JsonValue = null | boolean | number | string | JsonValue[] | JsonObject
|
|
9
|
+
type JsonObject = { [key: string]: JsonValue }
|
|
10
|
+
type RuntimeParamDef = ReturnType<GenerationClient['catalog']['getParams']>[number]
|
|
11
|
+
|
|
12
|
+
export type MinimalControlKind =
|
|
13
|
+
| 'text'
|
|
14
|
+
| 'textarea'
|
|
15
|
+
| 'number'
|
|
16
|
+
| 'select'
|
|
17
|
+
| 'switch'
|
|
18
|
+
| 'upload'
|
|
19
|
+
| 'custom'
|
|
20
|
+
|
|
21
|
+
export interface MinimalRenderedControl {
|
|
22
|
+
id: string
|
|
23
|
+
kind: MinimalControlKind
|
|
24
|
+
value: JsonValue | undefined
|
|
25
|
+
disabled: boolean
|
|
26
|
+
source: 'param' | 'input-limits'
|
|
27
|
+
mediaKind?: 'image' | 'video' | 'audio' | 'file'
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface MinimalRenderedForm {
|
|
31
|
+
modelId: string
|
|
32
|
+
controls: MinimalRenderedControl[]
|
|
33
|
+
customControlIds: string[]
|
|
34
|
+
html: string
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 无框架、无 DOM 依赖的最小 renderer,只用于证明 SDK 参数契约足以驱动消费方表单。
|
|
39
|
+
* composite 只输出 data-control="custom" 钩子;痕迹AI 专属 panel/config 属于 presentation,
|
|
40
|
+
* 宿主必须按 param id 注入自定义组件。
|
|
41
|
+
*/
|
|
42
|
+
export function renderMinimalModelForm(
|
|
43
|
+
client: GenerationClient,
|
|
44
|
+
modelId: string,
|
|
45
|
+
values: JsonObject = {}
|
|
46
|
+
): MinimalRenderedForm {
|
|
47
|
+
const model = client.catalog.get(modelId)
|
|
48
|
+
if (!model) throw new Error(`Unknown model: ${modelId}`)
|
|
49
|
+
const runtimeValues: JsonObject = {
|
|
50
|
+
...client.catalog.getDefaultValues(modelId),
|
|
51
|
+
uploadedFilePaths: [],
|
|
52
|
+
uploadedVideoFilePaths: [],
|
|
53
|
+
uploadedAudioFilePaths: [],
|
|
54
|
+
images: [],
|
|
55
|
+
videos: [],
|
|
56
|
+
audios: [],
|
|
57
|
+
uploadedImages: [],
|
|
58
|
+
uploadedVideos: [],
|
|
59
|
+
uploadedAudios: [],
|
|
60
|
+
...values,
|
|
61
|
+
}
|
|
62
|
+
const controls: MinimalRenderedControl[] = []
|
|
63
|
+
|
|
64
|
+
for (const param of flattenRuntimeParams(client.catalog.getParams(modelId))) {
|
|
65
|
+
if (!evaluateRuntimeCondition(param.visible?.condition, runtimeValues)) continue
|
|
66
|
+
controls.push({
|
|
67
|
+
id: param.id,
|
|
68
|
+
kind: controlKindForParam(param),
|
|
69
|
+
value: runtimeValues[param.id],
|
|
70
|
+
disabled: param.disabled !== undefined &&
|
|
71
|
+
evaluateRuntimeCondition(param.disabled.condition, runtimeValues),
|
|
72
|
+
source: 'param',
|
|
73
|
+
...mediaKindForParam(param),
|
|
74
|
+
})
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const media = getRuntimeMediaInputContract(model, runtimeValues)
|
|
78
|
+
for (const input of media.genericInputs) {
|
|
79
|
+
controls.push({
|
|
80
|
+
id: input.id,
|
|
81
|
+
kind: 'upload',
|
|
82
|
+
value: runtimeValues[input.id],
|
|
83
|
+
disabled: false,
|
|
84
|
+
source: 'input-limits',
|
|
85
|
+
mediaKind: input.kind,
|
|
86
|
+
})
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
controls.sort((left, right) => {
|
|
90
|
+
const leftParam = model.params.find((param) => param.id === left.id)
|
|
91
|
+
const rightParam = model.params.find((param) => param.id === right.id)
|
|
92
|
+
return (leftParam?.order ?? Number.MAX_SAFE_INTEGER) -
|
|
93
|
+
(rightParam?.order ?? Number.MAX_SAFE_INTEGER)
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
return {
|
|
97
|
+
modelId: model.meta.id,
|
|
98
|
+
controls,
|
|
99
|
+
customControlIds: controls.filter((control) => control.kind === 'custom').map((control) => control.id),
|
|
100
|
+
html: `<form data-model-id="${escapeHtml(model.meta.id)}">${controls.map(renderControlHtml).join('')}</form>`,
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function controlKindForParam(param: RuntimeParamDef): MinimalControlKind {
|
|
105
|
+
switch (param.type) {
|
|
106
|
+
case 'text': return 'text'
|
|
107
|
+
case 'textarea': return 'textarea'
|
|
108
|
+
case 'number': return 'number'
|
|
109
|
+
case 'dropdown':
|
|
110
|
+
case 'radio':
|
|
111
|
+
case 'resolution':
|
|
112
|
+
case 'aspect-ratio': return 'select'
|
|
113
|
+
case 'switch': return 'switch'
|
|
114
|
+
case 'image-upload':
|
|
115
|
+
case 'video-upload':
|
|
116
|
+
case 'file-upload': return 'upload'
|
|
117
|
+
case 'composite': return 'custom'
|
|
118
|
+
case 'panel': return 'custom'
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function mediaKindForParam(
|
|
123
|
+
param: RuntimeParamDef
|
|
124
|
+
): Pick<MinimalRenderedControl, 'mediaKind'> | Record<string, never> {
|
|
125
|
+
if (param.type === 'image-upload') return { mediaKind: 'image' }
|
|
126
|
+
if (param.type === 'video-upload') return { mediaKind: 'video' }
|
|
127
|
+
if (param.type === 'file-upload') return { mediaKind: 'file' }
|
|
128
|
+
return {}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function renderControlHtml(control: MinimalRenderedControl): string {
|
|
132
|
+
const id = escapeHtml(control.id)
|
|
133
|
+
const media = control.mediaKind ? ` data-media-kind="${control.mediaKind}"` : ''
|
|
134
|
+
const disabled = control.disabled ? ' aria-disabled="true"' : ''
|
|
135
|
+
return `<div data-param-id="${id}" data-control="${control.kind}" data-source="${control.source}"${media}${disabled}></div>`
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function escapeHtml(value: string): string {
|
|
139
|
+
return value
|
|
140
|
+
.replaceAll('&', '&')
|
|
141
|
+
.replaceAll('"', '"')
|
|
142
|
+
.replaceAll('<', '<')
|
|
143
|
+
.replaceAll('>', '>')
|
|
144
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@henjicc/ai-sdk-example-form-renderer",
|
|
3
|
+
"private": true,
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "tsc -p tsconfig.json",
|
|
7
|
+
"start": "npm run build && node dist/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@henjicc/ai-sdk": "0.2.8"
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@types/node": "^24.0.0",
|
|
14
|
+
"typescript": "^5.9.2"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"lib": ["ES2022", "DOM"],
|
|
5
|
+
"module": "NodeNext",
|
|
6
|
+
"moduleResolution": "NodeNext",
|
|
7
|
+
"strict": true,
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
"outDir": "dist",
|
|
10
|
+
"rootDir": ".",
|
|
11
|
+
"types": ["node"]
|
|
12
|
+
},
|
|
13
|
+
"include": ["index.ts", "cli.ts"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# llm-chat
|
|
2
|
+
|
|
3
|
+
用 `@henjicc/ai-sdk@0.2.8` 的 `llm/streaming` 按需入口走 OpenAI-compatible SSE 流式对话,
|
|
4
|
+
不会把 generation、BigModel preset/models/pricing、Groq 或 LLM modules 打进示例 bundle;
|
|
5
|
+
通用端点身份解析所需的 BigModel profiles 仍会保留。默认目标是
|
|
6
|
+
DeepSeek `deepseek-v4-flash`,提示词要求只回复 `SDK OK`,并限制最多 16 tokens。示例显式传入
|
|
7
|
+
`reasoning: { enabled: false, effort: 'high' }`,避免短输出预算被供应商默认思考过程占用;若流结束后
|
|
8
|
+
没有任何文本 token,示例会明确失败。
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install
|
|
12
|
+
npm run dry-run
|
|
13
|
+
npm run check:bundle
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
`dry-run` 使用本地 SSE fixture,不访问网络。真实调用前先确认供应商、模型、Base URL 和价格:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
LLM_API_KEY='你的密钥' \
|
|
20
|
+
LLM_PROVIDER_ID='deepseek' \
|
|
21
|
+
LLM_MODEL_ID='deepseek-v4-flash' \
|
|
22
|
+
LLM_BASE_URL='https://api.deepseek.com' \
|
|
23
|
+
npm start
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
DeepSeek Flash 当前资料价为缓存未命中输入 ¥1.5/百万 tokens(闲时)或 ¥3/百万(高峰),输出
|
|
27
|
+
¥4.5/百万(闲时)或 ¥9/百万(高峰)。示例按高峰价、并把字符数保守当 token 数输出粗估;实际账单
|
|
28
|
+
以供应商 usage 和账单为准。
|
|
29
|
+
|
|
30
|
+
示例对 `/chat/completions` 的 POST 设置单次外网闸门,进程内第二次付费请求会在本地被拒绝。
|
|
31
|
+
要取消流式请求,保存 `resolveLlmTaskId(request)` 返回的 `taskId`,再调用
|
|
32
|
+
`cancelLlmChatTask(taskId)`。按需流式入口没有需要宿主释放的客户端实例。
|