@hiper2d/ai-agents 0.13.0 → 0.13.1

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/dist/index.d.mts CHANGED
@@ -543,8 +543,12 @@ declare function getProviderSignatureFields(aiType: string, signature?: string):
543
543
  * - Moonshot Kimi K3 (platform.kimi.ai/docs/guide/use-reasoning-effort, 2026-09-22):
544
544
  * low|high|max, default max, top-level on Chat Completions. Moonshot shipped the lower
545
545
  * levels after launch; K3 accepted only "max" when this agent was written.
546
- * Qwen accepts reasoning_effort but ignores it (thinking_budget is its knob); MiniMax exposes
547
- * no effort parameter.
546
+ * - Qwen 3.8 max/flash (docs.qwencloud.com, re-probed 2026-09-22): low|medium|xhigh, default
547
+ * xhigh, with `high` and `max` aliased onto xhigh and `minimal` onto low. It is a coarse
548
+ * alias for thinking_budget (low = 4,096, medium = 16,384, xhigh = 262,144 tokens) and the
549
+ * two are mutually exclusive — sending both is a 400. QwenAgent sends the budget instead,
550
+ * because 1,024 is tighter than the lowest level effort can express.
551
+ * MiniMax exposes no effort parameter.
548
552
  */
549
553
  type OpenAIReasoningEffort = 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
550
554
  type AnthropicReasoningEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
@@ -1704,12 +1708,21 @@ declare class QwenAgent extends AbstractAgent {
1704
1708
  * generation); without it the model thinks at the provider default, and qwen3.8-max's
1705
1709
  * latency then swings 30–100s.
1706
1710
  *
1707
- * `reasoning_effort` is deliberately NOT sent. Probed live 2026-08-30 on qwen3.8-flash and
1708
- * qwen3.8-max: every value low..max is accepted, but reasoning length doesn't track it
1709
- * (max: low → 1,686 reasoning tokens / 44s, high → 226 / 7s, xhigh → 1,102 / 30s), while
1710
- * thinking_budget bounds it reliably (≤340 at 1024). The docs also call the two mutually
1711
- * exclusive on qwen3.8-max. So on Qwen the budget IS the effort knob; `reasoningEffort`
1712
- * on this agent is ignored.
1711
+ * `reasoning_effort` is NOT sent, and the earlier reason recorded here was wrong. The
1712
+ * 2026-08-30 probe concluded "reasoning length doesn't track effort"; it had tested
1713
+ * low/high/max/xhigh, but Qwen only defines low|medium|xhigh and aliases both `high` and
1714
+ * `max` onto `xhigh`. So that probe compared low against xhigh twice and read the noise as
1715
+ * non-monotonicity.
1716
+ *
1717
+ * Re-probed 2026-09-22 with the documented levels, and effort tracks cleanly:
1718
+ * qwen3.8-max budget 1024 → 77 reasoning | low 132 | medium 160 | xhigh 422
1719
+ * qwen3.8-flash budget 1024 → 86 reasoning | low 87 | medium 251 | xhigh 417
1720
+ *
1721
+ * We still send the budget, for a better reason: the two are mutually exclusive (sending
1722
+ * both is a 400), Qwen documents effort as a coarse alias for a budget (low = 4,096,
1723
+ * medium = 16,384, xhigh = 262,144 tokens), and our 1,024 is tighter than the lowest level
1724
+ * it can express. The budget is the finer AND cheaper knob here, so `reasoningEffort` on
1725
+ * this agent stays ignored — deliberately, not because effort is broken.
1713
1726
  */
1714
1727
  private thinkingParams;
1715
1728
  private convertToOpenAIMessages;
package/dist/index.d.ts CHANGED
@@ -543,8 +543,12 @@ declare function getProviderSignatureFields(aiType: string, signature?: string):
543
543
  * - Moonshot Kimi K3 (platform.kimi.ai/docs/guide/use-reasoning-effort, 2026-09-22):
544
544
  * low|high|max, default max, top-level on Chat Completions. Moonshot shipped the lower
545
545
  * levels after launch; K3 accepted only "max" when this agent was written.
546
- * Qwen accepts reasoning_effort but ignores it (thinking_budget is its knob); MiniMax exposes
547
- * no effort parameter.
546
+ * - Qwen 3.8 max/flash (docs.qwencloud.com, re-probed 2026-09-22): low|medium|xhigh, default
547
+ * xhigh, with `high` and `max` aliased onto xhigh and `minimal` onto low. It is a coarse
548
+ * alias for thinking_budget (low = 4,096, medium = 16,384, xhigh = 262,144 tokens) and the
549
+ * two are mutually exclusive — sending both is a 400. QwenAgent sends the budget instead,
550
+ * because 1,024 is tighter than the lowest level effort can express.
551
+ * MiniMax exposes no effort parameter.
548
552
  */
