Commit Graph

1297 Commits

Author SHA1 Message Date
Peter Steinberger ff1189c6d6 test: remove duplicate inbound-meta coverage from reply-flow 2026-02-19 07:41:52 +00:00
Peter Steinberger bd4fdfc356 test(reply): dedupe compaction session fixture setup 2026-02-19 07:37:06 +00:00
Peter Steinberger 9ac6f46735 test(messaging): dedupe parser/proxy/followup test scaffolding 2026-02-19 07:24:02 +00:00
Peter Steinberger b22deada9e refactor(queue): reuse collect-mode item drain flow 2026-02-19 07:01:54 +00:00
Peter Steinberger 2f6b8663ff refactor(shared): reuse outbound text chunking core 2026-02-19 07:01:54 +00:00
Peter Steinberger 8d048d412f refactor(queue): share next-item drain helper across queue drains 2026-02-19 06:43:36 +00:00
Peter Steinberger 989c9dbd37 refactor(auth): share remaining-time formatter 2026-02-19 00:17:31 +00:00
Peter Steinberger 136bd59ba5 refactor(shared): centralize @/# slug normalization 2026-02-18 23:34:15 +00:00
Peter Steinberger d54a4a08b2 refactor(auto-reply): dedupe allowlist path and name helpers 2026-02-18 23:09:09 +00:00
Peter Steinberger 8b257703d8 refactor(auto-reply): reuse abort session-entry resolver 2026-02-18 23:09:09 +00:00
Peter Steinberger 6eb0964fa6 refactor(auto-reply): share standard set/unset slash parsing 2026-02-18 23:09:09 +00:00
Peter Steinberger 2157385ff6 refactor(auto-reply): share unique model catalog insertion 2026-02-18 22:40:26 +00:00
Peter Steinberger d7a6a0a0b9 refactor(reply): share embedded run fallback/context builders 2026-02-18 19:02:25 +00:00
Peter Steinberger 307719abe9 fix(types): align restart sentinel and typing test mocks 2026-02-18 18:25:25 +00:00
Peter Steinberger 0def1ac1d2 refactor(commands): share session entry persistence 2026-02-18 18:25:25 +00:00
Peter Steinberger 06b2df9fc7 refactor(reply): share verbose gate helpers 2026-02-18 18:25:25 +00:00
Peter Steinberger efd6ed9a56 refactor(subagents): dedupe list line rendering 2026-02-18 18:25:25 +00:00
Peter Steinberger bec94449eb refactor(subagents): share run target resolution 2026-02-18 18:25:25 +00:00
Peter Steinberger 85ebdf88b0 refactor(agents): share text block extraction helper 2026-02-18 18:25:25 +00:00
Peter Steinberger 1aa4d3a6f0 refactor(queue): share runtime settings and summary helpers 2026-02-18 18:25:25 +00:00
Peter Steinberger 7b2697bd4d refactor(auto-reply): reuse native command spec mapping 2026-02-18 17:48:01 +00:00
Peter Steinberger f46bcbe16d refactor(auto-reply): share slash set/unset command parsing 2026-02-18 17:48:01 +00:00
Peter Steinberger 8ab90858ba refactor(auto-reply): share command action arg formatting 2026-02-18 17:23:44 +00:00
Peter Steinberger 0d25b6a317 perf(test): remove fixed sleeps in async test flows 2026-02-18 17:20:35 +00:00
Peter Steinberger 00e32cf04a test(auto-reply): type set/unset action helper expectations 2026-02-18 17:16:36 +00:00
Peter Steinberger 818419b4c4 refactor(auto-reply): share set/unset command action parsing 2026-02-18 17:13:40 +00:00
Peter Steinberger 288015a9fc refactor(auth): share api key masking utility 2026-02-18 17:13:35 +00:00
Peter Steinberger 3138dbaf75 test(auto-reply): share elevated-off status assertion 2026-02-18 17:01:22 +00:00
Peter Steinberger f05395ae00 refactor(test): share internal hook and npm pack assertions 2026-02-18 17:01:22 +00:00
Peter Steinberger c0a6ff08a7 test(auto-reply): reuse shared directive and home test harnesses 2026-02-18 16:48:35 +00:00
Peter Steinberger 2fd211b705 test(auto-reply): dedupe directive behavior e2e fixtures 2026-02-18 12:20:40 +00:00
Robby 5c69e625f5
fix(cli): display correct model for sub-agents in sessions list (#18660)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: ba54c5a351
Co-authored-by: robbyczgw-cla <239660374+robbyczgw-cla@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-02-17 23:59:20 -05:00
Peter Steinberger 31f83c86b2 refactor(test): dedupe agent harnesses and routing fixtures 2026-02-18 04:49:22 +00:00
Peter Steinberger d1ab852972 test: extract shared e2e helpers for trigger handling and skills 2026-02-18 04:04:14 +00:00
Gustavo Madeira Santana e8816c554f Agents: fix subagent completion delivery to origin channel 2026-02-17 22:36:14 -05:00
sebslight d30492823c chore(auto-reply): format subagent command files 2026-02-17 21:55:47 -05:00
Peter Steinberger 34851a78b2 fix: route manual subagent spawn replies via OriginatingTo fallback 2026-02-18 03:48:18 +01:00
Peter Steinberger 4134875c31 fix: route discord native subagent announce to channel target 2026-02-18 02:42:52 +00:00
Peter Steinberger c1928845ac fix: route native subagent spawns to target session 2026-02-18 02:35:58 +00:00
Peter Steinberger f6f5cda6ca style: format subagent command files 2026-02-18 01:50:11 +00:00
Peter Steinberger e2dd827ca4 fix: guarantee manual subagent spawn sends completion message 2026-02-18 02:45:05 +01:00
Peter Steinberger b8b43175c5 style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
Peter Steinberger 31f9be126c style: run oxfmt and fix gate failures 2026-02-18 01:29:02 +00:00
Peter Steinberger 01672a8f25 Revert "Add mesh auto-planning with chat command UX and hardened auth/session behavior"
This reverts commit 16e59b26a6.

# Conflicts:
#	src/auto-reply/reply/commands-mesh.ts
#	src/gateway/server-methods/mesh.ts
#	src/gateway/server-methods/server-methods.test.ts
2026-02-18 02:18:02 +01:00
Peter Steinberger 6dcc052bb4 fix: stabilize model catalog and pi discovery auth storage compatibility 2026-02-18 02:09:40 +01:00
Peter Steinberger f07bb8e8fc fix(hooks): backport internal message hook bridge with safe delivery semantics 2026-02-18 00:35:41 +01:00
Tyler Yust 087dca8fa9
fix(subagent): harden read-tool overflow guards and sticky reply threading (#19508)
* fix(gateway): avoid premature agent.wait completion on transient errors

* fix(agent): preemptively guard tool results against context overflow

* fix: harden tool-result context guard and add message_id metadata

* fix: use importOriginal in session-key mock to include DEFAULT_ACCOUNT_ID

The run.skill-filter test was mocking ../../routing/session-key.js with only
buildAgentMainSessionKey and normalizeAgentId, but the module also exports
DEFAULT_ACCOUNT_ID which is required transitively by src/web/auth-store.ts.

Switch to importOriginal pattern so all real exports are preserved alongside
the mocked functions.

* pi-runner: guard accumulated tool-result overflow in transformContext

* PI runner: compact overflowing tool-result context

* Subagent: harden tool-result context recovery

* Enhance tool-result context handling by adding support for legacy tool outputs and improving character estimation for message truncation. This includes a new function to create legacy tool results and updates to existing functions to better manage context overflow scenarios.

* Enhance iMessage handling by adding reply tag support in send functions and tests. This includes modifications to prepend or rewrite reply tags based on provided replyToId, ensuring proper message formatting for replies.

* Enhance message delivery across multiple channels by implementing sticky reply context for chunked messages. This includes preserving reply references in Discord, Telegram, and iMessage, ensuring that follow-up messages maintain their intended reply targets. Additionally, improve handling of reply tags in system prompts and tests to support consistent reply behavior.

* Enhance read tool functionality by implementing auto-paging across chunks when no explicit limit is provided, scaling output budget based on model context window. Additionally, add tests for adaptive reading behavior and capped continuation guidance for large outputs. Update related functions to support these features.

* Refine tool-result context management by stripping oversized read-tool details payloads during compaction, ensuring repeated read calls do not bypass context limits. Introduce new utility functions for handling truncation content and enhance character estimation for tool results. Add tests to validate the removal of excessive details in context overflow scenarios.

* Refine message delivery logic in Matrix and Telegram by introducing a flag to track if a text chunk was sent. This ensures that replies are only marked as delivered when a text chunk has been successfully sent, improving the accuracy of reply handling in both channels.

* fix: tighten reply threading coverage and prep fixes (#19508) (thanks @tyler6204)
2026-02-17 15:32:52 -08:00
Josh Avant b20339a232
fix(signal): canonicalize message targets in tool and inbound flows 2026-02-17 14:17:22 -08:00
Tyler Yust e1015a5197 fix(bluebubbles): recover outbound message IDs and include sender metadata 2026-02-17 11:39:58 -08:00
Seb Slight 9f261f592d
revert: PR 18288 accidental merge (#19224)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 3cda31578c
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com>
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com>
Reviewed-by: @sebslight
2026-02-17 10:05:29 -05:00