diff --git a/packages/ai/package.json b/packages/ai/package.json index 9a54de2fb..48cb17c59 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -62,7 +62,9 @@ "clean": "shx rm -rf dist", "generate-models": "node scripts/generate-models.ts", "generate-image-models": "node scripts/generate-image-models.ts", - "build": "npm run generate-models && npm run generate-image-models && tsgo -p tsconfig.build.json", + "generate": "npm run generate-models && npm run generate-image-models", + "build": "tsgo -p tsconfig.build.json", + "check:models-drift": "npm run generate && git diff --exit-code -- src/models.generated.ts src/image-models.generated.ts", "test": "vitest --run", "prepublishOnly": "npm run clean && npm run build" }, diff --git a/packages/ai/src/providers/openai-responses.ts b/packages/ai/src/providers/openai-responses.ts index 9afeff290..b5cb69c4a 100644 --- a/packages/ai/src/providers/openai-responses.ts +++ b/packages/ai/src/providers/openai-responses.ts @@ -40,6 +40,7 @@ function resolveCacheRetention(cacheRetention?: CacheRetention): CacheRetention function getCompat(model: Model<"openai-responses">): Required { return { supportsDeveloperRole: model.compat?.supportsDeveloperRole ?? true, + supportsReasoningEffort: model.compat?.supportsReasoningEffort ?? true, sendSessionIdHeader: model.compat?.sendSessionIdHeader ?? true, supportsLongCacheRetention: model.compat?.supportsLongCacheRetention ?? true, }; diff --git a/packages/ai/src/types.ts b/packages/ai/src/types.ts index 897e87d96..eab4e8b0e 100644 --- a/packages/ai/src/types.ts +++ b/packages/ai/src/types.ts @@ -423,6 +423,8 @@ export interface OpenAICompletionsCompat { export interface OpenAIResponsesCompat { /** Whether the provider supports the `developer` role (vs `system`). Default: true. */ supportsDeveloperRole?: boolean; + /** Whether the provider supports `reasoning_effort`. Default: true. */ + supportsReasoningEffort?: boolean; /** Whether to send the OpenAI `session_id` cache-affinity header from `options.sessionId` when caching is enabled. Default: true. */ sendSessionIdHeader?: boolean; /** Whether the provider supports `prompt_cache_retention: "24h"`. Default: true. */