Commit Graph

1388 Commits

Author SHA1 Message Date
Jake
5cf7165909 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
f4224feb44 fix(tools): honor agent tool denylist without sandbox 2026-01-05 00:02:14 +01:00
Peter Steinberger
544366800b fix: route system events per session 2026-01-04 22:11:04 +01:00
Peter Steinberger
570610b6ed style(ts): normalize type-only imports 2026-01-04 21:56:16 +01:00
Peter Steinberger
6abf13653a fix(onboarding): auto-build Control UI assets 2026-01-04 21:53:23 +01:00
Peter Steinberger
5151a5e914 feat: add image model config + tool 2026-01-04 19:35:49 +01:00
Peter Steinberger
ee2963da2d chore(lint): apply biome fixes 2026-01-04 19:08:22 +01:00
Peter Steinberger
0db5a34f2f fix(oauth): derive oauth.json from state dir 2026-01-04 19:08:13 +01:00
Peter Steinberger
2922c430e9 feat: guide control ui access without gui 2026-01-04 18:49:36 +01:00
Shadow
8da754774a Discord: remove duplicate message ids 2026-01-04 11:36:18 -06:00
Peter Steinberger
4fc4b72f10 fix(cli): add config alias and reduce probe noise 2026-01-04 17:23:34 +00:00
Peter Steinberger
850952b0bd test(gateway): allow webchat chat.send without node 2026-01-04 17:12:49 +00:00
Peter Steinberger
f1d7c01645 fix(gateway): allow Control UI chat without node 2026-01-04 17:12:49 +00:00
Peter Steinberger
da540e59b0 chore: format models CLI 2026-01-04 18:11:41 +01:00
Peter Steinberger
896cd5ee85 feat: add models scan and fallbacks 2026-01-04 17:57:52 +01:00
Cash Williams
01acc8510f 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
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
Peter Steinberger
714eb2af34 refactor: split gateway server helpers and tests 2026-01-03 17:34:52 +01:00
Peter Steinberger
408762fef2 fix: preserve block streaming order 2026-01-03 17:14:01 +01:00
Peter Steinberger
99e8edacd0 fix: avoid duplicate block streaming 2026-01-03 17:10:47 +01:00
Peter Steinberger
73da230fb0 feat: soften block streaming chunking 2026-01-03 16:48:26 +01:00
Peter Steinberger
5052414f12 feat: unify onboarding + config schema 2026-01-03 16:48:08 +01:00
Peter Steinberger
9e550e007e fix: clean up embedded lint 2026-01-03 15:09:07 +00:00
Peter Steinberger
25a08f444b fix: elevate embedded run logs to info 2026-01-03 15:03:03 +00:00
Peter Steinberger
0bd70cbf96 fix: address runtime warnings in build 2026-01-03 15:01:38 +00:00
Peter Steinberger
5e550e6abf chore: fix lint formatting 2026-01-03 14:57:49 +00:00
Peter Steinberger
d9a1fdbae8 test: fix transcription and tool schema assertions 2026-01-03 14:55:05 +00:00
Peter Steinberger
a77d89c99d fix: resolve gcloud python path 2026-01-03 14:36:48 +00:00
Peter Steinberger
396e892ca9 fix: add embedded run logs and typing ttl 2026-01-03 14:09:19 +00:00
Jake
5d4101829a Agents: Fix Gemini schema compatibility and robust model discovery 2026-01-03 13:57:29 +01:00
Peter Steinberger
649a73184d chore(canvas): refresh a2ui bundle hash 2026-01-03 13:38:12 +01:00
Peter Steinberger
93ce65dd39 fix(gateway): validate event/response frames 2026-01-03 13:37:40 +01:00
Peter Steinberger
85dded13d8 fix: avoid red gmail-watcher prefix 2026-01-03 12:36:15 +00:00
Peter Steinberger
eea33dfc6a style: tidy imports and formatting 2026-01-03 12:35:23 +00:00
Peter Steinberger
e05d100d98 fix(cron): pass resolved channel to agent tools 2026-01-03 12:35:23 +00:00
Peter Steinberger
ecfec2f30a fix(agents): load tool display config from disk 2026-01-03 12:35:23 +00:00
Peter Steinberger
3d22afea6f fix(logging): decouple file logs from console verbose 2026-01-03 12:32:14 +00:00
Peter Steinberger
79447a610c fix: repair tool meta regex 2026-01-03 12:30:46 +00:00
Peter Steinberger
f6f0bb8eac fix: default low thinking for reasoning models 2026-01-03 12:19:06 +00:00
Peter Steinberger
38b755935c feat: centralize tool display metadata 2026-01-03 13:18:27 +01:00
Peter Steinberger
9845290f6f refactor: centralize home path shortening 2026-01-03 12:42:27 +01:00
Peter Steinberger
2ea831cc17 refactor!: drop clawdis_ tool prefix 2026-01-03 12:39:52 +01:00
Peter Steinberger
0ea329ff8d fix: refine tool summaries and scope discord tool 2026-01-03 12:33:42 +01:00
Peter Steinberger
79d21b58e4 refactor: rename bundle identifiers to com.clawdis 2026-01-03 12:26:22 +01:00
Peter Steinberger
a5340a920b feat: support configurable gateway port 2026-01-03 12:00:17 +01:00
Muhammed Mukhthar CM
025f73c3f5 fix(telegram): add textLimit to block reply chunking
Block streaming replies were missing the textLimit parameter in
deliverReplies(), causing long messages to fail with 'message is too
long' error instead of being chunked properly.

