@modular-prompt/driver 0.14.0 → 0.15.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 +58 -5
- package/dist/driver-registry/ai-service.d.ts +23 -1
- package/dist/driver-registry/ai-service.d.ts.map +1 -1
- package/dist/driver-registry/ai-service.js +44 -10
- package/dist/driver-registry/ai-service.js.map +1 -1
- package/dist/driver-registry/config-based-factory.d.ts.map +1 -1
- package/dist/driver-registry/config-based-factory.js +16 -0
- package/dist/driver-registry/config-based-factory.js.map +1 -1
- package/dist/driver-registry/factory-helper.d.ts +2 -0
- package/dist/driver-registry/factory-helper.d.ts.map +1 -1
- package/dist/driver-registry/factory-helper.js +21 -3
- package/dist/driver-registry/factory-helper.js.map +1 -1
- package/dist/driver-registry/index.d.ts +2 -2
- package/dist/driver-registry/index.d.ts.map +1 -1
- package/dist/driver-registry/index.js +1 -1
- package/dist/driver-registry/index.js.map +1 -1
- package/dist/driver-registry/registry.d.ts.map +1 -1
- package/dist/driver-registry/registry.js +3 -1
- package/dist/driver-registry/registry.js.map +1 -1
- package/dist/driver-registry/types.d.ts +8 -2
- package/dist/driver-registry/types.d.ts.map +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/local-inference/adapters.d.ts +66 -0
- package/dist/local-inference/adapters.d.ts.map +1 -0
- package/dist/local-inference/adapters.js +2 -0
- package/dist/local-inference/adapters.js.map +1 -0
- package/dist/local-inference/driver.d.ts +51 -0
- package/dist/local-inference/driver.d.ts.map +1 -0
- package/dist/local-inference/driver.js +309 -0
- package/dist/local-inference/driver.js.map +1 -0
- package/dist/local-inference/index.d.ts +22 -0
- package/dist/local-inference/index.d.ts.map +1 -0
- package/dist/local-inference/index.js +17 -0
- package/dist/local-inference/index.js.map +1 -0
- package/dist/local-inference/process-client.d.ts +50 -0
- package/dist/local-inference/process-client.d.ts.map +1 -0
- package/dist/local-inference/process-client.js +92 -0
- package/dist/local-inference/process-client.js.map +1 -0
- package/dist/local-inference/process-communication.d.ts +41 -0
- package/dist/local-inference/process-communication.d.ts.map +1 -0
- package/dist/{mlx-ml/process → local-inference}/process-communication.js +25 -61
- package/dist/local-inference/process-communication.js.map +1 -0
- package/dist/local-inference/process-port.d.ts +12 -0
- package/dist/local-inference/process-port.d.ts.map +1 -0
- package/dist/local-inference/process-port.js +2 -0
- package/dist/local-inference/process-port.js.map +1 -0
- package/dist/local-inference/prompt-utils.d.ts +6 -0
- package/dist/local-inference/prompt-utils.d.ts.map +1 -0
- package/dist/local-inference/prompt-utils.js +17 -0
- package/dist/local-inference/prompt-utils.js.map +1 -0
- package/dist/local-inference/protocol.d.ts +192 -0
- package/dist/local-inference/protocol.d.ts.map +1 -0
- package/dist/local-inference/protocol.js +2 -0
- package/dist/local-inference/protocol.js.map +1 -0
- package/dist/local-inference/queue-types.d.ts +54 -0
- package/dist/local-inference/queue-types.d.ts.map +1 -0
- package/dist/local-inference/queue-types.js +2 -0
- package/dist/local-inference/queue-types.js.map +1 -0
- package/dist/local-inference/request-queue.d.ts +36 -0
- package/dist/local-inference/request-queue.d.ts.map +1 -0
- package/dist/{mlx-ml/process/queue.js → local-inference/request-queue.js} +83 -56
- package/dist/local-inference/request-queue.js.map +1 -0
- package/dist/local-inference/stream-utils.d.ts +19 -0
- package/dist/local-inference/stream-utils.d.ts.map +1 -0
- package/dist/local-inference/stream-utils.js +76 -0
- package/dist/local-inference/stream-utils.js.map +1 -0
- package/dist/mlx-ml/mlx-cache-support.d.ts +23 -0
- package/dist/mlx-ml/mlx-cache-support.d.ts.map +1 -0
- package/dist/mlx-ml/mlx-cache-support.js +45 -0
- package/dist/mlx-ml/mlx-cache-support.js.map +1 -0
- package/dist/mlx-ml/mlx-driver.d.ts +20 -59
- package/dist/mlx-ml/mlx-driver.d.ts.map +1 -1
- package/dist/mlx-ml/mlx-driver.js +86 -460
- package/dist/mlx-ml/mlx-driver.js.map +1 -1
- package/dist/mlx-ml/mlx-local-inference-adapters.d.ts +3 -0
- package/dist/mlx-ml/mlx-local-inference-adapters.d.ts.map +1 -0
- package/dist/mlx-ml/mlx-local-inference-adapters.js +19 -0
- package/dist/mlx-ml/mlx-local-inference-adapters.js.map +1 -0
- package/dist/mlx-ml/mlx-options.d.ts +19 -0
- package/dist/mlx-ml/mlx-options.d.ts.map +1 -0
- package/dist/mlx-ml/mlx-options.js +30 -0
- package/dist/mlx-ml/mlx-options.js.map +1 -0
- package/dist/mlx-ml/process/index.d.ts +10 -8
- package/dist/mlx-ml/process/index.d.ts.map +1 -1
- package/dist/mlx-ml/process/index.js +73 -54
- package/dist/mlx-ml/process/index.js.map +1 -1
- package/dist/mlx-ml/process/model-specific.d.ts +2 -1
- package/dist/mlx-ml/process/model-specific.d.ts.map +1 -1
- package/dist/mlx-ml/process/model-specific.js.map +1 -1
- package/dist/mlx-ml/process/prompt-builder.d.ts +11 -0
- package/dist/mlx-ml/process/prompt-builder.d.ts.map +1 -0
- package/dist/mlx-ml/process/prompt-builder.js +51 -0
- package/dist/mlx-ml/process/prompt-builder.js.map +1 -0
- package/dist/mlx-ml/process/types.d.ts +15 -183
- package/dist/mlx-ml/process/types.d.ts.map +1 -1
- package/dist/mlx-ml/types.d.ts +2 -45
- package/dist/mlx-ml/types.d.ts.map +1 -1
- package/dist/models-config/index.d.ts +8 -0
- package/dist/models-config/index.d.ts.map +1 -0
- package/dist/models-config/index.js +7 -0
- package/dist/models-config/index.js.map +1 -0
- package/dist/models-config/loader.d.ts +20 -0
- package/dist/models-config/loader.d.ts.map +1 -0
- package/dist/models-config/loader.js +85 -0
- package/dist/models-config/loader.js.map +1 -0
- package/dist/models-config/paths.d.ts +7 -0
- package/dist/models-config/paths.d.ts.map +1 -0
- package/dist/models-config/paths.js +11 -0
- package/dist/models-config/paths.js.map +1 -0
- package/dist/models-config/resolve.d.ts +57 -0
- package/dist/models-config/resolve.d.ts.map +1 -0
- package/dist/models-config/resolve.js +187 -0
- package/dist/models-config/resolve.js.map +1 -0
- package/dist/models-config/types.d.ts +60 -0
- package/dist/models-config/types.d.ts.map +1 -0
- package/dist/models-config/types.js +5 -0
- package/dist/models-config/types.js.map +1 -0
- package/dist/pytorch/process/index.d.ts +35 -0
- package/dist/pytorch/process/index.d.ts.map +1 -0
- package/dist/pytorch/process/index.js +69 -0
- package/dist/pytorch/process/index.js.map +1 -0
- package/dist/pytorch/pytorch-driver.d.ts +35 -0
- package/dist/pytorch/pytorch-driver.d.ts.map +1 -0
- package/dist/pytorch/pytorch-driver.js +48 -0
- package/dist/pytorch/pytorch-driver.js.map +1 -0
- package/dist/pytorch/pytorch-local-inference-adapters.d.ts +3 -0
- package/dist/pytorch/pytorch-local-inference-adapters.d.ts.map +1 -0
- package/dist/pytorch/pytorch-local-inference-adapters.js +19 -0
- package/dist/pytorch/pytorch-local-inference-adapters.js.map +1 -0
- package/dist/pytorch/pytorch-options.d.ts +8 -0
- package/dist/pytorch/pytorch-options.d.ts.map +1 -0
- package/dist/pytorch/pytorch-options.js +21 -0
- package/dist/pytorch/pytorch-options.js.map +1 -0
- package/dist/query-logger.js +1 -1
- package/dist/query-logger.js.map +1 -1
- package/dist/runtime/check.d.ts +10 -0
- package/dist/runtime/check.d.ts.map +1 -0
- package/dist/runtime/check.js +24 -0
- package/dist/runtime/check.js.map +1 -0
- package/dist/runtime/index.d.ts +4 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +4 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/manifest-core.d.mts +27 -0
- package/dist/runtime/manifest-core.d.mts.map +1 -0
- package/dist/runtime/manifest-core.mjs +68 -0
- package/dist/runtime/manifest-core.mjs.map +1 -0
- package/dist/runtime/manifest.d.ts +18 -0
- package/dist/runtime/manifest.d.ts.map +1 -0
- package/dist/runtime/manifest.js +9 -0
- package/dist/runtime/manifest.js.map +1 -0
- package/dist/runtime/paths-core.d.mts +17 -0
- package/dist/runtime/paths-core.d.mts.map +1 -0
- package/dist/runtime/paths-core.mjs +67 -0
- package/dist/runtime/paths-core.mjs.map +1 -0
- package/dist/runtime/paths.d.ts +12 -0
- package/dist/runtime/paths.d.ts.map +1 -0
- package/dist/runtime/paths.js +17 -0
- package/dist/runtime/paths.js.map +1 -0
- package/dist/types.d.ts +11 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +10 -7
- package/scripts/download-model.js +25 -9
- package/scripts/runtime-cli.js +315 -0
- package/src/mlx-ml/python/__main__.py +43 -4
- package/src/mlx-ml/python/handlers/__init__.py +2 -1
- package/src/mlx-ml/python/handlers/completion.py +3 -27
- package/src/mlx-ml/python/handlers/{chat.py → generate.py} +33 -106
- package/src/mlx-ml/python/handlers/render.py +40 -0
- package/src/mlx-ml/python/pyproject.toml +3 -2
- package/src/mlx-ml/python/server.py +28 -8
- package/src/mlx-ml/python/utils/template_render.py +80 -0
- package/src/mlx-ml/python/utils/token_utils.py +2 -2
- package/src/mlx-ml/python/uv.lock +549 -454
- package/src/pytorch/python/__main__.py +19 -0
- package/src/pytorch/python/backends/__init__.py +3 -0
- package/src/pytorch/python/backends/base.py +84 -0
- package/src/pytorch/python/backends/transformers_lm.py +127 -0
- package/src/pytorch/python/handlers/__init__.py +6 -0
- package/src/pytorch/python/handlers/cancel.py +53 -0
- package/src/pytorch/python/handlers/capabilities.py +6 -0
- package/src/pytorch/python/handlers/completion.py +15 -0
- package/src/pytorch/python/handlers/format_test.py +70 -0
- package/src/pytorch/python/handlers/generate.py +68 -0
- package/src/pytorch/python/handlers/render.py +40 -0
- package/src/pytorch/python/handlers/tokenize.py +63 -0
- package/src/pytorch/python/pyproject.toml +36 -0
- package/src/pytorch/python/server.py +140 -0
- package/src/pytorch/python/utils/__init__.py +0 -0
- package/src/pytorch/python/utils/chat_template_constraints.py +164 -0
- package/src/pytorch/python/utils/prompt_builder.py +54 -0
- package/src/pytorch/python/utils/template_render.py +80 -0
- package/src/pytorch/python/utils/token_utils.py +376 -0
- package/src/pytorch/python/uv.lock +694 -0
- package/dist/mlx-ml/process/process-communication.d.ts +0 -45
- package/dist/mlx-ml/process/process-communication.d.ts.map +0 -1
- package/dist/mlx-ml/process/process-communication.js.map +0 -1
- package/dist/mlx-ml/process/queue.d.ts +0 -35
- package/dist/mlx-ml/process/queue.d.ts.map +0 -1
- package/dist/mlx-ml/process/queue.js.map +0 -1
- package/scripts/setup-mlx.js +0 -53
|
@@ -1,197 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MLX Driver API v2.0 型定義
|
|
3
|
+
*
|
|
4
|
+
* LIP 共通型は local-inference から re-export し、
|
|
5
|
+
* Mlx* 名前で後方互換を維持する。
|
|
3
6
|
*/
|
|
4
7
|
import type { MlxMlModelOptions } from '../types.js';
|
|
5
|
-
import type {
|
|
8
|
+
import type { InferenceBaseRequest, InferenceCapabilitiesRequest, InferenceFormatTestRequest, InferenceTokenizeRequest, InferenceChatRequest, InferenceCompletionRequest, InferenceGenerateRequest, InferenceCachePrefillRequest } from '../../local-inference/protocol.js';
|
|
6
9
|
export type { MlxMlModelOptions };
|
|
7
|
-
|
|
8
|
-
export type
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
type: 'image';
|
|
13
|
-
};
|
|
14
|
-
/** 標準メッセージ(system / user / assistant) */
|
|
15
|
-
export interface MlxStandardMessage {
|
|
16
|
-
role: 'user' | 'assistant' | 'system';
|
|
17
|
-
content: string | MlxContentPart[];
|
|
18
|
-
}
|
|
19
|
-
/** tool_calls付きassistantメッセージ(HuggingFace互換形式) */
|
|
20
|
-
export interface MlxAssistantToolCallMessage {
|
|
21
|
-
role: 'assistant';
|
|
22
|
-
content: string;
|
|
23
|
-
tool_calls: Array<{
|
|
24
|
-
id: string;
|
|
25
|
-
type: 'function';
|
|
26
|
-
function: {
|
|
27
|
-
name: string;
|
|
28
|
-
arguments: string;
|
|
29
|
-
};
|
|
30
|
-
}>;
|
|
31
|
-
}
|
|
32
|
-
/** tool resultメッセージ(HuggingFace互換形式) */
|
|
33
|
-
export interface MlxToolResultMessage {
|
|
34
|
-
role: 'tool';
|
|
35
|
-
content: string;
|
|
36
|
-
tool_call_id: string;
|
|
37
|
-
name: string;
|
|
38
|
-
}
|
|
39
|
-
export type MlxMessage = MlxStandardMessage | MlxAssistantToolCallMessage | MlxToolResultMessage;
|
|
40
|
-
export interface MlxBaseRequest {
|
|
41
|
-
method: 'capabilities' | 'format_test' | 'chat' | 'completion' | 'cache_prefill' | 'tokenize';
|
|
42
|
-
}
|
|
43
|
-
export interface MlxCapabilitiesRequest extends MlxBaseRequest {
|
|
44
|
-
method: 'capabilities';
|
|
45
|
-
}
|
|
46
|
-
export interface MlxFormatTestRequest extends MlxBaseRequest {
|
|
47
|
-
method: 'format_test';
|
|
48
|
-
messages: MlxMessage[];
|
|
49
|
-
options?: {
|
|
50
|
-
primer?: string;
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
export interface MlxTokenizeRequest extends MlxBaseRequest {
|
|
54
|
-
method: 'tokenize';
|
|
55
|
-
messages: MlxMessage[];
|
|
56
|
-
tools?: MlxToolDefinition[];
|
|
57
|
-
reasoning_effort?: 'low' | 'medium' | 'high';
|
|
58
|
-
}
|
|
59
|
-
/** HuggingFace apply_chat_template 互換のtool定義 */
|
|
60
|
-
export interface MlxToolDefinition {
|
|
61
|
-
type: 'function';
|
|
62
|
-
function: {
|
|
63
|
-
name: string;
|
|
64
|
-
description?: string;
|
|
65
|
-
parameters?: Record<string, unknown>;
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
export interface MlxChatRequest extends MlxBaseRequest {
|
|
10
|
+
export type { InferenceContentPart as MlxContentPart, InferenceStandardMessage as MlxStandardMessage, InferenceAssistantToolCallMessage as MlxAssistantToolCallMessage, InferenceToolResultMessage as MlxToolResultMessage, InferenceMessage as MlxMessage, InferenceToolDefinition as MlxToolDefinition, InferenceCapabilitiesRequest as MlxCapabilitiesRequest, InferenceFormatTestRequest as MlxFormatTestRequest, InferenceTokenizeRequest as MlxTokenizeRequest, InferenceCachePrefillRequest as MlxCachePrefillRequest, InferenceCachePrefillResult as MlxCachePrefillResult, KnownToolParserType, ToolCallFormat, ChatTemplateInfo, InferenceCapabilities as MlxRuntimeInfo, InferenceFormatTestResult as MlxFormatTestResult, InferenceTokenizeResult as MlxTokenizeResult, } from '../../local-inference/protocol.js';
|
|
11
|
+
export type { LegacyStreamingRequest as LegacyMlxRequest, BaseQueueItem, CapabilitiesQueueItem, FormatTestQueueItem, TokenizeQueueItem, CachePrefillQueueItem, StreamingQueueItem, QueueItem, } from '../../local-inference/queue-types.js';
|
|
12
|
+
export type MlxBaseRequest = InferenceBaseRequest;
|
|
13
|
+
/** MLX ドライバー向け chat リクエスト(options は camelCase の MlxMlModelOptions) */
|
|
14
|
+
export interface MlxChatRequest extends Omit<InferenceChatRequest, 'options'> {
|
|
69
15
|
method: 'chat';
|
|
70
|
-
messages: MlxMessage[];
|
|
71
|
-
primer?: string;
|
|
72
|
-
tools?: MlxToolDefinition[];
|
|
73
16
|
options?: MlxMlModelOptions;
|
|
74
|
-
images?: string[];
|
|
75
|
-
maxImageSize?: number;
|
|
76
|
-
reasoning_effort?: 'low' | 'medium' | 'high';
|
|
77
|
-
cache_path?: string;
|
|
78
|
-
cache_trim_tokens?: number;
|
|
79
17
|
}
|
|
80
|
-
|
|
18
|
+
/** MLX ドライバー向け completion リクエスト */
|
|
19
|
+
export interface MlxCompletionRequest extends Omit<InferenceCompletionRequest, 'options'> {
|
|
81
20
|
method: 'completion';
|
|
82
|
-
prompt: string;
|
|
83
21
|
options?: MlxMlModelOptions;
|
|
84
|
-
images?: string[];
|
|
85
|
-
maxImageSize?: number;
|
|
86
|
-
}
|
|
87
|
-
export interface MlxCachePrefillRequest extends MlxBaseRequest {
|
|
88
|
-
method: 'cache_prefill';
|
|
89
|
-
cache_path: string;
|
|
90
|
-
messages: MlxMessage[];
|
|
91
|
-
base_cache_path?: string;
|
|
92
|
-
trim_to_tokens?: number;
|
|
93
|
-
prefix_offsets?: number[];
|
|
94
|
-
prefix_hashes?: string[];
|
|
95
|
-
tools?: MlxToolDefinition[];
|
|
96
|
-
reasoning_effort?: 'low' | 'medium' | 'high';
|
|
97
|
-
}
|
|
98
|
-
export interface MlxCachePrefillResult {
|
|
99
|
-
cache_path: string;
|
|
100
|
-
token_count?: number;
|
|
101
|
-
prefix_offsets?: number[];
|
|
102
|
-
prefix_hashes?: string[];
|
|
103
|
-
}
|
|
104
|
-
export type MlxRequest = MlxCapabilitiesRequest | MlxFormatTestRequest | MlxTokenizeRequest | MlxChatRequest | MlxCompletionRequest | MlxCachePrefillRequest;
|
|
105
|
-
/** MLX-LMが認識するtool_parser_type */
|
|
106
|
-
export type KnownToolParserType = 'json_tools' | 'pythonic' | 'function_gemma' | 'mistral' | 'kimi_k2' | 'longcat' | 'glm47' | 'qwen3_coder' | 'minimax_m2' | 'gemma4' | 'harmony';
|
|
107
|
-
export interface ToolCallFormat {
|
|
108
|
-
tool_parser_type?: string;
|
|
109
|
-
call_start?: string;
|
|
110
|
-
call_end?: string;
|
|
111
|
-
response_start?: string;
|
|
112
|
-
response_end?: string;
|
|
113
|
-
}
|
|
114
|
-
export interface ChatTemplateInfo {
|
|
115
|
-
supported_roles: string[];
|
|
116
|
-
preview?: string;
|
|
117
|
-
constraints: Record<string, unknown>;
|
|
118
|
-
tool_call_format?: ToolCallFormat;
|
|
119
22
|
}
|
|
120
|
-
/**
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
* Pythonプロセスから取得する生の情報(snake_case)
|
|
124
|
-
*/
|
|
125
|
-
export interface MlxRuntimeInfo {
|
|
126
|
-
methods: string[];
|
|
127
|
-
special_tokens: Record<string, SpecialToken | SpecialTokenPair>;
|
|
128
|
-
features: {
|
|
129
|
-
apply_chat_template: boolean;
|
|
130
|
-
vocab_size?: number;
|
|
131
|
-
model_max_length?: number;
|
|
132
|
-
chat_template?: ChatTemplateInfo;
|
|
133
|
-
};
|
|
134
|
-
chat_restrictions?: {
|
|
135
|
-
single_system_at_start?: boolean;
|
|
136
|
-
max_system_messages?: number;
|
|
137
|
-
alternating_turns?: boolean;
|
|
138
|
-
requires_user_last?: boolean;
|
|
139
|
-
allow_empty_messages?: boolean;
|
|
140
|
-
};
|
|
141
|
-
model_kind?: 'lm' | 'vlm';
|
|
142
|
-
}
|
|
143
|
-
export interface MlxFormatTestResult {
|
|
144
|
-
formatted_prompt: string | null;
|
|
145
|
-
template_applied: boolean;
|
|
146
|
-
model_specific_processing: MlxMessage[] | null;
|
|
147
|
-
error: string | null;
|
|
148
|
-
}
|
|
149
|
-
export interface MlxTokenizeResult {
|
|
150
|
-
token_ids: number[] | null;
|
|
151
|
-
token_count: number;
|
|
152
|
-
error: string | null;
|
|
153
|
-
}
|
|
154
|
-
export interface LegacyMlxRequest {
|
|
155
|
-
messages: MlxMessage[];
|
|
156
|
-
prompt?: string;
|
|
157
|
-
primer?: string;
|
|
23
|
+
/** MLX ドライバー向け generate リクエスト */
|
|
24
|
+
export interface MlxGenerateRequest extends Omit<InferenceGenerateRequest, 'options'> {
|
|
25
|
+
method: 'generate';
|
|
158
26
|
options?: MlxMlModelOptions;
|
|
159
27
|
}
|
|
160
|
-
export
|
|
161
|
-
request: MlxRequest | LegacyMlxRequest;
|
|
162
|
-
expectJsonResponse?: boolean;
|
|
163
|
-
reject?: (reason: Error) => void;
|
|
164
|
-
}
|
|
165
|
-
export interface CapabilitiesQueueItem extends BaseQueueItem {
|
|
166
|
-
request: MlxCapabilitiesRequest;
|
|
167
|
-
resolve: (value: MlxRuntimeInfo) => void;
|
|
168
|
-
reject: (reason: Error) => void;
|
|
169
|
-
expectJsonResponse: true;
|
|
170
|
-
}
|
|
171
|
-
export interface FormatTestQueueItem extends BaseQueueItem {
|
|
172
|
-
request: MlxFormatTestRequest;
|
|
173
|
-
resolve: (value: MlxFormatTestResult) => void;
|
|
174
|
-
reject: (reason: Error) => void;
|
|
175
|
-
expectJsonResponse: true;
|
|
176
|
-
}
|
|
177
|
-
export interface TokenizeQueueItem extends BaseQueueItem {
|
|
178
|
-
request: MlxTokenizeRequest;
|
|
179
|
-
resolve: (value: MlxTokenizeResult) => void;
|
|
180
|
-
reject: (reason: Error) => void;
|
|
181
|
-
expectJsonResponse: true;
|
|
182
|
-
}
|
|
183
|
-
export interface CachePrefillQueueItem extends BaseQueueItem {
|
|
184
|
-
request: MlxCachePrefillRequest;
|
|
185
|
-
resolve: (value: MlxCachePrefillResult) => void;
|
|
186
|
-
reject: (reason: Error) => void;
|
|
187
|
-
expectJsonResponse: true;
|
|
188
|
-
}
|
|
189
|
-
export interface StreamingQueueItem extends BaseQueueItem {
|
|
190
|
-
request: MlxChatRequest | MlxCompletionRequest | LegacyMlxRequest;
|
|
191
|
-
resolve: (value: Readable) => void;
|
|
192
|
-
reject: (reason: Error) => void;
|
|
193
|
-
expectJsonResponse?: false;
|
|
194
|
-
}
|
|
195
|
-
export type QueueItem = CapabilitiesQueueItem | FormatTestQueueItem | TokenizeQueueItem | CachePrefillQueueItem | StreamingQueueItem;
|
|
196
|
-
import { Readable } from 'stream';
|
|
28
|
+
export type MlxRequest = InferenceCapabilitiesRequest | InferenceFormatTestRequest | InferenceTokenizeRequest | MlxChatRequest | MlxCompletionRequest | MlxGenerateRequest | InferenceCachePrefillRequest;
|
|
197
29
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mlx-ml/process/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mlx-ml/process/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,YAAY,EACV,oBAAoB,IAAI,cAAc,EACtC,wBAAwB,IAAI,kBAAkB,EAC9C,iCAAiC,IAAI,2BAA2B,EAChE,0BAA0B,IAAI,oBAAoB,EAClD,gBAAgB,IAAI,UAAU,EAC9B,uBAAuB,IAAI,iBAAiB,EAC5C,4BAA4B,IAAI,sBAAsB,EACtD,0BAA0B,IAAI,oBAAoB,EAClD,wBAAwB,IAAI,kBAAkB,EAC9C,4BAA4B,IAAI,sBAAsB,EACtD,2BAA2B,IAAI,qBAAqB,EACpD,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,IAAI,cAAc,EACvC,yBAAyB,IAAI,mBAAmB,EAChD,uBAAuB,IAAI,iBAAiB,GAC7C,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACV,sBAAsB,IAAI,gBAAgB,EAC1C,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,SAAS,GACV,MAAM,sCAAsC,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAElD,sEAAsE;AACtE,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,mCAAmC;AACnC,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;IACvF,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,iCAAiC;AACjC,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC;IACnF,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,MAAM,UAAU,GAClB,4BAA4B,GAC5B,0BAA0B,GAC1B,wBAAwB,GACxB,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,4BAA4B,CAAC"}
|
package/dist/mlx-ml/types.d.ts
CHANGED
|
@@ -5,56 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { SpecialToken, SpecialTokenPair } from '../formatter/types.js';
|
|
7
7
|
import type { ChatRestrictions, ApiStrategy } from './model-spec/index.js';
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
export type MlxContentPart = {
|
|
12
|
-
type: 'text';
|
|
13
|
-
text: string;
|
|
14
|
-
} | {
|
|
15
|
-
type: 'image';
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* 標準メッセージ(system / user / assistant)
|
|
19
|
-
*/
|
|
20
|
-
export interface MlxStandardMessage {
|
|
21
|
-
role: 'system' | 'user' | 'assistant';
|
|
22
|
-
content: string | MlxContentPart[];
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* tool_calls付きassistantメッセージ(HuggingFace互換形式)
|
|
26
|
-
*/
|
|
27
|
-
export interface MlxAssistantToolCallMessage {
|
|
28
|
-
role: 'assistant';
|
|
29
|
-
content: string;
|
|
30
|
-
tool_calls: Array<{
|
|
31
|
-
id: string;
|
|
32
|
-
type: 'function';
|
|
33
|
-
function: {
|
|
34
|
-
name: string;
|
|
35
|
-
arguments: string;
|
|
36
|
-
};
|
|
37
|
-
}>;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* tool resultメッセージ(HuggingFace互換形式)
|
|
41
|
-
*/
|
|
42
|
-
export interface MlxToolResultMessage {
|
|
43
|
-
role: 'tool';
|
|
44
|
-
content: string;
|
|
45
|
-
tool_call_id: string;
|
|
46
|
-
name: string;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* MLX message format(Union型)
|
|
50
|
-
*/
|
|
51
|
-
export type MlxMessage = MlxStandardMessage | MlxAssistantToolCallMessage | MlxToolResultMessage;
|
|
8
|
+
/** メッセージ型は LIP 共通定義を re-export(process 層と同一ソース) */
|
|
9
|
+
export type { InferenceContentPart as MlxContentPart, InferenceStandardMessage as MlxStandardMessage, InferenceAssistantToolCallMessage as MlxAssistantToolCallMessage, InferenceToolResultMessage as MlxToolResultMessage, InferenceMessage as MlxMessage, } from '../local-inference/protocol.js';
|
|
52
10
|
/**
|
|
53
11
|
* MLX model options (キャメルケース形式)
|
|
54
12
|
* Python側へはmapOptionsToPythonで変換される
|
|
55
13
|
*/
|
|
56
14
|
export interface MlxMlModelOptions {
|
|
57
|
-
mode?: import('../types.js').QueryMode;
|
|
58
15
|
maxTokens?: number;
|
|
59
16
|
temperature?: number;
|
|
60
17
|
topP?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mlx-ml/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE3E
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mlx-ml/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE3E,mDAAmD;AACnD,YAAY,EACV,oBAAoB,IAAI,cAAc,EACtC,wBAAwB,IAAI,kBAAkB,EAC9C,iCAAiC,IAAI,2BAA2B,EAChE,0BAA0B,IAAI,oBAAoB,EAClD,gBAAgB,IAAI,UAAU,GAC/B,MAAM,gCAAgC,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,eAAe,EAAE,OAAO,CAAC;IAEzB,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,mBAAmB;IACnB,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,aAAa;IACb,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,gBAAgB,CAAC,CAAC;IAE/D,aAAa;IACb,QAAQ,EAAE,aAAa,CAAC;IAExB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ~/.modular-prompt/models.yaml 読み込み・解決
|
|
3
|
+
*/
|
|
4
|
+
export { loadModelsConfigFile, normalizeModelsConfig, normalizeModelsSection, } from './loader.js';
|
|
5
|
+
export { mergeModelsConfig, loadUserModelsConfig, resolveModelsConfig, toApplicationConfig, entryToModelSpec, resolveModelAlias, resolveModelName, resolveDefaultModelFromConfig, resolveModelReference, buildApplicationConfig, registerModelsFromConfig, } from './resolve.js';
|
|
6
|
+
export { MODELS_CONFIG_FILENAME, getUserModelsConfigPath, } from './paths.js';
|
|
7
|
+
export type { ModelsMergeMode, ModelsConfigSource, ModelsConfigOptions, ModelSpecEntry, ModelsConfig, ModelReferenceInput, } from './types.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models-config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ~/.modular-prompt/models.yaml 読み込み・解決
|
|
3
|
+
*/
|
|
4
|
+
export { loadModelsConfigFile, normalizeModelsConfig, normalizeModelsSection, } from './loader.js';
|
|
5
|
+
export { mergeModelsConfig, loadUserModelsConfig, resolveModelsConfig, toApplicationConfig, entryToModelSpec, resolveModelAlias, resolveModelName, resolveDefaultModelFromConfig, resolveModelReference, buildApplicationConfig, registerModelsFromConfig, } from './resolve.js';
|
|
6
|
+
export { MODELS_CONFIG_FILENAME, getUserModelsConfigPath, } from './paths.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models-config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* models.yaml の読み込み
|
|
3
|
+
*/
|
|
4
|
+
import type { ModelSpecEntry, ModelsConfig } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* YAML ファイルを読み込んで ModelsConfig に変換する。
|
|
7
|
+
* ファイルが存在しない場合は null。
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadModelsConfigFile(configPath: string): ModelsConfig | null;
|
|
10
|
+
/**
|
|
11
|
+
* 生の YAML オブジェクトを ModelsConfig に正規化する
|
|
12
|
+
*/
|
|
13
|
+
export declare function normalizeModelsConfig(raw: Record<string, unknown>): ModelsConfig;
|
|
14
|
+
/**
|
|
15
|
+
* models セクションを Record\<alias, ModelSpecEntry\> に正規化
|
|
16
|
+
* - Record 形式: そのまま
|
|
17
|
+
* - 配列形式: `id` フィールドを alias に使用
|
|
18
|
+
*/
|
|
19
|
+
export declare function normalizeModelsSection(models: unknown): Record<string, ModelSpecEntry>;
|
|
20
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/models-config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB/D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAa5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAoBhF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,GACd,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CA4BhC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* models.yaml の読み込み
|
|
3
|
+
*/
|
|
4
|
+
import { existsSync, readFileSync } from 'fs';
|
|
5
|
+
import yaml from 'js-yaml';
|
|
6
|
+
let warnedDeprecatedDefaults = false;
|
|
7
|
+
function warnDeprecatedDefaults() {
|
|
8
|
+
if (warnedDeprecatedDefaults) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
warnedDeprecatedDefaults = true;
|
|
12
|
+
const message = 'models.yaml の `defaults` セクションは非推奨です。`models.default` alias でデフォルトモデルを指定してください。';
|
|
13
|
+
if (typeof process !== 'undefined' && typeof process.emitWarning === 'function') {
|
|
14
|
+
process.emitWarning(message, { code: 'MODULAR_PROMPT_DEPRECATED_DEFAULTS' });
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
console.warn(message);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* YAML ファイルを読み込んで ModelsConfig に変換する。
|
|
22
|
+
* ファイルが存在しない場合は null。
|
|
23
|
+
*/
|
|
24
|
+
export function loadModelsConfigFile(configPath) {
|
|
25
|
+
if (!existsSync(configPath)) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const content = readFileSync(configPath, 'utf-8');
|
|
29
|
+
const raw = yaml.load(content);
|
|
30
|
+
if (!raw || typeof raw !== 'object') {
|
|
31
|
+
return {};
|
|
32
|
+
}
|
|
33
|
+
return normalizeModelsConfig(raw);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 生の YAML オブジェクトを ModelsConfig に正規化する
|
|
37
|
+
*/
|
|
38
|
+
export function normalizeModelsConfig(raw) {
|
|
39
|
+
const config = {};
|
|
40
|
+
if (raw.defaults && typeof raw.defaults === 'object') {
|
|
41
|
+
warnDeprecatedDefaults();
|
|
42
|
+
}
|
|
43
|
+
if (raw.drivers && typeof raw.drivers === 'object') {
|
|
44
|
+
config.drivers = raw.drivers;
|
|
45
|
+
}
|
|
46
|
+
if (raw.defaultOptions && typeof raw.defaultOptions === 'object') {
|
|
47
|
+
config.defaultOptions = raw.defaultOptions;
|
|
48
|
+
}
|
|
49
|
+
if (raw.models !== undefined) {
|
|
50
|
+
config.models = normalizeModelsSection(raw.models);
|
|
51
|
+
}
|
|
52
|
+
return config;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* models セクションを Record\<alias, ModelSpecEntry\> に正規化
|
|
56
|
+
* - Record 形式: そのまま
|
|
57
|
+
* - 配列形式: `id` フィールドを alias に使用
|
|
58
|
+
*/
|
|
59
|
+
export function normalizeModelsSection(models) {
|
|
60
|
+
if (!models) {
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
if (Array.isArray(models)) {
|
|
64
|
+
const result = {};
|
|
65
|
+
for (const entry of models) {
|
|
66
|
+
if (!entry || typeof entry !== 'object') {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
const record = entry;
|
|
70
|
+
const id = record.id;
|
|
71
|
+
if (typeof id !== 'string' || !id) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const rest = { ...record };
|
|
75
|
+
delete rest.id;
|
|
76
|
+
result[id] = rest;
|
|
77
|
+
}
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
if (typeof models === 'object') {
|
|
81
|
+
return models;
|
|
82
|
+
}
|
|
83
|
+
return {};
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/models-config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,IAAI,MAAM,SAAS,CAAC;AAG3B,IAAI,wBAAwB,GAAG,KAAK,CAAC;AAErC,SAAS,sBAAsB;IAC7B,IAAI,wBAAwB,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,wBAAwB,GAAG,IAAI,CAAC;IAChC,MAAM,OAAO,GACX,iFAAiF,CAAC;IACpF,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAChF,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAmC,CAAC;IAEjE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAA4B;IAChE,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,IAAI,GAAG,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACrD,sBAAsB,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAkC,CAAC;IAC1D,CAAC;IAED,IAAI,GAAG,CAAC,cAAc,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,cAAgD,CAAC;IAC/E,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAe;IAEf,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,KAAgC,CAAC;YAChD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YACrB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,EAAE,CAAC,GAAG,IAAiC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAwC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/models-config/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,6CAA6C;AAC7C,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* models.yaml のパス解決
|
|
3
|
+
*/
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { getModularPromptHome } from '../runtime/paths-core.mjs';
|
|
6
|
+
export const MODELS_CONFIG_FILENAME = 'models.yaml';
|
|
7
|
+
/** ユーザーレベル: ~/.modular-prompt/models.yaml */
|
|
8
|
+
export function getUserModelsConfigPath() {
|
|
9
|
+
return path.join(getModularPromptHome(), MODELS_CONFIG_FILENAME);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/models-config/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC;AAEpD,6CAA6C;AAC7C,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,sBAAsB,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* models.yaml のマージ・解決
|
|
3
|
+
*/
|
|
4
|
+
import type { DriverRegistry } from '../driver-registry/registry.js';
|
|
5
|
+
import type { ApplicationConfig } from '../driver-registry/config-based-factory.js';
|
|
6
|
+
import type { DriverProvider, ModelSpec } from '../driver-registry/types.js';
|
|
7
|
+
import type { ModelReferenceInput, ModelSpecEntry, ModelsConfig, ModelsConfigOptions, ModelsMergeMode } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* 2 つの ModelsConfig を shallow merge する(overlay 優先)
|
|
10
|
+
*/
|
|
11
|
+
export declare function mergeModelsConfig(base: ModelsConfig | null | undefined, overlay: ModelsConfig | null | undefined, mode?: ModelsMergeMode): ModelsConfig;
|
|
12
|
+
/**
|
|
13
|
+
* ユーザーレベルの models.yaml を読み込む(存在しない場合は空)
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadUserModelsConfig(): ModelsConfig;
|
|
16
|
+
/**
|
|
17
|
+
* base / user / overlay を解決する
|
|
18
|
+
*
|
|
19
|
+
* マージ優先(下ほど高): base → user(source=merge のとき)→ overlay
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveModelsConfig(options?: ModelsConfigOptions): ModelsConfig;
|
|
22
|
+
/**
|
|
23
|
+
* ModelsConfig を ApplicationConfig に変換する
|
|
24
|
+
*/
|
|
25
|
+
export declare function toApplicationConfig(config: ModelsConfig): ApplicationConfig;
|
|
26
|
+
/**
|
|
27
|
+
* ModelSpecEntry を ModelSpec に変換(runtime は metadata に保持)
|
|
28
|
+
*/
|
|
29
|
+
export declare function entryToModelSpec(entry: ModelSpecEntry): ModelSpec;
|
|
30
|
+
/**
|
|
31
|
+
* alias から ModelSpec を解決する
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveModelAlias(alias: string, config: ModelsConfig): ModelSpec | null;
|
|
34
|
+
/**
|
|
35
|
+
* モデル名を alias または生の model 名として解決する
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveModelName(name: string, config: ModelsConfig, inferProvider: (model: string) => DriverProvider): ModelSpec;
|
|
38
|
+
/**
|
|
39
|
+
* merged models からデフォルト ModelSpec を導出する
|
|
40
|
+
*
|
|
41
|
+
* 1. alias `default` があればそれを使用
|
|
42
|
+
* 2. なければ models の先頭エントリ(best-effort)
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveDefaultModelFromConfig(config: ModelsConfig): ModelSpec | null;
|
|
45
|
+
/**
|
|
46
|
+
* ModelReferenceInput を ModelSpec に解決する
|
|
47
|
+
*/
|
|
48
|
+
export declare function resolveModelReference(ref: ModelReferenceInput, config: ModelsConfig): ModelSpec | null;
|
|
49
|
+
/**
|
|
50
|
+
* inline 設定(experiment YAML 等)を resolved config にマージして ApplicationConfig を構築
|
|
51
|
+
*/
|
|
52
|
+
export declare function buildApplicationConfig(resolved: ModelsConfig, inline?: Partial<ModelsConfig>, inlineMode?: ModelsMergeMode): ApplicationConfig;
|
|
53
|
+
/**
|
|
54
|
+
* ModelsConfig の全モデルを DriverRegistry に登録する
|
|
55
|
+
*/
|
|
56
|
+
export declare function registerModelsFromConfig(registry: DriverRegistry, config: ModelsConfig): void;
|
|
57
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/models-config/resolve.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG7E,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AA4BpB;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,EACrC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,EACxC,IAAI,GAAE,eAAyB,GAC9B,YAAY,CAed;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAmB/E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAU3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAsBjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,GACnB,SAAS,GAAG,IAAI,CAMlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,GAC/C,SAAS,CAWX;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,YAAY,GACnB,SAAS,GAAG,IAAI,CAYlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,YAAY,GACnB,SAAS,GAAG,IAAI,CAwBlB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,YAAY,EACtB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,UAAU,CAAC,EAAE,eAAe,GAC3B,iBAAiB,CAKnB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,GACnB,IAAI,CAWN"}
|