Commit Graph

1796 Commits

Author SHA1 Message Date
Peter Steinberger
67b9b0ef1f fix: honor tools.exec ask/security in approvals 2026-01-24 04:53:44 +00:00
Peter Steinberger
e74768b428 feat: add node browser proxy routing 2026-01-24 04:21:47 +00:00
JustYannicc
31ddfbb47d feat(heartbeat): skip API calls when HEARTBEAT.md is effectively empty (#1535)
* feat: skip heartbeat API calls when HEARTBEAT.md is effectively empty

- Added isHeartbeatContentEffectivelyEmpty() to detect files with only headers/comments
- Modified runHeartbeatOnce() to check HEARTBEAT.md content before polling the LLM
- Returns early with 'empty-heartbeat-file' reason when no actionable tasks exist
- Preserves existing behavior when file is missing (lets LLM decide)
- Added comprehensive test coverage for empty file detection
- Saves API calls/costs when heartbeat file has no meaningful content

* chore: update HEARTBEAT.md template to be effectively empty by default

Changed instruction text to comment format so new workspaces benefit from
heartbeat optimization immediately. Users still get clear guidance on usage.

* fix: only treat markdown headers (# followed by space) as comments, not #TODO etc

* refactor: simplify regex per code review suggestion

* docs: clarify heartbeat empty file behavior (#1535) (thanks @JustYannicc)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-24 04:19:01 +00:00
Peter Steinberger
5909f66b7a feat: add system cli 2026-01-24 04:03:07 +00:00
Peter Steinberger
25eb5ac794 docs: add channels list usage troubleshooting 2026-01-24 03:44:44 +00:00
Peter Steinberger
7bb7a63330 fix: update docker gateway command 2026-01-24 03:24:28 +00:00
Peter Steinberger
b9cbce9f4b fix: publish llm-task docs and harden tool 2026-01-24 01:44:51 +00:00
Peter Steinberger
2cecf28971 fix: honor wildcard tool allowlists 2026-01-24 01:30:44 +00:00
Peter Steinberger
77bb342301 fix: refine bedrock discovery defaults (#1543) (thanks @fal3) 2026-01-24 01:18:33 +00:00
Alex Fallah
212b602921 feat: add dynamic Bedrock model discovery
Add automatic discovery of AWS Bedrock models using ListFoundationModels API.
When AWS credentials are detected, models that support streaming and text output
are automatically discovered and made available.

- Add @aws-sdk/client-bedrock dependency
- Add discoverBedrockModels() with caching (default 1 hour)
- Add resolveImplicitBedrockProvider() for auto-registration
- Add BedrockDiscoveryConfig for optional filtering by provider/region
- Filter to active, streaming, text-output models only
- Update docs/bedrock.md with auto-discovery documentation
2026-01-24 01:15:06 +00:00
Peter Steinberger
8636ef2ad6 docs: extend cron vs heartbeat guide 2026-01-24 00:42:56 +00:00
justyannicc
53dc2c35f8 docs: add cron vs heartbeat decision guide
- New docs/automation/cron-vs-heartbeat.md with complete guidance
- Cross-links from heartbeat.md and cron-jobs.md
- Updated AGENTS.md template with practical guidance
- Added navigation entry in docs.json
2026-01-24 00:42:56 +00:00
AJ (@techfren)
9ee98c5377 docs: remove misplaced Google Docs Editor from showcase (#1547)
- Was incorrectly placed in Voice & Phone section
- Not a Clawdbot project (Claude Code skill)
- No valid link available
2026-01-24 00:42:48 +00:00
Peter Steinberger
367f48ce51 feat: add tlon channel plugin 2026-01-24 00:25:39 +00:00
Peter Steinberger
5cb73668a9 docs: add Comcast SSL troubleshooting note 2026-01-24 00:01:20 +00:00
Peter Steinberger
36c770e78f docs: remove channel unify checklist 2026-01-23 23:37:04 +00:00
Peter Steinberger
38b757687a docs: add channel unification checklist 2026-01-23 23:32:14 +00:00
Peter Steinberger
750dc7191c chore: bump version to 2026.1.23 2026-01-23 22:14:56 +00:00
Peter Steinberger
571257b972 fix: handle gateway slash command replies in TUI 2026-01-23 19:48:22 +00:00
Peter Steinberger
08d11149a0 feat: add models status auth probes 2026-01-23 19:28:55 +00:00
Peter Steinberger
1c71124ada fix: expand linux service PATH handling 2026-01-23 19:16:41 +00:00
Peter Steinberger
9f5cee9493 fix(exec-approvals): stabilize allowlist ids (#1521) 2026-01-23 19:00:45 +00:00
Peter Steinberger
6b88bb7ac6 fix: add per-channel markdown table conversion (#1495) (thanks @odysseus0) 2026-01-23 18:39:25 +00:00
Peter Steinberger
9e1ce76cfb fix: restart gateway after update by default 2026-01-23 11:50:19 +00:00
Peter Steinberger
c9c6284127 docs: prefer fast install smoke for release 2026-01-23 09:18:15 +00:00
Peter Steinberger
be3cb5776c fix: keep core tools when allowlist is plugin-only 2026-01-23 09:02:17 +00:00
Peter Steinberger
aad7fe5d4f docs: note SPARKLE_PRIVATE_KEY_FILE in profile 2026-01-23 08:25:20 +00:00
Peter Steinberger
de455683af Revert "fix: improve GitHub Copilot integration"
This reverts commit b69e70668d.
2026-01-23 07:14:00 +00:00
Peter Steinberger
eeda206294 docs: update media auto-detect 2026-01-23 05:47:16 +00:00
Peter Steinberger
0892eefa2b docs: expand slack replyToModeByChatType examples 2026-01-23 05:38:28 +00:00
Peter Steinberger
a1878d0d3c feat: add slack replyToModeByChatType overrides 2026-01-23 05:38:28 +00:00
Stefan Galescu
aa3972d93d feat(slack): add dm-specific replyToMode configuration (#1442)
Adds support for separate replyToMode settings for DMs vs channels:

- Add channels.slack.dm.replyToMode for DM-specific threading
- Keep channels.slack.replyToMode as default for channels
- Add resolveSlackReplyToMode helper to centralize logic
- Pass chatType through threading resolution chain

Usage:
```json5
{
  channels: {
    slack: {
      replyToMode: "off",     // channels
      dm: {
        replyToMode: "all"    // DMs always thread
      }
    }
  }
}
```

When dm.replyToMode is set, DMs use that mode; channels use the
top-level replyToMode. Backward compatible when not configured.
2026-01-23 05:13:23 +00:00
Peter Steinberger
4b7726fed7 fix: harden BlueBubbles voice memos (#1477) (thanks @Nicell) 2026-01-23 04:38:08 +00:00
Peter Steinberger
8890f8511c fix: repair docs redirects 2026-01-23 03:13:12 +00:00
Peter Steinberger
487cd76a97 feat: extend lobster tool run args 2026-01-23 03:09:59 +00:00
Peter Steinberger
ffd4488518 docs: fix lobster links 2026-01-23 02:51:33 +00:00
Peter Steinberger
b69e70668d fix: improve GitHub Copilot integration 2026-01-23 02:51:33 +00:00
Peter Steinberger
744a4e4fb2 docs: simplify OpenProse install 2026-01-23 01:37:54 +00:00
Peter Steinberger
d02e0e7a0f docs: expand mattermost intro 2026-01-23 01:35:50 +00:00
Peter Steinberger
a30a1b73c4 docs: add mattermost redirect 2026-01-23 01:35:15 +00:00
Peter Steinberger
ea95941c40 docs: add transcript hygiene reference 2026-01-23 01:34:21 +00:00
Peter Steinberger
fa69a633f6 docs: link Lobster and OpenProse 2026-01-23 01:29:17 +00:00
Peter Steinberger
3b9dfac62f fix: harden Mattermost plugin gating (#1428) (thanks @damoahdominic) 2026-01-23 01:23:23 +00:00
Peter Steinberger
2b7b69c8e6 docs: remove OpenProse telemetry mentions 2026-01-23 01:20:30 +00:00
Peter Steinberger
32537c6b2d docs: expand OpenProse guide 2026-01-23 01:08:55 +00:00
Peter Steinberger
2576cb47c1 fix: improve tool summaries 2026-01-23 01:00:24 +00:00
Peter Steinberger
deb6581c08 feat: add OpenProse plugin skills 2026-01-23 00:49:40 +00:00
Peter Steinberger
b5c7918620 Merge pull request #1428 from bestparents/feat/mattermost-channel
feat: add Mattermost channel support
2026-01-23 00:24:47 +00:00
Peter Steinberger
2e76f35026 fix: allow chained exec allowlists
Co-authored-by: Lucas Czekaj <1464539+czekaj@users.noreply.github.com>
2026-01-23 00:11:58 +00:00
Peter Steinberger
eaf9cfed3c fix: tui local shell consent UX (#1463)
- add local shell runner + denial notice + tests
- docs: describe ! local shell usage
- lint: drop unused Slack upload contentType
- cleanup: remove stray Swabble pins

Thanks @vignesh07.
Co-authored-by: Vignesh Natarajan <vigneshnatarajan92@gmail.com>
2026-01-22 23:38:44 +00:00
Peter Steinberger
6e246c978d docs: clarify node service commands 2026-01-22 23:22:56 +00:00
Peter Steinberger
dae8eea0b7 docs: fix remaining node ws references 2026-01-22 23:22:56 +00:00
Dominic Damoah
d3a0acd8b1 Merge branch 'main' into feat/mattermost-channel 2026-01-22 18:17:40 -05:00
Peter Steinberger
c52c2faed6 docs: align node transport with gateway ws 2026-01-22 23:10:09 +00:00
Peter Steinberger
fb42de9070 feat: add manual onboarding flow alias 2026-01-22 23:09:28 +00:00
Peter Steinberger
270e014d3e feat(macos): add attach-only launchd override 2026-01-22 23:08:56 +00:00
Peter Steinberger
0698b0db8f docs: refresh nodes + pairing docs 2026-01-22 22:02:06 +00:00
Peter Steinberger
1eacf6a4a3 docs: clarify bootstrap memory absence 2026-01-22 10:48:07 +00:00
Peter Steinberger
0b219312e5 docs: explain unpinning model auth profiles 2026-01-22 09:38:47 +00:00
Peter Steinberger
ae14204f41 fix: sanitize antigravity thinking signatures 2026-01-22 08:17:49 +00:00
Dominic Damoah
8af1af5802 Merge branch 'main' into feat/mattermost-channel 2026-01-22 03:11:53 -05:00
Peter Steinberger
2adc1533c1 style: format agent workspace and prompts 2026-01-22 08:05:55 +00:00
Dominic Damoah
f873523e1b Merge branch 'main' into feat/mattermost-channel 2026-01-22 02:49:17 -05:00
Peter Steinberger
3dc5a0e2f0 docs: note node-gyp workaround for sharp 2026-01-22 07:09:20 +00:00
Peter Steinberger
c5e29f395f feat: extend Control UI assistant identity 2026-01-22 07:08:13 +00:00
Vignesh
bfeea66f7a Merge pull request #1427 from vignesh07/docs/lobster-org-url 2026-01-21 23:07:39 -08:00
Peter Steinberger
d8706307c9 feat: add update wizard and guard elevated defaults 2026-01-22 07:06:19 +00:00
Peter Steinberger
4b26ba61a7 fix: align rolling logs to local time 2026-01-22 07:02:52 +00:00
Vignesh Natarajan
fe7768a88b docs: update lobster repo url 2026-01-21 22:55:49 -08:00
Peter Steinberger
2d2a040795 Merge remote-tracking branch 'origin/main' into feature/agent-avatar-support 2026-01-22 06:03:56 +00:00
Peter Steinberger
c260b5d585 feat: add elevated ask/full modes 2026-01-22 05:41:11 +00:00
Peter Steinberger
5bc4841918 feat: add agent identity avatars (#1329) (thanks @dlauer) 2026-01-22 05:37:15 +00:00
Peter Steinberger
c5025bd120 feat: surface repo root in runtime prompt 2026-01-22 05:20:42 +00:00
Peter Steinberger
3c6b9c11bd docs: add control ui dev gatewayUrl note 2026-01-22 05:05:30 +00:00
Peter Steinberger
55a8db8e4d docs: fix npm prefix guidance 2026-01-22 04:31:25 +00:00
Peter Steinberger
100b690e20 docs: add /model allowlist troubleshooting note 2026-01-22 04:28:57 +00:00
Peter Steinberger
b8122ba647 feat: preflight update runner before rebase 2026-01-22 04:19:33 +00:00
Peter Steinberger
f9d746eadd docs: clarify prompt injection guidance 2026-01-22 04:19:33 +00:00
Peter Steinberger
54d667f194 fix: localize system event timestamps 2026-01-22 04:15:39 +00:00
Peter Steinberger
69aad2d1b2 fix: default envelope timestamps to local 2026-01-22 04:10:06 +00:00
Peter Steinberger
82cec75f25 fix: align exec approvals default agent 2026-01-22 04:05:54 +00:00
Peter Steinberger
2c28fca67d feat: add agent avatar support (#1329) (thanks @dlauer) 2026-01-22 04:00:07 +00:00
Peter Steinberger
c2b25dac8e fix: msteams attachments + plugin prompt hints
Co-authored-by: Christof <10854026+Evizero@users.noreply.github.com>
2026-01-22 03:37:29 +00:00
Peter Steinberger
1333c0b37d docs: expand lobster guides 2026-01-22 03:25:13 +00:00
Peter Steinberger
c39e71013d Merge pull request #1152 from vignesh07/feat/lobster-plugin
feat: Add optional lobster plugin tool (typed workflows, approvals/resume)
2026-01-22 02:34:05 +00:00
Peter Steinberger
ca67b686ac feat(signal): add typing + read receipts 2026-01-22 02:04:59 +00:00
Peter Steinberger
567415d38f chore: bump version to 2026.1.21 2026-01-22 01:59:16 +00:00
Zach Knickerbocker
66810207e2 feat: configurable heartbeat session 2026-01-22 01:36:28 +00:00
Peter Steinberger
e16601b92c fix: unify exec approval ids 2026-01-22 00:59:29 +00:00
Peter Steinberger
8dbf803b1b fix: remove setup-token run option in onboarding 2026-01-22 00:42:04 +00:00
Peter Steinberger
e49887e1d0 fix: warn on unset gateway.mode 2026-01-22 00:21:08 +00:00
Peter Steinberger
e9245837ea fix: enforce secure control ui auth 2026-01-21 23:58:42 +00:00
Dominic Damoah
1d34352691 feat: add Mattermost channel support
Add Mattermost as a supported messaging channel with bot API and WebSocket integration. Includes channel state tracking (tint, summary, details), multi-account support, and delivery target routing. Update documentation and tests to include Mattermost alongside existing channels.
2026-01-21 18:40:56 -05:00
Peter Steinberger
fed5586a2a docs: clarify mac packaging guidance 2026-01-21 23:27:40 +00:00
Peter Steinberger
3161a0ea0a feat: tighten exec allowlist gating 2026-01-21 21:45:50 +00:00
Peter Steinberger
97311de136 docs: add showcase video 2026-01-21 20:53:55 +00:00
Peter Steinberger
7efa487150 fix: add explicit tailnet gateway bind 2026-01-21 20:36:09 +00:00
Peter Steinberger
582b4a9a34 docs: simplify heartbeat active hours example 2026-01-21 20:33:23 +00:00
Peter Steinberger
b0b96fe731 feat: add heartbeat active hours 2026-01-21 20:30:37 +00:00
Peter Steinberger
3cbd187a13 feat: make nodes run exec-style 2026-01-21 20:25:12 +00:00
Peter Steinberger
112ba5de4b feat: add auth-aware cache defaults 2026-01-21 20:23:39 +00:00
Peter Steinberger
d89894365d fix: restore 1h cache ttl option 2026-01-21 20:00:32 +00:00
Peter Steinberger
496eea9412 docs: clarify cache-ttl pruning window 2026-01-21 20:00:32 +00: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
b22e8c8154 docs(discord): mention wildcard channel defaults 2026-01-21 18:21:24 +00:00
Peter Steinberger
6350065f68 docs: align gateway service naming 2026-01-21 17:45:26 +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
Peter Steinberger
fcff0604c7 fix: harden bluebubbles short ids and fetch wrapper (#1369) (thanks @tyler6204) 2026-01-21 17:09:15 +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
330f61968a fix: narrow configure model allowlist for Anthropic OAuth 2026-01-21 11:00:28 +00:00
Peter Steinberger
8ad322c145 fix: make session memory indexing async 2026-01-21 10:39:00 +00:00
Peter Steinberger
1b207ed6c4 feat: improve exec approvals defaults and wildcard 2026-01-21 09:55:10 +00:00
Peter Steinberger
2edc97aa62 docs: add npm files check to release checklist 2026-01-21 08:10:53 +00:00
Peter Steinberger
567464851c feat: align update channel installs 2026-01-21 06:00:54 +00:00
Peter Steinberger
5f6f8b812a feat: add /allowlist command 2026-01-21 05:34:53 +00:00
Peter Steinberger
e299906f82 docs: update nodes list/status flags 2026-01-21 04:52:54 +00:00
Peter Steinberger
4d592e8fc7 fix: allow node exec fallback and defer node approvals 2026-01-21 04:46:50 +00:00
Peter Steinberger
d59a71371f feat: filter nodes list/status 2026-01-21 04:39:15 +00:00
Peter Steinberger
1a4759dcd6 docs: clarify node host exec flow 2026-01-21 04:14:34 +00:00
Peter Steinberger
6d769deec9 fix: default exec security to allowlist 2026-01-21 03:40:27 +00:00
Peter Steinberger
2f0e460a60 feat: add nodes list table with last connect 2026-01-21 03:03:48 +00:00
Peter Steinberger
1a9cfd5149 fix: add browser snapshot default mode (#1336)
Co-authored-by: Seb Slight <sbarrios93@gmail.com>
2026-01-21 03:03:10 +00:00
Peter Steinberger
f88e2abb5a fix: harden web fetch SSRF and redirects
Co-authored-by: Eli <fogboots@users.noreply.github.com>
2026-01-21 02:54:14 +00:00
Peter Steinberger
ccc056b916 docs: fix mdx in security cli doc 2026-01-21 01:24:29 +00:00
Peter Steinberger
4762e8c8cd fix: refactor cron edit payload patches
Co-authored-by: Felix Krause <869950+KrauseFx@users.noreply.github.com>
2026-01-21 01:14:24 +00:00
Peter Steinberger
f5ed89f64f docs: clarify whatsapp voice notes and wsl portproxy 2026-01-21 00:14:36 +00:00
Peter Steinberger
8d1256cd87 feat: add download installs for skills 2026-01-21 00:14:36 +00:00
Peter Steinberger
161806fbe3 docs: add network hub + pairing locality 2026-01-21 00:14:14 +00:00
Peter Steinberger
cc94557d54 fix: tighten small-model audit guardrails 2026-01-20 23:52:26 +00:00
Peter Steinberger
336233c30d fix: wire OTLP logs for diagnostics 2026-01-20 22:51:47 +00:00
Peter Steinberger
537968d158 feat: add Nostr channel plugin and onboarding install defaults
Co-authored-by: joelklabo <joelklabo@users.noreply.github.com>
2026-01-20 20:15:56 +00:00
Peter Steinberger
48773ce82a refactor: consolidate mac debug CLI 2026-01-20 19:17:31 +00:00
Peter Steinberger
87a9d125a9 feat: add diagnostics events and otel exporter 2026-01-20 18:56:15 +00:00
Peter Steinberger
5c43eab1d0 fix(cron): auto-deliver agent output to explicit targets 2026-01-20 17:56:15 +00:00
Peter Steinberger
e6fd484880 fix: preserve subagent thread routing (#1241)
Thanks @gnarco.

Co-authored-by: gnarco <gnarco@users.noreply.github.com>
2026-01-20 17:22:07 +00:00
Peter Steinberger
28b09ccf80 chore: bump version to 2026.1.20 2026-01-20 16:36:37 +00:00
Peter Steinberger
5f3f0510fa feat: sync plugin updates with update channel 2026-01-20 16:00:42 +00:00
Peter Steinberger
a7776dfd84 fix: allow custom skill config bag
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
2026-01-20 15:57:08 +00:00
Peter Steinberger
b246c0358b fix: default Anthropic API cache TTL to 1h 2026-01-20 15:48:53 +00:00
Peter Steinberger
8c2a478c6d fix: shorten bonjour gateway service type 2026-01-20 15:10:06 +00:00
Peter Steinberger
67c0a00346 docs: refresh development channels timestamp 2026-01-20 15:10:06 +00:00
Peter Steinberger
e8a1a29d27 docs: add WhatsApp family binding example 2026-01-20 15:00:25 +00:00
Peter Steinberger
c1af1f5609 docs: clarify sandbox env + recreate guidance 2026-01-20 15:00:25 +00:00
Peter Steinberger
a3e884851c feat: improve /new model hints and reset confirmation 2026-01-20 14:35:20 +00:00
Peter Steinberger
2a056e9add feat: add update channel status
Co-authored-by: Richard Poelderl <18185649+p6l-richard@users.noreply.github.com>
2026-01-20 14:19:03 +00:00
Peter Steinberger
3ce735b749 fix: merge login shell PATH for gateway exec 2026-01-20 14:04:13 +00:00
Peter Steinberger
98d4797cc6 feat: add dev update channel 2026-01-20 13:41:30 +00:00