@xrkseek/harness 0.7.7 → 0.7.8
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/node_modules/@xrkseek/exec-voice/dist/download-http.d.ts +25 -6
- package/node_modules/@xrkseek/exec-voice/dist/download-http.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-voice/dist/download-http.js +55 -11
- package/node_modules/@xrkseek/exec-voice/dist/download-http.js.map +1 -1
- package/node_modules/@xrkseek/exec-voice/dist/index.d.ts +1 -0
- package/node_modules/@xrkseek/exec-voice/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-voice/dist/index.js +1 -0
- package/node_modules/@xrkseek/exec-voice/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/exec-voice/dist/sensevoice-runtime.d.ts +3 -1
- package/node_modules/@xrkseek/exec-voice/dist/sensevoice-runtime.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-voice/dist/sensevoice-runtime.js +18 -1
- package/node_modules/@xrkseek/exec-voice/dist/sensevoice-runtime.js.map +1 -1
- package/node_modules/@xrkseek/exec-voice/package.json +3 -0
- package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/voice.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/voice.js +16 -2
- package/node_modules/@xrkseek/server-face/dist/handlers/voice.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-posture.js +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-posture.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +8 -0
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js +4 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js.map +1 -1
- package/node_modules/sherpa-onnx-node/README.md +11 -0
- package/node_modules/sherpa-onnx-node/addon-static-import.js +76 -0
- package/node_modules/sherpa-onnx-node/addon.js +98 -0
- package/node_modules/sherpa-onnx-node/audio-tagg.js +45 -0
- package/node_modules/sherpa-onnx-node/keyword-spotter.js +68 -0
- package/node_modules/sherpa-onnx-node/non-streaming-asr.js +158 -0
- package/node_modules/sherpa-onnx-node/non-streaming-speaker-diarization.js +38 -0
- package/node_modules/sherpa-onnx-node/non-streaming-speech-denoiser.js +32 -0
- package/node_modules/sherpa-onnx-node/non-streaming-tts.js +117 -0
- package/node_modules/sherpa-onnx-node/online-speech-denoiser.js +46 -0
- package/node_modules/sherpa-onnx-node/package.json +68 -0
- package/node_modules/sherpa-onnx-node/punctuation.js +43 -0
- package/node_modules/sherpa-onnx-node/resampler.js +80 -0
- package/node_modules/sherpa-onnx-node/sherpa-onnx.js +49 -0
- package/node_modules/sherpa-onnx-node/speaker-identification.js +152 -0
- package/node_modules/sherpa-onnx-node/spoken-language-identification.js +38 -0
- package/node_modules/sherpa-onnx-node/streaming-asr.js +181 -0
- package/node_modules/sherpa-onnx-node/types.js +833 -0
- package/node_modules/sherpa-onnx-node/vad.js +134 -0
- package/node_modules/sherpa-onnx-win-x64/README.md +3 -0
- package/node_modules/sherpa-onnx-win-x64/index.js +1 -0
- package/node_modules/sherpa-onnx-win-x64/onnxruntime.dll +0 -0
- package/node_modules/sherpa-onnx-win-x64/onnxruntime_providers_shared.dll +0 -0
- package/node_modules/sherpa-onnx-win-x64/package.json +65 -0
- package/node_modules/sherpa-onnx-win-x64/sherpa-onnx-c-api.dll +0 -0
- package/node_modules/sherpa-onnx-win-x64/sherpa-onnx-cxx-api.dll +0 -0
- package/node_modules/sherpa-onnx-win-x64/sherpa-onnx.node +0 -0
- package/package.json +5 -1
|
@@ -3,17 +3,37 @@ export interface DownloadStream {
|
|
|
3
3
|
readonly status: number;
|
|
4
4
|
readonly body: AsyncIterable<Uint8Array> | null;
|
|
5
5
|
}
|
|
6
|
-
interface ProxyTarget {
|
|
6
|
+
export interface ProxyTarget {
|
|
7
7
|
readonly host: string;
|
|
8
8
|
readonly port: number;
|
|
9
9
|
}
|
|
10
|
+
/** Result of reading the operator's proxy setting. */
|
|
11
|
+
export interface ProxyParseResult {
|
|
12
|
+
/** CONNECT endpoint; present exactly when the text parsed. */
|
|
13
|
+
readonly target?: ProxyTarget;
|
|
14
|
+
/**
|
|
15
|
+
* Why the text cannot be used. Present only for a non-empty setting — an
|
|
16
|
+
* empty one means 「direct」, which is not an error.
|
|
17
|
+
*/
|
|
18
|
+
readonly error?: string;
|
|
19
|
+
}
|
|
10
20
|
/**
|
|
11
|
-
* Parse an operator-supplied proxy URL
|
|
12
|
-
*
|
|
21
|
+
* Parse an operator-supplied proxy URL.
|
|
22
|
+
*
|
|
23
|
+
* Accepts `http://127.0.0.1:7897`, the bare `127.0.0.1:7897` form people paste
|
|
24
|
+
* from a Clash panel, and `http:127.0.0.1:7897` — the same address with the
|
|
25
|
+
* `//` dropped, which is what a hurried paste produces. That last form used to
|
|
26
|
+
* build `http://http:127.0.0.1:7897`, throw inside `new URL()`, and come back
|
|
27
|
+
* as `undefined`: the card showed an address while every byte went unproxied,
|
|
28
|
+
* which reads as 「saved but still stuck」.
|
|
29
|
+
*
|
|
30
|
+
* Only `http:` / `https:` are accepted: {@link tunnel} speaks HTTP CONNECT and
|
|
31
|
+
* nothing else, so a `socks5://` value would open a socket that can never
|
|
32
|
+
* carry the tunnel.
|
|
13
33
|
* @param value - Setting text; empty means 「no proxy」.
|
|
14
|
-
* @returns
|
|
34
|
+
* @returns A CONNECT target, or the reason the text is unusable.
|
|
15
35
|
*/
|
|
16
|
-
export declare function parseProxy(value: string | undefined):
|
|
36
|
+
export declare function parseProxy(value: string | undefined): ProxyParseResult;
|
|
17
37
|
/**
|
|
18
38
|
* Open one asset URL, preferring a local proxy and falling back to a direct
|
|
19
39
|
* request when the proxy cannot carry the hop.
|
|
@@ -23,5 +43,4 @@ export declare function parseProxy(value: string | undefined): ProxyTarget | und
|
|
|
23
43
|
* @returns Status plus a byte stream.
|
|
24
44
|
*/
|
|
25
45
|
export declare function openAssetStream(rawUrl: string, signal: AbortSignal, proxyUrl?: string): Promise<DownloadStream>;
|
|
26
|
-
export {};
|
|
27
46
|
//# sourceMappingURL=download-http.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-http.d.ts","sourceRoot":"","sources":["../src/download-http.ts"],"names":[],"mappings":"AA6BA,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;CACjD;AAED,
|
|
1
|
+
{"version":3,"file":"download-http.d.ts","sourceRoot":"","sources":["../src/download-http.ts"],"names":[],"mappings":"AA6BA,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAkBtE;AA6ID;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CA4BzB"}
|
|
@@ -28,25 +28,57 @@ import tls from "node:tls";
|
|
|
28
28
|
const REDIRECT_LIMIT = 5;
|
|
29
29
|
const CONNECT_TIMEOUT_MS = 8_000;
|
|
30
30
|
/**
|
|
31
|
-
* Parse an operator-supplied proxy URL
|
|
32
|
-
*
|
|
31
|
+
* Parse an operator-supplied proxy URL.
|
|
32
|
+
*
|
|
33
|
+
* Accepts `http://127.0.0.1:7897`, the bare `127.0.0.1:7897` form people paste
|
|
34
|
+
* from a Clash panel, and `http:127.0.0.1:7897` — the same address with the
|
|
35
|
+
* `//` dropped, which is what a hurried paste produces. That last form used to
|
|
36
|
+
* build `http://http:127.0.0.1:7897`, throw inside `new URL()`, and come back
|
|
37
|
+
* as `undefined`: the card showed an address while every byte went unproxied,
|
|
38
|
+
* which reads as 「saved but still stuck」.
|
|
39
|
+
*
|
|
40
|
+
* Only `http:` / `https:` are accepted: {@link tunnel} speaks HTTP CONNECT and
|
|
41
|
+
* nothing else, so a `socks5://` value would open a socket that can never
|
|
42
|
+
* carry the tunnel.
|
|
33
43
|
* @param value - Setting text; empty means 「no proxy」.
|
|
34
|
-
* @returns
|
|
44
|
+
* @returns A CONNECT target, or the reason the text is unusable.
|
|
35
45
|
*/
|
|
36
46
|
export function parseProxy(value) {
|
|
37
47
|
if (value === undefined)
|
|
38
|
-
return
|
|
48
|
+
return {};
|
|
39
49
|
const trimmed = value.trim();
|
|
40
50
|
if (trimmed === "")
|
|
41
|
-
return
|
|
51
|
+
return {};
|
|
52
|
+
let url;
|
|
42
53
|
try {
|
|
43
|
-
|
|
44
|
-
const port = url.port === "" ? (url.protocol === "https:" ? 443 : 80) : Number(url.port);
|
|
45
|
-
return { host: url.hostname, port };
|
|
54
|
+
url = new URL(withProxyScheme(trimmed));
|
|
46
55
|
}
|
|
47
56
|
catch {
|
|
48
|
-
return
|
|
57
|
+
return { error: `not a URL: ${trimmed}` };
|
|
58
|
+
}
|
|
59
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") {
|
|
60
|
+
return {
|
|
61
|
+
error: `only HTTP CONNECT proxies work here (got ${url.protocol.slice(0, -1)}://)`,
|
|
62
|
+
};
|
|
49
63
|
}
|
|
64
|
+
if (url.hostname === "")
|
|
65
|
+
return { error: `no host in ${trimmed}` };
|
|
66
|
+
const port = url.port === "" ? (url.protocol === "https:" ? 443 : 80) : Number(url.port);
|
|
67
|
+
return { target: { host: url.hostname, port } };
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Give `new URL` something it accepts.
|
|
71
|
+
* @param raw - Trimmed setting text.
|
|
72
|
+
* @returns The text with a scheme and `//`.
|
|
73
|
+
*/
|
|
74
|
+
function withProxyScheme(raw) {
|
|
75
|
+
const missingSlashes = /^([a-z][a-z0-9+.-]*):(?!\/\/)/i.exec(raw);
|
|
76
|
+
if (missingSlashes !== null) {
|
|
77
|
+
return `${missingSlashes[1]}://${raw.slice(missingSlashes[0].length)}`;
|
|
78
|
+
}
|
|
79
|
+
if (/^[a-z][a-z0-9+.-]*:\/\//i.test(raw))
|
|
80
|
+
return raw;
|
|
81
|
+
return `http://${raw}`;
|
|
50
82
|
}
|
|
51
83
|
/**
|
|
52
84
|
* Open an HTTP CONNECT tunnel and wrap it in TLS for the target host.
|
|
@@ -162,7 +194,18 @@ export async function openAssetStream(rawUrl, signal, proxyUrl) {
|
|
|
162
194
|
// Explicit setting first, then the product's own env override. Never a
|
|
163
195
|
// guessed port: a Host must not route a user's traffic through a relay
|
|
164
196
|
// they did not name.
|
|
165
|
-
const
|
|
197
|
+
const setting = parseProxy(proxyUrl);
|
|
198
|
+
if (setting.error !== undefined) {
|
|
199
|
+
// Fail loud. Dropping an unusable proxy silently is what makes the card
|
|
200
|
+
// show an address while the transfer runs direct — the bug this file was
|
|
201
|
+
// rewritten to fix, back for a second round.
|
|
202
|
+
throw new Error(`download proxy is unusable (${proxyUrl ?? ""}): ${setting.error}`);
|
|
203
|
+
}
|
|
204
|
+
const fromEnv = parseProxy(process.env.XRK_DOWNLOAD_PROXY);
|
|
205
|
+
if (fromEnv.error !== undefined) {
|
|
206
|
+
throw new Error(`XRK_DOWNLOAD_PROXY is unusable (${process.env.XRK_DOWNLOAD_PROXY ?? ""}): ${fromEnv.error}`);
|
|
207
|
+
}
|
|
208
|
+
const proxy = setting.target ?? fromEnv.target;
|
|
166
209
|
if (proxy === undefined)
|
|
167
210
|
return openFollow(rawUrl, undefined, signal);
|
|
168
211
|
try {
|
|
@@ -172,7 +215,8 @@ export async function openAssetStream(rawUrl, signal, proxyUrl) {
|
|
|
172
215
|
if (signal.aborted)
|
|
173
216
|
throw error;
|
|
174
217
|
// A proxy that cannot carry this hop must not fail the download when the
|
|
175
|
-
// direct route might work: fall through and try it.
|
|
218
|
+
// direct route might work: fall through and try it. Reaching here means
|
|
219
|
+
// the address parsed — only the tunnel itself failed.
|
|
176
220
|
return openFollow(rawUrl, undefined, signal);
|
|
177
221
|
}
|
|
178
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-http.js","sourceRoot":"","sources":["../src/download-http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,GAAG,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"download-http.js","sourceRoot":"","sources":["../src/download-http.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export { createSenseVoiceLocalProvider, inspectSenseVoiceAssets, probeSenseVoice
|
|
|
17
17
|
export { createSystemVoiceProvider, listSystemVoices, type SystemVoice, type SystemVoiceOptions, } from "./system-tts.js";
|
|
18
18
|
export { SENSEVOICE_ASSETS, SENSEVOICE_ORIGINS, SENSEVOICE_TOTAL_BYTES, type SenseVoiceAsset, } from "./sensevoice-assets.js";
|
|
19
19
|
export { SenseVoicePreparer, senseVoicePreparer, type SenseVoicePrepareErrorCode, type SenseVoicePrepareFailure, type SenseVoicePreparePhase, type SenseVoicePreparerOptions, type SenseVoicePrepareState, } from "./sensevoice-runtime.js";
|
|
20
|
+
export { openAssetStream, parseProxy, type DownloadStream, type ProxyParseResult, type ProxyTarget, } from "./download-http.js";
|
|
20
21
|
/**
|
|
21
22
|
* Host-side snapshot of the ASR product carried with agent settings.
|
|
22
23
|
* Shape only — `createVoiceAccess` reads the live Settings namespace instead.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -17,4 +17,5 @@ export { createSenseVoiceLocalProvider, inspectSenseVoiceAssets, probeSenseVoice
|
|
|
17
17
|
export { createSystemVoiceProvider, listSystemVoices, } from "./system-tts.js";
|
|
18
18
|
export { SENSEVOICE_ASSETS, SENSEVOICE_ORIGINS, SENSEVOICE_TOTAL_BYTES, } from "./sensevoice-assets.js";
|
|
19
19
|
export { SenseVoicePreparer, senseVoicePreparer, } from "./sensevoice-runtime.js";
|
|
20
|
+
export { openAssetStream, parseProxy, } from "./download-http.js";
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,YAAY,GAYb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GAKjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GAKxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,eAAe,GAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,GAE1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GAIrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,gBAAgB,GAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAMnB,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,YAAY,GAYb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GAKjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GAKxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,eAAe,GAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,GAE1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GAIrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,gBAAgB,GAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAMnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,UAAU,GAIX,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/** Where the preparer is in its lifecycle. */
|
|
2
2
|
export type SenseVoicePreparePhase = "idle" | "preparing" | "ready" | "failed";
|
|
3
3
|
/** Failure taxonomy — the card turns each of these into one "do this next" line. */
|
|
4
|
-
export type SenseVoicePrepareErrorCode = "network" | "timeout" | "http" | "integrity" | "storage"
|
|
4
|
+
export type SenseVoicePrepareErrorCode = "network" | "timeout" | "http" | "integrity" | "storage"
|
|
5
|
+
/** The operator's `downloadProxy` text cannot be used as written. */
|
|
6
|
+
| "proxy" | "cancelled" | "unknown";
|
|
5
7
|
export interface SenseVoicePrepareFailure {
|
|
6
8
|
readonly code: SenseVoicePrepareErrorCode;
|
|
7
9
|
readonly message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sensevoice-runtime.d.ts","sourceRoot":"","sources":["../src/sensevoice-runtime.ts"],"names":[],"mappings":"AA8BA,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/E,oFAAoF;AACpF,MAAM,MAAM,0BAA0B,GAClC,SAAS,GACT,SAAS,GACT,MAAM,GACN,WAAW,GACX,SAAS,
|
|
1
|
+
{"version":3,"file":"sensevoice-runtime.d.ts","sourceRoot":"","sources":["../src/sensevoice-runtime.ts"],"names":[],"mappings":"AA8BA,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/E,oFAAoF;AACpF,MAAM,MAAM,0BAA0B,GAClC,SAAS,GACT,SAAS,GACT,MAAM,GACN,WAAW,GACX,SAAS;AACX,qEAAqE;GACnE,OAAO,GACP,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,+FAA+F;IAC/F,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC;AA8DD,qBAAa,kBAAkB;IAajB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZpC,OAAO,CAAC,KAAK,CAQX;IACF,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,OAAO,CAAS;gBAEK,OAAO,EAAE,yBAAyB;IAE/D,4EAA4E;IAC5E,QAAQ,IAAI,sBAAsB;IAIlC,yCAAyC;IACzC,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;;;;OAKG;IACG,OAAO,CAAC,OAAO,GAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAqEzF,2EAA2E;IAC3E,MAAM,IAAI,sBAAsB;IAKhC,OAAO,CAAC,KAAK;YAIC,QAAQ;IA8DtB;;;;;;;;;;;OAWG;YACW,IAAI;YAcJ,aAAa;CA+D5B;AAUD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,kBAAkB,CAQpB"}
|
|
@@ -21,7 +21,7 @@ import { createHash } from "node:crypto";
|
|
|
21
21
|
import { promises as fs } from "node:fs";
|
|
22
22
|
import path from "node:path";
|
|
23
23
|
import { SENSEVOICE_ASSETS, SENSEVOICE_ORIGINS, SENSEVOICE_TOTAL_BYTES, } from "./sensevoice-assets.js";
|
|
24
|
-
import { openAssetStream } from "./download-http.js";
|
|
24
|
+
import { openAssetStream, parseProxy } from "./download-http.js";
|
|
25
25
|
const REPORT_FLOOR_MS = 250;
|
|
26
26
|
/**
|
|
27
27
|
* A dead origin must not own the whole press.
|
|
@@ -125,6 +125,23 @@ export class SenseVoicePreparer {
|
|
|
125
125
|
failure: null,
|
|
126
126
|
origin: null,
|
|
127
127
|
};
|
|
128
|
+
// Check the proxy before touching the network. Letting each origin fail on
|
|
129
|
+
// its own would burn three header deadlines to say what one string says
|
|
130
|
+
// now, and the card could not tell a bad address from a dead mirror.
|
|
131
|
+
const proxySetting = options.proxy ?? process.env.XRK_DOWNLOAD_PROXY;
|
|
132
|
+
const proxyCheck = parseProxy(proxySetting);
|
|
133
|
+
if (proxyCheck.error !== undefined) {
|
|
134
|
+
this.running = false;
|
|
135
|
+
this.state = {
|
|
136
|
+
...this.state,
|
|
137
|
+
phase: "failed",
|
|
138
|
+
failure: {
|
|
139
|
+
code: "proxy",
|
|
140
|
+
message: `download proxy is unusable (${proxySetting ?? ""}): ${proxyCheck.error}`,
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
return this.state;
|
|
144
|
+
}
|
|
128
145
|
try {
|
|
129
146
|
let done = 0;
|
|
130
147
|
for (const asset of SENSEVOICE_ASSETS) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sensevoice-runtime.js","sourceRoot":"","sources":["../src/sensevoice-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sensevoice-runtime.js","sourceRoot":"","sources":["../src/sensevoice-runtime.ts"],"names":[],"mappings":"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"}
|