dsh-model-think-level 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js
CHANGED
|
@@ -4,7 +4,7 @@ window.__ModuleLoader__.load({
|
|
|
4
4
|
var module = { exports: {} };
|
|
5
5
|
var exports = module.exports;
|
|
6
6
|
|
|
7
|
-
"use strict";var Ot=Object.defineProperty;var ta=Object.getOwnPropertyDescriptor;var na=Object.getOwnPropertyNames;var ra=Object.prototype.hasOwnProperty;var oa=(e,t,n)=>t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ia=(e,t)=>{for(var n in t)Ot(e,n,{get:t[n],enumerable:!0})},sa=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of na(t))!ra.call(e,o)&&o!==n&&Ot(e,o,{get:()=>t[o],enumerable:!(r=ta(t,o))||r.enumerable});return e};var aa=e=>sa(Ot({},"__esModule",{value:!0}),e);var Br=(e,t,n)=>oa(e,typeof t!="symbol"?t+"":t,n);var Xl={};ia(Xl,{EffortEditor:()=>en,apply:()=>Jl,baselineModelsOf:()=>Wo,compatOf:()=>Yt,createEditorApi:()=>Qt,defaultEffortOf:()=>Xt,describeNamespace:()=>ne,effortsOf:()=>$t,findModelMenu:()=>Rr,findModelTrigger:()=>Or,inject:()=>Yl,inputOf:()=>Vt,name:()=>Vl,nameOf:()=>Jt,providerHeadersOf:()=>Zn,providersOf:()=>we,userProvidersOf:()=>Qn,writeModelRows:()=>mt,writeProviderHeaders:()=>er});module.exports=aa(Xl);var Ks=require("react");var J="dsh-model-think-level",Wr="/dsh-model-think-level/raw-models";var Ht="/dsh-model-think-level/provider-key",Ur="/dsh-model-think-level/key-index",jr="/dsh-model-think-level/autofill-config",zr="/dsh-model-think-level/headers-config",re="llm-pi-ai",se="reasoningEffortsUnset",Me="inputUnset",Ye="reasoningEffortsAutofilled",Je="defaultEffort",Rn=J;var dt=require("react");function Gr(e){let{locale:t}=e,n=(0,dt.useCallback)(o=>t.subscribe(o),[t]),r=(0,dt.useCallback)(()=>t.getSnapshot().revision??0,[t]);return(0,dt.useSyncExternalStore)(n,r),e.children()}var $r={reasoningEffort:"Reasoning effort",thinkingMode:"Thinking",thinkingModeOff:"Off \u2014 this model is declared as not reasoning.",autoAdapt:"Auto-adapt",autoAdaptAll:"Auto-detect thinking levels",autoAdaptWorking:"Detecting\u2026",autoAdaptDone:"Adapted {count} \xB7 save to write",autoAdaptEmpty:"All already configured",autoAdaptUnsuggested:"No suggestion available",autoAdaptBlocked:"No models to adapt yet",autoAdaptFailed:"Detection failed: {message}",autoAdaptDoneHint:"Held for {count} model(s): they land when this card is saved.",autoAdaptEmptyHint:"Every model of this provider already declares its thinking levels.",autoAdaptUnsuggestedHint:"The models that still need a declaration have no knowledge-base match \u2014 adapt them one by one.",autoAdaptBlockedHint:"Nothing to adapt yet: the card has no models, is not saved, or the settings document is read-only.",apply:"Apply",reset:"Reset",pendingSave:"Modified \u2014 it will be written when you save this card.",pendingHint:"Cancel or reload discards it, exactly like the card's own fields.",appliedHint:"Applied suggestion from {source} \xB7 confidence: {confidence}",inputHintEndpoint:"Modality advice comes from the endpoint listing.",inputHintKnowledge:"Modality advice comes from the knowledge base.",inputHintHeuristic:"Modality guessed from the name alone (low confidence) \u2014 verify.",referenceTitle:"Reference capacities (hints only, never auto-filled)",contextWindowLabel:"Context window",maxTokensLabel:"Max output",inputModality:"Input modalities",modalityImage:"Image input",modalityInherit:"Not declared \u2014 the provider default applies (usually text-only).",clearDeclaration:"Clear declaration",confidence_high:"high",confidence_medium:"medium",confidence_low:"low \u2014 verify before relying on it",noSuggestion:"No suggestion is available for this model.",conflict:"The settings document kept changing under this edit. Wait a moment, then apply again.",writeError:"Failed: {message}",renderFailed:"Reasoning-effort editor failed to render",wirePlaceholder:"Wire value",wireValue:"value",reasoningDisabled:"No reasoning-effort control declared for this model (false) \u2014 do not arm thinking levels.",bareHint:"Clearing every level removes the declaration \u2014 requests go out bare (provider default), which some relays require.",defaultRiskDisabled:"No off level: Default and provider tests send thinking: disabled, which this model rejects (e.g. 1210).",defaultRiskQwen:"No off level: Default sends enable_thinking: false \u2014 only fails where the upstream requires thinking on.",stagedHint:"Not saved yet. Staged settings are applied automatically once the model is saved.",level_off:"off",level_minimal:"minimal",level_low:"low",level_medium:"medium",level_high:"high",level_xhigh:"xhigh",level_max:"max",sliderToggleTitle:"Model and reasoning-effort rows",sliderToggleDescription:"Show the model row and the reasoning-level chips in the model menu; the levels follow the current model.",sliderToggleAria:"Enable the model and reasoning-effort rows",settingOn:"On",settingOff:"Off",sliderEffortAria:"Reasoning effort",sliderNoLevels:"The current model exposes no reasoning-effort levels.",triggerFallback:"Select model",effortDefault:"Default",modelRowLabel:"Model",effortRowLabel:"Reasoning level",tagVision:"Image input",tagThinking:"Sends thinking levels",sliderEffortTitle:"Reasoning effort \xB7 {name}",sliderEffortTitleError:"Reasoning effort failed: {error}",sliderNoCurrent:"No model selected.",compatTitle:"Endpoint compatibility",budgetFieldLabel:"Thinking budget field",budgetFieldHint:"Which parameter carries the thinking-token budget: some vLLM and self-hosted endpoints read thinking_token_budget, others thinking_budget or thinking_budget_tokens. Unset sends none of them.",budgetUnset:"Not set",defaultEffortLabel:"Default effort",defaultEffortUnset:"Follow memory",defaultEffortHint:"The level every new session starts this model at \u2014 it outranks the remembered levels. Within a session, a level you pick by hand always wins. Empty follows the memory chain.",clearDefaultEffort:"Clear pick",priorityLabel:"vLLM priority",priorityPlaceholder:"e.g. 0",priorityHint:"Scheduler priority for endpoints started with --priority, where lower runs first. Leave empty to send nothing.",priorityInvalid:"Priority must be an integer \u2014 it is not saved until fixed.",maxOutputLabel:"max_output_tokens in requests",maxOutputUnset:"Unset \u2014 follow the protocol default",maxOutputOn:"Send it",maxOutputOff:"Omit it",maxOutputHint:'For Responses-protocol gateways only, and only when a request carries an output cap: some of them reject the parameter, so "Omit it" keeps the cap out of the request entirely. Unset is the safe choice.',aliasMigrated:"Legacy alias detected \u2014 saving writes the explicit budget field.",modelSearchPlaceholder:"Search models\u2026",modelSearchNoMatches:"No matching models",modelSearchClear:"Clear search",modelSearchFailed:"Model search failed to render",editorTabsLabel:"Editor sections",editorTabProvider:"Provider",editorTabModels:"Models",editorTabAdvanced:"Advanced",keyRevealShow:"Show key",keyRevealHide:"Hide key",keyRevealFailed:"Stored key unavailable",keysLoading:"Loading keys\u2026",keysAdd:"Add another key",keysAddConfirm:"Add",keysEnable:"Use {name}",keysEnabled:"Enabled",keysMissing:"Not stored",keysEdit:"Edit",keysRemove:"Delete",keysConfirmRemove:"Confirm delete",keysCancel:"Cancel",keysSave:"Save",keysAlias:"Label",keysAliasPlaceholder:"Name (optional), e.g. Team",keysValue:"Key",keysValuePlaceholder:"Paste the API key",keysNewValuePlaceholder:"Paste the new API key",keysAddIllegal:"A key is printable ASCII without spaces.",keysAdded:"Key stored.",keysRenamed:"Label saved.",keysReplaced:"Key replaced.",keysRemoved:"Key removed.",keysEnabledNote:"{name} is now in use.",keysUnreachable:"The plugin\u2019s key route did not answer.",keysPanelFailed:"Key manager failed to render",headersTitle:"Request headers",headersHint:"Sent on every request of this route, the model-listing probe included \u2014 add any gateway, routing, metering, or authentication header here.",headersEmpty:"No extra request headers are configured.",headersAdd:"Add header",headersName:"Name",headersNamePlaceholder:"e.g. x-company",headersValue:"Value",headersEdit:"Edit",headersSave:"Save",headersCancel:"Cancel",headersClear:"Clear all",headersSaved:"Saved.",headersCleared:"Cleared \u2014 this route sends no extra request headers.",headersReadOnly:"The settings document is not writable.",headersUserAgentTitle:"User-Agent (taken over at the fetch layer)",headersUserAgentHint:"The official adapter discards a configured user-agent \u2014 the name is reserved for client attribution \u2014 so this plugin adds it at the request layer. Filling it in really does replace the outgoing User-Agent.",headersUserAgentClear:"Do not override",headersUserAgentPlaceholder:"e.g. claude-cli/2.1.161 (external, cli)",headersConflictOrigin:"Routes sharing one endpoint declare different request-header values: when the model in a request body does not identify exactly one of them, that request falls back to the first route.",headersConflictPatched:"The installed dsh-llm-pi-ai already carries a request-header patch: enter values in the headers above and this plugin need not take the request layer over.",headersConflictSiblings:"A plugin rewriting the same layer is installed: {names}. Only one user-agent rewrite should be active at a time, or the last writer on the wire wins.",headersError:"Save failed: {error}",headersNoRoute:"This route is no longer in the settings document \u2014 save the official card once first.",providerReorderAria:"Reorder {provider}",providerReorderHint:"Drag to set the provider order \u2014 the model switcher follows it.",providerToggleAria:"Enable {provider}",providerToggleHint:"A disabled provider is not listed by the model switcher.",providerRemoveDisabled:"Delete",providerRemoveLocked:"A built-in provider cannot be deleted.",modelReorderAria:"Reorder {model}",modelReorderHint:"Drag to set the order of this provider\u2019s models \u2014 the model switcher follows it."},Vr={reasoningEffort:"\u601D\u8003\u5F3A\u5EA6",thinkingMode:"\u601D\u8003",thinkingModeOff:"\u5DF2\u5173\u95ED\u2014\u2014\u8BE5\u6A21\u578B\u58F0\u660E\u4E3A\u4E0D\u601D\u8003\u3002",autoAdapt:"\u81EA\u52A8\u9002\u914D",autoAdaptAll:"\u81EA\u52A8\u83B7\u53D6\u601D\u8003\u7B49\u7EA7",autoAdaptWorking:"\u83B7\u53D6\u4E2D\u2026",autoAdaptDone:"\u5DF2\u9002\u914D {count} \u4E2A\xB7\u4FDD\u5B58\u540E\u5199\u5165",autoAdaptEmpty:"\u5DF2\u5168\u90E8\u914D\u7F6E",autoAdaptUnsuggested:"\u6CA1\u6709\u53EF\u7528\u5EFA\u8BAE",autoAdaptBlocked:"\u6682\u65E0\u53EF\u9002\u914D\u6A21\u578B",autoAdaptFailed:"\u83B7\u53D6\u5931\u8D25\uFF1A{message}",autoAdaptDoneHint:"\u5DF2\u6682\u5B58 {count} \u4E2A\u6A21\u578B\u7684\u9002\u914D\u7ED3\u679C\uFF1A\u70B9\u8BE5\u5361\u7247\u7684\u300C\u4FDD\u5B58\u300D\u540E\u5199\u5165\u3002",autoAdaptEmptyHint:"\u8BE5\u4F9B\u5E94\u5546\u4E0B\u6240\u6709\u6A21\u578B\u90FD\u5DF2\u58F0\u660E\u601D\u8003\u7B49\u7EA7\u3002",autoAdaptUnsuggestedHint:"\u4ECD\u9700\u58F0\u660E\u7684\u6A21\u578B\u6CA1\u6709\u77E5\u8BC6\u5E93\u5339\u914D\u2014\u2014\u8BF7\u9010\u4E2A\u6253\u5F00\u6A21\u578B\u884C\u624B\u52A8\u9002\u914D\u3002",autoAdaptBlockedHint:"\u6682\u65E0\u53EF\u9002\u914D\u5185\u5BB9\uFF1A\u8BE5\u5361\u7247\u8FD8\u6CA1\u6709\u6A21\u578B\u3001\u5C1A\u672A\u4FDD\u5B58\uFF0C\u6216\u5F53\u524D\u8BBE\u7F6E\u6587\u6863\u4E0D\u53EF\u5199\u5165\u3002",apply:"\u5E94\u7528",reset:"\u653E\u5F03\u4FEE\u6539",pendingSave:"\u5DF2\u4FEE\u6539\u2014\u2014\u70B9\u5361\u7247\u300C\u4FDD\u5B58\u300D\u65F6\u4E00\u8D77\u5199\u5165\u3002",pendingHint:"\u70B9\u300C\u53D6\u6D88\u300D\u6216\u5237\u65B0\u9875\u9762\u4F1A\u4E00\u5E76\u4E22\u5F03\uFF0C\u4E0E\u5361\u7247\u81EA\u8EAB\u7684\u5B57\u6BB5\u4E00\u81F4\u3002",appliedHint:"\u5DF2\u6309 {source} \u5E94\u7528\u5EFA\u8BAE \xB7 \u7F6E\u4FE1\u5EA6\uFF1A{confidence}",inputHintEndpoint:"\u6A21\u6001\u5EFA\u8BAE\u6765\u81EA\u7AEF\u70B9\u5217\u8868\u3002",inputHintKnowledge:"\u6A21\u6001\u5EFA\u8BAE\u6765\u81EA\u77E5\u8BC6\u5E93\u3002",inputHintHeuristic:"\u6A21\u6001\u5EFA\u8BAE\u4EC5\u6309\u547D\u540D\u63A8\u65AD\uFF08\u4F4E\u7F6E\u4FE1\u5EA6\uFF09\uFF0C\u8BF7\u6838\u5BF9\u3002",referenceTitle:"\u53C2\u8003\u5BB9\u91CF\uFF08\u4EC5\u63D0\u793A\uFF0C\u4E0D\u81EA\u52A8\u586B\u5145\uFF09",contextWindowLabel:"\u4E0A\u4E0B\u6587\u7A97\u53E3",maxTokensLabel:"\u6700\u5927\u8F93\u51FA",inputModality:"\u8F93\u5165\u6A21\u6001",modalityImage:"\u56FE\u7247\u8F93\u5165",modalityInherit:"\u672A\u58F0\u660E\u2014\u2014\u7EE7\u627F\u63D0\u4F9B\u65B9\u9ED8\u8BA4\uFF08\u901A\u5E38\u4EC5\u6587\u672C\uFF09\u3002",clearDeclaration:"\u6E05\u9664\u58F0\u660E",confidence_high:"\u9AD8",confidence_medium:"\u4E2D",confidence_low:"\u4F4E\uFF08\u5EFA\u8BAE\u6838\u5BF9\uFF09",noSuggestion:"\u6CA1\u6709\u9002\u7528\u4E8E\u8BE5\u6A21\u578B\u7684\u5EFA\u8BAE\u3002",conflict:"\u8BBE\u7F6E\u6587\u6863\u5728\u4FDD\u5B58\u671F\u95F4\u6301\u7EED\u53D8\u5316\uFF0C\u8BF7\u7A0D\u5019\u518D\u6B21\u5E94\u7528\u3002",writeError:"\u5199\u5165\u5931\u8D25\uFF1A{message}",renderFailed:"\u601D\u8003\u5F3A\u5EA6\u7F16\u8F91\u5668\u6E32\u67D3\u5931\u8D25",wirePlaceholder:"\u7EBF\u4E0A\u53D6\u503C",wireValue:"\u53D6\u503C",reasoningDisabled:"\u8BE5\u6A21\u578B\u58F0\u660E\u4E3A\u65E0 reasoning-effort \u63A7\u5236\uFF08false\uFF09\u2014\u2014\u8BF7\u52FF\u52FE\u9009\u601D\u8003\u6863\u3002",bareHint:"\u5168\u90E8\u53D6\u6D88\u5E76\u4FDD\u5B58\u5C06\u6E05\u9664\u58F0\u660E\u2014\u2014\u8BF7\u6C42\u4EE5\u88F8\u683C\u5F0F\u53D1\u51FA\uFF08\u8D70\u63D0\u4F9B\u65B9\u9ED8\u8BA4\uFF09\uFF0C\u90E8\u5206\u4E2D\u8F6C\u7AD9\u9700\u8981\u8FD9\u6837\u3002",defaultRiskDisabled:"\u65E0 off \u6863\uFF1ADefault \u4E0E\u63D0\u4F9B\u5546\u6D4B\u8BD5\u4F1A\u53D1\u9001 thinking: disabled\uFF0C\u8BE5\u6A21\u578B\u4F1A\u62A5\u9519\uFF08\u5982 1210\uFF09\u3002",defaultRiskQwen:"\u65E0 off \u6863\uFF1ADefault \u4F1A\u53D1\u9001 enable_thinking: false\u2014\u2014\u4EC5\u5728\u4E0A\u6E38\u8981\u6C42\u5F00\u542F\u601D\u8003\u65F6\u624D\u4F1A\u5931\u8D25\u3002",stagedHint:"\u5C1A\u672A\u4FDD\u5B58\u3002\u6682\u5B58\u7684\u914D\u7F6E\u5C06\u5728\u8BE5\u6A21\u578B\u4FDD\u5B58\u540E\u81EA\u52A8\u5E94\u7528\u3002",level_off:"off",level_minimal:"minimal",level_low:"low",level_medium:"medium",level_high:"high",level_xhigh:"xhigh",level_max:"max",sliderToggleTitle:"\u6A21\u578B\u4E0E\u601D\u8003\u7B49\u7EA7\u884C",sliderToggleDescription:"\u5728\u6A21\u578B\u83DC\u5355\u4E2D\u663E\u793A\u6A21\u578B\u884C\u4E0E\u601D\u8003\u7B49\u7EA7\u6807\u7B7E\uFF0C\u6863\u4F4D\u968F\u5F53\u524D\u6A21\u578B\u81EA\u52A8\u9002\u914D",sliderToggleAria:"\u542F\u7528\u6A21\u578B\u4E0E\u601D\u8003\u7B49\u7EA7\u884C",settingOn:"\u542F\u7528",settingOff:"\u505C\u7528",sliderEffortAria:"\u601D\u8003\u5F3A\u5EA6",sliderNoLevels:"\u5F53\u524D\u6A21\u578B\u672A\u63D0\u4F9B\u601D\u8003\u5F3A\u5EA6\u6863\u4F4D",triggerFallback:"\u9009\u62E9\u6A21\u578B",effortDefault:"\u9ED8\u8BA4",modelRowLabel:"\u6A21\u578B",effortRowLabel:"\u601D\u8003\u7B49\u7EA7",tagVision:"\u652F\u6301\u56FE\u7247\u8F93\u5165",tagThinking:"\u652F\u6301\u601D\u8003\u7B49\u7EA7",sliderEffortTitle:"\u601D\u8003\u5F3A\u5EA6 \xB7 {name}",sliderEffortTitleError:"\u601D\u8003\u5F3A\u5EA6\u8BBE\u7F6E\u5931\u8D25\uFF1A{error}",sliderNoCurrent:"\u5F53\u524D\u65E0\u9009\u62E9\u4E2D\u7684\u6A21\u578B\u3002",compatTitle:"\u7AEF\u70B9\u517C\u5BB9",budgetFieldLabel:"\u601D\u8003\u9884\u7B97\u5B57\u6BB5",budgetFieldHint:"\u601D\u8003 token \u9884\u7B97\u7528\u54EA\u4E2A\u53C2\u6570\u53D1\u9001\uFF1A\u90E8\u5206 vLLM\uFF0F\u81EA\u5EFA\u7AEF\u70B9\u8BFB thinking_token_budget\uFF0C\u53E6\u4E00\u4E9B\u8BFB thinking_budget \u6216 thinking_budget_tokens\u3002\u672A\u8BBE\u7F6E\u8868\u793A\u4E09\u4E2A\u90FD\u4E0D\u53D1\u9001\u3002",budgetUnset:"\u672A\u8BBE\u7F6E",defaultEffortLabel:"\u9ED8\u8BA4\u601D\u8003\u5F3A\u5EA6",defaultEffortUnset:"\u8DDF\u968F\u8BB0\u5FC6",defaultEffortHint:"\u6BCF\u4E2A\u65B0\u4F1A\u8BDD\u6253\u5F00\u8BE5\u6A21\u578B\u65F6\u4F7F\u7528\u7684\u6863\u4F4D\u2014\u2014\u4F18\u5148\u4E8E\u8BB0\u4F4F\u7684\u4E0A\u6B21\u6863\u4F4D\u3002\u4F1A\u8BDD\u5185\u624B\u52A8\u9009\u62E9\u7684\u6863\u4F4D\u59CB\u7EC8\u6700\u9AD8\u3002\u7559\u7A7A\u5219\u8DDF\u968F\u8BB0\u5FC6\u94FE\u3002",clearDefaultEffort:"\u6E05\u9664\u9009\u62E9",priorityLabel:"vLLM \u4F18\u5148\u7EA7",priorityPlaceholder:"\u4F8B\u5982 0",priorityHint:"\u4EE5 --priority \u542F\u52A8\u7684\u7AEF\u70B9\u7684\u8C03\u5EA6\u4F18\u5148\u7EA7\uFF0C\u6570\u503C\u8D8A\u5C0F\u8D8A\u5148\u6267\u884C\u3002\u7559\u7A7A\u8868\u793A\u4E0D\u53D1\u9001\u3002",priorityInvalid:"\u4F18\u5148\u7EA7\u5FC5\u987B\u662F\u6574\u6570\u2014\u2014\u4FEE\u6B63\u524D\u4E0D\u4F1A\u4FDD\u5B58\u3002",maxOutputLabel:"\u8BF7\u6C42\u4E2D\u7684 max_output_tokens",maxOutputUnset:"\u672A\u8BBE\u7F6E\u2014\u2014\u8DDF\u968F\u534F\u8BAE\u9ED8\u8BA4",maxOutputOn:"\u53D1\u9001",maxOutputOff:"\u4E0D\u53D1\u9001",maxOutputHint:'\u4EC5\u5BF9 Responses \u534F\u8BAE\u7684\u7F51\u5173\u751F\u6548\uFF0C\u4E14\u53EA\u5728\u8BF7\u6C42\u5E26\u8F93\u51FA\u4E0A\u9650\u65F6\u624D\u8D77\u4F5C\u7528\uFF1A\u90E8\u5206\u7F51\u5173\u4F1A\u62D2\u6536\u8BE5\u53C2\u6570\uFF0C\u9009"\u4E0D\u53D1\u9001"\u53EF\u8BA9\u8BF7\u6C42\u5B8C\u5168\u4E0D\u643A\u5E26\u8F93\u51FA\u4E0A\u9650\u3002\u672A\u8BBE\u7F6E\u662F\u6700\u5B89\u5168\u7684\u9009\u62E9\u3002',aliasMigrated:"\u68C0\u6D4B\u5230\u65E7\u522B\u540D\u2014\u2014\u4FDD\u5B58\u65F6\u4F1A\u5199\u5165\u663E\u5F0F\u9884\u7B97\u5B57\u6BB5\u3002",modelSearchPlaceholder:"\u641C\u7D22\u6A21\u578B\u2026",modelSearchNoMatches:"\u672A\u627E\u5230\u5339\u914D\u6A21\u578B",modelSearchClear:"\u6E05\u7A7A\u641C\u7D22",modelSearchFailed:"\u6A21\u578B\u641C\u7D22\u6E32\u67D3\u5931\u8D25",editorTabsLabel:"\u7F16\u8F91\u5668\u5206\u533A",editorTabProvider:"\u4F9B\u5E94\u5546\u914D\u7F6E",editorTabModels:"\u6A21\u578B\u914D\u7F6E",editorTabAdvanced:"\u9AD8\u7EA7\u914D\u7F6E",keyRevealShow:"\u663E\u793A\u5BC6\u94A5",keyRevealHide:"\u9690\u85CF\u5BC6\u94A5",keyRevealFailed:"\u65E0\u6CD5\u8BFB\u53D6\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5",keysLoading:"\u6B63\u5728\u8BFB\u53D6\u5BC6\u94A5\u2026",keysAdd:"\u6DFB\u52A0\u53E6\u4E00\u4E2A\u5BC6\u94A5",keysAddConfirm:"\u6DFB\u52A0",keysEnable:"\u542F\u7528 {name}",keysEnabled:"\u542F\u7528",keysMissing:"\u672A\u5B58\u50A8",keysEdit:"\u4FEE\u6539",keysRemove:"\u5220\u9664",keysConfirmRemove:"\u786E\u8BA4\u5220\u9664",keysCancel:"\u53D6\u6D88",keysSave:"\u4FDD\u5B58",keysAlias:"\u522B\u540D",keysAliasPlaceholder:"\u540D\u79F0\uFF08\u53EF\u9009\uFF09\uFF0C\u4F8B\u5982 \u56E2\u961F",keysValue:"\u5BC6\u94A5",keysValuePlaceholder:"\u7C98\u8D34 API \u5BC6\u94A5",keysNewValuePlaceholder:"\u7C98\u8D34\u65B0\u7684 API \u5BC6\u94A5",keysAddIllegal:"\u5BC6\u94A5\u53EA\u80FD\u662F\u53EF\u6253\u5370 ASCII \u5B57\u7B26\uFF0C\u4E14\u4E0D\u80FD\u5305\u542B\u7A7A\u683C\u3002",keysAdded:"\u5DF2\u4FDD\u5B58\u5BC6\u94A5\u3002",keysRenamed:"\u5DF2\u4FDD\u5B58\u522B\u540D\u3002",keysReplaced:"\u5DF2\u66FF\u6362\u5BC6\u94A5\u3002",keysRemoved:"\u5DF2\u5220\u9664\u5BC6\u94A5\u3002",keysEnabledNote:"\u5DF2\u542F\u7528 {name}\u3002",keysUnreachable:"\u63D2\u4EF6\u7684\u5BC6\u94A5\u63A5\u53E3\u6CA1\u6709\u54CD\u5E94\u3002",keysPanelFailed:"\u5BC6\u94A5\u7BA1\u7406\u9762\u677F\u6E32\u67D3\u5931\u8D25",headersTitle:"\u8BF7\u6C42\u5934",headersHint:"\u8BE5\u8DEF\u7531\u7684\u6BCF\u4E2A\u8BF7\u6C42\u90FD\u4F1A\u643A\u5E26\uFF08\u8BC6\u522B\u6A21\u578B\u5217\u8868\u7684\u63A2\u6D4B\u8BF7\u6C42\u4E5F\u5305\u62EC\uFF09\uFF1A\u4E2D\u8F6C\u7AD9\u7684\u8DEF\u7531\u3001\u8BA1\u91CF\u3001\u8BA4\u8BC1\u7B49\u4EFB\u610F\u8BF7\u6C42\u5934\u90FD\u53EF\u4EE5\u5199\u5728\u8FD9\u91CC\u3002",headersEmpty:"\u5C1A\u672A\u914D\u7F6E\u989D\u5916\u8BF7\u6C42\u5934\u3002",headersAdd:"\u6DFB\u52A0\u8BF7\u6C42\u5934",headersName:"\u540D\u79F0",headersNamePlaceholder:"\u4F8B\u5982 x-company",headersValue:"\u503C",headersEdit:"\u7F16\u8F91",headersSave:"\u4FDD\u5B58",headersCancel:"\u53D6\u6D88",headersClear:"\u5168\u90E8\u6E05\u7A7A",headersSaved:"\u5DF2\u4FDD\u5B58\u3002",headersCleared:"\u5DF2\u6E05\u7A7A\u2014\u2014\u8BE5\u8DEF\u7531\u4E0D\u518D\u643A\u5E26\u989D\u5916\u8BF7\u6C42\u5934\u3002",headersReadOnly:"\u5F53\u524D\u8BBE\u7F6E\u6587\u6863\u4E0D\u53EF\u5199\u5165\u3002",headersUserAgentTitle:"User-Agent\uFF08\u7531\u63D2\u4EF6\u5728\u8BF7\u6C42\u5C42\u63A5\u7BA1\uFF09",headersUserAgentHint:"\u5B98\u65B9\u9002\u914D\u5668\u4F1A\u4E22\u5F03\u914D\u7F6E\u7684 user-agent\uFF08\u8BE5\u540D\u79F0\u4FDD\u7559\u7ED9\u5BA2\u6237\u7AEF\u5F52\u5C5E\u6807\u8BC6\uFF09\uFF0C\u6240\u4EE5\u7531\u63D2\u4EF6\u5728\u8BF7\u6C42\u5C42\u8865\u4E0A\u3002\u586B\u4E86\u5C31\u4F1A\u771F\u6B63\u66FF\u6362\u4E0A\u884C\u8BF7\u6C42\u5934\u91CC\u7684 User-Agent\u3002",headersUserAgentClear:"\u4E0D\u8986\u76D6",headersUserAgentPlaceholder:"\u4F8B\u5982 claude-cli/2.1.161 (external, cli)",headersConflictOrigin:"\u540C\u4E00\u4E2A endpoint \u4E0A\u6709\u591A\u4E2A\u8DEF\u7531\u914D\u7F6E\u4E86\u4E0D\u540C\u7684\u8BF7\u6C42\u5934\u503C\uFF1A\u5F53\u8BF7\u6C42\u4F53\u91CC\u7684\u6A21\u578B\u65E0\u6CD5\u552F\u4E00\u5B9A\u4F4D\u5176\u4E2D\u4E00\u4E2A\u8DEF\u7531\u65F6\uFF0C\u8BE5\u8BF7\u6C42\u56DE\u9000\u5230\u7B2C\u4E00\u4E2A\u8DEF\u7531\u7684\u914D\u7F6E\u3002",headersConflictPatched:"\u68C0\u6D4B\u5230\u5B98\u65B9 dsh-llm-pi-ai \u5DF2\u5728\u8BF7\u6C42\u5C42\u5904\u7406\u8BF7\u6C42\u5934\uFF1A\u628A\u503C\u586B\u5728\u4E0A\u65B9\u8BF7\u6C42\u5934\u914D\u7F6E\u4E2D\u5373\u53EF\uFF0C\u65E0\u9700\u91CD\u590D\u63A5\u7BA1\u3002",headersConflictSiblings:"\u68C0\u6D4B\u5230\u4F1A\u6539\u5199\u540C\u4E00\u5C42\u7684\u540C\u7C7B\u63D2\u4EF6\uFF1A{names}\u3002\u540C\u4E00\u65F6\u95F4\u53EA\u5E94\u542F\u7528\u4E00\u79CD\u8BF7\u6C42\u5934\u6539\u5199\uFF0C\u5426\u5219\u7EBF\u4E0A\u751F\u6548\u7684\u662F\u6700\u540E\u5199\u5165\u8005\u3002",headersError:"\u4FDD\u5B58\u5931\u8D25\uFF1A{error}",headersNoRoute:"\u8BE5\u8DEF\u7531\u5DF2\u4E0D\u5728\u8BBE\u7F6E\u6587\u6863\u4E2D\u2014\u2014\u8BF7\u5148\u4FDD\u5B58\u4E00\u6B21\u5B98\u65B9\u5361\u7247\u3002",providerReorderAria:"\u62D6\u52A8\u6392\u5E8F\uFF1A{provider}",providerReorderHint:"\u62D6\u52A8\u8C03\u6574\u4F9B\u5E94\u5546\u987A\u5E8F\u2014\u2014\u6A21\u578B\u5207\u6362\u6309\u6B64\u987A\u5E8F\u663E\u793A\u3002",providerToggleAria:"\u542F\u7528 {provider}",providerToggleHint:"\u7981\u7528\u540E\u8BE5\u4F9B\u5E94\u5546\u4E0D\u5728\u6A21\u578B\u5207\u6362\u5217\u8868\u4E2D\u663E\u793A\u3002",providerRemoveDisabled:"\u5220\u9664",providerRemoveLocked:"\u5185\u7F6E\u4F9B\u5E94\u5546\u4E0D\u53EF\u5220\u9664\u3002",modelReorderAria:"\u62D6\u52A8\u6392\u5E8F\uFF1A{model}",modelReorderHint:"\u62D6\u52A8\u8C03\u6574\u8BE5\u4F9B\u5E94\u5546\u5185\u6A21\u578B\u987A\u5E8F\u2014\u2014\u6A21\u578B\u5207\u6362\u6309\u6B64\u987A\u5E8F\u663E\u793A\u3002"};var Nt="dsh-model-think-level.slider.enabled",da=["dsh-reasoning-effort.enabled","@dsh-external/dsh-reasoning-effort.enabled"],lt=la();function la(){try{let e=window.localStorage.getItem(Nt),t=e===null?da.map(n=>window.localStorage.getItem(n)).find(n=>n!==null):null;return(e??t??null)!=="false"}catch{return!0}}var On=new Set;function Yr(){for(let e of[...On])e()}function ue(){return lt}function Jr(e){if(lt!==e){lt=e;try{window.localStorage.setItem(Nt,String(e))}catch{}Yr()}}function Xr(e){lt!==e&&(lt=e,Yr())}function _t(e){return On.add(e),()=>{On.delete(e)}}var It="dsh-model-think-level.provider-order",Qr=["deepseek-account","deepseek-official"];function Qe(e){if(e===null)return[];try{let t=JSON.parse(e);return Array.isArray(t)?Nn(t.filter(n=>typeof n=="string")):[]}catch{return[]}}function Nn(e){let t=new Set,n=[];for(let r of e)r.length===0||t.has(r)||(t.add(r),n.push(r));return n}var Xe=(()=>{try{return Qe(window.localStorage.getItem(It))}catch{return[]}})(),Hn=new Set;function Zr(){for(let e of[...Hn])e()}function eo(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}function _n(){return Xe}function to(e){let t=Nn(e);if(!eo(Xe,t)){Xe=t;try{window.localStorage.setItem(It,JSON.stringify(Xe))}catch{}Zr()}}function no(e){let t=Nn(e);eo(Xe,t)||(Xe=t,Zr())}function Dt(e){return Hn.add(e),()=>{Hn.delete(e)}}function In(e){let t=n=>{let r=Qr.indexOf(n);return r<0?Qr.length:r};return e.map((n,r)=>({id:n,index:r,rank:t(n)})).sort((n,r)=>n.rank-r.rank||n.index-r.index).map(n=>n.id)}function Ze(e,t){let n=new Map;for(let s of t)n.has(s)||n.set(s,n.size);let r=[],o=[];e.forEach((s,a)=>{n.has(s)&&(r.push(a),o.push(s))}),o.sort((s,a)=>n.get(s)-n.get(a));let i=[...e];return r.forEach((s,a)=>{i[s]=o[a]}),i}function ro(e){return Ze(In(e),_n())}function Dn(e,t,n){let r=e.indexOf(t);if(r<0)return[...e];let o=[...e];o.splice(r,1);let i=Math.max(0,Math.min(o.length,n));return o.splice(i,0,t),o}var Pt="dsh-model-think-level.providers.disabled",Pn=new Set,Se=ua();function ua(){try{return Qe(window.localStorage.getItem(Pt))}catch{return[]}}function oo(e){return Qe(e)}function io(){return Se}function Ct(e){return!Se.includes(e)}function so(e,t){let n=!Se.includes(e);t!==n&&lo(t?Se.filter(r=>r!==e):[...Se,e],!0)}function ao(e){lo(e,!1)}function Ft(e){return Pn.add(e),()=>{Pn.delete(e)}}function fa(e,t){return e.length!==t.length?!1:e.every(n=>t.includes(n))}function lo(e,t){if(!fa(Se,e)){if(Se=[...new Set(e)],t)try{window.localStorage.setItem(Pt,JSON.stringify(Se))}catch{}for(let n of[...Pn])n()}}var Kt="dsh-model-think-level.model-order";function Fn(e){if(e===null)return{};try{let t=JSON.parse(e);if(t===null||typeof t!="object"||Array.isArray(t))return{};let n={};for(let[r,o]of Object.entries(t)){if(r.length===0||!Array.isArray(o))continue;let i=uo(o.filter(s=>typeof s=="string"));i.length>0&&(n[r]=i)}return n}catch{return{}}}function uo(e){let t=new Set,n=[];for(let r of e)r.length===0||t.has(r)||(t.add(r),n.push(r));return n}var Fe=(()=>{try{return Fn(window.localStorage.getItem(Kt))}catch{return{}}})(),Cn=new Set;function fo(){for(let e of[...Cn])e()}function ca(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}function pa(){try{window.localStorage.setItem(Kt,JSON.stringify(Fe))}catch{}}function co(){return Fe}function Kn(e){return Fe[e]??ma}var ma=[];function po(e,t){if(e.length===0)return;let n=uo(t),r=Kn(e);if(ca(r,n)&&(n.length>0||!(e in Fe)))return;let o={...Fe};n.length===0?delete o[e]:o[e]=n,Fe=o,pa(),fo()}function mo(e){Fe=e,fo()}function qt(e){return Cn.add(e),()=>{Cn.delete(e)}}function ga(e,t){return Ze(e,t)}function go(e,t){return Ze(t,Kn(e))}function ho(e,t){if(e.length===0||t.length===0)return e;let n=new Map(e.map(r=>[r.id,r]));return ga(e.map(r=>r.id),t).map(r=>n.get(r))}var bo=`
|
|
7
|
+
"use strict";var Dt=Object.defineProperty;var da=Object.getOwnPropertyDescriptor;var la=Object.getOwnPropertyNames;var ua=Object.prototype.hasOwnProperty;var fa=(e,t,n)=>t in e?Dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ca=(e,t)=>{for(var n in t)Dt(e,n,{get:t[n],enumerable:!0})},pa=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of la(t))!ua.call(e,o)&&o!==n&&Dt(e,o,{get:()=>t[o],enumerable:!(r=da(t,o))||r.enumerable});return e};var ma=e=>pa(Dt({},"__esModule",{value:!0}),e);var Gr=(e,t,n)=>fa(e,typeof t!="symbol"?t+"":t,n);var pu={};ca(pu,{EffortEditor:()=>on,apply:()=>cu,baselineModelsOf:()=>Vo,compatOf:()=>Zt,createEditorApi:()=>nn,defaultEffortOf:()=>tn,describeNamespace:()=>ne,effortsOf:()=>Xt,findModelMenu:()=>Cr,findModelTrigger:()=>Fr,inject:()=>fu,inputOf:()=>Qt,name:()=>uu,nameOf:()=>en,providerHeadersOf:()=>ir,providersOf:()=>we,userProvidersOf:()=>or,writeModelRows:()=>bt,writeProviderHeaders:()=>sr});module.exports=ma(pu);var Gs=require("react");var Q="dsh-model-think-level",$r="/dsh-model-think-level/raw-models";var Pt="/dsh-model-think-level/provider-key",Vr="/dsh-model-think-level/key-index",Yr="/dsh-model-think-level/autofill-config",Jr="/dsh-model-think-level/headers-config",re="llm-pi-ai",ae="reasoningEffortsUnset",Me="inputUnset",Je="reasoningEffortsAutofilled",Xe="defaultEffort",Dn=Q;var ft=require("react");function Xr(e){let{locale:t}=e,n=(0,ft.useCallback)(o=>t.subscribe(o),[t]),r=(0,ft.useCallback)(()=>t.getSnapshot().revision??0,[t]);return(0,ft.useSyncExternalStore)(n,r),e.children()}var Qr={reasoningEffort:"Reasoning effort",thinkingMode:"Thinking",thinkingModeOff:"Off \u2014 this model is declared as not reasoning.",autoAdapt:"Auto-adapt",autoAdaptAll:"Auto-detect thinking levels",autoAdaptWorking:"Detecting\u2026",autoAdaptDone:"Adapted {count} \xB7 save to write",autoAdaptEmpty:"All already configured",autoAdaptUnsuggested:"No suggestion available",autoAdaptBlocked:"No models to adapt yet",autoAdaptFailed:"Detection failed: {message}",autoAdaptDoneHint:"Held for {count} model(s): they land when this card is saved.",autoAdaptEmptyHint:"Every model of this provider already declares its thinking levels.",autoAdaptUnsuggestedHint:"The models that still need a declaration have no knowledge-base match \u2014 adapt them one by one.",autoAdaptBlockedHint:"Nothing to adapt yet: the card has no models, is not saved, or the settings document is read-only.",apply:"Apply",reset:"Reset",pendingSave:"Modified \u2014 it will be written when you save this card.",pendingHint:"Cancel or reload discards it, exactly like the card's own fields.",appliedHint:"Applied suggestion from {source} \xB7 confidence: {confidence}",inputHintEndpoint:"Modality advice comes from the endpoint listing.",inputHintKnowledge:"Modality advice comes from the knowledge base.",inputHintHeuristic:"Modality guessed from the name alone (low confidence) \u2014 verify.",referenceTitle:"Reference capacities (hints only, never auto-filled)",contextWindowLabel:"Context window",maxTokensLabel:"Max output",inputModality:"Input modalities",modalityImage:"Image input",modalityInherit:"Not declared \u2014 the provider default applies (usually text-only).",clearDeclaration:"Clear declaration",confidence_high:"high",confidence_medium:"medium",confidence_low:"low \u2014 verify before relying on it",noSuggestion:"No suggestion is available for this model.",conflict:"The settings document kept changing under this edit. Wait a moment, then apply again.",writeError:"Failed: {message}",renderFailed:"Reasoning-effort editor failed to render",wirePlaceholder:"Wire value",wireValue:"value",reasoningDisabled:"No reasoning-effort control declared for this model (false) \u2014 do not arm thinking levels.",bareHint:"Clearing every level removes the declaration \u2014 requests go out bare (provider default), which some relays require.",defaultRiskDisabled:"No off level: Default and provider tests send thinking: disabled, which this model rejects (e.g. 1210).",defaultRiskQwen:"No off level: Default sends enable_thinking: false \u2014 only fails where the upstream requires thinking on.",stagedHint:"Not saved yet. Staged settings are applied automatically once the model is saved.",level_off:"off",level_minimal:"minimal",level_low:"low",level_medium:"medium",level_high:"high",level_xhigh:"xhigh",level_max:"max",sliderToggleTitle:"Model and reasoning-effort rows",sliderToggleDescription:"Show the model row and the reasoning-level chips in the model menu; the levels follow the current model.",sliderToggleAria:"Enable the model and reasoning-effort rows",settingOn:"On",settingOff:"Off",sliderEffortAria:"Reasoning effort",sliderNoLevels:"The current model exposes no reasoning-effort levels.",triggerFallback:"Select model",effortDefault:"Default",modelRowLabel:"Model",effortRowLabel:"Reasoning level",tagVision:"Image input",tagThinking:"Sends thinking levels",sliderEffortTitle:"Reasoning effort \xB7 {name}",sliderEffortTitleError:"Reasoning effort failed: {error}",sliderNoCurrent:"No model selected.",compatTitle:"Endpoint compatibility",budgetFieldLabel:"Thinking budget field",budgetFieldHint:"Which parameter carries the thinking-token budget: some vLLM and self-hosted endpoints read thinking_token_budget, others thinking_budget or thinking_budget_tokens. Unset sends none of them.",budgetUnset:"Not set",defaultEffortLabel:"Default effort",defaultEffortUnset:"Follow memory",defaultEffortHint:"The level every new session starts this model at \u2014 it outranks the remembered levels. Within a session, a level you pick by hand always wins. Empty follows the memory chain.",clearDefaultEffort:"Clear pick",priorityLabel:"vLLM priority",priorityPlaceholder:"e.g. 0",priorityHint:"Scheduler priority for endpoints started with --priority, where lower runs first. Leave empty to send nothing.",priorityInvalid:"Priority must be an integer \u2014 it is not saved until fixed.",maxOutputLabel:"max_output_tokens in requests",maxOutputUnset:"Unset \u2014 follow the protocol default",maxOutputOn:"Send it",maxOutputOff:"Omit it",maxOutputHint:'For Responses-protocol gateways only, and only when a request carries an output cap: some of them reject the parameter, so "Omit it" keeps the cap out of the request entirely. Unset is the safe choice.',aliasMigrated:"Legacy alias detected \u2014 saving writes the explicit budget field.",modelSearchPlaceholder:"Search models\u2026",modelSearchNoMatches:"No matching models",modelSearchClear:"Clear search",modelSearchFailed:"Model search failed to render",editorTabsLabel:"Editor sections",editorTabProvider:"Provider",editorTabModels:"Models",editorTabAdvanced:"Advanced",keyRevealShow:"Show key",keyRevealHide:"Hide key",keyRevealFailed:"Stored key unavailable",keysLoading:"Loading keys\u2026",keysAdd:"Add another key",keysAddConfirm:"Add",keysEnable:"Use {name}",keysEnabled:"Enabled",keysMissing:"Not stored",keysEdit:"Edit",keysRemove:"Delete",keysConfirmRemove:"Confirm delete",keysCancel:"Cancel",keysSave:"Save",keysAlias:"Label",keysAliasPlaceholder:"Name (optional), e.g. Team",keysValue:"Key",keysValuePlaceholder:"Paste the API key",keysNewValuePlaceholder:"Paste the new API key",keysAddIllegal:"A key is printable ASCII without spaces.",keysAdded:"Key stored.",keysRenamed:"Label saved.",keysReplaced:"Key replaced.",keysRemoved:"Key removed.",keysEnabledNote:"{name} is now in use.",keysUnreachable:"The plugin\u2019s key route did not answer.",keysPanelFailed:"Key manager failed to render",headersTitle:"Request headers",headersHint:"Sent on every request of this route.",headersEmpty:"No extra request headers are configured.",headersAdd:"Add header",headersName:"Name",headersNamePlaceholder:"e.g. x-company",headersValue:"Value",headersEdit:"Edit",headersSave:"Save",headersCancel:"Cancel",headersClear:"Clear all",headersSaved:"Saved.",headersCleared:"Cleared \u2014 this route sends no extra request headers.",headersReadOnly:"The settings document is not writable.",headersUserAgentTitle:"User-Agent (taken over at the fetch layer)",headersUserAgentHint:"The official adapter discards a configured user-agent \u2014 the name is reserved for client attribution \u2014 so this plugin adds it at the request layer. Filling it in really does replace the outgoing User-Agent.",headersUserAgentClear:"Do not override",headersUserAgentPlaceholder:"e.g. claude-cli/2.1.161 (external, cli)",headersConflictOrigin:"Routes sharing one endpoint declare different request-header values: when the model in a request body does not identify exactly one of them, that request falls back to the first route.",headersConflictPatched:"The installed dsh-llm-pi-ai already carries a request-header patch: enter values in the headers above and this plugin need not take the request layer over.",headersConflictSiblings:"A plugin rewriting the same layer is installed: {names}. Only one user-agent rewrite should be active at a time, or the last writer on the wire wins.",headersError:"Save failed: {error}",headersNoRoute:"This route is no longer in the settings document \u2014 save the official card once first.",providerReorderAria:"Reorder {provider}",providerReorderHint:"Drag to set the provider order \u2014 the model switcher follows it.",providerToggleAria:"Enable {provider}",providerToggleHint:"A disabled provider is not listed by the model switcher.",providerRemoveDisabled:"Delete",providerRemoveLocked:"A built-in provider cannot be deleted.",modelReorderAria:"Reorder {model}",modelReorderHint:"Drag to set the order of this provider\u2019s models \u2014 the model switcher follows it."},Zr={reasoningEffort:"\u601D\u8003\u5F3A\u5EA6",thinkingMode:"\u601D\u8003",thinkingModeOff:"\u5DF2\u5173\u95ED\u2014\u2014\u8BE5\u6A21\u578B\u58F0\u660E\u4E3A\u4E0D\u601D\u8003\u3002",autoAdapt:"\u81EA\u52A8\u9002\u914D",autoAdaptAll:"\u81EA\u52A8\u83B7\u53D6\u601D\u8003\u7B49\u7EA7",autoAdaptWorking:"\u83B7\u53D6\u4E2D\u2026",autoAdaptDone:"\u5DF2\u9002\u914D {count} \u4E2A\xB7\u4FDD\u5B58\u540E\u5199\u5165",autoAdaptEmpty:"\u5DF2\u5168\u90E8\u914D\u7F6E",autoAdaptUnsuggested:"\u6CA1\u6709\u53EF\u7528\u5EFA\u8BAE",autoAdaptBlocked:"\u6682\u65E0\u53EF\u9002\u914D\u6A21\u578B",autoAdaptFailed:"\u83B7\u53D6\u5931\u8D25\uFF1A{message}",autoAdaptDoneHint:"\u5DF2\u6682\u5B58 {count} \u4E2A\u6A21\u578B\u7684\u9002\u914D\u7ED3\u679C\uFF1A\u70B9\u8BE5\u5361\u7247\u7684\u300C\u4FDD\u5B58\u300D\u540E\u5199\u5165\u3002",autoAdaptEmptyHint:"\u8BE5\u4F9B\u5E94\u5546\u4E0B\u6240\u6709\u6A21\u578B\u90FD\u5DF2\u58F0\u660E\u601D\u8003\u7B49\u7EA7\u3002",autoAdaptUnsuggestedHint:"\u4ECD\u9700\u58F0\u660E\u7684\u6A21\u578B\u6CA1\u6709\u77E5\u8BC6\u5E93\u5339\u914D\u2014\u2014\u8BF7\u9010\u4E2A\u6253\u5F00\u6A21\u578B\u884C\u624B\u52A8\u9002\u914D\u3002",autoAdaptBlockedHint:"\u6682\u65E0\u53EF\u9002\u914D\u5185\u5BB9\uFF1A\u8BE5\u5361\u7247\u8FD8\u6CA1\u6709\u6A21\u578B\u3001\u5C1A\u672A\u4FDD\u5B58\uFF0C\u6216\u5F53\u524D\u8BBE\u7F6E\u6587\u6863\u4E0D\u53EF\u5199\u5165\u3002",apply:"\u5E94\u7528",reset:"\u653E\u5F03\u4FEE\u6539",pendingSave:"\u5DF2\u4FEE\u6539\u2014\u2014\u70B9\u5361\u7247\u300C\u4FDD\u5B58\u300D\u65F6\u4E00\u8D77\u5199\u5165\u3002",pendingHint:"\u70B9\u300C\u53D6\u6D88\u300D\u6216\u5237\u65B0\u9875\u9762\u4F1A\u4E00\u5E76\u4E22\u5F03\uFF0C\u4E0E\u5361\u7247\u81EA\u8EAB\u7684\u5B57\u6BB5\u4E00\u81F4\u3002",appliedHint:"\u5DF2\u6309 {source} \u5E94\u7528\u5EFA\u8BAE \xB7 \u7F6E\u4FE1\u5EA6\uFF1A{confidence}",inputHintEndpoint:"\u6A21\u6001\u5EFA\u8BAE\u6765\u81EA\u7AEF\u70B9\u5217\u8868\u3002",inputHintKnowledge:"\u6A21\u6001\u5EFA\u8BAE\u6765\u81EA\u77E5\u8BC6\u5E93\u3002",inputHintHeuristic:"\u6A21\u6001\u5EFA\u8BAE\u4EC5\u6309\u547D\u540D\u63A8\u65AD\uFF08\u4F4E\u7F6E\u4FE1\u5EA6\uFF09\uFF0C\u8BF7\u6838\u5BF9\u3002",referenceTitle:"\u53C2\u8003\u5BB9\u91CF\uFF08\u4EC5\u63D0\u793A\uFF0C\u4E0D\u81EA\u52A8\u586B\u5145\uFF09",contextWindowLabel:"\u4E0A\u4E0B\u6587\u7A97\u53E3",maxTokensLabel:"\u6700\u5927\u8F93\u51FA",inputModality:"\u8F93\u5165\u6A21\u6001",modalityImage:"\u56FE\u7247\u8F93\u5165",modalityInherit:"\u672A\u58F0\u660E\u2014\u2014\u7EE7\u627F\u63D0\u4F9B\u65B9\u9ED8\u8BA4\uFF08\u901A\u5E38\u4EC5\u6587\u672C\uFF09\u3002",clearDeclaration:"\u6E05\u9664\u58F0\u660E",confidence_high:"\u9AD8",confidence_medium:"\u4E2D",confidence_low:"\u4F4E\uFF08\u5EFA\u8BAE\u6838\u5BF9\uFF09",noSuggestion:"\u6CA1\u6709\u9002\u7528\u4E8E\u8BE5\u6A21\u578B\u7684\u5EFA\u8BAE\u3002",conflict:"\u8BBE\u7F6E\u6587\u6863\u5728\u4FDD\u5B58\u671F\u95F4\u6301\u7EED\u53D8\u5316\uFF0C\u8BF7\u7A0D\u5019\u518D\u6B21\u5E94\u7528\u3002",writeError:"\u5199\u5165\u5931\u8D25\uFF1A{message}",renderFailed:"\u601D\u8003\u5F3A\u5EA6\u7F16\u8F91\u5668\u6E32\u67D3\u5931\u8D25",wirePlaceholder:"\u7EBF\u4E0A\u53D6\u503C",wireValue:"\u53D6\u503C",reasoningDisabled:"\u8BE5\u6A21\u578B\u58F0\u660E\u4E3A\u65E0 reasoning-effort \u63A7\u5236\uFF08false\uFF09\u2014\u2014\u8BF7\u52FF\u52FE\u9009\u601D\u8003\u6863\u3002",bareHint:"\u5168\u90E8\u53D6\u6D88\u5E76\u4FDD\u5B58\u5C06\u6E05\u9664\u58F0\u660E\u2014\u2014\u8BF7\u6C42\u4EE5\u88F8\u683C\u5F0F\u53D1\u51FA\uFF08\u8D70\u63D0\u4F9B\u65B9\u9ED8\u8BA4\uFF09\uFF0C\u90E8\u5206\u4E2D\u8F6C\u7AD9\u9700\u8981\u8FD9\u6837\u3002",defaultRiskDisabled:"\u65E0 off \u6863\uFF1ADefault \u4E0E\u63D0\u4F9B\u5546\u6D4B\u8BD5\u4F1A\u53D1\u9001 thinking: disabled\uFF0C\u8BE5\u6A21\u578B\u4F1A\u62A5\u9519\uFF08\u5982 1210\uFF09\u3002",defaultRiskQwen:"\u65E0 off \u6863\uFF1ADefault \u4F1A\u53D1\u9001 enable_thinking: false\u2014\u2014\u4EC5\u5728\u4E0A\u6E38\u8981\u6C42\u5F00\u542F\u601D\u8003\u65F6\u624D\u4F1A\u5931\u8D25\u3002",stagedHint:"\u5C1A\u672A\u4FDD\u5B58\u3002\u6682\u5B58\u7684\u914D\u7F6E\u5C06\u5728\u8BE5\u6A21\u578B\u4FDD\u5B58\u540E\u81EA\u52A8\u5E94\u7528\u3002",level_off:"off",level_minimal:"minimal",level_low:"low",level_medium:"medium",level_high:"high",level_xhigh:"xhigh",level_max:"max",sliderToggleTitle:"\u6A21\u578B\u4E0E\u601D\u8003\u7B49\u7EA7\u884C",sliderToggleDescription:"\u5728\u6A21\u578B\u83DC\u5355\u4E2D\u663E\u793A\u6A21\u578B\u884C\u4E0E\u601D\u8003\u7B49\u7EA7\u6807\u7B7E\uFF0C\u6863\u4F4D\u968F\u5F53\u524D\u6A21\u578B\u81EA\u52A8\u9002\u914D",sliderToggleAria:"\u542F\u7528\u6A21\u578B\u4E0E\u601D\u8003\u7B49\u7EA7\u884C",settingOn:"\u542F\u7528",settingOff:"\u505C\u7528",sliderEffortAria:"\u601D\u8003\u5F3A\u5EA6",sliderNoLevels:"\u5F53\u524D\u6A21\u578B\u672A\u63D0\u4F9B\u601D\u8003\u5F3A\u5EA6\u6863\u4F4D",triggerFallback:"\u9009\u62E9\u6A21\u578B",effortDefault:"\u9ED8\u8BA4",modelRowLabel:"\u6A21\u578B",effortRowLabel:"\u601D\u8003\u7B49\u7EA7",tagVision:"\u652F\u6301\u56FE\u7247\u8F93\u5165",tagThinking:"\u652F\u6301\u601D\u8003\u7B49\u7EA7",sliderEffortTitle:"\u601D\u8003\u5F3A\u5EA6 \xB7 {name}",sliderEffortTitleError:"\u601D\u8003\u5F3A\u5EA6\u8BBE\u7F6E\u5931\u8D25\uFF1A{error}",sliderNoCurrent:"\u5F53\u524D\u65E0\u9009\u62E9\u4E2D\u7684\u6A21\u578B\u3002",compatTitle:"\u7AEF\u70B9\u517C\u5BB9",budgetFieldLabel:"\u601D\u8003\u9884\u7B97\u5B57\u6BB5",budgetFieldHint:"\u601D\u8003 token \u9884\u7B97\u7528\u54EA\u4E2A\u53C2\u6570\u53D1\u9001\uFF1A\u90E8\u5206 vLLM\uFF0F\u81EA\u5EFA\u7AEF\u70B9\u8BFB thinking_token_budget\uFF0C\u53E6\u4E00\u4E9B\u8BFB thinking_budget \u6216 thinking_budget_tokens\u3002\u672A\u8BBE\u7F6E\u8868\u793A\u4E09\u4E2A\u90FD\u4E0D\u53D1\u9001\u3002",budgetUnset:"\u672A\u8BBE\u7F6E",defaultEffortLabel:"\u9ED8\u8BA4\u601D\u8003\u5F3A\u5EA6",defaultEffortUnset:"\u8DDF\u968F\u8BB0\u5FC6",defaultEffortHint:"\u6BCF\u4E2A\u65B0\u4F1A\u8BDD\u6253\u5F00\u8BE5\u6A21\u578B\u65F6\u4F7F\u7528\u7684\u6863\u4F4D\u2014\u2014\u4F18\u5148\u4E8E\u8BB0\u4F4F\u7684\u4E0A\u6B21\u6863\u4F4D\u3002\u4F1A\u8BDD\u5185\u624B\u52A8\u9009\u62E9\u7684\u6863\u4F4D\u59CB\u7EC8\u6700\u9AD8\u3002\u7559\u7A7A\u5219\u8DDF\u968F\u8BB0\u5FC6\u94FE\u3002",clearDefaultEffort:"\u6E05\u9664\u9009\u62E9",priorityLabel:"vLLM \u4F18\u5148\u7EA7",priorityPlaceholder:"\u4F8B\u5982 0",priorityHint:"\u4EE5 --priority \u542F\u52A8\u7684\u7AEF\u70B9\u7684\u8C03\u5EA6\u4F18\u5148\u7EA7\uFF0C\u6570\u503C\u8D8A\u5C0F\u8D8A\u5148\u6267\u884C\u3002\u7559\u7A7A\u8868\u793A\u4E0D\u53D1\u9001\u3002",priorityInvalid:"\u4F18\u5148\u7EA7\u5FC5\u987B\u662F\u6574\u6570\u2014\u2014\u4FEE\u6B63\u524D\u4E0D\u4F1A\u4FDD\u5B58\u3002",maxOutputLabel:"\u8BF7\u6C42\u4E2D\u7684 max_output_tokens",maxOutputUnset:"\u672A\u8BBE\u7F6E\u2014\u2014\u8DDF\u968F\u534F\u8BAE\u9ED8\u8BA4",maxOutputOn:"\u53D1\u9001",maxOutputOff:"\u4E0D\u53D1\u9001",maxOutputHint:'\u4EC5\u5BF9 Responses \u534F\u8BAE\u7684\u7F51\u5173\u751F\u6548\uFF0C\u4E14\u53EA\u5728\u8BF7\u6C42\u5E26\u8F93\u51FA\u4E0A\u9650\u65F6\u624D\u8D77\u4F5C\u7528\uFF1A\u90E8\u5206\u7F51\u5173\u4F1A\u62D2\u6536\u8BE5\u53C2\u6570\uFF0C\u9009"\u4E0D\u53D1\u9001"\u53EF\u8BA9\u8BF7\u6C42\u5B8C\u5168\u4E0D\u643A\u5E26\u8F93\u51FA\u4E0A\u9650\u3002\u672A\u8BBE\u7F6E\u662F\u6700\u5B89\u5168\u7684\u9009\u62E9\u3002',aliasMigrated:"\u68C0\u6D4B\u5230\u65E7\u522B\u540D\u2014\u2014\u4FDD\u5B58\u65F6\u4F1A\u5199\u5165\u663E\u5F0F\u9884\u7B97\u5B57\u6BB5\u3002",modelSearchPlaceholder:"\u641C\u7D22\u6A21\u578B\u2026",modelSearchNoMatches:"\u672A\u627E\u5230\u5339\u914D\u6A21\u578B",modelSearchClear:"\u6E05\u7A7A\u641C\u7D22",modelSearchFailed:"\u6A21\u578B\u641C\u7D22\u6E32\u67D3\u5931\u8D25",editorTabsLabel:"\u7F16\u8F91\u5668\u5206\u533A",editorTabProvider:"\u4F9B\u5E94\u5546\u914D\u7F6E",editorTabModels:"\u6A21\u578B\u914D\u7F6E",editorTabAdvanced:"\u9AD8\u7EA7\u914D\u7F6E",keyRevealShow:"\u663E\u793A\u5BC6\u94A5",keyRevealHide:"\u9690\u85CF\u5BC6\u94A5",keyRevealFailed:"\u65E0\u6CD5\u8BFB\u53D6\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5",keysLoading:"\u6B63\u5728\u8BFB\u53D6\u5BC6\u94A5\u2026",keysAdd:"\u6DFB\u52A0\u53E6\u4E00\u4E2A\u5BC6\u94A5",keysAddConfirm:"\u6DFB\u52A0",keysEnable:"\u542F\u7528 {name}",keysEnabled:"\u542F\u7528",keysMissing:"\u672A\u5B58\u50A8",keysEdit:"\u4FEE\u6539",keysRemove:"\u5220\u9664",keysConfirmRemove:"\u786E\u8BA4\u5220\u9664",keysCancel:"\u53D6\u6D88",keysSave:"\u4FDD\u5B58",keysAlias:"\u522B\u540D",keysAliasPlaceholder:"\u540D\u79F0\uFF08\u53EF\u9009\uFF09\uFF0C\u4F8B\u5982 \u56E2\u961F",keysValue:"\u5BC6\u94A5",keysValuePlaceholder:"\u7C98\u8D34 API \u5BC6\u94A5",keysNewValuePlaceholder:"\u7C98\u8D34\u65B0\u7684 API \u5BC6\u94A5",keysAddIllegal:"\u5BC6\u94A5\u53EA\u80FD\u662F\u53EF\u6253\u5370 ASCII \u5B57\u7B26\uFF0C\u4E14\u4E0D\u80FD\u5305\u542B\u7A7A\u683C\u3002",keysAdded:"\u5DF2\u4FDD\u5B58\u5BC6\u94A5\u3002",keysRenamed:"\u5DF2\u4FDD\u5B58\u522B\u540D\u3002",keysReplaced:"\u5DF2\u66FF\u6362\u5BC6\u94A5\u3002",keysRemoved:"\u5DF2\u5220\u9664\u5BC6\u94A5\u3002",keysEnabledNote:"\u5DF2\u542F\u7528 {name}\u3002",keysUnreachable:"\u63D2\u4EF6\u7684\u5BC6\u94A5\u63A5\u53E3\u6CA1\u6709\u54CD\u5E94\u3002",keysPanelFailed:"\u5BC6\u94A5\u7BA1\u7406\u9762\u677F\u6E32\u67D3\u5931\u8D25",headersTitle:"\u8BF7\u6C42\u5934",headersHint:"\u8BE5\u8DEF\u7531\u7684\u6BCF\u4E2A\u8BF7\u6C42\u90FD\u4F1A\u643A\u5E26\u81EA\u5B9A\u4E49\u8BF7\u6C42\u5934\u3002",headersEmpty:"\u5C1A\u672A\u914D\u7F6E\u989D\u5916\u8BF7\u6C42\u5934\u3002",headersAdd:"\u6DFB\u52A0\u8BF7\u6C42\u5934",headersName:"\u540D\u79F0",headersNamePlaceholder:"\u4F8B\u5982 x-company",headersValue:"\u503C",headersEdit:"\u7F16\u8F91",headersSave:"\u4FDD\u5B58",headersCancel:"\u53D6\u6D88",headersClear:"\u5168\u90E8\u6E05\u7A7A",headersSaved:"\u5DF2\u4FDD\u5B58\u3002",headersCleared:"\u5DF2\u6E05\u7A7A\u2014\u2014\u8BE5\u8DEF\u7531\u4E0D\u518D\u643A\u5E26\u989D\u5916\u8BF7\u6C42\u5934\u3002",headersReadOnly:"\u5F53\u524D\u8BBE\u7F6E\u6587\u6863\u4E0D\u53EF\u5199\u5165\u3002",headersUserAgentTitle:"User-Agent\uFF08\u7531\u63D2\u4EF6\u5728\u8BF7\u6C42\u5C42\u63A5\u7BA1\uFF09",headersUserAgentHint:"\u5B98\u65B9\u9002\u914D\u5668\u4F1A\u4E22\u5F03\u914D\u7F6E\u7684 user-agent\uFF08\u8BE5\u540D\u79F0\u4FDD\u7559\u7ED9\u5BA2\u6237\u7AEF\u5F52\u5C5E\u6807\u8BC6\uFF09\uFF0C\u6240\u4EE5\u7531\u63D2\u4EF6\u5728\u8BF7\u6C42\u5C42\u8865\u4E0A\u3002\u586B\u4E86\u5C31\u4F1A\u771F\u6B63\u66FF\u6362\u4E0A\u884C\u8BF7\u6C42\u5934\u91CC\u7684 User-Agent\u3002",headersUserAgentClear:"\u4E0D\u8986\u76D6",headersUserAgentPlaceholder:"\u4F8B\u5982 claude-cli/2.1.161 (external, cli)",headersConflictOrigin:"\u540C\u4E00\u4E2A endpoint \u4E0A\u6709\u591A\u4E2A\u8DEF\u7531\u914D\u7F6E\u4E86\u4E0D\u540C\u7684\u8BF7\u6C42\u5934\u503C\uFF1A\u5F53\u8BF7\u6C42\u4F53\u91CC\u7684\u6A21\u578B\u65E0\u6CD5\u552F\u4E00\u5B9A\u4F4D\u5176\u4E2D\u4E00\u4E2A\u8DEF\u7531\u65F6\uFF0C\u8BE5\u8BF7\u6C42\u56DE\u9000\u5230\u7B2C\u4E00\u4E2A\u8DEF\u7531\u7684\u914D\u7F6E\u3002",headersConflictPatched:"\u68C0\u6D4B\u5230\u5B98\u65B9 dsh-llm-pi-ai \u5DF2\u5728\u8BF7\u6C42\u5C42\u5904\u7406\u8BF7\u6C42\u5934\uFF1A\u628A\u503C\u586B\u5728\u4E0A\u65B9\u8BF7\u6C42\u5934\u914D\u7F6E\u4E2D\u5373\u53EF\uFF0C\u65E0\u9700\u91CD\u590D\u63A5\u7BA1\u3002",headersConflictSiblings:"\u68C0\u6D4B\u5230\u4F1A\u6539\u5199\u540C\u4E00\u5C42\u7684\u540C\u7C7B\u63D2\u4EF6\uFF1A{names}\u3002\u540C\u4E00\u65F6\u95F4\u53EA\u5E94\u542F\u7528\u4E00\u79CD\u8BF7\u6C42\u5934\u6539\u5199\uFF0C\u5426\u5219\u7EBF\u4E0A\u751F\u6548\u7684\u662F\u6700\u540E\u5199\u5165\u8005\u3002",headersError:"\u4FDD\u5B58\u5931\u8D25\uFF1A{error}",headersNoRoute:"\u8BE5\u8DEF\u7531\u5DF2\u4E0D\u5728\u8BBE\u7F6E\u6587\u6863\u4E2D\u2014\u2014\u8BF7\u5148\u4FDD\u5B58\u4E00\u6B21\u5B98\u65B9\u5361\u7247\u3002",providerReorderAria:"\u62D6\u52A8\u6392\u5E8F\uFF1A{provider}",providerReorderHint:"\u62D6\u52A8\u8C03\u6574\u4F9B\u5E94\u5546\u987A\u5E8F\u2014\u2014\u6A21\u578B\u5207\u6362\u6309\u6B64\u987A\u5E8F\u663E\u793A\u3002",providerToggleAria:"\u542F\u7528 {provider}",providerToggleHint:"\u7981\u7528\u540E\u8BE5\u4F9B\u5E94\u5546\u4E0D\u5728\u6A21\u578B\u5207\u6362\u5217\u8868\u4E2D\u663E\u793A\u3002",providerRemoveDisabled:"\u5220\u9664",providerRemoveLocked:"\u5185\u7F6E\u4F9B\u5E94\u5546\u4E0D\u53EF\u5220\u9664\u3002",modelReorderAria:"\u62D6\u52A8\u6392\u5E8F\uFF1A{model}",modelReorderHint:"\u62D6\u52A8\u8C03\u6574\u8BE5\u4F9B\u5E94\u5546\u5185\u6A21\u578B\u987A\u5E8F\u2014\u2014\u6A21\u578B\u5207\u6362\u6309\u6B64\u987A\u5E8F\u663E\u793A\u3002"};var Ct="dsh-model-think-level.slider.enabled",ga=["dsh-reasoning-effort.enabled","@dsh-external/dsh-reasoning-effort.enabled"],ct=ha();function ha(){try{let e=window.localStorage.getItem(Ct),t=e===null?ga.map(n=>window.localStorage.getItem(n)).find(n=>n!==null):null;return(e??t??null)!=="false"}catch{return!0}}var Pn=new Set;function eo(){for(let e of[...Pn])e()}function fe(){return ct}function to(e){if(ct!==e){ct=e;try{window.localStorage.setItem(Ct,String(e))}catch{}eo()}}function no(e){ct!==e&&(ct=e,eo())}function Ft(e){return Pn.add(e),()=>{Pn.delete(e)}}var Kt="dsh-model-think-level.provider-order",ro=["deepseek-account","deepseek-official"];function Ze(e){if(e===null)return[];try{let t=JSON.parse(e);return Array.isArray(t)?Fn(t.filter(n=>typeof n=="string")):[]}catch{return[]}}function Fn(e){let t=new Set,n=[];for(let r of e)r.length===0||t.has(r)||(t.add(r),n.push(r));return n}var Qe=(()=>{try{return Ze(window.localStorage.getItem(Kt))}catch{return[]}})(),Cn=new Set;function oo(){for(let e of[...Cn])e()}function io(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}function Kn(){return Qe}function so(e){let t=Fn(e);if(!io(Qe,t)){Qe=t;try{window.localStorage.setItem(Kt,JSON.stringify(Qe))}catch{}oo()}}function ao(e){let t=Fn(e);io(Qe,t)||(Qe=t,oo())}function Bt(e){return Cn.add(e),()=>{Cn.delete(e)}}function Bn(e){let t=n=>{let r=ro.indexOf(n);return r<0?ro.length:r};return e.map((n,r)=>({id:n,index:r,rank:t(n)})).sort((n,r)=>n.rank-r.rank||n.index-r.index).map(n=>n.id)}function et(e,t){let n=new Map;for(let s of t)n.has(s)||n.set(s,n.size);let r=[],o=[];e.forEach((s,a)=>{n.has(s)&&(r.push(a),o.push(s))}),o.sort((s,a)=>n.get(s)-n.get(a));let i=[...e];return r.forEach((s,a)=>{i[s]=o[a]}),i}function lo(e){return et(Bn(e),Kn())}function Wn(e,t,n){let r=e.indexOf(t);if(r<0)return[...e];let o=[...e];o.splice(r,1);let i=Math.max(0,Math.min(o.length,n));return o.splice(i,0,t),o}var Wt="dsh-model-think-level.providers.disabled",qn=new Set,Se=ba();function ba(){try{return Ze(window.localStorage.getItem(Wt))}catch{return[]}}function uo(e){return Ze(e)}function fo(){return Se}function qt(e){return!Se.includes(e)}function co(e,t){let n=!Se.includes(e);t!==n&&mo(t?Se.filter(r=>r!==e):[...Se,e],!0)}function po(e){mo(e,!1)}function Ut(e){return qn.add(e),()=>{qn.delete(e)}}function ya(e,t){return e.length!==t.length?!1:e.every(n=>t.includes(n))}function mo(e,t){if(!ya(Se,e)){if(Se=[...new Set(e)],t)try{window.localStorage.setItem(Wt,JSON.stringify(Se))}catch{}for(let n of[...qn])n()}}var jt="dsh-model-think-level.model-order";function jn(e){if(e===null)return{};try{let t=JSON.parse(e);if(t===null||typeof t!="object"||Array.isArray(t))return{};let n={};for(let[r,o]of Object.entries(t)){if(r.length===0||!Array.isArray(o))continue;let i=go(o.filter(s=>typeof s=="string"));i.length>0&&(n[r]=i)}return n}catch{return{}}}function go(e){let t=new Set,n=[];for(let r of e)r.length===0||t.has(r)||(t.add(r),n.push(r));return n}var Ke=(()=>{try{return jn(window.localStorage.getItem(jt))}catch{return{}}})(),Un=new Set;function ho(){for(let e of[...Un])e()}function wa(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}function va(){try{window.localStorage.setItem(jt,JSON.stringify(Ke))}catch{}}function bo(){return Ke}function zn(e){return Ke[e]??xa}var xa=[];function yo(e,t){if(e.length===0)return;let n=go(t),r=zn(e);if(wa(r,n)&&(n.length>0||!(e in Ke)))return;let o={...Ke};n.length===0?delete o[e]:o[e]=n,Ke=o,va(),ho()}function wo(e){Ke=e,ho()}function zt(e){return Un.add(e),()=>{Un.delete(e)}}function ka(e,t){return et(e,t)}function vo(e,t){return et(t,zn(e))}function xo(e,t){if(e.length===0||t.length===0)return e;let n=new Map(e.map(r=>[r.id,r]));return ka(e.map(r=>r.id),t).map(r=>n.get(r))}var ko=`
|
|
8
8
|
/* The injector's mount wrapper. It \u2014 not the editor inside it \u2014 is the item
|
|
9
9
|
placed into the official row disclosure's repeat(auto-fit, minmax(160px,1fr))
|
|
10
10
|
grid (context window and max tokens take two cells), so the span belongs
|
|
@@ -470,6 +470,40 @@ window.__ModuleLoader__.load({
|
|
|
470
470
|
.bre-tag-icon { display: block; width: 13px; height: 13px; }
|
|
471
471
|
.bre-option-check { flex: none; width: 14px; height: 14px; }
|
|
472
472
|
.bre-empty { padding: 6px 8px; font-size: 12px; color: var(--dsw-alias-label-tertiary); }
|
|
473
|
+
/* ---- Truncated-label tooltip (custom, replaces the native title) ----
|
|
474
|
+
A self-drawn bubble instead of the OS tooltip, which the page cannot style
|
|
475
|
+
and which reads harsh next to the menu. Fixed-positioned on <body> so the
|
|
476
|
+
menu's own overflow/clip cannot cut it, aligned under the truncated span,
|
|
477
|
+
capped to the viewport with wrap for very long names. */
|
|
478
|
+
.bre-tip {
|
|
479
|
+
position: fixed;
|
|
480
|
+
z-index: 2147483647;
|
|
481
|
+
max-width: min(360px, calc(100vw - 24px));
|
|
482
|
+
box-sizing: border-box;
|
|
483
|
+
padding: 5px 9px;
|
|
484
|
+
border-radius: 8px;
|
|
485
|
+
background: var(--dsw-alias-bg-module-platform, #232630);
|
|
486
|
+
color: var(--dsw-alias-label-primary, #f2f3f5);
|
|
487
|
+
font-size: 12px;
|
|
488
|
+
line-height: 18px;
|
|
489
|
+
overflow-wrap: anywhere;
|
|
490
|
+
white-space: normal;
|
|
491
|
+
pointer-events: none;
|
|
492
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, .22);
|
|
493
|
+
animation: bre-tip-in 120ms ease-out;
|
|
494
|
+
}
|
|
495
|
+
body:not([data-ds-dark-theme]) .bre-tip {
|
|
496
|
+
background: #ffffff;
|
|
497
|
+
color: var(--dsw-alias-label-primary, #1f2329);
|
|
498
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, .14), 0 0 0 .5px var(--dsw-alias-border-l4, rgba(0, 0, 0, .1));
|
|
499
|
+
}
|
|
500
|
+
@keyframes bre-tip-in {
|
|
501
|
+
from { opacity: 0; transform: translateY(-2px); }
|
|
502
|
+
to { opacity: 1; transform: translateY(0); }
|
|
503
|
+
}
|
|
504
|
+
@media (prefers-reduced-motion: reduce) {
|
|
505
|
+
.bre-tip { animation: none; }
|
|
506
|
+
}
|
|
473
507
|
.bre-slider-advanced {
|
|
474
508
|
/* upstream .re-advanced: the padded area that hosts the slider */
|
|
475
509
|
padding: 14px;
|
|
@@ -1065,10 +1099,23 @@ body:not([data-ds-dark-theme]) .bre-effort.is-dragging .bre-effort-knob {
|
|
|
1065
1099
|
flex-direction: column;
|
|
1066
1100
|
gap: 8px;
|
|
1067
1101
|
}
|
|
1102
|
+
/* The titled-section rows the pane is built from: the title row names its
|
|
1103
|
+
section (headers first; future advanced sections each carry one), sitting
|
|
1104
|
+
under a hairline the way the official page's group titles do. */
|
|
1105
|
+
.bre-headers-title-row {
|
|
1106
|
+
padding-bottom: 6px;
|
|
1107
|
+
border-bottom: 1px solid var(--dsw-alias-border-l2, #0000001a);
|
|
1108
|
+
margin-bottom: 2px;
|
|
1109
|
+
}
|
|
1110
|
+
.bre-headers-title-row .bre-effort-title {
|
|
1111
|
+
font-size: 13px;
|
|
1112
|
+
line-height: 20px;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1068
1115
|
.bre-headers-columns,
|
|
1069
1116
|
.bre-headers-row {
|
|
1070
1117
|
display: grid;
|
|
1071
|
-
grid-template-columns: minmax(120px, 0.9fr) minmax(180px, 1.5fr)
|
|
1118
|
+
grid-template-columns: minmax(120px, 0.9fr) minmax(180px, 1.5fr) 28px;
|
|
1072
1119
|
align-items: center;
|
|
1073
1120
|
gap: 8px;
|
|
1074
1121
|
}
|
|
@@ -1097,7 +1144,7 @@ body:not([data-ds-dark-theme]) .bre-effort.is-dragging .bre-effort-knob {
|
|
|
1097
1144
|
background: var(--dsw-alias-interactive-bg-hover, #2631480f);
|
|
1098
1145
|
}
|
|
1099
1146
|
.bre-headers-remove {
|
|
1100
|
-
width:
|
|
1147
|
+
width: 28px;
|
|
1101
1148
|
padding: 0;
|
|
1102
1149
|
justify-self: center;
|
|
1103
1150
|
}
|
|
@@ -1201,7 +1248,7 @@ body:not([data-ds-dark-theme]) .bre-effort.is-dragging .bre-effort-knob {
|
|
|
1201
1248
|
@media (max-width: 520px) {
|
|
1202
1249
|
.bre-headers-columns { display: none; }
|
|
1203
1250
|
.bre-headers-row {
|
|
1204
|
-
grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr)
|
|
1251
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) 28px;
|
|
1205
1252
|
gap: 6px;
|
|
1206
1253
|
padding: 4px;
|
|
1207
1254
|
}
|
|
@@ -2038,7 +2085,7 @@ li.bre-row-disabled [class*="rowName"] { opacity: .5; }
|
|
|
2038
2085
|
.bre-key-eye { transition: none; }
|
|
2039
2086
|
.bre-keys-mark, .bre-keys-actions, .bre-keys-add { transition: none; }
|
|
2040
2087
|
}
|
|
2041
|
-
`;var pt=require("react"),Fo=require("react-dom");var M=require("react"),Yn=require("react-dom");var vo=["off","minimal","low","medium","high","xhigh","max"],ha=["text","image"];var ba=[{id:"deepseek-v4-vision",patterns:["deepseek-v4-flash-vision","deepseek-v4-vision"],efforts:{off:"none",low:"low",high:"high",max:"max"},defaultEffort:"high",compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:384e3,note:"DeepSeek \u89C6\u89C9\u5B9E\u9A8C\u7248 id\uFF08deepseek-v4-flash-vision-exp\uFF09\u3002\u5B98\u65B9\u76EE\u5F55\u5DF2\u6807\u6CE8\u8BE5\u6A21\u578B\u9000\u5F79\uFF0C\u540D\u5B57\u4ECD\u88AB\u63A5\u53D7\u3001\u7531\u73B0\u884C deepseek-flash \u63D0\u4F9B\u670D\u52A1\u2014\u2014\u56FE\u7247\u8F93\u5165\u73B0\u5DF2\u7531 deepseek-flash \u539F\u751F\u63D0\u4F9B\u3002"},{id:"deepseek-v4-1-flash",patterns:["deepseek-v4.1-flash","deepseek-flash"],efforts:{off:"none",low:"low",high:"high",max:"max"},defaultEffort:"high",compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:384e3,note:'DeepSeek-V4.1-Flash\uFF082026-09-10 \u53D1\u5E03\u7684\u73B0\u884C\u5B98\u65B9\u6A21\u578B\uFF0C\u5B98\u65B9 id \u4E3A deepseek-flash\uFF1B25 \u4E07\u5E76\u53D1\u3001**\u539F\u751F\u56FE\u7247\u8F93\u5165**\uFF09\u3002V4.1 \u7684\u5404\u5199\u6CD5\uFF08deepseek-flash\u3001deepseek-v4.1-flash\u3001deepseek-v4-1-flash\uFF0C\u4EE5\u53CA\u5E26\u65E5\u671F\u540E\u7F00\u7684\u7B2C\u4E09\u65B9\u53D8\u4F53\uFF09\u90FD\u5F52\u6B64\u6761\u2014\u2014\u7EAF\u6587\u672C\u7684 deepseek-v4 \u4E3B\u5E72\u4E0D\u518D\u541E\u6389\u5B83\u4EEC\u3002\u5B98\u65B9\u679A\u4E3E\u540C V4 \u7CFB\uFF1AOff\uFF08thinking:"disabled"\uFF09/ Low / High / Max\uFF0C\u9ED8\u8BA4 High\uFF1B\u5BB9\u91CF 1,048,576 \u4E0A\u4E0B\u6587 / \u6700\u5927\u8F93\u51FA 384K\u3002'},{id:"deepseek-v4",patterns:["deepseek-v4"],efforts:{off:"none",low:"low",high:"high",max:"max"},defaultEffort:"high",compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text"],contextWindow:1048576,maxTokens:384e3,note:'DeepSeek \u5B98\u65B9\u679A\u4E3E Low / High / Max\uFF08\u9ED8\u8BA4 High\uFF1Bminimal\u3001medium\u3001xhigh \u517C\u5BB9\u6620\u5C04\uFF0Cultra\u2192max\uFF09\uFF0COff \u5373 thinking:"disabled"\uFF08Responses API \u4E0B off \u4EE5 reasoning.effort:"none" \u8868\u793A\uFF09\u3002\u672C\u6761\u76EE\u662F V4 \u5BB6\u65CF\u7684**\u7EAF\u6587\u672C**\u6210\u5458\uFF1Adeepseek-v4-pro\uFF08= DeepSeek-V4-Pro-0813\uFF0C\u5B98\u65B9\u4E0D\u652F\u6301\u56FE\u7247\uFF09\u4E0E\u5DF2\u9000\u5F79\u6A21\u578B\u7684\u517C\u5BB9\u522B\u540D deepseek-v4-flash\uFF08deepseek-v4-flash-vision-exp \u53E6\u6709\u89C6\u89C9\u6761\u76EE\uFF09\u3002**\u6536\u56FE\u7684 V4.1-Flash\uFF08\u5B98\u65B9 id deepseek-flash\uFF09\u53E6\u6709\u4E13\u95E8\u6761\u76EE**\uFF0C\u5176 input \u542B image\u3002\u5BB9\u91CF\uFF1A1,048,576 \u4E0A\u4E0B\u6587 / \u6700\u5927\u8F93\u51FA 384K\uFF08393,216\uFF1B\u9ED8\u8BA4\u975E\u601D\u8003 8K\u3001\u601D\u8003 64K\u3001effort=max \u65F6 128K\uFF09\u3002'},{id:"deepseek-v3",patterns:["deepseek-v3","deepseek-chat"],efforts:{off:"none",high:"high",max:"max"},compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text"],contextWindow:163840,maxTokens:65536,note:"DeepSeek V3 \u6863\u4F4D\uFF1AOff / High / Max\u3002\u5B98\u65B9\u5DF2\u505C\u552E V3 \u4EE3\uFF08\u5B9A\u4EF7\u9875\u4EC5\u5269 V4 \u4E09\u578B\uFF09\uFF0C\u5BB9\u91CF\u53D6\u76EE\u5F55\u73B0\u5F79\u503C\u3002"},{id:"deepseek-r1",patterns:["deepseek-r1","deepseek-reasoner"],efforts:{high:"high"},defaultEffort:"high",compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text"],contextWindow:163840,maxTokens:32768,note:"DeepSeek-R1 \u4E3A\u63A8\u7406\u6A21\u578B\uFF0C\u4EC5\u63D0\u4F9B High\u3002\u5B98\u65B9\u5DF2\u4E0B\u67B6 R1 \u4EE3\uFF0C\u5BB9\u91CF\u53D6\u76EE\u5F55 r1-0528 \u503C\u3002"},{id:"openai-gpt-5-2",patterns:["gpt-5.2"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"off",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.2 \u6863\u4F4D\uFF1ANone / Low / Medium / High / XHigh\uFF08\u9ED8\u8BA4 None\uFF09\u3002\u5B98\u65B9\u53E6\u652F\u6301 PDF \u8F93\u5165\uFF08\u6838\u5FC3\u8BCD\u8868\u6682\u4E0D\u542B\uFF09\u3002gpt-5.2-pro \u5B98\u65B9\u9875\u672A\u5355\u5217\u6863\u4F4D\u884C\uFF0C\u6309\u672C\u6761\u76EE\u540C\u6863\u5904\u7406\uFF1Bgpt-5.2-codex \u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"openai-gpt-5-2-codex",patterns:["gpt-5.2-codex"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.2-Codex \u6863\u4F4D\uFF1ALow / Medium / High / XHigh\uFF08\u65E0 None \u6863\uFF0C\u52FF\u52FE Off\uFF09\uFF0C\u5E26\u56FE\u8F93\u5165\u3001400K\u3002"},{id:"openai-gpt-5-6",patterns:["gpt-5.6"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:105e4,maxTokens:128e3,note:"GPT-5.6\uFF08\u522B\u540D\u5373 sol\uFF09\u6863\u4F4D\uFF1ANone / Low / Medium(\u9ED8\u8BA4) / High / XHigh / Max\uFF1Bsol/luna/terra \u540C\u6863\uFF0C\u5E26\u56FE\u8F93\u5165\u3002"},{id:"openai-gpt-5-5",patterns:["gpt-5.5"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:105e4,maxTokens:128e3,note:"GPT-5.5 \u6863\u4F4D\uFF1ANone / Low / Medium(\u9ED8\u8BA4) / High / XHigh\uFF0C\u5E26\u56FE\u8F93\u5165\u3002pro \u53D8\u4F53\u4EC5 Medium / High(\u9ED8\u8BA4) / XHigh \u4E14\u4EC5 Responses API\u3002"},{id:"openai-gpt-5-4",patterns:["gpt-5.4"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"off",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:105e4,maxTokens:128e3,note:"GPT-5.4 \u6863\u4F4D\uFF1ANone(\u9ED8\u8BA4) / Low / Medium / High / XHigh\uFF0C\u5E26\u56FE\u8F93\u5165\u3002pro \u53D8\u4F53\u4EC5 Medium/High/XHigh\uFF1Bmini/nano \u4E3A 400K \u4E0A\u4E0B\u6587\u3002"},{id:"openai-gpt-5-3",patterns:["gpt-5.3"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.3-Codex \u6863\u4F4D\uFF1ALow / Medium / High / XHigh\uFF08\u65E0 None \u6863\uFF09\uFF0C\u5E26\u56FE\u8F93\u5165\u3001400K\uFF1Bgpt-5.3-chat \u4E3A\u975E\u63A8\u7406\u804A\u5929\u6A21\u578B\uFF08\u89C1 chat \u6761\u76EE\uFF09\u3002"},{id:"openai-gpt-5-1",patterns:["gpt-5.1"],efforts:{off:"none",low:"low",medium:"medium",high:"high"},defaultEffort:"off",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.1 \u6863\u4F4D\uFF1ANone / Low / Medium / High\uFF08\u9ED8\u8BA4 None\uFF09\u3002"},{id:"openai-gpt-5-1-codex",patterns:["gpt-5.1-codex"],efforts:{low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.1-Codex \u7CFB\u5217\uFF1A\u5B98\u65B9\u6A21\u578B\u9875\u672A\u5355\u5217 effort \u503C\u57DF\uFF0C\u6309\u540C\u4EE3\u4FDD\u5B88\u6863 Low / Medium / High\uFF08\u65E0 None\uFF1Bxhigh \u672A\u8BC1\u5B9E\uFF09\u3002\u5982\u7AEF\u70B9\u652F\u6301 xhigh/none \u53EF\u624B\u8C03\u3002"},{id:"openai-gpt-5",patterns:["gpt-5"],efforts:{minimal:"minimal",low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5 \u521D\u4EE3\u6863\u4F4D\uFF1AMinimal / Low / Medium / High\uFF0C\u65E0\u5173\u95ED\u6863\u3002"},{id:"openai-chat",patterns:["gpt-5.1-chat-latest","gpt-5.2-chat-latest","gpt-5.3-chat-latest","gpt-5-chat-latest","gpt-chat-latest","gpt-5-chat","gpt-5.1-chat","gpt-5.2-chat","gpt-5.3-chat"],efforts:!1,input:["text","image"],contextWindow:128e3,maxTokens:16384,note:"-chat \u7CFB\u5217\uFF08\u5B98\u65B9 id \u4E3A gpt-5.x-chat-latest\uFF09\u4E3A\u975E\u63A8\u7406\u804A\u5929\u6A21\u578B\uFF0C\u4E0D\u652F\u6301 effort \u53C2\u6570\uFF08\u52FF\u52FE\u601D\u8003\u6863\uFF09\uFF1B\u5B98\u65B9\u652F\u6301\u56FE\u7247\u8F93\u5165\uFF0C128K / 16,384 \u8F93\u51FA\u3002gpt-5-chat-latest \u5DF2\u4E8E 2026-07-23 \u4E0B\u67B6\u3001gpt-chat-latest \u5DF2\u65E0\u5B98\u65B9\u9875\u9762\uFF08\u4FDD\u7559\u6A21\u5F0F\u4F9B\u7F51\u5173\uFF09\u3002"},{id:"openai-o",patterns:["o1","o3","o4"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:2e5,maxTokens:1e5,note:"OpenAI o \u7CFB\u6863\u4F4D\uFF1ALow / Medium / High\u3002\u5B98\u65B9\u5DF2\u4E8E 2026-06 \u516C\u544A\u9000\u5F79\uFF08o1/o1-pro/o3-mini/o4-mini 2026-10-23 \u79FB\u9664\u3001o3/o3-pro 2026-12-11\uFF09\uFF0C\u7F51\u5173\u6B8B\u7559\u4ECD\u53EF\u547D\u4E2D\uFF1B\u591A\u6570 o \u7CFB\u7AEF\u70B9\u6536\u56FE\uFF08o3-mini \u4F8B\u5916\uFF09\u3002"},{id:"openai-gpt-oss",patterns:["gpt-oss"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"low",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],contextWindow:131072,maxTokens:131072,note:"GPT-OSS \u5F00\u6E90\u6743\u91CD\uFF08Ollama/vLLM \u5E38\u89C1\uFF09\uFF1Areasoning effort Low / Medium / High\uFF0C\u7EAF\u6587\u672C\uFF0C131K \u4E0A\u4E0B\u6587 / 131K \u8F93\u51FA\u30022026-09 \u590D\u6838\uFF1A\u5B98\u65B9\u6A21\u578B\u9875\u73B0\u5728\u5199 Chat Completions = Not supported\u3001\u65E0\u56FE\u7247\u8F93\u5165\uFF08\u9ED8\u8BA4 Low \u6765\u81EA\u5B98\u65B9 CLI\uFF0C\u4E0D\u662F API \u9875\uFF09\uFF0C\u56E0\u6B64\u8FD9\u91CC\u4E0D\u518D\u58F0\u660E Off\u3002"},{id:"openai-gpt-6-astra",patterns:["gpt-6-astra","gpt-6"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:105e4,maxTokens:128e3,note:"GPT-6 Astra \u6863\u4F4D\uFF1ALow / Medium / High / XHigh / Max\u2014\u2014**\u6CA1\u6709 None \u6863**\uFF08\u5B98\u65B9\u539F\u6587\uFF1A\u8BBE\u4E3A none \u8FD4\u56DE HTTP 400\uFF09\uFF0C\u56E0\u6B64\u672C\u6761\u76EE\u4E0D\u58F0\u660E Off\u3002\u5E26\u56FE\u8F93\u5165\uFF0C1,050,000 \u4E0A\u4E0B\u6587 / 128,000 \u8F93\u51FA\uFF1BAI \u5B98\u65B9\u9ED8\u8BA4\u6863\u4F4D\u672A\u516C\u5E03\uFF0C\u6545\u4E0D\u586B\u3002\u5DE5\u5177\u8C03\u7528\u9700\u8D70 Responses API\u3002"},{id:"openai-gpt-5-6-cyber",patterns:["gpt-5.6-cyber"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.6-Cyber\uFF1A\u5B98\u65B9\u6A21\u578B\u9875\u672A\u5355\u5217 effort \u503C\u57DF\uFF08\u4E0D\u7B49\u4E8E\u4E0D\u652F\u6301\uFF09\uFF0C\u6545\u6309\u540C\u4EE3\u4FDD\u5B88\u6863 Low / Medium / High / XHigh\uFF1B\u8BE5\u578B\u53F7\u4EC5 Responses API\uFF0C\u5E26\u56FE\u8F93\u5165\u3001400K \u4E0A\u4E0B\u6587\u3002\u5B98\u65B9\u652F\u6301\u7684\u5176\u4ED6\u6863\u4F4D\u53EF\u624B\u8C03\u540E\u5E94\u7528\u3002"},{id:"openai-gpt-4o",patterns:["gpt-4o"],efforts:!1,input:["text","image"],contextWindow:128e3,maxTokens:16384,note:"GPT-4o \u4EE3\u9645\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u4E0D\u652F\u6301 effort \u53C2\u6570\uFF08\u52FF\u52FE\u601D\u8003\u6863\uFF09\uFF1B\u56FE\u7247\u8F93\u5165\u5168\u7CFB\u6807\u914D\uFF0C128K / 16,384 \u8F93\u51FA\u3002"},{id:"openai-gpt-4-1",patterns:["gpt-4.1"],efforts:!1,input:["text","image"],contextWindow:1047576,maxTokens:32768,note:"GPT-4.1 \u5168\u7CFB\uFF08\u542B mini/nano\uFF09\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u4E0D\u652F\u6301 effort \u53C2\u6570\uFF1B\u5B98\u65B9 1,047,576 \u4E0A\u4E0B\u6587 / 32,768 \u8F93\u51FA\uFF0C\u5168\u7CFB\u5E26\u56FE\u8F93\u5165\u3002"},{id:"openai-gpt-4-turbo-preview",patterns:["gpt-4-turbo-preview"],efforts:!1,input:["text"],contextWindow:128e3,maxTokens:4096,note:"GPT-4 Turbo Preview\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u7EAF\u6587\u672C\u8F93\u5165\uFF08\u6B63\u5F0F turbo \u5FEB\u7167\u652F\u6301\u56FE\u7247\uFF0C\u89C1\u4E0B\u6761\uFF09\uFF0C128K\u3002"},{id:"openai-gpt-4-turbo",patterns:["gpt-4-turbo"],efforts:!1,input:["text","image"],contextWindow:128e3,maxTokens:4096,note:"GPT-4 Turbo\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u5B98\u65B9\u652F\u6301\u56FE\u7247\u8F93\u5165\uFF0C128K / 4,096 \u8F93\u51FA\u3002"},{id:"openai-gpt",patterns:["gpt-4","gpt-3.5"],efforts:!1,input:["text"],note:"GPT-4/3.5 \u4EE3\u9645\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u4E0D\u652F\u6301 effort \u53C2\u6570\uFF08\u52FF\u52FE\u601D\u8003\u6863\uFF09\u3002gpt-4-turbo/4.1 \u8D77\u652F\u6301\u56FE\u7247\uFF0C\u89C1\u5355\u72EC\u6761\u76EE\uFF1B\u65B0\u4EE3\u8BF7\u7528 GPT-5 \u7CFB\uFF08\u89C1 openai-chat/gpt-5.x \u6761\u76EE\uFF09\u3002"},{id:"anthropic-claude-5",patterns:["claude-fable-5","claude-mythos-5","claude-opus-5","claude-sonnet-5"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude 5 \u4EE3\uFF08Fable 5 / Mythos 5 / Opus 5 / Sonnet 5\uFF09\u6863\u4F4D\uFF1ALow / Medium / High(\u9ED8\u8BA4) / XHigh / Max\uFF1BFable 5.1 \u4E0E Mythos 5.1 \u89C1\u5355\u72EC\u6761\u76EE\uFF0CMythos Preview \u4EC5\u81F3 Max\u30021M \u4E0A\u4E0B\u6587 / 128K \u8F93\u51FA\uFF08Batch 300K\uFF09\u3002\u5B98\u65B9\u652F\u6301 PDF \u8F93\u5165\u3002\u6CE8\u610F\uFF1AAnthropic \u5B98\u65B9 OpenAI \u517C\u5BB9\u5C42\u4F1A\u5FFD\u7565 effort \u53C2\u6570\uFF0C\u58F0\u660E\u5728\u7B2C\u4E09\u65B9\u7F51\u5173\u6620\u5C04\u65F6\u751F\u6548\u3002"},{id:"anthropic-claude-5-1",patterns:["claude-fable-5-1","claude-mythos-5-1"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude Fable 5.1 / Mythos 5.1\uFF1A\u5B98\u65B9\u6863\u4F4D Low / Medium / High(\u9ED8\u8BA4) / XHigh / Max\uFF0C\u81EA\u9002\u5E94\u601D\u8003\u5E38\u5F00\uFF08\u4E0D\u63A5\u53D7 enabled/disabled\uFF09\u30021M \u4E0A\u4E0B\u6587 / 128K \u8F93\u51FA\uFF1B\u8FD9\u4E24\u578B\u4E5F\u662F\u5B98\u65B9\u552F\u4E00\u5141\u8BB8\u4F1A\u8BDD\u4E2D\u9014\u6539\u6863\u7684\uFF08\u9700 beta header\uFF0C\u672C\u63D2\u4EF6\u4E0D\u6D89\u53CA\uFF09\u3002"},{id:"anthropic-claude-mythos-preview",patterns:["claude-mythos-preview"],efforts:{low:"low",medium:"medium",high:"high",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude Mythos Preview\uFF1A\u5B98\u65B9\u6863\u4F4D Low / Medium / High / Max\uFF08\u65E0 XHigh\uFF09\uFF0C1M \u4E0A\u4E0B\u6587\u3002"},{id:"anthropic-claude-opus-4-high",patterns:["claude-opus-4-8","claude-opus-4-7"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude Opus 4.7/4.8 \u6863\u4F4D\uFF1ALow / Medium / High(\u9ED8\u8BA4) / XHigh / Max\uFF1Bxhigh \u4E3A\u5B98\u65B9\u63A8\u8350\u7684\u7F16\u7801\u8D77\u6B65\u6863\u30021M \u4E0A\u4E0B\u6587\u3002"},{id:"anthropic-claude-4-6",patterns:["claude-opus-4-6","claude-sonnet-4-6"],efforts:{low:"low",medium:"medium",high:"high",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude 4.6 \u4EE3\u6863\u4F4D\uFF1ALow / Medium / High / Max\uFF08\u65E0 XHigh\u2014\u2014\u5B98\u65B9\u660E\u8A00\u300C\u652F\u6301 max \u7684\u90E8\u5206\u578B\u53F7\u4E0D\u652F\u6301 xhigh\u300D\uFF09\u30021M \u4E0A\u4E0B\u6587\u3002"},{id:"anthropic-claude-opus-4-5",patterns:["claude-opus-4-5"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},input:["text","image"],contextWindow:2e5,maxTokens:64e3,note:"Claude Opus 4.5\uFF1A\u5B98\u65B9 effort \u652F\u6301\u5217\u8868\uFF0820251101 \u5FEB\u7167\uFF09\uFF0C\u6863\u4F4D Low / Medium / High\uFF08\u65E0 XHigh/Max\uFF09\uFF0C\u53EF\u4E0E budget_tokens \u5E76\u7528\uFF1B200K / 64K\u3002"},{id:"anthropic-claude",patterns:["claude"],efforts:!1,input:["text","image"],contextWindow:2e5,maxTokens:64e3,note:"Claude 3.x \u4E0E Sonnet 4.5 / Haiku 4.5\uFF1A\u5B98\u65B9 effort \u53C2\u6570\u4E0D\u652F\u6301\uFF08\u4EC5 Fable/Mythos 5\u3001Opus 5/4.6-4.8\u3001Sonnet 5/4.6\u3001Opus 4.5 \u652F\u6301\uFF09\uFF0C\u601D\u8003\u7531 thinking.type \u63A7\u5236\u2014\u2014\u52FF\u52FE\u601D\u8003\u6863\u3002\u53C2\u8003\u5BB9\u91CF 200K / 64K\uFF08Haiku 3.5 \u4E3A\u7EAF\u6587\u672C\uFF0C\u6309\u9700\u53D6\u6D88\u56FE\u7247\uFF09\u3002"},{id:"google-gemini",patterns:["gemini"],efforts:{low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:65536,note:"Gemini \u901A\u7528\u5B89\u5168\u6863\uFF1ALow / Medium / High\uFF08\u5B98\u65B9 OpenAI \u517C\u5BB9\u6620\u5C04\u8868\u53E6\u6536 minimal\uFF1A2.5 \u7CFB\u6620\u5C04\u4E3A 1,024 \u9884\u7B97\u30013.1 Flash-Lite/3 Flash \u539F\u751F minimal\u30013.1 Pro \u843D low\uFF09\u3002none \u4EC5\u80FD\u5173 2.5 \u975E Pro\uFF1B2.5 Pro \u4E0E 3 \u4EE3\u4E0D\u53EF\u5173\uFF1B\u5404\u578B\u9ED8\u8BA4\u4E0D\u4E00\uFF08flash-lite \u9ED8\u8BA4\u5173\uFF09\u3002\u5B98\u65B9\u53E6\u6536\u97F3\u9891/\u89C6\u9891/PDF\u3002"},{id:"xai-grok-4-7",patterns:["grok-4.7"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:5e5,note:'Grok 4.7\uFF08\u4E0A\u6E38\u5FEB\u7167 grok-4.7-20260916\uFF09\uFF1A\u6863\u4F4D Low / Medium / High / XHigh\u2014\u2014**\u53D6\u81EA\u516C\u5F00\u76EE\u5F55**\uFF08OpenRouter \u7684 supported_parameters\u3001models.dev \u5BF9 docs.x.ai \u7684\u8F6C\u8FF0\uFF09\uFF0C\u672C\u6B21 xAI \u5B98\u65B9\u6587\u6863\u7AD9\u4E0D\u53EF\u8FBE\u3001\u672A\u80FD\u4E00\u624B\u8BC1\u5B9E\uFF1B\u9ED8\u8BA4\u6863\u4F4D\u4E0E"\u80FD\u5426\u5173\u95ED\u601D\u8003"\u540C\u6837\u672A\u8BC1\u5B9E\uFF0C\u6545\u4E0D\u58F0\u660E Off\uFF0C\u4E5F\u4E0D\u5199\u9ED8\u8BA4\u6863\u3002\u5E26\u56FE\u8F93\u5165\uFF08\u76EE\u5F55\u8BB0 text+image+file\uFF0CPDF \u5B58\u7591\uFF09\uFF0C500K \u4E0A\u4E0B\u6587\uFF1B\u6700\u5927\u8F93\u51FA\u5404\u76EE\u5F55\u7ED9\u51FA 450K \u4E0E 500K \u4E24\u79CD\u503C\uFF0C\u6309"\u5206\u6B67\u5373\u4E0D\u5199"\u5904\u7406\u30022026-08 \u90A3\u6B21"grok-4.7 \u4E0D\u5B58\u5728\uFF08\u5B98\u65B9 404\uFF09"\u7684\u7ED3\u8BBA\u5DF2\u968F\u53D1\u5E03\u4F5C\u5E9F\u3002'},{id:"xai-grok-high",patterns:["grok-4.6"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"high",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:5e5,note:'Grok 4.6 \u6863\u4F4D\uFF1ALow / Medium / High(\u9ED8\u8BA4) / XHigh\uFF0C\u601D\u8003\u4E0D\u53EF\u5173\u95ED\uFF1B\u5E26\u56FE\u8F93\u5165\u3001500K \u4E0A\u4E0B\u6587\u3002Grok 4.7 \u89C1\u4E0A\u4E00\u6761\uFF08\u6B64\u524D\u8BB0\u4E3A"\u4E0D\u5B58\u5728"\uFF0C\u5DF2\u968F\u53D1\u5E03\u4F5C\u5E9F\uFF09\u3002'},{id:"xai-grok-4-5",patterns:["grok-4.5"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"high",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:5e5,note:"Grok 4.5 \u6863\u4F4D\uFF1ALow / Medium / High(\u9ED8\u8BA4)\uFF0C\u601D\u8003\u4E0D\u53EF\u5173\u95ED\uFF1B\u5E26\u56FE\u8F93\u5165\u3002\u4F20\u5165 xhigh \u4F1A\u88AB\u5B98\u65B9\u9759\u9ED8\u6309 High \u5904\u7406\u3002"},{id:"xai-grok-4-3",patterns:["grok-4.3"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"low",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1e6,note:"Grok 4.3\uFF1A\u5B98\u65B9\u56DB\u7EA7 reasoning effort\uFF08None / Low / Medium / High\uFF09\uFF0C1M \u4E0A\u4E0B\u6587\u3001\u5E26\u56FE\u8F93\u5165\uFF1Bgrok-4-fast \u7B49\u65E7 slug 2026-05-15 \u8D77\u81EA\u52A8\u91CD\u5B9A\u5411\u5230\u672C\u578B\u53F7\u3002"},{id:"xai-grok",patterns:["grok"],efforts:{low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],note:"Grok \u901A\u7528\u6863\u4F4D\uFF1ALow / Medium / High\u3002\u521D\u4EE3 grok-4\u3001grok-4.20 \u4E0E grok-build-0.1 \u4E0D\u63A5\u53D7\u8BE5\u53C2\u6570\uFF08grok-4 \u7CFB\u4E0E grok-3 \u5DF2\u4E8E 2026-05-15 \u9000\u5F79\u5E76\u91CD\u5B9A\u5411\u81F3 4.3\uFF09\uFF1Bgrok-4.20-multi-agent \u7684\u56DB\u6863\u63A7\u5236\u7684\u662F agent \u6570\u91CF\u800C\u975E\u601D\u8003\u6DF1\u5EA6\u3002\u65B0\u65E7\u4EE3\u9645\u8BF7\u4F18\u5148\u9009 4.5/4.6/4.3\uFF1B\u591A\u6A21\u6001\u53D8\u4F53\u6309\u9700\u52FE\u9009\u56FE\u7247\u3002"},{id:"mistral-magistral",patterns:["magistral"],efforts:!1,input:["text"],contextWindow:32768,maxTokens:32768,note:"Magistral \u539F\u751F\u601D\u8003\u7EBF\uFF08\u65E0 effort \u53C2\u6570\uFF0C\u4E3A prompt_mode \u8BED\u4E49\uFF09\uFF0C\u5B98\u65B9\u5DF2\u4E8E 2026-07-28 \u58F0\u660E\u5F03\u7528\u3001\u9010\u6B65\u64A4\u51FA\uFF1B\u73B0\u5F79\u63A8\u7406\u8D70 mistral-small-2603 / mistral-medium-3-5 \u7684 reasoning_effort\uFF08\u89C1\u4E0B\u6761\uFF09\u3002"},{id:"mistral-medium-3",patterns:["mistral-medium-3.5","mistral-small-latest","mistral-small-2603"],efforts:{off:"none",high:"high"},defaultEffort:"off",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],note:"Mistral \u73B0\u5F79\u63A8\u7406\u6863\uFF1ANone / High\u2014\u2014\u5B98\u65B9 reasoning_effort \u679A\u4E3E\uFF08mistral-common \u534F\u8BAE\u5E93\uFF09\u5373 none/high\uFF1Bmistral-small-2603\uFF08Small 4\uFF09\u4E0E mistral-medium-3-5 \u7ECF\u5B83\u63A7\u5236\uFF0CMedium 3.5 \u5E26\u89C6\u89C9\u3002\u5BB9\u91CF\u672A\u5728\u5B98\u65B9\u76EE\u5F55\u9875\u5355\u5217\uFF0C\u4E0D\u63D0\u4F9B\u3002"},{id:"qwen-vision",patterns:["qwen-vl","qwen2-vl","qwen2-5-vl","qwen3-vl","qvq"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"qwen"},input:["text","image"],contextWindow:131072,maxTokens:8192,note:"\u901A\u4E49\u89C6\u89C9\u7EBF\uFF08Qwen-VL/QvQ\uFF09\uFF1Aenable_thinking \u5F00\u5173\uFF08\u5F00=High\uFF09\uFF0C\u6536\u56FE\u3002qwen3-vl \u5BB9\u91CF\u66F4\u5927\uFF0C\u6309\u9700\u4E0A\u8C03\u3002"},{id:"qwen-3-8",patterns:["qwen3.8"],efforts:{off:null,low:"low",medium:"medium",xhigh:"xhigh"},defaultEffort:"xhigh",compat:{thinkingFormat:"qwen",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1e6,note:"Qwen 3.8 \u7CFB\uFF1A\u5B98\u65B9 reasoning_effort \u6863\u4F4D XHigh(\u9ED8\u8BA4) / Medium / Low\uFF0Cthinking \u9ED8\u8BA4\u5F00\u3001\u53EF\u6309\u8BF7\u6C42\u5173\u95ED\uFF1B\u539F\u751F\u591A\u6A21\u6001\uFF08qwen3.8-max \u56FE\u50CF/\u89C6\u9891\u7406\u89E3\uFF0C\u89C6\u9891\u672A\u5165\u6838\u5FC3\u8BCD\u8868\uFF09\u30021M \u6863\u4E0A\u4E0B\u6587\u300227B \u4E0E Flash-Next \u5F00\u6E90\u6B3E\u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"qwen-3-8-27b",patterns:["qwen3.8-27b"],efforts:{off:null,low:"low",medium:"medium",xhigh:"xhigh"},defaultEffort:"xhigh",compat:{thinkingFormat:"qwen",supportsReasoningEffort:!0},input:["text","image"],contextWindow:262144,note:"Qwen3.8-27B\uFF08dense\uFF0C2026-08-14 \u5F00\u6E90\uFF09\uFF1A\u5B98\u65B9 reasoning_effort \u6863\u4F4D XHigh(\u9ED8\u8BA4) / Medium / Low\uFF0Cthinking \u9ED8\u8BA4\u5F00\u3001\u53EF\u6309\u8BF7\u6C42\u5173\uFF1B\u539F\u751F\u56FE\u50CF+\u89C6\u9891\u7406\u89E3\uFF08\u89C6\u9891\u672A\u5165\u6838\u5FC3\u8BCD\u8868\uFF09\u3002262,144 \u539F\u751F\u4E0A\u4E0B\u6587\u3001\u5B98\u65B9\u58F0\u660E\u53EF\u6269\u81F3 1M\u3002\u6765\u6E90\uFF1AHF Qwen/Qwen3.8-27B \u6A21\u578B\u5361\u3002"},{id:"qwen-3-8-flash-next",patterns:["qwen3.8-flash-next"],efforts:{off:null,low:"low",medium:"medium",xhigh:"xhigh"},defaultEffort:"xhigh",compat:{thinkingFormat:"qwen",supportsReasoningEffort:!0},input:["text","image"],contextWindow:262144,note:"Qwen3.8-Flash-Next\uFF08125B-A6B \u5B9E\u9A8C\u67B6\u6784\uFF0CQwen4 \u524D\u8EAB\uFF09\uFF1A\u5B98\u65B9 reasoning_effort \u6863\u4F4D XHigh(\u9ED8\u8BA4) / Medium / Low + enable_thinking \u5F00\u5173\uFF1B\u539F\u751F\u89C6\u89C9\uFF08Vision Encoder\uFF09\u3002262,144 \u539F\u751F\u4E0A\u4E0B\u6587\u3001\u53EF\u6269\u81F3 1M\u3002\u6765\u6E90\uFF1AHF \u6A21\u578B\u5361\u4E0E qwen.ai \u5B98\u65B9\u535A\u5BA2\u3002"},{id:"qwen",patterns:["qwen","qwq"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"qwen"},input:["text"],contextWindow:1e6,maxTokens:65536,note:"\u901A\u4E49\u5343\u95EE\uFF1Aenable_thinking \u5F00\u5173\uFF08\u65E0 effort \u6863\uFF09\uFF0C\u5F00=High\uFF1B\u73B0\u5F79\u65D7\u8230\u4E3A qwen3.8 \u7CFB\uFF081M \u6863\u4E0A\u4E0B\u6587\uFF0C\u89C1 qwen-3-8 \u6761\u76EE\uFF09\u30023.6/3.7 \u4EE3\u7684 Plus/Flash \u4EA6\u9ED8\u8BA4\u591A\u6A21\u6001\uFF08\u56FE\u7247/\u89C6\u9891\uFF09\uFF0C\u5982\u63A5\u5165\u8BF7\u6309\u9700\u52FE\u9009\u56FE\u7247\uFF1B\u89C6\u89C9\u7EBF\u89C1 qwen-vision \u6761\u76EE\u3002"},{id:"glm-vision",patterns:["glm-4v","glm-4-6v","glm-4-5v","glm-5v"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"zai"},input:["text","image"],contextWindow:131072,maxTokens:32768,note:"\u667A\u8C31\u89C6\u89C9\u7EBF\uFF08GLM-4V/4.5V/4.6V/5V\uFF09\uFF1Athinking \u5F00\u5173\uFF08\u5F00=High\uFF09\uFF0C\u6536\u56FE\u3002GLM-4.5V \u4E3A\u5F3A\u5236\u601D\u8003\uFF08\u4F20 disabled \u62A5\u9519\uFF0C\u8BF7\u624B\u52A8\u5220 Off \u6863\uFF09\u3002"},{id:"glm-5-3-flash",patterns:["glm-5.3-flash"],efforts:{low:"low",high:"high",max:"max"},defaultEffort:"max",compat:{thinkingFormat:"zai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:131072,note:"GLM-5.3-Flash\uFF08320B\uFF0C\u5B98\u65B9\u6587\u6863 vlm \u5206\u7C7B\uFF09\uFF1A\u5F3A\u5236\u601D\u8003\uFF08thinking.type \u4EC5 enabled\uFF0C\u4E0D\u652F\u6301\u5173\u95ED\uFF09\uFF0C\u6587\u672C\u53C2\u6570\u4E0E GLM-5.3 \u4E00\u81F4\u2014\u2014\u6863\u4F4D Low / High / Max\u3002\u8F93\u5165\u6A21\u6001\uFF1A\u89C6\u9891\u3001\u56FE\u50CF\u3001\u6587\u672C\u3001\u6587\u4EF6\uFF08\u89C6\u9891/\u6587\u4EF6\u672A\u5165\u6838\u5FC3\u8BCD\u8868\uFF0C\u56FE\u7247\u53EF\u52FE\uFF09\u3002\u5B98\u65B9 1M \u4E0A\u4E0B\u6587 / 128K \u6700\u5927\u8F93\u51FA\u3002\u6765\u6E90\uFF1Adocs.bigmodel.cn \u6A21\u578B\u9875\u3002"},{id:"glm-5-3",patterns:["glm-5.3"],efforts:{low:"low",high:"high",max:"max"},defaultEffort:"max",compat:{thinkingFormat:"zai",supportsReasoningEffort:!0},input:["text"],contextWindow:1048576,maxTokens:131072,note:"GLM-5.3 \u6863\u4F4D\uFF1ALow / High / Max\uFF08\u5F3A\u5236\u601D\u8003\uFF0C\u5176\u4F59\u503C\u62A5\u9519\uFF09\u3002\u5B98\u65B9\u5BB9\u91CF 1M / 128K\u3002"},{id:"glm-5-2",patterns:["glm-5.2"],efforts:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"max",compat:{thinkingFormat:"zai",supportsReasoningEffort:!0},input:["text"],contextWindow:1048576,maxTokens:131072,note:"GLM-5.2 \u6863\u4F4D\uFF1ANone / Minimal / Low / Medium / High / XHigh / Max\uFF08\u5B98\u65B9\u6620\u5C04\uFF1ALow\xB7Medium\u2192High\u3001XHigh\u2192Max\u3001None\xB7Minimal=\u505C\u6B62\u601D\u8003\uFF09\u3002\u89C6\u89C9\u7EBF\u89C1 glm-vision \u6761\u76EE\u3002"},{id:"glm",patterns:["glm","zhipu","chatglm"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"zai"},input:["text"],note:"GLM \u901A\u7528\uFF1Athinking \u5F00\u5173\uFF08\u65E0 effort \u6863\uFF09\uFF0C\u5F00=High\uFF1Beffort \u9636\u68AF\u4EC5 GLM-5.2+ \u652F\u6301\uFF08\u89C1\u4E0A\u4E24\u6761\u76EE\uFF09\u3002\u6CE8\u610F GLM-4.7/GLM-4.5V \u4E3A\u5F3A\u5236\u601D\u8003\uFF0C\u4F20 disabled \u4F1A\u62A5\u9519\uFF08\u8BF7\u624B\u52A8\u5220 Off \u6863\uFF09\u3002\u89C6\u89C9\u7EBF\u89C1 glm-vision \u6761\u76EE\u3002"},{id:"kimi-k3",patterns:["kimi-k3"],efforts:{low:"low",high:"high",max:"max"},defaultEffort:"max",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,note:"Kimi K3 \u6863\u4F4D\uFF1ALow / High / Max(\u9ED8\u8BA4 Max)\uFF0C\u8D70\u9876\u5C42 reasoning_effort\uFF1B\u59CB\u7EC8\u63A8\u7406\u3001\u52FF\u4F20 thinking \u5BF9\u8C61\u3002\u539F\u751F\u89C6\u89C9\u7406\u89E3\uFF0C1M \u4E0A\u4E0B\u6587\uFF08\u6700\u5927\u8F93\u51FA\u5B98\u65B9\u672A\u5355\u72EC\u5217\uFF0C\u4E0D\u63D0\u4F9B\uFF09\u3002"},{id:"kimi-k2-vision",patterns:["kimi-k2.6","kimi-k2.5"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"deepseek"},input:["text","image"],contextWindow:262144,note:"Kimi K2.5/K2.6 \u89C6\u89C9\u4EE3\uFF1Athinking.type \u5F00\u5173\uFF08\u9ED8\u8BA4\u5F00\u3001\u53EF\u5173\uFF09\uFF0C\u5F00=High\uFF1B\u5E26\u89C6\u89C9\uFF0C256K\u3002K2.7 Code \u59CB\u7EC8\u601D\u8003\uFF0C\u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"kimi-k27-code",patterns:["kimi-k2.7"],efforts:{high:"high"},defaultEffort:"high",compat:{thinkingFormat:"deepseek"},input:["text","image"],contextWindow:262144,note:"Kimi K2.7 Code\uFF08\u542B\u9AD8\u901F\u7248\uFF09\uFF1A\u59CB\u7EC8\u601D\u8003\u2014\u2014thinking.type \u4EC5\u63A5\u53D7 enabled\uFF08\u4F20 disabled \u62A5\u9519\uFF09\uFF0C\u65E0 Off \u6863\uFF1B\u5E26\u89C6\u89C9\uFF0C256K\u3002"},{id:"kimi-moonshot-v1-vision",patterns:["moonshot-v1-8k-vision","moonshot-v1-32k-vision","moonshot-v1-128k-vision"],efforts:!1,input:["text","image"],note:"Moonshot V1 \u89C6\u89C9\u65E7\u4EE3\uFF088k/32k/128k \u5404\u4E00\uFF09\uFF1A\u65E0\u601D\u8003\u63A7\u4EF6\uFF08\u751F\u6210\u6A21\u578B\uFF09\u3001\u652F\u6301\u56FE\u7247\u8F93\u5165\uFF1B\u8BE5\u7EBF\u5DF2\u505C\u6B62\u5BF9\u65B0\u7528\u6237\u5F00\u653E\uFF082026-08-31 \u5168\u91CF\u4E0B\u7EBF\uFF0C\u7F51\u5173\u6B8B\u7559\u4ECD\u53EF\u547D\u4E2D\uFF09\u3002"},{id:"kimi",patterns:["kimi","moonshot"],efforts:{off:null,high:"high"},compat:{thinkingFormat:"deepseek"},input:["text"],contextWindow:262144,note:"Kimi \u901A\u7528\uFF1Athinking \u5F00\u5173\uFF08\u65E0 effort \u6863\uFF09\uFF0C\u5F00=High\u3002k2 \u7CFB\u5217 2026-05-25 \u4E0B\u7EBF\u3001kimi-latest 2026-01-28 \u4E0B\u7EBF\u3001moonshot-v1 \u7CFB 2026-08-31 \u5168\u91CF\u4E0B\u7EBF\uFF08\u7F51\u5173\u6B8B\u7559\u4ECD\u53EF\u547D\u4E2D\uFF1Bmoonshot-v1 \u672C\u8EAB\u975E\u601D\u8003\u6A21\u578B\uFF09\u3002\u89C6\u89C9\u4EE3\u4E0E K2.7 Code \u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"hunyuan-hy3",patterns:["hy3"],efforts:{low:"low",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],contextWindow:262144,note:"\u6DF7\u5143 hy3\uFF1A\u5F00\u6E90\u5951\u7EA6\u7ECF chat_template_kwargs.reasoning_effort = no_think(\u9ED8\u8BA4)/low/high\uFF1B\u5B98\u65B9\u6A21\u578B\u5361 256K \u4E0A\u4E0B\u6587\uFF08295B MoE\uFF0C2026 \u5F00\u6E90\uFF09\u3002"},{id:"hunyuan-hy4",patterns:["hy4-preview","hy-4-preview"],efforts:{off:"no_think",high:"high"},defaultEffort:"high",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},contextWindow:1e6,note:"\u6DF7\u5143 Hy4 preview\uFF1A\u5B98\u65B9 README\u2014\u2014reasoning \u9ED8\u8BA4 high\uFF08\u6DF1\u5EA6\u601D\u8003\uFF09\uFF0C\u5173\u95ED\u7ECF chat_template_kwargs.reasoning_effort=no_think\uFF1B\u5B98\u65B9\u89C4\u683C\u8868 1M \u4E0A\u4E0B\u6587\uFF08770B-A49B MoE\uFF0CGated DSA\uFF09\u3002low \u6863\u5B98\u65B9\u672A\u5217\uFF0C\u5982\u6709\u8BF7\u624B\u8C03\uFF1B\u89C6\u89C9\u672A\u58F0\u660E\uFF0C\u6309\u9700\u624B\u52FE\u3002\u6765\u6E90\uFF1ATencent-Hunyuan/Hy4-preview \u5B98\u65B9 README\u3002"},{id:"step-5-preview",patterns:["step-5"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1e6,maxTokens:65536,note:'\u9636\u8DC3 Step-5-Preview\uFF08\u5B98\u65B9 id \u5373 step-5-preview\uFF0C\u65E0\u88F8 step-5\uFF1Bpattern \u53D6\u5BB6\u65CF\u4E3B\u5E72\u4EE5\u517C\u5BB9\u7F51\u5173\u5199\u6CD5\uFF09\uFF1A\u6863\u4F4D Low / Medium(\u5B98\u65B9\u6807"\u9ED8\u8BA4\u63A8\u8350") / High\uFF0C\u601D\u8003\u4E0D\u53EF\u5173\u95ED\uFF1B\u539F\u751F\u56FE\u7247 + \u89C6\u9891\u8F93\u5165\uFF1B1M \u4E0A\u4E0B\u6587\u300164K \u6700\u5927\u8F93\u51FA\uFF08\u5B98\u65B9\u53E6\u6CE8 max_tokens \u9ED8\u8BA4 INF\u3001\u4E0E 64K \u4E0A\u9650\u5E76\u5B58\uFF0C\u4EE5\u7AEF\u70B9\u5B9E\u6D4B\u4E3A\u51C6\uFF09\u3002'},{id:"step-3-7",patterns:["step-3.7","step-3.6"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:262144,note:"\u9636\u8DC3 Step-3.6/3.7 \u6863\u4F4D\uFF1ALow / Medium(\u9ED8\u8BA4\u63A8\u8350) / High\uFF0C\u539F\u751F\u56FE\u7247+\u89C6\u9891\u7406\u89E3\u3002\u4E0A\u4E0B\u6587\u4E3A\u8F93\u5165+\u8F93\u51FA\u603B\u548C\u4E0A\u9650\u3002"},{id:"step-3-5",patterns:["step-3.5"],efforts:{low:"low",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],contextWindow:262144,note:"\u9636\u8DC3 Step-3.5 Flash \u6863\u4F4D\uFF1ALow / High\uFF08\u7EAF\u6587\u672C\u63A8\u7406\u65D7\u8230\uFF09\u3002\u4E0A\u4E0B\u6587\u4E3A\u8F93\u5165+\u8F93\u51FA\u603B\u548C\u4E0A\u9650\u3002"},{id:"step",patterns:["step-3","step-2"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],note:"\u9636\u8DC3 Step \u6863\u4F4D\uFF1ALow / Medium / High\uFF08\u9ED8\u8BA4 Medium\uFF0C\u4E0D\u53EF\u5173\u95ED\uFF09\u30023.6/3.7 \u89C6\u89C9\u4EE3\u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"doubao",patterns:["doubao","seed"],efforts:{off:null,low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],note:"\u8C46\u5305\u6863\u4F4D\uFF1AOff / Low / Medium / High\u2014\u2014effort \u9636\u68AF\u4ECD\u662F\u793E\u533A\u8BC1\u636E\u3001\u5B98\u65B9 Ark \u6587\u6863\u660E\u5217\u7684\u4E3A thinking.type \u5F00\u5173\uFF082026-08-24 \u590D\u6838\u4ECD\u672A\u89C1\u5230 effort \u5B98\u65B9\u660E\u6587\uFF09\u3002seed \u4EE3\u6536\u56FE\uFF081.5-pro \u4F8B\u5916\uFF09\u3002"},{id:"minimax-m3",patterns:["minimax-m3"],efforts:{off:null,high:"high"},compat:{thinkingFormat:"deepseek"},input:["text","image"],contextWindow:1048576,note:"MiniMax-M3\uFF1A\u5B98\u65B9 thinking \u53C2\u6570 enabled/adaptive/disabled\uFF08\u65E0 effort \u6863\uFF09\uFF0C\u5F00=High\u3001\u5173=disabled\uFF1B\u539F\u751F\u591A\u6A21\u6001\uFF08\u56FE/\u89C6\u9891\uFF0C\u6838\u5FC3\u8BCD\u8868\u4EC5\u542B\u56FE\uFF09\uFF0C1M \u4E0A\u4E0B\u6587\u3002"},{id:"mimo-v2-6",patterns:["mimo-v2.6","mimo-v2.5"],efforts:{off:"none",low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:131072,note:"\u5C0F\u7C73 MiMo v2.6 \u7CFB\u5217\uFF08mimo-v2.6-pro / -flash / -pro-ultraspeed\uFF1B1M \u4E0A\u4E0B\u6587 / 128K \u6700\u5927\u8F93\u51FA\u3001\u539F\u751F\u5168\u6A21\u6001\uFF09\u4E0E\u5176\u524D\u4EE3 mimo-v2.5\u3002\u5B98\u65B9\u6587\u6863\uFF1Athinking.type\uFF08enabled/disabled\uFF0C\u9ED8\u8BA4 enabled\uFF09+ reasoning.effort\uFF08none \u5173\u95ED\uFF1B\u5176\u4F59\u5408\u6CD5\u503C\u5747\u5F00\u542F\uFF0C\u4E14**\u73B0\u9636\u6BB5\u6682\u672A\u533A\u5206\u63A8\u7406\u5F3A\u5EA6**\u2014\u2014minimal \u5F52\u4E00\u4E3A low\u3001xhigh/max/ultra \u5F52\u4E00\u4E3A high\uFF09\uFF0C\u56E0\u6B64\u8FD9\u91CC\u58F0\u660E\u7684\u662F\u7AEF\u70B9**\u63A5\u53D7**\u7684\u6863\u4F4D Off / Low / Medium / High\uFF08xhigh\u3001max \u4E0D\u58F0\u660E\uFF0C\u7AEF\u70B9\u53EA\u4F1A\u6298\u53E0\u4E3A high\uFF09\u3002\u601D\u8003\u6A21\u5F0F\u4E0B temperature / top_p \u4E0D\u53EF\u81EA\u5B9A\u4E49\uFF08\u5F3A\u5236 1.0 / 0.95\uFF09\uFF1B\u5E26\u5DE5\u5177\u8C03\u7528\u7684\u5386\u53F2\u8F6E\u5FC5\u987B\u5B8C\u6574\u56DE\u4F20 reasoning_content\uFF0C\u5426\u5219 400\u3002mimo-v2.5 \u4E0E v2.5-pro \u5B98\u65B9\u5B9A\u4E8E 2026-10-21 \u4E0B\u7EBF\u3002"},{id:"mimo-v2-5-pro",patterns:["mimo-v2.5-pro"],efforts:{off:"none",low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],contextWindow:1048576,maxTokens:131072,note:"\u5C0F\u7C73 MiMo v2.5-Pro\uFF1A\u8BE5\u5BB6\u65CF\u552F\u4E00\u7684**\u7EAF\u6587\u672C**\u6210\u5458\uFF08\u5B98\u65B9\u80FD\u529B\u8868\u672A\u5217\u5168\u6A21\u6001\u7406\u89E3\uFF09\uFF0C1M \u4E0A\u4E0B\u6587 / 128K \u6700\u5927\u8F93\u51FA\uFF0C\u63A8\u7406\u5951\u7EA6\u4E0E v2.6 \u7CFB\u5217\u76F8\u540C\uFF08thinking.type + reasoning.effort\uFF0Cnone \u5173\u95ED\u3001\u5176\u4F59\u6863\u4F4D\u6682\u4E0D\u533A\u5206\u5F3A\u5EA6\uFF09\u3002\u5B98\u65B9\u5B9A\u4E8E 2026-10-21 \u4E0B\u7EBF\u3002"},{id:"baidu-ernie",patterns:["ernie"],efforts:!1,input:["text"],contextWindow:131072,note:"\u767E\u5EA6\u5343\u5E06 ERNIE \u7CFB\uFF1A\u5B98\u65B9 OpenAI \u517C\u5BB9\u63A5\u53E3\u65E0 reasoning_effort \u53C2\u6570\u2014\u2014\u601D\u8003\u7531\u6A21\u578B\u53D8\u4F53\u51B3\u5B9A\uFF08-Thinking \u7CFB\u5217\u59CB\u7EC8\u601D\u8003\u3001\u666E\u901A\u7CFB\u5217\u4E0D\u601D\u8003\uFF09\uFF0C\u52FF\u52FE\u601D\u8003\u6863\u3002ERNIE 4.5 Turbo VL \u652F\u6301\u56FE\u7247\uFF0C\u6309\u9700\u624B\u52FE\uFF1B\u53C2\u8003\u5BB9\u91CF\u53D6 Turbo 128K \u6863\u3002"}],qn={off:null,low:"low",medium:"medium",high:"high"},ya={"openai-completions":qn,"openai-responses":qn,"anthropic-messages":qn,deepseek:{off:"none",low:"low",high:"high",max:"max"}},wa={low:"low",medium:"medium",high:"high"};function ft(e){return(e??"").toLowerCase().trim()}function yo(e){return e!==void 0&&/[a-z0-9]/.test(e)}function ut(e){return e.toLowerCase().trim().replace(/[^a-z0-9]+/g," ")}function ko(e,t,n){let r=t===0?void 0:e[t-1],o=e[t+n];return!yo(r)&&!yo(o)}function Wn(e,t){let n=ut(e)+" "+ut(t??""),r;for(let o of ba)for(let i of o.patterns){let s=ut(i),a=n.indexOf(s);for(;a>=0;){if(ko(n,a,s.length)){(r===void 0||s.length>r.length)&&(r={entry:o,length:s.length});break}a=n.indexOf(s,a+1)}}return r?.entry}var xa={"deepseek.com":"deepseek","anthropic.com":"anthropic-messages"};function va(e){let t=ft(e.api);if(t.length>0)return t;let n=e.baseURL;if(n!==void 0&&n.length>0)try{let o=new URL(n).hostname.toLowerCase().split(".");if(o.length>=2){let i=xa[o.slice(-2).join(".")];if(i!==void 0)return i}}catch{}return"openai-completions"}var Bt="openai-completions",Eo="anthropic-messages";function Bn(e){if(e===void 0||e.length===0)return!1;let t="";try{t=new URL(e).hostname.toLowerCase()}catch{return!1}return t==="localhost"||t==="::1"||t.endsWith(".local")||t.endsWith(".internal")||/^(127\.|10\.|192\.168\.)/.test(t)||/^172\.(1[6-9]|2[0-9]|3[01])\./.test(t)?!0:t.includes(":")}function ka(e,t){let n=ft(t),r={...e};if(delete r.supportsMidConvoEffort,delete r.allowedFallbackModels,n===Eo){for(let o of["thinkingFormat","supportsReasoningEffort","thinkingTokenBudgetField","supportsThinkingTokenBudget","vllmPriority","supportsMaxOutputTokens"])delete r[o];return r.forceAdaptiveThinking===void 0?void 0:{forceAdaptiveThinking:r.forceAdaptiveThinking}}if(n==="openai-responses"){for(let o of["thinkingFormat","supportsReasoningEffort","thinkingTokenBudgetField","supportsThinkingTokenBudget","vllmPriority"])delete r[o];return r.supportsMaxOutputTokens===void 0?void 0:{supportsMaxOutputTokens:r.supportsMaxOutputTokens}}if(n===Bt)return delete r.forceAdaptiveThinking,delete r.supportsMaxOutputTokens,Object.keys(r).length===0?void 0:r}function Ea(e,t){let n=ft(t.api);if(n===Bt){let r=e.compat;return r!==void 0&&(r=ka(r,n)??void 0),r===void 0&&!Bn(t.baseURL)?void 0:r===void 0?{thinkingTokenBudgetField:"thinking_token_budget"}:r.thinkingTokenBudgetField===void 0&&r.supportsThinkingTokenBudget!==!0&&Bn(t.baseURL)?{...r,thinkingTokenBudgetField:"thinking_token_budget"}:r}if(n===Eo&&e.anthropicAdaptive===!0)return{forceAdaptiveThinking:!0}}var Ta=["openai.com","openai.azure.com","deepseek.com","openrouter.ai","z.ai","bigmodel.cn","moonshot.ai","moonshot.cn","aliyuncs.com","anthropic.com","x.ai","together.ai","together.xyz","nvidia.com","cerebras.ai","cloudflare.com","chutes.ai","opencode.ai","ant-ling.com"];function Un(e){if(ft(e.api)!==Bt)return!1;let t=e.baseURL;if(t===void 0||t.length===0)return!1;try{let n=new URL(t).hostname.toLowerCase();return n.includes(".")?!Ta.some(r=>n===r||n.endsWith("."+r)):!1}catch{return!1}}function wo(e,t,n){return e===void 0||!n||e.supportsDeveloperRole!==void 0||!Un(t)?e:{...e,supportsDeveloperRole:!1}}var xo={off:null,low:"low",medium:"medium",high:"high"},Ma=["vl","vision","omni","4o","pixtral","internvl"];function jn(e){let t=ut(e);for(let n of Ma){let r=ut(n),o=t.indexOf(r);for(;o>=0;){if(ko(t,o,r.length))return["text","image"];o=t.indexOf(r,o+1)}}}function Sa(e){if(e===void 0)return;let t=e.map(n=>n.toLowerCase());if(t.some(n=>ha.includes(n)))return t.includes("image")?["text","image"]:["text"]}function he(e,t,n){let r=Wn(e,t.displayName),o,i,s,a;r?.input!==void 0&&(o=r.input,i="knowledge"),r?.contextWindow!==void 0&&(s=r.contextWindow),r?.maxTokens!==void 0&&(a=r.maxTokens);let d=Sa(n?.input);if(d!==void 0&&(o=d,i="endpoint"),n?.contextLength!==void 0&&Number.isFinite(n.contextLength)&&n.contextLength>0&&(s=n.contextLength),o===void 0){let b=jn(e);b!==void 0&&(o=b,i="heuristic")}let f={...o===void 0?{}:{input:o},...i===void 0?{}:{inputSource:i},...s===void 0?{}:{contextWindow:s},...a===void 0?{}:{maxTokens:a}},m=n===void 0?{}:{endpoint:{reasoning:n.reasoning,source:n.source}};if(n?.reasoning===!1)return{efforts:!1,matched:!1,source:"endpoint:"+(n.source??"listing"),confidence:"high",...m,...f};if(r!==void 0){let b=wo(Ea(r,t),t,r.efforts!==!1);return{efforts:r.efforts,...r.efforts!==!1&&r.defaultEffort!==void 0&&r.efforts[r.defaultEffort]!==void 0?{defaultEffort:r.defaultEffort}:{},...b===void 0?{}:{compat:b},matched:!0,entryId:r.id,source:r.id,confidence:"high",...m,...f}}let p=va(t),g=ya[p]??wa,l=ft(t.api)===Bt?{thinkingFormat:"openai",supportsReasoningEffort:!0}:void 0,c=l!==void 0&&Bn(t.baseURL)?{...l,thinkingTokenBudgetField:"thinking_token_budget"}:l,u=wo(c,t,!0);return n?.reasoning===!0?{efforts:{...xo},...xo.medium!==void 0?{defaultEffort:"medium"}:{},...u===void 0?{}:{compat:u},matched:!1,source:"endpoint:"+(n.source??"listing"),confidence:"medium",...m,...f}:{efforts:g,...g.medium!==void 0?{defaultEffort:"medium"}:{},...u===void 0?{}:{compat:u},matched:!1,source:"protocol:"+p,confidence:"low",...m,...f}}var Mo="dsh-model-think-level.slider.efforts",zn="breSelectWired";function Gn(e){return typeof e=="object"&&e!==null&&e.ok===!1}function $n(e){if(!Gn(e))return;let t=e.error,n=typeof t?.code=="string"?t.code:"settings/rejected",r=typeof t?.message=="string"?t.message:"";return r.length>0?`${n}: ${r}`:n}function Ke(e,t){return`${e}/${t}`}function So(){try{let e=window.localStorage.getItem(Mo);if(e===null)return{};let t=JSON.parse(e);if(typeof t!="object"||t===null||Array.isArray(t))return{};let n={};for(let[r,o]of Object.entries(t))r.length>0&&typeof o=="string"&&o.trim().length>0&&(n[r]=o);return n}catch{return{}}}function La(e){try{window.localStorage.setItem(Mo,JSON.stringify(e))}catch{}}function Aa(e,t,n){let r=So();r[Ke(e,t)]=n,La(r)}function Ra(e,t){return So()[Ke(e,t)]}function Wt(e,t,n){let o=e.groups.find(i=>i.id===t)?.models.find(i=>i.id===n)?.reasoning?.efforts;return o===void 0?[]:o.map(i=>i.id)}function Oa(e,t,n){return e.groups.find(o=>o.id===t)?.models.find(o=>o.id===n)?.reasoning?.defaultEffort}function Ha(e){if(!(e.length<2))return e[Math.floor((e.length-1)/2)]}function Na(e,t){return e===null||e.provider!==t.provider||e.model!==t.model}async function To(e,t,n,r,o){let i=Wt(e,t,n);if(i.length===0)return;let s=Ke(t,n),a=r.get(s);if(a!==void 0&&i.includes(a))return a;let d=await o?.configuredEffort?.(t,n);if(d!==void 0&&i.includes(d))return d;let f=Ra(t,n);if(f!==void 0&&i.includes(f))return f;let m=he(n,{}).defaultEffort;if(m!==void 0&&i.includes(m))return m;let p=Oa(e,t,n);return p!==void 0&&i.includes(p)?p:Ha(i)}function Lo(e,t){let n=e;if(n[zn]===!0)return()=>{};let r=Object.prototype.hasOwnProperty.call(n,"select"),o=e.select,i=new Map,s=new Set,a=new Map,d=3,f=0,m=async l=>{let c=++f;if(l.reasoningEffort!==void 0){let x=await o.call(e,l);return!Gn(x)&&ue()&&(i.set(Ke(l.provider,l.model),l.reasoningEffort),Aa(l.provider,l.model,l.reasoningEffort)),x}let u=e.store.getSnapshot();if(!Na(u.current,l)){if(ue()){let x=Ke(l.provider,l.model);i.delete(x),s.add(x)}return o.call(e,l)}if(!ue())return o.call(e,l);let b=await To(u,l.provider,l.model,i,t),k=e.store.getSnapshot();if(!(f!==c||((x,T)=>x===null||T===null?x!==T:x.provider!==T.provider||x.model!==T.model||x.reasoningEffort!==T.reasoningEffort)(k.current,u.current)))return!ue()||b===void 0||!Wt(k,l.provider,l.model).includes(b)?o.call(e,l):o.call(e,{...l,reasoningEffort:b})},p=()=>{let l=e.store.getSnapshot(),c=l.current;if(c===null||c.reasoningEffort!==void 0||!ue())return;let u=Ke(c.provider,c.model);if(s.has(u))return;if(Wt(l,c.provider,c.model).length===0){s.add(u);return}s.add(u);let b=f;To(l,c.provider,c.model,i,t).then(async k=>{if(k===void 0){s.delete(u);return}if(!ue()){s.delete(u);return}let w=e.store.getSnapshot(),x=w.current;if(f!==b||x===null||x.reasoningEffort!==void 0||Ke(x.provider,x.model)!==u||!Wt(w,x.provider,x.model).includes(k))return;let T=await o.call(e,{provider:x.provider,model:x.model,reasoningEffort:k});if(Gn(T))throw T}).catch(()=>{let k=(a.get(u)??0)+1;a.set(u,k),k<d&&(s.delete(u),p())})},g=e.store.subscribe(p);return p(),n[zn]=!0,e.select=m,()=>{delete n[zn],g(),r?e.select=o:delete n.select}}function _a(e){if(e.current===null)return[];let r=e.groups.find(o=>o.id===e.current?.provider)?.models.find(o=>o.id===e.current?.model)?.reasoning?.efforts;return r!==void 0&&r.length>=2?r:[]}function Ia(e){return e.current}function Da(e,t){let n=Ia(t),r=e.findIndex(a=>a.id===n?.reasoningEffort);if(r>=0)return r;let i=t.groups.find(a=>a.id===n?.provider)?.models.find(a=>a.id===n?.model)?.reasoning?.defaultEffort,s=i===void 0?-1:e.findIndex(a=>a.id===i);return s>=0?s:Math.floor((e.length-1)/2)}function Ao(e){return e.models??[]}function Ut(e){let t=e;return t.name??t.label??t.title??e.id}function Vn(e){return(0,M.createElement)("span",{className:"bre-row-chevron"+(e?" is-open":""),"aria-hidden":!0},"\u203A")}function Pa(){return(0,M.createElement)("svg",{className:"bre-option-check",width:14,height:14,viewBox:"0 0 16 16",fill:"none","aria-hidden":!0},(0,M.createElement)("path",{d:"M3.5 8.5l3 3 6-7",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round"}))}var Ro=new Map;function Ca(e){if(Array.isArray(e.input))return e.input.includes("image");let t=Ro.get(e.id);if(t!==void 0)return t;let n=Wn(e.id,e.name)?.input,r=n!==void 0?n.includes("image"):(jn(e.id)??[]).includes("image");return Ro.set(e.id,r),r}function Fa(e){let t=e.reasoning?.efforts;return Array.isArray(t)&&t.length>0}function Ka(e){return(0,M.createElement)("svg",{className:"bre-tag-icon",width:13,height:13,viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":e},(0,M.createElement)("path",{d:"M1.8 8s2.4-4.2 6.2-4.2S14.2 8 14.2 8s-2.4 4.2-6.2 4.2S1.8 8 1.8 8z",stroke:"currentColor",strokeWidth:1.3,strokeLinejoin:"round"}),(0,M.createElement)("circle",{cx:8,cy:8,r:1.8,fill:"currentColor"}))}function qa(e){return(0,M.createElement)("svg",{className:"bre-tag-icon",width:13,height:13,viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":e},(0,M.createElement)("path",{d:"M8 1.9l1.35 3.75L13.1 7l-3.75 1.35L8 12.1 6.65 8.35 2.9 7l3.75-1.35z",fill:"currentColor"}))}function Ba(e,t){let n=[];return Ca(e)&&n.push((0,M.createElement)("span",{key:"vision",className:"bre-tag",title:t("tagVision")},Ka(t("tagVision")))),Fa(e)&&n.push((0,M.createElement)("span",{key:"thinking",className:"bre-tag",title:t("tagThinking")},qa(t("tagThinking")))),n.length===0?null:(0,M.createElement)("span",{className:"bre-option-tags"},...n)}function Oo(e){let{directory:t,t:n}=e,r=e.onLayoutChange,o=(0,M.useSyncExternalStore)(S=>t.store.subscribe(S),()=>t.store.getSnapshot()),i=_a(o),[s,a]=(0,M.useState)(""),[d,f]=(0,M.useState)(null),[m,p]=(0,M.useState)(null),[g,l]=(0,M.useState)(!1),[c,u]=(0,M.useState)(null),b=(0,M.useRef)(null),k=(0,M.useRef)(""),w=(0,M.useRef)(!1),x=o.current!==null&&i.length>=2,T=g||o.status==="selecting",y=c??o.error,E=t.select;(0,M.useEffect)(()=>{if(w.current)return;let S=Da(i,o),Q=i[S]?.id??"";k.current=Q,a(Q),u(null)},[x,i,o]),(0,M.useEffect)(()=>{t.load().catch(()=>{})},[t]);let R=o.current,K=o.groups.find(S=>S.id===R?.provider),I=K?.models.find(S=>S.id===R?.model)?.name??(R===null?n("triggerFallback"):R.model),B=R===null?I:Ut(K??{id:R.provider})+" \xB7 "+I,A=i.find(S=>S.id===s)?.name??n("effortDefault"),D=(0,M.useSyncExternalStore)(Dt,_n),W=(0,M.useSyncExternalStore)(Ft,io),C=(0,M.useSyncExternalStore)(qt,co),z=o.groups.filter(S=>Ao(S).length>0&&!W.includes(S.id)).map(S=>S.id),V=Ze(In(z),D),U=m!==null&&V.includes(m)?m:R!==null&&V.includes(R.provider)?R.provider:V[0]??null,L=U===null?[]:ho(Ao(o.groups.find(S=>S.id===U)),C[U]??[]),P=R===null?"":R.provider+"/"+R.model,_=(0,M.useCallback)(S=>{d!==S&&((0,Yn.flushSync)(()=>{f(S)}),r?.())},[r,d]),te=(0,M.useCallback)(()=>{d!==null&&((0,Yn.flushSync)(()=>{f(null)}),r?.())},[r,d]),oe=(0,M.useCallback)(()=>{let S=b.current?.closest('[role="menu"]');S!=null&&(S.tabIndex=-1,S.focus({preventScroll:!0}))},[]),Pe=(0,M.useCallback)(async(S,Q)=>{if(w.current)return;let Z=t.store.getSnapshot().current;if(te(),!(Z!==null&&Z.provider===S&&Z.model===Q)){w.current=!0,oe(),l(!0),u(null);try{let de=await E({provider:S,model:Q}),Ee=$n(de);if(Ee!==void 0)throw new Error(Ee)}catch(de){u(de instanceof Error?de.message:String(de))}finally{w.current=!1,l(!1)}}},[te,t,oe,E]),Ve=(0,M.useCallback)(async S=>{if(w.current||(te(),S===o.current?.reasoningEffort&&o.status!=="error"))return;w.current=!0;let Q=k.current;oe(),l(!0),u(null),a(S);try{let Z=o.current;if(Z===null)throw new Error(n("sliderNoCurrent"));let de=await E({provider:Z.provider,model:Z.model,reasoningEffort:S}),Ee=$n(de);if(Ee!==void 0)throw new Error(Ee);let Te=t.store.getSnapshot(),at=i.find(At=>At.id===Te.current?.reasoningEffort)?.id??S;k.current=at,a(at)}catch(Z){k.current=Q,a(Q),u(Z instanceof Error?Z.message:String(Z))}finally{w.current=!1,l(!1)}},[te,t,oe,i,E,o.current,o.status,n]),Ce=[(0,M.createElement)("button",{key:"row:model",type:"button",role:"menuitem",className:"bre-row-control"+(d==="model"?" is-open":""),disabled:T,"aria-expanded":d==="model",onClick:()=>{_(d==="model"?null:"model")}},(0,M.createElement)("span",{className:"bre-row-label"},n("modelRowLabel")),(0,M.createElement)("span",{className:"bre-row-value"},B),Vn(d==="model")),d==="model"?(0,M.createElement)("div",{key:"panel:model",className:"bre-panel bre-panel-models"},(0,M.createElement)("div",{className:"bre-providers",role:"group","aria-label":n("modelRowLabel")},...V.map(S=>(0,M.createElement)("button",{key:S,type:"button",className:"bre-provider"+(S===U?" is-open":"")+(S===R?.provider?" is-current":""),disabled:T,"aria-expanded":S===U,onClick:()=>{p(S)}},(0,M.createElement)("span",{className:"bre-option-name"},Ut(o.groups.find(Q=>Q.id===S))),Vn(S===U))),...V.length===0?[(0,M.createElement)("div",{key:"no-providers",className:"bre-empty"},n("sliderNoCurrent"))]:[]),(0,M.createElement)("div",{className:"bre-provider-models",role:"group","aria-label":n("modelRowLabel")},...L.length===0?[(0,M.createElement)("div",{key:"no-models",className:"bre-empty"},n("sliderNoCurrent"))]:L.map(S=>{let Q=U+"/"+S.id,Z=Q===P;return(0,M.createElement)("button",{key:Q,type:"button",className:"bre-option"+(Z?" is-active":""),disabled:T,"aria-pressed":Z,onClick:()=>{Pe(U,S.id)}},(0,M.createElement)("span",{className:"bre-option-name"},S.name??S.id),Ba(S,n))}))):null,(0,M.createElement)("div",{key:"divider",className:"bre-divider","aria-hidden":!0}),(0,M.createElement)("button",{key:"row:effort",type:"button",role:"menuitem",className:"bre-row-control"+(d==="effort"?" is-open":""),disabled:T||!x,"aria-expanded":x?d==="effort":void 0,onClick:()=>{_(d==="effort"?null:"effort")}},(0,M.createElement)("span",{className:"bre-row-label"},n("effortRowLabel")),(0,M.createElement)("span",{className:"bre-row-value"+(x?"":" is-muted")},x?A:n("sliderNoLevels")),x?Vn(d==="effort"):null),d==="effort"&&x?(0,M.createElement)("div",{key:"panel:effort",className:"bre-panel",role:"group","aria-label":n("effortRowLabel")},...i.map(S=>(0,M.createElement)("button",{key:S.id,type:"button",className:"bre-option"+(S.id===s?" is-active":""),disabled:T,"aria-pressed":S.id===s,onClick:()=>{Ve(S.id)}},(0,M.createElement)("span",{className:"bre-option-name"},S.name),S.id===s?Pa():null))):null];return(0,M.createElement)("div",{className:"bre-slider-body",ref:b},(0,M.createElement)("div",{className:"bre-card"},...Ce),y===null?null:(0,M.createElement)("div",{className:"bre-model-error",role:"status"},y))}var G=require("react"),No='section[role="group"]',Xn='button[role="menuitemradio"]';function _o(e){return e.querySelector(No)!==null}function Jn(e){return Array.from(e.querySelectorAll(Xn)).filter(t=>!t.disabled&&t.style.display!=="none")}function Wa(e){let t=e.getAttribute("aria-labelledby");return(t===null?null:e.ownerDocument.getElementById(t))?.textContent?.toLowerCase()??""}function Ho(e,t,n=new Map){let r=d=>{n.has(d)||n.set(d,d.style.display),d.style.display="none"},o=d=>{let f=n.get(d);f!==void 0&&(d.style.display=f,n.delete(d))};for(let d of[...n.keys()])d.isConnected||n.delete(d);let i=t.trim().toLowerCase().split(/\s+/).filter(Boolean),s=Array.from(e.querySelectorAll(No)),a=0;if(i.length===0){for(let d of[...n.keys()])o(d);for(let d of s)a+=d.querySelectorAll(Xn).length;return a}for(let d of s){let f=Wa(d),m=Array.from(d.querySelectorAll(Xn)),p=0;for(let g of m){let l=(g.getAttribute("title")??"").toLowerCase(),c=(g.textContent??"").toLowerCase(),u=`${f} ${l} ${c}`;i.every(b=>u.includes(b))?(o(g),p+=1):r(g)}p>0?(o(d),a+=p):r(d)}return a}function Io({menu:e,t}){let[n,r]=(0,G.useState)(""),[o,i]=(0,G.useState)(0),s=(0,G.useRef)(null),a=(0,G.useRef)(""),d=(0,G.useRef)(new Map),f=(0,G.useCallback)(l=>{a.current=l;let c=Ho(e,l,d.current);i(c)},[e]);(0,G.useEffect)(()=>()=>{Ho(e,"",d.current)},[e]),(0,G.useEffect)(()=>{let l=new MutationObserver(()=>{a.current.trim().length!==0&&f(a.current)});return l.observe(e,{childList:!0,subtree:!0}),()=>{l.disconnect()}},[e,f]),(0,G.useEffect)(()=>{let l=c=>{if(a.current.trim().length===0)return;let u=c.key;if(!(u==="ArrowDown"||u==="ArrowUp")&&!(u==="Home"||u==="End"||u==="PageUp"||u==="PageDown")||c.target===s.current||c.target instanceof Node&&!e.contains(c.target))return;let w=Jn(e);if(w.length===0)return;let x=w.findIndex(y=>y===document.activeElement),T;u==="Home"||u==="PageUp"?T=0:u==="End"||u==="PageDown"?T=w.length-1:u==="ArrowDown"?T=x===-1?0:(x+1)%w.length:T=x===-1?w.length-1:(x-1+w.length)%w.length,c.preventDefault(),c.stopPropagation(),w[T]?.focus()};return e.addEventListener("keydown",l,!0),()=>{e.removeEventListener("keydown",l,!0)}},[e]);let m=l=>{let c=l.key;if(c==="ArrowDown"){l.preventDefault(),l.stopPropagation(),Jn(e)[0]?.focus();return}if(n.trim().length>0&&(c==="ArrowUp"||c==="Home"||c==="PageUp"||c==="End"||c==="PageDown")){let u=Jn(e);u.length>0&&(l.preventDefault(),l.stopPropagation(),u[c==="ArrowUp"||c==="End"||c==="PageDown"?u.length-1:0]?.focus());return}c==="Escape"&&n.length>0&&(l.preventDefault(),l.stopPropagation(),r(""),f(""))},p=()=>{r(""),f(""),s.current?.focus({preventScroll:!0})},g=o===0&&n.trim().length>0;return(0,G.createElement)("div",{className:"bre-model-search-box"+(g?" has-empty":""),"data-bre-search":"1"},(0,G.createElement)("div",{className:"bre-search-input-wrapper"},(0,G.createElement)("span",{className:"bre-search-icon","aria-hidden":"true"},(0,G.createElement)("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5"},(0,G.createElement)("circle",{cx:"7",cy:"7",r:"4.5"}),(0,G.createElement)("path",{d:"M10.5 10.5L14 14",strokeLinecap:"round"}))),(0,G.createElement)("input",{ref:s,type:"text",className:"bre-search-input",role:"searchbox",placeholder:t("modelSearchPlaceholder"),"aria-label":t("modelSearchPlaceholder"),value:n,spellCheck:!1,autoComplete:"off",onChange:l=>{let c=l.currentTarget.value;r(c),f(c)},onKeyDown:m}),n.length>0?(0,G.createElement)("button",{type:"button",className:"bre-search-clear",title:t("modelSearchClear"),"aria-label":t("modelSearchClear"),onClick:p},(0,G.createElement)("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5"},(0,G.createElement)("path",{d:"M4 4L12 12M12 4L4 12",strokeLinecap:"round"}))):null),g?(0,G.createElement)("div",{className:"bre-search-empty",role:"status"},t("modelSearchNoMatches")):null)}var jt=require("react"),Do=require("react-dom"),Po=require("react-dom/client");function be(){return document.body}function ct(e,t,n){let r=(0,Po.createRoot)(e);return n?.sync===!0?(0,Do.flushSync)(()=>{r.render(t)}):r.render(t),{wrapper:e,root:r}}function qe(e){e!==void 0&&(e.root.unmount(),e.wrapper.remove())}var ve=class extends jt.Component{constructor(){super(...arguments);Br(this,"state",{error:null})}static getDerivedStateFromError(n){return{error:n instanceof Error?n.message:String(n)}}componentDidCatch(n,r){console.error("[bre] editor render failed:",n,r.componentStack)}render(){return this.state.error!==null?(0,jt.createElement)("div",{style:{color:"#c00",fontSize:"11px",whiteSpace:"pre-wrap",padding:"6px"}},`${this.props.fallbackText}: ${this.state.error}`):this.props.children}};var Co=()=>{(0,Fo.flushSync)(()=>{window.dispatchEvent(new Event("resize"))})};function Ko(e){let{menuOf:t,triggerOf:n,t:r,refreshed:o,sliderEnabled:i,directory:s}=e,a,d,f,m,p,g,l=()=>{g?.removeAttribute("data-bre-provider"),g=void 0},c=()=>{let y=n();g!==void 0&&g!==y&&l();let E=m?.store.getSnapshot(),R=E?.current;if(y===void 0||R===null||R===void 0){y===g&&l();return}let K=E?.groups.find(I=>I.id===R.provider),j=K===void 0?R.provider:Ut(K);if(j.trim()===""){y===g&&l();return}y.dataset.breProvider=j,g=y},u=()=>{let y=s();y!==m&&(p?.(),p=void 0,m=y,y!==void 0&&(p=y.store.subscribe(c))),c()},b=()=>{qe(d),d=void 0},k=y=>{let E=y.querySelector('section[role="group"]'),R=E?.parentElement,K=R!=null&&R.parentElement===y?R:E;if(d===void 0){let j=document.createElement("div");j.dataset.plugin=J,j.dataset.breSearch="1",y.insertBefore(j,K),d=ct(j,(0,pt.createElement)(ve,{fallbackText:r("modelSearchFailed"),children:o(()=>(0,pt.createElement)(Io,{menu:y,t:r}))}),{sync:!0});return}if(d.wrapper.parentElement!==y){y.insertBefore(d.wrapper,K);return}K!==null&&d.wrapper.nextSibling!==K&&y.insertBefore(d.wrapper,K)},w=y=>{if(!i()){qe(a),a=void 0,y.classList.remove("bre-model-menu-host");for(let I of Array.from(y.children))I.getAttribute("role")==="menuitem"&&(I.style.display="");return}let E=s();if(E===void 0)return;if(a===void 0){let I=document.createElement("div");I.dataset.plugin=J,I.dataset.breSlider="1",y.insertBefore(I,y.firstChild),a=ct(I,(0,pt.createElement)(ve,{fallbackText:r("renderFailed"),children:o(()=>(0,pt.createElement)(Oo,{directory:E,t:r,onLayoutChange:Co}))}),{sync:!0})}else(a.wrapper.parentElement!==y||y.firstChild!==a.wrapper)&&y.insertBefore(a.wrapper,y.firstChild);y.classList.add("bre-model-menu-host");let R=Array.from(y.children).filter(I=>I.getAttribute("role")==="menuitem"),K=a.wrapper;if(Array.from(y.querySelectorAll('[role="menuitemradio"]')).some(I=>!K.contains(I)))a.wrapper.contains(document.activeElement)&&(y.tabIndex=-1,y.focus({preventScroll:!0})),a.wrapper.style.display="none";else{a.wrapper.style.display="";for(let I of R)I.style.display="none"}};return{reconcile:()=>{u();let y=t();if(y===void 0){qe(a),a=void 0,b(),f=void 0;return}let E=_o(y);E?k(y):b(),w(y),E!==f&&(f=E,(E||i())&&Co())},dispose:()=>{p?.(),p=void 0,m=void 0,l(),qe(a),a=void 0,b(),f=void 0}}}var H=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function qo(e){let t=e.toLowerCase();return t.includes("compat")||t.includes("thinkingtokenbudget")||t.includes("vllmpriority")||t.includes("supportsmaxoutput")}function zt(e,t){if(!H(e))return[];let n=e[t];return!H(n)||!Array.isArray(n.models)?[]:n.models.filter(H)}function Be(e,t){if(!H(e))return{};let n=e[t];if(!H(n))return{};let r=typeof n.api=="string"?n.api:void 0,o=typeof n.baseURL=="string"?n.baseURL:void 0,i=typeof n.displayName=="string"?n.displayName:void 0;return{api:r,baseURL:o,displayName:i}}var Le=(e,t)=>typeof e[t]=="boolean";function Ua(e,t){if(Array.isArray(e)){for(let n of e)if(H(n)&&n.id===t)return n}}function ja(e){if(!H(e))return{reasoning:"unknown",source:null};let t=e.supported_features;if(Array.isArray(t)&&t.includes("reasoning"))return{...ye(e),reasoning:!0,source:"supported_features"};let n=e.supported_parameters;if(Array.isArray(n)&&(n.includes("reasoning")||n.includes("include_reasoning")||n.includes("reasoning_effort")))return{...ye(e),reasoning:!0,source:"supported_parameters"};if(Le(e,"supports_reasoning"))return{...ye(e),reasoning:e.supports_reasoning,source:"supports_reasoning"};if(Le(e,"supportsReasoning"))return{...ye(e),reasoning:e.supportsReasoning,source:"supportsReasoning"};if(Le(e,"can_reason"))return{...ye(e),reasoning:e.can_reason,source:"can_reason"};if(Le(e,"reasoning"))return{...ye(e),reasoning:e.reasoning,source:"reasoning"};let r=e.reasoning_effort;if(r!=null&&!(typeof r=="string"&&r.trim().length===0)||e.supports_reasoning_effort===!0)return{...ye(e),reasoning:!0,source:"reasoning_effort"};let o=H(e.capabilities)?e.capabilities:void 0;if(o!==void 0){let i=o.thinking;if(H(i)&&typeof i.supported=="boolean")return{...ye(e),reasoning:i.supported,source:"capabilities.thinking.supported"};let s=o.effort;if(H(s)&&typeof s.supported=="boolean")return{...ye(e),reasoning:s.supported,source:"capabilities.effort.supported"}}return{...ye(e),reasoning:"unknown",source:null}}function ye(e){let t={},n=s=>{if(!Array.isArray(s))return;let a=s.filter(d=>typeof d=="string");return a.length>0?a.map(d=>d.toLowerCase()):[]},r=H(e.architecture)?e.architecture:void 0,o=n(r?.input_modalities);if(o===void 0&&(o=n(e.input_modalities)),o===void 0){let s=H(e.modalities)?e.modalities:void 0;o=n(s?.input)}if(o===void 0){let s=e.capabilities,a=d=>Array.isArray(d)&&d.some(f=>typeof f=="string"&&f.toLowerCase()==="vision");if(a(e.supported_features)||a(s))o=["image"];else if(H(s)){let d=[];for(let f of["image_input","video_input","pdf_input","file_input"]){let m=H(s[f])?s[f]:void 0;if(m===void 0||typeof m.supported!="boolean")continue;let p=f.replace(/_input$/,"");m.supported===!0?d.push(p):d.length===0&&d.push("text")}d.length>0&&(o=d)}}o===void 0&&(Le(e,"supports_vision")?o=e.supports_vision===!0?["image"]:[]:Le(e,"supportsVision")?o=e.supportsVision===!0?["image"]:[]:(Le(e,"supports_images")||Le(e,"supportsImages"))&&(o=e.supports_images===!0||e.supportsImages===!0?["image"]:[])),o!==void 0&&(t.input=o.length===0?["text"]:o);let i=e.context_length;if(typeof i=="number"&&Number.isFinite(i)&&i>0)t.contextLength=i;else{let a=(H(e.top_provider)?e.top_provider:void 0)?.context_length;if(typeof a=="number"&&Number.isFinite(a)&&a>0)t.contextLength=a;else{let d=e.max_input_tokens;if(typeof d=="number"&&Number.isFinite(d)&&d>0)t.contextLength=d;else{let m=(H(e.limit)?e.limit:void 0)?.context;typeof m=="number"&&Number.isFinite(m)&&m>0&&(t.contextLength=m)}}}return t}function Bo(e,t){let n=Ua(e,t);return n===void 0?{found:!1,signal:{reasoning:"unknown",source:null}}:{found:!0,signal:ja(n)}}function we(e){let n=e?.value?.providers;return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(([,r])=>typeof r=="object"&&r!==null&&!Array.isArray(r)))}function Gt(e){if(!H(e))return;let t=e.providers;return H(t)?t:void 0}function Wo(e,t){for(let n of[e?.user,e?.base]){let r=Gt(n)?.[t];if(H(r)&&r.models!==void 0)return r.models}}function Qn(e){return Gt(e?.user)}function $t(e,t){let n=e.find(o=>o.id===t);if(n===void 0)return;let r=n.reasoningEfforts;if(r===!1)return!1;if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Vt(e,t){let r=e.find(i=>i.id===t)?.input;if(!Array.isArray(r))return;let o=r.filter(i=>typeof i=="string");return o.length>0?o:void 0}function Yt(e,t){let r=e.find(o=>o.id===t)?.compat;if(H(r))return{...r}}function Jt(e,t){let r=e.find(o=>o.id===t)?.name;return typeof r=="string"&&r.length>0?r:void 0}function Xt(e,t){let r=e.find(o=>o.id===t)?.[Je];return typeof r=="string"&&r.length>0?r:void 0}async function za(e,t){try{let n=await fetch(`${Wr}?route=${encodeURIComponent(e)}`,{method:"GET"});if(!n.ok)return{reasoning:"unknown",source:null};let r=await n.json();return r?.ok?Bo(r.data,t).signal:{reasoning:"unknown",source:null}}catch{return{reasoning:"unknown",source:null}}}function Qt(e,t=()=>ne(e),n,r,o,i){return{async suggest(s,a,d,f){let m=we((await t()).namespace),p=Be(m,s),g={api:p.api??f?.api,baseURL:p.baseURL??f?.baseURL,displayName:d??p.displayName},l=m[s]===void 0?void 0:await za(s,a),c=he(a,g,l);return c.efforts===void 0?{ok:!1,error:"no-suggestion"}:{ok:!0,suggestion:{efforts:c.efforts,...c.compat===void 0?{}:{compat:c.compat},...c.defaultEffort===void 0?{}:{defaultEffort:c.defaultEffort},...c.defaultEffort===void 0?{}:{defaultEffort:c.defaultEffort},...c.input===void 0?{}:{input:c.input},...c.inputSource===void 0?{}:{inputSource:c.inputSource},...c.contextWindow===void 0?{}:{contextWindow:c.contextWindow},...c.maxTokens===void 0?{}:{maxTokens:c.maxTokens},matched:c.matched,source:c.source,confidence:c.confidence,...c.endpoint===void 0?{}:{endpoint:c.endpoint}}}},commit(s,a,d){if(i?.()===!0){n?.(s,a,d.efforts,d.compat,d.input,d.defaultEffort);return}r?.(s,a,{efforts:d.efforts,...d.compat===void 0?{}:{compat:d.compat},...d.input===void 0?{}:{input:d.input},...d.clearCompatKeys===void 0?{}:{clearCompatKeys:d.clearCompatKeys},...d.defaultEffort===void 0?{}:{defaultEffort:d.defaultEffort}})},withdraw(s,a){o?.(s,a)},stageEfforts(s,a,d,f,m,p){n?.(s,a,d,f,m,p)},async writeEfforts(s,a,d,f,m,p,g){if(r!==void 0)return r(s,a,{efforts:d,...f===void 0?{}:{compat:f},...m===void 0?{}:{input:m},...p===void 0?{}:{clearCompatKeys:p},...g===void 0?{}:{defaultEffort:g}}),{ok:!0,staged:!0};let c=(await mt(e,s,[{modelId:a,efforts:d,...f===void 0?{}:{compat:f},...m===void 0?{}:{input:m},...p===void 0?{}:{clearCompatKeys:p},...g===void 0?{}:{defaultEffort:g}}],t))[0]??{ok:!1,error:"no-result"};return c.ok?{ok:!0}:c.modelNotFound===!0?{ok:!1,error:"model-not-found"}:{ok:!1,error:c.error??"conflict"}}}}async function mt(e,t,n,r=()=>ne(e),o){if(n.length===0)return[];let i=!1;for(let s=0;s<3;s++)try{let a=s===0?await r():await ne(e,{fresh:!0});if(a.namespace===void 0)return n.map(()=>({ok:!1,error:"no-namespace"}));let d=Wo(a.namespace,t);if(!Array.isArray(d))return n.map(()=>({ok:!1,modelNotFound:!0}));if(!d.every(H))return n.map(()=>({ok:!1,error:"invalid-models"}));let m=d.map(l=>l),p=[];for(let l of n){let c=m.findIndex(u=>u.id===l.modelId);if(c<0){p.push(l.modelId);continue}m[c]=Ga(m[c],l,i?void 0:l.compat)}if(p.length>0)return n.map(l=>p.includes(l.modelId)?{ok:!1,modelNotFound:!0}:{ok:!1,error:"model-not-found"});if(o?.()===!0)return n.map(()=>({ok:!1,aborted:!0}));let g=await e.settings.mutate(re,[{op:"set",path:["providers",t,"models"],value:m}],a.namespace.revision);if(!g.ok){if(s===0&&g.error.code==="settings/conflict")continue;let l=g.error.code==="settings/rejected"&&qo(g.error.message);if(!i&&l&&n.some(c=>c.compat!==void 0)){i=!0;continue}return n.map(()=>({ok:!1,error:g.error.message}))}return n.map(()=>({ok:!0}))}catch(a){return n.map(()=>({ok:!1,error:a instanceof Error?a.message:String(a)}))}return n.map(()=>({ok:!1,error:"conflict"}))}function Ga(e,t,n){let r={...e},o=t.efforts!=="keep",i=t.efforts==="keep"?void 0:t.efforts;if(o)if(i===void 0)delete r.reasoningEfforts,r[se]=!0;else if(delete r[se],delete r[Ye],i===!1)r.reasoningEfforts=!1;else{r.reasoningEfforts={...i};let s=H(e.compat)?e.compat:{},a={...s,...n??{}};for(let d of t.clearCompatKeys??[])delete a[d];(Object.keys(s).length>0||Object.keys(a).length>0)&&(Object.keys(a).length===0?delete r.compat:r.compat=a)}return t.input!==void 0&&(t.input===null?(delete r.input,r[Me]=!0):(delete r[Me],r.input=[...t.input])),t.defaultEffort!==void 0&&(t.defaultEffort===null?delete r[Je]:r[Je]=t.defaultEffort),r}function Zn(e,t){for(let n of[e?.user,e?.base]){let r=Gt(n)?.[t];if(!H(r))continue;let o=r.headers;if(o===void 0)continue;if(!H(o))return;let i={};for(let[s,a]of Object.entries(o))typeof a=="string"&&(i[s]=a);return i}}async function er(e,t,n){if(typeof t!="string"||t.length===0)return{ok:!1,error:"no-route"};for(let r=0;r<2;r+=1)try{let o=r===0?await ne(e):await ne(e,{fresh:!0});if(o.namespace===void 0)return{ok:!1,error:"no-namespace"};if(o.writable!==!0)return{ok:!1,error:"read-only"};if(!$a(o.namespace,t))return{ok:!1,error:"no-route"};let i=await e.settings.mutate(re,[{op:"set",path:["providers",t,"headers"],value:{...n}}],o.namespace.revision);if(!i.ok){if(r===0&&i.error.code==="settings/conflict")continue;return{ok:!1,error:i.error.message}}return{ok:!0}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}return{ok:!1,error:"conflict"}}function $a(e,t){for(let n of[e?.user,e?.base]){let r=Gt(n);if(r!==void 0&&Object.prototype.hasOwnProperty.call(r,t))return!0}return!1}async function ne(e,t={}){let n=t.fresh===!0?void 0:Va(e);if(n!==void 0)return n;let r=await e.settings.describe();return r.ok?{namespace:r.value.namespaces.find(i=>i.ns===re),writable:r.value.writable}:{namespace:void 0,writable:!1}}function Va(e){let t=e.scope?.getSnapshot();if(!(t===void 0||t.status!=="ready")&&typeof t.revision=="number")return{namespace:{ns:re,schema:{},value:t.value,user:t.user,base:t.base,revision:t.revision,applies:"live",secrets:[]},writable:t.writable===!0}}function Uo(e){let t,n,r=0,o=()=>{if(t!==void 0)return Promise.resolve();let a=r;return n??(n=ne(e.api).then(d=>{if(d.namespace===void 0){n=void 0;return}let f=new Map;for(let[m,p]of Object.entries(we(d.namespace))){let g=Array.isArray(p.models)?p.models:[];for(let l of g){if(typeof l!="object"||l===null||Array.isArray(l))continue;let c=l.id,u=l[Je];typeof c=="string"&&typeof u=="string"&&u.length>0&&f.set(`${m}/${c}`,u)}}a===r?t=f:n=void 0}).catch(()=>{a===r&&(n=void 0)})),n};return{of:async(a,d)=>(await o(),t?.get(`${a}/${d}`)),invalidate:()=>{r+=1,t=void 0,n=void 0}}}function Ya(e){let t=e.input;return Array.isArray(t)&&t.length>0}function jo(e,t=()=>!0,n={},r=0){let o=n.efforts!==!1,i=n.modalities!==!1;if(!H(e))return;let s={};for(let a of Object.keys(e)){if(!t(a))continue;let d=e[a],f=H(d)&&Array.isArray(d.models)?d.models:void 0;if(f===void 0||f.length===0||!f.every(H))continue;let m=f,p=[],g=!1;for(let l of m){let c=l.reasoningEfforts!==void 0||l[se]===!0,u=Ya(l)||l[Me]===!0;if((c||!o)&&(u||!i)){let E=Ja(l,e,a);E!==void 0?(g=!0,p.push(E)):p.push(l);continue}let b=typeof l.id=="string"?l.id:"";if(b.length===0){p.push(l);continue}let k=Be(e,a),w=typeof l.name=="string"?l.name:void 0,x=he(b,{...k,displayName:w??k.displayName});if(x.efforts===void 0){p.push(l);continue}let T={...l},y=!1;if(!c&&o&&(y=!0,T.reasoningEfforts=x.efforts,T[Ye]=r,x.compat!==void 0)){let E=H(l.compat)?l.compat:{};T.compat={...E,...x.compat}}if(!u&&i&&x.input!==void 0&&(y=!0,T.input=[...x.input]),!y){p.push(l);continue}g=!0,p.push(T)}g&&(s[a]={models:p})}return Object.keys(s).length===0?void 0:{providers:s}}function Ja(e,t,n){if(!H(e.reasoningEfforts)||e[se]===!0)return;let r=e.compat,o=H(r)?{...r}:{};if(o.supportsDeveloperRole===void 0&&Un(Be(t,n)))return{...e,compat:{...o,supportsDeveloperRole:!1}}}function zo(e){let t,n=()=>(t??(t=(async()=>{let o={autofill:!0,modalityAutofill:!0};try{let i=await fetch(jr,{method:"GET"});if(!i.ok)return o;let s=await i.json();return s?.ok!==!0?o:{autofill:s.data?.autofill!==!1,modalityAutofill:s.data?.modalityAutofill!==!1}}catch{return o}})()),t),r=async()=>{try{let o=await n();if(!o.autofill)return;let i=await ne(e.api,{fresh:!0}),s=i.namespace;if(s===void 0||i.writable!==!0)return;let a=Qn(s);if(a===void 0)return;let d=jo(a,()=>!0,{modalities:o.modalityAutofill},s.revision);if(d===void 0)return;let f=d.providers,m=Object.entries(f).map(([g,l])=>({op:"set",path:["providers",g,"models"],value:l.models})),p=await e.api.settings.mutate(re,m,s.revision);p.ok||console.error(`[bre] idle autofill refused: ${p.error.message}`)}catch(o){console.error(`[bre] idle autofill failed: ${o instanceof Error?o.message:String(o)}`)}};return{run:()=>{r()}}}var Lr=require("react"),Ts=require("react-dom/client");var F=require("react");var We=vo;function Ue(e){let t={};for(let n of We){if(e===void 0){t[n]={on:!1,wire:""};continue}if(e===!1){t[n]=n==="off"?{on:!0,wire:""}:{on:!1,wire:""};continue}let r=e[n];t[n]={on:r!==void 0,wire:r===null?"":typeof r=="string"?r:""}}return t}function et(e){let t=!1,n=!1,r={};for(let o of We){let i=e[o];if(!i.on)continue;if(o==="off"){t=!0;let a=i.wire.trim();r.off=a.length===0?null:a;continue}n=!0;let s=i.wire.trim();r[o]=s.length===0?o:s}return n?r:t?!1:void 0}function gt(e,t){if(e===t)return!0;if(e===!1||e===void 0||t===!1||t===void 0)return!1;let n=We.filter(o=>e[o]!==void 0),r=We.filter(o=>t[o]!==void 0);return n.length!==r.length?!1:n.every(o=>e[o]===t[o])}function Go(e,t){if(!(e===void 0||e===!1)&&!("off"in e)){if(t==="zai"||t==="deepseek")return"thinking-disabled";if(t==="qwen")return"enable-thinking-false"}}var tr="bre:auto-effort",$o=Promise.resolve();function Vo(e){$o=$o.then(e,e).then(()=>{},()=>{})}function Yo(e,t=document){t.dispatchEvent(new CustomEvent(tr,{detail:{route:e}}))}function Jo(e,t=document){let n=r=>{let o=r.detail;typeof o?.route!="string"||o.route.length===0||e(o.route)};return t.addEventListener(tr,n),()=>{t.removeEventListener(tr,n)}}var v=require("react/jsx-runtime"),Xo=new Intl.NumberFormat("en-US");function je(e){return e===void 0||e.length===0?{declared:!1,image:!1}:{declared:!0,image:e.includes("image")}}function nr(e){return e.declared?e.image?["text","image"]:["text"]:null}var Xa={"openai-completions":["thinkingTokenBudgetField","supportsThinkingTokenBudget","vllmPriority"],"openai-responses":["supportsMaxOutputTokens"]};function Qa(e){return Xa[(e??"").toLowerCase()]??[]}function Qo(e,t){let n=Qa(e);if(n.length===0)return[];let r=new Set(t===void 0?[]:Object.keys(t));return n.filter(o=>!r.has(o))}function Za(e,t){if(t!==void 0)return{clearCompatKeys:Qo(e,t)};let n=Qo(e,void 0);return n.length===0?{}:{clearCompatKeys:n}}function Zt(e,t){return e.declared?t===void 0?!1:e.image?t.includes("image"):!t.includes("image"):t===void 0}function rr(e,t,n){let r=e?t:!1;return e&&r===void 0&&n===void 0?"keep":r}function Zo(e){let t={},n=e?.thinkingTokenBudgetField??"";n!==""&&(t.thinkingTokenBudgetField=n);let o=(e?.vllmPriority===void 0?"":String(e.vllmPriority)).trim();o!==""&&/^-?\d+$/.test(o)&&(t.vllmPriority=Number.parseInt(o,10));let i=e?.supportsMaxOutputTokens===void 0?"":String(e.supportsMaxOutputTokens);return i==="true"?t.supportsMaxOutputTokens=!0:i==="false"&&(t.supportsMaxOutputTokens=!1),Object.keys(t).length===0?void 0:t}function or(e){let t=e.appliedCompat,n=e.manualCompat,r=t!==void 0?{...t,...n??{}}:n;return e.initialCompat?.supportsThinkingTokenBudget===!0&&e.initialCompat?.thinkingTokenBudgetField===void 0&&r?.thinkingTokenBudgetField===void 0&&(e.routeApi??"").toLowerCase()==="openai-completions"&&(r={...r??{},thinkingTokenBudgetField:"thinking_token_budget"}),{efforts:e.efforts,...r===void 0?{}:{compat:r},...e.input===void 0?{}:{input:e.input},...Za(e.routeApi,r),...e.defaultEffort===void 0?{}:{defaultEffort:e.defaultEffort}}}function en({route:e,routeApi:t,routeBaseURL:n,modelId:r,modelName:o,efforts:i,effortsUnset:s=!1,input:a,compat:d,defaultEffort:f,index:m,staged:p=!1,officialInputTypes:g=!1,api:l,readOnly:c,t:u}){let[b,k]=(0,F.useState)(()=>Ue(i)),[w,x]=(0,F.useState)(()=>je(a)),[T,y]=(0,F.useState)(()=>i!==!1),[E,R]=(0,F.useState)(()=>f??""),[K,j]=(0,F.useState)(!1),[I,B]=(0,F.useState)(void 0),[A,D]=(0,F.useState)(void 0),[W,C]=(0,F.useState)(""),[z,V]=(0,F.useState)("low"),U=(0,F.useRef)(void 0),[L,P]=(0,F.useState)(()=>d?.thinkingTokenBudgetField??""),[_,te]=(0,F.useState)(()=>d?.vllmPriority===void 0?"":String(d.vllmPriority)),[oe,Pe]=(0,F.useState)(()=>d?.supportsMaxOutputTokens===void 0?"":String(d.supportsMaxOutputTokens)),Ve=(0,F.useRef)(d),[Ce,S]=(0,F.useState)(void 0),[Q,Z]=(0,F.useState)(void 0),[de,Ee]=(0,F.useState)(void 0),Te=(0,F.useRef)(!1),Sn=(0,F.useRef)(i),at=(0,F.useRef)(a),At=(0,F.useRef)(f),Nr=(0,F.useRef)(void 0),_r=(0,F.useRef)(i);_r.current=i;let Ir=(0,F.useRef)(s);Ir.current=s,(0,F.useEffect)(()=>Jo(h=>{if(h!==e||_r.current!==void 0||Ir.current)return;let q=Nr.current;q!==void 0&&Vo(q)}),[e]),(0,F.useEffect)(()=>{gt(Sn.current,i)||(Sn.current=i,Te.current||(k(Ue(i)),y(i!==!1))),at.current!==a&&(at.current=a,Te.current||x(je(a))),At.current!==f&&(At.current=f,Te.current||R(f??"")),JSON.stringify(Ve.current??null)!==JSON.stringify(d??null)&&(Ve.current=d,Te.current||(P(d?.thinkingTokenBudgetField??""),te(d?.vllmPriority===void 0?"":String(d.vllmPriority)),Pe(d?.supportsMaxOutputTokens===void 0?"":String(d.supportsMaxOutputTokens))))},[i,a,d,f]);let Dr=()=>{let h={};L!==""&&(h.thinkingTokenBudgetField=L);let q=_.trim();return q!==""&&/^-?\d+$/.test(q)&&(h.vllmPriority=Number.parseInt(q,10)),oe==="true"?h.supportsMaxOutputTokens=!0:oe==="false"&&(h.supportsMaxOutputTokens=!1),Object.keys(h).length===0?void 0:h},qs=()=>{let h=Dr();return JSON.stringify(h??null)!==JSON.stringify({...d?.thinkingTokenBudgetField===void 0?{}:{thinkingTokenBudgetField:d.thinkingTokenBudgetField},...d?.vllmPriority===void 0?{}:{vllmPriority:d.vllmPriority},...d?.supportsMaxOutputTokens===void 0?{}:{supportsMaxOutputTokens:d.supportsMaxOutputTokens}})},Rt=We.filter(h=>b[h].on),Bs=E===(f??"")?void 0:E===""?null:E,Ws=T?et(b):!1,Ln=!gt(Ws,i)||!Zt(w,a)||qs()||Bs!==void 0,An=(0,F.useRef)(void 0),pe=()=>{Te.current=!0,D(void 0),C(""),V("low"),S(void 0)},me=(h,q,ee,ge=T)=>{let le=rr(ge,et(h),i),ea=Zt(q,a)?void 0:nr(q),Kr=or({efforts:le,input:ea,defaultEffort:ee===(f??"")?void 0:ee===""?null:ee,manualCompat:Dr(),appliedCompat:U.current,routeApi:t,initialCompat:d}),qr=JSON.stringify(Kr);An.current!==qr&&(An.current=qr,l.commit(e,r,Kr))},Us=(h,q)=>{pe();let ee=!q&&E===h?"":E;ee!==E&&R(ee),k(ge=>{let le={...ge,[h]:{...ge[h],on:q}};return q&&h!=="off"&&le[h].wire.trim().length===0&&(le[h]={...le[h],wire:h}),me(le,w,ee),le}),B(void 0)},js=h=>{pe(),y(h);let q=h?E:"";q!==E&&R(q),me(b,w,q,h),B(void 0)},zs=(h,q)=>{pe(),k(ee=>{let ge={...ee,[h]:{...ee[h],wire:q}};return me(ge,w,E),ge}),B(void 0)},Gs=h=>{pe();let q={declared:!0,image:h};x(q),me(b,q,E),B(void 0)},$s=()=>{pe();let h={declared:!1,image:!1};x(h),me(b,h,E),B(void 0)},Vs=h=>{pe(),P(h),me(b,w,E),B(void 0)},Ys=h=>{pe(),te(h),me(b,w,E),B(void 0)},Js=h=>{pe(),Pe(h),me(b,w,E),B(void 0)},Pr=h=>{pe(),R(h),me(b,w,h),B(void 0)},Xs=h=>{pe();let q=h.efforts!==!1;y(q);let ee=Ue(h.efforts);k(ee);let ge=h.input===void 0?w:je(h.input);h.input!==void 0&&x(ge);let le=E===""&&h.defaultEffort!==void 0?h.defaultEffort:E;le!==E&&R(le),D(h.efforts),C(h.source),V(h.confidence),U.current=h.compat,S(h.inputSource),Z(h.contextWindow),Ee(h.maxTokens),B({kind:"info",text:u("appliedHint",{source:h.source,confidence:u("confidence_"+h.confidence)})}),me(ee,ge,le,q)},Cr=async()=>{if(!(c||K)){j(!0),B(void 0);try{let h=p?await l.suggest(e,r,o,{...t===void 0?{}:{api:t},...n===void 0?{}:{baseURL:n}}):await l.suggest(e,r,o);if(!h.ok){B({kind:"error",text:h.error==="no-suggestion"?u("noSuggestion"):h.error});return}Xs(h.suggestion)}catch(h){B({kind:"error",text:u("writeError",{message:String(h)})})}finally{j(!1)}}};(0,F.useEffect)(()=>{Nr.current=Cr});let Qs=()=>{Te.current=!1,l.withdraw(e,r),k(Ue(i)),y(i!==!1),x(je(a)),R(f??""),P(d?.thinkingTokenBudgetField??""),te(d?.vllmPriority===void 0?"":String(d.vllmPriority)),Pe(d?.supportsMaxOutputTokens===void 0?"":String(d.supportsMaxOutputTokens)),D(void 0),C(""),V("low"),U.current=void 0,S(void 0),Z(void 0),Ee(void 0),B(void 0),An.current=void 0},Zs=U.current?.thinkingFormat??he(r,{...t===void 0?{}:{api:t},...n===void 0?{}:{baseURL:n}}).compat?.thinkingFormat,Fr=Go(i,Zs),ie=c||K;return(0,v.jsxs)("div",{className:"bre-effort-editor","data-plugin":J,children:[(0,v.jsxs)("label",{className:"bre-modality-row bre-thinking-switch",children:[(0,v.jsx)("input",{type:"checkbox",checked:T,disabled:ie,"aria-label":u("thinkingMode")+" "+String(m+1),onChange:h=>{js(h.target.checked)}}),(0,v.jsx)("span",{className:"bre-effort-level",children:u("thinkingMode")}),T?null:(0,v.jsx)("span",{className:"bre-effort-note",children:u("thinkingModeOff")})]}),T?(0,v.jsxs)("div",{className:"bre-effort-card",children:[(0,v.jsxs)("div",{className:"bre-effort-head",children:[(0,v.jsx)("span",{className:"bre-effort-title",children:u("reasoningEffort")}),(0,v.jsx)("button",{type:"button",className:"bre-link-button",disabled:ie,onClick:()=>{Cr()},children:u("autoAdapt")})]}),(0,v.jsx)("div",{className:"bre-effort-grid",children:We.map(h=>{let q=b[h];return(0,v.jsxs)("label",{className:"bre-effort-row",children:[(0,v.jsx)("input",{type:"checkbox",checked:q.on,disabled:ie,"aria-label":u("level_"+h)+" "+String(m+1),onChange:ee=>{Us(h,ee.target.checked)}}),(0,v.jsx)("span",{className:"bre-effort-level",children:u("level_"+h)}),q.on?(0,v.jsx)("input",{type:"text",className:"bre-effort-wire",value:q.wire,disabled:ie,placeholder:u("wirePlaceholder"),"aria-label":u("level_"+h)+" "+u("wireValue"),onChange:ee=>{zs(h,ee.target.value)}}):(0,v.jsx)("span",{className:"bre-effort-empty"})]},h)})}),Rt.length>0?(0,v.jsxs)("div",{className:"bre-modality",children:[(0,v.jsx)("span",{className:"bre-effort-title",children:u("defaultEffortLabel")}),(0,v.jsxs)("label",{className:"bre-modality-row",children:[(0,v.jsxs)("select",{className:"bre-select",disabled:ie,"aria-label":u("defaultEffortLabel")+" "+String(m+1),value:E,onChange:h=>{Pr(h.target.value)},children:[(0,v.jsx)("option",{value:"",children:u("defaultEffortUnset")}),(E!==""&&!Rt.includes(E)?[...Rt,E]:Rt).map(h=>(0,v.jsx)("option",{value:h,children:u("level_"+h)},h))]}),E!==""?(0,v.jsx)("button",{type:"button",className:"bre-link-button bre-modality-clear",disabled:ie,onClick:()=>{Pr("")},children:u("clearDefaultEffort")}):null]}),(0,v.jsx)("p",{className:"bre-modality-note",children:u("defaultEffortHint")})]}):null,g?null:(0,v.jsxs)("div",{className:"bre-modality",children:[(0,v.jsx)("span",{className:"bre-effort-title",children:u("inputModality")}),(0,v.jsxs)("label",{className:"bre-modality-row",children:[(0,v.jsx)("input",{type:"checkbox",checked:w.declared&&w.image,disabled:ie,"aria-label":u("modalityImage")+" "+String(m+1),onChange:h=>{Gs(h.target.checked)}}),(0,v.jsx)("span",{className:"bre-effort-level",children:u("modalityImage")}),w.declared?(0,v.jsx)("button",{type:"button",className:"bre-link-button bre-modality-clear",disabled:ie,onClick:$s,children:u("clearDeclaration")}):null]}),w.declared?null:(0,v.jsx)("p",{className:"bre-modality-note",children:u("modalityInherit")})]}),(t??"").toLowerCase()==="openai-completions"?(0,v.jsxs)("div",{className:"bre-compat",children:[(0,v.jsx)("span",{className:"bre-effort-title",children:u("compatTitle")}),(0,v.jsxs)("label",{className:"bre-compat-row",children:[(0,v.jsx)("span",{className:"bre-compat-label",children:u("budgetFieldLabel")}),(0,v.jsxs)("select",{className:"bre-select",disabled:ie,"aria-label":u("budgetFieldLabel")+" "+String(m+1),value:L,onChange:h=>{Vs(h.target.value)},children:[(0,v.jsx)("option",{value:"",children:u("budgetUnset")}),(0,v.jsx)("option",{value:"thinking_token_budget",children:"thinking_token_budget"}),(0,v.jsx)("option",{value:"thinking_budget",children:"thinking_budget"}),(0,v.jsx)("option",{value:"thinking_budget_tokens",children:"thinking_budget_tokens"})]}),(0,v.jsx)("span",{className:"bre-compat-hint",children:u("budgetFieldHint")})]}),(0,v.jsxs)("div",{className:"bre-compat-row",children:[(0,v.jsxs)("label",{className:"bre-compat-field",children:[(0,v.jsx)("span",{className:"bre-compat-label",children:u("priorityLabel")}),(0,v.jsx)("input",{type:"text",inputMode:"numeric",className:"bre-text-input",value:_,disabled:ie,placeholder:u("priorityPlaceholder"),"aria-label":u("priorityLabel")+" "+String(m+1),onChange:h=>{Ys(h.target.value)}})]}),(0,v.jsx)("span",{className:"bre-compat-hint",children:u("priorityHint")}),_.trim()!==""&&!/^-?\d+$/.test(_.trim())?(0,v.jsx)("p",{className:"bre-effort-note bre-error",children:u("priorityInvalid")}):null]}),d?.supportsThinkingTokenBudget===!0&&d?.thinkingTokenBudgetField===void 0?(0,v.jsx)("p",{className:"bre-effort-note",children:u("aliasMigrated")}):null]}):null,(t??"").toLowerCase()==="openai-responses"?(0,v.jsxs)("div",{className:"bre-compat",children:[(0,v.jsx)("span",{className:"bre-effort-title",children:u("compatTitle")}),(0,v.jsxs)("label",{className:"bre-compat-row",children:[(0,v.jsx)("span",{className:"bre-compat-label",children:u("maxOutputLabel")}),(0,v.jsxs)("select",{className:"bre-select",disabled:ie,"aria-label":u("maxOutputLabel")+" "+String(m+1),value:oe,onChange:h=>{Js(h.target.value)},children:[(0,v.jsx)("option",{value:"",children:u("maxOutputUnset")}),(0,v.jsx)("option",{value:"true",children:u("maxOutputOn")}),(0,v.jsx)("option",{value:"false",children:u("maxOutputOff")})]}),(0,v.jsx)("span",{className:"bre-compat-hint",children:u("maxOutputHint")})]})]}):null,p?(0,v.jsx)("p",{className:"bre-effort-note",children:u("stagedHint")}):null,i===!1?(0,v.jsx)("p",{className:"bre-effort-note",children:u("reasoningDisabled")}):null,Fr===void 0?null:(0,v.jsx)("p",{className:"bre-effort-note",children:u(Fr==="thinking-disabled"?"defaultRiskDisabled":"defaultRiskQwen")}),et(b)===void 0&&i!==void 0?(0,v.jsx)("p",{className:"bre-effort-note",children:u("bareHint")}):null,A!==void 0?(0,v.jsxs)("div",{className:"bre-suggestion",children:[(0,v.jsx)("p",{className:"bre-effort-note",children:u("appliedHint",{source:W,confidence:u("confidence_"+z)})}),Ce===void 0?null:(0,v.jsx)("p",{className:"bre-effort-note",children:u(Ce==="endpoint"?"inputHintEndpoint":Ce==="knowledge"?"inputHintKnowledge":"inputHintHeuristic")}),Q===void 0&&de===void 0?null:(0,v.jsxs)("div",{className:"bre-reference",children:[(0,v.jsx)("span",{className:"bre-reference-title",children:u("referenceTitle")}),(0,v.jsxs)("span",{className:"bre-reference-values",children:[Q===void 0?null:(0,v.jsxs)("span",{children:[u("contextWindowLabel")," ",(0,v.jsx)("b",{children:Xo.format(Q)})]}),de===void 0?null:(0,v.jsxs)("span",{children:[u("maxTokensLabel")," ",(0,v.jsx)("b",{children:Xo.format(de)})]})]})]})]}):null,I===void 0?null:(0,v.jsx)("p",{className:"bre-effort-message bre-"+I.kind,role:I.kind==="error"?"alert":"status",children:I.text}),Ln?(0,v.jsx)("p",{className:"bre-effort-message bre-info",role:"status",children:u("pendingSave")}):null,Ln?(0,v.jsx)("p",{className:"bre-effort-note",children:u("pendingHint")}):null,(0,v.jsx)("div",{className:"bre-effort-actions",children:(0,v.jsx)("button",{type:"button",className:"bre-secondary-button",disabled:ie||!Ln,onClick:Qs,children:u("reset")})})]}):null]})}var Ae="data-bre-auto-effort",ir='[class*="modelCatalog"]',ed='[class*="modelListHead"]',td='button[class*="linkButton"]',nd="bre-auto-effort",rd="bre-auto-effort-note",od="data-bre-auto-effort-phase",ti="bre-auto-effort-note-text",ni="bre-auto-effort-note-detail",id=3e3;function sd(e){return e.blocked==="busy"?null:e.failed!==void 0?{phase:"failed",count:0,missed:0,detail:e.failed}:e.blocked!==void 0?{phase:"blocked",count:0,missed:0,detail:""}:e.held>0?{phase:"done",count:e.held,missed:e.unsuggested,detail:""}:e.unsuggested>0?{phase:"unsuggested",count:0,missed:e.unsuggested,detail:""}:{phase:"empty",count:0,missed:0,detail:""}}function sr(e){return Array.from(e.querySelectorAll(ir)).filter(t=>(t.parentElement?.closest(ir)??null)===null)}function tn(e,t,n){let r=new Map;for(let a of t)a.route.length!==0&&a.catalogue.isConnected&&r.set(a.catalogue,a.route);let o=n.t("autoAdaptAll");for(let[a,d]of r){let f=a.querySelector(ed)??a,m=f.querySelector(`[${Ae}]`)??dd(n),p=ad(f);p!==null?p.nextElementSibling!==m&&p.after(m):f.lastElementChild!==m&&f.append(m),cd(m,d,o)}let i=new Set,s=new Set(r.values());for(let a of Array.from(e.querySelectorAll(`[${Ae}]`))){let d=a.closest(ir),f=a.getAttribute(Ae)??"";if(d===null||!r.has(d)||i.has(d)){a.remove(),f.length>0&&!s.has(f)&&ar(f);continue}i.add(d)}}function ar(e){let t=ze.get(e);t!==void 0&&(t.timer!==null&&clearTimeout(t.timer),t.note.remove(),ze.delete(e))}function ri(){for(let e of Array.from(document.querySelectorAll(`[${Ae}]`)))e.remove();for(let e of ze.values())e.timer!==null&&clearTimeout(e.timer),e.note.remove();ze.clear()}function ad(e){let t=Array.from(e.querySelectorAll(td));return t.length===0?null:t[t.length-1]}function dd(e){let t=document.createElement("button");return t.className=nd,t.setAttribute("type","button"),t.setAttribute(Ae,""),t.addEventListener("click",()=>{let n=t.getAttribute(Ae)??"";n.length!==0&&(Yo(n),ld(n,e))}),t}async function ld(e,t){if(t.onRequest===void 0)return;ei(e,{phase:"working",count:0,missed:0,detail:""},t,0);let n;try{n=await t.onRequest(e)}catch(o){n={held:0,unsuggested:0,failed:String(o)}}if(n===void 0){ar(e);return}let r=sd(n);r!==null&&ei(e,r,t,id)}function ei(e,t,n,r){let o=ze.get(e);o!==void 0&&!o.note.isConnected&&(o.timer!==null&&clearTimeout(o.timer),ze.delete(e),o=void 0),o!==void 0&&o.timer!==null&&clearTimeout(o.timer);let i=o?.note??ud();i.setAttribute(od,t.phase);let s=i.querySelector(`.${ti}`),a=i.querySelector(`.${ni}`),d=fd(t,n);s.textContent!==d.text&&(s.textContent=d.text),a.textContent!==d.detail&&(a.textContent=d.detail),a.hidden=d.detail.length===0,o===void 0&&document.body.append(i);let f=r>0?setTimeout(()=>{ar(e)},r):null;i.style.setProperty("--bre-note-hold",`${r}ms`),ze.set(e,{note:i,timer:f})}function ud(){let e=document.createElement("div");return e.className=rd,e.setAttribute("role","status"),e.setAttribute("aria-live","polite"),e.innerHTML=`<span class="${ti}"></span><span class="${ni}"></span>`,e}var ze=new Map;function fd(e,t){switch(e.phase){case"working":return{text:t.t("autoAdaptWorking"),detail:""};case"done":return{text:t.t("autoAdaptDone",{count:e.count}),detail:e.missed>0?`${t.t("autoAdaptDoneHint",{count:e.count})} ${t.t("autoAdaptUnsuggestedHint")}`:t.t("autoAdaptDoneHint",{count:e.count})};case"empty":return{text:t.t("autoAdaptEmpty"),detail:t.t("autoAdaptEmptyHint")};case"unsuggested":return{text:t.t("autoAdaptUnsuggested"),detail:t.t("autoAdaptUnsuggestedHint")};case"blocked":return{text:t.t("autoAdaptBlocked"),detail:t.t("autoAdaptBlockedHint")};case"failed":return{text:t.t("autoAdaptFailed",{message:e.detail}),detail:e.detail}}}function cd(e,t,n){e.getAttribute(Ae)!==t&&e.setAttribute(Ae,t),e.textContent!==n&&(e.textContent=n),e.getAttribute("title")!==null&&e.removeAttribute("title")}function tt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var dr="__breLedgerDocument";function ai(){let e=globalThis;return e[dr]??(e[dr]=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`)}var nn="bre:held-writes:v1";function lr(){try{return typeof sessionStorage>"u"?void 0:sessionStorage}catch{return}}function xe(e){let t=lr();if(t!==void 0)try{if(e.pending.size===0&&e.queued.size===0){t.removeItem(nn);return}let n={document:ai(),committed:[...e.committing].filter(r=>e.queued.has(r)),pending:[...e.pending].map(([r,o])=>[r,[...o]]),queued:[...e.queued].map(([r,o])=>[r,[...o]])};t.setItem(nn,JSON.stringify(n))}catch{}}function oi(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(!Array.isArray(r)||r.length!==2)return;let[o,i]=r;if(typeof o!="string"||!Array.isArray(i))return;let s=[];for(let a of i){if(!Array.isArray(a)||a.length!==2)return;let[d,f]=a;if(typeof d!="string"||!H(f)||t!==void 0&&!t(f))return;s.push([d,f])}n.push([o,s])}return n}function pd(e){let t=lr();if(t!==void 0)try{let n=t.getItem(nn);if(n===null)return;let r=JSON.parse(n);if(r.document!==ai())return;let o=oi(r.pending),i=oi(r.queued,Ed);if(o===void 0||i===void 0)return;let s=Array.isArray(r.committed)?r.committed.filter(a=>typeof a=="string"):[];for(let[a,d]of o)e.pending.set(a,new Map(d));for(let[a,d]of i)s.includes(a)&&(e.queued.set(a,new Map(d)),e.committing.add(a))}catch{}}function di(e,t){(async()=>{try{await ur(t,e),await fr(t,e)}catch(n){console.error(`[bre] teardown flush failed: ${n instanceof Error?n.message:String(n)}`)}})()}function li(e,t){(async()=>{try{await ur(t,e,!0),await fr(t,e,!0)}catch(n){console.error(`[bre] unload flush failed: ${n instanceof Error?n.message:String(n)}`)}finally{try{lr()?.removeItem(nn)}catch{}}})()}function ui(){let e={mounted:new Map,describePromise:void 0,pending:new Map,missedScans:new Map,queued:new Map,editing:void 0,flushing:!1,flushFailures:0,nextFlushAt:0,committing:new Set,adapting:new Set,signalsUnavailable:!1,submitWired:new WeakSet,cancelWired:new WeakSet};return pd(e),e}async function md(e,t){if(!t.flushing){t.flushing=!0;try{let n=await ur(e,t),r=await fr(e,t);n||r?ii(e,t):(t.flushFailures=0,t.nextFlushAt=0)}catch(n){ii(e,t),console.error(`[bre] idle flush failed: ${n instanceof Error?n.message:String(n)}`)}finally{t.flushing=!1}try{e.onIdle?.()}catch(n){console.error(`[bre] idle hook failed: ${n instanceof Error?n.message:String(n)}`)}}}function ii(e,t){t.flushFailures+=1;let n=Math.min(2**t.flushFailures*500,3e4);t.nextFlushAt=Date.now()+n,e.onBackoff?.(n)}function gd(e){return e.queued.size>0||e.pending.size>0}function rn(e,t,n,r,o,i,s){try{let a=e.pending.get(t);if(r===void 0){if(a===void 0)return;a.delete(n),a.size===0&&e.pending.delete(t);return}e.pending.set(t,(a??new Map).set(n,{efforts:r,...o===void 0?{}:{compat:o},...i===void 0?{}:{input:i},...s===void 0?{}:{defaultEffort:s}}))}finally{xe(e)}}function fi(e,t,n,r){e.queued.set(t,(e.queued.get(t)??new Map).set(n,r)),xe(e)}function hd(e,t,n){let r=e.pending.get(t);r!==void 0&&(r.delete(n),r.size===0&&e.pending.delete(t),xe(e))}function bd(e,t,n){let r=e.queued.get(t);r!==void 0&&(r.delete(n),r.size===0&&e.queued.delete(t),xe(e))}function yd(e,t,n){hd(e,t,n),bd(e,t,n)}function wd(e,t){e.queued.delete(t),e.pending.delete(t),e.missedScans.delete(t),e.committing.delete(t),xe(e)}function xd(e,t,n){if(t===void 0)return null;let i=t[se]!==!0&&t.reasoningEfforts!==void 0&&typeof t[Ye]=="number"||t[se]!==!0&&n?.efforts!==void 0&&vd(t.reasoningEfforts,n.efforts)?!1:t.reasoningEfforts!==void 0||t[se]===!0||e.efforts==="keep",a=t[Me]!==!0&&n?.input!==void 0&&kd(t.input,n.input)?!1:Array.isArray(t.input)&&t.input.length>0||t[Me]===!0,d=i?"keep":e.efforts,f=a?void 0:e.input,m=e.defaultEffort;return d==="keep"&&f===void 0&&m===void 0?null:{efforts:d,...e.compat===void 0?{}:{compat:e.compat},...f===void 0?{}:{input:f},...m===void 0?{}:{defaultEffort:m}}}function vd(e,t){if(e===t)return!0;if(!H(e)||!H(t))return!1;let n=Object.keys(t);if(Object.keys(e).length!==n.length)return!1;let r=t;return n.every(o=>e[o]===r[o])}function kd(e,t){if(!Array.isArray(e)||e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>typeof r=="string"&&n.has(r))}function Ed(e){if(!H(e))return!1;let t=e.efforts;if(t!==!1&&t!=="keep"&&!H(t))return!1;let n=e.clearCompatKeys;return n===void 0||Array.isArray(n)&&n.every(r=>typeof r=="string")}async function Td(e,t,n,r,o=!1){let i=await e.describeNamespace(),s=we(i.namespace),a=[];for(let[p,g]of[...r]){let l=zt(s,n).find(w=>w.id===p);if(l===void 0||t.pending.get(n)?.get(p)!==g)continue;let c=Be(s,n),u=typeof l.name=="string"?l.name:void 0,b=he(p,u===void 0?c:{...c,displayName:u}),k=xd(g,l,{...b.efforts===void 0?{}:{efforts:b.efforts},...b.input===void 0?{}:{input:b.input}});if(k===null){rn(t,n,p,void 0);continue}a.push({modelId:p,efforts:k.efforts,...k.compat===void 0?{}:{compat:k.compat},...k.input===void 0?{}:{input:k.input},...k.defaultEffort===void 0?{}:{defaultEffort:k.defaultEffort}})}if(a.length===0)return!1;let d=!1,f=await mt(e.api,n,a,()=>d?e.describeNamespace():(d=!0,Promise.resolve(i)),o?void 0:pi),m=!1;return a.forEach((p,g)=>{let l=f[g];if(l?.aborted!==!0){if(l?.ok===!0||l?.modelNotFound===!0){rn(t,n,p.modelId,void 0);return}m=!0,console.error(`[bre] staged flush write failed for "${n}"/"${p.modelId}": ${l?.error??"unknown"}`)}}),m}async function ur(e,t,n=!1){for(let s of[...t.committing])t.queued.has(s)||t.committing.delete(s);if(![...t.queued.keys()].some(s=>t.committing.has(s)||t.signalsUnavailable)||(await e.describeNamespace()).writable!==!0)return xe(t),!1;let i=!1;for(let[s,a]of[...t.queued]){if(!t.committing.has(s)&&!t.signalsUnavailable)continue;let f=[...a].map(([g,l])=>({modelId:g,efforts:l.efforts,...l.compat===void 0?{}:{compat:l.compat},...l.input===void 0?{}:{input:l.input},...l.clearCompatKeys===void 0?{}:{clearCompatKeys:l.clearCompatKeys},...l.defaultEffort===void 0?{}:{defaultEffort:l.defaultEffort}})),m=await mt(e.api,s,f,void 0,n?void 0:pi),p=!1;f.forEach((g,l)=>{let c=m[l];if(c?.aborted===!0){p=!0;return}if(c?.ok===!0||c?.modelNotFound===!0){a.delete(g.modelId);return}console.error(`[bre] held write failed for "${s}"/"${g.modelId}": ${c?.error??"unknown"}`)}),a.size===0?(t.queued.delete(s),t.committing.delete(s)):p||(i=!0)}return xe(t),i}async function fr(e,t,n=!1){if(t.pending.size===0)return!1;let r=await e.describeNamespace();if(r.writable!==!0)return!1;let o=we(r.namespace),i=!1;for(let[s,a]of[...t.pending]){if(a.size===0){t.pending.delete(s);continue}tt(o,s)&&await Td(e,t,s,a,n)&&(i=!0)}return xe(t),i}function Oe(e,t){for(let n of t){let r=Array.from(e.querySelectorAll("input[aria-label], select[aria-label]")).find(o=>(o.getAttribute("aria-label")??"").startsWith(n));if(r!==void 0&&r.value.trim().length>0)return r.value.trim()}return""}function cr(e){return e.closest('[class*="editor"], [class*="rowCard"], [class*="addCard"]')??void 0}function Md(e){let t=e.closest('[class*="modelEntry"]');if(t===null){let r=cr(e);if(r===void 0)return;let o=Array.from(r.querySelectorAll('[class*="modelAdvanced"]'));return o.find(i=>i.offsetParent!==null)??o[0]}let n=Array.from(t.querySelectorAll('[class*="modelAdvanced"]'));return n.find(r=>r.offsetParent!==null)??n[0]}function Sd(e){return e.querySelector('[class*="modelInputTypes"]')!==null}function Ld(e,t,n,r,o){!e.isConnected||pr(e)===void 0||Array.from(e.querySelectorAll("button[aria-label]")).some(s=>o.capacity.some(a=>(s.getAttribute("aria-label")??"").startsWith(a)))||tn(e,Ad(e,we(r.namespace),o),{t:t.t,onRequest:s=>ci(n,t,s)})}function Ad(e,t,n){let r=[];for(let o of sr(e)){let i=cr(o);if(i===void 0)continue;let s=Re(i,t,n);s===void 0||s.staged||r.push({catalogue:o,route:s.route})}return r}function Rd(e,t,n){let r=[],o=new Set;for(let i of e){if(o.has(i.card))continue;o.add(i.card);let s=Re(i.card,t,n);if(s===void 0)continue;let[a]=sr(i.card);a!==void 0&&r.push({catalogue:a,route:s.route})}return r}async function ci(e,t,n){if(n.length===0)return{held:0,unsuggested:0,blocked:"unknown-route"};if(e.adapting.has(n))return{held:0,unsuggested:0,blocked:"busy"};e.adapting.add(n);let r=0,o=0;try{let i,s=()=>i??(i=t.describeNamespace()),a=await s(),d=we(a.namespace);if(a.writable!==!0)return{held:0,unsuggested:0,blocked:"unwritable"};if(!tt(d,n))return{held:0,unsuggested:0,blocked:"unknown-route"};let f=zt(d,n);if(f.length===0)return{held:0,unsuggested:0,blocked:"no-models"};let m=d[n]??{},p=typeof m.api=="string"?m.api:void 0,g=new Set;for(let c of e.mounted.values())c.props.route===n&&c.props.efforts!==void 0&&g.add(c.props.modelId);let l=Qt(t.api,s,void 0,(c,u,b)=>{fi(e,c,u,b)});for(let c of f){let u=typeof c.id=="string"?c.id:"";if(u.length===0||g.has(u))continue;let b=$t(f,u);if(b!==void 0||c[se]===!0)continue;let k=Vt(f,u),w=Yt(f,u),x=Xt(f,u)??"",T=await l.suggest(n,u,Jt(f,u));if(!T.ok){o+=1;continue}let y=T.suggestion,E=y.efforts!==!1,R=y.input===void 0?je(k):je(y.input),K=y.defaultEffort??x,j=K===x?void 0:K===""?null:K;l.commit(n,u,or({efforts:rr(E,et(Ue(y.efforts)),b),input:Zt(R,k)?void 0:nr(R),defaultEffort:j,manualCompat:Zo(w),appliedCompat:y.compat,routeApi:p,initialCompat:w})),r+=1}return{held:r,unsuggested:o}}catch(i){return console.warn("[bre] provider-wide adapt failed:",i),{held:r,unsuggested:o,failed:i instanceof Error?i.message:String(i)}}finally{e.adapting.delete(n)}}function Od(e){return e.querySelector(`[data-plugin="${J}"]`)!==null}function Hd(e,t){return e.route===t.route&&e.routeDisplayName===t.routeDisplayName&&e.routeApi===t.routeApi&&e.routeBaseURL===t.routeBaseURL&&e.modelId===t.modelId&&e.modelName===t.modelName&&e.index===t.index&&e.readOnly===t.readOnly&&e.defaultEffort===t.defaultEffort&&e.staged===t.staged&&e.officialInputTypes===t.officialInputTypes&&e.effortsUnset===t.effortsUnset&>(e.efforts,t.efforts)&&_d(e.input,t.input)&&Nd(e.compat,t.compat)}function Nd(e,t){return e===t?!0:e===void 0||t===void 0?!1:JSON.stringify({...e},Object.keys({...e,...t}).sort())===JSON.stringify({...t},Object.keys({...e,...t}).sort())}function _d(e,t){if(e===t)return!0;if(e===void 0||t===void 0)return!1;let n=new Set(e);return e.length===t.length&&t.every(r=>n.has(r))}function Id(e,t){return Array.from(e.querySelectorAll("input[aria-label], select[aria-label]")).some(n=>t.some(r=>(n.getAttribute("aria-label")??"").startsWith(r)))}function Re(e,t,n){let r=e.querySelector('[class*="editorRoute"]')?.textContent?.trim();if(r!==void 0&&r.length>0&&tt(t,r))return{route:r,staged:!1};if(Id(e,n.routeId)){let s=Oe(e,n.routeId);return s.length>0&&!tt(t,s)?{route:s,staged:!0}:void 0}let o=e.querySelector('[class*="editorTitle"], [class*="rowName"]')?.textContent?.trim();if(o===void 0||o.length===0)return;let i=Object.entries(t).find(([,s])=>s.displayName===o);if(i!==void 0)return{route:i[0],staged:!1};if(tt(t,o))return{route:o,staged:!1}}function Dd(e,t){let n=e.querySelector('[class*="editorActions"]');if(n===null)return;let r=Array.from(n.querySelectorAll("button"));if(r.length<2)return;let o=(p,g)=>(p.textContent??"").trim()===g,i=n.querySelector('[class*="primaryButton"]'),s=n.querySelector('[class*="secondaryButton"]');if(i!==null&&s!==null)return{submit:i,cancel:s};let a=[...r].reverse().find(p=>t.apply.some(g=>o(p,g))),d=[...r].reverse().find(p=>t.cancel.some(g=>o(p,g)));if(a!==void 0&&d!==void 0)return{submit:a,cancel:d};let f=r[r.length-1],m=r[r.length-2];if(!(f===void 0||m===void 0))return{submit:f,cancel:m}}function si(e,t,n){t.has(e)||(t.add(e),e.addEventListener("click",n,{capture:!0}))}function pr(e){return e.querySelector('[class*="editorActions"]')??e.querySelector('[class*="modelEntry"]')??void 0}function pi(){return pr(be())!==void 0}function mi(e,t,n){if(!e.isConnected)return;let r=t.labels(),o=pr(e)!==void 0,i=Array.from(e.querySelectorAll("button[aria-label]")).some(a=>r.capacity.some(d=>(a.getAttribute("aria-label")??"").startsWith(d)));if(!o){if(tn(e,[],{t:t.t}),n.mounted.size>0){for(let[,d]of n.mounted)d.editor.unmount();n.mounted.clear()}let a=n.editing;n.editing=!1,(a!==!1||gd(n)&&Date.now()>=n.nextFlushAt)&&md(t,n).catch(d=>{console.error(`[bre] idle pass failed: ${d instanceof Error?d.message:String(d)}`)});return}if(n.editing=!0,!i){for(let[,d]of n.mounted)d.editor.unmount();n.mounted.clear(),n.describePromise??(n.describePromise=t.describeNamespace());let a=r;n.describePromise.then(d=>{Ld(e,t,n,d,a)}).catch(d=>{console.error(`[bre] empty-catalog seat failed: ${d instanceof Error?d.message:String(d)}`)});return}n.describePromise??(n.describePromise=t.describeNamespace());let s=a=>{if(!e.isConnected)return;let d=a.namespace,f=we(d),m=[];for(let g of r.capacity){let l=Array.from(e.querySelectorAll("button[aria-label]")).filter(c=>(c.getAttribute("aria-label")??"").startsWith(g));for(let c of l){let u=cr(c);if(u===void 0)continue;let b=c.closest('[class*="modelEntry"]')??u,k=Oe(b,r.modelId);k.length!==0&&m.push({container:Md(c),row:b,modelId:k,card:u})}}tn(e,Rd(m,f,r),{t:t.t,onRequest:g=>ci(n,t,g)});for(let[g,l]of n.mounted)m.some(c=>c.container===g)||(l.editor.unmount(),n.mounted.delete(g));if(n.pending.size>0){let g=new Map;for(let c of m){let u=Re(c.card,f,r);if(u===void 0)continue;let b=g.get(u.route);b===void 0&&g.set(u.route,b=new Set),b.add(c.modelId)}let l=new Map;for(let[c,u]of n.pending){if(!tt(f,c))continue;let b=g.get(c),k=[...u.keys()].filter(w=>!b?.has(w));k.length>0&&l.set(c,new Set(k))}for(let[c,u]of l){let b=n.missedScans.get(c);if(b!==void 0)for(let k of u)b.has(k)&&(rn(n,c,k,void 0),b.delete(k))}n.missedScans=l}let p=new Set(m.map(g=>g.card));for(let g of p){let l=Re(g,f,r);if(l===void 0)continue;let c=l.route,u=Dd(g,r);u===void 0?n.signalsUnavailable=!0:(n.signalsUnavailable=!1,si(u.submit,n.submitWired,()=>{let b=Re(g,f,r)?.route??c;n.committing.add(b),xe(n)}),si(u.cancel,n.cancelWired,()=>{let b=Re(g,f,r)?.route??c;wd(n,b)}))}m.forEach((g,l)=>{let c=g.container;if(c===void 0)return;let u=Re(g.card,f,r);if(u===void 0)return;let{route:b,staged:k}=u,w=f[b]??{},x=zt(f,b),T=new Set(x.map(_=>_.id)),y=k||!T.has(g.modelId),E=y?n.pending.get(b)?.get(g.modelId)?.efforts:void 0,R=y?E==="keep"?void 0:E:$t(x,g.modelId),K=!y&&x.some(_=>_.id===g.modelId&&_[se]===!0),j=y?n.pending.get(b)?.get(g.modelId)?.input:Vt(x,g.modelId),I=y?n.pending.get(b)?.get(g.modelId)?.compat:Yt(x,g.modelId),B=y?n.pending.get(b)?.get(g.modelId)?.defaultEffort??void 0:Xt(x,g.modelId),A=y?Oe(g.row,r.modelName):"",D=y?A.length>0?A:void 0:Jt(x,g.modelId),W=k?Oe(g.card,r.apiProtocol):"",C=k?Oe(g.card,r.baseUrl):"",z=k&&W.length>0?W:typeof w.api=="string"?w.api:void 0,V=k&&C.length>0?C:typeof w.baseURL=="string"?w.baseURL:void 0,U={route:b,routeDisplayName:k?b:typeof w.displayName=="string"?w.displayName:b,...z===void 0?{}:{routeApi:z},...V===void 0?{}:{routeBaseURL:V},modelId:g.modelId,...D===void 0?{}:{modelName:D},...R===void 0?{}:{efforts:R},...K?{effortsUnset:K}:{},...j===void 0?{}:{input:j},...I===void 0?{}:{compat:I},...B===void 0?{}:{defaultEffort:B},index:l,staged:y,officialInputTypes:Sd(c),api:Qt(t.api,void 0,(_,te,oe,Pe,Ve,Ce)=>{rn(n,_,te,oe,Pe,Ve,Ce)},(_,te,oe)=>{fi(n,_,te,oe)},_=>{yd(n,_,g.modelId)},()=>(Re(g.card,f,r)?.staged??k)||!T.has(g.modelId)),readOnly:a.writable!==!0,t:t.t},L=n.mounted.get(c);if(L!==void 0){Hd(L.props,U)||(L.props=U,L.editor.render(U));return}if(Od(c))return;let P=t.mount(c,U);n.mounted.set(c,{editor:P,props:U})})};n.describePromise.then(s,()=>{n.describePromise=void 0})}function $(e,t,n){e.getAttribute(t)!==n&&e.setAttribute(t,n)}function ht(e,t){e!==void 0&&e.hidden!==t&&(e.hidden=t)}function He(e,t,n){e.classList.contains(t)!==n&&(n?e.classList.add(t):e.classList.remove(t))}function on(e,t){e!==void 0&&e.textContent!==t&&(e.textContent=t)}var mr=require("react");var X=require("react");function gi(e){if(typeof e!="string")return;let t="";for(let n of e){let r=n.codePointAt(0)??0;r<32||r===127||(t+=n)}if(t=t.trim(),t.length!==0)return t.slice(0,40)}function sn(e){return typeof e=="string"&&/^[\x21-\x7E]+$/.test(e)}function Pd(e){for(let t of["error","message"]){let n=e[t];if(typeof n=="string"&&n.length>0)return n}}function Cd(e){if(!H(e))return;let t=e.ref;if(typeof t!="string"||t.length===0)return;let n=e.alias,r=e.configured,o=e.masked;return{ref:t,...typeof n=="string"&&n.length>0?{alias:n}:{},enabled:e.enabled===!0,configured:typeof r=="boolean"?r:null,...typeof o=="string"&&o.length>0?{masked:o}:{}}}function Fd(e){let t=e.entries;if(!Array.isArray(t))return;let n=[];for(let i of t){let s=Cd(i);s!==void 0&&n.push(s)}let r=e.enabledRef,o=e.route;return{ok:!0,route:typeof o=="string"?o:"",enabledRef:typeof r=="string"&&r.length>0?r:null,entries:n}}async function Kd(e){let t;try{t=await e.json()}catch{t=void 0}if(!H(t))return{ok:!1};if(t.ok===!0){let r=Fd(t);if(r!==void 0)return r}let n=Pd(t);return n===void 0?{ok:!1}:{ok:!1,error:n}}async function nt(e,t){let n=`${Ur}?route=${encodeURIComponent(e)}`;try{let r=await fetch(n,t===void 0?{method:"GET",cache:"no-store",credentials:"same-origin"}:{method:"POST",cache:"no-store",credentials:"same-origin",headers:{"content-type":"application/json"},body:JSON.stringify(t)});return await Kd(r)}catch{return{ok:!1}}}var hi={list:e=>nt(e),add:(e,t,n)=>nt(e,{op:"add",value:t,...n===void 0?{}:{alias:n}}),enable:(e,t)=>nt(e,{op:"enable",ref:t}),rename:(e,t,n)=>nt(e,{op:"rename",ref:t,...n===void 0?{}:{alias:n}}),remove:(e,t)=>nt(e,{op:"remove",ref:t}),replace:(e,t,n)=>nt(e,{op:"value",ref:t,value:n}),async reveal(e,t){try{let n=await fetch(`${Ht}?route=${encodeURIComponent(e)}&ref=${encodeURIComponent(t)}`,{method:"GET",cache:"no-store",credentials:"same-origin"});if(!n.ok)return;let r=await n.json();if(!H(r)||r.ok!==!0)return;let o=r.key;return typeof o=="string"&&o.length>0?o:void 0}catch{return}}};var O=require("react/jsx-runtime"),qd="M3.9 8.35 6.6 11.05 12.1 5.5",Bd=["M8 3.9v8.2","M3.9 8h8.2"];function bi({paths:e}){return(0,O.jsx)("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:e.map(t=>(0,O.jsx)("path",{d:t},t))})}function Wd(e,t){return e.masked!==void 0?e.masked:e.configured===!1?t("keysMissing"):"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"}function Ud(e){return e.alias??e.masked??e.ref}function yi(e){let{route:t,t:n}=e,r=e.client??hi,o=(0,X.useId)(),[i,s]=(0,X.useState)(void 0),[a,d]=(0,X.useState)(null),[f,m]=(0,X.useState)(void 0),[p,g]=(0,X.useState)(!1),[l,c]=(0,X.useState)(void 0),[u,b]=(0,X.useState)(""),[k,w]=(0,X.useState)(""),[x,T]=(0,X.useState)(void 0),y=(0,X.useCallback)((A,D)=>{if(!A.ok){m({kind:"error",text:A.error??n("keysUnreachable")});return}s(A.entries),d(A.enabledRef),m(D===void 0?void 0:{kind:"status",text:D})},[n]);(0,X.useEffect)(()=>{let A=!0;return(async()=>{let D=await r.list(t);A&&y(D,void 0)})(),()=>{A=!1}},[y,r,t]);let E=(0,X.useCallback)(async(A,D)=>{g(!0),T(void 0),c(void 0);try{y(await A(),D)}finally{g(!1)}},[y]),R=()=>{c(void 0),b(""),w("")},K=(A,D)=>{c({kind:A,ref:D.ref}),b(A==="alias"?D.alias??"":""),w(""),T(void 0)},j=()=>{if(p||l===void 0)return;let A=l.kind,D=l.ref;if(A!=="alias"&&!sn(k))return;let W=gi(u);g(!0),(async()=>{try{if(A==="add"){let z=await r.add(t,k,W);y(z,n("keysAdded")),z.ok&&R();return}if(D===void 0)return;let C=A==="alias"?await r.rename(t,D,W):await r.replace(t,D,k);y(C,n(A==="alias"?"keysRenamed":"keysReplaced")),C.ok&&R()}finally{g(!1)}})()},I=()=>{if(l===void 0)return null;let A=l.kind,D=A!=="alias",W=D&&k.length>0&&!sn(k);return(0,O.jsxs)("div",{className:"bre-keys-form",children:[(0,O.jsxs)("div",{className:"bre-keys-form-fields",children:[A==="value"?null:(0,O.jsx)("input",{className:"bre-text-input bre-keys-name",type:"text",value:u,placeholder:n("keysAliasPlaceholder"),"aria-label":n("keysAlias"),disabled:p,autoFocus:A==="alias",onChange:C=>b(C.target.value)}),D?(0,O.jsx)("input",{className:"bre-text-input bre-keys-secret",type:"password",autoComplete:"new-password",spellCheck:!1,value:k,placeholder:n(A==="add"?"keysValuePlaceholder":"keysNewValuePlaceholder"),"aria-label":n("keysValue"),"aria-invalid":W,disabled:p,autoFocus:!0,onChange:C=>w(C.target.value)}):null]}),W?(0,O.jsx)("p",{className:"bre-effort-message bre-error",role:"alert",children:n("keysAddIllegal")}):null,(0,O.jsxs)("div",{className:"bre-keys-form-actions",children:[(0,O.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:R,children:n("keysCancel")}),(0,O.jsx)("button",{type:"button",className:"bre-primary-button",disabled:p||D&&!sn(k),onClick:j,children:n(A==="add"?"keysAddConfirm":"keysSave")})]})]})},B=()=>l?.kind==="add"?(0,O.jsx)("li",{className:"bre-keys-form-row",children:I()}):(0,O.jsx)("li",{className:"bre-keys-add-row",children:(0,O.jsxs)("button",{type:"button",className:"bre-keys-add",disabled:p,onClick:()=>{c({kind:"add"}),b(""),w(""),T(void 0)},children:[(0,O.jsx)("span",{className:"bre-keys-add-mark","aria-hidden":"true",children:(0,O.jsx)(bi,{paths:Bd})}),n("keysAdd")]})});return i===void 0?f===void 0?(0,O.jsx)("div",{className:"bre-keys"}):(0,O.jsxs)("div",{className:"bre-keys",children:[(0,O.jsx)("p",{className:"bre-effort-message bre-"+f.kind,role:f.kind==="error"?"alert":"status",children:f.text}),(0,O.jsx)("ul",{className:"bre-keys-list",children:B()})]}):(0,O.jsxs)("div",{className:"bre-keys",children:[(0,O.jsxs)("ul",{className:"bre-keys-list",children:[i.map(A=>{let D=Ud(A);return(0,O.jsxs)(X.Fragment,{children:[(0,O.jsxs)("li",{className:"bre-keys-row","data-state":A.configured===!1?"missing":"ready",children:[A.alias===void 0?null:(0,O.jsx)("span",{className:"bre-keys-alias",children:A.alias}),(0,O.jsx)("span",{className:A.alias===void 0?"bre-keys-mask bre-keys-mask-plain":"bre-keys-mask",children:Wd(A,n)}),(0,O.jsx)("span",{className:"bre-keys-actions",children:x===A.ref?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)("button",{type:"button",className:"bre-link-button bre-keys-danger",disabled:p,onClick:()=>{E(()=>r.remove(t,A.ref),n("keysRemoved"))},children:n("keysConfirmRemove")}),(0,O.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:()=>T(void 0),children:n("keysCancel")})]}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:()=>{T(A.ref),c(void 0)},children:n("keysRemove")}),(0,O.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:()=>K("alias",A),children:n("keysAlias")}),(0,O.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:()=>K("value",A),children:n("keysEdit")})]})}),(0,O.jsxs)("label",{className:"bre-keys-enable",title:n("keysEnable",{name:D}),children:[(0,O.jsx)("input",{type:"radio",name:o,className:"bre-keys-enabled",checked:A.enabled,disabled:p,"aria-label":n("keysEnable",{name:D}),onChange:()=>{E(()=>r.enable(t,A.ref),n("keysEnabledNote",{name:D}))}}),(0,O.jsx)("span",{className:"bre-keys-mark","aria-hidden":"true",children:A.enabled?(0,O.jsx)(bi,{paths:[qd]}):null}),(0,O.jsx)("span",{className:"bre-keys-enable-text",children:n("keysEnabled")})]})]}),l!==void 0&&l.ref===A.ref?(0,O.jsx)("li",{className:"bre-keys-form-row",children:I()}):null]},A.ref)}),B()]}),f===void 0?null:(0,O.jsx)("p",{className:"bre-effort-message bre-"+f.kind,role:f.kind==="error"?"alert":"status",children:f.text})]})}var dn="bre-key-managed",jd="bre-keys-host",gr="data-bre-key-host",zd="data-bre-key-input",an="data-bre-region",Ne=new WeakMap;function Gd(e){let t=e.querySelector(`input[${zd}]`);if(t instanceof HTMLInputElement)return t;let n=e.querySelector('input[type="password"]');return n instanceof HTMLInputElement?n:void 0}function wi(e){let t=Ne.get(e)?.host;if(t!==void 0&&t.isConnected)return t;let n=e.nextElementSibling;return n instanceof HTMLElement&&n.hasAttribute(gr)?n:void 0}function xi(e,t){let n=t.route;if(n===void 0||n.length===0||Gd(e)===void 0||e.parentElement===null)return;He(e,dn,!0);let r=Ne.get(e),o=wi(e);o===void 0&&(r!==void 0&&vi(e,r),o=e.ownerDocument.createElement("div"),o.className=jd,e.after(o)),$(o,gr,n);let i=e.getAttribute(an);i===null?o.hasAttribute(an)&&o.removeAttribute(an):$(o,an,i);let s=()=>(0,mr.createElement)(ve,{fallbackText:t.t("keysPanelFailed")},(0,mr.createElement)(yi,{route:n,t:t.t,client:t.client})),a=Ne.get(e);if(a!==void 0&&a.route===n){(a.t!==t.t||a.client!==t.client)&&(a.t=t.t,a.client=t.client,a.mount.root.render(s()));return}a!==void 0&&(Ne.delete(e),a.mount.root.unmount()),Ne.set(e,{route:n,host:o,mount:ct(o,s(),{sync:!0}),t:t.t,client:t.client})}function vi(e,t){Ne.delete(e),qe(t.mount)}function ln(e){He(e,dn,!1);let t=Ne.get(e);t!==void 0&&vi(e,t),wi(e)?.remove()}function ki(){for(let e of Array.from(document.querySelectorAll(`[${gr}]`))){let t=e.previousElementSibling;t instanceof HTMLElement&&Ne.has(t)?ln(t):e.remove()}}var Ei="http://www.w3.org/2000/svg",$d="data-bre-icon";function Vd(e){let t=document.createElementNS(Ei,"path");return t.setAttribute("d",e),t}function Ti(e,t){let n=document.createElementNS(Ei,"svg");return n.setAttribute("viewBox","0 0 16 16"),n.setAttribute("width","16"),n.setAttribute("height","16"),n.setAttribute("fill","none"),n.setAttribute("stroke","currentColor"),n.setAttribute("stroke-width","1.5"),n.setAttribute("stroke-linecap","round"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("aria-hidden","true"),n.setAttribute("focusable","false"),n.setAttribute($d,e),n.append(...t.map(Vd)),n}var fn="bre-key-field",Ai="bre-key-eye",un="data-bre-key-input",Ri="data-bre-eye-show",Oi="data-bre-eye-hide",Mi=["M1.5 8S4 3.75 8 3.75 14.5 8 14.5 8 12 12.25 8 12.25 1.5 8 1.5 8Z","M6.2 8a1.8 1.8 0 1 0 3.6 0 1.8 1.8 0 0 0-3.6 0Z"],yr=new WeakMap;function hr(e){let t=e.querySelector(`input[${un}]`);if(t instanceof HTMLInputElement)return t;let n=e.querySelector('input[type="password"]');return n instanceof HTMLInputElement?n:void 0}function Hi(e){for(let t of Array.from(e.children))if(t instanceof HTMLButtonElement&&t.classList.contains(Ai))return t}function Ni(e,t){let n=hr(e);if(n===void 0){cn(e);return}yr.set(e,t),$(n,un,""),He(e,fn,!0);let r=Hi(e)??Jd(e);$(r,Ri,t.t("keyRevealShow")),$(r,Oi,t.t("keyRevealHide")),br(r,n)}function cn(e){let t=Hi(e);t!==void 0&&t.remove(),yr.delete(e),He(e,fn,!1);let n=e.querySelector(`input[${un}]`);n instanceof HTMLInputElement&&(n.removeAttribute(un),n.type="password")}async function Yd(e){try{let t=await fetch(`${Ht}?route=${encodeURIComponent(e)}`,{method:"GET",cache:"no-store",credentials:"same-origin"});if(!t.ok)return;let n=await t.json();return n===null||typeof n!="object"||n.ok!==!0?void 0:typeof n.key=="string"&&n.key.length>0?n.key:void 0}catch{return}}function br(e,t){let n=t.type!=="password";$(e,"aria-pressed",n?"true":"false");let r=e.getAttribute(n?Oi:Ri);r!==null&&($(e,"aria-label",r),$(e,"title",r)),ht(e,t.disabled)}function Si(e,t){let n=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");n?.set===void 0?e.value=t:n.set.call(e,t),e.dispatchEvent(new Event("input",{bubbles:!0}))}function Jd(e){let t=document.createElement("button");t.type="button",t.className=Ai,t.append(Li("eye"),Li("eye-off"));let n,r=async()=>{let o=hr(e),i=yr.get(e);if(o===void 0||i===void 0)return;if(o.type!=="password"){n!==void 0&&o.value===n&&Si(o,""),n=void 0,o.type="password",br(t,o);return}let s=i.route;if(s!==void 0&&n===void 0&&o.value.length===0){$(t,"aria-busy","true");let a;try{a=await(i.loadKey??Yd)(s)}catch{a=void 0}if(t.hasAttribute("aria-busy")&&t.removeAttribute("aria-busy"),a===void 0){let d=i.t("keyRevealFailed");$(t,"aria-label",d),$(t,"title",d);return}hr(e)===o&&o.value.length===0&&(n=a,Si(o,a))}o.type="text",br(t,o)};return t.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),r()}),e.append(t),t}function Li(e){let t=e==="eye-off"?[...Mi,"M2.5 13.5 13.5 2.5"]:Mi;return Ti(e,t)}var wr="bre-editor-tabs",Xd="bre-editor-tab",pn="data-bre-tab-id",wt="bre-tabbed",Ie="data-bre-tab",_i="data-bre-provider",fe="data-bre-region",yt="data-bre-editor-body",xt="data-bre-details";var Qd=".bre-headers",_e="provider",rt="models",ot="advanced",Zd=[_e,rt,ot],el="none",Ii=Zd,Di=wr,Pi=Xd,Ci=pn,mn='[class*="editorActions"], [class*="modelList"], [class*="modelCatalog"], [class*="modelEntry"]',tl='[class*="modelCatalog"], [class*="modelList"], [class*="modelEntry"]',Fi='[class*="rowCard"], [class*="addCard"], li';function Ki(){return{warned:new WeakSet}}function hn(e){return e===null?null:e.closest(Fi)}function qi(e,t){$(e,Ie,t),Ui(e)}function xr(e,t,n){if(!e.isConnected)return;let r=new Set;for(let o of Array.from(e.querySelectorAll(mn))){let i=o.closest(Fi);i!==null&&r.add(i)}for(let o of Array.from(e.querySelectorAll(`.${wt}`)))r.has(o)||gn(o);for(let o of r)try{sl(o,t)}catch(i){n.warned.has(o)||(n.warned.add(o),console.warn("[bre] editor tabs: rolled a provider card back to the official layout:",i)),gn(o)}}function Bi(){for(let e of Array.from(document.querySelectorAll(`.${wt}`))){e.classList.remove(wt),e.removeAttribute(Ie),e.removeAttribute(yt);for(let t of Array.from(e.querySelectorAll(`[${fe}]`)))t.removeAttribute(fe)}for(let e of Array.from(document.querySelectorAll(`[${Ie}]`)))e.removeAttribute(Ie);for(let e of Array.from(document.querySelectorAll(`[${fe}]`)))e.removeAttribute(fe);for(let e of Array.from(document.querySelectorAll(`[${yt}]`)))e.removeAttribute(yt);for(let e of Array.from(document.querySelectorAll(`details[${xt}]`)))e.removeAttribute("open"),e.removeAttribute(xt);for(let e of Array.from(document.querySelectorAll(`.${fn}`)))cn(e);for(let e of Array.from(document.querySelectorAll(`.${dn}`)))ln(e);ki()}function nl(e){for(let n of Array.from(e.children))if(n instanceof HTMLElement&&!n.matches('[class*="editorHeader"], [class*="editorTitle"], [class*="editorActions"], [class*="editorRoute"]')&&n.matches('[class*="editor"]')&&(n.querySelector(mn)!==null||n.querySelector("input, select")!==null))return n;let t=e.querySelector(mn);for(;t!==null&&t.parentElement!==e;)t=t.parentElement;return t!==null&&t!==e?t:void 0}function rl(e){let t={header:void 0,models:void 0,actions:void 0,fields:[]};Wi(e,t,0);let{actions:n,fields:r,header:o,models:i}=t;if(!(n===void 0||r.length===0)&&r.some(s=>s.querySelector("input, select, textarea")!==null))return{header:o,models:i,actions:n,fields:r}}var ol=4;function Wi(e,t,n){if(!(n>ol)){for(let r of Array.from(e.children))if(r instanceof HTMLElement&&!r.matches('[class*="bre-"], [data-plugin]')){if(t.header===void 0&&r.matches('[class*="editorHeader"], [class*="editorTitle"]')){t.header=r;continue}if(r.matches('[class*="editorActions"]')){t.actions??(t.actions=r);continue}if(r.matches(tl)){t.models??(t.models=r);continue}if(r.querySelector(mn)!==null){Wi(r,t,n+1);continue}if(r.querySelector('[class*="editorActions"]')!==null){t.actions??(t.actions=r);continue}r.querySelector("input, select, textarea")!==null&&t.fields.push(r)}}}function il(e){let n=e.querySelector(`[${_i}]`)?.getAttribute(_i);return n==null||n===""?void 0:n}function sl(e,t){let n=nl(e);if(n===void 0){gn(e);return}let r=rl(n);if(r===void 0){gn(e);return}let o=e.querySelector(Qd),i=il(e);for(let d of r.fields)$(d,fe,_e),Ni(d,{t:t.t,route:i}),xi(d,{t:t.t,route:i});r.header!==void 0&&$(r.header,fe,el),r.models!==void 0&&$(r.models,fe,rt),$(n,yt,""),o!==null&&$(o,fe,ot),dl(n);let s=new Set([_e]);r.models!==void 0&&s.add(rt),o!==null&&s.add(ot);let a=e.getAttribute(Ie)??_e;$(e,Ie,s.has(a)?a:_e),He(e,wt,!0),al(e,t,s)}function al(e,t,n){let r=e.querySelector(`.${wr}`);r!==null&&($(r,"aria-label",t.t("editorTabsLabel")),on(bt(r,_e),t.t("editorTabProvider")),on(bt(r,rt),t.t("editorTabModels")),on(bt(r,ot),t.t("editorTabAdvanced")),ht(bt(r,rt),!n.has(rt)),ht(bt(r,ot),!n.has(ot)),Ui(e,r))}function Ui(e,t){let n=t??e.querySelector(`.${wr}`);if(n===null)return;let r=e.getAttribute(Ie)??_e;for(let o of Array.from(n.querySelectorAll(`[${pn}]`)))$(o,"aria-selected",o.getAttribute(pn)===r?"true":"false")}function bt(e,t){for(let n of Array.from(e.children))if(n instanceof HTMLElement&&n.getAttribute(pn)===t)return n}function gn(e){e.classList.remove(wt),e.removeAttribute(Ie),e.removeAttribute(yt);for(let t of Array.from(e.querySelectorAll(`[${fe}]`)))t.getAttribute(fe)===_e&&(cn(t),ln(t)),t.removeAttribute(fe);ll(e)}function dl(e){for(let t of Array.from(e.querySelectorAll("details")))t.hasAttribute("open")||($(t,xt,"closed"),$(t,"open",""))}function ll(e){for(let t of Array.from(e.querySelectorAll(`details[${xt}]`)))t.removeAttribute("open"),t.removeAttribute(xt)}var vt="data-bre-drag-handle",vr="data-bre-row-head",kr="data-bre-drop-side",bn="bre-row-dragging",yn="bre-row-drop-target",Yi="bre-drag-ghost",Ji="bre-drop-line",ji="http://www.w3.org/2000/svg",zi=8,Gi=28,$i=12,ul="transform 180ms cubic-bezier(0.2, 0.7, 0.3, 1)",fl='button, a, input, textarea, select, [contenteditable], [role="button"], [role="switch"], [role="checkbox"], [role="textbox"], [role="combobox"]';function wn(){return{sources:new WeakSet,lists:new WeakSet,line:void 0,drag:void 0}}function ce(e){return Array.from(e.children).filter(t=>t instanceof HTMLElement)}function cl(e,t){let n=e.style.order;if(n==="")return t;let r=Number.parseInt(n,10);return Number.isNaN(r)?t:r}function Ge(e){return ce(e).map((t,n)=>({row:t,key:cl(t,n),index:n})).sort((t,n)=>t.key-n.key||t.index-n.index).map(t=>t.row)}function kt(e,t){let n=Ge(e),r=n.filter(a=>t.includes(a)),o=r.map(a=>n.indexOf(a)),i=t.filter(a=>r.includes(a)),s=new Map;n.forEach((a,d)=>s.set(a,d)),o.forEach((a,d)=>{let f=i[d];f!==void 0&&s.set(f,a)});for(let[a,d]of s){let f=String(d);a.style.order!==f&&(a.style.order=f)}}function Er(e,t){let n=ce(e),r=n.map(o=>o.offsetTop);t(),n.forEach((o,i)=>{let s=r[i]-o.offsetTop;s!==0&&(o.style.transition="none",o.style.transform=`translateY(${s}px)`,o.offsetHeight,o.style.transition=ul,o.style.transform="")})}function Et(e,t){return Ge(e).map(n=>t(n)).filter(n=>n!==void 0)}function Xi(e,t,n){let r=new Map;for(let[s,a]of t.entries())r.has(a)||r.set(a,s);let i=[...Ge(e).filter(s=>n(s)!==void 0)].sort((s,a)=>{let d=r.get(n(s))??Number.MAX_SAFE_INTEGER,f=r.get(n(a))??Number.MAX_SAFE_INTEGER;return d-f});kt(e,i)}function xn(e){for(let t of e)t.style.order="",t.style.transition="",t.style.transform=""}function Qi(e,t,n,r){let i=e.filter(s=>s!==t).indexOf(n);return i<0?Math.max(0,e.indexOf(t)):r?i+1:i}function Zi(e,t){let n,r=Number.POSITIVE_INFINITY;for(let o of e){let i=o.getBoundingClientRect(),s=t<i.top?i.top-t:t>i.bottom?t-i.bottom:0;s<r&&(r=s,n=o)}return n}function pl(e,t){let n=e.getBoundingClientRect();return n.height<=0?!0:t>n.top+n.height/2}function es(e,t){let n=e.getBoundingClientRect();return t?n.bottom+zi/2-1:n.top-zi/2-1}function ts(){let e=document.createElementNS(ji,"svg");e.setAttribute("width","10"),e.setAttribute("height","14"),e.setAttribute("viewBox","0 0 10 14"),e.setAttribute("fill","none"),e.setAttribute("aria-hidden","true");let t=[[2.5,3],[7.5,3],[2.5,7],[7.5,7],[2.5,11],[7.5,11]];for(let[n,r]of t){let o=document.createElementNS(ji,"circle");o.setAttribute("cx",String(n)),o.setAttribute("cy",String(r)),o.setAttribute("r","1.2"),o.setAttribute("fill","currentColor"),e.appendChild(o)}return e}function ns(e,t){let n=document.createElement("div");n.className=Yi,n.setAttribute("aria-hidden","true"),n.appendChild(ts());let r=document.createElement("span");r.className="bre-drag-ghost-name";let o=t??e.querySelector('[class*="rowName"]')?.textContent?.trim();return r.textContent=o===void 0?"":o,n.appendChild(r),n}function ml(e){return!(e instanceof Element)||e.closest(`[${vt}]`)!==null?!1:e.closest(fl)!==null}function rs(e){return e.parentElement??void 0}function os(e){for(let t of ce(e))t.classList.remove(yn),t.removeAttribute(kr)}function is(e){let t=e.parentElement;for(;t!==null;){if(gl(t))return t;t=t.parentElement}let n=document.scrollingElement;return n instanceof HTMLElement&&n.scrollHeight>n.clientHeight?n:void 0}function gl(e){if(e.scrollHeight<=e.clientHeight)return!1;let t=e.style.overflowY,n=t.length>0?t:window.getComputedStyle(e).overflowY;return n==="auto"||n==="scroll"||n==="overlay"}function ss(e,t){let n=e.getBoundingClientRect();return n.height<=0?0:t<n.top+Gi?-$i:t>n.bottom-Gi?$i:0}function as(e,t,n){if(t.scrollStep===n)return;if(t.scrollStep=n,n===0){t.frame!==void 0&&(window.cancelAnimationFrame(t.frame),t.frame=void 0);return}let r=t.scroller;if(r===void 0||t.frame!==void 0)return;let o=()=>{t.frame=void 0,!(e.drag!==t||t.scrollStep===0)&&(r.scrollTop+=t.scrollStep,t.frame=window.requestAnimationFrame(o))};t.frame=window.requestAnimationFrame(o)}function hl(e){let t=e.line;if(t!==void 0&&t.isConnected)return t;let n=document.createElement("div");return n.className=Ji,n.setAttribute("aria-hidden","true"),document.body.appendChild(n),e.line=n,n}function bl(e,t,n){let r=hl(e),o=t.getBoundingClientRect();r.style.top=`${es(t,n)}px`,r.style.left=`${o.left}px`,r.style.width=`${o.width}px`,r.style.display="block",r.setAttribute(kr,n?"after":"before")}function yl(e){e.line!==void 0&&(e.line.style.display="none")}function wl(e){let t=e.drag;e.drag=void 0,t!==void 0&&(as(e,t,0),yl(e),t.row.classList.remove(bn),os(t.list),t.dropped||Er(t.list,()=>{kt(t.list,t.before)}))}function xl(e,t,n,r){if(ml(t.target)){t.preventDefault();return}let o=rs(e),i=n.idOf(e);if(o===void 0||i===void 0){t.preventDefault();return}let s={row:e,list:o,before:Ge(o),scroller:is(o),adapter:n,scrollStep:0,frame:void 0,dropped:!1};r.drag=s,e.classList.add(bn);let a=ns(e,n.labelOf(e));Number.isFinite(t.clientX)&&Number.isFinite(t.clientY)&&(a.style.left=`${t.clientX}px`,a.style.top=`${t.clientY}px`),document.body.appendChild(a);let d=t.dataTransfer;if(d!=null)try{d.effectAllowed="move",d.setData("text/plain",i),d.setDragImage(a,Math.round(a.offsetWidth/2),Math.round(a.offsetHeight/2))}catch{}window.setTimeout(()=>{a.remove()},0)}function vl(e,t,n){let r=n.drag;if(r===void 0||r.list!==e)return;let o=t.target,i=o instanceof Element?r.adapter.rowOf(o,e):void 0,s=Ge(e),a=i!==void 0&&s.includes(i)?i:Zi(s,t.clientY);if(a===void 0)return;t.preventDefault();let d=t.dataTransfer;d!=null&&(d.dropEffect="move");let f=pl(a,t.clientY),m=Qi(s,r.row,a,f);m!==s.indexOf(r.row)&&Er(e,()=>{kt(e,Dn(s,r.row,m))}),os(e),a.classList.add(yn),a.setAttribute(kr,f?"after":"before"),bl(n,a,f),as(n,r,r.scroller===void 0?0:ss(r.scroller,t.clientY))}function kl(e,t){t.lists.has(e)||(t.lists.add(e),e.addEventListener("dragover",n=>{vl(e,n,t)}),e.addEventListener("drop",n=>{let r=t.drag;r===void 0||r.list!==e||(n.preventDefault(),r.dropped=!0,r.adapter.commit(e))}))}function El(e,t,n,r){r.sources.has(e)||(r.sources.add(e),n.seatDrags&&(e.setAttribute(vr,"1"),e.setAttribute("draggable","true")),e.addEventListener("dragstart",o=>{xl(t,o,n,r)}),e.addEventListener("dragend",()=>{wl(r)}))}function Tl(e,t,n,r){e.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation()}),e.addEventListener("keydown",o=>{if(o.key!=="ArrowUp"&&o.key!=="ArrowDown")return;let i=rs(t);if(i===void 0)return;let s=Ge(i),a=s.indexOf(t);if(a<0)return;let d=a+(o.key==="ArrowUp"?-1:1);d<0||d>=s.length||(o.preventDefault(),Er(i,()=>{kt(i,Dn(s,t,d))}),n.commit(i),e.focus())})}function Vi(e,t,n,r){let o=r.gripLabel(t,n),i=r.gripHint();e.getAttribute(vt)!==n&&e.setAttribute(vt,n),e.getAttribute("aria-label")!==o&&e.setAttribute("aria-label",o),e.getAttribute("title")!==i&&e.setAttribute("title",i)}function Ml(e,t,n,r,o){let i=t.querySelector(`[${vt}]`);if(i!==null){Vi(i,e,n,r);return}r.decorate?.(e,t);let s=document.createElement("span");s.className="bre-drag-grip",s.setAttribute("role","button"),s.setAttribute("tabindex","0"),s.setAttribute("draggable","true"),s.appendChild(ts()),Vi(s,e,n,r),Tl(s,e,r,o),El(r.seatDrags?t:s,e,r,o),t.insertBefore(s,t.firstChild)}function vn(e,t,n,r){if(e.isConnected){kl(t,r);for(let o of ce(t)){let i=n.idOf(o);if(i===void 0)continue;let s=n.seatOf(o);s!==void 0&&Ml(o,s,i,n,r)}r.drag===void 0&&Xi(t,n.order(Et(t,n.idOf)),n.idOf)}}function kn(e){e.drag=void 0;for(let t of Array.from(document.querySelectorAll(`[${vt}]`)))t.remove();for(let t of Array.from(document.querySelectorAll(`[${vr}]`)))t.removeAttribute(vr),t.removeAttribute("draggable");for(let t of Array.from(document.querySelectorAll(`.${bn}, .${yn}`)))t.classList.remove(bn,yn);for(let t of Array.from(document.querySelectorAll(`.${Ji}`)))t.remove();for(let t of Array.from(document.querySelectorAll(`.${Yi}`)))t.remove();e.line=void 0}var Tt="data-bre-row-provider",ds="{provider}",Sl=["rowCard","setupCard"];function ls(){return wn()}function Mt(e){for(let t of Sl)for(let n of Array.from(e.querySelectorAll(`[class*="${t}"]`))){let r=n.parentElement;if(!(r===null||r.tagName!=="UL")&&ce(r).length!==0)return r}}function St(e){return e.querySelector('[class*="rowHead"]')??void 0}function it(e){let t=e.querySelector('[class*="rowName"]')?.textContent?.trim();return t!==void 0&&t.length>0?t:void 0}function Ll(e){let t=e.indexOf(ds);if(!(t<0))return{prefix:e.slice(0,t),suffix:e.slice(t+ds.length)}}function Al(e){let t=e.trim();if(t.length===0)return;let n=/^(.*) \(([^()]*)\)$/.exec(t);if(n!==null){let r=n[2];return r.length===0?void 0:r}return/\s/.test(t)?void 0:t}var Rl='[class*="rowCard"], [class*="setupCard"], [class*="addCard"]';function Ol(e){let t=e.closest(Rl);for(let n=e;n!==null&&n!==t;n=n.parentElement)if(n.matches('[data-plugin], [class*="bre-"]'))return!0;return!1}function $e(e,t){let n=e.querySelector("[data-bre-provider]")?.getAttribute("data-bre-provider");if(typeof n=="string"&&n.length>0)return n;for(let r of t.editProvider){let o=Ll(r);if(o!==void 0)for(let i of Array.from(e.querySelectorAll("button[aria-label]"))){if(Ol(i))continue;let s=i.getAttribute("aria-label")??"";if(s.length<=o.prefix.length+o.suffix.length||!s.startsWith(o.prefix)||!s.endsWith(o.suffix))continue;let a=Al(s.slice(o.prefix.length,s.length-o.suffix.length));if(a!==void 0)return a}}}function Tr(e){let t=e.getAttribute(Tt);return t===null||t.length===0?void 0:t}function Hl(e){return Et(e,Tr)}function us(e,t,n){if(!e.isConnected)return;let r=Mt(e);if(r===void 0)return;let o=t.labels();for(let i of ce(r)){let s=$e(i,o);if(s===void 0){i.removeAttribute(Tt);continue}Tr(i)!==s&&i.setAttribute(Tt,s)}vn(e,r,Nl(t),n)}function Nl(e){return{rowOf:t=>{let n=t.closest("li");return n instanceof HTMLElement?n:void 0},idOf:Tr,labelOf:it,order:t=>ro(t),commit:t=>{to(Hl(t))},seatOf:St,seatDrags:!0,gripLabel:(t,n)=>e.t("providerReorderAria",{provider:it(t)??n}),gripHint:()=>e.t("providerReorderHint")}}function fs(e){kn(e);let t=Array.from(document.querySelectorAll(`[${Tt}]`));xn(t);for(let n of t)n.removeAttribute(Tt)}var st="data-bre-provider-switch",En="bre-row-disabled";function ps(){return{switches:new WeakSet}}function ms(e,t,n){if(!e.isConnected)return;let r=Mt(e);if(r===void 0)return;let o=t.labels();for(let i of Array.from(r.children)){if(!(i instanceof HTMLElement))continue;let s=$e(i,o);if(s===void 0)continue;let a=St(i);a!==void 0&&(_l(i,a,s,t,n),i.classList.toggle(En,!Ct(s)))}}function gs(){for(let e of Array.from(document.querySelectorAll(`[${st}]`)))e.remove();for(let e of Array.from(document.querySelectorAll(`.${En}`)))e.classList.remove(En)}function _l(e,t,n,r,o){let i=t.querySelector(`[${st}]`);if(i!==null){cs(i,e,n,r);return}let s=document.createElement("button");s.className="bre-provider-switch",s.setAttribute("type","button"),s.setAttribute("role","switch"),s.setAttribute(st,n),cs(s,e,n,r),Il(s,e,o);let a=t.querySelector('[class*="rowActions"]');a===null?t.appendChild(s):a.insertBefore(s,a.firstChild)}function cs(e,t,n,r){let o=r.t("providerToggleAria",{provider:it(t)??n}),i=r.t("providerToggleHint"),s=Ct(n)?"true":"false";e.getAttribute(st)!==n&&e.setAttribute(st,n),e.getAttribute("aria-checked")!==s&&e.setAttribute("aria-checked",s),e.getAttribute("aria-label")!==o&&e.setAttribute("aria-label",o),e.getAttribute("title")!==i&&e.setAttribute("title",i)}function Il(e,t,n){n.switches.has(e)||(n.switches.add(e),e.addEventListener("click",r=>{r.preventDefault(),r.stopPropagation();let o=e.getAttribute(st);if(o===null)return;let i=!Ct(o);so(o,i),e.setAttribute("aria-checked",i?"true":"false"),t.classList.toggle(En,!i)}))}var Tn="data-bre-provider-delete",hs='[class*="rowActions"]',bs='[class*="dangerButton"]',Dl="bre-provider-delete";function ys(e,t){if(!e.isConnected)return;let n=Mt(e);if(n===void 0)return;let r=t.labels(),o=Pl(n)??t.t("providerRemoveDisabled");for(let i of Array.from(n.children)){if(!(i instanceof HTMLElement))continue;let s=$e(i,r);if(s===void 0)continue;let a=St(i);if(a===void 0)continue;let d=a.querySelector(hs);if(d===null)continue;let f=d.querySelector(`[${Tn}]`);if(d.querySelector(bs)!==null){f!==null&&f.remove();continue}let m=f??Cl();d.lastElementChild!==m&&d.appendChild(m),Fl(m,s,o,t.t("providerRemoveLocked",{provider:it(i)??s}))}}function ws(){for(let e of Array.from(document.querySelectorAll(`[${Tn}]`)))e.remove()}function Pl(e){let n=e.querySelector(`${hs} ${bs}`)?.textContent?.trim()??"";return n.length>0?n:void 0}function Cl(){let e=document.createElement("button");return e.className=Dl,e.setAttribute("type","button"),e.setAttribute("disabled",""),e}function Fl(e,t,n,r){e.getAttribute(Tn)!==t&&e.setAttribute(Tn,t),e.textContent!==n&&(e.textContent=n),e.getAttribute("aria-label")!==r&&e.setAttribute("aria-label",r),e.getAttribute("title")!==r&&e.setAttribute("title",r)}var Lt="data-bre-row-model",Mr="bre-model-grid";function vs(){return wn()}function Kl(e){let t=[];for(let n of Array.from(e.querySelectorAll('[class*="modelList"]')))ce(n).filter(o=>o.matches('[class*="modelEntry"]')).length!==0&&t.push(n);return t}function Mn(e){let t=e.getAttribute(Lt);return t===null||t.length===0?void 0:t}function Sr(e,t){let n=e.closest("li");if(n!==null)return $e(n,t.labels())}function xs(e,t){let n=Oe(e,t.labels().modelName);return n.length>0?n:Mn(e)}function ql(e,t){return{rowOf:n=>{let r=n.closest('[class*="modelEntry"]');return r instanceof HTMLElement?r:void 0},idOf:Mn,labelOf:n=>xs(n,t),order:n=>{let r=Sr(e,t);return r===void 0?n:go(r,n)},commit:n=>{let r=Sr(n,t);r!==void 0&&po(r,Et(n,Mn))},seatOf:n=>n.querySelector('[class*="modelRow"]')??void 0,seatDrags:!1,gripLabel:(n,r)=>t.t("modelReorderAria",{model:xs(n,t)??r}),gripHint:()=>t.t("modelReorderHint"),decorate:(n,r)=>{r.classList.add(Mr)}}}function ks(e,t,n){if(!e.isConnected)return;let r=t.labels();for(let o of Kl(e))if(Sr(o,t)!==void 0){for(let i of ce(o)){let s=Oe(i,r.modelId);if(s.length===0){i.removeAttribute(Lt);continue}Mn(i)!==s&&i.setAttribute(Lt,s)}vn(e,o,ql(o,t),n)}}function Es(e){kn(e);for(let n of Array.from(document.querySelectorAll(`.${Mr}`)))n.classList.remove(Mr);let t=Array.from(document.querySelectorAll(`[${Lt}]`));xn(t);for(let n of t)n.removeAttribute(Lt)}var Bl="settings.models",ke={capacity:["modelAdvanced","Model options","Capacities"],modelId:["modelId","Model ID"],modelName:["modelName","Display name"],routeId:["customRoute","Provider ID"],baseUrl:["baseUrl","Base URL"],apiProtocol:["customApi","API protocol"],apply:["apply","Apply"],cancel:["cancel","Cancel"],editProvider:["editProvider","Edit {provider}"]};function Ms(e){let{ctx:t,api:n,t:r,onIdle:o,refreshed:i}=e,s=()=>{let W=t.locale.bind(Bl),C=([z,...V])=>{let U=W(z);return U===z||U.trim()===""?V:[U,...V]};return{capacity:C(ke.capacity),modelId:C(ke.modelId),modelName:C(ke.modelName),routeId:C(ke.routeId),baseUrl:C(ke.baseUrl),apiProtocol:C(ke.apiProtocol),apply:C(ke.apply),cancel:C(ke.cancel),editProvider:C(ke.editProvider)}},a=120,d=ui(),f=ls(),m={t:r,labels:s},p=ps(),g={t:r,labels:s},l={t:r,labels:s},c=vs(),u={t:r,labels:s},b=Ki(),k={t:r},w,x,T,y,E=!1,R={api:n,describeNamespace:()=>ne(n),t:r,labels:s,onIdle:o,onBackoff:W=>{K(W)},mount(W,C){let z=document.createElement("div");z.className="bre-effort-slot",z.dataset.plugin=J,W.appendChild(z);let V=(0,Ts.createRoot)(z),U=L=>{V.render((0,Lr.createElement)(ve,{fallbackText:r("renderFailed"),children:i(()=>(0,Lr.createElement)(en,L))}))};return U(C),{unmount:()=>{V.unmount()},render:U}}};function K(W){E||x!==void 0||(x=window.setTimeout(()=>{x=void 0,j()},W))}function j(){E||w!==void 0||(w=window.setTimeout(()=>{w=void 0,y?.(),mi(be(),R,d),xr(be(),k,b),us(be(),m,f),ms(be(),g,p),ys(be(),l),ks(be(),u,c)},a))}let I=W=>{E||T!==void 0||(y=W,W(),T=new MutationObserver(()=>{W(),xr(be(),k,b),j()}),T.observe(document.body,{childList:!0,subtree:!0}),j())},B=()=>{E=!0,w!==void 0&&(window.clearTimeout(w),w=void 0),x!==void 0&&(window.clearTimeout(x),x=void 0),T?.disconnect(),T=void 0};return{state:d,labels:s,start:I,stopObserver:B,teardown:()=>{B(),di(d,R);for(let[,W]of d.mounted)W.editor.unmount();d.mounted.clear(),fs(f),gs(),ws(),ri(),Es(c),Bi()},flushOnUnload:()=>{li(d,R)},schedule:j}}function Wl(e,t){let n=e?.list?.getSnapshot(),r=n?.current;if(typeof r=="string"&&r.length>0)return r;let o=t?.adapter?.current?.getSnapshot?.()?.key;if(typeof o=="string"&&o.length>0)return o;for(let[i,s]of Object.entries(n?.byId??{}))if(!(s===void 0||(s.retainedBy?.mainView??0)<=0))return typeof s.id=="string"&&s.id.length>0?s.id:i}function Ss(e){let t,n=new Map,r=(s,a)=>{for(let[d,f]of n){if(d===a)continue;let m;try{m=s.directoryFor(f.sessionId)===d}catch{m=!1}m||(f.restore(),n.delete(d))}};return{ensure:()=>{let s=e.ctx,a=s.get?.("sessions"),d=s.get?.("uiSession"),f=s.get?.("modelDirectories"),m=Wl(a,d);if(!(m===void 0||f===void 0))try{let p=f.directoryFor(m);return r(f,p),t!==void 0&&t.sessionId===m&&t.directory===p||(n.has(p)||n.set(p,{sessionId:m,restore:Lo(p,{configuredEffort:e.configuredEffort})}),t={sessionId:m,directory:p}),p}catch{t=void 0;return}},dispose:()=>{for(let[,s]of n)s.restore();n.clear()}}}var Ul="conversation.input.model";function Ls(e){return e.querySelector("[data-composer-card]")??void 0}function Ar(e){return e.querySelector(`[data-slot="${Ul}"]`)??void 0}function As(e){let t=Ar(e)??e;return Array.from(t.querySelectorAll('button[aria-haspopup="menu"]'))}function Rs(e,t){let n=e.getAttribute("aria-controls");if(n===null||n.length===0)return;let r=t.getElementById(n);if(r!==null)return r.getAttribute("role")==="menu"?r:void 0}function Rr(e=document){let t=Ls(e);if(t===void 0)return;for(let r of As(t)){let o=Rs(r,e);if(o!==void 0)return o}let n=Ar(t)??t;for(let r of Array.from(n.querySelectorAll('[role="menu"]')))if(r.previousElementSibling?.matches('button[aria-haspopup="menu"]'))return r}function Or(e=document){let t=Ls(e);if(t===void 0)return;let n=Ar(t),r=As(t),o=r[0];if(o!==void 0){for(let i of r)if(Rs(i,e)!==void 0)return i;for(let i of r)if(i.nextElementSibling?.matches('[role="menu"]'))return i;return n===void 0?r.at(-1):o}}function Os(){return Rr()}function Hs(){return Or()}var De=require("react");var Y=require("react");var N=require("react/jsx-runtime"),jl=["claude-cli/2.1.161 (external, cli)","claude-code/1.0.0","Kilo-Code/1.0"];function Ns(e){let t=0,n=Object.entries(e??{}).map(([r,o])=>({id:t+=1,name:r,value:o}));return n.length===0&&n.push({id:t+=1,name:"",value:""}),{rows:n}}function zl(e){let t={},n=!1;for(let o of e.rows){let i=o.name.trim();i.length!==0&&(t[i]=o.value,i.toLowerCase()==="user-agent"&&(n=!0))}let r=e.userAgent?.trim();return!n&&r!==void 0&&r.length>0&&(t["user-agent"]=r),t}function _s({route:e,api:t,t:n}){let r=(0,Y.useId)(),[o,i]=(0,Y.useState)(void 0),[s,a]=(0,Y.useState)({rows:[]}),[d,f]=(0,Y.useState)(!1),[m,p]=(0,Y.useState)(!1),[g,l]=(0,Y.useState)(!0),[c,u]=(0,Y.useState)(!1),[b,k]=(0,Y.useState)(!1),[w,x]=(0,Y.useState)(void 0),[T,y]=(0,Y.useState)(void 0),[E,R]=(0,Y.useState)(!1),K=(0,Y.useRef)(1),j=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{let L=!0;return(async()=>{try{let P=await ne(t);if(!L)return;let _=Zn(P.namespace,e);i(_),a(Ns(_)),k(P.writable!==!0)}catch{L&&k(!0)}finally{L&&l(!1)}})(),()=>{L=!1}},[t,e]),(0,Y.useEffect)(()=>{let L=!0;return(async()=>{try{let _=await(await fetch(zr,{method:"GET"})).json();L&&_.ok===!0&&_.data!==void 0&&y(_.data)}catch{}})(),()=>{L=!1}},[]),(0,Y.useEffect)(()=>{let L=j.current;if(L===null)return;let P=()=>{R(L.dataset.breRegion==="advanced")};P();let _=new MutationObserver(P);return _.observe(L,{attributes:!0,attributeFilter:["data-bre-region"]}),()=>{_.disconnect()}},[]);let I=()=>{a(L=>({...L,rows:[...L.rows,{id:K.current+=1,name:"",value:""}]})),x(void 0)},B=(L,P)=>{a(_=>({..._,rows:_.rows.map(te=>te.id===L?{...te,...P}:te)})),x(void 0)},A=L=>{a(P=>({...P,rows:P.rows.filter(_=>_.id!==L)})),x(void 0)},D=()=>{a(Ns(o)),p(!1),x(void 0)},W=async L=>{u(!0),x(void 0);let P;try{P=await er(t,e,L)}catch(_){P={ok:!1,error:_ instanceof Error?_.message:String(_)}}if(u(!1),!P.ok){x({kind:"error",text:P.error==="no-route"?n("headersNoRoute"):P.error==="read-only"?n("headersReadOnly"):n("headersError",{error:P.error})});return}i(L),p(!1),x({kind:"success",text:Object.keys(L).length===0?n("headersCleared"):n("headersSaved")})},C=Object.entries(o??{}),z=b||c,V=C.length,U=E;return(0,N.jsxs)("div",{className:"bre-headers",ref:j,"data-plugin":J,"data-open":d?"1":"0",children:[!E&&(0,N.jsx)("div",{className:"bre-headers-head",children:m?(0,N.jsx)("span",{className:"bre-effort-title",children:n("headersTitle")}):(0,N.jsxs)("button",{type:"button",className:"bre-headers-disclosure","aria-expanded":d,"aria-label":`${n("headersTitle")} ${e}`,onClick:()=>{f(!d),x(void 0)},children:[(0,N.jsx)("span",{className:"bre-effort-title",children:n("headersTitle")}),g||V===0?null:(0,N.jsx)("span",{className:"bre-headers-count",children:V}),(0,N.jsx)("span",{className:"bre-headers-chevron","aria-hidden":"true",children:"\u203A"})]})}),!d&&!m&&!E?null:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("p",{className:"bre-effort-note",children:n("headersHint")}),T===void 0?null:(0,N.jsxs)(N.Fragment,{children:[T.environment.preferOfficialLayer?(0,N.jsx)("p",{className:"bre-effort-note bre-warn",children:n("headersConflictPatched")}):null,T.conflicts.length===0&&(T.headerConflicts?.length??0)===0?null:(0,N.jsx)("p",{className:"bre-effort-note bre-warn",children:n("headersConflictOrigin")}),T.environment.siblings.length===0?null:(0,N.jsx)("p",{className:"bre-effort-note bre-warn",children:n("headersConflictSiblings",{names:T.environment.siblings.map(L=>L.name).join(", ")})})]}),g?null:m||U?(0,N.jsxs)("div",{className:"bre-headers-edit",children:[(0,N.jsxs)("div",{className:"bre-headers-columns","aria-hidden":"true",children:[(0,N.jsx)("span",{children:n("headersName")}),(0,N.jsx)("span",{children:n("headersValue")}),(0,N.jsx)("span",{})]}),s.rows.map(L=>(0,N.jsxs)("div",{className:"bre-headers-row",children:[(0,N.jsx)("input",{type:"text",className:"bre-text-input bre-headers-name",value:L.name,disabled:z,placeholder:n("headersNamePlaceholder"),"aria-label":n("headersName"),onChange:P=>{B(L.id,{name:P.target.value})}}),(0,N.jsx)("input",{type:"text",className:"bre-text-input bre-headers-value",value:L.value,disabled:z,list:L.name.trim().toLowerCase()==="user-agent"?r:void 0,placeholder:n("headersValue"),"aria-label":n("headersValue"),onChange:P=>{B(L.id,{value:P.target.value})}}),(0,N.jsx)("button",{type:"button",className:"bre-link-button bre-headers-remove",disabled:z,"aria-label":`${n("headersClear")} ${L.name}`,onClick:()=>{A(L.id)},children:"\xD7"})]},L.id)),(0,N.jsx)("button",{type:"button",className:"bre-link-button bre-headers-add",disabled:z,onClick:I,children:n("headersAdd")}),!1,(0,N.jsx)("datalist",{id:r,children:jl.map(L=>(0,N.jsx)("option",{value:L},L))}),(0,N.jsx)("p",{className:"bre-effort-note bre-headers-legacy",hidden:!0,children:n("headersUserAgentHint")}),(0,N.jsxs)("div",{className:"bre-effort-actions",children:[(0,N.jsx)("button",{type:"button",className:"bre-primary-button",disabled:z,onClick:()=>{W(zl(s))},children:n("headersSave")}),(0,N.jsx)("button",{type:"button",className:"bre-secondary-button",disabled:z,onClick:D,children:n("headersCancel")})]})]}):(0,N.jsxs)("div",{className:"bre-headers-rows",children:[C.length===0?(0,N.jsx)("p",{className:"bre-effort-note",children:n("headersEmpty")}):C.map(([L,P])=>(0,N.jsxs)("div",{className:"bre-headers-row",children:[(0,N.jsx)("span",{className:"bre-headers-name",children:L}),(0,N.jsx)("span",{className:"bre-headers-value bre-headers-masked",children:"\u2022".repeat(Math.min(P.length,24))})]},L)),b?null:(0,N.jsx)("div",{className:"bre-effort-actions",children:(0,N.jsx)("button",{type:"button",className:"bre-secondary-button",disabled:z,onClick:()=>{p(!0),x(void 0)},children:n("headersEdit")})})]})]}),w===void 0?null:(0,N.jsx)("p",{className:"bre-effort-message bre-"+w.kind,role:w.kind==="error"?"alert":"status",children:w.text})]})}var Hr=require("react");var Gl={provider:"editorTabProvider",models:"editorTabModels",advanced:"editorTabAdvanced"};function Is({host:e,t}){return(0,Hr.createElement)("div",{className:Di,role:"tablist","aria-label":t("editorTabsLabel")},...Ii.map(n=>(0,Hr.createElement)("button",{key:n,type:"button",role:"tab",className:Pi,[Ci]:n,onClick:r=>{r.preventDefault(),r.stopPropagation();let o=hn(e.current);o!==null&&qi(o,n)}},t(Gl[n]))))}var Ds="settings.models.provider-card";function $l({provider:e,api:t,t:n}){let r=(0,De.useRef)(null);(0,De.useEffect)(()=>{let i=r.current,s=hn(i);if(i===null||s===null)return;let a=s,d=()=>s.querySelector('[class*="_editor"]')!==null,f=()=>{let p=d()?"1":"0";i.dataset.edit!==p&&(i.dataset.edit=p)};f();let m=new MutationObserver(f);return m.observe(a,{childList:!0,subtree:!0}),()=>{m.disconnect()}},[]);let o=e?.provider;return typeof o!="string"||o.length===0?null:(0,De.createElement)("div",{ref:r,className:"bre-headers-host","data-bre-provider":o},(0,De.createElement)(Is,{host:r,t:n}),(0,De.createElement)(_s,{route:o,api:t,t:n}))}function Ps(e,t,n){let r=e,o=r.slots?.inject(Ds,()=>{r.slots?.register({name:Ds,key:re,inject:()=>({api:t,t:n})},$l)});return typeof o=="function"?o:()=>{}}var ae=require("react");function Cs(e){let{t}=e,n=(0,ae.useSyncExternalStore)(_t,ue),r=()=>{Jr(!n)};return(0,ae.createElement)("div",{className:"bre-slider-setting"},(0,ae.createElement)("div",{className:"bre-slider-setting-row"},(0,ae.createElement)("div",{className:"bre-slider-setting-copy"},(0,ae.createElement)("div",{className:"bre-slider-setting-title"},t("sliderToggleTitle")),(0,ae.createElement)("div",{className:"bre-slider-setting-description"},t("sliderToggleDescription"))),(0,ae.createElement)("div",{className:"bre-slider-setting-control"},(0,ae.createElement)("span",{className:"bre-slider-setting-state"},t(n?"settingOn":"settingOff")),(0,ae.createElement)("button",{type:"button",role:"switch","aria-label":t("sliderToggleAria"),"aria-checked":n,className:"bre-slider-setting-switch"+(n?" is-on":""),onClick:r},(0,ae.createElement)("span",{className:"bre-slider-setting-switch-knob","aria-hidden":!0})))))}function Fs(e,t){let n=e,r=n.slots?.inject("settings.models.footer",()=>{n.slots?.register({name:"settings.models.footer",id:J+"-slider-toggle",order:15,inject:()=>({t})},Cs)});return typeof r=="function"?r:()=>{}}var Vl=J,Yl=["slots","locale","connection","remote","remote.settings"];function Jl(e){e.effect(()=>e.locale.register(Rn,{zh:Vr,en:$r}),"dsh-model-think-level: dictionaries");let t=document.createElement("style");t.dataset.plugin=J,t.dataset.pluginStyles=J,t.textContent=bo,document.head.appendChild(t),e.effect(()=>()=>t.remove(),"dsh-model-think-level: stylesheet");let n=(()=>{try{let l=e.get?.("configForms");try{let u=l?.get?.(re);if(u!==void 0)return u}catch{}return e.get?.("settingsScope")?.bind?.({namespace:re})}catch{return}})(),r=n===void 0?{settings:e.remote.settings}:{settings:e.remote.settings,scope:n},o=e.locale.bind(Rn),i=()=>{let l=e.locale;return typeof l.subscribe=="function"&&typeof l.getSnapshot=="function"?l:void 0},s=l=>{let c=i();return c===void 0?l():(0,Ks.createElement)(Gr,{locale:c,children:l})},a=Uo({api:r}),d=Ss({ctx:e,configuredEffort:a.of}),f=Ko({menuOf:Os,triggerOf:Hs,t:o,refreshed:s,sliderEnabled:ue,directory:d.ensure}),m=zo({api:r}),p=Ms({ctx:e,api:r,t:o,onIdle:m.run,refreshed:s}),g=()=>{d.ensure(),f.reconcile()};e.effect(()=>(p.start(g),()=>{p.teardown(),f.dispose(),d.dispose()}),"dsh-model-think-level: DOM injector"),e.effect(()=>{let l=()=>{p.flushOnUnload()};return window.addEventListener("pagehide",l),()=>{window.removeEventListener("pagehide",l)}},"dsh-model-think-level: ledger flush on unload"),e.effect(()=>{let l=()=>{p.state.describePromise=void 0,a.invalidate(),p.schedule()},c=[e.remote.$on("settings/document-updated",u=>{u===re&&l()}),e.on("connection/reset",l)];return()=>{for(let u of c)u()}},"dsh-model-think-level: pushed invalidations"),e.effect(()=>{let l=w=>{w.key===Nt?Xr(w.newValue!=="false"):w.key===It?no(Qe(w.newValue)):w.key===Pt?ao(oo(w.newValue)):w.key===Kt&&mo(Fn(w.newValue))};window.addEventListener("storage",l);let c=_t(()=>{p.schedule()}),u=Dt(()=>{p.schedule()}),b=Ft(()=>{p.schedule()}),k=qt(()=>{p.schedule()});return()=>{window.removeEventListener("storage",l),c(),u(),b(),k()}},"dsh-model-think-level: client preferences"),e.effect(()=>Fs(e,o),"dsh-model-think-level: footer slot activation"),e.effect(()=>Ps(e,r,o),"dsh-model-think-level: provider-card slot activation")}
|
|
2088
|
+
`;var ht=require("react"),jo=require("react-dom");var T=require("react"),tr=require("react-dom"),Do=require("react-dom");var So=["off","minimal","low","medium","high","xhigh","max"],Ea=["text","image"];var Ta=[{id:"deepseek-v4-vision",patterns:["deepseek-v4-flash-vision","deepseek-v4-vision"],efforts:{off:"none",low:"low",high:"high",max:"max"},defaultEffort:"high",compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:384e3,note:"DeepSeek \u89C6\u89C9\u5B9E\u9A8C\u7248 id\uFF08deepseek-v4-flash-vision-exp\uFF09\u3002\u5B98\u65B9\u76EE\u5F55\u5DF2\u6807\u6CE8\u8BE5\u6A21\u578B\u9000\u5F79\uFF0C\u540D\u5B57\u4ECD\u88AB\u63A5\u53D7\u3001\u7531\u73B0\u884C deepseek-flash \u63D0\u4F9B\u670D\u52A1\u2014\u2014\u56FE\u7247\u8F93\u5165\u73B0\u5DF2\u7531 deepseek-flash \u539F\u751F\u63D0\u4F9B\u3002"},{id:"deepseek-v4-1-flash",patterns:["deepseek-v4.1-flash","deepseek-flash"],efforts:{off:"none",low:"low",high:"high",max:"max"},defaultEffort:"high",compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:384e3,note:'DeepSeek-V4.1-Flash\uFF082026-09-10 \u53D1\u5E03\u7684\u73B0\u884C\u5B98\u65B9\u6A21\u578B\uFF0C\u5B98\u65B9 id \u4E3A deepseek-flash\uFF1B25 \u4E07\u5E76\u53D1\u3001**\u539F\u751F\u56FE\u7247\u8F93\u5165**\uFF09\u3002V4.1 \u7684\u5404\u5199\u6CD5\uFF08deepseek-flash\u3001deepseek-v4.1-flash\u3001deepseek-v4-1-flash\uFF0C\u4EE5\u53CA\u5E26\u65E5\u671F\u540E\u7F00\u7684\u7B2C\u4E09\u65B9\u53D8\u4F53\uFF09\u90FD\u5F52\u6B64\u6761\u2014\u2014\u7EAF\u6587\u672C\u7684 deepseek-v4 \u4E3B\u5E72\u4E0D\u518D\u541E\u6389\u5B83\u4EEC\u3002\u5B98\u65B9\u679A\u4E3E\u540C V4 \u7CFB\uFF1AOff\uFF08thinking:"disabled"\uFF09/ Low / High / Max\uFF0C\u9ED8\u8BA4 High\uFF1B\u5BB9\u91CF 1,048,576 \u4E0A\u4E0B\u6587 / \u6700\u5927\u8F93\u51FA 384K\u3002'},{id:"deepseek-v4",patterns:["deepseek-v4"],efforts:{off:"none",low:"low",high:"high",max:"max"},defaultEffort:"high",compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text"],contextWindow:1048576,maxTokens:384e3,note:'DeepSeek \u5B98\u65B9\u679A\u4E3E Low / High / Max\uFF08\u9ED8\u8BA4 High\uFF1Bminimal\u3001medium\u3001xhigh \u517C\u5BB9\u6620\u5C04\uFF0Cultra\u2192max\uFF09\uFF0COff \u5373 thinking:"disabled"\uFF08Responses API \u4E0B off \u4EE5 reasoning.effort:"none" \u8868\u793A\uFF09\u3002\u672C\u6761\u76EE\u662F V4 \u5BB6\u65CF\u7684**\u7EAF\u6587\u672C**\u6210\u5458\uFF1Adeepseek-v4-pro\uFF08= DeepSeek-V4-Pro-0813\uFF0C\u5B98\u65B9\u4E0D\u652F\u6301\u56FE\u7247\uFF09\u4E0E\u5DF2\u9000\u5F79\u6A21\u578B\u7684\u517C\u5BB9\u522B\u540D deepseek-v4-flash\uFF08deepseek-v4-flash-vision-exp \u53E6\u6709\u89C6\u89C9\u6761\u76EE\uFF09\u3002**\u6536\u56FE\u7684 V4.1-Flash\uFF08\u5B98\u65B9 id deepseek-flash\uFF09\u53E6\u6709\u4E13\u95E8\u6761\u76EE**\uFF0C\u5176 input \u542B image\u3002\u5BB9\u91CF\uFF1A1,048,576 \u4E0A\u4E0B\u6587 / \u6700\u5927\u8F93\u51FA 384K\uFF08393,216\uFF1B\u9ED8\u8BA4\u975E\u601D\u8003 8K\u3001\u601D\u8003 64K\u3001effort=max \u65F6 128K\uFF09\u3002'},{id:"deepseek-v3",patterns:["deepseek-v3","deepseek-chat"],efforts:{off:"none",high:"high",max:"max"},compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text"],contextWindow:163840,maxTokens:65536,note:"DeepSeek V3 \u6863\u4F4D\uFF1AOff / High / Max\u3002\u5B98\u65B9\u5DF2\u505C\u552E V3 \u4EE3\uFF08\u5B9A\u4EF7\u9875\u4EC5\u5269 V4 \u4E09\u578B\uFF09\uFF0C\u5BB9\u91CF\u53D6\u76EE\u5F55\u73B0\u5F79\u503C\u3002"},{id:"deepseek-r1",patterns:["deepseek-r1","deepseek-reasoner"],efforts:{high:"high"},defaultEffort:"high",compat:{thinkingFormat:"deepseek",supportsReasoningEffort:!0},input:["text"],contextWindow:163840,maxTokens:32768,note:"DeepSeek-R1 \u4E3A\u63A8\u7406\u6A21\u578B\uFF0C\u4EC5\u63D0\u4F9B High\u3002\u5B98\u65B9\u5DF2\u4E0B\u67B6 R1 \u4EE3\uFF0C\u5BB9\u91CF\u53D6\u76EE\u5F55 r1-0528 \u503C\u3002"},{id:"openai-gpt-5-2",patterns:["gpt-5.2"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"off",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.2 \u6863\u4F4D\uFF1ANone / Low / Medium / High / XHigh\uFF08\u9ED8\u8BA4 None\uFF09\u3002\u5B98\u65B9\u53E6\u652F\u6301 PDF \u8F93\u5165\uFF08\u6838\u5FC3\u8BCD\u8868\u6682\u4E0D\u542B\uFF09\u3002gpt-5.2-pro \u5B98\u65B9\u9875\u672A\u5355\u5217\u6863\u4F4D\u884C\uFF0C\u6309\u672C\u6761\u76EE\u540C\u6863\u5904\u7406\uFF1Bgpt-5.2-codex \u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"openai-gpt-5-2-codex",patterns:["gpt-5.2-codex"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.2-Codex \u6863\u4F4D\uFF1ALow / Medium / High / XHigh\uFF08\u65E0 None \u6863\uFF0C\u52FF\u52FE Off\uFF09\uFF0C\u5E26\u56FE\u8F93\u5165\u3001400K\u3002"},{id:"openai-gpt-5-6",patterns:["gpt-5.6"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:105e4,maxTokens:128e3,note:"GPT-5.6\uFF08\u522B\u540D\u5373 sol\uFF09\u6863\u4F4D\uFF1ANone / Low / Medium(\u9ED8\u8BA4) / High / XHigh / Max\uFF1Bsol/luna/terra \u540C\u6863\uFF0C\u5E26\u56FE\u8F93\u5165\u3002"},{id:"openai-gpt-5-5",patterns:["gpt-5.5"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:105e4,maxTokens:128e3,note:"GPT-5.5 \u6863\u4F4D\uFF1ANone / Low / Medium(\u9ED8\u8BA4) / High / XHigh\uFF0C\u5E26\u56FE\u8F93\u5165\u3002pro \u53D8\u4F53\u4EC5 Medium / High(\u9ED8\u8BA4) / XHigh \u4E14\u4EC5 Responses API\u3002"},{id:"openai-gpt-5-4",patterns:["gpt-5.4"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"off",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:105e4,maxTokens:128e3,note:"GPT-5.4 \u6863\u4F4D\uFF1ANone(\u9ED8\u8BA4) / Low / Medium / High / XHigh\uFF0C\u5E26\u56FE\u8F93\u5165\u3002pro \u53D8\u4F53\u4EC5 Medium/High/XHigh\uFF1Bmini/nano \u4E3A 400K \u4E0A\u4E0B\u6587\u3002"},{id:"openai-gpt-5-3",patterns:["gpt-5.3"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.3-Codex \u6863\u4F4D\uFF1ALow / Medium / High / XHigh\uFF08\u65E0 None \u6863\uFF09\uFF0C\u5E26\u56FE\u8F93\u5165\u3001400K\uFF1Bgpt-5.3-chat \u4E3A\u975E\u63A8\u7406\u804A\u5929\u6A21\u578B\uFF08\u89C1 chat \u6761\u76EE\uFF09\u3002"},{id:"openai-gpt-5-1",patterns:["gpt-5.1"],efforts:{off:"none",low:"low",medium:"medium",high:"high"},defaultEffort:"off",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.1 \u6863\u4F4D\uFF1ANone / Low / Medium / High\uFF08\u9ED8\u8BA4 None\uFF09\u3002"},{id:"openai-gpt-5-1-codex",patterns:["gpt-5.1-codex"],efforts:{low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.1-Codex \u7CFB\u5217\uFF1A\u5B98\u65B9\u6A21\u578B\u9875\u672A\u5355\u5217 effort \u503C\u57DF\uFF0C\u6309\u540C\u4EE3\u4FDD\u5B88\u6863 Low / Medium / High\uFF08\u65E0 None\uFF1Bxhigh \u672A\u8BC1\u5B9E\uFF09\u3002\u5982\u7AEF\u70B9\u652F\u6301 xhigh/none \u53EF\u624B\u8C03\u3002"},{id:"openai-gpt-5",patterns:["gpt-5"],efforts:{minimal:"minimal",low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5 \u521D\u4EE3\u6863\u4F4D\uFF1AMinimal / Low / Medium / High\uFF0C\u65E0\u5173\u95ED\u6863\u3002"},{id:"openai-chat",patterns:["gpt-5.1-chat-latest","gpt-5.2-chat-latest","gpt-5.3-chat-latest","gpt-5-chat-latest","gpt-chat-latest","gpt-5-chat","gpt-5.1-chat","gpt-5.2-chat","gpt-5.3-chat"],efforts:!1,input:["text","image"],contextWindow:128e3,maxTokens:16384,note:"-chat \u7CFB\u5217\uFF08\u5B98\u65B9 id \u4E3A gpt-5.x-chat-latest\uFF09\u4E3A\u975E\u63A8\u7406\u804A\u5929\u6A21\u578B\uFF0C\u4E0D\u652F\u6301 effort \u53C2\u6570\uFF08\u52FF\u52FE\u601D\u8003\u6863\uFF09\uFF1B\u5B98\u65B9\u652F\u6301\u56FE\u7247\u8F93\u5165\uFF0C128K / 16,384 \u8F93\u51FA\u3002gpt-5-chat-latest \u5DF2\u4E8E 2026-07-23 \u4E0B\u67B6\u3001gpt-chat-latest \u5DF2\u65E0\u5B98\u65B9\u9875\u9762\uFF08\u4FDD\u7559\u6A21\u5F0F\u4F9B\u7F51\u5173\uFF09\u3002"},{id:"openai-o",patterns:["o1","o3","o4"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:2e5,maxTokens:1e5,note:"OpenAI o \u7CFB\u6863\u4F4D\uFF1ALow / Medium / High\u3002\u5B98\u65B9\u5DF2\u4E8E 2026-06 \u516C\u544A\u9000\u5F79\uFF08o1/o1-pro/o3-mini/o4-mini 2026-10-23 \u79FB\u9664\u3001o3/o3-pro 2026-12-11\uFF09\uFF0C\u7F51\u5173\u6B8B\u7559\u4ECD\u53EF\u547D\u4E2D\uFF1B\u591A\u6570 o \u7CFB\u7AEF\u70B9\u6536\u56FE\uFF08o3-mini \u4F8B\u5916\uFF09\u3002"},{id:"openai-gpt-oss",patterns:["gpt-oss"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"low",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],contextWindow:131072,maxTokens:131072,note:"GPT-OSS \u5F00\u6E90\u6743\u91CD\uFF08Ollama/vLLM \u5E38\u89C1\uFF09\uFF1Areasoning effort Low / Medium / High\uFF0C\u7EAF\u6587\u672C\uFF0C131K \u4E0A\u4E0B\u6587 / 131K \u8F93\u51FA\u30022026-09 \u590D\u6838\uFF1A\u5B98\u65B9\u6A21\u578B\u9875\u73B0\u5728\u5199 Chat Completions = Not supported\u3001\u65E0\u56FE\u7247\u8F93\u5165\uFF08\u9ED8\u8BA4 Low \u6765\u81EA\u5B98\u65B9 CLI\uFF0C\u4E0D\u662F API \u9875\uFF09\uFF0C\u56E0\u6B64\u8FD9\u91CC\u4E0D\u518D\u58F0\u660E Off\u3002"},{id:"openai-gpt-6-astra",patterns:["gpt-6-astra","gpt-6"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:105e4,maxTokens:128e3,note:"GPT-6 Astra \u6863\u4F4D\uFF1ALow / Medium / High / XHigh / Max\u2014\u2014**\u6CA1\u6709 None \u6863**\uFF08\u5B98\u65B9\u539F\u6587\uFF1A\u8BBE\u4E3A none \u8FD4\u56DE HTTP 400\uFF09\uFF0C\u56E0\u6B64\u672C\u6761\u76EE\u4E0D\u58F0\u660E Off\u3002\u5E26\u56FE\u8F93\u5165\uFF0C1,050,000 \u4E0A\u4E0B\u6587 / 128,000 \u8F93\u51FA\uFF1BAI \u5B98\u65B9\u9ED8\u8BA4\u6863\u4F4D\u672A\u516C\u5E03\uFF0C\u6545\u4E0D\u586B\u3002\u5DE5\u5177\u8C03\u7528\u9700\u8D70 Responses API\u3002"},{id:"openai-gpt-5-6-cyber",patterns:["gpt-5.6-cyber"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:4e5,maxTokens:128e3,note:"GPT-5.6-Cyber\uFF1A\u5B98\u65B9\u6A21\u578B\u9875\u672A\u5355\u5217 effort \u503C\u57DF\uFF08\u4E0D\u7B49\u4E8E\u4E0D\u652F\u6301\uFF09\uFF0C\u6545\u6309\u540C\u4EE3\u4FDD\u5B88\u6863 Low / Medium / High / XHigh\uFF1B\u8BE5\u578B\u53F7\u4EC5 Responses API\uFF0C\u5E26\u56FE\u8F93\u5165\u3001400K \u4E0A\u4E0B\u6587\u3002\u5B98\u65B9\u652F\u6301\u7684\u5176\u4ED6\u6863\u4F4D\u53EF\u624B\u8C03\u540E\u5E94\u7528\u3002"},{id:"openai-gpt-4o",patterns:["gpt-4o"],efforts:!1,input:["text","image"],contextWindow:128e3,maxTokens:16384,note:"GPT-4o \u4EE3\u9645\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u4E0D\u652F\u6301 effort \u53C2\u6570\uFF08\u52FF\u52FE\u601D\u8003\u6863\uFF09\uFF1B\u56FE\u7247\u8F93\u5165\u5168\u7CFB\u6807\u914D\uFF0C128K / 16,384 \u8F93\u51FA\u3002"},{id:"openai-gpt-4-1",patterns:["gpt-4.1"],efforts:!1,input:["text","image"],contextWindow:1047576,maxTokens:32768,note:"GPT-4.1 \u5168\u7CFB\uFF08\u542B mini/nano\uFF09\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u4E0D\u652F\u6301 effort \u53C2\u6570\uFF1B\u5B98\u65B9 1,047,576 \u4E0A\u4E0B\u6587 / 32,768 \u8F93\u51FA\uFF0C\u5168\u7CFB\u5E26\u56FE\u8F93\u5165\u3002"},{id:"openai-gpt-4-turbo-preview",patterns:["gpt-4-turbo-preview"],efforts:!1,input:["text"],contextWindow:128e3,maxTokens:4096,note:"GPT-4 Turbo Preview\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u7EAF\u6587\u672C\u8F93\u5165\uFF08\u6B63\u5F0F turbo \u5FEB\u7167\u652F\u6301\u56FE\u7247\uFF0C\u89C1\u4E0B\u6761\uFF09\uFF0C128K\u3002"},{id:"openai-gpt-4-turbo",patterns:["gpt-4-turbo"],efforts:!1,input:["text","image"],contextWindow:128e3,maxTokens:4096,note:"GPT-4 Turbo\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u5B98\u65B9\u652F\u6301\u56FE\u7247\u8F93\u5165\uFF0C128K / 4,096 \u8F93\u51FA\u3002"},{id:"openai-gpt",patterns:["gpt-4","gpt-3.5"],efforts:!1,input:["text"],note:"GPT-4/3.5 \u4EE3\u9645\uFF1A\u975E\u63A8\u7406\u6A21\u578B\uFF0C\u4E0D\u652F\u6301 effort \u53C2\u6570\uFF08\u52FF\u52FE\u601D\u8003\u6863\uFF09\u3002gpt-4-turbo/4.1 \u8D77\u652F\u6301\u56FE\u7247\uFF0C\u89C1\u5355\u72EC\u6761\u76EE\uFF1B\u65B0\u4EE3\u8BF7\u7528 GPT-5 \u7CFB\uFF08\u89C1 openai-chat/gpt-5.x \u6761\u76EE\uFF09\u3002"},{id:"anthropic-claude-5",patterns:["claude-fable-5","claude-mythos-5","claude-opus-5","claude-sonnet-5"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude 5 \u4EE3\uFF08Fable 5 / Mythos 5 / Opus 5 / Sonnet 5\uFF09\u6863\u4F4D\uFF1ALow / Medium / High(\u9ED8\u8BA4) / XHigh / Max\uFF1BFable 5.1 \u4E0E Mythos 5.1 \u89C1\u5355\u72EC\u6761\u76EE\uFF0CMythos Preview \u4EC5\u81F3 Max\u30021M \u4E0A\u4E0B\u6587 / 128K \u8F93\u51FA\uFF08Batch 300K\uFF09\u3002\u5B98\u65B9\u652F\u6301 PDF \u8F93\u5165\u3002\u6CE8\u610F\uFF1AAnthropic \u5B98\u65B9 OpenAI \u517C\u5BB9\u5C42\u4F1A\u5FFD\u7565 effort \u53C2\u6570\uFF0C\u58F0\u660E\u5728\u7B2C\u4E09\u65B9\u7F51\u5173\u6620\u5C04\u65F6\u751F\u6548\u3002"},{id:"anthropic-claude-5-1",patterns:["claude-fable-5-1","claude-mythos-5-1"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude Fable 5.1 / Mythos 5.1\uFF1A\u5B98\u65B9\u6863\u4F4D Low / Medium / High(\u9ED8\u8BA4) / XHigh / Max\uFF0C\u81EA\u9002\u5E94\u601D\u8003\u5E38\u5F00\uFF08\u4E0D\u63A5\u53D7 enabled/disabled\uFF09\u30021M \u4E0A\u4E0B\u6587 / 128K \u8F93\u51FA\uFF1B\u8FD9\u4E24\u578B\u4E5F\u662F\u5B98\u65B9\u552F\u4E00\u5141\u8BB8\u4F1A\u8BDD\u4E2D\u9014\u6539\u6863\u7684\uFF08\u9700 beta header\uFF0C\u672C\u63D2\u4EF6\u4E0D\u6D89\u53CA\uFF09\u3002"},{id:"anthropic-claude-mythos-preview",patterns:["claude-mythos-preview"],efforts:{low:"low",medium:"medium",high:"high",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude Mythos Preview\uFF1A\u5B98\u65B9\u6863\u4F4D Low / Medium / High / Max\uFF08\u65E0 XHigh\uFF09\uFF0C1M \u4E0A\u4E0B\u6587\u3002"},{id:"anthropic-claude-opus-4-high",patterns:["claude-opus-4-8","claude-opus-4-7"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude Opus 4.7/4.8 \u6863\u4F4D\uFF1ALow / Medium / High(\u9ED8\u8BA4) / XHigh / Max\uFF1Bxhigh \u4E3A\u5B98\u65B9\u63A8\u8350\u7684\u7F16\u7801\u8D77\u6B65\u6863\u30021M \u4E0A\u4E0B\u6587\u3002"},{id:"anthropic-claude-4-6",patterns:["claude-opus-4-6","claude-sonnet-4-6"],efforts:{low:"low",medium:"medium",high:"high",max:"max"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},anthropicAdaptive:!0,input:["text","image"],contextWindow:1e6,maxTokens:128e3,note:"Claude 4.6 \u4EE3\u6863\u4F4D\uFF1ALow / Medium / High / Max\uFF08\u65E0 XHigh\u2014\u2014\u5B98\u65B9\u660E\u8A00\u300C\u652F\u6301 max \u7684\u90E8\u5206\u578B\u53F7\u4E0D\u652F\u6301 xhigh\u300D\uFF09\u30021M \u4E0A\u4E0B\u6587\u3002"},{id:"anthropic-claude-opus-4-5",patterns:["claude-opus-4-5"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"high",compat:{supportsReasoningEffort:!0},input:["text","image"],contextWindow:2e5,maxTokens:64e3,note:"Claude Opus 4.5\uFF1A\u5B98\u65B9 effort \u652F\u6301\u5217\u8868\uFF0820251101 \u5FEB\u7167\uFF09\uFF0C\u6863\u4F4D Low / Medium / High\uFF08\u65E0 XHigh/Max\uFF09\uFF0C\u53EF\u4E0E budget_tokens \u5E76\u7528\uFF1B200K / 64K\u3002"},{id:"anthropic-claude",patterns:["claude"],efforts:!1,input:["text","image"],contextWindow:2e5,maxTokens:64e3,note:"Claude 3.x \u4E0E Sonnet 4.5 / Haiku 4.5\uFF1A\u5B98\u65B9 effort \u53C2\u6570\u4E0D\u652F\u6301\uFF08\u4EC5 Fable/Mythos 5\u3001Opus 5/4.6-4.8\u3001Sonnet 5/4.6\u3001Opus 4.5 \u652F\u6301\uFF09\uFF0C\u601D\u8003\u7531 thinking.type \u63A7\u5236\u2014\u2014\u52FF\u52FE\u601D\u8003\u6863\u3002\u53C2\u8003\u5BB9\u91CF 200K / 64K\uFF08Haiku 3.5 \u4E3A\u7EAF\u6587\u672C\uFF0C\u6309\u9700\u53D6\u6D88\u56FE\u7247\uFF09\u3002"},{id:"google-gemini",patterns:["gemini"],efforts:{low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:65536,note:"Gemini \u901A\u7528\u5B89\u5168\u6863\uFF1ALow / Medium / High\uFF08\u5B98\u65B9 OpenAI \u517C\u5BB9\u6620\u5C04\u8868\u53E6\u6536 minimal\uFF1A2.5 \u7CFB\u6620\u5C04\u4E3A 1,024 \u9884\u7B97\u30013.1 Flash-Lite/3 Flash \u539F\u751F minimal\u30013.1 Pro \u843D low\uFF09\u3002none \u4EC5\u80FD\u5173 2.5 \u975E Pro\uFF1B2.5 Pro \u4E0E 3 \u4EE3\u4E0D\u53EF\u5173\uFF1B\u5404\u578B\u9ED8\u8BA4\u4E0D\u4E00\uFF08flash-lite \u9ED8\u8BA4\u5173\uFF09\u3002\u5B98\u65B9\u53E6\u6536\u97F3\u9891/\u89C6\u9891/PDF\u3002"},{id:"xai-grok-4-7",patterns:["grok-4.7"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:5e5,note:'Grok 4.7\uFF08\u4E0A\u6E38\u5FEB\u7167 grok-4.7-20260916\uFF09\uFF1A\u6863\u4F4D Low / Medium / High / XHigh\u2014\u2014**\u53D6\u81EA\u516C\u5F00\u76EE\u5F55**\uFF08OpenRouter \u7684 supported_parameters\u3001models.dev \u5BF9 docs.x.ai \u7684\u8F6C\u8FF0\uFF09\uFF0C\u672C\u6B21 xAI \u5B98\u65B9\u6587\u6863\u7AD9\u4E0D\u53EF\u8FBE\u3001\u672A\u80FD\u4E00\u624B\u8BC1\u5B9E\uFF1B\u9ED8\u8BA4\u6863\u4F4D\u4E0E"\u80FD\u5426\u5173\u95ED\u601D\u8003"\u540C\u6837\u672A\u8BC1\u5B9E\uFF0C\u6545\u4E0D\u58F0\u660E Off\uFF0C\u4E5F\u4E0D\u5199\u9ED8\u8BA4\u6863\u3002\u5E26\u56FE\u8F93\u5165\uFF08\u76EE\u5F55\u8BB0 text+image+file\uFF0CPDF \u5B58\u7591\uFF09\uFF0C500K \u4E0A\u4E0B\u6587\uFF1B\u6700\u5927\u8F93\u51FA\u5404\u76EE\u5F55\u7ED9\u51FA 450K \u4E0E 500K \u4E24\u79CD\u503C\uFF0C\u6309"\u5206\u6B67\u5373\u4E0D\u5199"\u5904\u7406\u30022026-08 \u90A3\u6B21"grok-4.7 \u4E0D\u5B58\u5728\uFF08\u5B98\u65B9 404\uFF09"\u7684\u7ED3\u8BBA\u5DF2\u968F\u53D1\u5E03\u4F5C\u5E9F\u3002'},{id:"xai-grok-high",patterns:["grok-4.6"],efforts:{low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"high",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:5e5,note:'Grok 4.6 \u6863\u4F4D\uFF1ALow / Medium / High(\u9ED8\u8BA4) / XHigh\uFF0C\u601D\u8003\u4E0D\u53EF\u5173\u95ED\uFF1B\u5E26\u56FE\u8F93\u5165\u3001500K \u4E0A\u4E0B\u6587\u3002Grok 4.7 \u89C1\u4E0A\u4E00\u6761\uFF08\u6B64\u524D\u8BB0\u4E3A"\u4E0D\u5B58\u5728"\uFF0C\u5DF2\u968F\u53D1\u5E03\u4F5C\u5E9F\uFF09\u3002'},{id:"xai-grok-4-5",patterns:["grok-4.5"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"high",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:5e5,note:"Grok 4.5 \u6863\u4F4D\uFF1ALow / Medium / High(\u9ED8\u8BA4)\uFF0C\u601D\u8003\u4E0D\u53EF\u5173\u95ED\uFF1B\u5E26\u56FE\u8F93\u5165\u3002\u4F20\u5165 xhigh \u4F1A\u88AB\u5B98\u65B9\u9759\u9ED8\u6309 High \u5904\u7406\u3002"},{id:"xai-grok-4-3",patterns:["grok-4.3"],efforts:{off:"none",low:"low",medium:"medium",high:"high",xhigh:"xhigh"},defaultEffort:"low",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1e6,note:"Grok 4.3\uFF1A\u5B98\u65B9\u56DB\u7EA7 reasoning effort\uFF08None / Low / Medium / High\uFF09\uFF0C1M \u4E0A\u4E0B\u6587\u3001\u5E26\u56FE\u8F93\u5165\uFF1Bgrok-4-fast \u7B49\u65E7 slug 2026-05-15 \u8D77\u81EA\u52A8\u91CD\u5B9A\u5411\u5230\u672C\u578B\u53F7\u3002"},{id:"xai-grok",patterns:["grok"],efforts:{low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],note:"Grok \u901A\u7528\u6863\u4F4D\uFF1ALow / Medium / High\u3002\u521D\u4EE3 grok-4\u3001grok-4.20 \u4E0E grok-build-0.1 \u4E0D\u63A5\u53D7\u8BE5\u53C2\u6570\uFF08grok-4 \u7CFB\u4E0E grok-3 \u5DF2\u4E8E 2026-05-15 \u9000\u5F79\u5E76\u91CD\u5B9A\u5411\u81F3 4.3\uFF09\uFF1Bgrok-4.20-multi-agent \u7684\u56DB\u6863\u63A7\u5236\u7684\u662F agent \u6570\u91CF\u800C\u975E\u601D\u8003\u6DF1\u5EA6\u3002\u65B0\u65E7\u4EE3\u9645\u8BF7\u4F18\u5148\u9009 4.5/4.6/4.3\uFF1B\u591A\u6A21\u6001\u53D8\u4F53\u6309\u9700\u52FE\u9009\u56FE\u7247\u3002"},{id:"mistral-magistral",patterns:["magistral"],efforts:!1,input:["text"],contextWindow:32768,maxTokens:32768,note:"Magistral \u539F\u751F\u601D\u8003\u7EBF\uFF08\u65E0 effort \u53C2\u6570\uFF0C\u4E3A prompt_mode \u8BED\u4E49\uFF09\uFF0C\u5B98\u65B9\u5DF2\u4E8E 2026-07-28 \u58F0\u660E\u5F03\u7528\u3001\u9010\u6B65\u64A4\u51FA\uFF1B\u73B0\u5F79\u63A8\u7406\u8D70 mistral-small-2603 / mistral-medium-3-5 \u7684 reasoning_effort\uFF08\u89C1\u4E0B\u6761\uFF09\u3002"},{id:"mistral-medium-3",patterns:["mistral-medium-3.5","mistral-small-latest","mistral-small-2603"],efforts:{off:"none",high:"high"},defaultEffort:"off",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],note:"Mistral \u73B0\u5F79\u63A8\u7406\u6863\uFF1ANone / High\u2014\u2014\u5B98\u65B9 reasoning_effort \u679A\u4E3E\uFF08mistral-common \u534F\u8BAE\u5E93\uFF09\u5373 none/high\uFF1Bmistral-small-2603\uFF08Small 4\uFF09\u4E0E mistral-medium-3-5 \u7ECF\u5B83\u63A7\u5236\uFF0CMedium 3.5 \u5E26\u89C6\u89C9\u3002\u5BB9\u91CF\u672A\u5728\u5B98\u65B9\u76EE\u5F55\u9875\u5355\u5217\uFF0C\u4E0D\u63D0\u4F9B\u3002"},{id:"qwen-vision",patterns:["qwen-vl","qwen2-vl","qwen2-5-vl","qwen3-vl","qvq"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"qwen"},input:["text","image"],contextWindow:131072,maxTokens:8192,note:"\u901A\u4E49\u89C6\u89C9\u7EBF\uFF08Qwen-VL/QvQ\uFF09\uFF1Aenable_thinking \u5F00\u5173\uFF08\u5F00=High\uFF09\uFF0C\u6536\u56FE\u3002qwen3-vl \u5BB9\u91CF\u66F4\u5927\uFF0C\u6309\u9700\u4E0A\u8C03\u3002"},{id:"qwen-3-8",patterns:["qwen3.8"],efforts:{off:null,low:"low",medium:"medium",xhigh:"xhigh"},defaultEffort:"xhigh",compat:{thinkingFormat:"qwen",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1e6,note:"Qwen 3.8 \u7CFB\uFF1A\u5B98\u65B9 reasoning_effort \u6863\u4F4D XHigh(\u9ED8\u8BA4) / Medium / Low\uFF0Cthinking \u9ED8\u8BA4\u5F00\u3001\u53EF\u6309\u8BF7\u6C42\u5173\u95ED\uFF1B\u539F\u751F\u591A\u6A21\u6001\uFF08qwen3.8-max \u56FE\u50CF/\u89C6\u9891\u7406\u89E3\uFF0C\u89C6\u9891\u672A\u5165\u6838\u5FC3\u8BCD\u8868\uFF09\u30021M \u6863\u4E0A\u4E0B\u6587\u300227B \u4E0E Flash-Next \u5F00\u6E90\u6B3E\u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"qwen-3-8-27b",patterns:["qwen3.8-27b"],efforts:{off:null,low:"low",medium:"medium",xhigh:"xhigh"},defaultEffort:"xhigh",compat:{thinkingFormat:"qwen",supportsReasoningEffort:!0},input:["text","image"],contextWindow:262144,note:"Qwen3.8-27B\uFF08dense\uFF0C2026-08-14 \u5F00\u6E90\uFF09\uFF1A\u5B98\u65B9 reasoning_effort \u6863\u4F4D XHigh(\u9ED8\u8BA4) / Medium / Low\uFF0Cthinking \u9ED8\u8BA4\u5F00\u3001\u53EF\u6309\u8BF7\u6C42\u5173\uFF1B\u539F\u751F\u56FE\u50CF+\u89C6\u9891\u7406\u89E3\uFF08\u89C6\u9891\u672A\u5165\u6838\u5FC3\u8BCD\u8868\uFF09\u3002262,144 \u539F\u751F\u4E0A\u4E0B\u6587\u3001\u5B98\u65B9\u58F0\u660E\u53EF\u6269\u81F3 1M\u3002\u6765\u6E90\uFF1AHF Qwen/Qwen3.8-27B \u6A21\u578B\u5361\u3002"},{id:"qwen-3-8-flash-next",patterns:["qwen3.8-flash-next"],efforts:{off:null,low:"low",medium:"medium",xhigh:"xhigh"},defaultEffort:"xhigh",compat:{thinkingFormat:"qwen",supportsReasoningEffort:!0},input:["text","image"],contextWindow:262144,note:"Qwen3.8-Flash-Next\uFF08125B-A6B \u5B9E\u9A8C\u67B6\u6784\uFF0CQwen4 \u524D\u8EAB\uFF09\uFF1A\u5B98\u65B9 reasoning_effort \u6863\u4F4D XHigh(\u9ED8\u8BA4) / Medium / Low + enable_thinking \u5F00\u5173\uFF1B\u539F\u751F\u89C6\u89C9\uFF08Vision Encoder\uFF09\u3002262,144 \u539F\u751F\u4E0A\u4E0B\u6587\u3001\u53EF\u6269\u81F3 1M\u3002\u6765\u6E90\uFF1AHF \u6A21\u578B\u5361\u4E0E qwen.ai \u5B98\u65B9\u535A\u5BA2\u3002"},{id:"qwen",patterns:["qwen","qwq"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"qwen"},input:["text"],contextWindow:1e6,maxTokens:65536,note:"\u901A\u4E49\u5343\u95EE\uFF1Aenable_thinking \u5F00\u5173\uFF08\u65E0 effort \u6863\uFF09\uFF0C\u5F00=High\uFF1B\u73B0\u5F79\u65D7\u8230\u4E3A qwen3.8 \u7CFB\uFF081M \u6863\u4E0A\u4E0B\u6587\uFF0C\u89C1 qwen-3-8 \u6761\u76EE\uFF09\u30023.6/3.7 \u4EE3\u7684 Plus/Flash \u4EA6\u9ED8\u8BA4\u591A\u6A21\u6001\uFF08\u56FE\u7247/\u89C6\u9891\uFF09\uFF0C\u5982\u63A5\u5165\u8BF7\u6309\u9700\u52FE\u9009\u56FE\u7247\uFF1B\u89C6\u89C9\u7EBF\u89C1 qwen-vision \u6761\u76EE\u3002"},{id:"glm-vision",patterns:["glm-4v","glm-4-6v","glm-4-5v","glm-5v"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"zai"},input:["text","image"],contextWindow:131072,maxTokens:32768,note:"\u667A\u8C31\u89C6\u89C9\u7EBF\uFF08GLM-4V/4.5V/4.6V/5V\uFF09\uFF1Athinking \u5F00\u5173\uFF08\u5F00=High\uFF09\uFF0C\u6536\u56FE\u3002GLM-4.5V \u4E3A\u5F3A\u5236\u601D\u8003\uFF08\u4F20 disabled \u62A5\u9519\uFF0C\u8BF7\u624B\u52A8\u5220 Off \u6863\uFF09\u3002"},{id:"glm-5-3-flash",patterns:["glm-5.3-flash"],efforts:{low:"low",high:"high",max:"max"},defaultEffort:"max",compat:{thinkingFormat:"zai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:131072,note:"GLM-5.3-Flash\uFF08320B\uFF0C\u5B98\u65B9\u6587\u6863 vlm \u5206\u7C7B\uFF09\uFF1A\u5F3A\u5236\u601D\u8003\uFF08thinking.type \u4EC5 enabled\uFF0C\u4E0D\u652F\u6301\u5173\u95ED\uFF09\uFF0C\u6587\u672C\u53C2\u6570\u4E0E GLM-5.3 \u4E00\u81F4\u2014\u2014\u6863\u4F4D Low / High / Max\u3002\u8F93\u5165\u6A21\u6001\uFF1A\u89C6\u9891\u3001\u56FE\u50CF\u3001\u6587\u672C\u3001\u6587\u4EF6\uFF08\u89C6\u9891/\u6587\u4EF6\u672A\u5165\u6838\u5FC3\u8BCD\u8868\uFF0C\u56FE\u7247\u53EF\u52FE\uFF09\u3002\u5B98\u65B9 1M \u4E0A\u4E0B\u6587 / 128K \u6700\u5927\u8F93\u51FA\u3002\u6765\u6E90\uFF1Adocs.bigmodel.cn \u6A21\u578B\u9875\u3002"},{id:"glm-5-3",patterns:["glm-5.3"],efforts:{low:"low",high:"high",max:"max"},defaultEffort:"max",compat:{thinkingFormat:"zai",supportsReasoningEffort:!0},input:["text"],contextWindow:1048576,maxTokens:131072,note:"GLM-5.3 \u6863\u4F4D\uFF1ALow / High / Max\uFF08\u5F3A\u5236\u601D\u8003\uFF0C\u5176\u4F59\u503C\u62A5\u9519\uFF09\u3002\u5B98\u65B9\u5BB9\u91CF 1M / 128K\u3002"},{id:"glm-5-2",patterns:["glm-5.2"],efforts:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},defaultEffort:"max",compat:{thinkingFormat:"zai",supportsReasoningEffort:!0},input:["text"],contextWindow:1048576,maxTokens:131072,note:"GLM-5.2 \u6863\u4F4D\uFF1ANone / Minimal / Low / Medium / High / XHigh / Max\uFF08\u5B98\u65B9\u6620\u5C04\uFF1ALow\xB7Medium\u2192High\u3001XHigh\u2192Max\u3001None\xB7Minimal=\u505C\u6B62\u601D\u8003\uFF09\u3002\u89C6\u89C9\u7EBF\u89C1 glm-vision \u6761\u76EE\u3002"},{id:"glm",patterns:["glm","zhipu","chatglm"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"zai"},input:["text"],note:"GLM \u901A\u7528\uFF1Athinking \u5F00\u5173\uFF08\u65E0 effort \u6863\uFF09\uFF0C\u5F00=High\uFF1Beffort \u9636\u68AF\u4EC5 GLM-5.2+ \u652F\u6301\uFF08\u89C1\u4E0A\u4E24\u6761\u76EE\uFF09\u3002\u6CE8\u610F GLM-4.7/GLM-4.5V \u4E3A\u5F3A\u5236\u601D\u8003\uFF0C\u4F20 disabled \u4F1A\u62A5\u9519\uFF08\u8BF7\u624B\u52A8\u5220 Off \u6863\uFF09\u3002\u89C6\u89C9\u7EBF\u89C1 glm-vision \u6761\u76EE\u3002"},{id:"kimi-k3",patterns:["kimi-k3"],efforts:{low:"low",high:"high",max:"max"},defaultEffort:"max",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,note:"Kimi K3 \u6863\u4F4D\uFF1ALow / High / Max(\u9ED8\u8BA4 Max)\uFF0C\u8D70\u9876\u5C42 reasoning_effort\uFF1B\u59CB\u7EC8\u63A8\u7406\u3001\u52FF\u4F20 thinking \u5BF9\u8C61\u3002\u539F\u751F\u89C6\u89C9\u7406\u89E3\uFF0C1M \u4E0A\u4E0B\u6587\uFF08\u6700\u5927\u8F93\u51FA\u5B98\u65B9\u672A\u5355\u72EC\u5217\uFF0C\u4E0D\u63D0\u4F9B\uFF09\u3002"},{id:"kimi-k2-vision",patterns:["kimi-k2.6","kimi-k2.5"],efforts:{off:null,high:"high"},defaultEffort:"high",compat:{thinkingFormat:"deepseek"},input:["text","image"],contextWindow:262144,note:"Kimi K2.5/K2.6 \u89C6\u89C9\u4EE3\uFF1Athinking.type \u5F00\u5173\uFF08\u9ED8\u8BA4\u5F00\u3001\u53EF\u5173\uFF09\uFF0C\u5F00=High\uFF1B\u5E26\u89C6\u89C9\uFF0C256K\u3002K2.7 Code \u59CB\u7EC8\u601D\u8003\uFF0C\u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"kimi-k27-code",patterns:["kimi-k2.7"],efforts:{high:"high"},defaultEffort:"high",compat:{thinkingFormat:"deepseek"},input:["text","image"],contextWindow:262144,note:"Kimi K2.7 Code\uFF08\u542B\u9AD8\u901F\u7248\uFF09\uFF1A\u59CB\u7EC8\u601D\u8003\u2014\u2014thinking.type \u4EC5\u63A5\u53D7 enabled\uFF08\u4F20 disabled \u62A5\u9519\uFF09\uFF0C\u65E0 Off \u6863\uFF1B\u5E26\u89C6\u89C9\uFF0C256K\u3002"},{id:"kimi-moonshot-v1-vision",patterns:["moonshot-v1-8k-vision","moonshot-v1-32k-vision","moonshot-v1-128k-vision"],efforts:!1,input:["text","image"],note:"Moonshot V1 \u89C6\u89C9\u65E7\u4EE3\uFF088k/32k/128k \u5404\u4E00\uFF09\uFF1A\u65E0\u601D\u8003\u63A7\u4EF6\uFF08\u751F\u6210\u6A21\u578B\uFF09\u3001\u652F\u6301\u56FE\u7247\u8F93\u5165\uFF1B\u8BE5\u7EBF\u5DF2\u505C\u6B62\u5BF9\u65B0\u7528\u6237\u5F00\u653E\uFF082026-08-31 \u5168\u91CF\u4E0B\u7EBF\uFF0C\u7F51\u5173\u6B8B\u7559\u4ECD\u53EF\u547D\u4E2D\uFF09\u3002"},{id:"kimi",patterns:["kimi","moonshot"],efforts:{off:null,high:"high"},compat:{thinkingFormat:"deepseek"},input:["text"],contextWindow:262144,note:"Kimi \u901A\u7528\uFF1Athinking \u5F00\u5173\uFF08\u65E0 effort \u6863\uFF09\uFF0C\u5F00=High\u3002k2 \u7CFB\u5217 2026-05-25 \u4E0B\u7EBF\u3001kimi-latest 2026-01-28 \u4E0B\u7EBF\u3001moonshot-v1 \u7CFB 2026-08-31 \u5168\u91CF\u4E0B\u7EBF\uFF08\u7F51\u5173\u6B8B\u7559\u4ECD\u53EF\u547D\u4E2D\uFF1Bmoonshot-v1 \u672C\u8EAB\u975E\u601D\u8003\u6A21\u578B\uFF09\u3002\u89C6\u89C9\u4EE3\u4E0E K2.7 Code \u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"hunyuan-hy3",patterns:["hy3"],efforts:{low:"low",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],contextWindow:262144,note:"\u6DF7\u5143 hy3\uFF1A\u5F00\u6E90\u5951\u7EA6\u7ECF chat_template_kwargs.reasoning_effort = no_think(\u9ED8\u8BA4)/low/high\uFF1B\u5B98\u65B9\u6A21\u578B\u5361 256K \u4E0A\u4E0B\u6587\uFF08295B MoE\uFF0C2026 \u5F00\u6E90\uFF09\u3002"},{id:"hunyuan-hy4",patterns:["hy4-preview","hy-4-preview"],efforts:{off:"no_think",high:"high"},defaultEffort:"high",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},contextWindow:1e6,note:"\u6DF7\u5143 Hy4 preview\uFF1A\u5B98\u65B9 README\u2014\u2014reasoning \u9ED8\u8BA4 high\uFF08\u6DF1\u5EA6\u601D\u8003\uFF09\uFF0C\u5173\u95ED\u7ECF chat_template_kwargs.reasoning_effort=no_think\uFF1B\u5B98\u65B9\u89C4\u683C\u8868 1M \u4E0A\u4E0B\u6587\uFF08770B-A49B MoE\uFF0CGated DSA\uFF09\u3002low \u6863\u5B98\u65B9\u672A\u5217\uFF0C\u5982\u6709\u8BF7\u624B\u8C03\uFF1B\u89C6\u89C9\u672A\u58F0\u660E\uFF0C\u6309\u9700\u624B\u52FE\u3002\u6765\u6E90\uFF1ATencent-Hunyuan/Hy4-preview \u5B98\u65B9 README\u3002"},{id:"step-5-preview",patterns:["step-5"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1e6,maxTokens:65536,note:'\u9636\u8DC3 Step-5-Preview\uFF08\u5B98\u65B9 id \u5373 step-5-preview\uFF0C\u65E0\u88F8 step-5\uFF1Bpattern \u53D6\u5BB6\u65CF\u4E3B\u5E72\u4EE5\u517C\u5BB9\u7F51\u5173\u5199\u6CD5\uFF09\uFF1A\u6863\u4F4D Low / Medium(\u5B98\u65B9\u6807"\u9ED8\u8BA4\u63A8\u8350") / High\uFF0C\u601D\u8003\u4E0D\u53EF\u5173\u95ED\uFF1B\u539F\u751F\u56FE\u7247 + \u89C6\u9891\u8F93\u5165\uFF1B1M \u4E0A\u4E0B\u6587\u300164K \u6700\u5927\u8F93\u51FA\uFF08\u5B98\u65B9\u53E6\u6CE8 max_tokens \u9ED8\u8BA4 INF\u3001\u4E0E 64K \u4E0A\u9650\u5E76\u5B58\uFF0C\u4EE5\u7AEF\u70B9\u5B9E\u6D4B\u4E3A\u51C6\uFF09\u3002'},{id:"step-3-7",patterns:["step-3.7","step-3.6"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:262144,note:"\u9636\u8DC3 Step-3.6/3.7 \u6863\u4F4D\uFF1ALow / Medium(\u9ED8\u8BA4\u63A8\u8350) / High\uFF0C\u539F\u751F\u56FE\u7247+\u89C6\u9891\u7406\u89E3\u3002\u4E0A\u4E0B\u6587\u4E3A\u8F93\u5165+\u8F93\u51FA\u603B\u548C\u4E0A\u9650\u3002"},{id:"step-3-5",patterns:["step-3.5"],efforts:{low:"low",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],contextWindow:262144,note:"\u9636\u8DC3 Step-3.5 Flash \u6863\u4F4D\uFF1ALow / High\uFF08\u7EAF\u6587\u672C\u63A8\u7406\u65D7\u8230\uFF09\u3002\u4E0A\u4E0B\u6587\u4E3A\u8F93\u5165+\u8F93\u51FA\u603B\u548C\u4E0A\u9650\u3002"},{id:"step",patterns:["step-3","step-2"],efforts:{low:"low",medium:"medium",high:"high"},defaultEffort:"medium",compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],note:"\u9636\u8DC3 Step \u6863\u4F4D\uFF1ALow / Medium / High\uFF08\u9ED8\u8BA4 Medium\uFF0C\u4E0D\u53EF\u5173\u95ED\uFF09\u30023.6/3.7 \u89C6\u89C9\u4EE3\u89C1\u5355\u72EC\u6761\u76EE\u3002"},{id:"doubao",patterns:["doubao","seed"],efforts:{off:null,low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],note:"\u8C46\u5305\u6863\u4F4D\uFF1AOff / Low / Medium / High\u2014\u2014effort \u9636\u68AF\u4ECD\u662F\u793E\u533A\u8BC1\u636E\u3001\u5B98\u65B9 Ark \u6587\u6863\u660E\u5217\u7684\u4E3A thinking.type \u5F00\u5173\uFF082026-08-24 \u590D\u6838\u4ECD\u672A\u89C1\u5230 effort \u5B98\u65B9\u660E\u6587\uFF09\u3002seed \u4EE3\u6536\u56FE\uFF081.5-pro \u4F8B\u5916\uFF09\u3002"},{id:"minimax-m3",patterns:["minimax-m3"],efforts:{off:null,high:"high"},compat:{thinkingFormat:"deepseek"},input:["text","image"],contextWindow:1048576,note:"MiniMax-M3\uFF1A\u5B98\u65B9 thinking \u53C2\u6570 enabled/adaptive/disabled\uFF08\u65E0 effort \u6863\uFF09\uFF0C\u5F00=High\u3001\u5173=disabled\uFF1B\u539F\u751F\u591A\u6A21\u6001\uFF08\u56FE/\u89C6\u9891\uFF0C\u6838\u5FC3\u8BCD\u8868\u4EC5\u542B\u56FE\uFF09\uFF0C1M \u4E0A\u4E0B\u6587\u3002"},{id:"mimo-v2-6",patterns:["mimo-v2.6","mimo-v2.5"],efforts:{off:"none",low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text","image"],contextWindow:1048576,maxTokens:131072,note:"\u5C0F\u7C73 MiMo v2.6 \u7CFB\u5217\uFF08mimo-v2.6-pro / -flash / -pro-ultraspeed\uFF1B1M \u4E0A\u4E0B\u6587 / 128K \u6700\u5927\u8F93\u51FA\u3001\u539F\u751F\u5168\u6A21\u6001\uFF09\u4E0E\u5176\u524D\u4EE3 mimo-v2.5\u3002\u5B98\u65B9\u6587\u6863\uFF1Athinking.type\uFF08enabled/disabled\uFF0C\u9ED8\u8BA4 enabled\uFF09+ reasoning.effort\uFF08none \u5173\u95ED\uFF1B\u5176\u4F59\u5408\u6CD5\u503C\u5747\u5F00\u542F\uFF0C\u4E14**\u73B0\u9636\u6BB5\u6682\u672A\u533A\u5206\u63A8\u7406\u5F3A\u5EA6**\u2014\u2014minimal \u5F52\u4E00\u4E3A low\u3001xhigh/max/ultra \u5F52\u4E00\u4E3A high\uFF09\uFF0C\u56E0\u6B64\u8FD9\u91CC\u58F0\u660E\u7684\u662F\u7AEF\u70B9**\u63A5\u53D7**\u7684\u6863\u4F4D Off / Low / Medium / High\uFF08xhigh\u3001max \u4E0D\u58F0\u660E\uFF0C\u7AEF\u70B9\u53EA\u4F1A\u6298\u53E0\u4E3A high\uFF09\u3002\u601D\u8003\u6A21\u5F0F\u4E0B temperature / top_p \u4E0D\u53EF\u81EA\u5B9A\u4E49\uFF08\u5F3A\u5236 1.0 / 0.95\uFF09\uFF1B\u5E26\u5DE5\u5177\u8C03\u7528\u7684\u5386\u53F2\u8F6E\u5FC5\u987B\u5B8C\u6574\u56DE\u4F20 reasoning_content\uFF0C\u5426\u5219 400\u3002mimo-v2.5 \u4E0E v2.5-pro \u5B98\u65B9\u5B9A\u4E8E 2026-10-21 \u4E0B\u7EBF\u3002"},{id:"mimo-v2-5-pro",patterns:["mimo-v2.5-pro"],efforts:{off:"none",low:"low",medium:"medium",high:"high"},compat:{thinkingFormat:"openai",supportsReasoningEffort:!0},input:["text"],contextWindow:1048576,maxTokens:131072,note:"\u5C0F\u7C73 MiMo v2.5-Pro\uFF1A\u8BE5\u5BB6\u65CF\u552F\u4E00\u7684**\u7EAF\u6587\u672C**\u6210\u5458\uFF08\u5B98\u65B9\u80FD\u529B\u8868\u672A\u5217\u5168\u6A21\u6001\u7406\u89E3\uFF09\uFF0C1M \u4E0A\u4E0B\u6587 / 128K \u6700\u5927\u8F93\u51FA\uFF0C\u63A8\u7406\u5951\u7EA6\u4E0E v2.6 \u7CFB\u5217\u76F8\u540C\uFF08thinking.type + reasoning.effort\uFF0Cnone \u5173\u95ED\u3001\u5176\u4F59\u6863\u4F4D\u6682\u4E0D\u533A\u5206\u5F3A\u5EA6\uFF09\u3002\u5B98\u65B9\u5B9A\u4E8E 2026-10-21 \u4E0B\u7EBF\u3002"},{id:"baidu-ernie",patterns:["ernie"],efforts:!1,input:["text"],contextWindow:131072,note:"\u767E\u5EA6\u5343\u5E06 ERNIE \u7CFB\uFF1A\u5B98\u65B9 OpenAI \u517C\u5BB9\u63A5\u53E3\u65E0 reasoning_effort \u53C2\u6570\u2014\u2014\u601D\u8003\u7531\u6A21\u578B\u53D8\u4F53\u51B3\u5B9A\uFF08-Thinking \u7CFB\u5217\u59CB\u7EC8\u601D\u8003\u3001\u666E\u901A\u7CFB\u5217\u4E0D\u601D\u8003\uFF09\uFF0C\u52FF\u52FE\u601D\u8003\u6863\u3002ERNIE 4.5 Turbo VL \u652F\u6301\u56FE\u7247\uFF0C\u6309\u9700\u624B\u52FE\uFF1B\u53C2\u8003\u5BB9\u91CF\u53D6 Turbo 128K \u6863\u3002"}],Gn={off:null,low:"low",medium:"medium",high:"high"},Ma={"openai-completions":Gn,"openai-responses":Gn,"anthropic-messages":Gn,deepseek:{off:"none",low:"low",high:"high",max:"max"}},Sa={low:"low",medium:"medium",high:"high"};function mt(e){return(e??"").toLowerCase().trim()}function Eo(e){return e!==void 0&&/[a-z0-9]/.test(e)}function pt(e){return e.toLowerCase().trim().replace(/[^a-z0-9]+/g," ")}function Lo(e,t,n){let r=t===0?void 0:e[t-1],o=e[t+n];return!Eo(r)&&!Eo(o)}function Vn(e,t){let n=pt(e)+" "+pt(t??""),r;for(let o of Ta)for(let i of o.patterns){let s=pt(i),a=n.indexOf(s);for(;a>=0;){if(Lo(n,a,s.length)){(r===void 0||s.length>r.length)&&(r={entry:o,length:s.length});break}a=n.indexOf(s,a+1)}}return r?.entry}var La={"deepseek.com":"deepseek","anthropic.com":"anthropic-messages"};function Aa(e){let t=mt(e.api);if(t.length>0)return t;let n=e.baseURL;if(n!==void 0&&n.length>0)try{let o=new URL(n).hostname.toLowerCase().split(".");if(o.length>=2){let i=La[o.slice(-2).join(".")];if(i!==void 0)return i}}catch{}return"openai-completions"}var Gt="openai-completions",Ao="anthropic-messages";function $n(e){if(e===void 0||e.length===0)return!1;let t="";try{t=new URL(e).hostname.toLowerCase()}catch{return!1}return t==="localhost"||t==="::1"||t.endsWith(".local")||t.endsWith(".internal")||/^(127\.|10\.|192\.168\.)/.test(t)||/^172\.(1[6-9]|2[0-9]|3[01])\./.test(t)?!0:t.includes(":")}function Ra(e,t){let n=mt(t),r={...e};if(delete r.supportsMidConvoEffort,delete r.allowedFallbackModels,n===Ao){for(let o of["thinkingFormat","supportsReasoningEffort","thinkingTokenBudgetField","supportsThinkingTokenBudget","vllmPriority","supportsMaxOutputTokens"])delete r[o];return r.forceAdaptiveThinking===void 0?void 0:{forceAdaptiveThinking:r.forceAdaptiveThinking}}if(n==="openai-responses"){for(let o of["thinkingFormat","supportsReasoningEffort","thinkingTokenBudgetField","supportsThinkingTokenBudget","vllmPriority"])delete r[o];return r.supportsMaxOutputTokens===void 0?void 0:{supportsMaxOutputTokens:r.supportsMaxOutputTokens}}if(n===Gt)return delete r.forceAdaptiveThinking,delete r.supportsMaxOutputTokens,Object.keys(r).length===0?void 0:r}function Ha(e,t){let n=mt(t.api);if(n===Gt){let r=e.compat;return r!==void 0&&(r=Ra(r,n)??void 0),r===void 0&&!$n(t.baseURL)?void 0:r===void 0?{thinkingTokenBudgetField:"thinking_token_budget"}:r.thinkingTokenBudgetField===void 0&&r.supportsThinkingTokenBudget!==!0&&$n(t.baseURL)?{...r,thinkingTokenBudgetField:"thinking_token_budget"}:r}if(n===Ao&&e.anthropicAdaptive===!0)return{forceAdaptiveThinking:!0}}var Oa=["openai.com","openai.azure.com","deepseek.com","openrouter.ai","z.ai","bigmodel.cn","moonshot.ai","moonshot.cn","aliyuncs.com","anthropic.com","x.ai","together.ai","together.xyz","nvidia.com","cerebras.ai","cloudflare.com","chutes.ai","opencode.ai","ant-ling.com"];function Yn(e){if(mt(e.api)!==Gt)return!1;let t=e.baseURL;if(t===void 0||t.length===0)return!1;try{let n=new URL(t).hostname.toLowerCase();return n.includes(".")?!Oa.some(r=>n===r||n.endsWith("."+r)):!1}catch{return!1}}function To(e,t,n){return e===void 0||!n||e.supportsDeveloperRole!==void 0||!Yn(t)?e:{...e,supportsDeveloperRole:!1}}var Mo={off:null,low:"low",medium:"medium",high:"high"},Na=["vl","vision","omni","4o","pixtral","internvl"];function Jn(e){let t=pt(e);for(let n of Na){let r=pt(n),o=t.indexOf(r);for(;o>=0;){if(Lo(t,o,r.length))return["text","image"];o=t.indexOf(r,o+1)}}}function _a(e){if(e===void 0)return;let t=e.map(n=>n.toLowerCase());if(t.some(n=>Ea.includes(n)))return t.includes("image")?["text","image"]:["text"]}function be(e,t,n){let r=Vn(e,t.displayName),o,i,s,a;r?.input!==void 0&&(o=r.input,i="knowledge"),r?.contextWindow!==void 0&&(s=r.contextWindow),r?.maxTokens!==void 0&&(a=r.maxTokens);let d=_a(n?.input);if(d!==void 0&&(o=d,i="endpoint"),n?.contextLength!==void 0&&Number.isFinite(n.contextLength)&&n.contextLength>0&&(s=n.contextLength),o===void 0){let b=Jn(e);b!==void 0&&(o=b,i="heuristic")}let u={...o===void 0?{}:{input:o},...i===void 0?{}:{inputSource:i},...s===void 0?{}:{contextWindow:s},...a===void 0?{}:{maxTokens:a}},m=n===void 0?{}:{endpoint:{reasoning:n.reasoning,source:n.source}};if(n?.reasoning===!1)return{efforts:!1,matched:!1,source:"endpoint:"+(n.source??"listing"),confidence:"high",...m,...u};if(r!==void 0){let b=To(Ha(r,t),t,r.efforts!==!1);return{efforts:r.efforts,...r.efforts!==!1&&r.defaultEffort!==void 0&&r.efforts[r.defaultEffort]!==void 0?{defaultEffort:r.defaultEffort}:{},...b===void 0?{}:{compat:b},matched:!0,entryId:r.id,source:r.id,confidence:"high",...m,...u}}let p=Aa(t),g=Ma[p]??Sa,l=mt(t.api)===Gt?{thinkingFormat:"openai",supportsReasoningEffort:!0}:void 0,c=l!==void 0&&$n(t.baseURL)?{...l,thinkingTokenBudgetField:"thinking_token_budget"}:l,f=To(c,t,!0);return n?.reasoning===!0?{efforts:{...Mo},...Mo.medium!==void 0?{defaultEffort:"medium"}:{},...f===void 0?{}:{compat:f},matched:!1,source:"endpoint:"+(n.source??"listing"),confidence:"medium",...m,...u}:{efforts:g,...g.medium!==void 0?{defaultEffort:"medium"}:{},...f===void 0?{}:{compat:f},matched:!1,source:"protocol:"+p,confidence:"low",...m,...u}}var Ho="dsh-model-think-level.slider.efforts",Xn="breSelectWired";function Qn(e){return typeof e=="object"&&e!==null&&e.ok===!1}function Zn(e){if(!Qn(e))return;let t=e.error,n=typeof t?.code=="string"?t.code:"settings/rejected",r=typeof t?.message=="string"?t.message:"";return r.length>0?`${n}: ${r}`:n}function Be(e,t){return`${e}/${t}`}function Oo(){try{let e=window.localStorage.getItem(Ho);if(e===null)return{};let t=JSON.parse(e);if(typeof t!="object"||t===null||Array.isArray(t))return{};let n={};for(let[r,o]of Object.entries(t))r.length>0&&typeof o=="string"&&o.trim().length>0&&(n[r]=o);return n}catch{return{}}}function Ia(e){try{window.localStorage.setItem(Ho,JSON.stringify(e))}catch{}}function Da(e,t,n){let r=Oo();r[Be(e,t)]=n,Ia(r)}function Pa(e,t){return Oo()[Be(e,t)]}function $t(e,t,n){let o=e.groups.find(i=>i.id===t)?.models.find(i=>i.id===n)?.reasoning?.efforts;return o===void 0?[]:o.map(i=>i.id)}function Ca(e,t,n){return e.groups.find(o=>o.id===t)?.models.find(o=>o.id===n)?.reasoning?.defaultEffort}function Fa(e){if(!(e.length<2))return e[Math.floor((e.length-1)/2)]}function Ka(e,t){return e===null||e.provider!==t.provider||e.model!==t.model}async function Ro(e,t,n,r,o){let i=$t(e,t,n);if(i.length===0)return;let s=Be(t,n),a=r.get(s);if(a!==void 0&&i.includes(a))return a;let d=await o?.configuredEffort?.(t,n);if(d!==void 0&&i.includes(d))return d;let u=Pa(t,n);if(u!==void 0&&i.includes(u))return u;let m=be(n,{}).defaultEffort;if(m!==void 0&&i.includes(m))return m;let p=Ca(e,t,n);return p!==void 0&&i.includes(p)?p:Fa(i)}function No(e,t){let n=e;if(n[Xn]===!0)return()=>{};let r=Object.prototype.hasOwnProperty.call(n,"select"),o=e.select,i=new Map,s=new Set,a=new Map,d=3,u=0,m=async l=>{let c=++u;if(l.reasoningEffort!==void 0){let v=await o.call(e,l);return!Qn(v)&&fe()&&(i.set(Be(l.provider,l.model),l.reasoningEffort),Da(l.provider,l.model,l.reasoningEffort)),v}let f=e.store.getSnapshot();if(!Ka(f.current,l)){if(fe()){let v=Be(l.provider,l.model);i.delete(v),s.add(v)}return o.call(e,l)}if(!fe())return o.call(e,l);let b=await Ro(f,l.provider,l.model,i,t),k=e.store.getSnapshot();if(!(u!==c||((v,S)=>v===null||S===null?v!==S:v.provider!==S.provider||v.model!==S.model||v.reasoningEffort!==S.reasoningEffort)(k.current,f.current)))return!fe()||b===void 0||!$t(k,l.provider,l.model).includes(b)?o.call(e,l):o.call(e,{...l,reasoningEffort:b})},p=()=>{let l=e.store.getSnapshot(),c=l.current;if(c===null||c.reasoningEffort!==void 0||!fe())return;let f=Be(c.provider,c.model);if(s.has(f))return;if($t(l,c.provider,c.model).length===0){s.add(f);return}s.add(f);let b=u;Ro(l,c.provider,c.model,i,t).then(async k=>{if(k===void 0){s.delete(f);return}if(!fe()){s.delete(f);return}let y=e.store.getSnapshot(),v=y.current;if(u!==b||v===null||v.reasoningEffort!==void 0||Be(v.provider,v.model)!==f||!$t(y,v.provider,v.model).includes(k))return;let S=await o.call(e,{provider:v.provider,model:v.model,reasoningEffort:k});if(Qn(S))throw S}).catch(()=>{let k=(a.get(f)??0)+1;a.set(f,k),k<d&&(s.delete(f),p())})},g=e.store.subscribe(p);return p(),n[Xn]=!0,e.select=m,()=>{delete n[Xn],g(),r?e.select=o:delete n.select}}function Ba(e){if(e.current===null)return[];let r=e.groups.find(o=>o.id===e.current?.provider)?.models.find(o=>o.id===e.current?.model)?.reasoning?.efforts;return r!==void 0&&r.length>=2?r:[]}function Wa(e){return e.current}function qa(e,t){let n=Wa(t),r=e.findIndex(a=>a.id===n?.reasoningEffort);if(r>=0)return r;let i=t.groups.find(a=>a.id===n?.provider)?.models.find(a=>a.id===n?.model)?.reasoning?.defaultEffort,s=i===void 0?-1:e.findIndex(a=>a.id===i);return s>=0?s:Math.floor((e.length-1)/2)}function _o(e){return e.models??[]}function tt(e){let t=e;return t.name??t.label??t.title??e.id}function er(e){return(0,T.createElement)("span",{className:"bre-row-chevron"+(e?" is-open":""),"aria-hidden":!0},"\u203A")}function Ua(){let[e,t]=(0,T.useState)(null),n=(0,T.useRef)(0);(0,T.useEffect)(()=>()=>{window.clearTimeout(n.current)},[]);let r=(0,T.useCallback)(()=>{window.clearTimeout(n.current),t(null)},[]),o=(0,T.useCallback)((i,s)=>{window.clearTimeout(n.current);let a=i.currentTarget;a.scrollWidth<=a.clientWidth+1||(n.current=window.setTimeout(()=>{t({target:a,text:s})},300))},[]);return{tip:e,onEnter:o,onLeave:r}}function ja({state:e}){if(typeof document>"u")return null;let t=e.target.getBoundingClientRect(),n=Math.max(12,Math.min(t.right,window.innerWidth-12));return(0,Do.createPortal)((0,T.createElement)("div",{className:"bre-tip",role:"tooltip",style:{top:Math.min(t.bottom+6,window.innerHeight-40),right:Math.max(12,window.innerWidth-n)}},e.text),document.body)}function za(){return(0,T.createElement)("svg",{className:"bre-option-check",width:14,height:14,viewBox:"0 0 16 16",fill:"none","aria-hidden":!0},(0,T.createElement)("path",{d:"M3.5 8.5l3 3 6-7",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round"}))}var Io=new Map;function Ga(e){if(Array.isArray(e.input))return e.input.includes("image");let t=Io.get(e.id);if(t!==void 0)return t;let n=Vn(e.id,e.name)?.input,r=n!==void 0?n.includes("image"):(Jn(e.id)??[]).includes("image");return Io.set(e.id,r),r}function $a(e){let t=e.reasoning?.efforts;return Array.isArray(t)&&t.length>0}function Va(e){return(0,T.createElement)("svg",{className:"bre-tag-icon",width:13,height:13,viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":e},(0,T.createElement)("path",{d:"M1.8 8s2.4-4.2 6.2-4.2S14.2 8 14.2 8s-2.4 4.2-6.2 4.2S1.8 8 1.8 8z",stroke:"currentColor",strokeWidth:1.3,strokeLinejoin:"round"}),(0,T.createElement)("circle",{cx:8,cy:8,r:1.8,fill:"currentColor"}))}function Ya(e){return(0,T.createElement)("svg",{className:"bre-tag-icon",width:13,height:13,viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":e},(0,T.createElement)("path",{d:"M8 1.9l1.35 3.75L13.1 7l-3.75 1.35L8 12.1 6.65 8.35 2.9 7l3.75-1.35z",fill:"currentColor"}))}function Ja(e,t){let n=[];return Ga(e)&&n.push((0,T.createElement)("span",{key:"vision",className:"bre-tag",title:t("tagVision")},Va(t("tagVision")))),$a(e)&&n.push((0,T.createElement)("span",{key:"thinking",className:"bre-tag",title:t("tagThinking")},Ya(t("tagThinking")))),n.length===0?null:(0,T.createElement)("span",{className:"bre-option-tags"},...n)}function Po(e){let{directory:t,t:n}=e,r=e.onLayoutChange,o=(0,T.useSyncExternalStore)(E=>t.store.subscribe(E),()=>t.store.getSnapshot()),i=Ba(o),[s,a]=(0,T.useState)(""),[d,u]=(0,T.useState)(null),[m,p]=(0,T.useState)(null),[g,l]=(0,T.useState)(!1),[c,f]=(0,T.useState)(null),b=(0,T.useRef)(null),k=(0,T.useRef)(""),y=(0,T.useRef)(!1),v=o.current!==null&&i.length>=2,S=g||o.status==="selecting",w=c??o.error,M=t.select;(0,T.useEffect)(()=>{if(y.current)return;let E=qa(i,o),J=i[E]?.id??"";k.current=J,a(J),f(null)},[v,i,o]),(0,T.useEffect)(()=>{t.load().catch(()=>{})},[t]);let R=o.current,K=o.groups.find(E=>E.id===R?.provider),I=K?.models.find(E=>E.id===R?.model)?.name??(R===null?n("triggerFallback"):R.model),B=R===null?I:tt(K??{id:R.provider})+" \xB7 "+I,A=i.find(E=>E.id===s)?.name??n("effortDefault"),D=(0,T.useSyncExternalStore)(Bt,Kn),q=(0,T.useSyncExternalStore)(Ut,fo),P=(0,T.useSyncExternalStore)(zt,bo),z=o.groups.filter(E=>_o(E).length>0&&!q.includes(E.id)).map(E=>E.id),Y=et(Bn(z),D),U=m!==null&&Y.includes(m)?m:R!==null&&Y.includes(R.provider)?R.provider:Y[0]??null,L=U===null?[]:xo(_o(o.groups.find(E=>E.id===U)),P[U]??[]),C=R===null?"":R.provider+"/"+R.model,_=(0,T.useCallback)(E=>{d!==E&&((0,tr.flushSync)(()=>{u(E)}),r?.())},[r,d]),te=(0,T.useCallback)(()=>{d!==null&&((0,tr.flushSync)(()=>{u(null)}),r?.())},[r,d]),oe=(0,T.useCallback)(()=>{let E=b.current?.closest('[role="menu"]');E!=null&&(E.tabIndex=-1,E.focus({preventScroll:!0}))},[]),Pe=(0,T.useCallback)(async(E,J)=>{if(y.current)return;let V=t.store.getSnapshot().current;if(te(),!(V!==null&&V.provider===E&&V.model===J)){y.current=!0,oe(),l(!0),f(null);try{let ie=await M({provider:E,model:J}),Te=Zn(ie);if(Te!==void 0)throw new Error(Te)}catch(ie){f(ie instanceof Error?ie.message:String(ie))}finally{y.current=!1,l(!1)}}},[te,t,oe,M]),Ye=(0,T.useCallback)(async E=>{if(y.current||(te(),E===o.current?.reasoningEffort&&o.status!=="error"))return;y.current=!0;let J=k.current;oe(),l(!0),f(null),a(E);try{let V=o.current;if(V===null)throw new Error(n("sliderNoCurrent"));let ie=await M({provider:V.provider,model:V.model,reasoningEffort:E}),Te=Zn(ie);if(Te!==void 0)throw new Error(Te);let Nt=t.store.getSnapshot(),ut=i.find(_t=>_t.id===Nt.current?.reasoningEffort)?.id??E;k.current=ut,a(ut)}catch(V){k.current=J,a(J),f(V instanceof Error?V.message:String(V))}finally{y.current=!1,l(!1)}},[te,t,oe,i,M,o.current,o.status,n]),{tip:Ee,onEnter:Ce,onLeave:Fe}=Ua(),Ot=[(0,T.createElement)("button",{key:"row:model",type:"button",role:"menuitem",className:"bre-row-control"+(d==="model"?" is-open":""),disabled:S,"aria-expanded":d==="model",onMouseLeave:Fe,onClick:()=>{_(d==="model"?null:"model")}},(0,T.createElement)("span",{className:"bre-row-label"},n("modelRowLabel")),(0,T.createElement)("span",{className:"bre-row-value","aria-label":B,onMouseEnter:E=>{Ce(E,B)}},B),er(d==="model")),d==="model"?(0,T.createElement)("div",{key:"panel:model",className:"bre-panel bre-panel-models"},(0,T.createElement)("div",{className:"bre-providers",role:"group","aria-label":n("modelRowLabel")},...Y.map(E=>(0,T.createElement)("button",{key:E,type:"button",className:"bre-provider"+(E===U?" is-open":"")+(E===R?.provider?" is-current":""),disabled:S,"aria-expanded":E===U,onMouseLeave:Fe,onClick:()=>{p(E)}},(0,T.createElement)("span",{className:"bre-option-name","aria-label":tt(o.groups.find(J=>J.id===E)),onMouseEnter:J=>{Ce(J,tt(o.groups.find(V=>V.id===E)))}},tt(o.groups.find(J=>J.id===E))),er(E===U))),...Y.length===0?[(0,T.createElement)("div",{key:"no-providers",className:"bre-empty"},n("sliderNoCurrent"))]:[]),(0,T.createElement)("div",{className:"bre-provider-models",role:"group","aria-label":n("modelRowLabel")},...L.length===0?[(0,T.createElement)("div",{key:"no-models",className:"bre-empty"},n("sliderNoCurrent"))]:L.map(E=>{let J=U+"/"+E.id,V=J===C;return(0,T.createElement)("button",{key:J,type:"button",className:"bre-option"+(V?" is-active":""),disabled:S,"aria-pressed":V,onMouseLeave:Fe,onClick:()=>{Pe(U,E.id)}},(0,T.createElement)("span",{className:"bre-option-name","aria-label":E.name??E.id,onMouseEnter:ie=>{Ce(ie,E.name??E.id)}},E.name??E.id),Ja(E,n))}))):null,(0,T.createElement)("div",{key:"divider",className:"bre-divider","aria-hidden":!0}),(0,T.createElement)("button",{key:"row:effort",type:"button",role:"menuitem",className:"bre-row-control"+(d==="effort"?" is-open":""),disabled:S||!v,"aria-expanded":v?d==="effort":void 0,onClick:()=>{_(d==="effort"?null:"effort")}},(0,T.createElement)("span",{className:"bre-row-label"},n("effortRowLabel")),(0,T.createElement)("span",{className:"bre-row-value"+(v?"":" is-muted")},v?A:n("sliderNoLevels")),v?er(d==="effort"):null),d==="effort"&&v?(0,T.createElement)("div",{key:"panel:effort",className:"bre-panel",role:"group","aria-label":n("effortRowLabel")},...i.map(E=>(0,T.createElement)("button",{key:E.id,type:"button",className:"bre-option"+(E.id===s?" is-active":""),disabled:S,"aria-pressed":E.id===s,onClick:()=>{Ye(E.id)}},(0,T.createElement)("span",{className:"bre-option-name"},E.name),E.id===s?za():null))):null];return(0,T.createElement)("div",{className:"bre-slider-body",ref:b},(0,T.createElement)("div",{className:"bre-card"},...Ot),w===null?null:(0,T.createElement)("div",{className:"bre-model-error",role:"status"},w),Ee===null?null:(0,T.createElement)(ja,{key:"tip",state:Ee}))}var G=require("react"),Fo='section[role="group"]',rr='button[role="menuitemradio"]';function Ko(e){return e.querySelector(Fo)!==null}function nr(e){return Array.from(e.querySelectorAll(rr)).filter(t=>!t.disabled&&t.style.display!=="none")}function Xa(e){let t=e.getAttribute("aria-labelledby");return(t===null?null:e.ownerDocument.getElementById(t))?.textContent?.toLowerCase()??""}function Co(e,t,n=new Map){let r=d=>{n.has(d)||n.set(d,d.style.display),d.style.display="none"},o=d=>{let u=n.get(d);u!==void 0&&(d.style.display=u,n.delete(d))};for(let d of[...n.keys()])d.isConnected||n.delete(d);let i=t.trim().toLowerCase().split(/\s+/).filter(Boolean),s=Array.from(e.querySelectorAll(Fo)),a=0;if(i.length===0){for(let d of[...n.keys()])o(d);for(let d of s)a+=d.querySelectorAll(rr).length;return a}for(let d of s){let u=Xa(d),m=Array.from(d.querySelectorAll(rr)),p=0;for(let g of m){let l=(g.getAttribute("title")??"").toLowerCase(),c=(g.textContent??"").toLowerCase(),f=`${u} ${l} ${c}`;i.every(b=>f.includes(b))?(o(g),p+=1):r(g)}p>0?(o(d),a+=p):r(d)}return a}function Bo({menu:e,t}){let[n,r]=(0,G.useState)(""),[o,i]=(0,G.useState)(0),s=(0,G.useRef)(null),a=(0,G.useRef)(""),d=(0,G.useRef)(new Map),u=(0,G.useCallback)(l=>{a.current=l;let c=Co(e,l,d.current);i(c)},[e]);(0,G.useEffect)(()=>()=>{Co(e,"",d.current)},[e]),(0,G.useEffect)(()=>{let l=new MutationObserver(()=>{a.current.trim().length!==0&&u(a.current)});return l.observe(e,{childList:!0,subtree:!0}),()=>{l.disconnect()}},[e,u]),(0,G.useEffect)(()=>{let l=c=>{if(a.current.trim().length===0)return;let f=c.key;if(!(f==="ArrowDown"||f==="ArrowUp")&&!(f==="Home"||f==="End"||f==="PageUp"||f==="PageDown")||c.target===s.current||c.target instanceof Node&&!e.contains(c.target))return;let y=nr(e);if(y.length===0)return;let v=y.findIndex(w=>w===document.activeElement),S;f==="Home"||f==="PageUp"?S=0:f==="End"||f==="PageDown"?S=y.length-1:f==="ArrowDown"?S=v===-1?0:(v+1)%y.length:S=v===-1?y.length-1:(v-1+y.length)%y.length,c.preventDefault(),c.stopPropagation(),y[S]?.focus()};return e.addEventListener("keydown",l,!0),()=>{e.removeEventListener("keydown",l,!0)}},[e]);let m=l=>{let c=l.key;if(c==="ArrowDown"){l.preventDefault(),l.stopPropagation(),nr(e)[0]?.focus();return}if(n.trim().length>0&&(c==="ArrowUp"||c==="Home"||c==="PageUp"||c==="End"||c==="PageDown")){let f=nr(e);f.length>0&&(l.preventDefault(),l.stopPropagation(),f[c==="ArrowUp"||c==="End"||c==="PageDown"?f.length-1:0]?.focus());return}c==="Escape"&&n.length>0&&(l.preventDefault(),l.stopPropagation(),r(""),u(""))},p=()=>{r(""),u(""),s.current?.focus({preventScroll:!0})},g=o===0&&n.trim().length>0;return(0,G.createElement)("div",{className:"bre-model-search-box"+(g?" has-empty":""),"data-bre-search":"1"},(0,G.createElement)("div",{className:"bre-search-input-wrapper"},(0,G.createElement)("span",{className:"bre-search-icon","aria-hidden":"true"},(0,G.createElement)("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5"},(0,G.createElement)("circle",{cx:"7",cy:"7",r:"4.5"}),(0,G.createElement)("path",{d:"M10.5 10.5L14 14",strokeLinecap:"round"}))),(0,G.createElement)("input",{ref:s,type:"text",className:"bre-search-input",role:"searchbox",placeholder:t("modelSearchPlaceholder"),"aria-label":t("modelSearchPlaceholder"),value:n,spellCheck:!1,autoComplete:"off",onChange:l=>{let c=l.currentTarget.value;r(c),u(c)},onKeyDown:m}),n.length>0?(0,G.createElement)("button",{type:"button",className:"bre-search-clear",title:t("modelSearchClear"),"aria-label":t("modelSearchClear"),onClick:p},(0,G.createElement)("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5"},(0,G.createElement)("path",{d:"M4 4L12 12M12 4L4 12",strokeLinecap:"round"}))):null),g?(0,G.createElement)("div",{className:"bre-search-empty",role:"status"},t("modelSearchNoMatches")):null)}var Vt=require("react"),Wo=require("react-dom"),qo=require("react-dom/client");function ce(){return document.body}function gt(e,t,n){let r=(0,qo.createRoot)(e);return n?.sync===!0?(0,Wo.flushSync)(()=>{r.render(t)}):r.render(t),{wrapper:e,root:r}}function We(e){e!==void 0&&(e.root.unmount(),e.wrapper.remove())}var xe=class extends Vt.Component{constructor(){super(...arguments);Gr(this,"state",{error:null})}static getDerivedStateFromError(n){return{error:n instanceof Error?n.message:String(n)}}componentDidCatch(n,r){console.error("[bre] editor render failed:",n,r.componentStack)}render(){return this.state.error!==null?(0,Vt.createElement)("div",{style:{color:"#c00",fontSize:"11px",whiteSpace:"pre-wrap",padding:"6px"}},`${this.props.fallbackText}: ${this.state.error}`):this.props.children}};var Uo=()=>{(0,jo.flushSync)(()=>{window.dispatchEvent(new Event("resize"))})};function zo(e){let{menuOf:t,triggerOf:n,t:r,refreshed:o,sliderEnabled:i,directory:s}=e,a,d,u,m,p,g,l=()=>{g?.removeAttribute("data-bre-provider"),g=void 0},c=()=>{let w=n();g!==void 0&&g!==w&&l();let M=m?.store.getSnapshot(),R=M?.current;if(w===void 0||R===null||R===void 0){w===g&&l();return}let K=M?.groups.find(I=>I.id===R.provider),j=K===void 0?R.provider:tt(K);if(j.trim()===""){w===g&&l();return}w.dataset.breProvider=j,g=w},f=()=>{let w=s();w!==m&&(p?.(),p=void 0,m=w,w!==void 0&&(p=w.store.subscribe(c))),c()},b=()=>{We(d),d=void 0},k=w=>{let M=w.querySelector('section[role="group"]'),R=M?.parentElement,K=R!=null&&R.parentElement===w?R:M;if(d===void 0){let j=document.createElement("div");j.dataset.plugin=Q,j.dataset.breSearch="1",w.insertBefore(j,K),d=gt(j,(0,ht.createElement)(xe,{fallbackText:r("modelSearchFailed"),children:o(()=>(0,ht.createElement)(Bo,{menu:w,t:r}))}),{sync:!0});return}if(d.wrapper.parentElement!==w){w.insertBefore(d.wrapper,K);return}K!==null&&d.wrapper.nextSibling!==K&&w.insertBefore(d.wrapper,K)},y=w=>{if(!i()){We(a),a=void 0,w.classList.remove("bre-model-menu-host");for(let I of Array.from(w.children))I.getAttribute("role")==="menuitem"&&(I.style.display="");return}let M=s();if(M===void 0)return;if(a===void 0){let I=document.createElement("div");I.dataset.plugin=Q,I.dataset.breSlider="1",w.insertBefore(I,w.firstChild),a=gt(I,(0,ht.createElement)(xe,{fallbackText:r("renderFailed"),children:o(()=>(0,ht.createElement)(Po,{directory:M,t:r,onLayoutChange:Uo}))}),{sync:!0})}else(a.wrapper.parentElement!==w||w.firstChild!==a.wrapper)&&w.insertBefore(a.wrapper,w.firstChild);w.classList.add("bre-model-menu-host");let R=Array.from(w.children).filter(I=>I.getAttribute("role")==="menuitem"),K=a.wrapper;if(Array.from(w.querySelectorAll('[role="menuitemradio"]')).some(I=>!K.contains(I)))a.wrapper.contains(document.activeElement)&&(w.tabIndex=-1,w.focus({preventScroll:!0})),a.wrapper.style.display="none";else{a.wrapper.style.display="";for(let I of R)I.style.display="none"}};return{reconcile:()=>{f();let w=t();if(w===void 0){We(a),a=void 0,b(),u=void 0;return}let M=Ko(w);M?k(w):b(),y(w),M!==u&&(u=M,(M||i())&&Uo())},dispose:()=>{p?.(),p=void 0,m=void 0,l(),We(a),a=void 0,b(),u=void 0}}}var N=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function Go(e){let t=e.toLowerCase();return t.includes("compat")||t.includes("thinkingtokenbudget")||t.includes("vllmpriority")||t.includes("supportsmaxoutput")}function Yt(e,t){if(!N(e))return[];let n=e[t];return!N(n)||!Array.isArray(n.models)?[]:n.models.filter(N)}function qe(e,t){if(!N(e))return{};let n=e[t];if(!N(n))return{};let r=typeof n.api=="string"?n.api:void 0,o=typeof n.baseURL=="string"?n.baseURL:void 0,i=typeof n.displayName=="string"?n.displayName:void 0;return{api:r,baseURL:o,displayName:i}}var Le=(e,t)=>typeof e[t]=="boolean";function Qa(e,t){if(Array.isArray(e)){for(let n of e)if(N(n)&&n.id===t)return n}}function Za(e){if(!N(e))return{reasoning:"unknown",source:null};let t=e.supported_features;if(Array.isArray(t)&&t.includes("reasoning"))return{...ye(e),reasoning:!0,source:"supported_features"};let n=e.supported_parameters;if(Array.isArray(n)&&(n.includes("reasoning")||n.includes("include_reasoning")||n.includes("reasoning_effort")))return{...ye(e),reasoning:!0,source:"supported_parameters"};if(Le(e,"supports_reasoning"))return{...ye(e),reasoning:e.supports_reasoning,source:"supports_reasoning"};if(Le(e,"supportsReasoning"))return{...ye(e),reasoning:e.supportsReasoning,source:"supportsReasoning"};if(Le(e,"can_reason"))return{...ye(e),reasoning:e.can_reason,source:"can_reason"};if(Le(e,"reasoning"))return{...ye(e),reasoning:e.reasoning,source:"reasoning"};let r=e.reasoning_effort;if(r!=null&&!(typeof r=="string"&&r.trim().length===0)||e.supports_reasoning_effort===!0)return{...ye(e),reasoning:!0,source:"reasoning_effort"};let o=N(e.capabilities)?e.capabilities:void 0;if(o!==void 0){let i=o.thinking;if(N(i)&&typeof i.supported=="boolean")return{...ye(e),reasoning:i.supported,source:"capabilities.thinking.supported"};let s=o.effort;if(N(s)&&typeof s.supported=="boolean")return{...ye(e),reasoning:s.supported,source:"capabilities.effort.supported"}}return{...ye(e),reasoning:"unknown",source:null}}function ye(e){let t={},n=s=>{if(!Array.isArray(s))return;let a=s.filter(d=>typeof d=="string");return a.length>0?a.map(d=>d.toLowerCase()):[]},r=N(e.architecture)?e.architecture:void 0,o=n(r?.input_modalities);if(o===void 0&&(o=n(e.input_modalities)),o===void 0){let s=N(e.modalities)?e.modalities:void 0;o=n(s?.input)}if(o===void 0){let s=e.capabilities,a=d=>Array.isArray(d)&&d.some(u=>typeof u=="string"&&u.toLowerCase()==="vision");if(a(e.supported_features)||a(s))o=["image"];else if(N(s)){let d=[];for(let u of["image_input","video_input","pdf_input","file_input"]){let m=N(s[u])?s[u]:void 0;if(m===void 0||typeof m.supported!="boolean")continue;let p=u.replace(/_input$/,"");m.supported===!0?d.push(p):d.length===0&&d.push("text")}d.length>0&&(o=d)}}o===void 0&&(Le(e,"supports_vision")?o=e.supports_vision===!0?["image"]:[]:Le(e,"supportsVision")?o=e.supportsVision===!0?["image"]:[]:(Le(e,"supports_images")||Le(e,"supportsImages"))&&(o=e.supports_images===!0||e.supportsImages===!0?["image"]:[])),o!==void 0&&(t.input=o.length===0?["text"]:o);let i=e.context_length;if(typeof i=="number"&&Number.isFinite(i)&&i>0)t.contextLength=i;else{let a=(N(e.top_provider)?e.top_provider:void 0)?.context_length;if(typeof a=="number"&&Number.isFinite(a)&&a>0)t.contextLength=a;else{let d=e.max_input_tokens;if(typeof d=="number"&&Number.isFinite(d)&&d>0)t.contextLength=d;else{let m=(N(e.limit)?e.limit:void 0)?.context;typeof m=="number"&&Number.isFinite(m)&&m>0&&(t.contextLength=m)}}}return t}function $o(e,t){let n=Qa(e,t);return n===void 0?{found:!1,signal:{reasoning:"unknown",source:null}}:{found:!0,signal:Za(n)}}function we(e){let n=e?.value?.providers;return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(([,r])=>typeof r=="object"&&r!==null&&!Array.isArray(r)))}function Jt(e){if(!N(e))return;let t=e.providers;return N(t)?t:void 0}function Vo(e,t){for(let n of[e?.user,e?.base]){let r=Jt(n)?.[t];if(N(r)&&r.models!==void 0)return r.models}}function or(e){return Jt(e?.user)}function Xt(e,t){let n=e.find(o=>o.id===t);if(n===void 0)return;let r=n.reasoningEfforts;if(r===!1)return!1;if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}function Qt(e,t){let r=e.find(i=>i.id===t)?.input;if(!Array.isArray(r))return;let o=r.filter(i=>typeof i=="string");return o.length>0?o:void 0}function Zt(e,t){let r=e.find(o=>o.id===t)?.compat;if(N(r))return{...r}}function en(e,t){let r=e.find(o=>o.id===t)?.name;return typeof r=="string"&&r.length>0?r:void 0}function tn(e,t){let r=e.find(o=>o.id===t)?.[Xe];return typeof r=="string"&&r.length>0?r:void 0}async function ed(e,t){try{let n=await fetch(`${$r}?route=${encodeURIComponent(e)}`,{method:"GET"});if(!n.ok)return{reasoning:"unknown",source:null};let r=await n.json();return r?.ok?$o(r.data,t).signal:{reasoning:"unknown",source:null}}catch{return{reasoning:"unknown",source:null}}}function nn(e,t=()=>ne(e),n,r,o,i){return{async suggest(s,a,d,u){let m=we((await t()).namespace),p=qe(m,s),g={api:p.api??u?.api,baseURL:p.baseURL??u?.baseURL,displayName:d??p.displayName},l=m[s]===void 0?void 0:await ed(s,a),c=be(a,g,l);return c.efforts===void 0?{ok:!1,error:"no-suggestion"}:{ok:!0,suggestion:{efforts:c.efforts,...c.compat===void 0?{}:{compat:c.compat},...c.defaultEffort===void 0?{}:{defaultEffort:c.defaultEffort},...c.defaultEffort===void 0?{}:{defaultEffort:c.defaultEffort},...c.input===void 0?{}:{input:c.input},...c.inputSource===void 0?{}:{inputSource:c.inputSource},...c.contextWindow===void 0?{}:{contextWindow:c.contextWindow},...c.maxTokens===void 0?{}:{maxTokens:c.maxTokens},matched:c.matched,source:c.source,confidence:c.confidence,...c.endpoint===void 0?{}:{endpoint:c.endpoint}}}},commit(s,a,d){if(i?.()===!0){n?.(s,a,d.efforts,d.compat,d.input,d.defaultEffort);return}r?.(s,a,{efforts:d.efforts,...d.compat===void 0?{}:{compat:d.compat},...d.input===void 0?{}:{input:d.input},...d.clearCompatKeys===void 0?{}:{clearCompatKeys:d.clearCompatKeys},...d.defaultEffort===void 0?{}:{defaultEffort:d.defaultEffort}})},withdraw(s,a){o?.(s,a)},stageEfforts(s,a,d,u,m,p){n?.(s,a,d,u,m,p)},async writeEfforts(s,a,d,u,m,p,g){if(r!==void 0)return r(s,a,{efforts:d,...u===void 0?{}:{compat:u},...m===void 0?{}:{input:m},...p===void 0?{}:{clearCompatKeys:p},...g===void 0?{}:{defaultEffort:g}}),{ok:!0,staged:!0};let c=(await bt(e,s,[{modelId:a,efforts:d,...u===void 0?{}:{compat:u},...m===void 0?{}:{input:m},...p===void 0?{}:{clearCompatKeys:p},...g===void 0?{}:{defaultEffort:g}}],t))[0]??{ok:!1,error:"no-result"};return c.ok?{ok:!0}:c.modelNotFound===!0?{ok:!1,error:"model-not-found"}:{ok:!1,error:c.error??"conflict"}}}}async function bt(e,t,n,r=()=>ne(e),o){if(n.length===0)return[];let i=!1;for(let s=0;s<3;s++)try{let a=s===0?await r():await ne(e,{fresh:!0});if(a.namespace===void 0)return n.map(()=>({ok:!1,error:"no-namespace"}));let d=Vo(a.namespace,t);if(!Array.isArray(d))return n.map(()=>({ok:!1,modelNotFound:!0}));if(!d.every(N))return n.map(()=>({ok:!1,error:"invalid-models"}));let m=d.map(l=>l),p=[];for(let l of n){let c=m.findIndex(f=>f.id===l.modelId);if(c<0){p.push(l.modelId);continue}m[c]=td(m[c],l,i?void 0:l.compat)}if(p.length>0)return n.map(l=>p.includes(l.modelId)?{ok:!1,modelNotFound:!0}:{ok:!1,error:"model-not-found"});if(o?.()===!0)return n.map(()=>({ok:!1,aborted:!0}));let g=await e.settings.mutate(re,[{op:"set",path:["providers",t,"models"],value:m}],a.namespace.revision);if(!g.ok){if(s===0&&g.error.code==="settings/conflict")continue;let l=g.error.code==="settings/rejected"&&Go(g.error.message);if(!i&&l&&n.some(c=>c.compat!==void 0)){i=!0;continue}return n.map(()=>({ok:!1,error:g.error.message}))}return n.map(()=>({ok:!0}))}catch(a){return n.map(()=>({ok:!1,error:a instanceof Error?a.message:String(a)}))}return n.map(()=>({ok:!1,error:"conflict"}))}function td(e,t,n){let r={...e},o=t.efforts!=="keep",i=t.efforts==="keep"?void 0:t.efforts;if(o)if(i===void 0)delete r.reasoningEfforts,r[ae]=!0;else if(delete r[ae],delete r[Je],i===!1)r.reasoningEfforts=!1;else{r.reasoningEfforts={...i};let s=N(e.compat)?e.compat:{},a={...s,...n??{}};for(let d of t.clearCompatKeys??[])delete a[d];(Object.keys(s).length>0||Object.keys(a).length>0)&&(Object.keys(a).length===0?delete r.compat:r.compat=a)}return t.input!==void 0&&(t.input===null?(delete r.input,r[Me]=!0):(delete r[Me],r.input=[...t.input])),t.defaultEffort!==void 0&&(t.defaultEffort===null?delete r[Xe]:r[Xe]=t.defaultEffort),r}function ir(e,t){for(let n of[e?.user,e?.base]){let r=Jt(n)?.[t];if(!N(r))continue;let o=r.headers;if(o===void 0)continue;if(!N(o))return;let i={};for(let[s,a]of Object.entries(o))typeof a=="string"&&(i[s]=a);return i}}async function sr(e,t,n){if(typeof t!="string"||t.length===0)return{ok:!1,error:"no-route"};for(let r=0;r<2;r+=1)try{let o=r===0?await ne(e):await ne(e,{fresh:!0});if(o.namespace===void 0)return{ok:!1,error:"no-namespace"};if(o.writable!==!0)return{ok:!1,error:"read-only"};if(!nd(o.namespace,t))return{ok:!1,error:"no-route"};let i=await e.settings.mutate(re,[{op:"set",path:["providers",t,"headers"],value:{...n}}],o.namespace.revision);if(!i.ok){if(r===0&&i.error.code==="settings/conflict")continue;return{ok:!1,error:i.error.message}}return{ok:!0}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}return{ok:!1,error:"conflict"}}function nd(e,t){for(let n of[e?.user,e?.base]){let r=Jt(n);if(r!==void 0&&Object.prototype.hasOwnProperty.call(r,t))return!0}return!1}async function ne(e,t={}){let n=t.fresh===!0?void 0:rd(e);if(n!==void 0)return n;let r=await e.settings.describe();return r.ok?{namespace:r.value.namespaces.find(i=>i.ns===re),writable:r.value.writable}:{namespace:void 0,writable:!1}}function rd(e){let t=e.scope?.getSnapshot();if(!(t===void 0||t.status!=="ready")&&typeof t.revision=="number")return{namespace:{ns:re,schema:{},value:t.value,user:t.user,base:t.base,revision:t.revision,applies:"live",secrets:[]},writable:t.writable===!0}}function Yo(e){let t,n,r=0,o=()=>{if(t!==void 0)return Promise.resolve();let a=r;return n??(n=ne(e.api).then(d=>{if(d.namespace===void 0){n=void 0;return}let u=new Map;for(let[m,p]of Object.entries(we(d.namespace))){let g=Array.isArray(p.models)?p.models:[];for(let l of g){if(typeof l!="object"||l===null||Array.isArray(l))continue;let c=l.id,f=l[Xe];typeof c=="string"&&typeof f=="string"&&f.length>0&&u.set(`${m}/${c}`,f)}}a===r?t=u:n=void 0}).catch(()=>{a===r&&(n=void 0)})),n};return{of:async(a,d)=>(await o(),t?.get(`${a}/${d}`)),invalidate:()=>{r+=1,t=void 0,n=void 0}}}function od(e){let t=e.input;return Array.isArray(t)&&t.length>0}function Jo(e,t=()=>!0,n={},r=0){let o=n.efforts!==!1,i=n.modalities!==!1;if(!N(e))return;let s={};for(let a of Object.keys(e)){if(!t(a))continue;let d=e[a],u=N(d)&&Array.isArray(d.models)?d.models:void 0;if(u===void 0||u.length===0||!u.every(N))continue;let m=u,p=[],g=!1;for(let l of m){let c=l.reasoningEfforts!==void 0||l[ae]===!0,f=od(l)||l[Me]===!0;if((c||!o)&&(f||!i)){let M=id(l,e,a);M!==void 0?(g=!0,p.push(M)):p.push(l);continue}let b=typeof l.id=="string"?l.id:"";if(b.length===0){p.push(l);continue}let k=qe(e,a),y=typeof l.name=="string"?l.name:void 0,v=be(b,{...k,displayName:y??k.displayName});if(v.efforts===void 0){p.push(l);continue}let S={...l},w=!1;if(!c&&o&&(w=!0,S.reasoningEfforts=v.efforts,S[Je]=r,v.compat!==void 0)){let M=N(l.compat)?l.compat:{};S.compat={...M,...v.compat}}if(!f&&i&&v.input!==void 0&&(w=!0,S.input=[...v.input]),!w){p.push(l);continue}g=!0,p.push(S)}g&&(s[a]={models:p})}return Object.keys(s).length===0?void 0:{providers:s}}function id(e,t,n){if(!N(e.reasoningEfforts)||e[ae]===!0)return;let r=e.compat,o=N(r)?{...r}:{};if(o.supportsDeveloperRole===void 0&&Yn(qe(t,n)))return{...e,compat:{...o,supportsDeveloperRole:!1}}}function Xo(e){let t,n=()=>(t??(t=(async()=>{let o={autofill:!0,modalityAutofill:!0};try{let i=await fetch(Yr,{method:"GET"});if(!i.ok)return o;let s=await i.json();return s?.ok!==!0?o:{autofill:s.data?.autofill!==!1,modalityAutofill:s.data?.modalityAutofill!==!1}}catch{return o}})()),t),r=async()=>{try{let o=await n();if(!o.autofill)return;let i=await ne(e.api,{fresh:!0}),s=i.namespace;if(s===void 0||i.writable!==!0)return;let a=or(s);if(a===void 0)return;let d=Jo(a,()=>!0,{modalities:o.modalityAutofill},s.revision);if(d===void 0)return;let u=d.providers,m=Object.entries(u).map(([g,l])=>({op:"set",path:["providers",g,"models"],value:l.models})),p=await e.api.settings.mutate(re,m,s.revision);p.ok||console.error(`[bre] idle autofill refused: ${p.error.message}`)}catch(o){console.error(`[bre] idle autofill failed: ${o instanceof Error?o.message:String(o)}`)}};return{run:()=>{r()}}}var Dr=require("react"),Os=require("react-dom/client");var F=require("react");var Ue=So;function je(e){let t={};for(let n of Ue){if(e===void 0){t[n]={on:!1,wire:""};continue}if(e===!1){t[n]=n==="off"?{on:!0,wire:""}:{on:!1,wire:""};continue}let r=e[n];t[n]={on:r!==void 0,wire:r===null?"":typeof r=="string"?r:""}}return t}function nt(e){let t=!1,n=!1,r={};for(let o of Ue){let i=e[o];if(!i.on)continue;if(o==="off"){t=!0;let a=i.wire.trim();r.off=a.length===0?null:a;continue}n=!0;let s=i.wire.trim();r[o]=s.length===0?o:s}return n?r:t?!1:void 0}function yt(e,t){if(e===t)return!0;if(e===!1||e===void 0||t===!1||t===void 0)return!1;let n=Ue.filter(o=>e[o]!==void 0),r=Ue.filter(o=>t[o]!==void 0);return n.length!==r.length?!1:n.every(o=>e[o]===t[o])}function Qo(e,t){if(!(e===void 0||e===!1)&&!("off"in e)){if(t==="zai"||t==="deepseek")return"thinking-disabled";if(t==="qwen")return"enable-thinking-false"}}var ar="bre:auto-effort",Zo=Promise.resolve();function ei(e){Zo=Zo.then(e,e).then(()=>{},()=>{})}function ti(e,t=document){t.dispatchEvent(new CustomEvent(ar,{detail:{route:e}}))}function ni(e,t=document){let n=r=>{let o=r.detail;typeof o?.route!="string"||o.route.length===0||e(o.route)};return t.addEventListener(ar,n),()=>{t.removeEventListener(ar,n)}}var x=require("react/jsx-runtime"),ri=new Intl.NumberFormat("en-US");function ze(e){return e===void 0||e.length===0?{declared:!1,image:!1}:{declared:!0,image:e.includes("image")}}function dr(e){return e.declared?e.image?["text","image"]:["text"]:null}var sd={"openai-completions":["thinkingTokenBudgetField","supportsThinkingTokenBudget","vllmPriority"],"openai-responses":["supportsMaxOutputTokens"]};function ad(e){return sd[(e??"").toLowerCase()]??[]}function oi(e,t){let n=ad(e);if(n.length===0)return[];let r=new Set(t===void 0?[]:Object.keys(t));return n.filter(o=>!r.has(o))}function dd(e,t){if(t!==void 0)return{clearCompatKeys:oi(e,t)};let n=oi(e,void 0);return n.length===0?{}:{clearCompatKeys:n}}function rn(e,t){return e.declared?t===void 0?!1:e.image?t.includes("image"):!t.includes("image"):t===void 0}function lr(e,t,n){let r=e?t:!1;return e&&r===void 0&&n===void 0?"keep":r}function ii(e){let t={},n=e?.thinkingTokenBudgetField??"";n!==""&&(t.thinkingTokenBudgetField=n);let o=(e?.vllmPriority===void 0?"":String(e.vllmPriority)).trim();o!==""&&/^-?\d+$/.test(o)&&(t.vllmPriority=Number.parseInt(o,10));let i=e?.supportsMaxOutputTokens===void 0?"":String(e.supportsMaxOutputTokens);return i==="true"?t.supportsMaxOutputTokens=!0:i==="false"&&(t.supportsMaxOutputTokens=!1),Object.keys(t).length===0?void 0:t}function ur(e){let t=e.appliedCompat,n=e.manualCompat,r=t!==void 0?{...t,...n??{}}:n;return e.initialCompat?.supportsThinkingTokenBudget===!0&&e.initialCompat?.thinkingTokenBudgetField===void 0&&r?.thinkingTokenBudgetField===void 0&&(e.routeApi??"").toLowerCase()==="openai-completions"&&(r={...r??{},thinkingTokenBudgetField:"thinking_token_budget"}),{efforts:e.efforts,...r===void 0?{}:{compat:r},...e.input===void 0?{}:{input:e.input},...dd(e.routeApi,r),...e.defaultEffort===void 0?{}:{defaultEffort:e.defaultEffort}}}function on({route:e,routeApi:t,routeBaseURL:n,modelId:r,modelName:o,efforts:i,effortsUnset:s=!1,input:a,compat:d,defaultEffort:u,index:m,staged:p=!1,officialInputTypes:g=!1,api:l,readOnly:c,t:f}){let[b,k]=(0,F.useState)(()=>je(i)),[y,v]=(0,F.useState)(()=>ze(a)),[S,w]=(0,F.useState)(()=>i!==!1),[M,R]=(0,F.useState)(()=>u??""),[K,j]=(0,F.useState)(!1),[I,B]=(0,F.useState)(void 0),[A,D]=(0,F.useState)(void 0),[q,P]=(0,F.useState)(""),[z,Y]=(0,F.useState)("low"),U=(0,F.useRef)(void 0),[L,C]=(0,F.useState)(()=>d?.thinkingTokenBudgetField??""),[_,te]=(0,F.useState)(()=>d?.vllmPriority===void 0?"":String(d.vllmPriority)),[oe,Pe]=(0,F.useState)(()=>d?.supportsMaxOutputTokens===void 0?"":String(d.supportsMaxOutputTokens)),Ye=(0,F.useRef)(d),[Ee,Ce]=(0,F.useState)(void 0),[Fe,Ot]=(0,F.useState)(void 0),[E,J]=(0,F.useState)(void 0),V=(0,F.useRef)(!1),ie=(0,F.useRef)(i),Te=(0,F.useRef)(a),Nt=(0,F.useRef)(u),Nn=(0,F.useRef)(void 0),ut=(0,F.useRef)(i);ut.current=i;let _t=(0,F.useRef)(s);_t.current=s,(0,F.useEffect)(()=>ni(h=>{if(h!==e||ut.current!==void 0||_t.current)return;let W=Nn.current;W!==void 0&&ei(W)}),[e]),(0,F.useEffect)(()=>{yt(ie.current,i)||(ie.current=i,V.current||(k(je(i)),w(i!==!1))),Te.current!==a&&(Te.current=a,V.current||v(ze(a))),Nt.current!==u&&(Nt.current=u,V.current||R(u??"")),JSON.stringify(Ye.current??null)!==JSON.stringify(d??null)&&(Ye.current=d,V.current||(C(d?.thinkingTokenBudgetField??""),te(d?.vllmPriority===void 0?"":String(d.vllmPriority)),Pe(d?.supportsMaxOutputTokens===void 0?"":String(d.supportsMaxOutputTokens))))},[i,a,d,u]);let Br=()=>{let h={};L!==""&&(h.thinkingTokenBudgetField=L);let W=_.trim();return W!==""&&/^-?\d+$/.test(W)&&(h.vllmPriority=Number.parseInt(W,10)),oe==="true"?h.supportsMaxOutputTokens=!0:oe==="false"&&(h.supportsMaxOutputTokens=!1),Object.keys(h).length===0?void 0:h},$s=()=>{let h=Br();return JSON.stringify(h??null)!==JSON.stringify({...d?.thinkingTokenBudgetField===void 0?{}:{thinkingTokenBudgetField:d.thinkingTokenBudgetField},...d?.vllmPriority===void 0?{}:{vllmPriority:d.vllmPriority},...d?.supportsMaxOutputTokens===void 0?{}:{supportsMaxOutputTokens:d.supportsMaxOutputTokens}})},It=Ue.filter(h=>b[h].on),Vs=M===(u??"")?void 0:M===""?null:M,Ys=S?nt(b):!1,_n=!yt(Ys,i)||!rn(y,a)||$s()||Vs!==void 0,In=(0,F.useRef)(void 0),me=()=>{V.current=!0,D(void 0),P(""),Y("low"),Ce(void 0)},ge=(h,W,ee,he=S)=>{let ue=lr(he,nt(h),i),aa=rn(W,a)?void 0:dr(W),jr=ur({efforts:ue,input:aa,defaultEffort:ee===(u??"")?void 0:ee===""?null:ee,manualCompat:Br(),appliedCompat:U.current,routeApi:t,initialCompat:d}),zr=JSON.stringify(jr);In.current!==zr&&(In.current=zr,l.commit(e,r,jr))},Js=(h,W)=>{me();let ee=!W&&M===h?"":M;ee!==M&&R(ee),k(he=>{let ue={...he,[h]:{...he[h],on:W}};return W&&h!=="off"&&ue[h].wire.trim().length===0&&(ue[h]={...ue[h],wire:h}),ge(ue,y,ee),ue}),B(void 0)},Xs=h=>{me(),w(h);let W=h?M:"";W!==M&&R(W),ge(b,y,W,h),B(void 0)},Qs=(h,W)=>{me(),k(ee=>{let he={...ee,[h]:{...ee[h],wire:W}};return ge(he,y,M),he}),B(void 0)},Zs=h=>{me();let W={declared:!0,image:h};v(W),ge(b,W,M),B(void 0)},ea=()=>{me();let h={declared:!1,image:!1};v(h),ge(b,h,M),B(void 0)},ta=h=>{me(),C(h),ge(b,y,M),B(void 0)},na=h=>{me(),te(h),ge(b,y,M),B(void 0)},ra=h=>{me(),Pe(h),ge(b,y,M),B(void 0)},Wr=h=>{me(),R(h),ge(b,y,h),B(void 0)},oa=h=>{me();let W=h.efforts!==!1;w(W);let ee=je(h.efforts);k(ee);let he=h.input===void 0?y:ze(h.input);h.input!==void 0&&v(he);let ue=M===""&&h.defaultEffort!==void 0?h.defaultEffort:M;ue!==M&&R(ue),D(h.efforts),P(h.source),Y(h.confidence),U.current=h.compat,Ce(h.inputSource),Ot(h.contextWindow),J(h.maxTokens),B({kind:"info",text:f("appliedHint",{source:h.source,confidence:f("confidence_"+h.confidence)})}),ge(ee,he,ue,W)},qr=async()=>{if(!(c||K)){j(!0),B(void 0);try{let h=p?await l.suggest(e,r,o,{...t===void 0?{}:{api:t},...n===void 0?{}:{baseURL:n}}):await l.suggest(e,r,o);if(!h.ok){B({kind:"error",text:h.error==="no-suggestion"?f("noSuggestion"):h.error});return}oa(h.suggestion)}catch(h){B({kind:"error",text:f("writeError",{message:String(h)})})}finally{j(!1)}}};(0,F.useEffect)(()=>{Nn.current=qr});let ia=()=>{V.current=!1,l.withdraw(e,r),k(je(i)),w(i!==!1),v(ze(a)),R(u??""),C(d?.thinkingTokenBudgetField??""),te(d?.vllmPriority===void 0?"":String(d.vllmPriority)),Pe(d?.supportsMaxOutputTokens===void 0?"":String(d.supportsMaxOutputTokens)),D(void 0),P(""),Y("low"),U.current=void 0,Ce(void 0),Ot(void 0),J(void 0),B(void 0),In.current=void 0},sa=U.current?.thinkingFormat??be(r,{...t===void 0?{}:{api:t},...n===void 0?{}:{baseURL:n}}).compat?.thinkingFormat,Ur=Qo(i,sa),se=c||K;return(0,x.jsxs)("div",{className:"bre-effort-editor","data-plugin":Q,children:[(0,x.jsxs)("label",{className:"bre-modality-row bre-thinking-switch",children:[(0,x.jsx)("input",{type:"checkbox",checked:S,disabled:se,"aria-label":f("thinkingMode")+" "+String(m+1),onChange:h=>{Xs(h.target.checked)}}),(0,x.jsx)("span",{className:"bre-effort-level",children:f("thinkingMode")}),S?null:(0,x.jsx)("span",{className:"bre-effort-note",children:f("thinkingModeOff")})]}),S?(0,x.jsxs)("div",{className:"bre-effort-card",children:[(0,x.jsxs)("div",{className:"bre-effort-head",children:[(0,x.jsx)("span",{className:"bre-effort-title",children:f("reasoningEffort")}),(0,x.jsx)("button",{type:"button",className:"bre-link-button",disabled:se,onClick:()=>{qr()},children:f("autoAdapt")})]}),(0,x.jsx)("div",{className:"bre-effort-grid",children:Ue.map(h=>{let W=b[h];return(0,x.jsxs)("label",{className:"bre-effort-row",children:[(0,x.jsx)("input",{type:"checkbox",checked:W.on,disabled:se,"aria-label":f("level_"+h)+" "+String(m+1),onChange:ee=>{Js(h,ee.target.checked)}}),(0,x.jsx)("span",{className:"bre-effort-level",children:f("level_"+h)}),W.on?(0,x.jsx)("input",{type:"text",className:"bre-effort-wire",value:W.wire,disabled:se,placeholder:f("wirePlaceholder"),"aria-label":f("level_"+h)+" "+f("wireValue"),onChange:ee=>{Qs(h,ee.target.value)}}):(0,x.jsx)("span",{className:"bre-effort-empty"})]},h)})}),It.length>0?(0,x.jsxs)("div",{className:"bre-modality",children:[(0,x.jsx)("span",{className:"bre-effort-title",children:f("defaultEffortLabel")}),(0,x.jsxs)("label",{className:"bre-modality-row",children:[(0,x.jsxs)("select",{className:"bre-select",disabled:se,"aria-label":f("defaultEffortLabel")+" "+String(m+1),value:M,onChange:h=>{Wr(h.target.value)},children:[(0,x.jsx)("option",{value:"",children:f("defaultEffortUnset")}),(M!==""&&!It.includes(M)?[...It,M]:It).map(h=>(0,x.jsx)("option",{value:h,children:f("level_"+h)},h))]}),M!==""?(0,x.jsx)("button",{type:"button",className:"bre-link-button bre-modality-clear",disabled:se,onClick:()=>{Wr("")},children:f("clearDefaultEffort")}):null]}),(0,x.jsx)("p",{className:"bre-modality-note",children:f("defaultEffortHint")})]}):null,g?null:(0,x.jsxs)("div",{className:"bre-modality",children:[(0,x.jsx)("span",{className:"bre-effort-title",children:f("inputModality")}),(0,x.jsxs)("label",{className:"bre-modality-row",children:[(0,x.jsx)("input",{type:"checkbox",checked:y.declared&&y.image,disabled:se,"aria-label":f("modalityImage")+" "+String(m+1),onChange:h=>{Zs(h.target.checked)}}),(0,x.jsx)("span",{className:"bre-effort-level",children:f("modalityImage")}),y.declared?(0,x.jsx)("button",{type:"button",className:"bre-link-button bre-modality-clear",disabled:se,onClick:ea,children:f("clearDeclaration")}):null]}),y.declared?null:(0,x.jsx)("p",{className:"bre-modality-note",children:f("modalityInherit")})]}),(t??"").toLowerCase()==="openai-completions"?(0,x.jsxs)("div",{className:"bre-compat",children:[(0,x.jsx)("span",{className:"bre-effort-title",children:f("compatTitle")}),(0,x.jsxs)("label",{className:"bre-compat-row",children:[(0,x.jsx)("span",{className:"bre-compat-label",children:f("budgetFieldLabel")}),(0,x.jsxs)("select",{className:"bre-select",disabled:se,"aria-label":f("budgetFieldLabel")+" "+String(m+1),value:L,onChange:h=>{ta(h.target.value)},children:[(0,x.jsx)("option",{value:"",children:f("budgetUnset")}),(0,x.jsx)("option",{value:"thinking_token_budget",children:"thinking_token_budget"}),(0,x.jsx)("option",{value:"thinking_budget",children:"thinking_budget"}),(0,x.jsx)("option",{value:"thinking_budget_tokens",children:"thinking_budget_tokens"})]}),(0,x.jsx)("span",{className:"bre-compat-hint",children:f("budgetFieldHint")})]}),(0,x.jsxs)("div",{className:"bre-compat-row",children:[(0,x.jsxs)("label",{className:"bre-compat-field",children:[(0,x.jsx)("span",{className:"bre-compat-label",children:f("priorityLabel")}),(0,x.jsx)("input",{type:"text",inputMode:"numeric",className:"bre-text-input",value:_,disabled:se,placeholder:f("priorityPlaceholder"),"aria-label":f("priorityLabel")+" "+String(m+1),onChange:h=>{na(h.target.value)}})]}),(0,x.jsx)("span",{className:"bre-compat-hint",children:f("priorityHint")}),_.trim()!==""&&!/^-?\d+$/.test(_.trim())?(0,x.jsx)("p",{className:"bre-effort-note bre-error",children:f("priorityInvalid")}):null]}),d?.supportsThinkingTokenBudget===!0&&d?.thinkingTokenBudgetField===void 0?(0,x.jsx)("p",{className:"bre-effort-note",children:f("aliasMigrated")}):null]}):null,(t??"").toLowerCase()==="openai-responses"?(0,x.jsxs)("div",{className:"bre-compat",children:[(0,x.jsx)("span",{className:"bre-effort-title",children:f("compatTitle")}),(0,x.jsxs)("label",{className:"bre-compat-row",children:[(0,x.jsx)("span",{className:"bre-compat-label",children:f("maxOutputLabel")}),(0,x.jsxs)("select",{className:"bre-select",disabled:se,"aria-label":f("maxOutputLabel")+" "+String(m+1),value:oe,onChange:h=>{ra(h.target.value)},children:[(0,x.jsx)("option",{value:"",children:f("maxOutputUnset")}),(0,x.jsx)("option",{value:"true",children:f("maxOutputOn")}),(0,x.jsx)("option",{value:"false",children:f("maxOutputOff")})]}),(0,x.jsx)("span",{className:"bre-compat-hint",children:f("maxOutputHint")})]})]}):null,p?(0,x.jsx)("p",{className:"bre-effort-note",children:f("stagedHint")}):null,i===!1?(0,x.jsx)("p",{className:"bre-effort-note",children:f("reasoningDisabled")}):null,Ur===void 0?null:(0,x.jsx)("p",{className:"bre-effort-note",children:f(Ur==="thinking-disabled"?"defaultRiskDisabled":"defaultRiskQwen")}),nt(b)===void 0&&i!==void 0?(0,x.jsx)("p",{className:"bre-effort-note",children:f("bareHint")}):null,A!==void 0?(0,x.jsxs)("div",{className:"bre-suggestion",children:[(0,x.jsx)("p",{className:"bre-effort-note",children:f("appliedHint",{source:q,confidence:f("confidence_"+z)})}),Ee===void 0?null:(0,x.jsx)("p",{className:"bre-effort-note",children:f(Ee==="endpoint"?"inputHintEndpoint":Ee==="knowledge"?"inputHintKnowledge":"inputHintHeuristic")}),Fe===void 0&&E===void 0?null:(0,x.jsxs)("div",{className:"bre-reference",children:[(0,x.jsx)("span",{className:"bre-reference-title",children:f("referenceTitle")}),(0,x.jsxs)("span",{className:"bre-reference-values",children:[Fe===void 0?null:(0,x.jsxs)("span",{children:[f("contextWindowLabel")," ",(0,x.jsx)("b",{children:ri.format(Fe)})]}),E===void 0?null:(0,x.jsxs)("span",{children:[f("maxTokensLabel")," ",(0,x.jsx)("b",{children:ri.format(E)})]})]})]})]}):null,I===void 0?null:(0,x.jsx)("p",{className:"bre-effort-message bre-"+I.kind,role:I.kind==="error"?"alert":"status",children:I.text}),_n?(0,x.jsx)("p",{className:"bre-effort-message bre-info",role:"status",children:f("pendingSave")}):null,_n?(0,x.jsx)("p",{className:"bre-effort-note",children:f("pendingHint")}):null,(0,x.jsx)("div",{className:"bre-effort-actions",children:(0,x.jsx)("button",{type:"button",className:"bre-secondary-button",disabled:se||!_n,onClick:ia,children:f("reset")})})]}):null]})}var Ae="data-bre-auto-effort",fr='[class*="modelCatalog"]',ld='[class*="modelListHead"]',ud='button[class*="linkButton"]',fd="bre-auto-effort",cd="bre-auto-effort-note",pd="data-bre-auto-effort-phase",ai="bre-auto-effort-note-text",di="bre-auto-effort-note-detail",md=3e3;function gd(e){return e.blocked==="busy"?null:e.failed!==void 0?{phase:"failed",count:0,missed:0,detail:e.failed}:e.blocked!==void 0?{phase:"blocked",count:0,missed:0,detail:""}:e.held>0?{phase:"done",count:e.held,missed:e.unsuggested,detail:""}:e.unsuggested>0?{phase:"unsuggested",count:0,missed:e.unsuggested,detail:""}:{phase:"empty",count:0,missed:0,detail:""}}function cr(e){return Array.from(e.querySelectorAll(fr)).filter(t=>(t.parentElement?.closest(fr)??null)===null)}function sn(e,t,n){let r=new Map;for(let a of t)a.route.length!==0&&a.catalogue.isConnected&&r.set(a.catalogue,a.route);let o=n.t("autoAdaptAll");for(let[a,d]of r){let u=a.querySelector(ld)??a,m=u.querySelector(`[${Ae}]`)??bd(n),p=hd(u);p!==null?p.nextElementSibling!==m&&p.after(m):u.lastElementChild!==m&&u.append(m),xd(m,d,o)}let i=new Set,s=new Set(r.values());for(let a of Array.from(e.querySelectorAll(`[${Ae}]`))){let d=a.closest(fr),u=a.getAttribute(Ae)??"";if(d===null||!r.has(d)||i.has(d)){a.remove(),u.length>0&&!s.has(u)&&pr(u);continue}i.add(d)}}function pr(e){let t=Ge.get(e);t!==void 0&&(t.timer!==null&&clearTimeout(t.timer),t.note.remove(),Ge.delete(e))}function li(){for(let e of Array.from(document.querySelectorAll(`[${Ae}]`)))e.remove();for(let e of Ge.values())e.timer!==null&&clearTimeout(e.timer),e.note.remove();Ge.clear()}function hd(e){let t=Array.from(e.querySelectorAll(ud));return t.length===0?null:t[t.length-1]}function bd(e){let t=document.createElement("button");return t.className=fd,t.setAttribute("type","button"),t.setAttribute(Ae,""),t.addEventListener("click",()=>{let n=t.getAttribute(Ae)??"";n.length!==0&&(ti(n),yd(n,e))}),t}async function yd(e,t){if(t.onRequest===void 0)return;si(e,{phase:"working",count:0,missed:0,detail:""},t,0);let n;try{n=await t.onRequest(e)}catch(o){n={held:0,unsuggested:0,failed:String(o)}}if(n===void 0){pr(e);return}let r=gd(n);r!==null&&si(e,r,t,md)}function si(e,t,n,r){let o=Ge.get(e);o!==void 0&&!o.note.isConnected&&(o.timer!==null&&clearTimeout(o.timer),Ge.delete(e),o=void 0),o!==void 0&&o.timer!==null&&clearTimeout(o.timer);let i=o?.note??wd();i.setAttribute(pd,t.phase);let s=i.querySelector(`.${ai}`),a=i.querySelector(`.${di}`),d=vd(t,n);s.textContent!==d.text&&(s.textContent=d.text),a.textContent!==d.detail&&(a.textContent=d.detail),a.hidden=d.detail.length===0,o===void 0&&document.body.append(i);let u=r>0?setTimeout(()=>{pr(e)},r):null;i.style.setProperty("--bre-note-hold",`${r}ms`),Ge.set(e,{note:i,timer:u})}function wd(){let e=document.createElement("div");return e.className=cd,e.setAttribute("role","status"),e.setAttribute("aria-live","polite"),e.innerHTML=`<span class="${ai}"></span><span class="${di}"></span>`,e}var Ge=new Map;function vd(e,t){switch(e.phase){case"working":return{text:t.t("autoAdaptWorking"),detail:""};case"done":return{text:t.t("autoAdaptDone",{count:e.count}),detail:e.missed>0?`${t.t("autoAdaptDoneHint",{count:e.count})} ${t.t("autoAdaptUnsuggestedHint")}`:t.t("autoAdaptDoneHint",{count:e.count})};case"empty":return{text:t.t("autoAdaptEmpty"),detail:t.t("autoAdaptEmptyHint")};case"unsuggested":return{text:t.t("autoAdaptUnsuggested"),detail:t.t("autoAdaptUnsuggestedHint")};case"blocked":return{text:t.t("autoAdaptBlocked"),detail:t.t("autoAdaptBlockedHint")};case"failed":return{text:t.t("autoAdaptFailed",{message:e.detail}),detail:e.detail}}}function xd(e,t,n){e.getAttribute(Ae)!==t&&e.setAttribute(Ae,t),e.textContent!==n&&(e.textContent=n),e.getAttribute("title")!==null&&e.removeAttribute("title")}var wt="data-bre-drag-handle",mr="data-bre-row-head",gr="data-bre-drop-side",an="bre-row-dragging",dn="bre-row-drop-target",gi="bre-drag-ghost",hi="bre-drop-line",ui="http://www.w3.org/2000/svg",fi=8,ci=28,pi=12,kd="transform 180ms cubic-bezier(0.2, 0.7, 0.3, 1)",Ed='button, a, input, textarea, select, [contenteditable], [role="button"], [role="switch"], [role="checkbox"], [role="textbox"], [role="combobox"]';function ln(){return{sources:new WeakSet,lists:new WeakSet,line:void 0,drag:void 0}}function de(e){return Array.from(e.children).filter(t=>t instanceof HTMLElement)}function Td(e,t){let n=e.style.order;if(n==="")return t;let r=Number.parseInt(n,10);return Number.isNaN(r)?t:r}function $e(e){return de(e).map((t,n)=>({row:t,key:Td(t,n),index:n})).sort((t,n)=>t.key-n.key||t.index-n.index).map(t=>t.row)}function vt(e,t){let n=$e(e),r=n.filter(a=>t.includes(a)),o=r.map(a=>n.indexOf(a)),i=t.filter(a=>r.includes(a)),s=new Map;n.forEach((a,d)=>s.set(a,d)),o.forEach((a,d)=>{let u=i[d];u!==void 0&&s.set(u,a)});for(let[a,d]of s){let u=String(d);a.style.order!==u&&(a.style.order=u)}}function hr(e,t){let n=de(e),r=n.map(o=>o.offsetTop);t(),n.forEach((o,i)=>{let s=r[i]-o.offsetTop;s!==0&&(o.style.transition="none",o.style.transform=`translateY(${s}px)`,o.offsetHeight,o.style.transition=kd,o.style.transform="")})}function xt(e,t){return $e(e).map(n=>t(n)).filter(n=>n!==void 0)}function bi(e,t,n){let r=new Map;for(let[s,a]of t.entries())r.has(a)||r.set(a,s);let i=[...$e(e).filter(s=>n(s)!==void 0)].sort((s,a)=>{let d=r.get(n(s))??Number.MAX_SAFE_INTEGER,u=r.get(n(a))??Number.MAX_SAFE_INTEGER;return d-u});vt(e,i)}function un(e){for(let t of e)t.style.order="",t.style.transition="",t.style.transform=""}function yi(e,t,n,r){let i=e.filter(s=>s!==t).indexOf(n);return i<0?Math.max(0,e.indexOf(t)):r?i+1:i}function wi(e,t){let n,r=Number.POSITIVE_INFINITY;for(let o of e){let i=o.getBoundingClientRect(),s=t<i.top?i.top-t:t>i.bottom?t-i.bottom:0;s<r&&(r=s,n=o)}return n}function Md(e,t){let n=e.getBoundingClientRect();return n.height<=0?!0:t>n.top+n.height/2}function vi(e,t){let n=e.getBoundingClientRect();return t?n.bottom+fi/2-1:n.top-fi/2-1}function xi(){let e=document.createElementNS(ui,"svg");e.setAttribute("width","10"),e.setAttribute("height","14"),e.setAttribute("viewBox","0 0 10 14"),e.setAttribute("fill","none"),e.setAttribute("aria-hidden","true");let t=[[2.5,3],[7.5,3],[2.5,7],[7.5,7],[2.5,11],[7.5,11]];for(let[n,r]of t){let o=document.createElementNS(ui,"circle");o.setAttribute("cx",String(n)),o.setAttribute("cy",String(r)),o.setAttribute("r","1.2"),o.setAttribute("fill","currentColor"),e.appendChild(o)}return e}function ki(e,t){let n=document.createElement("div");n.className=gi,n.setAttribute("aria-hidden","true"),n.appendChild(xi());let r=document.createElement("span");r.className="bre-drag-ghost-name";let o=t??e.querySelector('[class*="rowName"]')?.textContent?.trim();return r.textContent=o===void 0?"":o,n.appendChild(r),n}function Sd(e){return!(e instanceof Element)||e.closest(`[${wt}]`)!==null?!1:e.closest(Ed)!==null}function Ei(e){return e.parentElement??void 0}function Ti(e){for(let t of de(e))t.classList.remove(dn),t.removeAttribute(gr)}function rt(e){let t=e.parentElement;for(;t!==null;){if(Ld(t))return t;t=t.parentElement}let n=document.scrollingElement;return n instanceof HTMLElement&&n.scrollHeight>n.clientHeight?n:void 0}function Ld(e){if(e.scrollHeight<=e.clientHeight)return!1;let t=e.style.overflowY,n=t.length>0?t:window.getComputedStyle(e).overflowY;return n==="auto"||n==="scroll"||n==="overlay"}function Mi(e,t){let n=e.getBoundingClientRect();return n.height<=0?0:t<n.top+ci?-pi:t>n.bottom-ci?pi:0}function Si(e,t,n){if(t.scrollStep===n)return;if(t.scrollStep=n,n===0){t.frame!==void 0&&(window.cancelAnimationFrame(t.frame),t.frame=void 0);return}let r=t.scroller;if(r===void 0||t.frame!==void 0)return;let o=()=>{t.frame=void 0,!(e.drag!==t||t.scrollStep===0)&&(r.scrollTop+=t.scrollStep,t.frame=window.requestAnimationFrame(o))};t.frame=window.requestAnimationFrame(o)}function Ad(e){let t=e.line;if(t!==void 0&&t.isConnected)return t;let n=document.createElement("div");return n.className=hi,n.setAttribute("aria-hidden","true"),document.body.appendChild(n),e.line=n,n}function Rd(e,t,n){let r=Ad(e),o=t.getBoundingClientRect();r.style.top=`${vi(t,n)}px`,r.style.left=`${o.left}px`,r.style.width=`${o.width}px`,r.style.display="block",r.setAttribute(gr,n?"after":"before")}function Hd(e){e.line!==void 0&&(e.line.style.display="none")}function Od(e){let t=e.drag;e.drag=void 0,t!==void 0&&(Si(e,t,0),Hd(e),t.row.classList.remove(an),Ti(t.list),t.dropped||hr(t.list,()=>{vt(t.list,t.before)}))}function Nd(e,t,n,r){if(Sd(t.target)){t.preventDefault();return}let o=Ei(e),i=n.idOf(e);if(o===void 0||i===void 0){t.preventDefault();return}let s={row:e,list:o,before:$e(o),scroller:rt(o),adapter:n,scrollStep:0,frame:void 0,dropped:!1};r.drag=s,e.classList.add(an);let a=ki(e,n.labelOf(e));Number.isFinite(t.clientX)&&Number.isFinite(t.clientY)&&(a.style.left=`${t.clientX}px`,a.style.top=`${t.clientY}px`),document.body.appendChild(a);let d=t.dataTransfer;if(d!=null)try{d.effectAllowed="move",d.setData("text/plain",i),d.setDragImage(a,Math.round(a.offsetWidth/2),Math.round(a.offsetHeight/2))}catch{}window.setTimeout(()=>{a.remove()},0)}function _d(e,t,n){let r=n.drag;if(r===void 0||r.list!==e)return;let o=t.target,i=o instanceof Element?r.adapter.rowOf(o,e):void 0,s=$e(e),a=i!==void 0&&s.includes(i)?i:wi(s,t.clientY);if(a===void 0)return;t.preventDefault();let d=t.dataTransfer;d!=null&&(d.dropEffect="move");let u=Md(a,t.clientY),m=yi(s,r.row,a,u);m!==s.indexOf(r.row)&&hr(e,()=>{vt(e,Wn(s,r.row,m))}),Ti(e),a.classList.add(dn),a.setAttribute(gr,u?"after":"before"),Rd(n,a,u),Si(n,r,r.scroller===void 0?0:Mi(r.scroller,t.clientY))}function Id(e,t){t.lists.has(e)||(t.lists.add(e),e.addEventListener("dragover",n=>{_d(e,n,t)}),e.addEventListener("drop",n=>{let r=t.drag;r===void 0||r.list!==e||(n.preventDefault(),r.dropped=!0,r.adapter.commit(e))}))}function Dd(e,t,n,r){r.sources.has(e)||(r.sources.add(e),n.seatDrags&&(e.setAttribute(mr,"1"),e.setAttribute("draggable","true")),e.addEventListener("dragstart",o=>{Nd(t,o,n,r)}),e.addEventListener("dragend",()=>{Od(r)}))}function Pd(e,t,n,r){e.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation()}),e.addEventListener("keydown",o=>{if(o.key!=="ArrowUp"&&o.key!=="ArrowDown")return;let i=Ei(t);if(i===void 0)return;let s=$e(i),a=s.indexOf(t);if(a<0)return;let d=a+(o.key==="ArrowUp"?-1:1);d<0||d>=s.length||(o.preventDefault(),hr(i,()=>{vt(i,Wn(s,t,d))}),n.commit(i),e.focus())})}function mi(e,t,n,r){let o=r.gripLabel(t,n),i=r.gripHint();e.getAttribute(wt)!==n&&e.setAttribute(wt,n),e.getAttribute("aria-label")!==o&&e.setAttribute("aria-label",o),e.getAttribute("title")!==i&&e.setAttribute("title",i)}function Cd(e,t,n,r,o){let i=t.querySelector(`[${wt}]`);if(i!==null){mi(i,e,n,r);return}r.decorate?.(e,t);let s=document.createElement("span");s.className="bre-drag-grip",s.setAttribute("role","button"),s.setAttribute("tabindex","0"),s.setAttribute("draggable","true"),s.appendChild(xi()),mi(s,e,n,r),Pd(s,e,r,o),Dd(r.seatDrags?t:s,e,r,o),t.insertBefore(s,t.firstChild)}function fn(e,t,n,r){if(e.isConnected){Id(t,r);for(let o of de(t)){let i=n.idOf(o);if(i===void 0)continue;let s=n.seatOf(o);s!==void 0&&Cd(o,s,i,n,r)}r.drag===void 0&&bi(t,n.order(xt(t,n.idOf)),n.idOf)}}function cn(e){e.drag=void 0;for(let t of Array.from(document.querySelectorAll(`[${wt}]`)))t.remove();for(let t of Array.from(document.querySelectorAll(`[${mr}]`)))t.removeAttribute(mr),t.removeAttribute("draggable");for(let t of Array.from(document.querySelectorAll(`.${an}, .${dn}`)))t.classList.remove(an,dn);for(let t of Array.from(document.querySelectorAll(`.${hi}`)))t.remove();for(let t of Array.from(document.querySelectorAll(`.${gi}`)))t.remove();e.line=void 0}function ot(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var br="__breLedgerDocument";function Oi(){let e=globalThis;return e[br]??(e[br]=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`)}var pn="bre:held-writes:v1";function wr(){try{return typeof sessionStorage>"u"?void 0:sessionStorage}catch{return}}function ve(e){let t=wr();if(t!==void 0)try{if(e.pending.size===0&&e.queued.size===0){t.removeItem(pn);return}let n={document:Oi(),committed:[...e.committing].filter(r=>e.queued.has(r)),pending:[...e.pending].map(([r,o])=>[r,[...o]]),queued:[...e.queued].map(([r,o])=>[r,[...o]])};t.setItem(pn,JSON.stringify(n))}catch{}}function Li(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(!Array.isArray(r)||r.length!==2)return;let[o,i]=r;if(typeof o!="string"||!Array.isArray(i))return;let s=[];for(let a of i){if(!Array.isArray(a)||a.length!==2)return;let[d,u]=a;if(typeof d!="string"||!N(u)||t!==void 0&&!t(u))return;s.push([d,u])}n.push([o,s])}return n}function Fd(e){let t=wr();if(t!==void 0)try{let n=t.getItem(pn);if(n===null)return;let r=JSON.parse(n);if(r.document!==Oi())return;let o=Li(r.pending),i=Li(r.queued,Vd);if(o===void 0||i===void 0)return;let s=Array.isArray(r.committed)?r.committed.filter(a=>typeof a=="string"):[];for(let[a,d]of o)e.pending.set(a,new Map(d));for(let[a,d]of i)s.includes(a)&&(e.queued.set(a,new Map(d)),e.committing.add(a))}catch{}}function Ni(e,t){(async()=>{try{await vr(t,e),await xr(t,e)}catch(n){console.error(`[bre] teardown flush failed: ${n instanceof Error?n.message:String(n)}`)}})()}function _i(e,t){(async()=>{try{await vr(t,e,!0),await xr(t,e,!0)}catch(n){console.error(`[bre] unload flush failed: ${n instanceof Error?n.message:String(n)}`)}finally{try{wr()?.removeItem(pn)}catch{}}})()}function Ii(){let e={mounted:new Map,describePromise:void 0,pending:new Map,missedScans:new Map,queued:new Map,editing:void 0,flushing:!1,flushFailures:0,nextFlushAt:0,committing:new Set,adapting:new Set,signalsUnavailable:!1,submitWired:new WeakSet,cancelWired:new WeakSet,disclosureWired:new WeakSet,editWired:new WeakSet};return Fd(e),e}async function Kd(e,t){if(!t.flushing){t.flushing=!0;try{let n=await vr(e,t),r=await xr(e,t);n||r?Ai(e,t):(t.flushFailures=0,t.nextFlushAt=0)}catch(n){Ai(e,t),console.error(`[bre] idle flush failed: ${n instanceof Error?n.message:String(n)}`)}finally{t.flushing=!1}try{e.onIdle?.()}catch(n){console.error(`[bre] idle hook failed: ${n instanceof Error?n.message:String(n)}`)}}}function Ai(e,t){t.flushFailures+=1;let n=Math.min(2**t.flushFailures*500,3e4);t.nextFlushAt=Date.now()+n,e.onBackoff?.(n)}function Bd(e){return e.queued.size>0||e.pending.size>0}function mn(e,t,n,r,o,i,s){try{let a=e.pending.get(t);if(r===void 0){if(a===void 0)return;a.delete(n),a.size===0&&e.pending.delete(t);return}e.pending.set(t,(a??new Map).set(n,{efforts:r,...o===void 0?{}:{compat:o},...i===void 0?{}:{input:i},...s===void 0?{}:{defaultEffort:s}}))}finally{ve(e)}}function Di(e,t,n,r){e.queued.set(t,(e.queued.get(t)??new Map).set(n,r)),ve(e)}function Wd(e,t,n){let r=e.pending.get(t);r!==void 0&&(r.delete(n),r.size===0&&e.pending.delete(t),ve(e))}function qd(e,t,n){let r=e.queued.get(t);r!==void 0&&(r.delete(n),r.size===0&&e.queued.delete(t),ve(e))}function Ud(e,t,n){Wd(e,t,n),qd(e,t,n)}function jd(e,t){e.queued.delete(t),e.pending.delete(t),e.missedScans.delete(t),e.committing.delete(t),ve(e)}function zd(e,t,n){if(t===void 0)return null;let i=t[ae]!==!0&&t.reasoningEfforts!==void 0&&typeof t[Je]=="number"||t[ae]!==!0&&n?.efforts!==void 0&&Gd(t.reasoningEfforts,n.efforts)?!1:t.reasoningEfforts!==void 0||t[ae]===!0||e.efforts==="keep",a=t[Me]!==!0&&n?.input!==void 0&&$d(t.input,n.input)?!1:Array.isArray(t.input)&&t.input.length>0||t[Me]===!0,d=i?"keep":e.efforts,u=a?void 0:e.input,m=e.defaultEffort;return d==="keep"&&u===void 0&&m===void 0?null:{efforts:d,...e.compat===void 0?{}:{compat:e.compat},...u===void 0?{}:{input:u},...m===void 0?{}:{defaultEffort:m}}}function Gd(e,t){if(e===t)return!0;if(!N(e)||!N(t))return!1;let n=Object.keys(t);if(Object.keys(e).length!==n.length)return!1;let r=t;return n.every(o=>e[o]===r[o])}function $d(e,t){if(!Array.isArray(e)||e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>typeof r=="string"&&n.has(r))}function Vd(e){if(!N(e))return!1;let t=e.efforts;if(t!==!1&&t!=="keep"&&!N(t))return!1;let n=e.clearCompatKeys;return n===void 0||Array.isArray(n)&&n.every(r=>typeof r=="string")}async function Yd(e,t,n,r,o=!1){let i=await e.describeNamespace(),s=we(i.namespace),a=[];for(let[p,g]of[...r]){let l=Yt(s,n).find(y=>y.id===p);if(l===void 0||t.pending.get(n)?.get(p)!==g)continue;let c=qe(s,n),f=typeof l.name=="string"?l.name:void 0,b=be(p,f===void 0?c:{...c,displayName:f}),k=zd(g,l,{...b.efforts===void 0?{}:{efforts:b.efforts},...b.input===void 0?{}:{input:b.input}});if(k===null){mn(t,n,p,void 0);continue}a.push({modelId:p,efforts:k.efforts,...k.compat===void 0?{}:{compat:k.compat},...k.input===void 0?{}:{input:k.input},...k.defaultEffort===void 0?{}:{defaultEffort:k.defaultEffort}})}if(a.length===0)return!1;let d=!1,u=await bt(e.api,n,a,()=>d?e.describeNamespace():(d=!0,Promise.resolve(i)),o?void 0:Fi),m=!1;return a.forEach((p,g)=>{let l=u[g];if(l?.aborted!==!0){if(l?.ok===!0||l?.modelNotFound===!0){mn(t,n,p.modelId,void 0);return}m=!0,console.error(`[bre] staged flush write failed for "${n}"/"${p.modelId}": ${l?.error??"unknown"}`)}}),m}async function vr(e,t,n=!1){for(let s of[...t.committing])t.queued.has(s)||t.committing.delete(s);if(![...t.queued.keys()].some(s=>t.committing.has(s)||t.signalsUnavailable)||(await e.describeNamespace()).writable!==!0)return ve(t),!1;let i=!1;for(let[s,a]of[...t.queued]){if(!t.committing.has(s)&&!t.signalsUnavailable)continue;let u=[...a].map(([g,l])=>({modelId:g,efforts:l.efforts,...l.compat===void 0?{}:{compat:l.compat},...l.input===void 0?{}:{input:l.input},...l.clearCompatKeys===void 0?{}:{clearCompatKeys:l.clearCompatKeys},...l.defaultEffort===void 0?{}:{defaultEffort:l.defaultEffort}})),m=await bt(e.api,s,u,void 0,n?void 0:Fi),p=!1;u.forEach((g,l)=>{let c=m[l];if(c?.aborted===!0){p=!0;return}if(c?.ok===!0||c?.modelNotFound===!0){a.delete(g.modelId);return}console.error(`[bre] held write failed for "${s}"/"${g.modelId}": ${c?.error??"unknown"}`)}),a.size===0?(t.queued.delete(s),t.committing.delete(s)):p||(i=!0)}return ve(t),i}async function xr(e,t,n=!1){if(t.pending.size===0)return!1;let r=await e.describeNamespace();if(r.writable!==!0)return!1;let o=we(r.namespace),i=!1;for(let[s,a]of[...t.pending]){if(a.size===0){t.pending.delete(s);continue}ot(o,s)&&await Yd(e,t,s,a,n)&&(i=!0)}return ve(t),i}function He(e,t){for(let n of t){let r=Array.from(e.querySelectorAll("input[aria-label], select[aria-label]")).find(o=>(o.getAttribute("aria-label")??"").startsWith(n));if(r!==void 0&&r.value.trim().length>0)return r.value.trim()}return""}function gn(e){return e.closest('[class*="editor"], [class*="rowCard"], [class*="addCard"]')??void 0}function Jd(e){let t=e.closest('[class*="modelEntry"]');if(t===null){let r=gn(e);if(r===void 0)return;let o=Array.from(r.querySelectorAll('[class*="modelAdvanced"]'));return o.find(i=>i.offsetParent!==null)??o[0]}let n=Array.from(t.querySelectorAll('[class*="modelAdvanced"]'));return n.find(r=>r.offsetParent!==null)??n[0]}function Xd(e){return e.querySelector('[class*="modelInputTypes"]')!==null}function Qd(e,t,n,r,o){!e.isConnected||Er(e)===void 0||Array.from(e.querySelectorAll("button[aria-label]")).some(s=>o.capacity.some(a=>(s.getAttribute("aria-label")??"").startsWith(a)))||sn(e,Zd(e,we(r.namespace),o),{t:t.t,onRequest:s=>Pi(n,t,s)})}function Zd(e,t,n){let r=[];for(let o of cr(e)){let i=gn(o);if(i===void 0)continue;let s=Re(i,t,n);s===void 0||s.staged||r.push({catalogue:o,route:s.route})}return r}function el(e,t,n){let r=[],o=new Set;for(let i of e){if(o.has(i.card))continue;o.add(i.card);let s=Re(i.card,t,n);if(s===void 0)continue;let[a]=cr(i.card);a!==void 0&&r.push({catalogue:a,route:s.route})}return r}async function Pi(e,t,n){if(n.length===0)return{held:0,unsuggested:0,blocked:"unknown-route"};if(e.adapting.has(n))return{held:0,unsuggested:0,blocked:"busy"};e.adapting.add(n);let r=0,o=0;try{let i,s=()=>i??(i=t.describeNamespace()),a=await s(),d=we(a.namespace);if(a.writable!==!0)return{held:0,unsuggested:0,blocked:"unwritable"};if(!ot(d,n))return{held:0,unsuggested:0,blocked:"unknown-route"};let u=Yt(d,n);if(u.length===0)return{held:0,unsuggested:0,blocked:"no-models"};let m=d[n]??{},p=typeof m.api=="string"?m.api:void 0,g=new Set;for(let c of e.mounted.values())c.props.route===n&&c.props.efforts!==void 0&&g.add(c.props.modelId);let l=nn(t.api,s,void 0,(c,f,b)=>{Di(e,c,f,b)});for(let c of u){let f=typeof c.id=="string"?c.id:"";if(f.length===0||g.has(f))continue;let b=Xt(u,f);if(b!==void 0||c[ae]===!0)continue;let k=Qt(u,f),y=Zt(u,f),v=tn(u,f)??"",S=await l.suggest(n,f,en(u,f));if(!S.ok){o+=1;continue}let w=S.suggestion,M=w.efforts!==!1,R=w.input===void 0?ze(k):ze(w.input),K=w.defaultEffort??v,j=K===v?void 0:K===""?null:K;l.commit(n,f,ur({efforts:lr(M,nt(je(w.efforts)),b),input:rn(R,k)?void 0:dr(R),defaultEffort:j,manualCompat:ii(y),appliedCompat:w.compat,routeApi:p,initialCompat:y})),r+=1}return{held:r,unsuggested:o}}catch(i){return console.warn("[bre] provider-wide adapt failed:",i),{held:r,unsuggested:o,failed:i instanceof Error?i.message:String(i)}}finally{e.adapting.delete(n)}}function tl(e){return e.querySelector(`[data-plugin="${Q}"]`)!==null}function nl(e,t){return e.route===t.route&&e.routeDisplayName===t.routeDisplayName&&e.routeApi===t.routeApi&&e.routeBaseURL===t.routeBaseURL&&e.modelId===t.modelId&&e.modelName===t.modelName&&e.index===t.index&&e.readOnly===t.readOnly&&e.defaultEffort===t.defaultEffort&&e.staged===t.staged&&e.officialInputTypes===t.officialInputTypes&&e.effortsUnset===t.effortsUnset&&yt(e.efforts,t.efforts)&&ol(e.input,t.input)&&rl(e.compat,t.compat)}function rl(e,t){return e===t?!0:e===void 0||t===void 0?!1:JSON.stringify({...e},Object.keys({...e,...t}).sort())===JSON.stringify({...t},Object.keys({...e,...t}).sort())}function ol(e,t){if(e===t)return!0;if(e===void 0||t===void 0)return!1;let n=new Set(e);return e.length===t.length&&t.every(r=>n.has(r))}function il(e,t){return Array.from(e.querySelectorAll("input[aria-label], select[aria-label]")).some(n=>t.some(r=>(n.getAttribute("aria-label")??"").startsWith(r)))}function Re(e,t,n){let r=e.querySelector('[class*="editorRoute"]')?.textContent?.trim();if(r!==void 0&&r.length>0&&ot(t,r))return{route:r,staged:!1};if(il(e,n.routeId)){let s=He(e,n.routeId);return s.length>0&&!ot(t,s)?{route:s,staged:!0}:void 0}let o=e.querySelector('[class*="editorTitle"], [class*="rowName"]')?.textContent?.trim();if(o===void 0||o.length===0)return;let i=Object.entries(t).find(([,s])=>s.displayName===o);if(i!==void 0)return{route:i[0],staged:!1};if(ot(t,o))return{route:o,staged:!1}}function sl(e,t){let n=e.querySelector('[class*="editorActions"]');if(n===null)return;let r=Array.from(n.querySelectorAll("button"));if(r.length<2)return;let o=(p,g)=>(p.textContent??"").trim()===g,i=n.querySelector('[class*="primaryButton"]'),s=n.querySelector('[class*="secondaryButton"]');if(i!==null&&s!==null)return{submit:i,cancel:s};let a=[...r].reverse().find(p=>t.apply.some(g=>o(p,g))),d=[...r].reverse().find(p=>t.cancel.some(g=>o(p,g)));if(a!==void 0&&d!==void 0)return{submit:a,cancel:d};let u=r[r.length-1],m=r[r.length-2];if(!(u===void 0||m===void 0))return{submit:u,cancel:m}}function hn(e,t,n){t.has(e)||(t.add(e),e.addEventListener("click",n,{capture:!0}))}var yr=new WeakMap,Ci=420,al=320,dl=160,Ri=2e3,ll=150,ul=new Set(["PageUp","PageDown","Home","End","ArrowUp","ArrowDown"," "]);function kr(e,t){let n=rt(e);if(n===void 0||!e.isConnected)return;let r=performance.now(),o=yr.get(n);if(o!==void 0){o.deadline=Math.min(Math.max(o.deadline,r+t),o.startedAt+Ri);return}let i=e.getBoundingClientRect(),s=i.top,a=i.height,d=n.scrollTop;n.style.overflowAnchor="none";let u={deadline:r+t,startedAt:r,frame:void 0,release:()=>{}},m=()=>{u.frame!==void 0&&(window.cancelAnimationFrame(u.frame),u.frame=void 0),n.style.overflowAnchor="",yr.delete(n),document.removeEventListener("wheel",p,!0),document.removeEventListener("touchstart",p,!0),document.removeEventListener("pointerdown",p,!0),document.removeEventListener("keydown",g,!0)};function p(){m()}function g(f){ul.has(f.key)&&m()}u.release=m,yr.set(n,u),document.addEventListener("wheel",p,{capture:!0,passive:!0}),document.addEventListener("touchstart",p,{capture:!0,passive:!0}),document.addEventListener("pointerdown",p,{capture:!0}),document.addEventListener("keydown",g,{capture:!0});let l=0,c=()=>{if(u.frame=void 0,l+=1,!e.isConnected||l>=ll){m();return}let f=e.getBoundingClientRect(),b=Math.abs(f.height-a)>.5;if(!b&&n.scrollTop!==d){m();return}let k=f.top-s;k!==0&&(n.scrollTop+=k,d=n.scrollTop);let y=performance.now();if(b&&(a=f.height,u.deadline=Math.min(Math.max(u.deadline,y+dl),u.startedAt+Ri)),y>=u.deadline){m();return}u.frame=window.requestAnimationFrame(c)};u.frame=window.requestAnimationFrame(c)}function fl(e,t){hn(e,t,()=>{let n=e.closest('[class*="modelEntry"]')??e.closest('[class*="rowCard"]');n!==null&&kr(e.closest('[class*="rowCard"]')??n,Ci)})}var Hi="{provider}";function cl(e,t){let n=t.editProvider.map(o=>{let i=o.indexOf(Hi);return i<0?void 0:{prefix:o.slice(0,i),suffix:o.slice(i+Hi.length)}}).filter(o=>o!==void 0);if(n.length===0)return[];let r=[];for(let o of Array.from(e.querySelectorAll("button[aria-label]"))){let i=o.getAttribute("aria-label")??"";n.some(s=>i.length>s.prefix.length+s.suffix.length&&i.startsWith(s.prefix)&&i.endsWith(s.suffix))&&o.closest("[data-plugin]")===null&&r.push(o)}return r}function pl(e,t){hn(e,t,()=>{let n=e.closest('[class*="rowCard"], [class*="setupCard"], [class*="addCard"]');n!==null&&kr(n,Ci)})}function Er(e){return e.querySelector('[class*="editorActions"]')??e.querySelector('[class*="modelEntry"]')??void 0}function Fi(){return Er(ce())!==void 0}function Ki(e,t,n){if(!e.isConnected)return;let r=t.labels(),o=Er(e)!==void 0;for(let a of Array.from(e.querySelectorAll('[class*="rowCard"], [class*="setupCard"]')))for(let d of cl(a,r))pl(d,n.editWired);let i=Array.from(e.querySelectorAll("button[aria-label]")).some(a=>r.capacity.some(d=>(a.getAttribute("aria-label")??"").startsWith(d)));if(!o){if(sn(e,[],{t:t.t}),n.mounted.size>0){for(let[,d]of n.mounted)d.editor.unmount();n.mounted.clear()}let a=n.editing;n.editing=!1,(a!==!1||Bd(n)&&Date.now()>=n.nextFlushAt)&&Kd(t,n).catch(d=>{console.error(`[bre] idle pass failed: ${d instanceof Error?d.message:String(d)}`)});return}if(n.editing=!0,!i){for(let[,d]of n.mounted)d.editor.unmount();n.mounted.clear(),n.describePromise??(n.describePromise=t.describeNamespace());let a=r;n.describePromise.then(d=>{Qd(e,t,n,d,a)}).catch(d=>{console.error(`[bre] empty-catalog seat failed: ${d instanceof Error?d.message:String(d)}`)});return}for(let a of r.capacity)for(let d of Array.from(e.querySelectorAll("button[aria-label]")))(d.getAttribute("aria-label")??"").startsWith(a)&&fl(d,n.disclosureWired);n.describePromise??(n.describePromise=t.describeNamespace());let s=a=>{if(!e.isConnected)return;let d=a.namespace,u=we(d),m=[];for(let g of r.capacity){let l=Array.from(e.querySelectorAll("button[aria-label]")).filter(c=>(c.getAttribute("aria-label")??"").startsWith(g));for(let c of l){let f=gn(c);if(f===void 0)continue;let b=c.closest('[class*="modelEntry"]')??f,k=He(b,r.modelId);k.length!==0&&m.push({container:Jd(c),row:b,modelId:k,card:f})}}sn(e,el(m,u,r),{t:t.t,onRequest:g=>Pi(n,t,g)});for(let[g,l]of n.mounted)m.some(c=>c.container===g)||(l.editor.unmount(),n.mounted.delete(g));if(n.pending.size>0){let g=new Map;for(let c of m){let f=Re(c.card,u,r);if(f===void 0)continue;let b=g.get(f.route);b===void 0&&g.set(f.route,b=new Set),b.add(c.modelId)}let l=new Map;for(let[c,f]of n.pending){if(!ot(u,c))continue;let b=g.get(c),k=[...f.keys()].filter(y=>!b?.has(y));k.length>0&&l.set(c,new Set(k))}for(let[c,f]of l){let b=n.missedScans.get(c);if(b!==void 0)for(let k of f)b.has(k)&&(mn(n,c,k,void 0),b.delete(k))}n.missedScans=l}let p=new Set(m.map(g=>g.card));for(let g of p){let l=Re(g,u,r);if(l===void 0)continue;let c=l.route,f=sl(g,r);f===void 0?n.signalsUnavailable=!0:(n.signalsUnavailable=!1,hn(f.submit,n.submitWired,()=>{let b=Re(g,u,r)?.route??c;n.committing.add(b),ve(n)}),hn(f.cancel,n.cancelWired,()=>{let b=Re(g,u,r)?.route??c;jd(n,b)}))}m.forEach((g,l)=>{let c=g.container;if(c===void 0)return;let f=Re(g.card,u,r);if(f===void 0)return;let{route:b,staged:k}=f,y=u[b]??{},v=Yt(u,b),S=new Set(v.map(_=>_.id)),w=k||!S.has(g.modelId),M=w?n.pending.get(b)?.get(g.modelId)?.efforts:void 0,R=w?M==="keep"?void 0:M:Xt(v,g.modelId),K=!w&&v.some(_=>_.id===g.modelId&&_[ae]===!0),j=w?n.pending.get(b)?.get(g.modelId)?.input:Qt(v,g.modelId),I=w?n.pending.get(b)?.get(g.modelId)?.compat:Zt(v,g.modelId),B=w?n.pending.get(b)?.get(g.modelId)?.defaultEffort??void 0:tn(v,g.modelId),A=w?He(g.row,r.modelName):"",D=w?A.length>0?A:void 0:en(v,g.modelId),q=k?He(g.card,r.apiProtocol):"",P=k?He(g.card,r.baseUrl):"",z=k&&q.length>0?q:typeof y.api=="string"?y.api:void 0,Y=k&&P.length>0?P:typeof y.baseURL=="string"?y.baseURL:void 0,U={route:b,routeDisplayName:k?b:typeof y.displayName=="string"?y.displayName:b,...z===void 0?{}:{routeApi:z},...Y===void 0?{}:{routeBaseURL:Y},modelId:g.modelId,...D===void 0?{}:{modelName:D},...R===void 0?{}:{efforts:R},...K?{effortsUnset:K}:{},...j===void 0?{}:{input:j},...I===void 0?{}:{compat:I},...B===void 0?{}:{defaultEffort:B},index:l,staged:w,officialInputTypes:Xd(c),api:nn(t.api,void 0,(_,te,oe,Pe,Ye,Ee)=>{mn(n,_,te,oe,Pe,Ye,Ee)},(_,te,oe)=>{Di(n,_,te,oe)},_=>{Ud(n,_,g.modelId)},()=>(Re(g.card,u,r)?.staged??k)||!S.has(g.modelId)),readOnly:a.writable!==!0,t:t.t},L=n.mounted.get(c);if(L!==void 0){nl(L.props,U)||(L.props=U,L.editor.render(U));return}if(tl(c))return;kr(gn(c)??g.card,al);let C=t.mount(c,U);n.mounted.set(c,{editor:C,props:U})})};n.describePromise.then(s,()=>{n.describePromise=void 0})}function $(e,t,n){e.getAttribute(t)!==n&&e.setAttribute(t,n)}function kt(e,t){e!==void 0&&e.hidden!==t&&(e.hidden=t)}function Oe(e,t,n){e.classList.contains(t)!==n&&(n?e.classList.add(t):e.classList.remove(t))}function bn(e,t){e!==void 0&&e.textContent!==t&&(e.textContent=t)}var Tr=require("react");var Z=require("react");function Bi(e){if(typeof e!="string")return;let t="";for(let n of e){let r=n.codePointAt(0)??0;r<32||r===127||(t+=n)}if(t=t.trim(),t.length!==0)return t.slice(0,40)}function yn(e){return typeof e=="string"&&/^[\x21-\x7E]+$/.test(e)}function ml(e){for(let t of["error","message"]){let n=e[t];if(typeof n=="string"&&n.length>0)return n}}function gl(e){if(!N(e))return;let t=e.ref;if(typeof t!="string"||t.length===0)return;let n=e.alias,r=e.configured,o=e.masked;return{ref:t,...typeof n=="string"&&n.length>0?{alias:n}:{},enabled:e.enabled===!0,configured:typeof r=="boolean"?r:null,...typeof o=="string"&&o.length>0?{masked:o}:{}}}function hl(e){let t=e.entries;if(!Array.isArray(t))return;let n=[];for(let i of t){let s=gl(i);s!==void 0&&n.push(s)}let r=e.enabledRef,o=e.route;return{ok:!0,route:typeof o=="string"?o:"",enabledRef:typeof r=="string"&&r.length>0?r:null,entries:n}}async function bl(e){let t;try{t=await e.json()}catch{t=void 0}if(!N(t))return{ok:!1};if(t.ok===!0){let r=hl(t);if(r!==void 0)return r}let n=ml(t);return n===void 0?{ok:!1}:{ok:!1,error:n}}async function it(e,t){let n=`${Vr}?route=${encodeURIComponent(e)}`;try{let r=await fetch(n,t===void 0?{method:"GET",cache:"no-store",credentials:"same-origin"}:{method:"POST",cache:"no-store",credentials:"same-origin",headers:{"content-type":"application/json"},body:JSON.stringify(t)});return await bl(r)}catch{return{ok:!1}}}var Wi={list:e=>it(e),add:(e,t,n)=>it(e,{op:"add",value:t,...n===void 0?{}:{alias:n}}),enable:(e,t)=>it(e,{op:"enable",ref:t}),rename:(e,t,n)=>it(e,{op:"rename",ref:t,...n===void 0?{}:{alias:n}}),remove:(e,t)=>it(e,{op:"remove",ref:t}),replace:(e,t,n)=>it(e,{op:"value",ref:t,value:n}),async reveal(e,t){try{let n=await fetch(`${Pt}?route=${encodeURIComponent(e)}&ref=${encodeURIComponent(t)}`,{method:"GET",cache:"no-store",credentials:"same-origin"});if(!n.ok)return;let r=await n.json();if(!N(r)||r.ok!==!0)return;let o=r.key;return typeof o=="string"&&o.length>0?o:void 0}catch{return}}};var H=require("react/jsx-runtime"),yl="M3.9 8.35 6.6 11.05 12.1 5.5",wl=["M8 3.9v8.2","M3.9 8h8.2"];function qi({paths:e}){return(0,H.jsx)("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:e.map(t=>(0,H.jsx)("path",{d:t},t))})}function vl(e,t){return e.masked!==void 0?e.masked:e.configured===!1?t("keysMissing"):"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"}function xl(e){return e.alias??e.masked??e.ref}function Ui(e){let{route:t,t:n}=e,r=e.client??Wi,o=(0,Z.useId)(),[i,s]=(0,Z.useState)(void 0),[a,d]=(0,Z.useState)(null),[u,m]=(0,Z.useState)(void 0),[p,g]=(0,Z.useState)(!1),[l,c]=(0,Z.useState)(void 0),[f,b]=(0,Z.useState)(""),[k,y]=(0,Z.useState)(""),[v,S]=(0,Z.useState)(void 0),w=(0,Z.useCallback)((A,D)=>{if(!A.ok){m({kind:"error",text:A.error??n("keysUnreachable")});return}s(A.entries),d(A.enabledRef),m(D===void 0?void 0:{kind:"status",text:D})},[n]);(0,Z.useEffect)(()=>{let A=!0;return(async()=>{let D=await r.list(t);A&&w(D,void 0)})(),()=>{A=!1}},[w,r,t]);let M=(0,Z.useCallback)(async(A,D)=>{g(!0),S(void 0),c(void 0);try{w(await A(),D)}finally{g(!1)}},[w]),R=()=>{c(void 0),b(""),y("")},K=(A,D)=>{c({kind:A,ref:D.ref}),b(A==="alias"?D.alias??"":""),y(""),S(void 0)},j=()=>{if(p||l===void 0)return;let A=l.kind,D=l.ref;if(A!=="alias"&&!yn(k))return;let q=Bi(f);g(!0),(async()=>{try{if(A==="add"){let z=await r.add(t,k,q);w(z,n("keysAdded")),z.ok&&R();return}if(D===void 0)return;let P=A==="alias"?await r.rename(t,D,q):await r.replace(t,D,k);w(P,n(A==="alias"?"keysRenamed":"keysReplaced")),P.ok&&R()}finally{g(!1)}})()},I=()=>{if(l===void 0)return null;let A=l.kind,D=A!=="alias",q=D&&k.length>0&&!yn(k);return(0,H.jsxs)("div",{className:"bre-keys-form",children:[(0,H.jsxs)("div",{className:"bre-keys-form-fields",children:[A==="value"?null:(0,H.jsx)("input",{className:"bre-text-input bre-keys-name",type:"text",value:f,placeholder:n("keysAliasPlaceholder"),"aria-label":n("keysAlias"),disabled:p,autoFocus:A==="alias",onChange:P=>b(P.target.value)}),D?(0,H.jsx)("input",{className:"bre-text-input bre-keys-secret",type:"password",autoComplete:"new-password",spellCheck:!1,value:k,placeholder:n(A==="add"?"keysValuePlaceholder":"keysNewValuePlaceholder"),"aria-label":n("keysValue"),"aria-invalid":q,disabled:p,autoFocus:!0,onChange:P=>y(P.target.value)}):null]}),q?(0,H.jsx)("p",{className:"bre-effort-message bre-error",role:"alert",children:n("keysAddIllegal")}):null,(0,H.jsxs)("div",{className:"bre-keys-form-actions",children:[(0,H.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:R,children:n("keysCancel")}),(0,H.jsx)("button",{type:"button",className:"bre-primary-button",disabled:p||D&&!yn(k),onClick:j,children:n(A==="add"?"keysAddConfirm":"keysSave")})]})]})},B=()=>l?.kind==="add"?(0,H.jsx)("li",{className:"bre-keys-form-row",children:I()}):(0,H.jsx)("li",{className:"bre-keys-add-row",children:(0,H.jsxs)("button",{type:"button",className:"bre-keys-add",disabled:p,onClick:()=>{c({kind:"add"}),b(""),y(""),S(void 0)},children:[(0,H.jsx)("span",{className:"bre-keys-add-mark","aria-hidden":"true",children:(0,H.jsx)(qi,{paths:wl})}),n("keysAdd")]})});return i===void 0?u===void 0?(0,H.jsx)("div",{className:"bre-keys"}):(0,H.jsxs)("div",{className:"bre-keys",children:[(0,H.jsx)("p",{className:"bre-effort-message bre-"+u.kind,role:u.kind==="error"?"alert":"status",children:u.text}),(0,H.jsx)("ul",{className:"bre-keys-list",children:B()})]}):(0,H.jsxs)("div",{className:"bre-keys",children:[(0,H.jsxs)("ul",{className:"bre-keys-list",children:[i.map(A=>{let D=xl(A);return(0,H.jsxs)(Z.Fragment,{children:[(0,H.jsxs)("li",{className:"bre-keys-row","data-state":A.configured===!1?"missing":"ready",children:[A.alias===void 0?null:(0,H.jsx)("span",{className:"bre-keys-alias",children:A.alias}),(0,H.jsx)("span",{className:A.alias===void 0?"bre-keys-mask bre-keys-mask-plain":"bre-keys-mask",children:vl(A,n)}),(0,H.jsx)("span",{className:"bre-keys-actions",children:v===A.ref?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)("button",{type:"button",className:"bre-link-button bre-keys-danger",disabled:p,onClick:()=>{M(()=>r.remove(t,A.ref),n("keysRemoved"))},children:n("keysConfirmRemove")}),(0,H.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:()=>S(void 0),children:n("keysCancel")})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:()=>{S(A.ref),c(void 0)},children:n("keysRemove")}),(0,H.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:()=>K("alias",A),children:n("keysAlias")}),(0,H.jsx)("button",{type:"button",className:"bre-link-button",disabled:p,onClick:()=>K("value",A),children:n("keysEdit")})]})}),(0,H.jsxs)("label",{className:"bre-keys-enable",title:n("keysEnable",{name:D}),children:[(0,H.jsx)("input",{type:"radio",name:o,className:"bre-keys-enabled",checked:A.enabled,disabled:p,"aria-label":n("keysEnable",{name:D}),onChange:()=>{M(()=>r.enable(t,A.ref),n("keysEnabledNote",{name:D}))}}),(0,H.jsx)("span",{className:"bre-keys-mark","aria-hidden":"true",children:A.enabled?(0,H.jsx)(qi,{paths:[yl]}):null}),(0,H.jsx)("span",{className:"bre-keys-enable-text",children:n("keysEnabled")})]})]}),l!==void 0&&l.ref===A.ref?(0,H.jsx)("li",{className:"bre-keys-form-row",children:I()}):null]},A.ref)}),B()]}),u===void 0?null:(0,H.jsx)("p",{className:"bre-effort-message bre-"+u.kind,role:u.kind==="error"?"alert":"status",children:u.text})]})}var vn="bre-key-managed",kl="bre-keys-host",Mr="data-bre-key-host",El="data-bre-key-input",wn="data-bre-region",Ne=new WeakMap;function Tl(e){let t=e.querySelector(`input[${El}]`);if(t instanceof HTMLInputElement)return t;let n=e.querySelector('input[type="password"]');return n instanceof HTMLInputElement?n:void 0}function ji(e){let t=Ne.get(e)?.host;if(t!==void 0&&t.isConnected)return t;let n=e.nextElementSibling;return n instanceof HTMLElement&&n.hasAttribute(Mr)?n:void 0}function zi(e,t){let n=t.route;if(n===void 0||n.length===0||Tl(e)===void 0||e.parentElement===null)return;Oe(e,vn,!0);let r=Ne.get(e),o=ji(e);o===void 0&&(r!==void 0&&Gi(e,r),o=e.ownerDocument.createElement("div"),o.className=kl,e.after(o)),$(o,Mr,n);let i=e.getAttribute(wn);i===null?o.hasAttribute(wn)&&o.removeAttribute(wn):$(o,wn,i);let s=()=>(0,Tr.createElement)(xe,{fallbackText:t.t("keysPanelFailed")},(0,Tr.createElement)(Ui,{route:n,t:t.t,client:t.client})),a=Ne.get(e);if(a!==void 0&&a.route===n){(a.t!==t.t||a.client!==t.client)&&(a.t=t.t,a.client=t.client,a.mount.root.render(s()));return}a!==void 0&&(Ne.delete(e),a.mount.root.unmount()),Ne.set(e,{route:n,host:o,mount:gt(o,s(),{sync:!0}),t:t.t,client:t.client})}function Gi(e,t){Ne.delete(e),We(t.mount)}function xn(e){Oe(e,vn,!1);let t=Ne.get(e);t!==void 0&&Gi(e,t),ji(e)?.remove()}function $i(){for(let e of Array.from(document.querySelectorAll(`[${Mr}]`))){let t=e.previousElementSibling;t instanceof HTMLElement&&Ne.has(t)?xn(t):e.remove()}}var Vi="http://www.w3.org/2000/svg",Ml="data-bre-icon";function Sl(e){let t=document.createElementNS(Vi,"path");return t.setAttribute("d",e),t}function Yi(e,t){let n=document.createElementNS(Vi,"svg");return n.setAttribute("viewBox","0 0 16 16"),n.setAttribute("width","16"),n.setAttribute("height","16"),n.setAttribute("fill","none"),n.setAttribute("stroke","currentColor"),n.setAttribute("stroke-width","1.5"),n.setAttribute("stroke-linecap","round"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("aria-hidden","true"),n.setAttribute("focusable","false"),n.setAttribute(Ml,e),n.append(...t.map(Sl)),n}var En="bre-key-field",Zi="bre-key-eye",kn="data-bre-key-input",es="data-bre-eye-show",ts="data-bre-eye-hide",Ji=["M1.5 8S4 3.75 8 3.75 14.5 8 14.5 8 12 12.25 8 12.25 1.5 8 1.5 8Z","M6.2 8a1.8 1.8 0 1 0 3.6 0 1.8 1.8 0 0 0-3.6 0Z"],Ar=new WeakMap;function Sr(e){let t=e.querySelector(`input[${kn}]`);if(t instanceof HTMLInputElement)return t;let n=e.querySelector('input[type="password"]');return n instanceof HTMLInputElement?n:void 0}function ns(e){for(let t of Array.from(e.children))if(t instanceof HTMLButtonElement&&t.classList.contains(Zi))return t}function rs(e,t){let n=Sr(e);if(n===void 0){Tn(e);return}Ar.set(e,t),$(n,kn,""),Oe(e,En,!0);let r=ns(e)??Al(e);$(r,es,t.t("keyRevealShow")),$(r,ts,t.t("keyRevealHide")),Lr(r,n)}function Tn(e){let t=ns(e);t!==void 0&&t.remove(),Ar.delete(e),Oe(e,En,!1);let n=e.querySelector(`input[${kn}]`);n instanceof HTMLInputElement&&(n.removeAttribute(kn),n.type="password")}async function Ll(e){try{let t=await fetch(`${Pt}?route=${encodeURIComponent(e)}`,{method:"GET",cache:"no-store",credentials:"same-origin"});if(!t.ok)return;let n=await t.json();return n===null||typeof n!="object"||n.ok!==!0?void 0:typeof n.key=="string"&&n.key.length>0?n.key:void 0}catch{return}}function Lr(e,t){let n=t.type!=="password";$(e,"aria-pressed",n?"true":"false");let r=e.getAttribute(n?ts:es);r!==null&&($(e,"aria-label",r),$(e,"title",r)),kt(e,t.disabled)}function Xi(e,t){let n=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");n?.set===void 0?e.value=t:n.set.call(e,t),e.dispatchEvent(new Event("input",{bubbles:!0}))}function Al(e){let t=document.createElement("button");t.type="button",t.className=Zi,t.append(Qi("eye"),Qi("eye-off"));let n,r=async()=>{let o=Sr(e),i=Ar.get(e);if(o===void 0||i===void 0)return;if(o.type!=="password"){n!==void 0&&o.value===n&&Xi(o,""),n=void 0,o.type="password",Lr(t,o);return}let s=i.route;if(s!==void 0&&n===void 0&&o.value.length===0){$(t,"aria-busy","true");let a;try{a=await(i.loadKey??Ll)(s)}catch{a=void 0}if(t.hasAttribute("aria-busy")&&t.removeAttribute("aria-busy"),a===void 0){let d=i.t("keyRevealFailed");$(t,"aria-label",d),$(t,"title",d);return}Sr(e)===o&&o.value.length===0&&(n=a,Xi(o,a))}o.type="text",Lr(t,o)};return t.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),r()}),e.append(t),t}function Qi(e){let t=e==="eye-off"?[...Ji,"M2.5 13.5 13.5 2.5"]:Ji;return Yi(e,t)}var Rr="bre-editor-tabs",Rl="bre-editor-tab",Mn="data-bre-tab-id",Mt="bre-tabbed",Ie="data-bre-tab",os="data-bre-provider",pe="data-bre-region",Tt="data-bre-editor-body",St="data-bre-details";var Hl=".bre-headers",_e="provider",st="models",at="advanced",Ol=[_e,st,at],Nl="none",is=Ol,ss=Rr,as=Rl,ds=Mn,Sn='[class*="editorActions"], [class*="modelList"], [class*="modelCatalog"], [class*="modelEntry"]',_l='[class*="modelCatalog"], [class*="modelList"], [class*="modelEntry"]',ls='[class*="rowCard"], [class*="addCard"], li';function us(){return{warned:new WeakSet}}function An(e){return e===null?null:e.closest(ls)}function fs(e,t){let n=rt(e),r=e.getBoundingClientRect().top,o=n?.scrollTop??0;n!==void 0&&(n.style.overflowAnchor="none"),$(e,Ie,t),ms(e),n!==void 0&&requestAnimationFrame(()=>{if(n.style.overflowAnchor="",n.scrollTop!==o)return;let i=e.getBoundingClientRect().top-r;i!==0&&(n.scrollTop+=i)})}function Hr(e,t,n){if(!e.isConnected)return;let r=new Set;for(let o of Array.from(e.querySelectorAll(Sn))){let i=o.closest(ls);i!==null&&r.add(i)}for(let o of Array.from(e.querySelectorAll(`.${Mt}`)))r.has(o)||Ln(o);for(let o of r)try{Fl(o,t)}catch(i){n.warned.has(o)||(n.warned.add(o),console.warn("[bre] editor tabs: rolled a provider card back to the official layout:",i)),Ln(o)}}function cs(){for(let e of Array.from(document.querySelectorAll(`.${Mt}`))){e.classList.remove(Mt),e.removeAttribute(Ie),e.removeAttribute(Tt);for(let t of Array.from(e.querySelectorAll(`[${pe}]`)))t.removeAttribute(pe)}for(let e of Array.from(document.querySelectorAll(`[${Ie}]`)))e.removeAttribute(Ie);for(let e of Array.from(document.querySelectorAll(`[${pe}]`)))e.removeAttribute(pe);for(let e of Array.from(document.querySelectorAll(`[${Tt}]`)))e.removeAttribute(Tt);for(let e of Array.from(document.querySelectorAll(`details[${St}]`)))e.removeAttribute("open"),e.removeAttribute(St);for(let e of Array.from(document.querySelectorAll(`.${En}`)))Tn(e);for(let e of Array.from(document.querySelectorAll(`.${vn}`)))xn(e);$i()}function Il(e){for(let n of Array.from(e.children))if(n instanceof HTMLElement&&!n.matches('[class*="editorHeader"], [class*="editorTitle"], [class*="editorActions"], [class*="editorRoute"]')&&n.matches('[class*="editor"]')&&(n.querySelector(Sn)!==null||n.querySelector("input, select")!==null))return n;let t=e.querySelector(Sn);for(;t!==null&&t.parentElement!==e;)t=t.parentElement;return t!==null&&t!==e?t:void 0}function Dl(e){let t={header:void 0,models:void 0,actions:void 0,fields:[]};ps(e,t,0);let{actions:n,fields:r,header:o,models:i}=t;if(!(n===void 0||r.length===0)&&r.some(s=>s.querySelector("input, select, textarea")!==null))return{header:o,models:i,actions:n,fields:r}}var Pl=4;function ps(e,t,n){if(!(n>Pl)){for(let r of Array.from(e.children))if(r instanceof HTMLElement&&!r.matches('[class*="bre-"], [data-plugin]')){if(t.header===void 0&&r.matches('[class*="editorHeader"], [class*="editorTitle"]')){t.header=r;continue}if(r.matches('[class*="editorActions"]')){t.actions??(t.actions=r);continue}if(r.matches(_l)){t.models??(t.models=r);continue}if(r.querySelector(Sn)!==null){ps(r,t,n+1);continue}if(r.querySelector('[class*="editorActions"]')!==null){t.actions??(t.actions=r);continue}r.querySelector("input, select, textarea")!==null&&t.fields.push(r)}}}function Cl(e){let n=e.querySelector(`[${os}]`)?.getAttribute(os);return n==null||n===""?void 0:n}function Fl(e,t){let n=Il(e);if(n===void 0){Ln(e);return}let r=Dl(n);if(r===void 0){Ln(e);return}let o=e.querySelector(Hl),i=Cl(e);for(let d of r.fields)$(d,pe,_e),rs(d,{t:t.t,route:i}),zi(d,{t:t.t,route:i});r.header!==void 0&&$(r.header,pe,Nl),r.models!==void 0&&$(r.models,pe,st),$(n,Tt,""),o!==null&&$(o,pe,at),Bl(n);let s=new Set([_e]);r.models!==void 0&&s.add(st),o!==null&&s.add(at);let a=e.getAttribute(Ie)??_e;$(e,Ie,s.has(a)?a:_e),Oe(e,Mt,!0),Kl(e,t,s)}function Kl(e,t,n){let r=e.querySelector(`.${Rr}`);r!==null&&($(r,"aria-label",t.t("editorTabsLabel")),bn(Et(r,_e),t.t("editorTabProvider")),bn(Et(r,st),t.t("editorTabModels")),bn(Et(r,at),t.t("editorTabAdvanced")),kt(Et(r,st),!n.has(st)),kt(Et(r,at),!n.has(at)),ms(e,r))}function ms(e,t){let n=t??e.querySelector(`.${Rr}`);if(n===null)return;let r=e.getAttribute(Ie)??_e;for(let o of Array.from(n.querySelectorAll(`[${Mn}]`)))$(o,"aria-selected",o.getAttribute(Mn)===r?"true":"false")}function Et(e,t){for(let n of Array.from(e.children))if(n instanceof HTMLElement&&n.getAttribute(Mn)===t)return n}function Ln(e){e.classList.remove(Mt),e.removeAttribute(Ie),e.removeAttribute(Tt);for(let t of Array.from(e.querySelectorAll(`[${pe}]`)))t.getAttribute(pe)===_e&&(Tn(t),xn(t)),t.removeAttribute(pe);Wl(e)}function Bl(e){for(let t of Array.from(e.querySelectorAll("details")))t.hasAttribute("open")||($(t,St,"closed"),$(t,"open",""))}function Wl(e){for(let t of Array.from(e.querySelectorAll(`details[${St}]`)))t.removeAttribute("open"),t.removeAttribute(St)}var Lt="data-bre-row-provider",gs="{provider}",ql=["rowCard","setupCard"];function hs(){return ln()}function At(e){for(let t of ql)for(let n of Array.from(e.querySelectorAll(`[class*="${t}"]`))){let r=n.parentElement;if(!(r===null||r.tagName!=="UL")&&de(r).length!==0)return r}}function Rt(e){return e.querySelector('[class*="rowHead"]')??void 0}function dt(e){let t=e.querySelector('[class*="rowName"]')?.textContent?.trim();return t!==void 0&&t.length>0?t:void 0}function Ul(e){let t=e.indexOf(gs);if(!(t<0))return{prefix:e.slice(0,t),suffix:e.slice(t+gs.length)}}function jl(e){let t=e.trim();if(t.length===0)return;let n=/^(.*) \(([^()]*)\)$/.exec(t);if(n!==null){let r=n[2];return r.length===0?void 0:r}return/\s/.test(t)?void 0:t}var zl='[class*="rowCard"], [class*="setupCard"], [class*="addCard"]';function Gl(e){let t=e.closest(zl);for(let n=e;n!==null&&n!==t;n=n.parentElement)if(n.matches('[data-plugin], [class*="bre-"]'))return!0;return!1}function Ve(e,t){let n=e.querySelector("[data-bre-provider]")?.getAttribute("data-bre-provider");if(typeof n=="string"&&n.length>0)return n;for(let r of t.editProvider){let o=Ul(r);if(o!==void 0)for(let i of Array.from(e.querySelectorAll("button[aria-label]"))){if(Gl(i))continue;let s=i.getAttribute("aria-label")??"";if(s.length<=o.prefix.length+o.suffix.length||!s.startsWith(o.prefix)||!s.endsWith(o.suffix))continue;let a=jl(s.slice(o.prefix.length,s.length-o.suffix.length));if(a!==void 0)return a}}}function Or(e){let t=e.getAttribute(Lt);return t===null||t.length===0?void 0:t}function $l(e){return xt(e,Or)}function bs(e,t,n){if(!e.isConnected)return;let r=At(e);if(r===void 0)return;let o=t.labels();for(let i of de(r)){let s=Ve(i,o);if(s===void 0){i.removeAttribute(Lt);continue}Or(i)!==s&&i.setAttribute(Lt,s)}fn(e,r,Vl(t),n)}function Vl(e){return{rowOf:t=>{let n=t.closest("li");return n instanceof HTMLElement?n:void 0},idOf:Or,labelOf:dt,order:t=>lo(t),commit:t=>{so($l(t))},seatOf:Rt,seatDrags:!0,gripLabel:(t,n)=>e.t("providerReorderAria",{provider:dt(t)??n}),gripHint:()=>e.t("providerReorderHint")}}function ys(e){cn(e);let t=Array.from(document.querySelectorAll(`[${Lt}]`));un(t);for(let n of t)n.removeAttribute(Lt)}var lt="data-bre-provider-switch",Rn="bre-row-disabled";function vs(){return{switches:new WeakSet}}function xs(e,t,n){if(!e.isConnected)return;let r=At(e);if(r===void 0)return;let o=t.labels();for(let i of Array.from(r.children)){if(!(i instanceof HTMLElement))continue;let s=Ve(i,o);if(s===void 0)continue;let a=Rt(i);a!==void 0&&(Yl(i,a,s,t,n),i.classList.toggle(Rn,!qt(s)))}}function ks(){for(let e of Array.from(document.querySelectorAll(`[${lt}]`)))e.remove();for(let e of Array.from(document.querySelectorAll(`.${Rn}`)))e.classList.remove(Rn)}function Yl(e,t,n,r,o){let i=t.querySelector(`[${lt}]`);if(i!==null){ws(i,e,n,r);return}let s=document.createElement("button");s.className="bre-provider-switch",s.setAttribute("type","button"),s.setAttribute("role","switch"),s.setAttribute(lt,n),ws(s,e,n,r),Jl(s,e,o);let a=t.querySelector('[class*="rowActions"]');a===null?t.appendChild(s):a.insertBefore(s,a.firstChild)}function ws(e,t,n,r){let o=r.t("providerToggleAria",{provider:dt(t)??n}),i=r.t("providerToggleHint"),s=qt(n)?"true":"false";e.getAttribute(lt)!==n&&e.setAttribute(lt,n),e.getAttribute("aria-checked")!==s&&e.setAttribute("aria-checked",s),e.getAttribute("aria-label")!==o&&e.setAttribute("aria-label",o),e.getAttribute("title")!==i&&e.setAttribute("title",i)}function Jl(e,t,n){n.switches.has(e)||(n.switches.add(e),e.addEventListener("click",r=>{r.preventDefault(),r.stopPropagation();let o=e.getAttribute(lt);if(o===null)return;let i=!qt(o);co(o,i),e.setAttribute("aria-checked",i?"true":"false"),t.classList.toggle(Rn,!i)}))}var Hn="data-bre-provider-delete",Es='[class*="rowActions"]',Ts='[class*="dangerButton"]',Xl="bre-provider-delete";function Ms(e,t){if(!e.isConnected)return;let n=At(e);if(n===void 0)return;let r=t.labels(),o=Ql(n)??t.t("providerRemoveDisabled");for(let i of Array.from(n.children)){if(!(i instanceof HTMLElement))continue;let s=Ve(i,r);if(s===void 0)continue;let a=Rt(i);if(a===void 0)continue;let d=a.querySelector(Es);if(d===null)continue;let u=d.querySelector(`[${Hn}]`);if(d.querySelector(Ts)!==null){u!==null&&u.remove();continue}let m=u??Zl();d.lastElementChild!==m&&d.appendChild(m),eu(m,s,o,t.t("providerRemoveLocked",{provider:dt(i)??s}))}}function Ss(){for(let e of Array.from(document.querySelectorAll(`[${Hn}]`)))e.remove()}function Ql(e){let n=e.querySelector(`${Es} ${Ts}`)?.textContent?.trim()??"";return n.length>0?n:void 0}function Zl(){let e=document.createElement("button");return e.className=Xl,e.setAttribute("type","button"),e.setAttribute("disabled",""),e}function eu(e,t,n,r){e.getAttribute(Hn)!==t&&e.setAttribute(Hn,t),e.textContent!==n&&(e.textContent=n),e.getAttribute("aria-label")!==r&&e.setAttribute("aria-label",r),e.getAttribute("title")!==r&&e.setAttribute("title",r)}var Ht="data-bre-row-model",Nr="bre-model-grid";function As(){return ln()}function tu(e){let t=[];for(let n of Array.from(e.querySelectorAll('[class*="modelList"]')))de(n).filter(o=>o.matches('[class*="modelEntry"]')).length!==0&&t.push(n);return t}function Rs(e){for(let t of e){if(t.type!=="childList")continue;let n=t.target;if(n instanceof HTMLElement&&n.matches('[class*="modelList"]')&&de(n).some(r=>r.matches('[class*="modelEntry"]')))return!0;for(let r of[t.addedNodes,t.removedNodes])for(let o of Array.from(r))if(o instanceof HTMLElement&&o.matches('[class*="modelEntry"]'))return!0}return!1}function On(e){let t=e.getAttribute(Ht);return t===null||t.length===0?void 0:t}function _r(e,t){let n=e.closest("li");if(n!==null)return Ve(n,t.labels())}function Ls(e,t){let n=He(e,t.labels().modelName);return n.length>0?n:On(e)}function nu(e,t){return{rowOf:n=>{let r=n.closest('[class*="modelEntry"]');return r instanceof HTMLElement?r:void 0},idOf:On,labelOf:n=>Ls(n,t),order:n=>{let r=_r(e,t);return r===void 0?n:vo(r,n)},commit:n=>{let r=_r(n,t);r!==void 0&&yo(r,xt(n,On))},seatOf:n=>n.querySelector('[class*="modelRow"]')??void 0,seatDrags:!1,gripLabel:(n,r)=>t.t("modelReorderAria",{model:Ls(n,t)??r}),gripHint:()=>t.t("modelReorderHint"),decorate:(n,r)=>{r.classList.add(Nr)}}}function Ir(e,t,n){if(!e.isConnected)return;let r=t.labels();for(let o of tu(e))if(_r(o,t)!==void 0){for(let i of de(o)){let s=He(i,r.modelId);if(s.length===0){i.removeAttribute(Ht);continue}On(i)!==s&&i.setAttribute(Ht,s)}fn(e,o,nu(o,t),n)}}function Hs(e){cn(e);for(let n of Array.from(document.querySelectorAll(`.${Nr}`)))n.classList.remove(Nr);let t=Array.from(document.querySelectorAll(`[${Ht}]`));un(t);for(let n of t)n.removeAttribute(Ht)}var ru="settings.models",ke={capacity:["modelAdvanced","Model options","Capacities"],modelId:["modelId","Model ID"],modelName:["modelName","Display name"],routeId:["customRoute","Provider ID"],baseUrl:["baseUrl","Base URL"],apiProtocol:["customApi","API protocol"],apply:["apply","Apply"],cancel:["cancel","Cancel"],editProvider:["editProvider","Edit {provider}"]};function Ns(e){let{ctx:t,api:n,t:r,onIdle:o,refreshed:i}=e,s=()=>{let q=t.locale.bind(ru),P=([z,...Y])=>{let U=q(z);return U===z||U.trim()===""?Y:[U,...Y]};return{capacity:P(ke.capacity),modelId:P(ke.modelId),modelName:P(ke.modelName),routeId:P(ke.routeId),baseUrl:P(ke.baseUrl),apiProtocol:P(ke.apiProtocol),apply:P(ke.apply),cancel:P(ke.cancel),editProvider:P(ke.editProvider)}},a=120,d=Ii(),u=hs(),m={t:r,labels:s},p=vs(),g={t:r,labels:s},l={t:r,labels:s},c=As(),f={t:r,labels:s},b=us(),k={t:r},y,v,S,w,M=!1,R={api:n,describeNamespace:()=>ne(n),t:r,labels:s,onIdle:o,onBackoff:q=>{K(q)},mount(q,P){let z=document.createElement("div");z.className="bre-effort-slot",z.dataset.plugin=Q,q.appendChild(z);let Y=(0,Os.createRoot)(z),U=L=>{Y.render((0,Dr.createElement)(xe,{fallbackText:r("renderFailed"),children:i(()=>(0,Dr.createElement)(on,L))}))};return U(P),{unmount:()=>{Y.unmount()},render:U}}};function K(q){M||v!==void 0||(v=window.setTimeout(()=>{v=void 0,j()},q))}function j(){M||y!==void 0||(y=window.setTimeout(()=>{y=void 0,w?.(),Ki(ce(),R,d),Hr(ce(),k,b),bs(ce(),m,u),xs(ce(),g,p),Ms(ce(),l),Ir(ce(),f,c)},a))}let I=q=>{M||S!==void 0||(w=q,q(),S=new MutationObserver(P=>{q(),Hr(ce(),k,b),Rs(P)&&Ir(ce(),f,c),j()}),S.observe(document.body,{childList:!0,subtree:!0}),j())},B=()=>{M=!0,y!==void 0&&(window.clearTimeout(y),y=void 0),v!==void 0&&(window.clearTimeout(v),v=void 0),S?.disconnect(),S=void 0};return{state:d,labels:s,start:I,stopObserver:B,teardown:()=>{B(),Ni(d,R);for(let[,q]of d.mounted)q.editor.unmount();d.mounted.clear(),ys(u),ks(),Ss(),li(),Hs(c),cs()},flushOnUnload:()=>{_i(d,R)},schedule:j}}function ou(e,t){let n=e?.list?.getSnapshot(),r=n?.current;if(typeof r=="string"&&r.length>0)return r;let o=t?.adapter?.current?.getSnapshot?.()?.key;if(typeof o=="string"&&o.length>0)return o;for(let[i,s]of Object.entries(n?.byId??{}))if(!(s===void 0||(s.retainedBy?.mainView??0)<=0))return typeof s.id=="string"&&s.id.length>0?s.id:i}function _s(e){let t,n=new Map,r=(s,a)=>{for(let[d,u]of n){if(d===a)continue;let m;try{m=s.directoryFor(u.sessionId)===d}catch{m=!1}m||(u.restore(),n.delete(d))}};return{ensure:()=>{let s=e.ctx,a=s.get?.("sessions"),d=s.get?.("uiSession"),u=s.get?.("modelDirectories"),m=ou(a,d);if(!(m===void 0||u===void 0))try{let p=u.directoryFor(m);return r(u,p),t!==void 0&&t.sessionId===m&&t.directory===p||(n.has(p)||n.set(p,{sessionId:m,restore:No(p,{configuredEffort:e.configuredEffort})}),t={sessionId:m,directory:p}),p}catch{t=void 0;return}},dispose:()=>{for(let[,s]of n)s.restore();n.clear()}}}var iu="conversation.input.model";function Is(e){return e.querySelector("[data-composer-card]")??void 0}function Pr(e){return e.querySelector(`[data-slot="${iu}"]`)??void 0}function Ds(e){let t=Pr(e)??e;return Array.from(t.querySelectorAll('button[aria-haspopup="menu"]'))}function Ps(e,t){let n=e.getAttribute("aria-controls");if(n===null||n.length===0)return;let r=t.getElementById(n);if(r!==null)return r.getAttribute("role")==="menu"?r:void 0}function Cr(e=document){let t=Is(e);if(t===void 0)return;for(let r of Ds(t)){let o=Ps(r,e);if(o!==void 0)return o}let n=Pr(t)??t;for(let r of Array.from(n.querySelectorAll('[role="menu"]')))if(r.previousElementSibling?.matches('button[aria-haspopup="menu"]'))return r}function Fr(e=document){let t=Is(e);if(t===void 0)return;let n=Pr(t),r=Ds(t),o=r[0];if(o!==void 0){for(let i of r)if(Ps(i,e)!==void 0)return i;for(let i of r)if(i.nextElementSibling?.matches('[role="menu"]'))return i;return n===void 0?r.at(-1):o}}function Cs(){return Cr()}function Fs(){return Fr()}var De=require("react");var X=require("react");var O=require("react/jsx-runtime"),su=["claude-cli/2.1.161 (external, cli)","claude-code/1.0.0","Kilo-Code/1.0"];function Ks(e){let t=0,n=Object.entries(e??{}).map(([r,o])=>({id:t+=1,name:r,value:o}));return n.length===0&&n.push({id:t+=1,name:"",value:""}),{rows:n}}function au(e){let t={},n=!1;for(let o of e.rows){let i=o.name.trim();i.length!==0&&(t[i]=o.value,i.toLowerCase()==="user-agent"&&(n=!0))}let r=e.userAgent?.trim();return!n&&r!==void 0&&r.length>0&&(t["user-agent"]=r),t}function Bs({route:e,api:t,t:n}){let r=(0,X.useId)(),[o,i]=(0,X.useState)(void 0),[s,a]=(0,X.useState)({rows:[]}),[d,u]=(0,X.useState)(!1),[m,p]=(0,X.useState)(!1),[g,l]=(0,X.useState)(!0),[c,f]=(0,X.useState)(!1),[b,k]=(0,X.useState)(!1),[y,v]=(0,X.useState)(void 0),[S,w]=(0,X.useState)(void 0),[M,R]=(0,X.useState)(!1),K=(0,X.useRef)(1),j=(0,X.useRef)(null);(0,X.useEffect)(()=>{let L=!0;return(async()=>{try{let C=await ne(t);if(!L)return;let _=ir(C.namespace,e);i(_),a(Ks(_)),k(C.writable!==!0)}catch{L&&k(!0)}finally{L&&l(!1)}})(),()=>{L=!1}},[t,e]),(0,X.useEffect)(()=>{let L=!0;return(async()=>{try{let _=await(await fetch(Jr,{method:"GET"})).json();L&&_.ok===!0&&_.data!==void 0&&w(_.data)}catch{}})(),()=>{L=!1}},[]),(0,X.useEffect)(()=>{let L=j.current;if(L===null)return;let C=()=>{R(L.dataset.breRegion==="advanced")};C();let _=new MutationObserver(C);return _.observe(L,{attributes:!0,attributeFilter:["data-bre-region"]}),()=>{_.disconnect()}},[]);let I=()=>{a(L=>({...L,rows:[...L.rows,{id:K.current+=1,name:"",value:""}]})),v(void 0)},B=(L,C)=>{a(_=>({..._,rows:_.rows.map(te=>te.id===L?{...te,...C}:te)})),v(void 0)},A=L=>{a(C=>({...C,rows:C.rows.filter(_=>_.id!==L)})),v(void 0)},D=()=>{a(Ks(o)),p(!1),v(void 0)},q=async L=>{f(!0),v(void 0);let C;try{C=await sr(t,e,L)}catch(_){C={ok:!1,error:_ instanceof Error?_.message:String(_)}}if(f(!1),!C.ok){v({kind:"error",text:C.error==="no-route"?n("headersNoRoute"):C.error==="read-only"?n("headersReadOnly"):n("headersError",{error:C.error})});return}i(L),p(!1),v({kind:"success",text:Object.keys(L).length===0?n("headersCleared"):n("headersSaved")})},P=Object.entries(o??{}),z=b||c,Y=P.length,U=M;return(0,O.jsxs)("div",{className:"bre-headers",ref:j,"data-plugin":Q,"data-open":d?"1":"0",children:[!M&&(0,O.jsx)("div",{className:"bre-headers-head",children:m?(0,O.jsx)("span",{className:"bre-effort-title",children:n("headersTitle")}):(0,O.jsxs)("button",{type:"button",className:"bre-headers-disclosure","aria-expanded":d,"aria-label":`${n("headersTitle")} ${e}`,onClick:()=>{u(!d),v(void 0)},children:[(0,O.jsx)("span",{className:"bre-effort-title",children:n("headersTitle")}),g||Y===0?null:(0,O.jsx)("span",{className:"bre-headers-count",children:Y}),(0,O.jsx)("span",{className:"bre-headers-chevron","aria-hidden":"true",children:"\u203A"})]})}),!d&&!m&&!M?null:(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)("p",{className:"bre-effort-note",children:n("headersHint")}),S===void 0?null:(0,O.jsxs)(O.Fragment,{children:[S.environment.preferOfficialLayer?(0,O.jsx)("p",{className:"bre-effort-note bre-warn",children:n("headersConflictPatched")}):null,S.conflicts.length===0&&(S.headerConflicts?.length??0)===0?null:(0,O.jsx)("p",{className:"bre-effort-note bre-warn",children:n("headersConflictOrigin")}),S.environment.siblings.length===0?null:(0,O.jsx)("p",{className:"bre-effort-note bre-warn",children:n("headersConflictSiblings",{names:S.environment.siblings.map(L=>L.name).join(", ")})})]}),g?null:m||U?(0,O.jsxs)("div",{className:"bre-headers-edit",children:[(0,O.jsx)("div",{className:"bre-headers-title-row",children:(0,O.jsx)("span",{className:"bre-effort-title",children:n("headersTitle")})}),(0,O.jsxs)("div",{className:"bre-headers-columns","aria-hidden":"true",children:[(0,O.jsx)("span",{children:n("headersName")}),(0,O.jsx)("span",{children:n("headersValue")}),(0,O.jsx)("span",{})]}),s.rows.map(L=>(0,O.jsxs)("div",{className:"bre-headers-row",children:[(0,O.jsx)("input",{type:"text",className:"bre-text-input bre-headers-name",value:L.name,disabled:z,placeholder:n("headersNamePlaceholder"),"aria-label":n("headersName"),onChange:C=>{B(L.id,{name:C.target.value})}}),(0,O.jsx)("input",{type:"text",className:"bre-text-input bre-headers-value",value:L.value,disabled:z,list:L.name.trim().toLowerCase()==="user-agent"?r:void 0,placeholder:n("headersValue"),"aria-label":n("headersValue"),onChange:C=>{B(L.id,{value:C.target.value})}}),(0,O.jsx)("button",{type:"button",className:"bre-link-button bre-headers-remove",disabled:z,"aria-label":`${n("headersClear")} ${L.name}`,onClick:()=>{A(L.id)},children:"\xD7"})]},L.id)),(0,O.jsx)("button",{type:"button",className:"bre-link-button bre-headers-add",disabled:z,onClick:I,children:n("headersAdd")}),!1,(0,O.jsx)("datalist",{id:r,children:su.map(L=>(0,O.jsx)("option",{value:L},L))}),(0,O.jsx)("p",{className:"bre-effort-note bre-headers-legacy",hidden:!0,children:n("headersUserAgentHint")}),(0,O.jsxs)("div",{className:"bre-effort-actions",children:[(0,O.jsx)("button",{type:"button",className:"bre-primary-button",disabled:z,onClick:()=>{q(au(s))},children:n("headersSave")}),(0,O.jsx)("button",{type:"button",className:"bre-secondary-button",disabled:z,onClick:D,children:n("headersCancel")})]})]}):(0,O.jsxs)("div",{className:"bre-headers-rows",children:[P.length===0?(0,O.jsx)("p",{className:"bre-effort-note",children:n("headersEmpty")}):P.map(([L,C])=>(0,O.jsxs)("div",{className:"bre-headers-row",children:[(0,O.jsx)("span",{className:"bre-headers-name",children:L}),(0,O.jsx)("span",{className:"bre-headers-value bre-headers-masked",children:"\u2022".repeat(Math.min(C.length,24))})]},L)),b?null:(0,O.jsx)("div",{className:"bre-effort-actions",children:(0,O.jsx)("button",{type:"button",className:"bre-secondary-button",disabled:z,onClick:()=>{p(!0),v(void 0)},children:n("headersEdit")})})]})]}),y===void 0?null:(0,O.jsx)("p",{className:"bre-effort-message bre-"+y.kind,role:y.kind==="error"?"alert":"status",children:y.text})]})}var Kr=require("react");var du={provider:"editorTabProvider",models:"editorTabModels",advanced:"editorTabAdvanced"};function Ws({host:e,t}){return(0,Kr.createElement)("div",{className:ss,role:"tablist","aria-label":t("editorTabsLabel")},...is.map(n=>(0,Kr.createElement)("button",{key:n,type:"button",role:"tab",className:as,[ds]:n,onClick:r=>{r.preventDefault(),r.stopPropagation();let o=An(e.current);o!==null&&fs(o,n)}},t(du[n]))))}var qs="settings.models.provider-card";function lu({provider:e,api:t,t:n}){let r=(0,De.useRef)(null);(0,De.useEffect)(()=>{let i=r.current,s=An(i);if(i===null||s===null)return;let a=s,d=()=>s.querySelector('[class*="_editor"]')!==null,u=()=>{let p=d()?"1":"0";i.dataset.edit!==p&&(i.dataset.edit=p)};u();let m=new MutationObserver(u);return m.observe(a,{childList:!0,subtree:!0}),()=>{m.disconnect()}},[]);let o=e?.provider;return typeof o!="string"||o.length===0?null:(0,De.createElement)("div",{ref:r,className:"bre-headers-host","data-bre-provider":o},(0,De.createElement)(Ws,{host:r,t:n}),(0,De.createElement)(Bs,{route:o,api:t,t:n}))}function Us(e,t,n){let r=e,o=r.slots?.inject(qs,()=>{r.slots?.register({name:qs,key:re,inject:()=>({api:t,t:n})},lu)});return typeof o=="function"?o:()=>{}}var le=require("react");function js(e){let{t}=e,n=(0,le.useSyncExternalStore)(Ft,fe),r=()=>{to(!n)};return(0,le.createElement)("div",{className:"bre-slider-setting"},(0,le.createElement)("div",{className:"bre-slider-setting-row"},(0,le.createElement)("div",{className:"bre-slider-setting-copy"},(0,le.createElement)("div",{className:"bre-slider-setting-title"},t("sliderToggleTitle")),(0,le.createElement)("div",{className:"bre-slider-setting-description"},t("sliderToggleDescription"))),(0,le.createElement)("div",{className:"bre-slider-setting-control"},(0,le.createElement)("span",{className:"bre-slider-setting-state"},t(n?"settingOn":"settingOff")),(0,le.createElement)("button",{type:"button",role:"switch","aria-label":t("sliderToggleAria"),"aria-checked":n,className:"bre-slider-setting-switch"+(n?" is-on":""),onClick:r},(0,le.createElement)("span",{className:"bre-slider-setting-switch-knob","aria-hidden":!0})))))}function zs(e,t){let n=e,r=n.slots?.inject("settings.models.footer",()=>{n.slots?.register({name:"settings.models.footer",id:Q+"-slider-toggle",order:15,inject:()=>({t})},js)});return typeof r=="function"?r:()=>{}}var uu=Q,fu=["slots","locale","connection","remote","remote.settings"];function cu(e){e.effect(()=>e.locale.register(Dn,{zh:Zr,en:Qr}),"dsh-model-think-level: dictionaries");let t=document.createElement("style");t.dataset.plugin=Q,t.dataset.pluginStyles=Q,t.textContent=ko,document.head.appendChild(t),e.effect(()=>()=>t.remove(),"dsh-model-think-level: stylesheet");let n=(()=>{try{let l=e.get?.("configForms");try{let f=l?.get?.(re);if(f!==void 0)return f}catch{}return e.get?.("settingsScope")?.bind?.({namespace:re})}catch{return}})(),r=n===void 0?{settings:e.remote.settings}:{settings:e.remote.settings,scope:n},o=e.locale.bind(Dn),i=()=>{let l=e.locale;return typeof l.subscribe=="function"&&typeof l.getSnapshot=="function"?l:void 0},s=l=>{let c=i();return c===void 0?l():(0,Gs.createElement)(Xr,{locale:c,children:l})},a=Yo({api:r}),d=_s({ctx:e,configuredEffort:a.of}),u=zo({menuOf:Cs,triggerOf:Fs,t:o,refreshed:s,sliderEnabled:fe,directory:d.ensure}),m=Xo({api:r}),p=Ns({ctx:e,api:r,t:o,onIdle:m.run,refreshed:s}),g=()=>{d.ensure(),u.reconcile()};e.effect(()=>(p.start(g),()=>{p.teardown(),u.dispose(),d.dispose()}),"dsh-model-think-level: DOM injector"),e.effect(()=>{let l=()=>{p.flushOnUnload()};return window.addEventListener("pagehide",l),()=>{window.removeEventListener("pagehide",l)}},"dsh-model-think-level: ledger flush on unload"),e.effect(()=>{let l=()=>{p.state.describePromise=void 0,a.invalidate(),p.schedule()},c=[e.remote.$on("settings/document-updated",f=>{f===re&&l()}),e.on("connection/reset",l)];return()=>{for(let f of c)f()}},"dsh-model-think-level: pushed invalidations"),e.effect(()=>{let l=y=>{y.key===Ct?no(y.newValue!=="false"):y.key===Kt?ao(Ze(y.newValue)):y.key===Wt?po(uo(y.newValue)):y.key===jt&&wo(jn(y.newValue))};window.addEventListener("storage",l);let c=Ft(()=>{p.schedule()}),f=Bt(()=>{p.schedule()}),b=Ut(()=>{p.schedule()}),k=zt(()=>{p.schedule()});return()=>{window.removeEventListener("storage",l),c(),f(),b(),k()}},"dsh-model-think-level: client preferences"),e.effect(()=>zs(e,o),"dsh-model-think-level: footer slot activation"),e.effect(()=>Us(e,r,o),"dsh-model-think-level: provider-card slot activation")}
|
|
2042
2089
|
|
|
2043
2090
|
return module.exports;
|
|
2044
2091
|
}
|