Commit Graph

7180 Commits

Author SHA1 Message Date
Vignesh Natarajan
71be660bbb feat(commands): add /models and fix /model listing UX 2026-01-21 11:53:29 -08:00
Peter Steinberger
b47d8624ff feat: add cache-ttl pruning mode 2026-01-21 19:46:24 +00:00
Echo
ba1f1f1e5d feat(sessions): add channelIdleMinutes config for per-channel session idle durations (#1353)
* feat(sessions): add channelIdleMinutes config for per-channel session idle durations

Add new `channelIdleMinutes` config option to allow different session idle
timeouts per channel. For example, Discord sessions can now be configured
to last 7 days (10080 minutes) while other channels use shorter defaults.

Config example:
  sessions:
    channelIdleMinutes:
      discord: 10080  # 7 days

The channel-specific idle is passed as idleMinutesOverride to the existing
resolveSessionResetPolicy, integrating cleanly with the new reset policy
architecture.

* fix

* feat: add per-channel session reset overrides (#1353) (thanks @cash-echo-bot)

---------

Co-authored-by: Cash Williams <cashwilliams@gmail.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-21 19:10:31 +00:00
Peter Steinberger
f3f65c6fbf fix: harden port listener detection 2026-01-21 18:52:55 +00:00
Peter Steinberger
f5ffaf0117 feat(queue): add per-channel debounce overrides 2026-01-21 18:50:55 +00:00
Peter Steinberger
b81901a3a0 test: cover history image injection 2026-01-21 18:45:23 +00:00
Peter Steinberger
e81d9c977b fix: persist history image injections 2026-01-21 18:45:23 +00:00
Peter Steinberger
b22e8c8154 docs(discord): mention wildcard channel defaults 2026-01-21 18:21:24 +00:00
Peter Steinberger
4a219c39bc refactor(channels): centralize match metadata 2026-01-21 18:21:19 +00:00
Peter Steinberger
cc33a35b5d docs(changelog): note discord wildcard fix 2026-01-21 17:56:01 +00:00
Peter Steinberger
74d5c65d32 fix(discord): align wildcard channel matching 2026-01-21 17:56:01 +00:00
Wimmie
31c0b0ba50 feat(discord): add wildcard channel config support
Add support for '*' wildcard in Discord channel configuration,
matching the existing guild-level wildcard behavior.

This allows applying default channel settings (like autoThread)
to all channels without listing each one explicitly:

  guilds:
    '*':
      channels:
        '*': { autoThread: true }

Specific channel configs still take precedence over the wildcard.
2026-01-21 17:56:01 +00:00
Peter Steinberger
475c94227e chore: rename gateway daemon prompts 2026-01-21 17:46:30 +00:00
Peter Steinberger
bfcb6bc1fe fix: preserve fetch preconnect in abort wrapper 2026-01-21 17:45:58 +00:00
Peter Steinberger
6350065f68 docs: align gateway service naming 2026-01-21 17:45:26 +00:00
Peter Steinberger
1eeba6ae10 feat: fold gateway service commands into gateway 2026-01-21 17:45:26 +00:00
Shadow
5346a1348e chore: update carbon to v0.14.0 2026-01-21 11:36:56 -06:00
Peter Steinberger
3d6ac39957 Merge pull request #1384 from ameno-/fix/ssh-identity-agent
macOS: allow SSH agents without identity file
2026-01-21 17:32:44 +00:00
Peter Steinberger
879d2227b5 fix: allow SSH agent auth without identity file (#1384) (thanks @ameno-) 2026-01-21 17:32:00 +00:00
Peter Steinberger
2fe0342fd3 fix: normalize abort signals for fetch 2026-01-21 17:29:46 +00:00
Peter Steinberger
4792b69087 docs: clarify bluebubbles message ids 2026-01-21 17:20:03 +00:00
Ameno Osman
eca3c1186a macOS: allow SSH agents without identity file 2026-01-21 17:19:51 +00:00
Peter Steinberger
70172800c5 test: align NO_REPLY typing expectations 2026-01-21 17:12:50 +00:00
Peter Steinberger
d9b07b5e76 fix: start instant typing at run start 2026-01-21 17:12:50 +00:00
Peter Steinberger
057f20af23 Merge pull request #1387 from clawdbot/temp/landpr-1369-followup
BlueBubbles: enforce short id resolution
2026-01-21 17:10:06 +00:00
Peter Steinberger
b33dfc5d22 docs: update changelog for bluebubbles follow-up (#1387) 2026-01-21 17:09:51 +00:00
Peter Steinberger
fcff0604c7 fix: harden bluebubbles short ids and fetch wrapper (#1369) (thanks @tyler6204) 2026-01-21 17:09:15 +00:00
Peter Steinberger
cad71dfd3b Merge pull request #1369 from tyler6204/fix/bluebubbles-gc-guid-resolution
BlueBubbles: short ID mapping, action resolution, and threading/typing fixes
2026-01-21 17:06:09 +00:00
Peter Steinberger
f1ef4181fc docs: add FAQ entry for tool_use input error 2026-01-21 16:56:26 +00:00
Peter Steinberger
2d743b3a14 docs: update node CLI references 2026-01-21 16:48:42 +00:00
Peter Steinberger
16a15e0bf5 feat: flatten node CLI commands 2026-01-21 16:48:42 +00:00
Peter Steinberger
fa06c2c1be fix: normalize abort signals for telegram fetch 2026-01-21 16:46:58 +00:00
Peter Steinberger
f02e4200b1 fix: model picker allowlist fallbacks 2026-01-21 11:22:33 +00:00
Peter Steinberger
952d89ef65 feat: render approvals tables on write 2026-01-21 11:10:03 +00:00
Peter Steinberger
054d492165 feat: show node PATH and bootstrap node host env 2026-01-21 11:06:56 +00:00
Peter Steinberger
330f61968a fix: narrow configure model allowlist for Anthropic OAuth 2026-01-21 11:00:28 +00:00
Peter Steinberger
dfdec2687d test: stabilize exec approvals homedir 2026-01-21 10:49:12 +00:00
Peter Steinberger
177d14ce35 fix: limit /model list output 2026-01-21 10:47:37 +00:00
Peter Steinberger
8ad322c145 fix: make session memory indexing async 2026-01-21 10:39:00 +00:00
Peter Steinberger
0916e708af Merge pull request #1370 from parubets/fix-debug-ttl-cache
WIP: cache trace mvp for Anthropic
2026-01-21 10:35:31 +00:00
Peter Steinberger
6a038a597d fix: honor wildcard exec approvals on macOS 2026-01-21 10:27:19 +00:00
Peter Steinberger
aeb4bd7315 fix: add diagnostics cache trace config (#1370) (thanks @parubets) 2026-01-21 10:23:30 +00:00
Andrii
72a68edbf1 cache trace mvp
Added a standalone cache tracing module and wired it into the embedded
runner so you can capture message flow and the exact context sent to
  Anthropic in a separate JSONL file.

  What changed

  - New tracing module: src/agents/cache-trace.ts (self‑contained,
env‑gated, writes JSONL, computes per‑message digests).
  - Hook points in src/agents/pi-embedded-runner/run/attempt.ts: logs
stage snapshots (loaded/sanitized/limited/prompt/stream/after) and wraps
the
    stream fn to record the real context.messages at send time.

  How to enable

  - CLAWDBOT_CACHE_TRACE=1 enables tracing.
  - CLAWDBOT_CACHE_TRACE_FILE=~/.clawdbot/logs/cache-trace.jsonl
overrides output (default is
$CLAWDBOT_STATE_DIR/logs/cache-trace.jsonl).
  - Optional filters:
      - CLAWDBOT_CACHE_TRACE_MESSAGES=0 to omit full messages (still
logs digests).
      - CLAWDBOT_CACHE_TRACE_PROMPT=0 to omit prompt text.
      - CLAWDBOT_CACHE_TRACE_SYSTEM=0 to omit system prompt.

  What you’ll see

  - One JSON object per line with stage, messagesDigest, per‑message
messageFingerprints, and the actual messages if enabled.
  - The most important line is stage: "stream:context" — that is the
exact payload pi‑mono is sending. If this diverges from earlier stages,
you’ve
    found the mutation point.
2026-01-21 10:23:30 +00:00
Peter Steinberger
9a41d1698a fix: add node tool failure context 2026-01-21 09:55:10 +00:00
Peter Steinberger
1b207ed6c4 feat: improve exec approvals defaults and wildcard 2026-01-21 09:55:10 +00:00
Peter Steinberger
86771a44bf chore: bump bluebubbles to 2026.1.21-1 2026-01-21 09:43:19 +00:00
Peter Steinberger
f92f66772f Update README to remove contributor acknowledgments
Removed special thanks and core contributors section.
2026-01-21 09:21:50 +00:00
Peter Steinberger
60df6fe037 test: skip plugin tools in sessions tools test 2026-01-21 09:17:27 +00:00
Peter Steinberger
12e7b3a571 refactor: centralize sandbox runtime label 2026-01-21 09:07:21 +00:00
Peter Steinberger
37619c2e0e fix: use plugin-sdk exports in bluebubbles 2026-01-21 09:03:09 +00:00