ktx/packages/cli
Andrey Avtomonov 41acc5959c fix(setup): require explicit --llm-backend in non-interactive setup
Non-interactive setup (--no-input) silently defaulted the LLM backend to
anthropic, the one backend that cannot self-configure without an extra flag,
then failed with 'Missing Anthropic API key: pass --anthropic-api-key-env or
--anthropic-api-key-file.' — an error that never mentioned --llm-backend. A
user who passed --target claude-code had no way to discover the (hidden)
--llm-backend claude-code flag from the error.

- chooseBackend no longer silently picks anthropic in disabled mode; it fails
  with a message naming --llm-backend, listing every backend, and noting that
  claude-code/codex use local auth (no key).
- The anthropic and embedding credential errors now name --llm-backend /
  --embedding-backend so a keyless backend is discoverable from the error.
- --llm-backend and --embedding-backend use .choices(), so invalid values
  report the allowed set (and the bespoke parser fns are removed).

Only invocations that already failed change behavior; they now fail with an
actionable error instead of a cryptic one.
2026-06-09 12:06:05 +02:00
..
assets/demo/orbit Polish documentation copy (#98) 2026-05-14 12:43:14 -04:00
scripts chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
src fix(setup): require explicit --llm-backend in non-interactive setup 2026-06-09 12:06:05 +02:00
test fix(setup): require explicit --llm-backend in non-interactive setup 2026-06-09 12:06:05 +02:00
package.json chore(release): 0.10.0 [skip ci] 2026-06-08 14:47:15 +00:00
tsconfig.json chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
tsconfig.test.json test: split cli tests from source tree (#216) 2026-05-26 08:49:05 +02:00
vitest.config.ts test: split cli tests from source tree (#216) 2026-05-26 08:49:05 +02:00