Commit Graph
8364 Commits
Author SHA1 Message Date
Aditya Mer c5d53cb72b Merge branch 'openclaw:main' into main 2026-01-30 13:14:26 +05:30
Aditya Mer b6f3022374 test: update default config candidate resolution tests to cover canonical paths and state directory overrides. 2026-01-30 13:09:19 +05:30
Aditya Mer f5e340b46c refactor: Add isCachedToken type guard for improved cache validation and remove await from cache file operations. 2026-01-30 13:09:10 +05:30
Peter Steinberger 6af205a13a docs: update lore with final form 2026-01-30 07:26:07 +00:00
Aditya Mer 9e63027e47 Merge branch 'openclaw:main' into main 2026-01-30 12:22:02 +05:30
Aditya Mer 3530d941d3 fix: remove extraneous markdown syntax from GitHub Copilot documentation 2026-01-30 12:12:55 +05:30
Aditya Mer 1f7e1ca5d5 chore: remove deprecated copilot-proxy extension; add github-copilot-token helper; adjust default config candidates; update docs 2026-01-30 12:11:59 +05:30
Ayaan Zaidi 9025da2296 fix: scope telegram skill commands per bot (#4360) (thanks @robhparker) 2026-01-30 12:00:29 +05:30
robhparkerandClaude Opus 4.5 c6ddc95fc0 fix(telegram): scope skill commands to bound agent per bot
registerTelegramNativeCommands() calls listSkillCommandsForAgents()
without passing agentIds, causing ALL agents' skill commands to be
registered on EVERY Telegram bot. When multiple agents share skill
names (e.g. two agents both have a "butler" skill), the shared `used`
Set in listSkillCommandsForAgents causes de-duplication suffixes
(_2, _3) and all commands appear on every bot regardless of agent
binding.

This fix uses the existing resolveAgentRoute() (already imported) to
find the bound agent for the current Telegram accountId, then passes
that agentId to listSkillCommandsForAgents(). The function already
accepts an optional agentIds parameter — it just wasn't wired from
the Telegram registration path.

Before: All agents' skill commands registered on every Telegram bot,
causing /butler_2, /housekeeper_2 dedup suffixes and potential
BOT_COMMANDS_TOO_MUCH errors when total exceeds 100.

After: Each Telegram bot only registers skill commands for its own
bound agent. No cross-agent dedup, no command limit overflow.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 11:58:23 +05:30
Nate 28f8d00e9f fix: update install URLs from clawd.bot to openclaw.ai 2026-01-30 00:19:20 -06:00
Manik VahsithandPeter Steinberger 5e635c9656 feat: add Kimi K2.5 model to synthetic catalog (#4407)
* feat: add Kimi K2.5 model to synthetic catalog

Add hf:moonshotai/Kimi-K2.5 to the synthetic model catalog.
This model is available via dev.synthetic.new API.

- 256k context window
- 8192 max tokens
- Supports reasoning

* chore: fix formatting in onboard-helpers.ts

* fix: update config candidate ordering test (#4407) (thanks @manikv12)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-30 07:17:42 +01:00
Aditya Mer 2719e7b626 Merge: resolve conflicts in Copilot docs and lockfile; mark plugin files resolved 2026-01-30 11:37:47 +05:30
Peter Steinberger 87267fad4f docs: move WhatsApp image below dashboard 2026-01-30 06:55:15 +01:00
Gustavo Madeira Santana 613724c26e Update index.md 2026-01-30 00:33:06 -05:00
Peter Steinberger 77e703c69b chore: update appcast for 2026.1.29 v2026.1.29 2026-01-30 06:25:45 +01:00
Peter Steinberger 62e4ad23d3 chore: release 2026.1.29 2026-01-30 06:25:45 +01:00
Peter Steinberger 23c424899c docs: reorder 2026.1.29 changelog 2026-01-30 06:25:21 +01:00
Peter Steinberger c5d7d1110b chore: update pnpm lockfile 2026-01-30 05:15:50 +00:00
Gustavo Madeira Santana 12e8a8410f Update logo and contributor name in docs
Replaced the static image with a responsive logo using the <picture> element for light/dark mode support. Updated contributor name from 'Clawd' to 'Molty'.
2026-01-30 00:13:44 -05:00
Gustavo Madeira Santana 4de0bae45a Update README with responsive logo for dark mode 2026-01-29 23:38:32 -05:00
Gustavo Madeira Santana ddad65588f Add files via upload 2026-01-29 23:37:32 -05:00
Peter Steinberger bf6ec64fd9 docs: move deepwiki link 2026-01-30 05:33:05 +01:00
Gustavo Madeira Santana 4ec9d98821 Update ASCII art banners for CLI and wizard header
Replaces the previous ASCII art in both the CLI banner and the wizard header with a new, wider design and updates the label to 'OPENCLAW' for consistency.
2026-01-29 23:29:47 -05:00
Peter Steinberger 151ddd624b fix: detect legacy gateway launchd labels 2026-01-30 05:01:46 +01:00
Peter Steinberger b9afa3d33f fix: migrate symlinked legacy state dirs 2026-01-30 04:48:04 +01:00
Peter Steinberger d9c81991b1 chore: bump beta 2026-01-30 04:37:46 +01:00
Peter Steinberger 9886fd1a5a fix: migrate legacy state dirs 2026-01-30 04:26:00 +01:00
Peter Steinberger 67918dc41b chore: bump beta 2026-01-30 04:10:47 +01:00
Peter Steinberger a155e2f8ae fix: migrate legacy config 2026-01-30 04:09:49 +01:00
Peter Steinberger 02576615cb fix: migrate legacy gateway services 2026-01-30 04:01:31 +01:00
Peter Steinberger d47b4e6f81 fix: update config types 2026-01-30 03:20:28 +01:00
Peter Steinberger 7d03cae66a chore: bump npm version 2026-01-30 03:16:48 +01:00
Peter Steinberger 9a7160786a refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
Shakker 4583f88626 fix: preserve reasoning tags inside code blocks (#4118) (thanks @vinaygit18) 2026-01-29 18:53:05 +00:00
Peter Steinberger c9fe062824 chore: update clawtributors 2026-01-29 17:31:39 +00:00
Peter SteinbergerandQiying Wang 78b9876641 feat: add Xiaomi MiMo provider onboarding (#3454)
Thanks @WqyJh.

Co-authored-by: Qiying Wang <15232241+WqyJh@users.noreply.github.com>
2026-01-29 17:29:58 +00:00
Vibe Kanban 50d44d0bd9 feat: support xiaomi/mimo-v2-flash 2026-01-29 17:15:51 +00:00
Peter Steinberger cb4b3f74b5 chore(release): bump versions to 2026.1.29 2026-01-29 16:48:13 +00:00
Peter Steinberger 5152060121 docs(changelog): rewrite 2026.1.29 notes 2026-01-29 16:48:05 +00:00
Peter SteinbergerandEdward-x 06289b36da fix(security): harden SSH target handling (#4001)
Thanks @YLChen-007.

Co-authored-by: Edward-x <YLChen-007@users.noreply.github.com>
2026-01-29 16:33:36 +00:00
Josh Palmer 4b5514a259 Tests: default-disable plugins in VITEST 2026-01-29 17:14:14 +01:00
Josh Palmer 5f4715acfc fix flaky gateway tests in CI
What:
- resolve shell from PATH in bash-tools tests (avoid /bin/bash dependency)
- mock DNS for web-fetch SSRF tests (no real network)
- stub a2ui bundle in canvas-host server test when missing

Why:
- keep gateway test suite deterministic on Nix/Garnix Linux

Tests:
- not run locally (known missing deps in unit test run)
2026-01-29 12:14:27 +01:00
Josh Palmer c41ea252b0 fix flaky web-fetch tests + lock cleanup
What:
- stub resolvePinnedHostname in web-fetch tests to avoid DNS flake
- close lock file handles via FileHandle.close during cleanup to avoid EBADF

Why:
- make CI deterministic without network/DNS dependence
- prevent double-close errors from GC

Tests:
- pnpm vitest run --config vitest.unit.config.ts src/agents/tools/web-tools.fetch.test.ts src/agents/session-write-lock.test.ts (failed: missing @aws-sdk/client-bedrock)
2026-01-29 11:05:11 +01:00
Tyler Yust 6372242da7 fix(ui): improve chat session dropdown and refresh behavior (#3682)
* refactor(ui): enhance loadSessions function to accept overrides for session loading parameters

- Updated loadSessions to include optional parameters for activeMinutes, limit, includeGlobal, and includeUnknown.
- Modified refreshChat to use the new activeMinutes parameter when loading sessions.
- Removed duplicate applySettingsFromUrl call in handleConnected function.

* feat(ui): implement session refresh functionality after chat

- Added `refreshSessionsAfterChat` property to `ChatHost` and `GatewayHost` types.
- Introduced `isChatResetCommand` function to identify chat reset commands.
- Updated `handleSendChat` to set `refreshSessions` based on chat reset commands.
- Modified `handleGatewayEventUnsafe` to load sessions when chat is finalized and `refreshSessionsAfterChat` is true.
- Enhanced `refreshChat` to load sessions with `activeMinutes` set to 0 for immediate refresh.
2026-01-28 23:24:46 -08:00
Ayaan Zaidi 718bc3f9c8 fix: avoid silent telegram empty replies (#3796) (#3796) 2026-01-29 11:34:47 +05:30
Aditya Mer e43aafd20c Merge branch 'moltbot:main' into main 2026-01-29 11:23:37 +05:30
Aditya Mer 2ad19f4fd5 feat(providers): migrate GitHub Copilot to official SDK
Replace custom device-flow OAuth and token exchange with the official
@github/copilot-sdk. The SDK manages a Copilot CLI subprocess for
authentication and API access.

Changes:
- Add @github/copilot-sdk dependency (v0.1.19)
- Create github-copilot-sdk.ts as core SDK wrapper
- Rename github-copilot-auth.ts to github-copilot-login.ts
- Merge github-copilot-token.ts into github-copilot-sdk.ts
- Remove extensions/copilot-proxy plugin entirely
- Update login flow to verify CLI auth status instead of device flow
- Add SDK-based model discovery via listCopilotModels()
- Update docs and UI labels to reflect SDK-based authentication
- Remove copilot-proxy from auth choices and plugin auto-enable

BREAKING CHANGE: GitHub Copilot now requires the Copilot CLI to be
installed and authenticated via 'copilot auth login' before use.
2026-01-29 11:17:03 +05:30
Conroy Whitney c20035094d fix: use & instead of <> in XML escaping test for Windows NTFS compatibility (#3750)
NTFS does not allow < or > in filenames, causing the XML filename
escaping test to fail on Windows CI with ENOENT.

Replace file<test>.txt with file&test.txt — & is valid on all platforms
and still requires XML escaping (&amp;), preserving the test's intent.

Fixes #3748
2026-01-29 05:46:50 +00:00
kiranjdandClaude Opus 4.5 0761652701 fix(telegram): handle empty reply array in notifyEmptyResponse
Previous fix only checked skippedEmpty > 0, but when model returns
content: [] no payloads are created at all. Now also checks
replies.length === 0 to catch this case.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:13:39 +05:30
kiranjdandClaude Opus 4.5 a2d06e75b0 fix(telegram): notify users when agent returns empty response
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:13:39 +05:30