@open-multi-agent/core 1.4.1 → 1.5.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.
- package/README.md +103 -51
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +5 -0
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/runner.d.ts +12 -0
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +48 -12
- package/dist/agent/runner.js.map +1 -1
- package/dist/cli/oma.d.ts +10 -2
- package/dist/cli/oma.d.ts.map +1 -1
- package/dist/cli/oma.js +10 -5
- package/dist/cli/oma.js.map +1 -1
- package/dist/dashboard/render-team-run-dashboard.d.ts.map +1 -1
- package/dist/dashboard/render-team-run-dashboard.js +177 -84
- package/dist/dashboard/render-team-run-dashboard.js.map +1 -1
- package/dist/llm/adapter.d.ts +3 -1
- package/dist/llm/adapter.d.ts.map +1 -1
- package/dist/llm/adapter.js +10 -0
- package/dist/llm/adapter.js.map +1 -1
- package/dist/llm/ai-sdk.d.ts +5 -1
- package/dist/llm/ai-sdk.d.ts.map +1 -1
- package/dist/llm/ai-sdk.js +50 -9
- package/dist/llm/ai-sdk.js.map +1 -1
- package/dist/llm/anthropic.d.ts +3 -0
- package/dist/llm/anthropic.d.ts.map +1 -1
- package/dist/llm/anthropic.js +29 -13
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/azure-openai.d.ts +3 -0
- package/dist/llm/azure-openai.d.ts.map +1 -1
- package/dist/llm/azure-openai.js +8 -3
- package/dist/llm/azure-openai.js.map +1 -1
- package/dist/llm/bedrock.d.ts +3 -0
- package/dist/llm/bedrock.d.ts.map +1 -1
- package/dist/llm/bedrock.js +49 -21
- package/dist/llm/bedrock.js.map +1 -1
- package/dist/llm/copilot.d.ts +3 -0
- package/dist/llm/copilot.d.ts.map +1 -1
- package/dist/llm/copilot.js +8 -3
- package/dist/llm/copilot.js.map +1 -1
- package/dist/llm/deepseek.d.ts +9 -2
- package/dist/llm/deepseek.d.ts.map +1 -1
- package/dist/llm/deepseek.js +21 -2
- package/dist/llm/deepseek.js.map +1 -1
- package/dist/llm/doubao.d.ts +21 -0
- package/dist/llm/doubao.d.ts.map +1 -0
- package/dist/llm/doubao.js +24 -0
- package/dist/llm/doubao.js.map +1 -0
- package/dist/llm/gemini.d.ts +3 -0
- package/dist/llm/gemini.d.ts.map +1 -1
- package/dist/llm/gemini.js +40 -19
- package/dist/llm/gemini.js.map +1 -1
- package/dist/llm/mimo.d.ts +24 -0
- package/dist/llm/mimo.d.ts.map +1 -0
- package/dist/llm/mimo.js +30 -0
- package/dist/llm/mimo.js.map +1 -0
- package/dist/llm/openai-common.d.ts +10 -3
- package/dist/llm/openai-common.d.ts.map +1 -1
- package/dist/llm/openai-common.js +95 -8
- package/dist/llm/openai-common.js.map +1 -1
- package/dist/llm/openai.d.ts +24 -0
- package/dist/llm/openai.d.ts.map +1 -1
- package/dist/llm/openai.js +49 -4
- package/dist/llm/openai.js.map +1 -1
- package/dist/llm/reasoning-fallback.d.ts +132 -0
- package/dist/llm/reasoning-fallback.d.ts.map +1 -0
- package/dist/llm/reasoning-fallback.js +128 -0
- package/dist/llm/reasoning-fallback.js.map +1 -0
- package/dist/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.js +72 -10
- package/dist/orchestrator/orchestrator.js.map +1 -1
- package/dist/tool/built-in/bash.d.ts +1 -1
- package/dist/tool/built-in/bash.d.ts.map +1 -1
- package/dist/tool/built-in/bash.js +60 -7
- package/dist/tool/built-in/bash.js.map +1 -1
- package/dist/tool/built-in/file-edit.d.ts.map +1 -1
- package/dist/tool/built-in/file-edit.js +13 -8
- package/dist/tool/built-in/file-edit.js.map +1 -1
- package/dist/tool/built-in/file-read.d.ts.map +1 -1
- package/dist/tool/built-in/file-read.js +9 -4
- package/dist/tool/built-in/file-read.js.map +1 -1
- package/dist/tool/built-in/file-write.d.ts.map +1 -1
- package/dist/tool/built-in/file-write.js +11 -6
- package/dist/tool/built-in/file-write.js.map +1 -1
- package/dist/tool/built-in/fs-walk.d.ts.map +1 -1
- package/dist/tool/built-in/fs-walk.js +6 -3
- package/dist/tool/built-in/fs-walk.js.map +1 -1
- package/dist/tool/built-in/glob.d.ts.map +1 -1
- package/dist/tool/built-in/glob.js +10 -4
- package/dist/tool/built-in/glob.js.map +1 -1
- package/dist/tool/built-in/grep.d.ts.map +1 -1
- package/dist/tool/built-in/grep.js +15 -6
- package/dist/tool/built-in/grep.js.map +1 -1
- package/dist/tool/built-in/path-safety.d.ts +30 -0
- package/dist/tool/built-in/path-safety.d.ts.map +1 -0
- package/dist/tool/built-in/path-safety.js +106 -0
- package/dist/tool/built-in/path-safety.js.map +1 -0
- package/dist/tool/mcp.d.ts.map +1 -1
- package/dist/tool/mcp.js +58 -33
- package/dist/tool/mcp.js.map +1 -1
- package/dist/types.d.ts +159 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/redaction.d.ts +4 -0
- package/dist/utils/redaction.d.ts.map +1 -0
- package/dist/utils/redaction.js +78 -0
- package/dist/utils/redaction.js.map +1 -0
- package/package.json +1 -2
- package/docs/DECISIONS.md +0 -49
- package/docs/cli.md +0 -265
- package/docs/context-management.md +0 -24
- package/docs/featured-partner.md +0 -28
- package/docs/observability.md +0 -56
- package/docs/providers/minimax.md +0 -75
- package/docs/providers.md +0 -78
- package/docs/shared-memory.md +0 -27
- package/docs/tool-configuration.md +0 -152
package/dist/llm/gemini.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/llm/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,WAAW,EACX,yBAAyB,GAQ1B,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/llm/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview MiMo adapter.
|
|
3
|
+
*
|
|
4
|
+
* Thin wrapper around OpenAIAdapter that configures MiMo's official
|
|
5
|
+
* OpenAI-compatible endpoint and MIMO_API_KEY environment variable fallback.
|
|
6
|
+
*/
|
|
7
|
+
import { OpenAIAdapter } from './openai.js';
|
|
8
|
+
/**
|
|
9
|
+
* LLM adapter for MiMo models.
|
|
10
|
+
*
|
|
11
|
+
* Thread-safe. Can be shared across agents.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* provider: 'mimo'
|
|
15
|
+
* model: 'mimo-v2.5-pro' (or any model available to your MiMo API key)
|
|
16
|
+
*/
|
|
17
|
+
export declare class MiMoAdapter extends OpenAIAdapter {
|
|
18
|
+
readonly name = "mimo";
|
|
19
|
+
readonly capabilities: {
|
|
20
|
+
echoesReasoning: "tool-use-only";
|
|
21
|
+
};
|
|
22
|
+
constructor(apiKey?: string, baseURL?: string);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=mimo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mimo.d.ts","sourceRoot":"","sources":["../../src/llm/mimo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,aAAa;IAC5C,QAAQ,CAAC,IAAI,UAAS;IAItB,SAAkB,YAAY;;MAE7B;gBAEW,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAQ9C"}
|
package/dist/llm/mimo.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview MiMo adapter.
|
|
3
|
+
*
|
|
4
|
+
* Thin wrapper around OpenAIAdapter that configures MiMo's official
|
|
5
|
+
* OpenAI-compatible endpoint and MIMO_API_KEY environment variable fallback.
|
|
6
|
+
*/
|
|
7
|
+
import { OpenAIAdapter } from './openai.js';
|
|
8
|
+
/**
|
|
9
|
+
* LLM adapter for MiMo models.
|
|
10
|
+
*
|
|
11
|
+
* Thread-safe. Can be shared across agents.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* provider: 'mimo'
|
|
15
|
+
* model: 'mimo-v2.5-pro' (or any model available to your MiMo API key)
|
|
16
|
+
*/
|
|
17
|
+
export class MiMoAdapter extends OpenAIAdapter {
|
|
18
|
+
name = 'mimo';
|
|
19
|
+
// MiMo thinking mode follows the same OpenAI-compatible reasoning_content
|
|
20
|
+
// replay contract as DeepSeek for multi-turn tool-calling conversations.
|
|
21
|
+
capabilities = {
|
|
22
|
+
echoesReasoning: 'tool-use-only',
|
|
23
|
+
};
|
|
24
|
+
constructor(apiKey, baseURL) {
|
|
25
|
+
// Allow override of baseURL (Token Plan clusters, proxies, or future changes)
|
|
26
|
+
// but default to the official pay-as-you-go MiMo endpoint.
|
|
27
|
+
super(apiKey ?? process.env['MIMO_API_KEY'], baseURL ?? process.env['MIMO_BASE_URL'] ?? 'https://api.xiaomimimo.com/v1');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=mimo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mimo.js","sourceRoot":"","sources":["../../src/llm/mimo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;GAQG;AACH,MAAM,OAAO,WAAY,SAAQ,aAAa;IACnC,IAAI,GAAG,MAAM,CAAA;IAEtB,0EAA0E;IAC1E,yEAAyE;IACvD,YAAY,GAAG;QAC/B,eAAe,EAAE,eAAwB;KAC1C,CAAA;IAED,YAAY,MAAe,EAAE,OAAgB;QAC3C,8EAA8E;QAC9E,2DAA2D;QAC3D,KAAK,CACH,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EACrC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,+BAA+B,CAC3E,CAAA;IACH,CAAC;CACF"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { ChatCompletion, ChatCompletionMessageParam, ChatCompletionTool } from 'openai/resources/chat/completions/index.js';
|
|
9
9
|
import type { LLMMessage, LLMResponse, LLMToolDef } from '../types.js';
|
|
10
|
+
import { type ReasoningOutboundOptions } from './reasoning-fallback.js';
|
|
10
11
|
/**
|
|
11
12
|
* Convert a framework {@link LLMToolDef} to an OpenAI {@link ChatCompletionTool}.
|
|
12
13
|
*/
|
|
@@ -30,7 +31,7 @@ export declare function getOpenAIReasoningText(source: unknown): string;
|
|
|
30
31
|
* runner's loop-detection warning injection (see {@link AgentRunner}, which
|
|
31
32
|
* appends a text warning to a tool_result message when a loop is detected).
|
|
32
33
|
*/
|
|
33
|
-
export declare function toOpenAIMessages(messages: LLMMessage[]): ChatCompletionMessageParam[];
|
|
34
|
+
export declare function toOpenAIMessages(messages: LLMMessage[], outboundOptions?: ReasoningOutboundOptions): ChatCompletionMessageParam[];
|
|
34
35
|
/**
|
|
35
36
|
* Convert an OpenAI {@link ChatCompletion} into a framework {@link LLMResponse}.
|
|
36
37
|
*
|
|
@@ -43,8 +44,14 @@ export declare function toOpenAIMessages(messages: LLMMessage[]): ChatCompletion
|
|
|
43
44
|
* that looks like a tool call, the fallback extractor
|
|
44
45
|
* uses this list to validate matches. Pass the names
|
|
45
46
|
* of tools sent in the request for best results.
|
|
47
|
+
* @param provenance - Optional adapter-name string stamped onto any
|
|
48
|
+
* extracted {@link ReasoningBlock}, so downstream
|
|
49
|
+
* outbound paths can distinguish native-echo eligible
|
|
50
|
+
* blocks from foreign ones (see #223). Each
|
|
51
|
+
* OpenAI-family adapter should pass its own
|
|
52
|
+
* {@link LLMAdapter.name}.
|
|
46
53
|
*/
|
|
47
|
-
export declare function fromOpenAICompletion(completion: ChatCompletion, knownToolNames?: string[]): LLMResponse;
|
|
54
|
+
export declare function fromOpenAICompletion(completion: ChatCompletion, knownToolNames?: string[], provenance?: string): LLMResponse;
|
|
48
55
|
/**
|
|
49
56
|
* Normalize an OpenAI `finish_reason` string to the framework's canonical
|
|
50
57
|
* stop-reason vocabulary.
|
|
@@ -61,5 +68,5 @@ export declare function normalizeFinishReason(reason: string): string;
|
|
|
61
68
|
* Prepend a system message when `systemPrompt` is provided, then append the
|
|
62
69
|
* converted conversation messages.
|
|
63
70
|
*/
|
|
64
|
-
export declare function buildOpenAIMessageList(messages: LLMMessage[], systemPrompt: string | undefined): ChatCompletionMessageParam[];
|
|
71
|
+
export declare function buildOpenAIMessageList(messages: LLMMessage[], systemPrompt: string | undefined, outboundOptions?: ReasoningOutboundOptions): ChatCompletionMessageParam[];
|
|
65
72
|
//# sourceMappingURL=openai-common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-common.d.ts","sourceRoot":"","sources":["../../src/llm/openai-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,cAAc,EAEd,0BAA0B,EAE1B,kBAAkB,EAGnB,MAAM,4CAA4C,CAAA;AAEnD,OAAO,KAAK,EAEV,UAAU,EACV,WAAW,EACX,UAAU,EAIX,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"openai-common.d.ts","sourceRoot":"","sources":["../../src/llm/openai-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,cAAc,EAEd,0BAA0B,EAE1B,kBAAkB,EAGnB,MAAM,4CAA4C,CAAA;AAEnD,OAAO,KAAK,EAEV,UAAU,EACV,WAAW,EACX,UAAU,EAIX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAgE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAMrI;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,CASjE;AAuBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAG9D;AAUD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,eAAe,CAAC,EAAE,wBAAwB,GACzC,0BAA0B,EAAE,CAgD9B;AA4ID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,cAAc,EAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,UAAU,CAAC,EAAE,MAAM,GAClB,WAAW,CAkFb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,UAAU,EAAE,EACtB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,eAAe,CAAC,EAAE,wBAAwB,GACzC,0BAA0B,EAAE,CAS9B"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* duplicated across adapters.
|
|
7
7
|
*/
|
|
8
8
|
import { extractToolCallsFromText } from '../tool/text-tool-extractor.js';
|
|
9
|
+
import { reasoningBlockToInlineText, resolveReasoningOutboundMaxChars } from './reasoning-fallback.js';
|
|
9
10
|
// ---------------------------------------------------------------------------
|
|
10
11
|
// Framework → OpenAI
|
|
11
12
|
// ---------------------------------------------------------------------------
|
|
@@ -75,11 +76,24 @@ function hasToolResults(msg) {
|
|
|
75
76
|
* runner's loop-detection warning injection (see {@link AgentRunner}, which
|
|
76
77
|
* appends a text warning to a tool_result message when a loop is detected).
|
|
77
78
|
*/
|
|
78
|
-
export function toOpenAIMessages(messages) {
|
|
79
|
+
export function toOpenAIMessages(messages, outboundOptions) {
|
|
79
80
|
const result = [];
|
|
81
|
+
// Per DeepSeek V4 thinking-mode spec, when a conversation involves any
|
|
82
|
+
// tool call, ALL intermediate assistant messages must echo
|
|
83
|
+
// `reasoning_content` — not just the one that emitted the tool_use.
|
|
84
|
+
// Omitting reasoning on the final synthesis turn (tool_calls=None) 400s
|
|
85
|
+
// on the next user message. We approximate "tool-calling conversation"
|
|
86
|
+
// as "any tool_use anywhere in history"; non-tool conversations skip
|
|
87
|
+
// the echo entirely (per spec, reasoning would be ignored but still
|
|
88
|
+
// bloat context). See:
|
|
89
|
+
// https://api-docs.deepseek.com/zh-cn/guides/thinking_mode
|
|
90
|
+
const conversationHasToolUse = messages.some((m) => m.content.some((b) => b.type === 'tool_use'));
|
|
80
91
|
for (const msg of messages) {
|
|
81
92
|
if (msg.role === 'assistant') {
|
|
82
|
-
|
|
93
|
+
const assistantMsg = toOpenAIAssistantMessage(msg, outboundOptions, conversationHasToolUse);
|
|
94
|
+
if (assistantMsg !== null) {
|
|
95
|
+
result.push(assistantMsg);
|
|
96
|
+
}
|
|
83
97
|
}
|
|
84
98
|
else {
|
|
85
99
|
// user role
|
|
@@ -136,9 +150,19 @@ function toOpenAIUserMessage(msg) {
|
|
|
136
150
|
* Convert an `assistant`-role framework message into an OpenAI assistant message.
|
|
137
151
|
* `tool_use` blocks become `tool_calls`; `text` blocks become message content.
|
|
138
152
|
*/
|
|
139
|
-
function toOpenAIAssistantMessage(msg) {
|
|
153
|
+
function toOpenAIAssistantMessage(msg, outboundOptions, conversationHasToolUse = false) {
|
|
140
154
|
const toolCalls = [];
|
|
141
155
|
const textParts = [];
|
|
156
|
+
const pendingThinkingParts = [];
|
|
157
|
+
const echoProvider = outboundOptions?.nativeReasoningEchoProvider;
|
|
158
|
+
const enableReasoningReplay = outboundOptions?.preserveReasoningAsText === true;
|
|
159
|
+
const resolvedMaxChars = resolveReasoningOutboundMaxChars(outboundOptions);
|
|
160
|
+
// Collected only when an `echoProvider` is configured. Emitted as a
|
|
161
|
+
// `reasoning_content` field on the assistant payload below, gated by
|
|
162
|
+
// `conversationHasToolUse` (DeepSeek V4 rule: applies to every assistant
|
|
163
|
+
// message in a tool-calling conversation, including the final synthesis
|
|
164
|
+
// message that has no tool_calls of its own).
|
|
165
|
+
const echoEligibleReasoning = [];
|
|
142
166
|
for (const block of msg.content) {
|
|
143
167
|
if (block.type === 'tool_use') {
|
|
144
168
|
toolCalls.push({
|
|
@@ -150,10 +174,51 @@ function toOpenAIAssistantMessage(msg) {
|
|
|
150
174
|
},
|
|
151
175
|
});
|
|
152
176
|
}
|
|
177
|
+
else if (block.type === 'reasoning') {
|
|
178
|
+
// Path A: native echo (adapter wired with nativeReasoningEchoProvider
|
|
179
|
+
// and the block's provenance matches). The block is queued for
|
|
180
|
+
// attachment as `reasoning_content`; gating by tool_use happens after
|
|
181
|
+
// the loop so we don't emit it on non-tool turns.
|
|
182
|
+
if (echoProvider !== undefined && block.provenance === echoProvider) {
|
|
183
|
+
const isRedacted = typeof block.redactedData === 'string' && block.redactedData.length > 0;
|
|
184
|
+
if (!isRedacted && block.text.length > 0) {
|
|
185
|
+
echoEligibleReasoning.push(block.text);
|
|
186
|
+
}
|
|
187
|
+
// Either way, don't double-emit via the text-replay path below.
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
// Path B: `<thinking>` text fallback for foreign-provenance blocks
|
|
191
|
+
// (or any block when this adapter doesn't support native echo) when
|
|
192
|
+
// `preserveReasoningAsText` is on. OpenAI-family adapters are
|
|
193
|
+
// capability `'never'` by default, so every reasoning block hits this
|
|
194
|
+
// branch in plain OpenAI use; DeepSeek (`'tool-use-only'`) hits this
|
|
195
|
+
// only for foreign-provenance blocks since its own-provenance ones
|
|
196
|
+
// are claimed by Path A above.
|
|
197
|
+
if (enableReasoningReplay) {
|
|
198
|
+
const serialized = resolvedMaxChars === undefined
|
|
199
|
+
? reasoningBlockToInlineText(block)
|
|
200
|
+
: reasoningBlockToInlineText(block, { maxChars: resolvedMaxChars });
|
|
201
|
+
if (serialized.length > 0) {
|
|
202
|
+
pendingThinkingParts.push(serialized);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
153
206
|
else if (block.type === 'text') {
|
|
154
|
-
|
|
207
|
+
if (pendingThinkingParts.length > 0) {
|
|
208
|
+
textParts.push(`${pendingThinkingParts.join('')}${block.text}`);
|
|
209
|
+
pendingThinkingParts.length = 0;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
textParts.push(block.text);
|
|
213
|
+
}
|
|
155
214
|
}
|
|
156
215
|
}
|
|
216
|
+
if (pendingThinkingParts.length > 0) {
|
|
217
|
+
textParts.push(pendingThinkingParts.join(''));
|
|
218
|
+
}
|
|
219
|
+
if (toolCalls.length === 0 && textParts.length === 0) {
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
157
222
|
const assistantMsg = {
|
|
158
223
|
role: 'assistant',
|
|
159
224
|
content: textParts.length > 0 ? textParts.join('') : null,
|
|
@@ -161,6 +226,20 @@ function toOpenAIAssistantMessage(msg) {
|
|
|
161
226
|
if (toolCalls.length > 0) {
|
|
162
227
|
assistantMsg.tool_calls = toolCalls;
|
|
163
228
|
}
|
|
229
|
+
// DeepSeek V4 (thinking mode) returns 400 on follow-up requests if any
|
|
230
|
+
// intermediate assistant message in a tool-calling conversation drops
|
|
231
|
+
// `reasoning_content` — including the final synthesis message that has
|
|
232
|
+
// no tool_calls of its own. The gate is on the whole conversation, not
|
|
233
|
+
// this single message. Non-tool conversations skip the attachment (per
|
|
234
|
+
// spec, reasoning is ignored there but would still bloat context).
|
|
235
|
+
//
|
|
236
|
+
// The field is not declared on the upstream SDK type, so we attach it
|
|
237
|
+
// via an indexed cast; the SDK serialises arbitrary own properties.
|
|
238
|
+
if (conversationHasToolUse && echoEligibleReasoning.length > 0) {
|
|
239
|
+
const reasoningContent = echoEligibleReasoning.join('');
|
|
240
|
+
assistantMsg
|
|
241
|
+
.reasoning_content = reasoningContent;
|
|
242
|
+
}
|
|
164
243
|
return assistantMsg;
|
|
165
244
|
}
|
|
166
245
|
// ---------------------------------------------------------------------------
|
|
@@ -178,8 +257,14 @@ function toOpenAIAssistantMessage(msg) {
|
|
|
178
257
|
* that looks like a tool call, the fallback extractor
|
|
179
258
|
* uses this list to validate matches. Pass the names
|
|
180
259
|
* of tools sent in the request for best results.
|
|
260
|
+
* @param provenance - Optional adapter-name string stamped onto any
|
|
261
|
+
* extracted {@link ReasoningBlock}, so downstream
|
|
262
|
+
* outbound paths can distinguish native-echo eligible
|
|
263
|
+
* blocks from foreign ones (see #223). Each
|
|
264
|
+
* OpenAI-family adapter should pass its own
|
|
265
|
+
* {@link LLMAdapter.name}.
|
|
181
266
|
*/
|
|
182
|
-
export function fromOpenAICompletion(completion, knownToolNames) {
|
|
267
|
+
export function fromOpenAICompletion(completion, knownToolNames, provenance) {
|
|
183
268
|
const choice = completion.choices?.[0];
|
|
184
269
|
if (choice === undefined) {
|
|
185
270
|
throw new Error('OpenAI returned a completion with no choices');
|
|
@@ -188,7 +273,9 @@ export function fromOpenAICompletion(completion, knownToolNames) {
|
|
|
188
273
|
const message = choice.message;
|
|
189
274
|
const reasoningText = getOpenAIReasoningText(message);
|
|
190
275
|
if (reasoningText.length > 0) {
|
|
191
|
-
const reasoningBlock =
|
|
276
|
+
const reasoningBlock = provenance !== undefined
|
|
277
|
+
? { type: 'reasoning', text: reasoningText, provenance }
|
|
278
|
+
: { type: 'reasoning', text: reasoningText };
|
|
192
279
|
content.push(reasoningBlock);
|
|
193
280
|
}
|
|
194
281
|
if (message.content !== null && message.content !== undefined) {
|
|
@@ -275,12 +362,12 @@ export function normalizeFinishReason(reason) {
|
|
|
275
362
|
* Prepend a system message when `systemPrompt` is provided, then append the
|
|
276
363
|
* converted conversation messages.
|
|
277
364
|
*/
|
|
278
|
-
export function buildOpenAIMessageList(messages, systemPrompt) {
|
|
365
|
+
export function buildOpenAIMessageList(messages, systemPrompt, outboundOptions) {
|
|
279
366
|
const result = [];
|
|
280
367
|
if (systemPrompt !== undefined && systemPrompt.length > 0) {
|
|
281
368
|
result.push({ role: 'system', content: systemPrompt });
|
|
282
369
|
}
|
|
283
|
-
result.push(...toOpenAIMessages(messages));
|
|
370
|
+
result.push(...toOpenAIMessages(messages, outboundOptions));
|
|
284
371
|
return result;
|
|
285
372
|
}
|
|
286
373
|
//# sourceMappingURL=openai-common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-common.js","sourceRoot":"","sources":["../../src/llm/openai-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"openai-common.js","sourceRoot":"","sources":["../../src/llm/openai-common.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/openai.d.ts
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
32
|
import type { ContentBlock, LLMAdapter, LLMChatOptions, LLMMessage, LLMResponse, LLMStreamOptions, LLMToolDef, StreamEvent } from '../types.js';
|
|
33
|
+
import type { ReasoningOutboundOptions } from './reasoning-fallback.js';
|
|
33
34
|
/**
|
|
34
35
|
* LLM adapter backed by the OpenAI Chat Completions API.
|
|
35
36
|
*
|
|
@@ -38,7 +39,30 @@ import type { ContentBlock, LLMAdapter, LLMChatOptions, LLMMessage, LLMResponse,
|
|
|
38
39
|
export declare class OpenAIAdapter implements LLMAdapter {
|
|
39
40
|
#private;
|
|
40
41
|
readonly name: string;
|
|
42
|
+
readonly capabilities: {
|
|
43
|
+
readonly echoesReasoning: 'never' | 'own-issued' | 'tool-use-only';
|
|
44
|
+
};
|
|
41
45
|
constructor(apiKey?: string, baseURL?: string);
|
|
46
|
+
/**
|
|
47
|
+
* Build the per-call options forwarded to {@link buildOpenAIMessageList}.
|
|
48
|
+
*
|
|
49
|
+
* Composes two orthogonal mechanisms:
|
|
50
|
+
* 1. **`nativeReasoningEchoProvider`** — set when this adapter's
|
|
51
|
+
* capability is `'tool-use-only'` (DeepSeek). Triggers native
|
|
52
|
+
* `reasoning_content` echo on assistant messages whose reasoning
|
|
53
|
+
* blocks carry matching provenance AND the conversation contains
|
|
54
|
+
* `tool_use`. See PR #251 / DeepSeek V4 thinking-mode spec.
|
|
55
|
+
* 2. **`preserveReasoningAsText` / `compressReasoningText`** — opt-in
|
|
56
|
+
* `<thinking>` text fallback from the user's `AgentConfig`. Applies
|
|
57
|
+
* to foreign-provenance reasoning AND to all reasoning on `'never'`
|
|
58
|
+
* adapters. See #223 Phase 2.
|
|
59
|
+
*
|
|
60
|
+
* The two paths are mutually exclusive per block: native echo claims
|
|
61
|
+
* own-provenance blocks first; text fallback claims everything else.
|
|
62
|
+
* Subclasses inherit `chat()` / `stream()` and so automatically pick up
|
|
63
|
+
* both behaviours; no subclass override needed.
|
|
64
|
+
*/
|
|
65
|
+
protected buildMessageOptions(options: LLMChatOptions): ReasoningOutboundOptions | undefined;
|
|
42
66
|
/**
|
|
43
67
|
* Send a synchronous (non-streaming) chat request and return the complete
|
|
44
68
|
* {@link LLMResponse}.
|
package/dist/llm/openai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EAGZ,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EAGZ,MAAM,aAAa,CAAA;AASpB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAOvE;;;;GAIG;AACH,qBAAa,aAAc,YAAW,UAAU;;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAW;IAchC,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,YAAY,GAAG,eAAe,CAAA;KAAE,CAE5F;gBAIW,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAO7C;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,wBAAwB,GAAG,SAAS;IAe5F;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCjF;;;;;;;;;OASG;IACI,MAAM,CACX,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,gBAAgB,GACxB,aAAa,CAAC,WAAW,CAAC;CA6K9B;AAGD,YAAY,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,CAAA"}
|
package/dist/llm/openai.js
CHANGED
|
@@ -42,6 +42,21 @@ import { extractToolCallsFromText } from '../tool/text-tool-extractor.js';
|
|
|
42
42
|
*/
|
|
43
43
|
export class OpenAIAdapter {
|
|
44
44
|
name = 'openai';
|
|
45
|
+
// The field type is intentionally widened to the full union (rather than
|
|
46
|
+
// narrowed to `'never'` via `as const`) so subclasses can override with a
|
|
47
|
+
// different value — DeepSeek currently uses `'tool-use-only'` for native
|
|
48
|
+
// `reasoning_content` echo on tool-use turns (per PR #251).
|
|
49
|
+
//
|
|
50
|
+
// OpenAI itself stays `'never'`: Chat Completions does not accept
|
|
51
|
+
// `reasoning_content` on input under any circumstance. When the user sets
|
|
52
|
+
// `AgentConfig.preserveReasoningAsText` (PR #260 / #223 Phase 2), the
|
|
53
|
+
// outbound conversion in `toOpenAIMessages` downgrades each reasoning
|
|
54
|
+
// block to inline `<thinking>` text via the shared helper in
|
|
55
|
+
// `reasoning-fallback.ts`. Without the opt-in, reasoning blocks are
|
|
56
|
+
// dropped silently on outbound.
|
|
57
|
+
capabilities = {
|
|
58
|
+
echoesReasoning: 'never',
|
|
59
|
+
};
|
|
45
60
|
#client;
|
|
46
61
|
constructor(apiKey, baseURL) {
|
|
47
62
|
this.#client = new OpenAI({
|
|
@@ -49,6 +64,36 @@ export class OpenAIAdapter {
|
|
|
49
64
|
baseURL,
|
|
50
65
|
});
|
|
51
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Build the per-call options forwarded to {@link buildOpenAIMessageList}.
|
|
69
|
+
*
|
|
70
|
+
* Composes two orthogonal mechanisms:
|
|
71
|
+
* 1. **`nativeReasoningEchoProvider`** — set when this adapter's
|
|
72
|
+
* capability is `'tool-use-only'` (DeepSeek). Triggers native
|
|
73
|
+
* `reasoning_content` echo on assistant messages whose reasoning
|
|
74
|
+
* blocks carry matching provenance AND the conversation contains
|
|
75
|
+
* `tool_use`. See PR #251 / DeepSeek V4 thinking-mode spec.
|
|
76
|
+
* 2. **`preserveReasoningAsText` / `compressReasoningText`** — opt-in
|
|
77
|
+
* `<thinking>` text fallback from the user's `AgentConfig`. Applies
|
|
78
|
+
* to foreign-provenance reasoning AND to all reasoning on `'never'`
|
|
79
|
+
* adapters. See #223 Phase 2.
|
|
80
|
+
*
|
|
81
|
+
* The two paths are mutually exclusive per block: native echo claims
|
|
82
|
+
* own-provenance blocks first; text fallback claims everything else.
|
|
83
|
+
* Subclasses inherit `chat()` / `stream()` and so automatically pick up
|
|
84
|
+
* both behaviours; no subclass override needed.
|
|
85
|
+
*/
|
|
86
|
+
buildMessageOptions(options) {
|
|
87
|
+
const wantsNativeEcho = this.capabilities.echoesReasoning === 'tool-use-only';
|
|
88
|
+
const wantsTextFallback = options.preserveReasoningAsText === true;
|
|
89
|
+
if (!wantsNativeEcho && !wantsTextFallback)
|
|
90
|
+
return undefined;
|
|
91
|
+
return {
|
|
92
|
+
preserveReasoningAsText: options.preserveReasoningAsText,
|
|
93
|
+
compressReasoningText: options.compressReasoningText,
|
|
94
|
+
nativeReasoningEchoProvider: wantsNativeEcho ? this.name : undefined,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
52
97
|
// -------------------------------------------------------------------------
|
|
53
98
|
// chat()
|
|
54
99
|
// -------------------------------------------------------------------------
|
|
@@ -60,7 +105,7 @@ export class OpenAIAdapter {
|
|
|
60
105
|
* handle these (e.g. rate limits, context length exceeded).
|
|
61
106
|
*/
|
|
62
107
|
async chat(messages, options) {
|
|
63
|
-
const openAIMessages = buildOpenAIMessageList(messages, options.systemPrompt);
|
|
108
|
+
const openAIMessages = buildOpenAIMessageList(messages, options.systemPrompt, this.buildMessageOptions(options));
|
|
64
109
|
const completion = await this.#client.chat.completions.create({
|
|
65
110
|
// Sampling params first so extraBody can override them. Structural
|
|
66
111
|
// fields (model/messages/tools/stream) come after extraBody so users
|
|
@@ -86,7 +131,7 @@ export class OpenAIAdapter {
|
|
|
86
131
|
signal: options.abortSignal,
|
|
87
132
|
});
|
|
88
133
|
const toolNames = options.tools?.map(t => t.name);
|
|
89
|
-
return fromOpenAICompletion(completion, toolNames);
|
|
134
|
+
return fromOpenAICompletion(completion, toolNames, this.name);
|
|
90
135
|
}
|
|
91
136
|
// -------------------------------------------------------------------------
|
|
92
137
|
// stream()
|
|
@@ -102,7 +147,7 @@ export class OpenAIAdapter {
|
|
|
102
147
|
* - Exactly one terminal event: `done` or `error`
|
|
103
148
|
*/
|
|
104
149
|
async *stream(messages, options) {
|
|
105
|
-
const openAIMessages = buildOpenAIMessageList(messages, options.systemPrompt);
|
|
150
|
+
const openAIMessages = buildOpenAIMessageList(messages, options.systemPrompt, this.buildMessageOptions(options));
|
|
106
151
|
// We request usage in the final chunk so we can include it in the `done` event.
|
|
107
152
|
const streamResponse = await this.#client.chat.completions.create({
|
|
108
153
|
// See chat() above for the rationale behind this field ordering.
|
|
@@ -213,7 +258,7 @@ export class OpenAIAdapter {
|
|
|
213
258
|
// Build the complete content array for the done response.
|
|
214
259
|
const doneContent = [];
|
|
215
260
|
if (fullReasoning.length > 0) {
|
|
216
|
-
doneContent.push({ type: 'reasoning', text: fullReasoning });
|
|
261
|
+
doneContent.push({ type: 'reasoning', text: fullReasoning, provenance: this.name });
|
|
217
262
|
}
|
|
218
263
|
if (fullText.length > 0) {
|
|
219
264
|
const textBlock = { type: 'text', text: fullText };
|
package/dist/llm/openai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAA;AAoB3B,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"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"}
|