@miragari/client 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -0
- package/README.md +22 -0
- package/dist/batch.d.ts +49 -0
- package/dist/batch.d.ts.map +1 -0
- package/dist/batch.js +219 -0
- package/dist/batch.js.map +1 -0
- package/dist/concurrency.d.ts +2 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/concurrency.js +15 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/media-router.d.ts +89 -0
- package/dist/media-router.d.ts.map +1 -0
- package/dist/media-router.js +525 -0
- package/dist/media-router.js.map +1 -0
- package/dist/normalize.d.ts +146 -0
- package/dist/normalize.d.ts.map +1 -0
- package/dist/normalize.js +454 -0
- package/dist/normalize.js.map +1 -0
- package/dist/provider-output.d.ts +13 -0
- package/dist/provider-output.d.ts.map +1 -0
- package/dist/provider-output.js +153 -0
- package/dist/provider-output.js.map +1 -0
- package/dist/registry.d.ts +28 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +77 -0
- package/dist/registry.js.map +1 -0
- package/dist/terminal.d.ts +5 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/terminal.js +70 -0
- package/dist/terminal.js.map +1 -0
- package/dist/wait.d.ts +14 -0
- package/dist/wait.d.ts.map +1 -0
- package/dist/wait.js +168 -0
- package/dist/wait.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { type AudioGenerationRequest, type GenerationRequest, type ImageGenerationRequest, type MediaInput, type MediaType, type Model3DGenerationRequest, type VideoGenerationRequest } from "@miragari/core";
|
|
2
|
+
export type GenerationMediaType = Exclude<MediaType, "file">;
|
|
3
|
+
type ModelDefaults = Partial<Record<GenerationMediaType, string>>;
|
|
4
|
+
type ProviderDefaults = Partial<Record<GenerationMediaType, string>>;
|
|
5
|
+
type MediaDefaultMap = Partial<Record<GenerationMediaType, Record<string, unknown>>>;
|
|
6
|
+
export type MediaIntentItem = MediaInput | string;
|
|
7
|
+
export type MediaIntentInput = MediaIntentItem | MediaIntentItem[];
|
|
8
|
+
export type MediaRouterDefaultSlotObject = {
|
|
9
|
+
provider?: string;
|
|
10
|
+
model?: string;
|
|
11
|
+
options?: Record<string, unknown>;
|
|
12
|
+
providerOptions?: Record<string, unknown>;
|
|
13
|
+
} & Record<string, unknown>;
|
|
14
|
+
export type MediaRouterDefaultSlot = MediaRouterDefaultSlotObject | string;
|
|
15
|
+
export type MediaRouterDefaults = {
|
|
16
|
+
provider?: string;
|
|
17
|
+
providers?: ProviderDefaults;
|
|
18
|
+
model?: string;
|
|
19
|
+
models?: ModelDefaults;
|
|
20
|
+
options?: MediaDefaultMap;
|
|
21
|
+
providerOptions?: MediaDefaultMap;
|
|
22
|
+
profiles?: Record<string, MediaRouterProfile>;
|
|
23
|
+
image?: MediaRouterDefaultSlot;
|
|
24
|
+
video?: MediaRouterDefaultSlot;
|
|
25
|
+
audio?: MediaRouterDefaultSlot;
|
|
26
|
+
model3d?: MediaRouterDefaultSlot;
|
|
27
|
+
};
|
|
28
|
+
export type NormalizedMediaRouterDefaults = Omit<MediaRouterDefaults, "providers" | "models" | "options" | "providerOptions" | "image" | "video" | "audio" | "model3d"> & {
|
|
29
|
+
providers?: ProviderDefaults;
|
|
30
|
+
models?: ModelDefaults;
|
|
31
|
+
options?: MediaDefaultMap;
|
|
32
|
+
providerOptions?: MediaDefaultMap;
|
|
33
|
+
};
|
|
34
|
+
export type MediaFieldInput = MediaInput | string;
|
|
35
|
+
export type MediaRouterProfile = {
|
|
36
|
+
type?: GenerationMediaType;
|
|
37
|
+
provider?: string;
|
|
38
|
+
model?: string;
|
|
39
|
+
action?: string;
|
|
40
|
+
options?: Record<string, unknown>;
|
|
41
|
+
providerOptions?: Record<string, unknown>;
|
|
42
|
+
} & Record<string, unknown>;
|
|
43
|
+
type BaseGenerationIntent<TType extends GenerationMediaType> = {
|
|
44
|
+
type?: TType;
|
|
45
|
+
profile?: string;
|
|
46
|
+
provider?: string;
|
|
47
|
+
model?: string;
|
|
48
|
+
action?: string;
|
|
49
|
+
providerOptions?: Record<string, unknown>;
|
|
50
|
+
};
|
|
51
|
+
export type ImageGenerationIntent = BaseGenerationIntent<"image"> & {
|
|
52
|
+
prompt: string;
|
|
53
|
+
negativePrompt?: string;
|
|
54
|
+
media?: MediaIntentInput;
|
|
55
|
+
image?: MediaFieldInput;
|
|
56
|
+
images?: MediaFieldInput[];
|
|
57
|
+
mask?: MediaFieldInput;
|
|
58
|
+
width?: number;
|
|
59
|
+
height?: number;
|
|
60
|
+
count?: number;
|
|
61
|
+
seed?: number;
|
|
62
|
+
quality?: string;
|
|
63
|
+
outputFormat?: string;
|
|
64
|
+
options?: ImageGenerationRequest["options"];
|
|
65
|
+
};
|
|
66
|
+
export type VideoGenerationIntent = BaseGenerationIntent<"video"> & {
|
|
67
|
+
prompt: string;
|
|
68
|
+
negativePrompt?: string;
|
|
69
|
+
media?: MediaIntentInput;
|
|
70
|
+
image?: MediaFieldInput;
|
|
71
|
+
firstFrame?: MediaFieldInput;
|
|
72
|
+
lastFrame?: MediaFieldInput;
|
|
73
|
+
images?: MediaFieldInput[];
|
|
74
|
+
video?: MediaFieldInput;
|
|
75
|
+
videos?: MediaFieldInput[];
|
|
76
|
+
audio?: MediaFieldInput;
|
|
77
|
+
audios?: MediaFieldInput[];
|
|
78
|
+
width?: number;
|
|
79
|
+
height?: number;
|
|
80
|
+
duration?: number;
|
|
81
|
+
fps?: number;
|
|
82
|
+
seed?: number;
|
|
83
|
+
mode?: string;
|
|
84
|
+
quality?: string;
|
|
85
|
+
audioEnabled?: boolean;
|
|
86
|
+
options?: VideoGenerationRequest["options"];
|
|
87
|
+
};
|
|
88
|
+
export type AudioGenerationIntent = BaseGenerationIntent<"audio"> & {
|
|
89
|
+
prompt?: string;
|
|
90
|
+
text?: string;
|
|
91
|
+
media?: MediaIntentInput;
|
|
92
|
+
audio?: MediaFieldInput;
|
|
93
|
+
audios?: MediaFieldInput[];
|
|
94
|
+
duration?: number;
|
|
95
|
+
seed?: number;
|
|
96
|
+
voice?: string;
|
|
97
|
+
format?: string;
|
|
98
|
+
sampleRate?: number;
|
|
99
|
+
options?: AudioGenerationRequest["options"];
|
|
100
|
+
};
|
|
101
|
+
export type Model3DGenerationIntent = BaseGenerationIntent<"model3d"> & {
|
|
102
|
+
prompt?: string;
|
|
103
|
+
media?: MediaIntentInput;
|
|
104
|
+
images?: MediaFieldInput[];
|
|
105
|
+
sourceModel?: MediaFieldInput;
|
|
106
|
+
format?: string;
|
|
107
|
+
quality?: string;
|
|
108
|
+
texture?: boolean;
|
|
109
|
+
seed?: number;
|
|
110
|
+
options?: Model3DGenerationRequest["options"];
|
|
111
|
+
};
|
|
112
|
+
export type ImageGenerationInput = ImageGenerationRequest | ImageGenerationIntent | string;
|
|
113
|
+
export type VideoGenerationInput = VideoGenerationRequest | VideoGenerationIntent | string;
|
|
114
|
+
export type AudioGenerationInput = AudioGenerationRequest | AudioGenerationIntent | string;
|
|
115
|
+
export type Model3DGenerationInput = Model3DGenerationRequest | Model3DGenerationIntent | string;
|
|
116
|
+
type StructuredRequestInput<TRequest extends GenerationRequest> = Omit<TRequest, "type"> & {
|
|
117
|
+
type?: TRequest["type"];
|
|
118
|
+
profile?: string;
|
|
119
|
+
};
|
|
120
|
+
export type StructuredGenerationInput = StructuredRequestInput<ImageGenerationRequest> | StructuredRequestInput<VideoGenerationRequest> | StructuredRequestInput<AudioGenerationRequest> | StructuredRequestInput<Model3DGenerationRequest>;
|
|
121
|
+
export type NormalizedGenerationRequest = GenerationRequest & {
|
|
122
|
+
profile?: never;
|
|
123
|
+
};
|
|
124
|
+
export type NormalizedImageGenerationRequest = ImageGenerationRequest & {
|
|
125
|
+
profile?: never;
|
|
126
|
+
};
|
|
127
|
+
export type NormalizedVideoGenerationRequest = VideoGenerationRequest & {
|
|
128
|
+
profile?: never;
|
|
129
|
+
};
|
|
130
|
+
export type NormalizedAudioGenerationRequest = AudioGenerationRequest & {
|
|
131
|
+
profile?: never;
|
|
132
|
+
};
|
|
133
|
+
export type NormalizedModel3DGenerationRequest = Model3DGenerationRequest & {
|
|
134
|
+
profile?: never;
|
|
135
|
+
};
|
|
136
|
+
export type GenerationInput = StructuredGenerationInput | ImageGenerationIntent | VideoGenerationIntent | AudioGenerationIntent | Model3DGenerationIntent | string;
|
|
137
|
+
export declare function normalizeGenerationRequest(input: GenerationInput, defaults: MediaRouterDefaults | undefined, mediaType?: GenerationMediaType): NormalizedGenerationRequest;
|
|
138
|
+
export declare function normalizeImageRequest(input: ImageGenerationInput, defaults: MediaRouterDefaults | undefined): NormalizedImageGenerationRequest;
|
|
139
|
+
export declare function normalizeVideoRequest(input: VideoGenerationInput, defaults: MediaRouterDefaults | undefined): NormalizedVideoGenerationRequest;
|
|
140
|
+
export declare function normalizeAudioRequest(input: AudioGenerationInput, defaults: MediaRouterDefaults | undefined): NormalizedAudioGenerationRequest;
|
|
141
|
+
export declare function normalizeModel3DRequest(input: Model3DGenerationInput, defaults: MediaRouterDefaults | undefined): NormalizedModel3DGenerationRequest;
|
|
142
|
+
export declare function isNormalizedImageRequest(request: NormalizedGenerationRequest): request is NormalizedImageGenerationRequest;
|
|
143
|
+
export declare function normalizeMediaRouterDefaults(defaults: MediaRouterDefaults | undefined): NormalizedMediaRouterDefaults | undefined;
|
|
144
|
+
export declare function resolveMediaRouterProfile(defaults: MediaRouterDefaults | undefined, profile: string | undefined): MediaRouterProfile | undefined;
|
|
145
|
+
export {};
|
|
146
|
+
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
import { MediaRouterException, createMediaRouterError, } from "@miragari/core";
|
|
2
|
+
export function normalizeGenerationRequest(input, defaults, mediaType) {
|
|
3
|
+
if (typeof input === "string") {
|
|
4
|
+
if (mediaType === "video")
|
|
5
|
+
return normalizeVideoRequest(input, defaults);
|
|
6
|
+
if (mediaType === "audio")
|
|
7
|
+
return normalizeAudioRequest(input, defaults);
|
|
8
|
+
if (mediaType === "model3d")
|
|
9
|
+
return normalizeModel3DRequest(input, defaults);
|
|
10
|
+
return normalizeImageRequest({ prompt: input }, defaults);
|
|
11
|
+
}
|
|
12
|
+
if (hasRequestInput(input)) {
|
|
13
|
+
const profile = profileDefaults(defaults, profileName(input));
|
|
14
|
+
const type = input.type ?? mediaType ?? profile?.type ?? "image";
|
|
15
|
+
assertProfileMatchesType(profile, type, profileName(input));
|
|
16
|
+
const request = omitIntentFields(input);
|
|
17
|
+
return applyRequestDefaults({ ...request, type }, defaults, profile);
|
|
18
|
+
}
|
|
19
|
+
const profile = profileDefaults(defaults, input.profile);
|
|
20
|
+
const type = input.type ?? mediaType ?? profile?.type ?? "image";
|
|
21
|
+
assertProfileMatchesType(profile, type, input.profile);
|
|
22
|
+
if (type === "image")
|
|
23
|
+
return normalizeImageRequest(input, defaults);
|
|
24
|
+
if (type === "video")
|
|
25
|
+
return normalizeVideoRequest(input, defaults);
|
|
26
|
+
if (type === "audio")
|
|
27
|
+
return normalizeAudioRequest(input, defaults);
|
|
28
|
+
return normalizeModel3DRequest(input, defaults);
|
|
29
|
+
}
|
|
30
|
+
export function normalizeImageRequest(input, defaults) {
|
|
31
|
+
if (typeof input === "string") {
|
|
32
|
+
return normalizeImageRequest({ prompt: input }, defaults);
|
|
33
|
+
}
|
|
34
|
+
const profile = profileDefaults(defaults, profileName(input));
|
|
35
|
+
assertProfileMatchesType(profile, "image", profileName(input));
|
|
36
|
+
if (hasRequestInput(input)) {
|
|
37
|
+
assertInputMatchesType(input, "image");
|
|
38
|
+
const request = omitIntentFields(input);
|
|
39
|
+
return applyRequestDefaults({ ...request, type: "image" }, defaults, profile);
|
|
40
|
+
}
|
|
41
|
+
const intent = input;
|
|
42
|
+
const options = mergeDefinedRecords(resolvedOptions(defaults, "image", profile), {
|
|
43
|
+
width: intent.width,
|
|
44
|
+
height: intent.height,
|
|
45
|
+
count: intent.count,
|
|
46
|
+
seed: intent.seed,
|
|
47
|
+
quality: intent.quality,
|
|
48
|
+
outputFormat: intent.outputFormat,
|
|
49
|
+
}, intent.options);
|
|
50
|
+
const providerOptions = mergeDefinedRecords(resolvedProviderOptions(defaults, "image", profile), intent.providerOptions);
|
|
51
|
+
return stripUndefined({
|
|
52
|
+
type: "image",
|
|
53
|
+
provider: requiredProvider(intent.provider, defaults, "image", profile),
|
|
54
|
+
model: requiredModel(intent.model, defaults, "image", profile),
|
|
55
|
+
action: intent.action ?? profile?.action,
|
|
56
|
+
input: stripUndefined({
|
|
57
|
+
prompt: intent.prompt,
|
|
58
|
+
negativePrompt: intent.negativePrompt,
|
|
59
|
+
images: mergeMediaInputGroups(mediaFieldList(intent.image), mediaFields(intent.images), mediaInputs(intent.media)),
|
|
60
|
+
mask: mediaField(intent.mask),
|
|
61
|
+
}),
|
|
62
|
+
options,
|
|
63
|
+
providerOptions,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
export function normalizeVideoRequest(input, defaults) {
|
|
67
|
+
if (typeof input === "string") {
|
|
68
|
+
return normalizeVideoRequest({ prompt: input }, defaults);
|
|
69
|
+
}
|
|
70
|
+
const profile = profileDefaults(defaults, profileName(input));
|
|
71
|
+
assertProfileMatchesType(profile, "video", profileName(input));
|
|
72
|
+
if (hasRequestInput(input)) {
|
|
73
|
+
assertInputMatchesType(input, "video");
|
|
74
|
+
const request = omitIntentFields(input);
|
|
75
|
+
return applyRequestDefaults({ ...request, type: "video" }, defaults, profile);
|
|
76
|
+
}
|
|
77
|
+
const intent = input;
|
|
78
|
+
const options = mergeDefinedRecords(resolvedOptions(defaults, "video", profile), {
|
|
79
|
+
width: intent.width,
|
|
80
|
+
height: intent.height,
|
|
81
|
+
duration: intent.duration,
|
|
82
|
+
fps: intent.fps,
|
|
83
|
+
seed: intent.seed,
|
|
84
|
+
mode: intent.mode,
|
|
85
|
+
quality: intent.quality,
|
|
86
|
+
audioEnabled: intent.audioEnabled,
|
|
87
|
+
}, intent.options);
|
|
88
|
+
const providerOptions = mergeDefinedRecords(resolvedProviderOptions(defaults, "video", profile), intent.providerOptions);
|
|
89
|
+
const imageMedia = mediaInputsByKind(intent.media, "image");
|
|
90
|
+
const videoMedia = mediaInputsByKind(intent.media, "video");
|
|
91
|
+
const audioMedia = mediaInputsByKind(intent.media, "audio");
|
|
92
|
+
return stripUndefined({
|
|
93
|
+
type: "video",
|
|
94
|
+
provider: requiredProvider(intent.provider, defaults, "video", profile),
|
|
95
|
+
model: requiredModel(intent.model, defaults, "video", profile),
|
|
96
|
+
action: intent.action ?? profile?.action,
|
|
97
|
+
input: stripUndefined({
|
|
98
|
+
prompt: intent.prompt,
|
|
99
|
+
negativePrompt: intent.negativePrompt,
|
|
100
|
+
image: mediaField(intent.image),
|
|
101
|
+
firstFrame: mediaField(intent.firstFrame),
|
|
102
|
+
lastFrame: mediaField(intent.lastFrame),
|
|
103
|
+
images: mergeMediaInputs(mediaFields(intent.images), imageMedia),
|
|
104
|
+
video: mediaField(intent.video) ?? videoMedia?.[0],
|
|
105
|
+
videos: mergeMediaInputs(mediaFields(intent.videos), intent.video ? videoMedia : mediaTail(videoMedia)),
|
|
106
|
+
audio: mediaField(intent.audio),
|
|
107
|
+
audios: mergeMediaInputs(mediaFields(intent.audios), audioMedia),
|
|
108
|
+
}),
|
|
109
|
+
options,
|
|
110
|
+
providerOptions,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
export function normalizeAudioRequest(input, defaults) {
|
|
114
|
+
if (typeof input === "string") {
|
|
115
|
+
return normalizeAudioRequest({ text: input }, defaults);
|
|
116
|
+
}
|
|
117
|
+
const profile = profileDefaults(defaults, profileName(input));
|
|
118
|
+
assertProfileMatchesType(profile, "audio", profileName(input));
|
|
119
|
+
if (hasRequestInput(input)) {
|
|
120
|
+
assertInputMatchesType(input, "audio");
|
|
121
|
+
const request = omitIntentFields(input);
|
|
122
|
+
return applyRequestDefaults({ ...request, type: "audio" }, defaults, profile);
|
|
123
|
+
}
|
|
124
|
+
const intent = input;
|
|
125
|
+
const options = mergeDefinedRecords(resolvedOptions(defaults, "audio", profile), {
|
|
126
|
+
duration: intent.duration,
|
|
127
|
+
seed: intent.seed,
|
|
128
|
+
voice: intent.voice,
|
|
129
|
+
format: intent.format,
|
|
130
|
+
sampleRate: intent.sampleRate,
|
|
131
|
+
}, intent.options);
|
|
132
|
+
const providerOptions = mergeDefinedRecords(resolvedProviderOptions(defaults, "audio", profile), intent.providerOptions);
|
|
133
|
+
return stripUndefined({
|
|
134
|
+
type: "audio",
|
|
135
|
+
provider: requiredProvider(intent.provider, defaults, "audio", profile),
|
|
136
|
+
model: requiredModel(intent.model, defaults, "audio", profile),
|
|
137
|
+
action: intent.action ?? profile?.action,
|
|
138
|
+
input: stripUndefined({
|
|
139
|
+
prompt: intent.prompt,
|
|
140
|
+
text: intent.text,
|
|
141
|
+
audio: mediaField(intent.audio),
|
|
142
|
+
audios: mergeMediaInputs(mediaFields(intent.audios), mediaInputs(intent.media)),
|
|
143
|
+
}),
|
|
144
|
+
options,
|
|
145
|
+
providerOptions,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
export function normalizeModel3DRequest(input, defaults) {
|
|
149
|
+
if (typeof input === "string") {
|
|
150
|
+
return normalizeModel3DRequest({ prompt: input }, defaults);
|
|
151
|
+
}
|
|
152
|
+
const profile = profileDefaults(defaults, profileName(input));
|
|
153
|
+
assertProfileMatchesType(profile, "model3d", profileName(input));
|
|
154
|
+
if (hasRequestInput(input)) {
|
|
155
|
+
assertInputMatchesType(input, "model3d");
|
|
156
|
+
const request = omitIntentFields(input);
|
|
157
|
+
return applyRequestDefaults({ ...request, type: "model3d" }, defaults, profile);
|
|
158
|
+
}
|
|
159
|
+
const intent = input;
|
|
160
|
+
const options = mergeDefinedRecords(resolvedOptions(defaults, "model3d", profile), {
|
|
161
|
+
format: intent.format,
|
|
162
|
+
quality: intent.quality,
|
|
163
|
+
texture: intent.texture,
|
|
164
|
+
seed: intent.seed,
|
|
165
|
+
}, intent.options);
|
|
166
|
+
const providerOptions = mergeDefinedRecords(resolvedProviderOptions(defaults, "model3d", profile), intent.providerOptions);
|
|
167
|
+
return stripUndefined({
|
|
168
|
+
type: "model3d",
|
|
169
|
+
provider: requiredProvider(intent.provider, defaults, "model3d", profile),
|
|
170
|
+
model: requiredModel(intent.model, defaults, "model3d", profile),
|
|
171
|
+
action: intent.action ?? profile?.action,
|
|
172
|
+
input: stripUndefined({
|
|
173
|
+
prompt: intent.prompt,
|
|
174
|
+
images: mergeMediaInputs(mediaFields(intent.images), mediaInputs(intent.media)),
|
|
175
|
+
model: mediaField(intent.sourceModel),
|
|
176
|
+
}),
|
|
177
|
+
options,
|
|
178
|
+
providerOptions,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
export function isNormalizedImageRequest(request) {
|
|
182
|
+
return request.type === "image";
|
|
183
|
+
}
|
|
184
|
+
export function normalizeMediaRouterDefaults(defaults) {
|
|
185
|
+
if (!defaults)
|
|
186
|
+
return undefined;
|
|
187
|
+
const providers = normalizeDefaultValueMap(defaults, "provider", defaults.providers);
|
|
188
|
+
const models = normalizeDefaultValueMap(defaults, "model", defaults.models);
|
|
189
|
+
const options = normalizeDefaultRecordMap(defaults, "options", defaults.options);
|
|
190
|
+
const providerOptions = normalizeDefaultRecordMap(defaults, "providerOptions", defaults.providerOptions);
|
|
191
|
+
const { profiles: _profiles, image: _image, video: _video, audio: _audio, model3d: _model3d, ...rest } = defaults;
|
|
192
|
+
return stripUndefined({
|
|
193
|
+
...rest,
|
|
194
|
+
providers: nonEmptyMap(providers),
|
|
195
|
+
models: nonEmptyMap(models),
|
|
196
|
+
options: nonEmptyMap(options),
|
|
197
|
+
providerOptions: nonEmptyMap(providerOptions),
|
|
198
|
+
profiles: normalizeProfileMap(defaults.profiles),
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
export function resolveMediaRouterProfile(defaults, profile) {
|
|
202
|
+
if (!profile)
|
|
203
|
+
return undefined;
|
|
204
|
+
const profiles = defaults?.profiles;
|
|
205
|
+
if (profiles && Object.prototype.hasOwnProperty.call(profiles, profile)) {
|
|
206
|
+
return normalizeMediaRouterProfile(profiles[profile]);
|
|
207
|
+
}
|
|
208
|
+
throwBadRequest(`Unknown profile: ${profile}`);
|
|
209
|
+
}
|
|
210
|
+
function applyRequestDefaults(request, defaults, profile) {
|
|
211
|
+
const type = request.type;
|
|
212
|
+
const provider = requiredProvider(request.provider, defaults, type, profile);
|
|
213
|
+
const model = requiredModel(request.model, defaults, type, profile);
|
|
214
|
+
return stripUndefined({
|
|
215
|
+
...request,
|
|
216
|
+
provider,
|
|
217
|
+
model,
|
|
218
|
+
action: request.action ?? profile?.action,
|
|
219
|
+
options: mergeDefinedRecords(resolvedOptions(defaults, type, profile), request.options),
|
|
220
|
+
providerOptions: mergeDefinedRecords(resolvedProviderOptions(defaults, type, profile), request.providerOptions),
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
function hasRequestInput(input) {
|
|
224
|
+
return "input" in input;
|
|
225
|
+
}
|
|
226
|
+
function profileName(input) {
|
|
227
|
+
if (!input || typeof input !== "object")
|
|
228
|
+
return undefined;
|
|
229
|
+
if (!("profile" in input))
|
|
230
|
+
return undefined;
|
|
231
|
+
return typeof input.profile === "string" ? input.profile : undefined;
|
|
232
|
+
}
|
|
233
|
+
function profileDefaults(defaults, profile) {
|
|
234
|
+
return resolveMediaRouterProfile(defaults, profile);
|
|
235
|
+
}
|
|
236
|
+
function normalizeProfileMap(profiles) {
|
|
237
|
+
if (!profiles)
|
|
238
|
+
return undefined;
|
|
239
|
+
return nonEmptyObject(Object.fromEntries(Object.entries(profiles).map(([name, profile]) => [
|
|
240
|
+
name,
|
|
241
|
+
normalizeMediaRouterProfile(profile),
|
|
242
|
+
])));
|
|
243
|
+
}
|
|
244
|
+
function normalizeMediaRouterProfile(profile) {
|
|
245
|
+
const { type, provider, model, action, options, providerOptions, ...optionShorthand } = profile;
|
|
246
|
+
return stripUndefined({
|
|
247
|
+
type,
|
|
248
|
+
provider,
|
|
249
|
+
model,
|
|
250
|
+
action,
|
|
251
|
+
options: mergeDefinedRecords(optionShorthand, options),
|
|
252
|
+
providerOptions: cleanRecord(providerOptions),
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
function assertProfileMatchesType(profile, mediaType, profileNameValue) {
|
|
256
|
+
if (!profile?.type || profile.type === mediaType)
|
|
257
|
+
return;
|
|
258
|
+
throwBadRequest(`Profile ${profileNameValue ?? "(inline)"} resolves to ${profile.type}, not ${mediaType}`);
|
|
259
|
+
}
|
|
260
|
+
function assertInputMatchesType(input, mediaType) {
|
|
261
|
+
if (!input.type || input.type === mediaType)
|
|
262
|
+
return;
|
|
263
|
+
throwBadRequest(`Request type ${input.type} cannot be used with ${mediaType} facade`);
|
|
264
|
+
}
|
|
265
|
+
function omitIntentFields(input) {
|
|
266
|
+
const { profile: _profile, ...request } = input;
|
|
267
|
+
return request;
|
|
268
|
+
}
|
|
269
|
+
function mediaInputs(input) {
|
|
270
|
+
if (!input)
|
|
271
|
+
return undefined;
|
|
272
|
+
return (Array.isArray(input) ? input : [input]).map(mediaIntentItem);
|
|
273
|
+
}
|
|
274
|
+
function mediaInputsByKind(input, kind) {
|
|
275
|
+
const media = mediaInputs(input);
|
|
276
|
+
if (!media?.length)
|
|
277
|
+
return undefined;
|
|
278
|
+
const matches = media.filter((item) => mediaInputKind(item, kind) === kind);
|
|
279
|
+
return matches.length ? matches : undefined;
|
|
280
|
+
}
|
|
281
|
+
function mediaInputKind(input, fallback) {
|
|
282
|
+
const mimeType = input.mimeType?.toLowerCase();
|
|
283
|
+
if (mimeType?.startsWith("video/"))
|
|
284
|
+
return "video";
|
|
285
|
+
if (mimeType?.startsWith("audio/"))
|
|
286
|
+
return "audio";
|
|
287
|
+
if (mimeType?.startsWith("image/"))
|
|
288
|
+
return "image";
|
|
289
|
+
return fallback;
|
|
290
|
+
}
|
|
291
|
+
function mediaIntentItem(input) {
|
|
292
|
+
if (typeof input !== "string")
|
|
293
|
+
return input;
|
|
294
|
+
if (isUrlLike(input)) {
|
|
295
|
+
return stripUndefined({
|
|
296
|
+
url: input,
|
|
297
|
+
mimeType: mimeTypeFromUrl(input),
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
return stripUndefined({
|
|
301
|
+
type: "file",
|
|
302
|
+
path: input,
|
|
303
|
+
mimeType: mimeTypeFromUrl(input),
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
function mediaField(input) {
|
|
307
|
+
if (input === undefined)
|
|
308
|
+
return undefined;
|
|
309
|
+
return mediaIntentItem(input);
|
|
310
|
+
}
|
|
311
|
+
function mediaFields(input) {
|
|
312
|
+
if (!input?.length)
|
|
313
|
+
return undefined;
|
|
314
|
+
return input.map(mediaIntentItem);
|
|
315
|
+
}
|
|
316
|
+
function mediaFieldList(input) {
|
|
317
|
+
const media = mediaField(input);
|
|
318
|
+
return media ? [media] : undefined;
|
|
319
|
+
}
|
|
320
|
+
function isUrlLike(value) {
|
|
321
|
+
if (/^[a-z]:[\\/]/i.test(value))
|
|
322
|
+
return false;
|
|
323
|
+
return /^[a-z][a-z0-9+.-]*:/i.test(value) || value.startsWith("//");
|
|
324
|
+
}
|
|
325
|
+
function mimeTypeFromUrl(url) {
|
|
326
|
+
const path = url.split(/[?#]/, 1)[0]?.toLowerCase() ?? "";
|
|
327
|
+
const extension = path.match(/\.([a-z0-9]+)$/)?.[1];
|
|
328
|
+
if (!extension)
|
|
329
|
+
return undefined;
|
|
330
|
+
return mimeTypesByExtension[extension];
|
|
331
|
+
}
|
|
332
|
+
const mimeTypesByExtension = {
|
|
333
|
+
png: "image/png",
|
|
334
|
+
jpg: "image/jpeg",
|
|
335
|
+
jpeg: "image/jpeg",
|
|
336
|
+
webp: "image/webp",
|
|
337
|
+
gif: "image/gif",
|
|
338
|
+
mp4: "video/mp4",
|
|
339
|
+
mov: "video/quicktime",
|
|
340
|
+
webm: "video/webm",
|
|
341
|
+
m4v: "video/mp4",
|
|
342
|
+
mp3: "audio/mpeg",
|
|
343
|
+
wav: "audio/wav",
|
|
344
|
+
m4a: "audio/mp4",
|
|
345
|
+
aac: "audio/aac",
|
|
346
|
+
ogg: "audio/ogg",
|
|
347
|
+
flac: "audio/flac",
|
|
348
|
+
};
|
|
349
|
+
function mediaTail(inputs) {
|
|
350
|
+
const tail = inputs?.slice(1);
|
|
351
|
+
return tail?.length ? tail : undefined;
|
|
352
|
+
}
|
|
353
|
+
function mergeMediaInputs(explicit, shorthand) {
|
|
354
|
+
if (!explicit?.length)
|
|
355
|
+
return shorthand?.length ? shorthand : undefined;
|
|
356
|
+
if (!shorthand?.length)
|
|
357
|
+
return explicit;
|
|
358
|
+
return [...explicit, ...shorthand];
|
|
359
|
+
}
|
|
360
|
+
function mergeMediaInputGroups(...groups) {
|
|
361
|
+
const merged = groups.flatMap((group) => group ?? []);
|
|
362
|
+
return merged.length ? merged : undefined;
|
|
363
|
+
}
|
|
364
|
+
function resolvedProvider(defaults, mediaType, profile) {
|
|
365
|
+
return (profile?.provider ??
|
|
366
|
+
mediaDefaultSlot(defaults, mediaType)?.provider ??
|
|
367
|
+
defaults?.providers?.[mediaType] ??
|
|
368
|
+
defaults?.provider);
|
|
369
|
+
}
|
|
370
|
+
function requiredProvider(explicit, defaults, mediaType, profile) {
|
|
371
|
+
const provider = explicit ?? resolvedProvider(defaults, mediaType, profile);
|
|
372
|
+
if (provider)
|
|
373
|
+
return provider;
|
|
374
|
+
throwBadRequest(`Missing provider for ${mediaType} request`);
|
|
375
|
+
}
|
|
376
|
+
function resolvedModel(defaults, mediaType, profile) {
|
|
377
|
+
return (profile?.model ??
|
|
378
|
+
mediaDefaultSlot(defaults, mediaType)?.model ??
|
|
379
|
+
defaults?.models?.[mediaType] ??
|
|
380
|
+
defaults?.model);
|
|
381
|
+
}
|
|
382
|
+
function requiredModel(explicit, defaults, mediaType, profile) {
|
|
383
|
+
const model = explicit ?? resolvedModel(defaults, mediaType, profile);
|
|
384
|
+
if (model)
|
|
385
|
+
return model;
|
|
386
|
+
throwBadRequest(`Missing model for ${mediaType} request`);
|
|
387
|
+
}
|
|
388
|
+
function resolvedOptions(defaults, mediaType, profile) {
|
|
389
|
+
return mergeDefinedRecords(mediaDefaults(defaults?.options, mediaType), mediaDefaultSlotOptions(defaults, mediaType), profile?.options);
|
|
390
|
+
}
|
|
391
|
+
function resolvedProviderOptions(defaults, mediaType, profile) {
|
|
392
|
+
return mergeDefinedRecords(mediaDefaults(defaults?.providerOptions, mediaType), mediaDefaultSlot(defaults, mediaType)?.providerOptions, profile?.providerOptions);
|
|
393
|
+
}
|
|
394
|
+
function normalizeDefaultValueMap(defaults, slotKey, legacyMap) {
|
|
395
|
+
return Object.fromEntries(["image", "video", "audio", "model3d"]
|
|
396
|
+
.map((mediaType) => [
|
|
397
|
+
mediaType,
|
|
398
|
+
mediaDefaultSlot(defaults, mediaType)?.[slotKey] ?? legacyMap?.[mediaType],
|
|
399
|
+
])
|
|
400
|
+
.filter(([, value]) => value !== undefined));
|
|
401
|
+
}
|
|
402
|
+
function normalizeDefaultRecordMap(defaults, slotKey, legacyMap) {
|
|
403
|
+
return Object.fromEntries(["image", "video", "audio", "model3d"]
|
|
404
|
+
.map((mediaType) => [
|
|
405
|
+
mediaType,
|
|
406
|
+
normalizeDefaultSlotRecord(defaults, mediaType, slotKey, legacyMap),
|
|
407
|
+
])
|
|
408
|
+
.filter(([, value]) => value !== undefined));
|
|
409
|
+
}
|
|
410
|
+
function normalizeDefaultSlotRecord(defaults, mediaType, slotKey, legacyMap) {
|
|
411
|
+
const slotValue = slotKey === "options"
|
|
412
|
+
? mediaDefaultSlotOptions(defaults, mediaType)
|
|
413
|
+
: mediaDefaultSlot(defaults, mediaType)?.providerOptions;
|
|
414
|
+
return mergeDefinedRecords(legacyMap?.[mediaType], slotValue);
|
|
415
|
+
}
|
|
416
|
+
function mediaDefaults(defaults, mediaType) {
|
|
417
|
+
return defaults?.[mediaType];
|
|
418
|
+
}
|
|
419
|
+
function mediaDefaultSlot(defaults, mediaType) {
|
|
420
|
+
const slot = defaults?.[mediaType];
|
|
421
|
+
if (slot === undefined)
|
|
422
|
+
return undefined;
|
|
423
|
+
return typeof slot === "string" ? { model: slot } : slot;
|
|
424
|
+
}
|
|
425
|
+
function mediaDefaultSlotOptions(defaults, mediaType) {
|
|
426
|
+
const slot = mediaDefaultSlot(defaults, mediaType);
|
|
427
|
+
if (!slot)
|
|
428
|
+
return undefined;
|
|
429
|
+
const { provider: _provider, model: _model, options, providerOptions: _providerOptions, ...optionShorthand } = slot;
|
|
430
|
+
return mergeDefinedRecords(optionShorthand, options);
|
|
431
|
+
}
|
|
432
|
+
function mergeDefinedRecords(...records) {
|
|
433
|
+
const merged = Object.assign({}, ...records.map((record) => cleanRecord(record) ?? {}));
|
|
434
|
+
return nonEmptyObject(merged);
|
|
435
|
+
}
|
|
436
|
+
function cleanRecord(record) {
|
|
437
|
+
return record ? nonEmptyObject(record) : undefined;
|
|
438
|
+
}
|
|
439
|
+
function stripUndefined(value) {
|
|
440
|
+
return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined));
|
|
441
|
+
}
|
|
442
|
+
function nonEmptyObject(value) {
|
|
443
|
+
const stripped = stripUndefined(value);
|
|
444
|
+
return Object.keys(stripped).length ? stripped : undefined;
|
|
445
|
+
}
|
|
446
|
+
function nonEmptyMap(value) {
|
|
447
|
+
return Object.keys(value).length ? value : undefined;
|
|
448
|
+
}
|
|
449
|
+
function throwBadRequest(message) {
|
|
450
|
+
throw new MediaRouterException(createMediaRouterError("BAD_REQUEST", message, {
|
|
451
|
+
provider: "router",
|
|
452
|
+
}));
|
|
453
|
+
}
|
|
454
|
+
//# sourceMappingURL=normalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type GenerationJob, type GenerationResult, type MediaType } from "@miragari/core";
|
|
2
|
+
export type ProviderOutputContext = {
|
|
3
|
+
provider: string;
|
|
4
|
+
providerId?: string;
|
|
5
|
+
model: string;
|
|
6
|
+
type?: MediaType;
|
|
7
|
+
raw?: unknown;
|
|
8
|
+
};
|
|
9
|
+
export declare function normalizeProviderCreateOutput(output: unknown, context: ProviderOutputContext): GenerationJob;
|
|
10
|
+
export declare function normalizeProviderJob(job: unknown, context: ProviderOutputContext): GenerationJob;
|
|
11
|
+
export declare function normalizeProviderResult(result: unknown, context: ProviderOutputContext): GenerationResult;
|
|
12
|
+
export declare function withPrimaryAsset(result: GenerationResult): GenerationResult;
|
|
13
|
+
//# sourceMappingURL=provider-output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-output.d.ts","sourceRoot":"","sources":["../src/provider-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAA;AAMvB,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,qBAAqB,GAC7B,aAAa,CAkCf;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,qBAAqB,GAC7B,aAAa,CA0Cf;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,qBAAqB,GAC7B,gBAAgB,CAyBlB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAK3E"}
|