Vincent Koc
b2d78fa63c
test: cover xAI tool schema payload compat
2026-03-13 12:08:43 -07:00
Peter Steinberger
35aafd7ca8
feat: add Anthropic fast mode support
2026-03-12 23:39:03 +00:00
Peter Steinberger
d5bffcdeab
feat: add fast mode toggle for OpenAI models
2026-03-12 23:31:31 +00:00
Vincent Koc
1492ad20a9
Ollama/Kimi: apply Moonshot payload compatibility ( #44274 )
...
* Runner: extend Moonshot payload compat to Ollama Kimi
* Changelog: note Ollama Kimi tool routing
* Tests: cover Ollama Kimi payload compat
* Runner: narrow Ollama Kimi payload compat
2026-03-12 14:17:01 -04:00
Jacob Riff
3fa91cd69d
feat: add sessions_yield tool for cooperative turn-ending ( #36537 )
...
Merged via squash.
Prepared head SHA: 75d9204c863792226389a4d33eeb40c4e842528d
Co-authored-by: jriff <50276+jriff@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-12 08:46:47 -07:00
Vincent Koc
2f037f0930
Agents: adapt pi-ai oauth and payload hooks
2026-03-12 10:19:14 -04:00
rabsef-bicrym
ff47876e61
fix: carry observed overflow token counts into compaction ( #40357 )
...
Merged via squash.
Prepared head SHA: b99eed4329bda45083cdedc2386c2c4041c034be
Co-authored-by: rabsef-bicrym <52549148+rabsef-bicrym@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-12 06:58:42 -07:00
Peter Steinberger
980619b9be
fix: harden openai websocket replay
2026-03-12 02:13:06 +00:00
Peter Steinberger
c8dd06cba2
fix(ws): preserve payload overrides
2026-03-11 20:11:51 +00:00
ademczuk
dc4441322f
fix(agents): include azure-openai in Responses API store override ( #42934 )
...
Merged via squash.
Prepared head SHA: d3285fef41001bb25a8d1cb47a37ee9a132ffb9e
Co-authored-by: ademczuk <5212682+ademczuk@users.noreply.github.com>
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com>
Reviewed-by: @frankekn
2026-03-11 16:16:10 +08:00
Ayaan Zaidi
ac88a39acc
fix: align pi-ai 0.57.1 oauth imports and payload hooks
2026-03-10 20:29:03 +05:30
joshavant
59bc3c6630
Agents: align onPayload callback and OAuth imports
2026-03-10 08:50:30 -05:00
opriz
51bae75120
fix(kimi-coding): fix kimi tool format: use native Anthropic tool schema instead of OpenAI … (openclaw#40008)
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: opriz <51957849+opriz@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-09 08:28:47 -05:00
Peter Steinberger
2e79d82198
build: update app deps except carbon
2026-03-09 06:09:33 +00:00
Peter Steinberger
3ada30e670
fix: restore gate after rebase
2026-03-08 18:40:15 +00:00
Peter Steinberger
e5c06dd64a
refactor: use model compat for anthropic tool payload normalization
2026-03-08 18:26:35 +00:00
Peter Steinberger
eba9dcc67a
Refactor release hardening follow-ups ( #39959 )
...
* build: fail fast on stale host-env swift policy
* build: sync generated host env swift policy
* build: guard bundled extension root dependency gaps
* refactor: centralize provider capability quirks
* test: table-drive provider regression coverage
* fix: block merge when prep branch has unpushed commits
* refactor: simplify models config merge preservation
2026-03-08 14:49:58 +00:00
GeekCheyun
76e4b8277f
fix(issue-39839): address tool-call extra params parsing for kimi anthropic-messages
2026-03-08 14:14:06 +00:00
Vincent Koc
daecd2d8c3
Pi Runner: gate parallel_tool_calls to compatible APIs ( #39356 )
...
* Pi Runner: gate parallel_tool_calls payload injection
* Pi Runner: cover parallel_tool_calls alias precedence
* Changelog: note parallel_tool_calls compatibility fix
* Update CHANGELOG.md
* Pi Runner: clarify null parallel_tool_calls override logging
2026-03-07 17:57:53 -08:00
Peter Steinberger
7ab49a7fb7
test(regression): cover recent landed fix paths
2026-03-07 23:07:16 +00:00
Peter Steinberger
3a761fbcf8
fix(agents): strip unsupported responses store payloads ( #39219 , thanks @ademczuk)
...
Co-authored-by: ademczuk <andrew.demczuk@gmail.com>
2026-03-07 22:47:41 +00:00
Vincent Koc
e4d80ed556
CI: restore main detect-secrets scan ( #38438 )
...
* Tests: stabilize detect-secrets fixtures
* Tests: fix rebased detect-secrets false positives
* Docs: keep snippets valid under detect-secrets
* Tests: finalize detect-secrets false-positive fixes
* Tests: reduce detect-secrets false positives
* Tests: keep detect-secrets pragmas inline
* Tests: remediate next detect-secrets batch
* Tests: tighten detect-secrets allowlists
* Tests: stabilize detect-secrets formatter drift
2026-03-07 10:06:35 -08:00
Florian Hines
33e7394861
fix(providers): make all models available in kilocode provider ( #32352 )
...
* kilocode: dynamic model discovery, kilo/auto default, cooldown exemption
- Replace 9-model hardcoded catalog with dynamic discovery from
GET /api/gateway/models (Venice-like pattern with static fallback)
- Default model changed from anthropic/claude-opus-4.6 to kilo/auto
(smart routing model)
- Add createKilocodeWrapper for X-KILOCODE-FEATURE header injection
and reasoning.effort handling (skip for kilo/auto)
- Add kilocode to cooldown-exempt providers (proxy like OpenRouter)
- Keep sync buildKilocodeProvider for onboarding, add async
buildKilocodeProviderWithDiscovery for implicit provider resolution
- Per-token gateway pricing converted to per-1M-token for cost fields
* kilocode: skip reasoning injection for x-ai models, harden discovery loop
* fix(kilocode): keep valid discovered duplicates (openclaw#32352, thanks @pandemicsyn)
* refactor(proxy): normalize reasoning payload guards (openclaw#32352, thanks @pandemicsyn)
* chore(changelog): note kilocode hardening (openclaw#32352, thanks @pandemicsyn and @vincentkoc)
* chore(changelog): fix kilocode note format (openclaw#32352, thanks @pandemicsyn and @vincentkoc)
* test(kilocode): support auto-model override cases (openclaw#32352, thanks @pandemicsyn)
* Update CHANGELOG.md
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-03-07 08:14:06 -08:00
dorukardahan
5d4b04040d
feat(openai): add gpt-5.4 support for API and Codex OAuth ( #36590 )
...
* feat(openai): add gpt-5.4 support and priority processing
* feat(openai-codex): add gpt-5.4 oauth support
* fix(openai): preserve provider overrides in gpt-5.4 fallback
* fix(openai-codex): keep xhigh for gpt-5.4 default
* fix(models): preserve configured overrides in list output
* fix(models): close gpt-5.4 integration gaps
* fix(openai): scope service tier to public api
* fix(openai): complete prep followups for gpt-5.4 support (#36590 ) (thanks @dorukardahan)
---------
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM>
2026-03-05 21:01:37 -08:00
Vignesh Natarajan
909f26a26b
fix(kimi-coding): normalize anthropic tool payload format
2026-03-05 18:43:15 -08:00
Peter Steinberger
ced267c5cb
fix(moonshot): apply native thinking payload compatibility
2026-03-03 01:05:24 +00:00
Peter Steinberger
6b85ec3022
docs: tighten subscription guidance and update MiniMax M2.5 refs
2026-03-03 00:02:37 +00:00
scoootscooob
6c7d012320
fix(openrouter): skip reasoning.effort injection for x-ai/grok models
...
x-ai/grok models on OpenRouter do not support the reasoning.effort
parameter and reject payloads containing it with "Invalid arguments
passed to the model." Skip reasoning injection for these models, the
same way we already skip it for the dynamic "auto" routing model.
Closes #32039
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:20:11 +00:00
Nikolay Petrov
a9f1188785
sessions_spawn: inline attachments with redaction, lifecycle cleanup, and docs ( #16761 )
...
Add inline file attachment support for sessions_spawn (subagent runtime only):
- Schema: attachments[] (name, content, encoding, mimeType) and attachAs.mountPath hint
- Materialization: files written to .openclaw/attachments/<uuid>/ with manifest.json
- Validation: strict base64 decode, filename checks, size limits, duplicate detection
- Transcript redaction: sanitizeToolCallInputs redacts attachment content from persisted transcripts
- Lifecycle cleanup: safeRemoveAttachmentsDir with symlink-safe path containment check
- Config: tools.sessions_spawn.attachments (enabled, maxFiles, maxFileBytes, maxTotalBytes, retainOnSessionKeep)
- Registry: attachmentsDir/attachmentsRootDir/retainAttachmentsOnKeep on SubagentRunRecord
- ACP rejection: attachments rejected for runtime=acp with clear error message
- Docs: updated tools/index.md, concepts/session-tool.md, configuration-reference.md
- Tests: 85 new/updated tests across 5 test files
Fixes:
- Guard fs.rm in materialization catch block with try/catch (review concern #1 )
- Remove unreachable fallback in safeRemoveAttachmentsDir (review concern #7 )
- Move attachment cleanup out of retry path to avoid timing issues with announce loop
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM>
Co-authored-by: napetrov <napetrov@users.noreply.github.com>
2026-03-01 21:33:51 -08:00
Peter Steinberger
d1615eb35f
feat(openai): add websocket warm-up with configurable toggle
2026-03-01 22:45:03 +00:00
Agent
063c4f00ea
docs: clarify Anthropic context1m long-context requirements
2026-03-01 22:35:26 +00:00
Peter Steinberger
8da86f6995
chore(changelog): note openai websocket-first streaming
2026-03-01 22:33:21 +00:00
Peter Steinberger
7ced38b5ef
feat(agents): make openai responses websocket-first with fallback
2026-03-01 22:32:37 +00:00
Philipp Spiess
12618c333c
tests: complete openai-responses model fixture typing
2026-02-27 22:30:30 +01:00
Peter Steinberger
8da3a9a92d
fix(agents): auto-enable OpenAI Responses server-side compaction ( #16930 , #22441 , #25088 )
...
Landed from contributor PRs #16930 , #22441 , and #25088 .
Co-authored-by: liweiguang <codingpunk@gmail.com>
Co-authored-by: EdwardWu7 <wuzhiyuan7@gmail.com>
Co-authored-by: MoerAI <friendnt@g.skku.edu>
2026-02-27 16:15:50 +00:00
Peter Steinberger
03d7641b0e
feat(agents): default codex transport to websocket-first
2026-02-26 16:22:53 +01:00
Peter Steinberger
b35d00aaf8
fix: sanitize Gemini 3.1 Google reasoning payloads
2026-02-25 01:40:14 +00:00
Peter Steinberger
bd213cf2ad
fix(agents): normalize SiliconFlow Pro thinking=off payload ( #25435 )
...
Land PR #25435 from @Zjianru.
Changelog: add 2026.2.24 fix entry with contributor credit.
Co-authored-by: codez <codezhujr@gmail.com>
2026-02-25 01:11:34 +00:00
Peter Steinberger
de0e01259a
fix: expand openrouter thinking-off regression coverage ( #24863 ) (thanks @DevSecTim)
2026-02-24 03:54:29 +00:00
Tim Jones
b96d32c1c2
chore: fix oxfmt formatting in extraparams test
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 03:54:29 +00:00
Tim Jones
3e974dc93f
fix: don't inject reasoning: { effort: "none" } for OpenRouter when thinking is off
...
"off" is a truthy string, so the existing guard `if (thinkingLevel && ...)`
was always entering the injection block and sending `reasoning: { effort: "none" }`
to every OpenRouter request — even when thinking wasn't enabled. Models that
require reasoning (e.g. deepseek/deepseek-r1) reject this with:
400 Reasoning is mandatory for this endpoint and cannot be disabled.
Fix: skip the reasoning injection entirely when thinkingLevel is "off".
The reasoning_effort flat-field cleanup still runs. Omitting the reasoning
field lets each model use its own default behavior.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 03:54:29 +00:00
Peter Steinberger
160bd61fff
feat(agents): add per-agent stream params overrides for cache tuning ( #17470 ) (thanks @rrenamed)
2026-02-23 18:46:40 +00:00
Peter Steinberger
be6f0b8c84
fix(providers): support Bedrock Anthropic cacheRetention defaults/pass-through ( #22303 ) (thanks @snese)
2026-02-23 18:46:40 +00:00
Peter Steinberger
ca5c0bc02b
fix(providers): disable Bedrock prompt caching for non-Anthropic models ( #20866 ) (thanks @pierreeurope)
2026-02-23 18:46:40 +00:00
Vincent Koc
f03ff39754
Providers: skip context1m beta for Anthropic OAuth tokens ( #24620 )
...
* Providers: skip context1m beta for Anthropic OAuth tokens
* Tests: cover OAuth context1m beta skip behavior
* Docs: note context1m OAuth incompatibility
* Agents: add context1m-aware context token resolver
* Agents: cover context1m context-token resolver
* Commands: apply context1m-aware context tokens in session store
* Commands: apply context1m-aware context tokens in status summary
* Status: resolve context tokens with context1m model params
* Status: test context1m status context display
2026-02-23 12:29:09 -05:00
Peter Steinberger
ad1072842e
test: dedupe agent tests and session helpers
2026-02-22 17:11:54 +00:00
Peter Steinberger
fcb86408fd
test: move embedded and tool agent suites out of e2e
2026-02-22 11:17:47 +00:00
Peter Steinberger
9131b22a28
test: migrate suites to e2e coverage layout
2026-02-13 14:28:22 +00:00
Peter Steinberger
083ec9325e
fix: cover OpenRouter attribution headers
2026-02-01 19:30:33 +00:00
Peter Steinberger
500c75b4f0
fix: align ZAI thinking toggles
2026-01-16 22:26:43 +00:00