From bf96625d409af8fa315a9f0f6bf6a59e87e27fcc Mon Sep 17 00:00:00 2001 From: Will Date: Mon, 30 Mar 2026 20:10:00 +0100 Subject: [PATCH] Fixed build --- package-lock.json | 8 ++++++++ package.json | 1 + src/app/api/transcribe/route.ts | 5 +++-- tsconfig.json | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index aa4b586..969fdd0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ }, "devDependencies": { "@tailwindcss/postcss": "^4", + "@types/dom-speech-recognition": "^0.0.8", "@types/node": "^20.19.37", "@types/react": "^19", "@types/react-dom": "^19", @@ -1622,6 +1623,13 @@ "tslib": "^2.4.0" } }, + "node_modules/@types/dom-speech-recognition": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/dom-speech-recognition/-/dom-speech-recognition-0.0.8.tgz", + "integrity": "sha512-JgpjlGQWGc+OjjTNfyJ8Ic2w2+NOdrmEpmdVAkg+sYblx8I5ZZTeA+cfxvgUMtXXT7/WzYYR2Rrp3ZDg+l/3vA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", diff --git a/package.json b/package.json index 246c5ea..901727f 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ }, "devDependencies": { "@tailwindcss/postcss": "^4", + "@types/dom-speech-recognition": "^0.0.8", "@types/node": "^20.19.37", "@types/react": "^19", "@types/react-dom": "^19", diff --git a/src/app/api/transcribe/route.ts b/src/app/api/transcribe/route.ts index 21b6088..51ad16d 100644 --- a/src/app/api/transcribe/route.ts +++ b/src/app/api/transcribe/route.ts @@ -1,7 +1,8 @@ import { NextRequest, NextResponse } from "next/server"; import { pipeline } from "@huggingface/transformers"; -let transcriber: Awaited> | null = null; +// Use a simple type instead of the complex inferred type +let transcriber: any | null = null; async function getTranscriber() { if (!transcriber) { @@ -18,7 +19,7 @@ export async function POST(req: NextRequest) { const { audio } = await req.json(); try { const t = await getTranscriber(); - const result = await (t as any)(Float32Array.from(audio), { + const result = await t(Float32Array.from(audio), { chunk_length_s: 30, }); return NextResponse.json({ text: result.text?.trim() ?? "" }); diff --git a/tsconfig.json b/tsconfig.json index cf9c65d..4e70c06 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ "skipLibCheck": true, "strict": true, "noEmit": true, + "types": ["dom-speech-recognition"], "esModuleInterop": true, "module": "esnext", "moduleResolution": "bundler",