openclaw/src/plugins
Onur 8178ea472d
feat: thread-bound subagents on Discord (#21805)
* docs: thread-bound subagents plan

* docs: add exact thread-bound subagent implementation touchpoints

* Docs: prioritize auto thread-bound subagent flow

* Docs: add ACP harness thread-binding extensions

* Discord: add thread-bound session routing and auto-bind spawn flow

* Subagents: add focus commands and ACP/session binding lifecycle hooks

* Tests: cover thread bindings, focus commands, and ACP unbind hooks

* Docs: add plugin-hook appendix for thread-bound subagents

* Plugins: add subagent lifecycle hook events

* Core: emit subagent lifecycle hooks and decouple Discord bindings

* Discord: handle subagent bind lifecycle via plugin hooks

* Subagents: unify completion finalizer and split registry modules

* Add subagent lifecycle events module

* Hooks: fix subagent ended context key

* Discord: share thread bindings across ESM and Jiti

* Subagents: add persistent sessions_spawn mode for thread-bound sessions

* Subagents: clarify thread intro and persistent completion copy

* test(subagents): stabilize sessions_spawn lifecycle cleanup assertions

* Discord: add thread-bound session TTL with auto-unfocus

* Subagents: fail session spawns when thread bind fails

* Subagents: cover thread session failure cleanup paths

* Session: add thread binding TTL config and /session ttl controls

* Tests: align discord reaction expectations

* Agent: persist sessionFile for keyed subagent sessions

* Discord: normalize imports after conflict resolution

* Sessions: centralize sessionFile resolve/persist helper

* Discord: harden thread-bound subagent session routing

* Rebase: resolve upstream/main conflicts

* Subagents: move thread binding into hooks and split bindings modules

* Docs: add channel-agnostic subagent routing hook plan

* Agents: decouple subagent routing from Discord

* Discord: refactor thread-bound subagent flows

* Subagents: prevent duplicate end hooks and orphaned failed sessions

* Refactor: split subagent command and provider phases

* Subagents: honor hook delivery target overrides

* Discord: add thread binding kill switches and refresh plan doc

* Discord: fix thread bind channel resolution

* Routing: centralize account id normalization

* Discord: clean up thread bindings on startup failures

* Discord: add startup cleanup regression tests

* Docs: add long-term thread-bound subagent architecture

* Docs: split session binding plan and dedupe thread-bound doc

* Subagents: add channel-agnostic session binding routing

* Subagents: stabilize announce completion routing tests

* Subagents: cover multi-bound completion routing

* Subagents: suppress lifecycle hooks on failed thread bind

* tests: fix discord provider mock typing regressions

* docs/protocol: sync slash command aliases and delete param models

* fix: add changelog entry for Discord thread-bound subagents (#21805) (thanks @onutc)

---------

Co-authored-by: Shadow <hi@shadowing.dev>
2026-02-21 16:14:55 +01:00
..
runtime fix(ci): resolve format drift and acp mock typing 2026-02-19 15:11:27 +00:00
bundled-dir.ts
cli.test.ts
cli.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
commands.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
config-schema.ts
config-state.test.ts test: merge duplicate plugin memory-none cases 2026-02-19 08:51:38 +00:00
config-state.ts
discovery.test.ts refactor(test): dedupe plugin env overrides via env helpers 2026-02-21 13:03:41 +00:00
discovery.ts fix(security): enforce plugin and hook path containment 2026-02-19 15:37:29 +01:00
enable.ts refactor: centralize plugin allowlist mutation 2026-02-17 00:45:02 +00:00
hook-runner-global.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
hooks.before-agent-start.test.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
hooks.model-override-wiring.test.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
hooks.phase-hooks.test.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
hooks.test-helpers.ts
hooks.ts feat: thread-bound subagents on Discord (#21805) 2026-02-21 16:14:55 +01:00
http-path.ts
http-registry.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
install.e2e.test.ts chore: fix formatting drift and stabilize cron tool mocks 2026-02-19 15:41:38 +01:00
install.ts refactor: eliminate jscpd clones and boost tests 2026-02-19 15:08:54 +00:00
installs.ts
loader.test.ts refactor(test): dedupe plugin env overrides via env helpers 2026-02-21 13:03:41 +00:00
loader.ts fix(security): enforce plugin and hook path containment 2026-02-19 15:37:29 +01:00
logger.test.ts refactor(plugins): reuse plugin loader logger adapter 2026-02-18 23:48:32 +00:00
logger.ts refactor(plugins): reuse plugin loader logger adapter 2026-02-18 23:48:32 +00:00
manifest-registry.test.ts test: dedupe registry/session tests and add install source coverage 2026-02-18 05:05:04 +00:00
manifest-registry.ts refactor(plugins): extract safety and provenance helpers 2026-02-19 15:24:14 +01:00
manifest.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
path-safety.ts refactor(plugins): extract safety and provenance helpers 2026-02-19 15:24:14 +01:00
providers.ts refactor(plugins): reuse plugin loader logger adapter 2026-02-18 23:48:32 +00:00
registry.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
runtime.ts
schema-validator.ts
services.test.ts refactor(plugins): reuse plugin service runtime context 2026-02-18 17:23:44 +00:00
services.ts refactor(plugins): reuse plugin service runtime context 2026-02-18 17:23:44 +00:00
slots.test.ts
slots.ts
source-display.test.ts
source-display.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
status.ts refactor(plugins): reuse plugin loader logger adapter 2026-02-18 23:48:32 +00:00
tools.optional.test.ts
tools.ts refactor(plugins): reuse plugin loader logger adapter 2026-02-18 23:48:32 +00:00
types.ts feat: thread-bound subagents on Discord (#21805) 2026-02-21 16:14:55 +01:00
uninstall.test.ts refactor(test): dedupe channel and monitor action suites 2026-02-18 04:49:22 +00:00
uninstall.ts
update.ts refactor: share npm integrity drift handling 2026-02-19 15:08:14 +00:00
voice-call.plugin.test.ts test: remove duplicated scenario scaffolding across runtime tests 2026-02-18 04:04:14 +00:00
wired-hooks-after-tool-call.e2e.test.ts chore: Fix types in tests 23/N. 2026-02-17 12:24:03 +09:00
wired-hooks-compaction.test.ts test: dedupe and optimize test suites 2026-02-19 15:19:38 +00:00
wired-hooks-gateway.test.ts
wired-hooks-llm.test.ts
wired-hooks-message.test.ts
wired-hooks-session.test.ts
wired-hooks-subagent.test.ts feat: thread-bound subagents on Discord (#21805) 2026-02-21 16:14:55 +01:00