Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -647,7 +647,8 @@ func TestDeploymentForMCPServer_PodTemplateOverridesPreserveRunConfigChecksum(t
},
}

deployment := r.deploymentForMCPServer(t.Context(), mcpServer, "C1")
deployment, err := r.deploymentForMCPServer(t.Context(), mcpServer, "C1")
require.NoError(t, err)
require.NotNil(t, deployment)

assert.Equal(t, "C1",
Expand Down Expand Up @@ -688,7 +689,8 @@ func TestDeploymentNeedsUpdate_StableAfterBuildWithPodTemplateOverrides(t *testi
}

const runConfigChecksum = "stable-checksum"
built := r.deploymentForMCPServer(t.Context(), mcpServer, runConfigChecksum)
built, err := r.deploymentForMCPServer(t.Context(), mcpServer, runConfigChecksum)
require.NoError(t, err)
require.NotNil(t, built)

// Constructor and comparator must agree on the same input — otherwise the
Expand Down
14 changes: 6 additions & 8 deletions cmd/thv/app/llm.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,12 @@ import (

func newLLMCommand() *cobra.Command {
cmd := &cobra.Command{
Use: "llm",
Hidden: true,
Short: "Manage LLM gateway authentication",
Use: "llm",
Short: "Manage LLM gateway authentication",
Long: `Configure and manage authentication for OIDC-protected LLM gateways.

The llm command bridges AI coding tools to LLM gateways by handling OIDC
authentication transparently. Two modes are planned:
authentication transparently. Two modes are supported:

Proxy mode — a localhost reverse proxy injects fresh tokens for tools
that only accept static API keys (e.g. Cursor).
Expand Down Expand Up @@ -476,13 +475,12 @@ func runLLMProxyForeground(ctx context.Context, llmCfg *llm.Config) error {
return p.Start(ctx)
}

// ── token helper (hidden) ─────────────────────────────────────────────────────
// ── token helper ──────────────────────────────────────────────────────────────

func newLLMTokenCommand() *cobra.Command {
cmd := &cobra.Command{
Use: "token",
Hidden: true,
Short: "Print a fresh LLM gateway access token to stdout",
Use: "token",
Short: "Print a fresh LLM gateway access token to stdout",
Long: `Print a fresh OIDC access token to stdout (all other output on stderr).
Intended for use as apiKeyHelper or auth.command in OIDC-capable AI tools.
Runs non-interactively — will not launch a browser flow.`,
Comment thread
yrobla marked this conversation as resolved.
Expand Down
1 change: 1 addition & 0 deletions docs/cli/thv.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

57 changes: 57 additions & 0 deletions docs/cli/thv_llm.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

38 changes: 38 additions & 0 deletions docs/cli/thv_llm_config.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 40 additions & 0 deletions docs/cli/thv_llm_config_reset.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

52 changes: 52 additions & 0 deletions docs/cli/thv_llm_config_set.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 36 additions & 0 deletions docs/cli/thv_llm_config_show.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 32 additions & 0 deletions docs/cli/thv_llm_proxy.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

46 changes: 46 additions & 0 deletions docs/cli/thv_llm_proxy_start.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading