@modular-prompt/driver 0.14.0 → 0.16.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 (218) hide show
  1. package/README.md +90 -5
  2. package/dist/driver-registry/ai-service.d.ts +23 -1
  3. package/dist/driver-registry/ai-service.d.ts.map +1 -1
  4. package/dist/driver-registry/ai-service.js +44 -10
  5. package/dist/driver-registry/ai-service.js.map +1 -1
  6. package/dist/driver-registry/config-based-factory.d.ts.map +1 -1
  7. package/dist/driver-registry/config-based-factory.js +20 -3
  8. package/dist/driver-registry/config-based-factory.js.map +1 -1
  9. package/dist/driver-registry/factory-helper.d.ts +2 -0
  10. package/dist/driver-registry/factory-helper.d.ts.map +1 -1
  11. package/dist/driver-registry/factory-helper.js +22 -3
  12. package/dist/driver-registry/factory-helper.js.map +1 -1
  13. package/dist/driver-registry/index.d.ts +2 -2
  14. package/dist/driver-registry/index.d.ts.map +1 -1
  15. package/dist/driver-registry/index.js +1 -1
  16. package/dist/driver-registry/index.js.map +1 -1
  17. package/dist/driver-registry/registry.d.ts.map +1 -1
  18. package/dist/driver-registry/registry.js +3 -1
  19. package/dist/driver-registry/registry.js.map +1 -1
  20. package/dist/driver-registry/types.d.ts +11 -2
  21. package/dist/driver-registry/types.d.ts.map +1 -1
  22. package/dist/index.d.ts +10 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +9 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/local-inference/adapters.d.ts +66 -0
  27. package/dist/local-inference/adapters.d.ts.map +1 -0
  28. package/dist/local-inference/adapters.js +2 -0
  29. package/dist/local-inference/adapters.js.map +1 -0
  30. package/dist/local-inference/driver.d.ts +51 -0
  31. package/dist/local-inference/driver.d.ts.map +1 -0
  32. package/dist/local-inference/driver.js +309 -0
  33. package/dist/local-inference/driver.js.map +1 -0
  34. package/dist/local-inference/index.d.ts +22 -0
  35. package/dist/local-inference/index.d.ts.map +1 -0
  36. package/dist/local-inference/index.js +17 -0
  37. package/dist/local-inference/index.js.map +1 -0
  38. package/dist/local-inference/process-client.d.ts +50 -0
  39. package/dist/local-inference/process-client.d.ts.map +1 -0
  40. package/dist/local-inference/process-client.js +92 -0
  41. package/dist/local-inference/process-client.js.map +1 -0
  42. package/dist/local-inference/process-communication.d.ts +41 -0
  43. package/dist/local-inference/process-communication.d.ts.map +1 -0
  44. package/dist/{mlx-ml/process → local-inference}/process-communication.js +25 -61
  45. package/dist/local-inference/process-communication.js.map +1 -0
  46. package/dist/local-inference/process-port.d.ts +12 -0
  47. package/dist/local-inference/process-port.d.ts.map +1 -0
  48. package/dist/local-inference/process-port.js +2 -0
  49. package/dist/local-inference/process-port.js.map +1 -0
  50. package/dist/local-inference/prompt-utils.d.ts +6 -0
  51. package/dist/local-inference/prompt-utils.d.ts.map +1 -0
  52. package/dist/local-inference/prompt-utils.js +17 -0
  53. package/dist/local-inference/prompt-utils.js.map +1 -0
  54. package/dist/local-inference/protocol.d.ts +192 -0
  55. package/dist/local-inference/protocol.d.ts.map +1 -0
  56. package/dist/local-inference/protocol.js +2 -0
  57. package/dist/local-inference/protocol.js.map +1 -0
  58. package/dist/local-inference/queue-types.d.ts +54 -0
  59. package/dist/local-inference/queue-types.d.ts.map +1 -0
  60. package/dist/local-inference/queue-types.js +2 -0
  61. package/dist/local-inference/queue-types.js.map +1 -0
  62. package/dist/local-inference/request-queue.d.ts +36 -0
  63. package/dist/local-inference/request-queue.d.ts.map +1 -0
  64. package/dist/{mlx-ml/process/queue.js → local-inference/request-queue.js} +83 -56
  65. package/dist/local-inference/request-queue.js.map +1 -0
  66. package/dist/local-inference/stream-utils.d.ts +19 -0
  67. package/dist/local-inference/stream-utils.d.ts.map +1 -0
  68. package/dist/local-inference/stream-utils.js +76 -0
  69. package/dist/local-inference/stream-utils.js.map +1 -0
  70. package/dist/mlx-ml/mlx-cache-controller.d.ts.map +1 -1
  71. package/dist/mlx-ml/mlx-cache-controller.js +2 -1
  72. package/dist/mlx-ml/mlx-cache-controller.js.map +1 -1
  73. package/dist/mlx-ml/mlx-cache-support.d.ts +23 -0
  74. package/dist/mlx-ml/mlx-cache-support.d.ts.map +1 -0
  75. package/dist/mlx-ml/mlx-cache-support.js +45 -0
  76. package/dist/mlx-ml/mlx-cache-support.js.map +1 -0
  77. package/dist/mlx-ml/mlx-driver.d.ts +20 -59
  78. package/dist/mlx-ml/mlx-driver.d.ts.map +1 -1
  79. package/dist/mlx-ml/mlx-driver.js +86 -460
  80. package/dist/mlx-ml/mlx-driver.js.map +1 -1
  81. package/dist/mlx-ml/mlx-local-inference-adapters.d.ts +3 -0
  82. package/dist/mlx-ml/mlx-local-inference-adapters.d.ts.map +1 -0
  83. package/dist/mlx-ml/mlx-local-inference-adapters.js +19 -0
  84. package/dist/mlx-ml/mlx-local-inference-adapters.js.map +1 -0
  85. package/dist/mlx-ml/mlx-options.d.ts +19 -0
  86. package/dist/mlx-ml/mlx-options.d.ts.map +1 -0
  87. package/dist/mlx-ml/mlx-options.js +30 -0
  88. package/dist/mlx-ml/mlx-options.js.map +1 -0
  89. package/dist/mlx-ml/process/index.d.ts +10 -8
  90. package/dist/mlx-ml/process/index.d.ts.map +1 -1
  91. package/dist/mlx-ml/process/index.js +73 -54
  92. package/dist/mlx-ml/process/index.js.map +1 -1
  93. package/dist/mlx-ml/process/model-specific.d.ts +2 -1
  94. package/dist/mlx-ml/process/model-specific.d.ts.map +1 -1
  95. package/dist/mlx-ml/process/model-specific.js.map +1 -1
  96. package/dist/mlx-ml/process/prompt-builder.d.ts +11 -0
  97. package/dist/mlx-ml/process/prompt-builder.d.ts.map +1 -0
  98. package/dist/mlx-ml/process/prompt-builder.js +51 -0
  99. package/dist/mlx-ml/process/prompt-builder.js.map +1 -0
  100. package/dist/mlx-ml/process/types.d.ts +15 -183
  101. package/dist/mlx-ml/process/types.d.ts.map +1 -1
  102. package/dist/mlx-ml/types.d.ts +2 -45
  103. package/dist/mlx-ml/types.d.ts.map +1 -1
  104. package/dist/models-config/index.d.ts +8 -0
  105. package/dist/models-config/index.d.ts.map +1 -0
  106. package/dist/models-config/index.js +7 -0
  107. package/dist/models-config/index.js.map +1 -0
  108. package/dist/models-config/loader.d.ts +20 -0
  109. package/dist/models-config/loader.d.ts.map +1 -0
  110. package/dist/models-config/loader.js +85 -0
  111. package/dist/models-config/loader.js.map +1 -0
  112. package/dist/models-config/paths.d.ts +15 -0
  113. package/dist/models-config/paths.d.ts.map +1 -0
  114. package/dist/models-config/paths.js +26 -0
  115. package/dist/models-config/paths.js.map +1 -0
  116. package/dist/models-config/resolve.d.ts +57 -0
  117. package/dist/models-config/resolve.d.ts.map +1 -0
  118. package/dist/models-config/resolve.js +208 -0
  119. package/dist/models-config/resolve.js.map +1 -0
  120. package/dist/models-config/types.d.ts +62 -0
  121. package/dist/models-config/types.d.ts.map +1 -0
  122. package/dist/models-config/types.js +5 -0
  123. package/dist/models-config/types.js.map +1 -0
  124. package/dist/pytorch/process/index.d.ts +35 -0
  125. package/dist/pytorch/process/index.d.ts.map +1 -0
  126. package/dist/pytorch/process/index.js +69 -0
  127. package/dist/pytorch/process/index.js.map +1 -0
  128. package/dist/pytorch/pytorch-driver.d.ts +35 -0
  129. package/dist/pytorch/pytorch-driver.d.ts.map +1 -0
  130. package/dist/pytorch/pytorch-driver.js +48 -0
  131. package/dist/pytorch/pytorch-driver.js.map +1 -0
  132. package/dist/pytorch/pytorch-local-inference-adapters.d.ts +3 -0
  133. package/dist/pytorch/pytorch-local-inference-adapters.d.ts.map +1 -0
  134. package/dist/pytorch/pytorch-local-inference-adapters.js +19 -0
  135. package/dist/pytorch/pytorch-local-inference-adapters.js.map +1 -0
  136. package/dist/pytorch/pytorch-options.d.ts +8 -0
  137. package/dist/pytorch/pytorch-options.d.ts.map +1 -0
  138. package/dist/pytorch/pytorch-options.js +21 -0
  139. package/dist/pytorch/pytorch-options.js.map +1 -0
  140. package/dist/query-logger.js +1 -1
  141. package/dist/query-logger.js.map +1 -1
  142. package/dist/runtime/check.d.ts +10 -0
  143. package/dist/runtime/check.d.ts.map +1 -0
  144. package/dist/runtime/check.js +25 -0
  145. package/dist/runtime/check.js.map +1 -0
  146. package/dist/runtime/index.d.ts +5 -0
  147. package/dist/runtime/index.d.ts.map +1 -0
  148. package/dist/runtime/index.js +5 -0
  149. package/dist/runtime/index.js.map +1 -0
  150. package/dist/runtime/manifest-core.d.mts +27 -0
  151. package/dist/runtime/manifest-core.d.mts.map +1 -0
  152. package/dist/runtime/manifest-core.mjs +68 -0
  153. package/dist/runtime/manifest-core.mjs.map +1 -0
  154. package/dist/runtime/manifest.d.ts +18 -0
  155. package/dist/runtime/manifest.d.ts.map +1 -0
  156. package/dist/runtime/manifest.js +9 -0
  157. package/dist/runtime/manifest.js.map +1 -0
  158. package/dist/runtime/paths-core.d.mts +17 -0
  159. package/dist/runtime/paths-core.d.mts.map +1 -0
  160. package/dist/runtime/paths-core.mjs +67 -0
  161. package/dist/runtime/paths-core.mjs.map +1 -0
  162. package/dist/runtime/paths.d.ts +12 -0
  163. package/dist/runtime/paths.d.ts.map +1 -0
  164. package/dist/runtime/paths.js +17 -0
  165. package/dist/runtime/paths.js.map +1 -0
  166. package/dist/runtime/setup-commands-core.d.mts +13 -0
  167. package/dist/runtime/setup-commands-core.d.mts.map +1 -0
  168. package/dist/runtime/setup-commands-core.mjs +14 -0
  169. package/dist/runtime/setup-commands-core.mjs.map +1 -0
  170. package/dist/runtime/setup-commands.d.ts +2 -0
  171. package/dist/runtime/setup-commands.d.ts.map +1 -0
  172. package/dist/runtime/setup-commands.js +2 -0
  173. package/dist/runtime/setup-commands.js.map +1 -0
  174. package/dist/types.d.ts +11 -1
  175. package/dist/types.d.ts.map +1 -1
  176. package/dist/types.js.map +1 -1
  177. package/package.json +13 -7
  178. package/scripts/download-model.js +26 -9
  179. package/scripts/runtime-cli.js +320 -0
  180. package/src/mlx-ml/python/__main__.py +43 -4
  181. package/src/mlx-ml/python/backends/cache_archive.py +41 -0
  182. package/src/mlx-ml/python/backends/mlx_lm.py +17 -1
  183. package/src/mlx-ml/python/handlers/__init__.py +2 -1
  184. package/src/mlx-ml/python/handlers/completion.py +3 -27
  185. package/src/mlx-ml/python/handlers/{chat.py → generate.py} +33 -106
  186. package/src/mlx-ml/python/handlers/render.py +40 -0
  187. package/src/mlx-ml/python/pyproject.toml +11 -4
  188. package/src/mlx-ml/python/server.py +28 -8
  189. package/src/mlx-ml/python/utils/template_render.py +80 -0
  190. package/src/mlx-ml/python/utils/token_utils.py +2 -2
  191. package/src/mlx-ml/python/uv.lock +544 -689
  192. package/src/pytorch/python/__main__.py +19 -0
  193. package/src/pytorch/python/backends/__init__.py +3 -0
  194. package/src/pytorch/python/backends/base.py +84 -0
  195. package/src/pytorch/python/backends/transformers_lm.py +127 -0
  196. package/src/pytorch/python/handlers/__init__.py +6 -0
  197. package/src/pytorch/python/handlers/cancel.py +53 -0
  198. package/src/pytorch/python/handlers/capabilities.py +6 -0
  199. package/src/pytorch/python/handlers/completion.py +15 -0
  200. package/src/pytorch/python/handlers/format_test.py +70 -0
  201. package/src/pytorch/python/handlers/generate.py +68 -0
  202. package/src/pytorch/python/handlers/render.py +40 -0
  203. package/src/pytorch/python/handlers/tokenize.py +63 -0
  204. package/src/pytorch/python/pyproject.toml +36 -0
  205. package/src/pytorch/python/server.py +140 -0
  206. package/src/pytorch/python/utils/__init__.py +0 -0
  207. package/src/pytorch/python/utils/chat_template_constraints.py +164 -0
  208. package/src/pytorch/python/utils/prompt_builder.py +54 -0
  209. package/src/pytorch/python/utils/template_render.py +80 -0
  210. package/src/pytorch/python/utils/token_utils.py +376 -0
  211. package/src/pytorch/python/uv.lock +694 -0
  212. package/dist/mlx-ml/process/process-communication.d.ts +0 -45
  213. package/dist/mlx-ml/process/process-communication.d.ts.map +0 -1
  214. package/dist/mlx-ml/process/process-communication.js.map +0 -1
  215. package/dist/mlx-ml/process/queue.d.ts +0 -35
  216. package/dist/mlx-ml/process/queue.d.ts.map +0 -1
  217. package/dist/mlx-ml/process/queue.js.map +0 -1
  218. package/scripts/setup-mlx.js +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"mlx-cache-controller.js","sourceRoot":"","sources":["../../src/mlx-ml/mlx-cache-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mlx-cache-controller.js","sourceRoot":"","sources":["../../src/mlx-ml/mlx-cache-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { FormatterOptions } from '../formatter/types.js';
2
+ import type { InferenceMessage } from '../local-inference/protocol.js';
3
+ import type { LocalInferenceCacheSupport } from '../local-inference/adapters.js';
4
+ import type { InferenceProcessPort } from '../local-inference/process-port.js';
5
+ import type { PromptCacheController } from '../cache-controller.js';
6
+ /**
7
+ * MLX 向け KV キャッシュ連携を構築する。
8
+ * `PromptCacheController` が `MlxCacheController` でない場合は undefined(旧挙動と同様)。
9
+ * PyTorch 等の別バックエンド用 adapter は将来ここに並列で追加する。
10
+ */
11
+ export declare function createMlxCacheSupport(controller: PromptCacheController): LocalInferenceCacheSupport | undefined;
12
+ export declare function bindMlxCacheOnCapabilitiesLoaded(cache: LocalInferenceCacheSupport, cacheBound: {
13
+ bound: boolean;
14
+ }, runtimeInfo: {
15
+ model_kind?: 'lm' | 'vlm';
16
+ }, ctx: {
17
+ process: InferenceProcessPort;
18
+ formatterOptions: FormatterOptions;
19
+ modelProcessor: {
20
+ applyChatSpecificProcessing(messages: InferenceMessage[]): InferenceMessage[];
21
+ };
22
+ }, onVlmDisabled: () => void): Promise<void>;
23
+ //# sourceMappingURL=mlx-cache-support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mlx-cache-support.d.ts","sourceRoot":"","sources":["../../src/mlx-ml/mlx-cache-support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAEV,0BAA0B,EAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,qBAAqB,GAChC,0BAA0B,GAAG,SAAS,CA6BxC;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,0BAA0B,EACjC,UAAU,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,EAC9B,WAAW,EAAE;IAAE,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;CAAE,EAC1C,GAAG,EAAE;IACH,OAAO,EAAE,oBAAoB,CAAC;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE;QAAE,2BAA2B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAA;KAAE,CAAC;CACnG,EACD,aAAa,EAAE,MAAM,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -0,0 +1,45 @@
1
+ import { MlxCacheController } from './mlx-cache-controller.js';
2
+ /**
3
+ * MLX 向け KV キャッシュ連携を構築する。
4
+ * `PromptCacheController` が `MlxCacheController` でない場合は undefined(旧挙動と同様)。
5
+ * PyTorch 等の別バックエンド用 adapter は将来ここに並列で追加する。
6
+ */
7
+ export function createMlxCacheSupport(controller) {
8
+ if (!(controller instanceof MlxCacheController)) {
9
+ return undefined;
10
+ }
11
+ const mlxCache = controller;
12
+ return {
13
+ async bind(process, formatterOptions, preprocess) {
14
+ await mlxCache.bind(process, formatterOptions, preprocess);
15
+ },
16
+ shouldDisableForVlm: (modelKind) => modelKind === 'vlm',
17
+ recordQuery: () => mlxCache.recordQuery?.(),
18
+ getGrowthBefore: () => mlxCache.getStats().cacheGrowthTokens,
19
+ getWriteTokensSince: (growthBefore) => Math.max(0, mlxCache.getStats().cacheGrowthTokens - growthBefore),
20
+ prepare: (params) => mlxCache.prepare(params),
21
+ readTokenCount: (cachePath) => mlxCache.readCacheTokenCount(cachePath),
22
+ recordPromptTokens: (promptTokens, cacheTokensUsed) => {
23
+ mlxCache.recordPromptTokens(promptTokens, cacheTokensUsed);
24
+ },
25
+ logStats: () => {
26
+ // MlxDriver.close() で QueryLogger 経由のログを行う
27
+ },
28
+ close: () => mlxCache.close(),
29
+ };
30
+ }
31
+ export function bindMlxCacheOnCapabilitiesLoaded(cache, cacheBound, runtimeInfo, ctx, onVlmDisabled) {
32
+ if (cacheBound.bound) {
33
+ return Promise.resolve();
34
+ }
35
+ if (cache.shouldDisableForVlm(runtimeInfo.model_kind)) {
36
+ onVlmDisabled();
37
+ return Promise.resolve();
38
+ }
39
+ return cache
40
+ .bind(ctx.process, ctx.formatterOptions, (msgs) => ctx.modelProcessor.applyChatSpecificProcessing(msgs))
41
+ .then(() => {
42
+ cacheBound.bound = true;
43
+ });
44
+ }
45
+ //# sourceMappingURL=mlx-cache-support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mlx-cache-support.js","sourceRoot":"","sources":["../../src/mlx-ml/mlx-cache-support.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAiC;IAEjC,IAAI,CAAC,CAAC,UAAU,YAAY,kBAAkB,CAAC,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU;YAC9C,MAAM,QAAQ,CAAC,IAAI,CACjB,OAAoD,EACpD,gBAAgB,EAChB,UAAU,CACX,CAAC;QACJ,CAAC;QACD,mBAAmB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK;QACvD,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE;QAC3C,eAAe,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,iBAAiB;QAC5D,mBAAmB,EAAE,CAAC,YAAY,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACnE,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAgC;QAC5E,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC;QACtE,kBAAkB,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE;YACpD,QAAQ,CAAC,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAC7D,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,2CAA2C;QAC7C,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAAiC,EACjC,UAA8B,EAC9B,WAA0C,EAC1C,GAIC,EACD,aAAyB;IAEzB,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,aAAa,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK;SACT,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAChD,GAAG,CAAC,cAAc,CAAC,2BAA2B,CAAC,IAAI,CAAC,CACrD;SACA,IAAI,CAAC,GAAG,EAAE;QACT,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,22 +1,23 @@
1
- import type { AIDriver, QueryOptions, QueryResult, StreamResult } from '../types.js';
2
- import type { FormatterOptions } from '../formatter/types.js';
3
- import type { MlxMlModelOptions, MlxModelCapabilities } from './types.js';
4
- import type { CompiledPrompt } from '@modular-prompt/core';
1
+ import type { MlxBackendMode } from '../driver-registry/types.js';
2
+ import { LocalInferenceDriver } from '../local-inference/driver.js';
3
+ import { hasMessageElement } from '../local-inference/prompt-utils.js';
5
4
  import type { PromptCacheController } from '../cache-controller.js';
6
- /**
7
- * Check if the prompt contains MessageElement
8
- */
9
- export declare function hasMessageElement(prompt: CompiledPrompt): boolean;
5
+ import type { MlxModelCapabilities } from './types.js';
6
+ import type { MlxQueryOptions } from './mlx-options.js';
7
+ import type { FormatterOptions } from '../formatter/types.js';
8
+ export { hasMessageElement };
10
9
  /**
11
10
  * MLX ML driver configuration
12
11
  */
13
12
  export interface MlxDriverConfig {
14
13
  model: string;
15
- defaultOptions?: Partial<MlxMlModelOptions>;
14
+ defaultOptions?: Partial<MlxQueryOptions>;
16
15
  formatterOptions?: FormatterOptions;
17
16
  /** VLM画像の最大辺ピクセル数(デフォルト: 768) */
18
17
  maxImageSize?: number;
19
- /** VLMモデルをtext-onlyモードで使用する(VLM判定を抑制) */
18
+ /** MLX Python バックエンド(デフォルト: auto) */
19
+ backend?: MlxBackendMode;
20
+ /** VLMモデルをtext-onlyモードで使用する(backend: lm と同等。後方互換) */
20
21
  textOnly?: boolean;
21
22
  /** Speculative decoding用のdrafter model名 */
22
23
  drafterModel?: string;
@@ -26,63 +27,23 @@ export interface MlxDriverConfig {
26
27
  cacheController?: PromptCacheController;
27
28
  }
28
29
  /**
29
- * MLX ML driver using Python subprocess
30
+ * MLX ML driver using Python subprocess.
31
+ * 共通ロジックは LocalInferenceDriver に委譲する。
30
32
  */
31
- export declare class MlxDriver implements AIDriver {
32
- private process;
33
- private model;
34
- private _defaultOptions;
35
- private runtimeInfo;
36
- private modelProcessor;
37
- private formatterOptions;
38
- private maxImageSize;
39
- private queryLogger;
40
- private cacheController?;
41
- private cacheControllerBound;
42
- get defaultOptions(): Partial<MlxMlModelOptions>;
43
- set defaultOptions(value: Partial<MlxMlModelOptions>);
33
+ export declare class MlxDriver extends LocalInferenceDriver {
34
+ private cacheControllerRaw?;
35
+ private cacheDisabledForVlm;
36
+ private readonly cacheBindingState;
44
37
  constructor(config: MlxDriverConfig);
45
- /**
46
- * Initialize process and cache runtime info
47
- */
48
- private ensureInitialized;
49
- /**
50
- * VLMモデルかどうかを判定
51
- */
52
- private isVLM;
53
- /**
54
- * Determine which API to use (chat or completion)
55
- * Simple logic based on runtime info only
56
- */
57
- private determineApi;
58
- /**
59
- * モデルがnativeツール対応かを判定
60
- * tool_call_format(Python側検出結果)を唯一の判断基準とする
61
- */
62
- private hasNativeToolSupport;
63
- /**
64
- * Execute query and return stream
65
- * Common logic for query and streamQuery
66
- */
67
- private executeQuery;
68
- /**
69
- * Query the AI model with a compiled prompt
70
- */
71
- query(prompt: CompiledPrompt, options?: QueryOptions): Promise<QueryResult>;
72
- /**
73
- * Stream query implementation
74
- */
75
- streamQuery(prompt: CompiledPrompt, options?: QueryOptions): Promise<StreamResult>;
38
+ get defaultOptions(): Partial<MlxQueryOptions>;
39
+ set defaultOptions(value: Partial<MlxQueryOptions>);
76
40
  /**
77
41
  * Get model capabilities (public API)
78
42
  *
79
43
  * Returns runtime information converted to camelCase
80
44
  */
81
45
  getCapabilities(): Promise<MlxModelCapabilities>;
82
- private logCacheStats;
83
- /**
84
- * Close the process
85
- */
86
46
  close(): Promise<void>;
47
+ private logCacheStats;
87
48
  }
88
49
  //# sourceMappingURL=mlx-driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mlx-driver.d.ts","sourceRoot":"","sources":["../../src/mlx-ml/mlx-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AAEnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAcpE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAYjE;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAyFD;;GAEG;AACH,qBAAa,SAAU,YAAW,QAAQ;IACxC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAwB;IAChD,OAAO,CAAC,oBAAoB,CAAS;IAErC,IAAI,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAE/C;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAEnD;gBAEW,MAAM,EAAE,eAAe;IAiBnC;;OAEG;YACW,iBAAiB;IA2C/B;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;;OAGG;IACH,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;OAGG;YACW,YAAY;IAuG1B;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAajF;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,YAAY,CAAC;IAuJxB;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAsCtD,OAAO,CAAC,aAAa;IAqBrB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
1
+ {"version":3,"file":"mlx-driver.d.ts","sourceRoot":"","sources":["../../src/mlx-ml/mlx-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS9D,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,oBAAoB;IACjD,OAAO,CAAC,kBAAkB,CAAC,CAAwB;IACnD,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;gBAE1C,MAAM,EAAE,eAAe;IA6CnC,IAAI,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAE7C;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,EAEjD;IAED;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA8CvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrC,OAAO,CAAC,aAAa;CAoBtB"}