@modular-prompt/driver 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -10
- package/dist/cache-controller.d.ts +4 -0
- package/dist/cache-controller.d.ts.map +1 -1
- package/dist/driver-registry/config-based-factory.d.ts.map +1 -1
- package/dist/driver-registry/config-based-factory.js +6 -0
- package/dist/driver-registry/config-based-factory.js.map +1 -1
- package/dist/driver-registry/factory-helper.d.ts.map +1 -1
- package/dist/driver-registry/factory-helper.js +9 -2
- package/dist/driver-registry/factory-helper.js.map +1 -1
- package/dist/driver-registry/index.d.ts +1 -1
- package/dist/driver-registry/index.d.ts.map +1 -1
- package/dist/driver-registry/types.d.ts +15 -1
- package/dist/driver-registry/types.d.ts.map +1 -1
- package/dist/formatter/converter.d.ts.map +1 -1
- package/dist/formatter/converter.js +31 -2
- package/dist/formatter/converter.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/local-inference/adapters.d.ts +6 -0
- package/dist/local-inference/adapters.d.ts.map +1 -1
- package/dist/local-inference/driver.d.ts.map +1 -1
- package/dist/local-inference/driver.js +45 -24
- package/dist/local-inference/driver.js.map +1 -1
- package/dist/local-inference/process-client.d.ts +4 -2
- package/dist/local-inference/process-client.d.ts.map +1 -1
- package/dist/local-inference/process-client.js +24 -8
- package/dist/local-inference/process-client.js.map +1 -1
- package/dist/local-inference/process-communication.d.ts +9 -2
- package/dist/local-inference/process-communication.d.ts.map +1 -1
- package/dist/local-inference/process-communication.js +37 -5
- package/dist/local-inference/process-communication.js.map +1 -1
- package/dist/local-inference/protocol.d.ts +4 -0
- package/dist/local-inference/protocol.d.ts.map +1 -1
- package/dist/local-inference/request-queue.d.ts +1 -1
- package/dist/local-inference/request-queue.d.ts.map +1 -1
- package/dist/local-inference/request-queue.js +26 -7
- package/dist/local-inference/request-queue.js.map +1 -1
- package/dist/local-inference/stream-utils.d.ts +6 -0
- package/dist/local-inference/stream-utils.d.ts.map +1 -1
- package/dist/local-inference/stream-utils.js.map +1 -1
- package/dist/mlx-ml/mlx-cache-controller.d.ts +9 -0
- package/dist/mlx-ml/mlx-cache-controller.d.ts.map +1 -1
- package/dist/mlx-ml/mlx-cache-controller.js +158 -33
- package/dist/mlx-ml/mlx-cache-controller.js.map +1 -1
- package/dist/mlx-ml/mlx-cache-support.d.ts +2 -2
- package/dist/mlx-ml/mlx-cache-support.d.ts.map +1 -1
- package/dist/mlx-ml/mlx-cache-support.js +8 -3
- package/dist/mlx-ml/mlx-cache-support.js.map +1 -1
- package/dist/mlx-ml/mlx-driver.d.ts +0 -1
- package/dist/mlx-ml/mlx-driver.d.ts.map +1 -1
- package/dist/mlx-ml/mlx-driver.js +1 -8
- package/dist/mlx-ml/mlx-driver.js.map +1 -1
- package/dist/mlx-ml/process/index.d.ts +1 -1
- package/dist/mlx-ml/process/index.d.ts.map +1 -1
- package/dist/mlx-ml/process/index.js +2 -2
- package/dist/mlx-ml/process/index.js.map +1 -1
- package/dist/models-config/index.d.ts +1 -1
- package/dist/models-config/index.d.ts.map +1 -1
- package/dist/models-config/index.js +1 -1
- package/dist/models-config/index.js.map +1 -1
- package/dist/models-config/resolve.d.ts +9 -1
- package/dist/models-config/resolve.d.ts.map +1 -1
- package/dist/models-config/resolve.js +94 -2
- package/dist/models-config/resolve.js.map +1 -1
- package/dist/models-config/types.d.ts +3 -1
- package/dist/models-config/types.d.ts.map +1 -1
- package/dist/pytorch/process/index.d.ts +4 -2
- package/dist/pytorch/process/index.d.ts.map +1 -1
- package/dist/pytorch/process/index.js +24 -7
- package/dist/pytorch/process/index.js.map +1 -1
- package/dist/pytorch/pytorch-cache-controller.d.ts +84 -0
- package/dist/pytorch/pytorch-cache-controller.d.ts.map +1 -0
- package/dist/pytorch/pytorch-cache-controller.js +742 -0
- package/dist/pytorch/pytorch-cache-controller.js.map +1 -0
- package/dist/pytorch/pytorch-cache-support.d.ts +23 -0
- package/dist/pytorch/pytorch-cache-support.d.ts.map +1 -0
- package/dist/pytorch/pytorch-cache-support.js +47 -0
- package/dist/pytorch/pytorch-cache-support.js.map +1 -0
- package/dist/pytorch/pytorch-driver.d.ts +8 -1
- package/dist/pytorch/pytorch-driver.d.ts.map +1 -1
- package/dist/pytorch/pytorch-driver.js +40 -0
- package/dist/pytorch/pytorch-driver.js.map +1 -1
- package/dist/runtime/check.d.ts.map +1 -1
- package/dist/runtime/check.js +8 -6
- package/dist/runtime/check.js.map +1 -1
- package/dist/runtime/index.d.ts +2 -2
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -2
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/manifest-core.d.mts +1 -0
- package/dist/runtime/manifest-core.mjs +1 -0
- package/dist/runtime/manifest-core.mjs.map +1 -1
- package/dist/runtime/manifest.d.ts +2 -0
- package/dist/runtime/manifest.d.ts.map +1 -1
- package/dist/runtime/manifest.js.map +1 -1
- package/dist/runtime/paths-core.d.mts +15 -1
- package/dist/runtime/paths-core.d.mts.map +1 -1
- package/dist/runtime/paths-core.mjs +50 -5
- package/dist/runtime/paths-core.mjs.map +1 -1
- package/dist/runtime/paths.d.ts +2 -2
- package/dist/runtime/paths.d.ts.map +1 -1
- package/dist/runtime/paths.js +2 -2
- package/dist/runtime/paths.js.map +1 -1
- package/dist/runtime/pytorch-template-core.d.mts +11 -0
- package/dist/runtime/pytorch-template-core.d.mts.map +1 -0
- package/dist/runtime/pytorch-template-core.mjs +54 -0
- package/dist/runtime/pytorch-template-core.mjs.map +1 -0
- package/dist/runtime/setup-commands-core.d.mts +3 -0
- package/dist/runtime/setup-commands-core.d.mts.map +1 -1
- package/dist/runtime/setup-commands-core.mjs +4 -0
- package/dist/runtime/setup-commands-core.mjs.map +1 -1
- package/dist/runtime/setup-commands.d.ts +1 -1
- package/dist/runtime/setup-commands.d.ts.map +1 -1
- package/dist/runtime/setup-commands.js +1 -1
- package/dist/runtime/setup-commands.js.map +1 -1
- package/docs/DRIVER_API.md +455 -0
- package/docs/LOCAL_MODEL_SETUP.md +765 -0
- package/docs/mlx-api-selection.md +301 -0
- package/package.json +9 -5
- package/scripts/runtime-cli.bin.test.ts +142 -0
- package/scripts/runtime-cli.js +305 -35
- package/scripts/runtime-cli.test.ts +163 -0
- package/src/mlx-ml/python/__main__.py +1 -1
- package/src/mlx-ml/python/backends/base.py +88 -18
- package/src/mlx-ml/python/backends/mlx_lm.py +28 -3
- package/src/mlx-ml/python/backends/mlx_vlm.py +679 -2
- package/src/mlx-ml/python/handlers/cache.py +4 -0
- package/src/mlx-ml/python/handlers/generate.py +33 -10
- package/src/mlx-ml/python/handlers/tokenize.py +1 -4
- package/src/mlx-ml/python/pyproject.toml +1 -1
- package/src/mlx-ml/python/server.py +2 -0
- package/src/mlx-ml/python/uv.lock +8 -8
- package/src/pytorch/templates/cpu-minimal/backends/base.py +139 -0
- package/src/pytorch/templates/cpu-minimal/backends/transformers_lm.py +1167 -0
- package/src/pytorch/{python → templates/cpu-minimal}/handlers/__init__.py +1 -0
- package/src/pytorch/templates/cpu-minimal/handlers/cache.py +88 -0
- package/src/pytorch/templates/cpu-minimal/handlers/generate.py +157 -0
- package/src/pytorch/{python → templates/cpu-minimal}/pyproject.toml +2 -2
- package/src/pytorch/{python → templates/cpu-minimal}/server.py +20 -2
- package/src/pytorch/templates/cpu-minimal/tests/test_cache_handler.py +284 -0
- package/src/pytorch/templates/cpu-minimal/tests/test_capabilities.py +14 -0
- package/src/pytorch/templates/cpu-minimal/tests/test_server.py +141 -0
- package/src/pytorch/templates/cpu-minimal/tests/test_transformers_errors.py +89 -0
- package/src/pytorch/templates/cpu-minimal/tests/test_transformers_lm_cache.py +554 -0
- package/src/pytorch/templates/cpu-minimal/utils/__init__.py +0 -0
- package/src/pytorch/{python → templates/cpu-minimal}/utils/token_utils.py +2 -2
- package/src/pytorch/templates/cpu-minimal/utils/transformers_errors.py +54 -0
- package/src/pytorch/{python → templates/cpu-minimal}/uv.lock +149 -109
- package/src/pytorch/templates/cuda/__main__.py +19 -0
- package/src/pytorch/templates/cuda/backends/__init__.py +3 -0
- package/src/pytorch/{python → templates/cuda}/backends/base.py +54 -6
- package/src/pytorch/templates/cuda/backends/transformers_lm.py +379 -0
- package/src/pytorch/templates/cuda/handlers/__init__.py +7 -0
- package/src/pytorch/templates/cuda/handlers/cache.py +93 -0
- package/src/pytorch/templates/cuda/handlers/cancel.py +53 -0
- package/src/pytorch/templates/cuda/handlers/capabilities.py +6 -0
- package/src/pytorch/templates/cuda/handlers/completion.py +15 -0
- package/src/pytorch/templates/cuda/handlers/format_test.py +70 -0
- package/src/pytorch/templates/cuda/handlers/generate.py +152 -0
- package/src/pytorch/templates/cuda/handlers/render.py +40 -0
- package/src/pytorch/templates/cuda/handlers/tokenize.py +63 -0
- package/src/pytorch/templates/cuda/pyproject.toml +37 -0
- package/src/pytorch/templates/cuda/server.py +158 -0
- package/src/pytorch/templates/cuda/tests/__init__.py +0 -0
- package/src/pytorch/templates/cuda/tests/test_cache_handler.py +207 -0
- package/src/pytorch/templates/cuda/tests/test_capabilities.py +14 -0
- package/src/pytorch/templates/cuda/tests/test_server.py +145 -0
- package/src/pytorch/templates/cuda/tests/test_transformers_errors.py +89 -0
- package/src/pytorch/templates/cuda/tests/test_transformers_lm_cache.py +288 -0
- package/src/pytorch/templates/cuda/utils/__init__.py +0 -0
- package/src/pytorch/templates/cuda/utils/chat_template_constraints.py +164 -0
- package/src/pytorch/templates/cuda/utils/prompt_builder.py +54 -0
- package/src/pytorch/templates/cuda/utils/template_render.py +80 -0
- package/src/pytorch/templates/cuda/utils/token_utils.py +376 -0
- package/src/pytorch/templates/cuda/utils/transformers_errors.py +54 -0
- package/src/pytorch/templates/cuda/uv.lock +734 -0
- package/src/pytorch/python/backends/transformers_lm.py +0 -127
- package/src/pytorch/python/handlers/generate.py +0 -68
- /package/src/pytorch/{python → templates/cpu-minimal}/__main__.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/backends/__init__.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/cancel.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/capabilities.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/completion.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/format_test.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/render.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/handlers/tokenize.py +0 -0
- /package/src/pytorch/{python/utils → templates/cpu-minimal/tests}/__init__.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/utils/chat_template_constraints.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/utils/prompt_builder.py +0 -0
- /package/src/pytorch/{python → templates/cpu-minimal}/utils/template_render.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pytorch-cache-controller.js","sourceRoot":"","sources":["../../src/pytorch/pytorch-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
|
+
* PyTorch 向け KV キャッシュ連携を構築する。
|
|
8
|
+
* `PromptCacheController` が `PyTorchCacheController` でない場合は
|
|
9
|
+
* undefined(旧挙動と同様)。PyTorch backend は現状 VLM をサポートしない。
|
|
10
|
+
*/
|
|
11
|
+
export declare function createPytorchCacheSupport(controller: PromptCacheController): LocalInferenceCacheSupport | undefined;
|
|
12
|
+
export declare function bindPytorchCacheOnCapabilitiesLoaded(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=pytorch-cache-support.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pytorch-cache-support.d.ts","sourceRoot":"","sources":["../../src/pytorch/pytorch-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;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGpE;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,qBAAqB,GAChC,0BAA0B,GAAG,SAAS,CA8BxC;AAED,wBAAgB,oCAAoC,CAClD,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;QACd,2BAA2B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAC;KAC/E,CAAC;CACH,EACD,aAAa,CAAC,EAAE,MAAM,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PyTorchCacheController } from './pytorch-cache-controller.js';
|
|
2
|
+
/**
|
|
3
|
+
* PyTorch 向け KV キャッシュ連携を構築する。
|
|
4
|
+
* `PromptCacheController` が `PyTorchCacheController` でない場合は
|
|
5
|
+
* undefined(旧挙動と同様)。PyTorch backend は現状 VLM をサポートしない。
|
|
6
|
+
*/
|
|
7
|
+
export function createPytorchCacheSupport(controller) {
|
|
8
|
+
if (!(controller instanceof PyTorchCacheController)) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
const pytorchCache = controller;
|
|
12
|
+
return {
|
|
13
|
+
setModelKind: (modelKind) => pytorchCache.setModelKind(modelKind),
|
|
14
|
+
async bind(process, formatterOptions, preprocess) {
|
|
15
|
+
await pytorchCache.bind(process, formatterOptions, preprocess);
|
|
16
|
+
},
|
|
17
|
+
shouldDisableForVlm: (modelKind) => modelKind === 'vlm',
|
|
18
|
+
recordQuery: () => pytorchCache.recordQuery?.(),
|
|
19
|
+
getGrowthBefore: () => pytorchCache.getStats().cacheGrowthTokens,
|
|
20
|
+
getWriteTokensSince: (growthBefore) => Math.max(0, pytorchCache.getStats().cacheGrowthTokens - growthBefore),
|
|
21
|
+
prepare: (params) => pytorchCache.prepare(params),
|
|
22
|
+
readTokenCount: (cachePath) => pytorchCache.readCacheTokenCount(cachePath),
|
|
23
|
+
recordPromptTokens: (promptTokens, cacheTokensUsed) => {
|
|
24
|
+
pytorchCache.recordPromptTokens(promptTokens, cacheTokensUsed);
|
|
25
|
+
},
|
|
26
|
+
logStats: () => {
|
|
27
|
+
// PyTorchDriver.close() logs controller-specific statistics.
|
|
28
|
+
},
|
|
29
|
+
close: () => pytorchCache.close(),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export function bindPytorchCacheOnCapabilitiesLoaded(cache, cacheBound, runtimeInfo, ctx, onVlmDisabled) {
|
|
33
|
+
if (cacheBound.bound) {
|
|
34
|
+
return Promise.resolve();
|
|
35
|
+
}
|
|
36
|
+
cache.setModelKind?.(runtimeInfo.model_kind);
|
|
37
|
+
if (cache.shouldDisableForVlm(runtimeInfo.model_kind)) {
|
|
38
|
+
onVlmDisabled?.();
|
|
39
|
+
return Promise.resolve();
|
|
40
|
+
}
|
|
41
|
+
return cache
|
|
42
|
+
.bind(ctx.process, ctx.formatterOptions, (messages) => ctx.modelProcessor.applyChatSpecificProcessing(messages))
|
|
43
|
+
.then(() => {
|
|
44
|
+
cacheBound.bound = true;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=pytorch-cache-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pytorch-cache-support.js","sourceRoot":"","sources":["../../src/pytorch/pytorch-cache-support.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAiC;IAEjC,IAAI,CAAC,CAAC,UAAU,YAAY,sBAAsB,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC;IAChC,OAAO;QACL,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU;YAC9C,MAAM,YAAY,CAAC,IAAI,CACrB,OAAwD,EACxD,gBAAgB,EAChB,UAAU,CACX,CAAC;QACJ,CAAC;QACD,mBAAmB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK;QACvD,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;QAC/C,eAAe,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,iBAAiB;QAChE,mBAAmB,EAAE,CAAC,YAAY,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACvE,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAgC;QAChF,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAC;QAC1E,kBAAkB,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE;YACpD,YAAY,CAAC,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACjE,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,6DAA6D;QAC/D,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,KAAiC,EACjC,UAA8B,EAC9B,WAA0C,EAC1C,GAMC,EACD,aAA0B;IAE1B,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,aAAa,EAAE,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK;SACT,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CACpD,GAAG,CAAC,cAAc,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CACzD;SACA,IAAI,CAAC,GAAG,EAAE;QACT,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LocalInferenceDriver } from '../local-inference/driver.js';
|
|
2
2
|
import type { InferenceCapabilities } from '../local-inference/protocol.js';
|
|
3
3
|
import type { FormatterOptions } from '../formatter/types.js';
|
|
4
|
+
import type { PromptCacheController } from '../cache-controller.js';
|
|
4
5
|
import type { PyTorchQueryOptions } from './pytorch-options.js';
|
|
5
6
|
export interface PyTorchModelCapabilities {
|
|
6
7
|
methods: InferenceCapabilities['methods'];
|
|
@@ -19,17 +20,23 @@ export interface PyTorchDriverConfig {
|
|
|
19
20
|
formatterOptions?: FormatterOptions;
|
|
20
21
|
/** 外部 venv パス(未指定時は ~/.modular-prompt/runtimes/pytorch/.venv) */
|
|
21
22
|
venvPath?: string;
|
|
22
|
-
/** PYTORCH_DEVICE(例: cpu, cuda)。未指定時は
|
|
23
|
+
/** PYTORCH_DEVICE(例: cpu, cuda)。未指定時は template の既定値(cpu/cuda) */
|
|
23
24
|
device?: string;
|
|
25
|
+
/** 外部で生成したキャッシュコントローラー */
|
|
26
|
+
cacheController?: PromptCacheController;
|
|
24
27
|
}
|
|
25
28
|
/**
|
|
26
29
|
* Transformers + PyTorch バックエンド(LIP)。
|
|
27
30
|
* 共通ロジックは LocalInferenceDriver に委譲する。
|
|
28
31
|
*/
|
|
29
32
|
export declare class PyTorchDriver extends LocalInferenceDriver {
|
|
33
|
+
private cacheControllerRaw?;
|
|
34
|
+
private readonly cacheBindingState;
|
|
30
35
|
constructor(config: PyTorchDriverConfig);
|
|
31
36
|
get defaultOptions(): Partial<PyTorchQueryOptions>;
|
|
32
37
|
set defaultOptions(value: Partial<PyTorchQueryOptions>);
|
|
33
38
|
getCapabilities(): Promise<PyTorchModelCapabilities>;
|
|
39
|
+
close(): Promise<void>;
|
|
40
|
+
private logCacheStats;
|
|
34
41
|
}
|
|
35
42
|
//# sourceMappingURL=pytorch-driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pytorch-driver.d.ts","sourceRoot":"","sources":["../../src/pytorch/pytorch-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"pytorch-driver.d.ts","sourceRoot":"","sources":["../../src/pytorch/pytorch-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAShE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1C,aAAa,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACvD,QAAQ,EAAE;QACR,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC;KACnE,CAAC;IACF,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,oBAAoB;IACrD,OAAO,CAAC,kBAAkB,CAAC,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;gBAE1C,MAAM,EAAE,mBAAmB;IAmCvC,IAAI,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAEjD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAErD;IAEK,eAAe,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAqB3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrC,OAAO,CAAC,aAAa;CAqBtB"}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { LocalInferenceDriver } from '../local-inference/driver.js';
|
|
2
2
|
import { PyTorchProcess } from './process/index.js';
|
|
3
3
|
import { pytorchLocalInferenceAdapters } from './pytorch-local-inference-adapters.js';
|
|
4
|
+
import { bindPytorchCacheOnCapabilitiesLoaded, createPytorchCacheSupport, } from './pytorch-cache-support.js';
|
|
5
|
+
import { PyTorchCacheController } from './pytorch-cache-controller.js';
|
|
4
6
|
/**
|
|
5
7
|
* Transformers + PyTorch バックエンド(LIP)。
|
|
6
8
|
* 共通ロジックは LocalInferenceDriver に委譲する。
|
|
7
9
|
*/
|
|
8
10
|
export class PyTorchDriver extends LocalInferenceDriver {
|
|
11
|
+
cacheControllerRaw;
|
|
12
|
+
cacheBindingState = { bound: false };
|
|
9
13
|
constructor(config) {
|
|
10
14
|
const process = new PyTorchProcess(config.model, {
|
|
11
15
|
venvPath: config.venvPath,
|
|
12
16
|
device: config.device,
|
|
13
17
|
});
|
|
18
|
+
const cacheSupport = config.cacheController
|
|
19
|
+
? createPytorchCacheSupport(config.cacheController)
|
|
20
|
+
: undefined;
|
|
14
21
|
super({
|
|
15
22
|
model: config.model,
|
|
16
23
|
process,
|
|
@@ -18,7 +25,17 @@ export class PyTorchDriver extends LocalInferenceDriver {
|
|
|
18
25
|
formatterOptions: config.formatterOptions,
|
|
19
26
|
defaultOptions: config.defaultOptions,
|
|
20
27
|
loggerPrefix: 'PyTorch',
|
|
28
|
+
cache: cacheSupport,
|
|
29
|
+
onCapabilitiesLoaded: async (runtimeInfo, ctx) => {
|
|
30
|
+
if (!cacheSupport)
|
|
31
|
+
return;
|
|
32
|
+
await bindPytorchCacheOnCapabilitiesLoaded(cacheSupport, this.cacheBindingState, runtimeInfo, ctx, () => {
|
|
33
|
+
this.queryLogger.log.info('PyTorch cache is disabled for this model');
|
|
34
|
+
this.disableCacheSupport();
|
|
35
|
+
});
|
|
36
|
+
},
|
|
21
37
|
});
|
|
38
|
+
this.cacheControllerRaw = config.cacheController;
|
|
22
39
|
}
|
|
23
40
|
get defaultOptions() {
|
|
24
41
|
return super.defaultOptions;
|
|
@@ -44,5 +61,28 @@ export class PyTorchDriver extends LocalInferenceDriver {
|
|
|
44
61
|
chatRestrictions: runtimeInfo.chat_restrictions,
|
|
45
62
|
};
|
|
46
63
|
}
|
|
64
|
+
async close() {
|
|
65
|
+
this.logCacheStats();
|
|
66
|
+
await super.close();
|
|
67
|
+
}
|
|
68
|
+
logCacheStats() {
|
|
69
|
+
if (!(this.cacheControllerRaw instanceof PyTorchCacheController))
|
|
70
|
+
return;
|
|
71
|
+
const stats = this.cacheControllerRaw.getStats();
|
|
72
|
+
if (stats.totalQueries === 0)
|
|
73
|
+
return;
|
|
74
|
+
const queryBreakdown = stats.incremental + stats.fresh > 0
|
|
75
|
+
? ` (incremental ${stats.incremental}, fresh ${stats.fresh})`
|
|
76
|
+
: '';
|
|
77
|
+
const parts = [`cache stats: ${stats.totalQueries} queries${queryBreakdown}`];
|
|
78
|
+
if (stats.totalPromptTokens > 0) {
|
|
79
|
+
const reusedRate = ((stats.prefillReusedTokens / stats.totalPromptTokens) * 100).toFixed(0);
|
|
80
|
+
parts.push(`prompt ${stats.totalPromptTokens} tokens, ${stats.prefillReusedTokens} reused (${reusedRate}%)`);
|
|
81
|
+
}
|
|
82
|
+
if (stats.cacheGrowthTokens > 0) {
|
|
83
|
+
parts.push(`cache +${stats.cacheGrowthTokens} tokens`);
|
|
84
|
+
}
|
|
85
|
+
this.queryLogger.log.verbose(parts.join(' | '));
|
|
86
|
+
}
|
|
47
87
|
}
|
|
48
88
|
//# sourceMappingURL=pytorch-driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pytorch-driver.js","sourceRoot":"","sources":["../../src/pytorch/pytorch-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"pytorch-driver.js","sourceRoot":"","sources":["../../src/pytorch/pytorch-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/runtime/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/runtime/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAA2C,cAAc,EAAE,MAAM,YAAY,CAAC;AAMrF,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,cAAc;CAgBpC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAIhE"}
|
package/dist/runtime/check.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import { getVenvPath, isRuntimeReady } from './paths.js';
|
|
2
|
-
import {
|
|
1
|
+
import { getPytorchRuntimePythonDir, getVenvPath, isRuntimeReady } from './paths.js';
|
|
2
|
+
import { SETUP_MLX_CLI, SETUP_PYTORCH_CLI, } from './setup-commands.js';
|
|
3
3
|
export class RuntimeNotReadyError extends Error {
|
|
4
4
|
profile;
|
|
5
5
|
setupCommand;
|
|
6
6
|
constructor(profile) {
|
|
7
7
|
const setupCommand = profile === 'mlx'
|
|
8
|
-
?
|
|
8
|
+
? SETUP_MLX_CLI
|
|
9
9
|
: profile === 'pytorch'
|
|
10
|
-
?
|
|
10
|
+
? SETUP_PYTORCH_CLI
|
|
11
11
|
: SETUP_MLX_CLI.replace(' setup mlx', ` setup ${profile}`);
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const runtimePath = profile === 'pytorch'
|
|
13
|
+
? `${getVenvPath(profile)} or ${getPytorchRuntimePythonDir()}`
|
|
14
|
+
: getVenvPath(profile);
|
|
15
|
+
super(`${profile} runtime is not set up at ${runtimePath}. Run: ${setupCommand}`);
|
|
14
16
|
this.name = 'RuntimeNotReadyError';
|
|
15
17
|
this.profile = profile;
|
|
16
18
|
this.setupCommand = setupCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/runtime/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/runtime/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,OAAO,CAAiB;IACxB,YAAY,CAAS;IAE9B,YAAY,OAAuB;QACjC,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK;YACf,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,OAAO,KAAK,SAAS;gBACrB,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;QACjE,MAAM,WAAW,GACf,OAAO,KAAK,SAAS;YACnB,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,0BAA0B,EAAE,EAAE;YAC9D,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3B,KAAK,CAAC,GAAG,OAAO,6BAA6B,WAAW,UAAU,YAAY,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACxD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { MODULAR_PROMPT_DIR, RUNTIME_PROFILES, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchPythonDir, resolvePackageRoot, resolvePackageRootFromProcessModule, type RuntimeProfile, } from './paths.js';
|
|
1
|
+
export { MODULAR_PROMPT_DIR, RUNTIME_PROFILES, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchRuntimePythonDir, getPytorchPythonDir, getPytorchTemplateDir, PYTORCH_DEFAULT_VARIANT, resolvePackageRoot, resolvePackageRootFromProcessModule, type RuntimeProfile, } from './paths.js';
|
|
2
2
|
export { readManifest, writeManifest, collectInstalledPackages, type RuntimeManifest, } from './manifest.js';
|
|
3
3
|
export { RuntimeNotReadyError, isRuntimeReady, assertRuntimeReady, } from './check.js';
|
|
4
|
-
export { SETUP_MLX_MONOREPO, SETUP_PYTORCH_MONOREPO, SETUP_MLX_CLI, SETUP_PYTORCH_CLI, } from './setup-commands.js';
|
|
4
|
+
export { SETUP_MLX_MONOREPO, SETUP_PYTORCH_MONOREPO, SETUP_MLX_CLI, SETUP_PYTORCH_CLI, SYNC_PYTORCH_MONOREPO, SYNC_PYTORCH_CLI, } from './setup-commands.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mCAAmC,EACnC,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,mCAAmC,EACnC,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { MODULAR_PROMPT_DIR, RUNTIME_PROFILES, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchPythonDir, resolvePackageRoot, resolvePackageRootFromProcessModule, } from './paths.js';
|
|
1
|
+
export { MODULAR_PROMPT_DIR, RUNTIME_PROFILES, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchRuntimePythonDir, getPytorchPythonDir, getPytorchTemplateDir, PYTORCH_DEFAULT_VARIANT, resolvePackageRoot, resolvePackageRootFromProcessModule, } from './paths.js';
|
|
2
2
|
export { readManifest, writeManifest, collectInstalledPackages, } from './manifest.js';
|
|
3
3
|
export { RuntimeNotReadyError, isRuntimeReady, assertRuntimeReady, } from './check.js';
|
|
4
|
-
export { SETUP_MLX_MONOREPO, SETUP_PYTORCH_MONOREPO, SETUP_MLX_CLI, SETUP_PYTORCH_CLI, } from './setup-commands.js';
|
|
4
|
+
export { SETUP_MLX_MONOREPO, SETUP_PYTORCH_MONOREPO, SETUP_MLX_CLI, SETUP_PYTORCH_CLI, SYNC_PYTORCH_MONOREPO, SYNC_PYTORCH_CLI, } from './setup-commands.js';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mCAAmC,GAEpC,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,wBAAwB,GAEzB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,mCAAmC,GAEpC,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,wBAAwB,GAEzB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
|
|
@@ -63,6 +63,7 @@ export function writeManifest(profile, manifest) {
|
|
|
63
63
|
* @property {string} pythonVersion
|
|
64
64
|
* @property {string} createdAt
|
|
65
65
|
* @property {string} [variant]
|
|
66
|
+
* @property {string} [cudaVersion]
|
|
66
67
|
* @property {string} [torchVersion]
|
|
67
68
|
* @property {Record<string, string>} [packages]
|
|
68
69
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-core.mjs","sourceRoot":"","sources":["../../src/runtime/manifest-core.mjs"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,SAAS,iBAAiB,CAAC,QAAQ;IACjC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO;QACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC;QACzC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAS,EAAE,QAAQ;IAC1D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,uCAAuC,UAAU,GAAG,EAAE;YAC5E,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,qCAAqC;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QACnC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAO;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAO,EAAE,QAAQ;IAC7C,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5F,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"manifest-core.mjs","sourceRoot":"","sources":["../../src/runtime/manifest-core.mjs"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,SAAS,iBAAiB,CAAC,QAAQ;IACjC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO;QACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC;QACzC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAS,EAAE,QAAQ;IAC1D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,uCAAuC,UAAU,GAAG,EAAE;YAC5E,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,qCAAqC;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QACnC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAO;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAO,EAAE,QAAQ;IAC7C,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;;;;;;;GAWG"}
|
|
@@ -8,6 +8,8 @@ export interface RuntimeManifest {
|
|
|
8
8
|
createdAt: string;
|
|
9
9
|
/** PyTorch 等の runtime variant(例: cpu-minimal) */
|
|
10
10
|
variant?: string;
|
|
11
|
+
/** CUDA variant で選択した CUDA toolkit index のバージョン(例: 12.4) */
|
|
12
|
+
cudaVersion?: string;
|
|
11
13
|
/** セットアップ時に記録した torch バージョン */
|
|
12
14
|
torchVersion?: string;
|
|
13
15
|
packages?: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/runtime/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EACL,wBAAwB,EAGzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI,CAE5E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAEtF;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/runtime/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EACL,wBAAwB,EAGzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI,CAE5E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAEtF;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/runtime/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,YAAY,IAAI,gBAAgB,EAChC,aAAa,IAAI,iBAAiB,GACnC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/runtime/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,YAAY,IAAI,gBAAgB,EAChC,aAAa,IAAI,iBAAiB,GACnC,MAAM,qBAAqB,CAAC;AAiB7B,MAAM,UAAU,YAAY,CAAC,OAAuB;IAClD,OAAO,gBAAgB,CAAC,OAAO,CAA2B,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAuB,EAAE,QAAyB;IAC9E,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -8,10 +8,24 @@ export function getRuntimeDir(profile: any): string;
|
|
|
8
8
|
export function getVenvPath(profile: any): string;
|
|
9
9
|
export function getManifestPath(profile: any): string;
|
|
10
10
|
export function getMlxPythonDir(packageRoot: any): string;
|
|
11
|
-
|
|
11
|
+
/** ~/.modular-prompt/runtimes/pytorch/python の実行時プロジェクト */
|
|
12
|
+
export function getPytorchRuntimePythonDir(): string;
|
|
13
|
+
/**
|
|
14
|
+
* PyTorch の実行時プロジェクトを解決する後方互換 API。
|
|
15
|
+
* packageRoot は旧実装との互換性のため受け取るが、現在は使用しない。
|
|
16
|
+
*/
|
|
17
|
+
export function getPytorchPythonDir(_packageRoot: any): string;
|
|
18
|
+
/**
|
|
19
|
+
* @modular-prompt/driver パッケージ内の PyTorch template を解決
|
|
20
|
+
* @param {string} packageRoot
|
|
21
|
+
* @param {string} [variant]
|
|
22
|
+
*/
|
|
23
|
+
export function getPytorchTemplateDir(packageRoot: string, variant?: string): string;
|
|
12
24
|
export function isRuntimeReady(profile: any): boolean;
|
|
13
25
|
/** ホーム配下の設定ディレクトリ名 */
|
|
14
26
|
export const MODULAR_PROMPT_DIR: ".modular-prompt";
|
|
15
27
|
/** サポートする runtime profile */
|
|
16
28
|
export const RUNTIME_PROFILES: string[];
|
|
29
|
+
/** 初期 PyTorch runtime として提供する template variant */
|
|
30
|
+
export const PYTORCH_DEFAULT_VARIANT: "cpu-minimal";
|
|
17
31
|
//# sourceMappingURL=paths-core.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths-core.d.mts","sourceRoot":"","sources":["../../src/runtime/paths-core.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths-core.d.mts","sourceRoot":"","sources":["../../src/runtime/paths-core.mjs"],"names":[],"mappings":"AAaA;;;GAGG;AACH,+CAKC;AAED,0CAEC;AAED,oDAEC;AAED,kDAEC;AAED,sDAEC;AA6BD,0DAEC;AAED,2DAA2D;AAC3D,qDAEC;AAED;;;GAGG;AACH,+DAEC;AAED;;;;GAIG;AACH,mDAHW,MAAM,YACN,MAAM,UAIhB;AAED,sDAkBC;AA3GD,sBAAsB;AACtB,iCAAkC,iBAAiB,CAAC;AAEpD,6BAA6B;AAC7B,wCAAmD;AAEnD,kDAAkD;AAClD,sCAAuC,aAAa,CAAC"}
|
|
@@ -8,6 +8,9 @@ export const MODULAR_PROMPT_DIR = '.modular-prompt';
|
|
|
8
8
|
/** サポートする runtime profile */
|
|
9
9
|
export const RUNTIME_PROFILES = ['mlx', 'pytorch'];
|
|
10
10
|
|
|
11
|
+
/** 初期 PyTorch runtime として提供する template variant */
|
|
12
|
+
export const PYTORCH_DEFAULT_VARIANT = 'cpu-minimal';
|
|
13
|
+
|
|
11
14
|
/**
|
|
12
15
|
* ~/.modular-prompt のルートパス
|
|
13
16
|
* MODULAR_PROMPT_HOME 環境変数で上書き可能(テスト用)
|
|
@@ -50,18 +53,60 @@ function resolvePythonProjectDir(packageRoot, segment) {
|
|
|
50
53
|
return srcPython;
|
|
51
54
|
}
|
|
52
55
|
|
|
56
|
+
function resolveTemplateDir(packageRoot, segment, variant) {
|
|
57
|
+
const distTemplate = path.join(packageRoot, 'dist', segment, 'templates', variant);
|
|
58
|
+
const srcTemplate = path.join(packageRoot, 'src', segment, 'templates', variant);
|
|
59
|
+
if (existsSync(distTemplate)) {
|
|
60
|
+
return distTemplate;
|
|
61
|
+
}
|
|
62
|
+
if (existsSync(srcTemplate)) {
|
|
63
|
+
return srcTemplate;
|
|
64
|
+
}
|
|
65
|
+
return srcTemplate;
|
|
66
|
+
}
|
|
67
|
+
|
|
53
68
|
export function getMlxPythonDir(packageRoot) {
|
|
54
69
|
return resolvePythonProjectDir(packageRoot, 'mlx-ml');
|
|
55
70
|
}
|
|
56
71
|
|
|
57
|
-
|
|
58
|
-
|
|
72
|
+
/** ~/.modular-prompt/runtimes/pytorch/python の実行時プロジェクト */
|
|
73
|
+
export function getPytorchRuntimePythonDir() {
|
|
74
|
+
return path.join(getRuntimeDir('pytorch'), 'python');
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* PyTorch の実行時プロジェクトを解決する後方互換 API。
|
|
79
|
+
* packageRoot は旧実装との互換性のため受け取るが、現在は使用しない。
|
|
80
|
+
*/
|
|
81
|
+
export function getPytorchPythonDir(_packageRoot) {
|
|
82
|
+
return getPytorchRuntimePythonDir();
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* @modular-prompt/driver パッケージ内の PyTorch template を解決
|
|
87
|
+
* @param {string} packageRoot
|
|
88
|
+
* @param {string} [variant]
|
|
89
|
+
*/
|
|
90
|
+
export function getPytorchTemplateDir(packageRoot, variant = PYTORCH_DEFAULT_VARIANT) {
|
|
91
|
+
return resolveTemplateDir(packageRoot, 'pytorch', variant);
|
|
59
92
|
}
|
|
60
93
|
|
|
61
94
|
export function isRuntimeReady(profile) {
|
|
62
95
|
const venv = getVenvPath(profile);
|
|
63
|
-
|
|
96
|
+
const venvReady =
|
|
64
97
|
existsSync(path.join(venv, 'bin', 'python')) ||
|
|
65
|
-
existsSync(path.join(venv, 'Scripts', 'python.exe'))
|
|
66
|
-
)
|
|
98
|
+
existsSync(path.join(venv, 'Scripts', 'python.exe'));
|
|
99
|
+
if (!venvReady) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (profile === 'pytorch') {
|
|
104
|
+
const pythonDir = getPytorchRuntimePythonDir();
|
|
105
|
+
return (
|
|
106
|
+
existsSync(path.join(pythonDir, 'pyproject.toml')) &&
|
|
107
|
+
existsSync(path.join(pythonDir, '__main__.py'))
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return true;
|
|
67
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths-core.mjs","sourceRoot":"","sources":["../../src/runtime/paths-core.mjs"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,sBAAsB;AACtB,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEpD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAO;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAO;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAO;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,WAAW,EAAE,OAAO;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAW;IACzC,OAAO,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"paths-core.mjs","sourceRoot":"","sources":["../../src/runtime/paths-core.mjs"],"names":[],"mappings":"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"}
|
package/dist/runtime/paths.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MODULAR_PROMPT_DIR, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchPythonDir, isRuntimeReady } from './paths-core.mjs';
|
|
2
|
-
export { MODULAR_PROMPT_DIR, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchPythonDir, isRuntimeReady, };
|
|
1
|
+
import { MODULAR_PROMPT_DIR, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchRuntimePythonDir, getPytorchPythonDir, getPytorchTemplateDir, PYTORCH_DEFAULT_VARIANT, isRuntimeReady } from './paths-core.mjs';
|
|
2
|
+
export { MODULAR_PROMPT_DIR, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchRuntimePythonDir, getPytorchPythonDir, getPytorchTemplateDir, PYTORCH_DEFAULT_VARIANT, isRuntimeReady, };
|
|
3
3
|
/** サポートする runtime profile */
|
|
4
4
|
export type RuntimeProfile = 'mlx' | 'pytorch';
|
|
5
5
|
export declare const RUNTIME_PROFILES: RuntimeProfile[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAElB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,cAAc,GACf,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,SAAS,CAAC;AAE/C,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAA8C,CAAC;AAE5F;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wCAAwC;AACxC,wBAAgB,mCAAmC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGjF"}
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAElB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,SAAS,CAAC;AAE/C,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAA8C,CAAC;AAE5F;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wCAAwC;AACxC,wBAAgB,mCAAmC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGjF"}
|
package/dist/runtime/paths.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import { fileURLToPath } from 'url';
|
|
3
|
-
import { MODULAR_PROMPT_DIR, RUNTIME_PROFILES as RUNTIME_PROFILES_CORE, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchPythonDir, isRuntimeReady, } from './paths-core.mjs';
|
|
4
|
-
export { MODULAR_PROMPT_DIR, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchPythonDir, isRuntimeReady, };
|
|
3
|
+
import { MODULAR_PROMPT_DIR, RUNTIME_PROFILES as RUNTIME_PROFILES_CORE, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchRuntimePythonDir, getPytorchPythonDir, getPytorchTemplateDir, PYTORCH_DEFAULT_VARIANT, isRuntimeReady, } from './paths-core.mjs';
|
|
4
|
+
export { MODULAR_PROMPT_DIR, getModularPromptHome, getRuntimesRoot, getRuntimeDir, getVenvPath, getManifestPath, getMlxPythonDir, getPytorchRuntimePythonDir, getPytorchPythonDir, getPytorchTemplateDir, PYTORCH_DEFAULT_VARIANT, isRuntimeReady, };
|
|
5
5
|
export const RUNTIME_PROFILES = RUNTIME_PROFILES_CORE;
|
|
6
6
|
/**
|
|
7
7
|
* @modular-prompt/driver パッケージルート(dist/ または packages/driver/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,IAAI,qBAAqB,EACzC,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,cAAc,GACf,CAAC;AAKF,MAAM,CAAC,MAAM,gBAAgB,GAAqB,qBAAyC,CAAC;AAE5F;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,mCAAmC,CAAC,aAAqB;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7D,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,IAAI,qBAAqB,EACzC,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,CAAC;AAKF,MAAM,CAAC,MAAM,gBAAgB,GAAqB,qBAAyC,CAAC;AAE5F;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,mCAAmC,CAAC,aAAqB;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7D,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 初回 setup 用に template 一式を runtime へ seed する。
|
|
3
|
+
* 既存 runtime の pyproject.toml / uv.lock はユーザー管理として保持する。
|
|
4
|
+
*/
|
|
5
|
+
export function seedPytorchTemplate(templateDir: any, runtimePythonDir: any): void;
|
|
6
|
+
/**
|
|
7
|
+
* 既存 runtime のコードを template から同期する。
|
|
8
|
+
* pyproject.toml と uv.lock は上書きしない。
|
|
9
|
+
*/
|
|
10
|
+
export function syncPytorchTemplate(templateDir: any, runtimePythonDir: any): void;
|
|
11
|
+
//# sourceMappingURL=pytorch-template-core.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pytorch-template-core.d.mts","sourceRoot":"","sources":["../../src/runtime/pytorch-template-core.mjs"],"names":[],"mappings":"AAwBA;;;GAGG;AACH,mFAgBC;AAED;;;GAGG;AACH,mFAGC"}
|