opencode-codeops 1.10.2 → 1.10.3
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/CHANGELOG.md
CHANGED
|
@@ -309,9 +309,13 @@ export function modelSupportsReasoning(model) {
|
|
|
309
309
|
* The runtime model carries a `variants` record whose entries are the exact
|
|
310
310
|
* provider options for each level (for example `reasoningEffort`, or a nested
|
|
311
311
|
* `reasoning.effort`). This function is the only place that mapping is
|
|
312
|
-
* consumed, so the plugin never hardcodes a provider key.
|
|
313
|
-
*
|
|
314
|
-
*
|
|
312
|
+
* consumed, so the plugin never hardcodes a provider key. A matching variant
|
|
313
|
+
* is applied even when the model's reasoning capability flag is absent or
|
|
314
|
+
* false: the variant itself is the provider-known option set, and the host
|
|
315
|
+
* applies inherited variants the same way. Only when no variants record
|
|
316
|
+
* exists does the documented `reasoningEffort` passthrough require an
|
|
317
|
+
* explicit reasoning capability. The function is pure: it returns a new
|
|
318
|
+
* object when a change applies and the original object reference otherwise.
|
|
315
319
|
*
|
|
316
320
|
* @param options - Current provider options
|
|
317
321
|
* @param level - Candidate level from {@link resolveEffort}
|
|
@@ -320,7 +324,6 @@ export function modelSupportsReasoning(model) {
|
|
|
320
324
|
*/
|
|
321
325
|
export function applyEffort(options, level, model) {
|
|
322
326
|
if (!isRoutingReasoning(level)) return options
|
|
323
|
-
if (!modelSupportsReasoning(model)) return options
|
|
324
327
|
|
|
325
328
|
const variants = extractModelVariants(model)
|
|
326
329
|
if (variants !== undefined) {
|
|
@@ -330,6 +333,7 @@ export function applyEffort(options, level, model) {
|
|
|
330
333
|
return deepMergePlain(options, variantOptions)
|
|
331
334
|
}
|
|
332
335
|
|
|
336
|
+
if (!modelSupportsReasoning(model)) return options
|
|
333
337
|
return { ...options, reasoningEffort: level }
|
|
334
338
|
}
|
|
335
339
|
|
package/package.json
CHANGED
package/plugin/index.ts
CHANGED
|
@@ -12,10 +12,12 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
appendEffortTrace,
|
|
14
14
|
applyEffort,
|
|
15
|
+
extractModelVariants,
|
|
15
16
|
findEffortMarker,
|
|
16
17
|
isEffortLevel,
|
|
17
18
|
isEffortTraceEnabled,
|
|
18
19
|
isRoutingReasoning,
|
|
20
|
+
modelSupportsReasoning,
|
|
19
21
|
readRoutingReasoning,
|
|
20
22
|
readSessionEffort,
|
|
21
23
|
resolveEffort,
|
|
@@ -348,6 +350,8 @@ export const CodeOpsPlugin: Plugin = async ({ client, directory }) => {
|
|
|
348
350
|
level,
|
|
349
351
|
source,
|
|
350
352
|
applied: changed,
|
|
353
|
+
reasoningSupported: modelSupportsReasoning(input.model),
|
|
354
|
+
variantLevels: Object.keys(extractModelVariants(input.model) ?? {}),
|
|
351
355
|
})
|
|
352
356
|
if (!changed) {
|
|
353
357
|
if (marker !== undefined) {
|
|
Binary file
|