Skip to content

Commit fccb732

Browse files
feat(web): add reasoningSummary support for OpenAI and Azure providers
Adds a `reasoningSummary` configuration option that controls whether reasoning models return their reasoning process. Defaults to 'auto', can be set to 'detailed' for comprehensive reasoning or 'none' to disable. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 339a184 commit fccb732

File tree

9 files changed

+208
-2
lines changed

9 files changed

+208
-2
lines changed

docs/docs/configuration/language-model-providers.mdx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ For a detailed description of all the providers, please refer to the [schema](ht
109109

110110
The `model` field should be set to your Azure OpenAI deployment name. Either `resourceName` or `baseUrl` must be set. The `resourceName` is used to construct the URL `https://{resourceName}.openai.azure.com/openai/v1{path}`. If `baseUrl` is provided, `resourceName` is ignored.
111111

112+
The `reasoningSummary` field controls whether the model returns its reasoning process. Set to `auto` for a condensed summary, `detailed` for more comprehensive reasoning, or `none` to disable. Defaults to `auto`.
113+
112114
```json wrap icon="code" Example config with Azure AI provider
113115
{
114116
"$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
@@ -123,7 +125,8 @@ The `model` field should be set to your Azure OpenAI deployment name. Either `re
123125
"env": "AZURE_API_KEY"
124126
},
125127
"baseUrl": "OPTIONAL_BASE_URL", // use instead of resourceName for custom endpoints
126-
"reasoningEffort": "OPTIONAL_REASONING_EFFORT" // defaults to "medium"
128+
"reasoningEffort": "OPTIONAL_REASONING_EFFORT", // defaults to "medium"
129+
"reasoningSummary": "auto" // "auto" | "detailed" | "none". Defaults to "auto"
127130
}
128131
]
129132
}
@@ -248,6 +251,8 @@ The `model` field should be set to your Azure OpenAI deployment name. Either `re
248251

249252
[Vercel AI SDK OpenAI Docs](https://ai-sdk.dev/providers/ai-sdk-providers/openai)
250253

254+
The `reasoningSummary` field controls whether the model returns its reasoning process. Set to `auto` for a condensed summary, `detailed` for more comprehensive reasoning, or `none` to disable. Defaults to `auto`.
255+
251256
```json wrap icon="code" Example config with OpenAI provider
252257
{
253258
"$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
@@ -260,7 +265,8 @@ The `model` field should be set to your Azure OpenAI deployment name. Either `re
260265
"env": "OPENAI_API_KEY"
261266
},
262267
"baseUrl": "OPTIONAL_BASE_URL",
263-
"reasoningEffort": "OPTIONAL_REASONING_EFFORT" // defaults to "medium"
268+
"reasoningEffort": "OPTIONAL_REASONING_EFFORT", // defaults to "medium"
269+
"reasoningSummary": "auto" // "auto" | "detailed" | "none". Defaults to "auto"
264270
}
265271
]
266272
}

docs/snippets/schemas/v3/index.schema.mdx

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2062,12 +2062,22 @@
20622062
"type": "string",
20632063
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
20642064
"examples": [
2065+
"none",
20652066
"minimal",
20662067
"low",
20672068
"medium",
20682069
"high"
20692070
]
20702071
},
2072+
"reasoningSummary": {
2073+
"type": "string",
2074+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
2075+
"examples": [
2076+
"none",
2077+
"auto",
2078+
"detailed"
2079+
]
2080+
},
20712081
"headers": {
20722082
"type": "object",
20732083
"description": "Optional headers to use with the model.",
@@ -2730,12 +2740,22 @@
27302740
"type": "string",
27312741
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
27322742
"examples": [
2743+
"none",
27332744
"minimal",
27342745
"low",
27352746
"medium",
27362747
"high"
27372748
]
27382749
},
2750+
"reasoningSummary": {
2751+
"type": "string",
2752+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
2753+
"examples": [
2754+
"none",
2755+
"auto",
2756+
"detailed"
2757+
]
2758+
},
27392759
"headers": {
27402760
"type": "object",
27412761
"description": "Optional headers to use with the model.",
@@ -3532,12 +3552,22 @@
35323552
"type": "string",
35333553
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
35343554
"examples": [
3555+
"none",
35353556
"minimal",
35363557
"low",
35373558
"medium",
35383559
"high"
35393560
]
35403561
},
3562+
"reasoningSummary": {
3563+
"type": "string",
3564+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
3565+
"examples": [
3566+
"none",
3567+
"auto",
3568+
"detailed"
3569+
]
3570+
},
35413571
"headers": {
35423572
"type": "object",
35433573
"description": "Optional headers to use with the model.",
@@ -4200,12 +4230,22 @@
42004230
"type": "string",
42014231
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
42024232
"examples": [
4233+
"none",
42034234
"minimal",
42044235
"low",
42054236
"medium",
42064237
"high"
42074238
]
42084239
},
4240+
"reasoningSummary": {
4241+
"type": "string",
4242+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
4243+
"examples": [
4244+
"none",
4245+
"auto",
4246+
"detailed"
4247+
]
4248+
},
42094249
"headers": {
42104250
"type": "object",
42114251
"description": "Optional headers to use with the model.",

docs/snippets/schemas/v3/languageModel.schema.mdx

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,12 +376,22 @@
376376
"type": "string",
377377
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
378378
"examples": [
379+
"none",
379380
"minimal",
380381
"low",
381382
"medium",
382383
"high"
383384
]
384385
},
386+
"reasoningSummary": {
387+
"type": "string",
388+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
389+
"examples": [
390+
"none",
391+
"auto",
392+
"detailed"
393+
]
394+
},
385395
"headers": {
386396
"type": "object",
387397
"description": "Optional headers to use with the model.",
@@ -1044,12 +1054,22 @@
10441054
"type": "string",
10451055
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
10461056
"examples": [
1057+
"none",
10471058
"minimal",
10481059
"low",
10491060
"medium",
10501061
"high"
10511062
]
10521063
},
1064+
"reasoningSummary": {
1065+
"type": "string",
1066+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
1067+
"examples": [
1068+
"none",
1069+
"auto",
1070+
"detailed"
1071+
]
1072+
},
10531073
"headers": {
10541074
"type": "object",
10551075
"description": "Optional headers to use with the model.",
@@ -1846,12 +1866,22 @@
18461866
"type": "string",
18471867
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
18481868
"examples": [
1869+
"none",
18491870
"minimal",
18501871
"low",
18511872
"medium",
18521873
"high"
18531874
]
18541875
},
1876+
"reasoningSummary": {
1877+
"type": "string",
1878+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
1879+
"examples": [
1880+
"none",
1881+
"auto",
1882+
"detailed"
1883+
]
1884+
},
18551885
"headers": {
18561886
"type": "object",
18571887
"description": "Optional headers to use with the model.",
@@ -2514,12 +2544,22 @@
25142544
"type": "string",
25152545
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
25162546
"examples": [
2547+
"none",
25172548
"minimal",
25182549
"low",
25192550
"medium",
25202551
"high"
25212552
]
25222553
},
2554+
"reasoningSummary": {
2555+
"type": "string",
2556+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
2557+
"examples": [
2558+
"none",
2559+
"auto",
2560+
"detailed"
2561+
]
2562+
},
25232563
"headers": {
25242564
"type": "object",
25252565
"description": "Optional headers to use with the model.",

packages/schemas/src/v3/index.schema.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2061,12 +2061,22 @@ const schema = {
20612061
"type": "string",
20622062
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
20632063
"examples": [
2064+
"none",
20642065
"minimal",
20652066
"low",
20662067
"medium",
20672068
"high"
20682069
]
20692070
},
2071+
"reasoningSummary": {
2072+
"type": "string",
2073+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
2074+
"examples": [
2075+
"none",
2076+
"auto",
2077+
"detailed"
2078+
]
2079+
},
20702080
"headers": {
20712081
"type": "object",
20722082
"description": "Optional headers to use with the model.",
@@ -2729,12 +2739,22 @@ const schema = {
27292739
"type": "string",
27302740
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
27312741
"examples": [
2742+
"none",
27322743
"minimal",
27332744
"low",
27342745
"medium",
27352746
"high"
27362747
]
27372748
},
2749+
"reasoningSummary": {
2750+
"type": "string",
2751+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
2752+
"examples": [
2753+
"none",
2754+
"auto",
2755+
"detailed"
2756+
]
2757+
},
27382758
"headers": {
27392759
"type": "object",
27402760
"description": "Optional headers to use with the model.",
@@ -3531,12 +3551,22 @@ const schema = {
35313551
"type": "string",
35323552
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
35333553
"examples": [
3554+
"none",
35343555
"minimal",
35353556
"low",
35363557
"medium",
35373558
"high"
35383559
]
35393560
},
3561+
"reasoningSummary": {
3562+
"type": "string",
3563+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
3564+
"examples": [
3565+
"none",
3566+
"auto",
3567+
"detailed"
3568+
]
3569+
},
35403570
"headers": {
35413571
"type": "object",
35423572
"description": "Optional headers to use with the model.",
@@ -4199,12 +4229,22 @@ const schema = {
41994229
"type": "string",
42004230
"description": "The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings",
42014231
"examples": [
4232+
"none",
42024233
"minimal",
42034234
"low",
42044235
"medium",
42054236
"high"
42064237
]
42074238
},
4239+
"reasoningSummary": {
4240+
"type": "string",
4241+
"description": "Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.",
4242+
"examples": [
4243+
"none",
4244+
"auto",
4245+
"detailed"
4246+
]
4247+
},
42084248
"headers": {
42094249
"type": "object",
42104250
"description": "Optional headers to use with the model.",

packages/schemas/src/v3/index.type.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -872,6 +872,10 @@ export interface AzureLanguageModel {
872872
* The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings
873873
*/
874874
reasoningEffort?: string;
875+
/**
876+
* Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.
877+
*/
878+
reasoningSummary?: string;
875879
headers?: LanguageModelHeaders;
876880
}
877881
export interface DeepSeekLanguageModel {
@@ -1102,6 +1106,10 @@ export interface OpenAILanguageModel {
11021106
* The reasoning effort to use with the model. Defaults to `medium`. See https://platform.openai.com/docs/guides/reasoning#get-started-with-reasonings
11031107
*/
11041108
reasoningEffort?: string;
1109+
/**
1110+
* Controls whether the model returns its reasoning process. Set to 'auto' for a condensed summary, 'detailed' for more comprehensive reasoning, or 'none' to disable. Defaults to 'auto'.
1111+
*/
1112+
reasoningSummary?: string;
11051113
headers?: LanguageModelHeaders;
11061114
}
11071115
export interface OpenAICompatibleLanguageModel {

0 commit comments

Comments
 (0)