@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.
Files changed (73) hide show
  1. package/README.md +66 -21
  2. package/dist/cache-lifecycle.d.ts +3 -1
  3. package/dist/cache-lifecycle.d.ts.map +1 -1
  4. package/dist/cache-lifecycle.js +21 -0
  5. package/dist/cache-lifecycle.js.map +1 -1
  6. package/dist/cli/add-command.d.ts.map +1 -1
  7. package/dist/cli/add-command.js +2 -1
  8. package/dist/cli/add-command.js.map +1 -1
  9. package/dist/cli/args.d.ts +2 -0
  10. package/dist/cli/args.d.ts.map +1 -1
  11. package/dist/cli/args.js +14 -0
  12. package/dist/cli/args.js.map +1 -1
  13. package/dist/cli/create-command.d.ts +2 -0
  14. package/dist/cli/create-command.d.ts.map +1 -1
  15. package/dist/cli/create-command.js +11 -4
  16. package/dist/cli/create-command.js.map +1 -1
  17. package/dist/cli/extract-command.d.ts.map +1 -1
  18. package/dist/cli/extract-command.js +9 -3
  19. package/dist/cli/extract-command.js.map +1 -1
  20. package/dist/cli/list-command.d.ts +1 -0
  21. package/dist/cli/list-command.d.ts.map +1 -1
  22. package/dist/cli/list-command.js +3 -1
  23. package/dist/cli/list-command.js.map +1 -1
  24. package/dist/cli/manifest.d.ts +11 -0
  25. package/dist/cli/manifest.d.ts.map +1 -1
  26. package/dist/cli/manifest.js +16 -0
  27. package/dist/cli/manifest.js.map +1 -1
  28. package/dist/cli/store.js +1 -1
  29. package/dist/cli/store.js.map +1 -1
  30. package/dist/cli.js +12 -8
  31. package/dist/cli.js.map +1 -1
  32. package/dist/create-extract-runtime.d.ts +22 -0
  33. package/dist/create-extract-runtime.d.ts.map +1 -0
  34. package/dist/create-extract-runtime.js +27 -0
  35. package/dist/create-extract-runtime.js.map +1 -0
  36. package/dist/create-extract-session.d.ts.map +1 -1
  37. package/dist/create-extract-session.js +4 -1
  38. package/dist/create-extract-session.js.map +1 -1
  39. package/dist/create-mlx-extract-runtime.d.ts +18 -7
  40. package/dist/create-mlx-extract-runtime.d.ts.map +1 -1
  41. package/dist/create-mlx-extract-runtime.js +11 -1
  42. package/dist/create-mlx-extract-runtime.js.map +1 -1
  43. package/dist/create-pytorch-extract-runtime.d.ts +13 -0
  44. package/dist/create-pytorch-extract-runtime.d.ts.map +1 -0
  45. package/dist/create-pytorch-extract-runtime.js +52 -0
  46. package/dist/create-pytorch-extract-runtime.js.map +1 -0
  47. package/dist/default-models.d.ts +3 -8
  48. package/dist/default-models.d.ts.map +1 -1
  49. package/dist/default-models.js +4 -16
  50. package/dist/default-models.js.map +1 -1
  51. package/dist/extract-runtime-types.d.ts +16 -0
  52. package/dist/extract-runtime-types.d.ts.map +1 -0
  53. package/dist/extract-runtime-types.js +2 -0
  54. package/dist/extract-runtime-types.js.map +1 -0
  55. package/dist/extract-store.d.ts +21 -2
  56. package/dist/extract-store.d.ts.map +1 -1
  57. package/dist/extract-store.js +47 -8
  58. package/dist/extract-store.js.map +1 -1
  59. package/dist/index.d.ts +5 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +2 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/model-resolution.d.ts +15 -5
  64. package/dist/model-resolution.d.ts.map +1 -1
  65. package/dist/model-resolution.js +87 -27
  66. package/dist/model-resolution.js.map +1 -1
  67. package/dist/types.d.ts +6 -0
  68. package/dist/types.d.ts.map +1 -1
  69. package/docs/API.md +316 -0
  70. package/docs/CACHE_DESIGN.md +475 -0
  71. package/docs/LOCAL_MODEL_SETUP.md +765 -0
  72. package/docs/PROMPT_MODULE_SPEC.md +482 -0
  73. package/package.json +7 -5
