Peter Steinberger
70a4b1046b
feat: move TTS into core ( #1559 ) (thanks @Glucksberg)
2026-01-24 08:00:44 +00:00
Peter Steinberger
98a2711b30
fix: emit diagnostics across channels
2026-01-21 00:30:34 +00:00
Peter Steinberger
0b944bc018
refactor(security): harden CommandAuthorized plumbing
2026-01-17 10:19:34 +00:00
Peter Steinberger
bc7ed05902
refactor: centralize group sender identity
2026-01-17 03:32:48 +00:00
Peter Steinberger
36a5bbb920
fix: include sender info for iMessage/Signal group messages
2026-01-17 02:52:01 +00:00
Peter Steinberger
dee91322f9
fix: /stop aborts subagents
2026-01-16 21:37:22 +00:00
Peter Steinberger
9d28441c41
chore: migrate to oxlint and oxfmt
...
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00
Peter Steinberger
48b6145088
fix: dedupe inbound messages across providers
2026-01-11 00:12:25 +01:00
Peter Steinberger
97afcc1c2c
refactor: consolidate reply/media helpers
2026-01-10 02:41:16 +01:00
Peter Steinberger
27838f6865
fix: abort runs between tool calls
2026-01-10 01:26:25 +01:00
Peter Steinberger
06411d0fdc
fix: derive prefixes from routed identity ( #578 ) (thanks @p6l-richard)
2026-01-09 16:39:32 +01:00
Josh Palmer
898136e472
🤖 codex: fix block reply ordering ( #503 )
...
What: serialize block reply sends, make typing non-blocking, add timeout fallback + abort-aware routing, and add regression tests.
Why: prevent out-of-order streamed blocks while keeping final fallback on timeouts.
Tests: ./node_modules/.bin/vitest run src/auto-reply/reply.block-streaming.test.ts src/auto-reply/reply/route-reply.test.ts
Tests: corepack pnpm lint && corepack pnpm build (pass). corepack pnpm test (ran locally; failure observed during run).
Co-authored-by: Josh Palmer <joshp123@users.noreply.github.com>
2026-01-08 19:30:24 +01:00
Peter Steinberger
d1323dc835
test(routing): add route-reply coverage
2026-01-07 05:07:53 +00:00
Peter Steinberger
ea45f76e87
fix(routing): harden originating reply routing
2026-01-07 05:02:34 +00:00
Josh Lehman
5cb0ab06e1
fix(routing): only route to originating channel when cross-provider
...
When OriginatingChannel matches Surface (same provider), use normal
dispatcher. Only route via routeReply() when they differ, ensuring
cross-provider messages (e.g., Telegram queued while Slack active)
get routed back to their origin.
2026-01-07 04:51:33 +00:00
Peter Steinberger
f7bdefbe3d
refactor: centralize reply dispatch
2026-01-06 04:55:00 +01:00