The final reply path already included textLimit, but the onBlockReply
callback path did not.
2026-01-03 11:12:15 +01:00
Peter Steinberger
0c4c365db0 chore: update appcast and TUI streaming handling 2026-01-03 11:06:49 +01:00
Shadow
cdd30c4c3e Discord: update UIs to use the new config 2026-01-03 01:02:22 -06:00
Peter Steinberger
a7e475ac91 fix: avoid unsafe string coercion in tui 2026-01-03 06:44:17 +01:00
Peter Steinberger
260dbf69c3 fix: align sessions.patch and tui typing 2026-01-03 06:37:40 +01:00
Peter Steinberger
a7a583064d feat: overhaul tui controller 2026-01-03 06:27:38 +01:00
Peter Steinberger
f3d524491c feat: add tui ui kit 2026-01-03 06:22:20 +01:00
Peter Steinberger
68d80b5976 feat: expand tui gateway client 2026-01-03 06:17:33 +01:00
Peter Steinberger
6e3aa64436 feat: extend gateway session patch 2026-01-03 06:16:49 +01:00
Peter Steinberger
ef1f126c7a chore: fix lint ordering 2026-01-03 05:38:29 +01:00
Peter Steinberger
d220e62082 fix: repair discord action typing 2026-01-03 05:33:57 +01:00
Peter Steinberger
3ff4d4823d fix: stabilize pi-ai patch + tests 2026-01-03 05:22:09 +01:00
Peter Steinberger
cf01d0344e chore: apply biome lint fixes 2026-01-03 05:10:09 +01:00
Peter Steinberger
3f558cba82 test: refresh auto-reply expectations 2026-01-03 05:09:59 +01:00
Peter Steinberger
39d86becd5 fix: prefer explicit hook mappings 2026-01-03 05:09:54 +01:00
mukhtharcm
fbc0a05519 fix: reject antigravity auth in non-interactive onboarding mode 2026-01-03 05:01:42 +01:00
mukhtharcm
b14e034046 feat: add VPS-aware Antigravity OAuth with manual URL paste fallback
Detects SSH/VPS/headless environments and prompts user to paste
the OAuth callback URL instead of relying on localhost server.

