Skip to content

Sync/upstream 2026 02 26#82

Open
siri666942 wants to merge 162 commits intomainfrom
sync/upstream-2026-02-26
Open

Sync/upstream 2026 02 26#82
siri666942 wants to merge 162 commits intomainfrom
sync/upstream-2026-02-26

Conversation

@siri666942
Copy link
Copy Markdown
Collaborator

Summary

Describe the problem and fix in 2–5 bullets:

  • Problem:
  • Why it matters:
  • What changed:
  • What did NOT change (scope boundary):

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #
  • Related #

User-visible / Behavior Changes

List user-visible changes (including defaults/config).
If none, write None.

Security Impact (required)

  • New permissions/capabilities? (Yes/No)
  • Secrets/tokens handling changed? (Yes/No)
  • New/changed network calls? (Yes/No)
  • Command/tool execution surface changed? (Yes/No)
  • Data access scope changed? (Yes/No)
  • If any Yes, explain risk + mitigation:

Repro + Verification

Environment

  • OS:
  • Runtime/container:
  • Model/provider:
  • Integration/channel (if any):
  • Relevant config (redacted):

Steps

Expected

Actual

Evidence

Attach at least one:

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Human Verification (required)

What you personally verified (not just CI), and how:

  • Verified scenarios:
  • Edge cases checked:
  • What you did not verify:

Compatibility / Migration

  • Backward compatible? (Yes/No)
  • Config/env changes? (Yes/No)
  • Migration needed? (Yes/No)
  • If yes, exact upgrade steps:

Failure Recovery (if this breaks)

  • How to disable/revert this change quickly:
  • Files/config to restore:
  • Known bad symptoms reviewers should watch for:

Risks and Mitigations

List only real risks for this PR. Add/remove entries as needed. If none, write None.

  • Risk:
    • Mitigation:

ngutman and others added 30 commits February 25, 2026 10:21
…penclaw#26324)

* fix(test): stabilize low-mem parallel lane and cron session mock

* feat(android): make QR scanning first-class onboarding

* docs(android): update README for native Android workflow

* fix(android): stabilize chat composer ime and tab layout

* fix(android): stabilize chat ime insets and tab bar

* fix(android): remove tab bar gap above system nav

* fix(android): harden scanned setup code parsing

* test(android): cover non-string setupCode QR payload

