feat: implemented external thinking flags and transport reasoning controls

- Added the `--external-thinking` CLI flag alongside model capability checks to gate external thinking tool availability.
- Updated Anthropic and Google transports to honor `forceReasoningOff` for native thinking-off controls.
- Renamed the `thoughts` property and parameter to `notes` across think fixtures, tools, and tests.
- Updated system prompt instructions and test suites to verify transport-specific thinking and tool activation.
This commit is contained in:
can1357
2026-08-12 02:16:25 +02:00
parent 7e2663360f
commit 19c0afcc0d
23 changed files with 201 additions and 80 deletions
+3
View File
@@ -48,6 +48,7 @@ export interface Args {
serviceTier?: ServiceTierOpenAISettingValue;
hideThinking?: boolean;
advisor?: boolean;
externalThinking?: boolean;
continue?: boolean;
resume?: string | true;
fromClaude?: boolean;
@@ -255,6 +256,8 @@ export function parseArgs(inputArgs: string[], extensionFlags?: Map<string, { ty
result.hideThinking = true;
} else if (arg === "--advisor") {
result.advisor = true;
} else if (arg === "--external-thinking") {
result.externalThinking = true;
} else if (arg === "--prewalk") {
result.prewalk = true;
} else if (arg === "--no-prewalk") {
@@ -311,6 +311,7 @@ export const VALUELESS_FLAGS: ReadonlySet<string> = new Set([
"--no-pty",
"--hide-thinking",
"--advisor",
"--external-thinking",
"--prewalk",
"--no-prewalk",
"--plan-yolo",
@@ -363,13 +363,12 @@ export const agenticFixtures: Record<string, GalleryFixture> = {
think: {
label: "Think",
// Streaming: scratchpad text still arriving.
// Streaming: scratchpad thoughts still arriving.
streamingArgs: {
thoughts: "The retry loop re-reads the config after every failure — that explains the doubled latency.",
thoughts: "The retry loop re-reads the config after every failure, which explains the doubled latency.",
},
args: {
thoughts:
"The retry loop re-reads the config after every failure — that explains the doubled latency. Cache the parsed config outside the loop, then re-check the invalidation path before answering.",
thoughts: "The retry loop re-reads the config after every failure, which explains the doubled latency. Cache the parsed config outside the loop, then re-check the invalidation path.",
},
result: {
content: [{ type: "text", text: "------" }],