openclaw/src/auto-reply
A. Duk 284b54af42
feat: Add support for Telegram quote (partial message replies) (#2900)
* feat: Add support for Telegram quote (partial message replies)

- Enhanced describeReplyTarget() to detect and extract quoted text from msg.quote
- Updated reply formatting to distinguish between full message replies and quotes
- Added isQuote flag to replyTarget object for proper identification
- Quote replies show as [Quoting user] "quoted text" [/Quoting]
- Regular replies unchanged: [Replying to user] full message [/Replying]

Resolves need for partial message reply support in Telegram Bot API.
Backward compatible with existing reply functionality.

* updating references

* Mac: finish Moltbot rename

* Mac: finish Moltbot rename (paths)

* fix(macOS): rename Clawdbot directories to Moltbot for naming consistency

Directory renames:
- apps/macos/Sources/Clawdbot → Moltbot
- apps/macos/Sources/ClawdbotDiscovery → MoltbotDiscovery
- apps/macos/Sources/ClawdbotIPC → MoltbotIPC
- apps/macos/Sources/ClawdbotMacCLI → MoltbotMacCLI
- apps/macos/Sources/ClawdbotProtocol → MoltbotProtocol
- apps/macos/Tests/ClawdbotIPCTests → MoltbotIPCTests
- apps/shared/ClawdbotKit → MoltbotKit
- apps/shared/MoltbotKit/Sources/Clawdbot* → Moltbot*
- apps/shared/MoltbotKit/Tests/ClawdbotKitTests → MoltbotKitTests

Resource renames:
- Clawdbot.icns → Moltbot.icns

Code fixes:
- Update Package.swift paths to reference Moltbot* directories
- Fix clawdbot* → moltbot* symbol references in Swift code:
  - clawdbotManagedPaths → moltbotManagedPaths
  - clawdbotExecutable → moltbotExecutable
  - clawdbotCommand → moltbotCommand
  - clawdbotNodeCommand → moltbotNodeCommand
  - clawdbotOAuthDirEnv → moltbotOAuthDirEnv
  - clawdbotSelectSettingsTab → moltbotSelectSettingsTab

* fix: update remaining ClawdbotKit path references to MoltbotKit

- scripts/bundle-a2ui.sh: A2UI_APP_DIR path
- package.json: format:swift and protocol:check paths
- scripts/protocol-gen-swift.ts: output paths
- .github/dependabot.yml: directory path and comment
- .gitignore: build cache paths
- .swiftformat: exclusion paths
- .swiftlint.yml: exclusion path
- apps/android/app/build.gradle.kts: assets.srcDir path
- apps/ios/project.yml: package path
- apps/ios/README.md: documentation reference
- docs/concepts/typebox.md: documentation reference
- apps/shared/MoltbotKit/Package.swift: fix argument order

* chore: update Package.resolved after dependency resolution

* fix: add MACOS_APP_SOURCES_DIR constant and update test to use new path

The cron-protocol-conformance test was using LEGACY_MACOS_APP_SOURCES_DIR
which points to the old Clawdbot path. Added a new MACOS_APP_SOURCES_DIR
constant for the current Moltbot path and updated the test to use it.

* fix: finish Moltbot macOS rename (#2844) (thanks @fal3)

* Extensions: use workspace moltbot in memory-core

* fix(security): recognize Venice-style claude-opus-45 as top-tier model

The security audit was incorrectly flagging venice/claude-opus-45 as
'Below Claude 4.5' because the regex expected -4-5 (with dash) but
Venice uses -45 (without dash between 4 and 5).

Updated isClaude45OrHigher() regex to match both formats.
Added test case to prevent regression.

* Branding: update bot.molt bundle IDs + launchd labels

* Branding: remove legacy android packages

* fix: wire telegram quote support (#2900)

Co-authored-by: aduk059 <aduk059@users.noreply.github.com>

* fix: support Telegram quote replies (#2900) (thanks @aduk059)

---------

Co-authored-by: Gustavo Madeira Santana <gumadeiras@users.noreply.github.com>
Co-authored-by: Shadow <shadow@clawd.bot>
Co-authored-by: Alex Fallah <alexfallah7@gmail.com>
Co-authored-by: Josh Palmer <joshp123@users.noreply.github.com>
Co-authored-by: jonisjongithub <jonisjongithub@users.noreply.github.com>
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
Co-authored-by: aduk059 <aduk059@users.noreply.github.com>
2026-01-27 15:59:24 -05:00
..
reply refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
chunk.test.ts fix: paragraph-aware newline chunking (#1726) 2026-01-25 13:24:19 +00:00
chunk.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
command-auth.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
command-control.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
command-detection.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
commands-args.ts fix: lint errors 2026-01-15 17:08:31 +00:00
commands-registry.data.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
commands-registry.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
commands-registry.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
commands-registry.types.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
dispatch.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
envelope.test.ts fix: default envelope timestamps to local 2026-01-22 04:10:06 +00:00
envelope.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
group-activation.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
heartbeat.test.ts feat(heartbeat): skip API calls when HEARTBEAT.md is effectively empty (#1535) 2026-01-24 04:19:01 +00:00
heartbeat.ts feat: audit fixes and documentation improvements (#1762) 2026-01-25 12:54:48 +00:00
inbound-debounce.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
inbound.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
media-note.test.ts refactor: tighten media diagnostics 2026-01-17 07:27:38 +00:00
media-note.ts refactor: tighten media diagnostics 2026-01-17 07:27:38 +00:00
model.test.ts Fix models command (#1753) 2026-01-25 10:02:12 +00:00
model.ts Fix models command (#1753) 2026-01-25 10:02:12 +00:00
reply.block-streaming.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.accepts-thinking-xhigh-codex-models.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.applies-inline-reasoning-mixed-messages-acks-immediately.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.defaults-think-low-reasoning-capable-models-no.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.ignores-inline-model-uses-default-model.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.lists-allowlisted-models-model-list.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.prefers-alias-matches-fuzzy-selection-is-ambiguous.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.requires-per-agent-allowlist-addition-global.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.returns-status-alongside-directive-only-acks.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.shows-current-elevated-level-as-off-after.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.shows-current-verbose-level-verbose-has-no.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.supports-fuzzy-model-matches-model-directive.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.directive-behavior.updates-tool-verbose-during-flight-run-toggle.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.directive.parse.test.ts feat: add elevated ask/full modes 2026-01-22 05:41:11 +00:00
reply.heartbeat-typing.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.media-note.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.queue.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.raw-body.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.group-intro-prompts.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.allows-activation-from-allowfrom-groups.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.allows-approved-sender-toggle-elevated-mode.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.allows-elevated-off-groups-without-mention.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.filters-usage-summary-current-model-provider.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.ignores-inline-elevated-directive-unapproved-sender.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.includes-error-cause-embedded-agent-throws.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.keeps-inline-status-unauthorized-senders.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.reports-active-auth-profile-key-snippet-status.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.runs-compact-as-gated-command.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.runs-greeting-prompt-bare-reset.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.shows-endpoint-default-model-status-not-configured.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.shows-quick-model-picker-grouped-by-model.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.stages-inbound-media-into-sandbox-workspace.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
reply.ts feat: add /exec session overrides 2026-01-18 06:12:54 +00:00
send-policy.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
skill-commands.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
skill-commands.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
status.test.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
status.ts refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
templating.ts feat: Add support for Telegram quote (partial message replies) (#2900) 2026-01-27 15:59:24 -05:00
thinking.test.ts fix: align ZAI thinking toggles 2026-01-16 22:26:43 +00:00
thinking.ts fix(telegram): honor linkPreview on fallback (#1730) 2026-01-25 07:55:39 +00:00
tokens.ts feat: add provider-specific tool policies 2026-01-15 03:55:20 +00:00
tool-meta.test.ts fix: improve tool summaries 2026-01-23 01:00:24 +00:00
tool-meta.ts fix: format exec elevated flag first in tool summaries 2026-01-17 21:54:24 +00:00
types.ts feat: Add Line plugin (#1630) 2026-01-25 12:22:36 +00:00