@bendyline/gezel-inference 1.0.2 → 1.0.4
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/dist/catalog/chat-models/de/deepseek-v4.1-flash-552b-q2/manifest.json +120 -0
- package/dist/catalog/chat-models/de/deepseek-v4.1-flash-552b-q2/versions/1.0.0/manifest.json +21 -0
- package/dist/catalog/chat-models/gl/glm-5.3-flash-320b-q2/manifest.json +6 -5
- package/dist/catalog/chat-models/gl/glm-5.3-flash-320b-q2/versions/1.0.2/manifest.json +27 -0
- package/dist/catalog/chat-models/gl/glm-5.3-flash-320b-q2/versions/1.0.3/manifest.json +27 -0
- package/dist/catalog/chat-models/index.json +1 -1
- package/dist/catalog/chat-models/na/nanbeige4.2-3b-q4/manifest.json +1 -1
- package/dist/catalog/chat-models/ne/nemotron3.5-bolt-74b-iq2/manifest.json +157 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-bolt-74b-iq2/versions/1.0.0/manifest.json +30 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-bolt-e4b-q4/manifest.json +142 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-bolt-e4b-q4/versions/1.0.0/manifest.json +14 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-bolt-e4b-q4/versions/1.0.1/manifest.json +14 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-super-vl-120b-nvfp4/manifest.json +156 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-super-vl-120b-nvfp4/versions/1.0.0/manifest.json +28 -0
- package/dist/catalog/chat-models/raw-index.json +1 -1
- package/dist/catalog/image-models/an/animagine-xl-4/manifest.json +40 -0
- package/dist/catalog/image-models/an/animagine-xl-4/versions/4.0.0/manifest.json +10 -0
- package/dist/catalog/image-models/an/animagine-xl-4/versions/4.0.1/manifest.json +16 -0
- package/dist/catalog/image-models/fl/flux-2-klein-4b-q4/manifest.json +44 -0
- package/dist/catalog/image-models/fl/flux-2-klein-4b-q4/versions/1.0.0/manifest.json +23 -0
- package/dist/catalog/image-models/fl/flux-2-klein-4b-q4/versions/1.0.1/manifest.json +29 -0
- package/dist/catalog/image-models/index.json +1 -0
- package/dist/catalog/image-models/ir/iris-3b-f32/manifest.json +41 -0
- package/dist/catalog/image-models/ir/iris-3b-f32/versions/1.0.0/manifest.json +19 -0
- package/dist/catalog/image-models/ir/iris-3b-f32/versions/1.0.1/manifest.json +25 -0
- package/dist/catalog/image-models/ir/iris-3b-f32/versions/1.0.2/manifest.json +25 -0
- package/dist/catalog/image-models/kr/krea-2-turbo-q4/manifest.json +42 -0
- package/dist/catalog/image-models/kr/krea-2-turbo-q4/versions/1.0.0/manifest.json +23 -0
- package/dist/catalog/image-models/kr/krea-2-turbo-q4/versions/1.0.1/manifest.json +29 -0
- package/dist/catalog/image-models/kr/krea-2-turbo-q6/manifest.json +42 -0
- package/dist/catalog/image-models/kr/krea-2-turbo-q6/versions/1.0.0/manifest.json +23 -0
- package/dist/catalog/image-models/kr/krea-2-turbo-q6/versions/1.0.1/manifest.json +29 -0
- package/dist/catalog/image-models/kr/krea-2-turbo-q8/manifest.json +42 -0
- package/dist/catalog/image-models/kr/krea-2-turbo-q8/versions/1.0.0/manifest.json +23 -0
- package/dist/catalog/image-models/kr/krea-2-turbo-q8/versions/1.0.1/manifest.json +29 -0
- package/dist/catalog/image-models/mi/ming-image-0.1-design-bf16/manifest.json +41 -0
- package/dist/catalog/image-models/mi/ming-image-0.1-design-bf16/versions/1.0.0/manifest.json +31 -0
- package/dist/catalog/image-models/mi/ming-image-0.1-design-bf16/versions/1.0.1/manifest.json +50 -0
- package/dist/catalog/image-models/mi/ming-image-0.1-design-bf16/versions/1.0.2/manifest.json +50 -0
- package/dist/catalog/image-models/mo/moss-image-sft-q4/manifest.json +40 -0
- package/dist/catalog/image-models/mo/moss-image-sft-q4/versions/1.0.0/manifest.json +37 -0
- package/dist/catalog/image-models/mo/moss-image-sft-q4/versions/1.0.1/manifest.json +37 -0
- package/dist/catalog/image-models/raw-index.json +1 -0
- package/dist/catalog/image-models/sd/sd-1.5/manifest.json +40 -0
- package/dist/catalog/image-models/sd/sd-1.5/versions/1.0.0/manifest.json +10 -0
- package/dist/catalog/image-models/sd/sd-1.5/versions/1.0.1/manifest.json +16 -0
- package/dist/catalog/image-models/sd/sd-turbo/manifest.json +40 -0
- package/dist/catalog/image-models/sd/sd-turbo/versions/1.0.0/manifest.json +10 -0
- package/dist/catalog/image-models/sd/sd-turbo/versions/1.0.1/manifest.json +16 -0
- package/dist/catalog/image-models/sd/sdxl-base-1.0/manifest.json +39 -0
- package/dist/catalog/image-models/sd/sdxl-base-1.0/versions/1.0.0/manifest.json +10 -0
- package/dist/catalog/image-models/sd/sdxl-base-1.0/versions/1.0.1/manifest.json +16 -0
- package/dist/catalog/image-models/sd/sdxl-lightning-4step/manifest.json +40 -0
- package/dist/catalog/image-models/sd/sdxl-lightning-4step/versions/1.0.0/manifest.json +10 -0
- package/dist/catalog/image-models/sd/sdxl-lightning-4step/versions/1.0.1/manifest.json +16 -0
- package/dist/catalog/image-models/sd/sdxl-turbo/manifest.json +41 -0
- package/dist/catalog/image-models/sd/sdxl-turbo/versions/1.0.0/manifest.json +10 -0
- package/dist/catalog/image-models/sd/sdxl-turbo/versions/1.0.1/manifest.json +16 -0
- package/dist/catalog/knowledge-catalogs/be/bendyline-how-to-books/keywords.json +56 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-alaska-part-0001/keywords.json +12 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-nevada-part-0001/keywords.json +13 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-us-300-399-part-0001/keywords.json +14 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-us-347-349/keywords.json +17 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-utah-part-0001/keywords.json +12 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-utah-part-0002/keywords.json +12 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0001/keywords.json +12 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0002/keywords.json +12 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0003/keywords.json +12 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0004/keywords.json +12 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0005/keywords.json +12 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-wyoming-part-0001/keywords.json +12 -0
- package/dist/catalog/knowledge-catalogs/index.json +1 -1
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-aspnet-core-en/keywords.json +21 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-ai-platform-en/keywords.json +27 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-apps-compute-en/keywords.json +23 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-data-aiot-en/keywords.json +26 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-management-hybrid-en/keywords.json +28 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-network-security-en/keywords.json +29 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-dotnet-en/keywords.json +21 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-entity-framework-en/keywords.json +14 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-microsoft-365-en/keywords.json +20 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-powershell-en/keywords.json +24 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-sql-server-en/keywords.json +27 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-windows-apps-en/keywords.json +18 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-windows-server-en/keywords.json +28 -0
- package/dist/catalog/knowledge-catalogs/raw-index.json +1 -1
- package/dist/catalog/knowledge-catalogs/re/regional-american-south/keywords.json +1700 -0
- package/dist/catalog/knowledge-catalogs/re/regional-american-south/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-andes-amazon/keywords.json +750 -0
- package/dist/catalog/knowledge-catalogs/re/regional-andes-amazon/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-australia-nz/keywords.json +1281 -0
- package/dist/catalog/knowledge-catalogs/re/regional-australia-nz/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-brazil/keywords.json +1125 -0
- package/dist/catalog/knowledge-catalogs/re/regional-brazil/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-britain-ireland/keywords.json +3287 -0
- package/dist/catalog/knowledge-catalogs/re/regional-britain-ireland/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-california-southwest/keywords.json +1835 -0
- package/dist/catalog/knowledge-catalogs/re/regional-california-southwest/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-canada-alaska/keywords.json +1184 -0
- package/dist/catalog/knowledge-catalogs/re/regional-canada-alaska/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-central-eastern-europe/keywords.json +1503 -0
- package/dist/catalog/knowledge-catalogs/re/regional-central-eastern-europe/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-asia/keywords.json +2836 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-asia/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-southern-africa/keywords.json +813 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-southern-africa/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mediterranean/keywords.json +2082 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mediterranean/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mexico-central-america/keywords.json +1481 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mexico-central-america/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-middle-east/keywords.json +1272 -0
- package/dist/catalog/knowledge-catalogs/re/regional-middle-east/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-midwest/keywords.json +758 -0
- package/dist/catalog/knowledge-catalogs/re/regional-midwest/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-north-africa/keywords.json +896 -0
- package/dist/catalog/knowledge-catalogs/re/regional-north-africa/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northeast/keywords.json +1281 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northeast/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-eurasia/keywords.json +346 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-eurasia/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-europe/keywords.json +2688 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-europe/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-islands/keywords.json +973 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-islands/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-northwest/keywords.json +937 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-northwest/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-rockies-plains/keywords.json +608 -0
- package/dist/catalog/knowledge-catalogs/re/regional-rockies-plains/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-south-asia/keywords.json +633 -0
- package/dist/catalog/knowledge-catalogs/re/regional-south-asia/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southeast-asia/keywords.json +2697 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southeast-asia/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southern-cone/keywords.json +606 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southern-cone/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-west-central-africa/keywords.json +564 -0
- package/dist/catalog/knowledge-catalogs/re/regional-west-central-africa/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-western-europe/keywords.json +3247 -0
- package/dist/catalog/knowledge-catalogs/re/regional-western-europe-east/manifest.json +47 -0
- package/dist/catalog/knowledge-catalogs/re/regional-western-europe-east/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-western-europe-west/manifest.json +47 -0
- package/dist/catalog/knowledge-catalogs/re/regional-western-europe-west/versions/2026.10.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-arts/keywords.json +5437 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-arts/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-arts/versions/2026.10.1/manifest.json +181 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-astronomy/keywords.json +4009 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-astronomy/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-astronomy/versions/2026.10.1/manifest.json +181 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-biology/keywords.json +4009 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-biology/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-biology/versions/2026.10.1/manifest.json +217 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-business/keywords.json +5583 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-business/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-business/versions/2026.10.1/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-film-tv/keywords.json +6386 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-film-tv/manifest.json +2 -2
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-film-tv/versions/2026.10.1/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-food-drink/keywords.json +4009 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-food-drink/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-food-drink/versions/2026.10.1/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-games/keywords.json +5672 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-games/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-games/versions/2026.10.1/manifest.json +137 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-geography/manifest.json +68 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-geography/versions/2026.10.1/manifest.json +217 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-history/manifest.json +68 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-history/versions/2026.10.1/manifest.json +217 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-language/keywords.json +4009 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-language/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-language/versions/2026.10.1/manifest.json +141 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-law/keywords.json +4009 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-law/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-law/versions/2026.10.1/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-literature/keywords.json +5719 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-literature/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-literature/versions/2026.10.1/manifest.json +193 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-mathematics/keywords.json +4009 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-mathematics/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-mathematics/versions/2026.10.1/manifest.json +189 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-medicine/keywords.json +16009 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-medicine/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-medicine/versions/2026.10.1/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-military/keywords.json +5843 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-military/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-military/versions/2026.10.1/manifest.json +189 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-music/keywords.json +6264 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-music/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-music/versions/2026.10.1/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-arts/manifest.json +66 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-arts/versions/2026.10.1/manifest.json +209 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-business/manifest.json +61 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-business/versions/2026.10.1/manifest.json +189 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-entertainment/manifest.json +64 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-entertainment/versions/2026.10.1/manifest.json +201 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-military/manifest.json +60 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-military/versions/2026.10.1/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-other/manifest.json +55 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-other/versions/2026.10.1/manifest.json +165 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-politics/manifest.json +63 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-politics/versions/2026.10.1/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-religion/manifest.json +64 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-religion/versions/2026.10.1/manifest.json +201 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-science/manifest.json +65 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-science/versions/2026.10.1/manifest.json +205 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-sports/manifest.json +73 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-people-sports/versions/2026.10.1/manifest.json +237 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-politics/keywords.json +5447 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-politics/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-politics/versions/2026.10.1/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-religion-philosophy/keywords.json +4009 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-religion-philosophy/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-religion-philosophy/versions/2026.10.1/manifest.json +189 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-science/keywords.json +4009 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-science/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-science/versions/2026.10.1/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-sports/keywords.json +5209 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-sports/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-sports/versions/2026.10.1/manifest.json +193 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-technology/keywords.json +6537 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-technology/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-technology/versions/2026.10.1/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-transportation/keywords.json +5989 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-transportation/manifest.json +1 -1
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-transportation/versions/2026.10.1/manifest.json +189 -0
- package/dist/catalog/provenance.json +2 -1
- package/dist/engines/native-file-manifest.json +198 -118
- package/dist/engines/native-manifest.d.ts +4 -4
- package/dist/engines/native-manifest.js +36 -34
- package/dist/engines/resolver.js +12 -1
- package/dist/fs/atomic.d.ts +4 -1
- package/dist/fs/atomic.js +7 -1
- package/dist/http/openai-compat/chat-target.d.ts +1 -1
- package/dist/http/openai-compat/chat-target.js +1 -1
- package/dist/http/openai-compat/engine-failure.js +7 -2
- package/dist/http/routes/v1-chat.js +1 -1
- package/dist/http/routes/v1-images.d.ts +44 -0
- package/dist/http/routes/v1-images.js +370 -0
- package/dist/http/routes/v1-knowledge.js +4 -0
- package/dist/http/routes/v1-responses.d.ts +1 -1
- package/dist/inference-service.d.ts +9 -1
- package/dist/inference-service.js +44 -11
- package/dist/knowledge/manager.d.ts +7 -0
- package/dist/knowledge/manager.js +32 -1
- package/dist/kokoro-lexicon/manifest.json +6 -3
- package/dist/models/image-fit.d.ts +83 -0
- package/dist/models/image-fit.js +163 -0
- package/dist/models/weight-facts.d.ts +36 -0
- package/dist/models/weight-facts.js +171 -0
- package/dist/perf/responsiveness.js +4 -3
- package/dist/providers/audio/kokoro-frontend.js +1 -1
- package/dist/providers/ds4/build-provider.js +34 -21
- package/dist/providers/ds4/dspark.d.ts +23 -5
- package/dist/providers/ds4/dspark.js +36 -8
- package/dist/providers/image/img2img-support.d.ts +40 -0
- package/dist/providers/image/img2img-support.js +74 -0
- package/dist/providers/image/local-engine.d.ts +31 -0
- package/dist/providers/image/local-engine.js +47 -0
- package/dist/providers/image/local-factory.d.ts +95 -0
- package/dist/providers/image/local-factory.js +270 -0
- package/dist/providers/image/mock.d.ts +23 -0
- package/dist/providers/image/mock.js +151 -0
- package/dist/providers/image/pull-registry.d.ts +106 -0
- package/dist/providers/image/pull-registry.js +227 -0
- package/dist/providers/image/sd-cpp.d.ts +200 -0
- package/dist/providers/image/sd-cpp.js +845 -0
- package/dist/providers/image/types.d.ts +235 -0
- package/dist/providers/image/types.js +20 -0
- package/dist/providers/llama-cpp/backend-health.d.ts +7 -0
- package/dist/providers/llama-cpp/backend-health.js +41 -1
- package/dist/providers/llama-cpp/build-provider.js +107 -56
- package/dist/providers/llama-cpp/cache-adapter.d.ts +7 -1
- package/dist/providers/llama-cpp/cache-adapter.js +9 -0
- package/dist/providers/llama-cpp/devices.d.ts +13 -2
- package/dist/providers/llama-cpp/devices.js +43 -6
- package/dist/providers/llama-cpp/models.js +4 -1
- package/dist/providers/llama-cpp/offload-planner.d.ts +23 -0
- package/dist/providers/llama-cpp/offload-planner.js +27 -0
- package/dist/providers/llama-cpp/provider.d.ts +14 -3
- package/dist/providers/llama-cpp/provider.js +35 -2
- package/dist/providers/mlx/provider.js +15 -5
- package/dist/providers/mlx/reasoning-stream.d.ts +15 -0
- package/dist/providers/mlx/reasoning-stream.js +35 -0
- package/dist/providers/native/capacity-broker.js +9 -3
- package/dist/providers/native/local-engine-runtime.js +15 -12
- package/dist/providers/native/supervisor.d.ts +8 -0
- package/dist/providers/native/supervisor.js +55 -5
- package/dist/providers/project-macro-loop-bail.js +5 -3
- package/dist/providers/provider-lifecycle.d.ts +21 -0
- package/dist/providers/provider-lifecycle.js +83 -0
- package/dist/providers/queue.d.ts +9 -2
- package/dist/providers/queue.js +17 -2
- package/dist/providers/retirement-gate.d.ts +20 -0
- package/dist/providers/retirement-gate.js +55 -0
- package/dist/providers/session-hooks.d.ts +4 -1
- package/dist/system/memory.js +6 -0
- package/dist/utils/image-meta.d.ts +12 -0
- package/dist/utils/image-meta.js +77 -0
- package/package.json +6 -6
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface Provider {
|
|
2
|
+
shutdown?(): Promise<void>;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Owns one lazy provider generation. Reset and broker retirement close admission
|
|
6
|
+
* before waiting for an in-flight build and admitted work. A failed shutdown
|
|
7
|
+
* retains its generation for retry; no replacement can leak past it.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ProviderLifecycle<T extends Provider> {
|
|
10
|
+
private readonly operations;
|
|
11
|
+
private generation?;
|
|
12
|
+
private transition?;
|
|
13
|
+
private brokerRetired;
|
|
14
|
+
constructor(operations: ReadonlySet<PropertyKey>);
|
|
15
|
+
current(build: () => Promise<T>, retireWithBroker?: boolean): Promise<T>;
|
|
16
|
+
reset(): Promise<void>;
|
|
17
|
+
/** Permanent for native generations; user-owned cloud providers remain usable. */
|
|
18
|
+
retireForMachineBroker(): Promise<void>;
|
|
19
|
+
private drain;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ProviderRetirementGate, trackProviderOperations } from './retirement-gate.js';
|
|
2
|
+
/**
|
|
3
|
+
* Owns one lazy provider generation. Reset and broker retirement close admission
|
|
4
|
+
* before waiting for an in-flight build and admitted work. A failed shutdown
|
|
5
|
+
* retains its generation for retry; no replacement can leak past it.
|
|
6
|
+
*/
|
|
7
|
+
export class ProviderLifecycle {
|
|
8
|
+
operations;
|
|
9
|
+
generation;
|
|
10
|
+
transition;
|
|
11
|
+
brokerRetired = false;
|
|
12
|
+
constructor(operations) {
|
|
13
|
+
this.operations = operations;
|
|
14
|
+
}
|
|
15
|
+
async current(build, retireWithBroker = true) {
|
|
16
|
+
if (retireWithBroker && this.brokerRetired)
|
|
17
|
+
throw new Error('local provider retired after machine engine adoption');
|
|
18
|
+
if (this.transition) {
|
|
19
|
+
await this.transition;
|
|
20
|
+
return this.current(build, retireWithBroker);
|
|
21
|
+
}
|
|
22
|
+
if (this.generation?.closed) {
|
|
23
|
+
await this.reset();
|
|
24
|
+
return this.current(build, retireWithBroker);
|
|
25
|
+
}
|
|
26
|
+
if (this.generation)
|
|
27
|
+
return this.generation.build;
|
|
28
|
+
const gate = new ProviderRetirementGate();
|
|
29
|
+
const generation = {
|
|
30
|
+
gate,
|
|
31
|
+
closed: false,
|
|
32
|
+
retireWithBroker,
|
|
33
|
+
build: Promise.resolve()
|
|
34
|
+
.then(build)
|
|
35
|
+
.then((provider) => {
|
|
36
|
+
generation.provider = provider;
|
|
37
|
+
return trackProviderOperations(provider, gate, this.operations);
|
|
38
|
+
})
|
|
39
|
+
.catch((error) => {
|
|
40
|
+
if (this.generation === generation)
|
|
41
|
+
this.generation = undefined;
|
|
42
|
+
throw error;
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
this.generation = generation;
|
|
46
|
+
return generation.build;
|
|
47
|
+
}
|
|
48
|
+
reset() {
|
|
49
|
+
return this.drain('local provider retired during reset; obtain the current provider');
|
|
50
|
+
}
|
|
51
|
+
/** Permanent for native generations; user-owned cloud providers remain usable. */
|
|
52
|
+
retireForMachineBroker() {
|
|
53
|
+
this.brokerRetired = true;
|
|
54
|
+
if (this.generation && !this.generation.retireWithBroker)
|
|
55
|
+
return Promise.resolve();
|
|
56
|
+
return this.drain();
|
|
57
|
+
}
|
|
58
|
+
drain(message) {
|
|
59
|
+
if (this.transition)
|
|
60
|
+
return this.transition;
|
|
61
|
+
const generation = this.generation;
|
|
62
|
+
if (!generation)
|
|
63
|
+
return Promise.resolve();
|
|
64
|
+
generation.closed = true;
|
|
65
|
+
generation.gate.beginRetirement(message);
|
|
66
|
+
const run = (async () => {
|
|
67
|
+
// A failed build produced no provider to shut down. Its caller still
|
|
68
|
+
// receives the build error, while retirement can finish successfully.
|
|
69
|
+
await generation.build.catch(() => { });
|
|
70
|
+
await generation.gate.waitForIdle();
|
|
71
|
+
await generation.provider?.shutdown?.();
|
|
72
|
+
if (this.generation === generation)
|
|
73
|
+
this.generation = undefined;
|
|
74
|
+
})();
|
|
75
|
+
this.transition = run;
|
|
76
|
+
const clear = () => {
|
|
77
|
+
if (this.transition === run)
|
|
78
|
+
this.transition = undefined;
|
|
79
|
+
};
|
|
80
|
+
void run.then(clear, clear);
|
|
81
|
+
return run;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -5,11 +5,18 @@
|
|
|
5
5
|
* service's import point and keeps the one piece that reads the process
|
|
6
6
|
* environment.
|
|
7
7
|
*/
|
|
8
|
-
export { AbortedWhileQueuedError, DEFAULT_AMBIENT_QUIET_MS, ProviderQueue, QUEUE_WAIT_NOTICE_DELAY_MS, QUEUE_WAIT_NOTICE_REPEAT_MS, backgroundLaneCap, runInQueue, } from '@bendyline/gezel/runtime';
|
|
9
|
-
export type { EnqueueRequest, Lane, ProviderQueueOptions, QueueSnapshot, QueueWaitOpts, } from '@bendyline/gezel/runtime';
|
|
8
|
+
export { AbortedWhileQueuedError, DEFAULT_AMBIENT_QUIET_MS, DEFAULT_LOCAL_YIELD_QUANTUM_MS, ProviderQueue, QUEUE_WAIT_NOTICE_DELAY_MS, QUEUE_WAIT_NOTICE_REPEAT_MS, backgroundLaneCap, runInQueue, } from '@bendyline/gezel/runtime';
|
|
9
|
+
export type { EnqueueRequest, Lane, ProviderQueueOptions, QueueLease, QueueSnapshot, QueueWaitOpts, } from '@bendyline/gezel/runtime';
|
|
10
10
|
/**
|
|
11
11
|
* Ambient quiet window for local engine queues. Override with
|
|
12
12
|
* `GEZEL_AMBIENT_QUIET_MS` (milliseconds; `0` disables ambient gating
|
|
13
13
|
* entirely).
|
|
14
14
|
*/
|
|
15
15
|
export declare function defaultAmbientQuietMs(): number;
|
|
16
|
+
/**
|
|
17
|
+
* How long a local turn holds its queue slot before it hands the slot to
|
|
18
|
+
* another conversation that is waiting. Override with
|
|
19
|
+
* `GEZEL_QUEUE_YIELD_QUANTUM_MS` (milliseconds; `0` keeps a slot for the
|
|
20
|
+
* whole turn).
|
|
21
|
+
*/
|
|
22
|
+
export declare function defaultQueueYieldQuantumMs(): number;
|
package/dist/providers/queue.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* service's import point and keeps the one piece that reads the process
|
|
6
6
|
* environment.
|
|
7
7
|
*/
|
|
8
|
-
import { DEFAULT_AMBIENT_QUIET_MS } from '@bendyline/gezel/runtime';
|
|
9
|
-
export { AbortedWhileQueuedError, DEFAULT_AMBIENT_QUIET_MS, ProviderQueue, QUEUE_WAIT_NOTICE_DELAY_MS, QUEUE_WAIT_NOTICE_REPEAT_MS, backgroundLaneCap, runInQueue, } from '@bendyline/gezel/runtime';
|
|
8
|
+
import { DEFAULT_AMBIENT_QUIET_MS, DEFAULT_LOCAL_YIELD_QUANTUM_MS } from '@bendyline/gezel/runtime';
|
|
9
|
+
export { AbortedWhileQueuedError, DEFAULT_AMBIENT_QUIET_MS, DEFAULT_LOCAL_YIELD_QUANTUM_MS, ProviderQueue, QUEUE_WAIT_NOTICE_DELAY_MS, QUEUE_WAIT_NOTICE_REPEAT_MS, backgroundLaneCap, runInQueue, } from '@bendyline/gezel/runtime';
|
|
10
10
|
/**
|
|
11
11
|
* Ambient quiet window for local engine queues. Override with
|
|
12
12
|
* `GEZEL_AMBIENT_QUIET_MS` (milliseconds; `0` disables ambient gating
|
|
@@ -21,3 +21,18 @@ export function defaultAmbientQuietMs() {
|
|
|
21
21
|
}
|
|
22
22
|
return DEFAULT_AMBIENT_QUIET_MS;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* How long a local turn holds its queue slot before it hands the slot to
|
|
26
|
+
* another conversation that is waiting. Override with
|
|
27
|
+
* `GEZEL_QUEUE_YIELD_QUANTUM_MS` (milliseconds; `0` keeps a slot for the
|
|
28
|
+
* whole turn).
|
|
29
|
+
*/
|
|
30
|
+
export function defaultQueueYieldQuantumMs() {
|
|
31
|
+
const raw = process.env.GEZEL_QUEUE_YIELD_QUANTUM_MS;
|
|
32
|
+
if (raw !== undefined) {
|
|
33
|
+
const parsed = Number.parseInt(raw, 10);
|
|
34
|
+
if (Number.isFinite(parsed) && parsed >= 0)
|
|
35
|
+
return parsed;
|
|
36
|
+
}
|
|
37
|
+
return DEFAULT_LOCAL_YIELD_QUANTUM_MS;
|
|
38
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tracks long-running provider operations while a machine-engine adoption is
|
|
3
|
+
* retiring the user daemon's local provider. The gate closes before draining:
|
|
4
|
+
* callers that already hold a provider reference cannot start a second local
|
|
5
|
+
* operation after the broker has become authoritative.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ProviderRetirementGate {
|
|
8
|
+
private retiring;
|
|
9
|
+
private retirementMessage;
|
|
10
|
+
private active;
|
|
11
|
+
private readonly idleWaiters;
|
|
12
|
+
beginRetirement(message?: string): void;
|
|
13
|
+
run<T>(operation: () => Promise<T>): Promise<T>;
|
|
14
|
+
waitForIdle(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Wrap only the operations which can own a native engine. Management calls
|
|
18
|
+
* remain direct, and shutdown is deliberately not counted as user work.
|
|
19
|
+
*/
|
|
20
|
+
export declare function trackProviderOperations<T extends object>(provider: T, gate: ProviderRetirementGate, operationNames: ReadonlySet<PropertyKey>): T;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tracks long-running provider operations while a machine-engine adoption is
|
|
3
|
+
* retiring the user daemon's local provider. The gate closes before draining:
|
|
4
|
+
* callers that already hold a provider reference cannot start a second local
|
|
5
|
+
* operation after the broker has become authoritative.
|
|
6
|
+
*/
|
|
7
|
+
export class ProviderRetirementGate {
|
|
8
|
+
retiring = false;
|
|
9
|
+
retirementMessage = 'local provider retired after machine engine adoption';
|
|
10
|
+
active = 0;
|
|
11
|
+
idleWaiters = new Set();
|
|
12
|
+
beginRetirement(message) {
|
|
13
|
+
this.retiring = true;
|
|
14
|
+
if (message)
|
|
15
|
+
this.retirementMessage = message;
|
|
16
|
+
}
|
|
17
|
+
async run(operation) {
|
|
18
|
+
if (this.retiring) {
|
|
19
|
+
throw new Error(this.retirementMessage);
|
|
20
|
+
}
|
|
21
|
+
this.active += 1;
|
|
22
|
+
try {
|
|
23
|
+
return await operation();
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
this.active -= 1;
|
|
27
|
+
if (this.active === 0) {
|
|
28
|
+
for (const resolve of this.idleWaiters)
|
|
29
|
+
resolve();
|
|
30
|
+
this.idleWaiters.clear();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async waitForIdle() {
|
|
35
|
+
if (this.active === 0)
|
|
36
|
+
return;
|
|
37
|
+
await new Promise((resolve) => this.idleWaiters.add(resolve));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Wrap only the operations which can own a native engine. Management calls
|
|
42
|
+
* remain direct, and shutdown is deliberately not counted as user work.
|
|
43
|
+
*/
|
|
44
|
+
export function trackProviderOperations(provider, gate, operationNames) {
|
|
45
|
+
return new Proxy(provider, {
|
|
46
|
+
get(target, property) {
|
|
47
|
+
const value = Reflect.get(target, property, target);
|
|
48
|
+
if (typeof value !== 'function')
|
|
49
|
+
return value;
|
|
50
|
+
if (!operationNames.has(property))
|
|
51
|
+
return value.bind(target);
|
|
52
|
+
return (...args) => gate.run(() => Promise.resolve(Reflect.apply(value, target, args)));
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
}
|
|
@@ -22,5 +22,8 @@ export interface ToolGroundingHooks {
|
|
|
22
22
|
kind: 'allow';
|
|
23
23
|
args: Record<string, unknown>;
|
|
24
24
|
} | null;
|
|
25
|
-
|
|
25
|
+
/** `source.thirdParty` is true for a tool served by any server but gezel's own. */
|
|
26
|
+
labelEvidence(toolName: string, args: Record<string, unknown>, text: string, source?: {
|
|
27
|
+
thirdParty: boolean;
|
|
28
|
+
}): string | null;
|
|
26
29
|
}
|
package/dist/system/memory.js
CHANGED
|
@@ -541,6 +541,12 @@ export function parseNvidiaMemoryProbe(stdout, systemRamBytes = totalmem()) {
|
|
|
541
541
|
deviceNames: devices.map((device) => device.name),
|
|
542
542
|
};
|
|
543
543
|
}
|
|
544
|
+
/**
|
|
545
|
+
* RTX Spark (N1X) is GB10-class silicon but deliberately not in this list.
|
|
546
|
+
* Windows splits its memory at boot into a fixed GPU share and the OS's RAM
|
|
547
|
+
* (32 + 32 GB on a 64 GB machine, changed only by a reboot), so nvidia-smi's
|
|
548
|
+
* figure is a pool of its own and the card is budgeted as discrete.
|
|
549
|
+
*/
|
|
544
550
|
function isKnownUnifiedNvidiaDevice(name) {
|
|
545
551
|
const normalized = name.toLowerCase();
|
|
546
552
|
return /\bgb10\b/.test(normalized) || normalized.includes('dgx spark');
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image dimensions from the file header alone, with no image library: PNG,
|
|
3
|
+
* GIF, JPEG and WebP. The service's photo index and the image engines both
|
|
4
|
+
* read through this one parser, so a rendered image's reported size is the
|
|
5
|
+
* size its own header states.
|
|
6
|
+
*/
|
|
7
|
+
export interface ImageMeta {
|
|
8
|
+
format: 'png' | 'jpeg' | 'gif' | 'webp';
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function readImageMeta(buf: Buffer): ImageMeta | null;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image dimensions from the file header alone, with no image library: PNG,
|
|
3
|
+
* GIF, JPEG and WebP. The service's photo index and the image engines both
|
|
4
|
+
* read through this one parser, so a rendered image's reported size is the
|
|
5
|
+
* size its own header states.
|
|
6
|
+
*/
|
|
7
|
+
export function readImageMeta(buf) {
|
|
8
|
+
if (buf.length < 24)
|
|
9
|
+
return null;
|
|
10
|
+
// PNG: 8-byte signature, then IHDR (width @16, height @20, big-endian).
|
|
11
|
+
if (buf[0] === 0x89 && buf[1] === 0x50 && buf[2] === 0x4e && buf[3] === 0x47) {
|
|
12
|
+
return { format: 'png', width: buf.readUInt32BE(16), height: buf.readUInt32BE(20) };
|
|
13
|
+
}
|
|
14
|
+
// GIF: "GIF87a"/"GIF89a", width/height little-endian @6/@8.
|
|
15
|
+
if (buf[0] === 0x47 && buf[1] === 0x49 && buf[2] === 0x46) {
|
|
16
|
+
return { format: 'gif', width: buf.readUInt16LE(6), height: buf.readUInt16LE(8) };
|
|
17
|
+
}
|
|
18
|
+
// JPEG: scan segments for a Start-Of-Frame marker (0xFFC0–C3, C5–C7, C9–CB).
|
|
19
|
+
if (buf[0] === 0xff && buf[1] === 0xd8) {
|
|
20
|
+
let off = 2;
|
|
21
|
+
while (off + 9 < buf.length) {
|
|
22
|
+
if (buf[off] !== 0xff) {
|
|
23
|
+
off++;
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const marker = buf[off + 1];
|
|
27
|
+
const isSof = (marker >= 0xc0 && marker <= 0xc3) ||
|
|
28
|
+
(marker >= 0xc5 && marker <= 0xc7) ||
|
|
29
|
+
(marker >= 0xc9 && marker <= 0xcb);
|
|
30
|
+
if (isSof) {
|
|
31
|
+
const height = buf.readUInt16BE(off + 5);
|
|
32
|
+
const width = buf.readUInt16BE(off + 7);
|
|
33
|
+
return { format: 'jpeg', width, height };
|
|
34
|
+
}
|
|
35
|
+
// Skip this segment using its length field.
|
|
36
|
+
const len = buf.readUInt16BE(off + 2);
|
|
37
|
+
if (len < 2)
|
|
38
|
+
break;
|
|
39
|
+
off += 2 + len;
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
// WebP: "RIFF"...."WEBP" then a VP8 / VP8L / VP8X chunk.
|
|
44
|
+
if (buf[0] === 0x52 &&
|
|
45
|
+
buf[1] === 0x49 &&
|
|
46
|
+
buf[2] === 0x46 &&
|
|
47
|
+
buf[3] === 0x46 &&
|
|
48
|
+
buf[8] === 0x57 &&
|
|
49
|
+
buf[9] === 0x45 &&
|
|
50
|
+
buf[10] === 0x42 &&
|
|
51
|
+
buf[11] === 0x50) {
|
|
52
|
+
const fourcc = buf.toString('ascii', 12, 16);
|
|
53
|
+
if (fourcc === 'VP8 ' && buf.length >= 30) {
|
|
54
|
+
// Lossy: dimensions are 14-bit at offset 26/28 (mask off the top bits).
|
|
55
|
+
const width = buf.readUInt16LE(26) & 0x3fff;
|
|
56
|
+
const height = buf.readUInt16LE(28) & 0x3fff;
|
|
57
|
+
return { format: 'webp', width, height };
|
|
58
|
+
}
|
|
59
|
+
if (fourcc === 'VP8L' && buf.length >= 25) {
|
|
60
|
+
// Lossless: 1 signature byte then 14+14 bits packed.
|
|
61
|
+
const b0 = buf[21];
|
|
62
|
+
const b1 = buf[22];
|
|
63
|
+
const b2 = buf[23];
|
|
64
|
+
const b3 = buf[24];
|
|
65
|
+
const width = 1 + (((b1 & 0x3f) << 8) | b0);
|
|
66
|
+
const height = 1 + (((b3 & 0x0f) << 10) | (b2 << 2) | ((b1 & 0xc0) >> 6));
|
|
67
|
+
return { format: 'webp', width, height };
|
|
68
|
+
}
|
|
69
|
+
if (fourcc === 'VP8X' && buf.length >= 30) {
|
|
70
|
+
// Extended: 24-bit (value+1) at 24/27.
|
|
71
|
+
const width = 1 + (buf[24] | (buf[25] << 8) | (buf[26] << 16));
|
|
72
|
+
const height = 1 + (buf[27] | (buf[28] << 8) | (buf[29] << 16));
|
|
73
|
+
return { format: 'webp', width, height };
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return null;
|
|
77
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/gezel-inference",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Gezel's on-device inference runtime: native engines, local model management, embeddings, knowledge search, and OpenAI-compatible routes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -73,10 +73,10 @@
|
|
|
73
73
|
"!dist/**/__pycache__"
|
|
74
74
|
],
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@bendyline/gezel": "1.2.
|
|
77
|
-
"@bendyline/gezel-catalog": "1.2.
|
|
78
|
-
"@bendyline/gezel-client": "1.2.
|
|
79
|
-
"@bendyline/gezel-knowledge": "1.2.
|
|
76
|
+
"@bendyline/gezel": "1.2.9",
|
|
77
|
+
"@bendyline/gezel-catalog": "1.2.9",
|
|
78
|
+
"@bendyline/gezel-client": "1.2.9",
|
|
79
|
+
"@bendyline/gezel-knowledge": "1.2.9",
|
|
80
80
|
"hono": "4.13.9",
|
|
81
81
|
"tar": "7.5.21",
|
|
82
82
|
"undici": "8.11.2",
|
|
@@ -105,6 +105,6 @@
|
|
|
105
105
|
"dev": "node scripts/stage-assets.mjs && tsc -p tsconfig.build.json --watch --preserveWatchOutput",
|
|
106
106
|
"typecheck": "tsc --noEmit",
|
|
107
107
|
"test": "vitest run",
|
|
108
|
-
"clean": "
|
|
108
|
+
"clean": "node scripts/clean.mjs"
|
|
109
109
|
}
|
|
110
110
|
}
|