Context
Part of #5016 (RFC: stacklok/toolhive-rfcs#70). This is the foundation subtask — all other subtasks depend on this.
Scope
pkg/llm/config.go — config types (LLMConfig, gateway URL, OIDC settings, proxy port)
pkg/llm/internal/ — package structure scaffolding
- Wire
thv llm cobra command group into root command with subcommand stubs
thv llm config set — persist gateway URL, OIDC settings, proxy port to config.yaml under llm: key
thv llm config show — display current LLM config; --output json produces valid JSON
thv llm config reset — clear all LLM config and delete cached tokens from secrets provider
Acceptance Criteria
Dependencies
None — this is the first subtask.
References
Context
Part of #5016 (RFC: stacklok/toolhive-rfcs#70). This is the foundation subtask — all other subtasks depend on this.
Scope
pkg/llm/config.go— config types (LLMConfig, gateway URL, OIDC settings, proxy port)pkg/llm/internal/— package structure scaffoldingthv llmcobra command group into root command with subcommand stubsthv llm config set— persist gateway URL, OIDC settings, proxy port toconfig.yamlunderllm:keythv llm config show— display current LLM config;--output jsonproduces valid JSONthv llm config reset— clear all LLM config and delete cached tokens from secrets providerAcceptance Criteria
thv llm config set --gateway-url <url> --issuer <issuer> --client-id <id>persists settings toconfig.yamlunderllm:thv llm config showdisplays current config;--output jsonproduces valid JSONthv llm config resetclears LLM config and removes cached tokens from the secrets providerthv llmsubcommand group is reachable from the root command; all subcommands are stubbed and return a not-implemented error until filled in by subsequent subtasksDependencies
None — this is the first subtask.
References