Peter Steinberger
9be1a14a08
fix: resolve agent dir in onboarding
2026-01-05 07:12:13 +01:00
Peter Steinberger
17ef7b3b0e
fix: status runtime + help
2026-01-05 07:07:17 +01:00
Peter Steinberger
1545ac0003
chore: update a2ui bundle hash
2026-01-05 06:39:08 +01:00
Peter Steinberger
f3cb41511d
feat: add openai codex oauth
2026-01-05 06:31:45 +01:00
Peter Steinberger
995f5959af
fix: stage sandbox media for inbound attachments
2026-01-05 06:18:11 +01:00
Peter Steinberger
a7d33c06f9
refactor: align agent lifecycle
2026-01-05 05:55:02 +01:00
Peter Steinberger
bcdaba1d48
chore: format custom editor
2026-01-05 05:32:30 +01:00
Peter Steinberger
870473be85
chore: update deps
2026-01-05 05:27:58 +01:00
Peter Steinberger
2eb78b8da7
fix: resolve qrcode ESM import for Node 25
2026-01-05 03:47:57 +01:00
Peter Steinberger
93bb0257f0
fix: include sessions in npm pack and update qrcode import
2026-01-05 03:28:25 +01:00
Peter Steinberger
deba1b6739
style: format daemon program args test
2026-01-05 02:54:08 +01:00
Peter Steinberger
aab98a6d18
test: fix daemon program args fs mocks
2026-01-05 02:51:56 +01:00
Peter Steinberger
849a008f34
test: avoid max port in browser server tests
2026-01-05 02:50:48 +01:00
Peter Steinberger
8791e46cf3
fix: resolve npx gateway daemon install
2026-01-05 02:48:25 +01:00
Peter Steinberger
d92a9e351e
style: fix linting order and formatting
2026-01-05 02:33:59 +01:00
Peter Steinberger
a1acd7dae8
chore: add qrcode-terminal vendor module stubs
2026-01-05 02:33:55 +01:00
Peter Steinberger
67420e9a81
fix: allow group activation for allowFrom senders
2026-01-05 02:33:51 +01:00
Peter Steinberger
e4335ea094
fix: bundle qr renderer in relay
2026-01-05 02:19:49 +01:00
Peter Steinberger
0c632f4855
fix: prefer tailnet IP for local gateway calls
2026-01-05 02:19:26 +01:00
Peter Steinberger
a322075764
fix: use id for cron tool params
2026-01-05 02:15:11 +01: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
17422608b2
fix: gate /activation to owners in groups
2026-01-05 02:03:29 +01:00
Peter Steinberger
85549ac3b6
fix: gate group activation by owner
2026-01-05 00:48:16 +00:00
Peter Steinberger
1bad96aa2b
style: tidy auto-reply imports and formatting
2026-01-05 01:46:16 +01:00
Peter Steinberger
b0dcdc4982
fix: avoid mixing ?? and || in discord monitor
2026-01-05 01:46:16 +01:00
Shadow
13d39b8fb1
Fix discord/slack monitor compile errors
2026-01-04 18:44:19 -06:00
Peter Steinberger
50d26d827e
fix: avoid duplicate senderName in slack monitor
2026-01-05 00:43:31 +00:00
Peter Steinberger
d58828ebd7
test: relax timeouts for slow runs
2026-01-05 01:36:30 +01:00
Jake
3f40f4ab54
style: fix lint issues
2026-01-05 01:36:30 +01:00
Jake
65a55b97e0
WhatsApp: mark offline/history messages as read
2026-01-05 01:36:29 +01:00
Peter Steinberger
852f947b44
fix: unify control command handling
2026-01-05 01:31:36 +01:00
Peter Steinberger
c6de1b1f7d
feat: add --dev/--profile CLI profiles
2026-01-05 01:27:13 +01:00
Peter Steinberger
f601dac30d
style: tidy tool schema normalization
2026-01-05 01:27:13 +01:00
Peter Steinberger
39e482414a
chore: apply upstream autostash
2026-01-05 00:26:52 +00:00
Peter Steinberger
bcdfe461d4
fix(ci): resolve lint and docs build failures
2026-01-05 00:17:14 +00:00
Peter Steinberger
2899a986a8
feat(config): add default model shorthands
2026-01-05 01:11:29 +01:00
Peter Steinberger
7a63b4995b
feat: opt-in login shell env fallback
2026-01-05 01:11:29 +01:00
Peter Steinberger
7a36e6fcd9
fix(discord): avoid duplicate block replies
2026-01-05 01:11:29 +01:00
Peter Steinberger
77b19643e2
fix: load global .env fallback
2026-01-05 01:11:29 +01:00
Josh Palmer
aa45f512f4
fix sessions dir from state env
...
what: use CLAWDBOT_STATE_DIR/CLAWDIS_STATE_DIR for session transcripts
why: isolate multi-instance gateways
tests: not run
2026-01-05 00:51:11 +01:00
Peter Steinberger
4963432777
fix(discord): avoid duplicate replies on repeated message_end
2026-01-05 00:35:42 +01:00
Peter Steinberger
435edaf997
fix: OpenAI tool schema compatibility
2026-01-05 00:15:55 +01:00
Jake
946b32c842
fix(whatsapp): suppress typing during heartbeats
...
- Prevent typing indicator during heartbeat runs
- Add regression tests
Co-authored-by: Jake <mcinteerj@gmail.com>
2026-01-04 23:03:36 +00:00
Peter Steinberger
4dd515b65f
fix(tools): honor agent tool denylist without sandbox
2026-01-05 00:02:14 +01:00
Peter Steinberger
1657c5e3d2
fix: route system events per session
2026-01-04 22:11:04 +01:00
Peter Steinberger
2ceceb8c25
style(ts): normalize type-only imports
2026-01-04 21:56:16 +01:00
Peter Steinberger
0faa200924
fix(onboarding): auto-build Control UI assets
2026-01-04 21:53:23 +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
e005dcb8e7
fix(oauth): derive oauth.json from state dir
2026-01-04 19:08:13 +01:00
Peter Steinberger
d85f91d247
feat: guide control ui access without gui
2026-01-04 18:49:36 +01:00
Shadow
50cecd8210
Discord: remove duplicate message ids
2026-01-04 11:36:18 -06:00
Peter Steinberger
2110cac5d6
fix(cli): add config alias and reduce probe noise
2026-01-04 17:23:34 +00:00
Peter Steinberger
5d17b84e8a
test(gateway): allow webchat chat.send without node
2026-01-04 17:12:49 +00:00
Peter Steinberger
2694e59ba6
fix(gateway): allow Control UI chat without node
2026-01-04 17:12:49 +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
Cash Williams
64e656af82
fix: default elevated level to 'off' when not allowed
...
When elevatedAllowed is false (e.g., for heartbeat surface which isn't
in any allowFrom list), the elevated level was incorrectly defaulting
to 'on', causing bash commands to fail with 'elevated is not available'.
Now defaults to 'off' when elevated isn't allowed, so bash works
normally without trying to use elevated mode.
Fixes: https://github.com/clawdbot/clawdbot/issues/181
2026-01-04 17:36:14 +01:00
Clawd
17665d1732
fix(cron): pass 'id' instead of 'jobId' to gateway
...
The cron tool was passing { jobId } to the gateway for update/remove/run/runs
actions, but the gateway protocol schema expects { id }. This caused validation
errors when trying to update or remove cron jobs via the tool.
Fixes the parameter name while keeping the external tool API unchanged (still
accepts 'jobId' from callers).
2026-01-04 17:18:29 +01:00
Peter Steinberger
718299b25a
feat(doctor): repair sandbox images
2026-01-04 16:02:24 +00:00
Peter Steinberger
5f09d801d0
feat(doctor): migrate legacy Clawdis config
2026-01-04 15:40:06 +00:00
Peter Steinberger
65ad956ab4
feat(daemon): add legacy Clawdis service cleanup
2026-01-04 15:40:06 +00:00
Peter Steinberger
026a25d164
chore: lint and format cleanup
2026-01-04 16:24:17 +01:00
Peter Steinberger
e8de7d083d
feat: update onboard ASCII art to seafood shack lobster theme
2026-01-04 16:24:17 +01:00
Peter Steinberger
8f53e9093d
test: align google-shared expectations
2026-01-04 15:02:42 +00:00
Peter Steinberger
30d5511058
test: add config for gateway sigterm
2026-01-04 14:59:49 +00:00
Peter Steinberger
c6b8235862
style: format tests and helpers
2026-01-04 14:57:57 +00:00
Peter Steinberger
557aa74ee8
test: update google-shared expectations
2026-01-04 14:57:57 +00:00
Peter Steinberger
246adaa119
chore: rename project to clawdbot
2026-01-04 14:38:51 +00:00
Peter Steinberger
d48dc71fa4
feat: add canvasHost liveReload option
2026-01-04 15:22:47 +01:00
Peter Steinberger
1e555e693a
fix: dedupe canvas host watcher
2026-01-04 15:15:46 +01: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
5ce1eb791e
chore: align rebase with main
2026-01-04 14:41:52 +01:00
Peter Steinberger
529cf91ac3
fix: keep node presence fresh
2026-01-04 14:41:52 +01:00
Mariano Belinky
672700f2b3
docs: add PR template + node presence beacon
2026-01-04 14:41:52 +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
Peter Steinberger
b234d82bf3
fix: add slack deps and send helpers
2026-01-04 11:44:41 +00:00
Muhammed Mukhthar CM
9958283ced
fix: Antigravity API compatibility and Gemini thinking tag leakage ( #167 )
...
* fix: ensure type:object in sanitized tool schemas for Antigravity API
The sanitizeSchemaForGoogle function strips unsupported JSON Schema
keywords like anyOf, but this can leave schemas with 'properties' and
'required' fields without a 'type' field. Both Google's Gemini API and
Anthropic via Antigravity require 'type: object' when these fields exist.
This fix adds a post-sanitization check that ensures type is set to
'object' when properties or required fields are present.
Fixes errors like:
- Gemini: 'parameters.properties: only allowed for OBJECT type'
- Anthropic: 'tools.6.custom.input_schema.type: Field required'
* fix: regenerate pi-ai patch with proper pnpm format
The patch now correctly applies via pnpm patch-commit, fixing:
- Thinking blocks: skip for Gemini, send with signature for Claude
- Schema sanitization: ensure type:object after removing anyOf
- Remove strict:null for LM Studio/Antigravity compatibility
Tested with all Antigravity models (Gemini and Claude).
* fix: strip thinking tags from block streaming output to prevent Gemini tag leakage
2026-01-04 12:44:19 +01:00
Peter Steinberger
d6f8b6ac51
fix: update pi-ai patch and tests
2026-01-04 12:24:01 +01:00
Shadow
8c38a7fee8
Slack: add some fixes and connect it all up
2026-01-04 01:53:26 -06:00
Peter Steinberger
607de4a403
fix: add slack chunk limits
2026-01-04 07:23:39 +01:00
Shadow
0085b2e0a9
Slack: refine scopes and onboarding
2026-01-04 07:22:02 +01:00
Shadow
bf3d120f8c
Slack: add new slack connection
2026-01-04 07:18:20 +01:00
Peter Steinberger
c9504a6f20
refactor: split config module
2026-01-04 07:05:17 +01:00
Peter Steinberger
5e36e2c3f3
fix: allow elevated via discord username
2026-01-04 05:47:28 +00:00
Peter Steinberger
d2da305190
feat: fallback elevated allowlist to discord dms
2026-01-04 05:31:00 +00:00
Peter Steinberger
ff88f3c075
style: fix lint ordering
2026-01-04 06:27:54 +01:00
Peter Steinberger
a03895dfa9
fix: default elevated mode to on
2026-01-04 05:19:28 +00:00
Peter Steinberger
6ea0eb438c
style: fix lint formatting
2026-01-04 06:17:07 +01:00
Peter Steinberger
fe0b3500cc
feat: add elevated bash mode
2026-01-04 05:15:59 +00:00
Peter Steinberger
72a9e58777
refactor(auto-reply): split reply flow
2026-01-04 05:47:37 +01:00
Peter Steinberger
fd91da2b7f
fix: log dynamic config reloads
2026-01-04 04:24:50 +00:00
Peter Steinberger
13c2f22240
refactor: split agent tools
2026-01-04 05:07:44 +01: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
0e75aa2716
test: add sessions_send loopback test
2026-01-04 04:30:57 +01:00
Shadow
3a28e3562c
Discord: tools for uploading emojis and stickers!
2026-01-03 21:20:01 -06:00
Peter Steinberger
24aa3e3311
test: stabilize gateway tests
2026-01-04 04:16:38 +01:00
Peter Steinberger
3c4c2aa98c
refactor: split gateway server methods
2026-01-04 04:05:18 +01:00
Peter Steinberger
55876f7be0
test(agents): cover ping-pong announce flow
2026-01-04 03:41:58 +01:00
Peter Steinberger
cd3c42d0c0
feat(sessions): add agent-to-agent ping-pong
2026-01-04 03:37:44 +01:00
Peter Steinberger
add1301a51
feat(sessions): add agent-to-agent post step
2026-01-04 03:04:55 +01:00
Peter Steinberger
1d06164e18
refactor: use per-send run ids for gateway agent
2026-01-04 02:08:52 +01:00
Peter Steinberger
fe67073b74
fix: avoid sessions_send timeouts
2026-01-04 01:52:01 +01:00
Peter Steinberger
cbf41859aa
test: relax cron default scheduler timeout
2026-01-04 01:45:50 +01:00
Peter Steinberger
fbaa109a3a
fix: stabilize lint and test timeouts
2026-01-04 01:42:08 +01:00
Peter Steinberger
70d68d29d0
fix: warm agent.wait cache
2026-01-04 01:35:02 +01:00
Peter Steinberger
a1780efb9f
fix: adjust typing TTL
2026-01-04 00:26:31 +00:00
Peter Steinberger
53d954695e
style: format agent.wait imports
2026-01-04 01:22:22 +01:00
Peter Steinberger
8724c2aea8
fix: satisfy gate checks
2026-01-04 01:16:53 +01:00
Peter Steinberger
e3c543ec06
fix: wait on agent.wait for sessions_send
2026-01-04 01:15:23 +01: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
3bc24bf179
fix: wait for final agent response in sessions_send
2026-01-04 00:40:40 +01:00
Peter Steinberger
7c062e0ef2
fix: clarify provider requirements in onboarding
2026-01-03 23:29:38 +00:00
Peter Steinberger
0f6e566a20
fix: make sessions_send wait via agent events
2026-01-04 00:12:14 +01:00
Peter Steinberger
86038ec165
chore: apply lint fixes
2026-01-04 00:06:02 +01:00
Peter Steinberger
e7c9b9a749
feat: add sessions tools and send policy
2026-01-03 23:44:42 +01:00
Peter Steinberger
919d5d1dbb
fix: restore sandbox PATH default
2026-01-03 22:36:16 +00:00
Peter Steinberger
8b069e62fc
fix: appease lint after merge
2026-01-03 22:59:11 +01:00
Azade
18a89a31af
fix(browser): avoid esbuild __name helper in evaluateViaPlaywright
...
When tsx/esbuild compiles arrow functions, it adds a __name helper
for debugging. This helper doesn't exist in the browser context,
causing 'ReferenceError: __name is not defined' when using
page.evaluate() with inline functions.
The fix uses new Function() constructed at runtime, which esbuild
doesn't transform, avoiding the __name injection.
2026-01-03 22:37:21 +01:00
Peter Steinberger
934f891932
fix: include embedded agent error cause in reply
2026-01-03 21:30:43 +00:00
Peter Steinberger
5493772910
fix: tolerate missing sandbox config in embedded runner
2026-01-03 21:30:40 +00:00
Peter Steinberger
c533593d8e
fix: add ~/.local/bin to PATH bootstrap for uv-installed tools ( fixes #78 ) ( #150 )
2026-01-03 22:25:52 +01:00
Mariano Belinky
d88581eb7c
fix: add ~/.local/bin to PATH for uv tool binaries ( #78 )
2026-01-03 22:21:16 +01:00
Peter Steinberger
d8a417f7ff
feat: add sandbox browser support
2026-01-03 22:14:18 +01:00
Peter Steinberger
107dc1aa42
style(logging): organize embedded log imports
2026-01-03 21:09:44 +00:00
Peter Steinberger
9d2d0c64c2
test(gateway): cover config reload
2026-01-03 21:01:26 +00:00
Peter Steinberger
3872f32419
fix(logging): quiet embedded run console logs
2026-01-03 20:57:39 +00:00
Peter Steinberger
3b075dff8a
feat: add per-session agent sandbox
2026-01-03 21:41:58 +01:00
Peter Steinberger
7bad9f3fbd
fix: drop embedded sandbox wiring
2026-01-03 20:16:53 +00:00
Peter Steinberger
16e3535ac0
refactor: remove bash pty mode
2026-01-03 20:15:10 +00:00
Peter Steinberger
a15cffb7de
fix: stream tool summaries early and tool output
2026-01-03 21:04:40 +01:00
Shadow
6464d93bbb
Discord: add forwarded message handling
2026-01-03 13:56:09 -06:00
Peter Steinberger
e9d7ac8e84
feat(gateway): add config hot reload
2026-01-03 19:52:24 +00:00
Shadow
3e84b9632d
Discord: handle system message types
2026-01-03 13:15:19 -06:00
Peter Steinberger
55a07a0ef0
style: fix lint formatting
2026-01-03 18:51:25 +00:00
Peter Steinberger
52458a5628
Discord: default reaction notifications to own
2026-01-03 18:48:36 +00:00
Shadow
451174ca10
Discord: add reaction notification allowlist
2026-01-03 18:48:36 +00:00
Peter Steinberger
cdfbd6e7eb
test(gateway): align config constants in auth test
2026-01-03 19:37:09 +01:00
Peter Steinberger
350e007a5c
test(agents): extend text_end coverage
2026-01-03 19:37:09 +01:00
Peter Steinberger
5e156135a1
test(gateway): avoid hoisted export errors
2026-01-03 19:37:09 +01:00
Peter Steinberger
b7ec9ae475
fix(gateway): format status/code errors
2026-01-03 19:37:09 +01:00
Peter Steinberger
8a18af409d
test(gateway): cover helper registries
2026-01-03 19:37:09 +01:00
Peter Steinberger
6a125b554b
refactor(gateway): split server helpers
2026-01-03 19:37:09 +01:00