wanyongstar
7e21533841
fix(browser): validate extension relay frame fields before handling ( #120283 )
...
* fix(browser): validate extension relay frame fields before handling
* refactor(browser): clarify relay frame validation
* style(browser): format relay frame guards
---------
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-08-13 00:46:15 +08:00
Peter Steinberger
df4e6666c6
refactor(voice): promote realtime voice policy to talk owner ( #122668 )
...
* refactor(voice): promote realtime voice policy to talk owner
Move the exact-speech protocol (typed consult-call outcome instead of
string scraping), agent-proxy session instructions, and consult/wake-name/
barge-in policy defaults from the Discord plugin into src/talk, exported
additively via openclaw/plugin-sdk/realtime-voice. Wake-name enablement now
keys on a supportsActivationNameGating provider capability instead of a
hardcoded provider id. Follow-up to the voice split (#122479 ).
* fix(talk): bind exact-speech bypass to retained session state
Per ClawSweeper review on #122668 : the protocol marker is untrusted model
tool-call text; only a parsed answer matching a currently retained
exact-speech text may select the privileged replay path. Unretained
marker calls route to a normal consult.
2026-08-12 09:44:19 -07:00
Peter Steinberger
c23d66e3b5
refactor: consolidate coercion ownership ( #122692 )
...
* refactor: consolidate coercion ownership
* test: align shard check with weighted planning
* chore: refresh plugin SDK API baseline
2026-08-12 09:25:28 -07:00
Vincent Koc
7fa5442fc1
fix(qa): accept cumulative compaction counts ( #122680 )
2026-08-13 00:19:49 +08:00
Peter Steinberger
71e8cc033b
refactor(qa): remove gateway child test facade ( #122693 )
...
* refactor(qa): remove gateway child test facade
* test(qa): refresh scenario source references
* fix(qa): preserve packaged auth redaction boundary
2026-08-12 09:03:40 -07:00
Peter Steinberger
1f8fdf4ef0
refactor(memory-core): consolidate manager test fixtures ( #122671 )
...
* test(memory-core): consolidate manager index fixtures
* test(memory-core): table-drive manager state cases
* test(memory-core): type shared fixture surface
2026-08-12 08:50:09 -07:00
Peter Steinberger
0f4640a887
refactor(openai): consolidate realtime test fixtures ( #122670 )
...
* test(openai): consolidate realtime voice fixtures
* test(openai): table-drive realtime voice cases
* test(openai): remove redundant realtime coverage
Browser auth remains covered by 'requires Platform auth before minting browser realtime client secrets' in realtime-voice-browser-auth.test.ts.\n\nCancelled, failed, and incomplete tool output remains covered by 'normalizes .status without closing the reusable socket' in realtime-voice-terminal-outcomes.test.ts.\n\nCommitted oversized finals remain covered by the 'after item commit' row in realtime-transcription-provider.bounds.test.ts.
2026-08-12 08:39:26 -07:00
Vincent Koc
9e8995384b
fix(slack): retry transient member auth lookups ( #122356 )
2026-08-12 23:38:43 +08:00
Amp
91197bf8d1
refactor(fireworks): flatten Kimi stream wrapper
2026-08-12 08:36:33 -07:00
Amp
72f4ee2274
refactor(meta): inline response payload patching
2026-08-12 08:36:33 -07:00
Amp
22d437def9
refactor(cohere): flatten stream payload wrapper
2026-08-12 08:36:33 -07:00
Peter Steinberger
14b0011866
fix(imessage): preserve imsg retry-safe no-send result ( #122672 )
...
* fix(imessage): preserve retry-safe delivery failures
* test(imessage): avoid shadowing retry error
* test(imessage): assert approval account routing
2026-08-12 08:32:45 -07:00
Vincent Koc
d5f995c388
fix(slack): preserve original bytes for forced media ( #122667 )
...
Punchcard-Session: crisp-valley-brook-8r
2026-08-12 23:32:32 +08:00
Amp
189ce7537e
refactor(gradium): consolidate speech requests
...
Amp-Thread-ID: https://ampcode.com/threads/T-019ff438-3b93-77b8-9828-1d3c586cb127
2026-08-12 07:58:43 -07:00
Amp
f690c107d7
refactor(inworld): consolidate speech requests
...
Amp-Thread-ID: https://ampcode.com/threads/T-019ff438-3b93-77b8-9828-1d3c586cb127
2026-08-12 07:58:43 -07:00
Amp
0060f6f5fc
refactor(tts-local-cli): flatten audio conversion
...
Amp-Thread-ID: https://ampcode.com/threads/T-019ff438-3b93-77b8-9828-1d3c586cb127
2026-08-12 07:58:43 -07:00
Amp
57a3392042
refactor(parallel): localize shaping helpers
2026-08-12 07:54:03 -07:00
Amp
a5384cde65
refactor(parallel): share search runtime shaping
...
Amp-Thread-ID: https://ampcode.com/threads/T-019ff438-3b93-77b8-9828-1d3c586cb127
2026-08-12 07:54:03 -07:00
Vincent Koc
3a9e461912
test(slack): restore enterprise auth fixture identity ( #122639 )
2026-08-12 22:26:46 +08:00
Peter Steinberger
c5ba4efbd7
refactor(plugins): remove media test globals ( #122636 )
2026-08-12 07:07:19 -07:00
Vincent Koc
beb576c2ad
test(slack): restore tool result reaction state ( #122592 )
2026-08-12 20:54:06 +08:00
Vincent Koc
c702bf2796
fix(ci): repair Slack enterprise fixture routing ( #122589 )
2026-08-12 20:32:41 +08:00
Peter Steinberger
209b3ade0f
test(browser): model DNS lookup overloads ( #122614 )
2026-08-12 05:23:43 -07:00
Peter Steinberger
40cb6f0e3b
feat(ui): keep Where picker destinations live ( #122531 )
...
* feat(gateway): enrich environment summaries
* chore(sdk): refresh plugin API surface
surface drift approved: additive EnvironmentSummary enrichment (runners plan rev 2, milestone 4)
* feat(ui): keep where picker destinations live
* docs: link picker liveness milestone PR
* fix(ui): deduplicate picker locale keys
* test(ui): update picker section expectations
* fix(ssrf): narrow lookup resolver contract
* fix(gateway): publish authoritative environment facts
2026-08-12 05:11:46 -07:00
Peter Steinberger
79ac476b0f
fix(test): type CDP DNS lookup mocks ( #122607 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
Co-authored-by: Amp <amp@ampcode.com >
2026-08-12 04:45:15 -07:00
Pavan Kumar Gondhi
92f5f07da1
fix(browser): keep guarded CDP sockets on validated endpoints [AI] ( #114506 )
...
* fix(browser): keep guarded CDP sockets on validated endpoints
* fix(browser): avoid retrying rate-limited CDP discovery
* fix(browser): close Chrome MCP CDP policy gaps
* test(browser): match Chrome MCP policy error
* test(browser): satisfy transport type and lint checks
* fix(browser): narrow guarded CDP transport changes
* fix(browser): separate upload filesystem locality
* fix(browser): keep strict remote CDP hosts untrusted
2026-08-12 16:16:12 +05:30
Peter Steinberger
fea6d96378
fix(qa): artifact write failure preserves previous files ( #122580 )
...
* fix(qa): publish suite artifacts atomically
* test(qa): consolidate artifact durability coverage
2026-08-12 03:29:34 -07:00
Vincent Koc
fb788e7a3e
refactor(diagnostics-otel): unify event attribute projection ( #122559 )
2026-08-12 18:06:08 +08:00
Vincent Koc
2c26f13606
fix(qa): accept staged compaction summaries ( #122528 )
2026-08-12 17:52:14 +08:00
Peter Steinberger
7e42dae611
refactor(memory-core): split index manager along the inheritance chain ( #122540 )
...
* refactor(memory-core): split index manager along the inheritance chain
* fix(memory): restore the manager lazy boundary
* refactor(memory-core): delete dead manager plumbing
* chore(lint): ratchet max-lines baseline after memory manager split
* fix(memory): keep the manager out of the runtime facade
* test(memory): cover transitive manager facade imports
2026-08-12 02:28:20 -07:00
Peter Steinberger
e5dd254561
fix(memory-wiki): publish lint report atomically ( #122568 )
2026-08-12 02:23:48 -07:00
zhifu gao
42ad83142e
fix(whatsapp): label voice transcripts as untrusted ( #113111 )
...
* fix(whatsapp): label voice transcripts as untrusted
* fix(whatsapp): preserve audio provenance in group history
Frame deferred voice transcripts while retaining their structured audio facts for later model-visible replay.
Refs #87269
---------
Signed-off-by: zhifu gao <lauragpt@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
Co-authored-by: zhifu gao <lauragpt@users.noreply.github.com >
2026-08-12 17:14:55 +08:00
Peter Steinberger
5350b92dc8
fix(browser): wake extension relay through gateway ( #122537 )
...
* fix(browser): wake extension relay through gateway
* fix(browser): preserve manual extension relay pairing
2026-08-12 02:13:03 -07:00
Peter Steinberger
432ccac74b
fix(channels): honor terminal reaction holds ( #122544 )
...
Serialize done and error holds before restoring initial reactions, and restore Slack error reactions through the shared lifecycle.
2026-08-12 01:36:54 -07:00
Peter Steinberger
08142099da
refactor(plugins): remove test-only facades and adapter ( #122532 )
...
* refactor(plugins): trim test-only facades
* refactor(whatsapp): remove legacy outbound adapter
2026-08-12 01:20:09 -07:00
Vincent Koc
83649466fa
fix(qa): isolate gateway child skip controls ( #122534 )
2026-08-12 16:08:43 +08:00
Peter Steinberger
fc0147b529
test(plugins): remove duplicate setup cases ( #122515 )
2026-08-12 00:19:22 -07:00
Peter Steinberger
b080dd1e76
refactor: consolidate coercion contracts ( #122458 )
...
* refactor: consolidate coercion contracts
Centralize exact string, record, numeric, date, Boolean, argument, and structured-error coercions while preserving call-site semantics.
Migrate canonical-name collisions and deprecated internal SDK bypasses, deleting 55 net production/tooling lines. Expand declaration ownership enforcement to 101 allowed helpers and add a narrow export-completeness audit.
* fix: preserve standalone script coercions
Keep copied Control UI tooling self-contained and retain the trusted release harness module-relative source seam when the harness runs against an old target cwd.
2026-08-11 23:26:37 -07:00
Peter Steinberger
90beb639e7
refactor(discord): split voice lifecycle ownership ( #122479 )
...
* refactor(discord): split voice subsystem by lifecycle owner
* fix(discord): make one generation the voice lifecycle authority
* refactor(discord): delete superseded voice plumbing
* test(discord): split voice coverage by lifecycle owner
* chore(lint): ratchet max-lines baseline after voice split
* fix(discord): re-read voice lifecycle after realtime connect
* test(discord): move wake follow-up coverage to turns owner
* refactor(discord): keep realtime lifecycle state private
* refactor(discord): keep voice test harness type private
* refactor(discord): remove split voice test accessors
* test(discord): type split voice fixtures at owners
* test(discord): trim split voice test imports
2026-08-11 23:23:26 -07:00
Ayaan Zaidi
dbb9665e7e
fix(discord): let active turns receive steering ( #122452 )
...
Remove Discord's duplicate whole-turn session serialization so corrections reach shared reply admission and steer the active run. Preserve shared steer, followup, collect, and interrupt behavior.
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-08-12 06:18:55 +00:00
Peter Steinberger
baefefa815
refactor(openai): simplify GPT-5.6 canonicalization ( #122467 )
...
Behavior is unchanged. Remove duplicate policy and test scaffolding while preserving canonical Sol identity and direct bare-alias compatibility.
2026-08-11 23:04:01 -07:00
Peter Steinberger
1afb5e64a5
improve: reduce provider auth parity test time ( #122445 )
...
* test: trim provider auth parity runtime probes
* test: keep parity shards in tooling owner
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 22:37:06 -07:00
keshavbotagent
3807eb9c58
fix(codex): preserve allowed tools under channel policy ( #122282 )
...
Preserve Codex native tools when conversation policies deny only audited OpenClaw capabilities. Fail closed for computer-control denies and retain structured plan progress.
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
Co-authored-by: Kelaw - Keshav's Agent <keshavbotagent@gmail.com >
2026-08-12 05:27:08 +00:00
Sarah Fortune
00fc1bd123
fix(slack): scope enterprise channel and user policies by workspace ( #122346 )
...
* fix(slack): scope channel policies by workspace
* fix(slack): scope user policies by workspace
* fix(slack): preserve workspace policies at ingress
* test(slack): use canonical workspace ids
* chore(slack): remove stale allowlist import
* fix(slack): require workspace-scoped grid policies
* test(slack): scope enterprise policy fixtures
* style(slack): format workspace policy changes
* fix(slack): preserve workspace policy wildcards
* fix(slack): retain workspace system-event policies
* fix(slack): scope bot policy identities
* fix(slack): retain workspace in group policy
* fix(slack): preserve workspace DM allowlists
---------
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
2026-08-11 22:09:46 -07:00
Peter Steinberger
dac940bf3a
refactor(openai): split realtime voice by layer ( #122414 )
...
* refactor(openai): split realtime voice by layer
* refactor(openai): delete dead realtime auth branches
* chore(lint): ratchet max-lines baseline after realtime-voice split
* style(openai): prune split leftovers
2026-08-11 22:06:53 -07:00
Peter Steinberger
a3b2700dff
fix(deps): bump @openclaw/fs-safe to 0.5.5 for win32 zero-inode identity ( #122427 )
2026-08-11 21:46:22 -07:00
Peter Steinberger
cb52ded58d
refactor(telegram): split native commands by executor ( #122419 )
...
* refactor(telegram): split native commands by executor
* refactor(telegram): deduplicate DM-thread target session
* chore(lint): ratchet max-lines baseline after telegram commands split
* test(telegram): fix native command split checks
2026-08-11 21:45:17 -07:00
Ayaan Zaidi
ec4ae78b75
fix(agents): generate session titles with runtime-owned auth ( #122163 )
...
Use the selected harness for isolated title generation, including native Codex auth.
Retry failed dashboard titles from the first user message without overriding manual names.
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-08-12 09:42:16 +05:30
joshavant
db28ac2d48
test(signal): cover merged ingress failures
2026-08-11 22:27:11 -05:00
joshavant
d4f8553a0c
fix: retry debounced ingress failures before adoption
2026-08-11 22:27:11 -05:00