@modular-prompt/driver 0.15.0 → 0.17.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/README.md +124 -9
- package/dist/cache-controller.d.ts +4 -0
- package/dist/cache-controller.d.ts.map +1 -1
- package/dist/driver-registry/config-based-factory.d.ts.map +1 -1
- package/dist/driver-registry/config-based-factory.js +10 -3
- package/dist/driver-registry/config-based-factory.js.map +1 -1
- package/dist/driver-registry/factory-helper.d.ts.map +1 -1
- package/dist/driver-registry/factory-helper.js +10 -2
- package/dist/driver-registry/factory-helper.js.map +1 -1
- package/dist/driver-registry/index.d.ts +1 -1
- package/dist/driver-registry/index.d.ts.map +1 -1
- package/dist/driver-registry/types.d.ts +18 -1
- package/dist/driver-registry/types.d.ts.map +1 -1
- package/dist/formatter/converter.d.ts.map +1 -1
- package/dist/formatter/converter.js +31 -2
- package/dist/formatter/converter.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/local-inference/adapters.d.ts +6 -0
- package/dist/local-inference/adapters.d.ts.map +1 -1
- package/dist/local-inference/driver.d.ts.map +1 -1
- package/dist/local-inference/driver.js +45 -24
- package/dist/local-inference/driver.js.map +1 -1
- package/dist/local-inference/process-client.d.ts +4 -2
- package/dist/local-inference/process-client.d.ts.map +1 -1
- package/dist/local-inference/process-client.js +24 -8
- package/dist/local-inference/process-client.js.map +1 -1
- package/dist/local-inference/process-communication.d.ts +9 -2
- package/dist/local-inference/process-communication.d.ts.map +1 -1
- package/dist/local-inference/process-communication.js +37 -5
- package/dist/local-inference/process-communication.js.map +1 -1
- package/dist/local-inference/protocol.d.ts +4 -0
- package/dist/local-inference/protocol.d.ts.map +1 -1
- package/dist/local-inference/request-queue.d.ts +1 -1
- package/dist/local-inference/request-queue.d.ts.map +1 -1
- package/dist/local-inference/request-queue.js +26 -7
- package/dist/local-inference/request-queue.js.map +1 -1
- package/dist/local-inference/stream-utils.d.ts +6 -0
- package/dist/local-inference/stream-utils.d.ts.map +1 -1
- package/dist/local-inference/stream-utils.js.map +1 -1
- package/dist/mlx-ml/mlx-cache-controller.d.ts +9 -0
- package/dist/mlx-ml/mlx-cache-controller.d.ts.map +1 -1
- package/dist/mlx-ml/mlx-cache-controller.js +158 -32
- package/dist/mlx-ml/mlx-cache-controller.js.map +1 -1
- package/dist/mlx-ml/mlx-cache-support.d.ts +2 -2
- package/dist/mlx-ml/mlx-cache-support.d.ts.map +1 -1
- package/dist/mlx-ml/mlx-cache-support.js +8 -3
- package/dist/mlx-ml/mlx-cache-support.js.map +1 -1
- package/dist/mlx-ml/mlx-driver.d.ts +0 -1
- package/dist/mlx-ml/mlx-driver.d.ts.map +1 -1
- package/dist/mlx-ml/mlx-driver.js +1 -8
- package/dist/mlx-ml/mlx-driver.js.map +1 -1
- package/dist/mlx-ml/process/index.d.ts +1 -1
- package/dist/mlx-ml/process/index.d.ts.map +1 -1
- package/dist/mlx-ml/process/index.js +2 -2
- package/dist/mlx-ml/process/index.js.map +1 -1
- package/dist/models-config/index.d.ts +2 -2
- package/dist/models-config/index.d.ts.map +1 -1
- package/dist/models-config/index.js +2 -2
- package/dist/models-config/index.js.map +1 -1
- package/dist/models-config/paths.d.ts +8 -0
- package/dist/models-config/paths.d.ts.map +1 -1
- package/dist/models-config/paths.js +16 -1
- package/dist/models-config/paths.js.map +1 -1
- package/dist/models-config/resolve.d.ts +10 -2
- package/dist/models-config/resolve.d.ts.map +1 -1
- package/dist/models-config/resolve.js +119 -6
- package/dist/models-config/resolve.js.map +1 -1
- package/dist/models-config/types.d.ts +5 -1
- package/dist/models-config/types.d.ts.map +1 -1
- package/dist/pytorch/process/index.d.ts +4 -2
- package/dist/pytorch/process/index.d.ts.map +1 -1
- package/dist/pytorch/process/index.js +24 -7
- package/dist/pytorch/process/index.js.map +1 -1
- package/dist/pytorch/pytorch-cache-controller.d.ts +84 -0
- package/dist/pytorch/pytorch-cache-controller.d.ts.map +1 -0
- package/dist/pytorch/pytorch-cache-controller.js +742 -0
- package/dist/pytorch/pytorch-cache-controller.js.map +1 -0
- package/dist/pytorch/pytorch-cache-support.d.ts +23 -0
- package/dist/pytorch/pytorch-cache-support.d.ts.map +1 -0
- package/dist/pytorch/pytorch-cache-support.js +47 -0
- package/dist/pytorch/pytorch-cache-support.js.map +1 -0
- package/dist/pytorch/pytorch-driver.d.ts +8 -1
- package/dist/pytorch/pytorch-driver.d.ts.map +1 -1
- package/dist/pytorch/pytorch-driver.js +40 -0
- package/dist/pytorch/pytorch-driver.js.map +1 -1
- package/dist/runtime/check.d.ts.map +1 -1
- package/dist/runtime/check.js +9 -6
- package/dist/runtime/check.js.map +1 -1
- package/dist/runtime/index.d.ts +2 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/manifest-core.d.mts +1 -0
- package/dist/runtime/manifest-core.mjs +1 -0
- package/dist/runtime/manifest-core.mjs.map +1 -1
- package/dist/runtime/manifest.d.ts +2 -0
- package/dist/runtime/manifest.d.ts.map +1 -1
- package/dist/runtime/manifest.js.map +1 -1
- package/dist/runtime/paths-core.d.mts +15 -1
- package/dist/runtime/paths-core.d.mts.map +1 -1
- package/dist/runtime/paths-core.mjs +50 -5
- package/dist/runtime/paths-core.mjs.map +1 -1
- package/dist/runtime/paths.d.ts +2 -2
- package/dist/runtime/paths.d.ts.map +1 -1
- package/dist/runtime/paths.js +2 -2
- package/dist/runtime/paths.js.map +1 -1
- package/dist/runtime/pytorch-template-core.d.mts +11 -0
- package/dist/runtime/pytorch-template-core.d.mts.map +1 -0
- package/dist/runtime/pytorch-template-core.mjs +54 -0
- package/dist/runtime/pytorch-template-core.mjs.map +1 -0
- package/dist/runtime/setup-commands-core.d.mts +16 -0
- package/dist/runtime/setup-commands-core.d.mts.map +1 -0
- package/dist/runtime/setup-commands-core.mjs +18 -0
- package/dist/runtime/setup-commands-core.mjs.map +1 -0
- package/dist/runtime/setup-commands.d.ts +2 -0
- package/dist/runtime/setup-commands.d.ts.map +1 -0
- package/dist/runtime/setup-commands.js +2 -0
- package/dist/runtime/setup-commands.js.map +1 -0
- package/docs/DRIVER_API.md +455 -0
- package/docs/LOCAL_MODEL_SETUP.md +765 -0
- package/docs/mlx-api-selection.md +301 -0
- package/package.json +12 -5
- package/scripts/download-model.js +3 -2
- package/scripts/runtime-cli.bin.test.ts +142 -0
- package/scripts/runtime-cli.js +322 -47
- package/scripts/runtime-cli.test.ts +163 -0
- package/src/mlx-ml/python/__main__.py +1 -1
- package/src/mlx-ml/python/backends/base.py +88 -18
- package/src/mlx-ml/python/backends/cache_archive.py +41 -0
- package/src/mlx-ml/python/backends/mlx_lm.py +45 -4
- package/src/mlx-ml/python/backends/mlx_vlm.py +679 -2
- package/src/mlx-ml/python/handlers/cache.py +4 -0
- package/src/mlx-ml/python/handlers/generate.py +33 -10
- package/src/mlx-ml/python/handlers/tokenize.py +1 -4
- package/src/mlx-ml/python/pyproject.toml +9 -3
- package/src/mlx-ml/python/server.py +2 -0
- package/src/mlx-ml/python/uv.lock +193 -433
- package/src/pytorch/templates/cpu-minimal/backends/base.py +139 -0
- package/src/pytorch/templates/cpu-minimal/backends/transformers_lm.py +1167 -0
- package/src/pytorch/{python → templates/cpu-minimal}/handlers/__init__.py +1 -0
- package/src/pytorch/templates/cpu-minimal/handlers/cache.py +88 -0
- package/src/pytorch/templates/cpu-minimal/handlers/generate.py +157 -0
- package/src/pytorch/{python → templates/cpu-minimal}/pyproject.toml +2 -2
- package/src/pytorch/{python → templates/cpu-minimal}/server.py +20 -2
- package/src/pytorch/templates/cpu-minimal/tests/test_cache_handler.py +284 -0
- package/src/pytorch/templates/cpu-minimal/tests/test_capabilities.py +14 -0
- package/src/pytorch/templates/cpu-minimal/tests/test_server.py +141 -0
- package/src/pytorch/templates/cpu-minimal/tests/test_transformers_errors.py +89 -0
- package/src/pytorch/templates/cpu-minimal/tests/test_transformers_lm_cache.py +554 -0
- package/src/pytorch/templates/cpu-minimal/utils/__init__.py +0 -0
- package/src/pytorch/{python → templates/cpu-minimal}/utils/token_utils.py +2 -2
- package/src/pytorch/templates/cpu-minimal/utils/transformers_errors.py +54 -0
- package/src/pytorch/{python → templates/cpu-minimal}/uv.lock +149 -109
- package/src/pytorch/templates/cuda/__main__.py +19 -0
- package/src/pytorch/templates/cuda/backends/__init__.py +3 -0
- package/src/pytorch/{python → templates/cuda}/backends/base.py +54 -6
- package/src/pytorch/templates/cuda/backends/transformers_lm.py +379 -0
- package/src/pytorch/templates/cuda/handlers/__init__.py +7 -0
- package/src/pytorch/templates/cuda/handlers/cache.py +93 -0
- package/src/pytorch/templates/cuda/handlers/cancel.py +53 -0
- package/src/pytorch/templates/cuda/handlers/capabilities.py +6 -0
- package/src/pytorch/templates/cuda/handlers/completion.py +15 -0
- package/src/pytorch/templates/cuda/handlers/format_test.py +70 -0
- package/src/pytorch/templates/cuda/handlers/generate.py +152 -0
- package/src/pytorch/templates/cuda/handlers/render.py +40 -0
- package/src/pytorch/templates/cuda/handlers/tokenize.py +63 -0
- package/src/pytorch/templates/cuda/pyproject.toml +37 -0
- package/src/pytorch/templates/cuda/server.py +158 -0
- package/src/pytorch/templates/cuda/tests/__init__.py +0 -0
- package/src/pytorch/templates/cuda/tests/test_cache_handler.py +207 -0
- package/src/pytorch/templates/cuda/tests/test_capabilities.py +14 -0
- package/src/pytorch/templates/cuda/tests/test_server.py +145 -0
- package/src/pytorch/templates/cuda/tests/test_transformers_errors.py +89 -0
- package/src/pytorch/templates/cuda/tests/test_transformers_lm_cache.py +288 -0
- package/src/pytorch/templates/cuda/utils/__init__.py +0 -0
- package/src/pytorch/templates/cuda/utils/chat_template_constraints.py +164 -0
- package/src/pytorch/templates/cuda/utils/prompt_builder.py +54 -0
- package/src/pytorch/templates/cuda/utils/template_render.py +80 -0
- package/src/pytorch/templates/cuda/utils/token_utils.py +376 -0
- package/src/pytorch/templates/cuda/utils/transformers_errors.py +54 -0
- package/src/pytorch/templates/cuda/uv.lock +734 -0
- package/src/pytorch/python/backends/transformers_lm.py +0 -127
- package/src/pytorch/python/handlers/generate.py +0 -68
- /package/src/pytorch/{python → templates/cpu-minimal}/__main__.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/backends/__init__.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/cancel.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/capabilities.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/completion.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/format_test.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/render.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/tokenize.py +0 -0
- /package/src/pytorch/{python/utils → templates/cpu-minimal/tests}/__init__.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/utils/chat_template_constraints.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/utils/prompt_builder.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/utils/template_render.py +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* models.yaml のマージ・解決
|
|
3
3
|
*/
|
|
4
4
|
import { loadModelsConfigFile } from './loader.js';
|
|
5
|
-
import { getUserModelsConfigPath } from './paths.js';
|
|
5
|
+
import { getModelsConfigPath, getUserModelsConfigPath } from './paths.js';
|
|
6
6
|
function shallowMergeRecords(base, overlay) {
|
|
7
7
|
if (!base && !overlay) {
|
|
8
8
|
return undefined;
|
|
@@ -33,8 +33,29 @@ export function mergeModelsConfig(base, overlay, mode = 'merge') {
|
|
|
33
33
|
/**
|
|
34
34
|
* ユーザーレベルの models.yaml を読み込む(存在しない場合は空)
|
|
35
35
|
*/
|
|
36
|
-
export function loadUserModelsConfig() {
|
|
37
|
-
|
|
36
|
+
export function loadUserModelsConfig(profile) {
|
|
37
|
+
const config = loadModelsConfigFile(getUserModelsConfigPath()) ?? {};
|
|
38
|
+
const resolvedProfile = resolveModelsProfile(profile);
|
|
39
|
+
if (!resolvedProfile || resolvedProfile === 'default') {
|
|
40
|
+
return config;
|
|
41
|
+
}
|
|
42
|
+
return mergeModelsConfig(config, loadModelsConfigFile(getModelsConfigPath(resolvedProfile)), 'merge');
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 明示 profile、環境変数、実行コンテキストの順に user profile を解決する。
|
|
46
|
+
* Vitest / NODE_ENV=test では testing profile を自動的に追加する。
|
|
47
|
+
*/
|
|
48
|
+
function resolveModelsProfile(profile) {
|
|
49
|
+
if (profile !== undefined) {
|
|
50
|
+
return profile;
|
|
51
|
+
}
|
|
52
|
+
if (process.env.MODULAR_PROMPT_MODELS_PROFILE) {
|
|
53
|
+
return process.env.MODULAR_PROMPT_MODELS_PROFILE;
|
|
54
|
+
}
|
|
55
|
+
if (process.env.NODE_ENV === 'test' || Boolean(process.env.VITEST)) {
|
|
56
|
+
return 'testing';
|
|
57
|
+
}
|
|
58
|
+
return undefined;
|
|
38
59
|
}
|
|
39
60
|
/**
|
|
40
61
|
* base / user / overlay を解決する
|
|
@@ -49,7 +70,7 @@ export function resolveModelsConfig(options) {
|
|
|
49
70
|
const mode = options.mode ?? 'merge';
|
|
50
71
|
let config = options.base ? { ...options.base } : {};
|
|
51
72
|
if (source === 'merge') {
|
|
52
|
-
config = mergeModelsConfig(config, loadUserModelsConfig(), mode);
|
|
73
|
+
config = mergeModelsConfig(config, loadUserModelsConfig(options.profile), mode);
|
|
53
74
|
}
|
|
54
75
|
if (options.overlay) {
|
|
55
76
|
config = mergeModelsConfig(config, options.overlay, mode);
|
|
@@ -80,6 +101,7 @@ export function entryToModelSpec(entry) {
|
|
|
80
101
|
return {
|
|
81
102
|
model: entry.model,
|
|
82
103
|
provider: entry.provider,
|
|
104
|
+
backend: entry.backend,
|
|
83
105
|
capabilities: entry.capabilities ?? [],
|
|
84
106
|
maxInputTokens: entry.maxInputTokens,
|
|
85
107
|
maxOutputTokens: entry.maxOutputTokens,
|
|
@@ -104,17 +126,108 @@ export function resolveModelAlias(alias, config) {
|
|
|
104
126
|
}
|
|
105
127
|
return entryToModelSpec(entry);
|
|
106
128
|
}
|
|
129
|
+
const DRIVER_PROVIDERS = [
|
|
130
|
+
'openai',
|
|
131
|
+
'anthropic',
|
|
132
|
+
'vertexai',
|
|
133
|
+
'googlegenai',
|
|
134
|
+
'mlx',
|
|
135
|
+
'pytorch',
|
|
136
|
+
'ollama',
|
|
137
|
+
'vllm',
|
|
138
|
+
'echo',
|
|
139
|
+
'test',
|
|
140
|
+
];
|
|
141
|
+
function normalizeProvider(value) {
|
|
142
|
+
if (typeof value !== 'string') {
|
|
143
|
+
return undefined;
|
|
144
|
+
}
|
|
145
|
+
const normalized = value.trim().toLowerCase();
|
|
146
|
+
return DRIVER_PROVIDERS.includes(normalized)
|
|
147
|
+
? normalized
|
|
148
|
+
: undefined;
|
|
149
|
+
}
|
|
150
|
+
function inferProviderFromRuntime(runtime) {
|
|
151
|
+
if (typeof runtime !== 'string') {
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
const normalized = runtime.trim().toLowerCase().replace(/_/g, '-');
|
|
155
|
+
if (normalized === 'mlx' || normalized.startsWith('mlx-')) {
|
|
156
|
+
return 'mlx';
|
|
157
|
+
}
|
|
158
|
+
if (normalized === 'pytorch'
|
|
159
|
+
|| normalized.startsWith('pytorch-')
|
|
160
|
+
|| normalized === 'torch'
|
|
161
|
+
|| normalized.startsWith('torch-')) {
|
|
162
|
+
return 'pytorch';
|
|
163
|
+
}
|
|
164
|
+
return normalizeProvider(normalized);
|
|
165
|
+
}
|
|
166
|
+
function inferProviderFromModelName(model) {
|
|
167
|
+
// MLX model repositories commonly use either the mlx-community namespace or
|
|
168
|
+
// an `-mlx-` / `-mlx` marker in the model name.
|
|
169
|
+
if (/(?:^|[\\/_-])mlx(?:[\\/_-]|$)/i.test(model)) {
|
|
170
|
+
return 'mlx';
|
|
171
|
+
}
|
|
172
|
+
return undefined;
|
|
173
|
+
}
|
|
174
|
+
function providerInferenceError(model, ambiguous = false) {
|
|
175
|
+
const qualifier = ambiguous ? ' uniquely' : '';
|
|
176
|
+
return new Error(`Unable to infer provider${qualifier} for model '${model}'. `
|
|
177
|
+
+ 'Specify --provider <provider>, use a model alias, '
|
|
178
|
+
+ 'or configure a single provider for this model in models.yaml.');
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* 生 model ID から driver provider を推論する。
|
|
182
|
+
*
|
|
183
|
+
* alias の解決は呼び出し側の `resolveModelName()` が先に行う。この helper
|
|
184
|
+
* は生 ID に対して、merged models の一致エントリ、runtime metadata、
|
|
185
|
+
* モデル名の既知パターンの順に推論し、判断できない場合は明示指定を促す。
|
|
186
|
+
*/
|
|
187
|
+
export function inferProvider(model, config = {}) {
|
|
188
|
+
// Keep the test/echo shortcuts stable for local and unit-test drivers.
|
|
189
|
+
if (model.startsWith('test-')) {
|
|
190
|
+
return 'test';
|
|
191
|
+
}
|
|
192
|
+
if (model.startsWith('echo-')) {
|
|
193
|
+
return 'echo';
|
|
194
|
+
}
|
|
195
|
+
const matchingEntries = Object.values(config.models ?? {})
|
|
196
|
+
.filter(entry => entry.model === model);
|
|
197
|
+
if (matchingEntries.length > 0) {
|
|
198
|
+
const matchingProviders = matchingEntries.map(entry => normalizeProvider(entry.provider)
|
|
199
|
+
?? inferProviderFromRuntime(entry.runtime)
|
|
200
|
+
?? inferProviderFromRuntime(entry.metadata?.runtime));
|
|
201
|
+
const uniqueProviders = new Set(matchingProviders.filter((provider) => provider !== undefined));
|
|
202
|
+
// More than one exact entry is valid only when every entry resolves to the
|
|
203
|
+
// same provider. An unresolved entry could hide another provider, so do not
|
|
204
|
+
// let its position in the config decide the result.
|
|
205
|
+
if (uniqueProviders.size > 1
|
|
206
|
+
|| (matchingEntries.length > 1
|
|
207
|
+
&& matchingProviders.some(provider => provider === undefined))) {
|
|
208
|
+
throw providerInferenceError(model, true);
|
|
209
|
+
}
|
|
210
|
+
if (uniqueProviders.size === 1 && matchingProviders.every(Boolean)) {
|
|
211
|
+
return [...uniqueProviders][0];
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
const modelNameProvider = inferProviderFromModelName(model);
|
|
215
|
+
if (modelNameProvider) {
|
|
216
|
+
return modelNameProvider;
|
|
217
|
+
}
|
|
218
|
+
throw providerInferenceError(model);
|
|
219
|
+
}
|
|
107
220
|
/**
|
|
108
221
|
* モデル名を alias または生の model 名として解決する
|
|
109
222
|
*/
|
|
110
|
-
export function resolveModelName(name, config, inferProvider) {
|
|
223
|
+
export function resolveModelName(name, config, providerResolver = inferProvider) {
|
|
111
224
|
const byAlias = resolveModelAlias(name, config);
|
|
112
225
|
if (byAlias) {
|
|
113
226
|
return byAlias;
|
|
114
227
|
}
|
|
115
228
|
return {
|
|
116
229
|
model: name,
|
|
117
|
-
provider:
|
|
230
|
+
provider: providerResolver(name, config),
|
|
118
231
|
capabilities: [],
|
|
119
232
|
};
|
|
120
233
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/models-config/resolve.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/models-config/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* ~/.modular-prompt/models.yaml スキーマ型
|
|
3
3
|
*/
|
|
4
4
|
import type { ApplicationConfig } from '../driver-registry/config-based-factory.js';
|
|
5
|
-
import type { DriverCapability, DriverProvider, ModelSpec } from '../driver-registry/types.js';
|
|
5
|
+
import type { DriverCapability, DriverProvider, MlxBackendMode, ModelSpec } from '../driver-registry/types.js';
|
|
6
6
|
/** models セクションのマージモード */
|
|
7
7
|
export type ModelsMergeMode = 'merge' | 'override';
|
|
8
8
|
/**
|
|
@@ -18,6 +18,8 @@ export interface ModelsConfigOptions {
|
|
|
18
18
|
* overlay を指定したとき、user 全域 config を無視する場合は overlay を使う
|
|
19
19
|
*/
|
|
20
20
|
source?: ModelsConfigSource;
|
|
21
|
+
/** 追加で読み込む user profile(例: `testing` → models.testing.yaml) */
|
|
22
|
+
profile?: string;
|
|
21
23
|
/** アプリ同梱など、user より下のレイヤー */
|
|
22
24
|
base?: ModelsConfig;
|
|
23
25
|
/** 利用側 overlay(profile.modelsConfig 等) */
|
|
@@ -29,6 +31,8 @@ export interface ModelsConfigOptions {
|
|
|
29
31
|
export interface ModelSpecEntry {
|
|
30
32
|
model: string;
|
|
31
33
|
provider: DriverProvider | string;
|
|
34
|
+
/** MLX backend selection (`auto`, `lm`, `vlm`, or `optiq`). */
|
|
35
|
+
backend?: MlxBackendMode;
|
|
32
36
|
capabilities?: DriverCapability[];
|
|
33
37
|
runtime?: string;
|
|
34
38
|
maxInputTokens?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models-config/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models-config/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,SAAS,EACV,MAAM,6BAA6B,CAAC;AAErC,0BAA0B;AAC1B,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,CAAC;AAErD,iCAAiC;AACjC,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,wCAAwC;IACxC,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;IAClC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,yBAAyB;AACzB,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;CACtD;AAED,iCAAiC;AACjC,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
* PyTorch Driver 外部インターフェース
|
|
3
3
|
*/
|
|
4
4
|
import { Readable } from 'stream';
|
|
5
|
-
import type { InferenceCapabilities, InferenceFormatTestResult, InferenceMessage, InferenceRenderResult, InferenceTokenizeResult, InferenceToolDefinition } from '../../local-inference/protocol.js';
|
|
5
|
+
import type { InferenceCapabilities, InferenceCachePrefillResult, InferenceFormatTestResult, InferenceMessage, InferenceRenderResult, InferenceTokenizeResult, InferenceToolDefinition } from '../../local-inference/protocol.js';
|
|
6
6
|
export interface PyTorchProcessOptions {
|
|
7
7
|
/** デフォルトの ~/.modular-prompt/runtimes/pytorch/.venv を上書き */
|
|
8
8
|
venvPath?: string;
|
|
9
9
|
/** Python 子プロセスへ渡す PYTORCH_DEVICE(例: cpu, cuda) */
|
|
10
10
|
device?: string;
|
|
11
11
|
}
|
|
12
|
+
export declare const PYTORCH_CUDA_UNAVAILABLE_ERROR: string;
|
|
12
13
|
export declare class PyTorchProcess {
|
|
13
14
|
readonly modelName: string;
|
|
14
15
|
private readonly client;
|
|
@@ -22,7 +23,8 @@ export declare class PyTorchProcess {
|
|
|
22
23
|
primer?: string;
|
|
23
24
|
}, tools?: InferenceToolDefinition[], reasoningEffort?: 'low' | 'medium' | 'high'): Promise<InferenceRenderResult>;
|
|
24
25
|
tokenize(messages: InferenceMessage[], tools?: InferenceToolDefinition[], reasoningEffort?: 'low' | 'medium' | 'high'): Promise<InferenceTokenizeResult>;
|
|
25
|
-
|
|
26
|
+
cachePrefill(cachePath: string, messages: InferenceMessage[], baseCachePath?: string, trimToTokens?: number, prefixOffsets?: number[], prefixHashes?: string[], tools?: InferenceToolDefinition[], reasoningEffort?: 'low' | 'medium' | 'high', images?: string[], maxImageSize?: number): Promise<InferenceCachePrefillResult>;
|
|
27
|
+
generate(prompt: string | number[], options?: Record<string, unknown>, images?: string[], maxImageSize?: number, cachePath?: string, cacheTrimTokens?: number, primer?: string): Promise<Readable>;
|
|
26
28
|
exit(): Promise<void>;
|
|
27
29
|
cancelActiveRequest(): void;
|
|
28
30
|
getStatus(): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pytorch/process/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pytorch/process/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAUlC,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAM3C,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,8BAA8B,QAEyB,CAAC;AA4BrE,qBAAa,cAAc;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;gBAEpC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAqCxD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIjD,UAAU,CACd,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC,yBAAyB,CAAC;IAI/B,MAAM,CACV,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EACvD,KAAK,CAAC,EAAE,uBAAuB,EAAE,EACjC,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAC1C,OAAO,CAAC,qBAAqB,CAAC;IAI3B,QAAQ,CACZ,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,KAAK,CAAC,EAAE,uBAAuB,EAAE,EACjC,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAC1C,OAAO,CAAC,uBAAuB,CAAC;IAI7B,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,YAAY,CAAC,EAAE,MAAM,EAAE,EACvB,KAAK,CAAC,EAAE,uBAAuB,EAAE,EACjC,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,EAC3C,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,2BAA2B,CAAC;IAejC,QAAQ,CACZ,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC;IAYd,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,mBAAmB,IAAI,IAAI;IAI3B,SAAS;;;;;;CAGV"}
|
|
@@ -2,11 +2,20 @@
|
|
|
2
2
|
* PyTorch Driver 外部インターフェース
|
|
3
3
|
*/
|
|
4
4
|
import { existsSync } from 'fs';
|
|
5
|
-
import {
|
|
5
|
+
import { join } from 'path';
|
|
6
|
+
import { getPytorchRuntimePythonDir, getVenvPath, SETUP_PYTORCH_CLI, SETUP_PYTORCH_MONOREPO, } from '../../runtime/index.js';
|
|
6
7
|
import { InferenceProcessClient } from '../../local-inference/process-client.js';
|
|
7
8
|
import { mapOptionsToPython } from '../../mlx-ml/process/parameter-mapper.js';
|
|
8
|
-
const
|
|
9
|
-
const
|
|
9
|
+
const pytorchPythonDir = getPytorchRuntimePythonDir();
|
|
10
|
+
export const PYTORCH_CUDA_UNAVAILABLE_ERROR = 'CUDA device requested, but CUDA is not available in this PyTorch runtime. ' +
|
|
11
|
+
'Install a CUDA-enabled torch wheel and verify the NVIDIA driver.';
|
|
12
|
+
const PYTORCH_CUDA_ERROR_MARKER = 'CUDA device requested, but CUDA is not available';
|
|
13
|
+
function formatPytorchProcessExitError(code, signal, stderr) {
|
|
14
|
+
if (stderr?.includes(PYTORCH_CUDA_ERROR_MARKER)) {
|
|
15
|
+
return PYTORCH_CUDA_UNAVAILABLE_ERROR;
|
|
16
|
+
}
|
|
17
|
+
return `PyTorch process exited unexpectedly (code=${code}, signal=${signal})`;
|
|
18
|
+
}
|
|
10
19
|
function resolveVenvPath(options) {
|
|
11
20
|
return (options?.venvPath ??
|
|
12
21
|
process.env.MODULAR_PROMPT_PYTORCH_VENV ??
|
|
@@ -20,10 +29,15 @@ export class PyTorchProcess {
|
|
|
20
29
|
client;
|
|
21
30
|
constructor(modelName, options) {
|
|
22
31
|
this.modelName = modelName;
|
|
32
|
+
if (!existsSync(join(pytorchPythonDir, 'pyproject.toml')) ||
|
|
33
|
+
!existsSync(join(pytorchPythonDir, '__main__.py'))) {
|
|
34
|
+
throw new Error(`PyTorch runtime Python project not found at ${pytorchPythonDir}. ` +
|
|
35
|
+
`Run: ${SETUP_PYTORCH_MONOREPO} (monorepo) or ${SETUP_PYTORCH_CLI} (npm).`);
|
|
36
|
+
}
|
|
23
37
|
const venvPath = resolveVenvPath(options);
|
|
24
38
|
if (!existsSync(venvPath)) {
|
|
25
39
|
throw new Error(`PyTorch venv not found at ${venvPath}. ` +
|
|
26
|
-
|
|
40
|
+
`Run: ${SETUP_PYTORCH_MONOREPO} (monorepo) or ${SETUP_PYTORCH_CLI} (npm).`);
|
|
27
41
|
}
|
|
28
42
|
const device = options?.device ?? process.env.PYTORCH_DEVICE;
|
|
29
43
|
const extraEnv = device ? { PYTORCH_DEVICE: device } : undefined;
|
|
@@ -35,7 +49,7 @@ export class PyTorchProcess {
|
|
|
35
49
|
extraEnv,
|
|
36
50
|
loggerPrefix: 'PyTorch',
|
|
37
51
|
mapSamplingOptions: (opts) => mapOptionsToPython(opts, false),
|
|
38
|
-
processExitErrorMessage: (code, signal) =>
|
|
52
|
+
processExitErrorMessage: (code, signal, stderr) => formatPytorchProcessExitError(code, signal, stderr),
|
|
39
53
|
});
|
|
40
54
|
}
|
|
41
55
|
async ensureInitialized() {
|
|
@@ -53,8 +67,11 @@ export class PyTorchProcess {
|
|
|
53
67
|
async tokenize(messages, tools, reasoningEffort) {
|
|
54
68
|
return this.client.tokenize(messages, tools, reasoningEffort);
|
|
55
69
|
}
|
|
56
|
-
async
|
|
57
|
-
return this.client.
|
|
70
|
+
async cachePrefill(cachePath, messages, baseCachePath, trimToTokens, prefixOffsets, prefixHashes, tools, reasoningEffort, images, maxImageSize) {
|
|
71
|
+
return this.client.cachePrefill(cachePath, messages, baseCachePath, trimToTokens, prefixOffsets, prefixHashes, tools, reasoningEffort, images, maxImageSize);
|
|
72
|
+
}
|
|
73
|
+
async generate(prompt, options, images, maxImageSize, cachePath, cacheTrimTokens, primer) {
|
|
74
|
+
return this.client.generate(prompt, options, images, maxImageSize, cachePath, cacheTrimTokens, primer);
|
|
58
75
|
}
|
|
59
76
|
async exit() {
|
|
60
77
|
return this.client.exit();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pytorch/process/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pytorch/process/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { CacheHandle, CachePrepareParams, PromptCacheController } from '../cache-controller.js';
|
|
2
|
+
import type { FormatterOptions } from '../formatter/types.js';
|
|
3
|
+
import type { InferenceMessage } from '../local-inference/protocol.js';
|
|
4
|
+
import type { PyTorchProcess } from './process/index.js';
|
|
5
|
+
export interface PyTorchCacheControllerOptions {
|
|
6
|
+
/** 固定キャッシュディレクトリ。指定時はauto-cleanupが無効になる */
|
|
7
|
+
cacheDir?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* PyTorch Transformers backend 用の PromptCacheController。
|
|
11
|
+
*
|
|
12
|
+
* キャッシュ本体の形式・検証・寿命は Python backend が所有する。
|
|
13
|
+
* このクラスは、プロンプト要素から安定した ref を生成し、LIP の
|
|
14
|
+
* cache_prefill / generate と PromptCacheController の usage 契約を橋渡しする。
|
|
15
|
+
*/
|
|
16
|
+
export declare class PyTorchCacheController implements PromptCacheController {
|
|
17
|
+
private cacheByHash;
|
|
18
|
+
private inflightRequests;
|
|
19
|
+
private process?;
|
|
20
|
+
private cacheDir;
|
|
21
|
+
private managedDir;
|
|
22
|
+
private cacheDirReady;
|
|
23
|
+
private closed;
|
|
24
|
+
private bound;
|
|
25
|
+
private modelKind;
|
|
26
|
+
private cleanupHandler?;
|
|
27
|
+
private messageProcessor?;
|
|
28
|
+
private formatterOptions;
|
|
29
|
+
private lastHandle?;
|
|
30
|
+
private lastElementHashes?;
|
|
31
|
+
private lastHandleModel?;
|
|
32
|
+
private lastHandleFormatterOptionsHash?;
|
|
33
|
+
private lastHandleToolsHash?;
|
|
34
|
+
private lastHandleReasoningEffort?;
|
|
35
|
+
private cacheIndex;
|
|
36
|
+
/** Token counts returned by the backend for process-local refs. */
|
|
37
|
+
private cacheTokenCounts;
|
|
38
|
+
private stats;
|
|
39
|
+
private static readonly EMPTY_HANDLE;
|
|
40
|
+
constructor(options?: PyTorchCacheControllerOptions);
|
|
41
|
+
/** Select backend-local storage before the controller is bound. */
|
|
42
|
+
setModelKind(modelKind?: 'lm' | 'vlm'): void;
|
|
43
|
+
bind(process: PyTorchProcess, formatterOptions: FormatterOptions, messageProcessor?: (messages: InferenceMessage[]) => InferenceMessage[]): Promise<void>;
|
|
44
|
+
private ensureCacheDir;
|
|
45
|
+
private get indexPath();
|
|
46
|
+
private readMetaTokenCount;
|
|
47
|
+
private readPrefixMeta;
|
|
48
|
+
private loadIndex;
|
|
49
|
+
private saveIndex;
|
|
50
|
+
private computeFormatterOptionsHash;
|
|
51
|
+
private computeToolsHash;
|
|
52
|
+
private computeElementHashes;
|
|
53
|
+
private computeCacheKey;
|
|
54
|
+
private generateCachePath;
|
|
55
|
+
private generateFreshCachePath;
|
|
56
|
+
private getIndexedCachePath;
|
|
57
|
+
private getEntryCachePath;
|
|
58
|
+
private toIndexCachePath;
|
|
59
|
+
private updateLastCache;
|
|
60
|
+
private clearLastCache;
|
|
61
|
+
private computeTokenPrefixHash;
|
|
62
|
+
private computePrefixInfo;
|
|
63
|
+
private findBestBase;
|
|
64
|
+
private addToIndex;
|
|
65
|
+
recordQuery(): void;
|
|
66
|
+
recordPromptTokens(newPromptTokens: number, cacheTokensUsed: number): void;
|
|
67
|
+
readCacheTokenCount(cachePath: string): number;
|
|
68
|
+
getStats(): {
|
|
69
|
+
totalQueries: number;
|
|
70
|
+
memoryHit: number;
|
|
71
|
+
diskHit: number;
|
|
72
|
+
incremental: number;
|
|
73
|
+
fresh: number;
|
|
74
|
+
totalPromptTokens: number;
|
|
75
|
+
prefillReusedTokens: number;
|
|
76
|
+
cacheGrowthTokens: number;
|
|
77
|
+
};
|
|
78
|
+
prepare(params: CachePrepareParams): Promise<CacheHandle>;
|
|
79
|
+
private isUnsupportedIncrementalError;
|
|
80
|
+
private createCache;
|
|
81
|
+
release(ref: string): void;
|
|
82
|
+
close(): Promise<void>;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=pytorch-cache-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pytorch-cache-controller.d.ts","sourceRoot":"","sources":["../../src/pytorch/pytorch-cache-controller.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA2BzD,MAAM,WAAW,6BAA6B;IAC5C,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAWD;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,qBAAqB;IAClE,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,gBAAgB,CAAC,CAAuD;IAChF,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAC,CAAW;IACrC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,8BAA8B,CAAC,CAAS;IAChD,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,yBAAyB,CAAC,CAAS;IAC3C,OAAO,CAAC,UAAU,CAA2C;IAC7D,mEAAmE;IACnE,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,KAAK,CAUX;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAGlC;gBAEU,OAAO,CAAC,EAAE,6BAA6B;IAYnD,mEAAmE;IACnE,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI;IAOtC,IAAI,CACR,OAAO,EAAE,cAAc,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,GACtE,OAAO,CAAC,IAAI,CAAC;YA4BF,cAAc;IAM5B,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,cAAc;YAmBR,SAAS;YAkBT,SAAS;IAqBvB,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,sBAAsB;YAQhB,iBAAiB;YA2EjB,YAAY;IAsI1B,OAAO,CAAC,UAAU;IA2BlB,WAAW,IAAI,IAAI;IAInB,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAK1E,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI9C,QAAQ;;;;;;;;;;IAcF,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAuC/D,OAAO,CAAC,6BAA6B;YAKvB,WAAW;IA6LzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAapB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAqC7B"}
|