diff MODULE.bazel @ 275:78699f810817

Add Qwen3-VL and WebRTC dictation services Add Bazel targets for the CUDA-backed Qwen3-VL server and a local WebRTC faster-whisper dictation service. Co-authored-by: Copilot <[email protected]> Copilot-Session: e3d8cb06-6c95-4ae0-9757-651d3796ab00
author MrJuneJune <me@mrjunejune.com>
date Mon, 17 Aug 2026 10:58:47 -0700
parents 1f9877b637e9
children 1d99147f520c
line wrap: on
line diff
--- a/MODULE.bazel	Sat Aug 08 02:13:21 2026 -0700
+++ b/MODULE.bazel	Mon Aug 17 10:58:47 2026 -0700
@@ -2,10 +2,13 @@
 bazel_dep(name = "platforms", version = "1.0.0")
 bazel_dep(name = "bazel_skylib", version = "1.8.2")
 bazel_dep(name = "rules_shell", version = "0.6.1")
+
 bazel_dep(name = "aspect_rules_js", version = "2.9.2", dev_dependency = True)
 bazel_dep(name = "rules_nodejs", version = "6.7.3", dev_dependency = True)
+
 bazel_dep(name = "openssl", version = "3.3.1.bcr.7")
 bazel_dep(name = "rules_foreign_cc", version = "0.14.0")
+
 bazel_dep(name = "buildifier_prebuilt", version = "7.1.2", dev_dependency = True)
 
 bazel_dep(name = "emsdk", version = "4.0.23")
@@ -15,44 +18,68 @@
 )
 
 http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
