@eaziz/prepare 0.1.5 → 0.1.6
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 +127 -6
- package/dist/async-job.d.ts +2 -0
- package/dist/async-job.d.ts.map +1 -1
- package/dist/async-job.js +5 -1
- package/dist/async-job.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/media-session.d.ts +24 -0
- package/dist/media-session.d.ts.map +1 -0
- package/dist/media-session.js +2 -0
- package/dist/media-session.js.map +1 -0
- package/dist/protocol-registry.d.ts +8 -7
- package/dist/protocol-registry.d.ts.map +1 -1
- package/dist/protocol-registry.js +108 -1
- package/dist/protocol-registry.js.map +1 -1
- package/dist/protocols/audio-streaming.d.ts +64 -0
- package/dist/protocols/audio-streaming.d.ts.map +1 -0
- package/dist/protocols/audio-streaming.js +58 -0
- package/dist/protocols/audio-streaming.js.map +1 -0
- package/dist/protocols/dashscope-rtc.d.ts +31 -0
- package/dist/protocols/dashscope-rtc.d.ts.map +1 -0
- package/dist/protocols/dashscope-rtc.js +80 -0
- package/dist/protocols/dashscope-rtc.js.map +1 -0
- package/dist/protocols/gemini-audio.d.ts +48 -0
- package/dist/protocols/gemini-audio.d.ts.map +1 -0
- package/dist/protocols/gemini-audio.js +24 -0
- package/dist/protocols/gemini-audio.js.map +1 -0
- package/dist/protocols/images.d.ts +2 -2
- package/dist/protocols/images.d.ts.map +1 -1
- package/dist/protocols/images.js.map +1 -1
- package/dist/protocols/kling-speech.d.ts +16 -0
- package/dist/protocols/kling-speech.d.ts.map +1 -0
- package/dist/protocols/kling-speech.js +13 -0
- package/dist/protocols/kling-speech.js.map +1 -0
- package/dist/protocols/kling-video.d.ts +75 -0
- package/dist/protocols/kling-video.d.ts.map +1 -0
- package/dist/protocols/kling-video.js +39 -0
- package/dist/protocols/kling-video.js.map +1 -0
- package/dist/protocols/minimax-audio.d.ts +53 -0
- package/dist/protocols/minimax-audio.d.ts.map +1 -0
- package/dist/protocols/minimax-audio.js +74 -0
- package/dist/protocols/minimax-audio.js.map +1 -0
- package/dist/protocols/realtime.d.ts +5 -0
- package/dist/protocols/realtime.d.ts.map +1 -1
- package/dist/protocols/realtime.js.map +1 -1
- package/dist/protocols/speech.d.ts +12 -3
- package/dist/protocols/speech.d.ts.map +1 -1
- package/dist/protocols/speech.js +4 -4
- package/dist/protocols/speech.js.map +1 -1
- package/dist/protocols/tencent-speech.d.ts +32 -0
- package/dist/protocols/tencent-speech.d.ts.map +1 -0
- package/dist/protocols/tencent-speech.js +52 -0
- package/dist/protocols/tencent-speech.js.map +1 -0
- package/dist/protocols/transcription.d.ts +8 -3
- package/dist/protocols/transcription.d.ts.map +1 -1
- package/dist/protocols/transcription.js +1 -1
- package/dist/protocols/transcription.js.map +1 -1
- package/dist/protocols/video.d.ts +11 -1
- package/dist/protocols/video.d.ts.map +1 -1
- package/dist/protocols/video.js +56 -1
- package/dist/protocols/video.js.map +1 -1
- package/dist/request-compiler.d.ts +1 -0
- package/dist/request-compiler.d.ts.map +1 -1
- package/dist/request-compiler.js.map +1 -1
- package/dist/request-types.d.ts +100 -1
- package/dist/request-types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ProtocolContext } from "../protocol-registry.js";
|
|
2
|
+
import type { PreparationBase, WireRecord } from "../request-types.js";
|
|
3
|
+
import { type PreparedAsyncJobLifecycle } from "../async-job.js";
|
|
4
|
+
import { type PreparedRequest } from "../request-builders/http.js";
|
|
5
|
+
import type { PreparedSpeechRequest } from "./speech.js";
|
|
6
|
+
/** MiniMax ASR form fields. Supply the optional language hint in `headers.language`. */
|
|
7
|
+
export type MiniMaxTranscriptionInput = WireRecord & {
|
|
8
|
+
readonly file: Blob | Uint8Array;
|
|
9
|
+
readonly filename?: string;
|
|
10
|
+
readonly response_format?: "json" | "verbose_json" | "srt" | "vtt";
|
|
11
|
+
readonly timestamp_level?: "" | "sentence" | "word";
|
|
12
|
+
readonly stream?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/** Initial TTS message, sent after the server's `connected_success` event. */
|
|
15
|
+
export type MiniMaxSpeechWebSocketInput = WireRecord & {
|
|
16
|
+
readonly event: "task_start";
|
|
17
|
+
readonly voice_setting: WireRecord & {
|
|
18
|
+
readonly voice_id: string;
|
|
19
|
+
};
|
|
20
|
+
readonly audio_setting?: WireRecord;
|
|
21
|
+
};
|
|
22
|
+
export type MiniMaxSpeechAsyncInput = WireRecord & {
|
|
23
|
+
readonly voice_setting: WireRecord & {
|
|
24
|
+
readonly voice_id: string;
|
|
25
|
+
};
|
|
26
|
+
readonly audio_setting?: WireRecord;
|
|
27
|
+
} & ({
|
|
28
|
+
readonly text: string;
|
|
29
|
+
readonly text_file_id?: never;
|
|
30
|
+
} | {
|
|
31
|
+
readonly text?: never;
|
|
32
|
+
readonly text_file_id: number;
|
|
33
|
+
});
|
|
34
|
+
export interface PreparedMiniMaxTranscriptionRequest extends PreparedRequest {
|
|
35
|
+
readonly response: {
|
|
36
|
+
readonly kind: "json";
|
|
37
|
+
readonly field: "text" | "delta";
|
|
38
|
+
} | {
|
|
39
|
+
readonly kind: "text";
|
|
40
|
+
readonly mediaType: "text/plain" | "text/vtt";
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export declare function prepareMiniMaxTranscription(request: PreparationBase<"transcription", "minimax-transcription", MiniMaxTranscriptionInput>): PreparedMiniMaxTranscriptionRequest;
|
|
44
|
+
export declare function prepareMiniMaxSpeechWebSocket(request: PreparationBase<"speech-generation", "minimax-speech-websocket", MiniMaxSpeechWebSocketInput>): PreparedSpeechRequest;
|
|
45
|
+
export declare function prepareMiniMaxSpeechWebSocketBidi(request: PreparationBase<"speech-generation", "minimax-speech-websocket-bidi", MiniMaxSpeechWebSocketInput>): PreparedSpeechRequest;
|
|
46
|
+
export declare function prepareMiniMaxSpeechAsync(request: PreparationBase<"speech-generation", "minimax-speech-async", MiniMaxSpeechAsyncInput>, context: ProtocolContext): PreparedSpeechRequest & {
|
|
47
|
+
readonly lifecycle: PreparedAsyncJobLifecycle;
|
|
48
|
+
readonly result: {
|
|
49
|
+
readonly request: (reference: string) => PreparedRequest;
|
|
50
|
+
readonly urlPath: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=minimax-audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimax-audio.d.ts","sourceRoot":"","sources":["../../src/protocols/minimax-audio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAqB,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,wFAAwF;AACxF,MAAM,MAAM,yBAAyB,GAAG,UAAU,GAAG;IACnD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,UAAU,GAAG,MAAM,CAAC;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG;IACrD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,UAAU,GAAG;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG;IACjD,QAAQ,CAAC,aAAa,EAAE,UAAU,GAAG;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;CACrC,GAAG,CACA;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAC3D,CAAC;AAEF,MAAM,WAAW,mCAAoC,SAAQ,eAAe;IAC1E,QAAQ,CAAC,QAAQ,EACb;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAC3D;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,UAAU,CAAA;KAAE,CAAC;CAC9E;AAWD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,CAAC,eAAe,EAAE,uBAAuB,EAAE,yBAAyB,CAAC,GAC5F,mCAAmC,CAwBrC;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,eAAe,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,GACrG,qBAAqB,CAEvB;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,eAAe,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,2BAA2B,CAAC,GAC1G,qBAAqB,CAEvB;AAYD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,uBAAuB,CAAC,EAC9F,OAAO,EAAE,eAAe,GACvB,qBAAqB,GAAG;IACzB,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,eAAe,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACzG,CAoBA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { asyncJobLifecycle } from "../async-job.js";
|
|
2
|
+
import { httpRequest, jsonRequest } from "../request-builders/http.js";
|
|
3
|
+
import { multipartRequest } from "../request-builders/multipart.js";
|
|
4
|
+
import { websocketRequest } from "../request-builders/websocket.js";
|
|
5
|
+
export function prepareMiniMaxTranscription(request) {
|
|
6
|
+
const input = request.input;
|
|
7
|
+
if (!(input.file instanceof Blob) && !(input.file instanceof Uint8Array)) {
|
|
8
|
+
throw new Error("MiniMax transcription requires binary input.file data.");
|
|
9
|
+
}
|
|
10
|
+
if (input.stream === true && input.response_format !== undefined && input.response_format !== "json") {
|
|
11
|
+
throw new Error('MiniMax streaming transcription only supports response_format "json".');
|
|
12
|
+
}
|
|
13
|
+
const form = new FormData();
|
|
14
|
+
const blob = input.file instanceof Blob
|
|
15
|
+
? input.file
|
|
16
|
+
: new Blob([new Uint8Array(input.file).buffer]);
|
|
17
|
+
form.set("file", blob, input.filename ?? "audio");
|
|
18
|
+
form.set("model", request.model);
|
|
19
|
+
for (const [key, value] of Object.entries(input)) {
|
|
20
|
+
if (["file", "filename", "model"].includes(key) || value === undefined)
|
|
21
|
+
continue;
|
|
22
|
+
form.set(key, typeof value === "string" ? value : JSON.stringify(value));
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
...multipartRequest(request, "/v1/speech_to_text", form, input.stream === true ? "http-stream" : "http"),
|
|
26
|
+
response: input.response_format === "srt" || input.response_format === "vtt"
|
|
27
|
+
? { kind: "text", mediaType: input.response_format === "vtt" ? "text/vtt" : "text/plain" }
|
|
28
|
+
: { kind: "json", field: input.stream === true ? "delta" : "text" },
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function prepareMiniMaxSpeechWebSocket(request) {
|
|
32
|
+
return prepareSpeechWebSocket(request, "/ws/v1/t2a_v2");
|
|
33
|
+
}
|
|
34
|
+
export function prepareMiniMaxSpeechWebSocketBidi(request) {
|
|
35
|
+
return prepareSpeechWebSocket(request, "/ws/v1/t2a_v2_bidi");
|
|
36
|
+
}
|
|
37
|
+
function prepareSpeechWebSocket(request, path) {
|
|
38
|
+
if (request.input.event !== "task_start") {
|
|
39
|
+
throw new Error('MiniMax TTS WebSocket initial message requires event "task_start".');
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
...websocketRequest(request, path, { ...request.input, model: request.model }),
|
|
43
|
+
response: audioResponse(request.input.audio_setting),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function prepareMiniMaxSpeechAsync(request, context) {
|
|
47
|
+
if (!context.lifecycle) {
|
|
48
|
+
throw new Error(`Protocol "${request.protocol}" requires lifecycle metadata.`);
|
|
49
|
+
}
|
|
50
|
+
if ((request.input.text !== undefined) === (request.input.text_file_id !== undefined)) {
|
|
51
|
+
throw new Error("MiniMax asynchronous speech requires exactly one of input.text or input.text_file_id.");
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
...jsonRequest(request, "/v1/t2a_async_v2", { ...request.input, model: request.model }),
|
|
55
|
+
response: audioResponse(request.input.audio_setting),
|
|
56
|
+
lifecycle: asyncJobLifecycle(request, context.lifecycle),
|
|
57
|
+
result: {
|
|
58
|
+
request: (fileId) => httpRequest({ baseURL: request.baseURL, headers: request.headers }, `/v1/files/retrieve?file_id=${encodeURIComponent(fileId)}`, { method: "GET" }),
|
|
59
|
+
urlPath: "file.download_url",
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function audioResponse(audioSetting) {
|
|
64
|
+
const mediaTypes = {
|
|
65
|
+
mp3: "audio/mpeg",
|
|
66
|
+
wav: "audio/wav",
|
|
67
|
+
flac: "audio/flac",
|
|
68
|
+
pcm: "audio/L16",
|
|
69
|
+
};
|
|
70
|
+
const format = audioSetting?.format;
|
|
71
|
+
const mediaType = typeof format === "string" ? mediaTypes[format.toLowerCase()] : undefined;
|
|
72
|
+
return { kind: "audio", ...(mediaType ? { mediaType } : {}) };
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=minimax-audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimax-audio.js","sourceRoot":"","sources":["../../src/protocols/minimax-audio.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { ProtocolRequest } from "../request-types.js";
|
|
2
|
+
import type { PreparedMediaSession } from "../media-session.js";
|
|
3
|
+
import type { PreparedRequest } from "../request-builders/http.js";
|
|
2
4
|
import { type PreparedWebSocketRequest } from "../request-builders/websocket.js";
|
|
5
|
+
export interface PreparedRealtimeRequest extends PreparedRequest {
|
|
6
|
+
readonly session?: PreparedMediaSession;
|
|
7
|
+
}
|
|
3
8
|
type RealtimeProtocol = "openai-realtime" | "openai-responses-websocket" | "dashscope-tts-realtime";
|
|
4
9
|
type RealtimeRequest<P extends RealtimeProtocol> = ProtocolRequest<"realtime", P>;
|
|
5
10
|
export declare function prepareOpenAIRealtime(request: RealtimeRequest<"openai-realtime">): PreparedWebSocketRequest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/protocols/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,kCAAkC,CAAC;AAE1C,KAAK,gBAAgB,GACjB,iBAAiB,GACjB,4BAA4B,GAC5B,wBAAwB,CAAC;AAC7B,KAAK,eAAe,CAAC,CAAC,SAAS,gBAAgB,IAC7C,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEjC,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAC1C,wBAAwB,CAQ1B;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,GACrD,wBAAwB,CAQ1B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,GACjD,wBAAwB,CAQ1B"}
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/protocols/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,KAAK,gBAAgB,GACjB,iBAAiB,GACjB,4BAA4B,GAC5B,wBAAwB,CAAC;AAC7B,KAAK,eAAe,CAAC,CAAC,SAAS,gBAAgB,IAC7C,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEjC,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAC1C,wBAAwB,CAQ1B;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,GACrD,wBAAwB,CAQ1B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,GACjD,wBAAwB,CAQ1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/protocols/realtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/protocols/realtime.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,GAEjB,MAAM,kCAAkC,CAAC;AAa1C,MAAM,UAAU,qBAAqB,CACnC,OAA2C;IAE3C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,gBAAgB,CACrB,OAAO,EACP,gBAAgB,KAAK,CAAC,QAAQ,EAAE,EAAE,EAClC,OAAO,CAAC,KAAK,CAAC,OAAO,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAsD;IAEtD,OAAO,gBAAgB,CACrB,OAAO,EACP,eAAe,EACf,OAAO,CAAC,KAAK,CAAC,OAAO;QACnB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;QACpD,CAAC,CAAC,SAAS,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAkD;IAElD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvD,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,gBAAgB,CACrB,OAAO,EACP,uBAAuB,KAAK,CAAC,QAAQ,EAAE,EAAE,EACzC,OAAO,CAAC,KAAK,CAAC,OAAO,CACtB,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +1,30 @@
|
|
|
1
1
|
import type { ProtocolContext } from "../protocol-registry.js";
|
|
2
2
|
import type { ProtocolRequest } from "../request-types.js";
|
|
3
3
|
import { type PreparedRequest } from "../request-builders/http.js";
|
|
4
|
-
type
|
|
4
|
+
import type { PreparedAsyncJobLifecycle } from "../async-job.js";
|
|
5
|
+
import type { PreparedMediaSession } from "../media-session.js";
|
|
6
|
+
type SpeechProtocol = "openai-audio" | "dashscope-audio" | "dashscope-speech-synthesizer" | "dashscope-speech-synthesizer-websocket" | "volcengine-audio" | "xfyun-audio" | "zhipu-audio" | "glm" | "minimax-audio" | "minimax";
|
|
5
7
|
type SpeechRequest<P extends SpeechProtocol> = ProtocolRequest<"speech-generation", P>;
|
|
6
8
|
export interface PreparedSpeechRequest extends PreparedRequest {
|
|
7
9
|
readonly response: {
|
|
8
10
|
readonly kind: "audio";
|
|
9
11
|
readonly mediaType?: string;
|
|
10
12
|
};
|
|
13
|
+
readonly lifecycle?: PreparedAsyncJobLifecycle;
|
|
14
|
+
readonly session?: PreparedMediaSession;
|
|
15
|
+
/** Some asynchronous providers return a file ID before a download URL. */
|
|
16
|
+
readonly result?: {
|
|
17
|
+
readonly request: (reference: string) => PreparedRequest;
|
|
18
|
+
readonly urlPath: string;
|
|
19
|
+
};
|
|
11
20
|
}
|
|
12
21
|
export declare function prepareOpenAISpeech(request: SpeechRequest<"openai-audio">, context: ProtocolContext): PreparedSpeechRequest;
|
|
13
22
|
export declare function prepareDashScopeSpeech(request: SpeechRequest<"dashscope-audio">, context: ProtocolContext): PreparedSpeechRequest;
|
|
14
23
|
export declare function prepareDashScopeSpeechSynthesizer(request: SpeechRequest<"dashscope-speech-synthesizer">, context: ProtocolContext): PreparedSpeechRequest;
|
|
15
24
|
export declare function prepareDashScopeSpeechSynthesizerWebSocket(request: SpeechRequest<"dashscope-speech-synthesizer-websocket">, context: ProtocolContext): PreparedSpeechRequest;
|
|
16
25
|
export declare function prepareVolcengineSpeech(request: SpeechRequest<"volcengine-audio">, context: ProtocolContext): PreparedSpeechRequest;
|
|
17
|
-
export declare function prepareZhipuSpeech(request: SpeechRequest<"zhipu-audio">, context: ProtocolContext): PreparedSpeechRequest;
|
|
18
|
-
export declare function prepareMiniMaxSpeech(request: SpeechRequest<"minimax-audio">, context: ProtocolContext): PreparedSpeechRequest;
|
|
26
|
+
export declare function prepareZhipuSpeech(request: SpeechRequest<"zhipu-audio" | "glm">, context: ProtocolContext): PreparedSpeechRequest;
|
|
27
|
+
export declare function prepareMiniMaxSpeech(request: SpeechRequest<"minimax-audio" | "minimax">, context: ProtocolContext): PreparedSpeechRequest;
|
|
19
28
|
export declare function prepareXfyunSpeech(request: SpeechRequest<"xfyun-audio">, context: ProtocolContext): PreparedSpeechRequest;
|
|
20
29
|
export {};
|
|
21
30
|
//# sourceMappingURL=speech.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speech.d.ts","sourceRoot":"","sources":["../../src/protocols/speech.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"speech.d.ts","sourceRoot":"","sources":["../../src/protocols/speech.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,KAAK,cAAc,GACf,cAAc,GACd,iBAAiB,GACjB,8BAA8B,GAC9B,wCAAwC,GACxC,kBAAkB,GAClB,aAAa,GACb,aAAa,GACb,KAAK,GACL,eAAe,GACf,SAAS,CAAC;AACd,KAAK,aAAa,CAAC,CAAC,SAAS,cAAc,IAAI,eAAe,CAC5D,mBAAmB,EACnB,CAAC,CACF,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,QAAQ,CAAC,SAAS,CAAC,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,eAAe,CAAC;QACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EACtC,OAAO,EAAE,eAAe,GACvB,qBAAqB,CAKvB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,EACzC,OAAO,EAAE,eAAe,GACvB,qBAAqB,CAMvB;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,aAAa,CAAC,8BAA8B,CAAC,EACtD,OAAO,EAAE,eAAe,GACvB,qBAAqB,CAMvB;AAED,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,aAAa,CAAC,wCAAwC,CAAC,EAChE,OAAO,EAAE,eAAe,GACvB,qBAAqB,CAUvB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,OAAO,EAAE,eAAe,GACvB,qBAAqB,CAIvB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,CAAC,aAAa,GAAG,KAAK,CAAC,EAC7C,OAAO,EAAE,eAAe,GACvB,qBAAqB,CAavB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,CAAC,eAAe,GAAG,SAAS,CAAC,EACnD,OAAO,EAAE,eAAe,GACvB,qBAAqB,CAUvB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EACrC,OAAO,EAAE,eAAe,GACvB,qBAAqB,CAIvB"}
|
package/dist/protocols/speech.js
CHANGED
|
@@ -33,10 +33,10 @@ export function prepareZhipuSpeech(request, context) {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
export function prepareMiniMaxSpeech(request, context) {
|
|
36
|
-
return audioRequest(request,
|
|
37
|
-
...
|
|
38
|
-
|
|
39
|
-
});
|
|
36
|
+
return audioRequest(request, {
|
|
37
|
+
...context,
|
|
38
|
+
transport: request.input.stream === true ? "http-stream" : "http",
|
|
39
|
+
}, "/v1/t2a_v2", { ...request.input, model: request.model });
|
|
40
40
|
}
|
|
41
41
|
export function prepareXfyunSpeech(request, context) {
|
|
42
42
|
return audioRequest(request, context, "/v2/tts", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speech.js","sourceRoot":"","sources":["../../src/protocols/speech.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAwB,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"speech.js","sourceRoot":"","sources":["../../src/protocols/speech.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ProtocolContext } from "../protocol-registry.js";
|
|
2
|
+
import type { PreparationBase, WireRecord } from "../request-types.js";
|
|
3
|
+
import type { PreparedSpeechRequest } from "./speech.js";
|
|
4
|
+
type TencentSpeechOptions = WireRecord & {
|
|
5
|
+
readonly Text: string;
|
|
6
|
+
readonly Volume?: number;
|
|
7
|
+
readonly Speed?: number;
|
|
8
|
+
readonly ProjectId?: number;
|
|
9
|
+
readonly ModelType?: number;
|
|
10
|
+
readonly VoiceType?: number;
|
|
11
|
+
readonly PrimaryLanguage?: number;
|
|
12
|
+
readonly SampleRate?: number;
|
|
13
|
+
readonly Codec?: string;
|
|
14
|
+
readonly EnableSubtitle?: boolean;
|
|
15
|
+
readonly EmotionCategory?: string;
|
|
16
|
+
readonly EmotionIntensity?: number;
|
|
17
|
+
};
|
|
18
|
+
/** Native Tencent Cloud TextToVoice parameters. The outer model is not a wire field. */
|
|
19
|
+
export type TencentSpeechInput = TencentSpeechOptions & {
|
|
20
|
+
readonly SessionId: string;
|
|
21
|
+
readonly FastVoiceType?: string;
|
|
22
|
+
readonly SegmentRate?: number;
|
|
23
|
+
};
|
|
24
|
+
/** Native Tencent Cloud CreateTtsTask parameters. */
|
|
25
|
+
export type TencentSpeechAsyncInput = TencentSpeechOptions & {
|
|
26
|
+
readonly CallbackUrl?: string;
|
|
27
|
+
readonly VoiceoverDialogueSplit?: boolean;
|
|
28
|
+
};
|
|
29
|
+
export declare function prepareTencentSpeech(request: PreparationBase<"speech-generation", "tencent-speech", TencentSpeechInput>): PreparedSpeechRequest;
|
|
30
|
+
export declare function prepareTencentSpeechAsync(request: PreparationBase<"speech-generation", "tencent-speech-async", TencentSpeechAsyncInput>, context: ProtocolContext): PreparedSpeechRequest;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=tencent-speech.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tencent-speech.d.ts","sourceRoot":"","sources":["../../src/protocols/tencent-speech.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,KAAK,oBAAoB,GAAG,UAAU,GAAG;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C,CAAC;AAIF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,CACtB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,CACnB,GACA,qBAAqB,CAgBvB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,CACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,CACxB,EACD,OAAO,EAAE,eAAe,GACvB,qBAAqB,CA2BvB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { asyncJobLifecycle } from "../async-job.js";
|
|
2
|
+
import { headerRecord } from "../headers.js";
|
|
3
|
+
import { jsonRequest } from "../request-builders/http.js";
|
|
4
|
+
const version = "2019-08-23";
|
|
5
|
+
export function prepareTencentSpeech(request) {
|
|
6
|
+
return {
|
|
7
|
+
...jsonRequest({
|
|
8
|
+
...request,
|
|
9
|
+
headers: {
|
|
10
|
+
...headerRecord(request.headers),
|
|
11
|
+
"x-tc-action": "TextToVoice",
|
|
12
|
+
"x-tc-version": version,
|
|
13
|
+
},
|
|
14
|
+
}, "/", request.input),
|
|
15
|
+
response: audioResponse(request.input.Codec),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function prepareTencentSpeechAsync(request, context) {
|
|
19
|
+
if (!context.lifecycle) {
|
|
20
|
+
throw new Error(`Protocol "${request.protocol}" requires lifecycle metadata.`);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
...jsonRequest({
|
|
24
|
+
...request,
|
|
25
|
+
headers: {
|
|
26
|
+
...headerRecord(request.headers),
|
|
27
|
+
"x-tc-action": "CreateTtsTask",
|
|
28
|
+
"x-tc-version": version,
|
|
29
|
+
},
|
|
30
|
+
}, "/", request.input),
|
|
31
|
+
response: audioResponse(request.input.Codec),
|
|
32
|
+
// TC3 signatures depend on each action and body; callers must sign both requests.
|
|
33
|
+
lifecycle: asyncJobLifecycle(request, context.lifecycle, {
|
|
34
|
+
statusHeaders: {
|
|
35
|
+
"x-tc-action": "DescribeTtsTaskStatus",
|
|
36
|
+
"x-tc-version": version,
|
|
37
|
+
},
|
|
38
|
+
statusBody: (taskId) => ({ TaskId: taskId }),
|
|
39
|
+
}),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function audioResponse(codec) {
|
|
43
|
+
const mediaType = codec === "mp3"
|
|
44
|
+
? "audio/mpeg"
|
|
45
|
+
: codec === "wav"
|
|
46
|
+
? "audio/wav"
|
|
47
|
+
: codec === "pcm"
|
|
48
|
+
? "audio/L16"
|
|
49
|
+
: undefined;
|
|
50
|
+
return { kind: "audio", ...(mediaType ? { mediaType } : {}) };
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=tencent-speech.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tencent-speech.js","sourceRoot":"","sources":["../../src/protocols/tencent-speech.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AA+B1D,MAAM,OAAO,GAAG,YAAY,CAAC;AAE7B,MAAM,UAAU,oBAAoB,CAClC,OAIC;IAED,OAAO;QACL,GAAG,WAAW,CACZ;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;gBAChC,aAAa,EAAE,aAAa;gBAC5B,cAAc,EAAE,OAAO;aACxB;SACF,EACD,GAAG,EACH,OAAO,CAAC,KAAK,CACd;QACD,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAIC,EACD,OAAwB;IAExB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,aAAa,OAAO,CAAC,QAAQ,gCAAgC,CAAC,CAAC;IACjF,CAAC;IACD,OAAO;QACL,GAAG,WAAW,CACZ;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;gBAChC,aAAa,EAAE,eAAe;gBAC9B,cAAc,EAAE,OAAO;aACxB;SACF,EACD,GAAG,EACH,OAAO,CAAC,KAAK,CACd;QACD,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5C,kFAAkF;QAClF,SAAS,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE;YACvD,aAAa,EAAE;gBACb,aAAa,EAAE,uBAAuB;gBACtC,cAAc,EAAE,OAAO;aACxB;YACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;SAC7C,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,SAAS,GAAG,KAAK,KAAK,KAAK;QAC/B,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,KAAK,KAAK,KAAK;YACf,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,KAAK,KAAK,KAAK;gBACf,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,SAAS,CAAC;IAClB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC"}
|
|
@@ -2,18 +2,23 @@ import type { ProtocolRequest } from "../request-types.js";
|
|
|
2
2
|
import type { ProtocolContext } from "../protocol-registry.js";
|
|
3
3
|
import { type PreparedAsyncJobLifecycle } from "../async-job.js";
|
|
4
4
|
import { type PreparedRequest } from "../request-builders/http.js";
|
|
5
|
-
type
|
|
5
|
+
import type { PreparedMediaSession } from "../media-session.js";
|
|
6
|
+
type TranscriptionProtocol = "openai-audio" | "zhipu-audio" | "glm" | "volcengine-audio" | "dashscope-transcription";
|
|
6
7
|
type TranscriptionRequest<P extends TranscriptionProtocol> = ProtocolRequest<"transcription", P>;
|
|
7
8
|
export interface PreparedTranscriptionRequest extends PreparedRequest {
|
|
8
9
|
readonly response: {
|
|
9
10
|
readonly kind: "json";
|
|
10
|
-
readonly field:
|
|
11
|
+
readonly field: string;
|
|
12
|
+
} | {
|
|
13
|
+
readonly kind: "text";
|
|
14
|
+
readonly mediaType: string;
|
|
11
15
|
};
|
|
12
16
|
readonly lifecycle?: PreparedAsyncJobLifecycle;
|
|
17
|
+
readonly session?: PreparedMediaSession;
|
|
13
18
|
}
|
|
14
19
|
export declare function prepareVolcengineTranscription(request: TranscriptionRequest<"volcengine-audio">): PreparedTranscriptionRequest;
|
|
15
20
|
export declare function prepareDashScopeTranscription(request: TranscriptionRequest<"dashscope-transcription">, context: ProtocolContext): PreparedTranscriptionRequest;
|
|
16
21
|
export declare function prepareOpenAITranscription(request: TranscriptionRequest<"openai-audio">): PreparedTranscriptionRequest;
|
|
17
|
-
export declare function prepareZhipuTranscription(request: TranscriptionRequest<"zhipu-audio">): PreparedTranscriptionRequest;
|
|
22
|
+
export declare function prepareZhipuTranscription(request: TranscriptionRequest<"zhipu-audio" | "glm">): PreparedTranscriptionRequest;
|
|
18
23
|
export {};
|
|
19
24
|
//# sourceMappingURL=transcription.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcription.d.ts","sourceRoot":"","sources":["../../src/protocols/transcription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"transcription.d.ts","sourceRoot":"","sources":["../../src/protocols/transcription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,KAAK,qBAAqB,GACtB,cAAc,GACd,aAAa,GACb,KAAK,GACL,kBAAkB,GAClB,yBAAyB,CAAC;AAC9B,KAAK,oBAAoB,CAAC,CAAC,SAAS,qBAAqB,IAAI,eAAe,CAC1E,eAAe,EACf,CAAC,CACF,CAAC;AAEF,MAAM,WAAW,4BAA6B,SAAQ,eAAe;IACnE,QAAQ,CAAC,QAAQ,EACb;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACjD;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,GAChD,4BAA4B,CAU9B;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,EACxD,OAAO,EAAE,eAAe,GACvB,4BAA4B,CAgB9B;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAC5C,4BAA4B,CAE9B;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC,GACnD,4BAA4B,CAM9B"}
|
|
@@ -48,7 +48,7 @@ function multipartTranscription(request, path, allowString) {
|
|
|
48
48
|
form.set(key, typeof value === "string" ? value : JSON.stringify(value));
|
|
49
49
|
}
|
|
50
50
|
return {
|
|
51
|
-
...multipartRequest(request, path, form),
|
|
51
|
+
...multipartRequest(request, path, form, input.stream === true ? "http-stream" : "http"),
|
|
52
52
|
response: { kind: "json", field: "text" },
|
|
53
53
|
};
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcription.js","sourceRoot":"","sources":["../../src/protocols/transcription.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,GAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAwB,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"transcription.js","sourceRoot":"","sources":["../../src/protocols/transcription.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,22 @@ import type { ProtocolRequest } from "../request-types.js";
|
|
|
2
2
|
import type { ProtocolContext } from "../protocol-registry.js";
|
|
3
3
|
import { type PreparedAsyncJobLifecycle } from "../async-job.js";
|
|
4
4
|
import { type PreparedRequest } from "../request-builders/http.js";
|
|
5
|
-
type
|
|
5
|
+
type VideoProtocol = "dashscope-video" | "volcengine-video" | "zhipu-video" | "glm" | "minimax-video" | "minimax-video-v2" | "minimax" | "hunyuan-video" | "hunyuan";
|
|
6
|
+
type VideoRequest<P extends VideoProtocol> = ProtocolRequest<"video-generation", P>;
|
|
6
7
|
export interface PreparedVideoRequest {
|
|
7
8
|
readonly submit: PreparedRequest;
|
|
8
9
|
readonly lifecycle: PreparedAsyncJobLifecycle;
|
|
10
|
+
/** When polling returns a file ID, compile the follow-up request for its URL. */
|
|
11
|
+
readonly result?: {
|
|
12
|
+
readonly request: (reference: string) => PreparedRequest;
|
|
13
|
+
readonly urlPath: string;
|
|
14
|
+
};
|
|
9
15
|
}
|
|
10
16
|
export declare function prepareDashScopeVideo(request: VideoRequest<"dashscope-video">, context: ProtocolContext): PreparedVideoRequest;
|
|
11
17
|
export declare function prepareVolcengineVideo(request: VideoRequest<"volcengine-video">, context: ProtocolContext): PreparedVideoRequest;
|
|
18
|
+
export declare function prepareZhipuVideo(request: VideoRequest<"zhipu-video" | "glm">, context: ProtocolContext): PreparedVideoRequest;
|
|
19
|
+
export declare function prepareMiniMaxVideo(request: VideoRequest<"minimax-video" | "minimax">, context: ProtocolContext): PreparedVideoRequest;
|
|
20
|
+
export declare function prepareMiniMaxVideoV2(request: VideoRequest<"minimax-video-v2">, context: ProtocolContext): PreparedVideoRequest;
|
|
21
|
+
export declare function prepareHunyuanVideo(request: VideoRequest<"hunyuan-video" | "hunyuan">, context: ProtocolContext): PreparedVideoRequest;
|
|
12
22
|
export {};
|
|
13
23
|
//# sourceMappingURL=video.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/protocols/video.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/protocols/video.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAGrC,KAAK,aAAa,GACd,iBAAiB,GACjB,kBAAkB,GAClB,aAAa,GACb,KAAK,GACL,eAAe,GACf,kBAAkB,GAClB,SAAS,GACT,eAAe,GACf,SAAS,CAAC;AACd,KAAK,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI,eAAe,CAC1D,kBAAkB,EAClB,CAAC,CACF,CAAC;AACF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,eAAe,CAAC;QACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC,EACxC,OAAO,EAAE,eAAe,GACvB,oBAAoB,CActB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,EACzC,OAAO,EAAE,eAAe,GACvB,oBAAoB,CAStB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,CAAC,aAAa,GAAG,KAAK,CAAC,EAC5C,OAAO,EAAE,eAAe,GACvB,oBAAoB,CAQtB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,CAAC,eAAe,GAAG,SAAS,CAAC,EAClD,OAAO,EAAE,eAAe,GACvB,oBAAoB,CAiBtB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,EACzC,OAAO,EAAE,eAAe,GACvB,oBAAoB,CAQtB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,CAAC,eAAe,GAAG,SAAS,CAAC,EAClD,OAAO,EAAE,eAAe,GACvB,oBAAoB,CA0BtB"}
|
package/dist/protocols/video.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { asyncJobLifecycle, } from "../async-job.js";
|
|
2
|
-
import { jsonRequest, } from "../request-builders/http.js";
|
|
2
|
+
import { httpRequest, jsonRequest, } from "../request-builders/http.js";
|
|
3
|
+
import { headerRecord } from "../headers.js";
|
|
3
4
|
export function prepareDashScopeVideo(request, context) {
|
|
4
5
|
const input = request.input;
|
|
5
6
|
return {
|
|
@@ -20,6 +21,60 @@ export function prepareVolcengineVideo(request, context) {
|
|
|
20
21
|
lifecycle: lifecycle(request, context.lifecycle),
|
|
21
22
|
};
|
|
22
23
|
}
|
|
24
|
+
export function prepareZhipuVideo(request, context) {
|
|
25
|
+
return {
|
|
26
|
+
submit: jsonRequest(request, "/paas/v4/videos/generations", {
|
|
27
|
+
...request.input,
|
|
28
|
+
model: request.model,
|
|
29
|
+
}),
|
|
30
|
+
lifecycle: lifecycle(request, context.lifecycle),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export function prepareMiniMaxVideo(request, context) {
|
|
34
|
+
return {
|
|
35
|
+
submit: jsonRequest(request, "/v1/video_generation", {
|
|
36
|
+
...request.input,
|
|
37
|
+
model: request.model,
|
|
38
|
+
}),
|
|
39
|
+
lifecycle: lifecycle(request, context.lifecycle),
|
|
40
|
+
result: {
|
|
41
|
+
request: (fileId) => httpRequest({ baseURL: request.baseURL, headers: request.headers }, `/v1/files/retrieve?file_id=${encodeURIComponent(fileId)}`, { method: "GET" }),
|
|
42
|
+
urlPath: "file.download_url",
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function prepareMiniMaxVideoV2(request, context) {
|
|
47
|
+
return {
|
|
48
|
+
submit: jsonRequest(request, "/v2/video_generation", {
|
|
49
|
+
...request.input,
|
|
50
|
+
model: request.model,
|
|
51
|
+
}),
|
|
52
|
+
lifecycle: lifecycle(request, context.lifecycle),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export function prepareHunyuanVideo(request, context) {
|
|
56
|
+
if (!context.lifecycle) {
|
|
57
|
+
throw new Error(`Protocol "${request.protocol}" requires lifecycle metadata.`);
|
|
58
|
+
}
|
|
59
|
+
const version = "2024-05-23";
|
|
60
|
+
return {
|
|
61
|
+
submit: jsonRequest({
|
|
62
|
+
...request,
|
|
63
|
+
headers: {
|
|
64
|
+
...headerRecord(request.headers),
|
|
65
|
+
"x-tc-action": "SubmitHunyuanToVideoJob",
|
|
66
|
+
"x-tc-version": version,
|
|
67
|
+
},
|
|
68
|
+
}, "/", request.input),
|
|
69
|
+
lifecycle: asyncJobLifecycle(request, context.lifecycle, {
|
|
70
|
+
statusHeaders: {
|
|
71
|
+
"x-tc-action": "DescribeHunyuanToVideoJob",
|
|
72
|
+
"x-tc-version": version,
|
|
73
|
+
},
|
|
74
|
+
statusBody: (jobId) => ({ JobId: jobId }),
|
|
75
|
+
}),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
23
78
|
function lifecycle(request, metadata) {
|
|
24
79
|
if (!metadata)
|
|
25
80
|
throw new Error(`Protocol "${request.protocol}" requires lifecycle metadata.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/protocols/video.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,iBAAiB,GAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,GAEZ,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/protocols/video.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export type { PreparedImageRequest } from "./protocols/images.js";
|
|
|
6
6
|
export type { PreparedSpeechRequest } from "./protocols/speech.js";
|
|
7
7
|
export type { PreparedTranscriptionRequest } from "./protocols/transcription.js";
|
|
8
8
|
export type { PreparedVideoRequest } from "./protocols/video.js";
|
|
9
|
+
export type { PreparedRealtimeRequest } from "./protocols/realtime.js";
|
|
9
10
|
export type PreparedMediaRequest = PreparedByModelType["speech-generation" | "transcription" | "video-generation"];
|
|
10
11
|
export type PreparedProtocolRequest = PreparedByModelType[keyof PreparedByModelType];
|
|
11
12
|
export type PreparedFor<TRequest extends RequestPreparation> = PreparedByModelType[TRequest["modelType"]];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-compiler.d.ts","sourceRoot":"","sources":["../src/request-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,mBAAmB,oBAAoB,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,YAAY,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,mBAAmB,GAAG,eAAe,GAAG,kBAAkB,CAAC,CAAC;AACnH,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,mBAAmB,CAAC,CAAC;AACrF,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,kBAAkB,IAAI,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAE1G,4FAA4F;AAC5F,wBAAgB,OAAO,CAAC,QAAQ,SAAS,kBAAkB,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAIvG,eAAO,MAAM,cAAc,gBAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"request-compiler.d.ts","sourceRoot":"","sources":["../src/request-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,mBAAmB,oBAAoB,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,YAAY,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,mBAAmB,GAAG,eAAe,GAAG,kBAAkB,CAAC,CAAC;AACnH,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,mBAAmB,CAAC,CAAC;AACrF,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,kBAAkB,IAAI,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAE1G,4FAA4F;AAC5F,wBAAgB,OAAO,CAAC,QAAQ,SAAS,kBAAkB,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAIvG,eAAO,MAAM,cAAc,gBAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-compiler.js","sourceRoot":"","sources":["../src/request-compiler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAA4B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"request-compiler.js","sourceRoot":"","sources":["../src/request-compiler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAA4B,MAAM,wBAAwB,CAAC;AAezF,MAAM,UAAU,OAAO,CAAC,OAA2B;IACjD,OAAQ,qBAAqB,CAAC,OAAO,CAAC,SAAgB,EAAE,OAAO,CAAC,QAAkB,CAAS,CAAC,OAAO,CAAC,OAAO,CAA4B,CAAC;AAC1I,CAAC;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
|