@bendyline/gezel-inference 0.0.0-stage → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +13 -2
- package/dist/cache/adapter.d.ts +115 -0
- package/dist/cache/adapter.js +23 -0
- package/dist/cache/budget.d.ts +15 -0
- package/dist/cache/budget.js +31 -0
- package/dist/cache/controller.d.ts +205 -0
- package/dist/cache/controller.js +377 -0
- package/dist/catalog/LICENSE +21 -0
- package/dist/catalog/chat-models/bt/btl4-35b-q4/manifest.json +146 -0
- package/dist/catalog/chat-models/bt/btl4-35b-q4/versions/1.0.0/manifest.json +15 -0
- package/dist/catalog/chat-models/bt/btl4-35b-q4/versions/1.0.1/manifest.json +15 -0
- package/dist/catalog/chat-models/bt/btl4-compact-iq2/manifest.json +146 -0
- package/dist/catalog/chat-models/bt/btl4-compact-iq2/versions/1.0.0/manifest.json +15 -0
- package/dist/catalog/chat-models/bt/btl4-compact-iq2/versions/1.0.1/manifest.json +15 -0
- package/dist/catalog/chat-models/bt/btl4-compact-iq2/versions/1.0.2/manifest.json +15 -0
- package/dist/catalog/chat-models/de/deepseek-r1-8b-q4/manifest.json +166 -0
- package/dist/catalog/chat-models/de/deepseek-r1-8b-q4/versions/1.1.0/manifest.json +62 -0
- package/dist/catalog/chat-models/de/deepseek-r1-8b-q4/versions/1.1.1/manifest.json +61 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-mxfp4/manifest.json +125 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-mxfp4/versions/1.0.0/manifest.json +27 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-q2/manifest.json +125 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-q2/versions/1.0.0/manifest.json +27 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-q2/versions/1.1.0/manifest.json +27 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-q2q4/manifest.json +126 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-q2q4/versions/1.0.0/manifest.json +27 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-q4/manifest.json +318 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-q4/versions/1.0.0/manifest.json +225 -0
- package/dist/catalog/chat-models/de/deepseek-v4-flash-284b-q4/versions/1.1.0/manifest.json +225 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q4/manifest.json +249 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q4/versions/1.0.0/manifest.json +70 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q4/versions/1.1.0/manifest.json +72 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q4/versions/1.1.2/manifest.json +78 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q4/versions/1.1.3/manifest.json +78 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q4/versions/1.2.0/manifest.json +98 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q8/manifest.json +228 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q8/versions/1.0.0/manifest.json +72 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q8/versions/1.0.2/manifest.json +78 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q8/versions/1.0.3/manifest.json +78 -0
- package/dist/catalog/chat-models/ge/gemma4-12b-q8/versions/1.1.0/manifest.json +78 -0
- package/dist/catalog/chat-models/ge/gemma4-26b-q4/manifest.json +220 -0
- package/dist/catalog/chat-models/ge/gemma4-26b-q4/versions/1.1.0/manifest.json +75 -0
- package/dist/catalog/chat-models/ge/gemma4-26b-q4/versions/1.2.0/manifest.json +75 -0
- package/dist/catalog/chat-models/ge/gemma4-26b-q4/versions/1.2.1/manifest.json +80 -0
- package/dist/catalog/chat-models/ge/gemma4-26b-q4/versions/1.2.2/manifest.json +80 -0
- package/dist/catalog/chat-models/ge/gemma4-26b-q4/versions/1.3.0/manifest.json +81 -0
- package/dist/catalog/chat-models/ge/gemma4-31b-q4/manifest.json +226 -0
- package/dist/catalog/chat-models/ge/gemma4-31b-q4/versions/1.1.0/manifest.json +80 -0
- package/dist/catalog/chat-models/ge/gemma4-31b-q4/versions/1.1.1/manifest.json +82 -0
- package/dist/catalog/chat-models/ge/gemma4-31b-q4/versions/1.2.0/manifest.json +82 -0
- package/dist/catalog/chat-models/ge/gemma4-31b-q4/versions/1.2.1/manifest.json +95 -0
- package/dist/catalog/chat-models/ge/gemma4-31b-q4/versions/1.2.2/manifest.json +95 -0
- package/dist/catalog/chat-models/ge/gemma4-31b-q4/versions/1.3.0/manifest.json +86 -0
- package/dist/catalog/chat-models/ge/gemma4-e2b-q4/manifest.json +213 -0
- package/dist/catalog/chat-models/ge/gemma4-e2b-q4/versions/1.1.0/manifest.json +67 -0
- package/dist/catalog/chat-models/ge/gemma4-e2b-q4/versions/1.1.2/manifest.json +75 -0
- package/dist/catalog/chat-models/ge/gemma4-e2b-q4/versions/1.2.0/manifest.json +71 -0
- package/dist/catalog/chat-models/ge/gemma4-e2b-q4/versions/1.2.1/manifest.json +71 -0
- package/dist/catalog/chat-models/ge/gemma4-e2b-q4/versions/1.3.0/manifest.json +71 -0
- package/dist/catalog/chat-models/ge/gemma4-e4b-q4/manifest.json +205 -0
- package/dist/catalog/chat-models/ge/gemma4-e4b-q4/versions/1.1.0/manifest.json +72 -0
- package/dist/catalog/chat-models/ge/gemma4-e4b-q4/versions/1.1.2/manifest.json +75 -0
- package/dist/catalog/chat-models/ge/gemma4-e4b-q4/versions/1.2.0/manifest.json +76 -0
- package/dist/catalog/chat-models/ge/gemma4-e4b-q4/versions/1.2.1/manifest.json +76 -0
- package/dist/catalog/chat-models/ge/gemma4-e4b-q4/versions/1.3.0/manifest.json +76 -0
- package/dist/catalog/chat-models/gl/glm-5.2-754b-q2/manifest.json +127 -0
- package/dist/catalog/chat-models/gl/glm-5.2-754b-q2/versions/1.0.0/manifest.json +20 -0
- package/dist/catalog/chat-models/gl/glm-5.3-flash-320b-q2/manifest.json +140 -0
- package/dist/catalog/chat-models/gl/glm-5.3-flash-320b-q2/versions/1.0.0/manifest.json +23 -0
- package/dist/catalog/chat-models/gl/glm-5.3-flash-320b-q2/versions/1.0.1/manifest.json +26 -0
- package/dist/catalog/chat-models/gp/gpt-oss-120b-q4/manifest.json +247 -0
- package/dist/catalog/chat-models/gp/gpt-oss-120b-q4/versions/1.0.0/manifest.json +137 -0
- package/dist/catalog/chat-models/gp/gpt-oss-120b-q4/versions/1.1.0/manifest.json +135 -0
- package/dist/catalog/chat-models/gp/gpt-oss-20b-q4/manifest.json +195 -0
- package/dist/catalog/chat-models/gp/gpt-oss-20b-q4/versions/1.1.0/manifest.json +72 -0
- package/dist/catalog/chat-models/gp/gpt-oss-20b-q4/versions/1.1.1/manifest.json +71 -0
- package/dist/catalog/chat-models/gr/granite4.2-30b-q4/manifest.json +200 -0
- package/dist/catalog/chat-models/gr/granite4.2-30b-q4/versions/1.0.0/manifest.json +72 -0
- package/dist/catalog/chat-models/gr/granite4.2-3b-q4/manifest.json +196 -0
- package/dist/catalog/chat-models/gr/granite4.2-3b-q4/versions/1.0.0/manifest.json +57 -0
- package/dist/catalog/chat-models/gr/granite4.2-8b-q4/manifest.json +189 -0
- package/dist/catalog/chat-models/gr/granite4.2-8b-q4/versions/1.0.0/manifest.json +57 -0
- package/dist/catalog/chat-models/index.json +1 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q4/manifest.json +235 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q4/versions/1.0.0/manifest.json +124 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q4/versions/1.0.1/manifest.json +124 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q4/versions/1.0.2/manifest.json +123 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q6/manifest.json +257 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q6/versions/1.0.0/manifest.json +145 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q6/versions/1.0.1/manifest.json +145 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q8/manifest.json +285 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q8/versions/1.0.0/manifest.json +174 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q8/versions/1.0.1/manifest.json +174 -0
- package/dist/catalog/chat-models/la/laguna-s-2.1-118b-q8/versions/1.0.2/manifest.json +173 -0
- package/dist/catalog/chat-models/lf/lfm2.5-2.6b-q4/manifest.json +162 -0
- package/dist/catalog/chat-models/lf/lfm2.5-2.6b-q4/versions/1.0.0/manifest.json +59 -0
- package/dist/catalog/chat-models/lf/lfm2.5-2.6b-q4/versions/1.0.1/manifest.json +58 -0
- package/dist/catalog/chat-models/ll/llama3.2-3b-q4/manifest.json +134 -0
- package/dist/catalog/chat-models/ll/llama3.2-3b-q4/versions/1.1.0/manifest.json +57 -0
- package/dist/catalog/chat-models/ll/llama3.2-3b-q4/versions/1.1.1/manifest.json +56 -0
- package/dist/catalog/chat-models/mi/minicpm5-1b-q4/manifest.json +156 -0
- package/dist/catalog/chat-models/mi/minicpm5-1b-q4/versions/1.0.0/manifest.json +57 -0
- package/dist/catalog/chat-models/mi/minicpm5-2b-q4/manifest.json +161 -0
- package/dist/catalog/chat-models/mi/minicpm5-2b-q4/versions/1.0.0/manifest.json +57 -0
- package/dist/catalog/chat-models/mi/mistral-7b-q4/manifest.json +159 -0
- package/dist/catalog/chat-models/mi/mistral-7b-q4/versions/1.1.0/manifest.json +62 -0
- package/dist/catalog/chat-models/mi/mistral-7b-q4/versions/1.1.1/manifest.json +61 -0
- package/dist/catalog/chat-models/mi/mistral-medium-3.5-128b-q4/manifest.json +275 -0
- package/dist/catalog/chat-models/mi/mistral-medium-3.5-128b-q4/versions/1.0.0/manifest.json +154 -0
- package/dist/catalog/chat-models/mi/mistral-medium-3.5-128b-q4/versions/1.0.1/manifest.json +153 -0
- package/dist/catalog/chat-models/mu/muse-glimmer-30b-q4/manifest.json +135 -0
- package/dist/catalog/chat-models/mu/muse-glimmer-30b-q4/versions/1.0.0/manifest.json +20 -0
- package/dist/catalog/chat-models/mu/muse-glimmer-30b-q4/versions/1.0.1/manifest.json +20 -0
- package/dist/catalog/chat-models/mu/muse-glimmer-30b-q4/versions/1.0.2/manifest.json +20 -0
- package/dist/catalog/chat-models/na/nanbeige4.2-3b-q4/manifest.json +138 -0
- package/dist/catalog/chat-models/na/nanbeige4.2-3b-q4/versions/1.0.0/manifest.json +14 -0
- package/dist/catalog/chat-models/ne/nemotron3-nano-30b-q4/manifest.json +212 -0
- package/dist/catalog/chat-models/ne/nemotron3-nano-30b-q4/versions/1.0.0/manifest.json +94 -0
- package/dist/catalog/chat-models/ne/nemotron3-nano-30b-q4/versions/1.0.1/manifest.json +94 -0
- package/dist/catalog/chat-models/ne/nemotron3-nano-30b-q4/versions/1.0.2/manifest.json +93 -0
- package/dist/catalog/chat-models/ne/nemotron3-super-120b-q4/manifest.json +135 -0
- package/dist/catalog/chat-models/ne/nemotron3-super-120b-q4/versions/1.0.0/manifest.json +30 -0
- package/dist/catalog/chat-models/ne/nemotron3-super-120b-q4/versions/1.0.1/manifest.json +30 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-lightning-30b-q4/manifest.json +192 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-lightning-30b-q4/versions/1.0.0/manifest.json +74 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-lightning-30b-q4/versions/1.0.1/manifest.json +73 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-lightning-30b-q8/manifest.json +207 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-lightning-30b-q8/versions/1.0.0/manifest.json +89 -0
- package/dist/catalog/chat-models/ne/nemotron3.5-lightning-30b-q8/versions/1.0.1/manifest.json +88 -0
- package/dist/catalog/chat-models/or/ornith-35b-q4/manifest.json +224 -0
- package/dist/catalog/chat-models/or/ornith-35b-q4/versions/1.0.0/manifest.json +94 -0
- package/dist/catalog/chat-models/or/ornith-35b-q4/versions/1.0.1/manifest.json +93 -0
- package/dist/catalog/chat-models/or/ornith-35b-q8/manifest.json +244 -0
- package/dist/catalog/chat-models/or/ornith-35b-q8/versions/1.0.0/manifest.json +114 -0
- package/dist/catalog/chat-models/or/ornith-35b-q8/versions/1.0.1/manifest.json +113 -0
- package/dist/catalog/chat-models/or/ornith-9b-q4/manifest.json +215 -0
- package/dist/catalog/chat-models/or/ornith-9b-q4/versions/1.0.0/manifest.json +84 -0
- package/dist/catalog/chat-models/or/ornith-9b-q4/versions/1.0.1/manifest.json +83 -0
- package/dist/catalog/chat-models/or/ornith1.5-35b-a3b-q4/manifest.json +208 -0
- package/dist/catalog/chat-models/or/ornith1.5-35b-a3b-q4/versions/1.0.0/manifest.json +74 -0
- package/dist/catalog/chat-models/or/ornith1.5-35b-a3b-q8/manifest.json +223 -0
- package/dist/catalog/chat-models/or/ornith1.5-35b-a3b-q8/versions/1.0.0/manifest.json +89 -0
- package/dist/catalog/chat-models/or/ornith1.5-9b-q4/manifest.json +187 -0
- package/dist/catalog/chat-models/or/ornith1.5-9b-q4/versions/1.0.0/manifest.json +53 -0
- package/dist/catalog/chat-models/or/ornith1.5-9b-q4/versions/1.0.1/manifest.json +77 -0
- package/dist/catalog/chat-models/or/ornith1.5-9b-q8/manifest.json +192 -0
- package/dist/catalog/chat-models/or/ornith1.5-9b-q8/versions/1.0.0/manifest.json +58 -0
- package/dist/catalog/chat-models/or/ornith1.5-9b-q8/versions/1.0.1/manifest.json +82 -0
- package/dist/catalog/chat-models/qw/qwen3.5-0.8b-q4/manifest.json +192 -0
- package/dist/catalog/chat-models/qw/qwen3.5-0.8b-q4/versions/1.0.0/manifest.json +75 -0
- package/dist/catalog/chat-models/qw/qwen3.5-122b-a10b-q4/manifest.json +315 -0
- package/dist/catalog/chat-models/qw/qwen3.5-122b-a10b-q4/versions/1.0.0/manifest.json +164 -0
- package/dist/catalog/chat-models/qw/qwen3.5-122b-a10b-q4/versions/1.0.1/manifest.json +164 -0
- package/dist/catalog/chat-models/qw/qwen3.5-122b-a10b-q4/versions/1.0.2/manifest.json +164 -0
- package/dist/catalog/chat-models/qw/qwen3.5-122b-a10b-q4/versions/1.0.3/manifest.json +163 -0
- package/dist/catalog/chat-models/qw/qwen3.5-27b-q4/manifest.json +217 -0
- package/dist/catalog/chat-models/qw/qwen3.5-27b-q4/versions/1.0.0/manifest.json +90 -0
- package/dist/catalog/chat-models/qw/qwen3.5-2b-q4/manifest.json +194 -0
- package/dist/catalog/chat-models/qw/qwen3.5-2b-q4/versions/1.1.0/manifest.json +77 -0
- package/dist/catalog/chat-models/qw/qwen3.5-2b-q4/versions/1.1.2/manifest.json +76 -0
- package/dist/catalog/chat-models/qw/qwen3.5-2b-q4/versions/1.1.3/manifest.json +76 -0
- package/dist/catalog/chat-models/qw/qwen3.5-4b-q4/manifest.json +188 -0
- package/dist/catalog/chat-models/qw/qwen3.5-4b-q4/versions/1.1.0/manifest.json +77 -0
- package/dist/catalog/chat-models/qw/qwen3.5-4b-q4/versions/1.1.2/manifest.json +76 -0
- package/dist/catalog/chat-models/qw/qwen3.5-4b-q4/versions/1.1.3/manifest.json +76 -0
- package/dist/catalog/chat-models/qw/qwen3.5-9b-q4/manifest.json +205 -0
- package/dist/catalog/chat-models/qw/qwen3.5-9b-q4/versions/1.1.0/manifest.json +82 -0
- package/dist/catalog/chat-models/qw/qwen3.5-9b-q4/versions/1.1.2/manifest.json +81 -0
- package/dist/catalog/chat-models/qw/qwen3.5-9b-q4/versions/1.1.3/manifest.json +81 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q4/manifest.json +230 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q4/versions/1.1.0/manifest.json +92 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q4/versions/1.1.4/manifest.json +91 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q4/versions/1.1.5/manifest.json +91 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q4/versions/1.1.6/manifest.json +115 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q8/manifest.json +240 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q8/versions/1.0.0/manifest.json +102 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q8/versions/1.0.2/manifest.json +103 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q8/versions/1.0.3/manifest.json +103 -0
- package/dist/catalog/chat-models/qw/qwen3.6-27b-q8/versions/1.0.4/manifest.json +127 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q4/manifest.json +233 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q4/versions/1.0.0/manifest.json +92 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q4/versions/1.0.1/manifest.json +93 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q4/versions/1.0.2/manifest.json +93 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q4/versions/1.0.3/manifest.json +117 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q8/manifest.json +252 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q8/versions/1.0.0/manifest.json +112 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q8/versions/1.0.1/manifest.json +113 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q8/versions/1.0.2/manifest.json +113 -0
- package/dist/catalog/chat-models/qw/qwen3.6-35b-a3b-q8/versions/1.0.3/manifest.json +137 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-iq1-s/manifest.json +195 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-iq1-s/versions/1.0.0/manifest.json +19 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q2/manifest.json +194 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q2/versions/1.0.0/manifest.json +19 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q3/manifest.json +194 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q3/versions/1.0.0/manifest.json +19 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q3/versions/1.0.1/manifest.json +19 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q4/manifest.json +291 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q4/versions/1.0.0/manifest.json +20 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q4/versions/1.0.1/manifest.json +93 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q4/versions/1.0.2/manifest.json +92 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q4/versions/1.0.3/manifest.json +116 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q4/versions/1.0.4/manifest.json +116 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q4/versions/1.0.5/manifest.json +116 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q6/manifest.json +278 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q6/versions/1.0.0/manifest.json +20 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q6/versions/1.0.1/manifest.json +104 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q6/versions/1.0.2/manifest.json +103 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q6/versions/1.0.3/manifest.json +127 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q8/manifest.json +278 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q8/versions/1.0.0/manifest.json +113 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q8/versions/1.0.1/manifest.json +113 -0
- package/dist/catalog/chat-models/qw/qwen3.8-27b-q8/versions/1.0.2/manifest.json +137 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-iq3/manifest.json +221 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-iq3/versions/1.0.0/manifest.json +36 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-iq4/manifest.json +429 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-iq4/versions/1.0.0/manifest.json +36 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-iq4/versions/1.1.0/manifest.json +205 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-iq4/versions/1.1.1/manifest.json +244 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-q2/manifest.json +203 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-q2/versions/1.0.0/manifest.json +21 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-q2/versions/1.0.1/manifest.json +31 -0
- package/dist/catalog/chat-models/qw/qwen3.8-flash-next-q2/versions/1.0.2/manifest.json +30 -0
- package/dist/catalog/chat-models/raw-index.json +1 -0
- package/dist/catalog/chat-models/ta/talkie-1930-13b-q4/manifest.json +79 -0
- package/dist/catalog/chat-models/ta/talkie-1930-13b-q4/versions/1.0.0/manifest.json +15 -0
- package/dist/catalog/chat-models/ta/talkie-1930-13b-q4/versions/1.0.1/manifest.json +15 -0
- package/dist/catalog/chat-models/te/ternary-bonsai-27b-q2/manifest.json +204 -0
- package/dist/catalog/chat-models/te/ternary-bonsai-27b-q2/versions/1.0.0/manifest.json +70 -0
- package/dist/catalog/chat-models/te/ternary-bonsai-27b-q2/versions/1.0.1/manifest.json +70 -0
- package/dist/catalog/chat-models/un/underdog-saluki-27b-iq2-mix/manifest.json +164 -0
- package/dist/catalog/chat-models/un/underdog-saluki-27b-iq2-mix/versions/1.0.0/manifest.json +14 -0
- package/dist/catalog/knowledge-catalogs/be/bendyline-how-to-books/manifest.json +26 -0
- package/dist/catalog/knowledge-catalogs/be/bendyline-how-to-books/versions/2026.10.8/manifest.json +8950 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-alaska-part-0001/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-alaska-part-0001/versions/2026.10.1/manifest.json +658 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-nevada-part-0001/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-nevada-part-0001/versions/2026.10.1/manifest.json +666 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-us-300-399-part-0001/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-us-300-399-part-0001/versions/2026.10.2/manifest.json +182 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-us-347-349/manifest.json +25 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-us-347-349/versions/2026.10.5/manifest.json +38 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-utah-part-0001/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-utah-part-0001/versions/2026.10.1/manifest.json +558 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-utah-part-0002/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-utah-part-0002/versions/2026.10.1/manifest.json +258 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0001/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0001/versions/2026.10.1/manifest.json +318 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0002/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0002/versions/2026.10.1/manifest.json +266 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0003/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0003/versions/2026.10.1/manifest.json +186 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0004/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0004/versions/2026.10.1/manifest.json +138 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0005/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-washington-part-0005/versions/2026.10.1/manifest.json +138 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-wyoming-part-0001/manifest.json +24 -0
- package/dist/catalog/knowledge-catalogs/ca/caselaw-wyoming-part-0001/versions/2026.10.3/manifest.json +626 -0
- package/dist/catalog/knowledge-catalogs/index.json +1 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-aspnet-core-en/manifest.json +22 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-aspnet-core-en/versions/2026.10.16/manifest.json +18270 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-ai-platform-en/manifest.json +23 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-ai-platform-en/versions/2026.10.16/manifest.json +1098 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-apps-compute-en/manifest.json +23 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-apps-compute-en/versions/2026.10.16/manifest.json +722 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-data-aiot-en/manifest.json +23 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-data-aiot-en/versions/2026.10.16/manifest.json +530 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-management-hybrid-en/manifest.json +23 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-management-hybrid-en/versions/2026.10.16/manifest.json +602 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-network-security-en/manifest.json +23 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-azure-network-security-en/versions/2026.10.16/manifest.json +250 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-dotnet-en/manifest.json +22 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-dotnet-en/versions/2026.10.16/manifest.json +16794 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-entity-framework-en/manifest.json +22 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-entity-framework-en/versions/2026.10.16/manifest.json +1106 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-microsoft-365-en/manifest.json +22 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-microsoft-365-en/versions/2026.10.16/manifest.json +234 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-powershell-en/manifest.json +22 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-powershell-en/versions/2026.10.16/manifest.json +522 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-sql-server-en/manifest.json +22 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-sql-server-en/versions/2026.10.16/manifest.json +1850 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-windows-apps-en/manifest.json +22 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-windows-apps-en/versions/2026.10.16/manifest.json +1734 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-windows-server-en/manifest.json +22 -0
- package/dist/catalog/knowledge-catalogs/mi/microsoftdocs-windows-server-en/versions/2026.10.16/manifest.json +774 -0
- package/dist/catalog/knowledge-catalogs/raw-index.json +1 -0
- package/dist/catalog/knowledge-catalogs/re/regional-american-south/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-american-south/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-american-south/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-american-south/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-andes-amazon/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-andes-amazon/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-andes-amazon/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-andes-amazon/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-australia-nz/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-australia-nz/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-australia-nz/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-australia-nz/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-brazil/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-brazil/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-brazil/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-brazil/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-britain-ireland/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-britain-ireland/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-britain-ireland/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-britain-ireland/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-california-southwest/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-california-southwest/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-california-southwest/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-california-southwest/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-canada-alaska/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-canada-alaska/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-canada-alaska/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-canada-alaska/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-central-eastern-europe/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-central-eastern-europe/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-central-eastern-europe/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-central-eastern-europe/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-asia/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-asia/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-asia/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-asia/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-southern-africa/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-southern-africa/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-southern-africa/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-east-southern-africa/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mediterranean/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mediterranean/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mediterranean/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mediterranean/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mexico-central-america/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mexico-central-america/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mexico-central-america/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-mexico-central-america/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-middle-east/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-middle-east/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-middle-east/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-middle-east/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-midwest/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-midwest/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-midwest/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-midwest/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-north-africa/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-north-africa/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-north-africa/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-north-africa/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northeast/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northeast/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northeast/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northeast/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-eurasia/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-eurasia/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-eurasia/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-eurasia/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-europe/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-europe/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-europe/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-northern-europe/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-islands/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-islands/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-islands/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-islands/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-northwest/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-northwest/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-northwest/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-pacific-northwest/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-rockies-plains/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-rockies-plains/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-rockies-plains/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-rockies-plains/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-south-asia/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-south-asia/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-south-asia/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-south-asia/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southeast-asia/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southeast-asia/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southeast-asia/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southeast-asia/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southern-cone/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southern-cone/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southern-cone/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-southern-cone/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-west-central-africa/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-west-central-africa/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-west-central-africa/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-west-central-africa/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/re/regional-western-europe/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/re/regional-western-europe/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/re/regional-western-europe/manifest.json +48 -0
- package/dist/catalog/knowledge-catalogs/re/regional-western-europe/versions/2026.10.3/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-arts/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-arts/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-arts/manifest.json +28 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-arts/versions/2026.4.2/manifest.json +53 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-arts/versions/2026.4.3/manifest.json +885 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-arts/versions/2026.4.5/manifest.json +157 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-astronomy/art.json +11 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-astronomy/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-astronomy/manifest.json +32 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-astronomy/versions/2026.4.2/manifest.json +69 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-astronomy/versions/2026.4.3/manifest.json +741 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-astronomy/versions/2026.4.5/manifest.json +173 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-biology/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-biology/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-biology/manifest.json +69 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-biology/versions/2026.4.4/manifest.json +217 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-biology/versions/2026.4.5/manifest.json +217 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-business/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-business/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-business/manifest.json +64 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-business/versions/2026.4.4/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-business/versions/2026.4.5/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-film-tv/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-film-tv/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-film-tv/manifest.json +64 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-film-tv/versions/2026.4.5/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-food-drink/art.json +11 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-food-drink/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-food-drink/manifest.json +29 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-food-drink/versions/2026.4.2/manifest.json +57 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-food-drink/versions/2026.4.3/manifest.json +925 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-food-drink/versions/2026.4.5/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-games/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-games/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-games/manifest.json +28 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-games/versions/2026.4.2/manifest.json +53 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-games/versions/2026.4.3/manifest.json +1665 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-games/versions/2026.4.5/manifest.json +133 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-language/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-language/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-language/manifest.json +29 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-language/versions/2026.4.2/manifest.json +57 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-language/versions/2026.4.3/manifest.json +1233 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-language/versions/2026.4.5/manifest.json +141 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-law/art.json +11 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-law/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-law/manifest.json +29 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-law/versions/2026.4.2/manifest.json +57 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-law/versions/2026.4.3/manifest.json +493 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-law/versions/2026.4.5/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-literature/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-literature/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-literature/manifest.json +63 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-literature/versions/2026.4.4/manifest.json +193 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-literature/versions/2026.4.5/manifest.json +193 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-mathematics/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-mathematics/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-mathematics/manifest.json +30 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-mathematics/versions/2026.4.2/manifest.json +61 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-mathematics/versions/2026.4.3/manifest.json +665 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-mathematics/versions/2026.4.5/manifest.json +177 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-medicine/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-medicine/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-medicine/manifest.json +29 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-medicine/versions/2026.4.2/manifest.json +57 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-medicine/versions/2026.4.3/manifest.json +745 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-medicine/versions/2026.4.5/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-military/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-military/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-military/manifest.json +62 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-military/versions/2026.4.4/manifest.json +189 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-military/versions/2026.4.5/manifest.json +189 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-music/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-music/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-music/manifest.json +64 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-music/versions/2026.4.5/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-politics/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-politics/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-politics/manifest.json +64 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-politics/versions/2026.4.4/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-politics/versions/2026.4.5/manifest.json +197 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-religion-philosophy/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-religion-philosophy/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-religion-philosophy/manifest.json +30 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-religion-philosophy/versions/2026.4.2/manifest.json +61 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-religion-philosophy/versions/2026.4.3/manifest.json +1253 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-religion-philosophy/versions/2026.4.5/manifest.json +189 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-science/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-science/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-science/manifest.json +29 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-science/versions/2026.4.2/manifest.json +57 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-science/versions/2026.4.3/manifest.json +1957 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-science/versions/2026.4.5/manifest.json +185 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-sports/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-sports/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-sports/manifest.json +63 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-sports/versions/2026.4.5/manifest.json +193 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-technology/art.json +11 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-technology/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-technology/manifest.json +45 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-technology/versions/2026.4.4/manifest.json +121 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-technology/versions/2026.4.5/manifest.json +173 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-transportation/art.json +12 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-transportation/logo.webp +0 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-transportation/manifest.json +62 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-transportation/versions/2026.4.4/manifest.json +189 -0
- package/dist/catalog/knowledge-catalogs/wi/wikipedia-transportation/versions/2026.4.5/manifest.json +189 -0
- package/dist/catalog/provenance.json +8 -0
- package/dist/chat/catalog-model-lookup.d.ts +21 -0
- package/dist/chat/catalog-model-lookup.js +48 -0
- package/dist/chat/local-model-tier.d.ts +1 -0
- package/dist/chat/local-model-tier.js +2 -0
- package/dist/chat/vision-capability.d.ts +1 -0
- package/dist/chat/vision-capability.js +3 -0
- package/dist/engine-components.d.ts +30 -0
- package/dist/engine-components.js +144 -0
- package/dist/engines/electron-native-reuse.d.ts +65 -0
- package/dist/engines/electron-native-reuse.js +305 -0
- package/dist/engines/native-file-manifest.json +1320 -0
- package/dist/engines/native-manifest.d.ts +70 -0
- package/dist/engines/native-manifest.js +98 -0
- package/dist/engines/registry.d.ts +88 -0
- package/dist/engines/registry.js +217 -0
- package/dist/engines/resolver.d.ts +121 -0
- package/dist/engines/resolver.js +894 -0
- package/dist/engines/signature.d.ts +85 -0
- package/dist/engines/signature.js +231 -0
- package/dist/fs/atomic.d.ts +53 -0
- package/dist/fs/atomic.js +202 -0
- package/dist/fs/config-store.d.ts +14 -0
- package/dist/fs/config-store.js +101 -0
- package/dist/fs/home-permissions.d.ts +18 -0
- package/dist/fs/home-permissions.js +27 -0
- package/dist/fs/safe-paths.d.ts +107 -0
- package/dist/fs/safe-paths.js +264 -0
- package/dist/fs/security-json.d.ts +13 -0
- package/dist/fs/security-json.js +67 -0
- package/dist/http/auth-context.d.ts +23 -0
- package/dist/http/auth-context.js +1 -0
- package/dist/http/engine-runtime-context.d.ts +30 -0
- package/dist/http/engine-runtime-context.js +1 -0
- package/dist/http/external-conversation-contract.d.ts +49 -0
- package/dist/http/external-conversation-contract.js +1 -0
- package/dist/http/external-conversation-headers.d.ts +11 -0
- package/dist/http/external-conversation-headers.js +11 -0
- package/dist/http/inference-context.d.ts +36 -0
- package/dist/http/inference-context.js +1 -0
- package/dist/http/model-inventory-cache.d.ts +8 -0
- package/dist/http/model-inventory-cache.js +8 -0
- package/dist/http/openai-compat/action-ledger.d.ts +15 -0
- package/dist/http/openai-compat/action-ledger.js +119 -0
- package/dist/http/openai-compat/apple-model.d.ts +3 -0
- package/dist/http/openai-compat/apple-model.js +44 -0
- package/dist/http/openai-compat/caller-owned-profile.d.ts +7 -0
- package/dist/http/openai-compat/caller-owned-profile.js +18 -0
- package/dist/http/openai-compat/chat-progress.d.ts +9 -0
- package/dist/http/openai-compat/chat-progress.js +69 -0
- package/dist/http/openai-compat/chat-target.d.ts +76 -0
- package/dist/http/openai-compat/chat-target.js +97 -0
- package/dist/http/openai-compat/embeddings.d.ts +37 -0
- package/dist/http/openai-compat/embeddings.js +86 -0
- package/dist/http/openai-compat/request-tuning.d.ts +35 -0
- package/dist/http/openai-compat/request-tuning.js +87 -0
- package/dist/http/openai-compat/responses-streaming.d.ts +351 -0
- package/dist/http/openai-compat/responses-streaming.js +717 -0
- package/dist/http/openai-compat/responses-translate.d.ts +215 -0
- package/dist/http/openai-compat/responses-translate.js +377 -0
- package/dist/http/openai-compat/streaming-telemetry.d.ts +30 -0
- package/dist/http/openai-compat/streaming-telemetry.js +88 -0
- package/dist/http/openai-compat/streaming.d.ts +141 -0
- package/dist/http/openai-compat/streaming.js +687 -0
- package/dist/http/openai-compat/tool-call-stream-filter.d.ts +33 -0
- package/dist/http/openai-compat/tool-call-stream-filter.js +110 -0
- package/dist/http/openai-compat/translate.d.ts +254 -0
- package/dist/http/openai-compat/translate.js +485 -0
- package/dist/http/routes/engines.d.ts +13 -0
- package/dist/http/routes/engines.js +366 -0
- package/dist/http/routes/machine-engine-proxy.d.ts +26 -0
- package/dist/http/routes/machine-engine-proxy.js +43 -0
- package/dist/http/routes/model-bundles.d.ts +4 -0
- package/dist/http/routes/model-bundles.js +190 -0
- package/dist/http/routes/v1-chat.d.ts +72 -0
- package/dist/http/routes/v1-chat.js +645 -0
- package/dist/http/routes/v1-embeddings.d.ts +3 -0
- package/dist/http/routes/v1-embeddings.js +82 -0
- package/dist/http/routes/v1-knowledge.d.ts +4 -0
- package/dist/http/routes/v1-knowledge.js +304 -0
- package/dist/http/routes/v1-models-ensure.d.ts +32 -0
- package/dist/http/routes/v1-models-ensure.js +122 -0
- package/dist/http/routes/v1-models.d.ts +8 -0
- package/dist/http/routes/v1-models.js +189 -0
- package/dist/http/routes/v1-responses.d.ts +20 -0
- package/dist/http/routes/v1-responses.js +327 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/inference-service.d.ts +28 -0
- package/dist/inference-service.js +275 -0
- package/dist/knowledge/admission.d.ts +3 -0
- package/dist/knowledge/admission.js +22 -0
- package/dist/knowledge/bundled-catalog.d.ts +2 -0
- package/dist/knowledge/bundled-catalog.js +2 -0
- package/dist/knowledge/catalog-host.d.ts +103 -0
- package/dist/knowledge/catalog-host.js +180 -0
- package/dist/knowledge/catalog-source.d.ts +22 -0
- package/dist/knowledge/catalog-source.js +35 -0
- package/dist/knowledge/install.d.ts +55 -0
- package/dist/knowledge/install.js +274 -0
- package/dist/knowledge/manager.d.ts +287 -0
- package/dist/knowledge/manager.js +1540 -0
- package/dist/knowledge/registry.d.ts +35 -0
- package/dist/knowledge/registry.js +123 -0
- package/dist/knowledge/search-worker.d.ts +17 -0
- package/dist/knowledge/search-worker.js +36 -0
- package/dist/knowledge/shared-install-contract.d.ts +19 -0
- package/dist/knowledge/shared-install-contract.js +1 -0
- package/dist/knowledge/spatial-query.d.ts +11 -0
- package/dist/knowledge/spatial-query.js +33 -0
- package/dist/knowledge/trust-anchors.d.ts +11 -0
- package/dist/knowledge/trust-anchors.js +51 -0
- package/dist/knowledge/vector-floors.d.ts +44 -0
- package/dist/knowledge/vector-floors.js +92 -0
- package/dist/knowledge/worker-host.d.ts +9 -0
- package/dist/knowledge/worker-host.js +179 -0
- package/dist/kokoro-lexicon/LICENSE +202 -0
- package/dist/kokoro-lexicon/lexicon-gb-en.txt.gz +0 -0
- package/dist/kokoro-lexicon/lexicon-us-en.txt.gz +0 -0
- package/dist/kokoro-lexicon/manifest.json +23 -0
- package/dist/machine-engine/inspect-runtime.d.ts +3 -0
- package/dist/machine-engine/inspect-runtime.js +48 -0
- package/dist/machine-engine/knowledge-assets.d.ts +79 -0
- package/dist/machine-engine/knowledge-assets.js +505 -0
- package/dist/memory/embed-core.d.ts +131 -0
- package/dist/memory/embed-core.js +398 -0
- package/dist/memory/embed-worker.d.ts +23 -0
- package/dist/memory/embed-worker.js +49 -0
- package/dist/memory/embeddings.d.ts +105 -0
- package/dist/memory/embeddings.js +467 -0
- package/dist/model-profile/behaviors/tools-mlx-template-fix.d.ts +1 -0
- package/dist/model-profile/behaviors/tools-mlx-template-fix.js +2 -0
- package/dist/model-profile/behaviors/turn-ramble-detection.d.ts +1 -0
- package/dist/model-profile/behaviors/turn-ramble-detection.js +2 -0
- package/dist/model-profile/defaults.d.ts +1 -0
- package/dist/model-profile/defaults.js +2 -0
- package/dist/model-profile/index.d.ts +9 -0
- package/dist/model-profile/index.js +7 -0
- package/dist/model-profile/registry.d.ts +15 -0
- package/dist/model-profile/registry.js +18 -0
- package/dist/model-profile/runtime.d.ts +48 -0
- package/dist/model-profile/runtime.js +131 -0
- package/dist/model-profile/tool-grammar.d.ts +1 -0
- package/dist/model-profile/tool-grammar.js +2 -0
- package/dist/model-profile/tuning.d.ts +19 -0
- package/dist/model-profile/tuning.js +21 -0
- package/dist/model-profile/types.d.ts +1 -0
- package/dist/model-profile/types.js +2 -0
- package/dist/models/bundle-storage.d.ts +28 -0
- package/dist/models/bundle-storage.js +80 -0
- package/dist/models/catalog-drift.d.ts +48 -0
- package/dist/models/catalog-drift.js +94 -0
- package/dist/models/catalog-payload-identity.d.ts +107 -0
- package/dist/models/catalog-payload-identity.js +254 -0
- package/dist/models/ensure.d.ts +125 -0
- package/dist/models/ensure.js +205 -0
- package/dist/models/gezmodel.d.ts +47 -0
- package/dist/models/gezmodel.js +742 -0
- package/dist/models/install-registry.d.ts +101 -0
- package/dist/models/install-registry.js +216 -0
- package/dist/models/model-id.d.ts +22 -0
- package/dist/models/model-id.js +40 -0
- package/dist/models/storage-roots.d.ts +274 -0
- package/dist/models/storage-roots.js +865 -0
- package/dist/native-release-entry.d.ts +16 -0
- package/dist/native-release-entry.js +16 -0
- package/dist/perf/redact-path.d.ts +2 -0
- package/dist/perf/redact-path.js +27 -0
- package/dist/perf/responsiveness.d.ts +70 -0
- package/dist/perf/responsiveness.js +560 -0
- package/dist/providers/active-install-message.d.ts +42 -0
- package/dist/providers/active-install-message.js +49 -0
- package/dist/providers/apple-foundation-models/binary.d.ts +4 -0
- package/dist/providers/apple-foundation-models/binary.js +18 -0
- package/dist/providers/apple-foundation-models/helper.d.ts +66 -0
- package/dist/providers/apple-foundation-models/helper.js +262 -0
- package/dist/providers/apple-foundation-models/provider.d.ts +82 -0
- package/dist/providers/apple-foundation-models/provider.js +389 -0
- package/dist/providers/apple-foundation-models/status.d.ts +9 -0
- package/dist/providers/apple-foundation-models/status.js +49 -0
- package/dist/providers/audio/kokoro-frontend.d.ts +50 -0
- package/dist/providers/audio/kokoro-frontend.js +113 -0
- package/dist/providers/audio/managed-speech-model.d.ts +9 -0
- package/dist/providers/audio/managed-speech-model.js +86 -0
- package/dist/providers/audio/types.d.ts +202 -0
- package/dist/providers/audio/types.js +17 -0
- package/dist/providers/audio/whisper-cpp.d.ts +99 -0
- package/dist/providers/audio/whisper-cpp.js +420 -0
- package/dist/providers/audio-persister-contract.d.ts +13 -0
- package/dist/providers/audio-persister-contract.js +1 -0
- package/dist/providers/catalog-model-config.d.ts +63 -0
- package/dist/providers/catalog-model-config.js +95 -0
- package/dist/providers/code-block-salvage.d.ts +1 -0
- package/dist/providers/code-block-salvage.js +2 -0
- package/dist/providers/codex-cli/reasoning.d.ts +8 -0
- package/dist/providers/codex-cli/reasoning.js +17 -0
- package/dist/providers/complete-tool-call.d.ts +16 -0
- package/dist/providers/complete-tool-call.js +25 -0
- package/dist/providers/constrained-turn.d.ts +1 -0
- package/dist/providers/constrained-turn.js +2 -0
- package/dist/providers/deliverable-read-pacing.d.ts +1 -0
- package/dist/providers/deliverable-read-pacing.js +2 -0
- package/dist/providers/direct-file-work-prompt.d.ts +1 -0
- package/dist/providers/direct-file-work-prompt.js +2 -0
- package/dist/providers/ds4/build-provider.d.ts +100 -0
- package/dist/providers/ds4/build-provider.js +539 -0
- package/dist/providers/ds4/cache-adapter.d.ts +42 -0
- package/dist/providers/ds4/cache-adapter.js +110 -0
- package/dist/providers/ds4/dspark.d.ts +83 -0
- package/dist/providers/ds4/dspark.js +107 -0
- package/dist/providers/ds4/mtp.d.ts +32 -0
- package/dist/providers/ds4/mtp.js +46 -0
- package/dist/providers/ds4/provider.d.ts +67 -0
- package/dist/providers/ds4/provider.js +104 -0
- package/dist/providers/ds4/residency.d.ts +143 -0
- package/dist/providers/ds4/residency.js +139 -0
- package/dist/providers/ds4/stdout-parser.d.ts +47 -0
- package/dist/providers/ds4/stdout-parser.js +134 -0
- package/dist/providers/duplicate-tool-calls.d.ts +1 -0
- package/dist/providers/duplicate-tool-calls.js +2 -0
- package/dist/providers/file-repair-policy.d.ts +1 -0
- package/dist/providers/file-repair-policy.js +2 -0
- package/dist/providers/gpu-arbiter.d.ts +159 -0
- package/dist/providers/gpu-arbiter.js +301 -0
- package/dist/providers/image-persister-contract.d.ts +15 -0
- package/dist/providers/image-persister-contract.js +1 -0
- package/dist/providers/llama-cpp/build-metadata.d.ts +13 -0
- package/dist/providers/llama-cpp/build-metadata.js +39 -0
- package/dist/providers/llama-cpp/build-provider.d.ts +66 -0
- package/dist/providers/llama-cpp/build-provider.js +1491 -0
- package/dist/providers/llama-cpp/cache-adapter.d.ts +242 -0
- package/dist/providers/llama-cpp/cache-adapter.js +689 -0
- package/dist/providers/llama-cpp/devices.d.ts +130 -0
- package/dist/providers/llama-cpp/devices.js +256 -0
- package/dist/providers/llama-cpp/disk-cache.d.ts +8 -0
- package/dist/providers/llama-cpp/disk-cache.js +112 -0
- package/dist/providers/llama-cpp/engine-flags.d.ts +181 -0
- package/dist/providers/llama-cpp/engine-flags.js +279 -0
- package/dist/providers/llama-cpp/gguf-metadata-async.d.ts +11 -0
- package/dist/providers/llama-cpp/gguf-metadata-async.js +180 -0
- package/dist/providers/llama-cpp/gguf-metadata-worker.d.ts +7 -0
- package/dist/providers/llama-cpp/gguf-metadata-worker.js +27 -0
- package/dist/providers/llama-cpp/gguf-metadata.d.ts +198 -0
- package/dist/providers/llama-cpp/gguf-metadata.js +615 -0
- package/dist/providers/llama-cpp/gguf-quantization-backfill.d.ts +32 -0
- package/dist/providers/llama-cpp/gguf-quantization-backfill.js +75 -0
- package/dist/providers/llama-cpp/index.d.ts +10 -0
- package/dist/providers/llama-cpp/index.js +13 -0
- package/dist/providers/llama-cpp/kv-cache-type.d.ts +118 -0
- package/dist/providers/llama-cpp/kv-cache-type.js +140 -0
- package/dist/providers/llama-cpp/log.d.ts +92 -0
- package/dist/providers/llama-cpp/log.js +280 -0
- package/dist/providers/llama-cpp/models.d.ts +389 -0
- package/dist/providers/llama-cpp/models.js +1011 -0
- package/dist/providers/llama-cpp/offload-planner.d.ts +339 -0
- package/dist/providers/llama-cpp/offload-planner.js +524 -0
- package/dist/providers/llama-cpp/provider.d.ts +493 -0
- package/dist/providers/llama-cpp/provider.js +862 -0
- package/dist/providers/llama-cpp/reasoning-launch.d.ts +7 -0
- package/dist/providers/llama-cpp/reasoning-launch.js +14 -0
- package/dist/providers/llama-cpp/spec-draft.d.ts +44 -0
- package/dist/providers/llama-cpp/spec-draft.js +44 -0
- package/dist/providers/llama-cpp/stdout-parser.d.ts +70 -0
- package/dist/providers/llama-cpp/stdout-parser.js +197 -0
- package/dist/providers/local-tool-call-salvage.d.ts +1 -0
- package/dist/providers/local-tool-call-salvage.js +2 -0
- package/dist/providers/local-turn-policy.d.ts +1 -0
- package/dist/providers/local-turn-policy.js +2 -0
- package/dist/providers/mlx/async-file-handoff.d.ts +11 -0
- package/dist/providers/mlx/async-file-handoff.js +25 -0
- package/dist/providers/mlx/build-provider.d.ts +65 -0
- package/dist/providers/mlx/build-provider.js +717 -0
- package/dist/providers/mlx/cache-adapter.d.ts +161 -0
- package/dist/providers/mlx/cache-adapter.js +445 -0
- package/dist/providers/mlx/chat-protocol.d.ts +48 -0
- package/dist/providers/mlx/chat-protocol.js +8 -0
- package/dist/providers/mlx/config-parser.d.ts +29 -0
- package/dist/providers/mlx/config-parser.js +81 -0
- package/dist/providers/mlx/engine-gate.d.ts +51 -0
- package/dist/providers/mlx/engine-gate.js +207 -0
- package/dist/providers/mlx/engine-hold.d.ts +41 -0
- package/dist/providers/mlx/engine-hold.js +59 -0
- package/dist/providers/mlx/engine-log-router.d.ts +84 -0
- package/dist/providers/mlx/engine-log-router.js +137 -0
- package/dist/providers/mlx/engine-stats-sampler.d.ts +36 -0
- package/dist/providers/mlx/engine-stats-sampler.js +59 -0
- package/dist/providers/mlx/index.d.ts +10 -0
- package/dist/providers/mlx/index.js +10 -0
- package/dist/providers/mlx/log.d.ts +55 -0
- package/dist/providers/mlx/log.js +157 -0
- package/dist/providers/mlx/model-geometry.d.ts +35 -0
- package/dist/providers/mlx/model-geometry.js +118 -0
- package/dist/providers/mlx/models.d.ts +289 -0
- package/dist/providers/mlx/models.js +1079 -0
- package/dist/providers/mlx/provider.d.ts +404 -0
- package/dist/providers/mlx/provider.js +3017 -0
- package/dist/providers/mlx/python/cache_persist.py +348 -0
- package/dist/providers/mlx/python/cache_seed.py +402 -0
- package/dist/providers/mlx/python/gezel_mlx_server.py +4491 -0
- package/dist/providers/mlx/python/lfm2_compat.py +55 -0
- package/dist/providers/mlx/python/qwen3_5_text_compat.py +60 -0
- package/dist/providers/mlx/python/qwen4_ple.py +159 -0
- package/dist/providers/mlx/python/spec_decode.py +775 -0
- package/dist/providers/mlx/python/template_stability.py +133 -0
- package/dist/providers/mlx/python/think_budget.py +113 -0
- package/dist/providers/mlx/python/tool_args_json.py +297 -0
- package/dist/providers/mlx/python/tool_call_stream.py +265 -0
- package/dist/providers/mlx/python/tool_grammar.py +794 -0
- package/dist/providers/mlx/python/vision_inputs.py +64 -0
- package/dist/providers/mlx/python/wave_policy.py +147 -0
- package/dist/providers/mlx/reasoning-stream.d.ts +85 -0
- package/dist/providers/mlx/reasoning-stream.js +196 -0
- package/dist/providers/mlx/request-shape.d.ts +34 -0
- package/dist/providers/mlx/request-shape.js +42 -0
- package/dist/providers/mlx/runtime-diagnostics.d.ts +29 -0
- package/dist/providers/mlx/runtime-diagnostics.js +162 -0
- package/dist/providers/mlx/spec-drafter.d.ts +25 -0
- package/dist/providers/mlx/spec-drafter.js +73 -0
- package/dist/providers/mlx/stdout-parser.d.ts +60 -0
- package/dist/providers/mlx/stdout-parser.js +254 -0
- package/dist/providers/mlx/textual-tool-call-salvage.d.ts +46 -0
- package/dist/providers/mlx/textual-tool-call-salvage.js +396 -0
- package/dist/providers/mlx/tool-call-protocol.d.ts +65 -0
- package/dist/providers/mlx/tool-call-protocol.js +140 -0
- package/dist/providers/mlx/tool-call-stripper.d.ts +68 -0
- package/dist/providers/mlx/tool-call-stripper.js +153 -0
- package/dist/providers/mlx/tool-image-retention.d.ts +23 -0
- package/dist/providers/mlx/tool-image-retention.js +43 -0
- package/dist/providers/mlx/turn-telemetry.d.ts +22 -0
- package/dist/providers/mlx/turn-telemetry.js +45 -0
- package/dist/providers/mlx/venv.d.ts +91 -0
- package/dist/providers/mlx/venv.js +111 -0
- package/dist/providers/mlx/vision-mode.d.ts +92 -0
- package/dist/providers/mlx/vision-mode.js +187 -0
- package/dist/providers/mlx/vision.d.ts +2 -0
- package/dist/providers/mlx/vision.js +12 -0
- package/dist/providers/mlx/wire-transcript.d.ts +14 -0
- package/dist/providers/mlx/wire-transcript.js +43 -0
- package/dist/providers/native/capacity-broker.d.ts +812 -0
- package/dist/providers/native/capacity-broker.js +1058 -0
- package/dist/providers/native/capacity-budget.d.ts +133 -0
- package/dist/providers/native/capacity-budget.js +265 -0
- package/dist/providers/native/device-capacity-ledger.d.ts +31 -0
- package/dist/providers/native/device-capacity-ledger.js +196 -0
- package/dist/providers/native/device-capacity.d.ts +84 -0
- package/dist/providers/native/device-capacity.js +431 -0
- package/dist/providers/native/engine-api-key.d.ts +57 -0
- package/dist/providers/native/engine-api-key.js +72 -0
- package/dist/providers/native/engine-key.d.ts +18 -0
- package/dist/providers/native/engine-key.js +41 -0
- package/dist/providers/native/engine-router.d.ts +145 -0
- package/dist/providers/native/engine-router.js +191 -0
- package/dist/providers/native/gpu-panic-guard.d.ts +54 -0
- package/dist/providers/native/gpu-panic-guard.js +59 -0
- package/dist/providers/native/inference.d.ts +33 -0
- package/dist/providers/native/inference.js +49 -0
- package/dist/providers/native/local-engine-runtime.d.ts +412 -0
- package/dist/providers/native/local-engine-runtime.js +1714 -0
- package/dist/providers/native/measured-budget.d.ts +32 -0
- package/dist/providers/native/measured-budget.js +54 -0
- package/dist/providers/native/port.d.ts +11 -0
- package/dist/providers/native/port.js +29 -0
- package/dist/providers/native/provider-pool.d.ts +474 -0
- package/dist/providers/native/provider-pool.js +1166 -0
- package/dist/providers/native/supervisor.d.ts +503 -0
- package/dist/providers/native/supervisor.js +1466 -0
- package/dist/providers/observation-context.d.ts +16 -0
- package/dist/providers/observation-context.js +1 -0
- package/dist/providers/openai-compatible/sse.d.ts +1 -0
- package/dist/providers/openai-compatible/sse.js +2 -0
- package/dist/providers/patient-fetch.d.ts +36 -0
- package/dist/providers/patient-fetch.js +44 -0
- package/dist/providers/project-macro-loop-bail.d.ts +7 -0
- package/dist/providers/project-macro-loop-bail.js +21 -0
- package/dist/providers/prose-document-salvage.d.ts +1 -0
- package/dist/providers/prose-document-salvage.js +2 -0
- package/dist/providers/provider-disposal.d.ts +1 -0
- package/dist/providers/provider-disposal.js +2 -0
- package/dist/providers/queue.d.ts +15 -0
- package/dist/providers/queue.js +23 -0
- package/dist/providers/ramble-abort-message.d.ts +1 -0
- package/dist/providers/ramble-abort-message.js +2 -0
- package/dist/providers/ramble-detector.d.ts +1 -0
- package/dist/providers/ramble-detector.js +2 -0
- package/dist/providers/reasoning-depth.d.ts +1 -0
- package/dist/providers/reasoning-depth.js +2 -0
- package/dist/providers/required-input-reads.d.ts +1 -0
- package/dist/providers/required-input-reads.js +2 -0
- package/dist/providers/session-defaults.d.ts +13 -0
- package/dist/providers/session-defaults.js +49 -0
- package/dist/providers/session-hooks.d.ts +26 -0
- package/dist/providers/session-hooks.js +1 -0
- package/dist/providers/streaming-session.d.ts +1 -0
- package/dist/providers/streaming-session.js +2 -0
- package/dist/providers/terminal-tool-policy.d.ts +1 -0
- package/dist/providers/terminal-tool-policy.js +2 -0
- package/dist/providers/tool-arg-schema-coercion.d.ts +1 -0
- package/dist/providers/tool-arg-schema-coercion.js +2 -0
- package/dist/providers/tool-executor.d.ts +12 -0
- package/dist/providers/tool-executor.js +20 -0
- package/dist/providers/tool-failure-tracker.d.ts +1 -0
- package/dist/providers/tool-failure-tracker.js +2 -0
- package/dist/providers/tool-repeat-tracker.d.ts +1 -0
- package/dist/providers/tool-repeat-tracker.js +2 -0
- package/dist/providers/turn-timeout.d.ts +1 -0
- package/dist/providers/turn-timeout.js +1 -0
- package/dist/providers/types.d.ts +834 -0
- package/dist/providers/types.js +42 -0
- package/dist/providers/usage-builder.d.ts +1 -0
- package/dist/providers/usage-builder.js +2 -0
- package/dist/providers/vision-capability.d.ts +109 -0
- package/dist/providers/vision-capability.js +137 -0
- package/dist/python/mlx-runtime-status-bus.d.ts +39 -0
- package/dist/python/mlx-runtime-status-bus.js +27 -0
- package/dist/python/uv-runtime.d.ts +176 -0
- package/dist/python/uv-runtime.js +492 -0
- package/dist/relevance/install.d.ts +28 -0
- package/dist/relevance/install.js +114 -0
- package/dist/relevance/manager.d.ts +79 -0
- package/dist/relevance/manager.js +211 -0
- package/dist/relevance/registry.d.ts +11 -0
- package/dist/relevance/registry.js +158 -0
- package/dist/relevance/relevance-core.d.ts +67 -0
- package/dist/relevance/relevance-core.js +189 -0
- package/dist/relevance/relevance-model.d.ts +42 -0
- package/dist/relevance/relevance-model.js +292 -0
- package/dist/relevance/relevance-worker.d.ts +20 -0
- package/dist/relevance/relevance-worker.js +57 -0
- package/dist/relevance/settings.d.ts +30 -0
- package/dist/relevance/settings.js +81 -0
- package/dist/remotes/identity.d.ts +121 -0
- package/dist/remotes/identity.js +348 -0
- package/dist/remotes/pinned-fetch.d.ts +45 -0
- package/dist/remotes/pinned-fetch.js +193 -0
- package/dist/remotes/types.d.ts +54 -0
- package/dist/remotes/types.js +1 -0
- package/dist/runtime-lock.d.ts +29 -0
- package/dist/runtime-lock.js +85 -0
- package/dist/search/relevance-stage.d.ts +81 -0
- package/dist/search/relevance-stage.js +177 -0
- package/dist/secrets/types.d.ts +63 -0
- package/dist/secrets/types.js +64 -0
- package/dist/speech.d.ts +1 -0
- package/dist/speech.js +1 -0
- package/dist/system/darwin-memory.d.ts +26 -0
- package/dist/system/darwin-memory.js +81 -0
- package/dist/system/gezel-process-memory.d.ts +55 -0
- package/dist/system/gezel-process-memory.js +156 -0
- package/dist/system/memory.d.ts +154 -0
- package/dist/system/memory.js +501 -0
- package/dist/transformers-cache.d.ts +112 -0
- package/dist/transformers-cache.js +392 -0
- package/dist/utils/disk-space.d.ts +55 -0
- package/dist/utils/disk-space.js +72 -0
- package/dist/utils/download-common.d.ts +138 -0
- package/dist/utils/download-common.js +196 -0
- package/dist/utils/download-with-retry.d.ts +85 -0
- package/dist/utils/download-with-retry.js +522 -0
- package/dist/utils/extract-zip.d.ts +22 -0
- package/dist/utils/extract-zip.js +103 -0
- package/dist/utils/retire-model-worker.d.ts +15 -0
- package/dist/utils/retire-model-worker.js +24 -0
- package/dist/utils/service-worker-entry.d.ts +59 -0
- package/dist/utils/service-worker-entry.js +69 -0
- package/dist/utils/xet-download.d.ts +40 -0
- package/dist/utils/xet-download.js +526 -0
- package/dist/utils/xet.d.ts +86 -0
- package/dist/utils/xet.js +201 -0
- package/package.json +103 -3
- package/scripts/embedding-packaging.cjs +264 -0
- package/scripts/embedding-packaging.d.cts +16 -0
|
@@ -0,0 +1,834 @@
|
|
|
1
|
+
import type { CodexPermissionModeCompat, ProviderName } from '@bendyline/gezel';
|
|
2
|
+
import type { ActiveCraftbookStep, CompactionRequester, ExternalToolCall, ExternalToolSpec, LLMSession, ProviderSessionState, TerminalToolPolicy, WireTranscriptEntry } from '@bendyline/gezel/local-loop';
|
|
3
|
+
import type { McpServerSpec } from '@bendyline/gezel/local-loop';
|
|
4
|
+
import type { ResolvedModelProfile } from '../model-profile/types.js';
|
|
5
|
+
import type { CodexReasoningEffort } from './codex-cli/reasoning.js';
|
|
6
|
+
export type { ActiveCraftbookStep, CompactionRequester, ExternalToolCall, ExternalToolSpec, LLMSession, TerminalToolPolicy, WireTranscriptEntry, };
|
|
7
|
+
export type { ImageAttachment, ProviderSessionState, SendAndWaitOpts, ToolArgsDeltaMeta, ToolSurfaceSize, TurnUsage, } from '@bendyline/gezel/local-loop';
|
|
8
|
+
export type { ProviderName };
|
|
9
|
+
export interface ProviderCredentials {
|
|
10
|
+
githubToken?: string;
|
|
11
|
+
openaiApiKey?: string;
|
|
12
|
+
openaiOrganization?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SessionOpts {
|
|
15
|
+
toolExecutorFactory?: import('./tool-executor.js').ToolExecutorFactory;
|
|
16
|
+
/** Safe attribution for opt-in eval request observation. */
|
|
17
|
+
observationContext?: import('./observation-context.js').ApiObservationContext;
|
|
18
|
+
systemMessage: string;
|
|
19
|
+
/**
|
|
20
|
+
* Layered prompt-cache prefixes (flag `layeredPrefixCache`). Present
|
|
21
|
+
* only when layered caching is ON; the cache adapters key the
|
|
22
|
+
* `prefix-gezel` / `prefix-gp` entries on these cumulative stable
|
|
23
|
+
* substrings instead of hashing the whole prompt. Undefined → legacy
|
|
24
|
+
* whole-prompt keying. See {@link SystemPromptLayers}.
|
|
25
|
+
*/
|
|
26
|
+
systemPromptLayers?: import('../cache/adapter.js').SystemPromptLayers;
|
|
27
|
+
/**
|
|
28
|
+
* Leading run of `systemMessage` that sibling sessions of the same
|
|
29
|
+
* (gezel, project) render identically. Set only when the shared-band
|
|
30
|
+
* prefix flag is on; drives the MLX adapter's `prefix-band-` key and the
|
|
31
|
+
* sidecar's snapshot cut. See ADR 0010.
|
|
32
|
+
*/
|
|
33
|
+
systemSharedPrefix?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Volatile band (workspace files, task, recall, anchor, …) split out
|
|
36
|
+
* of `systemMessage` when layered caching is ON. The session seeds it
|
|
37
|
+
* as a frozen `system` message right after `messages[0]` so the wire
|
|
38
|
+
* prefix `[stable system][tools]` stays reusable across sessions.
|
|
39
|
+
* Undefined → legacy inline-in-systemMessage layout.
|
|
40
|
+
*/
|
|
41
|
+
volatileContext?: string;
|
|
42
|
+
model?: string;
|
|
43
|
+
/** Reasoning effort level — only honored by models that advertise support. */
|
|
44
|
+
reasoningEffort?: string;
|
|
45
|
+
/**
|
|
46
|
+
* OpenAI only: pre-seed the session with a `previous_response_id` so the
|
|
47
|
+
* next turn continues a server-side conversation instead of starting fresh.
|
|
48
|
+
*/
|
|
49
|
+
openaiPreviousResponseId?: string;
|
|
50
|
+
/** Results queued at a turn boundary, paired with openaiPreviousResponseId. */
|
|
51
|
+
openaiPendingToolOutputs?: ProviderSessionState['openaiPendingToolOutputs'];
|
|
52
|
+
/**
|
|
53
|
+
* `anthropic-cli` only: pre-seed the session with a session id captured
|
|
54
|
+
* from a prior `claude -p` invocation. The provider passes
|
|
55
|
+
* `--resume <id>` on the first turn; on resume failure it throws
|
|
56
|
+
* `SessionResumeError` and ChatManager falls back to a fresh session.
|
|
57
|
+
*/
|
|
58
|
+
claudeCliSessionId?: string;
|
|
59
|
+
/**
|
|
60
|
+
* `codex-cli` only: pre-seed the session with a thread id captured
|
|
61
|
+
* from a prior `codex exec` invocation. The provider routes follow-up
|
|
62
|
+
* turns through `codex exec resume <thread_id>` instead of starting a
|
|
63
|
+
* fresh thread. On resume failure (Codex stderr-pattern match) the
|
|
64
|
+
* provider throws `SessionResumeError` and ChatManager falls back to
|
|
65
|
+
* a fresh thread.
|
|
66
|
+
*/
|
|
67
|
+
codexCliThreadId?: string;
|
|
68
|
+
/**
|
|
69
|
+
* `anthropic-cli` only: per-session context the CLI provider needs to
|
|
70
|
+
* resolve cwd (the project's workingDir), pick a runtime `.mcp.json`
|
|
71
|
+
* path, and tag log lines. Populated by ChatManager from the live
|
|
72
|
+
* `ChatSession` record + project. Required when the session is built
|
|
73
|
+
* by the Claude CLI provider; ignored by every other provider.
|
|
74
|
+
*
|
|
75
|
+
* `permissionModeOverride` resolves the gezel-frontmatter override
|
|
76
|
+
* once at session-build time; the provider plugs it into every
|
|
77
|
+
* `--permission-mode <…>` arg without having to read frontmatter on
|
|
78
|
+
* every turn.
|
|
79
|
+
*/
|
|
80
|
+
claudeCliContext?: {
|
|
81
|
+
sessionId: string;
|
|
82
|
+
gezelId: string;
|
|
83
|
+
projectId: string;
|
|
84
|
+
cwd: string;
|
|
85
|
+
permissionModeOverride?: 'default' | 'acceptEdits' | 'plan' | 'bypassPermissions';
|
|
86
|
+
/**
|
|
87
|
+
* Claude built-in tool names to pass via `--disallowedTools` so the
|
|
88
|
+
* model literally cannot reach for those surfaces. Derived from the
|
|
89
|
+
* gezel's role + toolsets groups (`claudeBuiltinsToDisallow` in
|
|
90
|
+
* `chat/role-tool-filter.ts`) — e.g. a Meester (no `workspace-fs-*`
|
|
91
|
+
* or `code-execution` groups) gets `['Bash', 'Read', 'Write',
|
|
92
|
+
* 'Edit', 'Grep', 'Glob', 'NotebookEdit']` and is forced to
|
|
93
|
+
* delegate to specialist gezels. A Voorman (read-only workspace)
|
|
94
|
+
* keeps `['Read', 'Grep', 'Glob']` and only loses the writes. A
|
|
95
|
+
* Developer (full coverage) gets `[]`.
|
|
96
|
+
*/
|
|
97
|
+
disallowedBuiltinTools?: string[];
|
|
98
|
+
/**
|
|
99
|
+
* Claude built-in tool names to pass via `--allowedTools` so they
|
|
100
|
+
* auto-approve (skip the `--permission-prompt-tool` flow). Inverse
|
|
101
|
+
* of `disallowedBuiltinTools` — the role's allowed set, plus
|
|
102
|
+
* always-allowed `TodoWrite`. The user already gave this gezel
|
|
103
|
+
* the role; prompting on every Bash/Write/Edit inside that
|
|
104
|
+
* already-approved surface is just friction.
|
|
105
|
+
*/
|
|
106
|
+
allowedBuiltinTools?: string[];
|
|
107
|
+
/**
|
|
108
|
+
* gezel-mcp tool names to pass via `--allowedTools`, in the
|
|
109
|
+
* `mcp__gezel__<tool>` format Claude CLI expects. We auto-approve
|
|
110
|
+
* the role's gezel-mcp surface because it's our own server —
|
|
111
|
+
* `save_memory`, `list_gezels`, `create_task`, etc. shouldn't pop
|
|
112
|
+
* a permission card on every use. Extra MCP servers (Playwright,
|
|
113
|
+
* GitHub, …) are NOT included; those carry side effects beyond
|
|
114
|
+
* gezel-mcp's trusted surface and continue to flow through the
|
|
115
|
+
* `--permission-prompt-tool` path.
|
|
116
|
+
*/
|
|
117
|
+
allowedMcpTools?: string[];
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* `codex-cli` only: per-session context the Codex CLI provider needs
|
|
121
|
+
* to write a per-session `CODEX_HOME` directory (config.toml,
|
|
122
|
+
* symlinked auth.json) and resolve the cwd to pass via `--cd`.
|
|
123
|
+
* Mirrors `claudeCliContext` — populated by ChatManager from the
|
|
124
|
+
* live `ChatSession` record + project. Required when the session is
|
|
125
|
+
* built by the Codex CLI provider; ignored by every other provider.
|
|
126
|
+
*
|
|
127
|
+
* `permissionModeOverride` resolves the gezel-frontmatter override
|
|
128
|
+
* once at session-build time; the provider maps it onto Codex's
|
|
129
|
+
* two-axis `--sandbox` / `--ask-for-approval` flags.
|
|
130
|
+
*
|
|
131
|
+
* `reasoningEffortOverride` carries the per-gezel `reasoningEffort`
|
|
132
|
+
* when it is a Codex-recognized value. The provider forwards it as
|
|
133
|
+
* `-c model_reasoning_effort=…`; the supported subset remains
|
|
134
|
+
* model-dependent.
|
|
135
|
+
*/
|
|
136
|
+
codexCliContext?: {
|
|
137
|
+
sessionId: string;
|
|
138
|
+
gezelId: string;
|
|
139
|
+
projectId: string;
|
|
140
|
+
cwd: string;
|
|
141
|
+
permissionModeOverride?: CodexPermissionModeCompat;
|
|
142
|
+
reasoningEffortOverride?: CodexReasoningEffort;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Local MCP server to launch and expose to the session. The primary
|
|
146
|
+
* entry (`mcpServer`) is the built-in gezel-mcp — always-present,
|
|
147
|
+
* always stdio, keyed as `gezel` in Copilot's config.
|
|
148
|
+
* `extraMcpServers` holds per-gezel toolsets installed from the
|
|
149
|
+
* catalog; each entry can be either a stdio subprocess (legacy
|
|
150
|
+
* shape) or a hosted HTTP server, distinguished by the `kind`
|
|
151
|
+
* discriminator on `McpServerSpec`. Bridge-backed providers consume
|
|
152
|
+
* both shapes through `McpBridgePool`; CLI providers wire what their
|
|
153
|
+
* native MCP config supports.
|
|
154
|
+
*/
|
|
155
|
+
mcpServer?: {
|
|
156
|
+
command: string;
|
|
157
|
+
args: string[];
|
|
158
|
+
env: Record<string, string>;
|
|
159
|
+
};
|
|
160
|
+
extraMcpServers?: Array<{
|
|
161
|
+
/** Stable identifier (the toolset id). Used as the key in Copilot's
|
|
162
|
+
* `mcpServers` map and as the lookup key for callTool dispatch in
|
|
163
|
+
* bridge-based providers. */
|
|
164
|
+
id: string;
|
|
165
|
+
} & McpServerSpec>;
|
|
166
|
+
/**
|
|
167
|
+
* Optional callback fired when the session invokes a tool and the
|
|
168
|
+
* provider can observe it. Bridge-backed providers fire this from
|
|
169
|
+
* `McpBridge`; CLI providers may synthesize it from their JSON stream
|
|
170
|
+
* events. Copilot still runs tools inside its SDK and only surfaces
|
|
171
|
+
* the subset we can observe from SDK callbacks.
|
|
172
|
+
*/
|
|
173
|
+
onToolCall?: (info: ToolCallEvent) => void | Promise<void>;
|
|
174
|
+
/**
|
|
175
|
+
* Prior transcript to seed a stateless provider with. Honored by the
|
|
176
|
+
* providers that build each request's message array themselves
|
|
177
|
+
* (Ollama, llama.cpp, MLX, OpenAI-without-previous_response_id,
|
|
178
|
+
* Anthropic, remote) — they advertise `LLMProvider.supportsPriorMessages`.
|
|
179
|
+
* Ignored by Copilot (server-side session handles history) and the
|
|
180
|
+
* CLI providers (subprocess owns its transcript); stateless routes
|
|
181
|
+
* must flatten history into the prompt for those instead.
|
|
182
|
+
*
|
|
183
|
+
* Tool-calling history: `role: 'tool'` entries carry the result of a
|
|
184
|
+
* prior tool invocation (the callee's response). `role: 'assistant'`
|
|
185
|
+
* entries may carry `toolCalls` describing the calls the model made
|
|
186
|
+
* on a prior turn. Providers that don't support tool calling drop
|
|
187
|
+
* these fields silently — the same way they drop priorMessages for
|
|
188
|
+
* stateful sessions.
|
|
189
|
+
*/
|
|
190
|
+
priorMessages?: Array<{
|
|
191
|
+
role: 'user' | 'assistant';
|
|
192
|
+
content: string;
|
|
193
|
+
images?: string[];
|
|
194
|
+
} | {
|
|
195
|
+
role: 'assistant';
|
|
196
|
+
content: string;
|
|
197
|
+
toolCalls: ExternalToolCall[];
|
|
198
|
+
reasoning?: string;
|
|
199
|
+
} | {
|
|
200
|
+
role: 'tool';
|
|
201
|
+
content: string;
|
|
202
|
+
toolCallId: string;
|
|
203
|
+
}>;
|
|
204
|
+
/**
|
|
205
|
+
* Called with the session's exact transcript (see
|
|
206
|
+
* `LLMSession.getWireTranscript`) right before each engine request, so the
|
|
207
|
+
* caller can checkpoint it. After a restart, a session reseeded from that
|
|
208
|
+
* checkpoint renders the same prompt the engine last cached — while one
|
|
209
|
+
* rebuilt from saved history re-prefills everything past the system prompt.
|
|
210
|
+
* Synchronous and cheap by contract: the caller copies and persists later.
|
|
211
|
+
*/
|
|
212
|
+
onWireTranscript?: (transcript: WireTranscriptEntry[]) => void;
|
|
213
|
+
/**
|
|
214
|
+
* Caller-provided tool definitions in OpenAI's `function` shape.
|
|
215
|
+
*
|
|
216
|
+
* When set, the session enters "external tools" mode: the provider
|
|
217
|
+
* advertises these tools to the model alongside (or instead of)
|
|
218
|
+
* gezel's own MCP-bridge tools, but DOES NOT execute them. On the
|
|
219
|
+
* first model-emitted tool call the session halts and surfaces the
|
|
220
|
+
* captured call(s) via {@link LLMSession.capturedToolCalls}. The
|
|
221
|
+
* caller (`/v1/chat/completions` for third-party apps) then returns
|
|
222
|
+
* the calls to the user-side, who executes them and posts back the
|
|
223
|
+
* results in a follow-up turn via `priorMessages` `tool` entries.
|
|
224
|
+
*
|
|
225
|
+
* Providers that don't implement external tool calling reject with
|
|
226
|
+
* a clear `tools_not_supported_for_provider` error at session
|
|
227
|
+
* creation. Today: MockProvider, OpenAIProvider, and the local
|
|
228
|
+
* llama-cpp family (including ds4, which wraps the same session)
|
|
229
|
+
* support this — the fitness probe (fitness/probe.ts) rides the
|
|
230
|
+
* llama-cpp path. Anthropic / Copilot are deferred.
|
|
231
|
+
*/
|
|
232
|
+
externalTools?: ExternalToolSpec[];
|
|
233
|
+
/**
|
|
234
|
+
* Secret values the session should never leak into logs, SSE tool-call
|
|
235
|
+
* events, or error messages. Populated from the SecretStore at session
|
|
236
|
+
* build time; the MCP bridge redacts occurrences of these strings from
|
|
237
|
+
* everything it emits.
|
|
238
|
+
*/
|
|
239
|
+
knownSecretValues?: Set<string>;
|
|
240
|
+
/**
|
|
241
|
+
* Ollama-only: override the `num_ctx` passed with each /api/chat request.
|
|
242
|
+
* Ignored by Copilot/OpenAI (whose server-side sessions manage context).
|
|
243
|
+
*/
|
|
244
|
+
numCtx?: number;
|
|
245
|
+
/**
|
|
246
|
+
* Local-providers only (llama-cpp, mlx, ds4, ollama): callback the session
|
|
247
|
+
* invokes mid-tool-loop when its in-memory transcript is filling the
|
|
248
|
+
* context window. The session passes the messages BEFORE the current
|
|
249
|
+
* turn's user message — the callback runs a one-shot compaction LLM
|
|
250
|
+
* call on them and returns the wrapped synthetic message body the
|
|
251
|
+
* session should swap in.
|
|
252
|
+
*
|
|
253
|
+
* Optional. When unset, the session falls back to the existing
|
|
254
|
+
* post-turn pressure check that runs at the next user-message
|
|
255
|
+
* boundary — fine for short turns, but a single tool-heavy turn can
|
|
256
|
+
* blow past `numCtx` without ever crossing a user-message boundary
|
|
257
|
+
* for the manager to compact at. Returning `null` (insufficient
|
|
258
|
+
* prior, LLM error, empty synthesis) tells the session to keep going
|
|
259
|
+
* without swapping anything; the in-flight turn proceeds and may
|
|
260
|
+
* still hit a server-side parse error / context-overflow which the
|
|
261
|
+
* provider then surfaces as a warning per its existing recovery
|
|
262
|
+
* paths.
|
|
263
|
+
*/
|
|
264
|
+
requestCompaction?: CompactionRequester;
|
|
265
|
+
/**
|
|
266
|
+
* Process-wide verbose-diagnostics flag. Passed through to every MCP
|
|
267
|
+
* bridge this session spawns so tool calls can log full args +
|
|
268
|
+
* responses (redacted) when debug mode is on.
|
|
269
|
+
*/
|
|
270
|
+
debug?: {
|
|
271
|
+
isEnabled(): boolean;
|
|
272
|
+
};
|
|
273
|
+
/**
|
|
274
|
+
* Called when a bridge fails to start (primary or extra). Service
|
|
275
|
+
* uses this to surface `debug.bridge.failed` history events when
|
|
276
|
+
* debug mode is on — silent otherwise.
|
|
277
|
+
*/
|
|
278
|
+
onBridgeFailure?: (info: {
|
|
279
|
+
bridgeId: string;
|
|
280
|
+
error: unknown;
|
|
281
|
+
}) => void;
|
|
282
|
+
/**
|
|
283
|
+
* Role-derived ceiling on advertised and callable built-in tools.
|
|
284
|
+
* Third-party tools are unaffected by this set; an authored step's
|
|
285
|
+
* toolNamePolicy can constrain those too. The bridge pool retains a
|
|
286
|
+
* narrow append recovery exception for truncated write_file calls.
|
|
287
|
+
* See chat/role-tool-filter.ts. Unset adds no role-based restriction.
|
|
288
|
+
*/
|
|
289
|
+
toolAllowlist?: Set<string>;
|
|
290
|
+
/** Authored step ceiling for all bridge tools, including third-party MCP tools. */
|
|
291
|
+
toolNamePolicy?: {
|
|
292
|
+
allow?: ReadonlySet<string>;
|
|
293
|
+
deny?: ReadonlySet<string>;
|
|
294
|
+
};
|
|
295
|
+
/**
|
|
296
|
+
* The chat manager classified this session's current turn as direct
|
|
297
|
+
* file work and narrowed its tool surface accordingly. Local providers
|
|
298
|
+
* may use this authoritative signal instead of re-inferring the mode
|
|
299
|
+
* from user wording. The manager rebuilds the session when the clamp
|
|
300
|
+
* turns on or off, so the flag follows the same lifetime as the tools.
|
|
301
|
+
*/
|
|
302
|
+
forceDirectFileWork?: boolean;
|
|
303
|
+
/**
|
|
304
|
+
* The chat manager clamped this turn to ONE pre-resolved action (the
|
|
305
|
+
* exact-craftbook route). A local provider may stop generating the moment
|
|
306
|
+
* that call is complete in the stream: nothing written after it can be
|
|
307
|
+
* acted on, and a model that keeps going after an unfamiliar call shape
|
|
308
|
+
* can loop until max_tokens. Same lifetime as the clamp — the manager
|
|
309
|
+
* rebuilds the session when it flips. See `complete-tool-call.ts`.
|
|
310
|
+
*/
|
|
311
|
+
singleToolCallTurn?: boolean;
|
|
312
|
+
/**
|
|
313
|
+
* A coordinator routing clamp (project orchestration, exact craftbook)
|
|
314
|
+
* enforced on what the model may CALL rather than on what it is shown.
|
|
315
|
+
* The advertised roster — and so the rendered prompt — stays the full
|
|
316
|
+
* surface, which keeps a local engine's prompt cache valid across the
|
|
317
|
+
* clamp flipping on and off. `builtins` uses the `toolAllowlist`
|
|
318
|
+
* vocabulary; `thirdParty: false` also refuses every non-built-in tool.
|
|
319
|
+
* Only set for providers that enforce it at decode time (the MLX tool
|
|
320
|
+
* grammar); the bridge pool refuses anything outside it at dispatch.
|
|
321
|
+
*/
|
|
322
|
+
callableToolRestriction?: {
|
|
323
|
+
builtins: ReadonlySet<string>;
|
|
324
|
+
thirdParty: boolean;
|
|
325
|
+
};
|
|
326
|
+
/**
|
|
327
|
+
* Local bridge-backed providers: a successful call to one of these
|
|
328
|
+
* action tools is the terminal outcome for the turn. The provider
|
|
329
|
+
* appends one short closing line (preferably from `closingArg`) and
|
|
330
|
+
* returns without asking the model to analyze the completed action
|
|
331
|
+
* again. Used by lean game projects (`make_move`) where a continuation
|
|
332
|
+
* generation otherwise invites stale-board rumination and repeat moves.
|
|
333
|
+
*/
|
|
334
|
+
terminalToolPolicy?: TerminalToolPolicy;
|
|
335
|
+
/**
|
|
336
|
+
* Authoritative expected output path paired with
|
|
337
|
+
* {@link forceDirectFileWork}. This is especially important when the
|
|
338
|
+
* clamp came from `ChatSession.expectedDeliverable` rather than wording
|
|
339
|
+
* in the latest message.
|
|
340
|
+
*/
|
|
341
|
+
directFileWorkTargetPath?: string;
|
|
342
|
+
/**
|
|
343
|
+
* Persists images returned by MCP tool calls (Playwright screenshots,
|
|
344
|
+
* etc.) into the project's artifacts/ tree. When set, the bridge calls
|
|
345
|
+
* this for any tool result with image content blocks and includes the
|
|
346
|
+
* resulting paths on the `images` field of the `ToolCallEvent`. The
|
|
347
|
+
* UI then renders thumbnails inline with the tool row. Built per-
|
|
348
|
+
* session by ChatManager so the persister knows which (project,
|
|
349
|
+
* session) it's writing into.
|
|
350
|
+
*/
|
|
351
|
+
imagePersister?: import('./image-persister-contract.js').ToolImagePersister;
|
|
352
|
+
/**
|
|
353
|
+
* Optional persister for audio content blocks (`synthesize_speech`
|
|
354
|
+
* outputs). Mirrors `imagePersister` exactly.
|
|
355
|
+
*/
|
|
356
|
+
audioPersister?: import('./audio-persister-contract.js').ToolAudioPersister;
|
|
357
|
+
/**
|
|
358
|
+
* Optional callback for persisting large tool outputs to the
|
|
359
|
+
* session's project artifacts tree. Used by the outboard-storage
|
|
360
|
+
* MCP wrapper to turn a 200KB browser_snapshot into a summary +
|
|
361
|
+
* path so the model isn't forced to swallow the whole payload.
|
|
362
|
+
* Bridge-agnostic: works from any wrapper on any bridge (including
|
|
363
|
+
* third-party MCPs that don't host `write_artifact`). When unset,
|
|
364
|
+
* the wrapper degrades to the existing capToolOutput truncation
|
|
365
|
+
* path. The chat manager wires this to
|
|
366
|
+
* `store.writeProjectArtifact(record.projectId, ...)`.
|
|
367
|
+
*/
|
|
368
|
+
artifactPersister?: (relPath: string, content: string) => Promise<void>;
|
|
369
|
+
/**
|
|
370
|
+
* Active-project preview hosting available to MCP wrappers. Used by the
|
|
371
|
+
* Playwright argument adapter to rewrite workspace `file:` navigation onto
|
|
372
|
+
* the daemon's short-lived, capability-scoped preview URL.
|
|
373
|
+
*/
|
|
374
|
+
workspacePreview?: {
|
|
375
|
+
projectId: string;
|
|
376
|
+
root: string;
|
|
377
|
+
/** Dedicated loopback origin that serves only capability-scoped previews. */
|
|
378
|
+
origin?: string;
|
|
379
|
+
/**
|
|
380
|
+
* Restrict Playwright to the local-preview tool surface and network
|
|
381
|
+
* boundary. Set whenever External services are disabled.
|
|
382
|
+
*/
|
|
383
|
+
localOnly?: boolean;
|
|
384
|
+
createUrl: (relativePath: string) => Promise<string | null>;
|
|
385
|
+
};
|
|
386
|
+
/**
|
|
387
|
+
* Craftbook hooks active for the session — the `hooks?: HookSpec[]`
|
|
388
|
+
* list from the session's active craftbook(s). The MCP bridge
|
|
389
|
+
* installs these via `installCraftbookHooks` at session start and
|
|
390
|
+
* consults them before every tool call. Multiple craftbooks may
|
|
391
|
+
* each contribute hooks; the entries are tagged with their owning
|
|
392
|
+
* craftbookId.
|
|
393
|
+
*/
|
|
394
|
+
craftbookHooks?: Array<{
|
|
395
|
+
craftbookId: string;
|
|
396
|
+
hooks: import('@bendyline/gezel').HookSpec[];
|
|
397
|
+
}>;
|
|
398
|
+
/**
|
|
399
|
+
* Factual writing: the session's evidence ledger, as bridge hooks. Every
|
|
400
|
+
* bridge in the session numbers evidence and checks document writes
|
|
401
|
+
* through it. Unset outside factual mode.
|
|
402
|
+
*/
|
|
403
|
+
grounding?: import('./session-hooks.js').ToolGroundingHooks;
|
|
404
|
+
/**
|
|
405
|
+
* Runs a hook script when the bridge needs a decision. Receives the
|
|
406
|
+
* active hook plus the tool-call context (name + args; result for
|
|
407
|
+
* PostToolUse) and returns `{ decision: 'allow'|'deny'|'ask',
|
|
408
|
+
* message? }`. Wired by ChatManager from the ScriptRunner.
|
|
409
|
+
*/
|
|
410
|
+
hookRunner?: import('./session-hooks.js').HookRunner;
|
|
411
|
+
/**
|
|
412
|
+
* Surfaces an "ask" hook decision to the user. Returns true to
|
|
413
|
+
* proceed, false to cancel (treated as deny).
|
|
414
|
+
*/
|
|
415
|
+
hookAskUser?: (info: {
|
|
416
|
+
phase: import('@bendyline/gezel').HookPhase;
|
|
417
|
+
toolName: string;
|
|
418
|
+
message: string;
|
|
419
|
+
craftbookId: string;
|
|
420
|
+
hookLabel?: string;
|
|
421
|
+
}) => Promise<boolean>;
|
|
422
|
+
/**
|
|
423
|
+
* Audit sink for hook decisions. Fires once per hook that ran,
|
|
424
|
+
* regardless of decision. ChatManager pipes this to HistoryManager
|
|
425
|
+
* as `tool.gated` events.
|
|
426
|
+
*/
|
|
427
|
+
onHookDecision?: (info: {
|
|
428
|
+
phase: import('@bendyline/gezel').HookPhase;
|
|
429
|
+
toolName: string;
|
|
430
|
+
decision: 'allow' | 'deny' | 'ask';
|
|
431
|
+
message?: string;
|
|
432
|
+
craftbookId: string;
|
|
433
|
+
hookLabel?: string;
|
|
434
|
+
}) => void | Promise<void>;
|
|
435
|
+
/**
|
|
436
|
+
* Active craftbook step context, threaded through from ChatManager
|
|
437
|
+
* for anti-spin guidance. Local providers' abort-message builders
|
|
438
|
+
* use this to surface "the right next call is `run_script({ name:
|
|
439
|
+
* '<onExitScriptName>' })`" instead of pointing the model at
|
|
440
|
+
* generic `write_file`/`assign_task` candidates that are wrong for
|
|
441
|
+
* mid-craftbook work. Unset for sessions not scoped to a task with
|
|
442
|
+
* an active step.
|
|
443
|
+
*/
|
|
444
|
+
activeCraftbookStep?: ActiveCraftbookStep;
|
|
445
|
+
/**
|
|
446
|
+
* Capability tier of the model running this session, derived from
|
|
447
|
+
* the model id's parameter count + the provider. MCP wrappers
|
|
448
|
+
* branch on this so a 4B local gets relaxed schemas + auto-filled
|
|
449
|
+
* defaults while a 70B local or a cloud frontier model keeps the
|
|
450
|
+
* strict surface frontier models prefer. See
|
|
451
|
+
* `chat/local-model-tier.ts`.
|
|
452
|
+
*
|
|
453
|
+
* - 'tiny': <5B, or unknown size on a local provider
|
|
454
|
+
* - 'small': 5–11.99B
|
|
455
|
+
* - 'medium': 12–44.99B
|
|
456
|
+
* - 'large': ≥45B (local) — top of what an enthusiast runs locally
|
|
457
|
+
* - 'cloud': any cloud provider — effectively running on >512GB
|
|
458
|
+
* of GPU memory we don't pay for
|
|
459
|
+
*
|
|
460
|
+
* When unset, wrappers treat as 'large' (least invasive — no schema
|
|
461
|
+
* relaxation, no localHints).
|
|
462
|
+
*/
|
|
463
|
+
modelTier?: 'tiny' | 'small' | 'medium' | 'large' | 'cloud';
|
|
464
|
+
/**
|
|
465
|
+
* True when the session's gezel is the currently designated Meester
|
|
466
|
+
* (`config.meesterGezelId === record.gezelId`). Threaded into the MCP
|
|
467
|
+
* bridge so wrappers configured with `meesterOnly: true` (the
|
|
468
|
+
* Gemma-26B single-tool-per-turn guard, for example) can short-
|
|
469
|
+
* circuit on voorman and worker sessions instead of firing
|
|
470
|
+
* everywhere. Defaults to false when unset; provider implementations
|
|
471
|
+
* that don't run an MCP bridge can ignore this.
|
|
472
|
+
*/
|
|
473
|
+
isMeester?: boolean;
|
|
474
|
+
/**
|
|
475
|
+
* Resolved per-model behavior profile, threaded through to the MCP
|
|
476
|
+
* bridge so per-session wrappers can compose with the static ones.
|
|
477
|
+
* Built once in `ChatManager.buildSessionOpts` via `resolveProfile`,
|
|
478
|
+
* carried alongside `modelTier` for the lifetime of the session.
|
|
479
|
+
*
|
|
480
|
+
* Provider implementations that don't run an MCP bridge (Copilot,
|
|
481
|
+
* Anthropic CLI, Codex CLI) ignore this. For Ollama / llama-cpp /
|
|
482
|
+
* mlx, the bridge consults `profile.behaviors` to assemble the
|
|
483
|
+
* per-session wrapper list and to decide whether to run the
|
|
484
|
+
* Gemma special-token salvage / preamble fold / ramble detector.
|
|
485
|
+
*/
|
|
486
|
+
profile?: ResolvedModelProfile;
|
|
487
|
+
/**
|
|
488
|
+
* Resolved per-model tuning (sampling, reasoning, structured-output,
|
|
489
|
+
* tool-choice). Built once in `ChatManager.buildSessionOpts` from the
|
|
490
|
+
* gezel-frontmatter `tuning` override on top of the catalog manifest
|
|
491
|
+
* `tuning` defaults, with `samplingWhenThinking` folded in when
|
|
492
|
+
* reasoning is engaged. Providers consume via `applyTuning(body,
|
|
493
|
+
* tuning, MAP)` at request-build time. Unset → providers fall back
|
|
494
|
+
* to their built-in defaults.
|
|
495
|
+
*/
|
|
496
|
+
tuning?: import('../model-profile/index.js').ResolvedTuning;
|
|
497
|
+
/**
|
|
498
|
+
* Copilot-only: unless explicitly false, the provider installs a
|
|
499
|
+
* permission handler that denies every tool call except MCP / custom-tool
|
|
500
|
+
* kinds, forcing the model through our MCP surface instead of the SDK's
|
|
501
|
+
* built-in bash / web_fetch / file-edit / grep. Other providers ignore this.
|
|
502
|
+
*/
|
|
503
|
+
sandboxCopilot?: boolean;
|
|
504
|
+
/**
|
|
505
|
+
* Fires when sandbox mode denies a Copilot built-in tool call. The
|
|
506
|
+
* ChatManager uses this to record `copilot.builtin.denied` history
|
|
507
|
+
* events so sandbox-mode sessions keep an audit trail the SDK's
|
|
508
|
+
* in-subprocess tools otherwise bypass. Only fires when the effective
|
|
509
|
+
* Copilot sandbox is enabled and the Copilot provider is in use.
|
|
510
|
+
*/
|
|
511
|
+
onSandboxDenial?: (info: {
|
|
512
|
+
kind: string;
|
|
513
|
+
toolName?: string;
|
|
514
|
+
fileName?: string;
|
|
515
|
+
fullCommandText?: string;
|
|
516
|
+
}) => void | Promise<void>;
|
|
517
|
+
}
|
|
518
|
+
export interface ToolCallEvent {
|
|
519
|
+
name: string;
|
|
520
|
+
/** Original CLI operation when normalized into Gezel's semantic tool names. */
|
|
521
|
+
providerToolName?: string;
|
|
522
|
+
argKeys: string[];
|
|
523
|
+
/**
|
|
524
|
+
* Shallow copy of the args the tool was called with. Kept optional because
|
|
525
|
+
* not every caller of the bridge populates it, and history logging only
|
|
526
|
+
* uses `argKeys` anyway. Chat-stream forwarding uses this to pluck file
|
|
527
|
+
* paths for the References panel.
|
|
528
|
+
*/
|
|
529
|
+
args?: Record<string, unknown>;
|
|
530
|
+
/**
|
|
531
|
+
* Wall-clock start of the tool invocation (epoch ms). Optional so
|
|
532
|
+
* third-party producers keep working; ChatManager falls back to
|
|
533
|
+
* `now - durationMs`, which is exact for any producer that computes
|
|
534
|
+
* durationMs at fire time.
|
|
535
|
+
*/
|
|
536
|
+
startedAtMs?: number;
|
|
537
|
+
durationMs: number;
|
|
538
|
+
success: boolean;
|
|
539
|
+
errorMessage?: string;
|
|
540
|
+
/**
|
|
541
|
+
* Text returned by the tool when the provider exposes it. Producers must
|
|
542
|
+
* redact known secrets before firing the event. ChatManager bounds this
|
|
543
|
+
* into a short full response or a deterministic summary before persistence.
|
|
544
|
+
*/
|
|
545
|
+
resultText?: string;
|
|
546
|
+
/** True when the bridge clipped the provider-visible text after the MCP tool returned. */
|
|
547
|
+
deliveredResultTruncated?: boolean;
|
|
548
|
+
/**
|
|
549
|
+
* Image artifacts the tool returned (Playwright `browser_*` screenshots,
|
|
550
|
+
* etc.) — already written to disk by the bridge's image persister, paths
|
|
551
|
+
* are relative to the project's artifacts/ root. Forwarded onto both
|
|
552
|
+
* the SSE tool segment (live UI) and the persisted ChatMessageToolCall
|
|
553
|
+
* (session reload).
|
|
554
|
+
*/
|
|
555
|
+
images?: Array<{
|
|
556
|
+
path: string;
|
|
557
|
+
mimeType: string;
|
|
558
|
+
}>;
|
|
559
|
+
/**
|
|
560
|
+
* Audio artifacts the tool returned (synthesize_speech narrations) —
|
|
561
|
+
* persisted parallel to images. Same forwarding shape onto SSE tool
|
|
562
|
+
* segment + the persisted ChatMessageToolCall.
|
|
563
|
+
*/
|
|
564
|
+
audios?: Array<{
|
|
565
|
+
path: string;
|
|
566
|
+
mimeType: string;
|
|
567
|
+
durationSeconds?: number;
|
|
568
|
+
voice?: string;
|
|
569
|
+
}>;
|
|
570
|
+
/**
|
|
571
|
+
* MCP `structuredContent` returned by the tool. Layer 4 surgical-edit
|
|
572
|
+
* tools (`replace_in_file`, `apply_patch`, `insert_at_marker`) populate
|
|
573
|
+
* `{diff, addedLines, removedLines, diffTruncated?}` here. The chat
|
|
574
|
+
* manager copies known fields onto ChatMessageToolCall for the UI
|
|
575
|
+
* inline diff viewer. Other tools can populate other fields; the
|
|
576
|
+
* bridge passes them through untouched.
|
|
577
|
+
*/
|
|
578
|
+
structuredContent?: Record<string, unknown>;
|
|
579
|
+
}
|
|
580
|
+
/** Provider-specific state we persist after each turn so the session can resume. */
|
|
581
|
+
/**
|
|
582
|
+
* Live launch provenance of a supervised native engine — see
|
|
583
|
+
* `LLMProvider.engineLaunchSnapshot`. `diagnostics` carries the launch
|
|
584
|
+
* payload the spawner attached (the `launch {...}` log line fields:
|
|
585
|
+
* `model`, `contextPerSlot`, `contextTotal`, `slots`, `kvCacheType`,
|
|
586
|
+
* `backend`, …), safe request-independent facts only.
|
|
587
|
+
*/
|
|
588
|
+
export interface EngineLaunchSnapshot {
|
|
589
|
+
pid?: number;
|
|
590
|
+
/** Epoch ms when the current child was spawned. */
|
|
591
|
+
startedAt: number;
|
|
592
|
+
diagnostics?: Record<string, string | number | boolean>;
|
|
593
|
+
}
|
|
594
|
+
export interface ModelInfo {
|
|
595
|
+
id: string;
|
|
596
|
+
name: string;
|
|
597
|
+
supportsReasoning?: boolean;
|
|
598
|
+
reasoningEfforts?: string[];
|
|
599
|
+
defaultReasoningEffort?: string;
|
|
600
|
+
contextWindow?: number;
|
|
601
|
+
/**
|
|
602
|
+
* Whether the model supports structured tool / function calling. Ollama
|
|
603
|
+
* sets this via a family-prefix allowlist so the UI can warn when a gezel
|
|
604
|
+
* is pinned to a non-tool-capable local model.
|
|
605
|
+
*/
|
|
606
|
+
supportsTools?: boolean;
|
|
607
|
+
/** Short human-friendly size hint (Ollama's `details.parameter_size`). */
|
|
608
|
+
parameterSize?: string;
|
|
609
|
+
}
|
|
610
|
+
import type { ProviderQueue } from './queue.js';
|
|
611
|
+
/**
|
|
612
|
+
* Thrown by `LLMProvider.resumeSession` when the underlying provider can't
|
|
613
|
+
* restore the given session (Copilot session expired, etc.). Caller should
|
|
614
|
+
* fall back to a fresh `createSession` and surface a warning.
|
|
615
|
+
*/
|
|
616
|
+
export declare class SessionResumeError extends Error {
|
|
617
|
+
constructor(message: string);
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Thrown by a provider's `createSession` (or first `sendAndWait`) when
|
|
621
|
+
* `externalTools` was set on the session opts but the provider doesn't
|
|
622
|
+
* yet implement external tool calling. The route maps this to
|
|
623
|
+
* `400 tools_not_supported_for_provider` so the caller knows the
|
|
624
|
+
* gezel's backend can't honor the request and what to do (pick a
|
|
625
|
+
* different provider, or omit `tools`).
|
|
626
|
+
*/
|
|
627
|
+
export declare class ExternalToolsUnsupportedError extends Error {
|
|
628
|
+
constructor(providerName: string);
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Thrown when a request names a local-engine model id that isn't
|
|
632
|
+
* installed on this machine. Routes map it to `404 model_not_found`.
|
|
633
|
+
* Deliberately NOT auto-resolved by downloading: a chat request must
|
|
634
|
+
* never trigger a multi-GB pull — the job-based `POST /v1/models/ensure`
|
|
635
|
+
* endpoint exists for explicit, consented installs.
|
|
636
|
+
*/
|
|
637
|
+
export declare class ModelNotInstalledError extends Error {
|
|
638
|
+
readonly providerName: string;
|
|
639
|
+
readonly modelId: string;
|
|
640
|
+
constructor(providerName: string, modelId: string);
|
|
641
|
+
}
|
|
642
|
+
/**
|
|
643
|
+
* Context describing one would-be batch member, passed to
|
|
644
|
+
* {@link BatchCapability.admit} so an engine can make a live headroom
|
|
645
|
+
* decision (per-slot context budget, KV-memory ceiling). Round 1 only
|
|
646
|
+
* populates lane + ids; `estPromptTokens` is wired in the MLX static-
|
|
647
|
+
* batching phase, when per-slot context budgeting starts to matter.
|
|
648
|
+
*/
|
|
649
|
+
export interface BatchAdmitCtx {
|
|
650
|
+
lane: 'interactive' | 'background';
|
|
651
|
+
sessionId?: string;
|
|
652
|
+
gezelId?: string;
|
|
653
|
+
estPromptTokens?: number;
|
|
654
|
+
}
|
|
655
|
+
/**
|
|
656
|
+
* How many sequences a provider's engine can generate concurrently, plus
|
|
657
|
+
* an optional live admission check. See {@link LLMProvider.batch}.
|
|
658
|
+
*/
|
|
659
|
+
export interface BatchCapability {
|
|
660
|
+
/**
|
|
661
|
+
* Sequences this engine can generate truly concurrently right now.
|
|
662
|
+
* 1 = serial (MLX today). N = N KV slots / batch width (llama.cpp
|
|
663
|
+
* `--parallel N`). The queue's effective concurrency and the MLX
|
|
664
|
+
* engine-request gate both read this.
|
|
665
|
+
*/
|
|
666
|
+
readonly maxConcurrency: number;
|
|
667
|
+
/**
|
|
668
|
+
* Optional live headroom check — return false to refuse adding
|
|
669
|
+
* `candidate` to the current in-flight set. Defaults to "admit while
|
|
670
|
+
* inflight.length < maxConcurrency" when omitted.
|
|
671
|
+
*/
|
|
672
|
+
admit?(candidate: BatchAdmitCtx, inflight: readonly BatchAdmitCtx[]): boolean;
|
|
673
|
+
}
|
|
674
|
+
export interface LLMProvider {
|
|
675
|
+
readonly supportsImageInput?: boolean;
|
|
676
|
+
readonly name: ProviderName;
|
|
677
|
+
/**
|
|
678
|
+
* The model calls tools through its own API (Apple's on-device model):
|
|
679
|
+
* tool definitions travel outside the prompt, so a minimal-footprint prompt
|
|
680
|
+
* keeps the tool conduct and task step instead of saying "no tools".
|
|
681
|
+
*/
|
|
682
|
+
readonly nativeTools?: boolean;
|
|
683
|
+
/** Boot the underlying client / authenticate. Called lazily. */
|
|
684
|
+
initialize(signal?: AbortSignal): Promise<void>;
|
|
685
|
+
/** Tear down everything owned by this provider. */
|
|
686
|
+
shutdown(): Promise<void>;
|
|
687
|
+
createSession(opts: SessionOpts): Promise<LLMSession>;
|
|
688
|
+
/**
|
|
689
|
+
* Resume a previously-saved session by its provider-assigned id. Optional —
|
|
690
|
+
* not every provider exposes this (OpenAI uses SessionOpts.openaiPreviousResponseId
|
|
691
|
+
* instead). Should throw `SessionResumeError` on expiry / not-found.
|
|
692
|
+
*/
|
|
693
|
+
resumeSession?(sessionId: string, opts: SessionOpts): Promise<LLMSession>;
|
|
694
|
+
/** Enumerate models this provider currently offers. May hit the network. */
|
|
695
|
+
listModels(signal?: AbortSignal): Promise<ModelInfo[]>;
|
|
696
|
+
/**
|
|
697
|
+
* The model id this provider would use right now if a session
|
|
698
|
+
* doesn't override it. For local providers this is the
|
|
699
|
+
* auto-resolved on-disk model when the user hasn't picked one in
|
|
700
|
+
* Settings → AI; for cloud providers it's typically the id pulled
|
|
701
|
+
* from `config.defaultModel.<provider>`. Synchronous because it
|
|
702
|
+
* reads provider-internal state captured at construction.
|
|
703
|
+
*
|
|
704
|
+
* Used by the chat manager to recover an effective model id for
|
|
705
|
+
* tier classification when neither `record.model` nor
|
|
706
|
+
* `config.defaultModel.<provider>` is set — without this, sessions
|
|
707
|
+
* on auto-picked local models classify as `tier:tiny` (their
|
|
708
|
+
* model id flows to the tier resolver as `undefined`) and the
|
|
709
|
+
* prompt-tuning hints land mis-targeted.
|
|
710
|
+
*
|
|
711
|
+
* Returns undefined when the provider has no effective id to
|
|
712
|
+
* surface (e.g. external base URL mode where the catalog isn't
|
|
713
|
+
* known, or pre-init state).
|
|
714
|
+
*/
|
|
715
|
+
getEffectiveModelId?(): string | undefined;
|
|
716
|
+
/**
|
|
717
|
+
* Effective per-turn context window the provider actually gives a
|
|
718
|
+
* session. Supervised local engines may lower the configured/model-native
|
|
719
|
+
* value at launch time to fit live RAM + VRAM; callers that size prompts
|
|
720
|
+
* or tool surfaces must use this post-admission number rather than the
|
|
721
|
+
* requested ceiling.
|
|
722
|
+
*/
|
|
723
|
+
getContextWindow?(): number | undefined;
|
|
724
|
+
/**
|
|
725
|
+
* Resolve the effective context window before a session prompt is built.
|
|
726
|
+
*
|
|
727
|
+
* Native providers usually know this synchronously via
|
|
728
|
+
* {@link getContextWindow}. A broker-backed provider must first ask the
|
|
729
|
+
* broker to admit/load the selected model, because live RAM/VRAM pressure
|
|
730
|
+
* can clamp the configured window. Implementations may briefly cache the
|
|
731
|
+
* result because ChatManager can call this twice while opening one session,
|
|
732
|
+
* but must not retain it across later starts where policy or pressure may
|
|
733
|
+
* have changed.
|
|
734
|
+
*/
|
|
735
|
+
prepareContextWindow?(model?: string, signal?: AbortSignal): Promise<number | undefined>;
|
|
736
|
+
/**
|
|
737
|
+
* Launch provenance of the provider's LIVE engine process — pid, start
|
|
738
|
+
* time, and the request-independent launch facts (granted context
|
|
739
|
+
* window, slots, KV dtype, backend). Supervised native providers
|
|
740
|
+
* delegate to their supervisor; undefined when no process is up or the
|
|
741
|
+
* provider has no supervised engine (cloud, external base URL). Powers
|
|
742
|
+
* `/api/system/diagnostics` `localEngines` and Settings → About.
|
|
743
|
+
*/
|
|
744
|
+
engineLaunchSnapshot?(): EngineLaunchSnapshot | undefined;
|
|
745
|
+
/**
|
|
746
|
+
* Broker-ledger reservation this provider's engine actually needs:
|
|
747
|
+
* resident weights plus KV at the granted context window and cache
|
|
748
|
+
* mode, computed by the build-time admission pass. The pool builder
|
|
749
|
+
* prefers this over catalog/weights-multiplier estimates so
|
|
750
|
+
* co-residency admission sees KV — a dense small model's KV can exceed
|
|
751
|
+
* its weights (qwen3.5-4b at 64K). Undefined when the provider could
|
|
752
|
+
* not price its launch (external base URL, unreadable weights).
|
|
753
|
+
*/
|
|
754
|
+
plannedReservationBytes?(): number | undefined;
|
|
755
|
+
/**
|
|
756
|
+
* Graphics memory the launch plan puts on a discrete card, when it puts
|
|
757
|
+
* less than the whole model there (a MoE whose experts stream from system
|
|
758
|
+
* RAM). Undefined means the old charge: as much of the model as fits.
|
|
759
|
+
*/
|
|
760
|
+
plannedGpuBytes?(): number | undefined;
|
|
761
|
+
/**
|
|
762
|
+
* The concurrency/priority gate this provider's sessions acquire
|
|
763
|
+
* from before invoking the underlying API. Sessions produced by
|
|
764
|
+
* {@link createSession} call `queue.acquire()` in their
|
|
765
|
+
* {@link LLMSession.sendAndWait} and release on completion. Callers
|
|
766
|
+
* (ChatManager, TaskRunner, nudge-suppression checks) can read
|
|
767
|
+
* `queue.snapshot()` for backpressure. Optional — providers that
|
|
768
|
+
* don't gate (e.g. MockProvider) return `undefined`.
|
|
769
|
+
*/
|
|
770
|
+
readonly queue?: ProviderQueue;
|
|
771
|
+
/**
|
|
772
|
+
* Batched/continuous-generation capability of this provider's engine.
|
|
773
|
+
* Present (with `maxConcurrency > 1`) when the engine can generate
|
|
774
|
+
* multiple sequences truly concurrently — e.g. llama.cpp launched with
|
|
775
|
+
* `--parallel N`. Absent, or `maxConcurrency: 1`, means serial (today's
|
|
776
|
+
* MLX). The dispatch layer reads `batch?.maxConcurrency ?? 1` to size
|
|
777
|
+
* this provider's queue and (for MLX) the width of its engine-request
|
|
778
|
+
* gate — the single knob that flips an engine from serial to batched
|
|
779
|
+
* with no scheduler changes. Optional — providers that never batch
|
|
780
|
+
* (cloud handles its own batching; MockProvider) omit it.
|
|
781
|
+
*/
|
|
782
|
+
readonly batch?: BatchCapability;
|
|
783
|
+
/**
|
|
784
|
+
* Optional embeddings endpoint. Used by `POST /v1/embeddings` (OpenAI-
|
|
785
|
+
* compatible). Returning `undefined` (or omitting this method) signals
|
|
786
|
+
* the provider doesn't support embeddings; the route maps that to a
|
|
787
|
+
* `400 embeddings_not_supported`.
|
|
788
|
+
*
|
|
789
|
+
* `input` may be a single string or an array of strings — the route
|
|
790
|
+
* passes through whatever the OpenAI client sent. `model` is the
|
|
791
|
+
* caller's preferred embedding model id (e.g. `text-embedding-3-small`
|
|
792
|
+
* for OpenAI, a local model name for llama-cpp/mlx).
|
|
793
|
+
*
|
|
794
|
+
* Returns vectors in caller order, plus per-call token usage. The
|
|
795
|
+
* route wraps this into the OpenAI envelope shape.
|
|
796
|
+
*/
|
|
797
|
+
createEmbedding?(input: EmbeddingInput): Promise<EmbeddingResult>;
|
|
798
|
+
/**
|
|
799
|
+
* True when this provider implements the
|
|
800
|
+
* {@link SessionOpts.externalTools} pathway — i.e. caller-supplied
|
|
801
|
+
* tool definitions can be advertised to the model and captured calls
|
|
802
|
+
* surface via {@link LLMSession.capturedToolCalls}. The route checks
|
|
803
|
+
* this at request time and returns
|
|
804
|
+
* `400 tools_not_supported_for_provider` when the caller's request
|
|
805
|
+
* carries tools but the provider doesn't.
|
|
806
|
+
*
|
|
807
|
+
* Today: MockProvider sets this; cloud + local providers leave it
|
|
808
|
+
* unset until the external-tools path lands per-provider.
|
|
809
|
+
*/
|
|
810
|
+
readonly supportsExternalTools?: boolean;
|
|
811
|
+
/**
|
|
812
|
+
* True when sessions honor {@link SessionOpts.priorMessages} — i.e. a
|
|
813
|
+
* fresh session seeded with explicit history actually replays that
|
|
814
|
+
* history to the model. Stateless surfaces (`/v1/chat/completions`,
|
|
815
|
+
* the Ollama facade) check this: when a provider leaves it unset
|
|
816
|
+
* (Copilot, whose SDK owns history server-side per session id, and
|
|
817
|
+
* the CLI providers, whose subprocess owns its own transcript), the
|
|
818
|
+
* route flattens the prior turns into the prompt text instead of
|
|
819
|
+
* passing `priorMessages` — otherwise the conversation history is
|
|
820
|
+
* silently dropped and every turn looks like the first.
|
|
821
|
+
*/
|
|
822
|
+
readonly supportsPriorMessages?: boolean;
|
|
823
|
+
}
|
|
824
|
+
export interface EmbeddingInput {
|
|
825
|
+
input: string | string[];
|
|
826
|
+
model?: string;
|
|
827
|
+
}
|
|
828
|
+
export interface EmbeddingResult {
|
|
829
|
+
vectors: number[][];
|
|
830
|
+
model: string;
|
|
831
|
+
usage: {
|
|
832
|
+
inputTokens: number;
|
|
833
|
+
};
|
|
834
|
+
}
|