@miragari/providers 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 +567 -0
- package/dist/builtin.d.ts +9 -0
- package/dist/builtin.d.ts.map +1 -0
- package/dist/builtin.js +13 -0
- package/dist/builtin.js.map +1 -0
- package/dist/google/definition.d.ts +3 -0
- package/dist/google/definition.d.ts.map +1 -0
- package/dist/google/definition.js +69 -0
- package/dist/google/definition.js.map +1 -0
- package/dist/google/index.d.ts +2 -0
- package/dist/google/index.d.ts.map +1 -0
- package/dist/google/index.js +2 -0
- package/dist/google/index.js.map +1 -0
- package/dist/google/provider.d.ts +2 -0
- package/dist/google/provider.d.ts.map +1 -0
- package/dist/google/provider.js +133 -0
- package/dist/google/provider.js.map +1 -0
- package/dist/happyhorse/definition.d.ts +3 -0
- package/dist/happyhorse/definition.d.ts.map +1 -0
- package/dist/happyhorse/definition.js +57 -0
- package/dist/happyhorse/definition.js.map +1 -0
- package/dist/happyhorse/index.d.ts +2 -0
- package/dist/happyhorse/index.d.ts.map +1 -0
- package/dist/happyhorse/index.js +2 -0
- package/dist/happyhorse/index.js.map +1 -0
- package/dist/happyhorse/provider.d.ts +2 -0
- package/dist/happyhorse/provider.d.ts.map +1 -0
- package/dist/happyhorse/provider.js +253 -0
- package/dist/happyhorse/provider.js.map +1 -0
- package/dist/http.d.ts +66 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +236 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/media-router.d.ts +35 -0
- package/dist/media-router.d.ts.map +1 -0
- package/dist/media-router.js +202 -0
- package/dist/media-router.js.map +1 -0
- package/dist/openai/definition.d.ts +4 -0
- package/dist/openai/definition.d.ts.map +1 -0
- package/dist/openai/definition.js +92 -0
- package/dist/openai/definition.js.map +1 -0
- package/dist/openai/index.d.ts +2 -0
- package/dist/openai/index.d.ts.map +1 -0
- package/dist/openai/index.js +2 -0
- package/dist/openai/index.js.map +1 -0
- package/dist/openai/provider.d.ts +2 -0
- package/dist/openai/provider.d.ts.map +1 -0
- package/dist/openai/provider.js +188 -0
- package/dist/openai/provider.js.map +1 -0
- package/dist/qwen/definition.d.ts +4 -0
- package/dist/qwen/definition.d.ts.map +1 -0
- package/dist/qwen/definition.js +210 -0
- package/dist/qwen/definition.js.map +1 -0
- package/dist/qwen/index.d.ts +2 -0
- package/dist/qwen/index.d.ts.map +1 -0
- package/dist/qwen/index.js +2 -0
- package/dist/qwen/index.js.map +1 -0
- package/dist/qwen/provider.d.ts +2 -0
- package/dist/qwen/provider.d.ts.map +1 -0
- package/dist/qwen/provider.js +237 -0
- package/dist/qwen/provider.js.map +1 -0
- package/dist/toolkit.d.ts +137 -0
- package/dist/toolkit.d.ts.map +1 -0
- package/dist/toolkit.js +490 -0
- package/dist/toolkit.js.map +1 -0
- package/dist/volcengine/definition.d.ts +4 -0
- package/dist/volcengine/definition.d.ts.map +1 -0
- package/dist/volcengine/definition.js +130 -0
- package/dist/volcengine/definition.js.map +1 -0
- package/dist/volcengine/index.d.ts +2 -0
- package/dist/volcengine/index.d.ts.map +1 -0
- package/dist/volcengine/index.js +2 -0
- package/dist/volcengine/index.js.map +1 -0
- package/dist/volcengine/provider.d.ts +2 -0
- package/dist/volcengine/provider.d.ts.map +1 -0
- package/dist/volcengine/provider.js +232 -0
- package/dist/volcengine/provider.js.map +1 -0
- package/package.json +51 -0
package/dist/http.js
ADDED
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { createMediaRouterError, defineProvider, } from "@miragari/core";
|
|
2
|
+
import { providerError, statusFrom, } from "./toolkit.js";
|
|
3
|
+
export { completed, completedResult, pendingJob, pendingProviderJob, pendingStatus, polledJob, providerError, statusFrom, stripUndefined, } from "./toolkit.js";
|
|
4
|
+
export function defineHttpProvider(definition) {
|
|
5
|
+
const helpers = outputHelpers(definition);
|
|
6
|
+
const poll = definition.poll;
|
|
7
|
+
const cancel = definition.cancel;
|
|
8
|
+
return defineProvider({
|
|
9
|
+
id: definition.id,
|
|
10
|
+
displayName: definition.displayName,
|
|
11
|
+
baseURL: definition.baseURL,
|
|
12
|
+
auth: definition.auth,
|
|
13
|
+
defaultModels: definition.defaultModels,
|
|
14
|
+
models: definition.models,
|
|
15
|
+
driver: {
|
|
16
|
+
async create(context) {
|
|
17
|
+
const response = await request(context, definition.create.request);
|
|
18
|
+
return definition.create.output(response, context, helpers);
|
|
19
|
+
},
|
|
20
|
+
poll: poll
|
|
21
|
+
? async (context) => {
|
|
22
|
+
const response = await request(context, poll.request);
|
|
23
|
+
return poll.output(response, context, helpers);
|
|
24
|
+
}
|
|
25
|
+
: undefined,
|
|
26
|
+
cancel: cancel
|
|
27
|
+
? async (context) => {
|
|
28
|
+
const response = await request(context, cancel.request);
|
|
29
|
+
await cancel.output?.(response, context, helpers);
|
|
30
|
+
}
|
|
31
|
+
: undefined,
|
|
32
|
+
normalizeError(error, { request, job, runtime }) {
|
|
33
|
+
return providerError(error, runtime.provider, request?.model ?? job?.model);
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function outputHelpers(definition) {
|
|
39
|
+
return {
|
|
40
|
+
statusFrom(providerStatus, options) {
|
|
41
|
+
return statusFrom(providerStatus, definition.statusMap, {
|
|
42
|
+
provider: options?.context?.provider ?? definition.id,
|
|
43
|
+
model: contextModel(options?.context),
|
|
44
|
+
unknownStatus: options?.unknownStatus ?? definition.unknownStatus,
|
|
45
|
+
missingStatus: options?.missingStatus ?? definition.missingStatus,
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function contextModel(context) {
|
|
51
|
+
if (!context)
|
|
52
|
+
return undefined;
|
|
53
|
+
return "request" in context ? context.request.model : context.job.model;
|
|
54
|
+
}
|
|
55
|
+
export function providerUrl(context, path) {
|
|
56
|
+
const base = context.config.baseURL || context.plugin.baseURL;
|
|
57
|
+
if (!base) {
|
|
58
|
+
throw new Error(`Provider ${context.provider} is missing baseURL`);
|
|
59
|
+
}
|
|
60
|
+
return new URL(`${base.replace(/\/$/, "")}/${path.replace(/^\//, "")}`);
|
|
61
|
+
}
|
|
62
|
+
export function authHeaders(context) {
|
|
63
|
+
const headers = {
|
|
64
|
+
...(context.config.headers ?? {}),
|
|
65
|
+
};
|
|
66
|
+
const auth = context.config.auth ?? context.plugin.auth ?? { type: "bearer" };
|
|
67
|
+
if (auth.type === "bearer" && context.config.apiKey) {
|
|
68
|
+
headers[auth.header ?? "Authorization"] = `Bearer ${context.config.apiKey}`;
|
|
69
|
+
}
|
|
70
|
+
if (auth.type === "api-key" && auth.in !== "query" && context.config.apiKey) {
|
|
71
|
+
headers[auth.header] = context.config.apiKey;
|
|
72
|
+
}
|
|
73
|
+
return headers;
|
|
74
|
+
}
|
|
75
|
+
export function applyAuthToUrl(context, url) {
|
|
76
|
+
const auth = context.config.auth ?? context.plugin.auth ?? { type: "bearer" };
|
|
77
|
+
if (auth.type === "api-key" && auth.in === "query" && context.config.apiKey) {
|
|
78
|
+
url.searchParams.set(auth.query, context.config.apiKey);
|
|
79
|
+
}
|
|
80
|
+
return url;
|
|
81
|
+
}
|
|
82
|
+
export async function requestJson(context, spec) {
|
|
83
|
+
return request(context, spec);
|
|
84
|
+
}
|
|
85
|
+
export async function request(context, spec) {
|
|
86
|
+
const path = typeof spec.path === "function" ? spec.path(context) : spec.path;
|
|
87
|
+
const url = applyAuthToUrl(context, providerUrl(context, path));
|
|
88
|
+
const query = spec.query?.(context);
|
|
89
|
+
for (const [key, value] of Object.entries(query ?? {})) {
|
|
90
|
+
if (value != null)
|
|
91
|
+
url.searchParams.set(key, String(value));
|
|
92
|
+
}
|
|
93
|
+
const body = spec.body?.(context);
|
|
94
|
+
const method = spec.method ?? (body == null ? "GET" : "POST");
|
|
95
|
+
const serializedBody = await serializeRequestBody({ body, context }, spec);
|
|
96
|
+
const contentType = spec.contentType === undefined
|
|
97
|
+
? inferContentType(body, serializedBody)
|
|
98
|
+
: spec.contentType;
|
|
99
|
+
const response = await context.fetch(url, {
|
|
100
|
+
method,
|
|
101
|
+
headers: {
|
|
102
|
+
...authHeaders(context),
|
|
103
|
+
...(serializedBody == null || !contentType ? {} : { "Content-Type": contentType }),
|
|
104
|
+
...definedHeaders(spec.headers?.(context)),
|
|
105
|
+
},
|
|
106
|
+
body: serializedBody,
|
|
107
|
+
});
|
|
108
|
+
return parseHttpResponse(response, context, spec);
|
|
109
|
+
}
|
|
110
|
+
async function parseHttpResponse(response, context, spec) {
|
|
111
|
+
const text = await response.text();
|
|
112
|
+
const input = { response, text, context };
|
|
113
|
+
if (!response.ok) {
|
|
114
|
+
const raw = spec.parseError
|
|
115
|
+
? await parseWithFallback(() => spec.parseError?.(input), text)
|
|
116
|
+
: parseJsonTextSafe(text);
|
|
117
|
+
const message = errorMessageFromRaw(raw) ??
|
|
118
|
+
`Provider request failed with status ${response.status}`;
|
|
119
|
+
throw createMediaRouterError(errorCodeFromStatus(response.status, raw), message, {
|
|
120
|
+
provider: context.provider,
|
|
121
|
+
retryable: retryableFromStatus(response.status),
|
|
122
|
+
statusCode: response.status,
|
|
123
|
+
raw,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
if (spec.parseResponse) {
|
|
127
|
+
return spec.parseResponse(input);
|
|
128
|
+
}
|
|
129
|
+
return parseJsonText(text);
|
|
130
|
+
}
|
|
131
|
+
async function serializeRequestBody(input, spec) {
|
|
132
|
+
if (input.body == null)
|
|
133
|
+
return undefined;
|
|
134
|
+
if (spec.serializeBody)
|
|
135
|
+
return spec.serializeBody(input);
|
|
136
|
+
if (isBodyInit(input.body))
|
|
137
|
+
return input.body;
|
|
138
|
+
return JSON.stringify(input.body);
|
|
139
|
+
}
|
|
140
|
+
function inferContentType(originalBody, serializedBody) {
|
|
141
|
+
if (serializedBody == null)
|
|
142
|
+
return false;
|
|
143
|
+
if (serializedBody instanceof URLSearchParams) {
|
|
144
|
+
return "application/x-www-form-urlencoded;charset=UTF-8";
|
|
145
|
+
}
|
|
146
|
+
if (typeof FormData !== "undefined" &&
|
|
147
|
+
serializedBody instanceof FormData) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
if (typeof Blob !== "undefined" && serializedBody instanceof Blob) {
|
|
151
|
+
return serializedBody.type || false;
|
|
152
|
+
}
|
|
153
|
+
if (serializedBody instanceof ArrayBuffer ||
|
|
154
|
+
ArrayBuffer.isView(serializedBody)) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
if (typeof serializedBody === "string" &&
|
|
158
|
+
typeof originalBody === "string") {
|
|
159
|
+
return "text/plain;charset=UTF-8";
|
|
160
|
+
}
|
|
161
|
+
return "application/json";
|
|
162
|
+
}
|
|
163
|
+
function isBodyInit(value) {
|
|
164
|
+
if (typeof value === "string")
|
|
165
|
+
return true;
|
|
166
|
+
if (value instanceof URLSearchParams)
|
|
167
|
+
return true;
|
|
168
|
+
if (value instanceof ArrayBuffer)
|
|
169
|
+
return true;
|
|
170
|
+
if (ArrayBuffer.isView(value))
|
|
171
|
+
return true;
|
|
172
|
+
if (typeof FormData !== "undefined" && value instanceof FormData)
|
|
173
|
+
return true;
|
|
174
|
+
if (typeof Blob !== "undefined" && value instanceof Blob)
|
|
175
|
+
return true;
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
export function parseJsonText(text) {
|
|
179
|
+
return text.trim() ? JSON.parse(text) : {};
|
|
180
|
+
}
|
|
181
|
+
function parseJsonTextSafe(text) {
|
|
182
|
+
if (!text.trim())
|
|
183
|
+
return {};
|
|
184
|
+
try {
|
|
185
|
+
return JSON.parse(text);
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return { message: text };
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async function parseWithFallback(parse, text) {
|
|
192
|
+
try {
|
|
193
|
+
return await parse();
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
return parseJsonTextSafe(text);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
function errorMessageFromRaw(raw) {
|
|
200
|
+
if (!raw || typeof raw !== "object")
|
|
201
|
+
return undefined;
|
|
202
|
+
const error = "error" in raw ? raw.error : undefined;
|
|
203
|
+
if (error && typeof error === "object" && "message" in error) {
|
|
204
|
+
const message = error.message;
|
|
205
|
+
if (typeof message === "string")
|
|
206
|
+
return message;
|
|
207
|
+
}
|
|
208
|
+
if ("message" in raw && typeof raw.message === "string")
|
|
209
|
+
return raw.message;
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
function errorCodeFromStatus(status, raw) {
|
|
213
|
+
const message = errorMessageFromRaw(raw)?.toLowerCase() ?? "";
|
|
214
|
+
if (message.includes("content policy") ||
|
|
215
|
+
message.includes("safety") ||
|
|
216
|
+
message.includes("moderation")) {
|
|
217
|
+
return "CONTENT_REJECTED";
|
|
218
|
+
}
|
|
219
|
+
if (message.includes("region") || message.includes("location")) {
|
|
220
|
+
return "REGION_RESTRICTED";
|
|
221
|
+
}
|
|
222
|
+
if (status === 401 || status === 403)
|
|
223
|
+
return "AUTH_ERROR";
|
|
224
|
+
if (status === 404)
|
|
225
|
+
return "NOT_FOUND";
|
|
226
|
+
if (status === 429)
|
|
227
|
+
return "RATE_LIMITED";
|
|
228
|
+
return "PROVIDER_ERROR";
|
|
229
|
+
}
|
|
230
|
+
function retryableFromStatus(status) {
|
|
231
|
+
return status === 408 || status === 409 || status === 425 || status === 429 || status >= 500;
|
|
232
|
+
}
|
|
233
|
+
function definedHeaders(headers) {
|
|
234
|
+
return Object.fromEntries(Object.entries(headers ?? {}).filter(([, value]) => value !== undefined));
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,cAAc,GAWf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,aAAa,EACb,UAAU,GAGX,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,SAAS,EACT,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,cAAc,CAAA;AA4FrB,MAAM,UAAU,kBAAkB,CAKhC,UAAmF;IAEnF,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAChC,OAAO,cAAc,CAAC;QACpB,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,MAAM,EAAE;YACN,KAAK,CAAC,MAAM,CAAC,OAAO;gBAClB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,OAAO,EACP,UAAU,CAAC,MAAM,CAAC,OAAO,CAC1B,CAAA;gBACD,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7D,CAAC;YACD,IAAI,EAAE,IAAI;gBACR,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBAChB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,OAAO,EACP,IAAI,CAAC,OAAO,CACb,CAAA;oBACD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;gBAChD,CAAC;gBACH,CAAC,CAAC,SAAS;YACb,MAAM,EAAE,MAAM;gBACZ,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBAChB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,OAAO,EACP,MAAM,CAAC,OAAO,CACf,CAAA;oBACD,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;gBACnD,CAAC;gBACH,CAAC,CAAC,SAAS;YACb,cAAc,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;gBAC7C,OAAO,aAAa,CAClB,KAAK,EACL,OAAO,CAAC,QAAQ,EAChB,OAAO,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,CAC7B,CAAA;YACH,CAAC;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,UAGC;IAED,OAAO;QACL,UAAU,CAAC,cAAc,EAAE,OAAO;YAChC,OAAO,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,SAAS,EAAE;gBACtD,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,UAAU,CAAC,EAAE;gBACrD,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;gBACrC,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,UAAU,CAAC,aAAa;gBACjE,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,UAAU,CAAC,aAAa;aAClE,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CACnB,OAIa;IAEb,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAC9B,OAAO,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAA+B,EAAE,IAAY;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;IAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,qBAAqB,CAAC,CAAA;IACpE,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAA+B;IACzD,MAAM,OAAO,GAA2B;QACtC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;KAClC,CAAA;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAA;IACtF,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,GAAG,UAAU,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;IAC7E,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAA;IAC9C,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA+B,EAAE,GAAQ;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAA;IACtF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5E,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,OAAiB,EACjB,IAA+B;IAE/B,OAAO,OAAO,CAAc,OAAO,EAAE,IAAI,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAI3B,OAAiB,EACjB,IAA+B;IAE/B,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAC7E,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAA;IACnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,IAAI,IAAI;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC7D,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAA;IAC1E,MAAM,WAAW,GACf,IAAI,CAAC,WAAW,KAAK,SAAS;QAC5B,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;IACtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;QACxC,MAAM;QACN,OAAO,EAAE;YACP,GAAG,WAAW,CAAC,OAAO,CAAC;YACvB,GAAG,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;YAClF,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,EAAE,cAAc;KACrB,CAAC,CAAA;IACF,OAAO,iBAAiB,CAAc,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;AAChE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAI9B,QAAkB,EAClB,OAAiB,EACjB,IAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU;YACzB,CAAC,CAAC,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;YAC/D,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC3B,MAAM,OAAO,GACX,mBAAmB,CAAC,GAAG,CAAC;YACxB,uCAAuC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAC1D,MAAM,sBAAsB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;YAC/E,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/C,UAAU,EAAE,QAAQ,CAAC,MAAM;YAC3B,GAAG;SACJ,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAmB,CAAA;IACpD,CAAC;IACD,OAAO,aAAa,CAAC,IAAI,CAAM,CAAA;AACjC,CAAC;AAED,KAAK,UAAU,oBAAoB,CAGjC,KAAuC,EACvC,IAA+B;IAE/B,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,SAAS,CAAA;IACxC,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACxD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAA;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,gBAAgB,CACvB,YAAqB,EACrB,cAAoC;IAEpC,IAAI,cAAc,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,cAAc,YAAY,eAAe,EAAE,CAAC;QAC9C,OAAO,iDAAiD,CAAA;IAC1D,CAAC;IACD,IACE,OAAO,QAAQ,KAAK,WAAW;QAC/B,cAAc,YAAY,QAAQ,EAClC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,cAAc,YAAY,IAAI,EAAE,CAAC;QAClE,OAAO,cAAc,CAAC,IAAI,IAAI,KAAK,CAAA;IACrC,CAAC;IACD,IACE,cAAc,YAAY,WAAW;QACrC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,EAClC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IACE,OAAO,cAAc,KAAK,QAAQ;QAClC,OAAO,YAAY,KAAK,QAAQ,EAChC,CAAC;QACD,OAAO,0BAA0B,CAAA;IACnC,CAAC;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1C,IAAI,KAAK,YAAY,eAAe;QAAE,OAAO,IAAI,CAAA;IACjD,IAAI,KAAK,YAAY,WAAW;QAAE,OAAO,IAAI,CAAA;IAC7C,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,KAAK,YAAY,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC7E,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,IAAI,CAAA;IACrE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,KAAuC,EACvC,IAAY;IAEZ,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,EAAE,CAAA;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IACrD,MAAM,KAAK,GAAG,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACpD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAC7B,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAA;IACjD,CAAC;IACD,IAAI,SAAS,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,OAAO,CAAA;IAC3E,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAc,EACd,GAAY;IAEZ,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;IAC7D,IACE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC9B,CAAC;QACD,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,YAAY,CAAA;IACzD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,WAAW,CAAA;IACtC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,cAAc,CAAA;IACzC,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG,CAAA;AAC9F,CAAC;AAED,SAAS,cAAc,CACrB,OAAuD;IAEvD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC/C,CAAA;AAC7B,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { defineHttpProvider, } from "./http.js";
|
|
2
|
+
export type { HttpProviderDefinition } from "./http.js";
|
|
3
|
+
export type { BodySerializationInput, HttpCancelRequestSpec, HttpCreateRequestSpec, HttpOutputHelpers, HttpPollRequestSpec, HttpResponseParseInput, } from "./http.js";
|
|
4
|
+
export { appendPromptFlags, assetFromUrl, assetsFromImageData, assertNoUnusedMediaInputs, badRequest, collectMediaInputs, completed, completedResult, describeMediaInput, firstDefined, firstImageInput, firstMediaInput, getAudioInputs, getImageInputs, getModel3DInputs, getOutputMimeType, getPrompt, getProviderOption, getVideoInputs, isImageRequest, isVideoRequest, mediaInputToInlineBase64, pendingJob, pendingProviderJob, pendingStatus, polledJob, providerAsset, providerAssets, providerError, requestIntent, requestMediaType, requirePrompt, statusFrom, stripUndefined, unsupportedAction, unsupportedInput, } from "./toolkit.js";
|
|
5
|
+
export type { CollectedMediaInput, DescribedMediaInput, InlineBase64MediaInput, MissingStatusStrategy, MediaInputRole, ProviderAssetInput, ProviderRequestIntent, UnknownStatusStrategy, } from "./toolkit.js";
|
|
6
|
+
export { createMediaRouter, } from "./media-router.js";
|
|
7
|
+
export type { BuiltinMediaRouterInput, BuiltinMediaRouterDefaultSlot, BuiltinMediaRouterOptions, BuiltinMediaRouterProfileInput, BuiltinMediaRouterProfiles, BuiltinProviderName, } from "./media-router.js";
|
|
8
|
+
export { googleProvider } from "./google/index.js";
|
|
9
|
+
export { happyhorseProvider } from "./happyhorse/index.js";
|
|
10
|
+
export { openaiProvider } from "./openai/index.js";
|
|
11
|
+
export { qwenProvider } from "./qwen/index.js";
|
|
12
|
+
export { volcengineProvider } from "./volcengine/index.js";
|
|
13
|
+
export { builtinProviderPlugins } from "./builtin.js";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GACnB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AACvD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { defineHttpProvider, } from "./http.js";
|
|
2
|
+
export { appendPromptFlags, assetFromUrl, assetsFromImageData, assertNoUnusedMediaInputs, badRequest, collectMediaInputs, completed, completedResult, describeMediaInput, firstDefined, firstImageInput, firstMediaInput, getAudioInputs, getImageInputs, getModel3DInputs, getOutputMimeType, getPrompt, getProviderOption, getVideoInputs, isImageRequest, isVideoRequest, mediaInputToInlineBase64, pendingJob, pendingProviderJob, pendingStatus, polledJob, providerAsset, providerAssets, providerError, requestIntent, requestMediaType, requirePrompt, statusFrom, stripUndefined, unsupportedAction, unsupportedInput, } from "./toolkit.js";
|
|
3
|
+
export { createMediaRouter, } from "./media-router.js";
|
|
4
|
+
export { googleProvider } from "./google/index.js";
|
|
5
|
+
export { happyhorseProvider } from "./happyhorse/index.js";
|
|
6
|
+
export { openaiProvider } from "./openai/index.js";
|
|
7
|
+
export { qwenProvider } from "./qwen/index.js";
|
|
8
|
+
export { volcengineProvider } from "./volcengine/index.js";
|
|
9
|
+
export { builtinProviderPlugins } from "./builtin.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GACnB,MAAM,WAAW,CAAA;AAUlB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AAWrB,OAAO,EACL,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAS1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { MediaRouter, type GenerationMediaType, type MediaRouterDefaultSlot, type MediaRouterDefaults, type MediaRouterOptions, type MediaRouterProfile } from "@miragari/client";
|
|
2
|
+
declare const builtinProviderEnvKeys: {
|
|
3
|
+
readonly openai: readonly ["OPENAI_API_KEY"];
|
|
4
|
+
readonly google: readonly ["GOOGLE_API_KEY", "GEMINI_API_KEY"];
|
|
5
|
+
readonly qwen: readonly ["DASHSCOPE_API_KEY", "QWEN_API_KEY"];
|
|
6
|
+
readonly happyhorse: readonly ["FAL_KEY", "FAL_API_KEY"];
|
|
7
|
+
readonly volcengine: readonly ["ARK_API_KEY", "VOLCENGINE_API_KEY"];
|
|
8
|
+
};
|
|
9
|
+
export type BuiltinProviderName = keyof typeof builtinProviderEnvKeys;
|
|
10
|
+
type BuiltinProviderList = readonly BuiltinProviderName[];
|
|
11
|
+
type BuiltinProviderInput = MediaRouterOptions["providers"] | BuiltinProviderList;
|
|
12
|
+
type BuiltinProviderTopLevelConfigs = Partial<Record<BuiltinProviderName, MediaRouterOptions["providers"][string]>>;
|
|
13
|
+
export type BuiltinMediaRouterProfileInput = MediaRouterProfile | GenerationMediaType;
|
|
14
|
+
export type BuiltinMediaRouterProfiles = Record<string, BuiltinMediaRouterProfileInput>;
|
|
15
|
+
/**
|
|
16
|
+
* Built-in router media slot defaults. Unknown keys are treated as
|
|
17
|
+
* `options` shorthand by `createMediaRouter`.
|
|
18
|
+
*/
|
|
19
|
+
export type BuiltinMediaRouterDefaultSlot = MediaRouterDefaultSlot;
|
|
20
|
+
export type BuiltinMediaRouterInput = BuiltinMediaRouterOptions | BuiltinProviderName | BuiltinProviderList;
|
|
21
|
+
export type BuiltinMediaRouterOptions = Omit<MediaRouterOptions, "plugins" | "providers"> & BuiltinProviderTopLevelConfigs & {
|
|
22
|
+
plugins?: MediaRouterOptions["plugins"];
|
|
23
|
+
providers?: BuiltinProviderInput;
|
|
24
|
+
provider?: MediaRouterDefaults["provider"];
|
|
25
|
+
model?: MediaRouterDefaults["model"];
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
profiles?: BuiltinMediaRouterProfiles;
|
|
28
|
+
image?: BuiltinMediaRouterDefaultSlot;
|
|
29
|
+
video?: BuiltinMediaRouterDefaultSlot;
|
|
30
|
+
audio?: BuiltinMediaRouterDefaultSlot;
|
|
31
|
+
model3d?: BuiltinMediaRouterDefaultSlot;
|
|
32
|
+
};
|
|
33
|
+
export declare function createMediaRouter(input?: BuiltinMediaRouterInput): MediaRouter;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=media-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-router.d.ts","sourceRoot":"","sources":["../src/media-router.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAE3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAA;AAQzB,QAAA,MAAM,sBAAsB;;;;;;CAMlB,CAAA;AAIV,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,sBAAsB,CAAA;AACrE,KAAK,mBAAmB,GAAG,SAAS,mBAAmB,EAAE,CAAA;AACzD,KAAK,oBAAoB,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAA;AACjF,KAAK,8BAA8B,GAAG,OAAO,CAC3C,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CACrE,CAAA;AACD,MAAM,MAAM,8BAA8B,GAAG,kBAAkB,GAAG,mBAAmB,CAAA;AACrF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAA;AACvF;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,CAAA;AAClE,MAAM,MAAM,uBAAuB,GAC/B,yBAAyB,GACzB,mBAAmB,GACnB,mBAAmB,CAAA;AAEvB,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,kBAAkB,EAClB,SAAS,GAAG,WAAW,CACxB,GACC,8BAA8B,GAAG;IACjC,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACvC,SAAS,CAAC,EAAE,oBAAoB,CAAA;IAChC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC1C,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,0BAA0B,CAAA;IACrC,KAAK,CAAC,EAAE,6BAA6B,CAAA;IACrC,KAAK,CAAC,EAAE,6BAA6B,CAAA;IACrC,KAAK,CAAC,EAAE,6BAA6B,CAAA;IACrC,OAAO,CAAC,EAAE,6BAA6B,CAAA;CACxC,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,GAAE,uBAA4B,GAAG,WAAW,CAsBlF"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { MediaRouter, } from "@miragari/client";
|
|
2
|
+
import { MediaRouterException, createMediaRouterError, } from "@miragari/core";
|
|
3
|
+
import { builtinProviderPlugins } from "./builtin.js";
|
|
4
|
+
const builtinProviderEnvKeys = {
|
|
5
|
+
openai: ["OPENAI_API_KEY"],
|
|
6
|
+
google: ["GOOGLE_API_KEY", "GEMINI_API_KEY"],
|
|
7
|
+
qwen: ["DASHSCOPE_API_KEY", "QWEN_API_KEY"],
|
|
8
|
+
happyhorse: ["FAL_KEY", "FAL_API_KEY"],
|
|
9
|
+
volcengine: ["ARK_API_KEY", "VOLCENGINE_API_KEY"],
|
|
10
|
+
};
|
|
11
|
+
const generationMediaTypes = ["image", "video", "audio", "model3d"];
|
|
12
|
+
export function createMediaRouter(input = {}) {
|
|
13
|
+
const options = builtinMediaRouterOptions(input);
|
|
14
|
+
const plugins = providerPlugins(options);
|
|
15
|
+
const providers = providerInstances(options);
|
|
16
|
+
const defaults = optionDefaults(options);
|
|
17
|
+
const { provider: _provider, model: _model, apiKey: _apiKey, profiles: _profiles, image: _image, video: _video, audio: _audio, model3d: _model3d, ...restOptions } = options;
|
|
18
|
+
return new MediaRouter({
|
|
19
|
+
...stripTopLevelProviderConfigs(restOptions),
|
|
20
|
+
providers,
|
|
21
|
+
plugins,
|
|
22
|
+
defaults,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function builtinMediaRouterOptions(input) {
|
|
26
|
+
if (Array.isArray(input))
|
|
27
|
+
return { providers: input };
|
|
28
|
+
if (typeof input === "string")
|
|
29
|
+
return { provider: input };
|
|
30
|
+
return input;
|
|
31
|
+
}
|
|
32
|
+
function optionDefaults(options) {
|
|
33
|
+
if (!options.provider &&
|
|
34
|
+
!options.model &&
|
|
35
|
+
!options.profiles &&
|
|
36
|
+
options.image === undefined &&
|
|
37
|
+
options.video === undefined &&
|
|
38
|
+
options.audio === undefined &&
|
|
39
|
+
options.model3d === undefined) {
|
|
40
|
+
return options.defaults;
|
|
41
|
+
}
|
|
42
|
+
const defaults = {
|
|
43
|
+
provider: options.provider,
|
|
44
|
+
model: options.model,
|
|
45
|
+
...options.defaults,
|
|
46
|
+
image: mergeSlot(normalizeSlot(options.image), options.defaults?.image),
|
|
47
|
+
video: mergeSlot(normalizeSlot(options.video), options.defaults?.video),
|
|
48
|
+
audio: mergeSlot(normalizeSlot(options.audio), options.defaults?.audio),
|
|
49
|
+
model3d: mergeSlot(normalizeSlot(options.model3d), options.defaults?.model3d),
|
|
50
|
+
};
|
|
51
|
+
if (!options.profiles)
|
|
52
|
+
return defaults;
|
|
53
|
+
return {
|
|
54
|
+
...defaults,
|
|
55
|
+
profiles: normalizeProfiles({
|
|
56
|
+
...options.profiles,
|
|
57
|
+
...options.defaults?.profiles,
|
|
58
|
+
}),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function normalizeProfiles(profiles) {
|
|
62
|
+
if (!profiles)
|
|
63
|
+
return undefined;
|
|
64
|
+
return Object.fromEntries(Object.entries(profiles).map(([name, profile]) => [
|
|
65
|
+
name,
|
|
66
|
+
typeof profile === "string" ? profileFromType(name, profile) : profile,
|
|
67
|
+
]));
|
|
68
|
+
}
|
|
69
|
+
function normalizeSlot(slot) {
|
|
70
|
+
if (slot === undefined)
|
|
71
|
+
return undefined;
|
|
72
|
+
if (typeof slot === "string")
|
|
73
|
+
return { model: slot };
|
|
74
|
+
const { provider, model, options, providerOptions, ...optionShorthand } = slot;
|
|
75
|
+
return {
|
|
76
|
+
provider,
|
|
77
|
+
model,
|
|
78
|
+
options: mergeRecord(nonEmptyRecord(optionShorthand), options),
|
|
79
|
+
providerOptions,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function mergeRecord(base, override) {
|
|
83
|
+
if (!base)
|
|
84
|
+
return override;
|
|
85
|
+
if (!override)
|
|
86
|
+
return base;
|
|
87
|
+
return {
|
|
88
|
+
...base,
|
|
89
|
+
...override,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function nonEmptyRecord(record) {
|
|
93
|
+
const entries = Object.entries(record).filter(([, value]) => value !== undefined);
|
|
94
|
+
return entries.length ? Object.fromEntries(entries) : undefined;
|
|
95
|
+
}
|
|
96
|
+
function profileFromType(name, type) {
|
|
97
|
+
if (isGenerationMediaType(type))
|
|
98
|
+
return { type };
|
|
99
|
+
throw new MediaRouterException(createMediaRouterError("BAD_REQUEST", `Profile ${name} uses unsupported media type: ${type}`, { provider: "router" }));
|
|
100
|
+
}
|
|
101
|
+
function isGenerationMediaType(type) {
|
|
102
|
+
return generationMediaTypes.includes(type);
|
|
103
|
+
}
|
|
104
|
+
function providerPlugins(options) {
|
|
105
|
+
return {
|
|
106
|
+
...builtinProviderPlugins,
|
|
107
|
+
...options.plugins,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function providerInstances(options) {
|
|
111
|
+
const { providers } = options;
|
|
112
|
+
if (!providers) {
|
|
113
|
+
const topLevelProviders = topLevelProviderInstances(options);
|
|
114
|
+
if (topLevelProviders)
|
|
115
|
+
return topLevelProviders;
|
|
116
|
+
const provider = effectiveDefaultProvider(options);
|
|
117
|
+
if (isBuiltinProviderName(provider)) {
|
|
118
|
+
return { [provider]: topLevelApiKey(options, provider) ?? requiredEnvApiKey(provider) };
|
|
119
|
+
}
|
|
120
|
+
return envProviders(options);
|
|
121
|
+
}
|
|
122
|
+
if (Array.isArray(providers)) {
|
|
123
|
+
return Object.fromEntries(providers.map((provider) => [provider, requiredEnvApiKey(provider)]));
|
|
124
|
+
}
|
|
125
|
+
return providers;
|
|
126
|
+
}
|
|
127
|
+
function topLevelProviderInstances(options) {
|
|
128
|
+
const entries = Object.keys(builtinProviderEnvKeys)
|
|
129
|
+
.map((provider) => [provider, options[provider]])
|
|
130
|
+
.filter(([, value]) => value !== undefined);
|
|
131
|
+
return entries.length ? Object.fromEntries(entries) : undefined;
|
|
132
|
+
}
|
|
133
|
+
function stripTopLevelProviderConfigs(options) {
|
|
134
|
+
const stripped = { ...options };
|
|
135
|
+
for (const provider of Object.keys(builtinProviderEnvKeys)) {
|
|
136
|
+
delete stripped[provider];
|
|
137
|
+
}
|
|
138
|
+
return stripped;
|
|
139
|
+
}
|
|
140
|
+
function isBuiltinProviderName(provider) {
|
|
141
|
+
return (typeof provider === "string" &&
|
|
142
|
+
Object.prototype.hasOwnProperty.call(builtinProviderEnvKeys, provider));
|
|
143
|
+
}
|
|
144
|
+
function effectiveDefaultProvider(options) {
|
|
145
|
+
return optionDefaults(options)?.provider;
|
|
146
|
+
}
|
|
147
|
+
function topLevelApiKey(options, provider) {
|
|
148
|
+
return options.provider === provider ? options.apiKey : undefined;
|
|
149
|
+
}
|
|
150
|
+
function envProviders(options) {
|
|
151
|
+
const discovered = Object.fromEntries(Object.keys(builtinProviderEnvKeys)
|
|
152
|
+
.map((provider) => [provider, envApiKey(provider)])
|
|
153
|
+
.filter(([, apiKey]) => apiKey));
|
|
154
|
+
const providerNames = Object.keys(discovered);
|
|
155
|
+
if (providerNames.length > 1) {
|
|
156
|
+
throw new MediaRouterException(createMediaRouterError("BAD_REQUEST", `Multiple provider environment variables were found (${providerNames.join(", ")}). Pass provider, providers: [...], or defaults.provider to choose one.`, { provider: "router", raw: { providers: providerNames } }));
|
|
157
|
+
}
|
|
158
|
+
return discovered;
|
|
159
|
+
}
|
|
160
|
+
function requiredEnvApiKey(provider) {
|
|
161
|
+
const apiKey = envApiKey(provider);
|
|
162
|
+
if (apiKey)
|
|
163
|
+
return apiKey;
|
|
164
|
+
throw new MediaRouterException(createMediaRouterError("AUTH_ERROR", `Missing API key for ${provider}. Set ${envKeyLabel(provider)} or pass an explicit provider config.`, { provider }));
|
|
165
|
+
}
|
|
166
|
+
function envApiKey(provider) {
|
|
167
|
+
const env = runtimeEnv();
|
|
168
|
+
for (const key of builtinProviderEnvKeys[provider]) {
|
|
169
|
+
const value = env[key];
|
|
170
|
+
if (value)
|
|
171
|
+
return value;
|
|
172
|
+
}
|
|
173
|
+
return undefined;
|
|
174
|
+
}
|
|
175
|
+
function runtimeEnv() {
|
|
176
|
+
return (globalThis
|
|
177
|
+
.process?.env ?? {});
|
|
178
|
+
}
|
|
179
|
+
function envKeyLabel(provider) {
|
|
180
|
+
return builtinProviderEnvKeys[provider].join(" or ");
|
|
181
|
+
}
|
|
182
|
+
function mergeSlot(inferred, explicit) {
|
|
183
|
+
const inferredSlot = normalizeSlot(inferred);
|
|
184
|
+
const explicitSlot = normalizeSlot(explicit);
|
|
185
|
+
if (!inferredSlot)
|
|
186
|
+
return explicitSlot;
|
|
187
|
+
if (!explicitSlot)
|
|
188
|
+
return inferredSlot;
|
|
189
|
+
return {
|
|
190
|
+
...inferredSlot,
|
|
191
|
+
...explicitSlot,
|
|
192
|
+
options: {
|
|
193
|
+
...inferredSlot.options,
|
|
194
|
+
...explicitSlot.options,
|
|
195
|
+
},
|
|
196
|
+
providerOptions: {
|
|
197
|
+
...inferredSlot.providerOptions,
|
|
198
|
+
...explicitSlot.providerOptions,
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=media-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-router.js","sourceRoot":"","sources":["../src/media-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/openai/definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEvE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiFxD,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAQ5D,CAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
export const openaiModels = {
|
|
2
|
+
"gpt-image-1": {
|
|
3
|
+
id: "gpt-image-1",
|
|
4
|
+
type: "image",
|
|
5
|
+
async: false,
|
|
6
|
+
capabilities: {
|
|
7
|
+
actions: {
|
|
8
|
+
generate: {
|
|
9
|
+
description: "Generate images from prompt text.",
|
|
10
|
+
consumes: ["input.prompt", "options.width", "options.height", "options.count"],
|
|
11
|
+
},
|
|
12
|
+
reference: {
|
|
13
|
+
description: "Edit or generate images using prompt text and reference images.",
|
|
14
|
+
consumes: ["input.prompt", "input.images", "input.mask", "options.width", "options.height", "options.count"],
|
|
15
|
+
},
|
|
16
|
+
edit: {
|
|
17
|
+
description: "Edit images using prompt text, source images, and optional masks.",
|
|
18
|
+
consumes: ["input.prompt", "input.images", "input.mask", "options.width", "options.height", "options.count"],
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
dimensions: {
|
|
22
|
+
image: {
|
|
23
|
+
sizeFormat: "x",
|
|
24
|
+
supportedSizes: ["1024x1024", "1536x1024", "1024x1536"],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
count: { supported: true, max: 4, strategy: "native" },
|
|
28
|
+
maxImages: 16,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
"gpt-image-2": {
|
|
32
|
+
id: "gpt-image-2",
|
|
33
|
+
type: "image",
|
|
34
|
+
async: false,
|
|
35
|
+
capabilities: {
|
|
36
|
+
actions: {
|
|
37
|
+
generate: {
|
|
38
|
+
description: "Generate images from prompt text.",
|
|
39
|
+
consumes: ["input.prompt", "options.width", "options.height", "options.count"],
|
|
40
|
+
},
|
|
41
|
+
reference: {
|
|
42
|
+
description: "Edit or generate images using prompt text and reference images.",
|
|
43
|
+
consumes: ["input.prompt", "input.images", "input.mask", "options.width", "options.height", "options.count"],
|
|
44
|
+
},
|
|
45
|
+
edit: {
|
|
46
|
+
description: "Edit images using prompt text, source images, and optional masks.",
|
|
47
|
+
consumes: ["input.prompt", "input.images", "input.mask", "options.width", "options.height", "options.count"],
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
dimensions: {
|
|
51
|
+
image: {
|
|
52
|
+
sizeFormat: "x",
|
|
53
|
+
maxWidth: 3840,
|
|
54
|
+
maxHeight: 3840,
|
|
55
|
+
minPixels: 655_360,
|
|
56
|
+
maxPixels: 3840 * 2160,
|
|
57
|
+
minAspectRatio: 1 / 3,
|
|
58
|
+
maxAspectRatio: 3,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
count: { supported: true, max: 4, strategy: "native" },
|
|
62
|
+
maxImages: 16,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
"sora-2": {
|
|
66
|
+
id: "sora-2",
|
|
67
|
+
type: "video",
|
|
68
|
+
async: true,
|
|
69
|
+
capabilities: {
|
|
70
|
+
actions: {
|
|
71
|
+
generate: {
|
|
72
|
+
description: "Generate video from prompt text.",
|
|
73
|
+
consumes: ["input.prompt", "options.width", "options.height", "options.duration"],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
dimensions: {
|
|
77
|
+
aspectRatios: ["16:9", "9:16", "1:1"],
|
|
78
|
+
video: { resolutions: ["720p"], maxDuration: 20 },
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
export const openaiStatusMap = {
|
|
84
|
+
queued: "queued",
|
|
85
|
+
in_progress: "running",
|
|
86
|
+
processing: "running",
|
|
87
|
+
completed: "succeeded",
|
|
88
|
+
succeeded: "succeeded",
|
|
89
|
+
failed: "failed",
|
|
90
|
+
cancelled: "cancelled",
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/openai/definition.ts"],"names":[],"mappings":"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"}
|