Peter Steinberger
88c564f050
test(gateway): use lightweight clears in agent handler tests
2026-02-22 08:01:16 +00:00
Peter Steinberger
1f0695ba47
test(core): use lightweight clears in update, child adapter, and copilot token setup
2026-02-22 08:01:16 +00:00
Peter Steinberger
d9085a7704
test(gateway): use lightweight clears in node invoke wake setup
2026-02-22 08:01:16 +00:00
Peter Steinberger
c358ada510
test(gateway): use lightweight clears in push handler setup
2026-02-22 08:01:16 +00:00
Peter Steinberger
a4b3aeeefa
test(gateway): reuse last agent command assertion helper
2026-02-22 07:44:56 +00:00
Vignesh Natarajan
4550a52007
TUI: filter model picker to allowlisted models
2026-02-21 19:03:15 -08:00
Peter Steinberger
ae70bf4dca
refactor(test): simplify env scoping in exec and usage tests
2026-02-21 19:13:46 +00:00
Peter Steinberger
f9108120c2
fix(gateway): strip inline directive tags from displayed text
2026-02-21 20:08:55 +01:00
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
Vignesh Natarajan
cd6bbe8cea
Session: enforce startup sequence on bare reset greeting
2026-02-20 20:38:56 -08:00
Harold Hunt
844d84a7f5
Issue 17774 - Usage - Local - Show data from midnight to midnight of selected dates for browser time zone (AI assisted) (openclaw#19357) thanks @huntharo
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini (override approved by Tak for this run; local baseline failures outside PR scope)
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-02-20 20:09:03 -06:00
Coy Geek
914a7c5359
fix: Device Token Scope Escalation via Rotate Endpoint ( #20703 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 4f2c2ecef4
Co-authored-by: coygeek <65363919+coygeek@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-20 17:38:58 +00:00
Mariano
e98ccc8e17
iOS/Gateway: stabilize background wake and reconnect behavior ( #21226 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 7705a7741e
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-19 20:20:28 +00:00
Peter Steinberger
a1cb700a05
test: dedupe and optimize test suites
2026-02-19 15:19:38 +00:00
Peter Steinberger
397f243ded
refactor: dedupe gateway session guards and agent test fixtures
2026-02-19 14:27:36 +00:00
Peter Steinberger
74c51aeb1e
style: format gateway server methods
2026-02-19 13:32:58 +00:00
Peter Steinberger
ff74d89e86
fix: harden gateway control-plane restart protections
2026-02-19 14:30:15 +01:00
Vincent Koc
981d266480
security(gateway): block webchat session mutators ( #20800 )
...
* chore(ci): local claude settings gitignore
* Gateway: block webchat session mutators
* Changelog: note webchat session mutator guard
* Changelog: credit report for webchat mutator guard
2026-02-19 01:54:02 -08:00
Peter Steinberger
5556675aae
test(gateway): dedupe APNs wake fixture setup in node invoke tests
2026-02-19 07:33:16 +00:00
Peter Steinberger
9a100d520d
refactor(gateway): dedupe exec approvals node validation
2026-02-18 23:09:09 +00:00
Peter Steinberger
5e76cefc70
refactor(gateway): share session store lookup map builder
2026-02-18 22:40:26 +00:00
Peter Steinberger
bb0516655c
perf(test): align node wake test waits with reconnect timeout
2026-02-18 22:31:19 +00:00
Xinhe Hu
b62bd290cb
fix: remove hardcoded disableBlockStreaming to honor agent config for TUI ( #19693 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 710d449080
Co-authored-by: neipor <191749196+neipor@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-02-18 16:25:59 -05:00
Mariano
e67da1538c
iOS/Gateway: wake disconnected iOS nodes via APNs before invoke ( #20332 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 7751f9c531
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 21:00:17 +00:00
Mariano
99d099aa84
Gateway: add APNs push test pipeline ( #20307 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 6a1c442207
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 19:32:42 +00:00
Mariano
1437ed76a0
Gateway/CLI: add paired-device remove and clear flows ( #20057 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 26523f8a38
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 13:27:31 +00:00
Peter Steinberger
3daf730fcc
test(gateway): fix send target resolution error typing
2026-02-18 12:54:22 +00:00
Peter Steinberger
56ebbf0eed
test(gateway): dedupe sessions usage handler fixtures
2026-02-18 12:52:34 +00:00
Peter Steinberger
fc29588329
test(gateway): dedupe send delivery fixtures
2026-02-18 12:52:25 +00:00
Peter Steinberger
3a09d85cd3
test(gateway): fix typed respond helpers in agent tests
2026-02-18 12:49:15 +00:00
Peter Steinberger
00c2308085
test(gateway): dedupe health status scope test setup
2026-02-18 12:48:10 +00:00
Peter Steinberger
c6da37dfb5
test(gateway): dedupe agent handler request fixtures
2026-02-18 12:48:04 +00:00
Peter Steinberger
396ccf9fb1
test(gateway): dedupe agents.files.list assertions
2026-02-18 12:45:14 +00:00
Peter Steinberger
2aec380fb3
test(gateway): dedupe update and chat abort persistence fixtures
2026-02-18 12:43:54 +00:00
Gustavo Madeira Santana
07fdceb5fd
refactor: centralize presence routing and version precedence coverage ( #19609 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 10d9df5263
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-02-18 00:02:51 -05:00
Gustavo Madeira Santana
0bf1b38cc0
Agents: fix subagent completion thread routing
2026-02-17 22:52:58 -05: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
71ad357bbe
test: remove obsolete mesh test file
2026-02-18 02:18:02 +01:00
Peter Steinberger
972d1b74d0
Revert "Add mesh orchestration gateway methods with DAG execution and retry"
...
This reverts commit 83990ed542 .
2026-02-18 02:18:02 +01: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
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
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
Sebastian
7caf874546
test(update): cover restart gating
2026-02-17 09:20:21 -05:00
cpojer
084e39b519
chore: Fix types in tests 38/N.
2026-02-17 15:50:07 +09:00
cpojer
d0cb8c19b2
chore: wtf.
2026-02-17 13:36:48 +09:00
Sebastian
ed11e93cf2
chore(format)
2026-02-16 23:20:16 -05:00
cpojer
8d6e345338
chore: Fix types in tests 22/N.
2026-02-17 12:23:12 +09:00
cpojer
6b8c0bc697
chore: Format files.
2026-02-17 12:00:38 +09:00
Sebastian
81fd771cb9
fix(gateway): preserve chat.history context under hard caps
2026-02-16 21:50:01 -05:00