Commit Graph

33526 Commits

Author SHA1 Message Date
Peter Steinberger
6294182cbb ci: parallelize extension batch groups 2026-04-22 19:39:08 +01:00
Peter Steinberger
b0d4e64170 refactor(discord): share partial channel test fixtures 2026-04-22 19:38:45 +01:00
Peter Steinberger
ec5d403f5b refactor(discord): share channel action param parsing 2026-04-22 19:38:45 +01:00
Peter Steinberger
8bd387976d refactor(discord): centralize thread channel context 2026-04-22 19:38:45 +01:00
Vincent Koc
bbcd185215 refactor(hooks): centralize bundled subagent hook wiring 2026-04-22 11:37:18 -07:00
Peter Steinberger
d30f252c1b ci: use dist cache instead of artifact upload 2026-04-22 19:31:25 +01:00
Peter Steinberger
4b2b261367 fix(plugins): preserve source activation config 2026-04-22 19:26:12 +01:00
Vincent Koc
6d003cbcee fix(hooks): expose typed gateway startup context 2026-04-22 11:22:51 -07:00
Peter Steinberger
3e24898690 fix: stabilize Claude CLI session prompt hashing 2026-04-22 19:21:51 +01:00
Peter Steinberger
ea29e654d7 fix(cli-session): forward static prompt hash input 2026-04-22 19:21:51 +01:00
Zijun Lin
e1ffe97984 fix: address review feedback — handle empty static prompt and remove stray blank lines
- Always pass extraSystemPromptStatic as string (even when empty) so the
  fallback in prepare.ts never accidentally hashes dynamic content
- Use explicit undefined check (params.extraSystemPromptStatic !== undefined)
  instead of ?? nullish coalescing to avoid edge case where empty static
  string falls through to hashing the full dynamic prompt
- Remove extra blank line
2026-04-22 19:21:51 +01:00
Zijun Lin
d1c414305b fix(cli-session): only hash static extraSystemPrompt for session reuse
The extraSystemPrompt includes per-message dynamic content from
buildInboundMetaSystemPrompt() (timestamps, message IDs, sender metadata)
that changes on every inbound message. This causes the extraSystemPromptHash
to differ every turn, triggering a session reset with reason='system-prompt'
and discarding all CLI session context.

Fix: split extraSystemPrompt into dynamic (inbound meta) and static
(group context, group intro, group system prompt, exec override hints)
portions. Only hash the static portion for session reuse validation.

The full extraSystemPrompt (dynamic + static) is still sent to the CLI
as before — only the session stability hash uses the static subset.