- Add antigravity-oauth.ts with VPS detection and manual OAuth flow
- Update onboard-interactive.ts to use VPS-aware flow
- Update configure.ts to use VPS-aware flow
2026-01-03 05:01:42 +01:00
mukhtharcm
b8097d1240 fix: use claude-opus-4-5-thinking as default antigravity model 2026-01-03 05:01:42 +01:00
mukhtharcm
a1fa3b6853 feat: add Google Antigravity authentication support
- Add 'antigravity' as new auth choice in onboard and configure wizards
- Implement Google Antigravity OAuth flow using loginAntigravity from pi-ai
- Update writeOAuthCredentials to accept any OAuthProvider (not just 'anthropic')
- Add schema sanitization for Google Cloud Code Assist API to fix tool call errors
- Default model set to google-antigravity/claude-opus-4-5 after successful auth

The schema sanitization removes unsupported JSON Schema keywords (patternProperties,
const, anyOf, etc.) that Google's Cloud Code Assist API doesn't understand.
2026-01-03 05:01:42 +01:00
Peter Steinberger
95e4408099 feat: add gateway TUI 2026-01-03 04:47:34 +01:00
Peter Steinberger
3e05014a2e test: cover new queue modes 2026-01-03 04:47:34 +01:00
Peter Steinberger
2754a6db24 sag skill: add chat voice response guidance
When Peter asks for voice replies, generate audio with sag and send via MEDIA:
2026-01-03 03:34:31 +00:00
Peter Steinberger
d3f48e6904 feat: expand queue modes and followup backlog 2026-01-03 04:26:49 +01:00
Peter Steinberger
9c520880cb fix: guard bash pty cwd 2026-01-03 03:05:51 +00:00
Jared Verdi
40e447dfd8 Gmail watcher: start when gateway (re)starts 2026-01-03 03:49:53 +01:00
Peter Steinberger
138aec5e0a fix: harden pty spawn path 2026-01-03 02:36:01 +00:00
Peter Steinberger
5fdba27ce3 group chat: hint that reactions are welcome while lurking
Even when staying silent, emoji reactions show engagement without cluttering chat.
2026-01-03 02:29:32 +00:00
Peter Steinberger
f246d4af1a style: format linted files 2026-01-03 03:10:17 +01:00
Shadow
1aff389226 Discord: drop enableReactions config 2026-01-03 03:07:13 +01:00
Shadow
ce524e7137 Discord: add reactions, stickers, and polls skill 2026-01-03 03:07:13 +01:00
Peter Steinberger
bb084e7a41 fix: handle null action in hooks-mapping mergeAction call 2026-01-03 02:05:01 +00:00
Peter Steinberger
d346686f94 group chat: add lurking guidance to system prompt
Be a good group participant: lurk and follow the conversation,
but only chime in when genuinely helpful. Quality over quantity.
2026-01-03 02:02:55 +00:00
Peter Steinberger
a72345578b feat: add bash pty diagnostics 2026-01-03 01:56:54 +00:00
Peter Steinberger
5c6f7ac6cf fix: satisfy discord and gateway typing 2026-01-03 02:55:43 +01:00
Peter Steinberger
4a32edc1e3 templates: add qmd semantic memory recall to AGENTS.md 2026-01-03 01:33:10 +00:00
Peter Steinberger
87e7116925 fix: default block streaming break to message_end 2026-01-03 01:33:10 +00:00
Jared Verdi
7b089f9e1c Gateway: ack skipped hook transforms with 204 2026-01-03 02:32:50 +01:00
Peter Steinberger
35996c5fea fix: avoid duplicate replies with block streaming 2026-01-03 02:16:01 +01:00
Peter Steinberger
fb5d1c958c fix: dedupe repeated block replies 2026-01-03 01:49:27 +01:00
Peter Steinberger
1be5a39de0 test: cover provider textChunkLimit config 2026-01-03 01:49:27 +01:00
Peter Steinberger
ebfec51293 refactor: move text chunk limits to providers 2026-01-03 01:49:27 +01:00
Peter Steinberger
561500e042 feat: configurable outbound text chunk limits 2026-01-03 01:49:27 +01:00
Peter Steinberger
5a40636deb feat: make block streaming break configurable 2026-01-03 01:49:27 +01:00
Peter Steinberger
30f014d695 chore: sync lockfile and bundle hash 2026-01-03 00:40:39 +01:00
Sreekaran Srinath
b1ad3a68ee feat: add coding-agent skill and anyBins gating
Co-authored-by: Sreekaran Srinath <ss@sreekaran.com>
2026-01-03 00:40:03 +01:00
Peter Steinberger
82e9a43f99 fix: preserve newlines in reply tags 2026-01-02 23:36:43 +00:00
Peter Steinberger
331fbd02d8 feat: stream reply blocks immediately 2026-01-03 00:28:33 +01:00
Peter Steinberger
3a283c51f7 chore: update deps and extend read tool tests 2026-01-02 23:47:28 +01:00
Peter Steinberger
f4ca88dc09 chore: upgrade pi-mono deps to 0.31.1 2026-01-02 23:37:08 +01:00
Peter Steinberger
e7ee19dd70 test: cover replyToMode behavior 2026-01-02 23:20:52 +01:00
Peter Steinberger
365f18b978 feat: add reply tags and replyToMode 2026-01-02 23:18:41 +01:00
Peter Steinberger
6da6e7f28a feat: unify group mention defaults 2026-01-02 22:50:58 +01:00
Peter Steinberger
b3e595f31d feat: add discord guild wildcard defaults 2026-01-02 22:33:26 +01:00
Peter Steinberger
c49491bf89 chore: remove stray ds_store files 2026-01-02 22:24:26 +01:00
Peter Steinberger
ef6151804a feat: move group mention gating to provider groups 2026-01-02 22:24:26 +01:00
Shadow
93b9deba03 Discord: clarify docs and drop legacy guild schema 2026-01-02 15:21:13 -06:00
Shadow
492d9c36d6 Discord: fix reply context formatting 2026-01-02 14:55:07 -06:00
Shadow
4d1023d268 Discord: include reply context 2026-01-02 14:49:16 -06:00
Peter Steinberger
1756e6a891 fix: align discord config ui 2026-01-02 21:15:59 +01:00
Peter Steinberger
0882a6b661 chore(canvas): update a2ui bundle hash 2026-01-02 19:58:46 +00:00
Peter Steinberger
1041f91250 chore(discord): add verbose diagnostics 2026-01-02 19:58:42 +00:00
Peter Steinberger
611baa02d7 chore(gateway): quiet provider startup logs 2026-01-02 19:58:40 +00:00
Peter Steinberger
5a65a0db96 test: cover camera list invoke 2026-01-02 20:24:41 +01:00
Peter Steinberger
3e02ca6082 fix: resolve camera tool handling 2026-01-02 17:44:25 +00:00
Peter Steinberger
cd3c91794b test: cover camera device selection 2026-01-02 18:25:22 +01:00
Peter Steinberger
95a6c4bceb feat: add camera list and device selection 2026-01-02 18:23:26 +01:00
Peter Steinberger
c559e998e6 test: cover camera snap mime mapping 2026-01-02 17:49:20 +01:00
Peter Steinberger
071be93ea7 fix: correct camera snap mime mapping 2026-01-02 17:43:34 +01:00
Peter Steinberger
3d661bc8a0 test(gateway): fix nix mode mock toggle 2026-01-02 17:15:26 +01:00
Peter Steinberger
19bc76b4b6 fix(auto-reply): default whatsapp self-only on empty config 2026-01-02 17:15:26 +01:00
Peter Steinberger
aac44a0212 chore(canvas): regenerate a2ui bundle hash 2026-01-02 17:15:26 +01:00
Peter Steinberger
3536400745 chore: fix lint and add gateway auth tests 2026-01-02 17:15:26 +01:00
Peter Steinberger
d471340937 chore: merge origin/main 2026-01-02 16:50:29 +01:00
Peter Steinberger
560ed9a12e fix: harden gateway password auth 2026-01-02 16:47:52 +01:00
Peter Steinberger
6b4e06b088 fix: show skill descriptions in onboarding list 2026-01-02 16:25:28 +01:00
Peter Steinberger
b5d4193db3 fix: improve onboarding auth UX 2026-01-02 15:03:38 +01:00
Peter Steinberger
8c9c76ba01 fix: persist gateway token for local CLI auth 2026-01-02 13:46:48 +01:00
Peter Steinberger
39850f9f3b style: format discord slash handler 2026-01-02 13:38:36 +01:00
Peter Steinberger
e19acc5caa fix: gate discord slash commands 2026-01-02 13:38:35 +01:00
Shadow
dd139a97dd Discord: auto-register slash command 2026-01-02 13:38:35 +01:00
Shadow
22b9eb395e Discord: add slash command handling 2026-01-02 13:38:35 +01:00
Peter Steinberger
355426f7a3 test: cover gateway legacy auto-migrate 2026-01-02 13:09:41 +01:00
Peter Steinberger
c18c57ea19 chore: update doctor migration hash 2026-01-02 13:07:26 +01:00
Peter Steinberger
8bd302984e refactor: auto-migrate legacy config in gateway 2026-01-02 13:07:14 +01:00
Peter Steinberger
d13fef230a chore: refresh doctor migration commit 2026-01-02 13:00:44 +01:00
Peter Steinberger
7d310abd0d chore: note doctor migration commit 2026-01-02 13:00:29 +01:00
Peter Steinberger
e98d9a8a98 refactor: move whatsapp allowFrom config 2026-01-02 13:00:29 +01:00
Peter Steinberger
6ee42e2fb2 fix(gateway): gate providers by config presence 2026-01-02 11:41:01 +00:00
Peter Steinberger
81df95244f fix(signal): surface signal-cli failures as errors 2026-01-02 11:40:55 +00:00
Peter Steinberger
e2b433cef9 fix: widen discord channel type check 2026-01-02 12:23:35 +01:00
Peter Steinberger
2c1b6c5d35 chore(canvas): regenerate a2ui bundle hash 2026-01-02 11:22:06 +00:00
Peter Steinberger
2b247db925 fix: improve onboarding/imessage errors 2026-01-02 12:20:48 +01:00
Peter Steinberger
86bf4e7bec test: fix discord/config test lint 2026-01-02 12:20:43 +01:00
Peter Steinberger
bd5bc3ce49 style: format linted files 2026-01-02 12:20:38 +01:00
Peter Steinberger
9101bda4b6 test: cover every schedule anchor boundary 2026-01-02 11:33:49 +01:00
Peter Steinberger
0a99379ee3 Merge pull request #80 from jamesgroat/fix/cron-every-schedule-infinite-loop
fix(cron): prevent every schedule from firing in infinite loop
2026-01-02 11:29:08 +01:00
Peter Steinberger
038d837f39 merge main into shadow/discord-id 2026-01-02 11:27:24 +01:00
Peter Steinberger
3a02d69c5a fix(discord): add tag/id to from label 2026-01-02 11:26:09 +01:00
Peter Steinberger
b2f7912e28 test: cover discord config + slug routing 2026-01-02 11:19:10 +01:00
Peter Steinberger
e19ef8605b feat: add discord guild map + group dm controls 2026-01-02 11:15:52 +01:00
Peter Steinberger
0f84464d4b fix: unbreak TypeScript build 2026-01-02 11:02:06 +01:00
Peter Steinberger
a8fc6f5761 fix: improve onboarding allowlist + Control UI link 2026-01-02 10:57:04 +01:00
Peter Steinberger
3266ad6211 fix: refine web chat session selector 2026-01-02 10:40:24 +01:00
Peter Steinberger
eff4a3da2d feat: add discord dm/guild allowlists 2026-01-02 10:32:21 +01:00
Peter Steinberger
ce319bef69 refactor: normalize group session keys 2026-01-02 10:14:58 +01:00
Shadow
56886cba4d feat: pass discord id to clawd so it can ping users 2026-01-01 23:30:03 -06:00