Commit Graph

19193 Commits

Author SHA1 Message Date
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