Commit Graph

1330 Commits

Author SHA1 Message Date
Peter Steinberger
fdff38756f docs: refresh unreleased highlights 2026-01-16 09:51:27 +00:00
Peter Steinberger
3bd05e23bc docs: sort unreleased changelog 2026-01-16 09:46:12 +00:00
Peter Steinberger
7a6561a1c0 feat: warn on weak model tiers 2026-01-16 09:34:37 +00:00
Peter Steinberger
1bcd8693c5 fix: suppress WhatsApp pairing replies for historical DMs 2026-01-16 09:10:44 +00:00
Peter Steinberger
89c5c831b9 fix: reset sessions after role ordering conflicts 2026-01-16 09:04:04 +00:00
Peter Steinberger
f87f485960 fix: add control UI auth guidance 2026-01-16 09:03:02 +00:00
Peter Steinberger
dbba858679 feat: render native chat markdown via Textual 2026-01-16 09:02:27 +00:00
Peter Steinberger
7403145298 fix: tune remote CDP timeouts 2026-01-16 09:01:25 +00:00
Peter Steinberger
245fe37795 fix: upgrade ws to wss for https CDP 2026-01-16 08:44:08 +00:00
Peter Steinberger
83f9a603c3 fix: align image-gen defaults (#880) (thanks @mkbehr) 2026-01-16 08:41:23 +00:00
Peter Steinberger
fd42b49995 Merge pull request #895 from mukhtharcm/feat/chrome-browser-improvements
feat(browser): add support for authenticated remote browser profiles
2026-01-16 08:32:02 +00:00
Peter Steinberger
e7c038d440 fix: support authenticated remote CDP URLs (#895) (thanks @mukhtharcm) 2026-01-16 08:31:51 +00:00
Peter Steinberger
0725c8bb41 fix: add telegram custom commands (#860) (thanks @nachoiacovino)
Co-authored-by: Nacho Iacovino <50103937+nachoiacovino@users.noreply.github.com>
2026-01-16 08:22:09 +00:00
Muhammed Mukhthar CM
ad983ae7d6 fix: exclude google-antigravity from history downgrade hack (#894)
* Agent: exclude google-antigravity from history downgrade hack

* Lint: fix formatting in test

* Lint: formatting and unused vars in test

* fix: preserve google-antigravity tool calls (#894) (thanks @mukhtharcm)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-16 08:14:56 +00:00
Peter Steinberger
5731aeebf8 Merge pull request #845 from MatthieuBizien/fix/issue-841-openrouter-gemini
Agents: sanitize OpenRouter Gemini thoughtSignature
2026-01-16 08:03:40 +00:00
Matthieu Bizien
fbf7830a35 Changelog: thank PR #845 2026-01-16 07:51:49 +00:00
Matthieu Bizien
e06149b5b7 Agents: sanitize OpenRouter Gemini thoughtSignature 2026-01-16 07:51:49 +00:00
Palash Oswal
b6be97f878 Gateway auth: accept local Tailscale Serve hostnames and tailnet IPs (#885)
* Gateway auth: accept local Tailscale Serve hostnames and tailnet IPs

* fix: allow local Tailscale Serve hostnames (#885) (thanks @oswalpalash)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-16 07:51:25 +00:00
Peter Steinberger
cad1b9d202 fix: sync remote ssh targets 2026-01-16 07:33:15 +00:00
Peter Steinberger
6c901fb7df feat: add system.which bin probe 2026-01-16 07:31:41 +00:00
Peter Steinberger
3ca8ee14c2 fix: handle MiniMax coding plan usage payloads 2026-01-16 07:28:48 +00:00
Peter Steinberger
56f069d2aa fix: update discord action defaults (#870) (thanks @JDIVE) 2026-01-16 06:50:27 +00:00
Peter Steinberger
003be4bb1c feat: add json output for daemon lifecycle 2026-01-16 05:40:47 +00:00
Peter Steinberger
55806b5af5 fix: normalize pairing aliases and webhook guard (#991) (thanks @longmaba) 2026-01-16 04:55:16 +00:00
Ubuntu
7df03a2456 feat(session): add dmScope for multi-user DM isolation
Co-authored-by: Alphonse-arianee <Alphonse-arianee@users.noreply.github.com>
2026-01-16 04:13:10 +00:00
Peter Steinberger
804e7b2962 feat(browser): prefer Chrome default + add Brave/Edge fallbacks
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-16 03:28:56 +00:00
Peter Steinberger
09d27dfd35 fix: allow media-only sends 2026-01-16 03:15:26 +00:00
Peter Steinberger
c3db93a95c fix: sanitize user-facing errors and strip final tags
Co-authored-by: Drake Thomsen <drake.thomsen@example.com>
2026-01-16 03:01:23 +00:00
Peter Steinberger
728ad7df36 feat!: move msteams to plugin 2026-01-16 02:59:43 +00:00
Peter Steinberger
864e305340 fix: restore status usage summary output 2026-01-16 02:49:18 +00:00
Peter Steinberger
5cfed75479 fix: ignore properties in google tool schema warnings 2026-01-16 02:35:55 +00:00
Peter Steinberger
1757f615a0 fix: harden antigravity claude support (#968)
Co-authored-by: Max <rdev@users.noreply.github.com>
2026-01-16 02:16:17 +00:00
Peter Steinberger
f09435007d fix: document macOS remote tunnels (#960) (thanks @kkarimi) 2026-01-16 01:59:14 +00:00
Nima Karimi
0a99886f0d macOS: prefer bridge tunnel port in remote mode 2026-01-16 01:56:06 +00:00
Peter Steinberger
58225aae61 fix: cleanup suspended CLI processes (#978) (thanks @Nachx639) 2026-01-16 01:39:33 +00:00
Peter Steinberger
66d20a3cf0 chore(cli): set process title 2026-01-16 01:33:28 +00:00
Peter Steinberger
5d7a6372fd fix: show disabled channels in onboarding picker 2026-01-16 01:29:25 +00:00
Peter Steinberger
a4dc493486 fix: switch channel onboarding to single-select loop 2026-01-16 01:21:17 +00:00
Peter Steinberger
660829f9dd feat: add per-agent heartbeat config 2026-01-16 01:17:34 +00:00
Peter Steinberger
5ed3f45e57 fix: show provider/model labels in TUI 2026-01-16 01:13:14 +00:00
Peter Steinberger
1bec2c6374 fix: persist local gateway mode in configure wizard 2026-01-16 01:05:55 +00:00
Peter Steinberger
98b3559282 feat: add provider auth plugins 2026-01-16 00:42:28 +00:00
Peter Steinberger
349bdebb6f feat: sticky auth profile rotation + usage headers 2026-01-16 00:25:49 +00:00
void
f2b7ff255f fix: heartbeat prompt + dedupe (#980) (thanks @voidserf)
- tighten default heartbeat prompt guidance
- suppress duplicate heartbeat alerts within 24h

Co-authored-by: void <voidserf@users.noreply.github.com>
2026-01-16 00:24:52 +00:00
Peter Steinberger
f58aa0e9f3 fix: handle Telegram General topic thread params (#848) (thanks @azade-c) 2026-01-16 00:08:56 +00:00
Peter Steinberger
f8a9aabda6 feat: refine subagents + add chat.inject
Co-authored-by: Tyler Yust <tyler6204@users.noreply.github.com>
2026-01-15 23:44:31 +00:00
Peter Steinberger
defeadcb2a refactor: centralize daemon path resolution 2026-01-15 23:19:52 +00:00
juanpablodlc
ae2d725109 feat(whatsapp): add debounceMs for batching rapid messages (#971)
* feat(whatsapp): add debounceMs for batching rapid messages

Add a `debounceMs` configuration option to WhatsApp channel settings
that batches rapid consecutive messages from the same sender into a
single response. This prevents triggering separate agent runs for
each message when a user sends multiple short messages in quick
succession (e.g., "Hey!", "how are you?", "I was wondering...").

Changes:
- Add `debounceMs` config to WhatsAppConfig and WhatsAppAccountConfig
- Implement message buffering in `monitorWebInbox` with:
  - Map-based buffer keyed by sender (DM) or chat ID (groups)
  - Debounce timer that resets on each new message
  - Message combination with newline separator
  - Single message optimization (no modification if only one message)
- Wire `debounceMs` through account resolution and monitor tuning
- Add UI hints and schema documentation

Usage example:
{
  "channels": {
    "whatsapp": {
      "debounceMs": 5000  // 5 second window
    }
  }
}

Default behavior: `debounceMs: 0` (disabled by default)

Verified: All existing tests pass (3204 tests), TypeScript compilation
succeeds with no errors.

Implemented with assistance from AI coding tools.

Closes #967

* chore: wip inbound debounce

* fix: debounce inbound messages across channels (#971) (thanks @juanpablodlc)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-15 23:07:19 +00:00
Peter Steinberger
bf8d0d0b1c feat(date-time): standardize time context and tool timestamps 2026-01-15 22:27:06 +00:00
Jake
064491fd1a fix(model-picker): list each provider/model combo separately (#970)
* fix(model-picker): list each provider/model combo separately

Previously, /model grouped models by name and showed all providers
that offer the same model (e.g. 'claude-sonnet-4-5 — anthropic, google-antigravity').
This was confusing because:
1. Users couldn't tell which provider would be used when selecting by number
2. The display implied choice between providers but selection was automatic

Now each provider/model combination is listed separately so users
can explicitly select the exact provider they want.

- Remove model grouping in buildModelPickerItems
- Display format changed from 'model — providers' to 'provider/model'
- pickProviderForModel now returns the single provider directly
- Updated tests to reflect new behavior

* fix: simplify model picker entries (#970) (thanks @mcinteerj)

---------

Co-authored-by: Keith the Silly Goose <keith@42bolton.macnet.nz>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-15 22:20:11 +00:00