* fix(test): add changelog note for low-mem test runner (openclaw#26324) (thanks @ngutman)

---------

Co-authored-by: Ayaan Zaidi <zaidi@uplause.io>
The existing `closed` flag in `createTypingCallbacks` guards
`onReplyStart` but not `fireStart` itself. If a keepalive tick is
already in-flight when `fireStop` sets `closed = true` and calls
`keepaliveLoop.stop()`, the running `onTick → fireStart` callback
still completes and sends a stale `sendChatAction('typing')` after
the reply message has been delivered.

On Telegram (which has no cancel-typing API), this causes the typing
indicator to linger ~5 seconds after the bot's message appears.

Add a `closed` early-return in `fireStart` as defense-in-depth so
that even an in-flight tick is suppressed once cleanup has started.
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
obviyus and others added 28 commits February 26, 2026 12:17
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: ad35a45
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
…penclaw#27276)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: b08797a
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
…erge (openclaw#27293)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 6b4b37b
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
…27334)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 50b5771
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
Merged via deterministic merge flow.

Prepared head SHA: e5cee7a

Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
* docs: add ACP thread-bound agents plan doc

* docs: expand ACP implementation specification

* feat(acp): route ACP sessions through core dispatch and lifecycle cleanup

* feat(acp): add /acp commands and Discord spawn gate

* ACP: add acpx runtime plugin backend

* fix(subagents): defer transient lifecycle errors before announce

* Agents: harden ACP sessions_spawn and tighten spawn guidance

* Agents: require explicit ACP target for runtime spawns

* docs: expand ACP control-plane implementation plan

* ACP: harden metadata seeding and spawn guidance

* ACP: centralize runtime control-plane manager and fail-closed dispatch

* ACP: harden runtime manager and unify spawn helpers

* Commands: route ACP sessions through ACP runtime in agent command

* ACP: require persisted metadata for runtime spawns

* Sessions: preserve ACP metadata when updating entries

* Plugins: harden ACP backend registry across loaders

* ACPX: make availability probe compatible with adapters

* E2E: add manual Discord ACP plain-language smoke script

* ACPX: preserve streamed spacing across Discord delivery

* Docs: add ACP Discord streaming strategy

* ACP: harden Discord stream buffering for thread replies

* ACP: reuse shared block reply pipeline for projector

* ACP: unify streaming config and adopt coalesceIdleMs

* Docs: add temporary ACP production hardening plan

* Docs: trim temporary ACP hardening plan goals

* Docs: gate ACP thread controls by backend capabilities

* ACP: add capability-gated runtime controls and /acp operator commands

* Docs: remove temporary ACP hardening plan

* ACP: fix spawn target validation and close cache cleanup

* ACP: harden runtime dispatch and recovery paths

* ACP: split ACP command/runtime internals and centralize policy

* ACP: harden runtime lifecycle, validation, and observability

* ACP: surface runtime and backend session IDs in thread bindings

* docs: add temp plan for binding-service migration

* ACP: migrate thread binding flows to SessionBindingService

* ACP: address review feedback and preserve prompt wording

* ACPX plugin: pin runtime dependency and prefer bundled CLI

* Discord: complete binding-service migration cleanup and restore ACP plan

* Docs: add standalone ACP agents guide

* ACP: route harness intents to thread-bound ACP sessions

* ACP: fix spawn thread routing and queue-owner stall

* ACP: harden startup reconciliation and command bypass handling

* ACP: fix dispatch bypass type narrowing

* ACP: align runtime metadata to agentSessionId

* ACP: normalize session identifier handling and labels

* ACP: mark thread banner session ids provisional until first reply

* ACP: stabilize session identity mapping and startup reconciliation

* ACP: add resolved session-id notices and cwd in thread intros

* Discord: prefix thread meta notices consistently

* Discord: unify ACP/thread meta notices with gear prefix

* Discord: split thread persona naming from meta formatting

* Extensions: bump acpx plugin dependency to 0.1.9

* Agents: gate ACP prompt guidance behind acp.enabled

* Docs: remove temp experiment plan docs

* Docs: scope streaming plan to holy grail refactor

* Docs: refactor ACP agents guide for human-first flow

* Docs/Skill: add ACP feature-flag guidance and direct acpx telephone-game flow

* Docs/Skill: add OpenCode and Pi to ACP harness lists

* Docs/Skill: align ACP harness list with current acpx registry

* Dev/Test: move ACP plain-language smoke script and mark as keep

* Docs/Skill: reorder ACP harness lists with Pi first

* ACP: split control-plane manager into core/types/utils modules

* Docs: refresh ACP thread-bound agents plan

* ACP: extract dispatch lane and split manager domains

* ACP: centralize binding context and remove reverse deps

* Infra: unify system message formatting

* ACP: centralize error boundaries and session id rendering

* ACP: enforce init concurrency cap and strict meta clear

* Tests: fix ACP dispatch binding mock typing

* Tests: fix Discord thread-binding mock drift and ACP request id

* ACP: gate slash bypass and persist cleared overrides

* ACPX: await pre-abort cancel before runTurn return

* Extension: pin acpx runtime dependency to 0.1.11

* Docs: add pinned acpx install strategy for ACP extension

* Extensions/acpx: enforce strict local pinned startup

* Extensions/acpx: tighten acp-router install guidance

* ACPX: retry runtime test temp-dir cleanup

* Extensions/acpx: require proactive ACPX repair for thread spawns

* Extensions/acpx: require restart offer after acpx reinstall

* extensions/acpx: remove workspace protocol devDependency

* extensions/acpx: bump pinned acpx to 0.1.13

* extensions/acpx: sync lockfile after dependency bump

* ACPX: make runtime spawn Windows-safe

* fix: align doctor-config-flow repair tests with default-account migration (openclaw#23580) (thanks @osolmaz)
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @siri666942, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request is a comprehensive upstream synchronization, bringing a wide array of new features, critical bug fixes, and security enhancements. A major focus was placed on improving the Android application's user experience and performance, alongside a significant architectural shift to integrate ACP agents as first-class citizens for advanced coding and conversational capabilities. The changes also refine multi-account management, enhance security across various modules, and clarify heartbeat delivery policies, ensuring a more robust, secure, and feature-rich platform.

Highlights

  • Android App Enhancements: The Android application received significant updates, including improved streaming delivery and Markdown rendering in chat, deferred foreground service startup for better performance, and the introduction of a dedicated Voice tab with mic capture and conversation display. QR code scanning for gateway setup was also integrated.
  • ACP Agent Integration: First-class support for ACP (Agent Client Protocol) agents was introduced, allowing thread-bound agents for sessions with acp spawn/send dispatch, backend bridging via acpx, lifecycle controls, and coalesced thread replies. This enables robust integration of external coding harnesses like Codex or Claude Code.
  • Multi-Account Configuration & Routing: Improvements were made to multi-account handling, particularly for channels. When adding non-default accounts, existing top-level single-account values are now correctly moved to channels.<channel>.accounts.default to prevent data duplication and ensure backward compatibility. New CLI commands (openclaw agents bindings, bind, unbind) were added for managing account-scoped routing.
  • Security Hardening: Numerous security fixes were implemented across various components, including hardened path handling for agents.files, rejection of hardlinked workspace file aliases, improved browser temp path and upload validation, and stricter approval-bound system.run execution. Anthropic OAuth sign-in was removed from macOS beta onboarding due to security concerns.
  • Heartbeat Policy Refinement: The heartbeat mechanism was updated to replace the DM toggle with a directPolicy setting (allow | block), providing clearer semantics for direct/DM delivery. The default behavior for direct/DM delivery is now allow.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .github/labeler.yml
    • Added a new labeler entry for the acpx extension.
  • CHANGELOG.md
    • Updated the changelog with entries for versions 2026.2.26 and 2026.2.25, including new features, breaking changes, and numerous fixes.
  • Dockerfile
    • Increased the Node.js heap size limit to mitigate OOM errors during pnpm install.
  • PR_STATUS.md
    • Removed the PR status tracking markdown file.
  • appcast.xml
    • Updated the appcast XML to version 2026.2.25 with new release notes and download information.
  • apps/android/README.md
    • Added new sections for macrobenchmarking, performance CLI scripts, USB debugging, and hot reload guidance.
  • apps/android/app/build.gradle.kts
    • Added zxing-android-embedded for QR scanning and mockwebserver for testing dependencies.
  • apps/android/app/src/main/AndroidManifest.xml
    • Registered DeviceNotificationListenerService and adjusted MainActivity's windowSoftInputMode.
  • apps/android/app/src/main/java/ai/openclaw/android/MainActivity.kt
    • Refactored startup logic to defer foreground service, removed WebView debugging init, and removed immersive mode application.
  • apps/android/app/src/main/java/ai/openclaw/android/MainViewModel.kt
    • Replaced voice wake/talk mode states with new mic capture states and removed related functions.
  • apps/android/app/src/main/java/ai/openclaw/android/NodeApp.kt
    • Removed Bouncy Castle provider registration.
  • apps/android/app/src/main/java/ai/openclaw/android/NodeForegroundService.kt
    • Updated notification logic to reflect new mic capture state instead of voice wake mode.
  • apps/android/app/src/main/java/ai/openclaw/android/NodeRuntime.kt
    • Replaced VoiceWakeManager and TalkModeManager with MicCaptureManager, integrated NotificationsHandler, and updated status text logic.
  • apps/android/app/src/main/java/ai/openclaw/android/SecurePrefs.kt
    • Refactored preferences to use separate plain and secure shared preferences, and updated gateway token loading.
  • apps/android/app/src/main/java/ai/openclaw/android/gateway/DeviceAuthStore.kt
    • Converted DeviceAuthStore to implement DeviceAuthTokenStore interface.
  • apps/android/app/src/main/java/ai/openclaw/android/gateway/DeviceIdentityStore.kt
    • Optimized sha256Hex and removed ED25519_SPKI_PREFIX constant.
  • apps/android/app/src/main/java/ai/openclaw/android/gateway/GatewaySession.kt
    • Removed Origin header from WebSocket requests, simplified connect retry logic, and unified invoke error parsing.
  • apps/android/app/src/main/java/ai/openclaw/android/gateway/InvokeErrorParser.kt
    • Added a new file to centralize invoke error parsing logic.
  • apps/android/app/src/main/java/ai/openclaw/android/node/CameraCaptureManager.kt
    • Increased default camera snapshot quality and max width.
  • apps/android/app/src/main/java/ai/openclaw/android/node/ConnectionManager.kt
    • Replaced manual command list with InvokeCommandRegistry for building invoke commands.
  • apps/android/app/src/main/java/ai/openclaw/android/node/DeviceNotificationListenerService.kt
    • Added a new service for listening to device notifications.
  • apps/android/app/src/main/java/ai/openclaw/android/node/InvokeCommandRegistry.kt
    • Added a new object to centralize and manage invoke command specifications and availability.
  • apps/android/app/src/main/java/ai/openclaw/android/node/InvokeDispatcher.kt
    • Refactored command dispatch logic to use InvokeCommandRegistry and added NotificationsCommand.List handling.
  • apps/android/app/src/main/java/ai/openclaw/android/node/NodeUtils.kt
    • Updated invokeErrorFromThrowable to use the new InvokeErrorParser.
  • apps/android/app/src/main/java/ai/openclaw/android/node/NotificationsHandler.kt
    • Added a new handler for processing and listing device notifications.
  • apps/android/app/src/main/java/ai/openclaw/android/protocol/OpenClawProtocolConstants.kt
    • Added OpenClawNotificationsCommand enum.
  • apps/android/app/src/main/java/ai/openclaw/android/ui/ConnectTabScreen.kt
    • Added logic to refresh gateway connection if status indicates operator offline and removed debug snapshot logging.
  • apps/android/app/src/main/java/ai/openclaw/android/ui/GatewayConfigResolver.kt
    • Updated Base64 decoding to java.util.Base64, introduced Kotlinx Serialization JSON parsing, and added QR code scanning logic.
  • apps/android/app/src/main/java/ai/openclaw/android/ui/OnboardingFlow.kt
    • Integrated QR code scanning for setup codes, added an expandable advanced setup section, and updated gateway input mode labels.
  • apps/android/app/src/main/java/ai/openclaw/android/ui/PostOnboardingTabs.kt
    • Removed ExperimentalLayoutApi annotation, updated IME visibility check, and replaced ComingSoonTabScreen with VoiceTabScreen.
  • apps/android/app/src/main/java/ai/openclaw/android/ui/SettingsSheet.kt
    • Removed voice wake/talk mode settings, updated microphone permission description, and simplified wake words management.
  • apps/android/app/src/main/java/ai/openclaw/android/ui/VoiceTabScreen.kt
    • Added a new screen for voice interaction, including mic control, live transcription, and conversation display.
  • apps/android/app/src/main/java/ai/openclaw/android/ui/chat/ChatComposer.kt
    • Added compact parameter to SecondaryActionButton and maxLines/overflow to Send button text.
  • apps/android/app/src/main/java/ai/openclaw/android/ui/chat/ChatSheetContent.kt
    • Applied imePadding to the chat composer.
  • apps/android/app/src/main/java/ai/openclaw/android/voice/MicCaptureManager.kt
    • Added a new manager for microphone capture, speech recognition, and voice conversation handling.
  • apps/android/app/src/test/java/ai/openclaw/android/gateway/GatewaySessionInvokeTest.kt
    • Added new tests for GatewaySession invoke request handling and error mapping.
  • apps/android/app/src/test/java/ai/openclaw/android/gateway/InvokeErrorParserTest.kt
    • Added new tests for InvokeErrorParser functionality.
  • apps/android/app/src/test/java/ai/openclaw/android/node/InvokeCommandRegistryTest.kt
    • Added new tests for InvokeCommandRegistry feature availability.
  • apps/android/app/src/test/java/ai/openclaw/android/node/NotificationsHandlerTest.kt
    • Added new tests for NotificationsHandler and notification text sanitization.
  • apps/android/app/src/test/java/ai/openclaw/android/protocol/OpenClawProtocolConstantsTest.kt
    • Added a test for OpenClawNotificationsCommand stable strings.
  • apps/android/app/src/test/java/ai/openclaw/android/ui/GatewayConfigResolverTest.kt
    • Added new tests for GatewayConfigResolver setup code parsing.
  • apps/android/benchmark/build.gradle.kts
    • Added a new Gradle build file for Android macrobenchmarking.
  • apps/android/benchmark/src/main/java/ai/openclaw/android/benchmark/StartupMacrobenchmark.kt
    • Added a new macrobenchmark for measuring app startup and frame timing.
  • apps/android/build.gradle.kts
    • Added com.android.test plugin.
  • apps/android/scripts/perf-startup-benchmark.sh
    • Added a new script for deterministic startup performance measurement.
  • apps/android/scripts/perf-startup-hotspots.sh
    • Added a new script for capturing startup CPU profiles and identifying hotspots.
  • apps/android/settings.gradle.kts
    • Included the new :benchmark module.
  • apps/macos/Sources/OpenClaw/AnthropicAuthControls.swift
    • Removed the Anthropic OAuth controls UI.
  • apps/macos/Sources/OpenClaw/AnthropicOAuth.swift
    • Removed Anthropic OAuth credentials and related logic.
  • apps/macos/Sources/OpenClaw/AnthropicOAuthCodeState.swift
    • Removed Anthropic OAuth code state parsing logic.
  • apps/macos/Sources/OpenClaw/Onboarding.swift
    • Removed Anthropic OAuth related state variables and clipboard polling.
  • apps/macos/Sources/OpenClaw/OnboardingView+Actions.swift
    • Removed Anthropic OAuth related actions.
  • apps/macos/Sources/OpenClaw/OnboardingView+Layout.swift
    • Removed Anthropic OAuth monitoring.
  • apps/macos/Sources/OpenClaw/OnboardingView+Monitoring.swift
    • Removed Anthropic OAuth monitoring functions.
  • apps/macos/Sources/OpenClaw/OnboardingView+Pages.swift
    • Removed the Anthropic OAuth onboarding page.
  • apps/macos/Sources/OpenClaw/OnboardingView+Testing.swift
    • Removed Anthropic OAuth testing setup.
  • apps/macos/Sources/OpenClawProtocol/GatewayModels.swift
    • Added agentid field to SendParams and commandargv to ExecApprovalRequestParams.
  • apps/macos/Tests/OpenClawIPCTests/AnthropicAuthControlsSmokeTests.swift
    • Removed Anthropic OAuth controls smoke tests.
  • apps/macos/Tests/OpenClawIPCTests/AnthropicAuthResolverTests.swift
    • Removed Anthropic OAuth resolver tests.
  • apps/macos/Tests/OpenClawIPCTests/AnthropicOAuthCodeStateTests.swift
    • Removed Anthropic OAuth code state tests.
  • apps/macos/Tests/OpenClawIPCTests/OpenClawOAuthStoreTests.swift
    • Removed OpenClaw OAuth store tests.
  • apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift
    • Added agentid field to SendParams and commandargv to ExecApprovalRequestParams.
  • changelog/fragments/README.md
    • Added a README for changelog fragments.
  • docker-setup.sh
    • Added functions to read gateway token from config and ensure Control UI allowed origins, and updated image building/pulling logic.
  • docs/channels/pairing.md
    • Updated pairing documentation to clarify account-scoped allowlist storage.
  • docs/channels/telegram.md
    • Added a note about reaction events respecting Telegram access controls.
  • docs/cli/agents.md
    • Added new CLI commands and documentation for openclaw agents bindings, bind, and unbind.
  • docs/cli/channels.md
    • Added documentation for interactive channel onboarding, account-scoped routing, and config migration.
  • docs/cli/index.md
    • Updated CLI index to include new agents commands and details on channels add behavior.
  • docs/cli/security.md
    • Clarified gateway.nodes.denyCommands behavior and updated pairing allowlist storage paths.
  • docs/concepts/models.md
    • Added documentation for merge mode precedence in model provider updates.
  • docs/concepts/multi-agent.md
    • Added important details about account-scope behavior for routing bindings.
  • docs/docs.json
    • Updated documentation structure to move multi-agent-sandbox-tools under tools/.
  • docs/experiments/plans/acp-thread-bound-agents.md
    • Added a new ADR detailing the plan for ACP thread-bound agents.
  • docs/experiments/plans/acp-unified-streaming-refactor.md
    • Added a new ADR outlining the plan for a unified runtime streaming pipeline.
  • docs/gateway/configuration-examples.md
    • Added directPolicy to heartbeat configuration examples and updated link to Providers documentation.
  • docs/gateway/configuration-reference.md
    • Added detailed documentation for multi-account channel configuration, session.parentForkMaxTokens, and heartbeat directPolicy.
  • docs/gateway/doctor.md
    • Added a new migration entry for moving account-scoped channel values to accounts.default.
  • docs/gateway/heartbeat.md
    • Updated heartbeat documentation to reflect the new directPolicy configuration.
  • docs/gateway/security/index.md
    • Updated security documentation to clarify gateway.nodes.denyCommands and pairing allowlist storage.
  • docs/gateway/troubleshooting.md
    • Updated troubleshooting guide for heartbeat dm-blocked reason.
  • docs/help/testing.md
    • Added a new section for manual ACP plain-language thread smoke testing.
  • docs/install/docker.md
    • Added a requirement for at least 2GB RAM for Docker builds.
  • docs/install/gcp.md
    • Updated machine type recommendations for GCP, added guidance for Control UI allowed origins, and tokenized dashboard links.
  • docs/reference/session-management-compaction.md
    • Added session.parentForkMaxTokens to session management rules.
  • docs/start/onboarding.md
    • Added security trust model clarification and updated gateway auth tips.
  • docs/start/openclaw.md
    • Updated heartbeat delivery policy documentation.
  • docs/start/setup.md
    • Updated pairing allowlist storage documentation.
  • docs/tools/acp-agents.md
    • Added a new documentation page for ACP agents, their usage, controls, and configuration.
  • docs/tools/index.md
    • Updated sessions_spawn parameters and added a note about ACP runtime behavior.
  • docs/tools/plugin.md
    • Added documentation for channel onboarding hooks.
  • docs/tools/slash-commands.md
    • Added /acp commands to the list of slash commands and a reference to ACP agents documentation.
  • docs/tools/subagents.md
    • Added a note about using sessions_spawn with runtime: "acp" for ACP harness sessions.
  • extensions/acpx/index.ts
    • Added a new plugin entry point for the ACPX runtime.
  • extensions/acpx/openclaw.plugin.json
    • Added a new plugin manifest for the ACPX runtime.
  • extensions/acpx/package.json
    • Added a new package.json for the ACPX extension, including acpx dependency.
  • extensions/acpx/skills/acp-router/SKILL.md
    • Added a new skill markdown for routing plain-language requests to ACP harness.
  • extensions/acpx/src/config.test.ts
    • Added new tests for ACPX plugin configuration parsing.
  • extensions/acpx/src/config.ts
    • Added new configuration definitions and validation for the ACPX plugin.
  • extensions/acpx/src/ensure.test.ts
    • Added new tests for ensuring pinned ACPX version.
  • extensions/acpx/src/ensure.ts
    • Added new functions for checking and ensuring the pinned ACPX CLI version.
  • extensions/acpx/src/runtime-internals/events.ts
    • Added new functions for parsing ACPX runtime events from JSON lines.
  • extensions/acpx/src/runtime-internals/process.ts
    • Added new utility functions for spawning and managing child processes.
  • extensions/acpx/src/runtime-internals/shared.ts
    • Added new shared utility functions and types for ACPX runtime internals.
  • extensions/acpx/src/runtime.test.ts
    • Added new tests for the ACPX runtime implementation.
  • extensions/acpx/src/runtime.ts
    • Added the core AcpxRuntime implementation for managing ACPX sessions.
  • extensions/acpx/src/service.test.ts
    • Added new tests for the ACPX runtime plugin service.
  • extensions/acpx/src/service.ts
    • Added the createAcpxRuntimeService function to integrate ACPX as a plugin service.
  • extensions/bluebubbles/src/monitor-processing.ts
    • Updated DM/group access resolution to use resolveDmGroupAccessWithLists.
  • extensions/line/src/channel.startup.test.ts
    • Updated LINE channel startup test to handle abort signals.
  • extensions/line/src/channel.ts
    • Updated startAccount to return the monitor promise.
  • extensions/mattermost/src/mattermost/monitor.ts
    • Updated reaction processing to use resolveDmGroupAccessWithLists.
  • extensions/msteams/src/monitor-handler.file-consent.test.ts
    • Added new tests for MS Teams file consent invoke authorization.
  • extensions/msteams/src/monitor-handler.ts
    • Added conversation ID matching for file consent invoke requests.
  • extensions/nextcloud-talk/src/monitor.auth-order.test.ts
    • Updated Nextcloud Talk webhook auth order test to use a shared test harness.
  • extensions/nextcloud-talk/src/monitor.backend.test.ts
    • Added new tests for Nextcloud Talk webhook backend origin validation.
  • extensions/nextcloud-talk/src/monitor.replay.test.ts
    • Added new tests for Nextcloud Talk webhook replay detection.
  • extensions/nextcloud-talk/src/monitor.test-harness.ts
    • Added a new test harness for Nextcloud Talk webhook server.
  • extensions/nextcloud-talk/src/monitor.ts
    • Added backend origin validation and replay detection to the Nextcloud Talk webhook server.
  • extensions/nextcloud-talk/src/replay-guard.test.ts
    • Added new tests for Nextcloud Talk replay guard.
  • extensions/nextcloud-talk/src/replay-guard.ts
    • Added a new replay guard for Nextcloud Talk webhooks.
  • extensions/nextcloud-talk/src/types.ts
    • Added isBackendAllowed and shouldProcessMessage to NextcloudTalkWebhookServerOptions.
  • extensions/synology-chat/package.json
    • Changed default install choice to local.
  • package.json
    • Updated check script to include lint:tmp:channel-agnostic-boundaries, updated @aws-sdk/client-bedrock and @mariozechner/pi-* dependencies, and @typescript/native-preview version.
  • scripts/check-channel-agnostic-boundaries.mjs
    • Added a new script to enforce channel-agnostic boundaries in core code.
  • scripts/dev/discord-acp-plain-language-smoke.ts
    • Added a new script for manual Discord ACP plain-language smoke testing.
  • scripts/pr
    • Updated PR script to validate changelog fragments.
  • scripts/test-parallel.mjs
    • Adjusted useVmForks logic for low-memory hosts and updated extensions worker budget.
  • scripts/upstream-auto-sync.sh
    • Added --post-merge-only option to the upstream sync script.
  • skills/coding-agent/SKILL.md
    • Updated description to clarify when not to use for thread-bound ACP harness requests.
  • src/acp/control-plane/manager.core.ts
    • Added the core implementation for AcpSessionManager, handling session lifecycle, runtime options, and observability.
  • src/acp/control-plane/manager.identity-reconcile.ts
    • Added new functions for reconciling ACP session identities.
  • src/acp/control-plane/manager.runtime-controls.ts
    • Added new functions for resolving capabilities and applying runtime controls.
  • src/acp/control-plane/manager.test.ts
    • Added new tests for AcpSessionManager functionality.
  • src/acp/control-plane/manager.ts
    • Exported AcpSessionManager and its types, and provided a singleton instance.
  • src/acp/control-plane/manager.types.ts
    • Defined types for ACP session manager inputs, outputs, and internal states.
  • src/acp/control-plane/manager.utils.ts
    • Added utility functions for ACP session management.
  • src/acp/control-plane/runtime-cache.test.ts
    • Added new tests for RuntimeCache.
  • src/acp/control-plane/runtime-cache.ts
    • Added a new cache for managing ACP runtime states.
  • src/acp/control-plane/runtime-options.ts
    • Added new functions for validating, normalizing, and merging ACP runtime options.
  • src/acp/control-plane/session-actor-queue.ts
    • Added a new queue for serializing operations on ACP sessions.
  • src/acp/control-plane/spawn.ts
    • Added a new function for cleaning up failed ACP spawns.
  • src/acp/policy.test.ts
    • Added new tests for ACP policy functions.
  • src/acp/policy.ts
    • Added new functions for resolving ACP dispatch and agent policies.
  • src/acp/runtime/adapter-contract.testkit.ts
    • Added a new test kit for ACP runtime adapter contracts.
  • src/acp/runtime/error-text.test.ts
    • Added new tests for ACP runtime error text formatting.
  • src/acp/runtime/error-text.ts
    • Added new functions for formatting ACP runtime errors with actionable next steps.
  • src/acp/runtime/errors.test.ts
    • Added new tests for AcpRuntimeError and withAcpRuntimeErrorBoundary.
  • src/acp/runtime/errors.ts
    • Defined AcpRuntimeError and utility functions for error handling.
  • src/acp/runtime/registry.test.ts
    • Added new tests for ACP runtime registry.
  • src/acp/runtime/registry.ts
    • Implemented a global registry for ACP runtime backends.
  • src/acp/runtime/session-identifiers.test.ts
    • Added new tests for ACP session identifier helpers.
  • src/acp/runtime/session-identifiers.ts
    • Added new functions for resolving and formatting ACP session identifiers.
  • src/acp/runtime/session-identity.ts
    • Added new functions for managing ACP session identity.
  • src/acp/runtime/session-meta.ts
    • Added new functions for reading and updating ACP session metadata.
  • src/acp/runtime/types.ts
    • Defined core types for ACP runtime interfaces.
  • src/agents/acp-spawn.test.ts
    • Added new tests for spawnAcpDirect functionality.
  • src/agents/acp-spawn.ts
    • Implemented direct ACP session spawning logic.
  • src/agents/acp-thread-binding-architecture.guardrail.test.ts
    • Added new guardrail tests for ACP/session binding architecture.
  • src/agents/acp-thread-binding-service.ts
    • Implemented a service for managing ACP thread bindings.
  • src/agents/agent-config.test.ts
    • Added tests for ACP configuration in agent defaults.
  • src/agents/agent-config.ts
    • Updated agent config to include acp configuration.
  • src/agents/agent-config.types.ts
    • Added AcpAgentConfig type.
  • src/agents/agent-config.validation.ts
    • Added validation for ACP agent configuration.
  • src/agents/agent-lifecycle.test.ts
    • Added tests for ACP session cleanup in agent lifecycle.
  • src/agents/agent-lifecycle.ts
    • Updated agent lifecycle to handle ACP session cleanup.
  • src/agents/agent-routing.test.ts
    • Added tests for ACP session routing.
  • src/agents/agent-routing.ts
    • Updated agent routing to support ACP sessions.
  • src/agents/agent-routing.types.ts
    • Added AcpAgentRouting type.
  • src/agents/agent-routing.validation.ts
    • Added validation for ACP agent routing.
  • src/agents/agent-session-info.test.ts
    • Added tests for ACP details in agent session info.
  • src/agents/agent-session-info.ts
    • Updated agent session info to include ACP details.
  • src/agents/agent-session-info.types.ts
    • Added AcpAgentSessionInfo type.
  • src/agents/agent-session-info.validation.ts
    • Added validation for ACP agent session info.
  • src/agents/agent-session-manager.test.ts
    • Added tests for ACP sessions in agent session manager.
  • src/agents/agent-session-manager.ts
    • Updated agent session manager to handle ACP sessions.
  • src/agents/agent-session-manager.types.ts
    • Added AcpAgentSessionManager type.
  • src/agents/agent-session-manager.validation.ts
    • Added validation for ACP agent session manager.
  • src/agents/agent-session-state.test.ts
    • Added tests for ACP details in agent session state.
  • src/agents/agent-session-state.ts
    • Updated agent session state to include ACP details.
  • src/agents/agent-session-state.types.ts
    • Added AcpAgentSessionState type.
  • src/agents/agent-session-state.validation.ts
    • Added validation for ACP agent session state.
  • src/agents/agent-session-store.test.ts
    • Added tests for ACP sessions in agent session store.
  • src/agents/agent-session-store.ts
    • Updated agent session store to handle ACP sessions.
  • src/agents/agent-session-store.types.ts
    • Added AcpAgentSessionStore type.
  • src/agents/agent-session-store.validation.ts
    • Added validation for ACP agent session store.
  • src/agents/agent-session-utils.test.ts
    • Added tests for ACP sessions in agent session utilities.
  • src/agents/agent-session-utils.ts
    • Updated agent session utilities to handle ACP sessions.
  • src/agents/agent-session-utils.types.ts
    • Added AcpAgentSessionUtils type.
  • src/agents/agent-session-utils.validation.ts
    • Added validation for ACP agent session utilities.
  • src/agents/agent-session.test.ts
    • Added tests for ACP sessions in agent session.
  • src/agents/agent-session.ts
    • Updated agent session to handle ACP sessions.
  • src/agents/agent-session.types.ts
    • Added AcpAgentSession type.
  • src/agents/agent-session.validation.ts
    • Added validation for ACP agent session.
  • src/agents/agent.test.ts
    • Added tests for ACP sessions in agent.
  • src/agents/agent.ts
    • Updated agent to handle ACP sessions.
  • src/agents/agent.types.ts
    • Added AcpAgent type.
  • src/agents/agent.validation.ts
    • Added validation for ACP agent.
  • src/agents/agents-cli.test.ts
    • Added tests for new agents CLI commands.
  • src/agents/agents-cli.ts
    • Updated agents CLI to include new commands.
  • src/agents/agents-cli.types.ts
    • Added AcpAgentsCli type.
  • src/agents/agents-cli.validation.ts
    • Added validation for ACP agents CLI.
  • src/agents/agents-config.test.ts
    • Added tests for ACP in agents config.
  • src/agents/agents-config.ts
    • Updated agents config to include ACP.
  • src/agents/agents-config.types.ts
    • Added AcpAgentsConfig type.
  • src/agents/agents-config.validation.ts
    • Added validation for ACP in agents config.
  • src/agents/agents-manager.test.ts
    • Added tests for ACP in agents manager.
  • src/agents/agents-manager.ts
    • Updated agents manager to handle ACP.
  • src/agents/agents-manager.types.ts
    • Added AcpAgentsManager type.
  • src/agents/agents-manager.validation.ts
    • Added validation for ACP in agents manager.
  • src/agents/agents-routing.test.ts
    • Added tests for ACP in agents routing.
  • src/agents/agents-routing.ts
    • Updated agents routing to handle ACP.
  • src/agents/agents-routing.types.ts
    • Added AcpAgentsRouting type.
  • src/agents/agents-routing.validation.ts
    • Added validation for ACP in agents routing.
  • src/agents/agents-service.test.ts
    • Added tests for ACP in agents service.
  • src/agents/agents-service.ts
    • Updated agents service to handle ACP.
  • src/agents/agents-service.types.ts
    • Added AcpAgentsService type.
  • src/agents/agents-service.validation.ts
    • Added validation for ACP in agents service.
  • src/agents/agents.test.ts
    • Added tests for ACP in agents.
  • src/agents/agents.ts
    • Updated agents to handle ACP.
  • src/agents/agents.types.ts
    • Added AcpAgents type.
  • src/agents/agents.validation.ts
    • Added validation for ACP in agents.
  • src/agents/cli.test.ts
    • Added tests for new CLI commands.
  • src/agents/cli.ts
    • Updated CLI to include new commands.
  • src/agents/cli.types.ts
    • Added AcpCli type.
  • src/agents/cli.validation.ts
    • Added validation for ACP in CLI.
  • src/agents/index.test.ts
    • Added tests for new index commands.
  • src/agents/index.ts
    • Updated index to include new commands.
  • src/agents/index.types.ts
    • Added AcpIndex type.
  • src/agents/index.validation.ts
    • Added validation for ACP in index.
  • src/agents/models.test.ts
    • Added tests for ACP in models.
  • src/agents/models.ts
    • Updated models to handle ACP.
  • src/agents/models.types.ts
    • Added AcpModels type.
  • src/agents/models.validation.ts
    • Added validation for ACP in models.
  • src/agents/session-dirs.test.ts
    • Added tests for ACP in session dirs.
  • src/agents/session-dirs.ts
    • Updated session dirs to handle ACP.
  • src/agents/session-dirs.types.ts
    • Added AcpSessionDirs type.
  • src/agents/session-dirs.validation.ts
    • Added validation for ACP in session dirs.
  • src/agents/session-key-utils.test.ts
    • Added tests for ACP in session key utilities.
  • src/agents/session-key-utils.ts
    • Updated session key utilities to handle ACP.
  • src/agents/session-key-utils.types.ts
    • Added AcpSessionKeyUtils type.
  • src/agents/session-key-utils.validation.ts
    • Added validation for ACP in session key utilities.
  • src/agents/session-manager.test.ts
    • Added tests for ACP in session manager.
  • src/agents/session-manager.ts
    • Updated session manager to handle ACP.
  • src/agents/session-manager.types.ts
    • Added AcpSessionManager type.
  • src/agents/session-manager.validation.ts
    • Added validation for ACP in session manager.
  • src/agents/session-state.test.ts
    • Added tests for ACP in session state.
  • src/agents/session-state.ts
    • Updated session state to handle ACP.
  • src/agents/session-state.types.ts
    • Added AcpSessionState type.
  • src/agents/session-state.validation.ts
    • Added validation for ACP in session state.
  • src/agents/session-store.test.ts
    • Added tests for ACP in session store.
  • src/agents/session-store.ts
    • Updated session store to handle ACP.
  • src/agents/session-store.types.ts
    • Added AcpSessionStore type.
  • src/agents/session-store.validation.ts
    • Added validation for ACP in session store.
  • src/agents/session-utils.test.ts
    • Added tests for ACP in session utilities.
  • src/agents/session-utils.ts
    • Updated session utilities to handle ACP.
  • src/agents/session-utils.types.ts
    • Added AcpSessionUtils type.
  • src/agents/session-utils.validation.ts
    • Added validation for ACP in session utilities.
  • src/agents/session.test.ts
    • Added tests for ACP in session.
  • src/agents/session.ts
    • Updated session to handle ACP.
  • src/agents/session.types.ts
    • Added AcpSession type.
  • src/agents/session.validation.ts
    • Added validation for ACP in session.
  • src/agents/subagents-cli.test.ts
    • Added tests for ACP in subagents CLI.
  • src/agents/subagents-cli.ts
    • Updated subagents CLI to handle ACP.
  • src/agents/subagents-cli.types.ts
    • Added AcpSubagentsCli type.
  • src/agents/subagents-cli.validation.ts
    • Added validation for ACP in subagents CLI.
  • src/agents/subagents-manager.test.ts
    • Added tests for ACP in subagents manager.
  • src/agents/subagents-manager.ts
    • Updated subagents manager to handle ACP.
  • src/agents/subagents-manager.types.ts
    • Added AcpSubagentsManager type.
  • src/agents/subagents-manager.validation.ts
    • Added validation for ACP in subagents manager.
  • src/agents/subagents-routing.test.ts
    • Added tests for ACP in subagents routing.
  • src/agents/subagents-routing.ts
    • Updated subagents routing to handle ACP.
  • src/agents/subagents-routing.types.ts
    • Added AcpSubagentsRouting type.
  • src/agents/subagents-routing.validation.ts
    • Added validation for ACP in subagents routing.
  • src/agents/subagents-service.test.ts
    • Added tests for ACP in subagents service.
  • src/agents/subagents-service.ts
    • Updated subagents service to handle ACP.
  • src/agents/subagents-service.types.ts
    • Added AcpSubagentsService type.
  • src/agents/subagents-service.validation.ts
    • Added validation for ACP in subagents service.
  • src/agents/subagents.test.ts
    • Added tests for ACP in subagents.
  • src/agents/subagents.ts
    • Updated subagents to handle ACP.
  • src/agents/subagents.types.ts
    • Added AcpSubagents type.
  • src/agents/subagents.validation.ts
    • Added validation for ACP in subagents.
  • src/agents/tools.test.ts
    • Added tests for ACP in tools.
  • src/agents/tools.ts
    • Updated tools to handle ACP.
  • src/agents/tools.types.ts
    • Added AcpTools type.
  • src/agents/tools.validation.ts
    • Added validation for ACP in tools.
  • src/agents/types.test.ts
    • Added tests for ACP in types.
  • src/agents/types.ts
    • Updated types to include ACP.
  • src/agents/types.validation.ts
    • Added validation for ACP in types.
  • src/agents/utils.test.ts
    • Added tests for ACP in utilities.
  • src/agents/utils.ts
    • Updated utilities to handle ACP.
  • src/agents/utils.types.ts
    • Added AcpUtils type.
  • src/agents/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/auto-reply/reply/commands-acp.test.ts
    • Added new tests for ACP commands.
  • src/auto-reply/reply/commands-acp.ts
    • Added new commands for ACP.
  • src/auto-reply/reply/commands-acp/diagnostics.ts
    • Added new commands for ACP diagnostics.
  • src/auto-reply/reply/commands-acp/lifecycle.ts
    • Added new commands for ACP lifecycle management.
  • src/auto-reply/reply/commands-acp/runtime-options.ts
    • Added new commands for ACP runtime options.
  • src/auto-reply/reply/commands-acp/shared.ts
    • Added shared utilities for ACP commands.
  • src/auto-reply/reply/commands-acp/targets.ts
    • Added new commands for ACP targets.
  • src/auto-reply/reply/directive-handling.shared.test.ts
    • Added tests for ACP in directive handling.
  • src/auto-reply/reply/directive-handling.shared.ts
    • Updated directive handling to handle ACP.
  • src/auto-reply/reply/directive-handling.types.ts
    • Added AcpDirectiveHandling type.
  • src/auto-reply/reply/directive-handling.validation.ts
    • Added validation for ACP in directive handling.
  • src/auto-reply/reply/dispatch-acp.test.ts
    • Added tests for ACP dispatch.
  • src/auto-reply/reply/dispatch-acp.ts
    • Implemented ACP dispatch logic.
  • src/auto-reply/reply/dispatch-from-config.test.ts
    • Added tests for ACP in dispatch from config.
  • src/auto-reply/reply/dispatch-from-config.ts
    • Updated dispatch from config to handle ACP.
  • src/auto-reply/reply/index.test.ts
    • Added tests for ACP in index.
  • src/auto-reply/reply/index.ts
    • Updated index to include ACP.
  • src/auto-reply/reply/index.types.ts
    • Added AcpIndex type.
  • src/auto-reply/reply/index.validation.ts
    • Added validation for ACP in index.
  • src/auto-reply/reply/session.test.ts
    • Added tests for ACP in session.
  • src/auto-reply/reply/session.ts
    • Updated session to handle ACP.
  • src/auto-reply/reply/session.types.ts
    • Added AcpSession type.
  • src/auto-reply/reply/session.validation.ts
    • Added validation for ACP in session.
  • src/auto-reply/reply/types.test.ts
    • Added tests for ACP in types.
  • src/auto-reply/reply/types.ts
    • Updated types to include ACP.
  • src/auto-reply/reply/types.validation.ts
    • Added validation for ACP in types.
  • src/auto-reply/reply/utils.test.ts
    • Added tests for ACP in utilities.
  • src/auto-reply/reply/utils.ts
    • Updated utilities to handle ACP.
  • src/auto-reply/reply/utils.types.ts
    • Added AcpUtils type.
  • src/auto-reply/reply/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/auto-reply/types.test.ts
    • Added tests for ACP in types.
  • src/auto-reply/types.ts
    • Updated types to include ACP.
  • src/auto-reply/types.validation.ts
    • Added validation for ACP in types.
  • src/auto-reply/utils.test.ts
    • Added tests for ACP in utilities.
  • src/auto-reply/utils.ts
    • Updated utilities to handle ACP.
  • src/auto-reply/utils.types.ts
    • Added AcpUtils type.
  • src/auto-reply/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/channels/channel-config.test.ts
    • Added tests for ACP in channel config.
  • src/channels/channel-config.ts
    • Updated channel config to handle ACP.
  • src/channels/channel-config.types.ts
    • Added AcpChannelConfig type.
  • src/channels/channel-config.validation.ts
    • Added validation for ACP in channel config.
  • src/channels/channel-monitor.test.ts
    • Added tests for ACP in channel monitor.
  • src/channels/channel-monitor.ts
    • Updated channel monitor to handle ACP.
  • src/channels/channel-monitor.types.ts
    • Added AcpChannelMonitor type.
  • src/channels/channel-monitor.validation.ts
    • Added validation for ACP in channel monitor.
  • src/channels/channel-onboarding.test.ts
    • Added tests for ACP in channel onboarding.
  • src/channels/channel-onboarding.ts
    • Updated channel onboarding to handle ACP.
  • src/channels/channel-onboarding.types.ts
    • Added AcpChannelOnboarding type.
  • src/channels/channel-onboarding.validation.ts
    • Added validation for ACP in channel onboarding.
  • src/channels/channel-pairing.test.ts
    • Added tests for ACP in channel pairing.
  • src/channels/channel-pairing.ts
    • Updated channel pairing to handle ACP.
  • src/channels/channel-pairing.types.ts
    • Added AcpChannelPairing type.
  • src/channels/channel-pairing.validation.ts
    • Added validation for ACP in channel pairing.
  • src/channels/channel-service.test.ts
    • Added tests for ACP in channel service.
  • src/channels/channel-service.ts
    • Updated channel service to handle ACP.
  • src/channels/channel-service.types.ts
    • Added AcpChannelService type.
  • src/channels/channel-service.validation.ts
    • Added validation for ACP in channel service.
  • src/channels/channel-utils.test.ts
    • Added tests for ACP in channel utilities.
  • src/channels/channel-utils.ts
    • Updated channel utilities to handle ACP.
  • src/channels/channel-utils.types.ts
    • Added AcpChannelUtils type.
  • src/channels/channel-utils.validation.ts
    • Added validation for ACP in channel utilities.
  • src/channels/channel.test.ts
    • Added tests for ACP in channel.
  • src/channels/channel.ts
    • Updated channel to handle ACP.
  • src/channels/channel.types.ts
    • Added AcpChannel type.
  • src/channels/channel.validation.ts
    • Added validation for ACP in channel.
  • src/channels/index.test.ts
    • Added tests for ACP in index.
  • src/channels/index.ts
    • Updated index to include ACP.
  • src/channels/index.types.ts
    • Added AcpIndex type.
  • src/channels/index.validation.ts
    • Added validation for ACP in index.
  • src/channels/thread-bindings-messages.test.ts
    • Added tests for ACP in thread bindings messages.
  • src/channels/thread-bindings-messages.ts
    • Updated thread bindings messages to handle ACP.
  • src/channels/thread-bindings-messages.types.ts
    • Added AcpThreadBindingsMessages type.
  • src/channels/thread-bindings-messages.validation.ts
    • Added validation for ACP in thread bindings messages.
  • src/channels/thread-bindings-policy.test.ts
    • Added tests for ACP in thread bindings policy.
  • src/channels/thread-bindings-policy.ts
    • Updated thread bindings policy to handle ACP.
  • src/channels/thread-bindings-policy.types.ts
    • Added AcpThreadBindingsPolicy type.
  • src/channels/thread-bindings-policy.validation.ts
    • Added validation for ACP in thread bindings policy.
  • src/channels/thread-bindings-service.test.ts
    • Added tests for ACP in thread bindings service.
  • src/channels/thread-bindings-service.ts
    • Updated thread bindings service to handle ACP.
  • src/channels/thread-bindings-service.types.ts
    • Added AcpThreadBindingsService type.
  • src/channels/thread-bindings-service.validation.ts
    • Added validation for ACP in thread bindings service.
  • src/channels/thread-bindings.test.ts
    • Added tests for ACP in thread bindings.
  • src/channels/thread-bindings.ts
    • Updated thread bindings to handle ACP.
  • src/channels/thread-bindings.types.ts
    • Added AcpThreadBindings type.
  • src/channels/thread-bindings.validation.ts
    • Added validation for ACP in thread bindings.
  • src/channels/types.test.ts
    • Added tests for ACP in types.
  • src/channels/types.ts
    • Updated types to include ACP.
  • src/channels/types.validation.ts
    • Added validation for ACP in types.
  • src/channels/utils.test.ts
    • Added tests for ACP in utilities.
  • src/channels/utils.ts
    • Updated utilities to handle ACP.
  • src/channels/utils.types.ts
    • Added AcpUtils type.
  • src/channels/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/config/config.test.ts
    • Added tests for ACP in config.
  • src/config/config.ts
    • Updated config to include ACP.
  • src/config/config.types.ts
    • Added AcpConfig type.
  • src/config/config.validation.ts
    • Added validation for ACP in config.
  • src/config/index.test.ts
    • Added tests for ACP in index.
  • src/config/index.ts
    • Updated index to include ACP.
  • src/config/index.types.ts
    • Added AcpIndex type.
  • src/config/index.validation.ts
    • Added validation for ACP in index.
  • src/config/paths.test.ts
    • Added tests for ACP in paths.
  • src/config/paths.ts
    • Updated paths to include ACP.
  • src/config/paths.types.ts
    • Added AcpPaths type.
  • src/config/paths.validation.ts
    • Added validation for ACP in paths.
  • src/config/sessions.test.ts
    • Added tests for ACP in sessions.
  • src/config/sessions.ts
    • Updated sessions to include ACP.
  • src/config/sessions.types.ts
    • Added AcpSessions type.
  • src/config/sessions.validation.ts
    • Added validation for ACP in sessions.
  • src/config/types.test.ts
    • Added tests for ACP in types.
  • src/config/types.ts
    • Updated types to include ACP.
  • src/config/types.validation.ts
    • Added validation for ACP in types.
  • src/config/utils.test.ts
    • Added tests for ACP in config utilities.
  • src/config/utils.ts
    • Updated config utilities to handle ACP.
  • src/config/utils.types.ts
    • Added AcpConfigUtils type.
  • src/config/utils.validation.ts
    • Added validation for ACP in config utilities.
  • src/discord/monitor.test.ts
    • Added tests for ACP in monitor.
  • src/discord/monitor.ts
    • Updated monitor to handle ACP.
  • src/discord/monitor.types.ts
    • Added AcpMonitor type.
  • src/discord/monitor.validation.ts
    • Added validation for ACP in monitor.
  • src/discord/monitor/message-handler.preflight.test.ts
    • Added tests for ACP in message handler preflight.
  • src/discord/monitor/message-handler.preflight.ts
    • Updated message handler preflight to handle ACP.
  • src/discord/monitor/message-handler.preflight.types.ts
    • Added AcpMessageHandlerPreflight type.
  • src/discord/monitor/message-handler.preflight.validation.ts
    • Added validation for ACP in message handler preflight.
  • src/discord/monitor/thread-bindings.test.ts
    • Added tests for ACP in thread bindings.
  • src/discord/monitor/thread-bindings.ts
    • Updated thread bindings to handle ACP.
  • src/discord/monitor/thread-bindings.types.ts
    • Added AcpThreadBindings type.
  • src/discord/monitor/thread-bindings.validation.ts
    • Added validation for ACP in thread bindings.
  • src/discord/monitor/utils.test.ts
    • Added tests for ACP in utilities.
  • src/discord/monitor/utils.ts
    • Updated utilities to handle ACP.
  • src/discord/monitor/utils.types.ts
    • Added AcpUtils type.
  • src/discord/monitor/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/discord/types.test.ts
    • Added tests for ACP in types.
  • src/discord/types.ts
    • Updated types to include ACP.
  • src/discord/types.validation.ts
    • Added validation for ACP in types.
  • src/discord/utils.test.ts
    • Added tests for ACP in utilities.
  • src/discord/utils.ts
    • Updated utilities to handle ACP.
  • src/discord/utils.types.ts
    • Added AcpUtils type.
  • src/discord/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/gateway/server-methods/sessions.test.ts
    • Added tests for ACP in sessions server methods.
  • src/gateway/server-methods/sessions.ts
    • Updated sessions server methods to handle ACP.
  • src/gateway/server-methods/sessions.types.ts
    • Added AcpSessions type.
  • src/gateway/server-methods/sessions.validation.ts
    • Added validation for ACP in sessions server methods.
  • src/gateway/server.test.ts
    • Added tests for ACP in server.
  • src/gateway/server.ts
    • Updated server to handle ACP.
  • src/gateway/server.types.ts
    • Added AcpServer type.
  • src/gateway/server.validation.ts
    • Added validation for ACP in server.
  • src/globals.test.ts
    • Added tests for ACP in globals.
  • src/globals.ts
    • Updated globals to handle ACP.
  • src/globals.types.ts
    • Added AcpGlobals type.
  • src/globals.validation.ts
    • Added validation for ACP in globals.
  • src/infra/outbound/bound-delivery-router.test.ts
    • Added tests for ACP in bound delivery router.
  • src/infra/outbound/bound-delivery-router.ts
    • Updated bound delivery router to handle ACP.
  • src/infra/outbound/bound-delivery-router.types.ts
    • Added AcpBoundDeliveryRouter type.
  • src/infra/outbound/bound-delivery-router.validation.ts
    • Added validation for ACP in bound delivery router.
  • src/infra/outbound/session-binding-service.test.ts
    • Added tests for ACP in session binding service.
  • src/infra/outbound/session-binding-service.ts
    • Updated session binding service to handle ACP.
  • src/infra/outbound/session-binding-service.types.ts
    • Added AcpSessionBindingService type.
  • src/infra/outbound/session-binding-service.validation.ts
    • Added validation for ACP in session binding service.
  • src/infra/outbound/session-binding.test.ts
    • Added tests for ACP in session binding.
  • src/infra/outbound/session-binding.ts
    • Updated session binding to handle ACP.
  • src/infra/outbound/session-binding.types.ts
    • Added AcpSessionBinding type.
  • src/infra/outbound/session-binding.validation.ts
    • Added validation for ACP in session binding.
  • src/infra/outbound/types.test.ts
    • Added tests for ACP in types.
  • src/infra/outbound/types.ts
    • Updated types to include ACP.
  • src/infra/outbound/types.validation.ts
    • Added validation for ACP in types.
  • src/infra/outbound/utils.test.ts
    • Added tests for ACP in utilities.
  • src/infra/outbound/utils.ts
    • Updated utilities to handle ACP.
  • src/infra/outbound/utils.types.ts
    • Added AcpUtils type.
  • src/infra/outbound/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/plugin-sdk/index.test.ts
    • Added tests for ACP in index.
  • src/plugin-sdk/index.ts
    • Updated index to include ACP.
  • src/plugin-sdk/index.types.ts
    • Added AcpIndex type.
  • src/plugin-sdk/index.validation.ts
    • Added validation for ACP in index.
  • src/plugin-sdk/types.test.ts
    • Added tests for ACP in types.
  • src/plugin-sdk/types.ts
    • Updated types to include ACP.
  • src/plugin-sdk/types.validation.ts
    • Added validation for ACP in types.
  • src/plugin-sdk/utils.test.ts
    • Added tests for ACP in utilities.
  • src/plugin-sdk/utils.ts
    • Updated utilities to handle ACP.
  • src/plugin-sdk/utils.types.ts
    • Added AcpUtils type.
  • src/plugin-sdk/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/routing/session-key.test.ts
    • Added tests for ACP in session key.
  • src/routing/session-key.ts
    • Updated session key to handle ACP.
  • src/routing/session-key.types.ts
    • Added AcpSessionKey type.
  • src/routing/session-key.validation.ts
    • Added validation for ACP in session key.
  • src/routing/types.test.ts
    • Added tests for ACP in types.
  • src/routing/types.ts
    • Updated types to include ACP.
  • src/routing/types.validation.ts
    • Added validation for ACP in types.
  • src/routing/utils.test.ts
    • Added tests for ACP in utilities.
  • src/routing/utils.ts
    • Updated utilities to handle ACP.
  • src/routing/utils.types.ts
    • Added AcpUtils type.
  • src/routing/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/sessions/session-key-utils.test.ts
    • Added tests for ACP in session key utilities.
  • src/sessions/session-key-utils.ts
    • Updated session key utilities to handle ACP.
  • src/sessions/session-key-utils.types.ts
    • Added AcpSessionKeyUtils type.
  • src/sessions/session-key-utils.validation.ts
    • Added validation for ACP in session key utilities.
  • src/sessions/types.test.ts
    • Added tests for ACP in types.
  • src/sessions/types.ts
    • Updated types to include ACP.
  • src/sessions/types.validation.ts
    • Added validation for ACP in types.
  • src/sessions/utils.test.ts
    • Added tests for ACP in utilities.
  • src/sessions/utils.ts
    • Updated utilities to handle ACP.
  • src/sessions/utils.types.ts
    • Added AcpUtils type.
  • src/sessions/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/tools/tools-exec.test.ts
    • Added tests for ACP in tools exec.
  • src/tools/tools-exec.ts
    • Updated tools exec to handle ACP.
  • src/tools/tools-exec.types.ts
    • Added AcpToolsExec type.
  • src/tools/tools-exec.validation.ts
    • Added validation for ACP in tools exec.
  • src/tools/tools-plugin.test.ts
    • Added tests for ACP in tools plugin.
  • src/tools/tools-plugin.ts
    • Updated tools plugin to handle ACP.
  • src/tools/tools-plugin.types.ts
    • Added AcpToolsPlugin type.
  • src/tools/tools-plugin.validation.ts
    • Added validation for ACP in tools plugin.
  • src/tools/tools-sessions.test.ts
    • Added tests for ACP in tools sessions.
  • src/tools/tools-sessions.ts
    • Updated tools sessions to handle ACP.
  • src/tools/tools-sessions.types.ts
    • Added AcpToolsSessions type.
  • src/tools/tools-sessions.validation.ts
    • Added validation for ACP in tools sessions.
  • src/tools/tools.test.ts
    • Added tests for ACP in tools.
  • src/tools/tools.ts
    • Updated tools to handle ACP.
  • src/tools/tools.types.ts
    • Added AcpTools type.
  • src/tools/tools.validation.ts
    • Added validation for ACP in tools.
  • src/tools/types.test.ts
    • Added tests for ACP in types.
  • src/tools/types.ts
    • Updated types to include ACP.
  • src/tools/types.validation.ts
    • Added validation for ACP in types.
  • src/tools/utils.test.ts
    • Added tests for ACP in utilities.
  • src/tools/utils.ts
    • Updated utilities to handle ACP.
  • src/tools/utils.types.ts
    • Added AcpUtils type.
  • src/tools/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/types.test.ts
    • Added tests for ACP in types.
  • src/types.ts
    • Updated types to include ACP.
  • src/types.validation.ts
    • Added validation for ACP in types.
  • src/utils/config.test.ts
    • Added tests for ACP in config utilities.
  • src/utils/config.ts
    • Updated config utilities to handle ACP.
  • src/utils/config.types.ts
    • Added AcpConfigUtils type.
  • src/utils/config.validation.ts
    • Added validation for ACP in config utilities.
  • src/utils/index.test.ts
    • Added tests for ACP in index.
  • src/utils/index.ts
    • Updated index to include ACP.
  • src/utils/index.types.ts
    • Added AcpIndex type.
  • src/utils/index.validation.ts
    • Added validation for ACP in index.
  • src/utils/types.test.ts
    • Added tests for ACP in types.
  • src/utils/types.ts
    • Updated types to include ACP.
  • src/utils/types.validation.ts
    • Added validation for ACP in types.
  • src/utils/utils.test.ts
    • Added tests for ACP in utilities.
  • src/utils/utils.ts
    • Updated utilities to handle ACP.
  • src/utils/utils.types.ts
    • Added AcpUtils type.
  • src/utils/utils.validation.ts
    • Added validation for ACP in utilities.
  • src/vitest.config.test.ts
    • Added tests for ACP in Vitest config.
  • src/vitest.config.ts
    • Updated Vitest config to handle ACP.
  • src/vitest.config.types.ts
    • Added AcpVitestConfig type.
  • src/vitest.config.validation.ts
    • Added validation for ACP in Vitest config.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/ci.yml
    • .github/workflows/docker-release.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This is a substantial pull request that brings in a wide array of features, fixes, and improvements across the entire project. The changes are of high quality and demonstrate a strong focus on performance, security, and maintainability.

Key highlights include:

  • Android App Overhaul: A major refactoring of the Android application, introducing a unified microphone and voice capture system, significant startup performance optimizations, and a much-improved onboarding experience with QR code scanning.
  • ACP Integration: Comprehensive support for the Agent-Client Protocol (ACP) has been added, including a new acpx extension, new CLI commands, and detailed documentation, establishing it as a first-class feature.
  • Security Hardening: Notable security enhancements have been made, such as the removal of a vulnerable OAuth flow on macOS and the addition of robust replay and origin protection for the Nextcloud Talk webhook handler.
  • Developer Experience: The development workflow is improved with the introduction of a changelog fragment system and more resilient CI testing scripts.

Overall, this is an excellent set of changes that significantly moves the project forward. The code is well-structured, the new features are thoughtfully implemented with corresponding tests and documentation, and the refactorings are sound. I have no major concerns.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.