Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
a371de0
tui: add push-to-talk voice input with Whisper
nornagon-openai Aug 15, 2025
6a4dd76
tui: show '[...transcribing...]' element and replace on completion
nornagon-openai Aug 15, 2025
b455e9b
tui: remove transcribing placeholder on error
nornagon-openai Aug 15, 2025
062e9f0
key is pgdn
nornagon-openai Aug 15, 2025
7abde77
tui: show in-text placeholder during recording; update to 'transcribi…
nornagon-openai Aug 15, 2025
6548024
tui: keep placeholder id and update in-place (recording -> transcribing)
nornagon-openai Aug 15, 2025
a3ee20b
tui: integrate WebRTC VAD for speech trimming
nornagon-openai Aug 15, 2025
e887b06
fix lint
nornagon-openai Aug 18, 2025
1dc9065
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Aug 22, 2025
6e892e9
fix auth
nornagon-openai Aug 22, 2025
785b5e1
fix rendering
nornagon-openai Aug 22, 2025
7fd4c0a
tui: forward KeyEvent Release to chat widget
nornagon-openai Aug 22, 2025
2accebe
space hold
nornagon-openai Aug 22, 2025
f7aed9f
tui(voice): improve voice UX
nornagon-openai Aug 22, 2025
6850a49
tui(voice): remove unused VAD helpers and imports; drop webrtc-vad dep
nornagon-openai Aug 22, 2025
853b64a
tui(voice): refactor space-hold timeout to local tokio task
nornagon-openai Aug 22, 2025
d79115b
tui(voice): remove id and make space-hold timeout independent of key …
nornagon-openai Aug 22, 2025
e68b934
tui(voice): simplify hold logic by handling timeout only in pre-draw …
nornagon-openai Aug 22, 2025
f0481fa
tui(voice): animate transcribing with braille spinner
nornagon-openai Aug 22, 2025
1ebed6d
tui(voice): use named element for space hold; convert/remove by id
nornagon-openai Aug 22, 2025
88f0145
tui(voice): extract end-of-recording logic into helper
nornagon-openai Aug 22, 2025
2c7a8eb
tui(voice): extract start-recording logic into helper
nornagon-openai Aug 22, 2025
67c7969
tui(voice): stop spinner automatically when placeholder disappears; c…
nornagon-openai Aug 22, 2025
5461929
tui(voice): simplify spinner lifecycle; rely on placeholder disappear…
nornagon-openai Aug 22, 2025
643d707
Revert "tui(voice): simplify spinner lifecycle; rely on placeholder d…
nornagon-openai Aug 22, 2025
2a19143
tui: encapsulate popup sync after textarea mutations
nornagon-openai Aug 22, 2025
6480cfa
tui: remove textarea helper wrappers; sync popups after events and ke…
nornagon-openai Aug 22, 2025
456d786
tui: ensure popup sync runs for all key paths; remove mid-function syncs
nornagon-openai Aug 22, 2025
0fdf5ff
tui: centralize popup syncing
nornagon-openai Aug 22, 2025
b01d34f
helpers
nornagon-openai Aug 23, 2025
88144a9
tui: avoid redundant popup sync on key events
nornagon-openai Aug 23, 2025
61ad57f
Merge origin/main into nornagon/voice-mode
nornagon-openai Sep 2, 2025
50e06d1
fix
nornagon-openai Sep 2, 2025
ed00930
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Sep 9, 2025
cd61a85
fix
nornagon-openai Sep 9, 2025
bb48056
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Sep 9, 2025
a80a954
clippy
nornagon-openai Sep 9, 2025
b89601d
update ci
nornagon-openai Sep 9, 2025
0de8d1e
Fix Ubuntu package installs
nornagon-openai Sep 9, 2025
3894273
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Sep 9, 2025
5504a37
fix
nornagon-openai Sep 9, 2025
7518edf
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Sep 17, 2025
4e466e9
fix
nornagon-openai Sep 19, 2025
2214968
guard
nornagon-openai Sep 19, 2025
bdd9c8c
guard2
nornagon-openai Sep 19, 2025
83473b3
fix
nornagon-openai Sep 19, 2025
c4cfd5b
more
nornagon-openai Sep 19, 2025
1eb57d8
cleanup
nornagon-openai Sep 19, 2025
59f782a
reduce size of working indicator; add trace
nornagon-openai Sep 19, 2025
dc029ef
prompt for transcribe
nornagon-openai Sep 19, 2025
18532ff
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Oct 17, 2025
41d18ce
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Oct 21, 2025
e995ffe
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Dec 12, 2025
450e2ef
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Jan 22, 2026
596db28
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Jan 22, 2026
155fa58
/transcribe
nornagon-openai Jan 22, 2026
28e7ae6
fix
nornagon-openai Jan 22, 2026
a3090d5
some build fixes
nornagon-openai Jan 23, 2026
101fff4
Merge branch 'main' into nornagon/voice-mode
nornagon-openai Jan 23, 2026
e2e88b6
more ci fix
nornagon-openai Jan 23, 2026
c435233
Fix Bazel musl/gnu platform mapping and CI deps
nornagon-openai Jan 23, 2026
8a72301
Revert "Fix Bazel musl/gnu platform mapping and CI deps"
nornagon-openai Jan 23, 2026
fc57718
Disable voice on Linux and remove ALSA CI deps
nornagon-openai Jan 23, 2026
6f33173
Simplify voice gate to non-Linux only
nornagon-openai Jan 23, 2026
fdff76f
Run macOS Bazel builds locally in CI
nornagon-openai Jan 23, 2026
818caec
Drop ALSA install from rust-release workflow
nornagon-openai Jan 23, 2026
a307743
undo style changes
nornagon-openai Jan 23, 2026
55034d1
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Jan 23, 2026
d3c2ccc
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 2, 2026
f04f884
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 4, 2026
7dbb8b2
Merge branch 'main' into nornagon/voice-mode
nornagon-openai Feb 4, 2026
aebbf16
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 10, 2026
a2ab79d
core: avoid askama file-path lookup for memory prompts
nornagon-openai Feb 10, 2026
1d91a86
core: drop unused askama dependency
nornagon-openai Feb 10, 2026
caafa9e
bazel: disable strip for rama-macros proc-macro
nornagon-openai Feb 10, 2026
762e2dd
Revert "core: drop unused askama dependency"
nornagon-openai Feb 11, 2026
c79e40f
Revert "core: avoid askama file-path lookup for memory prompts"
nornagon-openai Feb 11, 2026
e76bc52
Merge remote-tracking branch 'origin/main' into HEAD
nornagon-openai Feb 11, 2026
5bffe53
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 11, 2026
180b54f
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 11, 2026
13155f7
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 11, 2026
40d6b4b
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 11, 2026
2783cb7
ci: restore macOS bazel strategy config from main
nornagon-openai Feb 11, 2026
fc40fa0
ci(bazel): run mac build actions locally with remote config
nornagon-openai Feb 11, 2026
111a65e
ci(bazel): run mac locally and provision rust-objcopy
nornagon-openai Feb 11, 2026
6067e3c
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 11, 2026
aafc7cf
fix(core): import Constrained in review task
nornagon-openai Feb 11, 2026
b70d05e
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 11, 2026
78fec3a
revert(ci): drop non-voice bazel workflow tweaks
nornagon-openai Feb 11, 2026
44b4e38
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 11, 2026
8ad1c0c
ci(bazel): run mac actions local and provision rust-objcopy
nornagon-openai Feb 11, 2026
6ac3f35
ci: set LIBCLANG_PATH for macOS bazel builds
nornagon-openai Feb 11, 2026
7acde9d
fix bazel mac coreaudio linking and core template compilation
nornagon-openai Feb 11, 2026
08679e7
ci: retrigger pull_request workflows
nornagon-openai Feb 11, 2026
b66fa9a
Merge origin/main into nornagon/voice-mode
nornagon-openai Feb 11, 2026
53b47f9
fix ci: include core root assets and remove unused askama dep
nornagon-openai Feb 11, 2026
7c2e301
linux-sandbox: fallback to bwrap when landlock is unavailable
nornagon-openai Feb 13, 2026
8669492
Merge origin/main into nornagon/voice-mode
nornagon-openai Feb 13, 2026
57d80ad
sync prompts.rs with main
nornagon-openai Feb 13, 2026
cbeea27
sync core build/deps with main
nornagon-openai Feb 13, 2026
bc14960
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 13, 2026
500df83
sync cargo and bazel lockfiles
nornagon-openai Feb 13, 2026
53054d7
core: load memory templates via include_str under bazel
nornagon-openai Feb 13, 2026
b4c9f85
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 13, 2026
15256b6
sync memory prompt deps back to main
nornagon-openai Feb 13, 2026
c879ab7
ci: restore bazel workflow config from main
nornagon-openai Feb 13, 2026
6f5466e
ci: run mac bazel locally for coreaudio bindgen; revert defs noise
nornagon-openai Feb 13, 2026
e520f7f
tui: gate voice deps behind feature for bazel compatibility
nornagon-openai Feb 13, 2026
ee162c3
ci(bazel): run cargo build scripts locally on macos
nornagon-openai Feb 13, 2026
60261aa
ci: keep mac cargo build scripts off remote exec
nornagon-openai Feb 13, 2026
69cb5ed
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 13, 2026
48d60e2
ci(bazel): restore remote CargoBuildScriptRun on mac
nornagon-openai Feb 13, 2026
01eb473
bazel: fix coreaudio bindgen on remote mac
nornagon-openai Feb 13, 2026
37c87db
bazel: run CargoBuildScriptRun locally on mac
nornagon-openai Feb 13, 2026
01f00f6
bazel: avoid mac coreaudio deps in tui target
nornagon-openai Feb 13, 2026
c754b64
fix the vibes
zbarsky-openai Feb 14, 2026
478148d
Merge branch 'main' into nornagon/voice-mode
zbarsky-openai Feb 14, 2026
b93142f
more vibe fixes
zbarsky-openai Feb 15, 2026
84d59a1
Merge branch 'main' into nornagon/voice-mode
nornagon-openai Feb 17, 2026
45025b4
bazel: enable openssl-src dep for openssl-sys
nornagon-openai Feb 17, 2026
7705ef5
use key repeat to track held state when enhanced key reporting unavai…
nornagon-openai Feb 17, 2026
140f2cb
tui: stop voice transcription spinners on completion/reset
nornagon-openai Feb 17, 2026
a530175
Merge branch 'main' into nornagon/voice-mode
nornagon-openai Feb 17, 2026
cb505a5
tui: gate voice transcription behind experimental flag
nornagon-openai Feb 17, 2026
9ceb271
chore: refresh MODULE.bazel.lock
nornagon-openai Feb 17, 2026
5c3cbac
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 19, 2026
26ebda2
tui: group voice composer state
nornagon-openai Feb 19, 2026
0c55afe
tui: default voice composer state
nornagon-openai Feb 19, 2026
b2e75b2
tui: isolate voice key handling
nornagon-openai Feb 19, 2026
b279365
tui: avoid double-processing voice key events
nornagon-openai Feb 19, 2026
2dd4612
tui: apply voice-space handling before popup dispatch
nornagon-openai Feb 19, 2026
58ad723
tui: fix release-key handling for voice and popups
nornagon-openai Feb 19, 2026
77f4a71
tui: gate linux-only imports for voice handling
nornagon-openai Feb 19, 2026
a82adf1
core: move voice transcription to under-development stage
nornagon-openai Feb 19, 2026
84b4256
Merge branch 'main' into nornagon/voice-mode
nornagon-openai Feb 19, 2026
13d1728
test(app-server): deflake running thread resume timeouts
nornagon-openai Feb 19, 2026
ff048e0
chore: refresh MODULE.bazel.lock
nornagon-openai Feb 19, 2026
dbe02f4
Revert "test(app-server): deflake running thread resume timeouts"
nornagon-openai Feb 20, 2026
293584d
Merge branch 'main' into nornagon/voice-mode
nornagon-openai Feb 20, 2026
e4c09b4
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 20, 2026
d74296a
drop linux_run_main changes, tweak space insertion behavior
nornagon-openai Feb 21, 2026
3fc0140
Fix clippy if-else in voice placeholder replacement
nornagon-openai Feb 21, 2026
b726be7
tui: revert status-line merge-conflict changes
nornagon-openai Feb 21, 2026
c39bcdb
tui: extract voice meter computation
nornagon-openai Feb 21, 2026
4522e01
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 21, 2026
a09c89f
tui: add meter stub for no voice-input builds
nornagon-openai Feb 21, 2026
1589fd2
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 23, 2026
b8318a6
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 23, 2026
129b686
build: regenerate lockfiles after merge
nornagon-openai Feb 23, 2026
50b8c4f
build: pin aws-lc-sys for bazel patch
nornagon-openai Feb 23, 2026
b2387c7
Merge remote-tracking branch 'origin/main' into nornagon/voice-mode
nornagon-openai Feb 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
load("@apple_support//xcode:xcode_config.bzl", "xcode_config")
load("@rules_cc//cc:defs.bzl", "cc_shared_library")

