openclaw/src/config
Josh Lehman fee91fefce
feature(context): extend plugin system to support custom context management (#22201)
* feat(context-engine): add ContextEngine interface and registry

Introduce the pluggable ContextEngine abstraction that allows external
plugins to register custom context management strategies.

- ContextEngine interface with lifecycle methods: bootstrap, ingest,
  ingestBatch, afterTurn, assemble, compact, prepareSubagentSpawn,
  onSubagentEnded, dispose
- Module-level singleton registry with registerContextEngine() and
  resolveContextEngine() (config-driven slot selection)
- LegacyContextEngine: pass-through implementation wrapping existing
  compaction behavior for 100% backward compatibility
- ensureContextEnginesInitialized() guard for safe one-time registration
- 19 tests covering contract, registry, resolution, and legacy parity

* feat(plugins): add context-engine slot and registerContextEngine API

Wire the ContextEngine abstraction into the plugin system so external
plugins can register context engines via the standard plugin API.

- Add 'context-engine' to PluginKind union type
- Add 'contextEngine' slot to PluginSlotsConfig (default: 'legacy')
- Wire registerContextEngine() through OpenClawPluginApi
- Export ContextEngine types from plugin-sdk for external consumers
- Restore proper slot-based resolution in registry

* feat(context-engine): wire ContextEngine into agent run lifecycle

Integrate the ContextEngine abstraction into the core agent run path:

- Resolve context engine once per run (reused across retries)
- Bootstrap: hydrate canonical store from session file on first run
- Assemble: route context assembly through pluggable engine
- Auto-compaction guard: disable built-in auto-compaction when
  the engine declares ownsCompaction (prevents double-compaction)
- AfterTurn: post-turn lifecycle hook for ingest + background
  compaction decisions
- Overflow compaction: route through contextEngine.compact()
- Dispose: clean up engine resources in finally block
- Notify context engine on subagent lifecycle events

Legacy engine: all lifecycle methods are pass-through/no-op, preserving
100% backward compatibility for users without a context engine plugin.

* feat(plugins): add scoped subagent methods and gateway request scope

Expose runtime.subagent.{run, waitForRun, getSession, deleteSession}
so external plugins can spawn sub-agent sessions without raw gateway
dispatch access.

Uses AsyncLocalStorage request-scope bridge to dispatch internally via
handleGatewayRequest with a synthetic operator client. Methods are only
available during gateway request handling.

- Symbol.for-backed global singleton for cross-module-reload safety
- Fallback gateway context for non-WS dispatch paths (Telegram/WhatsApp)
- Set gateway request scope for all handlers, not just plugin handlers
- 3 staleness tests for fallback context hardening

* feat(context-engine): route /compact and sessions.get through context engine

Wire the /compact command and sessions.get handler through the pluggable
ContextEngine interface.

- Thread tokenBudget and force parameters to context engine compact
- Route /compact through contextEngine.compact() when registered
- Wire sessions.get as runtime alias for plugin subagent dispatch
- Add .pebbles/ to .gitignore

* style: format with oxfmt 0.33.0

Fix duplicate import (ControlUiRootState in server.impl.ts) and
import ordering across all changed files.

* fix: update extension test mocks for context-engine types

Add missing subagent property to bluebubbles PluginRuntime mock.
Add missing registerContextEngine to lobster OpenClawPluginApi mock.

* fix(subagents): keep deferred delete cleanup retryable

* style: format run attempt for CI

* fix(rebase): remove duplicate embedded-run imports

* test: add missing gateway context mock export

* fix: pass resolved auth profile into afterTurn compaction

Ensure the embedded runner forwards resolved auth profile context into
legacy context-engine compaction params on the normal afterTurn path,
matching overflow compaction behavior. This allows downstream LCM
summarization to use the intended provider auth/profile consistently.

Also fix strict TS typing in external-link token dedupe and align an
attempt unit test reasoningLevel value with the current ReasoningLevel
enum.

Regeneration-Prompt: |
  We were debugging context-engine compaction where downstream summary
  calls were missing the right auth/profile context in normal afterTurn
  flow, while overflow compaction already propagated it. Preserve current
  behavior and keep changes additive: thread the resolved authProfileId
  through run -> attempt -> legacy compaction param builder without
  broad refactors.

  Add tests that prove the auth profile is included in afterTurn legacy
  params and that overflow compaction still passes it through run
  attempts. Keep existing APIs stable, and only adjust small type issues
  needed for strict compilation.

* fix: remove duplicate imports from rebase

* feat: add context-engine system prompt additions

* fix(rebase): dedupe attempt import declarations

* test: fix fetch mock typing in ollama autodiscovery

* fix(test): add registerContextEngine to diffs extension mock APIs

* test(windows): use path.delimiter in ios-team-id fixture PATH

* test(cron): add model formatting and precedence edge case tests

Covers:
- Provider/model string splitting (whitespace, nested paths, empty segments)
- Provider normalization (casing, aliases like bedrock→amazon-bedrock)
- Anthropic model alias normalization (opus-4.5→claude-opus-4-5)
- Precedence: job payload > session override > config default
- Sequential runs with different providers (CI flake regression pattern)
- forceNew session preserving stored model overrides
- Whitespace/empty model string edge cases
- Config model as string vs object format

* test(cron): fix model formatting test config types

* test(phone-control): add registerContextEngine to mock API

* fix: re-export ChannelKind from config-reload-plan

* fix: add subagent mock to plugin-runtime-mock test util

* docs: add changelog fragment for context engine PR #22201
2026-03-06 05:31:59 -08:00
..
sessions Agent: unify bootstrap truncation warning handling (#32769) 2026-03-03 16:28:38 -05:00
agent-dirs.test.ts
agent-dirs.ts
agent-limits.ts feat: thread-bound subagents on Discord (#21805) 2026-02-21 16:14:55 +01:00
allowed-values.test.ts CLI: dedupe config validate errors and expose allowed values 2026-03-02 20:05:12 -05:00
allowed-values.ts CLI: dedupe config validate errors and expose allowed values 2026-03-02 20:05:12 -05:00
backup-rotation.ts refactor: unify queueing and normalize telegram slack flows 2026-03-02 20:55:15 +00:00
bindings.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
byte-size.ts refactor(config): share byte-size parsing for memory flush 2026-03-02 00:32:33 +00:00
cache-utils.ts fix: address session-store cache review feedback 2026-03-02 22:09:36 +00:00
channel-capabilities.test.ts test: dedupe fixtures and test harness setup 2026-02-23 05:45:54 +00:00
channel-capabilities.ts fix(security): harden account-key handling against prototype pollution 2026-02-24 01:09:31 +00:00
commands.test.ts fix(security): harden runtime command override gating 2026-02-21 12:49:57 +01:00
commands.ts refactor(security): unify command gating and blocked-key guards 2026-02-21 13:04:37 +01:00
config-misc.test.ts feature(context): extend plugin system to support custom context management (#22201) 2026-03-06 05:31:59 -08:00
config-paths.ts refactor(security): unify command gating and blocked-key guards 2026-02-21 13:04:37 +01:00
config.acp-binding-cutover.test.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
config.agent-concurrency-defaults.test.ts refactor: dedupe cli config cron and install flows 2026-03-02 19:57:33 +00:00
config.allowlist-requires-allowfrom.test.ts fix: enforce dm allowFrom inheritance across account channels (#27936) (thanks @widingmarcus-cyber) 2026-02-26 22:04:16 +00:00
config.backup-rotation.test-helpers.ts refactor(auto-reply,telegram,config): extract guard and forum helpers 2026-03-02 23:48:11 +00:00
config.backup-rotation.test.ts refactor(auto-reply,telegram,config): extract guard and forum helpers 2026-03-02 23:48:11 +00:00
config.compaction-settings.test.ts Compaction/Safeguard: add summary quality audit retries (#25556) 2026-03-05 13:39:25 -08:00
config.discord-presence.test.ts fix: discord auto presence health signal (#33277) (thanks @thewilloftheshadow) (#33277) 2026-03-03 11:20:59 -06:00
config.discord.test.ts refactor: dedupe core config and runtime helpers 2026-02-22 17:11:54 +00:00
config.dm-policy-alias.test.ts test(config): reject discord open DM with empty allowFrom 2026-03-01 23:08:37 +00:00
config.env-vars.test.ts fix(security): harden shell env fallback startup env handling 2026-02-22 16:06:27 +01:00
config.gateway-tailscale-bind.test.ts fix(gateway): land access/auth/config migration cluster 2026-03-02 00:10:51 +00:00
config.hooks-module-paths.test.ts refactor(core): dedupe gateway runtime and config tests 2026-02-22 07:44:57 +00:00
config.identity-avatar.test.ts
config.identity-defaults.test.ts docs: tighten subscription guidance and update MiniMax M2.5 refs 2026-03-03 00:02:37 +00:00
config.irc.test.ts
config.legacy-config-detection.accepts-imessage-dmpolicy.test.ts fix(config): detect top-level heartbeat as invalid config path (#30894) (#32706) 2026-03-03 20:27:04 -05:00
config.legacy-config-detection.rejects-routing-allowfrom.test.ts fix(ci): stabilize cross-platform config test assertions 2026-03-02 23:28:24 +00:00
config.meta-timestamp-coercion.test.ts test(perf): cache plugin fixtures and streamline shell tests 2026-03-02 11:35:13 +00:00
config.msteams.test.ts
config.multi-agent-agentdir-validation.test.ts refactor: dedupe core config and runtime helpers 2026-02-22 17:11:54 +00:00
config.nix-integration-u3-u5-u9.test.ts refactor: dedupe core config and runtime helpers 2026-02-22 17:11:54 +00:00
config.plugin-validation.test.ts CLI: dedupe config validate errors and expose allowed values 2026-03-02 20:05:12 -05:00
config.pruning-defaults.test.ts fix(providers): support Bedrock Anthropic cacheRetention defaults/pass-through (#22303) (thanks @snese) 2026-02-23 18:46:40 +00:00
config.sandbox-docker.test.ts Config: newline-join sandbox setupCommand arrays (#31953) 2026-03-02 18:11:32 +00:00
config.schema-regressions.test.ts test(config): add schema regression tests for browser.extraArgs 2026-03-02 13:47:59 +00:00
config.secrets-schema.test.ts refactor: dedupe cli config cron and install flows 2026-03-02 19:57:33 +00:00
config.skills-entries-config.test.ts
config.talk-api-key-fallback.test.ts
config.telegram-audio-preflight.test.ts fix: wire telegram disableAudioPreflight config validation and precedence tests (#23067) (thanks @yangnim21029) 2026-03-02 22:26:52 +00:00
config.telegram-custom-commands.test.ts
config.telegram-topic-agentid.test.ts feat(telegram): add per-topic agent routing for forum groups [AI-assisted] 2026-03-04 09:35:53 +05:30
config.tools-alsoAllow.test.ts
config.ts perf(test): speed up setup and config path resolution 2026-03-02 18:41:58 +00:00
config.web-search-provider.test.ts feat(web-search): switch Perplexity to native Search API (#33822) 2026-03-03 22:57:19 -06:00
dangerous-name-matching.ts refactor(security): unify dangerous name matching handling 2026-02-24 01:33:08 +00:00
defaults.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
discord-preview-streaming.ts refactor: dedupe gateway config and infra flows 2026-03-03 00:15:14 +00:00
env-preserve-io.test.ts refactor: dedupe cli config cron and install flows 2026-03-02 19:57:33 +00:00
env-preserve.test.ts
env-preserve.ts
env-substitution.test.ts refactor(tests): consolidate repeated setup helpers 2026-03-03 01:06:00 +00:00
env-substitution.ts
env-vars.ts fix(security): harden shell env fallback startup env handling 2026-02-22 16:06:27 +01:00
gateway-control-ui-origins.ts refactor(gateway): dedupe origin seeding and plugin route auth matching 2026-03-02 00:42:22 +00:00
group-policy.test.ts fix(whatsapp): groupAllowFrom sender filter bypassed when groupPolicy is allowlist (#24670) 2026-02-24 04:20:30 +00:00
group-policy.ts fix(whatsapp): groupAllowFrom sender filter bypassed when groupPolicy is allowlist (#24670) 2026-02-24 04:20:30 +00:00
home-env.test-harness.ts
includes-scan.ts
includes.test.ts fix(windows): normalize namespaced path containment checks 2026-02-26 18:49:48 +00:00
includes.ts refactor: unify boundary-safe reads for bootstrap and includes 2026-02-26 12:42:14 +01:00
io.compat.test.ts feat(config): add `openclaw config validate` and improve startup error messages (#31220) 2026-03-02 00:45:51 -05:00
io.eacces.test.ts fix: adapt landed fixups to current type and approval constraints 2026-02-24 04:20:30 +00:00
io.owner-display-secret.test.ts test(core): trim redundant setup and tighten waits 2026-02-24 00:31:58 +00:00
io.runtime-snapshot-write.test.ts feat(security): add provider-based external secrets management 2026-02-26 14:47:22 +00:00
io.ts refactor: unify queueing and normalize telegram slack flows 2026-03-02 20:55:15 +00:00
io.write-config.test.ts test(perf): reuse suite temp-home fixture in config io write tests 2026-03-02 15:43:20 +00:00
issue-format.test.ts CLI: dedupe config validate errors and expose allowed values 2026-03-02 20:05:12 -05:00
issue-format.ts CLI: dedupe config validate errors and expose allowed values 2026-03-02 20:05:12 -05:00
legacy-migrate.test-helpers.ts refactor: dedupe cli config cron and install flows 2026-03-02 19:57:33 +00:00
legacy-migrate.test.ts Config: harden legacy heartbeat key migration 2026-03-03 20:42:35 -05:00
legacy-migrate.ts
legacy.migrations.part-1.ts refactor: dedupe gateway config and infra flows 2026-03-03 00:15:14 +00:00
legacy.migrations.part-2.ts
legacy.migrations.part-3.ts Config: harden legacy heartbeat key migration 2026-03-03 20:42:35 -05:00
legacy.migrations.ts
legacy.rules.ts fix(config): detect top-level heartbeat as invalid config path (#30894) (#32706) 2026-03-03 20:27:04 -05:00
legacy.shared.test.ts fix: harden config prototype-key guards (#22968) (thanks @Clawborn) 2026-02-22 00:25:22 +01:00
legacy.shared.ts fix(config): normalize gateway bind host aliases during migration (#30855) 2026-03-01 19:53:00 -08:00
legacy.ts fix(config): normalize gateway bind host aliases during migration (#30855) 2026-03-01 19:53:00 -08:00
logging-max-file-bytes.test.ts fix(logging): cap file logs with configurable maxFileBytes 2026-02-22 17:58:51 +01:00
logging.ts
markdown-tables.ts fix(security): harden account-key handling against prototype pollution 2026-02-24 01:09:31 +00:00
media-audio-field-metadata.ts refactor(media): split audio helpers and attachment cache 2026-03-02 22:01:24 +00:00
merge-config.ts
merge-patch.proto-pollution.test.ts fix: harden config prototype-key guards (#22968) (thanks @Clawborn) 2026-02-22 00:25:22 +01:00
merge-patch.test.ts
merge-patch.ts fix: harden config prototype-key guards (#22968) (thanks @Clawborn) 2026-02-22 00:25:22 +01:00
model-alias-defaults.test.ts test(core): increase coverage for sessions, auth choice, and model listing 2026-02-22 14:08:51 +00:00
model-input.ts fix(agents): fall back to agents.defaults.model when agent has no model config (#24210) 2026-02-23 03:18:55 -05:00
normalize-exec-safe-bin.ts refactor(exec): split command resolution and trusted-dir normalization 2026-02-22 23:00:33 +01:00
normalize-paths.test.ts
normalize-paths.ts
paths.test.ts test(config): dedupe temp roots and cover legacy state-dir fallback 2026-02-21 21:40:39 +00:00
paths.ts perf(test): speed up setup and config path resolution 2026-03-02 18:41:58 +00:00
plugin-auto-enable.test.ts refactor: dedupe gateway config and infra flows 2026-03-03 00:15:14 +00:00
plugin-auto-enable.ts feat: ACP thread-bound agents (#23580) 2026-02-26 11:00:09 +01:00
plugins-allowlist.ts
plugins-runtime-boundary.test.ts
port-defaults.ts
prototype-keys.ts fix(security): harden account-key handling against prototype pollution 2026-02-24 01:09:31 +00:00
redact-snapshot.raw.ts refactor: modularize slack/config/cron/daemon internals 2026-03-02 22:30:21 +00:00
redact-snapshot.secret-ref.ts refactor: modularize slack/config/cron/daemon internals 2026-03-02 22:30:21 +00:00
redact-snapshot.test.ts Config: consolidate raw redaction overlap and SecretRef safety 2026-03-02 22:14:35 +00:00
redact-snapshot.ts refactor: modularize slack/config/cron/daemon internals 2026-03-02 22:30:21 +00:00
runtime-group-policy-provider.ts refactor(runtime): consolidate followup, gateway, and provider dedupe paths 2026-02-22 14:08:51 +00:00
runtime-group-policy.test.ts refactor(channels): reuse runtime group policy helpers 2026-02-22 12:44:23 +01:00
runtime-group-policy.ts refactor(channels): reuse runtime group policy helpers 2026-02-22 12:44:23 +01:00
runtime-overrides.test.ts fix(security): harden runtime command override gating 2026-02-21 12:49:57 +01:00
runtime-overrides.ts refactor(security): unify command gating and blocked-key guards 2026-02-21 13:04:37 +01:00
schema.help.quality.test.ts plugins: enforce prompt hook policy with runtime validation (#36567) 2026-03-05 18:15:54 -05:00
schema.help.ts feature(context): extend plugin system to support custom context management (#22201) 2026-03-06 05:31:59 -08:00
schema.hints.test.ts Config: add secret ref schema and redaction foundations 2026-02-26 14:47:22 +00:00
schema.hints.ts feat(cli): add configurable banner tagline mode 2026-03-03 00:31:51 +00:00
schema.irc.ts
schema.labels.ts feature(context): extend plugin system to support custom context management (#22201) 2026-03-06 05:31:59 -08:00
schema.tags.ts feat(gateway)!: require explicit non-loopback control-ui origins 2026-02-24 01:57:11 +00:00
schema.test.ts Gateway: allow slash-delimited schema lookup paths 2026-03-06 06:57:19 -05:00
schema.ts Gateway: add path-scoped config schema lookup (#37266) 2026-03-06 02:50:48 -05:00
sessions.cache.test.ts fix: address session-store cache review feedback 2026-03-02 22:09:36 +00:00
sessions.test.ts refactor(tests): dedupe session store route fixtures 2026-03-03 02:53:13 +00:00
sessions.ts Session/Cron maintenance hardening and cleanup UX (#24753) 2026-02-23 22:39:48 +00:00
slack-http-config.test.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
slack-token-validation.test.ts
talk.normalize.test.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
talk.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
telegram-actions-poll.test.ts Harden Telegram poll gating and schema consistency (#36547) 2026-03-05 19:24:43 -05:00
telegram-custom-commands.ts
telegram-webhook-port.test.ts fix(telegram): Allow ephemeral webhookPort 2026-02-26 20:01:50 +05:30
telegram-webhook-secret.test.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
test-helpers.ts refactor: deduplicate shared helpers and test setup 2026-02-23 20:40:44 +00:00
thread-bindings-config-keys.test.ts Discord: thread bindings idle + max-age lifecycle (#27845) (thanks @osolmaz) 2026-02-27 10:02:39 +01:00
types.acp.ts ACP: rename stream char limits to output/sessionUpdate 2026-03-01 20:39:24 +01:00
types.agent-defaults.ts Compaction/Safeguard: add summary quality audit retries (#25556) 2026-03-05 13:39:25 -08:00
types.agents-shared.ts refactor: dedupe shared config type definitions 2026-02-22 18:37:25 +00:00
types.agents.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
types.approvals.ts
types.auth.ts
types.base.ts feat(diagnostics): add configurable stuck-session warning threshold 2026-03-02 00:07:29 +00:00
types.browser.ts fix(browser): honor profile attachOnly for loopback CDP (#31429) 2026-03-02 00:49:57 -08:00
types.channel-messaging-common.ts refactor: dedupe shared config type definitions 2026-02-22 18:37:25 +00:00
types.channels.ts fix(channels): add optional defaultAccount routing 2026-03-02 04:03:46 +00:00
types.cli.ts feat(cli): add configurable banner tagline mode 2026-03-03 00:31:51 +00:00
types.cron.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
types.discord.ts fix: decouple Discord inbound worker timeout from listener timeout (#36602) (thanks @dutifulbob) (#36602) 2026-03-06 00:09:14 +01:00
types.gateway.ts fix(gateway): support image_url in OpenAI chat completions (#34068) 2026-03-06 00:35:50 -05:00
types.googlechat.ts Config: add secret ref schema and redaction foundations 2026-02-26 14:47:22 +00:00
types.hooks.ts feat(hooks): add message:transcribed and message:preprocessed internal hooks 2026-03-02 22:34:43 +00:00
types.imessage.ts fix(channels): add optional defaultAccount routing 2026-03-02 04:03:46 +00:00
types.installs.ts refactor(config): dedupe install and typing schema definitions 2026-02-22 21:19:09 +00:00
types.irc.ts fix(channels): add optional defaultAccount routing 2026-03-02 04:03:46 +00:00
types.memory.ts feat(memory): allow QMD searches via mcporter keep-alive (openclaw#19617) thanks @vignesh07 2026-02-21 18:54:33 -06:00
types.messages.ts fix(discord): add ackReactionScope channel override + off/none values (#28268) 2026-03-02 02:04:39 +00:00
types.models.ts fix(ollama): unify context window handling across discovery, merge, and OpenAI-compat transport (#29205) 2026-02-27 17:20:47 -08:00
types.msteams.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
types.node-host.ts
types.openclaw.ts CLI: dedupe config validate errors and expose allowed values 2026-03-02 20:05:12 -05:00
types.plugins.ts feature(context): extend plugin system to support custom context management (#22201) 2026-03-06 05:31:59 -08:00
types.queue.ts
types.sandbox.ts Config: newline-join sandbox setupCommand arrays (#31953) 2026-03-02 18:11:32 +00:00
types.secrets.ts Gateway: add SecretRef support for gateway.auth.token with auth-mode guardrails (#35094) 2026-03-05 12:53:56 -06:00
types.signal.ts fix(channels): add optional defaultAccount routing 2026-03-02 04:03:46 +00:00
types.skills.ts Secrets: add migrate rollback and skill ref support 2026-02-26 14:47:22 +00:00
types.slack.ts feat(slack): add typingReaction config for DM typing indicator fallback (#19816) 2026-03-03 21:07:17 -08:00
types.telegram.ts feat(telegram/acp): Topic Binding, Pin Binding Message, Fix Spawn Param Parsing (#36683) 2026-03-06 02:17:50 +01:00
types.tools.ts Memory: handle SecretRef keys in doctor embeddings (#36835) 2026-03-05 20:05:59 -06:00
types.ts feat(cli): add configurable banner tagline mode 2026-03-03 00:31:51 +00:00
types.tts.ts TTS: add baseUrl support to OpenAI TTS config (#34321) 2026-03-05 07:25:04 +00:00
types.whatsapp.ts fix(channels): add optional defaultAccount routing 2026-03-02 04:03:46 +00:00
validation.allowed-values.test.ts CLI: dedupe config validate errors and expose allowed values 2026-03-02 20:05:12 -05:00
validation.ts CLI: dedupe config validate errors and expose allowed values 2026-03-02 20:05:12 -05:00
version.ts
zod-schema.agent-defaults.ts Compaction/Safeguard: add summary quality audit retries (#25556) 2026-03-05 13:39:25 -08:00
zod-schema.agent-model.ts
zod-schema.agent-runtime.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
zod-schema.agents.ts ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
zod-schema.allowdeny.ts
zod-schema.approvals.ts
zod-schema.channels.ts
zod-schema.core.ts TTS: add baseUrl support to OpenAI TTS config (#34321) 2026-03-05 07:25:04 +00:00
zod-schema.cron-retention.test.ts Session/Cron maintenance hardening and cleanup UX (#24753) 2026-02-23 22:39:48 +00:00
zod-schema.hooks.ts
zod-schema.installs.ts
zod-schema.logging-levels.test.ts refactor(config): dedupe install and typing schema definitions 2026-02-22 21:19:09 +00:00
zod-schema.providers-core.ts feat(telegram/acp): Topic Binding, Pin Binding Message, Fix Spawn Param Parsing (#36683) 2026-03-06 02:17:50 +01:00
zod-schema.providers-whatsapp.ts fix(channels): add optional defaultAccount routing 2026-03-02 04:03:46 +00:00
zod-schema.providers.ts Channels: add thread-aware model overrides 2026-02-20 19:26:25 -06:00
zod-schema.secret-input-validation.ts feat(secrets): expand SecretRef coverage across user-supplied credentials (#29580) 2026-03-03 02:58:20 +00:00
zod-schema.sensitive.ts
zod-schema.session-maintenance-extensions.test.ts fix(session): prevent silent overflow on parent thread forks (#26912) 2026-02-25 23:54:02 +00:00
zod-schema.session.ts fix(discord): add ackReactionScope channel override + off/none values (#28268) 2026-03-02 02:04:39 +00:00
zod-schema.ts feature(context): extend plugin system to support custom context management (#22201) 2026-03-06 05:31:59 -08:00
zod-schema.typing-mode.test.ts refactor(config): dedupe install and typing schema definitions 2026-02-22 21:19:09 +00:00