Peter Steinberger
ed9cd846d0
chore(deps): refresh grammy and @types/node
2026-02-26 16:22:53 +01:00
Onur Solmaz
a7d56e3554
feat: ACP thread-bound agents ( #23580 )
...
* 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 (#23580 ) (thanks @osolmaz)
2026-02-26 11:00:09 +01:00
Peter Steinberger
876018f322
chore(deps): update dependencies and lockfile
2026-02-26 01:31:36 +01:00
Peter Steinberger
8470dff619
chore(deps): update dependencies except carbon
2026-02-25 01:10:36 +00:00
Peter Steinberger
9cd50c51b0
fix(discord): harden voice DAVE receive reliability ( #25861 )
...
Reimplements and consolidates related work:
- #24339 stale disconnect/destroyed session guards
- #25312 voice listener cleanup on stop
- #23036 restore @snazzah/davey runtime dependency
Adds Discord voice DAVE config passthrough, repeated decrypt failure
rejoin recovery, regression tests, docs, and changelog updates.
Co-authored-by: Frank Yang <frank.ekn@gmail.com >
Co-authored-by: Do Cao Hieu <admin@docaohieu.com >
2026-02-25 00:19:50 +00:00
Shakker
039ae0b77c
chore: refresh lockfile after plugin devDependency cleanup
2026-02-24 22:50:47 +00:00
Peter Steinberger
cb450fd31f
fix: align lockfile with diagnostics-otel proto deps ( #24991 ) (thanks @stakeswky)
2026-02-24 04:34:49 +00:00
Peter Steinberger
2880fb3cb8
fix: sync lockfile for diagnostics-otel deps ( #24991 ) (thanks @stakeswky)
2026-02-24 04:34:49 +00:00
Peter Steinberger
cc8e6e9939
fix(synology-chat): align docs metadata and declare runtime deps
2026-02-23 01:24:51 +01:00
Peter Steinberger
427b4360b9
build: update deps and stabilize tests
2026-02-22 23:32:38 +01:00
Peter Steinberger
95e85e627e
fix(feishu): restore group command fallback and plugin deps
2026-02-22 19:13:19 +01:00
Peter Steinberger
3c6a15ce98
fix(discord): make opus optional and log fallback
2026-02-22 18:47:09 +01:00
Peter Steinberger
333fbb8634
refactor(net): consolidate IP checks with ipaddr.js
2026-02-22 17:02:44 +01:00
Jean-Marc
03586e3d00
feat(channels): add Synology Chat native channel ( #23012 )
...
* feat(channels): add Synology Chat native channel
Webhook-based integration with Synology NAS Chat (DSM 7+).
Supports outgoing webhooks, incoming messages, multi-account,
DM policies, rate limiting, and input sanitization.
- HMAC-based constant-time token validation
- Configurable SSL verification (allowInsecureSsl) for self-signed NAS certs
- 54 unit tests across 5 test suites
- Follows the same ChannelPlugin pattern as LINE/Discord/Telegram
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* feat(synology-chat): add pairing, warnings, messaging, agent hints
- Enable media capability (file_url already supported by client)
- Add pairing.notifyApproval to message approved users
- Add security.collectWarnings for missing token/URL, insecure SSL, open DM policy
- Add messaging.normalizeTarget and targetResolver for user ID resolution
- Add directory stubs (self, listPeers, listGroups)
- Add agentPrompt.messageToolHints with Synology Chat formatting guide
- 63 tests (up from 54), all passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 00:09:58 +01:00
Peter Steinberger
892620ddab
chore: update workspace dependencies
2026-02-21 14:35:13 +01:00
Vincent Koc
f4a59eb5d8
Chore: harden A2UI bundle dependency resolution ( #22507 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: d84c5bde51
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-21 13:16:31 +05:30
Vincent Koc
187f4ea41f
deadcode: remove unused extension dev dependencies ( #22495 )
...
* Chore: remove unused extension dev dependencies
* Chore: fix changelog PR reference
* Chore: restore dropped deadcode changelog entries
* Chore: retag unused-dependency changelog entries
2026-02-21 02:15:43 -05:00
Vincent Koc
55eab106ac
chore: remove root long and rolldown deps ( #22481 )
...
* chore(deadcode): add deadcode scanning and remove unused lockfile deps
* chore(changelog): mention deadcode CI scan pass
* ci: disable deadcode job temporarily
* docs(changelog): add PR ref and thanks for deadcode scan entry
* ci: comment out deadcode job condition while keeping it disabled
* Deps: remove dead root dependency from package manifest
* Changelog: reference PR for deadcode dependency cleanup
* Deps: remove unused root signal-utils
* Chore: remove unused lit context deps
* Chore: remove unused root lit dependency
* Chore: remove root long and rolldown deps
* Chore: add changelog for root long/rolldown removal
* Chore: fix a2ui bundling after root lit dependency removal
* Chore: simplify a2ui bundle script dependencies
2026-02-21 02:05:41 -05:00
Vincent Koc
3b8d7b2e42
deps: remove dead root dependency ( #22471 )
...
* chore(deadcode): add deadcode scanning and remove unused lockfile deps
* chore(changelog): mention deadcode CI scan pass
* ci: disable deadcode job temporarily
* docs(changelog): add PR ref and thanks for deadcode scan entry
* ci: comment out deadcode job condition while keeping it disabled
* Deps: remove dead root dependency from package manifest
* Changelog: reference PR for deadcode dependency cleanup
* Deps: remove unused root signal-utils
2026-02-21 01:33:45 -05:00
Vincent Koc
d3bb924709
chore(deadcode): add deadcode scanning and remove unused lockfile deps ( #22468 )
...
* chore(deadcode): add deadcode scanning and remove unused lockfile deps
* chore(changelog): mention deadcode CI scan pass
* ci: disable deadcode job temporarily
* docs(changelog): add PR ref and thanks for deadcode scan entry
* ci: comment out deadcode job condition while keeping it disabled
2026-02-21 01:29:20 -05:00
Shadow
4ab946eebf
Discord VC: voice channels, transcription, and TTS ( #18774 )
2026-02-20 16:06:07 -06:00
Tak Hoffman
14618af237
chore: bump Pi SDK packages to 0.54.0 (openclaw#21578) thanks @Takhoffman
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 22:04:33 -06:00
Vincent Koc
ce2a39a271
Security: bump hono for timing-safe auth hardening
2026-02-19 15:13:38 -08:00
Peter Steinberger
d9046f0d2a
chore(deps): update dependencies to latest
2026-02-19 14:46:16 +01:00
Vincent Koc
3904d7ca06
deps: migrate request to @cypress/request ( #20836 )
2026-02-19 02:41:13 -08:00
Vincent Koc
942ed89277
deps: update overrides for minimatch and fast-xml-parser ( #20832 )
2026-02-19 02:31:20 -08:00
Peter Steinberger
653add918b
chore: bump workspace dependencies
2026-02-18 01:59:08 +01:00
Nimrod Gutman
5db95cd8d5
fix(extensions): revert openai codex auth plugin (PR #18009 )
2026-02-17 10:40:13 +02:00
Peter Steinberger
2992639f88
Revert "feat: add Linq channel — real iMessage via API, no Mac required"
...
This reverts commit d4a142fd8f .
2026-02-17 02:30:55 +01:00
cpojer
1e13a3933c
chore: Update deps.
2026-02-17 09:14:42 +09:00
Ralph
45b3c883b8
fix: regenerate pnpm lockfile
2026-02-17 00:01:00 +01:00
boris
4cd75d5d0f
fix: remove accidental openclaw link dependency
2026-02-17 00:00:57 +01:00
boris
ffe700bf94
fix: use proper pi-mono dark theme colors for export HTML
2026-02-17 00:00:57 +01:00
George McCain
d4a142fd8f
feat: add Linq channel — real iMessage via API, no Mac required
...
Adds a complete Linq iMessage channel adapter that replaces the existing
iMessage channel's Mac Mini + dedicated Apple ID + SSH wrapper + Full Disk
Access setup with a single API key and phone number.
Core implementation (src/linq/):
- types.ts: Linq webhook event and message types
- accounts.ts: Multi-account resolution from config (env/file/inline token)
- send.ts: REST outbound via Linq Blue V3 API (messages, typing, reactions)
- probe.ts: Health check via GET /v3/phonenumbers
- monitor.ts: Webhook HTTP server with HMAC-SHA256 signature verification,
replay protection, inbound debouncing, and full dispatch pipeline integration
Extension plugin (extensions/linq/):
- ChannelPlugin implementation with config, security, setup, outbound,
gateway, and status adapters
- Supports direct and group chats, reactions, and media
Wiring:
- Channel registry, dock, config schema, plugin-sdk exports, and plugin
runtime all updated to include the new linq channel
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 23:52:56 +01:00
Shadow
d3707147c0
chore: update carbon
2026-02-16 12:45:08 -06:00
Peter Steinberger
fb6dba2058
fix(ci): align tar override and lockfile to 7.5.9
2026-02-16 05:30:02 +01:00
Peter Steinberger
61a865031f
fix: sync pnpm lockfile for docker onboard
2026-02-16 04:45:42 +01:00
Peter Steinberger
ab1dc89a2d
chore(deps): update dependencies
2026-02-16 04:15:03 +01:00
cpojer
c07036e813
chore: Update deps.
2026-02-16 09:03:29 +09:00
Vignesh Natarajan
f50db0e835
Lockfile: sync msteams specifiers
2026-02-14 17:11:44 -08:00
Peter Steinberger
d9d321f94b
chore(security): bump qs and golang.org/x/net
2026-02-14 21:22:46 +01:00
Peter Steinberger
185792b6cd
chore(deps): update dependencies
2026-02-14 21:10:20 +01:00
Peter Steinberger
bfa7d21e99
fix(security): harden tlon Urbit requests against SSRF
2026-02-14 18:42:10 +01:00
Tanwa Arpornthip
c76288bdf1
fix(slack): download all files in multi-image messages ( #15447 )
...
* fix(slack): download all files in multi-image messages
resolveSlackMedia() previously returned after downloading the first
file, causing multi-image Slack messages to lose all but the first
attachment. This changes the function to collect all successfully
downloaded files into an array, matching the pattern already used by
Telegram, Line, Discord, and iMessage adapters.
The prepare handler now populates MediaPaths, MediaUrls, and
MediaTypes arrays so downstream media processing (vision, sandbox
staging, media notes) works correctly with multiple attachments.
Fixes #11892 , #7536
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix(slack): preserve MediaTypes index alignment with MediaPaths/MediaUrls
The filter(Boolean) on MediaTypes removed entries with undefined contentType,
shrinking the array and breaking index correlation with MediaPaths and MediaUrls.
Downstream code (media-note.ts, attachments.ts) requires these arrays to have
equal lengths for correct per-attachment MIME type lookup. Replace filter(Boolean)
with a nullish coalescing fallback to "application/octet-stream".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix(slack): align MediaType fallback and tests (#15447 ) (thanks @CommanderCrowCode)
* fix: unblock plugin-sdk account-id typing (#15447 )
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-02-14 14:16:02 +01:00
ludd50155
0cb69b0f28
Discord: add gateway proxy support
...
Conflicts:
package.json
pnpm-lock.yaml
src/config/schema.ts
src/discord/monitor/provider.ts
2026-02-13 13:26:51 -06:00
cpojer
7b34b46363
chore: Update deps.
2026-02-13 09:43:41 +09:00
Peter Steinberger
722c010b95
chore(deps): update dependencies
2026-02-12 22:58:42 +01:00
Tak Hoffman
18610a587d
chore: refresh lockfile after feishu dep removal (openclaw#14423) thanks @jackcooper2015
...
Co-authored-by: jack-cooper <10961327+jackcooper2015@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-11 22:53:40 -06:00
cpojer
9df89ceda2
chore: Update deps.
2026-02-12 09:15:12 +09:00
Vignesh
fa906b26ad
feat: IRC — add first-class channel support
...
Adds IRC as a first-class channel with core config surfaces (schema/hints/dock), plugin auto-enable detection, routing/policy alignment, and docs/tests.
Co-authored-by: Vignesh <vigneshnatarajan92@gmail.com >
2026-02-10 17:33:57 -06:00