@atomic-chat/core 0.20.5 → 0.20.7
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/dist/audio/args.d.ts +19 -0
- package/dist/audio/args.js +39 -0
- package/dist/audio/args.js.map +1 -0
- package/dist/audio/capabilities.d.ts +24 -0
- package/dist/audio/capabilities.js +96 -0
- package/dist/audio/capabilities.js.map +1 -0
- package/dist/audio/config.d.ts +40 -0
- package/dist/audio/config.js +57 -0
- package/dist/audio/config.js.map +1 -0
- package/dist/audio/errors.d.ts +23 -0
- package/dist/audio/errors.js +52 -0
- package/dist/audio/errors.js.map +1 -0
- package/dist/audio/gallery.d.ts +30 -0
- package/dist/audio/gallery.js +152 -0
- package/dist/audio/gallery.js.map +1 -0
- package/dist/audio/http.d.ts +26 -0
- package/dist/audio/http.js +56 -0
- package/dist/audio/http.js.map +1 -0
- package/dist/audio/idle.d.ts +22 -0
- package/dist/audio/idle.js +44 -0
- package/dist/audio/idle.js.map +1 -0
- package/dist/audio/index.d.ts +26 -0
- package/dist/audio/index.js +27 -0
- package/dist/audio/index.js.map +1 -0
- package/dist/audio/install.d.ts +57 -0
- package/dist/audio/install.js +196 -0
- package/dist/audio/install.js.map +1 -0
- package/dist/audio/jobs.d.ts +77 -0
- package/dist/audio/jobs.js +344 -0
- package/dist/audio/jobs.js.map +1 -0
- package/dist/audio/model-files.d.ts +12 -0
- package/dist/audio/model-files.js +42 -0
- package/dist/audio/model-files.js.map +1 -0
- package/dist/audio/output.d.ts +32 -0
- package/dist/audio/output.js +93 -0
- package/dist/audio/output.js.map +1 -0
- package/dist/audio/parse.d.ts +15 -0
- package/dist/audio/parse.js +149 -0
- package/dist/audio/parse.js.map +1 -0
- package/dist/audio/recipe.d.ts +22 -0
- package/dist/audio/recipe.js +92 -0
- package/dist/audio/recipe.js.map +1 -0
- package/dist/audio/request.d.ts +24 -0
- package/dist/audio/request.js +86 -0
- package/dist/audio/request.js.map +1 -0
- package/dist/audio/server-process.d.ts +51 -0
- package/dist/audio/server-process.js +202 -0
- package/dist/audio/server-process.js.map +1 -0
- package/dist/audio/service.d.ts +107 -0
- package/dist/audio/service.js +404 -0
- package/dist/audio/service.js.map +1 -0
- package/dist/audio/session.d.ts +73 -0
- package/dist/audio/session.js +228 -0
- package/dist/audio/session.js.map +1 -0
- package/dist/audio/state.d.ts +70 -0
- package/dist/audio/state.js +90 -0
- package/dist/audio/state.js.map +1 -0
- package/dist/audio/types.d.ts +52 -0
- package/dist/audio/types.js +8 -0
- package/dist/audio/types.js.map +1 -0
- package/dist/audio/wav.d.ts +22 -0
- package/dist/audio/wav.js +56 -0
- package/dist/audio/wav.js.map +1 -0
- package/dist/audio/wiring.d.ts +31 -0
- package/dist/audio/wiring.js +41 -0
- package/dist/audio/wiring.js.map +1 -0
- package/dist/backend/install/service.js +4 -2
- package/dist/backend/install/service.js.map +1 -1
- package/dist/cli/bin.js +0 -0
- package/dist/cli/main.d.ts +1 -1
- package/dist/client/control-client.d.ts +21 -1
- package/dist/client/control-client.js +50 -0
- package/dist/client/control-client.js.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/model-catalog.d.ts +40 -0
- package/dist/client/model-catalog.js +149 -0
- package/dist/client/model-catalog.js.map +1 -0
- package/dist/config/paths.d.ts +21 -0
- package/dist/config/paths.js +12 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/contracts/audio.d.ts +290 -0
- package/dist/contracts/audio.js +24 -0
- package/dist/contracts/audio.js.map +1 -0
- package/dist/contracts/embedding.js +1 -0
- package/dist/contracts/embedding.js.map +1 -1
- package/dist/contracts/engine-builds.d.ts +5 -4
- package/dist/contracts/engine-builds.js +10 -2
- package/dist/contracts/engine-builds.js.map +1 -1
- package/dist/contracts/engines.d.ts +1 -1
- package/dist/contracts/engines.js +2 -0
- package/dist/contracts/engines.js.map +1 -1
- package/dist/contracts/errors.d.ts +7 -1
- package/dist/contracts/errors.js +29 -0
- package/dist/contracts/errors.js.map +1 -1
- package/dist/contracts/events.d.ts +10 -0
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/core/atomic-core.d.ts +6 -1
- package/dist/core/atomic-core.js +7 -1
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +30 -5
- package/dist/core/create.js.map +1 -1
- package/dist/core/gpu-residency.d.ts +8 -2
- package/dist/core/gpu-residency.js +9 -1
- package/dist/core/gpu-residency.js.map +1 -1
- package/dist/core/types.d.ts +3 -0
- package/dist/core/types.js.map +1 -1
- package/dist/diffusion/install.d.ts +6 -3
- package/dist/diffusion/install.js +5 -4
- package/dist/diffusion/install.js.map +1 -1
- package/dist/embedding/index.js +1 -0
- package/dist/embedding/index.js.map +1 -1
- package/dist/engine-builds/engines.d.ts +5 -3
- package/dist/engine-builds/engines.js +71 -11
- package/dist/engine-builds/engines.js.map +1 -1
- package/dist/engine-builds/index.d.ts +3 -2
- package/dist/engine-builds/index.js +3 -2
- package/dist/engine-builds/index.js.map +1 -1
- package/dist/engine-builds/manifest.d.ts +52 -5
- package/dist/engine-builds/manifest.js +60 -9
- package/dist/engine-builds/manifest.js.map +1 -1
- package/dist/engine-builds/order.d.ts +5 -0
- package/dist/engine-builds/order.js +11 -0
- package/dist/engine-builds/order.js.map +1 -1
- package/dist/engine-builds/select.d.ts +28 -11
- package/dist/engine-builds/select.js +50 -16
- package/dist/engine-builds/select.js.map +1 -1
- package/dist/engine-builds/service.d.ts +14 -8
- package/dist/engine-builds/service.js +10 -7
- package/dist/engine-builds/service.js.map +1 -1
- package/dist/engines/service.d.ts +2 -2
- package/dist/engines/service.js +2 -2
- package/dist/lock/process-journal.d.ts +3 -3
- package/dist/models/compatibility/rules-baseline.js +1 -0
- package/dist/models/compatibility/rules-baseline.js.map +1 -1
- package/dist/models/compatibility/rules.js +1 -0
- package/dist/models/compatibility/rules.js.map +1 -1
- package/dist/models/hf.d.ts +3 -0
- package/dist/models/hf.js +11 -4
- package/dist/models/hf.js.map +1 -1
- package/dist/server/control/index.d.ts +1 -1
- package/dist/server/control/router.js +2 -0
- package/dist/server/control/router.js.map +1 -1
- package/dist/server/control/routes/audio.d.ts +15 -0
- package/dist/server/control/routes/audio.js +59 -0
- package/dist/server/control/routes/audio.js.map +1 -0
- package/dist/server/control/types.d.ts +25 -1
- package/dist/server/control/types.js.map +1 -1
- package/dist/server/http.js +2 -0
- package/dist/server/http.js.map +1 -1
- package/dist/server/public/audio-speech-params.d.ts +47 -0
- package/dist/server/public/audio-speech-params.js +177 -0
- package/dist/server/public/audio-speech-params.js.map +1 -0
- package/dist/server/public/audio-speech.d.ts +14 -0
- package/dist/server/public/audio-speech.js +118 -0
- package/dist/server/public/audio-speech.js.map +1 -0
- package/dist/server/public/index.d.ts +1 -1
- package/dist/server/public/index.js +7 -0
- package/dist/server/public/index.js.map +1 -1
- package/dist/server/public/trace.js +2 -0
- package/dist/server/public/trace.js.map +1 -1
- package/dist/server/public/types.d.ts +29 -1
- package/dist/telemetry/reports.d.ts +12 -0
- package/dist/telemetry/reports.js +38 -0
- package/dist/telemetry/reports.js.map +1 -1
- package/dist/telemetry/subscribe.d.ts +3 -3
- package/dist/telemetry/subscribe.js +8 -3
- package/dist/telemetry/subscribe.js.map +1 -1
- package/dist/telemetry/types.d.ts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The client's `POST /v1/audio/speech` body, structurally validated but not yet bound to the loaded
|
|
3
|
+
* model; the sample data inside the engine's WAV, for `pcm`; and audio failures in OpenAI's error
|
|
4
|
+
* envelope (`errorBody` of `images-params.ts`). Pure.
|
|
5
|
+
*
|
|
6
|
+
* OpenAI's fields where the local engine has them — `input`, `voice` (a built-in voice of the loaded
|
|
7
|
+
* model, passed as is: OpenAI's names reach the engine, which refuses one it does not have), `speed`,
|
|
8
|
+
* `instructions` (audio.cpp's `instruct`), `response_format` `wav` or `pcm` — plus audio.cpp's `seed`
|
|
9
|
+
* and `language`. Every other field is ignored.
|
|
10
|
+
*/
|
|
11
|
+
import { ParamError } from './images-params.js';
|
|
12
|
+
/** OpenAI's limit on `input`, in characters. */
|
|
13
|
+
export const MAX_SPEECH_INPUT_CHARS = 4096;
|
|
14
|
+
export const MIN_SPEECH_SPEED = 0.25;
|
|
15
|
+
export const MAX_SPEECH_SPEED = 4;
|
|
16
|
+
export const SPEECH_FORMATS = ['wav', 'pcm'];
|
|
17
|
+
/** OpenAI's formats the local engine cannot encode: it only writes WAV. */
|
|
18
|
+
export const ENCODED_SPEECH_FORMATS = ['mp3', 'opus', 'aac', 'flac'];
|
|
19
|
+
export const SPEECH_CONTENT_TYPES = {
|
|
20
|
+
wav: 'audio/wav',
|
|
21
|
+
pcm: 'audio/pcm',
|
|
22
|
+
};
|
|
23
|
+
const bad = (param, message) => new ParamError(param, message);
|
|
24
|
+
const isNil = (value) => value === undefined || value === null;
|
|
25
|
+
/** Whether `text` holds more than `max` characters (code points), without spreading a huge string. */
|
|
26
|
+
function longerThan(text, max) {
|
|
27
|
+
if (text.length <= max)
|
|
28
|
+
return false;
|
|
29
|
+
let count = 0;
|
|
30
|
+
for (const _ of text)
|
|
31
|
+
if (++count > max)
|
|
32
|
+
return true;
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
/** A string field, trimmed; absent when it is missing, `null` or blank. */
|
|
36
|
+
function optionalString(obj, key) {
|
|
37
|
+
const value = obj[key];
|
|
38
|
+
if (isNil(value))
|
|
39
|
+
return undefined;
|
|
40
|
+
if (typeof value !== 'string')
|
|
41
|
+
throw bad(key, `${key} must be a string`);
|
|
42
|
+
const trimmed = value.trim();
|
|
43
|
+
return trimmed === '' ? undefined : trimmed;
|
|
44
|
+
}
|
|
45
|
+
function parseFormat(obj) {
|
|
46
|
+
const format = obj['response_format'];
|
|
47
|
+
if (isNil(format))
|
|
48
|
+
return 'wav';
|
|
49
|
+
if (typeof format !== 'string')
|
|
50
|
+
throw bad('response_format', 'response_format must be a string');
|
|
51
|
+
if (SPEECH_FORMATS.includes(format))
|
|
52
|
+
return format;
|
|
53
|
+
if (ENCODED_SPEECH_FORMATS.includes(format))
|
|
54
|
+
throw bad('response_format', `response_format '${format}' is not supported by the local engine; use 'wav' or 'pcm'`);
|
|
55
|
+
throw bad('response_format', `response_format must be one of ${[...ENCODED_SPEECH_FORMATS, ...SPEECH_FORMATS].join(', ')}`);
|
|
56
|
+
}
|
|
57
|
+
export function parseSpeechParams(body) {
|
|
58
|
+
if (body === null || typeof body !== 'object' || Array.isArray(body))
|
|
59
|
+
throw bad('body', 'request body must be a JSON object');
|
|
60
|
+
const obj = body;
|
|
61
|
+
const rawInput = obj['input'];
|
|
62
|
+
const input = typeof rawInput === 'string' ? rawInput.trim() : '';
|
|
63
|
+
if (input === '')
|
|
64
|
+
throw bad('input', 'input is required');
|
|
65
|
+
if (longerThan(input, MAX_SPEECH_INPUT_CHARS))
|
|
66
|
+
throw bad('input', `input must be at most ${MAX_SPEECH_INPUT_CHARS} characters`);
|
|
67
|
+
const params = { input, format: parseFormat(obj) };
|
|
68
|
+
const stream = obj['stream_format'];
|
|
69
|
+
if (!isNil(stream) && stream !== 'audio')
|
|
70
|
+
throw bad('stream_format', stream === 'sse'
|
|
71
|
+
? "stream_format 'sse' is not supported by the local server; leave it out or use 'audio'"
|
|
72
|
+
: "stream_format must be 'audio' or 'sse'");
|
|
73
|
+
if (!isNil(obj['speed'])) {
|
|
74
|
+
const speed = obj['speed'];
|
|
75
|
+
if (typeof speed !== 'number' ||
|
|
76
|
+
!Number.isFinite(speed) ||
|
|
77
|
+
speed < MIN_SPEECH_SPEED ||
|
|
78
|
+
speed > MAX_SPEECH_SPEED)
|
|
79
|
+
throw bad('speed', `speed must be a number between ${MIN_SPEECH_SPEED} and ${MAX_SPEECH_SPEED}`);
|
|
80
|
+
params.speed = speed;
|
|
81
|
+
}
|
|
82
|
+
if (!isNil(obj['seed'])) {
|
|
83
|
+
const seed = obj['seed'];
|
|
84
|
+
if (typeof seed !== 'number' || !Number.isSafeInteger(seed))
|
|
85
|
+
throw bad('seed', 'seed must be an integer');
|
|
86
|
+
params.seed = seed;
|
|
87
|
+
}
|
|
88
|
+
const model = optionalString(obj, 'model');
|
|
89
|
+
if (model !== undefined)
|
|
90
|
+
params.model = model;
|
|
91
|
+
const voice = optionalString(obj, 'voice');
|
|
92
|
+
if (voice !== undefined)
|
|
93
|
+
params.voice = voice;
|
|
94
|
+
const instructions = optionalString(obj, 'instructions');
|
|
95
|
+
if (instructions !== undefined)
|
|
96
|
+
params.instructions = instructions;
|
|
97
|
+
const language = optionalString(obj, 'language');
|
|
98
|
+
if (language !== undefined)
|
|
99
|
+
params.language = language;
|
|
100
|
+
return params;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The job request. A `speed` of 1 is OpenAI's default and is left out: a model that declares no
|
|
104
|
+
* speed option (Qwen3-TTS) refuses the key even at 1, and an absent one is the model's own pace.
|
|
105
|
+
*/
|
|
106
|
+
export function buildSpeechRequest(params) {
|
|
107
|
+
const request = { text: params.input };
|
|
108
|
+
if (params.voice !== undefined)
|
|
109
|
+
request.voice = params.voice;
|
|
110
|
+
if (params.speed !== undefined && params.speed !== 1)
|
|
111
|
+
request.speed = params.speed;
|
|
112
|
+
if (params.instructions !== undefined)
|
|
113
|
+
request.instruct = params.instructions;
|
|
114
|
+
if (params.language !== undefined)
|
|
115
|
+
request.language = params.language;
|
|
116
|
+
if (params.seed !== undefined)
|
|
117
|
+
request.seed = params.seed;
|
|
118
|
+
return request;
|
|
119
|
+
}
|
|
120
|
+
/** The sample data of a 16-bit PCM WAV, header stripped; `undefined` for anything else. */
|
|
121
|
+
export function wavPcmData(wav) {
|
|
122
|
+
if (wav.length < 12 || wav.toString('latin1', 0, 4) !== 'RIFF' || wav.toString('latin1', 8, 12) !== 'WAVE')
|
|
123
|
+
return undefined;
|
|
124
|
+
let format;
|
|
125
|
+
let at = 12;
|
|
126
|
+
while (at + 8 <= wav.length) {
|
|
127
|
+
const id = wav.toString('latin1', at, at + 4);
|
|
128
|
+
const size = wav.readUInt32LE(at + 4);
|
|
129
|
+
const body = at + 8;
|
|
130
|
+
if (id === 'fmt ') {
|
|
131
|
+
if (size < 16 || body + 16 > wav.length)
|
|
132
|
+
return undefined;
|
|
133
|
+
format = {
|
|
134
|
+
tag: wav.readUInt16LE(body),
|
|
135
|
+
channels: wav.readUInt16LE(body + 2),
|
|
136
|
+
sampleRate: wav.readUInt32LE(body + 4),
|
|
137
|
+
bits: wav.readUInt16LE(body + 14),
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
else if (id === 'data') {
|
|
141
|
+
// WAVE_FORMAT_PCM, or WAVE_FORMAT_EXTENSIBLE around it.
|
|
142
|
+
if (!format || (format.tag !== 1 && format.tag !== 0xfffe) || format.bits !== 16)
|
|
143
|
+
return undefined;
|
|
144
|
+
if (format.channels === 0 || format.sampleRate === 0)
|
|
145
|
+
return undefined;
|
|
146
|
+
// A streamed WAV says 0xFFFFFFFF; a short file is cut where it ends.
|
|
147
|
+
const end = Math.min(body + size, wav.length);
|
|
148
|
+
return { pcm: wav.subarray(body, end), sampleRate: format.sampleRate, channels: format.channels };
|
|
149
|
+
}
|
|
150
|
+
// Chunks are word-aligned: an odd size is followed by a pad byte.
|
|
151
|
+
at = body + size + (size % 2);
|
|
152
|
+
}
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
/** HTTP status, error type and `code` for an audio error, as `/audio/speech` answers it. */
|
|
156
|
+
export function mapSpeechError(code) {
|
|
157
|
+
switch (code) {
|
|
158
|
+
case 'INVALID_REQUEST':
|
|
159
|
+
case 'REQUEST_REJECTED':
|
|
160
|
+
return { status: 400, type: 'invalid_request_error', code: 'invalid_request' };
|
|
161
|
+
// A model switched to music or effects between the check and the start is no speech model either.
|
|
162
|
+
case 'MODEL_NOT_LOADED':
|
|
163
|
+
case 'UNSUPPORTED_MODE':
|
|
164
|
+
case 'ENGINE_MISSING':
|
|
165
|
+
case 'MODEL_MISSING':
|
|
166
|
+
return { status: 503, type: 'server_error', code: 'model_not_loaded' };
|
|
167
|
+
case 'JOB_BUSY':
|
|
168
|
+
return { status: 429, type: 'server_error', code: 'busy' };
|
|
169
|
+
case 'OUT_OF_MEMORY':
|
|
170
|
+
return { status: 500, type: 'server_error', code: 'insufficient_memory' };
|
|
171
|
+
case 'CANCELLED':
|
|
172
|
+
return { status: 500, type: 'server_error', code: 'cancelled' };
|
|
173
|
+
default:
|
|
174
|
+
return { status: 500, type: 'server_error', code: 'server_error' };
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=audio-speech-params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio-speech-params.js","sourceRoot":"","sources":["../../../src/server/public/audio-speech-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `POST /v1/audio/speech`: an OpenAI-shaped facade over the audio job runner, so a client gets the
|
|
3
|
+
* same job, `audio:job` events, gallery write and idle timer as the app's Audios studio. The loaded
|
|
4
|
+
* audio model is the only one that speaks, and only when it is a speech model; audio models are
|
|
5
|
+
* absent from `/v1/models` like image models. The answer is the clip itself: the engine's WAV, or for
|
|
6
|
+
* `pcm` its 16-bit samples without the header. What OpenAI's body has no room for — the job, the seed,
|
|
7
|
+
* the sample rate and channels — rides in `X-Atomic-*` headers.
|
|
8
|
+
*/
|
|
9
|
+
import type { Exchange } from './exchange.js';
|
|
10
|
+
/** The facade's own ceiling, as for images; the runner's six-hour one is for the studio, which shows the job. */
|
|
11
|
+
export declare const SPEECH_TIMEOUT_MS: number;
|
|
12
|
+
export declare const NO_SPEECH_MODEL_MESSAGE = "No speech model loaded. Load a speech model in Atomic Chat first.";
|
|
13
|
+
export declare const AUDIO_BACKEND_LABEL = "atomic-audio";
|
|
14
|
+
export declare function serveAudioSpeech(ex: Exchange, timeoutMs?: number): Promise<void>;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `POST /v1/audio/speech`: an OpenAI-shaped facade over the audio job runner, so a client gets the
|
|
3
|
+
* same job, `audio:job` events, gallery write and idle timer as the app's Audios studio. The loaded
|
|
4
|
+
* audio model is the only one that speaks, and only when it is a speech model; audio models are
|
|
5
|
+
* absent from `/v1/models` like image models. The answer is the clip itself: the engine's WAV, or for
|
|
6
|
+
* `pcm` its 16-bit samples without the header. What OpenAI's body has no room for — the job, the seed,
|
|
7
|
+
* the sample rate and channels — rides in `X-Atomic-*` headers.
|
|
8
|
+
*/
|
|
9
|
+
import { answer, clientGone, invalidJsonMessage } from './exchange.js';
|
|
10
|
+
import { buildSpeechRequest, mapSpeechError, parseSpeechParams, SPEECH_CONTENT_TYPES, wavPcmData, } from './audio-speech-params.js';
|
|
11
|
+
import { errorBody, errorKindFor, modelMatches, ParamError } from './images-params.js';
|
|
12
|
+
import { readBody } from './wire.js';
|
|
13
|
+
/** The facade's own ceiling, as for images; the runner's six-hour one is for the studio, which shows the job. */
|
|
14
|
+
export const SPEECH_TIMEOUT_MS = 30 * 60 * 1000;
|
|
15
|
+
export const NO_SPEECH_MODEL_MESSAGE = 'No speech model loaded. Load a speech model in Atomic Chat first.';
|
|
16
|
+
export const AUDIO_BACKEND_LABEL = 'atomic-audio';
|
|
17
|
+
const MAKES = {
|
|
18
|
+
music: 'music',
|
|
19
|
+
effects: 'sound effects',
|
|
20
|
+
};
|
|
21
|
+
const JSON_HEADERS = [['Content-Type', 'application/json']];
|
|
22
|
+
function fail(ex, status, body, errorKind) {
|
|
23
|
+
ex.trace.errorKind = errorKind;
|
|
24
|
+
answer(ex, status, body, JSON_HEADERS);
|
|
25
|
+
}
|
|
26
|
+
/** An audio failure in OpenAI's envelope; `details` follow a 400 in brackets and anything else on their own line. */
|
|
27
|
+
function failWith(ex, error, join) {
|
|
28
|
+
const mapped = mapSpeechError((error.code ?? 'INTERNAL'));
|
|
29
|
+
let message = error.message;
|
|
30
|
+
if (error.details && join === 'job')
|
|
31
|
+
message = `${message}\n${error.details}`;
|
|
32
|
+
else if (error.details && mapped.status === 400)
|
|
33
|
+
message = `${message} (${error.details})`;
|
|
34
|
+
fail(ex, mapped.status, errorBody(message, mapped.type, mapped.code, null), errorKindFor(mapped.status));
|
|
35
|
+
}
|
|
36
|
+
export async function serveAudioSpeech(ex, timeoutMs = SPEECH_TIMEOUT_MS) {
|
|
37
|
+
const { trace, deps } = ex;
|
|
38
|
+
let parsed;
|
|
39
|
+
try {
|
|
40
|
+
parsed = JSON.parse((ex.body ?? (await readBody(ex.req))).toString('utf8'));
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
return fail(ex, 400, errorBody(invalidJsonMessage(e), 'invalid_request_error', null, null), 'bad_request');
|
|
44
|
+
}
|
|
45
|
+
let request;
|
|
46
|
+
let format;
|
|
47
|
+
let loaded;
|
|
48
|
+
try {
|
|
49
|
+
// The body is checked before the model: a bad format is a 400 even with nothing loaded.
|
|
50
|
+
const params = parseSpeechParams(parsed);
|
|
51
|
+
trace.modelId = params.model ?? null;
|
|
52
|
+
loaded = deps.speech?.loaded();
|
|
53
|
+
if (!loaded)
|
|
54
|
+
return fail(ex, 503, errorBody(NO_SPEECH_MODEL_MESSAGE, 'server_error', 'model_not_loaded', null), 'not_found');
|
|
55
|
+
if (loaded.mode !== 'speech')
|
|
56
|
+
return fail(ex, 503, errorBody(`The loaded audio model (${loaded.displayName}) makes ${MAKES[loaded.mode]}, not speech. Load a speech model in Atomic Chat first.`, 'server_error', 'model_not_loaded', null), 'not_found');
|
|
57
|
+
if (!modelMatches(params.model, loaded))
|
|
58
|
+
return fail(ex, 404, errorBody(`The model '${params.model}' is not loaded; the loaded speech model is '${loaded.modelId}'.`, 'invalid_request_error', 'model_not_found', 'model'), 'not_found');
|
|
59
|
+
request = buildSpeechRequest(params);
|
|
60
|
+
format = params.format;
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
if (!(e instanceof ParamError))
|
|
64
|
+
throw e;
|
|
65
|
+
return fail(ex, 400, errorBody(e.message, 'invalid_request_error', null, e.param), 'bad_request');
|
|
66
|
+
}
|
|
67
|
+
trace.modelId = loaded.modelId;
|
|
68
|
+
trace.backend = AUDIO_BACKEND_LABEL;
|
|
69
|
+
return runToAnswer(ex, deps.speech, request, format, timeoutMs);
|
|
70
|
+
}
|
|
71
|
+
/** Start the job, wait for it (the client leaving or the ceiling cancels it), and answer its clip. */
|
|
72
|
+
async function runToAnswer(ex, speech, request, format, timeoutMs) {
|
|
73
|
+
let started;
|
|
74
|
+
try {
|
|
75
|
+
started = await speech.start(request);
|
|
76
|
+
}
|
|
77
|
+
catch (raw) {
|
|
78
|
+
return failWith(ex, raw, 'start');
|
|
79
|
+
}
|
|
80
|
+
// The client going away cancels the job, and so does the ceiling: nobody is waiting for it.
|
|
81
|
+
const gone = clientGone(ex);
|
|
82
|
+
const onGone = () => void speech.cancel(started.id);
|
|
83
|
+
gone.addEventListener('abort', onGone, { once: true });
|
|
84
|
+
let timer;
|
|
85
|
+
const timeout = new Promise((resolve) => {
|
|
86
|
+
timer = setTimeout(() => resolve('timeout'), timeoutMs);
|
|
87
|
+
});
|
|
88
|
+
try {
|
|
89
|
+
const result = await Promise.race([started.done, timeout]);
|
|
90
|
+
if (result === 'timeout') {
|
|
91
|
+
void speech.cancel(started.id);
|
|
92
|
+
const minutes = Math.round(timeoutMs / 60_000);
|
|
93
|
+
return fail(ex, 504, errorBody(`Speech did not finish within ${minutes} minutes and was cancelled.`, 'server_error', 'timeout', null), 'timeout');
|
|
94
|
+
}
|
|
95
|
+
if (!result.ok)
|
|
96
|
+
return failWith(ex, result.error, 'job');
|
|
97
|
+
const { job, item, wav } = result.outcome;
|
|
98
|
+
let bytes = wav;
|
|
99
|
+
if (format === 'pcm') {
|
|
100
|
+
const pcm = wavPcmData(wav);
|
|
101
|
+
if (!pcm)
|
|
102
|
+
return fail(ex, 500, errorBody('The clip is not 16-bit PCM, so it cannot be answered as pcm; ask for wav.', 'server_error', 'server_error', null), 'upstream');
|
|
103
|
+
bytes = pcm.pcm;
|
|
104
|
+
}
|
|
105
|
+
answer(ex, 200, bytes, [
|
|
106
|
+
['Content-Type', SPEECH_CONTENT_TYPES[format]],
|
|
107
|
+
['X-Atomic-Job-Id', job.id],
|
|
108
|
+
['X-Atomic-Seed', String(item.recipe.seed)],
|
|
109
|
+
['X-Atomic-Sample-Rate', String(item.sampleRate)],
|
|
110
|
+
['X-Atomic-Channels', String(item.channels)],
|
|
111
|
+
]);
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
clearTimeout(timer);
|
|
115
|
+
gone.removeEventListener('abort', onGone);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=audio-speech.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio-speech.js","sourceRoot":"","sources":["../../../src/server/public/audio-speech.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
18
18
|
import type { LocalApiServerState } from '../../contracts/index.js';
|
|
19
19
|
import type { PublicServerConfig, PublicServerDeps } from './types.js';
|
|
20
|
-
export type { CtxIncreaseOutcome, DecisionBackend, DecisionTarget, EmbeddingBackend, EmbeddingTarget, ImagesBackend, LocalTarget, PublicServerConfig, PublicServerDeps, VideosBackend, } from './types.js';
|
|
20
|
+
export type { AudioSpeechBackend, CtxIncreaseOutcome, DecisionBackend, DecisionTarget, EmbeddingBackend, EmbeddingTarget, ImagesBackend, LocalTarget, PublicServerConfig, PublicServerDeps, VideosBackend, } from './types.js';
|
|
21
21
|
export { hostAndKeyGate, isValidHost, removePrefix } from './gates.js';
|
|
22
22
|
export type { HostAndKeyConfig } from './gates.js';
|
|
23
23
|
export { DynamicTrustedHosts, socketAddressLiteral } from './dynamic-hosts.js';
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import { createServer } from 'node:http';
|
|
18
18
|
import { AtomicCoreError } from '../../contracts/index.js';
|
|
19
19
|
import { captureReport, internalErrorReport } from '../../telemetry/index.js';
|
|
20
|
+
import { serveAudioSpeech } from './audio-speech.js';
|
|
20
21
|
import { DECISION_ROUTES, serveDecision } from './decision.js';
|
|
21
22
|
import { serveEmbeddingIfOwned } from './embedding.js';
|
|
22
23
|
import { answer, newExchange } from './exchange.js';
|
|
@@ -56,6 +57,7 @@ const ALLOWED_METHODS = {
|
|
|
56
57
|
'/messages/count_tokens': 'POST',
|
|
57
58
|
'/images/generations': 'POST',
|
|
58
59
|
'/images/edits': 'POST',
|
|
60
|
+
'/audio/speech': 'POST',
|
|
59
61
|
'/systemone': 'POST',
|
|
60
62
|
'/router/score': 'POST',
|
|
61
63
|
};
|
|
@@ -136,6 +138,11 @@ export async function handlePublicRequest(req, res, listener, deps) {
|
|
|
136
138
|
trace.endpoint = endpointFromPath(path);
|
|
137
139
|
return serveImagesEdits(ex);
|
|
138
140
|
}
|
|
141
|
+
// Served here, never forwarded: the audio model is the core's own, and it is not in `/models`.
|
|
142
|
+
if (path === '/audio/speech') {
|
|
143
|
+
trace.endpoint = endpointFromPath(path);
|
|
144
|
+
return serveAudioSpeech(ex);
|
|
145
|
+
}
|
|
139
146
|
// Served by the decision module's own process, byte for byte; never a chat session.
|
|
140
147
|
if (Object.hasOwn(DECISION_ROUTES, path)) {
|
|
141
148
|
trace.endpoint = endpointFromPath(path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/public/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/public/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/server/public/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIzC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAI/D,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACjC,mGAAmG;AACnG,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAEpC,IAAI,OAAO,GAAG,CAAC,CAAA;AACf,IAAI,QAAQ,GAAG,CAAC,CAAA;AAEhB,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAmB;YACtB,OAAO,kBAAkB,CAAA;QAC3B,KAAK,YAAY;YACf,OAAO,WAAW,CAAA;QACpB,KAAK,WAAW;YACd,OAAO,UAAU,CAAA;QACnB,KAAK,cAAc;YACjB,OAAO,aAAa,CAAA;QACtB,KAAK,aAAa;YAChB,OAAO,YAAY,CAAA;QACrB,KAAK,wBAAwB;YAC3B,OAAO,uBAAuB,CAAA;QAChC,KAAK,qBAAqB;YACxB,OAAO,oBAAoB,CAAA;QAC7B,KAAK,eAAe;YAClB,OAAO,cAAc,CAAA;QACvB,KAAK,YAAY;YACf,OAAO,WAAW,CAAA;QACpB,KAAK,eAAe;YAClB,OAAO,cAAc,CAAA;QACvB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAA;QACjB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAA;QACjB,KAAK,mBAAmB;YACtB,OAAO,kBAAkB,CAAA;QAC3B,KAAK,UAAU;YACb,OAAO,SAAS,CAAA;QAClB;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;AAEnC,MAAM,OAAO,YAAY;IA2BJ;IACA;IA3BnB,QAAQ,CAAoB;IAC5B,OAAO,GAAkB,IAAI,CAAA;IAC7B,OAAO,GAAG,SAAS,CAAA;IACnB,QAAQ,GAAkB,IAAI,CAAA;IAC9B,MAAM,GAAG,KAAK,CAAA;IACd,iBAAiB,GAAG,KAAK,CAAA;IACzB,SAAS,GAAkB,IAAI,CAAA;IAC/B,sGAAsG;IACtG,QAAQ,GAAG,KAAK,CAAA;IAChB,cAAc,GAAkB,IAAI,CAAA;IACpC,WAAW,GAAG,KAAK,CAAA;IACnB,mBAAmB,GAAG,KAAK,CAAA;IAC3B,wEAAwE;IACxE,SAAS,CAA6B;IAErB,SAAS,GAAG,GAAG,EAAE,CAAA;IACjB,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACjC,SAAS,CAAoB;IACpB,EAAE,GAAG,UAAU,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;IAC/C,GAAG,CAAoB;IAChC,SAAS,GAAG,KAAK,CAAA;IACjB,MAAM,GAAG,KAAK,CAAA;IACd,YAAY,GAAG,CAAC,CAAA;IAChB,OAAO,CAA6B;IAE5C,YACmB,MAAc,EACd,IAAsB;QADtB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAkB;QAEvC,8FAA8F;QAC9F,6CAA6C;QAC7C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAA;YACpB,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC;IAED,sGAAsG;IACtG,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS,CAAA;IAC/B,CAAC;IAED,0FAA0F;IAC1F,MAAM,CAAC,GAAmB;QACxB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAA2C,CAClF;QAAC,GAAwE,CAAC,SAAS,GAAG,CACrF,GAAG,IAAe,EAClB,EAAE;YACF,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE,CAAA;YACxB,OAAO,SAAS,CAAC,GAAG,IAAI,CAAC,CAAA;QAC3B,CAAC,CAAA;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAgB,EAAE,GAAY,EAAE,UAA0B;QACjE,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS;YAAE,OAAM;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACpF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE;YAC9B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,WAAW;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;YAC7C,cAAc,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;YACrC,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;YACpC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,IAAI,KAAK;YACxD,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SAC/D,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAA;QACrC,IAAI,CAAC,SAAS,KAAK,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,MAAuB;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,mDAAmD;IACnD,QAAQ;QACN,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAM;QACpE,IAAI,QAAQ,GAAG,yBAAyB;YAAE,OAAM;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QAClD,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,oBAAoB;YAAE,OAAM;QAC9D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE;YAC9B,KAAK,EAAE,UAAU;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9C,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,0BAA0B,EAAE;YAC9D,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;YACtC,UAAU,EAAE,OAAO;SACpB,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,GAAmB;QAC/B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;YAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAM;QAE3B,MAAM,GAAG,GAAG,GAAG,EAAE,CAAA;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAA;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEnC,MAAM,WAAW,GAAiC,IAAI,CAAC,QAAQ;YAC7D,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO;gBAClC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM;gBACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChD,qBAAqB,EAAE,IAAI,CAAC,iBAAiB;gBAC7C,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,eAAe,EAAE,IAAI,CAAC,cAAc;gBACpC,YAAY,EAAE,IAAI,CAAC,WAAW;gBAC9B,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;aAChD,CAAA;QAEL,gGAAgG;QAChG,gGAAgG;QAChG,IAAI,MAAM,GAAkC,IAAI,CAAA;QAChD,IAAI,IAAI,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAA;YAC9E,MAAM,GAAG;gBACP,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,IAAI;gBAClB,gBAAgB,EAAE,KAAK;gBACvB,iBAAiB,EAAE,IAAI;gBACvB,oBAAoB,EAAE,IAAI;gBAC1B,aAAa,EAAE,IAAI;gBACnB,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,IAAI;gBACjB,GAAG,SAAS;gBACZ,+FAA+F;gBAC/F,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;gBACnD,MAAM,EAAE,MAAM,IAAI,IAAI;gBACtB,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,gBAAgB;gBAC9B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;aAC9C,CAAA;QACH,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM;YAAE,OAAM;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAC5B,KAAK,EAAE,UAAU;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACnB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;YAC1B,WAAW;YACX,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/server/public/trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* exchanges (`test/contract/proxy-http.test.ts`) with stub sessions, stub providers and a scripted
|
|
6
6
|
* context-increase outcome, so none of this may reach for a runtime or a settings file directly.
|
|
7
7
|
*/
|
|
8
|
-
import type { CoreEvents, DiffusionErrorBody, DiffusionFamilyDefaults, DiffusionFamilyRanges, DiffusionModality, EmbeddingModality, GalleryListOptions, GalleryVideoItem, ImageGenerateRequest, ImageJob, VideoGalleryPage, VideoGenerateRequest, MediaTarget, VideoJob } from '../../contracts/index.js';
|
|
8
|
+
import type { AudioErrorBody, AudioGalleryItem, AudioGenerateRequest, AudioJob, AudioMode, CoreEvents, DiffusionErrorBody, DiffusionFamilyDefaults, DiffusionFamilyRanges, DiffusionModality, EmbeddingModality, GalleryListOptions, GalleryVideoItem, ImageGenerateRequest, ImageJob, VideoGalleryPage, VideoGenerateRequest, MediaTarget, VideoJob } from '../../contracts/index.js';
|
|
9
9
|
import type { LocalProvider, RemoteProvider } from '../../router/index.js';
|
|
10
10
|
import type { ChatGptBackend } from '../../cloud/index.js';
|
|
11
11
|
import type { ErrorSink } from '../../telemetry/index.js';
|
|
@@ -71,6 +71,32 @@ export interface ImagesBackend {
|
|
|
71
71
|
/** The provider and model a `model` names among the enabled remote image models. */
|
|
72
72
|
find?: (model: string) => MediaTarget | undefined;
|
|
73
73
|
}
|
|
74
|
+
/** The resident audio model as `POST /audio/speech` needs it: who it is, what it makes, and how a job runs. */
|
|
75
|
+
export interface AudioSpeechBackend {
|
|
76
|
+
/** The loaded audio model, whatever it makes, or `undefined` when there is none. */
|
|
77
|
+
loaded: () => {
|
|
78
|
+
modelId: string;
|
|
79
|
+
displayName: string;
|
|
80
|
+
mode: AudioMode;
|
|
81
|
+
} | undefined;
|
|
82
|
+
/** Start a speech job on it; `done` settles with the outcome and never rejects. */
|
|
83
|
+
start: (request: AudioGenerateRequest) => Promise<{
|
|
84
|
+
id: string;
|
|
85
|
+
done: Promise<{
|
|
86
|
+
ok: true;
|
|
87
|
+
outcome: {
|
|
88
|
+
job: AudioJob;
|
|
89
|
+
item: AudioGalleryItem;
|
|
90
|
+
wav: Buffer;
|
|
91
|
+
};
|
|
92
|
+
} | {
|
|
93
|
+
ok: false;
|
|
94
|
+
error: AudioErrorBody;
|
|
95
|
+
}>;
|
|
96
|
+
}>;
|
|
97
|
+
/** Give up on a job the client no longer waits for. */
|
|
98
|
+
cancel: (jobId: string) => Promise<unknown>;
|
|
99
|
+
}
|
|
74
100
|
/** The resident video model as `/videos` needs it, plus the two places a video lives: the runner and the gallery. */
|
|
75
101
|
export interface VideosBackend {
|
|
76
102
|
/** The loaded model with the family defaults and ranges it was loaded with, or `undefined` when there is none. */
|
|
@@ -204,6 +230,8 @@ export interface PublicServerDeps {
|
|
|
204
230
|
images?: ImagesBackend;
|
|
205
231
|
/** The video counterpart, for `/videos`. */
|
|
206
232
|
videos?: VideosBackend;
|
|
233
|
+
/** Speech on the resident audio model, for `/audio/speech`; without it the route answers 503. */
|
|
234
|
+
speech?: AudioSpeechBackend;
|
|
207
235
|
/** The decision model, for `/systemone` and `/router/score`; without it those routes answer 503. */
|
|
208
236
|
decision?: DecisionBackend;
|
|
209
237
|
/**
|
|
@@ -53,6 +53,18 @@ export declare function diffusionFailureReport(input: {
|
|
|
53
53
|
family?: string | undefined;
|
|
54
54
|
engine?: string | undefined;
|
|
55
55
|
}): ErrorReport | null;
|
|
56
|
+
/**
|
|
57
|
+
* Audio-generation codes that name something the user or the client can fix — a missing engine or
|
|
58
|
+
* file, the wrong mode, a request audio.cpp refused, a busy engine, a full disk — rather than an
|
|
59
|
+
* engine or core defect.
|
|
60
|
+
*/
|
|
61
|
+
export declare const RECOVERABLE_AUDIO_CODES: ReadonlySet<string>;
|
|
62
|
+
/** audio.cpp failing to load a model (`load`) or to finish a clip (`job`). */
|
|
63
|
+
export declare function audioFailureReport(input: {
|
|
64
|
+
phase: 'load' | 'job';
|
|
65
|
+
error: unknown;
|
|
66
|
+
family?: string | undefined;
|
|
67
|
+
}): ErrorReport | null;
|
|
56
68
|
/**
|
|
57
69
|
* A running local engine that failed a request: a compute failure that leaves the backend unusable
|
|
58
70
|
* (a Metal OOM during prompt processing, "failed to decode") at `warning`, any other 5xx at `error`.
|
|
@@ -172,6 +172,44 @@ export function diffusionFailureReport(input) {
|
|
|
172
172
|
throttle: { key: `diffusion:${input.phase}:${input.family ?? ''}:${code}`, windowMs: ENGINE_THROTTLE_MS },
|
|
173
173
|
};
|
|
174
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Audio-generation codes that name something the user or the client can fix — a missing engine or
|
|
177
|
+
* file, the wrong mode, a request audio.cpp refused, a busy engine, a full disk — rather than an
|
|
178
|
+
* engine or core defect.
|
|
179
|
+
*/
|
|
180
|
+
export const RECOVERABLE_AUDIO_CODES = new Set([
|
|
181
|
+
'ENGINE_MISSING',
|
|
182
|
+
'MODEL_MISSING',
|
|
183
|
+
'MODEL_INCOMPATIBLE',
|
|
184
|
+
'MODEL_NOT_LOADED',
|
|
185
|
+
'UNSUPPORTED_BACKEND',
|
|
186
|
+
'UNSUPPORTED_MODE',
|
|
187
|
+
'INVALID_REQUEST',
|
|
188
|
+
'REQUEST_REJECTED',
|
|
189
|
+
'JOB_BUSY',
|
|
190
|
+
'JOB_NOT_FOUND',
|
|
191
|
+
'CANCELLED',
|
|
192
|
+
'DISK_FULL',
|
|
193
|
+
'BACKEND_IN_USE',
|
|
194
|
+
]);
|
|
195
|
+
/** audio.cpp failing to load a model (`load`) or to finish a clip (`job`). */
|
|
196
|
+
export function audioFailureReport(input) {
|
|
197
|
+
if (isCancellation(input.error))
|
|
198
|
+
return null;
|
|
199
|
+
const code = errorCodeOf(input.error) ?? 'INTERNAL';
|
|
200
|
+
if (RECOVERABLE_AUDIO_CODES.has(code))
|
|
201
|
+
return null;
|
|
202
|
+
const engineErrors = markerLines(detailsOf(input.error));
|
|
203
|
+
return {
|
|
204
|
+
source: input.phase === 'load' ? 'audio_load' : 'audio_job',
|
|
205
|
+
level: code === 'OUT_OF_MEMORY' || code === 'INVALID_OUTPUT' ? 'warning' : 'error',
|
|
206
|
+
error: input.error,
|
|
207
|
+
fingerprint: [input.phase === 'load' ? 'audio-load-failure' : 'audio-failure', code],
|
|
208
|
+
tags: { provider: 'audio', error_code: code, audio_family: input.family },
|
|
209
|
+
...(engineErrors ? { extra: { engine_errors: engineErrors } } : {}),
|
|
210
|
+
throttle: { key: `audio:${input.phase}:${input.family ?? ''}:${code}`, windowMs: ENGINE_THROTTLE_MS },
|
|
211
|
+
};
|
|
212
|
+
}
|
|
175
213
|
function upstreamMessage(body) {
|
|
176
214
|
try {
|
|
177
215
|
const parsed = JSON.parse(body);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/telemetry/reports.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/telemetry/reports.ts"],"names":[],"mappings":"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"}
|