cc_shared_library(
name = "clang",
deps = ["@llvm-project//clang:libclang"],
visibility = ["//visibility:public"],
)

xcode_config(name = "disable_xcode")

Expand Down
57 changes: 49 additions & 8 deletions MODULE.bazel
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
module(name = "codex")

bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "toolchains_llvm_bootstrapped", version = "0.5.3")
bazel_dep(name = "toolchains_llvm_bootstrapped", version = "0.5.6")
single_version_override(
module_name = "toolchains_llvm_bootstrapped",
patch_strip = 1,
Expand All @@ -8,6 +10,8 @@ single_version_override(
],
)

register_toolchains("@toolchains_llvm_bootstrapped//toolchain:all")

osx = use_extension("@toolchains_llvm_bootstrapped//extensions:osx.bzl", "osx")
osx.framework(name = "ApplicationServices")
osx.framework(name = "AppKit")
Expand All @@ -16,19 +20,20 @@ osx.framework(name = "CoreFoundation")
osx.framework(name = "CoreGraphics")
osx.framework(name = "CoreServices")
osx.framework(name = "CoreText")
osx.framework(name = "AudioToolbox")
osx.framework(name = "CFNetwork")
osx.framework(name = "FontServices")
osx.framework(name = "AudioUnit")
osx.framework(name = "CoreAudio")
osx.framework(name = "CoreAudioTypes")
osx.framework(name = "Foundation")
osx.framework(name = "ImageIO")
osx.framework(name = "IOKit")
osx.framework(name = "Kernel")
osx.framework(name = "OSLog")
osx.framework(name = "Security")
osx.framework(name = "SystemConfiguration")

