feat(modality)!: SnapOtter 2.0 phase 3 modality framework: media/doc engines, pool routing, display modes (#218)

This commit is contained in:
SnapOtter
2026-06-13 10:18:39 +08:00
parent c451b939c7
commit d647d8ed19
99 changed files with 4380 additions and 1813 deletions
+4 -10
View File
@@ -20,7 +20,7 @@ import { captureException, initAnalytics, shutdownAnalytics } from "./lib/analyt
import { shouldRunStartupCleanup } from "./lib/cleanup.js";
import { buildCsp } from "./lib/csp.js";
import { ensureAiDirs, recoverInterruptedInstalls } from "./lib/feature-status.js";
import { shutdownWorkerPool } from "./lib/worker-pool.js";
import { requirePermission } from "./permissions.js";
import {
authMiddleware,
@@ -507,16 +507,10 @@ async function shutdown(signal: string) {
}
try {
await shutdownWorkerPool();
console.log("Worker pool shut down");
} catch (err) {
console.error("Error shutting down worker pool:", err);
}
try {
const { shutdownDispatcher } = await import("@snapotter/ai");
const { shutdownDispatcher, shutdownDocsDispatcher } = await import("@snapotter/ai");
shutdownDispatcher();
console.log("Python dispatcher shut down");
await shutdownDocsDispatcher();
console.log("Python dispatchers shut down");
} catch {
// AI package may not be available
}