Peter Steinberger
d8a417f7ff
feat: add sandbox browser support
2026-01-03 22:14:18 +01:00
Peter Steinberger
3b075dff8a
feat: add per-session agent sandbox
2026-01-03 21:41:58 +01:00
Peter Steinberger
e9d7ac8e84
feat(gateway): add config hot reload
2026-01-03 19:52:24 +00:00
Shadow
451174ca10
Discord: add reaction notification allowlist
2026-01-03 18:48:36 +00:00
Peter Steinberger
1d6de24ab3
feat: configurable control ui base path
2026-01-03 17:55:31 +01:00
Peter Steinberger
53baba71fa
feat: unify onboarding + config schema
2026-01-03 16:48:08 +01:00
Peter Steinberger
72c0aa63fb
style: tidy imports and formatting
2026-01-03 12:35:23 +00:00
Peter Steinberger
f47c7ac369
feat: support configurable gateway port
2026-01-03 12:00:17 +01:00
Peter Steinberger
ac36eba822
feat: expand queue modes and followup backlog
2026-01-03 04:26:49 +01:00
Shadow
0c38f2df2a
Discord: drop enableReactions config
2026-01-03 03:07:13 +01:00
Shadow
6bab813bb3
Discord: add reactions, stickers, and polls skill
2026-01-03 03:07:13 +01:00
Peter Steinberger
2042013360
test: cover provider textChunkLimit config
2026-01-03 01:49:27 +01:00
Peter Steinberger
f5189cc897
refactor: move text chunk limits to providers
2026-01-03 01:49:27 +01:00
Peter Steinberger
5684e2d658
feat: configurable outbound text chunk limits
2026-01-03 01:49:27 +01:00
Peter Steinberger
2d28fa34f5
feat: make block streaming break configurable
2026-01-03 01:49:27 +01:00
Peter Steinberger
9616f4b2b1
feat: stream reply blocks immediately
2026-01-03 00:28:33 +01:00
Peter Steinberger
2c92ccd66e
feat: add reply tags and replyToMode
2026-01-02 23:18:41 +01:00
Peter Steinberger
a9ff03acaf
feat: unify group mention defaults
2026-01-02 22:50:58 +01:00
Peter Steinberger
5cf1a9535e
feat: move group mention gating to provider groups
2026-01-02 22:24:26 +01:00
Shadow
da57c314ef
Discord: clarify docs and drop legacy guild schema
2026-01-02 15:21:13 -06:00
Peter Steinberger
314164fb8a
chore: fix lint and add gateway auth tests
2026-01-02 17:15:26 +01:00
Peter Steinberger
5ecb65cbbe
fix: persist gateway token for local CLI auth
2026-01-02 13:46:48 +01:00
Shadow
b135b3efb9
Discord: add slash command handling
2026-01-02 13:38:35 +01:00
Peter Steinberger
16420e5b31
refactor: auto-migrate legacy config in gateway
2026-01-02 13:07:14 +01:00
Peter Steinberger
0766c5e3cb
refactor: move whatsapp allowFrom config
2026-01-02 13:00:29 +01:00
Peter Steinberger
fd4cff06ca
test: fix discord/config test lint
2026-01-02 12:20:43 +01:00
Peter Steinberger
b50df6eb1d
style: format linted files
2026-01-02 12:20:38 +01:00
Peter Steinberger
4267a1b87d
test: cover discord config + slug routing
2026-01-02 11:19:10 +01:00
Peter Steinberger
eb44ae76f1
feat: add discord guild map + group dm controls
2026-01-02 11:15:52 +01:00
Peter Steinberger
0f56dce748
feat: add discord dm/guild allowlists
2026-01-02 10:32:21 +01:00
Peter Steinberger
9adbf47773
refactor: normalize group session keys
2026-01-02 10:14:58 +01:00
Peter Steinberger
c31070db24
style: apply biome formatting
2026-01-02 01:29:05 +01:00
Peter Steinberger
cbac34347b
feat: add imessage rpc adapter
2026-01-02 01:19:40 +01:00
Peter Steinberger
464dabdc16
docs: default discord reactions to on
2026-01-02 01:11:04 +01:00
Peter Steinberger
7f3113b8d4
feat: add discord reaction tool
2026-01-02 00:29:32 +01:00
Peter Steinberger
23a29216d3
fix: allow remote gateway password config
2026-01-02 00:17:54 +01:00
Peter Steinberger
38d8a669b4
fix: add discord mention context history
2026-01-01 23:58:35 +01:00
Peter Steinberger
bd8a0a9f8f
feat: add remote CDP browser support
2026-01-01 22:44:52 +01:00
Peter Steinberger
bd7cd33b02
feat: add remote gateway client config
2026-01-01 20:10:50 +01:00
Peter Steinberger
a72fdf7c26
feat: expand wizard setup flow
2026-01-01 19:14:14 +01:00
Peter Steinberger
35b66e5ad1
feat: add onboarding wizard
2026-01-01 17:58:07 +01:00
Peter Steinberger
c1ccbd58f5
fix(signal): stabilize daemon + add signal delivery
2026-01-01 15:31:41 +00:00
Peter Steinberger
596770942a
feat: add Signal provider support
2026-01-01 15:43:15 +01:00
Peter Steinberger
fbcbc60e85
feat: unify skills config
2026-01-01 10:07:31 +01:00
Peter Steinberger
ad9a9d8d35
Merge remote-tracking branch 'origin/main' into upstream-preview-nix-2025-12-20
2026-01-01 09:15:28 +01:00
Peter Steinberger
2814815312
feat: add talk voice alias map
2025-12-30 11:35:29 +01:00
Peter Steinberger
d2ac672f47
feat: add ui.seamColor accent
2025-12-30 04:14:36 +01:00
Peter Steinberger
e119a82334
feat: talk mode key distribution and tts polling
2025-12-30 01:57:58 +01:00
Peter Steinberger
20d7882033
feat: add talk mode across nodes
2025-12-29 23:21:05 +01:00
Josh Palmer
b7363f7c18
feat: Nix mode config, UX, onboarding, SwiftPM plist, docs
2025-12-29 17:49:13 +01:00
Peter Steinberger
8826170635
fix: resolve CI lint and android build
2025-12-27 01:41:43 +01:00
Peter Steinberger
52ca5c4aa2
fix: drop identity emoji response prefix
2025-12-27 00:36:04 +00:00
Peter Steinberger
95f8f80e74
fix: allow empty responsePrefix
2025-12-27 00:33:04 +00:00
Peter Steinberger
5c8e1b6eef
feat: add model aliases + minimax shortlist
2025-12-26 23:26:14 +00:00
Peter Steinberger
ed2e738ea4
fix: provider startup order and enable flags
2025-12-26 16:54:53 +00:00
Peter Steinberger
034c93fd65
fix: align discord types
2025-12-26 14:47:15 +01:00
Peter Steinberger
a678c3f53e
refactor(queue): remove drop mode
2025-12-26 14:29:28 +01:00
Peter Steinberger
8dda07a1e9
feat(queue): add queue modes and discord gating
2025-12-26 13:35:44 +01:00
Shadow
ac659ff5a7
feat(discord): Discord transport
2025-12-26 13:20:30 +01:00
Peter Steinberger
0d8e0ddc4f
feat: unify gateway heartbeat
2025-12-26 02:35:40 +01:00
Peter Steinberger
19f87f0a89
feat: allow hour durations
2025-12-26 01:34:46 +01:00
Peter Steinberger
9f7b1f0942
feat: move heartbeat config to agent.heartbeat
2025-12-26 01:13:42 +01:00
Peter Steinberger
1ef888ca23
refactor(config): drop agent.provider
2025-12-26 01:13:42 +01:00
Rolf Fredheim
2295cbb815
feat(agent): add maxConcurrent config for parallel message handling
...
Adds `agent.maxConcurrent` config option to control how many agent runs
can execute in parallel across all conversations. Default remains 1
(sequential) for backwards compatibility.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 23:55:41 +01:00
Peter Steinberger
aafcd569b1
feat: line-based process logs
2025-12-25 18:03:57 +00:00
Peter Steinberger
81e11c1d91
fix: bridge tailnet bind also listens on loopback
2025-12-25 01:37:47 +00:00
Peter Steinberger
aeb5455555
feat: add webhook hook mappings
...
# Conflicts:
# src/gateway/server.ts
2025-12-24 19:48:05 +00:00
Peter Steinberger
1ed5ca3fde
feat: add gateway webhooks
2025-12-24 14:33:05 +00:00
Peter Steinberger
267cdf20e1
style: fix biome lint
2025-12-24 00:33:35 +00:00
Peter Steinberger
93af424ce5
refactor: move inbound config
2025-12-24 00:22:52 +00:00
Peter Steinberger
364a6a9444
feat: add per-session model selection
2025-12-23 23:45:20 +00:00
Peter Steinberger
cba12a1abd
fix: inject group activation in system prompt
2025-12-23 13:32:07 +00:00
Peter Steinberger
c8c807adcc
refactor: drop PAM auth and require password for funnel
2025-12-23 13:13:09 +00:00
Peter Steinberger
183270b443
fix: correct models config schema
2025-12-23 02:50:26 +01:00
Peter Steinberger
082c872469
feat: support custom model providers
2025-12-23 02:48:48 +01:00
Peter Steinberger
ce04308c17
refactor: remove session syncing metadata
2025-12-23 00:50:51 +01:00
Peter Steinberger
f10c8f2b4c
feat: add group activation command
2025-12-22 20:36:29 +01:00
Peter Steinberger
15e468f5dd
feat: add group chat activation mode
2025-12-22 19:32:12 +01:00
Peter Steinberger
2d7c5f8c53
refactor: migrate embedded pi to sdk
2025-12-22 18:05:44 +01:00
Peter Steinberger
a8629e1855
fix(logging): simplify tty color detection
2025-12-21 13:34:13 +00:00
Peter Steinberger
0146784e18
feat(logging): add console color modes
2025-12-21 13:26:50 +00:00
Peter Steinberger
5b2e7d4464
refactor(logging): add subsystem console formatting
2025-12-21 13:24:15 +00:00
Peter Steinberger
053c8d5731
feat(gateway): add tailscale auth + pam
2025-12-21 00:44:39 +00:00
Peter Steinberger
ba0791b896
feat: add skills search and website
2025-12-20 17:32:40 +01:00
Peter Steinberger
bd572c775d
refactor: remove canvasHost port config
2025-12-20 17:15:43 +01:00
Peter Steinberger
65329496a7
refactor: serve canvas host on gateway port
2025-12-20 17:13:36 +01:00
Peter Steinberger
973bf67683
feat(skills): add extraDirs load paths
2025-12-20 12:26:58 +00:00
Peter Steinberger
0e2993a6c8
fix(skills): prevent skills loading crash
2025-12-20 11:49:24 +00:00
Peter Steinberger
d1850aaada
feat: add managed skills gating
2025-12-20 12:22:38 +01:00
Peter Steinberger
849446ae17
refactor(cli): unify on clawdis CLI + node permissions
2025-12-20 02:08:04 +00:00
Peter Steinberger
6b6f2b5414
fix(control-ui): drop /ui alias
2025-12-19 05:13:07 +00:00
Peter Steinberger
c498348a34
fix(control-ui): serve dashboard at root
2025-12-19 05:11:08 +00:00
Peter Steinberger
df0c51a63b
Gateway: add browser control UI
2025-12-18 22:41:06 +00:00
Peter Steinberger
ac50a14b6a
Gateway: enable canvas host + inject action bridge
2025-12-18 23:32:22 +01:00
Peter Steinberger
d182f7e4b2
chore(naming): remove Iris codename
2025-12-18 13:18:33 +01:00
Peter Steinberger
cd729e83b6
Gateway: optional canvas host
2025-12-18 11:35:21 +01:00
Peter Steinberger
875cf9a054
refactor(webchat): SwiftUI-only WebChat UI
...
# Conflicts:
# apps/macos/Package.swift
2025-12-17 23:05:28 +01:00
Peter Steinberger
e9ae10e569
Gateway: wide-area Bonjour via clawdis.internal
2025-12-17 17:01:10 +01:00
Peter Steinberger
fece42ce0a
feat: embed pi agent runtime
2025-12-17 11:29:04 +01:00
Peter Steinberger
f414853d70
fix(config): tolerate session store races
2025-12-14 04:42:04 +00:00
Peter Steinberger
7c677c5057
test: cover identity defaults and pi flags
2025-12-14 04:40:01 +00:00
Peter Steinberger
b817225fb8
feat(agent): enforce provider/model and identity defaults
2025-12-14 04:22:38 +00:00
Peter Steinberger
073285409b
feat: bootstrap agent workspace and AGENTS.md
2025-12-14 03:14:58 +00:00
Peter Steinberger
d7a8d9a1c7
fix(browser): default control url uses 18791
2025-12-13 16:26:48 +00:00
Peter Steinberger
208ba02a4a
feat(browser): add clawd browser control
2025-12-13 16:26:48 +00:00
Peter Steinberger
f9409cbe43
Cron: add scheduler, wakeups, and run history
2025-12-13 02:34:38 +00:00
Peter Steinberger
8ca240fb2c
fix(gateway): ignore stale lastTo for voice
2025-12-12 18:11:26 +00:00
Peter Steinberger
7a1d64fff9
style(tests): format imports
2025-12-12 16:47:10 +00:00
Peter Steinberger
9eda40234f
test: cover main last-channel routing
2025-12-12 16:35:47 +00:00
Peter Steinberger
a524b9ae9b
feat(voicewake): route replies to last channel
2025-12-12 16:22:30 +00:00
Peter Steinberger
a3bf2bdd8c
chore: rename relay to gateway
2025-12-09 18:00:01 +00:00
Peter Steinberger
2177df51a8
feat(status): enrich session details
2025-12-09 03:00:10 +00:00
Peter Steinberger
17a6d716ad
Webchat: auto-start server and simplify config
2025-12-08 13:12:34 +00:00
Peter Steinberger
d73d571f19
Launch agent: disable autostart without killing running app
2025-12-07 19:01:14 +01:00
Peter Steinberger
d463c82c95
build: add local node bin to restart script PATH
2025-12-07 19:01:14 +01:00
Peter Steinberger
4b6325908b
feat: unify main session and icon cues
2025-12-06 23:16:23 +01:00
Peter Steinberger
690113dd73
Add bundled pi default and session token reporting
2025-12-05 23:18:43 +01:00
Peter Steinberger
29dfe89137
chore: redact long texts in web logs
2025-12-05 19:21:23 +00:00
Peter Steinberger
7c7314f673
chore: drop twilio and go web-only
2025-12-05 19:03:59 +00:00
Peter Steinberger
fcf0c28132
chore: make pi-only rpc with fixed sessions
2025-12-05 17:50:02 +00:00
Peter Steinberger
b3e50cbb33
Switch to clawdis RPC mode and complete rebrand
2025-12-05 17:22:53 +00:00
Eng. Juan Combetto
4a35bcec21
fix: resolve lint errors (unused vars, imports, formatting)
...
- Prefix unused test variables with underscore
- Remove unused piSpec import and idleMs class member
- Fix import ordering and code formatting
2025-12-04 16:15:17 +00:00
Eng. Juan Combetto
518af0ef24
config: support clawdis.json path for rebranding
...
- Add CONFIG_PATH_CLAWDIS (~/.clawdis/clawdis.json) as preferred path
- Keep CONFIG_PATH_LEGACY (~/.warelay/warelay.json) for backward compatibility
- Update loadConfig() to check clawdis.json first, fallback to warelay.json
- Fix TypeScript type error in extractMentionedJids (null handling)
Part of the warelay → clawdis rebranding effort.
2025-12-04 16:15:17 +00:00
Peter Steinberger
6afe6f4ecb
feat(web): add group chat mention support
2025-12-03 12:35:18 +00:00
Peter Steinberger
53c1674382
Chore: format + lint fixes
2025-12-03 09:09:34 +00:00
Peter Steinberger
086dd284d6
Auto-reply: add /verbose directives and tool result replies
2025-12-03 09:04:37 +00:00
Peter Steinberger
58520859e5
Auto-reply: add thinking directives
2025-12-03 08:45:23 +00:00
Peter Steinberger
b172b538fc
perf(pi): reuse tau rpc for command auto-replies
2025-12-02 20:09:51 +00:00
Peter Steinberger
f31e89d5af
Agents: add pluggable CLIs
...
Co-authored-by: RealSid08 <RealSid08@users.noreply.github.com>
2025-12-02 11:07:46 +00:00
Peter Steinberger
8d20edb028
Simplify timestampPrefix: bool or timezone string, default true
...
- timestampPrefix: true (UTC), false (off), or 'America/New_York'
- Removed separate timestampTimezone option
- Default is now enabled (true/UTC) unless explicitly false
2025-11-29 05:29:29 +00:00
Peter Steinberger
7564c4e7f4
Generalize prefix config: messagePrefix + responsePrefix
...
Replaces samePhoneMarker/samePhoneResponsePrefix with:
- messagePrefix: prefix for all inbound messages
- Default: '[warelay]' if no allowFrom, else ''
- responsePrefix: prefix for all outbound replies
Also adds timestamp options:
- timestampPrefix: boolean to enable [Nov 29 06:30] format
- timestampTimezone: IANA timezone (default UTC)
Updated README with new config table entries.
2025-11-29 05:27:58 +00:00
Peter Steinberger
26e02a9b8b
Add timestampPrefix config for datetime awareness
...
New config options:
- timestampPrefix: boolean - prepend timestamp to messages
- timestampTimezone: string - IANA timezone (default: UTC)
Format: [Nov 29 06:30] - compact but informative
Helps AI assistants stay aware of current date/time.
2025-11-29 05:25:53 +00:00
Peter Steinberger
25ec133574
Add samePhoneResponsePrefix config option
...
Automatically prefixes responses with a configurable string when in
same-phone mode. This helps distinguish bot replies from user messages
in the same chat bubble.
Example config:
"samePhoneResponsePrefix": "🦞 "
Will prefix all same-phone replies with the lobster emoji.
2025-11-29 05:24:01 +00:00
Peter Steinberger
d88ede92b9
feat: same-phone mode with echo detection and configurable marker
...
Adds full support for self-messaging setups where you chat with yourself
and an AI assistant replies in the same WhatsApp bubble.
Changes:
- Same-phone mode (from === to) always allowed, bypasses allowFrom check
- Echo detection via bounded Set (max 100) prevents infinite loops
- Configurable samePhoneMarker in config (default: "[same-phone]")
- Messages prefixed with marker so assistants know the context
- fromMe filter removed from inbound.ts (echo detection in auto-reply)
- Verbose logging for same-phone detection and echo skips
Tests:
- Same-phone allowed without/despite allowFrom configuration
- Body prefixed only when from === to
- Non-same-phone rejected when not in allowFrom
2025-11-29 04:52:21 +00:00
Peter Steinberger
d4580d1a31
Fix CI: type gaps and hasMedia check
2025-11-27 18:14:20 +01:00
Peter Steinberger
135d930c99
feat: add heartbeat idle override and preserve session freshness
2025-11-26 17:26:17 +01:00
Peter Steinberger
271004bf60
feat: add heartbeat cli and relay trigger
2025-11-26 17:04:43 +01:00
Peter Steinberger
baf20af17f
web: add heartbeat and bounded reconnect tuning
2025-11-26 02:34:43 +01:00
Peter Steinberger
e5f677803f
chore: format to 2-space and bump changelog
2025-11-26 00:53:53 +01:00
Peter Steinberger
a67f4db5e2
chore: format + lint
2025-11-26 00:30:30 +01:00
Peter Steinberger
8a01dc7f4c
style: normalize indentation to 2 spaces
2025-11-26 00:15:10 +01:00
Peter Steinberger
d871dad85f
feat: keep typing indicators alive during commands
2025-11-26 00:05:11 +01:00
Peter Steinberger
2e3b8a03aa
feat: send session prompt once
2025-11-25 23:52:38 +01:00
Peter Steinberger
7d0ae151e8
feat: optional audio transcription via CLI
2025-11-25 23:06:54 +01:00
Peter Steinberger
0a0418b973
web: compress auto-reply media
2025-11-25 20:09:03 +01:00
Peter Steinberger
9c25e15e92
Release 0.1.3
2025-11-25 16:53:30 +01:00
Peter Steinberger
bcbf0de240
Add cwd option for command replies
2025-11-25 16:19:24 +01:00
Peter Steinberger
38659f5d3e
test: sync updated specs
2025-11-25 12:12:29 +01:00
Peter Steinberger
800c7a1e1f
chore: sync source updates
2025-11-25 12:12:13 +01:00
Peter Steinberger
7e9e8fd9c9
ci: fix node path and lint warnings
2025-11-25 12:08:08 +01:00
Peter Steinberger
948ff7f035
feat: add image support across web and twilio
2025-11-25 04:58:31 +01:00
Peter Steinberger
8bd406f6b1
feat: add config validation and send dry-run
2025-11-25 03:46:26 +01:00
Peter Steinberger
afdaa7ef98
Refactor CLI and Twilio modules; add helper tests and comments
2025-11-25 03:11:39 +01:00
Peter Steinberger
b8b0873c1e
Extract auto-reply helpers into modules
2025-11-25 02:16:54 +01:00