register_toolchains(
"@toolchains_llvm_bootstrapped//toolchain:all",
)
use_repo(osx, "macosx15.4.sdk")

# Needed to disable xcode...
bazel_dep(name = "apple_support", version = "2.1.0")
Expand All @@ -39,9 +44,9 @@ bazel_dep(name = "rules_rs", version = "0.0.23")
# Special toolchains branch
archive_override(
module_name = "rules_rs",
integrity = "sha256-YbDRjZos4UmfIPY98znK1BgBWRQ1/ui3CtL6RqxE30I=",
strip_prefix = "rules_rs-6cf3d940fdc48baf3ebd6c37daf8e0be8fc73ecb",
url = "https://github.com/dzbarsky/rules_rs/archive/6cf3d940fdc48baf3ebd6c37daf8e0be8fc73ecb.tar.gz",
integrity = "sha256-O34UF4H7b1Qacu3vlu2Od4ILGVApzg5j1zl952SFL3w=",
strip_prefix = "rules_rs-097123c2aa72672e371e69e7035869f5a45c7b2b",
url = "https://github.com/dzbarsky/rules_rs/archive/097123c2aa72672e371e69e7035869f5a45c7b2b.tar.gz",
)

rules_rust = use_extension("@rules_rs//rs/experimental:rules_rust.bzl", "rules_rust")
Expand Down Expand Up @@ -134,6 +139,9 @@ crate.annotation(
"OPENSSL_NO_VENDOR": "1",
"OPENSSL_STATIC": "1",
},
crate_features = [
"dep:openssl-src",
],
crate = "openssl-sys",
data = ["@openssl//:gen_dir"],
)
Expand All @@ -145,6 +153,28 @@ crate.annotation(
workspace_cargo_toml = "rust/runfiles/Cargo.toml",
)

