From 477c4a89d498ff0939ba91a534fd76cbfb92f5a3 Mon Sep 17 00:00:00 2001 From: Steven Vandevelde Date: Thu, 10 Jul 2025 22:44:13 +0200 Subject: [PATCH] feat: perform input-configurator actions directly on its worker --- package-lock.json | 2 +- src/pages/configurator/input/_applet.astro | 122 ++------------- src/pages/core/types.d.ts | 8 + src/pages/input/native-fs/_applet.astro | 6 +- src/pages/input/opensubsonic/_applet.astro | 6 +- src/pages/input/s3/_applet.astro | 7 +- .../orchestrator/input-cache/_applet.astro | 14 +- .../orchestrator/queue-tracks/_applet.astro | 2 +- src/scripts/applet/common.ts | 10 +- src/scripts/common.ts | 26 ++-- src/scripts/configurator/input/common.ts | 6 + src/scripts/configurator/input/worker.ts | 141 +++++++++++++++++- src/scripts/input/native-fs/worker.ts | 13 +- src/scripts/input/opensubsonic/common.ts | 7 +- src/scripts/input/opensubsonic/worker.ts | 13 +- src/scripts/input/s3/worker.ts | 13 +- 16 files changed, 233 insertions(+), 163 deletions(-) create mode 100644 src/scripts/configurator/input/common.ts diff --git a/package-lock.json b/package-lock.json index cafa31c..802216b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2230,7 +2230,7 @@ "node_modules/@web-applets/sdk": { "version": "0.2.6", "resolved": "https://gitpkg.vercel.app/unternet-co/web-applets/sdk?tokono.ma/experiment&scripts.postinstall=npm%20i%20%40types%2Fnode%20%26%26%20npx%20tsc", - "integrity": "sha512-6fDpl977RqV7zMfKDPrGEaJs2nX2cpLERFv6mC4pdpw2PwdBb1rqADitBRlEIquLUakga0pCfqJFSHqfRRJMOw==", + "integrity": "sha512-cIJ5viAtAKbbeB0izJ9VTXVDr9xsxAiGWMlhDZd1F9iHdGMk7j0cO8Q03wKxidVx5d/1kijHP07CDA7fygccEA==", "hasInstallScript": true, "license": "MIT" }, diff --git a/src/pages/configurator/input/_applet.astro b/src/pages/configurator/input/_applet.astro index 4b871fd..d32a871 100644 --- a/src/pages/configurator/input/_applet.astro +++ b/src/pages/configurator/input/_applet.astro @@ -33,132 +33,40 @@ diff --git a/src/pages/core/types.d.ts b/src/pages/core/types.d.ts index 508e6da..afbd528 100644 --- a/src/pages/core/types.d.ts +++ b/src/pages/core/types.d.ts @@ -16,6 +16,14 @@ export type ConsultGrouping = export type GroupConsult = Record; +export interface InputWorkerTasks { + consult(fileUriOrScheme: string): Promise; + contextualize(tracks: Track[]): Promise; + groupConsult(tracks: Track[]): Promise; + list(cachedTracks: Track[] = []): Promise; + resolve({ method, uri }: { method: string; uri: string }): Promise; +} + /* OUTPUT */ export interface Output { diff --git a/src/pages/input/native-fs/_applet.astro b/src/pages/input/native-fs/_applet.astro index 8a0ae0c..a2e2f5c 100644 --- a/src/pages/input/native-fs/_applet.astro +++ b/src/pages/input/native-fs/_applet.astro @@ -16,7 +16,7 @@