Repository navigation
feat(provider)!: add Gemini Decisions provider and restructure config into grouped tables - #96
Merged
Merged
Conversation
Settings now live in [general] (provider, debug, editor), [mcp] (host, port) and [provider.<name>] (api_key, base_url, model, timeout). Flags and environment names are unchanged and apply to the selected provider. BREAKING CHANGE: flat top-level configuration keys are no longer read. Commands that load settings fail on a flat file and point to jevwise config migrate; config edit, version and mcp status/stop still run.
Moves keys without validating or expanding values, keeps an owner-only <file>.flat.bak backup, refuses links, unknown or mixed keys and existing backups, and never prints values.
Update the configuration, MCP and debug guides, README and example files for [general], [mcp] and [provider.<name>], and describe config migrate.
POST /v1beta/decisions with x-goog-api-key, empty criteria descriptions and strict response checks. Refuses redirects, caps responses at 8 MiB, maps safety blocks (400 or prompt_feedback) to BlockedError, drops upstream error messages and retries 408/409/429/5xx and connection failures twice within the caller's deadline.
…eserve gemini Gemini reads GOOGLE_API_KEY, then GEMINI_API_KEY, and GOOGLE_GEMINI_BASE_URL, defaulting to the Gemini Developer API host and gemini-decision-1. Jev names never configure Gemini and Gemini names never configure Jev. Selecting gemini still reports not implemented until the decision service is wired in.
Wire provider gemini into decide, foreground and background MCP. The prompt is the shared input, options are criteria with empty descriptions and one fixed instruction asks for the best fit. Output reports the configured model because Gemini responses carry none.
Add a providers table and a Google API key section to the README: a personal key from AI Studio, or an organization project key created by Terraform (docs/gcp_adc.md runbook with placeholders). Jevwise sends the key as x-goog-api-key and does not use ADC at runtime.
benbenbang
enabled auto-merge (rebase)
November 14, 2026 03:12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jevwise previously supported a single provider with flat top-level configuration keys, which left no room to configure multiple providers side by side. This change restructures configuration into grouped tables and adds Gemini as a second decision provider, while keeping flags and environment names stable for the selected provider.
BREAKING CHANGE: flat top-level configuration keys are no longer read. Commands that load settings fail on a flat file and point to jevwise config migrate; config edit, version and mcp status/stop still run.
Configuration
Gemini provider
Documentation