llvm = use_extension("@toolchains_llvm_bootstrapped//extensions:llvm.bzl", "llvm")
use_repo(llvm, "llvm-project")

crate.annotation(
# Provide the hermetic SDK path so the build script doesn't try to invoke an unhermetic `xcrun --show-sdk-path`.
build_script_data = [
"@macosx15.4.sdk//sysroot",
],
build_script_env = {
"BINDGEN_EXTRA_CLANG_ARGS": "-isystem $(location @toolchains_llvm_bootstrapped//:builtin_headers)",
"COREAUDIO_SDK_PATH": "$(location @macosx15.4.sdk//sysroot)",
"LIBCLANG_PATH": "$(location @codex//:clang)",
},
build_script_tools = [
"@codex//:clang",
"@toolchains_llvm_bootstrapped//:builtin_headers",
],
crate = "coreaudio-sys",
)

inject_repo(crate, "codex", "toolchains_llvm_bootstrapped", "macosx15.4.sdk")

# Fix readme inclusions
crate.annotation(
crate = "windows-link",
Expand Down Expand Up @@ -175,6 +205,17 @@ crate.annotation(
gen_build_script = "off",
deps = [":windows_import_lib"],
)

bazel_dep(name = "alsa_lib", version = "1.2.9.bcr.4")

crate.annotation(
crate = "alsa-sys",
gen_build_script = "off",
deps = ["@alsa_lib"],
)

inject_repo(crate, "alsa_lib")

use_repo(crate, "crates")

rbe_platform_repository = use_repo_rule("//:rbe.bzl", "rbe_platform_repository")
Expand Down
278 changes: 139 additions & 139 deletions MODULE.bazel.lock

Large diffs are not rendered by default.

Loading
Loading