Peter Steinberger
3a14da2e3b
fix: avoid echoing prompts when rpc returns empty
2025-12-05 22:52:21 +00:00
Peter Steinberger
b9497a7d3a
fix: ignore directives inside history blocks
2025-12-05 22:49:41 +00:00
Peter Steinberger
e7099890fd
test: cover directive parsing and abort/restart prefixes
2025-12-05 22:29:49 +00:00
Peter Steinberger
c871408ad7
fix: avoid directive hits inside URLs and add tests
2025-12-05 22:28:36 +00:00
Peter Steinberger
c613569b47
Add bundled pi default and session token reporting
2025-12-05 23:18:43 +01:00
Peter Steinberger
99cac27e99
chore: add system marker to directives and abort
2025-12-05 21:37:11 +00:00
Peter Steinberger
4f387e8a80
fix: normalize directive triggers and short-circuit
2025-12-05 21:29:41 +00:00
Peter Steinberger
8c6e73dcb4
chore: remove twilio and expand pi cli detection
2025-12-05 21:13:23 +00:00
Peter Steinberger
10f61845c1
feat: stream turn completions and tighten rpc timeout
2025-12-05 21:13:17 +00:00
Peter Steinberger
783e81486a
chore: redact long texts in web logs
2025-12-05 19:21:23 +00:00
Peter Steinberger
5274b5808d
fix: ignore rpc toolcall deltas to avoid duplicate replies
2025-12-05 19:16:03 +00:00
Peter Steinberger
b1f09f9943
chore: drop twilio and go web-only
2025-12-05 19:03:59 +00:00
Peter Steinberger
a8f1a6a74b
Route pi agent prompts via RPC stdin
2025-12-05 18:34:05 +00:00
Peter Steinberger
6886416692
fix: harden pi rpc prompt handling
2025-12-05 18:24:45 +00:00
Peter Steinberger
f980b0af1c
chore: make pi-only rpc with fixed sessions
2025-12-05 17:50:02 +00:00
Peter Steinberger
ed17fe51bd
Switch to clawdis RPC mode and complete rebrand
2025-12-05 17:22:53 +00:00
Peter Steinberger
432508bf93
chore: organize imports after rebrand
2025-12-04 18:02:51 +00:00
Peter Steinberger
07c7353ccb
branding: default to clawdis paths and launchd label
2025-12-04 18:01:30 +00:00
Peter Steinberger
925d1f061a
web: fix mentioned JID extraction typing
2025-12-04 17:54:51 +00:00
Peter Steinberger
bd214ab43e
auto-reply: honor /new after timestamp prefixes
2025-12-04 17:54:20 +00:00
Peter Steinberger
6f29565722
CLI: add agent command for direct agent runs
2025-12-04 17:54:20 +00:00
Eng. Juan Combetto
4e3db62818
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
0fea51feb5
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
8e6f0b0fe3
auto-reply: handle group think/verbose directives
2025-12-04 02:29:32 +00:00
Peter Steinberger
e89f14e441
test: cover verbose directive in group batches
2025-12-03 15:45:43 +00:00
Peter Steinberger
9f28bed851
fix: allow directive-only toggles inside group batches
2025-12-03 15:45:43 +00:00
Peter Steinberger
35459ee524
fix(web): capture mentions from media captions
2025-12-03 15:45:43 +00:00
Peter Steinberger
c5a1020fa4
fix(web): surface media fetch failures
2025-12-03 15:45:43 +00:00
Peter Steinberger
99dc0af46f
auto-reply: single emoji per verbose tool line
2025-12-03 15:45:43 +00:00
Peter Steinberger
62f06b6518
auto-reply: emoji + result preview for verbose tool calls
2025-12-03 15:45:43 +00:00
Peter Steinberger
0bdb3b718e
feat(web): prime group sessions with member roster
2025-12-03 15:45:43 +00:00
Peter Steinberger
4dcb5f276b
auto-reply: surface tool args from rpc start events
2025-12-03 15:45:43 +00:00
Peter Steinberger
4d6bc8eeaf
fix(web): annotate group replies with sender
2025-12-03 13:25:34 +00:00
Peter Steinberger
b83035d13c
fix(web): unwrap ephemeral/view-once and keep mentions
2025-12-03 13:15:46 +00:00
Peter Steinberger
922d15c6f3
test(web): ensure group messages carry sender + bypass allowFrom
2025-12-03 13:12:05 +00:00
Peter Steinberger
481c5ea192
fix(web): let group pings bypass allowFrom
2025-12-03 13:11:01 +00:00
Peter Steinberger
46f2e39142
fix(web): allow group replies past allowFrom
2025-12-03 13:08:54 +00:00
Peter Steinberger
fb7c21a0a0
logging: route console output into pino
2025-12-03 13:07:47 +00:00
Peter Steinberger
a53117273e
fix(web): detect self number mentions in group chats
2025-12-03 12:43:20 +00:00
Peter Steinberger
cee6618fd6
feat(web): add group chat mention support
2025-12-03 12:35:18 +00:00
Peter Steinberger
7a7395fc99
Add /restart WhatsApp command to restart warelay
2025-12-03 12:14:32 +00:00
Peter Steinberger
631c7266de
Pi: stream tool results faster (0.5s, flush after 5)
2025-12-03 12:08:58 +00:00
Peter Steinberger
9a92a88c7b
Pi: stream assistant text during RPC runs
2025-12-03 11:50:49 +00:00
Peter Steinberger
cee09fa3e5
Tau RPC: resolve on agent_end or exit
2025-12-03 11:34:00 +00:00
Peter Steinberger
b6a04aadd2
Pi: resume Tau sessions with --continue
2025-12-03 11:33:51 +00:00
Peter Steinberger
d428d7ce36
Tau RPC: wait for agent_end when tools run
2025-12-03 11:29:12 +00:00
Peter Steinberger
c761de9f0c
Web: simplify logout message
2025-12-03 11:04:12 +00:00
Peter Steinberger
906bcb929e
Chore: satisfy lint after tool-meta refactor
2025-12-03 10:42:10 +00:00
Peter Steinberger
2e9f600161
Refactor: extract tool meta formatter + debouncer
2025-12-03 10:30:01 +00:00
Peter Steinberger
2878bcdd6f
Verbose: shorten meta paths when aggregating
2025-12-03 10:26:41 +00:00
Peter Steinberger
3361beca63
Verbose: collapse tool meta paths by directory
2025-12-03 10:24:41 +00:00
Peter Steinberger
32679adcc8
Verbose: slow tool batch window to 1s
2025-12-03 10:13:02 +00:00
Peter Steinberger
f96fa5330e
Verbose: shorten home paths in tool meta
2025-12-03 10:12:27 +00:00
Peter Steinberger
040c991ce9
Verbose: batch rapid tool results
2025-12-03 10:11:41 +00:00
Peter Steinberger
c9fd48de31
Verbose: include tool arg metadata in prefixes
2025-12-03 09:57:41 +00:00
Peter Steinberger
01185952e6
Verbose: send tool result metadata only
2025-12-03 09:40:05 +00:00
Peter Steinberger
c8309e73aa
Tau RPC: resolve on agent_end
2025-12-03 09:39:26 +00:00
Peter Steinberger
d839533d4e
Auto-reply: stream verbose tool results via tau rpc
2025-12-03 09:21:31 +00:00
Peter Steinberger
78646030f4
Auto-reply: show tool results before main reply in verbose mode
2025-12-03 09:14:10 +00:00
Peter Steinberger
4c6bef34cf
Chore: format + lint fixes
2025-12-03 09:09:34 +00:00
Peter Steinberger
ffd14dc6c6
Auto-reply: add verbose session hint
2025-12-03 09:07:17 +00:00
Peter Steinberger
e33c7a813d
Auto-reply: add /verbose directives and tool result replies
2025-12-03 09:04:37 +00:00
Peter Steinberger
ddf5cc12c2
Auto-reply: treat prefixed think directives as directive-only
2025-12-03 08:57:30 +00:00
Peter Steinberger
e5fff1d374
Auto-reply: ack think directives
2025-12-03 08:54:38 +00:00
Peter Steinberger
ff6d832151
Auto-reply: add thinking directives
2025-12-03 08:45:23 +00:00
Peter Steinberger
a0633e3ff1
Format: align thinking helpers
2025-12-03 01:02:10 +00:00
Peter Steinberger
ba744915eb
Heartbeat: guard optional heartbeatCommand
2025-12-03 00:45:27 +00:00
Peter Steinberger
11529882e7
Heartbeat: normalize reply arrays for twilio/web
2025-12-03 00:43:28 +00:00
Peter Steinberger
f1ee08659e
Heartbeat: normalize array replies
2025-12-03 00:40:19 +00:00
Peter Steinberger
61e76cb43b
Auto-reply: allow array payloads in signature
2025-12-03 00:35:57 +00:00
Peter Steinberger
849244d93e
CI: fix command-reply payload typing
2025-12-03 00:33:58 +00:00
Peter Steinberger
61723fa0d0
Auto-reply: format and lint fixes
2025-12-03 00:30:05 +00:00
Peter Steinberger
d25d12ca8a
Auto-reply: smarter chunking breaks
2025-12-03 00:25:01 +00:00
Peter Steinberger
80b2967ae8
web: handle multi-payload replies
2025-12-02 23:46:11 +00:00
Peter Steinberger
0f378bb640
limits: chunk replies for twilio/web
2025-12-02 23:10:16 +00:00
Peter Steinberger
f374561579
auto-reply: support multi-text RPC outputs
2025-12-02 23:03:55 +00:00
Peter Steinberger
32f1af6277
logging: emit agent/session meta at command start
2025-12-02 21:30:28 +00:00
Peter Steinberger
45d9bca433
revert: mark system prompt sent on first turn
2025-12-02 21:23:56 +00:00
Peter Steinberger
5d0e0c8e8f
ci: fix lint and tau rpc typing
2025-12-02 21:12:51 +00:00
Peter Steinberger
138279a7e1
fix(media): clean up files after response finishes
2025-12-02 21:10:18 +00:00
Peter Steinberger
5e5adbfc8f
test(media): add redirect coverage and update changelog
2025-12-02 21:09:26 +00:00
Peter Steinberger
86302247b6
chore: tidy claude prompt and drop npm lock
2025-12-02 21:07:37 +00:00
Joao Lisboa
7d919ac3bc
style: fix biome formatting
2025-12-02 21:07:13 +00:00
Joao Lisboa
26ae8c780e
style: fix biome lint errors
2025-12-02 21:07:13 +00:00
Joao Lisboa
562f8075d8
style: fix biome formatting
2025-12-02 21:07:13 +00:00
Joao Lisboa
57b48d9ad9
fix: send Claude identity prefix on first session message
...
The systemSent variable was being set to true before being passed to
runCommandReply, causing the identity prefix to never be injected.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 21:07:13 +00:00
Joao Lisboa
b2f3e69eae
fix: follow redirects when downloading Twilio media
...
node:https request() doesn't follow redirects by default, causing
Twilio media URLs (which 302 to CDN) to save placeholder/metadata
instead of actual images.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 21:07:13 +00:00
Joao Lisboa
24bc88b638
chore: user-agnostic Claude identity and tests
...
- Use ~/Clawd instead of hardcoded /Users/steipete/clawd
- Add MEDIA: syntax instructions to identity prefix
- Update tests to check for 'scratchpad' instead of specific path
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 21:07:13 +00:00
Joao Lisboa
d53d8da56f
fix: media serving and id consistency
...
- server.ts: Replace sendFile with manual readFile+send to fix
NotFoundError when serving media (sendFile failed even after stat)
- store.ts: Return id with file extension so it matches actual filename
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 21:07:13 +00:00
Joao Lisboa
fc2890748e
fix: use export type for type-only re-exports
...
Fixes build error with isolatedModules.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 21:06:27 +00:00
Peter Steinberger
2a2b662c3e
perf(pi): reuse tau rpc for command auto-replies
2025-12-02 20:09:51 +00:00
Peter Steinberger
dc226c4ee0
fix(media): block symlink traversal
2025-12-02 18:37:15 +00:00
Joao Lisboa
0ea182c0c1
Fix path traversal vulnerability in media server
...
The /media/:id endpoint was vulnerable to path traversal attacks.
Since this endpoint is exposed via Tailscale Funnel (unlike the
WhatsApp webhook which requires Twilio signature validation),
attackers could directly request paths like /media/%2e%2e%2fwarelay.json
to access sensitive files in ~/.warelay/ (e.g. warelay.json), or even
escape further to the user's home directory via multiple ../ sequences.
Fix: validate resolved paths stay within the media directory.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 19:33:21 +01:00
Peter Steinberger
5b5eebe015
chore(logs): rotate daily and prune after 24h
2025-12-02 17:11:43 +00:00
Peter Steinberger
1f0c022b96
chore(security): purge session store on logout
2025-12-02 16:33:44 +00:00
Peter Steinberger
241941fb70
chore(security): harden ipc socket
2025-12-02 16:09:40 +00:00
Peter Steinberger
84d9501e85
Tests: cover agents and fix web defaults
...
Co-authored-by: RealSid08 <RealSid08@users.noreply.github.com>
2025-12-02 11:08:00 +00:00
Peter Steinberger
d61e641496
Agents: add pluggable CLIs
...
Co-authored-by: RealSid08 <RealSid08@users.noreply.github.com>
2025-12-02 11:07:46 +00:00
Peter Steinberger
94a404d769
feat(web): batch inbound messages
2025-12-02 07:54:13 +00:00
Peter Steinberger
32564ca6d3
Add typing indicator after IPC send
...
After sending via IPC, automatically show "composing" indicator so
user knows more messages may be coming from the running session.
2025-12-02 06:58:17 +00:00