Commit Graph

1222 Commits

Author SHA1 Message Date
Clawd
c2d2f7afce 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
a51da02680 feat(doctor): repair sandbox images 2026-01-04 16:02:24 +00:00
Peter Steinberger
efa19bd64b feat(doctor): migrate legacy Clawdis config 2026-01-04 15:40:06 +00:00
Peter Steinberger
1457400861 feat(daemon): add legacy Clawdis service cleanup 2026-01-04 15:40:06 +00:00
Peter Steinberger
fa4d5cb362 chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
Peter Steinberger
8a3b9b3b6e feat: update onboard ASCII art to seafood shack lobster theme 2026-01-04 16:24:17 +01:00
Peter Steinberger
2512146de1 test: align google-shared expectations 2026-01-04 15:02:42 +00:00
Peter Steinberger
bf580540f0 test: add config for gateway sigterm 2026-01-04 14:59:49 +00:00
Peter Steinberger
a326430a94 style: format tests and helpers 2026-01-04 14:57:57 +00:00
Peter Steinberger
7d499bd7ef test: update google-shared expectations 2026-01-04 14:57:57 +00:00
Peter Steinberger
f7cb3846f1 chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Peter Steinberger
f3388cf644 feat: add canvasHost liveReload option 2026-01-04 15:22:47 +01:00
Peter Steinberger
c6d1b74ac2 fix: dedupe canvas host watcher 2026-01-04 15:15:46 +01:00
Peter Steinberger
89e6ed99be fix: wire slack deps and stabilize sigterm test 2026-01-04 15:13:23 +01:00
George Tsifrikas
f9e2d9d053 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
e21c66a136 chore: align rebase with main 2026-01-04 14:41:52 +01:00
Peter Steinberger
a1806acb16 fix: keep node presence fresh 2026-01-04 14:41:52 +01:00
Mariano Belinky
bd04488be9 docs: add PR template + node presence beacon 2026-01-04 14:41:52 +01:00
Peter Steinberger
82208a5078 fix: update lockfile and lint 2026-01-04 14:12:00 +01:00
Peter Steinberger
a8d7bde809 fix: wire slack into delivery routing 2026-01-04 11:44:41 +00:00
Peter Steinberger
c1b9858542 fix: add slack deps and send helpers 2026-01-04 11:44:41 +00:00
Muhammed Mukhthar CM
84fb1123dc 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
1be5aa5c1d fix: update pi-ai patch and tests 2026-01-04 12:24:01 +01:00
Shadow
33998f9570 Slack: add some fixes and connect it all up 2026-01-04 01:53:26 -06:00
Peter Steinberger
576743ba96 fix: add slack chunk limits 2026-01-04 07:23:39 +01:00
Shadow
bda68c1aae Slack: refine scopes and onboarding 2026-01-04 07:22:02 +01:00
Shadow
cbd7495f47 Slack: add new slack connection 2026-01-04 07:18:20 +01:00
Peter Steinberger
d1ad26c35a refactor: split config module 2026-01-04 07:05:17 +01:00
Peter Steinberger
29cc06786d fix: allow elevated via discord username 2026-01-04 05:47:28 +00:00
Peter Steinberger
4a9629608d feat: fallback elevated allowlist to discord dms 2026-01-04 05:31:00 +00:00
Peter Steinberger
0dbe997ef4 style: fix lint ordering 2026-01-04 06:27:54 +01:00
Peter Steinberger
7cc8553d03 fix: default elevated mode to on 2026-01-04 05:19:28 +00:00
Peter Steinberger
96a39a3dfb style: fix lint formatting 2026-01-04 06:17:07 +01:00
Peter Steinberger
5d2bfa8421 feat: add elevated bash mode 2026-01-04 05:15:59 +00:00
Peter Steinberger
4015498035 refactor(auto-reply): split reply flow 2026-01-04 05:47:37 +01:00
Peter Steinberger
44f33f762b fix: log dynamic config reloads 2026-01-04 04:24:50 +00:00
Peter Steinberger
73a20d205f refactor: split agent tools 2026-01-04 05:07:44 +01:00
Peter Steinberger
ca3f739e98 style: fix lint 2026-01-04 03:37:08 +00:00
Peter Steinberger
42c1470b89 feat(browser): add remote-capable profiles
Co-authored-by: James Groat <james@groat.com>
2026-01-04 03:33:07 +00:00
Peter Steinberger
0d3eba5969 test: add sessions_send loopback test 2026-01-04 04:30:57 +01:00
Shadow
a9784d0853 Discord: tools for uploading emojis and stickers! 2026-01-03 21:20:01 -06:00
Peter Steinberger
251b679714 test: stabilize gateway tests 2026-01-04 04:16:38 +01:00
Peter Steinberger
2f31fd5a45 refactor: split gateway server methods 2026-01-04 04:05:18 +01:00
Peter Steinberger
6424033dee test(agents): cover ping-pong announce flow 2026-01-04 03:41:58 +01:00
Peter Steinberger
97020aa7eb feat(sessions): add agent-to-agent ping-pong 2026-01-04 03:37:44 +01:00
Peter Steinberger
9f8a3bd1b9 feat(sessions): add agent-to-agent post step 2026-01-04 03:04:55 +01:00
Peter Steinberger
b7fe5cc5ce refactor: use per-send run ids for gateway agent 2026-01-04 02:08:52 +01:00
Peter Steinberger
ba3c810170 fix: avoid sessions_send timeouts 2026-01-04 01:52:01 +01:00
Peter Steinberger
df5655c445 test: relax cron default scheduler timeout 2026-01-04 01:45:50 +01:00
Peter Steinberger
c3cf26e5fb fix: stabilize lint and test timeouts 2026-01-04 01:42:08 +01:00
Peter Steinberger
713c3b2f6f fix: warm agent.wait cache 2026-01-04 01:35:02 +01:00
Peter Steinberger
0bfb714b1f fix: adjust typing TTL 2026-01-04 00:26:31 +00:00
Peter Steinberger
062a4dfceb style: format agent.wait imports 2026-01-04 01:22:22 +01:00
Peter Steinberger
49689096cf fix: satisfy gate checks 2026-01-04 01:16:53 +01:00
Peter Steinberger
5115295a0f fix: wait on agent.wait for sessions_send 2026-01-04 01:15:23 +01:00
Peter Steinberger
e297d8d28d test: cover gif playback send params 2026-01-03 23:57:43 +00:00
Peter Steinberger
6b6a4c69f8 fix: lock main session deletion 2026-01-03 23:57:17 +00:00
Peter Steinberger
660eeb5ea1 fix: add gif playback for WhatsApp sends 2026-01-03 23:56:40 +00:00
Peter Steinberger
df609cdd27 feat: add node location support 2026-01-04 00:54:44 +01:00
Peter Steinberger
8ff33be1d5 fix: wait for final agent response in sessions_send 2026-01-04 00:40:40 +01:00
Peter Steinberger
f131e8fbad fix: clarify provider requirements in onboarding 2026-01-03 23:29:38 +00:00
Peter Steinberger
c08ef29221 fix: make sessions_send wait via agent events 2026-01-04 00:12:14 +01:00
Peter Steinberger
6c4b68edda chore: apply lint fixes 2026-01-04 00:06:02 +01:00
Peter Steinberger
a923d622a5 feat: add sessions tools and send policy 2026-01-03 23:44:42 +01:00
Peter Steinberger
75c987f8d6 fix: restore sandbox PATH default 2026-01-03 22:36:16 +00:00
Peter Steinberger
52320ecc56 fix: appease lint after merge 2026-01-03 22:59:11 +01:00
Azade
f486883491 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
5cf3a12140 fix: include embedded agent error cause in reply 2026-01-03 21:30:43 +00:00
Peter Steinberger
f8d0988805 fix: tolerate missing sandbox config in embedded runner 2026-01-03 21:30:40 +00:00
Peter Steinberger
c1e015ce43 fix: add ~/.local/bin to PATH bootstrap for uv-installed tools (fixes #78) (#150) 2026-01-03 22:25:52 +01:00
Mariano Belinky
39cb8647b0 fix: add ~/.local/bin to PATH for uv tool binaries (#78) 2026-01-03 22:21:16 +01:00
Peter Steinberger
f4c20d44da feat: add sandbox browser support 2026-01-03 22:14:18 +01:00
Peter Steinberger
25c4aeedc1 style(logging): organize embedded log imports 2026-01-03 21:09:44 +00:00
Peter Steinberger
a7f9134089 test(gateway): cover config reload 2026-01-03 21:01:26 +00:00
Peter Steinberger
487d1901e3 fix(logging): quiet embedded run console logs 2026-01-03 20:57:39 +00:00
Peter Steinberger
28ec06cddc feat: add per-session agent sandbox 2026-01-03 21:41:58 +01:00
Peter Steinberger
3b7d35c729 fix: drop embedded sandbox wiring 2026-01-03 20:16:53 +00:00
Peter Steinberger
d751c5e40d refactor: remove bash pty mode 2026-01-03 20:15:10 +00:00
Peter Steinberger
30cc7e5a10 fix: stream tool summaries early and tool output 2026-01-03 21:04:40 +01:00
Shadow
a73656bef1 Discord: add forwarded message handling 2026-01-03 13:56:09 -06:00
Peter Steinberger
5b79f7e26f feat(gateway): add config hot reload 2026-01-03 19:52:24 +00:00
Shadow
a1c548366e Discord: handle system message types 2026-01-03 13:15:19 -06:00
Peter Steinberger
86ec71d2a7 style: fix lint formatting 2026-01-03 18:51:25 +00:00
Peter Steinberger
965f9c4746 Discord: default reaction notifications to own 2026-01-03 18:48:36 +00:00
Shadow
1acd162502 Discord: add reaction notification allowlist 2026-01-03 18:48:36 +00:00
Peter Steinberger
50f62f4af4 test(gateway): align config constants in auth test 2026-01-03 19:37:09 +01:00
Peter Steinberger
04662717ad test(agents): extend text_end coverage 2026-01-03 19:37:09 +01:00
Peter Steinberger
1c105271c7 test(gateway): avoid hoisted export errors 2026-01-03 19:37:09 +01:00
Peter Steinberger
47d8c2d937 fix(gateway): format status/code errors 2026-01-03 19:37:09 +01:00
Peter Steinberger
696b308ea8 test(gateway): cover helper registries 2026-01-03 19:37:09 +01:00
Peter Steinberger
029cb5b162 refactor(gateway): split server helpers 2026-01-03 19:37:09 +01:00
Shadow
dd60465720 chore: formatting 2026-01-03 12:35:16 -06:00
Peter Steinberger
166258b77a chore: add inline guidance for block streaming 2026-01-03 18:46:59 +01:00
Peter Steinberger
888f943543 fix: harden block stream dedupe 2026-01-03 18:44:07 +01:00
Peter Steinberger
81edbf47ab refactor: split gateway server methods 2026-01-03 18:14:07 +01:00
Peter Steinberger
5a5e650ec9 refactor: add gateway server helper modules 2026-01-03 18:00:45 +01:00
Peter Steinberger
ecb3773893 fix: drop final payloads after block streaming 2026-01-03 17:55:31 +01:00
Peter Steinberger
590de25780 feat: configurable control ui base path 2026-01-03 17:55:31 +01:00
Peter Steinberger
c3d5804ec3 fix: avoid duplicate block-stream payloads 2026-01-03 16:53:56 +00:00
Peter Steinberger
aa9cf42fcc fix: honor whatsapp per-group mention overrides 2026-01-03 17:51:10 +01:00