Skip to content

cli: config providers --json and serve --request-timeout - #9

Merged
marcus7989 merged 2 commits into
marcus7989:vibetvfrom
DreamyTalesPAN:claude/cli-parity
Oct 20, 2026
Merged

marcus7989 merged 2 commits into
marcus7989:vibetvfrom
DreamyTalesPAN:claude/cli-parity

Conversation

@DreamyTalesPAN

Copy link
Copy Markdown
Collaborator

Two options of CodexBar's Mac CLI that this CLI rejected, which VibeTV works around on Windows (DreamyTalesPAN/CodexBar-Display#437).

config providers --json prints the provider list as an array of {provider, displayName, enabled, defaultEnabled}. --format text|json and --pretty are accepted. The text form is unchanged.

serve --request-timeout <seconds> answers 504 Gateway Timeout ({"error":"request timed out"}) when a request is still unanswered after that time. The work keeps running, so a slow dashboard snapshot is cached and the next request gets it. 0 means no deadline. Difference from upstream: the default is 0, not 30, so the server behaves as before when the option is absent.

What a release changes for VibeTV: nothing until the product pins it. After the pin, the product's release contract test (released_cli_test.go with CODEXBAR_CONTRACT_KNOWN_GAPS=1) fails on purpose for both options; the product then drops the Windows text inventory and passes --request-timeout 0 on Windows too, and removes the two entries from its "Known dependency gaps".

Checked. Unit tests for the JSON shape against the Mac recording, the option parsing, the 504, and the cached build after a 504 (cli:: 167). Cross-built on a Mac and run on the Windows test laptop on 2026-10-08: serve --help lists --request-timeout, serve … --request-timeout 0 starts and answers, config providers --json prints the array. Not run: cargo clippy, the full test suite.

🤖 Generated with Claude Code

DreamyTalesPAN and others added 2 commits October 8, 2026 20:48
`config providers` had only the text form (`codex: enabled default
(Codex)`); `--json` was rejected, although docs/CONFIGURATION.md already
names it. It now prints an array of `{provider, displayName, enabled,
defaultEnabled}`, the shape of CodexBar's own CLI (0.63.0). `--format
text|json` and `--pretty` are accepted as there. The text form is
unchanged and comes from the same rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CodexBar's `serve` takes `--request-timeout`; here the option was rejected
and the server exited, so a caller had to leave it out on Windows.

The option now means what it means upstream: a request still unanswered
after that many seconds gets `504 Gateway Timeout` with
`{"error":"request timed out"}`. Its work is not stopped: a slow dashboard
snapshot finishes and is cached, so the next request is answered from it.
`0` waits without a deadline. Fractions are allowed, the cap is one day, a
negative value is an error.

One deliberate difference: upstream's default is 30 seconds, the default
here is 0. Without the option the server keeps waiting for slow providers
as it did before, so callers that do not pass it see no change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@marcus7989

Copy link
Copy Markdown
Owner

Querverweis zu #11: Dort werden CODEXBAR_CONFIG, usage --provider enabled, config claude-consent und cost --refresh umgesetzt, unabhängig von diesem PR.

Hinweis für die Companion-Umstellung (DreamyTalesPAN/CodexBar-Display#437): In diesem PR ist serve --request-timeout eine Antwortzeit. Nach Ablauf antwortet der Server mit 504, 0 wartet. Der Companion-Umweg in nesszer#437 muss das beim Entfernen beachten und darf den Wert nicht als Fetch-Timeout lesen.

@DreamyTalesPAN

Copy link
Copy Markdown
Collaborator Author

@marcus7989 Question from the VibeTV side (issue DreamyTalesPAN/CodexBar-Display#437): is this PR ready to merge? If yes, could you merge it together with #11 and tag a new release (e.g. v0.60.3-vibetv.12)? We would then raise the pin in scripts/fetch-win-codexbar.ps1 and remove the Companion detours (runUsageAllEnabled, the text parser, the CODEXBAR_CONFIG workaround, --request-timeout) in a PR from our side.

@marcus7989

Copy link
Copy Markdown
Owner

Thanks, Paul. We are checking #9 and #11 together right now, including whether they merge cleanly, since both touch rust/src/cli/config.rs. We will get back to you with the result. We have not pushed anything to this PR.

marcus7989 added a commit that referenced this pull request Oct 20, 2026
Net change of the former #11 branch (e83454b + 578d5c8), applied on vibetv. serve --request-timeout is left to #9.
@marcus7989
marcus7989 merged commit 59fb41b into marcus7989:vibetv Oct 20, 2026
@marcus7989

Copy link
Copy Markdown
Owner

Hi Paul, release v0.60.3-vibetv.13 is out as a pre-release (PRs #9, #11 and #12 merged into vibetv).

Please use this tag and SHA256 for your pin PR. Two notes for it:

  1. released_cli_test.go (CI, with CODEXBAR_CONTRACT_KNOWN_GAPS=1) fails once the pin includes cli: config providers --json and serve --request-timeout #9, so the known-gap workaround there needs updating.
  2. PR config: list removed providers only while they are enabled #6 (removed providers hidden on Windows, [0.60.5] Preserve Antigravity history with foreign databases nesszer/Win-CodexBar#547) is not in this release yet. It follows with your pin PR once the branch question in config: list removed providers only while they are enabled #6 is answered.

A Windows test of the combined state including #12 is still pending.

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