@omote/core 0.1.1 → 0.1.3
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/Logger-I_k4sGhM.d.mts +141 -0
- package/dist/Logger-I_k4sGhM.d.ts +141 -0
- package/dist/chunk-ESU52TDS.mjs +287 -0
- package/dist/chunk-ESU52TDS.mjs.map +1 -0
- package/dist/chunk-NSSMTXJJ.mjs +8 -0
- package/dist/chunk-NSSMTXJJ.mjs.map +1 -0
- package/dist/chunk-RI6UQ7WF.mjs +26378 -0
- package/dist/chunk-RI6UQ7WF.mjs.map +1 -0
- package/dist/chunk-XK22BRG4.mjs +38 -0
- package/dist/chunk-XK22BRG4.mjs.map +1 -0
- package/dist/events/index.d.mts +233 -0
- package/dist/events/index.d.ts +233 -0
- package/dist/events/index.js +60 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/index.mjs +8 -0
- package/dist/events/index.mjs.map +1 -0
- package/dist/index.d.mts +4 -365
- package/dist/index.d.ts +4 -365
- package/dist/index.js +58 -65
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +70 -359
- package/dist/index.mjs.map +1 -1
- package/dist/logging/index.d.mts +21 -0
- package/dist/logging/index.d.ts +21 -0
- package/dist/logging/index.js +309 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/index.mjs +34 -0
- package/dist/logging/index.mjs.map +1 -0
- package/dist/transformers.web-ALDLCPHT.mjs +1725 -0
- package/dist/transformers.web-ALDLCPHT.mjs.map +1 -0
- package/package.json +11 -1
package/dist/index.mjs
CHANGED
|
@@ -1,41 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EventEmitter
|
|
3
|
+
} from "./chunk-XK22BRG4.mjs";
|
|
4
|
+
import {
|
|
5
|
+
DEFAULT_LOGGING_CONFIG,
|
|
6
|
+
LOG_LEVEL_PRIORITY,
|
|
7
|
+
configureLogging,
|
|
8
|
+
createLogger,
|
|
9
|
+
getLoggingConfig,
|
|
10
|
+
noopLogger,
|
|
11
|
+
resetLoggingConfig,
|
|
12
|
+
setLogLevel,
|
|
13
|
+
setLoggingEnabled
|
|
14
|
+
} from "./chunk-ESU52TDS.mjs";
|
|
1
15
|
import {
|
|
2
16
|
env,
|
|
3
17
|
pipeline3
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
|
|
6
|
-
// src/events/EventEmitter.ts
|
|
7
|
-
var EventEmitter = class {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.listeners = /* @__PURE__ */ new Map();
|
|
10
|
-
}
|
|
11
|
-
on(event, callback) {
|
|
12
|
-
if (!this.listeners.has(event)) {
|
|
13
|
-
this.listeners.set(event, /* @__PURE__ */ new Set());
|
|
14
|
-
}
|
|
15
|
-
this.listeners.get(event).add(callback);
|
|
16
|
-
return () => this.off(event, callback);
|
|
17
|
-
}
|
|
18
|
-
off(event, callback) {
|
|
19
|
-
this.listeners.get(event)?.delete(callback);
|
|
20
|
-
}
|
|
21
|
-
emit(event, data) {
|
|
22
|
-
this.listeners.get(event)?.forEach((cb) => cb(data));
|
|
23
|
-
}
|
|
24
|
-
once(event, callback) {
|
|
25
|
-
const wrapper = (data) => {
|
|
26
|
-
this.off(event, wrapper);
|
|
27
|
-
callback(data);
|
|
28
|
-
};
|
|
29
|
-
return this.on(event, wrapper);
|
|
30
|
-
}
|
|
31
|
-
removeAllListeners(event) {
|
|
32
|
-
if (event) {
|
|
33
|
-
this.listeners.delete(event);
|
|
34
|
-
} else {
|
|
35
|
-
this.listeners.clear();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
};
|
|
18
|
+
} from "./chunk-RI6UQ7WF.mjs";
|
|
19
|
+
import "./chunk-NSSMTXJJ.mjs";
|
|
39
20
|
|
|
40
21
|
// src/audio/MicrophoneCapture.ts
|
|
41
22
|
var MicrophoneCapture = class {
|
|
@@ -2043,270 +2024,6 @@ function formatBytes(bytes) {
|
|
|
2043
2024
|
return `${(bytes / 1024 / 1024 / 1024).toFixed(1)} GB`;
|
|
2044
2025
|
}
|
|
2045
2026
|
|
|
2046
|
-
// src/logging/types.ts
|
|
2047
|
-
var LOG_LEVEL_PRIORITY = {
|
|
2048
|
-
error: 0,
|
|
2049
|
-
warn: 1,
|
|
2050
|
-
info: 2,
|
|
2051
|
-
debug: 3,
|
|
2052
|
-
trace: 4,
|
|
2053
|
-
verbose: 5
|
|
2054
|
-
};
|
|
2055
|
-
var DEFAULT_LOGGING_CONFIG = {
|
|
2056
|
-
level: "info",
|
|
2057
|
-
enabled: true,
|
|
2058
|
-
format: "pretty",
|
|
2059
|
-
timestamps: true,
|
|
2060
|
-
includeModule: true
|
|
2061
|
-
};
|
|
2062
|
-
|
|
2063
|
-
// src/logging/formatters.ts
|
|
2064
|
-
var COLORS = {
|
|
2065
|
-
reset: "\x1B[0m",
|
|
2066
|
-
red: "\x1B[31m",
|
|
2067
|
-
yellow: "\x1B[33m",
|
|
2068
|
-
blue: "\x1B[34m",
|
|
2069
|
-
cyan: "\x1B[36m",
|
|
2070
|
-
gray: "\x1B[90m",
|
|
2071
|
-
white: "\x1B[37m",
|
|
2072
|
-
magenta: "\x1B[35m"
|
|
2073
|
-
};
|
|
2074
|
-
var LEVEL_COLORS = {
|
|
2075
|
-
error: COLORS.red,
|
|
2076
|
-
warn: COLORS.yellow,
|
|
2077
|
-
info: COLORS.blue,
|
|
2078
|
-
debug: COLORS.cyan,
|
|
2079
|
-
trace: COLORS.magenta,
|
|
2080
|
-
verbose: COLORS.gray
|
|
2081
|
-
};
|
|
2082
|
-
var LEVEL_NAMES = {
|
|
2083
|
-
error: "ERROR ",
|
|
2084
|
-
warn: "WARN ",
|
|
2085
|
-
info: "INFO ",
|
|
2086
|
-
debug: "DEBUG ",
|
|
2087
|
-
trace: "TRACE ",
|
|
2088
|
-
verbose: "VERBOSE"
|
|
2089
|
-
};
|
|
2090
|
-
var isBrowser = typeof window !== "undefined";
|
|
2091
|
-
function formatTimestamp(timestamp) {
|
|
2092
|
-
const date = new Date(timestamp);
|
|
2093
|
-
return date.toISOString().substring(11, 23);
|
|
2094
|
-
}
|
|
2095
|
-
function safeStringify(data) {
|
|
2096
|
-
const seen = /* @__PURE__ */ new WeakSet();
|
|
2097
|
-
return JSON.stringify(data, (key, value) => {
|
|
2098
|
-
if (typeof value === "object" && value !== null) {
|
|
2099
|
-
if (seen.has(value)) {
|
|
2100
|
-
return "[Circular]";
|
|
2101
|
-
}
|
|
2102
|
-
seen.add(value);
|
|
2103
|
-
}
|
|
2104
|
-
if (value instanceof Error) {
|
|
2105
|
-
return {
|
|
2106
|
-
name: value.name,
|
|
2107
|
-
message: value.message,
|
|
2108
|
-
stack: value.stack
|
|
2109
|
-
};
|
|
2110
|
-
}
|
|
2111
|
-
if (value instanceof Float32Array || value instanceof Int16Array) {
|
|
2112
|
-
return `${value.constructor.name}(${value.length})`;
|
|
2113
|
-
}
|
|
2114
|
-
if (ArrayBuffer.isView(value)) {
|
|
2115
|
-
return `${value.constructor.name}(${value.byteLength})`;
|
|
2116
|
-
}
|
|
2117
|
-
return value;
|
|
2118
|
-
});
|
|
2119
|
-
}
|
|
2120
|
-
var jsonFormatter = (entry) => {
|
|
2121
|
-
const output = {
|
|
2122
|
-
timestamp: entry.timestamp,
|
|
2123
|
-
level: entry.level,
|
|
2124
|
-
module: entry.module,
|
|
2125
|
-
message: entry.message
|
|
2126
|
-
};
|
|
2127
|
-
if (entry.data && Object.keys(entry.data).length > 0) {
|
|
2128
|
-
output.data = entry.data;
|
|
2129
|
-
}
|
|
2130
|
-
if (entry.error) {
|
|
2131
|
-
output.error = {
|
|
2132
|
-
name: entry.error.name,
|
|
2133
|
-
message: entry.error.message,
|
|
2134
|
-
stack: entry.error.stack
|
|
2135
|
-
};
|
|
2136
|
-
}
|
|
2137
|
-
return safeStringify(output);
|
|
2138
|
-
};
|
|
2139
|
-
var prettyFormatter = (entry) => {
|
|
2140
|
-
const time = formatTimestamp(entry.timestamp);
|
|
2141
|
-
const level = LEVEL_NAMES[entry.level];
|
|
2142
|
-
const module = entry.module;
|
|
2143
|
-
const message = entry.message;
|
|
2144
|
-
let output;
|
|
2145
|
-
if (isBrowser) {
|
|
2146
|
-
output = `${time} ${level} [${module}] ${message}`;
|
|
2147
|
-
} else {
|
|
2148
|
-
const color = LEVEL_COLORS[entry.level];
|
|
2149
|
-
output = `${COLORS.gray}${time}${COLORS.reset} ${color}${level}${COLORS.reset} ${COLORS.cyan}[${module}]${COLORS.reset} ${message}`;
|
|
2150
|
-
}
|
|
2151
|
-
if (entry.data && Object.keys(entry.data).length > 0) {
|
|
2152
|
-
const dataStr = safeStringify(entry.data);
|
|
2153
|
-
if (dataStr.length > 80) {
|
|
2154
|
-
output += "\n " + JSON.stringify(entry.data, null, 2).replace(/\n/g, "\n ");
|
|
2155
|
-
} else {
|
|
2156
|
-
output += " " + dataStr;
|
|
2157
|
-
}
|
|
2158
|
-
}
|
|
2159
|
-
if (entry.error) {
|
|
2160
|
-
output += `
|
|
2161
|
-
${entry.error.name}: ${entry.error.message}`;
|
|
2162
|
-
if (entry.error.stack) {
|
|
2163
|
-
const stackLines = entry.error.stack.split("\n").slice(1, 4);
|
|
2164
|
-
output += "\n " + stackLines.join("\n ");
|
|
2165
|
-
}
|
|
2166
|
-
}
|
|
2167
|
-
return output;
|
|
2168
|
-
};
|
|
2169
|
-
function getFormatter(format) {
|
|
2170
|
-
return format === "json" ? jsonFormatter : prettyFormatter;
|
|
2171
|
-
}
|
|
2172
|
-
function createBrowserConsoleArgs(entry) {
|
|
2173
|
-
const time = formatTimestamp(entry.timestamp);
|
|
2174
|
-
const level = entry.level.toUpperCase().padEnd(7);
|
|
2175
|
-
const module = entry.module;
|
|
2176
|
-
const message = entry.message;
|
|
2177
|
-
const styles = {
|
|
2178
|
-
time: "color: gray;",
|
|
2179
|
-
error: "color: red; font-weight: bold;",
|
|
2180
|
-
warn: "color: orange; font-weight: bold;",
|
|
2181
|
-
info: "color: blue;",
|
|
2182
|
-
debug: "color: cyan;",
|
|
2183
|
-
trace: "color: magenta;",
|
|
2184
|
-
verbose: "color: gray;",
|
|
2185
|
-
module: "color: teal; font-weight: bold;",
|
|
2186
|
-
message: "color: inherit;"
|
|
2187
|
-
};
|
|
2188
|
-
let formatStr = "%c%s %c%s %c[%s]%c %s";
|
|
2189
|
-
const args = [
|
|
2190
|
-
styles.time,
|
|
2191
|
-
time,
|
|
2192
|
-
styles[entry.level],
|
|
2193
|
-
level,
|
|
2194
|
-
styles.module,
|
|
2195
|
-
module,
|
|
2196
|
-
styles.message,
|
|
2197
|
-
message
|
|
2198
|
-
];
|
|
2199
|
-
if (entry.data && Object.keys(entry.data).length > 0) {
|
|
2200
|
-
formatStr += " %o";
|
|
2201
|
-
args.push(entry.data);
|
|
2202
|
-
}
|
|
2203
|
-
return [formatStr, ...args];
|
|
2204
|
-
}
|
|
2205
|
-
|
|
2206
|
-
// src/logging/Logger.ts
|
|
2207
|
-
var isBrowser2 = typeof window !== "undefined";
|
|
2208
|
-
var globalConfig = { ...DEFAULT_LOGGING_CONFIG };
|
|
2209
|
-
function configureLogging(config) {
|
|
2210
|
-
globalConfig = { ...globalConfig, ...config };
|
|
2211
|
-
}
|
|
2212
|
-
function getLoggingConfig() {
|
|
2213
|
-
return { ...globalConfig };
|
|
2214
|
-
}
|
|
2215
|
-
function resetLoggingConfig() {
|
|
2216
|
-
globalConfig = { ...DEFAULT_LOGGING_CONFIG };
|
|
2217
|
-
}
|
|
2218
|
-
function setLogLevel(level) {
|
|
2219
|
-
globalConfig.level = level;
|
|
2220
|
-
}
|
|
2221
|
-
function setLoggingEnabled(enabled) {
|
|
2222
|
-
globalConfig.enabled = enabled;
|
|
2223
|
-
}
|
|
2224
|
-
var consoleSink = (entry) => {
|
|
2225
|
-
const consoleMethod = entry.level === "error" ? "error" : entry.level === "warn" ? "warn" : "log";
|
|
2226
|
-
if (globalConfig.format === "pretty" && isBrowser2) {
|
|
2227
|
-
const args = createBrowserConsoleArgs(entry);
|
|
2228
|
-
console[consoleMethod](...args);
|
|
2229
|
-
} else {
|
|
2230
|
-
const formatter = getFormatter(globalConfig.format);
|
|
2231
|
-
const formatted = formatter(entry);
|
|
2232
|
-
console[consoleMethod](formatted);
|
|
2233
|
-
}
|
|
2234
|
-
};
|
|
2235
|
-
function getActiveSink() {
|
|
2236
|
-
return globalConfig.sink || consoleSink;
|
|
2237
|
-
}
|
|
2238
|
-
function shouldLog(level) {
|
|
2239
|
-
if (!globalConfig.enabled) return false;
|
|
2240
|
-
return LOG_LEVEL_PRIORITY[level] <= LOG_LEVEL_PRIORITY[globalConfig.level];
|
|
2241
|
-
}
|
|
2242
|
-
var Logger = class _Logger {
|
|
2243
|
-
constructor(module) {
|
|
2244
|
-
this.module = module;
|
|
2245
|
-
}
|
|
2246
|
-
log(level, message, data) {
|
|
2247
|
-
if (!shouldLog(level)) return;
|
|
2248
|
-
const entry = {
|
|
2249
|
-
timestamp: Date.now(),
|
|
2250
|
-
level,
|
|
2251
|
-
module: this.module,
|
|
2252
|
-
message,
|
|
2253
|
-
data
|
|
2254
|
-
};
|
|
2255
|
-
if (data?.error instanceof Error) {
|
|
2256
|
-
entry.error = data.error;
|
|
2257
|
-
const { error, ...rest } = data;
|
|
2258
|
-
entry.data = Object.keys(rest).length > 0 ? rest : void 0;
|
|
2259
|
-
}
|
|
2260
|
-
getActiveSink()(entry);
|
|
2261
|
-
}
|
|
2262
|
-
error(message, data) {
|
|
2263
|
-
this.log("error", message, data);
|
|
2264
|
-
}
|
|
2265
|
-
warn(message, data) {
|
|
2266
|
-
this.log("warn", message, data);
|
|
2267
|
-
}
|
|
2268
|
-
info(message, data) {
|
|
2269
|
-
this.log("info", message, data);
|
|
2270
|
-
}
|
|
2271
|
-
debug(message, data) {
|
|
2272
|
-
this.log("debug", message, data);
|
|
2273
|
-
}
|
|
2274
|
-
trace(message, data) {
|
|
2275
|
-
this.log("trace", message, data);
|
|
2276
|
-
}
|
|
2277
|
-
verbose(message, data) {
|
|
2278
|
-
this.log("verbose", message, data);
|
|
2279
|
-
}
|
|
2280
|
-
child(subModule) {
|
|
2281
|
-
return new _Logger(`${this.module}.${subModule}`);
|
|
2282
|
-
}
|
|
2283
|
-
};
|
|
2284
|
-
var loggerCache = /* @__PURE__ */ new Map();
|
|
2285
|
-
function createLogger(module) {
|
|
2286
|
-
let logger12 = loggerCache.get(module);
|
|
2287
|
-
if (!logger12) {
|
|
2288
|
-
logger12 = new Logger(module);
|
|
2289
|
-
loggerCache.set(module, logger12);
|
|
2290
|
-
}
|
|
2291
|
-
return logger12;
|
|
2292
|
-
}
|
|
2293
|
-
var noopLogger = {
|
|
2294
|
-
module: "noop",
|
|
2295
|
-
error: () => {
|
|
2296
|
-
},
|
|
2297
|
-
warn: () => {
|
|
2298
|
-
},
|
|
2299
|
-
info: () => {
|
|
2300
|
-
},
|
|
2301
|
-
debug: () => {
|
|
2302
|
-
},
|
|
2303
|
-
trace: () => {
|
|
2304
|
-
},
|
|
2305
|
-
verbose: () => {
|
|
2306
|
-
},
|
|
2307
|
-
child: () => noopLogger
|
|
2308
|
-
};
|
|
2309
|
-
|
|
2310
2027
|
// src/utils/runtime.ts
|
|
2311
2028
|
function isIOSSafari() {
|
|
2312
2029
|
if (typeof navigator === "undefined") return false;
|
|
@@ -2420,13 +2137,13 @@ async function isWebGPUAvailable() {
|
|
|
2420
2137
|
return false;
|
|
2421
2138
|
}
|
|
2422
2139
|
}
|
|
2423
|
-
function configureWasm(
|
|
2424
|
-
|
|
2140
|
+
function configureWasm(ort) {
|
|
2141
|
+
ort.env.wasm.wasmPaths = WASM_CDN_PATH;
|
|
2425
2142
|
const numThreads = getOptimalWasmThreads();
|
|
2426
2143
|
const enableProxy = shouldEnableWasmProxy();
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2144
|
+
ort.env.wasm.numThreads = numThreads;
|
|
2145
|
+
ort.env.wasm.simd = true;
|
|
2146
|
+
ort.env.wasm.proxy = enableProxy;
|
|
2430
2147
|
logger.info("WASM configured", {
|
|
2431
2148
|
numThreads,
|
|
2432
2149
|
simd: true,
|
|
@@ -2474,8 +2191,8 @@ async function getOnnxRuntimeForPreference(preference = "auto") {
|
|
|
2474
2191
|
webgpuAvailable,
|
|
2475
2192
|
resolvedBackend: backend
|
|
2476
2193
|
});
|
|
2477
|
-
const
|
|
2478
|
-
return { ort
|
|
2194
|
+
const ort = await getOnnxRuntime(backend);
|
|
2195
|
+
return { ort, backend };
|
|
2479
2196
|
}
|
|
2480
2197
|
function getSessionOptions(backend) {
|
|
2481
2198
|
if (backend === "webgpu") {
|
|
@@ -2496,12 +2213,12 @@ function getSessionOptions(backend) {
|
|
|
2496
2213
|
};
|
|
2497
2214
|
}
|
|
2498
2215
|
async function createSessionWithFallback(modelBuffer, preferredBackend) {
|
|
2499
|
-
const
|
|
2216
|
+
const ort = await getOnnxRuntime(preferredBackend);
|
|
2500
2217
|
const modelData = new Uint8Array(modelBuffer);
|
|
2501
2218
|
if (preferredBackend === "webgpu") {
|
|
2502
2219
|
try {
|
|
2503
2220
|
const options2 = getSessionOptions("webgpu");
|
|
2504
|
-
const session2 = await
|
|
2221
|
+
const session2 = await ort.InferenceSession.create(modelData, options2);
|
|
2505
2222
|
logger.info("Session created with WebGPU backend");
|
|
2506
2223
|
return { session: session2, backend: "webgpu" };
|
|
2507
2224
|
} catch (err) {
|
|
@@ -2511,7 +2228,7 @@ async function createSessionWithFallback(modelBuffer, preferredBackend) {
|
|
|
2511
2228
|
}
|
|
2512
2229
|
}
|
|
2513
2230
|
const options = getSessionOptions("wasm");
|
|
2514
|
-
const session = await
|
|
2231
|
+
const session = await ort.InferenceSession.create(modelData, options);
|
|
2515
2232
|
logger.info("Session created with WASM backend");
|
|
2516
2233
|
return { session, backend: "wasm" };
|
|
2517
2234
|
}
|
|
@@ -2683,8 +2400,8 @@ var Wav2Vec2Inference = class {
|
|
|
2683
2400
|
});
|
|
2684
2401
|
try {
|
|
2685
2402
|
logger2.info("Loading ONNX Runtime...", { preference: this.config.backend || "auto" });
|
|
2686
|
-
const { ort
|
|
2687
|
-
this.ort =
|
|
2403
|
+
const { ort, backend } = await getOnnxRuntimeForPreference(this.config.backend || "auto");
|
|
2404
|
+
this.ort = ort;
|
|
2688
2405
|
this._backend = backend;
|
|
2689
2406
|
logger2.info("ONNX Runtime loaded", { backend: this._backend });
|
|
2690
2407
|
const cache = getModelCache();
|
|
@@ -3325,8 +3042,8 @@ var SileroVADInference = class {
|
|
|
3325
3042
|
});
|
|
3326
3043
|
try {
|
|
3327
3044
|
logger5.info("Loading ONNX Runtime...", { preference: this.config.backend });
|
|
3328
|
-
const { ort
|
|
3329
|
-
this.ort =
|
|
3045
|
+
const { ort, backend } = await getOnnxRuntimeForPreference(this.config.backend);
|
|
3046
|
+
this.ort = ort;
|
|
3330
3047
|
this._backend = backend;
|
|
3331
3048
|
logger5.info("ONNX Runtime loaded", { backend: this._backend });
|
|
3332
3049
|
const cache = getModelCache();
|
|
@@ -3346,7 +3063,7 @@ var SileroVADInference = class {
|
|
|
3346
3063
|
});
|
|
3347
3064
|
const sessionOptions = getSessionOptions(this._backend);
|
|
3348
3065
|
const modelData = new Uint8Array(modelBuffer);
|
|
3349
|
-
this.session = await
|
|
3066
|
+
this.session = await ort.InferenceSession.create(modelData, sessionOptions);
|
|
3350
3067
|
this.reset();
|
|
3351
3068
|
const loadTimeMs = performance.now() - startTime;
|
|
3352
3069
|
logger5.info("Model loaded successfully", {
|
|
@@ -4315,8 +4032,8 @@ var Emotion2VecInference = class {
|
|
|
4315
4032
|
});
|
|
4316
4033
|
try {
|
|
4317
4034
|
logger8.info("Loading ONNX Runtime...", { preference: this.config.backend });
|
|
4318
|
-
const { ort
|
|
4319
|
-
this.ort =
|
|
4035
|
+
const { ort, backend } = await getOnnxRuntimeForPreference(this.config.backend);
|
|
4036
|
+
this.ort = ort;
|
|
4320
4037
|
this._backend = backend;
|
|
4321
4038
|
logger8.info("ONNX Runtime loaded", { backend: this._backend });
|
|
4322
4039
|
logger8.info("Checking model cache...");
|
|
@@ -4341,7 +4058,7 @@ var Emotion2VecInference = class {
|
|
|
4341
4058
|
});
|
|
4342
4059
|
const sessionOptions = getSessionOptions(this._backend);
|
|
4343
4060
|
const modelData = new Uint8Array(modelBuffer);
|
|
4344
|
-
this.session = await
|
|
4061
|
+
this.session = await ort.InferenceSession.create(modelData, sessionOptions);
|
|
4345
4062
|
const loadTimeMs = performance.now() - startTime;
|
|
4346
4063
|
logger8.info("Model loaded successfully", {
|
|
4347
4064
|
backend: this._backend,
|
|
@@ -4531,14 +4248,8 @@ var Emotion2VecInference = class {
|
|
|
4531
4248
|
*/
|
|
4532
4249
|
Emotion2VecInference.isWebGPUAvailable = isWebGPUAvailable;
|
|
4533
4250
|
|
|
4534
|
-
// src/inference/ChatterboxTurboInference.ts
|
|
4535
|
-
import ort from "onnxruntime-web/webgpu";
|
|
4536
|
-
var logger9 = createLogger("ChatterboxTurbo");
|
|
4537
|
-
env.allowLocalModels = true;
|
|
4538
|
-
ort.env.wasm.wasmPaths = "https://cdn.jsdelivr.net/npm/onnxruntime-web@1.23.2/dist/";
|
|
4539
|
-
|
|
4540
4251
|
// src/inference/SafariSpeechRecognition.ts
|
|
4541
|
-
var
|
|
4252
|
+
var logger9 = createLogger("SafariSpeech");
|
|
4542
4253
|
var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
4543
4254
|
constructor(config = {}) {
|
|
4544
4255
|
this.recognition = null;
|
|
@@ -4557,7 +4268,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4557
4268
|
interimResults: config.interimResults ?? true,
|
|
4558
4269
|
maxAlternatives: config.maxAlternatives ?? 1
|
|
4559
4270
|
};
|
|
4560
|
-
|
|
4271
|
+
logger9.debug("SafariSpeechRecognition created", {
|
|
4561
4272
|
language: this.config.language,
|
|
4562
4273
|
continuous: this.config.continuous
|
|
4563
4274
|
});
|
|
@@ -4618,7 +4329,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4618
4329
|
*/
|
|
4619
4330
|
async start() {
|
|
4620
4331
|
if (this.isListening) {
|
|
4621
|
-
|
|
4332
|
+
logger9.warn("Already listening");
|
|
4622
4333
|
return;
|
|
4623
4334
|
}
|
|
4624
4335
|
if (!_SafariSpeechRecognition.isAvailable()) {
|
|
@@ -4648,7 +4359,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4648
4359
|
this.isListening = true;
|
|
4649
4360
|
this.startTime = performance.now();
|
|
4650
4361
|
this.accumulatedText = "";
|
|
4651
|
-
|
|
4362
|
+
logger9.info("Speech recognition started", {
|
|
4652
4363
|
language: this.config.language
|
|
4653
4364
|
});
|
|
4654
4365
|
span?.end();
|
|
@@ -4663,7 +4374,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4663
4374
|
*/
|
|
4664
4375
|
async stop() {
|
|
4665
4376
|
if (!this.isListening || !this.recognition) {
|
|
4666
|
-
|
|
4377
|
+
logger9.warn("Not currently listening");
|
|
4667
4378
|
return {
|
|
4668
4379
|
text: this.accumulatedText,
|
|
4669
4380
|
language: this.config.language,
|
|
@@ -4692,7 +4403,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4692
4403
|
if (this.recognition && this.isListening) {
|
|
4693
4404
|
this.recognition.abort();
|
|
4694
4405
|
this.isListening = false;
|
|
4695
|
-
|
|
4406
|
+
logger9.info("Speech recognition aborted");
|
|
4696
4407
|
}
|
|
4697
4408
|
}
|
|
4698
4409
|
/**
|
|
@@ -4723,7 +4434,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4723
4434
|
this.isListening = false;
|
|
4724
4435
|
this.resultCallbacks = [];
|
|
4725
4436
|
this.errorCallbacks = [];
|
|
4726
|
-
|
|
4437
|
+
logger9.debug("SafariSpeechRecognition disposed");
|
|
4727
4438
|
}
|
|
4728
4439
|
/**
|
|
4729
4440
|
* Set up event handlers for the recognition instance
|
|
@@ -4751,7 +4462,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4751
4462
|
confidence: alternative.confidence
|
|
4752
4463
|
};
|
|
4753
4464
|
this.emitResult(speechResult);
|
|
4754
|
-
|
|
4465
|
+
logger9.trace("Speech result", {
|
|
4755
4466
|
text: text.substring(0, 50),
|
|
4756
4467
|
isFinal,
|
|
4757
4468
|
confidence: alternative.confidence
|
|
@@ -4761,12 +4472,12 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4761
4472
|
span?.end();
|
|
4762
4473
|
} catch (error) {
|
|
4763
4474
|
span?.endWithError(error instanceof Error ? error : new Error(String(error)));
|
|
4764
|
-
|
|
4475
|
+
logger9.error("Error processing speech result", { error });
|
|
4765
4476
|
}
|
|
4766
4477
|
};
|
|
4767
4478
|
this.recognition.onerror = (event) => {
|
|
4768
4479
|
const error = new Error(`Speech recognition error: ${event.error} - ${event.message}`);
|
|
4769
|
-
|
|
4480
|
+
logger9.error("Speech recognition error", { error: event.error, message: event.message });
|
|
4770
4481
|
this.emitError(error);
|
|
4771
4482
|
if (this.stopRejecter) {
|
|
4772
4483
|
this.stopRejecter(error);
|
|
@@ -4776,7 +4487,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4776
4487
|
};
|
|
4777
4488
|
this.recognition.onend = () => {
|
|
4778
4489
|
this.isListening = false;
|
|
4779
|
-
|
|
4490
|
+
logger9.info("Speech recognition ended", {
|
|
4780
4491
|
totalText: this.accumulatedText.length,
|
|
4781
4492
|
durationMs: performance.now() - this.startTime
|
|
4782
4493
|
});
|
|
@@ -4793,13 +4504,13 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4793
4504
|
}
|
|
4794
4505
|
};
|
|
4795
4506
|
this.recognition.onstart = () => {
|
|
4796
|
-
|
|
4507
|
+
logger9.debug("Speech recognition started by browser");
|
|
4797
4508
|
};
|
|
4798
4509
|
this.recognition.onspeechstart = () => {
|
|
4799
|
-
|
|
4510
|
+
logger9.debug("Speech detected");
|
|
4800
4511
|
};
|
|
4801
4512
|
this.recognition.onspeechend = () => {
|
|
4802
|
-
|
|
4513
|
+
logger9.debug("Speech ended");
|
|
4803
4514
|
};
|
|
4804
4515
|
}
|
|
4805
4516
|
/**
|
|
@@ -4810,7 +4521,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4810
4521
|
try {
|
|
4811
4522
|
callback(result);
|
|
4812
4523
|
} catch (error) {
|
|
4813
|
-
|
|
4524
|
+
logger9.error("Error in result callback", { error });
|
|
4814
4525
|
}
|
|
4815
4526
|
}
|
|
4816
4527
|
}
|
|
@@ -4822,7 +4533,7 @@ var SafariSpeechRecognition = class _SafariSpeechRecognition {
|
|
|
4822
4533
|
try {
|
|
4823
4534
|
callback(error);
|
|
4824
4535
|
} catch (callbackError) {
|
|
4825
|
-
|
|
4536
|
+
logger9.error("Error in error callback", { error: callbackError });
|
|
4826
4537
|
}
|
|
4827
4538
|
}
|
|
4828
4539
|
}
|
|
@@ -6245,12 +5956,12 @@ async function isHuggingFaceCDNReachable(testUrl = HF_CDN_TEST_URL) {
|
|
|
6245
5956
|
}
|
|
6246
5957
|
|
|
6247
5958
|
// src/utils/transformersCacheClear.ts
|
|
6248
|
-
var
|
|
5959
|
+
var logger10 = createLogger("TransformersCache");
|
|
6249
5960
|
async function clearTransformersCache(options) {
|
|
6250
5961
|
const verbose = options?.verbose ?? true;
|
|
6251
5962
|
const additionalPatterns = options?.additionalPatterns ?? [];
|
|
6252
5963
|
if (!("caches" in window)) {
|
|
6253
|
-
|
|
5964
|
+
logger10.warn("Cache API not available in this environment");
|
|
6254
5965
|
return [];
|
|
6255
5966
|
}
|
|
6256
5967
|
try {
|
|
@@ -6268,18 +5979,18 @@ async function clearTransformersCache(options) {
|
|
|
6268
5979
|
);
|
|
6269
5980
|
if (shouldDelete) {
|
|
6270
5981
|
if (verbose) {
|
|
6271
|
-
|
|
5982
|
+
logger10.info("Deleting cache", { cacheName });
|
|
6272
5983
|
}
|
|
6273
5984
|
const deleted = await caches.delete(cacheName);
|
|
6274
5985
|
if (deleted) {
|
|
6275
5986
|
deletedCaches.push(cacheName);
|
|
6276
5987
|
} else if (verbose) {
|
|
6277
|
-
|
|
5988
|
+
logger10.warn("Failed to delete cache", { cacheName });
|
|
6278
5989
|
}
|
|
6279
5990
|
}
|
|
6280
5991
|
}
|
|
6281
5992
|
if (verbose) {
|
|
6282
|
-
|
|
5993
|
+
logger10.info("Cache clearing complete", {
|
|
6283
5994
|
totalCaches: cacheNames.length,
|
|
6284
5995
|
deletedCount: deletedCaches.length,
|
|
6285
5996
|
deletedCaches
|
|
@@ -6287,35 +5998,35 @@ async function clearTransformersCache(options) {
|
|
|
6287
5998
|
}
|
|
6288
5999
|
return deletedCaches;
|
|
6289
6000
|
} catch (error) {
|
|
6290
|
-
|
|
6001
|
+
logger10.error("Error clearing caches", { error });
|
|
6291
6002
|
throw error;
|
|
6292
6003
|
}
|
|
6293
6004
|
}
|
|
6294
6005
|
async function clearSpecificCache(cacheName) {
|
|
6295
6006
|
if (!("caches" in window)) {
|
|
6296
|
-
|
|
6007
|
+
logger10.warn("Cache API not available in this environment");
|
|
6297
6008
|
return false;
|
|
6298
6009
|
}
|
|
6299
6010
|
try {
|
|
6300
6011
|
const deleted = await caches.delete(cacheName);
|
|
6301
|
-
|
|
6012
|
+
logger10.info("Cache deletion attempt", { cacheName, deleted });
|
|
6302
6013
|
return deleted;
|
|
6303
6014
|
} catch (error) {
|
|
6304
|
-
|
|
6015
|
+
logger10.error("Error deleting cache", { cacheName, error });
|
|
6305
6016
|
return false;
|
|
6306
6017
|
}
|
|
6307
6018
|
}
|
|
6308
6019
|
async function listCaches() {
|
|
6309
6020
|
if (!("caches" in window)) {
|
|
6310
|
-
|
|
6021
|
+
logger10.warn("Cache API not available in this environment");
|
|
6311
6022
|
return [];
|
|
6312
6023
|
}
|
|
6313
6024
|
try {
|
|
6314
6025
|
const cacheNames = await caches.keys();
|
|
6315
|
-
|
|
6026
|
+
logger10.debug("Available caches", { cacheNames });
|
|
6316
6027
|
return cacheNames;
|
|
6317
6028
|
} catch (error) {
|
|
6318
|
-
|
|
6029
|
+
logger10.error("Error listing caches", { error });
|
|
6319
6030
|
return [];
|
|
6320
6031
|
}
|
|
6321
6032
|
}
|
|
@@ -6357,7 +6068,7 @@ async function validateCachedResponse(cacheName, requestUrl) {
|
|
|
6357
6068
|
reason: valid ? "Valid response" : `Invalid: status=${response.status}, contentType=${contentType}, isHtml=${isHtml || looksLikeHtml}`
|
|
6358
6069
|
};
|
|
6359
6070
|
} catch (error) {
|
|
6360
|
-
|
|
6071
|
+
logger10.error("Error validating cached response", { cacheName, requestUrl, error });
|
|
6361
6072
|
return {
|
|
6362
6073
|
exists: false,
|
|
6363
6074
|
valid: false,
|
|
@@ -6394,7 +6105,7 @@ async function scanForInvalidCaches() {
|
|
|
6394
6105
|
}
|
|
6395
6106
|
}
|
|
6396
6107
|
}
|
|
6397
|
-
|
|
6108
|
+
logger10.info("Cache scan complete", {
|
|
6398
6109
|
totalCaches: cacheNames.length,
|
|
6399
6110
|
scannedEntries,
|
|
6400
6111
|
invalidCount: invalidEntries.length
|
|
@@ -6405,13 +6116,13 @@ async function scanForInvalidCaches() {
|
|
|
6405
6116
|
invalidEntries
|
|
6406
6117
|
};
|
|
6407
6118
|
} catch (error) {
|
|
6408
|
-
|
|
6119
|
+
logger10.error("Error scanning caches", { error });
|
|
6409
6120
|
throw error;
|
|
6410
6121
|
}
|
|
6411
6122
|
}
|
|
6412
6123
|
async function nukeBrowserCaches(preventRecreation = false) {
|
|
6413
6124
|
if (!("caches" in window)) {
|
|
6414
|
-
|
|
6125
|
+
logger10.warn("Cache API not available in this environment");
|
|
6415
6126
|
return 0;
|
|
6416
6127
|
}
|
|
6417
6128
|
try {
|
|
@@ -6423,17 +6134,17 @@ async function nukeBrowserCaches(preventRecreation = false) {
|
|
|
6423
6134
|
deletedCount++;
|
|
6424
6135
|
}
|
|
6425
6136
|
}
|
|
6426
|
-
|
|
6137
|
+
logger10.info("All browser caches cleared", {
|
|
6427
6138
|
totalDeleted: deletedCount
|
|
6428
6139
|
});
|
|
6429
6140
|
if (preventRecreation) {
|
|
6430
|
-
const { env: env2 } = await import("./transformers.web-
|
|
6141
|
+
const { env: env2 } = await import("./transformers.web-ALDLCPHT.mjs");
|
|
6431
6142
|
env2.useBrowserCache = false;
|
|
6432
|
-
|
|
6143
|
+
logger10.warn("Browser cache creation disabled (env.useBrowserCache = false)");
|
|
6433
6144
|
}
|
|
6434
6145
|
return deletedCount;
|
|
6435
6146
|
} catch (error) {
|
|
6436
|
-
|
|
6147
|
+
logger10.error("Error nuking caches", { error });
|
|
6437
6148
|
throw error;
|
|
6438
6149
|
}
|
|
6439
6150
|
}
|