Peter Steinberger
f6f8aadfed
fix: suppress heartbeat directive acks and add coverage
2025-12-05 22:54:17 +00:00
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