@x-code-cli/core 0.1.5 → 0.1.6
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.
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { zhipu } from 'zhipu-ai-provider';
|
|
3
3
|
import { createAlibaba } from '@ai-sdk/alibaba';
|
|
4
4
|
import { anthropic } from '@ai-sdk/anthropic';
|
|
5
|
-
import {
|
|
5
|
+
import { createDeepSeek } from '@ai-sdk/deepseek';
|
|
6
6
|
import { google } from '@ai-sdk/google';
|
|
7
7
|
import { moonshotai } from '@ai-sdk/moonshotai';
|
|
8
8
|
import { createOpenAI } from '@ai-sdk/openai';
|
|
@@ -23,7 +23,7 @@ export function createModelRegistry() {
|
|
|
23
23
|
if (opts.xai)
|
|
24
24
|
providers.xai = xai;
|
|
25
25
|
if (opts.deepseek)
|
|
26
|
-
providers.deepseek =
|
|
26
|
+
providers.deepseek = createDeepSeek({ fetch: deepseekReasoningFetch });
|
|
27
27
|
if (opts.alibaba) {
|
|
28
28
|
providers.alibaba = createAlibaba({
|
|
29
29
|
baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
|
|
@@ -43,4 +43,34 @@ export function createModelRegistry() {
|
|
|
43
43
|
}
|
|
44
44
|
return createProviderRegistry(providers);
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Back-fill `reasoning_content: ""` on every assistant message in the request
|
|
48
|
+
* body before it reaches DeepSeek V4. The upstream `@ai-sdk/deepseek` converter
|
|
49
|
+
* (convert-to-deepseek-chat-messages.ts) strips `reasoning_content` from any
|
|
50
|
+
* assistant message at or before the last user message — correct for
|
|
51
|
+
* deepseek-reasoner (R1), which forbids passing reasoning back, but wrong for
|
|
52
|
+
* deepseek-v4-*, which *requires* it. Without this, the second turn 400s with
|
|
53
|
+
* "reasoning_content in the thinking mode must be passed back to the API."
|
|
54
|
+
* Scoped to v4 so R1 keeps its documented behavior. Remove once upstream
|
|
55
|
+
* differentiates by model.
|
|
56
|
+
*/
|
|
57
|
+
const deepseekReasoningFetch = async (input, init) => {
|
|
58
|
+
if (!init?.body || typeof init.body !== 'string')
|
|
59
|
+
return fetch(input, init);
|
|
60
|
+
try {
|
|
61
|
+
const body = JSON.parse(init.body);
|
|
62
|
+
if (typeof body.model === 'string' && body.model.includes('deepseek-v4') && Array.isArray(body.messages)) {
|
|
63
|
+
for (const msg of body.messages) {
|
|
64
|
+
if (msg.role === 'assistant' && msg.reasoning_content == null) {
|
|
65
|
+
msg.reasoning_content = '';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return fetch(input, { ...init, body: JSON.stringify(body) });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Body wasn't JSON we recognize — pass through unchanged.
|
|
73
|
+
}
|
|
74
|
+
return fetch(input, init);
|
|
75
|
+
};
|
|
46
76
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"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"}
|