549
553
  type OpenAIReasoningEffort = 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
550
554
  type AnthropicReasoningEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
@@ -1704,12 +1708,21 @@ declare class QwenAgent extends AbstractAgent {
1704
1708
  * generation); without it the model thinks at the provider default, and qwen3.8-max's
1705
1709
  * latency then swings 30–100s.
1706
1710
  *
1707
- * `reasoning_effort` is deliberately NOT sent. Probed live 2026-08-30 on qwen3.8-flash and
1708
- * qwen3.8-max: every value low..max is accepted, but reasoning length doesn't track it
1709
- * (max: low → 1,686 reasoning tokens / 44s, high → 226 / 7s, xhigh → 1,102 / 30s), while
1710
- * thinking_budget bounds it reliably (≤340 at 1024). The docs also call the two mutually
1711
- * exclusive on qwen3.8-max. So on Qwen the budget IS the effort knob; `reasoningEffort`
1712
- * on this agent is ignored.
1711
+ * `reasoning_effort` is NOT sent, and the earlier reason recorded here was wrong. The
1712
+ * 2026-08-30 probe concluded "reasoning length doesn't track effort"; it had tested
1713
+ * low/high/max/xhigh, but Qwen only defines low|medium|xhigh and aliases both `high` and
1714
+ * `max` onto `xhigh`. So that probe compared low against xhigh twice and read the noise as
1715
+ * non-monotonicity.
1716
+ *
1717
+ * Re-probed 2026-09-22 with the documented levels, and effort tracks cleanly:
1718
+ * qwen3.8-max budget 1024 → 77 reasoning | low 132 | medium 160 | xhigh 422
1719
+ * qwen3.8-flash budget 1024 → 86 reasoning | low 87 | medium 251 | xhigh 417
1720
+ *
1721
+ * We still send the budget, for a better reason: the two are mutually exclusive (sending
1722
+ * both is a 400), Qwen documents effort as a coarse alias for a budget (low = 4,096,
1723
+ * medium = 16,384, xhigh = 262,144 tokens), and our 1,024 is tighter than the lowest level
1724
+ * it can express. The budget is the finer AND cheaper knob here, so `reasoningEffort` on
1725
+ * this agent stays ignored — deliberately, not because effort is broken.
1713
1726
  */
1714
1727
  private thinkingParams;
1715
1728
  private convertToOpenAIMessages;
package/dist/index.js CHANGED
@@ -4747,12 +4747,21 @@ var QwenAgent = class extends AbstractAgent {
4747
4747
  * generation); without it the model thinks at the provider default, and qwen3.8-max's
4748
4748
  * latency then swings 30–100s.
4749
4749
  *
4750
- * `reasoning_effort` is deliberately NOT sent. Probed live 2026-08-30 on qwen3.8-flash and
4751
- * qwen3.8-max: every value low..max is accepted, but reasoning length doesn't track it
4752
- * (max: low → 1,686 reasoning tokens / 44s, high → 226 / 7s, xhigh → 1,102 / 30s), while
4753
- * thinking_budget bounds it reliably (≤340 at 1024). The docs also call the two mutually
4754
- * exclusive on qwen3.8-max. So on Qwen the budget IS the effort knob; `reasoningEffort`
4755
- * on this agent is ignored.
4750
+ * `reasoning_effort` is NOT sent, and the earlier reason recorded here was wrong. The
4751
+ * 2026-08-30 probe concluded "reasoning length doesn't track effort"; it had tested
4752
+ * low/high/max/xhigh, but Qwen only defines low|medium|xhigh and aliases both `high` and
4753
+ * `max` onto `xhigh`. So that probe compared low against xhigh twice and read the noise as
4754
+ * non-monotonicity.
4755
+ *
4756
+ * Re-probed 2026-09-22 with the documented levels, and effort tracks cleanly:
4757
+ * qwen3.8-max budget 1024 → 77 reasoning | low 132 | medium 160 | xhigh 422
4758
+ * qwen3.8-flash budget 1024 → 86 reasoning | low 87 | medium 251 | xhigh 417
4759
+ *
4760
+ * We still send the budget, for a better reason: the two are mutually exclusive (sending
4761
+ * both is a 400), Qwen documents effort as a coarse alias for a budget (low = 4,096,
4762
+ * medium = 16,384, xhigh = 262,144 tokens), and our 1,024 is tighter than the lowest level
4763
+ * it can express. The budget is the finer AND cheaper knob here, so `reasoningEffort` on
4764
+ * this agent stays ignored — deliberately, not because effort is broken.
4756
4765
  */
4757
4766
  thinkingParams() {
4758
4767
  const budget = this.thinkingBudgetTokens;