From 6083773f8888ba1689eedc41ce9bb7513041a491 Mon Sep 17 00:00:00 2001 From: MikeHughes-BIN Date: Sat, 15 Nov 2025 14:45:13 +0100 Subject: [PATCH] New Folder structure --- package-lock.json | 22 ++ package.json | 2 + scripts/.gitkeep | 0 scripts/commands.txt | 5 - scripts/extract.ts | 23 -- scripts/transcribe.ts | 18 - .../whisperLocal.ts | 3 +- .../assembly.js | 0 .../assembly.ts | 0 .../modules/transcription/local/whisper.cpp | 1 - .../remote/assembly_AI/package-lock.json | 319 ------------------ .../remote/assembly_AI/package.json | 9 - .../integration}/assembly.test.js | 2 +- 13 files changed, 26 insertions(+), 378 deletions(-) create mode 100644 scripts/.gitkeep delete mode 100644 scripts/commands.txt delete mode 100644 scripts/extract.ts delete mode 100644 scripts/transcribe.ts rename services/modules/{transcription/local => transcription-local}/whisperLocal.ts (90%) rename services/modules/{transcription/remote/assembly_AI => transcription-remote}/assembly.js (100%) rename services/modules/{transcription/remote/assembly_AI => transcription-remote}/assembly.ts (100%) delete mode 160000 services/modules/transcription/local/whisper.cpp delete mode 100644 services/modules/transcription/remote/assembly_AI/package-lock.json delete mode 100644 services/modules/transcription/remote/assembly_AI/package.json rename {services/modules/transcription/remote/assembly_AI => test/integration}/assembly.test.js (81%) diff --git a/package-lock.json b/package-lock.json index 3fe9ca4..52b523c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,9 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "@types/axios": "^0.9.36", "cli-progress": "^3.12.0", + "dotenv": "^17.2.3", "electron": "^39.1.1", "express": "^5.1.0", "ffmpeg-static": "^5.2.0", @@ -149,6 +151,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/axios": { + "version": "0.9.36", + "resolved": "https://registry.npmjs.org/@types/axios/-/axios-0.9.36.tgz", + "integrity": "sha512-NLOpedx9o+rxo/X5ChbdiX6mS1atE4WHmEEIcR9NLenRVa5HoVjAvjafwU3FPTqnZEstpoqCaW7fagqSoTDNeg==", + "license": "MIT" + }, "node_modules/@types/cacheable-request": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", @@ -198,6 +206,7 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz", "integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==", "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~7.16.0" } @@ -584,6 +593,18 @@ "node": ">=0.3.1" } }, + "node_modules/dotenv": { + "version": "17.2.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", + "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -1824,6 +1845,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 14cba78..f85f30e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,8 @@ { "dependencies": { + "@types/axios": "^0.9.36", "cli-progress": "^3.12.0", + "dotenv": "^17.2.3", "electron": "^39.1.1", "express": "^5.1.0", "ffmpeg-static": "^5.2.0", diff --git a/scripts/.gitkeep b/scripts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/scripts/commands.txt b/scripts/commands.txt deleted file mode 100644 index fc620fe..0000000 --- a/scripts/commands.txt +++ /dev/null @@ -1,5 +0,0 @@ -npx ts-node ./extract.ts /Users/mikehughes/Downloads/Testvideo/Kurzgesagt.mov -npx ts-node ./transcribe.ts ../storage/audio/Kurzgesagt.wav - -npx ts-node ./extract.ts /Users/mikehughes/Downloads/Testvideo/GitLabMeeting.mov -npx ts-node ./transcribe.ts ../storage/audio/GitLabMeeting.wav diff --git a/scripts/extract.ts b/scripts/extract.ts deleted file mode 100644 index 2d1c7a0..0000000 --- a/scripts/extract.ts +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env ts-node - -import { extractAudioFromVideo } from "../services/modules/extraction/ffmpegExtractor.ts"; - -const videoPath = process.argv[2]; - -if (!videoPath) { - console.error("Usage: ts-node extractAudio.ts "); - process.exit(1); -} - -(async () => { - try { - console.log(`Extracting audio from: ${videoPath}`); - - await extractAudioFromVideo(videoPath); // Call the extraction function (ffmpegExtractor.ts in services/modules/extraction) - - console.log("Audio extraction completed successfully."); - } catch (err) { - console.error("Audio extraction failed:", err); - process.exit(1); - } -})(); \ No newline at end of file diff --git a/scripts/transcribe.ts b/scripts/transcribe.ts deleted file mode 100644 index 55d91a5..0000000 --- a/scripts/transcribe.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { whisperLocal } from "../services/modules/transcription/local/whisperLocal.ts"; - -const audioPath = process.argv[2]; -if (!audioPath) { - console.error("Please provide an audio file path as argument."); - process.exit(1); -} - -const whisper = new whisperLocal(); - -(async () => { - try { - const text = await whisper.transcribe(audioPath); - console.log(text); - } catch (err) { - console.error("Transcription failed:", err); - } -})(); \ No newline at end of file diff --git a/services/modules/transcription/local/whisperLocal.ts b/services/modules/transcription-local/whisperLocal.ts similarity index 90% rename from services/modules/transcription/local/whisperLocal.ts rename to services/modules/transcription-local/whisperLocal.ts index e1923a0..1d331ac 100644 --- a/services/modules/transcription/local/whisperLocal.ts +++ b/services/modules/transcription-local/whisperLocal.ts @@ -5,7 +5,7 @@ import { fileURLToPath } from "url"; // To handle __dirname in ES modules const __filename = fileURLToPath(import.meta.url); // Get current file path const __dirname = path.dirname(__filename); // Get current directory path -const transcriptsDir = path.resolve(__dirname, "../../storage/transcriptions"); +const transcriptsDir = path.resolve(__dirname, "../../../storage/transcriptions"); export class whisperLocal { // is called by transcribe.ts @@ -26,7 +26,6 @@ export class whisperLocal { // is called by transcribe.ts async transcribe(audioPath: string): Promise { //asyncronous function to transcribe audio return new Promise((resolve, reject) => { - const transcriptsDir = path.resolve(__dirname, "../../../../storage/transcripts"); //storage directory for transcripts if (!fs.existsSync(transcriptsDir)) { //if transcripts directory does not exist, create it fs.mkdirSync(transcriptsDir, { recursive: true }); diff --git a/services/modules/transcription/remote/assembly_AI/assembly.js b/services/modules/transcription-remote/assembly.js similarity index 100% rename from services/modules/transcription/remote/assembly_AI/assembly.js rename to services/modules/transcription-remote/assembly.js diff --git a/services/modules/transcription/remote/assembly_AI/assembly.ts b/services/modules/transcription-remote/assembly.ts similarity index 100% rename from services/modules/transcription/remote/assembly_AI/assembly.ts rename to services/modules/transcription-remote/assembly.ts diff --git a/services/modules/transcription/local/whisper.cpp b/services/modules/transcription/local/whisper.cpp deleted file mode 160000 index 999a7e0..0000000 --- a/services/modules/transcription/local/whisper.cpp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 999a7e0cbf8484dc2cea1e9f855d6b39f34f7ae9 diff --git a/services/modules/transcription/remote/assembly_AI/package-lock.json b/services/modules/transcription/remote/assembly_AI/package-lock.json deleted file mode 100644 index 58c2913..0000000 --- a/services/modules/transcription/remote/assembly_AI/package-lock.json +++ /dev/null @@ -1,319 +0,0 @@ -{ - "name": "transcription", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "dependencies": { - "axios": "^1.13.2" - }, - "devDependencies": { - "@types/axios": "^0.9.36", - "@types/node": "^24.10.0" - } - }, - "node_modules/@types/axios": { - "version": "0.9.36", - "resolved": "https://registry.npmjs.org/@types/axios/-/axios-0.9.36.tgz", - "integrity": "sha512-NLOpedx9o+rxo/X5ChbdiX6mS1atE4WHmEEIcR9NLenRVa5HoVjAvjafwU3FPTqnZEstpoqCaW7fagqSoTDNeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "24.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.0.tgz", - "integrity": "sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.16.0" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", - "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.4", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", - "dev": true, - "license": "MIT" - } - } -} diff --git a/services/modules/transcription/remote/assembly_AI/package.json b/services/modules/transcription/remote/assembly_AI/package.json deleted file mode 100644 index 6d24fe5..0000000 --- a/services/modules/transcription/remote/assembly_AI/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "dependencies": { - "axios": "^1.13.2" - }, - "devDependencies": { - "@types/axios": "^0.9.36", - "@types/node": "^24.10.0" - } -} diff --git a/services/modules/transcription/remote/assembly_AI/assembly.test.js b/test/integration/assembly.test.js similarity index 81% rename from services/modules/transcription/remote/assembly_AI/assembly.test.js rename to test/integration/assembly.test.js index 66ce753..46ac9ed 100644 --- a/services/modules/transcription/remote/assembly_AI/assembly.test.js +++ b/test/integration/assembly.test.js @@ -1,5 +1,5 @@ import 'dotenv/config'; -import assemblyModule from './assembly.ts'; +import assemblyModule from '../../services/modules/transcription-remote/assembly.ts'; // Test: URL passed as argument OR local file ./storage/audio/test.wav const audioPath = process.argv[2] || './storage/audio/test.wav';