Shadow
98a3321171
chore: bump carbon version
...
Closes #349
Closes #354
2026-01-07 02:58:40 -06:00
Peter Steinberger
95f44c7d3c
fix(discord): handle multi-attachment inbound media
2026-01-07 09:01:57 +01:00
Peter Steinberger
f6f901c94e
docs: thank contributor for #369
2026-01-07 07:57:19 +00:00
Peter Steinberger
c08524f036
fix: ensure output for non-streaming models ( #369 )
...
Co-authored-by: mneves75 <mneves75@users.noreply.github.com>
2026-01-07 07:47:18 +00:00
Peter Steinberger
817c9c807b
fix: land PR #350
2026-01-07 07:19:48 +00:00
Peter Steinberger
b8c8a9551d
fix: align heartbeat session store with default agent
2026-01-07 07:14:24 +00:00
Peter Steinberger
55bbd24d9c
fix(auth): harden legacy auth.json cleanup
2026-01-07 06:51:17 +00:00
Peter Steinberger
bbd3d6a1a5
Merge PR #368 : delete legacy auth.json after migration
2026-01-07 06:47:46 +00:00
Peter Steinberger
e426066d84
fix(auth): doctor-migrate anthropic oauth profiles
2026-01-07 06:31:02 +00:00
Randy Torres
c13292320e
fix(auth): use anthropic oauth email profile
...
Use Anthropic OAuth profile email as the profile identifier when available. This fixes cases where Anthropic returns an email-based profile id rather than an explicit id field.
2026-01-07 06:31:02 +00:00
Peter Steinberger
2bfeeb3e83
fix: split status activation line
2026-01-07 07:26:52 +01:00
Peter Steinberger
147945feca
fix: refresh status output
2026-01-07 07:22:06 +01:00
Matthew Dicembrino
b042fc65eb
fix: delete legacy auth.json after migration to prevent stale token overwrites ( #363 )
2026-01-07 01:15:38 -05:00
Peter Steinberger
3e1361e206
chore: sync swift protocol models
2026-01-07 06:14:15 +00:00
Peter Steinberger
1b4f73a375
fix: honor sandboxed built-in tools
2026-01-07 06:12:56 +00:00
Peter Steinberger
afbd2f4846
fix: order reasoning before reply text
2026-01-07 07:05:07 +01:00
Peter Steinberger
bd6d87dc26
feat: update subagent announce + archive
2026-01-07 06:53:01 +01:00
Peter Steinberger
f6180e2111
feat: add /reasoning reasoning visibility
2026-01-07 06:17:31 +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
531e3b6138
style: fix biome formatting
2026-01-07 04:51:33 +00:00
Josh Lehman
df21783d83
fix(routing): handle cross-provider messages in collect mode
...
When queued messages come from different providers (Slack + Telegram),
process them individually instead of collecting into a single prompt.
This ensures each reply routes back to its originating provider.
- Add hasCrossProviderItems() to detect multi-provider queues
- Skip collect mode when cross-provider detected
- Preserve originatingChannel/originatingTo when collecting same-provider
2026-01-07 04:51:33 +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
Josh Lehman
03de48f43c
feat(routing): route replies to originating channel
...
Implement reply routing based on OriginatingChannel/OriginatingTo fields.
This ensures replies go back to the provider where the message originated
instead of using the session's lastChannel.
Changes:
- Add OriginatingChannel/OriginatingTo fields to MsgContext (templating.ts)
- Add originatingChannel/originatingTo fields to FollowupRun (queue.ts)
- Create route-reply.ts with provider-agnostic router
- Update all providers (Telegram, Slack, Discord, Signal, iMessage)
to pass originating channel info
- Update reply.ts to pass originating channel to followupRun
- Update followup-runner.ts to use route-reply for originating channels
This addresses the issue where messages from one provider (e.g., Slack)
would receive replies on a different provider (e.g., Telegram) because
the queue used the last active dispatcher instead of the originating one.
2026-01-07 04:51:33 +00:00
Peter Steinberger
7cc342fbd0
fix: harden sub-agent model overrides
2026-01-07 04:48:37 +00:00
Peter Steinberger
c56fc36f8a
fix: normalize provider aliases in auth order
2026-01-07 05:43:32 +01:00
mneves75
a25d0027e0
test: format models list alias coverage
2026-01-07 05:31:01 +01:00
mneves75
8bc653ad62
fix: normalize z.ai provider ids in auth profiles
2026-01-07 05:31:01 +01:00
mneves75
98332de51e
Docs: update Z.AI configuration
2026-01-07 05:30:46 +01:00
mneves75
89ce8ffd19
Test: cover z.ai normalization
2026-01-07 05:30:06 +01:00
mneves75
793ca72fab
Feat: normalize z.ai provider ids
2026-01-07 05:30:06 +01:00
Peter Steinberger
c9609483bb
feat(skills): add session-logs skill for searching conversation history
...
Adds jq-based queries for:
- Listing sessions by date/size
- Searching user/assistant messages
- Extracting costs per session and daily totals
- Tool usage breakdowns
- Cross-session keyword search
2026-01-07 04:13:30 +00:00
Peter Steinberger
316e3c02a9
fix: harden pairing flow
2026-01-07 05:06:04 +01:00
Peter Steinberger
81c5d450e4
fix(doctor): add headless flags + auto-migrate sessions
2026-01-07 04:43:24 +01:00
Peter Steinberger
1bf2cfdb80
fix(imessage): harden abort shutdown
2026-01-07 03:41:23 +00:00
Anton Sotkov
a487bb6279
fix: imsg unhandled promises
2026-01-07 03:41:23 +00:00
Peter Steinberger
727151235b
refactor: share reaction schemas and notes
2026-01-07 04:24:11 +01:00
Peter Steinberger
26c12fc7d6
Merge PR #353
2026-01-07 04:18:19 +01:00
Peter Steinberger
b2e4b69db1
fix: clean up reaction tooling
2026-01-07 04:16:39 +01:00
Peter Steinberger
997bac3c34
feat: unify provider reaction tools
2026-01-07 04:16:39 +01:00
Sash Zats
f34532c87d
Add WhatsApp reactions support
...
Summary:
Test Plan:
2026-01-07 04:16:39 +01:00
Peter Steinberger
4c28ab602b
refactor(relay): add --smoke entrypoint
2026-01-07 03:12:30 +00:00
Peter Steinberger
94259f0b57
fix(relay): guard QR smoke mode
2026-01-07 02:42:55 +00:00
Peter Steinberger
21a7a49ed4
Merge PR #358
2026-01-07 02:42:53 +00:00
Peter Steinberger
53879a88e1
refactor: unify outbound result envelopes
2026-01-07 02:36:05 +00:00
DB Hurley
efc6767f1c
fix(relay): implement CLAWDBOT_SMOKE_QR handler for packaging
2026-01-06 21:32:04 -05:00
Peter Steinberger
a9371fa4eb
refactor: streamline outbound payload handling
2026-01-07 02:30:42 +00:00
Peter Steinberger
9e1dc67ba1
fix(outbound): guard optional delivery fields
2026-01-07 02:19:42 +00:00
Peter Steinberger
e8b6da659a
fix(telegram): import native reply helper
2026-01-07 02:19:42 +00:00
Peter Steinberger
8fc99495e4
refactor(telegram): polish topic threading
2026-01-07 02:19:42 +00:00