Vincent Koc
3b26da4b82
CLI: route gateway status before program registration
2026-03-15 20:26:58 -07:00
Peter Steinberger
3f12e90f3e
fix(ci): repair security and route test fixtures
2026-03-15 19:54:00 -07:00
Peter Steinberger
57a0534f93
fix(cli): repair preaction merge typo
2026-03-15 18:47:23 -07:00
Peter Steinberger
fb991e6f31
perf(plugins): lazy-load setup surfaces
2026-03-15 18:46:54 -07:00
Peter Steinberger
83ee5c0328
perf(status): defer heavy startup loading
2026-03-15 18:20:53 -07:00
Peter Steinberger
9c89a74f84
perf(cli): trim help startup imports
2026-03-15 18:20:52 -07:00
Vincent Koc
f87e7be55e
CLI: restore lightweight root help and scoped status plugin preload
2026-03-15 17:38:39 -07:00
Vincent Koc
dd2eb29038
Commands: split static onboard auth choice help ( #47545 )
...
* Commands: split static onboard auth choice help
* Tests: cover static onboard auth choice help
* Changelog: note static onboard auth choice help
2026-03-15 12:11:55 -07:00
Vincent Koc
67b2d1b8e8
CLI: reduce channels add startup memory ( #46784 )
...
* CLI: lazy-load channel subcommand handlers
* Channels: defer add command dependencies
* CLI: skip status JSON plugin preload
* CLI: cover status JSON route preload
* Status: trim JSON security audit path
* Status: update JSON fast-path tests
* CLI: cover root help fast path
* CLI: fast-path root help
* Status: keep JSON security parity
* Status: restore JSON security tests
* CLI: document status plugin preload
* Channels: reuse Telegram account import
2026-03-15 09:10:40 -07:00
thepagent
0ee11d3321
feat: add --force-document to message.send for Telegram (bypass sendPhoto + image optimizer) ( #45111 )
...
* feat: add --force-document to message.send for Telegram
Adds --force-document CLI flag to bypass sendPhoto and use sendDocument
instead, avoiding Telegram image compression for PNG/image files.
- TelegramSendOpts: add forceDocument field
- send.ts: skip sendPhoto when forceDocument=true (mediaSender pattern)
- ChannelOutboundContext: add forceDocument field
- telegramOutbound.sendMedia: pass forceDocument to sendMessageTelegram
- ChannelHandlerParams / DeliverOutboundPayloadsCoreParams: add forceDocument
- createChannelOutboundContextBase: propagate forceDocument
- outbound-send-service.ts: add forceDocument to executeSendAction params
- message-action-runner.ts: read forceDocument from params
- message.ts: add forceDocument to MessageSendParams
- register.send.ts: add --force-document CLI option
* fix: pass forceDocument through telegram action dispatch path
The actual send path goes through dispatchChannelMessageAction ->
telegramMessageActions.handleAction -> handleTelegramAction, not
deliverOutboundPayloads. forceDocument was not being read in
readTelegramSendParams or passed to sendMessageTelegram.
* fix: apply forceDocument to GIF branch to avoid sendAnimation
* fix: add disable_content_type_detection=true to sendDocument for --force-document
* fix: add forceDocument to buildSendSchema for agent discoverability
* fix: scope telegram force-document detection
* test: fix heartbeat target helper typing
* fix: skip image optimization when forceDocument is set
* fix: persist forceDocument in WAL queue for crash-recovery replay
* test: tighten heartbeat target test entry typing
---------
Co-authored-by: thepagent <thepagent@users.noreply.github.com >
Co-authored-by: Frank Yang <frank.ekn@gmail.com >
2026-03-14 19:43:49 +08:00
Peter Steinberger
403e35e6b0
test: share cli help version assertions
2026-03-14 00:30:14 +00:00
Frank Yang
4e27c9b958
CLI: align xhigh thinking help text ( #44819 )
...
Merged via squash.
Prepared head SHA: ff1f127176
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com >
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com >
Reviewed-by: @frankekn
2026-03-13 16:37:11 +08:00
Luke
7761e7626f
Providers: add Opencode Go support ( #42313 )
...
* feat(providers): add opencode-go provider support and onboarding
* Onboard: unify OpenCode auth handling openclaw#42313 thanks @ImLukeF
* Docs: merge OpenCode Zen and Go docs openclaw#42313 thanks @ImLukeF
* Update CHANGELOG.md
---------
Co-authored-by: Ubuntu <ubuntu@vps-90352893.vps.ovh.ca >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-03-11 01:31:06 -04:00
pomelo-nwu
95eaa08781
refactor: rename bailian to modelstudio and fix review issues
...
- Rename provider ID, constants, functions, CLI flags, and types from
"bailian" to "modelstudio" to match the official English name
"Alibaba Cloud Model Studio".
- Fix P2 bug: global endpoint variant now always overwrites baseUrl
instead of silently preserving a stale CN URL.
- Fix P1 bug: add modelstudio entry to PROVIDER_ENV_VARS so
secret-input-mode=ref no longer throws.
- Move Model Studio imports to top of onboard-auth.config-core.ts.
- Remove unused BAILIAN_BASE_URL export.
Made-with: Cursor
2026-03-10 19:58:43 +00:00
pomelo-nwu
77a35025e8
feat: integrate Alibaba Bailian Coding Plan into onboarding wizard
2026-03-10 19:58:43 +00:00
shichangs
0ecfd37b44
feat: add local backup CLI ( #40163 )
...
Merged via squash.
Prepared head SHA: ed46625ae2
Co-authored-by: shichangs <46870204+shichangs@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-08 16:21:20 -04:00
Altay
ca5e352c53
CLI: include commit hash in --version output ( #39712 )
...
* CLI: include commit hash in --version output
* fix(version): harden commit SHA resolution and keep output consistent
* CLI: keep install checks compatible with commit-tagged version output
* fix(cli): include commit hash in root version fast path
* test(cli): allow null commit-hash mocks
* Installer: share version parser across install scripts
* Installer: avoid sourcing helpers from stdin cwd
* CLI: note commit-tagged version output
* CLI: anchor commit hash resolution to module root
* CLI: harden commit hash resolution
* CLI: fix commit hash lookup edge cases
* CLI: prefer live git metadata in dev builds
* CLI: keep git lookup inside package root
* Infra: tolerate invalid moduleUrl hints
* CLI: cache baked commit metadata fallbacks
* CLI: align changelog attribution with prep gate
* CLI: restore changelog contributor credit
---------
Co-authored-by: echoVic <echovic@163.com >
Co-authored-by: echoVic <echoVic@users.noreply.github.com >
2026-03-08 19:10:48 +03:00
Vincent Koc
2c7fb54956
Config: fail closed invalid config loads ( #39071 )
...
* Config: fail closed invalid config loads
* CLI: keep diagnostics on explicit best-effort config
* Tests: cover invalid config best-effort diagnostics
* Changelog: note invalid config fail-closed fix
* Status: pass best-effort config through status-all gateway RPCs
* CLI: pass config through gateway secret RPC
* CLI: skip plugin loading from invalid config
* Tests: align daemon token drift env precedence
2026-03-07 17:48:13 -08:00
Vincent Koc
e4d80ed556
CI: restore main detect-secrets scan ( #38438 )
...
* Tests: stabilize detect-secrets fixtures
* Tests: fix rebased detect-secrets false positives
* Docs: keep snippets valid under detect-secrets
* Tests: finalize detect-secrets false-positive fixes
* Tests: reduce detect-secrets false positives
* Tests: keep detect-secrets pragmas inline
* Tests: remediate next detect-secrets batch
* Tests: tighten detect-secrets allowlists
* Tests: stabilize detect-secrets formatter drift
2026-03-07 10:06:35 -08:00
Kesku
3d7bc5958d
feat(onboarding): add web search to onboarding flow ( #34009 )
...
* add web search to onboarding flow
* remove post onboarding step (now redundant)
* post-onboarding nudge if no web search set up
* address comments
* fix test mocking
* add enabled: false assertion to the no-key test
* --skip-search cli flag
* use provider that a user has a key for
* add assertions, replace the duplicated switch blocks
* test for quickstart fast-path with existing config key
* address comments
* cover quickstart falls through to key test
* bring back key source
* normalize secret inputs instead of direct string trimming
* preserve enabled: false if it's already set
* handle missing API keys in flow
* doc updates
* hasExistingKey to detect both plaintext strings and SecretRef objects
* preserve enabled state only on the "keep current" paths
* add test for preserving
* better gate flows
* guard against invalid provider values in config
* Update src/commands/configure.wizard.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* format fix
* only mentions env var when it's actually available
* search apiKey fields now typed as SecretInput
* if no provider check if any search provider key is detectable
* handle both kimi keys
* remove .filter(Boolean)
* do not disable web_search after user enables it
* update resolveSearchProvider
* fix(onboarding): skip search key prompt in ref mode
* fix: add onboarding web search step (#34009 ) (thanks @kesku)
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Shadow <hi@shadowing.dev >
2026-03-06 13:09:00 -06:00
Josh Avant
0e4245063f
CLI: make read-only SecretRef status flows degrade safely ( #37023 )
...
* CLI: add read-only SecretRef inspection
* CLI: fix read-only SecretRef status regressions
* CLI: preserve read-only SecretRef status fallbacks
* Docs: document read-only channel inspection hook
* CLI: preserve audit coverage for read-only SecretRefs
* CLI: fix read-only status account selection
* CLI: fix targeted gateway fallback analysis
* CLI: fix Slack HTTP read-only inspection
* CLI: align audit credential status checks
* CLI: restore Telegram read-only fallback semantics
2026-03-05 23:07:13 -06:00
Josh Avant
72cf9253fc
Gateway: add SecretRef support for gateway.auth.token with auth-mode guardrails ( #35094 )
2026-03-05 12:53:56 -06:00
Gustavo Madeira Santana
15a0455d04
CLI: unify routed config positional parsing
2026-03-02 21:11:53 -05:00
Gustavo Madeira Santana
f26853f14c
CLI: dedupe config validate errors and expose allowed values
2026-03-02 20:05:12 -05:00
Tak Hoffman
1ea42ebe98
fix(tsgo): unblock baseline type errors ( #31873 )
2026-03-02 10:09:49 -06:00
Peter Steinberger
d01e82d54a
test(perf): avoid module reload churn in config guard tests
2026-03-02 15:56:30 +00:00
Peter Steinberger
87bd6226bd
test(perf): merge overlapping preaction hook scenarios
2026-03-02 14:52:38 +00:00
Peter Steinberger
38bdb0d271
test(perf): prune redundant preaction command-path cases
2026-03-02 14:14:02 +00:00
Peter Steinberger
98e5851d8a
test(perf): collapse overlapping preaction scenarios
2026-03-02 14:07:06 +00:00
Peter Steinberger
534f436d4e
test(perf): reduce repeated cli program setup overhead
2026-03-02 14:02:47 +00:00
Peter Steinberger
0d620a56e2
test(refactor): reuse shared program setup in preaction tests
2026-03-02 13:53:10 +00:00
Peter Steinberger
16e85360a1
perf(cli): cache preaction lazy module imports
2026-03-02 13:26:54 +00:00
Peter Steinberger
94e480f64a
test(refactor): dedupe preaction command coverage
2026-03-02 11:41:40 +00:00
Peter Steinberger
0c2d85529a
test(refactor): dedupe cli and ios script scenarios
2026-03-02 11:16:33 +00:00
Peter Steinberger
96ef6ea3cf
test(perf): dedupe setup in cli/security script suites
2026-03-02 10:53:21 +00:00
Peter Steinberger
fcb956a0a2
test(cli): reduce update/program suite overhead
2026-03-02 09:46:27 +00:00
Peter Steinberger
cded1b960a
test(commands): dedupe command and onboarding test cases
2026-03-02 07:13:10 +00:00
Sid
3002f13ca7
feat(config): add openclaw config validate and improve startup error messages ( #31220 )
...
Merged via squash.
Prepared head SHA: 4598f2a541
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-02 00:45:51 -05:00
cyb1278588254
96ffbb5aaf
CLI: add config path subcommand to print active config file path ( #26256 )
...
Merged via squash.
Prepared head SHA: b11c593a34
Co-authored-by: cyb1278588254 <48212932+cyb1278588254@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-01 23:33:20 -05:00
Peter Steinberger
342bf4838e
fix(cli): preserve json stdout while keeping doctor migration ( #24368 ) (thanks @altaywtf)
2026-03-02 03:10:02 +00:00
Altay
67b98139b9
test(cli): avoid brittle mock call indexing in json-mode checks
2026-03-02 03:10:02 +00:00
Altay
9e4a366ee6
fix(cli): keep json preflight stdout machine-readable
2026-03-02 03:10:02 +00:00
Vincent Koc
e07c51b045
CLI: avoid plugin preload for health --json route ( #31108 )
...
* CLI routes: skip plugin preload for health --json
* CLI routes tests: cover health --json plugin preload
2026-03-01 17:13:58 -08:00
Vincent Koc
38da2d076c
CLI: add root --help fast path and lazy channel option resolution ( #30975 )
...
* CLI argv: add strict root help invocation guard
* Entry: add root help fast-path bootstrap bypass
* CLI context: lazily resolve channel options
* CLI context tests: cover lazy channel option resolution
* CLI argv tests: cover root help invocation detection
* Changelog: note additional startup path optimizations
* Changelog: split startup follow-up into #30975 entry
* CLI channel options: load precomputed startup metadata
* CLI channel options tests: cover precomputed metadata path
* Build: generate CLI startup metadata during build
* Build script: invoke CLI startup metadata generator
* CLI routes: preload plugins for routed health
* CLI routes tests: assert health plugin preload
* CLI: add experimental bundled entry and snapshot helper
* Tools: compare CLI startup entries in benchmark script
* Docs: add startup tuning notes for Pi and VM hosts
* CLI: drop bundled entry runtime toggle
* Build: remove bundled and snapshot scripts
* Tools: remove bundled-entry benchmark shortcut
* Docs: remove bundled startup bench examples
* Docs: remove Pi bundled entry mention
* Docs: remove VM bundled entry mention
* Changelog: remove bundled startup follow-up claims
* Build: remove snapshot helper script
* Build: remove CLI bundle tsdown config
* Doctor: add low-power startup optimization hints
* Doctor: run startup optimization hint checks
* Doctor tests: cover startup optimization host targeting
* Doctor tests: mock startup optimization note export
* CLI argv: require strict root-only help fast path
* CLI argv tests: cover mixed root-help invocations
* CLI channel options: merge metadata with runtime catalog
* CLI channel options tests: assert dynamic catalog merge
* Changelog: align #30975 startup follow-up scope
* Docs tests: remove secondary-entry startup bench note
* Docs Pi: add systemd recovery reference link
* Docs VPS: add systemd recovery reference link
2026-03-01 14:23:46 -08:00
Vincent Koc
125ea585dd
CLI routes tests: assert status plugin preload
2026-03-01 12:56:56 -08:00
Vincent Koc
266084f4c8
CLI routes: preload plugins for status security parity
2026-03-01 12:56:56 -08:00
Vincent Koc
3c4cdf72c9
CLI routes: test conditional plugin preload behavior
2026-03-01 12:56:56 -08:00
Vincent Koc
5e061fd8b9
CLI routes: skip plugin preload for health
2026-03-01 12:56:56 -08:00
Peter Steinberger
0ec7711bc2
fix(agents): harden compaction and reset safety
...
Co-authored-by: jaden-clovervnd <91520439+jaden-clovervnd@users.noreply.github.com >
Co-authored-by: Sid <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: Marcus Widing <245375637+widingmarcus-cyber@users.noreply.github.com >
2026-02-26 17:41:24 +01:00
joshavant
0e69660c41
feat(secrets): finalize external secrets runtime and migration hardening
2026-02-26 14:47:22 +00:00