Fixes #70100
2026-04-22 19:21:51 +01:00
Peter Steinberger
d48763caf9 test: keep config fallback test on generic plugin channel 2026-04-22 19:20:15 +01:00
Peter Steinberger
03846d63ec refactor: use memory slot defaults in core paths 2026-04-22 19:18:18 +01:00
Peter Steinberger
80a16339e1 refactor: declare channel add flags in manifests 2026-04-22 19:13:51 +01:00
Peter Steinberger
6488e0dd0c test: keep hook and slack tests on public boundaries 2026-04-22 19:09:18 +01:00
Peter Steinberger
86667d670e refactor: move doctor capabilities to channel manifests 2026-04-22 19:05:53 +01:00
Peter Steinberger
510a8f9ebc fix: share reply media context (#68111) (thanks @ayeshakhalid192007-dev) 2026-04-22 19:02:44 +01:00
ayeshakhalid192007-dev
8d4e6a39b5 test(agent-runner): regression — createReplyMediaPathNormalizer.runtime not called when normalizer injected 2026-04-22 19:02:44 +01:00
ayeshakhalid192007-dev
552d5dcbce fix(agent-runner): share media-path normalizer with runAgentTurnWithFallback to prevent duplicate outbound media 2026-04-22 19:02:44 +01:00
ayeshakhalid192007-dev
88760f88c2 fix(agent-runner): accept injected normalizeMediaPaths in runAgentTurnWithFallback 2026-04-22 19:02:44 +01:00
Peter Steinberger
5ad06d0b20 refactor: build channel setup input generically 2026-04-22 18:57:45 +01:00
Vincent Koc
1e61279b35 refactor(memory): migrate lancedb recall to prompt-build hook 2026-04-22 10:56:14 -07:00
Peter Steinberger
921a5416e4 refactor: move channel doctor migrations to plugins 2026-04-22 18:55:18 +01:00
Peter Steinberger
9d5d2f9cdd fix: make Discord thread parent inheritance opt-in (#69986) (thanks @Blahdude) 2026-04-22 18:54:22 +01:00
Oliver Camp
956cf9b6b2 fix(discord): make thread parent inheritance opt-in 2026-04-22 18:54:22 +01:00
Peter Steinberger
40e19cc9a1 ci: downsize install smoke runner 2026-04-22 18:54:06 +01:00
Vincent Koc
b5b03fbaee test(slack): drop obsolete adapter hook test 2026-04-22 10:53:44 -07:00
Vincent Koc
e593122465 fix(hooks): standardize outbound routing metadata 2026-04-22 10:53:44 -07:00
Peter Steinberger
b0f6c54645 ci: run install smoke for runtime dep staging 2026-04-22 18:51:38 +01:00
Peter Steinberger
a12fcd3f18 fix: harden Discord voice commands in threads 2026-04-22 18:49:58 +01:00
Peter Steinberger
9d66a900e5 fix(plugins): harden bundled runtime dep staging 2026-04-22 18:49:13 +01:00
Hana Chang
0e9c632444 fix(discord): use resolveDiscordChannelNameSafe for voice channel override name
Applies the same safe-accessor pattern to the adjacent name field.
If @buape/carbon implements name as a getter that also reads _rawData
(like parentId), the previous `"name" in channel` pattern would throw
for the same reason. Aligns with the fix for parentId in the same call
site.
2026-04-22 18:47:41 +01:00
Hana Chang
5c5fa5f38b fix(discord): use resolveDiscordChannelParentIdSafe in voice command path
#69908 switched native slash commands, listeners, and the model picker to
the safe accessor for partial thread channels, but the voice /join command
still reads channel.parentId through the unsafe "parentId" in channel
pattern. Route it through the same helper so the voice command path does
not crash with "Cannot access rawData on partial Channel" when invoked
from inside a thread on @buape/carbon >=0.16.
2026-04-22 18:47:41 +01:00
Claw Kowalski
43366cd541 fix(discord): thread runtime config through guild actions 2026-04-22 18:47:30 +01:00
Peter Steinberger
e9d16cbd8c test: keep loader fixture inside plugin boundary 2026-04-22 18:46:57 +01:00
Peter Steinberger
860cc1b3fe fix(config): preserve source config during recovery 2026-04-22 18:42:53 +01:00
Peter Steinberger
557f4fc689 docs: update claude cli stdio notes 2026-04-22 18:40:51 +01:00
Peter Steinberger
d8c9185f3f ci: add fast docker install smoke 2026-04-22 18:39:03 +01:00
Peter Steinberger
dad4b3e7fb fix: default claude cli to stdio sessions 2026-04-22 18:38:32 +01:00
Peter Steinberger
9337e1bd8a fix(agents): accept silent no-reply turns 2026-04-22 18:36:15 +01:00
Peter Steinberger
9d27d09d47 fix: add plugin load debug shape 2026-04-22 18:31:37 +01:00
Peter Steinberger
63776bc999 test: stabilize audio directive tag test 2026-04-22 18:26:07 +01:00
Peter Steinberger
a2512f0243 fix: load staged dist-runtime plugins in docker 2026-04-22 18:22:39 +01:00
Peter Steinberger
72c765e736 ci: parallelize additional boundary guards 2026-04-22 18:21:05 +01:00
Peter Steinberger
a9be41d8c7 ci: keep workflow edits off windows lane 2026-04-22 18:16:11 +01:00
Peter Steinberger
2afad03931 ci: trim gateway watch build profile 2026-04-22 18:11:48 +01:00
Peter Steinberger
024592fb1d Revert "ci: reuse build artifacts for gateway topology"
This reverts commit be317769e6.
2026-04-22 18:10:02 +01:00
Devin Robison
5b32c3138c telegram: align model picker callback auth (#70235)
* telegram: align model picker callback auth

* docs(changelog): note telegram model callback auth fix

* fix(telegram): use runtime config for model callback auth
2026-04-22 11:06:01 -06:00
Peter Steinberger
be317769e6 ci: reuse build artifacts for gateway topology 2026-04-22 18:05:27 +01:00