Dallin Romney
00b7eac5c3
refactor: consolidate number coercion callers ( #99671 )
...
* refactor: consolidate number coercion callers
* fix: stabilize plugin sdk surface resolution
2026-07-03 16:24:43 -07:00
Ayaan Zaidi
3ad465d32b
fix(telegram): persist ambient transcript rows
...
Persist room-event observations as durable bare user transcript rows and carry an ambient transcript watermark through session state so Telegram chat windows only include the unpersisted gap.
Fixes #99257
2026-07-02 19:01:22 -07:00
Dallin Romney
b98c11a46e
refactor(shared): consolidate gateway and stateful runtime lazy loaders ( #99296 )
2026-07-02 18:43:14 -07:00
Dallin Romney
e701dc76b0
test(qa): prove native command targeting across QA transports ( #98751 )
...
* QA: prove native command session targeting
* QA: remove superseded native stop e2e
* test(qa): run native commands through Crabline Telegram
* chore(deps): scope Crabline release exception
* test(qa): retain native stop queue cleanup regression
2026-07-02 16:51:30 -07:00
Ayaan Zaidi
568be74e15
fix(auto-reply): trim inbound prompt metadata
...
Merge sender identity into conversation info, remove duplicate per-turn delivery hints, demote inbound metadata heading, keep room-event default-silent guidance singular, strip rendered chat-window context on replay, and refresh prompt snapshots.
2026-07-02 16:05:49 -07:00
Ted Li
b67df3797a
fix(telegram): explain disabled plugin approval failures ( #95973 )
...
* fix: explain disabled Telegram plugin approvals
* fix: handle disabled Telegram native plugin approvals
* fix: resolve exec approval surface independently
* fix: tie plugin approval setup guidance to plugin surface
* Revert "fix: tie plugin approval setup guidance to plugin surface"
This reverts commit 34e3c10e23 .
* fix: gate plugin approval setup guidance
* fix: gate plugin approval availability by delivery
* fix: preserve plugin approval approver auth
* fix: make plugin setup guidance explicit
* test: trim approval guidance proof radius
* Avoid setup guidance on routed approval timeout
* Carry plugin approval delivery route into timeouts
* Keep turn-source approval route visible
* fix(approvals): prefer delivered approval clients
* fix(approvals): prefer delivered approval clients
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-02 14:15:25 -07:00
Ayaan Zaidi
59a6240dae
fix(auto-reply): default room events to silence
2026-07-02 09:12:35 -07:00
Ayaan Zaidi
53fe2e4bc3
refactor(auth): simplify codex login follow-up
2026-07-01 11:16:49 -07:00
Josh Lehman
bde0e4541e
refactor: share codex login flow helpers
2026-07-01 11:16:49 -07:00
Eva
af8a4540ed
Address Codex login review feedback
2026-07-01 11:16:49 -07:00
Eva
918612513f
Use nondeprecated provider auth SDK path
2026-07-01 11:16:49 -07:00
Eva
72653b600c
Narrow Codex login SDK export
2026-07-01 11:16:49 -07:00
Eva
77edfe7414
Add Telegram Codex login pairing
2026-07-01 11:16:49 -07:00
VectorPeak
fbceb309e7
fix(media): normalize Windows inbound paths case-insensitively
...
* fix Windows inbound media path casing
* test: cover Windows inbound path casing
* test(plugin-sdk): cover media runtime inbound path casing
2026-07-01 03:53:54 -07:00
Josh Avant
ba5244c189
fix: advertise route-aware LAN Control UI links ( #98482 )
...
* Route LAN pairing URLs by default route
* Advertise route-aware LAN Control UI links
* Fix route-aware LAN test mocks
* Narrow advertised LAN SDK export
2026-07-01 04:02:12 -05:00
snowzlmbot
b63e06f68a
fix(llm): preserve structured tool result replay
...
Preserve structured tool-result replay text across provider transports while keeping provider-facing redaction and Anthropic media ordering intact.
Thanks @snowzlmbot!
2026-06-30 23:44:02 -07:00
Peter Steinberger
c52583a022
feat(openai): add GPT-5.6 series support ( #98333 )
...
* feat(openai): add GPT-5.6 series support
* docs: refresh map for GPT-5.6
* fix(openai): preserve GPT-5.6 thinking metadata
* fix(codex): sync managed app server version
* fix(codex): sync managed app server version
* fix(openai): account for GPT-5.6 cache writes
---------
Co-authored-by: Peter Steinberger <steipete@golden-gate.local >
2026-07-01 06:48:57 +01:00
Marvinthebored
b3b51b0c91
fix(anthropic): surface Discord pre-tool commentary
...
Route Anthropic pre-tool narration through the commentary progress lane, preserve shared channel progress defaults, and keep Discord/Telegram reasoning gates explicit.
Thanks @Marvinthebored!
2026-06-30 18:12:07 -07:00
pick-cat
169acd1e4e
fix(plugin-sdk): guard legacy dedupe JSON parse against malformed files ( #98125 )
2026-06-30 09:56:20 -07:00
Momo
db2488b6e3
fix(memory): record structured dreaming outcomes ( #97723 )
...
Summary:
- Merged fix(memory): record structured dreaming outcomes after ClawSweeper review.
Automerge notes:
- PR branch already contained follow-up commit before automerge: chore(plugin-sdk): update surface budgets
Validation:
- ClawSweeper review passed for head 9fa7d20a96 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 9fa7d20a96
Review: https://github.com/openclaw/openclaw/pull/97723#issuecomment-4831902831
Co-authored-by: momothemage <niuzhengnan@163.com >
Approved-by: momothemage
2026-06-29 11:23:38 +00:00
Vincent Koc
0392ff7242
fix(test): remove duplicate provider HTTP mock export
2026-06-28 21:44:50 -07:00
wangmiao0668000666
238398e331
fix(video-generation): bound DashScope JSON response reads
2026-06-28 21:33:09 -07:00
Omar Shahine
9b9a124cc5
Fix Codex message-tool-only source reply completion ( #95942 )
...
* fix(codex): recognize message tool source replies
* fix(codex): accept numeric source message ids
* fix(codex): account for source reply SDK surface
* fix(codex): require delivered reply receipts
* fix(codex): reject alias-routed source replies
* fix(codex): require delivered non-send telemetry
* fix(codex): honor normalized source routes
---------
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
2026-06-28 12:02:36 -07:00
Josh Lehman
b5e9179063
docs: deprecate legacy session file helpers ( #97494 )
...
* docs: deprecate legacy session file helpers
* docs: update sdk deprecation budgets
2026-06-28 07:33:34 -07:00
xingzhou
4d292caaa4
fix(plugin-sdk): follow paginated live model catalogs ( #97012 )
...
* fix(plugin-sdk): follow paginated live model catalogs
* fix(plugin-sdk): bound paginated live catalog discovery
* fix(plugin-sdk): reject incomplete live catalog pagination
* fix(plugin-sdk): resolve live catalog next links after redirects
* fix(plugin-sdk): preserve redirect auth boundary in catalog pagination
2026-06-28 10:08:36 -04:00
Bek
9c95abd49d
fix: seed Slack thread context after reset ( #97100 )
2026-06-28 02:36:53 -04:00
mushuiyu886
5ccfc97b31
fix(google): bound TTS success JSON response reads ( #96984 )
2026-06-27 07:00:36 -07:00
Peter Steinberger
56259606d1
fix(agent-core): ignore truncated tool calls ( #97140 )
...
* fix(agent-core): ignore truncated tool calls
Co-authored-by: Galin Iliev <5711535+galiniliev@users.noreply.github.com >
* fix(agent-core): require explicit tool-call terminals
---------
Co-authored-by: Galin Iliev <5711535+galiniliev@users.noreply.github.com >
2026-06-27 03:31:42 +01:00
Bek
9636bea901
perf(memory): add QMD search diagnostics and runtime cache ( #96655 )
2026-06-26 16:16:12 -04:00
NIO
527f8f0cbb
fix(image-gen): bound image generation provider JSON response reads ( #96495 )
...
* fix(image-gen): bound image generation provider JSON response reads
Route success JSON reads through readProviderJsonResponse (16 MiB cap)
in openrouter, google, fal, minimax, openai, and vydra image generation
providers to prevent OOM from oversized or hostile endpoint responses.
Mirrors the response-limit campaign already applied to other provider paths.
AI-assisted.
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix(image-gen): size bounded JSON caps for inline image payloads
Signed-off-by: sallyom <somalley@redhat.com >
---------
Signed-off-by: sallyom <somalley@redhat.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: sallyom <somalley@redhat.com >
2026-06-26 07:08:30 -04:00
Renaud Cerrato
95b97e5b0b
fix(exec): fail invalid explicit workdir before running ( #94441 )
...
* fix(exec): fail invalid explicit workdir before running
* test(exec): tighten invalid workdir regression
* fix(exec): clarify invalid workdir recovery
* refactor(exec): centralize workdir resolution
* test(exec): update invalid workdir assertion
* fix(exec): harden backend workdir contract
* fix(exec): map missing backend host workdirs
* fix(exec): reject control commands before workdir prep
* fix(exec): defer env hook until backend cwd validation
* chore(sdk): refresh plugin api baseline
* test(agents): drop redundant definition assertions
* test(exec): use real config workdirs
* test(exec): use tracked temp dirs
* test(openshell): keep temp setup local
* test: update temp-dir route fixture
---------
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
2026-06-26 08:02:00 +10:00
joshavant
0a14444924
Bound successful provider response reads
2026-06-24 19:08:22 -05:00
Josh Lehman
fab0048d7b
fix: preserve plugin maintenance config compatibility
2026-06-24 13:42:39 -07:00
Josh Lehman
070996e5c3
fix: keep model-run pruning internal
2026-06-24 13:42:39 -07:00
wanglu241
af8cd23f17
fix(sessions): keep plugin SDK maintenanceConfig backward-compatible
...
The model-run maintenance fields (modelRunPruneAfterMs from #88632 base work,
modelRunPruneAfterConfigured from the pressure-gating fix) were required on the
resolved maintenance config exposed to plugins via patchSessionEntry's
maintenanceConfig. External plugin TypeScript callers that construct a
pre-#88632 maintenanceConfig would fail to compile.
Make both fields optional on ResolvedSessionMaintenanceConfig (and the runtime
type), so old-shape plugin configs keep compiling. All internal readers already
treat an absent value as unset: shouldRunModelRunPrune returns false when
modelRunPruneAfterMs == null and modelRunPruneAfterConfigured is falsy, so a
plugin-supplied config without the fields runs no model-run pruning — the
pre-#88632 behavior. The resolver still always populates both fields, so normal
runtime behavior is unchanged. Add an old-shape maintenanceConfig SDK
regression test.
2026-06-24 13:42:39 -07:00
wanglu241
fc198d862a
Gate default model-run session pruning
2026-06-24 13:42:39 -07:00
Shakker
c561319708
test: centralize plugin temp home env
2026-06-24 20:14:51 +01:00
Josh Lehman
4d4769c0d6
refactor(path3): narrow bundled session runtime barrels ( #96507 )
2026-06-24 10:33:40 -07:00
Ayaan Zaidi
f1e38f2ed6
fix(telegram): narrow rich table alignment surface
2026-06-24 06:41:38 -07:00
张贵萍0668001030
77eb0fdbaa
fix(telegram): preserve rich table styling
2026-06-24 06:41:38 -07:00
Vincent Koc
bfffc77bfc
feat(copilot): add BYOK provider parity
2026-06-24 18:29:56 +08:00
Josh Lehman
8a7b3c755a
fix(memory-core): migrate dreaming cleanup lifecycle ( #96193 )
...
* fix(memory-core): migrate dreaming cleanup lifecycle
* fix(sessions): resolve lifecycle session files explicitly
* fix(ci): refresh dreaming lifecycle proof ratchets
2026-06-23 16:08:44 -07:00
Josh Lehman
132d70bfb3
refactor: migrate bundled transcript target lookups ( #89911 )
2026-06-23 14:32:21 -07:00
Josh Lehman
475252453b
refactor: add transcript update identity contract ( #89912 )
2026-06-23 05:52:08 -07:00
Vincent Koc
d3019e6127
fix(copilot): tighten harness sdk boundaries
2026-06-23 15:48:27 +08:00
Vincent Koc
21d67b168a
feat(copilot): wire harness parity helpers
2026-06-23 15:48:27 +08:00
兰之
bd479958c0
feat(plugin-sdk): add extensible channel identity hook context ( #91903 )
...
Merged via squash.
Prepared head SHA: 90f51eafd5
Co-authored-by: lanzhi-lee <36190508+lanzhi-lee@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-23 11:56:49 +08:00
Vincent Koc
abd8a46b0a
improve: reduce hot-path linear scans and redundant I/O ( #95697 )
...
Merged via squash.
Prepared head SHA: 67f2678a34
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-23 10:11:18 +08:00
Peter Steinberger
303e7781c1
fix(plugin-sdk): bound live model catalog success body ( #95827 )
...
Merged via squash.
Prepared head SHA: 870ef762c9
Co-authored-by: steipete <58493+steipete@users.noreply.github.com >
Reviewed-by: @steipete
2026-06-22 09:54:37 -07:00
Sahibzada
de60f42767
fix(sessions): clarify cross-agent visibility guidance ( #90489 )
...
* fix(sessions): clarify cross-agent visibility guidance
* fix(sessions): clarify optional agent allow policy
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-06-22 16:45:01 +00:00