mirror of https://github.com/openclaw/openclaw.git
* 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> |
||
|---|---|---|
| .. | ||
| reply | ||
| chunk.test.ts | ||
| chunk.ts | ||
| command-auth.ts | ||
| command-control.test.ts | ||
| command-detection.ts | ||
| commands-args.ts | ||
| commands-registry.data.ts | ||
| commands-registry.test.ts | ||
| commands-registry.ts | ||
| commands-registry.types.ts | ||
| dispatch.ts | ||
| envelope.test.ts | ||
| envelope.ts | ||
| group-activation.ts | ||
| heartbeat.test.ts | ||
| heartbeat.ts | ||
| inbound-debounce.ts | ||
| inbound.test.ts | ||
| media-note.test.ts | ||
| media-note.ts | ||
| model.test.ts | ||
| model.ts | ||
| reply.block-streaming.test.ts | ||
| reply.directive.directive-behavior.accepts-thinking-xhigh-codex-models.e2e.test.ts | ||
| reply.directive.directive-behavior.applies-inline-reasoning-mixed-messages-acks-immediately.e2e.test.ts | ||
| reply.directive.directive-behavior.defaults-think-low-reasoning-capable-models-no.e2e.test.ts | ||
| reply.directive.directive-behavior.ignores-inline-model-uses-default-model.e2e.test.ts | ||
| reply.directive.directive-behavior.lists-allowlisted-models-model-list.e2e.test.ts | ||
| reply.directive.directive-behavior.prefers-alias-matches-fuzzy-selection-is-ambiguous.e2e.test.ts | ||
| reply.directive.directive-behavior.requires-per-agent-allowlist-addition-global.e2e.test.ts | ||
| reply.directive.directive-behavior.returns-status-alongside-directive-only-acks.e2e.test.ts | ||
| reply.directive.directive-behavior.shows-current-elevated-level-as-off-after.e2e.test.ts | ||
| reply.directive.directive-behavior.shows-current-verbose-level-verbose-has-no.e2e.test.ts | ||
| reply.directive.directive-behavior.supports-fuzzy-model-matches-model-directive.e2e.test.ts | ||
| reply.directive.directive-behavior.updates-tool-verbose-during-flight-run-toggle.e2e.test.ts | ||
| reply.directive.parse.test.ts | ||
| reply.heartbeat-typing.test.ts | ||
| reply.media-note.test.ts | ||
| reply.queue.test.ts | ||
| reply.raw-body.test.ts | ||
| reply.triggers.group-intro-prompts.e2e.test.ts | ||
| reply.triggers.trigger-handling.allows-activation-from-allowfrom-groups.e2e.test.ts | ||
| reply.triggers.trigger-handling.allows-approved-sender-toggle-elevated-mode.e2e.test.ts | ||
| reply.triggers.trigger-handling.allows-elevated-off-groups-without-mention.e2e.test.ts | ||
| reply.triggers.trigger-handling.filters-usage-summary-current-model-provider.e2e.test.ts | ||
| reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.e2e.test.ts | ||
| reply.triggers.trigger-handling.ignores-inline-elevated-directive-unapproved-sender.e2e.test.ts | ||
| reply.triggers.trigger-handling.includes-error-cause-embedded-agent-throws.e2e.test.ts | ||
| reply.triggers.trigger-handling.keeps-inline-status-unauthorized-senders.e2e.test.ts | ||
| reply.triggers.trigger-handling.reports-active-auth-profile-key-snippet-status.e2e.test.ts | ||
| reply.triggers.trigger-handling.runs-compact-as-gated-command.e2e.test.ts | ||
| reply.triggers.trigger-handling.runs-greeting-prompt-bare-reset.e2e.test.ts | ||
| reply.triggers.trigger-handling.shows-endpoint-default-model-status-not-configured.e2e.test.ts | ||
| reply.triggers.trigger-handling.shows-quick-model-picker-grouped-by-model.e2e.test.ts | ||
| reply.triggers.trigger-handling.stages-inbound-media-into-sandbox-workspace.test.ts | ||
| reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts | ||
| reply.ts | ||
| send-policy.ts | ||
| skill-commands.test.ts | ||
| skill-commands.ts | ||
| status.test.ts | ||
| status.ts | ||
| templating.ts | ||
| thinking.test.ts | ||
| thinking.ts | ||
| tokens.ts | ||
| tool-meta.test.ts | ||
| tool-meta.ts | ||
| types.ts | ||