@open-multi-agent/core 1.4.2 → 1.6.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 +135 -79
- 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 +12 -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/errors.d.ts +10 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/llm/adapter.d.ts +5 -1
- package/dist/llm/adapter.d.ts.map +1 -1
- package/dist/llm/adapter.js +16 -0
- package/dist/llm/adapter.js.map +1 -1
- package/dist/llm/ai-sdk.d.ts +2 -1
- package/dist/llm/ai-sdk.d.ts.map +1 -1
- package/dist/llm/ai-sdk.js +48 -13
- package/dist/llm/ai-sdk.js.map +1 -1
- package/dist/llm/anthropic.d.ts.map +1 -1
- package/dist/llm/anthropic.js +27 -13
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/azure-openai.d.ts.map +1 -1
- package/dist/llm/azure-openai.js +5 -2
- package/dist/llm/azure-openai.js.map +1 -1
- package/dist/llm/bedrock.d.ts.map +1 -1
- package/dist/llm/bedrock.js +32 -19
- package/dist/llm/bedrock.js.map +1 -1
- package/dist/llm/copilot.d.ts.map +1 -1
- package/dist/llm/copilot.js +5 -2
- 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.map +1 -1
- package/dist/llm/gemini.js +35 -18
- package/dist/llm/gemini.js.map +1 -1
- package/dist/llm/hunyuan.d.ts +40 -0
- package/dist/llm/hunyuan.d.ts.map +1 -0
- package/dist/llm/hunyuan.js +59 -0
- package/dist/llm/hunyuan.js.map +1 -0
- 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 -17
- package/dist/llm/openai-common.d.ts.map +1 -1
- package/dist/llm/openai-common.js +92 -43
- package/dist/llm/openai-common.js.map +1 -1
- package/dist/llm/openai.d.ts +22 -1
- package/dist/llm/openai.d.ts.map +1 -1
- package/dist/llm/openai.js +51 -7
- package/dist/llm/openai.js.map +1 -1
- package/dist/llm/reasoning-fallback.d.ts +80 -15
- package/dist/llm/reasoning-fallback.d.ts.map +1 -1
- package/dist/llm/reasoning-fallback.js +45 -12
- package/dist/llm/reasoning-fallback.js.map +1 -1
- package/dist/llm/validate.d.ts +26 -0
- package/dist/llm/validate.d.ts.map +1 -0
- package/dist/llm/validate.js +55 -0
- package/dist/llm/validate.js.map +1 -0
- package/dist/memory/shared.d.ts +14 -7
- package/dist/memory/shared.d.ts.map +1 -1
- package/dist/memory/shared.js +97 -14
- package/dist/memory/shared.js.map +1 -1
- package/dist/orchestrator/orchestrator.d.ts +22 -1
- package/dist/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.js +155 -32
- 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 +151 -5
- 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 +7 -4
- package/docs/DECISIONS.md +0 -49
- package/docs/cli.md +0 -265
- package/docs/context-management.md +0 -64
- 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 -80
- package/docs/shared-memory.md +0 -27
- package/docs/tool-configuration.md +0 -152
package/dist/llm/deepseek.js
CHANGED
|
@@ -6,16 +6,35 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { OpenAIAdapter } from './openai.js';
|
|
8
8
|
/**
|
|
9
|
-
* LLM adapter for DeepSeek models
|
|
9
|
+
* LLM adapter for DeepSeek V4 models. Both models support a 1M context window.
|
|
10
10
|
*
|
|
11
11
|
* Thread-safe. Can be shared across agents.
|
|
12
12
|
*
|
|
13
13
|
* Usage:
|
|
14
14
|
* provider: 'deepseek'
|
|
15
|
-
* model: 'deepseek-
|
|
15
|
+
* model: 'deepseek-v4-flash' (economical) or 'deepseek-v4-pro' (flagship)
|
|
16
|
+
*
|
|
17
|
+
* Legacy `deepseek-chat` and `deepseek-reasoner` map to the non-thinking and
|
|
18
|
+
* thinking modes of `deepseek-v4-flash` respectively, and will be fully retired
|
|
19
|
+
* by DeepSeek on 2026-07-24.
|
|
16
20
|
*/
|
|
17
21
|
export class DeepSeekAdapter extends OpenAIAdapter {
|
|
18
22
|
name = 'deepseek';
|
|
23
|
+
// DeepSeek V4 in thinking mode requires `reasoning_content` to be echoed
|
|
24
|
+
// back on EVERY intermediate assistant message of a tool-calling
|
|
25
|
+
// conversation, including the final synthesis message that has no
|
|
26
|
+
// `tool_calls` of its own. Omitting any of them 400s on the next user
|
|
27
|
+
// turn. See:
|
|
28
|
+
// https://api-docs.deepseek.com/zh-cn/guides/thinking_mode
|
|
29
|
+
// The `'tool-use-only'` capability tells the OpenAIAdapter base class to
|
|
30
|
+
// pass `nativeReasoningEchoProvider: 'deepseek'` to the message builder,
|
|
31
|
+
// which attaches `reasoning_content` on every assistant message in a
|
|
32
|
+
// tool-calling conversation that carries a deepseek-provenance reasoning
|
|
33
|
+
// block. Non-tool conversations drop reasoning entirely (the spec says
|
|
34
|
+
// it is ignored there but would still bloat context).
|
|
35
|
+
capabilities = {
|
|
36
|
+
echoesReasoning: 'tool-use-only',
|
|
37
|
+
};
|
|
19
38
|
constructor(apiKey, baseURL) {
|
|
20
39
|
// Allow override of baseURL (for proxies or future changes) but default to official DeepSeek endpoint.
|
|
21
40
|
super(apiKey ?? process.env['DEEPSEEK_API_KEY'], baseURL ?? 'https://api.deepseek.com/v1');
|
package/dist/llm/deepseek.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../src/llm/deepseek.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C
|
|
1
|
+
{"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../src/llm/deepseek.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAAa;IACvC,IAAI,GAAG,UAAU,CAAA;IAE1B,yEAAyE;IACzE,iEAAiE;IACjE,kEAAkE;IAClE,sEAAsE;IACtE,aAAa;IACb,6DAA6D;IAC7D,yEAAyE;IACzE,yEAAyE;IACzE,qEAAqE;IACrE,yEAAyE;IACzE,uEAAuE;IACvE,sDAAsD;IACpC,YAAY,GAAG;QAC/B,eAAe,EAAE,eAAwB;KAC1C,CAAA;IAED,YAAY,MAAe,EAAE,OAAgB;QAC3C,uGAAuG;QACvG,KAAK,CACH,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EACzC,OAAO,IAAI,6BAA6B,CACzC,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Doubao (ByteDance Volcengine) adapter.
|
|
3
|
+
*
|
|
4
|
+
* Thin wrapper around OpenAIAdapter that hard-codes the official Volcengine
|
|
5
|
+
* Ark OpenAI-compatible endpoint and ARK_API_KEY environment variable fallback.
|
|
6
|
+
*/
|
|
7
|
+
import { OpenAIAdapter } from './openai.js';
|
|
8
|
+
/**
|
|
9
|
+
* LLM adapter for Doubao (ByteDance Volcengine Ark) models.
|
|
10
|
+
*
|
|
11
|
+
* Thread-safe. Can be shared across agents.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* provider: 'doubao'
|
|
15
|
+
* model: 'doubao-seed-1-8-251228' (or any model available to your Ark API key)
|
|
16
|
+
*/
|
|
17
|
+
export declare class DoubaoAdapter extends OpenAIAdapter {
|
|
18
|
+
readonly name = "doubao";
|
|
19
|
+
constructor(apiKey?: string, baseURL?: string);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=doubao.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doubao.d.ts","sourceRoot":"","sources":["../../src/llm/doubao.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C,QAAQ,CAAC,IAAI,YAAW;gBAEZ,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAO9C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Doubao (ByteDance Volcengine) adapter.
|
|
3
|
+
*
|
|
4
|
+
* Thin wrapper around OpenAIAdapter that hard-codes the official Volcengine
|
|
5
|
+
* Ark OpenAI-compatible endpoint and ARK_API_KEY environment variable fallback.
|
|
6
|
+
*/
|
|
7
|
+
import { OpenAIAdapter } from './openai.js';
|
|
8
|
+
/**
|
|
9
|
+
* LLM adapter for Doubao (ByteDance Volcengine Ark) models.
|
|
10
|
+
*
|
|
11
|
+
* Thread-safe. Can be shared across agents.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* provider: 'doubao'
|
|
15
|
+
* model: 'doubao-seed-1-8-251228' (or any model available to your Ark API key)
|
|
16
|
+
*/
|
|
17
|
+
export class DoubaoAdapter extends OpenAIAdapter {
|
|
18
|
+
name = 'doubao';
|
|
19
|
+
constructor(apiKey, baseURL) {
|
|
20
|
+
// Allow override of baseURL (for proxies or future changes) but default to official Volcengine Ark endpoint.
|
|
21
|
+
super(apiKey ?? process.env['ARK_API_KEY'], baseURL ?? 'https://ark.cn-beijing.volces.com/api/v3');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=doubao.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doubao.js","sourceRoot":"","sources":["../../src/llm/doubao.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAa;IACrC,IAAI,GAAG,QAAQ,CAAA;IAExB,YAAY,MAAe,EAAE,OAAgB;QAC3C,6GAA6G;QAC7G,KAAK,CACH,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EACpC,OAAO,IAAI,0CAA0C,CACtD,CAAA;IACH,CAAC;CACF"}
|
package/dist/llm/gemini.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/llm/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAcH,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAGhB,WAAW,EAGZ,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/llm/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAcH,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAGhB,WAAW,EAGZ,MAAM,aAAa,CAAA;AAyUpB;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,UAAU;;IAC9C,QAAQ,CAAC,IAAI,YAAW;IAExB,QAAQ,CAAC,YAAY;;MAEpB;gBAIW,MAAM,CAAC,EAAE,MAAM;IAU3B;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAkBjF;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CACX,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,gBAAgB,GACxB,aAAa,CAAC,WAAW,CAAC;CA2E9B"}
|
package/dist/llm/gemini.js
CHANGED
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
import { GoogleGenAI, FunctionCallingConfigMode, } from '@google/genai';
|
|
28
|
+
import { reasoningBlockToInlineText, resolveReasoningOutboundMaxChars, } from './reasoning-fallback.js';
|
|
29
|
+
import { assertValidMessages } from './validate.js';
|
|
28
30
|
// ---------------------------------------------------------------------------
|
|
29
31
|
// Internal helpers
|
|
30
32
|
// ---------------------------------------------------------------------------
|
|
@@ -51,12 +53,15 @@ function toGeminiRole(role) {
|
|
|
51
53
|
* sequence that produced the call. We attach it to the outgoing Part
|
|
52
54
|
* whenever the source {@link ToolUseBlock} carries a signature. Thought
|
|
53
55
|
* summaries (incoming text Parts with `thought: true` surfaced as
|
|
54
|
-
* {@link ReasoningBlock}) are echoed back only when they carry a
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* which never carry signatures)
|
|
56
|
+
* {@link ReasoningBlock}) are echoed back natively only when they carry a
|
|
57
|
+
* signature AND `provenance === 'gemini'` (Phase 1 contract). For unsigned
|
|
58
|
+
* own-provenance blocks, foreign-provenance blocks, or Gemini 2.5 thought
|
|
59
|
+
* summaries (which never carry signatures), the post-Phase-2 behaviour
|
|
60
|
+
* depends on {@link AgentConfig.preserveReasoningAsText}: when opt-in is
|
|
61
|
+
* set, the block falls back to inline `<thinking>` text via the shared
|
|
62
|
+
* helper; when off, it drops silently (pre-Phase-2 default).
|
|
58
63
|
*/
|
|
59
|
-
function toGeminiContents(messages) {
|
|
64
|
+
function toGeminiContents(messages, outboundOptions) {
|
|
60
65
|
// First pass: build id → name map for resolving tool results.
|
|
61
66
|
const toolNameById = new Map();
|
|
62
67
|
for (const msg of messages) {
|
|
@@ -71,18 +76,28 @@ function toGeminiContents(messages) {
|
|
|
71
76
|
for (const block of msg.content) {
|
|
72
77
|
switch (block.type) {
|
|
73
78
|
case 'reasoning': {
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
|
|
79
|
+
// Native echo only when this is a Gemini-own block with signature
|
|
80
|
+
// (matches the Phase-1 own-issued contract). Foreign-provenance or
|
|
81
|
+
// unsigned reasoning falls back to plain `<thinking>` text when the
|
|
82
|
+
// user opts in (see #223 Phase 2), or drops silently otherwise.
|
|
83
|
+
const ownProvenance = block.provenance === 'gemini';
|
|
84
|
+
if (ownProvenance && block.signature !== undefined) {
|
|
85
|
+
const part = {
|
|
86
|
+
text: block.text,
|
|
87
|
+
thought: true,
|
|
88
|
+
thoughtSignature: block.signature,
|
|
89
|
+
};
|
|
90
|
+
parts.push(part);
|
|
79
91
|
break;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
92
|
+
}
|
|
93
|
+
if (outboundOptions?.preserveReasoningAsText !== true)
|
|
94
|
+
break;
|
|
95
|
+
const maxChars = resolveReasoningOutboundMaxChars(outboundOptions);
|
|
96
|
+
const text = maxChars === undefined
|
|
97
|
+
? reasoningBlockToInlineText(block)
|
|
98
|
+
: reasoningBlockToInlineText(block, { maxChars });
|
|
99
|
+
if (text.length > 0)
|
|
100
|
+
parts.push({ text });
|
|
86
101
|
break;
|
|
87
102
|
}
|
|
88
103
|
case 'text':
|
|
@@ -332,8 +347,9 @@ export class GeminiAdapter {
|
|
|
332
347
|
* which is the idiomatic pattern for `@google/genai`.
|
|
333
348
|
*/
|
|
334
349
|
async chat(messages, options) {
|
|
350
|
+
assertValidMessages(messages);
|
|
335
351
|
const id = generateId();
|
|
336
|
-
const contents = toGeminiContents(messages);
|
|
352
|
+
const contents = toGeminiContents(messages, options);
|
|
337
353
|
const response = await this.#client.models.generateContent({
|
|
338
354
|
model: options.model,
|
|
339
355
|
contents,
|
|
@@ -362,8 +378,9 @@ export class GeminiAdapter {
|
|
|
362
378
|
* - Exactly one terminal event: `done` or `error`
|
|
363
379
|
*/
|
|
364
380
|
async *stream(messages, options) {
|
|
381
|
+
assertValidMessages(messages);
|
|
365
382
|
const id = generateId();
|
|
366
|
-
const contents = toGeminiContents(messages);
|
|
383
|
+
const contents = toGeminiContents(messages, options);
|
|
367
384
|
try {
|
|
368
385
|
const streamResponse = await this.#client.models.generateContentStream({
|
|
369
386
|
model: options.model,
|
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,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Hunyuan (Tencent) adapter.
|
|
3
|
+
*
|
|
4
|
+
* Thin wrapper around OpenAIAdapter that defaults to Tencent Hunyuan's current
|
|
5
|
+
* MaaS / TokenHub OpenAI-compatible endpoint, with a HUNYUAN_API_KEY
|
|
6
|
+
* environment variable fallback.
|
|
7
|
+
*/
|
|
8
|
+
import { OpenAIAdapter } from './openai.js';
|
|
9
|
+
/**
|
|
10
|
+
* LLM adapter for Tencent Hunyuan models.
|
|
11
|
+
*
|
|
12
|
+
* Thread-safe. Can be shared across agents.
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* provider: 'hunyuan'
|
|
16
|
+
* model: 'hy3-preview' (or any model available to your Hunyuan API key)
|
|
17
|
+
*
|
|
18
|
+
* Tool calling is verified on the hy3-preview, hunyuan-turbos, and
|
|
19
|
+
* hunyuan-functioncall model families.
|
|
20
|
+
*
|
|
21
|
+
* Tencent exposes Hunyuan through two independent OpenAI-compatible surfaces
|
|
22
|
+
* with separate API-key namespaces:
|
|
23
|
+
* - Tencent MaaS / TokenHub (default): https://tokenhub.tencentmaas.com/v1,
|
|
24
|
+
* models like `hy3-preview`, `sk-...` keys. This is Tencent's current
|
|
25
|
+
* platform.
|
|
26
|
+
* - Legacy Tencent Cloud: https://api.hunyuan.cloud.tencent.com/v1,
|
|
27
|
+
* models like `hunyuan-turbos-latest`, console keys. Tencent has
|
|
28
|
+
* announced this platform is being retired (sales stop 2026-06-30, full
|
|
29
|
+
* shutdown 2026-09-30); target it via `HUNYUAN_BASE_URL` until then.
|
|
30
|
+
* Set `HUNYUAN_BASE_URL` (or pass `baseURL`) to target the legacy endpoint or
|
|
31
|
+
* any future cluster without code changes.
|
|
32
|
+
*/
|
|
33
|
+
export declare class HunyuanAdapter extends OpenAIAdapter {
|
|
34
|
+
readonly name = "hunyuan";
|
|
35
|
+
readonly capabilities: {
|
|
36
|
+
echoesReasoning: "tool-use-only";
|
|
37
|
+
};
|
|
38
|
+
constructor(apiKey?: string, baseURL?: string);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=hunyuan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hunyuan.d.ts","sourceRoot":"","sources":["../../src/llm/hunyuan.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAC/C,QAAQ,CAAC,IAAI,aAAY;IAiBzB,SAAkB,YAAY;;MAE7B;gBAEW,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAQ9C"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Hunyuan (Tencent) adapter.
|
|
3
|
+
*
|
|
4
|
+
* Thin wrapper around OpenAIAdapter that defaults to Tencent Hunyuan's current
|
|
5
|
+
* MaaS / TokenHub OpenAI-compatible endpoint, with a HUNYUAN_API_KEY
|
|
6
|
+
* environment variable fallback.
|
|
7
|
+
*/
|
|
8
|
+
import { OpenAIAdapter } from './openai.js';
|
|
9
|
+
/**
|
|
10
|
+
* LLM adapter for Tencent Hunyuan models.
|
|
11
|
+
*
|
|
12
|
+
* Thread-safe. Can be shared across agents.
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* provider: 'hunyuan'
|
|
16
|
+
* model: 'hy3-preview' (or any model available to your Hunyuan API key)
|
|
17
|
+
*
|
|
18
|
+
* Tool calling is verified on the hy3-preview, hunyuan-turbos, and
|
|
19
|
+
* hunyuan-functioncall model families.
|
|
20
|
+
*
|
|
21
|
+
* Tencent exposes Hunyuan through two independent OpenAI-compatible surfaces
|
|
22
|
+
* with separate API-key namespaces:
|
|
23
|
+
* - Tencent MaaS / TokenHub (default): https://tokenhub.tencentmaas.com/v1,
|
|
24
|
+
* models like `hy3-preview`, `sk-...` keys. This is Tencent's current
|
|
25
|
+
* platform.
|
|
26
|
+
* - Legacy Tencent Cloud: https://api.hunyuan.cloud.tencent.com/v1,
|
|
27
|
+
* models like `hunyuan-turbos-latest`, console keys. Tencent has
|
|
28
|
+
* announced this platform is being retired (sales stop 2026-06-30, full
|
|
29
|
+
* shutdown 2026-09-30); target it via `HUNYUAN_BASE_URL` until then.
|
|
30
|
+
* Set `HUNYUAN_BASE_URL` (or pass `baseURL`) to target the legacy endpoint or
|
|
31
|
+
* any future cluster without code changes.
|
|
32
|
+
*/
|
|
33
|
+
export class HunyuanAdapter extends OpenAIAdapter {
|
|
34
|
+
name = 'hunyuan';
|
|
35
|
+
// Hunyuan's interleaved-thinking mode (hy3-preview with
|
|
36
|
+
// `reasoning_effort: 'low' | 'high'`) requires the prior turn's
|
|
37
|
+
// `reasoning_content` to be backfilled on every follow-up request that
|
|
38
|
+
// continues a tool-calling conversation, otherwise the chain of thought is
|
|
39
|
+
// broken and answer quality degrades. See:
|
|
40
|
+
// https://cloud.tencent.com/document/product/1823/130930 (Interleaved Thinking)
|
|
41
|
+
// https://cloud.tencent.com/document/product/1823/132252 (Hunyuan call guide)
|
|
42
|
+
// `'tool-use-only'` makes the OpenAIAdapter base class pass
|
|
43
|
+
// `nativeReasoningEchoProvider: 'hunyuan'` to the message builder, which
|
|
44
|
+
// re-attaches `reasoning_content` on assistant turns of a tool-using
|
|
45
|
+
// conversation that carry a hunyuan-provenance reasoning block. Non-thinking
|
|
46
|
+
// models on this provider (e.g. hunyuan-turbos, hunyuan-functioncall) never
|
|
47
|
+
// emit `reasoning_content`, so the echo is a no-op for them — safe as a
|
|
48
|
+
// family-wide default. (Unlike DeepSeek, Hunyuan does not hard-400 when the
|
|
49
|
+
// field is dropped; the spec frames it as a quality requirement.)
|
|
50
|
+
capabilities = {
|
|
51
|
+
echoesReasoning: 'tool-use-only',
|
|
52
|
+
};
|
|
53
|
+
constructor(apiKey, baseURL) {
|
|
54
|
+
// Default to the current Tencent MaaS / TokenHub endpoint; allow override
|
|
55
|
+
// of baseURL (legacy Tencent Cloud endpoint, proxies, or future clusters).
|
|
56
|
+
super(apiKey ?? process.env['HUNYUAN_API_KEY'], baseURL ?? process.env['HUNYUAN_BASE_URL'] ?? 'https://tokenhub.tencentmaas.com/v1');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=hunyuan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hunyuan.js","sourceRoot":"","sources":["../../src/llm/hunyuan.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,cAAe,SAAQ,aAAa;IACtC,IAAI,GAAG,SAAS,CAAA;IAEzB,wDAAwD;IACxD,gEAAgE;IAChE,uEAAuE;IACvE,2EAA2E;IAC3E,2CAA2C;IAC3C,kFAAkF;IAClF,gFAAgF;IAChF,4DAA4D;IAC5D,yEAAyE;IACzE,qEAAqE;IACrE,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,kEAAkE;IAChD,YAAY,GAAG;QAC/B,eAAe,EAAE,eAAwB;KAC1C,CAAA;IAED,YAAY,MAAe,EAAE,OAAgB;QAC3C,0EAA0E;QAC1E,2EAA2E;QAC3E,KAAK,CACH,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EACxC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,qCAAqC,CACpF,CAAA;IACH,CAAC;CACF"}
|
|
@@ -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,21 +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
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Opt-in switch for replaying framework `reasoning` blocks as inline
|
|
13
|
-
* `<thinking>...</thinking>` text in OpenAI-family request payloads.
|
|
14
|
-
*
|
|
15
|
-
* Defaults to `false` so existing users keep historical behavior:
|
|
16
|
-
* `reasoning` blocks are ignored on outbound assistant message conversion.
|
|
17
|
-
*/
|
|
18
|
-
readonly enableReasoningTextReplay?: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Maximum character budget for each replayed reasoning block after
|
|
21
|
-
* truncation. Explicit invalid values are clamped to a minimum of 1 char.
|
|
22
|
-
*/
|
|
23
|
-
readonly maxReasoningReplayChars?: number;
|
|
24
|
-
}
|
|
10
|
+
import { type ReasoningOutboundOptions } from './reasoning-fallback.js';
|
|
25
11
|
/**
|
|
26
12
|
* Convert a framework {@link LLMToolDef} to an OpenAI {@link ChatCompletionTool}.
|
|
27
13
|
*/
|
|
@@ -45,7 +31,14 @@ export declare function getOpenAIReasoningText(source: unknown): string;
|
|
|
45
31
|
* runner's loop-detection warning injection (see {@link AgentRunner}, which
|
|
46
32
|
* appends a text warning to a tool_result message when a loop is detected).
|
|
47
33
|
*/
|
|
48
|
-
export declare function toOpenAIMessages(messages: LLMMessage[],
|
|
34
|
+
export declare function toOpenAIMessages(messages: LLMMessage[], outboundOptions?: ReasoningOutboundOptions): ChatCompletionMessageParam[];
|
|
35
|
+
/**
|
|
36
|
+
* Repair malformed single-string tool-call arguments after `JSON.parse` fails.
|
|
37
|
+
* Local models frequently break single-parameter tools with unescaped quotes or
|
|
38
|
+
* Python-style triple quotes (`"""`/`'''`). Returns the repaired argument object,
|
|
39
|
+
* or null when the input doesn't match the single-parameter `{"name": value}` shape.
|
|
40
|
+
*/
|
|
41
|
+
export declare function repairToolArgs(raw: string): Record<string, unknown> | null;
|
|
49
42
|
/**
|
|
50
43
|
* Convert an OpenAI {@link ChatCompletion} into a framework {@link LLMResponse}.
|
|
51
44
|
*
|
|
@@ -82,5 +75,5 @@ export declare function normalizeFinishReason(reason: string): string;
|
|
|
82
75
|
* Prepend a system message when `systemPrompt` is provided, then append the
|
|
83
76
|
* converted conversation messages.
|
|
84
77
|
*/
|
|
85
|
-
export declare function buildOpenAIMessageList(messages: LLMMessage[], systemPrompt: string | undefined,
|
|
78
|
+
export declare function buildOpenAIMessageList(messages: LLMMessage[], systemPrompt: string | undefined, outboundOptions?: ReasoningOutboundOptions): ChatCompletionMessageParam[];
|
|
86
79
|
//# 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;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAc1E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,cAAc,EAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,UAAU,CAAC,EAAE,MAAM,GAClB,WAAW,CAmFb;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"}
|