Commit Graph

68188 Commits

Author SHA1 Message Date
Peter Steinberger
606e2f5dba fix(ci): stop unrelated main updates from forcing PR rebases (#107050)
* fix(ci): stop unrelated main updates from forcing PR rebases

* docs(ci): document reusable aggregate proof

* docs(ci): clarify immutable gate success

* chore(ci): refresh stalled PR head
2026-07-14 00:01:01 -07:00
Peter Steinberger
b58a75d726 refactor(html): share entity decoding 2026-07-14 00:00:05 -07:00
Peter Steinberger
ab95871dd5 refactor(tlon): remove dead exports (#107233) 2026-07-13 23:59:46 -07:00
Peter Steinberger
69eb20871d chore(codex): update Codex CLI to 0.144.4 (#107208)
* chore(codex): update Codex CLI to 0.144.4

* fix(codex): validate interrupt params through request map
2026-07-13 23:58:19 -07:00
Peter Steinberger
25a0f270ea test: isolate queued CLI progress ordering (#107212) 2026-07-13 23:57:49 -07:00
Peter Steinberger
b34bba8e57 refactor(channels): migrate the remaining nine group-policy walkers onto the scope tree (#107181)
* refactor(channels): migrate irc, nextcloud-talk, zalouser, slack, and matrix group policy onto the scope tree

* fix(irc): drop unused tree binding in group match

* fix(zalouser): keep wildcard lookup opt-in for explicit-only candidates

* fix(zalouser): adapter opts into the wildcard fallback candidate

* refactor(channels): migrate feishu, msteams, and discord group policy onto the scope tree and drop the core discord duplicate

* fix(msteams): restore the cross-team scan fallback for policy-less matched teams

* fix(feishu): keep the adapter's zod-typed group config for the scope tree

* revert(core): keep the discord require-mention fallback until stage 3 makes it provably redundant

* chore(matrix): drop the now-unused channel entry match re-export

* refactor(telegram): migrate group policy onto the scope tree

* test(telegram): keep the bot token fixture off secret-scanner patterns

* test(telegram): use a computed key for the bot token fixture

* test(telegram): assemble the bot token fixture indirectly for scanner and lint
2026-07-13 23:56:35 -07:00
krissding
e588f2c0ce fix(extra-params): preserve resolved cacheRetention against undefined own-property clobber (#106069)
* fix(extra-params): preserve resolved cacheRetention when options carries undefined own-property

When the proxy transport emits cacheRetention as an own property set to
undefined, JS spread semantics clobber the resolved cacheRetention value
from per-model params. Re-assert the resolved value after the spread so
it takes precedence over an undefined own-property in the caller's options.

Fixes #106014

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test(agents): strengthen cache retention precedence proof

* refactor(agents): keep cache retention merge compact

* style(agents): format cache retention matrix

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 23:54:56 -07:00
Peter Steinberger
e0b52a9618 feat: resume OpenCode and Pi sessions in terminal (#107200)
* feat: resume OpenCode and Pi sessions in terminal

* refactor: keep Pi session commands internal
2026-07-13 23:54:40 -07:00
Peter Steinberger
75cd0efb04 refactor(line): remove dead exports (#107231) 2026-07-13 23:54:12 -07:00
openclaw-release-bot
b3239a5f0f chore(release): update appcast for 2026.7.1 2026-07-14 06:53:20 +00:00
Peter Steinberger
1dd78aee42 docs: document catalog terminal relay (#107204)
* fix(protocol): regenerate terminal protocol artifacts

* fix(protocol): regenerate terminal protocol artifacts

* fix(protocol): regenerate terminal protocol artifacts
2026-07-13 23:50:08 -07:00
Peter Steinberger
044392684b test(release): repair scheduled E2E regressions (#107173)
* test(release): repair scheduled E2E regressions

* test(release): refresh generated protocol bindings

* docs(agents): harden remote proof invocations
2026-07-13 23:49:36 -07:00
Peter Steinberger
a2b4c4e17d refactor(signal): trim dead exports (#107217) 2026-07-13 23:43:46 -07:00
Peter Steinberger
6625ea92f0 refactor(codex): evaluate startup deadlines first 2026-07-13 23:40:39 -07:00
Peter Steinberger
c953d8ec41 fix(codex): gate startup phases before deadlines 2026-07-13 23:40:39 -07:00
Peter Steinberger
ec72fda21c refactor(scripts): use dependency metadata parsers 2026-07-13 23:33:30 -07:00
Peter Steinberger
3c82249ab9 test: accelerate session concurrency coverage (#107186) 2026-07-13 23:32:53 -07:00
Peter Steinberger
c44b854e8e refactor(ui): use task-list token contract 2026-07-13 23:29:14 -07:00
Peter Steinberger
cbb5e97dd4 refactor(whatsapp): trim internal exports (#107206) 2026-07-13 23:23:11 -07:00
Peter Steinberger
21382b3755 refactor(qqbot): use silk-wasm buffer inputs 2026-07-13 23:19:54 -07:00
Peter Steinberger
63c48f881f fix(protocol): refresh generated clients (#107177) 2026-07-13 23:18:55 -07:00
Peter Steinberger
4d56176e5f build(android): verify Gradle distribution checksum (#107194) 2026-07-13 23:18:54 -07:00
Peter Steinberger
d9d3d4b9e3 refactor(matrix): use fake-indexeddb prototype 2026-07-13 23:11:49 -07:00
Peter Steinberger
834810b3d6 refactor(imessage): trim internal exports (#107196)
* refactor(imessage): trim internal exports

* test(imessage): type inbound dispatch mock
2026-07-13 23:05:24 -07:00
ruizcrp
40cf6c51b3 feat(workboard): add manual card movement surfaces (#96554)
Adds consistent manual Workboard movement across CLI, slash commands, and agent tools while preserving operator authority and agent claim isolation.

Co-authored-by: Ross I4JU <ross@i4ju.ch>
2026-07-13 23:01:06 -07:00
Peter Steinberger
d3ac854e31 refactor(agents): extract attempt execution phases 2026-07-13 22:54:42 -07:00
Peter Steinberger
83512e1986 refactor(matrix): use native media types 2026-07-13 22:54:26 -07:00
Peter Steinberger
304beb22e1 refactor(concurrency): use p-map skip results 2026-07-13 22:43:26 -07:00
Jason (Json)
5f8b2a4670 fix: complete Codex login handoff during onboarding (#107174) 2026-07-13 23:40:55 -06:00
Peter Steinberger
df5097b6e7 fix(native): keep platform validation warning-free (#107101)
* build(android): keep Gradle warning-free

* ci(native): pin XcodeGen tooling

* test(macos): avoid concurrency warnings
2026-07-13 22:33:12 -07:00
Peter Steinberger
b241d4a12d refactor(agents): extract attempt session runtime setup 2026-07-13 22:32:01 -07:00
Peter Steinberger
1d02cc83dd refactor(skills): use chokidar all events 2026-07-13 22:31:00 -07:00
Wynne668
73cb408565 fix(google-meet): reject nondecimal transcript cursors (#106384)
* fix(google-meet): reject nondecimal transcript cursors

Use parseStrictNonNegativeInteger for --since validation so hex,
exponent, and fractional spellings are rejected at the CLI boundary
instead of silently coercing to different cursor offsets.

Remove the redundant file header comment to stay within the
oversized-file LOC ratchet.

* test(google-meet): harden transcript cursor coverage

* style(google-meet): format cursor tests

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 22:28:18 -07:00
Peter Steinberger
ee858fc9f2 refactor(types): remove stale node-llama declarations 2026-07-13 22:26:47 -07:00
zw-xysk
2f11d8752d fix(slack): add 30s timeout to read-mode action API calls (#107103)
* fix(slack): add 30s timeout to read-mode action API calls

* fix(slack): reuse bounded lookup client

* test(slack): use review-safe token fixtures

* test(slack): restore concise token fixtures

* test(slack): mark new auth fixture as placeholder

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 22:26:02 -07:00
xingzhou
46457b3610 fix(ui): Sessions filters silently accept trailing text (#107072)
* fix(ui): reject partial session filter values

* fix(ui): validate session filters strictly

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 22:22:20 -07:00
Peter Steinberger
d8d2f83cc1 feat(terminal): open Codex/Claude catalog sessions in a terminal on their owning host
Catalog session rows (sidebar context menu + click), the built-in viewer
header, and a new "Open Codex/Claude sessions in" preference can launch the
native CLI (codex resume / claude --resume) in the operator terminal on the
machine that owns the session.

- Gateway-local sessions spawn through the existing terminal launch policy
  (sandbox/enabled gates preserved) with the resume command in the session cwd.
- Paired-node sessions run through a new seq-ordered node PTY relay: a
  duplex node-host command streams PTY output via node.invoke.progress and
  receives keystrokes/resize via a new node.invoke.input event, behind the
  unchanged terminal.* client protocol (TerminalSessionManager gains a backend
  abstraction; node relay reuses the streaming-invoke controller).
- Owner boundary: each plugin owns its resume command and builds argv from a
  validated thread id; the gateway routes node opens through the node command
  allowlist and plugin invoke policy (no advertisement-only trust), and nodes
  re-verify session eligibility before spawning.
- UI setting catalogOpenTarget + canOpenTerminal capability gate every entry
  point; capability requires the owning host to actually have the CLI.

Node PATH is normalized before command-availability probes, Windows .cmd/.bat
shims spawn via ComSpec, and catalog terminal opens reattach persisted tabs
before opening the new tab.
2026-07-13 22:20:50 -07:00
Josh Avant
177ad6bb61 test: cover queued reset session rotation (#106995) 2026-07-13 22:20:23 -07:00
Bek
beb0aace72 fix: prevent completed Codex hook relays from lingering (#106899) 2026-07-14 01:19:59 -04:00
Peter Steinberger
bdc91cb4af refactor(memory-wiki): trim internal exports (#107157) 2026-07-13 22:19:01 -07:00
Peter Steinberger
eb91c593d3 test(plugin-sdk): harden temp directory cleanup (#107151) 2026-07-13 22:12:49 -07:00
yyj-xydt
429bf9383e fix(workboard): avoid timing leaks in claim authorization (#104259)
* test(workboard): cover claim token lifecycle auth

* fix(workboard): compare claim tokens safely

Co-authored-by: 0668001099 <yang.yujie1@xydigit.com>

* refactor(workboard): centralize claim identity checks

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 22:12:45 -07:00
Peter Steinberger
069915f173 test: accelerate sqlite state cli tests (#107150) 2026-07-13 22:12:21 -07:00
Peter Steinberger
25bc6df8cd refactor(speech-core): remove redundant API back-edge 2026-07-13 22:11:48 -07:00
Peter Steinberger
e278a34331 feat(macos): refresh DMG installer artwork (#107142) 2026-07-13 22:09:36 -07:00
Vincent Koc
ee6d6e7e78 refactor(extensions): remove dead local exports (#107146) 2026-07-14 13:09:20 +08:00
Peter Steinberger
cac097946d feat(ui): devices card action redesign + in-page removal confirm (#107123)
* feat(ui): redesign devices card actions and fix silent stale cleanup

* fix(ui): show device id in removal prompt; keep device glyphs page-local

* fix(ui): drop pending removal prompt on connection reset

* fix(ui): sync device removal prompt locales; attach devices view test containers

* chore(i18n): sync locale bundles for device removal prompt
2026-07-13 22:07:39 -07:00
Peter Steinberger
9c2dc92dd8 refactor(msteams): trim internal exports (#107148) 2026-07-13 22:01:56 -07:00
Peter Steinberger
73838101df refactor(agents): extract attempt stream runtime setup 2026-07-13 22:01:22 -07:00
Peter Steinberger
a6094900b6 fix(ui): stop Raw config editor asking users to switch to Raw (#107116)
* fix(ui): hide form warning in raw config mode

* chore: keep release notes out of fix PR
2026-07-13 21:56:45 -07:00