@modular-prompt/extract 1.0.0 → 1.1.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 +66 -21
- package/dist/cache-lifecycle.d.ts +3 -1
- package/dist/cache-lifecycle.d.ts.map +1 -1
- package/dist/cache-lifecycle.js +21 -0
- package/dist/cache-lifecycle.js.map +1 -1
- package/dist/cli/add-command.d.ts.map +1 -1
- package/dist/cli/add-command.js +2 -1
- package/dist/cli/add-command.js.map +1 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +14 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/create-command.d.ts +2 -0
- package/dist/cli/create-command.d.ts.map +1 -1
- package/dist/cli/create-command.js +11 -4
- package/dist/cli/create-command.js.map +1 -1
- package/dist/cli/extract-command.d.ts.map +1 -1
- package/dist/cli/extract-command.js +9 -3
- package/dist/cli/extract-command.js.map +1 -1
- package/dist/cli/list-command.d.ts +1 -0
- package/dist/cli/list-command.d.ts.map +1 -1
- package/dist/cli/list-command.js +3 -1
- package/dist/cli/list-command.js.map +1 -1
- package/dist/cli/manifest.d.ts +11 -0
- package/dist/cli/manifest.d.ts.map +1 -1
- package/dist/cli/manifest.js +16 -0
- package/dist/cli/manifest.js.map +1 -1
- package/dist/cli/store.js +1 -1
- package/dist/cli/store.js.map +1 -1
- package/dist/cli.js +12 -8
- package/dist/cli.js.map +1 -1
- package/dist/create-extract-runtime.d.ts +22 -0
- package/dist/create-extract-runtime.d.ts.map +1 -0
- package/dist/create-extract-runtime.js +27 -0
- package/dist/create-extract-runtime.js.map +1 -0
- package/dist/create-extract-session.d.ts.map +1 -1
- package/dist/create-extract-session.js +4 -1
- package/dist/create-extract-session.js.map +1 -1
- package/dist/create-mlx-extract-runtime.d.ts +18 -7
- package/dist/create-mlx-extract-runtime.d.ts.map +1 -1
- package/dist/create-mlx-extract-runtime.js +11 -1
- package/dist/create-mlx-extract-runtime.js.map +1 -1
- package/dist/create-pytorch-extract-runtime.d.ts +13 -0
- package/dist/create-pytorch-extract-runtime.d.ts.map +1 -0
- package/dist/create-pytorch-extract-runtime.js +52 -0
- package/dist/create-pytorch-extract-runtime.js.map +1 -0
- package/dist/default-models.d.ts +3 -8
- package/dist/default-models.d.ts.map +1 -1
- package/dist/default-models.js +4 -16
- package/dist/default-models.js.map +1 -1
- package/dist/extract-runtime-types.d.ts +16 -0
- package/dist/extract-runtime-types.d.ts.map +1 -0
- package/dist/extract-runtime-types.js +2 -0
- package/dist/extract-runtime-types.js.map +1 -0
- package/dist/extract-store.d.ts +21 -2
- package/dist/extract-store.d.ts.map +1 -1
- package/dist/extract-store.js +47 -8
- package/dist/extract-store.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/model-resolution.d.ts +15 -5
- package/dist/model-resolution.d.ts.map +1 -1
- package/dist/model-resolution.js +87 -27
- package/dist/model-resolution.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/API.md +316 -0
- package/docs/CACHE_DESIGN.md +475 -0
- package/docs/LOCAL_MODEL_SETUP.md +765 -0
- package/docs/PROMPT_MODULE_SPEC.md +482 -0
- package/package.json +7 -5
package/dist/cli/manifest.js
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { readFile, writeFile, access } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { MANIFEST_FILENAME } from './constants.js';
|
|
4
|
+
function isMlxBackend(value) {
|
|
5
|
+
return value === 'auto' || value === 'lm' || value === 'vlm' || value === 'optiq';
|
|
6
|
+
}
|
|
7
|
+
export function isExtractProvider(value) {
|
|
8
|
+
return value === 'mlx' || value === 'pytorch';
|
|
9
|
+
}
|
|
10
|
+
/** Resolve the provider of a manifest, preserving compatibility with MLX stores created before v1 provider metadata. */
|
|
11
|
+
export function getManifestProvider(manifest) {
|
|
12
|
+
return manifest.provider ?? 'mlx';
|
|
13
|
+
}
|
|
4
14
|
export function manifestPath(cacheDir) {
|
|
5
15
|
return join(cacheDir, MANIFEST_FILENAME);
|
|
6
16
|
}
|
|
@@ -19,6 +29,12 @@ export async function readManifest(cacheDir) {
|
|
|
19
29
|
if (parsed.version !== 1
|
|
20
30
|
|| !parsed.model
|
|
21
31
|
|| !Array.isArray(parsed.materials)
|
|
32
|
+
|| (parsed.provider !== undefined && !isExtractProvider(parsed.provider))
|
|
33
|
+
|| (parsed.backend !== undefined && !isMlxBackend(parsed.backend))
|
|
34
|
+
|| (parsed.maxImageSize !== undefined
|
|
35
|
+
&& (typeof parsed.maxImageSize !== 'number'
|
|
36
|
+
|| !Number.isFinite(parsed.maxImageSize)
|
|
37
|
+
|| parsed.maxImageSize <= 0))
|
|
22
38
|
|| (parsed.updatedAt !== undefined && typeof parsed.updatedAt !== 'string')) {
|
|
23
39
|
throw new Error(`Invalid manifest: ${manifestPath(cacheDir)}`);
|
|
24
40
|
}
|
package/dist/cli/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/cli/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/cli/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAkBnD,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,CAAC;AAChD,CAAC;AAED,wHAAwH;AACxH,MAAM,UAAU,mBAAmB,CAAC,QAA8B;IAChE,OAAO,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;IACvD,IACE,MAAM,CAAC,OAAO,KAAK,CAAC;WACjB,CAAC,MAAM,CAAC,KAAK;WACb,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;WAChC,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;WACtE,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;WAC/D,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;eAChC,CAAC,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;mBACtC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;mBACrC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;WAC9B,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,EAC3E,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,QAA8B;IAE9B,MAAM,SAAS,CACb,YAAY,CAAC,QAAQ,CAAC,EACtB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACxC,OAAO,CACR,CAAC;AACJ,CAAC"}
|
package/dist/cli/store.js
CHANGED
|
@@ -31,6 +31,6 @@ export async function storeExists(storeDir) {
|
|
|
31
31
|
}
|
|
32
32
|
/** Return whether the store contains at least one persisted KV cache archive. */
|
|
33
33
|
export function isKvCacheFile(filename) {
|
|
34
|
-
return filename.endsWith('.safetensors.zip');
|
|
34
|
+
return filename.endsWith('.safetensors.zip') || filename.endsWith('.pytorch-cache');
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=store.js.map
|
package/dist/cli/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cli/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AACzD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpF,kEAAkE;AAClE,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,CAAC,SAAS,CAAC,yCAAyC,CACjF,CAAC;IACJ,CAAC;IAED,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,kBAAkB,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,YAAoB,EAAE,SAAiB;IACrE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cli/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AACzD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpF,kEAAkE;AAClE,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,CAAC,SAAS,CAAC,yCAAyC,CACjF,CAAC;IACJ,CAAC;IAED,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,kBAAkB,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,YAAoB,EAAE,SAAiB;IACrE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AACtF,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -15,7 +15,7 @@ function printHelp() {
|
|
|
15
15
|
console.log(`modular-prompt-extract v${packageJson.version}
|
|
16
16
|
|
|
17
17
|
Usage:
|
|
18
|
-
modular-prompt-extract create <storename> [-d <cache-dir>] [-m <model>] [--dry-run] <files...>
|
|
18
|
+
modular-prompt-extract create <storename> [-d <cache-dir>] [-m <model>] [--provider <mlx|pytorch>] [--dry-run] <files...>
|
|
19
19
|
modular-prompt-extract add <storename> [-d <cache-dir>] [--dry-run] <files...>
|
|
20
20
|
modular-prompt-extract extract <storename> [-d <cache-dir>] [--max-tokens <n>] [--dry-run] <query...>
|
|
21
21
|
modular-prompt-extract list [-d <cache-dir>]
|
|
@@ -31,9 +31,10 @@ Commands:
|
|
|
31
31
|
|
|
32
32
|
Options:
|
|
33
33
|
-d, --cache-dir <path> Store container directory (default: ${resolveDefaultContainerDir()})
|
|
34
|
-
-m, --model <model>
|
|
34
|
+
-m, --model <model> Model alias from models.yaml or raw model id
|
|
35
|
+
--provider <provider> Extract provider for create (mlx or pytorch)
|
|
35
36
|
--max-tokens <n> Max tokens for extract (default: ${DEFAULT_MAX_TOKENS})
|
|
36
|
-
--dry-run Compile and print full prompt text (no
|
|
37
|
+
--dry-run Compile and print full prompt text (no driver / no cache write)
|
|
37
38
|
--all Remove the entire cache container (clean only)
|
|
38
39
|
-h, --help Show help
|
|
39
40
|
|
|
@@ -41,11 +42,13 @@ Store name:
|
|
|
41
42
|
Must match [a-zA-Z0-9][a-zA-Z0-9_-]* and cannot be create, add, extract, list, or clean.
|
|
42
43
|
|
|
43
44
|
Note:
|
|
44
|
-
Without -m, models.default
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
MLX backend
|
|
45
|
+
Without -m, models.default is selected from ~/.modular-prompt/models.yaml
|
|
46
|
+
(MODULAR_PROMPT_HOME can override its location). No model is bundled.
|
|
47
|
+
If no model is configured, specify -m <model-id-or-alias> or define models.default
|
|
48
|
+
in the user models.yaml.
|
|
49
|
+
MLX backend follows models.yaml (backend: auto by default; lm/vlm may be
|
|
50
|
+
selected explicitly). PyTorch extract is text-only and uses device/venvPath
|
|
51
|
+
from models.yaml driverOptions. Store manifests persist provider and model.
|
|
49
52
|
`);
|
|
50
53
|
}
|
|
51
54
|
async function main() {
|
|
@@ -63,6 +66,7 @@ async function main() {
|
|
|
63
66
|
cacheDir,
|
|
64
67
|
storename: parsed.storename,
|
|
65
68
|
model: parsed.model,
|
|
69
|
+
provider: parsed.provider,
|
|
66
70
|
files: parsed.positional,
|
|
67
71
|
dryRun: parsed.dryRun,
|
|
68
72
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CACnC,CAAC;AAEzB,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,WAAW,CAAC,OAAO;;;;;;;;;;;;;;;;;;iEAkBK,0BAA0B,EAAE
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CACnC,CAAC;AAEzB,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,WAAW,CAAC,OAAO;;;;;;;;;;;;;;;;;;iEAkBK,0BAA0B,EAAE;;;8DAG/B,kBAAkB;;;;;;;;;;;;;;;;CAgB/E,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACjD,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,0BAA0B,EAAE,CAAC;IAEjE,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,QAAQ;YACR,SAAS,EAAE,MAAM,CAAC,SAAU;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACjC,QAAQ;YACR,SAAS,EAAE,MAAM,CAAC,SAAU;YAC5B,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC;YACnC,QAAQ;YACR,SAAS,EAAE,MAAM,CAAC,SAAU;YAC5B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAClC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;YACpC,QAAQ;YACR,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC;QAChC,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { MlxBackendMode } from '@modular-prompt/driver';
|
|
2
|
+
import { type ExtractProvider } from './model-resolution.js';
|
|
3
|
+
import type { ExtractRuntime } from './extract-runtime-types.js';
|
|
4
|
+
export interface ExtractRuntimeOptions {
|
|
5
|
+
/** Model alias or provider-specific model ID. */
|
|
6
|
+
model?: string;
|
|
7
|
+
/** Explicit provider for raw IDs or persisted store validation. */
|
|
8
|
+
provider?: ExtractProvider;
|
|
9
|
+
/** Fixed cache directory. When omitted, a managed temp directory is used. */
|
|
10
|
+
cacheDir?: string;
|
|
11
|
+
/** MLX backend; ignored for PyTorch. */
|
|
12
|
+
backend?: MlxBackendMode;
|
|
13
|
+
/** MLX VLM image resize limit; ignored for PyTorch. */
|
|
14
|
+
maxImageSize?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create the cache-capable runtime selected by the resolved model provider.
|
|
18
|
+
* The original model reference is passed to the provider runtime so alias
|
|
19
|
+
* driverOptions (device, venvPath, backend, and so on) are preserved.
|
|
20
|
+
*/
|
|
21
|
+
export declare function createExtractRuntime(options: ExtractRuntimeOptions): Promise<ExtractRuntime>;
|
|
22
|
+
//# sourceMappingURL=create-extract-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-extract-runtime.d.ts","sourceRoot":"","sources":["../src/create-extract-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA0BzB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createMlxExtractRuntime } from './create-mlx-extract-runtime.js';
|
|
2
|
+
import { createPytorchExtractRuntime } from './create-pytorch-extract-runtime.js';
|
|
3
|
+
import { resolveMergedModels, resolveModelSpec, } from './model-resolution.js';
|
|
4
|
+
/**
|
|
5
|
+
* Create the cache-capable runtime selected by the resolved model provider.
|
|
6
|
+
* The original model reference is passed to the provider runtime so alias
|
|
7
|
+
* driverOptions (device, venvPath, backend, and so on) are preserved.
|
|
8
|
+
*/
|
|
9
|
+
export async function createExtractRuntime(options) {
|
|
10
|
+
const resolved = resolveModelSpec(options.model, resolveMergedModels(), options.provider);
|
|
11
|
+
if (resolved.provider === 'mlx') {
|
|
12
|
+
return createMlxExtractRuntime({
|
|
13
|
+
model: options.model,
|
|
14
|
+
...(options.backend !== undefined ? { backend: options.backend } : {}),
|
|
15
|
+
...(options.cacheDir !== undefined ? { cacheDir: options.cacheDir } : {}),
|
|
16
|
+
...(options.maxImageSize !== undefined ? { maxImageSize: options.maxImageSize } : {}),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
if (resolved.provider === 'pytorch') {
|
|
20
|
+
return createPytorchExtractRuntime({
|
|
21
|
+
model: options.model,
|
|
22
|
+
...(options.cacheDir !== undefined ? { cacheDir: options.cacheDir } : {}),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
throw new Error(`Extract supports MLX and PyTorch models, but '${resolved.model}' uses provider '${resolved.provider}'`);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=create-extract-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-extract-runtime.js","sourceRoot":"","sources":["../src/create-extract-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,uBAAuB,CAAC;AAgB/B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA8B;IAE9B,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,OAAO,CAAC,KAAK,EACb,mBAAmB,EAAE,EACrB,OAAO,CAAC,QAAQ,CACjB,CAAC;IAEF,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAChC,OAAO,uBAAuB,CAAC;YAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,2BAA2B,CAAC;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CACb,iDAAiD,QAAQ,CAAC,KAAK,oBAAoB,QAAQ,CAAC,QAAQ,GAAG,CACxG,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-extract-session.d.ts","sourceRoot":"","sources":["../src/create-extract-session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAiC,cAAc,EAA8B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAyBnI,wBAAgB,oBAAoB,CAAC,QAAQ,GAAG,cAAc,EAC5D,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"create-extract-session.d.ts","sourceRoot":"","sources":["../src/create-extract-session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAiC,cAAc,EAA8B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAyBnI,wBAAgB,oBAAoB,CAAC,QAAQ,GAAG,cAAc,EAC5D,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACvC,cAAc,CA8EhB"}
|
|
@@ -27,7 +27,10 @@ export function createExtractSession(options) {
|
|
|
27
27
|
throw new Error('ExtractSession is closed');
|
|
28
28
|
}
|
|
29
29
|
await ensureCacheControllerReady(driver, cacheState);
|
|
30
|
-
await prepareSessionCache(cacheController, model, sessionBaseModule, corpus, request, baseModule, cacheState, {
|
|
30
|
+
await prepareSessionCache(cacheController, model, sessionBaseModule, corpus, request, baseModule, cacheState, {
|
|
31
|
+
required: options.cachePreparation === 'required',
|
|
32
|
+
maxImageSize: options.maxImageSize,
|
|
33
|
+
});
|
|
31
34
|
const compiled = compileExtractPrompt(sessionBaseModule, corpus, request, baseModule);
|
|
32
35
|
const queryOptions = cacheState.handle
|
|
33
36
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-extract-session.js","sourceRoot":"","sources":["../src/create-extract-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,sBAAsB,CAAC;AAE9B,SAAS,sBAAsB,CAC7B,UAAkC,EAClC,MAAe;IAEf,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,YAAY,GAAiB;QACjC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;KAC5C,CAAC;IAEF,OAAO,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAwC;IAExC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACxE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,MAAM,iBAAiB,GAAG,sBAAsB,CAC9C,qBAAqB,CAAC,OAAO,CAAC,EAC9B,MAAM,CACP,CAAC;IACF,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,MAAM,UAAU,GAAwB;QACtC,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,KAAK;KACvB,CAAC;IACF,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,OAAuB;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,0BAA0B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACrD,MAAM,mBAAmB,CACvB,eAAe,EACf,KAAK,EACL,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"create-extract-session.js","sourceRoot":"","sources":["../src/create-extract-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,30 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type MlxBackendMode } from '@modular-prompt/driver';
|
|
2
|
+
import type { ExtractRuntime } from './extract-runtime-types.js';
|
|
2
3
|
export interface MlxExtractRuntimeOptions {
|
|
3
|
-
/** MLX model ID or alias in models.yaml. Omitted uses
|
|
4
|
+
/** MLX model ID or alias in models.yaml. Omitted uses user-configured models.default. */
|
|
4
5
|
model?: string;
|
|
6
|
+
/** Explicit MLX backend. Omitted preserves model config and defaults to `auto`. */
|
|
7
|
+
backend?: MlxBackendMode;
|
|
5
8
|
/** Fixed cache directory. When omitted, a managed temp directory is used. */
|
|
6
9
|
cacheDir?: string;
|
|
10
|
+
/** VLM image resize limit. Omitted uses the model configuration or 768. */
|
|
11
|
+
maxImageSize?: number;
|
|
7
12
|
}
|
|
8
13
|
/**
|
|
9
14
|
* MLX driver + cache controller bundle for extract sessions.
|
|
10
|
-
*
|
|
15
|
+
* Preserves the configured MLX backend and defaults to `auto`, so text-only
|
|
16
|
+
* VLM classification models can use the same disk-backed cache path as LM
|
|
17
|
+
* models. Image-bearing materials use the VLM vision-cache namespace and
|
|
18
|
+
* sidecar when the resolved backend is VLM; VLM incremental prefill remains
|
|
19
|
+
* unsupported.
|
|
11
20
|
* Lifecycle (close) is owned by the caller — not by ExtractSession.
|
|
12
21
|
*/
|
|
13
|
-
export interface MlxExtractRuntime {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
export interface MlxExtractRuntime extends ExtractRuntime {
|
|
23
|
+
provider: 'mlx';
|
|
24
|
+
/** Backend selected for this runtime; persisted by extract stores. */
|
|
25
|
+
backend: MlxBackendMode;
|
|
26
|
+
/** VLM image resize limit used by the driver and cache prefill. */
|
|
27
|
+
maxImageSize: number;
|
|
17
28
|
/** Release driver and cache controller when all sessions using this runtime are done. */
|
|
18
29
|
close(): Promise<void>;
|
|
19
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-mlx-extract-runtime.d.ts","sourceRoot":"","sources":["../src/create-mlx-extract-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-mlx-extract-runtime.d.ts","sourceRoot":"","sources":["../src/create-mlx-extract-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACvC,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,QAAQ,EAAE,KAAK,CAAC;IAChB,sEAAsE;IACtE,OAAO,EAAE,cAAc,CAAC;IACxB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAyBD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAwC5B"}
|
|
@@ -24,9 +24,16 @@ export async function createMlxExtractRuntime(options) {
|
|
|
24
24
|
const cacheController = new MlxCacheController(options.cacheDir ? { cacheDir: options.cacheDir } : undefined);
|
|
25
25
|
let driverForCleanup;
|
|
26
26
|
try {
|
|
27
|
-
const resolved = await createDriver(options.model, {
|
|
27
|
+
const resolved = await createDriver(options.model, {
|
|
28
|
+
cacheController,
|
|
29
|
+
provider: 'mlx',
|
|
30
|
+
backend: options.backend,
|
|
31
|
+
maxImageSize: options.maxImageSize,
|
|
32
|
+
});
|
|
28
33
|
const driver = resolved.driver;
|
|
29
34
|
driverForCleanup = driver;
|
|
35
|
+
const driverOptions = resolved.spec.driverOptions;
|
|
36
|
+
const maxImageSize = options.maxImageSize ?? driverOptions?.maxImageSize ?? 768;
|
|
30
37
|
if ('getCapabilities' in driver && typeof driver.getCapabilities === 'function') {
|
|
31
38
|
await driver.getCapabilities();
|
|
32
39
|
}
|
|
@@ -34,6 +41,9 @@ export async function createMlxExtractRuntime(options) {
|
|
|
34
41
|
driver,
|
|
35
42
|
cacheController,
|
|
36
43
|
model: resolved.spec.model,
|
|
44
|
+
provider: 'mlx',
|
|
45
|
+
backend: resolved.spec.backend ?? 'auto',
|
|
46
|
+
maxImageSize,
|
|
37
47
|
async close() {
|
|
38
48
|
try {
|
|
39
49
|
await driver.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-mlx-extract-runtime.js","sourceRoot":"","sources":["../src/create-mlx-extract-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"create-mlx-extract-runtime.js","sourceRoot":"","sources":["../src/create-mlx-extract-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAiCrD;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAA4B,EAC5B,eAAsC;IAEtC,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAiC;IAEjC,MAAM,eAAe,GAAG,IAAI,kBAAkB,CAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;IACF,IAAI,gBAAsC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;YACjD,eAAe;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,gBAAgB,GAAG,MAAM,CAAC;QAC1B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAkD,CAAC;QACvF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,aAAa,EAAE,YAAY,IAAI,GAAG,CAAC;QAEhF,IAAI,iBAAiB,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YAChF,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;QAED,OAAO;YACL,MAAM;YACN,eAAe;YACf,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1B,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM;YACxC,YAAY;YACZ,KAAK,CAAC,KAAK;gBACT,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;wBAAS,CAAC;oBACT,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,kBAAkB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ExtractRuntime } from './extract-runtime-types.js';
|
|
2
|
+
export interface PyTorchExtractRuntimeOptions {
|
|
3
|
+
/** PyTorch model ID or alias in models.yaml. */
|
|
4
|
+
model?: string;
|
|
5
|
+
/** Fixed cache directory. When omitted, a managed temp directory is used. */
|
|
6
|
+
cacheDir?: string;
|
|
7
|
+
}
|
|
8
|
+
/** PyTorch driver + persistent cache controller bundle for extract sessions. */
|
|
9
|
+
export interface PyTorchExtractRuntime extends ExtractRuntime {
|
|
10
|
+
provider: 'pytorch';
|
|
11
|
+
}
|
|
12
|
+
export declare function createPytorchExtractRuntime(options: PyTorchExtractRuntimeOptions): Promise<PyTorchExtractRuntime>;
|
|
13
|
+
//# sourceMappingURL=create-pytorch-extract-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-pytorch-extract-runtime.d.ts","sourceRoot":"","sources":["../src/create-pytorch-extract-runtime.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,WAAW,4BAA4B;IAC3C,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gFAAgF;AAChF,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,QAAQ,EAAE,SAAS,CAAC;CACrB;AAqBD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAmChC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { PyTorchCacheController, } from '@modular-prompt/driver';
|
|
2
|
+
import { createDriver } from './model-resolution.js';
|
|
3
|
+
async function closeFailedRuntime(driver, cacheController) {
|
|
4
|
+
try {
|
|
5
|
+
if (driver) {
|
|
6
|
+
await driver.close();
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
// Preserve the original runtime construction/capabilities error.
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
await cacheController.close();
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
// Preserve the original runtime construction/capabilities error.
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function createPytorchExtractRuntime(options) {
|
|
20
|
+
const cacheController = new PyTorchCacheController(options.cacheDir ? { cacheDir: options.cacheDir } : undefined);
|
|
21
|
+
let driverForCleanup;
|
|
22
|
+
try {
|
|
23
|
+
const resolved = await createDriver(options.model, {
|
|
24
|
+
provider: 'pytorch',
|
|
25
|
+
cacheController,
|
|
26
|
+
});
|
|
27
|
+
const driver = resolved.driver;
|
|
28
|
+
driverForCleanup = driver;
|
|
29
|
+
if ('getCapabilities' in driver && typeof driver.getCapabilities === 'function') {
|
|
30
|
+
await driver.getCapabilities();
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
driver,
|
|
34
|
+
cacheController,
|
|
35
|
+
model: resolved.spec.model,
|
|
36
|
+
provider: 'pytorch',
|
|
37
|
+
async close() {
|
|
38
|
+
try {
|
|
39
|
+
await driver.close();
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
await cacheController.close();
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
await closeFailedRuntime(driverForCleanup, cacheController);
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=create-pytorch-extract-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-pytorch-extract-runtime.js","sourceRoot":"","sources":["../src/create-pytorch-extract-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAerD,KAAK,UAAU,kBAAkB,CAC/B,MAA4B,EAC5B,eAAsC;IAEtC,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAqC;IAErC,MAAM,eAAe,GAAG,IAAI,sBAAsB,CAChD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;IACF,IAAI,gBAAsC,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;YACjD,QAAQ,EAAE,SAAS;YACnB,eAAe;SAChB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,gBAAgB,GAAG,MAAM,CAAC;QAE1B,IAAI,iBAAiB,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YAChF,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;QAED,OAAO;YACL,MAAM;YACN,eAAe;YACf,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1B,QAAQ,EAAE,SAAS;YACnB,KAAK,CAAC,KAAK;gBACT,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;wBAAS,CAAC;oBACT,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,kBAAkB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/default-models.d.ts
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* extract
|
|
2
|
+
* extract の base models 設定。
|
|
3
3
|
*
|
|
4
|
-
* user の ~/.modular-prompt/models.yaml
|
|
4
|
+
* モデルは同梱せず、user の ~/.modular-prompt/models.yaml から解決する。
|
|
5
5
|
*/
|
|
6
6
|
import type { ModelsConfig } from '@modular-prompt/driver';
|
|
7
|
-
/**
|
|
8
|
-
* extract が -m なしで使用する同梱デフォルトモデル。
|
|
9
|
-
* MLX_MODEL は既存利用者向けに後方互換でサポートし、user yaml が優先される。
|
|
10
|
-
*/
|
|
11
|
-
export declare const BUNDLED_DEFAULT_MODEL: string;
|
|
12
|
-
/** 同梱モデル設定(user models.yaml より低い優先度) */
|
|
7
|
+
/** 同梱モデルを持たない base config(user models.yaml より低い優先度) */
|
|
13
8
|
export declare const BUNDLED_MODELS_CONFIG: ModelsConfig;
|
|
14
9
|
//# sourceMappingURL=default-models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-models.d.ts","sourceRoot":"","sources":["../src/default-models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D
|
|
1
|
+
{"version":3,"file":"default-models.d.ts","sourceRoot":"","sources":["../src/default-models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,EAAE,YAAiB,CAAC"}
|
package/dist/default-models.js
CHANGED
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* extract
|
|
2
|
+
* extract の base models 設定。
|
|
3
3
|
*
|
|
4
|
-
* user の ~/.modular-prompt/models.yaml
|
|
4
|
+
* モデルは同梱せず、user の ~/.modular-prompt/models.yaml から解決する。
|
|
5
5
|
*/
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
* MLX_MODEL は既存利用者向けに後方互換でサポートし、user yaml が優先される。
|
|
9
|
-
*/
|
|
10
|
-
export const BUNDLED_DEFAULT_MODEL = process.env.MLX_MODEL ?? 'prism-ml/Ternary-Bonsai-1.7B-mlx-2bit';
|
|
11
|
-
/** 同梱モデル設定(user models.yaml より低い優先度) */
|
|
12
|
-
export const BUNDLED_MODELS_CONFIG = {
|
|
13
|
-
models: {
|
|
14
|
-
default: {
|
|
15
|
-
provider: 'mlx',
|
|
16
|
-
model: BUNDLED_DEFAULT_MODEL,
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
};
|
|
6
|
+
/** 同梱モデルを持たない base config(user models.yaml より低い優先度) */
|
|
7
|
+
export const BUNDLED_MODELS_CONFIG = {};
|
|
20
8
|
//# sourceMappingURL=default-models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-models.js","sourceRoot":"","sources":["../src/default-models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH
|
|
1
|
+
{"version":3,"file":"default-models.js","sourceRoot":"","sources":["../src/default-models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AIDriver, MlxBackendMode, PromptCacheController } from '@modular-prompt/driver';
|
|
2
|
+
/** Providers that can persist the cache format used by extract stores. */
|
|
3
|
+
export type ExtractProvider = 'mlx' | 'pytorch';
|
|
4
|
+
/** Common driver/cache bundle consumed by an extract session or store. */
|
|
5
|
+
export interface ExtractRuntime {
|
|
6
|
+
driver: AIDriver;
|
|
7
|
+
cacheController: PromptCacheController;
|
|
8
|
+
model: string;
|
|
9
|
+
provider: ExtractProvider;
|
|
10
|
+
/** MLX backend selected for this runtime; undefined for PyTorch. */
|
|
11
|
+
backend?: MlxBackendMode;
|
|
12
|
+
/** VLM image resize limit; undefined for text-only PyTorch. */
|
|
13
|
+
maxImageSize?: number;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=extract-runtime-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-runtime-types.d.ts","sourceRoot":"","sources":["../src/extract-runtime-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,SAAS,CAAC;AAEhD,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,eAAe,EAAE,qBAAqB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,oEAAoE;IACpE,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-runtime-types.js","sourceRoot":"","sources":["../src/extract-runtime-types.ts"],"names":[],"mappings":""}
|
package/dist/extract-store.d.ts
CHANGED
|
@@ -1,20 +1,36 @@
|
|
|
1
|
+
import type { MlxBackendMode } from '@modular-prompt/driver';
|
|
1
2
|
import type { MaterialInput } from './extract-elements.js';
|
|
3
|
+
import type { ExtractProvider, ExtractRuntime } from './extract-runtime-types.js';
|
|
2
4
|
import { type ExtractCacheManifest } from './cli/manifest.js';
|
|
3
5
|
export interface PrepareExtractCacheOptions {
|
|
4
6
|
/** Directory containing the persistent cache files. */
|
|
5
7
|
cacheDir: string;
|
|
6
8
|
/** MLX model alias or resolved model ID. */
|
|
7
9
|
model?: string;
|
|
10
|
+
/** Extract provider. Missing lets model resolution select it. */
|
|
11
|
+
provider?: ExtractProvider;
|
|
12
|
+
/** Persisted/configured MLX backend. Missing preserves the `auto` fallback. */
|
|
13
|
+
backend?: MlxBackendMode;
|
|
14
|
+
/** VLM image resize limit; omitted uses the model configuration or 768. */
|
|
15
|
+
maxImageSize?: number;
|
|
8
16
|
/** Corpus to prefill into the cache. */
|
|
9
17
|
materials: readonly MaterialInput[];
|
|
10
18
|
}
|
|
19
|
+
export interface PreparedExtractCache {
|
|
20
|
+
model: string;
|
|
21
|
+
provider: ExtractProvider;
|
|
22
|
+
backend?: MlxBackendMode;
|
|
23
|
+
/** VLM image resize limit used during preparation, when available. */
|
|
24
|
+
maxImageSize?: number;
|
|
25
|
+
}
|
|
11
26
|
/**
|
|
12
27
|
* Prepare the persistent corpus cache and release all runtime resources.
|
|
13
28
|
*
|
|
14
29
|
* The caller owns the manifest transaction. This operation only creates or
|
|
15
|
-
* extends the cache in `cacheDir` and returns the
|
|
30
|
+
* extends the cache in `cacheDir` and returns the resolved model/provider
|
|
31
|
+
* (plus MLX-only backend/image settings when applicable).
|
|
16
32
|
*/
|
|
17
|
-
export declare function prepareExtractCache(options: PrepareExtractCacheOptions): Promise<
|
|
33
|
+
export declare function prepareExtractCache(options: PrepareExtractCacheOptions): Promise<PreparedExtractCache>;
|
|
18
34
|
/**
|
|
19
35
|
* Merge newly loaded materials into an existing corpus.
|
|
20
36
|
*
|
|
@@ -40,8 +56,11 @@ export interface AppendToExtractStoreOptions {
|
|
|
40
56
|
export interface AppendToExtractStoreResult {
|
|
41
57
|
manifest: ExtractCacheManifest;
|
|
42
58
|
model: string;
|
|
59
|
+
provider: ExtractProvider;
|
|
60
|
+
backend?: MlxBackendMode;
|
|
43
61
|
addedMaterials: number;
|
|
44
62
|
}
|
|
63
|
+
export declare function assertExtractRuntimeMatchesManifest(runtime: Pick<ExtractRuntime, 'model' | 'provider'>, manifest: ExtractCacheManifest): void;
|
|
45
64
|
/**
|
|
46
65
|
* Append materials to a persistent extract store transactionally.
|
|
47
66
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-store.d.ts","sourceRoot":"","sources":["../src/extract-store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-store.d.ts","sourceRoot":"","sources":["../src/extract-store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAeD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAuC/B;AAYD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,aAAa,EAAE,CA6BjB;AASD,uFAAuF;AACvF,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAS/B;AAED,MAAM,WAAW,2BAA2B;IAC1C,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,iBAAiB,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC,EACnD,QAAQ,EAAE,oBAAoB,GAC7B,IAAI,CAcN;AA+BD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAyDrC"}
|