@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.
Files changed (131) hide show
  1. package/README.md +135 -79
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js +5 -0
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/runner.d.ts +12 -0
  6. package/dist/agent/runner.d.ts.map +1 -1
  7. package/dist/agent/runner.js +48 -12
  8. package/dist/agent/runner.js.map +1 -1
  9. package/dist/cli/oma.d.ts +10 -2
  10. package/dist/cli/oma.d.ts.map +1 -1
  11. package/dist/cli/oma.js +12 -5
  12. package/dist/cli/oma.js.map +1 -1
  13. package/dist/dashboard/render-team-run-dashboard.d.ts.map +1 -1
  14. package/dist/dashboard/render-team-run-dashboard.js +177 -84
  15. package/dist/dashboard/render-team-run-dashboard.js.map +1 -1
  16. package/dist/errors.d.ts +10 -0
  17. package/dist/errors.d.ts.map +1 -1
  18. package/dist/errors.js +13 -0
  19. package/dist/errors.js.map +1 -1
  20. package/dist/index.d.ts +2 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/llm/adapter.d.ts +5 -1
  25. package/dist/llm/adapter.d.ts.map +1 -1
  26. package/dist/llm/adapter.js +16 -0
  27. package/dist/llm/adapter.js.map +1 -1
  28. package/dist/llm/ai-sdk.d.ts +2 -1
  29. package/dist/llm/ai-sdk.d.ts.map +1 -1
  30. package/dist/llm/ai-sdk.js +48 -13
  31. package/dist/llm/ai-sdk.js.map +1 -1
  32. package/dist/llm/anthropic.d.ts.map +1 -1
  33. package/dist/llm/anthropic.js +27 -13
  34. package/dist/llm/anthropic.js.map +1 -1
  35. package/dist/llm/azure-openai.d.ts.map +1 -1
  36. package/dist/llm/azure-openai.js +5 -2
  37. package/dist/llm/azure-openai.js.map +1 -1
  38. package/dist/llm/bedrock.d.ts.map +1 -1
  39. package/dist/llm/bedrock.js +32 -19
  40. package/dist/llm/bedrock.js.map +1 -1
  41. package/dist/llm/copilot.d.ts.map +1 -1
  42. package/dist/llm/copilot.js +5 -2
  43. package/dist/llm/copilot.js.map +1 -1
  44. package/dist/llm/deepseek.d.ts +9 -2
  45. package/dist/llm/deepseek.d.ts.map +1 -1
  46. package/dist/llm/deepseek.js +21 -2
  47. package/dist/llm/deepseek.js.map +1 -1
  48. package/dist/llm/doubao.d.ts +21 -0
  49. package/dist/llm/doubao.d.ts.map +1 -0
  50. package/dist/llm/doubao.js +24 -0
  51. package/dist/llm/doubao.js.map +1 -0
  52. package/dist/llm/gemini.d.ts.map +1 -1
  53. package/dist/llm/gemini.js +35 -18
  54. package/dist/llm/gemini.js.map +1 -1
  55. package/dist/llm/hunyuan.d.ts +40 -0
  56. package/dist/llm/hunyuan.d.ts.map +1 -0
  57. package/dist/llm/hunyuan.js +59 -0
  58. package/dist/llm/hunyuan.js.map +1 -0
  59. package/dist/llm/mimo.d.ts +24 -0
  60. package/dist/llm/mimo.d.ts.map +1 -0
  61. package/dist/llm/mimo.js +30 -0
  62. package/dist/llm/mimo.js.map +1 -0
  63. package/dist/llm/openai-common.d.ts +10 -17
  64. package/dist/llm/openai-common.d.ts.map +1 -1
  65. package/dist/llm/openai-common.js +92 -43
  66. package/dist/llm/openai-common.js.map +1 -1
  67. package/dist/llm/openai.d.ts +22 -1
  68. package/dist/llm/openai.d.ts.map +1 -1
  69. package/dist/llm/openai.js +51 -7
  70. package/dist/llm/openai.js.map +1 -1
  71. package/dist/llm/reasoning-fallback.d.ts +80 -15
  72. package/dist/llm/reasoning-fallback.d.ts.map +1 -1
  73. package/dist/llm/reasoning-fallback.js +45 -12
  74. package/dist/llm/reasoning-fallback.js.map +1 -1
  75. package/dist/llm/validate.d.ts +26 -0
  76. package/dist/llm/validate.d.ts.map +1 -0
  77. package/dist/llm/validate.js +55 -0
  78. package/dist/llm/validate.js.map +1 -0
  79. package/dist/memory/shared.d.ts +14 -7
  80. package/dist/memory/shared.d.ts.map +1 -1
  81. package/dist/memory/shared.js +97 -14
  82. package/dist/memory/shared.js.map +1 -1
  83. package/dist/orchestrator/orchestrator.d.ts +22 -1
  84. package/dist/orchestrator/orchestrator.d.ts.map +1 -1
  85. package/dist/orchestrator/orchestrator.js +155 -32
  86. package/dist/orchestrator/orchestrator.js.map +1 -1
  87. package/dist/tool/built-in/bash.d.ts +1 -1
  88. package/dist/tool/built-in/bash.d.ts.map +1 -1
  89. package/dist/tool/built-in/bash.js +60 -7
  90. package/dist/tool/built-in/bash.js.map +1 -1
  91. package/dist/tool/built-in/file-edit.d.ts.map +1 -1
  92. package/dist/tool/built-in/file-edit.js +13 -8
  93. package/dist/tool/built-in/file-edit.js.map +1 -1
  94. package/dist/tool/built-in/file-read.d.ts.map +1 -1
  95. package/dist/tool/built-in/file-read.js +9 -4
  96. package/dist/tool/built-in/file-read.js.map +1 -1
  97. package/dist/tool/built-in/file-write.d.ts.map +1 -1
  98. package/dist/tool/built-in/file-write.js +11 -6
  99. package/dist/tool/built-in/file-write.js.map +1 -1
  100. package/dist/tool/built-in/fs-walk.d.ts.map +1 -1
  101. package/dist/tool/built-in/fs-walk.js +6 -3
  102. package/dist/tool/built-in/fs-walk.js.map +1 -1
  103. package/dist/tool/built-in/glob.d.ts.map +1 -1
  104. package/dist/tool/built-in/glob.js +10 -4
  105. package/dist/tool/built-in/glob.js.map +1 -1
  106. package/dist/tool/built-in/grep.d.ts.map +1 -1
  107. package/dist/tool/built-in/grep.js +15 -6
  108. package/dist/tool/built-in/grep.js.map +1 -1
  109. package/dist/tool/built-in/path-safety.d.ts +30 -0
  110. package/dist/tool/built-in/path-safety.d.ts.map +1 -0
  111. package/dist/tool/built-in/path-safety.js +106 -0
  112. package/dist/tool/built-in/path-safety.js.map +1 -0
  113. package/dist/tool/mcp.d.ts.map +1 -1
  114. package/dist/tool/mcp.js +58 -33
  115. package/dist/tool/mcp.js.map +1 -1
  116. package/dist/types.d.ts +151 -5
  117. package/dist/types.d.ts.map +1 -1
  118. package/dist/utils/redaction.d.ts +4 -0
  119. package/dist/utils/redaction.d.ts.map +1 -0
  120. package/dist/utils/redaction.js +78 -0
  121. package/dist/utils/redaction.js.map +1 -0
  122. package/package.json +7 -4
  123. package/docs/DECISIONS.md +0 -49
  124. package/docs/cli.md +0 -265
  125. package/docs/context-management.md +0 -64
  126. package/docs/featured-partner.md +0 -28
  127. package/docs/observability.md +0 -56
  128. package/docs/providers/minimax.md +0 -75
  129. package/docs/providers.md +0 -80
  130. package/docs/shared-memory.md +0 -27
  131. package/docs/tool-configuration.md +0 -152
