Repository navigation
Conversation
This branch has not been deployed
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.
Problem
Custom models can enable reasoning in Web settings but cannot declare which thinking levels the provider accepts. The conversation and Configuration pickers need to reflect those model capabilities after a save. Settings pages also use inconsistent widths, headings, nested sidebars and control styles.
Closes #866.
Value
Users can configure supported thinking levels without editing Pi's model file manually, and use the updated capabilities immediately in the current Session. A consistent settings layout makes configuration easier to scan on desktop and mobile.
Approach
thinkingLevelMapin each model's advanced parameters. Validate supported keys and nonempty choices, retain provider-specific mappings, and use an explicit reset to remove the override. Project built-in defaults separately so automatic mode reflects Pi's catalog.mainat78dc5743; the historical PR 711 stack and local baseline integration commits are excluded.Validation
bun run check: passed after the rebase, including regenerated Web assets.VITEST_MAX_WORKERS=2 bun run test: passed; Node 2,650 passed / 9 skipped, UI 1,523 passed across 98 files.thinkingLevelMap, the active Session publishes the new available levels, and the conversation slider sendsreasoning_effort: "max"to the loopback provider. The existing high/off and reload checks also pass. This validates the integration, not an external provider's advertised capabilities.bun run provenance: checkouta8c26fbe, with exactly one OpenPI source matching this worktree.git range-diffconfirms the migrated source changes match the original feature commit; only generated Web assets changed for the newer main.Impact
thinkingLevelMapinmodels.json; reset removes that override. No OpenPI-owned setting, migration or credential-format change.max. Older callers that omit the field retain existing mappings. Provider acceptance remains dependent on the user's selected model and mapping.