@tangle-network/agent-interface 0.15.0 → 0.16.0
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.
|
@@ -58,3 +58,9 @@ export interface ModelReasoningCapability {
|
|
|
58
58
|
* lower ceiling caps the list there. Pass `model` from your catalog; omit it for the harness-only set.
|
|
59
59
|
*/
|
|
60
60
|
export declare function reasoningEffortsFor(harness: HarnessType, model?: ModelReasoningCapability | null): readonly ReasoningEffort[];
|
|
61
|
+
/** Whether the harness's runner honors a per-turn MODEL override (vs. picking the model itself). */
|
|
62
|
+
export declare function harnessHonorsModel(harness: HarnessType): boolean;
|
|
63
|
+
/** Whether the harness's runner honors a reasoning-EFFORT override (vs. dropping it). */
|
|
64
|
+
export declare function harnessHonorsEffort(harness: HarnessType): boolean;
|
|
65
|
+
/** Whether the harness honors BOTH chat selectors — i.e. the model and effort pickers are live. */
|
|
66
|
+
export declare function harnessHonorsSelectors(harness: HarnessType): boolean;
|
|
@@ -156,3 +156,40 @@ export function reasoningEffortsFor(harness, model) {
|
|
|
156
156
|
}
|
|
157
157
|
return efforts;
|
|
158
158
|
}
|
|
159
|
+
// ── Per-turn selector support (does the harness honor the chat pickers?) ──────
|
|
160
|
+
/**
|
|
161
|
+
* Harnesses whose runner DROPS a per-turn selector — grounded in the cli-bridge adapter audit, NOT a
|
|
162
|
+
* guess. Most harnesses honor both selectors, so only the exceptions are listed; a harness absent from
|
|
163
|
+
* a set honors that selector. Keyed by the BASE runner (aliases canonicalized).
|
|
164
|
+
*
|
|
165
|
+
* - model dropped: `amp` (own agent picks the model), `openclaw` (dispatcher routes by its own
|
|
166
|
+
* config), `nanoclaw` (socket-bridge runner is config/env-driven).
|
|
167
|
+
* - effort dropped: `amp` and `factory-droids`/`hermes`/`nanoclaw` (no thinking flag is plumbed to
|
|
168
|
+
* the underlying CLI).
|
|
169
|
+
*
|
|
170
|
+
* This is distinct from {@link reasoningEffortsFor} (which levels a harness can EXPRESS): a picker uses
|
|
171
|
+
* these to trim or mark harnesses up front, so a user's model/effort choice is never silently ignored.
|
|
172
|
+
*/
|
|
173
|
+
const harnessIgnoresModel = new Set([
|
|
174
|
+
"amp",
|
|
175
|
+
"openclaw",
|
|
176
|
+
"nanoclaw",
|
|
177
|
+
]);
|
|
178
|
+
const harnessIgnoresEffort = new Set([
|
|
179
|
+
"amp",
|
|
180
|
+
"factory-droids",
|
|
181
|
+
"hermes",
|
|
182
|
+
"nanoclaw",
|
|
183
|
+
]);
|
|
184
|
+
/** Whether the harness's runner honors a per-turn MODEL override (vs. picking the model itself). */
|
|
185
|
+
export function harnessHonorsModel(harness) {
|
|
186
|
+
return !harnessIgnoresModel.has(canonicalizeHarness(harness));
|
|
187
|
+
}
|
|
188
|
+
/** Whether the harness's runner honors a reasoning-EFFORT override (vs. dropping it). */
|
|
189
|
+
export function harnessHonorsEffort(harness) {
|
|
190
|
+
return !harnessIgnoresEffort.has(canonicalizeHarness(harness));
|
|
191
|
+
}
|
|
192
|
+
/** Whether the harness honors BOTH chat selectors — i.e. the model and effort pickers are live. */
|
|
193
|
+
export function harnessHonorsSelectors(harness) {
|
|
194
|
+
return harnessHonorsModel(harness) && harnessHonorsEffort(harness);
|
|
195
|
+
}
|