Commit Graph

38411 Commits

Author SHA1 Message Date
Peter Steinberger
0a6de42292 test: isolate live model switch suite (#107738) 2026-07-14 13:41:52 -07:00
Peter Steinberger
e2ad943ebd refactor(media): trim internal exports (#107756)
* refactor(media): privatize internal parsing helpers

* chore(deadcode): refresh unused-export baseline
2026-07-14 13:41:04 -07:00
Peter Steinberger
f6653d1127 fix(macos): keep Connect Your AI choices in CLI order (#107642)
* fix(macos): align AI connection choices

* refactor(crestodian): extract setup auth options
2026-07-14 13:19:32 -07:00
Peter Steinberger
4f0e131cd2 feat(ui): run sessions on cloud workers (#107670)
* feat(ui): add cloud session targets

* test(ui): cover cloud session attachments

* test(ui): use recovery token fixture

* test(ui): record cloud locale fallbacks

* fix(ui): harden cloud session recovery

* fix(ui): track cloud handoff phase

* fix(ui): close cloud recovery escape paths

* fix(ui): finish cloud recovery hardening

* fix(ui): recover ambiguous cloud session creation

* fix(ui): isolate stale cloud creation recovery

* test(ui): preserve cloud recovery literals

* fix(ui): complete cloud session release artifacts

* chore: move cloud release note to PR body

* docs(ui): name cloud session menu exactly
2026-07-14 12:44:11 -07:00
Peter Lee
f972c69151 fix(agents): validate cacheRetention values (#94494)
* fix(agents): map cacheRetention 'standard' to 'short' for Bedrock Claude models

* fix(agents): scope standard cacheRetention alias to Anthropic cache family only

* fix(agents): validate prompt cache retention

* chore: keep changelog release-owned

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 12:37:55 -07:00
Peter Steinberger
4f40f46a08 docs(shared): clarify ignore anchoring 2026-07-14 12:19:39 -07:00
Peter Steinberger
661e6a62e9 test(shared): cover escaped trailing spaces 2026-07-14 12:19:39 -07:00
Peter Steinberger
ada729b74e test(shared): compact ignore fixtures 2026-07-14 12:19:39 -07:00
Peter Steinberger
a7f4e72216 test(shared): preserve tabbed ignore anchoring 2026-07-14 12:19:39 -07:00
Peter Steinberger
bfa72f8dab fix(shared): classify trailing-space ignore rules 2026-07-14 12:19:39 -07:00
Peter Steinberger
21515ae808 refactor(deps): reuse ignore matcher construction 2026-07-14 12:19:39 -07:00
moguangyu5-design
45395c2fd1 fix(shared): match nested gitignore semantics for unanchored patterns and escaped ! 2026-07-14 12:19:39 -07:00
Peter Steinberger
c2e0ce7b68 fix(ci): restore main validation gates (#107697)
* fix(ci): allow Unreleased notes for main validation

* test(ci): cover release smoke changelog intent

* test(ci): require release changelog policy propagation

* docs(agents): require review init after pushes

* chore(ci): prune stale max-lines baseline

* refactor(system-agent): split operation modules

* refactor(bonjour): keep ciao classification type private

* fix(bonjour): remove stale local classification alias
2026-07-14 12:11:25 -07:00
Peter Steinberger
992b4cfc5b refactor(deps): use native web-push types 2026-07-14 11:37:40 -07:00
Peter Steinberger
0571e0ecff fix(proxy): share canonical no-proxy matching 2026-07-14 11:23:32 -07:00
Peter Steinberger
f20324cd3e improve: cut CLI supervisor test startup time (#107673)
* test: isolate CLI execute test support

* test: keep CLI execute support discoverable
2026-07-14 11:05:56 -07:00
Peter Steinberger
8c68b9d0ec refactor(agents): trim embedded runner exports (#107706)
* refactor(agents): trim embedded runner lifecycle exports

* refactor(agents): privatize transcript maintenance helpers

* chore(deadcode): refresh embedded runner export baseline
2026-07-14 11:04:48 -07:00
Peter Steinberger
6e500d3248 chore(rename): reconcile with main #102197 plugin-install trust + regen baselines
Rebase onto main pulled in the ClawHub plugin-install trust check (#102197);
ported it into the renamed system-agent operations/tool/tests, refreshed
native i18n, deadcode, and max-lines baselines for the renamed paths.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
69e9254e0e fix(ci): regen rename-affected generated surfaces and fix e2e entrypoint
native i18n inventory + per-locale artifacts resynced for the OpenClaw
strings; Kotlin gateway protocol enum regenerated instead of hand-edited;
deadcode baseline re-sorted; lint suppression allowlist entries moved to
sorted position; setup TTY check drops redundant boolean compares;
ring-zero first-run e2e calls the real 'openclaw setup' subcommand.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
6fdbe9a02a fix(system-agent): adopt retired pending key and re-enter shell on bare /openclaw
Review findings on the rename: macOS resume store now migrates activation
leases persisted under the retired crestodian UserDefaults key so an app
upgrade cannot orphan a live activation; open-tui results carry
returnToShell so bare /openclaw re-enters the OpenClaw shell instead of
exiting the CLI.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
d7f3229f74 refactor(system-agent): rename grammar TOKEN constant to ARG_WORD
Identifiers ending in TOKEN false-positive secret scanners on every diff
touching this file; ARG_WORD also describes the grammar role better.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
eaaeeef19b refactor(cli): type-safe option reads in setup command
Replace blind string casts with an optionalString reader and rename the
options record; blind token/password casts also false-positived secret
scanners on every future diff of this file.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
bc4d2eb8c7 refactor(system-agent): keep LOC ratchet flat after rename
Shorten resolvePersistentApplyInference (SystemAgent prefix redundant in
module), drop duplicate non-interactive workspace guard in agents add
(inner check keeps narrowing and message precedence).

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
985a13ba3a chore(i18n): prune retired crestodian strings and polish setup docs
android:i18n sync drops orphaned entries for the renamed key; wizard zh
locales reference openclaw setup; docs title disambiguates the system
agent from the product.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
a6a0716486 feat(setup): rename Crestodian to OpenClaw system agent
User-facing name is now OpenClaw (the system speaks); internal code name is
system-agent. Gateway methods crestodian.* -> openclaw.chat/openclaw.setup.*,
agent tool -> openclaw, reserved agent ids openclaw + retired crestodian.
openclaw setup routes: onboarding flags -> onboard, -m/--yes -> system agent,
bare configured interactive -> OpenClaw chat, unconfigured -> onboarding.
Hidden crestodian CLI and /crestodian TUI aliases kept; docs moved to
docs/cli/openclaw.md with redirect stub. macOS/Android strings in lockstep.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
96eaf2be80 fix: restore recent native, browser, and audio behavior (#107631)
* fix: repair recent landed regressions

* chore: keep release changelog owned

* test(macos): align CLI fixtures with Node floor

* fix(macos): document Node runtime floor contract

* style(auto-reply): restore runtime mode formatting
2026-07-14 10:47:33 -07:00
Peter Steinberger
0b409a0348 refactor(gateway): split session handlers (#107677)
* refactor(gateway): split session handlers

* chore(gateway): drop obsolete max-lines suppression

* test(gateway): preserve session boundary ratchets

* test(gateway): update session boundary fixtures

* style(auto-reply): restore formatter compliance
2026-07-14 10:41:36 -07:00
Peter Steinberger
4ed28c3559 refactor(agents): trim shell and tool-loop exports (#107695)
* refactor(agents): trim shell and session exports

* refactor(agents): trim loop and model exports

* chore(deadcode): refresh unused export baseline
2026-07-14 10:34:39 -07:00
Shakker
3976ec47d3 fix: default skill workshop approvals to auto (#107690)
Skill Workshop lifecycle actions now run without an additional Gateway approval by default, while explicit `approvalPolicy: "pending"` keeps the operator approval gate.

Prepared head SHA: 06e907797e
Co-authored-by: Shakker <165377636+shakkernerd@users.noreply.github.com>
Reviewed-by: @shakkernerd
2026-07-14 18:31:51 +01:00
Jesse Merhi
00364ee777 improve: warn before non-ClawHub plugin installs (#102197)
Merged via squash.

Prepared head SHA: e08d9e737d
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com>
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com>
Reviewed-by: @jesse-merhi
2026-07-15 03:25:36 +10:00
Peter Steinberger
9daef57c85 refactor(auto-reply): trim internal dead exports (#107678)
* refactor(auto-reply): trim internal exports

* chore(deadcode): refresh unused export baseline
2026-07-14 10:06:14 -07:00
Peter Steinberger
214e7957dc test(plugins): use native tar recursion 2026-07-14 10:02:50 -07:00
Peter Steinberger
bea48db878 refactor(command-explainer): use native tree-sitter contracts 2026-07-14 09:59:20 -07:00
SunnyShu
b857fec2ee fix(skills): log ClawHub skill verification errors instead of swallowing (#107143)
* fix(skills): log ClawHub skill verification errors instead of swallowing (#P2)

catch {} in fetchInstallVerificationLock silently swallowed all network
errors (timeout, DNS, 5xx, JSON parse) from the registry verification
request. Callers could not distinguish verified from failed verification.

Pass logger through and log a warning on failure so transient errors
are visible in the operator log.

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

* fix(skills): surface ClawHub verification failures

Co-authored-by: SunnyShu0925 <shu.zongyu@xydigit.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 09:55:35 -07:00
Peter Steinberger
60a3b16dc5 fix(ci): keep LSP tests stable in non-isolated shards (#107625)
* fix(ci): stabilize main release checks

* fix(ci): keep LSP runtime under LOC ratchet

* fix(ci): disambiguate LSP config dependency

* refactor(test): inject LSP dependencies per runtime
2026-07-14 09:53:10 -07:00
Peter Steinberger
ecb6eac684 refactor(sessions): split SQLite session accessor (#107653)
* refactor(sessions): split SQLite session accessor

* fix(sessions): keep extracted helpers module-private
2026-07-14 09:49:42 -07:00
Peter Steinberger
084d1d9637 feat(control-ui): upload files into terminals (#107364)
* feat(control-ui): add terminal file uploads

* fix(control-ui): protect Windows terminal uploads

* fix(control-ui): satisfy terminal upload gates

* chore(ui): translate terminal upload labels

* fix(control-ui): reject unknown Windows upload shells

* fix(control-ui): harden Windows upload paths

* fix(control-ui): retry terminal upload cleanup

* chore(ui): reconcile locale translation memory

* fix(control-ui): validate terminal upload inputs

* fix(control-ui): retry failed upload cleanup

* chore(ui): refresh terminal upload locale metadata

* fix(terminal): integrate uploads with session recovery

* refactor(control-ui): isolate terminal upload transport

* fix(control-ui): keep upload helper types private
2026-07-14 09:33:39 -07:00
Peter Steinberger
4ea573edd2 refactor(agents): split embedded runner model setup (#107646) 2026-07-14 09:32:39 -07:00
Peter Steinberger
e323c70ada refactor(cli): trim internal dead exports (#107654)
* refactor(cli): trim internal helper exports

* chore(deadcode): refresh CLI export baseline
2026-07-14 09:28:16 -07:00
Peter Steinberger
f81f9d8570 chore: enforce max-lines suppression ratchet (#107315)
* ci: enforce max-lines suppression ratchet

* chore: prune stale max-lines suppression

* fix: close max-lines ratchet enforcement gaps

* fix: harden max-lines ratchet checks

* fix(ci): satisfy max-lines ratchet checks

* style: format max-lines declarations

* fix(ci): match oxlint suppression grammar

* test: isolate max-lines git fixtures

* chore: prune resolved max-lines debt

* test: skip newline path fixture on Windows

* fix: harden max-lines suppression ratchet

* chore: refresh max-lines baseline

* fix: close max-lines ratchet bypasses

* fix: derive ratchet base from PR merge tree

* fix: support older Git in staged ratchet

* fix: align max-lines declarations and baseline

* chore: refresh max-lines baseline for current main

* fix: exclude generated wizard locales from max-lines

* chore: prune resolved max-lines debt
2026-07-14 09:27:02 -07:00
VACInc
6f0326af36 fix: prevent session exports from writing outside workspace (#104708)
* fix: prevent session exports outside workspace

* fix: support aliased workspace export paths

---------

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 09:20:43 -07:00
wahaha1223
acd67cf3e4 fix(agents): reject partial fallback skip TTL env values (#107234)
* fix(agents): reject partial fallback skip TTL env values

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(agents): tighten fallback skip TTL validation

Co-authored-by: wahaha1223 <0668001153@xydigit.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 09:18:47 -07:00
SunnyShu
6de8aa6f9b fix(skills): clean up orphaned usage rows (#107144)
Remove lifecycle and usage rows atomically when curated skill files disappear.

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 09:03:32 -07:00
Peter Steinberger
b146ef8a59 refactor(cron): trim internal export surface (#107640)
* refactor(cron): trim internal export surface

* chore(deadcode): refresh cron export baseline
2026-07-14 09:02:18 -07:00
Peter Steinberger
8251976cf6 fix(agents): normalize git package identities 2026-07-14 08:55:08 -07:00
Peter Steinberger
6d31c162f9 fix: keep root Claude live sessions usable (#107606)
* fix(agents): support Claude live sessions as root

* chore: leave release notes to release workflow
2026-07-14 08:46:58 -07:00
Peter Steinberger
2ecc6b6b6b fix(ui): show restart banner for unapplied config (#107577)
* fix(ui): derive config apply state from gateway

* test(ui): align applied config hash coverage

* test(ui): follow config autosave flow

* fix(ui): guard applied config refreshes

* fix(ui): reconcile patched config revisions

* fix(ui): prevent stale config apply polling

* chore: leave release notes to release flow

* refactor(config): split applied revision helpers

* style(config): format gateway methods

* fix(i18n): refresh Korean native glossary hash
2026-07-14 08:43:35 -07:00
Peter Steinberger
e6cec8e124 test(agents): skip unrelated message tool setup (#107613) 2026-07-14 08:42:31 -07:00
Peter Steinberger
d092feaf63 refactor(commands): trim internal dead exports (#107621)
* refactor(commands): trim internal dead exports

* chore(deadcode): refresh commands export baseline
2026-07-14 08:36:41 -07:00
Alix-007
111f7cde35 fix(telegram): bound stalled diagnostic response reads (#106035)
* fix(telegram): bound stalled diagnostic response reads

* test(telegram): type timeout cancellation mock

* style(telegram): apply oxfmt to diagnostic response timeout files

* fix(telegram): share diagnostic body deadlines

Co-authored-by: Alix-007 <li.long15@xydigit.com>

* chore: leave release notes release-owned

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 08:27:59 -07:00