Commit Graph

544 Commits

Author SHA1 Message Date
Peter Steinberger 58a12a757e fix(sandbox): avoid sandboxing main DM sessions 2026-01-12 01:24:44 +00:00
Peter Steinberger 2f4a248314 feat: plugin system + voice-call 2026-01-12 01:16:39 +00:00
Peter Steinberger 933c157092 test: add plugin docker e2e 2026-01-11 12:21:45 +00:00
Peter Steinberger cf0c72a557 feat: add plugin architecture 2026-01-11 12:11:12 +00:00
Peter Steinberger 7acd26a2fc
Move provider to a plugin-architecture (#661)
* refactor: introduce provider plugin registry

* refactor: move provider CLI to plugins

* docs: add provider plugin implementation notes

* refactor: shift provider runtime logic into plugins

* refactor: add plugin defaults and summaries

* docs: update provider plugin notes

* feat(commands): add /commands slash list

* Auto-reply: tidy help message

* Auto-reply: fix status command lint

* Tests: align google shared expectations

* Auto-reply: tidy help message

* Auto-reply: fix status command lint

* refactor: move provider routing into plugins

* test: align agent routing expectations

* docs: update provider plugin notes

* refactor: route replies via provider plugins

* docs: note route-reply plugin hooks

* refactor: extend provider plugin contract

* refactor: derive provider status from plugins

* refactor: unify gateway provider control

* refactor: use plugin metadata in auto-reply

* fix: parenthesize cron target selection

* refactor: derive gateway methods from plugins

* refactor: generalize provider logout

* refactor: route provider logout through plugins

* refactor: move WhatsApp web login methods into plugin

* refactor: generalize provider log prefixes

* refactor: centralize default chat provider

* refactor: derive provider lists from registry

* refactor: move provider reload noops into plugins

* refactor: resolve web login provider via alias

* refactor: derive CLI provider options from plugins

* refactor: derive prompt provider list from plugins

* style: apply biome lint fixes

* fix: resolve provider routing edge cases

* docs: update provider plugin refactor notes

* fix(gateway): harden agent provider routing

* refactor: move provider routing into plugins

* refactor: move provider CLI to plugins

* refactor: derive provider lists from registry

* fix: restore slash command parsing

* refactor: align provider ids for schema

* refactor: unify outbound target resolution

* fix: keep outbound labels stable

* feat: add msteams to cron surfaces

* fix: clean up lint build issues

* refactor: localize chat provider alias normalization

* refactor: drive gateway provider lists from plugins

* docs: update provider plugin notes

* style: format message-provider

* fix: avoid provider registry init cycles

* style: sort message-provider imports

* fix: relax provider alias map typing

* refactor: move provider routing into plugins

* refactor: add plugin pairing/config adapters

* refactor: route pairing and provider removal via plugins

* refactor: align auto-reply provider typing

* test: stabilize telegram media mocks

* docs: update provider plugin refactor notes

* refactor: pluginize outbound targets

* refactor: pluginize provider selection

* refactor: generalize text chunk limits

* docs: update provider plugin notes

* refactor: generalize group session/config

* fix: normalize provider id for room detection

* fix: avoid provider init in system prompt

* style: formatting cleanup

* refactor: normalize agent delivery targets

* test: update outbound delivery labels

* chore: fix lint regressions

* refactor: extend provider plugin adapters

* refactor: move elevated/block streaming defaults to plugins

* refactor: defer outbound send deps to plugins

* docs: note plugin-driven streaming/elevated defaults

* refactor: centralize webchat provider constant

* refactor: add provider setup adapters

* refactor: delegate provider add config to plugins

* docs: document plugin-driven provider add

* refactor: add plugin state/binding metadata

* refactor: build agent provider status from plugins

* docs: note plugin-driven agent bindings

* refactor: centralize internal provider constant usage

* fix: normalize WhatsApp targets for groups and E.164 (#631) (thanks @imfing)

* refactor: centralize default chat provider

* refactor: centralize WhatsApp target normalization

* refactor: move provider routing into plugins

* refactor: normalize agent delivery targets

* chore: fix lint regressions

* fix: normalize WhatsApp targets for groups and E.164 (#631) (thanks @imfing)

* feat: expand provider plugin adapters

* refactor: route auto-reply via provider plugins

* fix: align WhatsApp target normalization

* fix: normalize WhatsApp targets for groups and E.164 (#631) (thanks @imfing)

* refactor: centralize WhatsApp target normalization

* feat: add /config chat config updates

* docs: add /config get alias

* feat(commands): add /commands slash list

* refactor: centralize default chat provider

* style: apply biome lint fixes

* chore: fix lint regressions

* fix: clean up whatsapp allowlist typing

* style: format config command helpers

* refactor: pluginize tool threading context

* refactor: normalize session announce targets

* docs: note new plugin threading and announce hooks

* refactor: pluginize message actions

* docs: update provider plugin actions notes

* fix: align provider action adapters

* refactor: centralize webchat checks

* style: format message provider helpers

* refactor: move provider onboarding into adapters

* docs: note onboarding provider adapters

* feat: add msteams onboarding adapter

* style: organize onboarding imports

* fix: normalize msteams allowFrom types

* feat: add plugin text chunk limits

* refactor: use plugin chunk limit fallbacks

* feat: add provider mention stripping hooks

* style: organize provider plugin type imports

* refactor: generalize health snapshots

* refactor: update macOS health snapshot handling

* docs: refresh health snapshot notes

* style: format health snapshot updates

* refactor: drive security warnings via plugins

* docs: note provider security adapter

* style: format provider security adapters

* refactor: centralize provider account defaults

* refactor: type gateway client identity constants

* chore: regen gateway protocol swift

* fix: degrade health on failed provider probe

* refactor: centralize pairing approve hint

* docs: add plugin CLI command references

* refactor: route auth and tool sends through plugins

* docs: expand provider plugin hooks

* refactor: document provider docking touchpoints

* refactor: normalize internal provider defaults

* refactor: streamline outbound delivery wiring

* refactor: make provider onboarding plugin-owned

* refactor: support provider-owned agent tools

* refactor: move telegram draft chunking into telegram module

* refactor: infer provider tool sends via extractToolSend

* fix: repair plugin onboarding imports

* refactor: de-dup outbound target normalization

* style: tidy plugin and agent imports

* refactor: data-drive provider selection line

* fix: satisfy lint after provider plugin rebase

* test: deflake gateway-cli coverage

* style: format gateway-cli coverage test

* refactor(provider-plugins): simplify provider ids

* test(pairing-cli): avoid provider-specific ternary

* style(macos): swiftformat HealthStore

* refactor(sandbox): derive provider tool denylist

* fix(sandbox): avoid plugin init in defaults

* refactor(provider-plugins): centralize provider aliases

* style(test): satisfy biome

* refactor(protocol): v3 providers.status maps

* refactor(ui): adapt to protocol v3

* refactor(macos): adapt to protocol v3

* test: update providers.status v3 fixtures

* refactor(gateway): map provider runtime snapshot

* test(gateway): update reload runtime snapshot

* refactor(whatsapp): normalize heartbeat provider id

* docs(refactor): update provider plugin notes

* style: satisfy biome after rebase

* fix: describe sandboxed elevated in prompt

* feat(gateway): add agent image attachments + live probe

* refactor: derive CLI provider options from plugins

* fix(gateway): harden agent provider routing

* fix(gateway): harden agent provider routing

* refactor: align provider ids for schema

* fix(protocol): keep agent provider string

* fix(gateway): harden agent provider routing

* fix(protocol): keep agent provider string

* refactor: normalize agent delivery targets

* refactor: support provider-owned agent tools

* refactor(config): provider-keyed elevated allowFrom

* style: satisfy biome

* fix(gateway): appease provider narrowing

* style: satisfy biome

* refactor(reply): move group intro hints into plugin

* fix(reply): avoid plugin registry init cycle

* refactor(providers): add lightweight provider dock

* refactor(gateway): use typed client id in connect

* refactor(providers): document docks and avoid init cycles

* refactor(providers): make media limit helper generic

* fix(providers): break plugin registry import cycles

* style: satisfy biome

* refactor(status-all): build providers table from plugins

* refactor(gateway): delegate web login to provider plugin

* refactor(provider): drop web alias

* refactor(provider): lazy-load monitors

* style: satisfy lint/format

* style: format status-all providers table

* style: swiftformat gateway discovery model

* test: make reload plan plugin-driven

* fix: avoid token stringification in status-all

* refactor: make provider IDs explicit in status

* feat: warn on signal/imessage provider runtime errors

* test: cover gateway provider runtime warnings in status

* fix: add runtime kind to provider status issues

* test: cover health degradation on probe failure

* fix: keep routeReply lightweight

* style: organize routeReply imports

* refactor(web): extract auth-store helpers

* refactor(whatsapp): lazy login imports

* refactor(outbound): route replies via plugin outbound

* docs: update provider plugin notes

* style: format provider status issues

* fix: make sandbox scope warning wrap-safe

* refactor: load outbound adapters from provider plugins

* docs: update provider plugin outbound notes

* style(macos): fix swiftformat lint

* docs: changelog for provider plugins

* fix(macos): satisfy swiftformat

* fix(macos): open settings via menu action

* style: format after rebase

* fix(macos): open Settings via menu action

---------

Co-authored-by: LK <luke@kyohere.com>
Co-authored-by: Luke K (pr-0f3t) <2609441+lc0rp@users.noreply.github.com>
Co-authored-by: Xin <xin@imfing.com>
2026-01-11 11:45:25 +00:00
Peter Steinberger 2ebad5af1c test: cover cron cli model overrides 2026-01-11 10:56:46 +00:00
Peter Steinberger a8a4993ffd fix: trim cron model overrides and doc guidance (#711) (thanks @mjrussell) 2026-01-11 10:52:40 +00:00
Matthew Russell 314e075df2 feat(cron): add --model flag to cron add/edit commands
Expose the existing model override capability via CLI flags:
- Add --model to cron add and cron edit commands
- Document model and thinking overrides in cron-jobs.md
- Add CLI example showing model/thinking usage

The backend already supported model in agentTurn payloads;
this change exposes it through the CLI interface.
2026-01-11 10:49:34 +00:00
Peter Steinberger 11a3b5aac9 style: biome fixes 2026-01-11 10:35:16 +00:00
Peter Steinberger 11c8db14a1 feat: add reset/uninstall commands 2026-01-11 10:23:52 +00:00
Peter Steinberger 343b6ac31b feat: add onboard reset option 2026-01-11 05:04:36 +01:00
Matthew b6982236a6 CLI: add OpenRouter auth choice 2026-01-11 03:35:45 +01:00
Peter Steinberger 5ec3663748 fix: guard update spinner output (#701) (thanks @bjesuiter) 2026-01-11 03:03:09 +01:00
Benjamin Jesuiter 6cb55eaaa7 feat(update): show stderr for failed steps 2026-01-11 03:00:43 +01:00
Benjamin Jesuiter 3f27b23d5a fix(update): remove command hint from step labels 2026-01-11 03:00:43 +01:00
Benjamin Jesuiter 4102e2f1b8 refactor(update): simplify progress with proper exit codes 2026-01-11 03:00:43 +01:00
Benjamin Jesuiter 35d42be828 fix(update): show skipped status with warning indicator for dirty repo 2026-01-11 03:00:43 +01:00
Benjamin Jesuiter 6a2b8328df fix(update): restore reason in summary 2026-01-11 03:00:43 +01:00
Benjamin Jesuiter cc8e6e00a0 fix(update): hide steps in summary when shown live, fix command hint 2026-01-11 03:00:43 +01:00
Benjamin Jesuiter 6e0c1cb051 fix(update): show each step with spinner as it runs 2026-01-11 03:00:43 +01:00
Benjamin Jesuiter 8f9aa3e8c5 fix(progress): start spinner immediately when delayMs is 0 2026-01-11 03:00:43 +01:00
Benjamin Jesuiter 88c404bcfc feat(update): add progress spinner during update steps 2026-01-11 03:00:43 +01:00
Peter Steinberger 2d74119a08 test: cover auto-reply command gating 2026-01-11 02:27:16 +01:00
Peter Steinberger e0bf86f06c feat: improve gateway services and auto-reply commands 2026-01-11 02:27:16 +01:00
Peter Steinberger b0b4b33b6b fix: update gateway auth docs and clients 2026-01-11 01:51:24 +01:00
Peter Steinberger 1d9199b529 style(test): format update-cli test 2026-01-10 23:46:11 +01:00
Peter Steinberger eff092268a fix(test): avoid update-cli import timeout 2026-01-10 23:40:27 +01:00
Peter Steinberger 621f710d60 fix(mac): add tailnet discovery fallback and debug CLI 2026-01-10 23:39:27 +01:00
Peter Steinberger 786eac1d6f test(cli): avoid update-cli import timeout 2026-01-10 23:35:04 +01:00
Peter Steinberger 1eb50ffac4 feat(status): improve status output 2026-01-10 23:32:07 +01:00
Peter Steinberger 4d0e74ab6c fix: cover extra thinking tags (#688) (thanks @theglove44) 2026-01-10 23:23:23 +01:00
Peter Steinberger 494743a4e5 feat: run doctor after restart 2026-01-10 23:14:55 +01:00
Peter Steinberger fa61699f9a fix: polish restart feedback + stabilize tests (#685) (thanks @carlulsoe) 2026-01-10 22:52:09 +01:00
Kit f699dc3777 fix(cli): improve daemon restart feedback
- runDaemonRestart() now returns Promise<boolean> indicating success
- update command only shows success when restart actually happened
- Fixes missing reasoningLevel type in compactEmbeddedPiSession

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Carl Ulsøe Christensen <carlulsoe@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 22:44:31 +01:00
Peter Steinberger 3389231ecb feat(doctor): offer update first 2026-01-10 21:34:59 +01:00
Peter Steinberger 1bd5500832 feat: add colored CLI docs links 2026-01-10 20:51:03 +01:00
Peter Steinberger cf192f8551 style: biome format 2026-01-10 19:47:17 +00:00
Peter Steinberger 4c4c167416 fix(update): harden root selection 2026-01-10 20:33:02 +01:00
Claude 777fb6b7bb CLI: add clawdbot update command and --update flag 2026-01-10 20:33:02 +01:00
Peter Steinberger 9f9098406c feat(sandbox): add sandbox explain inspector 2026-01-10 20:28:43 +01:00
Peter Steinberger 0279f09459 fix: avoid duplicate cli banners 2026-01-10 19:57:24 +01:00
Peter Steinberger 1fe9f648b1 feat(hooks): allow gmail tailscale target URLs 2026-01-10 19:19:43 +01:00
Peter Steinberger 81f9093c3c fix(pairing): accept positional provider args 2026-01-10 16:36:43 +01:00
Peter Steinberger 41c8bdfada feat: add ZAI auth choice 2026-01-10 16:32:21 +01:00
Peter Steinberger cdb915d527 chore: normalize Clawdbot naming 2026-01-10 05:14:09 +01:00
Peter Steinberger c69c4caa33 fix: polish opencode-zen onboarding (#623) (thanks @magimetal) 2026-01-10 01:09:34 +01:00
Peter Steinberger 55e830b009 fix: harden onboarding for non-systemd environments 2026-01-09 22:17:09 +01:00
Peter Steinberger cfeaa34c16 refactor: centralize cli timeout parsing 2026-01-09 21:29:52 +01:00
Peter Steinberger 564caf49bb feat: add config --section 2026-01-09 21:27:51 +01:00
Peter Steinberger e8dbb350ae fix: honor config timeout in tui 2026-01-09 21:22:50 +01:00
Peter Steinberger 6d378ee608 feat(telegram): inline keyboard buttons (#491)
Co-authored-by: Azade <azade@hey.com>
2026-01-09 20:47:03 +01:00
Peter Steinberger c3083f0186 feat: add setup-token + token auth 2026-01-09 17:50:34 +01:00
Peter Steinberger f436808735 refactor: consolidate schema scrub + test harness 2026-01-09 16:27:28 +01:00
Peter Steinberger 7957196924 feat: add TUI bootstrap start 2026-01-09 16:25:29 +01:00
Peter Steinberger d3ca84e14c feat: add dev workspace templates 2026-01-09 16:13:41 +01:00
Peter Steinberger 6177c2d575 fix: auto-create dev config for dev profile 2026-01-09 15:45:11 +01:00
Peter Steinberger c4c0f1349a fix: keep build green after main rebase (#570) (thanks @azade-c) 2026-01-09 15:40:36 +01:00
Peter Steinberger 80ff2dc77d fix: honor gateway --dev flag 2026-01-09 15:25:51 +01:00
Peter Steinberger adb3bc2577 fix: reset dev gateway setup 2026-01-09 15:17:20 +01:00
Peter Steinberger 3e400ff9f2 feat(models): add per-agent auth order overrides 2026-01-09 14:07:45 +00:00
Peter Steinberger 02aeff8efc style(gateway): multiline discovery output 2026-01-09 14:43:46 +01:00
Peter Steinberger cb86d0d6d4 fix: land mac node bridge ping loop (#572) (thanks @ngutman) 2026-01-09 14:01:20 +01:00
Peter Steinberger 7b81d97ec2 feat: wire multi-agent config and routing
Co-authored-by: Mark Pors <1078320+pors@users.noreply.github.com>
2026-01-09 12:48:42 +00:00
Peter Steinberger dc6f22c2c5 fix: add hosted minimax onboarding (#495, thanks @tobiasbischoff) 2026-01-09 13:40:01 +01:00
Tobias Bischoff a0bb2bccaf Onboarding: add MiniMax hosted API key option 2026-01-09 13:39:28 +01:00
Peter Steinberger 17a7dfc966 chore: update dev identity default 2026-01-09 13:34:45 +01:00
sheeek 7f02b62bba style(sandbox): fix linting errors
- Remove unused normalizeOptions function
- Fix line length violations (format long lines)
- Fix import order (alphabetical)
- Format function signatures for readability

All lint checks now passing.
2026-01-09 13:23:16 +01:00
sheeek b0c97d6178 refactor(sandbox-cli): improve structure and reduce duplication
Improvements:
- Extract help text examples into EXAMPLES constant object
- Add createRunner() helper to reduce try-catch boilerplate
- Add normalizeOptions() helper (prepared for future use)
- Fix command names from 'clawd' to 'clawdbot' throughout
- Update main sandbox command to show help by default
- Better organize code with clear section comments

Increases from 82 to 137 LOC but with much better organization
and reduced duplication in error handling.
2026-01-09 13:23:16 +01:00
sheeek 5e78d5a21f feat: add sandbox CLI commands for container management
Add 'clawd sandbox list' and 'clawd sandbox recreate' commands to manage
sandbox containers. This fixes the issue where containers continue using
old images/configs after updates.

Problem:
- When sandbox Docker images or configs are updated, existing containers
  keep running with old settings
- Containers are only recreated after 24h inactivity (pruning)
- If agents are used regularly, old containers run indefinitely

Solution:
- 'clawd sandbox list': Show all containers with status, age, and image match
- 'clawd sandbox recreate': Force container removal (recreated on next use)
  - Supports --all, --session, --agent, --browser filters
  - Requires confirmation unless --force is used

Implementation:
- Added helper functions to sandbox.ts (list/remove containers)
- Created sandbox-cli.ts following existing CLI patterns
- Created commands/sandbox.ts with list and recreate logic
- Integrated into program.ts

Use case: After updating sandbox images or changing sandbox config,
run 'clawd sandbox recreate --all' to ensure fresh containers.
2026-01-09 13:22:51 +01:00
Onur 678d704341 image works in DM 2026-01-09 11:07:00 +01:00
Onur 269a3c4000 feat(msteams): add outbound sends and fix reply delivery
- Add sendMessageMSTeams for proactive messaging via CLI/gateway
- Wire msteams into outbound delivery, heartbeat targets, and gateway send
- Fix reply delivery to use SDK's getConversationReference() for proper
  bot info, avoiding "Activity Recipient undefined" errors
- Use proactive messaging for replies to post as top-level messages
  (not threaded) by omitting activityId from conversation reference
- Add lazy logger in send.ts to avoid test initialization issues
2026-01-09 11:06:14 +01:00
Peter Steinberger d258c68ca1 feat: add gateway dev config options 2026-01-09 10:39:00 +01:00
Peter Steinberger 827e68eadd feat: improve auth setup flows 2026-01-09 09:59:58 +01:00
Peter Steinberger 5b50c97939 feat(cli): improve gateway status output 2026-01-09 09:27:42 +01:00
Peter Steinberger f9be9ad426 feat: switch message cli to subcommands 2026-01-09 09:00:41 +01:00
Peter Steinberger 7ed53e243d fix(cli): clear lint warnings 2026-01-09 08:51:22 +01:00
Peter Steinberger 721183e259 feat: unify message cli and tools 2026-01-09 08:30:24 +01:00
Peter Steinberger 185727c696 style: fix lint formatting 2026-01-09 08:13:04 +01:00
Peter Steinberger eced473e05 feat: add models auth commands 2026-01-09 08:13:04 +01:00
Peter Steinberger af1f6fab29 chore: add lobster CLI banner art 2026-01-09 08:13:04 +01:00
Peter Steinberger 266643bb94 feat(gateway): discover on local + wide-area DNS-SD 2026-01-09 08:13:04 +01:00
Peter Steinberger 581da80209 chore: log gateway reload and signals 2026-01-09 08:13:04 +01:00
Peter Steinberger db22207014 feat: add message tool and CLI 2026-01-09 06:44:20 +01:00
Peter Steinberger 8e35ad5484 style: format after gate 2026-01-09 05:27:54 +00:00
Peter Steinberger 9114331218 fix: serialize claude cli runs 2026-01-09 04:58:21 +00:00
Peter Steinberger 709d5d9cd6 fix: add spacing to daemon status output 2026-01-09 03:52:51 +00:00
Peter Steinberger 8e27ea7371 feat: add raw stream logging flags 2026-01-09 03:45:21 +00:00
Peter Steinberger 16cfd24967 fix: colorize daemon status output 2026-01-09 03:22:02 +00:00
Peter Steinberger 8a3e100ad1 test: update google-shared expectations 2026-01-09 03:04:16 +01:00
Peter Steinberger efa5f0bfe0 feat: improve logs output and docs 2026-01-09 02:51:17 +01:00
Jonáš Jančařík 302d51fd40 feat: add Gemini API key onboarding 2026-01-09 02:45:15 +01:00
Peter Steinberger a738ade0ec chore: update dependencies 2026-01-09 02:34:39 +01:00
Peter Steinberger 948ce5eb5f feat(models): add oauth auth health 2026-01-09 00:34:38 +00:00
Peter Steinberger e5dbba7b67 fix: sort imports for lint 2026-01-09 00:57:17 +01:00
Peter Steinberger 7ece3717e6 refactor(pairing): centralize reply formatting 2026-01-08 23:29:23 +00:00
Peter Steinberger e0439df4ce feat(pairing): show sender ids across providers 2026-01-08 23:19:13 +00:00
Peter Steinberger 490bbd10fc feat(telegram): show user id in pairing 2026-01-09 00:01:23 +01:00
Peter Steinberger 1cf8503017 fix(daemon): audit runtime best practices 2026-01-08 22:18:07 +00:00
Peter Steinberger d58cdf7c9f fix: normalize gateway cli option strings 2026-01-08 22:18:06 +01:00
Peter Steinberger 35ba99c245 fix: honor non-interactive legacy migrations 2026-01-08 22:13:57 +01:00
Peter Steinberger 2d4ec35e1c feat(doctor): add repair/force flows 2026-01-08 21:47:35 +01:00
Peter Steinberger 88039a69a2 style(cli): format daemon config warnings 2026-01-08 21:38:54 +01:00
Peter Steinberger 01641b34ea feat(doctor): audit supervisor config + docs 2026-01-08 21:28:48 +01:00
Peter Steinberger 7905a27416 style: format gateway-cli log lines 2026-01-08 20:04:10 +00:00
Peter Steinberger 04e0e10411 fix: restore hidden gateway-daemon alias 2026-01-08 19:54:23 +00:00
Peter Steinberger 874c7465a5 fix: surface control ui config in daemon status 2026-01-08 11:05:28 +00:00
Peter Steinberger d42444928b chore: add provider logs command 2026-01-08 12:01:06 +01:00
Peter Steinberger a483e58860 feat: add quickstart onboarding defaults 2026-01-08 11:54:40 +01:00
Peter Steinberger e8698fb9ef chore: show dashboard url in status 2026-01-08 10:51:55 +01:00
Peter Steinberger f6b1dc452a chore: surface daemon status help 2026-01-08 10:29:44 +01:00
Peter Steinberger 0b611fc354 docs: add OAuth deep dive 2026-01-08 09:29:29 +01:00
Peter Steinberger 44441dd5d8 fix: clarify daemon status probe target 2026-01-08 08:50:09 +01:00
Peter Steinberger 8930ec32cb feat: add slack multi-account routing 2026-01-08 08:49:16 +01:00
Peter Steinberger 9a11325cc9 fix: daemon status guidance and telegram fetch 2026-01-08 08:39:55 +01:00
Peter Steinberger 5b397c0f15 style: tidy cli formatting 2026-01-08 08:26:40 +01:00
Peter Steinberger c7cade5232 style: tidy gateway auth imports 2026-01-08 08:26:40 +01:00
Peter Steinberger a676e16fbb feat: expand daemon status diagnostics 2026-01-08 08:26:40 +01:00
Peter Steinberger b367ed75bf fix: wire gateway auth diagnostics into doctor 2026-01-08 08:26:40 +01:00
Peter Steinberger 629eec11cc feat: improve agents cli automation 2026-01-08 08:26:40 +01:00
Peter Steinberger 5565dcd447 fix: tighten gateway bind auth diagnostics 2026-01-08 08:26:40 +01:00
Peter Steinberger d1ceb3aa60 feat: add logs cli and restart hints 2026-01-08 06:56:34 +00:00
Peter Steinberger e09d44e63a test(cli): cover provider login/logout 2026-01-08 07:41:17 +01:00
Peter Steinberger e83c6ac088 feat(cli): move provider login/logout 2026-01-08 07:40:08 +01:00
Peter Steinberger 903f5af59c feat: add skills CLI 2026-01-08 07:23:05 +01:00
Peter Steinberger 19595a8f99 refactor: simplify cli commands 2026-01-08 07:16:12 +01:00
Peter Steinberger f818d03ebf style: format taglines 2026-01-08 06:37:03 +01:00
Peter Steinberger 8a7862452e feat: add CLI taglines 2026-01-08 06:37:03 +01:00
Peter Steinberger b50ea3ec59 feat: refine providers onboarding and cli 2026-01-08 06:25:21 +01:00
Peter Steinberger b8a186fbd3 refactor: polish CLI theme + progress helpers 2026-01-08 06:02:36 +01:00
Peter Steinberger dc3e3f27d4 style: apply lint fixes 2026-01-08 04:44:15 +00:00
Peter Steinberger 9c9d191d6f feat: improve cli setup flow 2026-01-08 05:33:54 +01:00
Peter Steinberger 3f11927cd9 chore: update ClawdBot CLI branding 2026-01-08 05:20:39 +01:00
Peter Steinberger 28cd2e4c24 feat: refresh CLI output styling and progress 2026-01-08 05:20:39 +01:00
Peter Steinberger 3178a3014d feat(models): improve OpenRouter free scan 2026-01-08 05:20:19 +01:00
Peter Steinberger 3f93781b4b refactor: polish providers cli status 2026-01-08 04:07:09 +01:00
Peter Steinberger 6e4174b5dc fix(ci): stabilize windows paths 2026-01-08 03:03:03 +00:00
Peter Steinberger 03cf7da2bd feat: default providers list to usage 2026-01-08 02:56:47 +01:00
Peter Steinberger 8ce6f783f0 feat: add usage to providers list 2026-01-08 02:56:47 +01:00
Peter Steinberger 6aa6c837e7 fix: add gateway connection debug output 2026-01-08 02:51:39 +01:00
Peter Steinberger 61f5ed8bb7 fix: improve gateway diagnostics 2026-01-08 02:29:32 +01:00
Peter Steinberger 3f1807b6cb fix: restore doctor sandbox warnings 2026-01-08 01:55:59 +01:00
Peter Steinberger 05b8679c8b feat: add providers CLI and multi-account onboarding 2026-01-08 01:55:59 +01:00
Peter Steinberger 6b3ed40d0f feat: format cron list output 2026-01-08 01:52:33 +01:00
Peter Steinberger bbf45a0264 feat: add cron cli aliases 2026-01-08 01:52:33 +01:00
Peter Steinberger 67213e0fc6 refactor(nodes): share run parsing helpers 2026-01-08 00:24:11 +00:00
Peter Steinberger 52e3d28ef4 feat: scan extra gateways in doctor 2026-01-07 22:31:08 +01:00
Peter Steinberger 9bd439892f refactor: centralize unhandled rejection setup 2026-01-07 20:59:49 +00:00
Emanuel Stadler 9056e0edbb Bonjour: ignore ciao cancellation rejections 2026-01-07 20:51:54 +00:00
Peter Steinberger 391a3d6eaf feat: add daemon service management 2026-01-07 21:37:13 +01:00
Peter Steinberger 9bf6684366 feat: add provider usage tracking 2026-01-07 11:42:46 +01:00
Peter Steinberger 7973fd4caf feat: add agents command 2026-01-07 10:03:53 +01:00
Peter Steinberger 6ffece68b0 fix(doctor): add headless flags + auto-migrate sessions 2026-01-07 04:43:24 +01:00
Peter Steinberger b88c4e9d20 chore: clean up lint and scratchpad 2026-01-07 01:28:46 +00:00
Peter Steinberger 1ae5e9a26b feat: add docs search command 2026-01-07 02:03:06 +01:00
Peter Steinberger 707f7918bc feat: add gateway daemon runtime selector 2026-01-06 23:27:58 +01:00
Peter Steinberger 39d2ba78b7 fix(cli): harden pairing provider parse 2026-01-06 22:17:18 +00:00
Peter Steinberger 2771001720 fix(state): auto-migrate legacy agent dir 2026-01-06 22:04:23 +00:00
James Groat 9b6e2478f5 fix(browser): add profile param to tabs routes and browser-tool
- tabs.ts now uses getProfileContext like other routes
- browser-tool threads profile param through all actions
- add tests for profile query param on /tabs endpoints
- update docs with browser tool profile parameter
2026-01-06 21:54:46 +01:00
James Groat 40758b16a9 fix(browser-cli): rename --profile to --browser-profile to avoid conflict with global --profile flag 2026-01-06 21:54:46 +01:00
Peter Steinberger 1bf44bf30c feat(models): show auth overview 2026-01-06 20:07:04 +00:00
Peter Steinberger dbfa316d19 feat: multi-agent routing + multi-account providers 2026-01-06 18:33:37 +00:00
Peter Steinberger 967cef80bc fix(security): lock down inbound DMs by default 2026-01-06 17:51:56 +01:00
Ayaan Zaidi 7a48b908e4
refactor: replace tsx with bun for TypeScript execution (#278) 2026-01-06 07:14:08 +00:00
Peter Steinberger 7d896b5f67 fix: doctor memory hint 2026-01-06 06:01:24 +00:00
Peter Steinberger 0b27964693 feat: unify poll support
Co-authored-by: DBH <5251425+dbhurley@users.noreply.github.com>
2026-01-06 04:51:05 +00:00
DBH 2737e17c67
feat: Add WhatsApp poll support (#248)
Implements issue #123 - WhatsApp Poll Support

## Gateway Protocol
- Add `poll` RPC method with params: to, question, options (2-12), selectableCount

## ActiveWebListener
- Add `sendPoll(to, poll)` method to interface
- Implementation uses Baileys poll message type

## CLI Command
- `clawdbot poll --to <jid> -q <question> -o <opt1> -o <opt2> [-s count]`
- Supports --dry-run, --json, --verbose flags
- Validates 2-12 options

## Changes
- src/gateway/protocol/schema.ts: Add PollParamsSchema
- src/gateway/protocol/index.ts: Export validator and types
- src/web/active-listener.ts: Add sendPoll to interface
- src/web/inbound.ts: Implement sendPoll using Baileys
- src/web/outbound.ts: Add sendPollWhatsApp function
- src/gateway/server-methods/send.ts: Add poll handler
- src/commands/poll.ts: New CLI command
- src/cli/program.ts: Register poll command

Closes #123
2026-01-06 04:44:15 +00:00
Peter Steinberger ea6ee16461 chore: fix lint warnings 2026-01-06 05:41:24 +01:00
Peter Steinberger 9623bd7763 fix: route agent CLI via gateway 2026-01-06 03:41:56 +01:00
Peter Steinberger 0398f684e7 fix: add gateway stop/restart commands 2026-01-06 03:25:32 +01:00
Marcus Neves 67e1452f4a
Cron: normalize cron.add inputs + align channels (#256)
* fix: harden cron add and align channels

* fix: keep cron tool id params

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-06 02:09:48 +00:00
Peter Steinberger 216a23ed08 fix: auto-migrate legacy config on CLI 2026-01-06 01:10:32 +00:00
Peter Steinberger 359cb66e68 fix: allow wildcard control commands 2026-01-05 02:06:18 +01:00
Peter Steinberger 00370139a5 docs: clarify derived port mapping 2026-01-05 02:03:29 +01:00
Peter Steinberger d58828ebd7 test: relax timeouts for slow runs 2026-01-05 01:36:30 +01:00
Peter Steinberger c6de1b1f7d feat: add --dev/--profile CLI profiles 2026-01-05 01:27:13 +01:00
Peter Steinberger 2ceceb8c25 style(ts): normalize type-only imports 2026-01-04 21:56:16 +01:00
Peter Steinberger 78998dba9e feat: add image model config + tool 2026-01-04 19:35:49 +01:00
Peter Steinberger 0716a624a8 chore(lint): apply biome fixes 2026-01-04 19:08:22 +01:00
Peter Steinberger 2110cac5d6 fix(cli): add config alias and reduce probe noise 2026-01-04 17:23:34 +00:00
Peter Steinberger ff46f8ce58 chore: format models CLI 2026-01-04 18:11:41 +01:00
Peter Steinberger 734bb6b4fd feat: add models scan and fallbacks 2026-01-04 17:57:52 +01:00
Peter Steinberger 30d5511058 test: add config for gateway sigterm 2026-01-04 14:59:49 +00:00
Peter Steinberger 246adaa119 chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Peter Steinberger ec09b06636 fix: wire slack deps and stabilize sigterm test 2026-01-04 15:13:23 +01:00
George Tsifrikas 378e4c9b6b Fix duplicate sendMessageSlack imports
Remove duplicate import statements for sendMessageSlack that were
causing TypeScript compilation errors in deps.ts and heartbeat-runner.ts

Co-Authored-By: Warp <agent@warp.dev>
2026-01-04 14:47:17 +01:00
Peter Steinberger 476bbd2915 fix: update lockfile and lint 2026-01-04 14:12:00 +01:00
Peter Steinberger ec6980cda0 fix: wire slack into delivery routing 2026-01-04 11:44:41 +00:00
Shadow 8c38a7fee8
Slack: add some fixes and connect it all up 2026-01-04 01:53:26 -06:00
Peter Steinberger 7d95f43a75 style: fix lint 2026-01-04 03:37:08 +00:00
Peter Steinberger 12ba32c724 feat(browser): add remote-capable profiles
Co-authored-by: James Groat <james@groat.com>
2026-01-04 03:33:07 +00:00
Peter Steinberger 412e8b3aee test: cover gif playback send params 2026-01-03 23:57:43 +00:00
Peter Steinberger 5862f95bd2 fix: lock main session deletion 2026-01-03 23:57:17 +00:00
Peter Steinberger e17c038d18 fix: add gif playback for WhatsApp sends 2026-01-03 23:56:40 +00:00
Peter Steinberger e1dd764504 feat: add node location support 2026-01-04 00:54:44 +01:00
Peter Steinberger 3b075dff8a feat: add per-session agent sandbox 2026-01-03 21:41:58 +01:00
Peter Steinberger f47c7ac369 feat: support configurable gateway port 2026-01-03 12:00:17 +01:00
Peter Steinberger b914eaa6fa chore: apply biome lint fixes 2026-01-03 05:10:09 +01:00
Peter Steinberger 08ce608ae7 feat: add gateway TUI 2026-01-03 04:47:34 +01:00
Peter Steinberger 43f6b9ef32 fix: resolve camera tool handling 2026-01-02 17:44:25 +00:00
Peter Steinberger cba37f99b6 test: cover camera device selection 2026-01-02 18:25:22 +01:00