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