@@ -6,16 +6,35 @@
6
6
  */
7
7
  import { OpenAIAdapter } from './openai.js';
8
8
  /**
9
- * LLM adapter for DeepSeek models (deepseek-chat, deepseek-reasoner, and future 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-chat' (or 'deepseek-reasoner' for the thinking model)
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');
@@ -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;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAAa;IACvC,IAAI,GAAG,UAAU,CAAA;IAE1B,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"}
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"}
@@ -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;AAoTpB;;;;;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;IAiBjF;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CACX,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,gBAAgB,GACxB,aAAa,CAAC,WAAW,CAAC;CA0E9B"}
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"}
@@ -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 signature
55
- * Gemini 3 recommends round-tripping these signatures, but unsigned
56
- * reasoning (e.g. cross-provider blocks or Gemini 2.5 thought summaries
57
- * which never carry signatures) is dropped to keep context lean.
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
- // Echo only when we have a signature to round-trip see JSDoc
75
- // above. Drop unsigned reasoning silently rather than emitting an
76
- // empty/unsigned text part that would inflate context for no
77
- // protocol benefit.
78
- if (block.signature === undefined)
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
- const part = {
81
- text: block.text,
82
- thought: true,
83
- thoughtSignature: block.signature,
84
- };
85
- parts.push(part);
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,
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/llm/gemini.ts"],"names":[],"mappings":"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"}
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"}
@@ -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
- export interface OpenAIReasoningReplayOptions {
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[], replayOptions?: OpenAIReasoningReplayOptions): ChatCompletionMessageParam[];
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, replayOptions?: OpenAIReasoningReplayOptions): ChatCompletionMessageParam[];
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;AAKpB,MAAM,WAAW,4BAA4B;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAC5C;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAC1C;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,CASjE;AAuBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAG9D;AAuCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,aAAa,CAAC,EAAE,4BAA4B,GAC3C,0BAA0B,EAAE,CAmC9B;AA8FD;;;;;;;;;;;;;;;;;;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,aAAa,CAAC,EAAE,4BAA4B,GAC3C,0BAA0B,EAAE,CAS9B"}
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"}