Peter Steinberger
d05e4a4bc6
fix(feishu): use full gateway channel runtime
2026-05-30 23:46:04 +01:00
Peter Steinberger
3fc0df953c
refactor(agents): bind subagent threads in core ( #88416 )
...
Move subagent thread binding ownership into core so session-mode spawns prepare channel bindings before launching the child agent. Deprecate the legacy subagent_spawning SDK hook in code, compatibility metadata, diagnostics, and plugin docs; plugin authors should observe subagent_spawned instead.
Verification:
- node scripts/run-vitest.mjs src/agents/sessions-spawn-hooks.test.ts src/agents/subagent-spawn.thread-binding.test.ts src/agents/subagent-spawn.workspace.test.ts src/agents/subagent-spawn.mode-session-diagnostics.test.ts
- node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo
- git diff --check
- .agents/skills/autoreview/scripts/autoreview --mode local
- CI run 26693808952 green, including checks-node-agentic-agents-core and checks-node-agentic-plugin-sdk
2026-05-30 21:19:09 +01:00
Peter Steinberger
6399b6a445
fix(discord): bound timeout member expiry
2026-05-30 14:34:40 -04:00
Peter Steinberger
abc26b072b
fix(discord): bound rest rate-limit deadlines
2026-05-30 14:22:16 -04:00
Peter Steinberger
8654353be8
fix(discord): bound component registry expiry
2026-05-30 13:57:13 -04:00
Brian
6f20f29688
fix(discord): carry reply typing feedback through queue
...
Carry Discord reply typing feedback through preflight, queued dispatch, and cleanup so delayed accepted replies keep typing alive at the actual dispatch target without duplicate keepalives. Adds focused Discord queue/process policy coverage and stronger lifecycle invariant comments.
2026-05-30 18:39:39 +01:00
Merlin
b6d253eefb
fix(discord): omit undefined component registry fields
...
Prunes undefined Discord component and modal registry metadata before persisting it so SQLite-backed plugin state never receives JSON-incompatible undefined values. Adds direct regression coverage for undefined own properties on component, modal, and nested field entries.
2026-05-30 18:39:26 +01:00
Peter Steinberger
5568ecc7aa
fix(discord): bound unbound webhook echo expiry
2026-05-30 12:54:25 -04:00
Vincent Koc
f7a1903bfc
fix(discord): avoid private test session intersection
2026-05-30 17:18:51 +01:00
Peter Steinberger
c65af78853
fix(discord): bound realtime wake followup expiry
2026-05-30 12:06:57 -04:00
Peter Steinberger
d7b901a1e7
fix(discord): bound speaker context cache expiry
2026-05-30 12:02:18 -04:00
Peter Steinberger
9ef5a9afdc
fix(discord): bound REST entity cache clocks
2026-05-30 10:38:26 -04:00
Peter Steinberger
d33d6bfafa
fix(discord): bound channel info cache clocks
2026-05-30 10:34:45 -04:00
Peter Steinberger
c9a97f54e0
fix(discord): preserve preference recency under invalid clocks
2026-05-30 09:29:02 -04:00
Peter Steinberger
3c41e1722f
fix(discord): guard timeout expiry dates
2026-05-30 08:29:15 -04:00
Peter Steinberger
15fb3314de
fix(discord): guard model picker legacy dates
2026-05-30 07:43:47 -04:00
Vincent Koc
94df665cdc
refactor: share Discord outbound payload options
2026-05-30 08:18:23 +02:00
Peter Steinberger
cd07d013ba
chore(release): bump version to 2026.5.30
2026-05-30 06:49:13 +01:00
Vincent Koc
b9933b2ec1
refactor: share Discord account token inspection
2026-05-30 06:47:40 +02:00
Vincent Koc
a1c6882777
refactor: share Discord agent component controls
2026-05-30 05:04:15 +02:00
Merlin
c8a733eae5
fix(gateway): resolve message actions against runtime config ( #84535 )
...
* fix(gateway): resolve message action config from runtime snapshot
* fix(gateway): preserve runtime config matching through auto-enable
* fix(gateway): preserve auto-enabled message action fallback
* fix(gateway): use canonical runtime snapshot for message actions
* fix(discord): route credential actions through gateway
---------
Co-authored-by: Merlin <258679497+funmerlin@users.noreply.github.com >
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-05-29 17:14:45 -07:00
Peter Steinberger
50378c01e4
fix(discord): cap monitor helper timeouts
2026-05-29 17:15:28 -04:00
Peter Steinberger
4b9a80d895
fix(discord): cap request timeout signals
2026-05-29 16:03:39 -04:00
Peter Steinberger
3d7df2bc07
fix(discord): bound delivery retry delays
2026-05-29 11:02:34 -04:00
Peter Steinberger
fb37811b65
fix(discord): reject unsafe retry-after delays
2026-05-29 10:58:36 -04:00
Peter Steinberger
0fa034ed6d
fix(discord): reject unsafe rate limit headers
2026-05-29 10:17:42 -04:00
Peter Steinberger
9ae38ac821
fix(discord): validate error code integers
2026-05-29 10:13:15 -04:00
joshavant
80227005a0
feat(exec): add normalized auto mode
...
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
2026-05-30 00:04:06 +10:00
Peter Steinberger
4ef63646d2
fix(discord): validate deploy retry-after
2026-05-29 09:50:21 -04:00
Peter Steinberger
93e15abdf6
fix(discord): validate deploy status codes
2026-05-29 08:36:28 -04:00
Peter Steinberger
4ad9478d68
fix(discord): validate thread binding error codes
2026-05-29 08:32:48 -04:00
Peter Steinberger
2644f26a35
fix(discord): centralize retry status parsing
2026-05-29 08:14:57 -04:00
Peter Steinberger
721cedfbf0
fix(discord): centralize model picker numeric parsing
2026-05-29 07:01:24 -04:00
Vincent Koc
529ea02353
refactor: share discord native command access context
2026-05-29 12:28:45 +02:00
Peter Steinberger
fbf900c746
refactor: move plugin state consumers to sqlite
...
Summary:
- add plugin-state runtime SDK subpaths backed by the existing sidecar DB
- migrate Discord model-picker preferences and Feishu dedup state to plugin-state keyed stores
- wire doctor legacy-state migration imports, including TTL preservation, for existing plugin JSON state
Verification:
- pnpm plugin-sdk:api:check
- focused plugin-state, doctor, Discord, Feishu, and package-boundary Vitest suites
- git diff --check origin/main...HEAD
- env -u OPENCLAW_TESTBOX pnpm check:changed
- autoreview --mode branch --base origin/main
- GitHub Actions PR checks green on 1025c2b570
2026-05-29 11:12:15 +01:00
UB
d18ee1881c
fix(discord): remove optional runtime error shims
...
Remove unreachable optional chaining from four Discord message-handler-family runtime error calls.
This aligns the code with the required RuntimeEnv.error contract while leaving production behavior unchanged for valid runtimes. Maintainer-updated PR proof clarifies that shared queue reporter hooks still treat malformed runtime reporter failures as best-effort.
2026-05-29 09:22:44 +01:00
Peter Steinberger
fa9901c78f
fix(discord): escape component custom id delimiters
2026-05-29 01:58:31 -04:00
Peter Steinberger
141b0b3afb
fix(discord): normalize scheduler numeric options
2026-05-29 00:55:27 -04:00
Peter Steinberger
3c5f5efc8c
fix(discord): default non-finite chunk limits
2026-05-29 00:51:17 -04:00
Vincent Koc
27b15a19e8
refactor(voice): catalog voice models through providers ( #87794 )
...
* refactor(providers): catalog voice models
* feat(tts): route speech through voice models
* refactor(tts): rename speaker selection fields
* refactor(tts): mark default speech models
* test(tts): type migrated speaker config assertions
* refactor(providers): avoid catalog merge map spread
* fix(tts): honor voice model fallbacks
* refactor(tts): move speech core into package
* chore(tts): register speech core knip workspace
* fix(tts): show migrated speaker voice in status
* fix(tts): satisfy speech core lint
* fix(tts): preserve explicit model aliases
* test(tts): narrow provider config assertion
* test(doctor): allow slow commitments repair check
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-29 04:46:45 +01:00
Peter Steinberger
e7fb8cabb6
fix(discord): default non-finite identify concurrency
2026-05-28 23:40:43 -04:00
Peter Steinberger
cb085ec5f1
fix(discord): default non-finite REST numeric options
2026-05-28 23:30:47 -04:00
clawsweeper[bot]
4df1fcf7b3
feat(discord): show commentary in progress drafts ( #85200 )
...
Adds opt-in Discord progress-draft commentary for assistant preambles while keeping commentary hidden by default and final delivery unchanged.
Keeps commentary config Discord-specific, strips directive tags/NO_REPLY, and clears stale commentary rows without stopping the active draft stream.
Thanks @bryanpearson.
Co-authored-by: bryanpearson <bryanmpearson@gmail.com >
2026-05-29 04:21:06 +01:00
Sebastien Tardif
b998a921c7
fix(codex): preserve reasoning stream snapshots
...
Keep Codex reasoning updates as accumulated snapshots and mark the stream payload so channel consumers can distinguish snapshots from deltas.
This prevents Discord and Teams progress previews from duplicating accumulated reasoning text while preserving delta-style reasoning for legacy producers.
Refs #86708
Thanks @SebTardif.
Co-authored-by: OpenAI Codex <codex@openai.com >
2026-05-29 01:48:51 +01:00
Peter Steinberger
e12a6d6a67
refactor(agents): own system prompt assembly
2026-05-29 01:22:09 +01:00
Peter Steinberger
b240ce2085
fix: validate discord action integers
2026-05-28 19:02:24 -04:00
Peter Steinberger
09c5b2dd37
fix: validate discord component numeric limits
2026-05-28 16:10:07 -04:00
Peter Steinberger
5e33d7dff9
fix: parse discord gateway timeouts strictly
2026-05-28 14:39:05 -04:00
Peter Steinberger
4ad9f0bdbb
refactor: route node proxy agents through proxyline
2026-05-28 19:21:50 +01:00
Peter Steinberger
2305bca782
fix: parse discord rate limit headers strictly
2026-05-28 14:21:29 -04:00