Vincent Koc
f565138ddc
refactor(deadcode): localize core helpers ( #101869 )
2026-07-07 13:16:57 -07:00
Peter Steinberger
bb44c2311d
fix(windows): repair legacy gateway fallback updates ( #101213 )
...
* fix(windows): repair doctor update fallback migration
* fix(windows): remove hidden startup fallback launchers
* fix(windows): preserve recovered gateway tokens
* fix(windows): harden update fallback migration
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
* fix(windows): capture fallback runtime before task rewrite
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
* fix(windows): complete legacy update restart handoff
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
* fix(windows): verify fallback ownership during migration
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
* fix(windows): honor update restart policy during repair
* fix(windows): wait for task takeover evidence
* fix(windows): preserve fallback after direct task launch
* fix(windows): preserve repaired task identity
* fix(windows): snapshot gateway before repair
* fix: scope update service repair ownership
* style: satisfy update lint checks
* fix: restart gateways stopped during updates
* fix(windows): enforce fallback process takeover
* fix(windows): prove fallback ownership during takeover
* fix(windows): verify process exit during takeover
* fix(windows): wait through fallback reloads
* fix(windows): harden fallback takeover ownership
* fix(windows): type takeover preflight inputs
* fix(windows): recognize booting replacement task
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
* chore: leave changelog release-owned
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-07 00:09:48 +01:00
Peter Steinberger
a13a198a4b
fix(update): guard Windows task autostart during package updates ( #100757 )
...
* fix(update): guard Windows task autostart
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
* fix(update): preserve recovery error causes
* fix(update): retain restore failure causes
* fix(update): recover task on Ctrl+Break
* chore(update): document aggregate lint intent
* fix(update): tolerate deleted Windows tasks
* fix(update): preserve combined recovery failures
* fix(update): preserve aggregate error causes
* fix(update): construct aggregate causes consistently
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-06 10:33:47 +01:00
Kevin Lin
9d2d517296
feat: publish plugins with extended-stable releases ( #100448 )
...
* feat(release): publish plugins on extended-stable
* feat(plugins): align extended-stable with core
* docs: explain extended-stable plugin alignment
* fix(release): make plugin convergence recoverable
* fix(plugins): preserve extended-stable fallback intent
* fix(release): keep plugin tag mutation credential-isolated
2026-07-05 16:16:26 -07:00
Peter Steinberger
17c0ad86cb
[codex] Fix doctor completion cache plugin loading ( #76235 )
...
* fix(completion): make cache generation mode explicit
* test(completion): type spawned cache options
* fix(completion): require explicit cache binary name
2026-07-05 07:33:54 -07:00
Kevin Lin
d214622320
feat(update): support extended-stable package updates ( #99811 )
...
* feat(update): add extended-stable channel contract
* feat(update): implement extended-stable package flow
* docs(update): document extended-stable behavior
* fix(update): preserve extended-stable preflight guarantees
* fix(update): reject extended-stable Git repair
* fix(update): support loopback extended-stable canaries
* fix(update): preserve scoped package roots
2026-07-04 12:34:29 -07:00
Jason (Json)
cccc856b82
fix: reject incompatible Node 23 runtimes ( #99832 )
...
* fix: reject incompatible Node 23 runtimes
* fix: repair installer CI coverage
* docs: clarify supported Node ranges
* fix: fail closed on unreadable runtime versions
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-04 00:03:49 -07:00
LiLan0125
4391041026
fix(update): validate bundle plugin payloads by manifest contract ( #98010 )
...
* fix(update): validate bundle plugin payloads by manifest contract
Closes #97985
* fix(update): preserve native payload checks for dual-format plugins
* fix(update): satisfy payload validation lint
* fix(update): cover persisted marketplace bundles
2026-07-01 03:18:03 -07:00
ly-wang19
a0e9ca1e95
perf(update): reuse missing plugin payload id set ( #96950 )
...
* perf(update): reuse missing plugin payload id set
* perf(update): reuse missing plugin payload id set
---------
Co-authored-by: ly-wang19 <ly-wang19@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-06-27 05:32:38 +08:00
Jesse Merhi
ec737ee74d
fix: rebase clawhub install trust ( #81364 )
2026-06-26 18:33:19 +10:00
Vincent Koc
a192b2ea52
fix(windows): resolve taskkill in core spawns
2026-06-21 10:57:41 +02:00
Vincent Koc
7dd01d15c5
fix(windows): resolve cmd handoff path
2026-06-21 10:41:25 +02:00
Vincent Koc
c1a414bf28
fix(update): preserve RPC pre-update config
2026-06-18 18:46:18 +08:00
masatohoshino
085ff95fcf
fix(update): carry effective git channel into post-core finalize
...
Address ClawSweeper P1 (Carry the effective git channel into finalize):
an unconfigured git/source update runs the core update on the git/dev channel
(runGatewayUpdate: opts.channel ?? "dev"), but the finalizer received no channel
and fell back to the stable package channel, so plugin convergence could resolve
official plugins on the wrong channel.
Mirror the CLI post-core resume's effective/requested channel split: the RPC
finalize path now passes the effective channel (configChannel ?? DEFAULT_GIT_CHANNEL)
to update finalize via OPENCLAW_UPDATE_EFFECTIVE_CHANNEL (convergence-only), never
as --channel. update finalize uses it as a convergence fallback but never persists
update.channel unless the user actually requested one.
2026-06-18 18:46:18 +08:00
Vincent Koc
62fad3da86
fix(update): use configured npm registry for update metadata ( #93879 )
...
Merged via squash.
Prepared head SHA: ae8bbb0303
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-17 12:04:44 +08:00
yetval
d1f6ca20a1
fix(update): keep CLI plugin post-update failure behavior unchanged
2026-06-16 12:09:01 +08:00
yetval
c9418b8afd
fix(update): restart managed gateway when update handoff fails after stop
2026-06-16 12:09:01 +08:00
openclaw-clownfish[bot]
333a93ce44
fix(cli): avoid false downgrade prompt for latest tag
...
Keep unresolved latest package targets moving while preserving downgrade confirmation for unresolved non-latest dist-tags.
Validation:
- node scripts/run-vitest.mjs src/cli/update-cli.test.ts
- node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.src.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-src-pr92911.tsbuildinfo
- git diff --check origin/main...HEAD && git diff --check
Direct-landed from #92911 because the source branch has maintainer edits disabled and ClawSweeper requested changelog removal plus behavior proof.
Co-authored-by: Andy Wu <31586206+Andy312432@users.noreply.github.com >
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com >
2026-06-14 17:16:22 +08:00
Jason (Json)
7259cb5c77
fix(update): continue after package doctor warnings ( #91586 )
...
* fix(update): continue after package doctor warnings
* fix(update): type advisory step rendering
* fix(update): preserve advisory doctor step state
* fix(update): share advisory doctor state
* fix(update): keep timed-out doctor failures blocking
* fix(update): require explicit doctor advisory result
* fix(update): reject malformed doctor advisory results
* fix(update): bound doctor advisory diagnostics
* fix(update): keep doctor advisory restart-neutral
* fix(update): protect doctor advisory IPC
* fix(update): scope doctor advisories to converging updater
* fix(update): scope doctor advisories to deferred repairs
* fix(update): secure doctor advisory IPC
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-13 21:03:57 -07:00
Shakker
dac468c731
fix: repair update restart type checks
2026-06-11 02:59:39 +01:00
Shakker
400b3e04fb
fix: stop unknown-root git services
2026-06-11 02:18:47 +01:00
Shakker
df52f8ff64
fix: fail stopped service update restart errors
2026-06-11 02:18:47 +01:00
Shakker
9db41b3876
fix: verify managed git restart service
2026-06-11 02:18:47 +01:00
Shakker
ba2782e64c
fix: stop package service during dev switch
2026-06-11 02:18:47 +01:00
Shakker
124625ec4d
fix: stop git service when switching install roots
2026-06-11 02:18:47 +01:00
Shakker
e1c4c3151c
fix: keep gateway stopped after plugin update failure
2026-06-11 02:18:47 +01:00
Shakker
6ea8ac7ea3
fix: defer git update service stop until mutation
2026-06-11 02:18:47 +01:00
Shakker
f385aaab8a
fix: protect managed git update service ownership
2026-06-11 02:18:47 +01:00
abnershang
48ed8f3e81
fix(update): hand off supervised git updates
2026-06-11 02:18:47 +01:00
Ayaan Zaidi
a283df4bfe
refactor(update): simplify refresh failure restart path
2026-06-10 14:48:30 +05:30
FullerStackDev
cab62324f4
fix(update): recover package gateway restart after refresh failure
2026-06-10 14:48:30 +05:30
FullerStackDev
800f4dcb62
fix(update): expose plugin convergence repair
2026-06-10 14:43:46 +05:30
Vincent Koc
fc2a7be0bc
fix(update): hand off supervised auto-updates
2026-06-06 07:19:46 -07:00
Peter Steinberger
4499b24781
docs: document cli program tests
2026-06-04 19:41:55 -04:00
Peter Steinberger
4af066b013
docs: document update and agent cli helpers
2026-06-04 11:11:07 -04:00
Vincent Koc
f187bec815
fix(cli): skip plugin loader cache clear on short-lived commands
2026-06-04 15:00:21 +02:00
B.K.
c96a12d3c8
fix(update): surface plugin channel fallbacks ( #81422 )
...
* fix: surface plugin update channel fallbacks
* fix: clarify dry-run plugin fallback output
* fix: preserve failed plugin fallback metadata
* chore: mark compatibility aliases deprecated
* chore: fix channel runtime lint directive
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-03 16:00:40 -07:00
Peter Steinberger
0b8aabe864
docs: document auth profile failure policy contract ( #89613 )
...
* docs: document markdown marker renderer
* docs: document rendered markdown chunking
* docs: document markdown text chunking
* docs: document shared text chunking
* docs: document plugin text chunking exports
* docs: document avatar policy constants
* docs: document node match candidates
* docs: document scoped expiring id cache
* docs: document runtime import normalization
* docs: document string sample summaries
* docs: document session usage timeseries types
* docs: document session usage response types
* docs: document manifest frontmatter shapes
* docs: document channel route input metadata
* docs: document pair loop guard settings
* docs: document migration config patch helpers
* docs: document api provider registry
* docs: document tool call repair payloads
* docs: document plugin tool payload helpers
* docs: document lazy promise loader
* docs: document store writer queue state
* docs: document thread binding lifecycle
* docs: document concurrency helper contract
* docs: document gateway client info contract
* docs: document delivery context contracts
* docs: document secret ref defaults contract
* docs: document command gating contract
* docs: document avatar policy contract
* docs: document node match policy
* docs: document message channel normalization
* docs: document boolean parsing contract
* docs: document zod parse helpers
* docs: document direct dm guard policy
* docs: document fixed window limiter contract
* docs: document node presence event contract
* docs: document secret normalization contract
* docs: document progress draft line removal
* docs: document usage formatting contracts
* docs: document agent run status contract
* docs: document runtime import helpers
* docs: document provider utility ownership
* docs: document invalid config helpers
* docs: document json compat parser
* docs: document channel config metadata ownership
* docs: document channel logging helpers
* docs: document sender identity validation ownership
* docs: document string sampling helper
* docs: document global singleton helpers
* docs: document transcript tool helpers
* docs: document exec safe-bin normalization
* docs: document reaction level resolver
* docs: document account snapshot redaction boundary
* docs: document messaging target helpers
* docs: document thread binding messages
* docs: document conversation binding context
* docs: document conversation resolution helper
* docs: document owner display secret retention
* docs: document provider request config types
* docs: document skills config types
* docs: document memory config types
* docs: document imessage config types
* docs: document crestodian config types
* docs: document tools config policies
* docs: document shared config base types
* docs: document channel config contracts
* docs: document openclaw config state types
* docs: document model config contracts
* docs: document shared agent config types
* docs: document agent defaults config types
* docs: document secret input contracts
* docs: document auth config contracts
* docs: document gateway config contracts
* docs: document tool call stream repair contracts
* docs: document memory host facades
* docs: document llm core contracts
* docs: document markdown core contracts
* docs: document gateway connect error contracts
* docs: document gateway protocol primitives
* docs: document gateway frame schemas
* docs: document gateway device schemas
* docs: document gateway environment schemas
* docs: document gateway push schemas
* docs: document gateway plugin schemas
* docs: document gateway artifact schemas
* docs: document gateway command schemas
* docs: document gateway task schemas
* docs: document gateway exec approval schemas
* docs: document gateway secret schemas
* docs: document gateway config schemas
* docs: document gateway snapshot schemas
* docs: document gateway chat schemas
* docs: document gateway wizard schemas
* docs: document gateway node schemas
* docs: document gateway plugin approval schemas
* docs: document gateway talk schemas
* docs: document gateway agent schemas
* docs: document gateway session schemas
* docs: document gateway cron schemas
* docs: document gateway agent model skill schemas
* docs: document gateway skill proposal tool schemas
* docs: document gateway protocol registry
* docs: document gateway channel status schemas
* docs: document gateway schema regression tests
* docs: document gateway schema barrel
* docs: document gateway validator tests
* docs: document gateway primitive push tests
* docs: document gateway contract tests
* docs: document native protocol guard
* docs: document channel schema tests
* docs: document gateway protocol smoke tests
* docs: document gateway protocol entrypoint
* docs: document gateway protocol type exports
* docs: document gateway error codes
* docs: document protocol schema registry
* docs: document talk audio codec
* docs: document talk activation names
* docs: document talk consult questions
* docs: document talk consult tool
* docs: document talk run control contracts
* docs: document talk run control adapter
* docs: document talkback consult queue
* docs: document talk consult transcript guard
* docs: document talk fast context runtime
* docs: document forced talk consult coordinator
* docs: document talk output activity tracker
* docs: document talk event metrics
* docs: document talk diagnostics
* docs: document talk observability hook
* docs: document talk provider resolver
* docs: document talk provider registry
* docs: document talk runtime primitives
* docs: document talk consult controller logs
* docs: document channel identity helpers
* docs: document channel account allowlist helpers
* docs: document channel metadata draft controls
* docs: document channel ingress policy
* docs: document channel sender access gates
* docs: document channel catalog message contracts
* docs: document channel account plugin helpers
* docs: document configured binding helpers
* docs: document channel acp approval config helpers
* docs: document channel bundled config write helpers
* docs: document channel plugin utility contracts
* docs: document channel config access helpers
* docs: document channel message action helpers
* docs: document channel outbound runtime helpers
* docs: document channel pairing promotion helpers
* docs: document channel registry helpers
* docs: document channel setup wizard helpers
* docs: document channel lifecycle status helpers
* docs: document channel target thread helpers
* docs: document channel session binding helpers
* docs: document channel package module probes
* docs: document channel setup wizard contracts
* docs: document channel plugin API barrels
* docs: document channel contract test helpers
* docs: document channel core helpers
* docs: document small core facades
* docs: document provider runtime helpers
* docs: document persistence and realtime helpers
* docs: document mcp and state helpers
* docs: document tool planner contracts
* docs: document music generation runtime
* docs: document crestodian command flow
* docs: document utility helpers
* docs: document node host helpers
* docs: document transcript contracts
* docs: document trajectory export contracts
* docs: document image generation contracts
* docs: document routing helper contracts
* docs: document session helper contracts
* docs: document video generation contracts
* docs: document model catalog contracts
* docs: document proxy capture contracts
* docs: document status rendering contracts
* docs: document test helper contracts
* docs: document wizard setup contracts
* docs: document process contracts
* docs: document memory host sdk contracts
* docs: document tts contracts
* docs: document secrets runtime contracts
* docs: document shared helper contracts
* docs: document hook runtime contracts
* docs: document security audit contracts
* docs: document flow contracts
* docs: document media understanding contracts
* docs: document tui contracts
* docs: document logging contracts
* docs: document llm contracts
* docs: document cron contracts
* docs: document daemon contracts
* docs: document task contracts
* docs: document acp contracts
* docs: document test utility contracts
* docs: document skill contracts
* docs: document config contracts
* docs: document outbound infra contracts
* docs: document command analysis contracts
* docs: document provider usage infra contracts
* docs: document file safety infra contracts
* docs: document exec approval infra contracts
* docs: document gateway runtime infra contracts
* docs: document infra utility contracts
* docs: document infra queue storage contracts
* docs: document heartbeat infra contracts
* docs: document remaining infra contracts
* docs: document gateway auth contracts
* docs: document gateway display helpers
* docs: document gateway http helpers
* docs: document gateway node helpers
* docs: document gateway mcp helpers
* docs: document gateway support helpers
* docs: document gateway server runtime helpers
* docs: document gateway runtime bootstrap helpers
* docs: document gateway session events
* docs: document gateway utility helpers
* docs: document gateway talk helpers
* docs: document gateway helper contracts
* docs: document gateway server method helpers
* docs: document gateway server auth helpers
* docs: document gateway server tests
* docs: document gateway test helpers
* docs: document gateway node tests
* docs: document gateway channel tests
* docs: document gateway session tests
* docs: document gateway server startup tests
* docs: document gateway tool test helpers
* docs: document gateway server test helpers
* docs: document gateway server method tests
* docs: document remaining gateway tests
* docs: document plugin sdk public subpaths
* docs: document plugin sdk runtime helpers
* docs: document plugin sdk memory provider helpers
* docs: document plugin sdk runtime facades
* docs: document plugin sdk command approval helpers
* docs: document plugin sdk runtime types
* docs: document plugin sdk browser account helpers
* docs: document plugin sdk media memory helpers
* docs: document plugin sdk core tests
* docs: document plugin sdk contract helpers
* docs: document plugin sdk test helpers
* docs: document remaining plugin sdk tests
* docs: document cli utility helpers
* docs: document cli runtime helpers
* docs: document cli command registration helpers
* docs: document node cli helpers
* docs: document cli program registration
* docs: document message cli registration
* docs: document daemon cli helpers
* docs: document cli route parsers
2026-06-03 15:20:39 -07:00
Peter Steinberger
12c6ef6d57
fix(update): keep plugin repair fetch failures nonblocking
2026-06-02 14:55:55 +01:00
Mukunda Rao Katta
2d61521bd3
fix(update): pin post-core plugin compatibility to the downgraded core version ( #87914 ) ( #87952 )
...
* fix(update): pin post-core plugin compatibility to the downgraded core version (#87914 )
* fix(update): force plugin compatibility repair on rollback
* style(update): clarify downgrade compatibility note
* fix(plugins): resolve compatible prerelease plugin downgrades
* fix(plugins): honor host gates during npm downgrade repair
* fix(plugins): keep prerelease downgrade fallback on channel
---------
Co-authored-by: Gio Della-Libera <giodl73@gmail.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-02 07:13:26 -04:00
Hussein Nourelddine
4a285d529a
feat(status): detect external plugin version drift
...
Surface active official external plugin version drift in gateway status diagnostics so users can see when a host/package update left npm or ClawHub plugins behind the running local gateway. The advisory uses the daemon service install records, compares against the running gateway version, gives detailed fix commands in deep status, and avoids local-state drift checks for remote gateway mode or explicit status probe URLs.
Co-authored-by: Hussein Nourelddine <hussein@gptc.com.kw >
2026-06-02 06:59:23 -04:00
Andy Ye
1db2c2a3e0
Treat soft plugin repair warnings as nonfatal ( #84431 )
...
* Treat soft plugin repair warnings as nonfatal
* fix: scope plugin repair convergence failures
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-02 06:51:11 -04:00
Peter Steinberger
b2a55a282a
fix(update): do not fail core update on plugin repair fetch
2026-06-02 03:42:54 +01:00
Peter Steinberger
b653d94918
chore(lint): enable no-useless-assignment
2026-05-31 22:40:48 +01:00
Peter Steinberger
304e2c83c0
chore(lint): enable stricter oxlint rules
2026-05-31 18:59:02 +01:00
Peter Steinberger
deb7bc6539
chore(lint): enable readability lint rules
2026-05-31 07:17:57 +01:00
Peter Steinberger
00d8d7ead0
refactor: extract normalization core package
...
Extract shared normalization/coercion helpers into private @openclaw/normalization-core workspace package while preserving existing plugin SDK helper subpaths.\n\nAlso keeps direct normalization-core imports internal, wires UI/build/loader resolution, and replaces the slow PR network CodeQL lane with a fast added-line boundary scan while retaining full CodeQL for scheduled/manual runs.\n\nVerification: local moved tests, plugin SDK boundary tests, extension loader tests, agents-support shard, UI build/test, build artifacts, lint, workflow guards, autoreview, and GitHub CI passed on PR head 963d893715 .
2026-05-31 01:33:00 +01:00
Peter Steinberger
de1dfab03e
refactor: move terminal core into package ( #88279 )
...
* refactor: move terminal core into package
* refactor: move terminal module files
* fix: clean terminal package CI followups
* test: update lint suppression allowlist
* fix: ship terminal core runtime aliases
2026-05-30 11:07:45 +02:00
Peter Steinberger
351d056ca6
fix(update): centralize timeout seconds parsing
2026-05-29 07:56:28 -04:00
Peter Steinberger
ea682182d0
fix: isolate npm plugin installs per package ( #87647 )
...
* fix: isolate npm plugin installs per package
* test: assert isolated npm plugin projects in upgrade survivor
* test: assert plugin lifecycle npm project roots
* test: resolve npm project deps in live assertions
* fix: resolve codex bins from isolated npm projects
* docs: document isolated npm plugin projects
* ci: configure testbox workflow for crabbox
* fix: stabilize npm project fingerprint
* fix: keep fetch runtime import side-effect free
* test: keep dynamic live model unit hermetic
* ci: handle empty node toolcache roots
* test: make nounset toolcache probe deterministic
2026-05-28 21:16:07 +01:00