MCPcopy Create free account
hub / github.com/IgorWarzocha/howcode / clampThinkingLevel

Function clampThinkingLevel

desktop/runtime/composer-state.ts:104–134  ·  view source on GitHub ↗
(
  level: ComposerThinkingLevel,
  availableLevels: ComposerThinkingLevel[],
)

Source from the content-addressed store, hash-verified

102}
103
104export function clampThinkingLevel(
105 level: ComposerThinkingLevel,
106 availableLevels: ComposerThinkingLevel[],
107): ComposerThinkingLevel {
108 if (availableLevels.includes(level)) {
109 return level
110 }
111
112 const orderedLevels: ComposerThinkingLevel[] = [
113 'off',
114 'minimal',
115 'low',
116 'medium',
117 'high',
118 'xhigh',
119 ]
120 const requestedIndex = orderedLevels.indexOf(level)
121
122 if (requestedIndex === -1) {
123 return availableLevels[0] ?? 'off'
124 }
125
126 for (let index = requestedIndex; index >= 0; index -= 1) {
127 const candidate = orderedLevels[index]
128 if (candidate && availableLevels.includes(candidate)) {
129 return candidate
130 }
131 }
132
133 return availableLevels[0] ?? 'off'
134}
135
136function resolveCurrentModel(
137 availableModels: ComposerSourceModel[],

Callers 9

setDraftComposerModelFunction · 0.90
generateGitCommitMessageFunction · 0.90
setComposerModelFunction · 0.90
setComposerThinkingLevelFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected