Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
3270b4d
feat(buzz): support flat automatic replies and typing (#130511)
Aug 28, 2026
6d7e723
refactor(sessions): simplify participant attribution flows (#131963)
Aug 28, 2026
a2670e1
fix(ui): avoid duplicate cross-client steering messages (#131951)
Aug 28, 2026
39df7ec
fix(agents): show Claude CLI replies while they stream (#132002)
Aug 28, 2026
adf5c67
test(exec): cover companion response loss without local replay (#131961)
Aug 28, 2026
c1c1c8d
feat: show latest assistant actions without hover (#131529)
Aug 28, 2026
4788f76
improve(ui): refine chat image presentation and controls (#131811)
Aug 28, 2026
11301f4
fix(macos): avoid publishing retired CUA startup endpoints (#131905)
Aug 28, 2026
1e6e402
feat(profile): enable Git co-author credit by default (#131964)
Aug 28, 2026
0ee6c35
improve(installer): reduce Windows Git clone downloads (#130908)
Aug 28, 2026
798dff8
fix(gateway): reduce retained dashboard startup work (#131930)
Aug 28, 2026
05bd540
fix(ui): retain prompts after cloud startup failures (#131594)
Aug 28, 2026
88af03b
fix(onboard): enable default hooks in guided setup (#131894)
Aug 28, 2026
c678573
fix(channels): preserve ingress retry facts after shutdown (#131962)
Aug 28, 2026
b12d926
fix(release): canonicalize composite job ordering (#131853)
Aug 28, 2026
5d88e18
fix(agents): retain actionable text in bounded tool results (#131827)
Aug 28, 2026
4e2ff79
test(release): diagnose classic onboarding hook state (#131899)
Aug 28, 2026
cd19ee2
fix(codex): keep managed Code Mode warning out of chat (#131943)
Aug 28, 2026
a010ffe
improve(ui): clarify picker selection and keyboard focus (#132018)
Aug 28, 2026
75a3e75
fix: preserve conversation after memory flush exhaustion (#132010)
Aug 28, 2026
ce39b03
fix(tooling): run markdownlint on workspace templates (#91160) (#117166)
Aug 28, 2026
1d5ad84
feat(browser): expose page errors action (#131906)
Aug 28, 2026
f5bfece
fix: reject non-directory session roots (#131955)
Aug 28, 2026
b98e0df
fix(native): retire unsupported ClawHub acknowledgement retries (#131…
Aug 28, 2026
8bd8958
fix(webchat): show named cards for failed attachments (#131826)
Aug 28, 2026
6a961bd
perf(test): overlap escaped-output cleanup regressions (#132039)
Aug 28, 2026
d36c575
refactor(codex): simplify native override policy and tests (#131918)
Aug 28, 2026
2133a92
fix(release): separate publisher and validation tooling trust (#132044)
Aug 28, 2026
54f0322
fix(beam): retry failed terminal mirror uploads (#121186)
Aug 28, 2026
9396ea2
refactor(ui): drop the reset-to-default icon from settings rows (#131…
Aug 28, 2026
4395a0c
refactor(meetings): share CLI descriptors with runtime registration (…
Aug 28, 2026
7ad76c7
docs: qualify architecture guarantees and refresh Hermes kernel detai…
Aug 28, 2026
de7a0c0
fix(ci): unblock macOS Swift test discovery (#131866)
Aug 28, 2026
72ee28b
fix(pdf): read workspace-relative PDFs against the agent workspace (#…
Aug 28, 2026
45bab28
fix(qa): restore macOS Crabline artifact publication (#132035)
Aug 28, 2026
944cff7
feat(release): reuse exact full release candidates (#131818)
Aug 28, 2026
bb51e90
refactor(browser): split tool routing lifecycle and screenshots (#132…
Aug 28, 2026
0501741
fix(agents): invalidate stale requester MCP catalogs (#131793)
Aug 28, 2026
95846ac
test: overlap independent Vitest progress scenarios (#132060)
Aug 28, 2026
66dd003
test(ui): bind managed-image polling to its test context (#132066)
Aug 28, 2026
6165efe
chore(ui): refresh control ui locales (#132072)
Aug 28, 2026
a939d4b
fix(installer): resolve source refs safely (#130907)
Aug 28, 2026
00c185c
fix(release): full verification fails as main comparison grows (#132029)
Aug 28, 2026
8cc2adb
fix(qa): repair stale Playwright scenario test selectors (#129277)
Aug 28, 2026
053ff9e
fix(memory): bound the embedding cache with a built-in default (#131121)
Aug 28, 2026
e0ed92a
fix(browser): report native hosts with missing runtime targets (#131907)
Aug 28, 2026
ad9bf21
feat(docker): install openssh-client in the runtime image (#131710)
Aug 28, 2026
c417dcf
fix(android): stop offering obsolete ClawHub acknowledgement retries …
Aug 28, 2026
5cc301a
refactor(release): remove unused GitHub publisher helper (#132068)
Aug 28, 2026
4bc4ad3
chore(i18n): refresh native locales (#132063)
Aug 28, 2026
1210442
refactor(macos): simplify readiness bookkeeping and discovery parsing…
Aug 28, 2026
293699e
fix(ui): polish the mobile Inbox sheet (#132007)
Aug 28, 2026
ed7a955
fix(ui): terminal never opens after a Gateway update reloads the tab …
Aug 28, 2026
322ec91
docs: friendlier security and first-touch pages (#132067)
Aug 28, 2026
3209317
fix: declaration steps succeed with lingering subprocesses (#132070)
Aug 28, 2026
35ebb96
fix(models): keep native and alias-backed catalogs consistent (#131677)
Aug 28, 2026
993f82e
fix(daemon): preserve recovery after Startup entry removal (#132056)
Aug 28, 2026
4c6ed51
fix: declaration steps succeed with lingering subprocesses (#132070)
Aug 28, 2026
9826dca
fix: tailor agent handoff guidance to the client surface (#131646)
Aug 28, 2026
84fb68e
fix(media): preserve LINE attachment names in model context (#131216)
Aug 28, 2026
5e5b3d5
fix(ui): preserve attachments across offline reloads (#131753)
Aug 28, 2026
d9f3d88
fix: usage dashboard loads slowly for large session histories (#132064)
Aug 28, 2026
7d354ce
fix(ui): show a not-found state for missing session links (#131823)
Aug 28, 2026
02a162b
fix(release): distinguish CSS colors from issue references (#132075)
Aug 28, 2026
831ac90
fix(slack): mark partially unavailable thread files (#131896)
Aug 28, 2026
3e01402
fix(logging): classify Node process warnings correctly (#131333)
Aug 28, 2026
45662ee
fix(scripts): prevent lint limits from slowing declaration preparatio…
Aug 28, 2026
89c2343
fix(ui): settle settings reconciliation at its own roster snapshot (#…
Aug 28, 2026
9c7aa37
fix(ui): refresh stale mobile transcript bundles (#132024)
Aug 28, 2026
ead8876
fix(line): preserve postback selections for agents (#132014)
Aug 28, 2026
7e05bd4
fix(agents): stop retrying provider request ceilings (#130275)
Aug 28, 2026
f9e1f3b
fix(release): accept Codex capabilities in Telegram QA (#131296)
Aug 28, 2026
c7d50f3
fix(webchat): strip reply directives during media transcript rewrites…
Aug 28, 2026
4728d7c
fix(ui): avoid blank screen on first command palette open (#132028)
Aug 28, 2026
3125eca
fix(gateway): preserve authored fields in config patches (#132080)
Aug 28, 2026
04f6630
fix(webchat): restore playback for delivered audio and video (#131831)
Aug 28, 2026
a353550
fix(feishu): stop repeated document child pagination (#121124)
Aug 28, 2026
3f02452
fix(mcp): retrieve attachments from older messages (#131702)
Aug 28, 2026
092dc88
fix(agents): preserve native runtime auth across catalog refresh (#13…
Aug 28, 2026
b9e0c66
fix(ui): show structural loading states in side-panel tabs (#131819)
Aug 28, 2026
13adff0
fix(openshell): serialize symlinked mirror workspaces (#131917)
Aug 28, 2026
f30e480
perf(release): pipeline full release validation (#131914)
Aug 28, 2026
740f54e
fix(whatsapp): retain unmatched attachments across captioned replacem…
Aug 28, 2026
40a29df
fix: interactive update can leave the Gateway stopped when completion…
Aug 28, 2026
4c822ab
fix(msteams): retain legacy stores until migrations prove survivors (…
Aug 28, 2026
151fbaa
fix(cron): capture Codex shell aliases under canonical tool identity …
Aug 28, 2026
3645cde
fix(onboard): probe remote gateways with saved TLS pins and validate …
Aug 28, 2026
697f773
feat(visitor-access): internal Cloudflare Access visitor plugin (#132…
Aug 28, 2026
a1e4e4e
fix(ui): compact mobile session actions (#132020)
Aug 28, 2026
6e6a0e5
fix(qa): keep leases when Gateway startup teardown fails (#131740)
Aug 28, 2026
5b605da
fix(ui): keep agent tool policy out of the initial bundle (#132124)
Aug 28, 2026
3bd3b27
fix(ui): recover when the managed CLI is missing (#131974)
Aug 28, 2026
15046d3
fix(webchat): announce attachment failures before long replies (#132102)
Aug 28, 2026
8ea0711
test: overlap independent CLI build admission outcomes (#132091)
Aug 28, 2026
d42e19d
fix(ui): make lobster visits less frequent (#132065)
Aug 28, 2026
5e92497
fix(tui): keep failed attachments visible beside replies (#132115)
Aug 28, 2026
cd46f44
improve(update): use local pnpm packages before the registry (#130902)
Aug 28, 2026
beb30ed
fix(control-ui): re-scope credentials when editing Gateway URLs (#131…
Aug 28, 2026
d4bfa4f
fix(chat): stop channel messages borrowing profile identities (#132038)
Aug 28, 2026
0612928
fix(irc): retire unused mentionPatterns config (#119356)
Aug 28, 2026
50d229f
fix(test): preserve trailing Vitest task updates (#132132)
Aug 28, 2026
a79e651
test(codex): cover opaque model IDs in native discovery (#132144)
Aug 28, 2026
050e288
fix(ci): stop leftover Git processes before checkout retries (#132105)
Aug 28, 2026
5816d8f
test(codex): cover model identity across native resume (#132149)
Aug 28, 2026
1c5b042
fix(agents): resolve @ shorthand in remote patches (#131991)
Aug 28, 2026
6982495
fix(webchat): hide attachment pipeline stages (#131812)
Aug 28, 2026
1153f4e
fix: report missing requirements for agent-excluded skills (#132110)
Aug 28, 2026
4160df0
fix(cron): current-session automations fail with "Channel is required…
Aug 28, 2026
4ad3f71
chore(i18n): refresh native locales (#132101)
Aug 28, 2026
64f9e13
fix(cli): report failed local agent turns as unsuccessful (#132155)
Aug 28, 2026
c316bd5
improve(update): reuse unchanged dependency work during preflight (#1…
Aug 28, 2026
855346b
fix: keep CJK compaction summaries within budget (#132145)
Aug 28, 2026
62134f2
fix(line): preserve readable sender identity (#132108)
Aug 28, 2026
b0cb107
feat(ui): render queued follow-ups as transcript bubbles (#131909)
Aug 28, 2026
a920626
fix(code-mode): carry owner effect receipts (#132146)
Aug 28, 2026
9684f8f
feat(ui): expand video attachments in the media overlay (#132131)
Aug 28, 2026
8381770
fix(hooks): report wake enqueue outcome (#131952)
Aug 28, 2026
d7d6ac5
chore(ui): refresh control ui locales (#132120)
Aug 28, 2026
93f7152
improve(ui): polish person activity hovercard hierarchy (#132071)
Aug 28, 2026
486d075
fix(ui): keep usage helpers out of chat startup (#132140)
Aug 28, 2026
86a0b22
test: overlap native fs-safe probes within asset phases (#132168)
Aug 28, 2026
f191738
fix(web-fetch): honor zero and shortened cache TTL on reads across fe…
Aug 28, 2026
3c00dbc
fix(line): retire the credential a rotation replaces (#132150)
Aug 28, 2026
d3abf4a
fix(agents): never drop or stall a steer accepted at the end of a tur…
Aug 28, 2026
021f8b6
fix(macos): preserve status-less health probe errors (#132062)
Aug 28, 2026
d6a72bf
feat(hovercard): show the PR author beside the number (#132107)
Aug 28, 2026
cf2ede2
fix(plugins): load source artifacts without losing credential targets…
Aug 28, 2026
b2d306b
fix(auth): keep working OpenAI models available after catalog refresh…
Aug 28, 2026
a5122e6
fix(android): recover the ending of truncated assistant replies (#131…
Aug 28, 2026
9a3ede3
docs(plugins): correct bundled override precedence (#132181)
Aug 28, 2026
319df1e
fix(desktop): preserve onboarding across model activation and restart…
Aug 28, 2026
addd1fe
fix: spawned child history is denied after recency expiry (#131203)
Aug 28, 2026
cea952a
fix(macos): keep native test fixtures out of app state (#132092)
Aug 28, 2026
9e96e95
fix(line): stop blank card fields from losing the whole LINE reply (#…
Aug 28, 2026
7f9d83a
docs: clarify Code Mode opt-in default (#132191)
Aug 28, 2026
f804cdf
fix(ci): finish watcher waits after successful reruns (#131926)
Aug 28, 2026
d251585
fix(docs): accept YAML front matter terminators (#130991)
Aug 28, 2026
b4833bf
fix(ollama): project replay images for model input (#132106)
Aug 28, 2026
f661f01
build: minify sealed worker artifact (#132125)
Aug 28, 2026
6f6b649
fix(gateway): images sent to Claude CLI sessions show as raw cache-pa…
Aug 28, 2026
a49da42
fix(gateway): Apple node commands recover after reconnect (#124195)
Aug 28, 2026
249c248
fix: share fs-safe native assets across package graphs (#132193)
Aug 28, 2026
4fd9392
fix(doctor): ignore disabled MCP servers in warnings (#131352)
Aug 28, 2026
cc27ac4
fix(ui): use full width for settings on mobile (#132015)
Aug 28, 2026
1c40abd
fix: preserve ACP model switches and reply completion (#132040)
Aug 28, 2026
d325929
fix(ios): simplify sidebar navigation (#132086)
Aug 28, 2026
0240601
fix(discord): settle deferred steer interactions (#131006)
Aug 28, 2026
2a4c715
docs: correct chat model selection examples (#132218)
Aug 29, 2026
208f551
fix(test): clean isolated homes across managed test runners (#132208)
Aug 29, 2026
a86b427
fix: allow off-catalog chat models under unrestricted policy (#132175)
Aug 29, 2026
48f43ac
fix(sessions): honor per-agent model policies and aliases (#132205)
Aug 29, 2026
29c4053
fix(plugins): retire loader cache with runtime registrations (#132093)
Aug 29, 2026
9db3496
ci: avoid redundant full release preparation (#132221)
Aug 29, 2026
10f66be
chore(i18n): refresh native locales (#132202)
Aug 29, 2026
d53f57c
fix(exec): inherit configured host for per-call auto (#132100)
Aug 29, 2026
ea1a547
fix(release): distinguish Anthropic validation jobs (#132216)
Aug 29, 2026
ad67390
fix(ci): avoid false checkout cleanup failures on macOS (#132204)
Aug 29, 2026
cb5d89b
fix(maintainers): prevent duplicate merges after ambiguous responses …
Aug 29, 2026
24a8fe4
fix: size explicit forks for child model context (#132112)
Aug 29, 2026
80944da
fix(qa): resolve process-group liveness after Linux reaping (#132230)
Aug 29, 2026
aed6fe8
refactor(channels): remove duplicate setup return assertions (#132213)
Aug 29, 2026
b85a049
chore: migrate tooling and source installs to pnpm 12 (#131043)
Aug 29, 2026
cb9d1ce
fix(test): avoid full checkout for release inventory fixture (#132234)
Aug 29, 2026
b956a63
fix: avoid heavy runtime imports during SecretRef validation (#132206)
Aug 29, 2026
b7d1e2c
fix(test): tolerate inaccessible transient proc entries (#132214)
Aug 29, 2026
23ce214
fix(release): preserve frozen ClawHub request contracts (#127023)
Aug 29, 2026
79bdd1b
fix(pr): stop review workflows after failed worktree prerequisites (#…
Aug 29, 2026
f92a476
fix(macos): MCP Apps stay inside the dashboard (#132096)
Aug 29, 2026
e4001d8
fix(browser): native bootstrap stalls before replying (#132212)
Aug 29, 2026
52e43a4
feat(gateway): auto-apply safe doctor config migrations at startup (#…
Aug 29, 2026
204faa5
docs: correct numeric model selection guidance (#132246)
Aug 29, 2026
6886458
fix(github): classify new skills before Barnacle close (#132225)
Aug 29, 2026
3a16070
fix(cli): accurately preview suppressed telemetry requests (#132222)
Aug 29, 2026
bdbc581
fix: report Code Mode failures without false success (#132248)
Aug 29, 2026
831e2de
fix(ci): support frozen target tooling (#127002)
Aug 29, 2026
5efe105
fix(ui): stop the history sentinel from painting skeletons over trans…
Aug 29, 2026
39bfe1b
fix(hovercard): restore link styling on session PR rows (#132235)
Aug 29, 2026
5fc71d3
test: overlap independent CI watcher rejection cases (#132241)
Aug 29, 2026
9f1ba8d
fix(line): run group slash commands sent with the bot's mention (#131…
Aug 29, 2026
9b1bc3b
fix(gateway): retain rejecting resolver ownership across dispatch (#1…
Aug 29, 2026
cbdce43
fix(browser): preserve owned target lifecycle through MCP flows (#132…
Aug 29, 2026
dd16853
fix(plugins): keep development runs on checkout plugins (#132201)
Aug 29, 2026
61a75f5
fix(exec): stop naming the TUI as an automation exec-approval surface…
Aug 29, 2026
cac0ec2
fix(line): migrate pre-drain spool rows to the canonical queue contra…
Aug 29, 2026
5c68c8f
fix(ci): keep slow startup from failing cancellation tests (#132203)
Aug 29, 2026
ddf5b5a
fix(doctor): run health checks for the installed Codex plugin (#129276)
Aug 29, 2026
46fb24a
refactor(shared): remove unused store writer running state (#132219)
Aug 29, 2026
b488721
fix(line): describe inbound stickers from what LINE actually sends (#…
Aug 29, 2026
bd12d44
fix(browser): keep the panel on the session browser profile (#132159)
Aug 29, 2026
bd9eeae
fix(ui): allow Fast Mode when creating sessions (#131272)
Aug 29, 2026
740ca0f
refactor: share the sealed-service busctl fixture (#132139)
Aug 29, 2026
efb04e0
fix(agents): retain prepared catalog ownership through refresh (#132244)
Aug 29, 2026
a6ccf6a
docs(line): document inbound durability, retry policy, and dead-lette…
Aug 29, 2026
feb1161
test: bind release assertions to explicit version contexts (#132264)
Aug 29, 2026
9c4ef61
chore(ui): refresh control ui locales (#132198)
Aug 29, 2026
710a385
fix: write package inventory through symlinked source paths (#132252)
Aug 29, 2026
81e9f85
test: select workspace mode for worker wire permission proof (#132267)
Aug 29, 2026
85cefd0
fix(compaction): preserve headroom for local chat follow-up turns (#1…
Aug 29, 2026
4b8a2a7
fix(ci): stop Git descendants before standalone checkout reuse (#132169)
Aug 29, 2026
e6696be
fix(e2e): retain readable plugin update handoff evidence (#132268)
Aug 29, 2026
bf94ec5
fix(ui): keep composer textarea native undo and redo working (#131750)
Aug 29, 2026
767ddc3
fix(codex): resolve explicitly selected hidden models (#132189)
Aug 29, 2026
f93be5b
fix(build): reject native declaration compiler failures (#132210)
Aug 29, 2026
314e242
fix: accept canonical paths for sandboxed sessions (#132265)
Aug 29, 2026
a9f802f
fix(test): roll back failed test-home acquisition (#132257)
Aug 29, 2026
59dad71
refactor(gateway): remove unreachable health collection state (#132272)
Aug 29, 2026
0b0a64e
fix(line): a permanently refused message is replayed instead of settl…
Aug 29, 2026
cde3458
fix: gateway kill leaves Codex tool processes running (#107721)
Aug 29, 2026
cff996e
feat(qa): add Convex-leased Telegram userbot proof (#131715)
Aug 29, 2026
0f054bb
fix(ui): show final replies after interim output (#132197)
Aug 29, 2026
ac0ae1c
fix(brave): bind preflight to request cancellation (#132097)
Aug 29, 2026
9f7105d
fix(onboard): preserve manifest-equivalent alias validation (#129590)
Aug 29, 2026
be54020
fix(ios): refine chat actions menu (#132045)
Aug 29, 2026
e7a7127
fix(maintainers): avoid redundant main fetches during PR prep (#132274)
Aug 29, 2026
28f5f63
fix(agents): preserve prompt-cache prefix under aggregate truncation …
Aug 29, 2026
eb113b2
fix(installer): pin NodeSource RPM repository (#132286)
Aug 29, 2026
13c11b4
fix(presence): keep colliding profiles and raw viewers separate (#132…
Aug 29, 2026
cce893e
fix(ui): show Codex node approvals in the controlling chat (#131829)
Aug 29, 2026
5d8ef65
fix(daemon): explain unsafe service publication failures (#132279)
Aug 29, 2026
3b3372b
fix(agents): honor account-scoped history limits instead of silently …
Aug 29, 2026
1879e4e
chore: block restricted literals in local commits (#132223)
Aug 29, 2026
31baa67
fix(ci): avoid unnecessary release verification delays (#132271)
Aug 29, 2026
6bfaa05
fix(release): preserve canonical candidate requests (#132293)
Aug 29, 2026
19640eb
fix(codex): honor thinking off on supported Platform routes (#132276)
Aug 29, 2026
383a293
revert(ui): keep queued follow-ups attached to the composer (#132294)
Aug 29, 2026
660b2f4
fix(onboard): keep non-interactive setup manifest-free (#132298)
Aug 29, 2026
116425e
fix(macos): allow dragging the OpenClaw panel header (#132288)
Aug 29, 2026
7494f22
fix(openshell): allow managed host gateway ranges in E2E (#130465)
Aug 29, 2026
7e2111e
fix(gateway): preserve active turns across event-loop stalls (#131966)
Aug 29, 2026
30772d5
fix(sessions): preserve context and lifecycle when forking chats (#13…
Aug 29, 2026
9e2168d
chore(ui): refresh control ui locales (#132297)
Aug 29, 2026
9b0f70a
fix(crabbox): show mapped cloud machine choices (#132299)
Aug 29, 2026
826c166
test(discord): initialize component suites independently of order (#1…
Aug 29, 2026
b41a06f
fix(release): ignore skipped jobs in attempt evidence (#132304)
Aug 29, 2026
45a1e3c
fix(test): release acquired state when wrapper setup fails (#132301)
Aug 29, 2026
ef18511
perf(ci): pay the gateway pretest build once, not on every stripe
Aug 29, 2026
133a189
fix(discord): close REST fixture connections before later tests (#132…
Aug 29, 2026
048eb11
fix(doctor): renew compatibility review dates (#132313)
Aug 29, 2026
7ed11a4
fix(plugin-sdk): registration leaves private declaration aliases stal…
Aug 29, 2026
7761b3e
test(imap): shorten protocol fixture reconnect backoff (#132316)
Aug 29, 2026
4e9c622
fix(release): prove landed FRV controller commits (#132289)
Aug 29, 2026
56c2083
fix(native): keep TLS tests out of operator storage (#132119)
Aug 29, 2026
bff882d
refactor(test): share CI checkout fixture lifecycle (#132308)
Aug 29, 2026
270c0b3
chore(i18n): refresh native locales (#132302)
Aug 29, 2026
b5946cf
fix(auto-reply): preserve channel context in command prompts (#130958)
Aug 29, 2026
4008690
docs: clarify targeted tests in changed checks (#132330)
Aug 29, 2026
2099719
fix(ui): Desktop does not follow the chat session machine (#132255)
Aug 29, 2026
36b8127
test(onepassword): reuse immutable fixtures and compile resolver once…
Aug 29, 2026
b6306da
fix(web-fetch): honor cancellation before caching or returning provid…
Aug 29, 2026
9cd6d1d
chore(sync): merge upstream/main (b6306da1a9), taking upstream's tree…
Sep 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
37 changes: 0 additions & 37 deletions .agents/maintainer-notes/telegram.md

This file was deleted.

34 changes: 34 additions & 0 deletions .agents/resume
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/usr/bin/env bash
set -euo pipefail

repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
node_bin="$HOME/.local/share/openclaw-orb/node/current/bin"

cd "$repo_root"

if [[ ! -x "$node_bin/node" ]]; then
echo "[orb resume] Node toolchain is missing; run .agents/setup" >&2
exit 1
fi

export PATH="$node_bin:$PATH"

if [[ ! -x "$node_bin/pnpm" ]]; then
"$node_bin/corepack" enable --install-directory "$node_bin"
fi

node --input-type=module -e '
import { isSupportedOpenClawNodeVersion } from "./node-version.mjs";
if (!isSupportedOpenClawNodeVersion(process.version)) process.exit(1);
'

package_manager="$(node -p 'require("./package.json").packageManager')"
expected_pnpm="${package_manager#pnpm@}"
expected_pnpm="${expected_pnpm%%+*}"
actual_pnpm="$(pnpm --version)"
if [[ "$actual_pnpm" != "$expected_pnpm" ]]; then
echo "[orb resume] Expected pnpm $expected_pnpm, found $actual_pnpm; run .agents/setup" >&2
exit 1
fi

printf '[orb resume] Ready: Node %s, pnpm %s\n' "$(node --version)" "$actual_pnpm"
123 changes: 123 additions & 0 deletions .agents/setup
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
#!/usr/bin/env bash
set -euo pipefail

repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
node_toolchain_root="$HOME/.local/share/openclaw-orb/node"
node_bin="$node_toolchain_root/current/bin"
profile_marker="# OpenClaw orb toolchain"

cd "$repo_root"

run_step() {
local label="$1"
shift
local started_at=$SECONDS
printf '[orb setup] %s\n' "$label"
"$@"
printf '[orb setup] %s completed in %ss\n' "$label" "$((SECONDS - started_at))"
}

install_system_packages() {
local packages=(build-essential ca-certificates cmake curl git python3 xz-utils)
local missing=()
local package
for package in "${packages[@]}"; do
if ! dpkg-query -W -f='${Status}\n' "$package" 2>/dev/null | grep -Fqx 'install ok installed'; then
missing+=("$package")
fi
done

if ((${#missing[@]} == 0)); then
echo "[orb setup] System packages already installed"
return
fi

if ((EUID == 0)); then
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends "${missing[@]}"
else
sudo apt-get update
sudo env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends "${missing[@]}"
fi
}

install_node() {
if [[ -x "$node_bin/node" ]]; then
export PATH="$node_bin:$PATH"
fi
export OPENCLAW_NODE_TOOLCHAIN_ROOT="$node_toolchain_root"
# Reuse the repository's Node release-floor and download contract used by CI.
# shellcheck disable=SC1091
source "$repo_root/.github/actions/setup-pnpm-store-cache/ensure-node.sh"
openclaw_ensure_node "24.x"

local node_prefix
node_prefix="$(dirname "$(dirname "$(readlink -f "$(node -p 'process.execPath')")")")"
mkdir -p "$node_toolchain_root"
ln -sfn "$node_prefix" "$node_toolchain_root/current"
export PATH="$node_bin:$PATH"
}

install_pnpm() {
local package_manager
package_manager="$(node -p 'require("./package.json").packageManager')"

if [[ ! -x "$node_bin/corepack" ]]; then
echo "[orb setup] Node toolchain does not include Corepack; remove $node_toolchain_root and rerun setup" >&2
return 1
fi
"$node_bin/corepack" enable --install-directory "$node_bin"

local attempt
for attempt in 1 2 3; do
if COREPACK_ENABLE_DOWNLOAD_PROMPT=0 "$node_bin/corepack" prepare "$package_manager" --activate; then
break
fi
if ((attempt == 3)); then
return 1
fi
sleep $((attempt * 5))
done

local expected_version="${package_manager#pnpm@}"
expected_version="${expected_version%%+*}"
local actual_version
actual_version="$(pnpm --version)"
if [[ "$actual_version" != "$expected_version" ]]; then
echo "[orb setup] Expected pnpm $expected_version, found $actual_version" >&2
return 1
fi
}

install_dependencies() {
CI=true pnpm install \
--frozen-lockfile \
--prefer-offline \
--ignore-scripts=false \
--config.engine-strict=false \
--config.enable-pre-post-scripts=true \
--config.side-effects-cache=true
}

configure_login_shell() {
touch "$HOME/.bash_profile"
if grep -Fqx "$profile_marker" "$HOME/.bash_profile"; then
return
fi

cat >> "$HOME/.bash_profile" <<EOF

$profile_marker
if [[ "\${PWD}" == "$repo_root" || "\${PWD}" == "$repo_root/"* ]]; then
export PATH="$node_bin:\${PATH}"
fi
EOF
}

run_step "Checking system packages" install_system_packages
run_step "Preparing Node 24" install_node
run_step "Activating the repository pnpm version" install_pnpm
run_step "Installing workspace dependencies" install_dependencies
run_step "Configuring login shells" configure_login_shell

printf '[orb setup] Ready: Node %s, pnpm %s\n' "$(node --version)" "$(pnpm --version)"
Loading