Vincent Koc
a3b0982148
perf(tasks): benchmark durable task registration churn ( #119828 )
...
* perf(tasks): add durable registry churn benchmark
* test(tasks): cover registry churn benchmark contract
* chore(tasks): wire registry churn benchmark
2026-08-06 18:37:30 +08:00
Vincent Koc
99021d173a
perf(agents): add concurrency benchmark ( #119569 )
2026-08-05 22:23:37 +08:00
Vincent Koc
e35d22807e
perf(xai): lazy-load optional capability runtimes ( #119374 )
...
Punchcard-Session: coral-workshop-workshop-3f
2026-08-05 11:26:40 +08:00
Peter Steinberger
58025dd33c
fix(fs): adopt fs-safe 0.5.2 untrusted filename sanitization ( #119363 )
...
* fix(fs): adopt fs-safe 0.5.2 untrusted filename sanitization
* fix(media): classify pre-open identity drift as access denial
* chore(checks): refresh SDK baseline and env-var budget for fs-safe adoption
* test(media): compact sanitizer cases under max-lines
* fix(agents): keep workspace symlink contract under fs-safe 0.5.2
* fix(infra): align path normalization and atomic-write proofs with fs-safe 0.5.2
* fix(fs): keep operator symlink contracts on config, control-ui, skills, hooks
* fix(fs): restore sandbox and session-lock contracts under fs-safe 0.5.2
* test(claws): expect symlink diagnostic for tampered plan parents
* fix(agents): canonicalize apply-patch mutations through contained aliases
* test(agents): split alias-update regression into focused file
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-04 17:53:44 -07:00
Heming Zeng
9bfe292c86
fix(sessions): keep gateway responsive while large transcript archives are built ( #112424 )
...
* fix(sessions): keep gateway responsive during transcript archiving
* test(sessions): strengthen archive worker coverage
* fix(sessions): bound archive worker concurrency
* test(sessions): normalize rollback paths on Windows
* fix(sessions): load source archive worker on node 22
* fix(sessions): align archive fencing with session windows
* test(sessions): adapt cleanup race to archive worker
* fix(sessions): harden archive worker lifecycle
* style(sessions): format archive lifecycle tests
* fix(sessions): release writer lane during archive work
---------
Co-authored-by: Josh Lehman <josh@martian.engineering >
2026-08-04 14:40:59 -07:00
qingminlong
cb2965ddde
fix(scripts): use direct-run helper for Windows guards ( #110877 )
...
* fix(scripts): normalize Windows direct-run guards
* test(scripts): cover direct-run routing
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-04 23:11:12 +08:00
Vincent Koc
5b1b1e0632
test(qa): cover CLI distribution workflows ( #118948 )
2026-08-04 05:09:39 +08:00
Vincent Koc
7fabb55648
fix(channels): generate catalog from package manifests ( #118097 )
2026-08-03 23:17:09 +08:00
Peter Steinberger
18c9f27e2d
fix(scripts): diagnose gateway concurrency probes ( #118308 )
...
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 17:34:46 -07:00
Peter Steinberger
3f3ceb2def
feat(gateway): track event-loop degradation persistence and add concurrency benchmark ( #118193 )
...
* feat(gateway): persist event loop degradation metrics
* fix(gateway): bound concurrency benchmark turn waits
2026-08-02 14:21:44 -07:00
Vincent Koc
b35b8e286d
fix(plugins): unblock prerelease validation ( #118103 )
...
* fix(plugins): align compatibility registry identity
* fix(slack): compact response URL native fallbacks
* test(plugins): stabilize prerelease runtime checks
* fix(packaging): include CUA driver in root package
* fix(packaging): declare CUA runtime dependency
* fix(cua): defer native driver loading
2026-08-03 04:48:05 +08:00
Peter Steinberger
ac28f4d558
fix: release channel delivery resources reliably ( #117855 )
...
* fix(channels): consolidate delivery lifecycle ownership
* test(msteams): match release mock contract
* test(plugin-sdk): satisfy promise executor lint
* chore(plugin-sdk): regenerate API baseline for delivery-correlation + fetch-runtime exports
2026-08-02 00:24:47 -07:00
Peter Steinberger
8a36e0470c
Build export HTML vendor assets from pinned dependencies ( #117583 )
...
* build: generate export html vendor assets
* build: declare marked generator contract
* fix(build): preserve export asset working root
* fix(build): preserve postbuild root ownership
* test(build): update Docker TypeScript step count
2026-08-01 15:03:35 -07:00
Peter Steinberger
9e43844264
build: generate native Canvas resources on demand ( #117424 )
2026-08-01 08:16:56 -07:00
Peter Steinberger
385f1dee16
docs: generate docs map at publish time ( #117398 )
...
* docs: generate docs map at publish time
* fix: canonicalize Docker pack entry path
* fix: preserve package lifecycle ownership
2026-08-01 07:01:43 -07:00
Sasan
6938f7dddb
fix: allow gateway service commands for named profiles ( #116314 )
...
* fix: gateway service commands refuse a named profile or relocated OPENCLAW_HOME
- Resolve the default install identity against the canonical state directory
for the active OpenClaw home and profile instead of the unprofiled OS
account default.
- `--profile <name>` / `--dev` project `.openclaw-<profile>` state and config
paths, so every named profile was classified as isolated state and refused
`install`, `start`, `stop`, `restart`, `uninstall`, Doctor service repair,
and self-update service handling.
- `OPENCLAW_HOME` relocates all OpenClaw path defaults and is documented for
running as a dedicated service user; a relocated home is now an install
identity. `HOME` alone still is not.
- An `OPENCLAW_STATE_DIR` or `OPENCLAW_CONFIG_PATH` pointing outside those
canonical paths is still treated as isolated state.
- Recovery guidance in the refusal message now names the paths that must match.
Verified: focused vitest shards for the changed suites plus the daemon, CLI,
and doctor suites that consume the identity check; tsgo core and core-test
lanes; oxlint; docs format, MDX, link, and map checks.
* fix(gateway): keep relocated homes isolated
* fix(config): validate service profile identity
* fix(daemon): enforce named-profile service ownership
* fix(update): reject drifted service selectors before probes
* test(windows): prove scheduled task lifecycle
* test(windows): harden scheduled task proof cleanup
* test(windows): bind lifecycle proof to checkout
* test(windows): normalize cleanup exit status
* test(windows): verify effective task privilege
* test(windows): protect scheduled task proof roots
* test(windows): prove listener-owned task lifecycle
* test(windows): fix scheduled task proof contracts
* test(windows): remove redundant mock coercions
* test(windows): measure fallback before task probes
* test(windows): prove scheduled task process origin
* fix(gateway): preserve unmanaged restart fallback
* test(gateway): cover denied restart ownership
* test(gateway): keep restart helper types private
* test(gateway): classify lifecycle helpers as test code
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-01 11:28:39 +08:00
Vincent Koc
89aadef6ef
feat(plugins): externalize iMessage channel ( #117101 )
2026-08-01 08:01:18 +08:00
Vincent Koc
61fb29e90a
feat(plugins): externalize OpenCode Go provider ( #117064 )
2026-08-01 06:31:19 +08:00
Vincent Koc
e73250f54b
feat(plugins): externalize OpenCode provider ( #117035 )
...
* feat(plugins): externalize OpenCode provider
* docs: refresh OpenCode provider map
2026-08-01 05:07:35 +08:00
Vincent Koc
e84e2a49fc
feat(plugins): externalize NovitaAI provider ( #117007 )
2026-08-01 03:53:46 +08:00
Vincent Koc
8b93fd963c
feat(plugins): externalize Mistral provider ( #116919 )
...
* feat(plugins): externalize Mistral provider
* fix(update): preserve external provider models during repair
* chore(release): keep Mistral note in PR body
2026-08-01 03:04:12 +08:00
Vincent Koc
a1026663ae
feat(plugins): externalize ComfyUI provider ( #116888 )
2026-07-31 23:26:51 +08:00
Vincent Koc
e93de36081
feat(plugins): externalize BytePlus provider ( #116866 )
2026-07-31 22:37:47 +08:00
Vincent Koc
c2e5b3a67c
feat(ci): add workload-aware Crabbox routing
2026-07-31 22:28:20 +08:00
Vincent Koc
fab2c33cad
feat(plugins): externalize Xiaomi provider ( #116861 )
2026-07-31 22:02:07 +08:00
Vincent Koc
b2b62b2e1e
feat(plugins): externalize Volcengine provider ( #116854 )
2026-07-31 21:28:01 +08:00
Vincent Koc
ba1a6722bb
feat(plugins): externalize Vydra provider ( #116813 )
2026-07-31 20:35:43 +08:00
Vincent Koc
eb55c8ea8f
feat(plugins): externalize Voyage embeddings ( #116785 )
...
* feat(voyage): externalize embedding provider
* fix(voyage): drop stale bundled description
2026-07-31 19:52:33 +08:00
Vincent Koc
6830820755
feat(plugins): externalize DuckDuckGo search ( #116740 )
2026-07-31 18:49:07 +08:00
Vincent Koc
a550827dad
feat(plugins): externalize Synthetic provider ( #116720 )
2026-07-31 17:19:43 +08:00
Vincent Koc
fa4cc51a87
feat(plugins): externalize Teams and Zoom meetings ( #116682 )
2026-07-31 14:10:46 +08:00
Vincent Koc
c892a712e6
feat(plugins): externalize Cohere and Meta providers ( #116662 )
...
* feat(plugins): externalize Cohere and Meta providers
* docs(changelog): note provider externalization
* chore: keep changelog release-owned
2026-07-31 12:53:01 +08:00
Vincent Koc
d5ab7d7d03
fix(ci): run fs-safe removal Windows coverage ( #116510 )
...
* test(ci): run fs-safe remove suite on Windows
* test(infra): correct Windows rebind race expectation
* test(infra): exercise Windows rebind hook
2026-07-31 09:58:34 +08:00
Vincent Koc
3b355879b8
test(infra): run exec allowlist suite on Windows ( #116492 )
2026-07-31 01:46:19 +08:00
Vincent Koc
26f107071e
test(agents): run exec preflight suite on Windows ( #116469 )
2026-07-31 00:57:04 +08:00
Vincent Koc
85466bd89e
test(mxc): run Windows-only suites in CI ( #116451 )
2026-07-31 00:10:22 +08:00
Vincent Koc
90a22b4f50
chore(test): run browser copilot E2E in CI ( #116407 )
...
* test(browser): run copilot E2E in CI
* test(browser): stabilize copilot E2E synchronization
* test(browser): wake extension workers deterministically
* test(ci): route browser copilot command changes
2026-07-30 23:20:34 +08:00
Vincent Koc
8a3f5c862b
fix(plugin-sdk): ship documented public typings ( #116345 )
...
* fix(plugin-sdk): ship documented public typings
* fix(plugin-sdk): refresh public contract artifacts
2026-07-30 18:20:07 +08:00
pash-openai
e52354ea13
fix(build): pin typebox to a published release ( #116333 )
2026-07-30 09:58:51 +00:00
Josh Lehman
6beaff450e
fix(codex): avoid transcript mirror snapshot churn ( #115070 )
2026-07-29 11:59:14 -07:00
Vincent Koc
951e7a39bd
fix(protocol): make Swift model checks non-mutating ( #115793 )
...
* fix(protocol): make Swift drift checks non-mutating
* test(protocol): cover core Swift gateway frames
* docs(protocol): clarify Swift model update flow
2026-07-29 18:17:36 +08:00
Peter Steinberger
4232126bba
chore: update dependencies across workspace ( #115677 )
...
* chore(deps): update dependencies
* fix(deps): restore CI compatibility
2026-07-29 05:16:42 -04:00
Peter Steinberger
e8524a5839
feat: add Fish Audio S2.1 and local MLX speech ( #115790 )
...
* feat: add Fish Audio speech support
* chore: remove unused speech exports
* chore: keep Fish API constant private
* test: remove stale code mode import
* style: use bracket access for Fish voice ids
* test: restore QA evidence validator import
2026-07-29 05:15:33 -04:00
Vincent Koc
9daa60961c
fix(agents): serialize sandbox provisioning ( #115645 )
...
* fix(agents): serialize sandbox provisioning
* test(docker): add sandbox browser sidecar e2e
* fix(ci): register sandbox browser e2e entrypoint
* fix(ci): restore code mode matrix checks
2026-07-29 14:50:15 +08:00
Vincent Koc
1c36054494
feat(agents): add code mode model acceptance matrix ( #115305 )
...
* feat(agents): add code mode model acceptance matrix
* fix(qa): emit canonical Code Mode matrix evidence
* fix(qa): reserve code mode matrix output safely
* fix(qa): require fresh matrix builds
* fix(qa): protect matrix evidence paths
2026-07-29 14:12:20 +08:00
Manan Bansal
ec56892b74
fix(infra): resolve ssh client from trusted system dirs ( #83289 ) ( #93030 )
...
resolveSshConfig and startSshPortForward spawned a hard-coded /usr/bin/ssh,
so SSH config discovery and gateway tunneling failed wherever the system ssh
client lives elsewhere: Windows (built-in OpenSSH under System32\OpenSSH) and
NixOS (/run/current-system/sw/bin).
Route both helpers through the existing resolveSystemBin("ssh", { trust:
"strict" }) resolver, and add the Windows built-in OpenSSH directory to the
resolver's trusted Windows locations (it had System32 but not the
System32\OpenSSH subdirectory where ssh.exe actually ships). Fail closed with
a clear diagnostic when no system ssh client is present.
Closes #83289 .
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-28 18:35:58 -04:00
Peter Steinberger
053384fa01
refactor(ui): adopt @lit/task for async data lifecycle ( #115131 )
...
* refactor(ui): adopt @lit/task for async data lifecycle
- migrate chat diff/discussion, new-session discovery, and MCP app setup reads
- migrate usage, plugins, transcript/checkpoint, worktree, memory-import, and model-setup reads
- delete read-lane request counters, abort-controller epochs, and current-request predicates while retaining mutation epochs and keyed caches
* chore(ui): drop dead plugin search helper (knip)
* chore(deps): allowlist @lit/task as root UI-workspace dependency in knip
* fix(ui): preserve usage refresh lifecycle
* test(ui): source workboard fixture copy from en locale (raw-copy gate)
* test(ui): read workboard fixture copy via t() (typed locale access)
* style: format test-support imports
2026-07-28 08:37:47 -04:00
ToToKr
d57e228c3a
docs(mistral): fix broken adjustable reasoning docs URL ( #114867 )
...
* docs(mistral): fix broken adjustable reasoning docs URL
The linked Mistral page 404s; the reasoning docs now live one path segment up. Verified: old URL returns HTTP 404, new URL returns HTTP 200 and documents reasoning_effort. oxfmt --check passed on the changed file.
* fix(ci): audit links inside docs components
* test(cli): isolate root help exit fixture
* test(ci): split embedded agent shard
* fix(ci): harden docs link projection
* test(ci): satisfy docs audit strict types
* test(ci): isolate incomplete-turn harness
* test(cli): document root help fixture boundary
* test(ci): isolate overflow compaction harness
* test(ci): isolate contaminated agent model tests
* test(ci): update isolated prefix routing
* test(ci): bound loaded streaming HTTP cases
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-28 06:55:02 -04:00
Chris M.
37bddc75cc
fix(android): finish Wear OS release readiness [AI-assisted] ( #110425 )
...
* fix(android): harden Wear release quality
* fix(android): use Wear minimum touch targets
Co-authored-by: Chris Mish <chrism@promethean-dynamic.com >
* fix(android): localize Wear accessibility actions
Co-authored-by: Chris Mish <chrism@promethean-dynamic.com >
* fix(android): preserve dictation without live voice
Co-authored-by: Chris Mish <chrism@promethean-dynamic.com >
* fix(android): isolate Wear locale source changes
Co-authored-by: Chris Mish <chrism@promethean-dynamic.com >
* fix(android): keep Wear dictate preview exclusive
Co-authored-by: Chris Mish <chrism@promethean-dynamic.com >
* fix(android): separate large-font Wear hit targets
Co-authored-by: Chris Mish <chrism@promethean-dynamic.com >
* test(pr): isolate review artifact ripgrep fixture
* ci: extend embedded-agent fork watchdog
* refactor(android): clarify Wear voice action availability
* style(android): preserve Wear locale source lines
* chore(i18n): refresh native source inventory
* style(android): restore Wear label indentation
---------
Co-authored-by: Chris Mish <chrism@promethean-dynamic.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-28 05:41:53 -04:00
Vincent Koc
9d5bec8487
fix(deps): remediate tar and Hono advisories ( #115029 )
2026-07-28 16:48:04 +08:00