@@ -3,9 +3,9 @@ import { cp, mkdtemp, rename, rm } from 'node:fs/promises';
3
3
  import { basename, dirname, join, resolve } from 'node:path';
4
4
  import { isDeepStrictEqual } from 'node:util';
5
5
  import { createExtractSession } from './create-extract-session.js';
6
- import { createMlxExtractRuntime } from './create-mlx-extract-runtime.js';
6
+ import { createExtractRuntime } from './create-extract-runtime.js';
7
7
  import { CACHE_PREPARE_CUE } from './cli/constants.js';
8
- import { manifestExists, readManifest, writeManifest, } from './cli/manifest.js';
8
+ import { getManifestProvider, manifestExists, readManifest, writeManifest, } from './cli/manifest.js';
9
9
  import { storeExists } from './cli/store.js';
10
10
  async function closeRuntimePreservingError(runtime, operationError) {
11
11
  try {
@@ -21,12 +21,16 @@ async function closeRuntimePreservingError(runtime, operationError) {
21
21
  * Prepare the persistent corpus cache and release all runtime resources.
22
22
  *
23
23
  * The caller owns the manifest transaction. This operation only creates or
24
- * extends the cache in `cacheDir` and returns the model ID resolved by MLX.
24
+ * extends the cache in `cacheDir` and returns the resolved model/provider
25
+ * (plus MLX-only backend/image settings when applicable).
25
26
  */
26
27
  export async function prepareExtractCache(options) {
27
- const runtime = await createMlxExtractRuntime({
28
+ const runtime = await createExtractRuntime({
28
29
  model: options.model,
30
+ ...(options.provider !== undefined ? { provider: options.provider } : {}),
31
+ ...(options.backend !== undefined ? { backend: options.backend } : {}),
29
32
  cacheDir: options.cacheDir,
33
+ ...(options.maxImageSize !== undefined ? { maxImageSize: options.maxImageSize } : {}),
30
34
  });
31
35
  let operationError;
32
36
  try {
@@ -34,6 +38,7 @@ export async function prepareExtractCache(options) {
34
38
  driver: runtime.driver,
35
39
  cacheController: runtime.cacheController,
36
40
  model: runtime.model,
41
+ maxImageSize: runtime.maxImageSize,
37
42
  corpus: { materials: options.materials },
38
43
  cachePreparation: 'required',
39
44
  });
@@ -42,7 +47,12 @@ export async function prepareExtractCache(options) {
42
47
  options: { maxTokens: 1, temperature: 0 },
43
48
  });
44
49
  await session.close({ releaseCache: false });
45
- return runtime.model;
50
+ return {
51
+ model: runtime.model,
52
+ provider: runtime.provider ?? 'mlx',
53
+ ...(runtime.backend !== undefined ? { backend: runtime.backend } : {}),
54
+ ...(runtime.maxImageSize !== undefined ? { maxImageSize: runtime.maxImageSize } : {}),
55
+ };
46
56
  }
47
57
  catch (error) {
48
58
  operationError = error;
@@ -108,6 +118,17 @@ export async function readExtractStoreManifest(storeDir, storename) {
108
118
  }
109
119
  return readManifest(resolvedStoreDir);
110
120
  }
121
+ export function assertExtractRuntimeMatchesManifest(runtime, manifest) {
122
+ const expectedProvider = getManifestProvider(manifest);
123
+ if (runtime.provider !== expectedProvider) {
124
+ throw new Error(`Extract store provider mismatch: manifest has '${expectedProvider}', `
125
+ + `runtime resolved '${runtime.provider}'`);
126
+ }
127
+ if (runtime.model !== manifest.model) {
128
+ throw new Error(`Extract store model mismatch: manifest has '${manifest.model}', `
129
+ + `runtime resolved '${runtime.model}'`);
130
+ }
131
+ }
111
132
  async function replaceStoreWithStaging(storeDir, stagingDir) {
112
133
  const backupDir = join(dirname(storeDir), `.${basename(storeDir)}.backup-${randomUUID()}`);
113
134
  await rename(storeDir, backupDir);
@@ -146,14 +167,30 @@ export async function appendToExtractStore(options) {
146
167
  let committed = false;
147
168
  try {
148
169
  await cp(storeDir, stagingDir, { recursive: true, force: true });
149
- const model = await prepareExtractCache({
170
+ const prepared = await prepareExtractCache({
150
171
  cacheDir: stagingDir,
151
172
  model: previousManifest.model,
173
+ provider: getManifestProvider(previousManifest),
174
+ ...(previousManifest.backend !== undefined
175
+ ? { backend: previousManifest.backend }
176
+ : {}),
177
+ ...(previousManifest.maxImageSize !== undefined
178
+ ? { maxImageSize: previousManifest.maxImageSize }
179
+ : {}),
152
180
  materials,
153
181
  });
182
+ assertExtractRuntimeMatchesManifest(prepared, previousManifest);
183
+ const manifestWithoutBackend = { ...previousManifest };
184
+ delete manifestWithoutBackend.backend;
154
185
  const nextManifest = {
155
- ...previousManifest,
186
+ ...manifestWithoutBackend,
187
+ model: prepared.model,
188
+ provider: prepared.provider,
156
189
  materials,
190
+ ...(prepared.backend !== undefined ? { backend: prepared.backend } : {}),
191
+ ...(prepared.maxImageSize !== undefined
192
+ ? { maxImageSize: prepared.maxImageSize }
193
+ : {}),
157
194
  updatedAt: (options.now ?? (() => new Date().toISOString()))(),
158
195
  };
159
196
  await writeManifest(stagingDir, nextManifest);
@@ -161,7 +198,9 @@ export async function appendToExtractStore(options) {
161
198
  committed = true;
162
199
  return {
163
200
  manifest: nextManifest,
164
- model,
201
+ model: prepared.model,
202
+ provider: prepared.provider,
203
+ backend: prepared.backend,
165
204
  addedMaterials: materials.length - previousManifest.materials.length,
166
205
  };
167
206
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extract-store.js","sourceRoot":"","sources":["../src/extract-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-store.js","sourceRoot":"","sources":["../src/extract-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAInE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,GAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAyB7C,KAAK,UAAU,2BAA2B,CACxC,OAAuB,EACvB,cAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,UAAmB,EAAE,CAAC;QAC7B,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAmC;IAEnC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC;QACzC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtF,CAAC,CAAC;IACH,IAAI,cAAuB,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,oBAAoB,CAAC;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;YACxC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,OAAO,CAAC;YACpB,GAAG,EAAE,iBAAiB;YACtB,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;SAC1C,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACnC,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,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,cAAc,GAAG,KAAK,CAAC;QACvB,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,uEAAuE;QACvE,yDAAyD;QACzD,MAAM,2BAA2B,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAuB;IAC1C,OAAO,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,IAAmB,EAAE,KAAoB;IAC/D,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;WAC5B,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;WAC1B,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAkC,EAClC,QAAkC;IAElC,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC1C,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,QAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,8CAA8C,EAAE,KAAK;kBACnD,4EAA4E,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,SAAiB;IAC5D,OAAO,IAAI,KAAK,CACd,oBAAoB,QAAQ,IAAI;UAC9B,uCAAuC,SAAS,sBAAsB,CACzE,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,SAAiB;IAEjB,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,6BAA6B,gBAAgB,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACxC,CAAC;AAuBD,MAAM,UAAU,mCAAmC,CACjD,OAAmD,EACnD,QAA8B;IAE9B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,kDAAkD,gBAAgB,KAAK;cACrE,qBAAqB,OAAO,CAAC,QAAQ,GAAG,CAC3C,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,+CAA+C,QAAQ,CAAC,KAAK,KAAK;cAChE,qBAAqB,OAAO,CAAC,KAAK,GAAG,CACxC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,QAAgB,EAChB,UAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CACpB,OAAO,CAAC,QAAQ,CAAC,EACjB,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,UAAU,EAAE,EAAE,CAChD,CAAC;IAEF,MAAM,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,aAAsB,EAAE,CAAC;YAChC,MAAM,IAAI,cAAc,CACtB,CAAC,KAAK,EAAE,aAAa,CAAC,EACtB,yCAAyC,QAAQ,EAAE,CACpD,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAoC;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB;WAC5C,MAAM,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACzF,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;YACzC,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,gBAAgB,CAAC,KAAK;YAC7B,QAAQ,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;YAC/C,GAAG,CAAC,gBAAgB,CAAC,OAAO,KAAK,SAAS;gBACxC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,gBAAgB,CAAC,YAAY,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,YAAY,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;YACP,SAAS;SACV,CAAC,CAAC;QACH,mCAAmC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAChE,MAAM,sBAAsB,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;QACvD,OAAO,sBAAsB,CAAC,OAAO,CAAC;QACtC,MAAM,YAAY,GAAyB;YACzC,GAAG,sBAAsB;YACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS;YACT,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;YACP,SAAS,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;SAC/D,CAAC;QACF,MAAM,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE9C,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpD,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO;YACL,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,cAAc,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM;SACrE,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { createExtractSession } from './create-extract-session.js';
2
2
  export { createMlxExtractRuntime } from './create-mlx-extract-runtime.js';
3
+ export { createPytorchExtractRuntime } from './create-pytorch-extract-runtime.js';
4
+ export { createExtractRuntime } from './create-extract-runtime.js';
3
5
  export { createDriver, resolveMergedModels, resolveModelSpec, } from './model-resolution.js';
4
6
  export { resolveSessionModules } from './resolve-session-modules.js';
5
7
  export { resolveDefaultContainerDir, } from './cli/constants.js';
@@ -13,5 +15,8 @@ export type { ExtractContext } from './extract-context.js';
13
15
  export type { ChunkInput, ChunkInputValue, InputsInput, MaterialInput, MaterialsInput, MessageInput, MessagesInput, StandardMessageInput, ToolResultMessageInput, } from './extract-elements.js';
14
16
  export type { ExtractCorpus, ExtractRequest, ExtractResult, ExtractSession, ExtractSessionCloseOptions, ExtractSessionOptions, } from './types.js';
15
17
  export type { MlxExtractRuntime, MlxExtractRuntimeOptions, } from './create-mlx-extract-runtime.js';
18
+ export type { PyTorchExtractRuntime, PyTorchExtractRuntimeOptions, } from './create-pytorch-extract-runtime.js';
19
+ export type { ExtractRuntime, ExtractProvider, } from './extract-runtime-types.js';
20
+ export type { ExtractRuntimeOptions } from './create-extract-runtime.js';
16
21
  export type { ExtractDriverOptions, ExtractDriverResult, } from './model-resolution.js';
17
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,cAAc,EACd,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  export { createExtractSession } from './create-extract-session.js';
2
2
  export { createMlxExtractRuntime } from './create-mlx-extract-runtime.js';
3
+ export { createPytorchExtractRuntime } from './create-pytorch-extract-runtime.js';
4
+ export { createExtractRuntime } from './create-extract-runtime.js';
3
5
  export { createDriver, resolveMergedModels, resolveModelSpec, } from './model-resolution.js';
4
6
  export { resolveSessionModules } from './resolve-session-modules.js';
5
7
  export { resolveDefaultContainerDir, } from './cli/constants.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC"}
@@ -1,24 +1,34 @@
1
- import { type AIDriver, type ModelSpec, type ModelsConfig, type PromptCacheController } from '@modular-prompt/driver';
1
+ import { type AIDriver, type MlxBackendMode, type ModelSpec, type ModelsConfig, type PromptCacheController } from '@modular-prompt/driver';
2
+ import type { ExtractProvider } from './extract-runtime-types.js';
3
+ export type { ExtractProvider } from './extract-runtime-types.js';
2
4
  /** createDriver に渡す extract 固有の runtime オプション */
3
5
  export interface ExtractDriverOptions {
4
6
  /** セッションと共有する KV cache controller */
5
7
  cacheController?: PromptCacheController;
8
+ /** Explicit extract provider, used for raw model IDs and store validation. */
9
+ provider?: ExtractProvider;
10
+ /** Persisted or explicitly selected MLX backend for extract. */
11
+ backend?: MlxBackendMode;
12
+ /** VLM image resize limit for driver/cache alignment. */
13
+ maxImageSize?: number;
6
14
  }
7
15
  export interface ExtractDriverResult {
8
16
  driver: AIDriver;
9
17
  /** alias 解決後の生 model ID */
10
18
  spec: ModelSpec;
11
19
  }
12
- /** bundled + user models.yaml を解決する(user の default/alias が優先)。 */
20
+ export declare function isExtractProvider(value: unknown): value is ExtractProvider;
21
+ /** user models.yaml を含む models 設定を解決する(user の default/alias を使用)。 */
13
22
  export declare function resolveMergedModels(): ModelsConfig;
14
23
  /**
15
24
  * extract で使用する ModelSpec を解決する。
16
25
  *
17
- * 優先順位は明示 model(alias または生 ID)→ models.default → models の先頭。
26
+ * 優先順位は明示 model(alias または生 ID)→ models.default。
27
+ * 同梱の暗黙 default や models の先頭エントリは使用しない。
18
28
  */
19
- export declare function resolveModelSpec(model: string | undefined, models?: ModelsConfig): ModelSpec;
29
+ export declare function resolveModelSpec(model: string | undefined, models?: ModelsConfig, provider?: ExtractProvider): ModelSpec;
20
30
  /**
21
- * ModelSpec を AIService 経由で MLX driver に変換する。
31
+ * ModelSpec を AIService 経由で extract 対応 driver に変換する。
22
32
  * runtime が作成した cache controller は driver と共有する。
23
33
  */
24
34
  export declare function createDriver(model: string | undefined, options?: ExtractDriverOptions): Promise<ExtractDriverResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,QAAQ,EAEb,KAAK,SAAS,EACd,KAAK,YAAY,EAEjB,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAGhC,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,QAAQ,CAAC;IACjB,2BAA2B;IAC3B,IAAI,EAAE,SAAS,CAAC;CACjB;AAWD,kEAAkE;AAClE,wBAAgB,mBAAmB,IAAI,YAAY,CAElD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,GAAE,YAAoC,GAC3C,SAAS,CAgBX;AAyBD;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAK9B"}
1
+ {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,YAAY,EAGjB,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,gEAAgE;IAChE,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,QAAQ,CAAC;IACjB,2BAA2B;IAC3B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAMD,qEAAqE;AACrE,wBAAgB,mBAAmB,IAAI,YAAY,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,GAAE,YAAoC,EAC5C,QAAQ,CAAC,EAAE,eAAe,GACzB,SAAS,CA6CX;AAmED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAQ9B"}
@@ -1,56 +1,116 @@
1
- import { AIService, resolveDefaultModelFromConfig, resolveModelName, resolveModelReference, } from '@modular-prompt/driver';
1
+ import { AIService, inferProvider, resolveModelName, resolveModelReference, } from '@modular-prompt/driver';
2
2
  import { BUNDLED_MODELS_CONFIG } from './default-models.js';
3
- function inferProvider(_model) {
4
- // extract runtime は MLX 専用。生の model ID は MLX model として扱う。
5
- return 'mlx';
3
+ export function isExtractProvider(value) {
4
+ return value === 'mlx' || value === 'pytorch';
6
5
  }
7
6
  function createAIService() {
8
7
  return AIService.fromMergedConfig(BUNDLED_MODELS_CONFIG, undefined, { mode: 'merge' });
9
8
  }
10
- /** bundled + user models.yaml を解決する(user の default/alias が優先)。 */
9
+ /** user models.yaml を含む models 設定を解決する(user の default/alias を使用)。 */
11
10
  export function resolveMergedModels() {
12
11
  return createAIService().modelsConfig;
13
12
  }
14
13
  /**
15
14
  * extract で使用する ModelSpec を解決する。
16
15
  *
17
- * 優先順位は明示 model(alias または生 ID)→ models.default → models の先頭。
16
+ * 優先順位は明示 model(alias または生 ID)→ models.default。
17
+ * 同梱の暗黙 default や models の先頭エントリは使用しない。
18
18
  */
19
- export function resolveModelSpec(model, models = resolveMergedModels()) {
19
+ export function resolveModelSpec(model, models = resolveMergedModels(), provider) {
20
20
  const explicitModel = model?.trim();
21
21
  if (explicitModel) {
22
- return resolveModelReference({ ref: explicitModel }, models)
23
- ?? resolveModelName(explicitModel, models, inferProvider);
22
+ const alias = resolveModelReference({ ref: explicitModel }, models);
23
+ if (alias) {
24
+ if (provider && alias.provider !== provider) {
25
+ throw providerMismatchError(alias.model, provider, alias.provider);
26
+ }
27
+ return alias;
28
+ }
29
+ // Validate raw IDs against exact models.yaml matches when one exists.
30
+ // An explicit provider makes otherwise unconfigured raw IDs usable.
31
+ if (provider) {
32
+ const matchingEntry = Object.values(models.models ?? {})
33
+ .find(entry => entry.model === explicitModel);
34
+ if (matchingEntry) {
35
+ const configured = resolveModelName(explicitModel, models, inferProvider);
36
+ if (configured.provider !== provider) {
37
+ throw providerMismatchError(explicitModel, provider, configured.provider);
38
+ }
39
+ return configured;
40
+ }
41
+ return {
42
+ model: explicitModel,
43
+ provider,
44
+ capabilities: [],
45
+ };
46
+ }
47
+ return resolveModelName(explicitModel, models, inferProvider);
24
48
  }
25
- const fallback = resolveDefaultModelFromConfig(models);
26
- if (fallback) {
27
- return fallback;
49
+ const configuredDefault = resolveModelReference({ ref: 'default' }, models);
50
+ if (configuredDefault) {
51
+ if (provider && configuredDefault.provider !== provider) {
52
+ throw providerMismatchError(configuredDefault.model, provider, configuredDefault.provider);
53
+ }
54
+ return configuredDefault;
28
55
  }
29
- throw new Error('No extract model configured: specify -m <model-id-or-alias> '
56
+ throw new Error('No model configured: specify -m <model-id-or-alias> '
30
57
  + 'or define models.default in ~/.modular-prompt/models.yaml');
31
58
  }
59
+ function providerMismatchError(model, expected, actual) {
60
+ return new Error(`Extract provider mismatch for model '${model}': expected '${expected}', got '${actual}'`);
61
+ }
32
62
  function withExtractDriverOptions(spec, options) {
33
- if (spec.provider !== 'mlx') {
34
- throw new Error(`Extract requires an MLX model, but '${spec.model}' uses provider '${spec.provider}'`);
63
+ if (spec.provider === 'mlx') {
64
+ const existingDriverOptions = spec.driverOptions;
65
+ // Preserve a model's explicit backend and let MLX auto-detect when none is
66
+ // configured. In particular, extract must not force a VLM model through
67
+ // the mlx-lm backend just to enable prompt caching.
68
+ const backend = options.backend ?? spec.backend ?? existingDriverOptions?.backend ?? 'auto';
69
+ const maxImageSize = options.maxImageSize ?? existingDriverOptions?.maxImageSize;
70
+ const driverOptions = {
71
+ ...existingDriverOptions,
72
+ backend,
73
+ ...(maxImageSize !== undefined ? { maxImageSize } : {}),
74
+ ...(options.cacheController ? { cacheController: options.cacheController } : {}),
75
+ };
76
+ return {
77
+ ...spec,
78
+ backend,
79
+ driverOptions,
80
+ };
81
+ }
82
+ if (spec.provider === 'pytorch') {
83
+ const existingDriverOptions = spec.driverOptions;
84
+ // MLX-only backend/image options intentionally do not cross into the
85
+ // text-only PyTorch runtime. Keep PyTorch-specific options intact.
86
+ const pytorchSpec = { ...spec };
87
+ delete pytorchSpec.backend;
88
+ const driverOptions = {
89
+ ...(existingDriverOptions?.venvPath !== undefined
90
+ ? { venvPath: existingDriverOptions.venvPath }
91
+ : {}),
92
+ ...(existingDriverOptions?.device !== undefined
93
+ ? { device: existingDriverOptions.device }
94
+ : {}),
95
+ ...(existingDriverOptions?.cacheDir !== undefined
96
+ ? { cacheDir: existingDriverOptions.cacheDir }
97
+ : {}),
98
+ ...(options.cacheController ? { cacheController: options.cacheController } : {}),
99
+ };
100
+ return {
101
+ ...pytorchSpec,
102
+ driverOptions,
103
+ };
35
104
  }
36
- const driverOptions = {
37
- ...spec.driverOptions,
38
- backend: 'lm',
39
- ...(options.cacheController ? { cacheController: options.cacheController } : {}),
40
- };
41
- return {
42
- ...spec,
43
- backend: 'lm',
44
- driverOptions,
45
- };
105
+ throw new Error(`Extract supports MLX and PyTorch models, but '${spec.model}' uses provider '${spec.provider}'`);
46
106
  }
47
107
  /**
48
- * ModelSpec を AIService 経由で MLX driver に変換する。
108
+ * ModelSpec を AIService 経由で extract 対応 driver に変換する。
49
109
  * runtime が作成した cache controller は driver と共有する。
50
110
  */
51
111
  export async function createDriver(model, options = {}) {
52
112
  const ai = createAIService();
53
- const spec = withExtractDriverOptions(resolveModelSpec(model, ai.modelsConfig), options);
113
+ const spec = withExtractDriverOptions(resolveModelSpec(model, ai.modelsConfig, options.provider), options);
54
114
  const driver = await ai.createDriver(spec);
55
115
  return { driver, spec };
56
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolution.js","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,GAOtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAc5D,SAAS,aAAa,CAAC,MAAc;IACnC,0DAA0D;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,SAAS,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,mBAAmB;IACjC,OAAO,eAAe,EAAE,CAAC,YAAY,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAyB,EACzB,SAAuB,mBAAmB,EAAE;IAE5C,MAAM,aAAa,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IACpC,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,qBAAqB,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC;eACvD,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,QAAQ,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,8DAA8D;UAC5D,2DAA2D,CAC9D,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAe,EACf,OAA6B;IAE7B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,CAAC,KAAK,oBAAoB,IAAI,CAAC,QAAQ,GAAG,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAA0B;QAC3C,GAAI,IAAI,CAAC,aAAmD;QAC5D,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;IAEF,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,IAAI;QACb,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAyB,EACzB,UAAgC,EAAE;IAElC,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"model-resolution.js","sourceRoot":"","sources":["../src/model-resolution.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -16,6 +16,12 @@ export interface ExtractSessionOptions<TContext = ExtractContext> {
16
16
  cacheController: PromptCacheController;
17
17
  /** Model identifier for cache prepare (must match the driver). */
18
18
  model: string;
19
+ /**
20
+ * Maximum image edge used by the MLX VLM cache normalizer. The MLX extract
21
+ * runtime supplies this automatically; custom sessions should match the
22
+ * driver's `maxImageSize` setting.
23
+ */
24
+ maxImageSize?: number;
19
25
  /**
20
26
  * Base prompt for extraction task.
21
27
  * 省略時は {@link defaultExtractBaseModule} を使用する。
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB,CAAC,QAAQ,GAAG,cAAc;IAC9D,MAAM,EAAE,QAAQ,CAAC;IACjB,kDAAkD;IAClD,eAAe,EAAE,qBAAqB,CAAC;IACvC,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,kDAAkD;IAClD,MAAM,EAAE,aAAa,CAAC;IACtB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;IAC7B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,UAAU,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,KAAK,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB,CAAC,QAAQ,GAAG,cAAc;IAC9D,MAAM,EAAE,QAAQ,CAAC;IACjB,kDAAkD;IAClD,eAAe,EAAE,qBAAqB,CAAC;IACvC,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,kDAAkD;IAClD,MAAM,EAAE,aAAa,CAAC;IACtB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;IAC7B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,UAAU,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,KAAK,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D"}