+
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 
 http_archive(
-  name = "tectonic_linux_x86_64",
-  urls = ["https://github.com/tectonic-typesetting/tectonic/releases/download/tectonic%400.17.0/tectonic-0.17.0-x86_64-unknown-linux-musl.tar.gz"],
-  sha256 = "8533d07f9ccbd7a65824b9e0459041bca34af1eb33daba48f59215593753a3b7",
-  build_file_content = """
+    name = "tectonic_linux_x86_64",
+    build_file_content = """
 exports_files(
     ["tectonic"],
     visibility = ["//visibility:public"],
 )
 """,
+    sha256 = "8533d07f9ccbd7a65824b9e0459041bca34af1eb33daba48f59215593753a3b7",
+    urls = ["https://github.com/tectonic-typesetting/tectonic/releases/download/tectonic%400.17.0/tectonic-0.17.0-x86_64-unknown-linux-musl.tar.gz"],
 )
 
 http_archive(
-  name = "copilot_cli_linux_x86_64",
-  urls = ["https://github.com/github/copilot-cli/releases/download/v1.0.73/copilot-linux-x64.tar.gz"],
-  sha256 = "8f9bb5f7e364c267265d1e24ac2aea69ed559ddb956719c6db12a353de6c5970",
-  build_file_content = """
+    name = "copilot_cli_linux_x86_64",
+    build_file_content = """
 exports_files(
     ["copilot"],
     visibility = ["//visibility:public"],
 )
 """,
+    sha256 = "8f9bb5f7e364c267265d1e24ac2aea69ed559ddb956719c6db12a353de6c5970",
+    urls = ["https://github.com/github/copilot-cli/releases/download/v1.0.73/copilot-linux-x64.tar.gz"],
+)
+
+http_archive(
+    name = "llama_cpp_win_cuda_12_4_x64",
+    build_file_content = """
+filegroup(
+    name = "runtime",
+    srcs = glob(["**"]),
+    visibility = ["//visibility:public"],
+)
+""",
+    sha256 = "84b863f70a8b4c2873e93385d0b208f24776ecd1b946a2cb6d5cda863d143c3d",
+    urls = ["https://github.com/ggml-org/llama.cpp/releases/download/b10453/llama-b10453-bin-win-cuda-12.4-x64.zip"],
+)
+
+http_archive(
+    name = "llama_cpp_win_cuda_12_4_cudart_x64",
+    build_file_content = """
+filegroup(
+    name = "runtime",
+    srcs = glob(["**"]),
+    visibility = ["//visibility:public"],
+)
+""",
+    sha256 = "8c79a9b226de4b3cacfd1f83d24f962d0773be79f1e7b75c6af4ded7e32ae1d6",
+    urls = ["https://github.com/ggml-org/llama.cpp/releases/download/b10453/cudart-llama-bin-win-cuda-12.4-x64.zip"],
 )
 
 http_file(
-  name = "mercurial_cp311_wheel",
-  url = "https://files.pythonhosted.org/packages/ea/21/053406cf91b23bef2ac27a7023632efaf0d3c126134b322e2bb753626102/mercurial-7.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
-  sha256 = "33576d9747b7db7d40950cb122c5a87686d92ea1dfe0f1ef0498df077c852ba7",
+    name = "mercurial_cp311_wheel",
+    sha256 = "33576d9747b7db7d40950cb122c5a87686d92ea1dfe0f1ef0498df077c852ba7",
+    url = "https://files.pythonhosted.org/packages/ea/21/053406cf91b23bef2ac27a7023632efaf0d3c126134b322e2bb753626102/mercurial-7.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
 )
 
 http_archive(
-  name = "playwright_chromium_linux",
-  urls = ["https://playwright.azureedge.net/builds/chromium/1140/chromium-linux.zip"],
-  sha256 = "e78cda52fa7e847abcd36a48ffabda43e71e2220a3e9a398f7c9a179529570a5",
-  strip_prefix = "chrome-linux",
-  build_file_content = """
+    name = "playwright_chromium_linux",
+    build_file_content = """
 exports_files(["chrome"])
 
 filegroup(
@@ -61,28 +88,31 @@
     visibility = ["//visibility:public"],
 )
 """,
+    sha256 = "e78cda52fa7e847abcd36a48ffabda43e71e2220a3e9a398f7c9a179529570a5",
+    strip_prefix = "chrome-linux",
+    urls = ["https://playwright.azureedge.net/builds/chromium/1140/chromium-linux.zip"],
 )
 
 http_archive(
-  name = "libwebp_linux_x86_64",
-  urls = ["https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0-linux-x86-64.tar.gz"],
-  sha256 = "1c5ffab71efecefa0e3c23516c3a3a1dccb45cc310ae1095c6f14ae268e38067",
-  strip_prefix = "libwebp-1.6.0-linux-x86-64",
-  build_file_content = """
+    name = "libwebp_linux_x86_64",
+    build_file_content = """
 exports_files(["bin/cwebp"])
 """,
+    sha256 = "1c5ffab71efecefa0e3c23516c3a3a1dccb45cc310ae1095c6f14ae268e38067",
+    strip_prefix = "libwebp-1.6.0-linux-x86-64",
+    urls = ["https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0-linux-x86-64.tar.gz"],
 )
 
 http_archive(
-  name = "hlsjs",
-  urls = ["https://github.com/video-dev/hls.js/releases/download/v1.6.16/release.zip"],
-  sha256 = "09c827969e702e82be694da80dbf16dbdf5ff6819c33a374b1757e1bc0adb458",
-  build_file_content = """
+    name = "hlsjs",
+    build_file_content = """
 exports_files(
     ["dist/hls.min.js"],
     visibility = ["//visibility:public"],
 )
 """,
+    sha256 = "09c827969e702e82be694da80dbf16dbdf5ff6819c33a374b1757e1bc0adb458",
+    urls = ["https://github.com/video-dev/hls.js/releases/download/v1.6.16/release.zip"],
 )
 
 node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
@@ -91,28 +121,30 @@
 
 npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
 npm.npm_translate_lock(
-  name = "hg_web_npm",
-  data = ["//hg-web/e2e:package.json"],
-  npm_package_lock = "//hg-web/e2e:package-lock.json",
-  pnpm_lock = "//hg-web/e2e:pnpm-lock.yaml",
+    name = "hg_web_npm",
+    data = ["//hg-web/e2e:package.json"],
+    npm_package_lock = "//hg-web/e2e:package-lock.json",
+    pnpm_lock = "//hg-web/e2e:pnpm-lock.yaml",
 )
 use_repo(npm, "hg_web_npm")
 
 # Bun
 http_file(
-  name = "bun_darwin_arm64_zip",
-  url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-darwin-aarch64.zip",
-  sha256 = "22f5fa3fff72b0d3b8e7e0f8051ecadf2e41920d474ac62db5279144809c9005",
+    name = "bun_darwin_arm64_zip",
+    sha256 = "22f5fa3fff72b0d3b8e7e0f8051ecadf2e41920d474ac62db5279144809c9005",
+    url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-darwin-aarch64.zip",
 )
+
 http_file(
-  name = "bun_linux_aarch64_zip",
-  url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-aarch64.zip",
-  sha256 = "6a7a98c546d084a845deda62eb2a5b94a6a14a63ea81cf9186d46bf55bf910a9",
+    name = "bun_linux_aarch64_zip",
+    sha256 = "6a7a98c546d084a845deda62eb2a5b94a6a14a63ea81cf9186d46bf55bf910a9",
+    url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-aarch64.zip",
 )
+
 http_file(
-  name = "bun_linux_x86_zip",
-  url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-x64.zip",
-  sha256 = "cf0ed0a920799d576ffde4e0cae66d732bf23c2530407f26f59c7831dffe1f0e",
+    name = "bun_linux_x86_zip",
+    sha256 = "cf0ed0a920799d576ffde4e0cae66d732bf23c2530407f26f59c7831dffe1f0e",
+    url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-x64.zip",
 )
 
 # Bring in Python support
@@ -125,8 +157,14 @@
 
 pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
 pip.parse(
-  hub_name = "inference_pip",
-  python_version = "3.11",
-  requirements_lock = "//mrjunejune/inference:requirements_lock.txt",
+    hub_name = "inference_pip",
+    python_version = "3.11",
+    requirements_lock = "//mrjunejune/inference:requirements_lock.txt",
 )
 use_repo(pip, "inference_pip")
+pip.parse(
+    hub_name = "dictation_pip",
+    python_version = "3.11",
+    requirements_lock = "//dictation:requirements_lock.txt",
+)
+use_repo(pip, "dictation_pip")