Skip to content

feat(v0): v0.0, BrainCli via nonpublished module#3

Merged
uladkasach merged 12 commits intomainfrom
vlad/v0-0-bhrain-cli
Feb 23, 2026
Merged

feat(v0): v0.0, BrainCli via nonpublished module#3
uladkasach merged 12 commits intomainfrom
vlad/v0-0-bhrain-cli

Conversation

@uladkasach
Copy link
Member

No description provided.

@uladkasach uladkasach enabled auto-merge (squash) February 22, 2026 18:18
@uladkasach uladkasach force-pushed the vlad/v0-0-bhrain-cli branch 4 times, most recently from aad910f to 086b215 Compare February 23, 2026 01:57
ehm-seaturtle and others added 8 commits February 22, 2026 23:10
- move genTempDir from module scope into useBeforeAll inside each
  describe block across all 7 integration tests, so the symlink
  infrastructure setup runs in a jest lifecycle hook rather than
  at parallel module load time (avoids EEXIST race)
- add theme picker auto-accept to awaitOutput in interact tests
  (claude code shows Choose text style on first boot in fresh dirs)

Co-authored-by: Ulad Kasach <uladkasach@gmail.com>
- reorder imports to match biome format rules

Co-authored-by: Ulad Kasach <uladkasach@gmail.com>
…n interact tests

- added login method auto-accept handler (selects 'Anthropic Console account' for API key auth)
- theme picker and trust prompt handlers were already present
- these dialogs appear in CI because genTempDir creates fresh dirs with no cached CLI state

Co-authored-by: Ulad Kasach <uladkasach@gmail.com>
…in interact tests

- moved theme picker, login method, and trust prompt handlers out of awaitOutput
- new registerDialogDismissers called once per brain after interact boot
- prevents double-enter when concurrent awaitOutput calls both detect the same dialog

Co-authored-by: Ulad Kasach <uladkasach@gmail.com>
…t handler

- added writeAfterDelay helper with 500ms delay before each dialog keypress
- TUI components render output before their input handler is ready
- synchronous write in onData callback arrived before component could accept input

Co-authored-by: Ulad Kasach <uladkasach@gmail.com>
the down arrow + enter was sent as a single write, and the TUI
processed the enter before the escape sequence updated the
selection state — this caused option 1 (oauth) to be selected
instead of option 2 (api key auth)

Co-authored-by: Ulad Kasach <uladkasach@gmail.com>
- removed writeAfterDelay and registerDialogDismissers (delay-based, flaky)
- added dismissOnboardDialogs: sequential async that awaits PTY output before each keystroke
- each step registers listener BEFORE keystroke to avoid race conditions
- fixes CI timeouts where login method dialog selected wrong option

Co-authored-by: Ulad Kasach <uladkasach@gmail.com>
@uladkasach uladkasach merged commit ceea217 into main Feb 23, 2026
16 checks passed
@uladkasach uladkasach deleted the vlad/v0-0-bhrain-cli branch February 23, 2026 08:30
@rhelease rhelease bot mentioned this pull request Feb 23, 2026
@rhelease
Copy link
Contributor

rhelease bot commented Feb 23, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants