Peter Steinberger
4b51c96e4e
fix: apply model extra params without overwriting stream ( #732 ) (thanks @peschee)
2026-01-12 00:03:48 +00:00
Peter Steinberger
55e55c8825
fix: preserve handshake close code and test truncation
2026-01-11 23:57:37 +00:00
Peter Steinberger
146f7ab433
fix: surface handshake reasons
2026-01-11 23:46:20 +00:00
Peter Steinberger
cf0c72a557
feat: add plugin architecture
2026-01-11 12:11:12 +00:00
Peter Steinberger
7acd26a2fc
Move provider to a plugin-architecture ( #661 )
...
* refactor: introduce provider plugin registry
* refactor: move provider CLI to plugins
* docs: add provider plugin implementation notes
* refactor: shift provider runtime logic into plugins
* refactor: add plugin defaults and summaries
* docs: update provider plugin notes
* feat(commands): add /commands slash list
* Auto-reply: tidy help message
* Auto-reply: fix status command lint
* Tests: align google shared expectations
* Auto-reply: tidy help message
* Auto-reply: fix status command lint
* refactor: move provider routing into plugins
* test: align agent routing expectations
* docs: update provider plugin notes
* refactor: route replies via provider plugins
* docs: note route-reply plugin hooks
* refactor: extend provider plugin contract
* refactor: derive provider status from plugins
* refactor: unify gateway provider control
* refactor: use plugin metadata in auto-reply
* fix: parenthesize cron target selection
* refactor: derive gateway methods from plugins
* refactor: generalize provider logout
* refactor: route provider logout through plugins
* refactor: move WhatsApp web login methods into plugin
* refactor: generalize provider log prefixes
* refactor: centralize default chat provider
* refactor: derive provider lists from registry
* refactor: move provider reload noops into plugins
* refactor: resolve web login provider via alias
* refactor: derive CLI provider options from plugins
* refactor: derive prompt provider list from plugins
* style: apply biome lint fixes
* fix: resolve provider routing edge cases
* docs: update provider plugin refactor notes
* fix(gateway): harden agent provider routing
* refactor: move provider routing into plugins
* refactor: move provider CLI to plugins
* refactor: derive provider lists from registry
* fix: restore slash command parsing
* refactor: align provider ids for schema
* refactor: unify outbound target resolution
* fix: keep outbound labels stable
* feat: add msteams to cron surfaces
* fix: clean up lint build issues
* refactor: localize chat provider alias normalization
* refactor: drive gateway provider lists from plugins
* docs: update provider plugin notes
* style: format message-provider
* fix: avoid provider registry init cycles
* style: sort message-provider imports
* fix: relax provider alias map typing
* refactor: move provider routing into plugins
* refactor: add plugin pairing/config adapters
* refactor: route pairing and provider removal via plugins
* refactor: align auto-reply provider typing
* test: stabilize telegram media mocks
* docs: update provider plugin refactor notes
* refactor: pluginize outbound targets
* refactor: pluginize provider selection
* refactor: generalize text chunk limits
* docs: update provider plugin notes
* refactor: generalize group session/config
* fix: normalize provider id for room detection
* fix: avoid provider init in system prompt
* style: formatting cleanup
* refactor: normalize agent delivery targets
* test: update outbound delivery labels
* chore: fix lint regressions
* refactor: extend provider plugin adapters
* refactor: move elevated/block streaming defaults to plugins
* refactor: defer outbound send deps to plugins
* docs: note plugin-driven streaming/elevated defaults
* refactor: centralize webchat provider constant
* refactor: add provider setup adapters
* refactor: delegate provider add config to plugins
* docs: document plugin-driven provider add
* refactor: add plugin state/binding metadata
* refactor: build agent provider status from plugins
* docs: note plugin-driven agent bindings
* refactor: centralize internal provider constant usage
* fix: normalize WhatsApp targets for groups and E.164 (#631 ) (thanks @imfing)
* refactor: centralize default chat provider
* refactor: centralize WhatsApp target normalization
* refactor: move provider routing into plugins
* refactor: normalize agent delivery targets
* chore: fix lint regressions
* fix: normalize WhatsApp targets for groups and E.164 (#631 ) (thanks @imfing)
* feat: expand provider plugin adapters
* refactor: route auto-reply via provider plugins
* fix: align WhatsApp target normalization
* fix: normalize WhatsApp targets for groups and E.164 (#631 ) (thanks @imfing)
* refactor: centralize WhatsApp target normalization
* feat: add /config chat config updates
* docs: add /config get alias
* feat(commands): add /commands slash list
* refactor: centralize default chat provider
* style: apply biome lint fixes
* chore: fix lint regressions
* fix: clean up whatsapp allowlist typing
* style: format config command helpers
* refactor: pluginize tool threading context
* refactor: normalize session announce targets
* docs: note new plugin threading and announce hooks
* refactor: pluginize message actions
* docs: update provider plugin actions notes
* fix: align provider action adapters
* refactor: centralize webchat checks
* style: format message provider helpers
* refactor: move provider onboarding into adapters
* docs: note onboarding provider adapters
* feat: add msteams onboarding adapter
* style: organize onboarding imports
* fix: normalize msteams allowFrom types
* feat: add plugin text chunk limits
* refactor: use plugin chunk limit fallbacks
* feat: add provider mention stripping hooks
* style: organize provider plugin type imports
* refactor: generalize health snapshots
* refactor: update macOS health snapshot handling
* docs: refresh health snapshot notes
* style: format health snapshot updates
* refactor: drive security warnings via plugins
* docs: note provider security adapter
* style: format provider security adapters
* refactor: centralize provider account defaults
* refactor: type gateway client identity constants
* chore: regen gateway protocol swift
* fix: degrade health on failed provider probe
* refactor: centralize pairing approve hint
* docs: add plugin CLI command references
* refactor: route auth and tool sends through plugins
* docs: expand provider plugin hooks
* refactor: document provider docking touchpoints
* refactor: normalize internal provider defaults
* refactor: streamline outbound delivery wiring
* refactor: make provider onboarding plugin-owned
* refactor: support provider-owned agent tools
* refactor: move telegram draft chunking into telegram module
* refactor: infer provider tool sends via extractToolSend
* fix: repair plugin onboarding imports
* refactor: de-dup outbound target normalization
* style: tidy plugin and agent imports
* refactor: data-drive provider selection line
* fix: satisfy lint after provider plugin rebase
* test: deflake gateway-cli coverage
* style: format gateway-cli coverage test
* refactor(provider-plugins): simplify provider ids
* test(pairing-cli): avoid provider-specific ternary
* style(macos): swiftformat HealthStore
* refactor(sandbox): derive provider tool denylist
* fix(sandbox): avoid plugin init in defaults
* refactor(provider-plugins): centralize provider aliases
* style(test): satisfy biome
* refactor(protocol): v3 providers.status maps
* refactor(ui): adapt to protocol v3
* refactor(macos): adapt to protocol v3
* test: update providers.status v3 fixtures
* refactor(gateway): map provider runtime snapshot
* test(gateway): update reload runtime snapshot
* refactor(whatsapp): normalize heartbeat provider id
* docs(refactor): update provider plugin notes
* style: satisfy biome after rebase
* fix: describe sandboxed elevated in prompt
* feat(gateway): add agent image attachments + live probe
* refactor: derive CLI provider options from plugins
* fix(gateway): harden agent provider routing
* fix(gateway): harden agent provider routing
* refactor: align provider ids for schema
* fix(protocol): keep agent provider string
* fix(gateway): harden agent provider routing
* fix(protocol): keep agent provider string
* refactor: normalize agent delivery targets
* refactor: support provider-owned agent tools
* refactor(config): provider-keyed elevated allowFrom
* style: satisfy biome
* fix(gateway): appease provider narrowing
* style: satisfy biome
* refactor(reply): move group intro hints into plugin
* fix(reply): avoid plugin registry init cycle
* refactor(providers): add lightweight provider dock
* refactor(gateway): use typed client id in connect
* refactor(providers): document docks and avoid init cycles
* refactor(providers): make media limit helper generic
* fix(providers): break plugin registry import cycles
* style: satisfy biome
* refactor(status-all): build providers table from plugins
* refactor(gateway): delegate web login to provider plugin
* refactor(provider): drop web alias
* refactor(provider): lazy-load monitors
* style: satisfy lint/format
* style: format status-all providers table
* style: swiftformat gateway discovery model
* test: make reload plan plugin-driven
* fix: avoid token stringification in status-all
* refactor: make provider IDs explicit in status
* feat: warn on signal/imessage provider runtime errors
* test: cover gateway provider runtime warnings in status
* fix: add runtime kind to provider status issues
* test: cover health degradation on probe failure
* fix: keep routeReply lightweight
* style: organize routeReply imports
* refactor(web): extract auth-store helpers
* refactor(whatsapp): lazy login imports
* refactor(outbound): route replies via plugin outbound
* docs: update provider plugin notes
* style: format provider status issues
* fix: make sandbox scope warning wrap-safe
* refactor: load outbound adapters from provider plugins
* docs: update provider plugin outbound notes
* style(macos): fix swiftformat lint
* docs: changelog for provider plugins
* fix(macos): satisfy swiftformat
* fix(macos): open settings via menu action
* style: format after rebase
* fix(macos): open Settings via menu action
---------
Co-authored-by: LK <luke@kyohere.com>
Co-authored-by: Luke K (pr-0f3t) <2609441+lc0rp@users.noreply.github.com>
Co-authored-by: Xin <xin@imfing.com>
2026-01-11 11:45:25 +00:00
Peter Steinberger
96e4fdb443
test: skip codex refresh token reuse
2026-01-11 11:24:25 +00:00
Peter Steinberger
323200b551
test(live): harden gateway probes
2026-01-11 04:46:30 +00:00
Peter Steinberger
57e6a9a762
fix: clamp z.ai developer role
2026-01-11 04:28:30 +01:00
Peter Steinberger
4759633df1
fix(cli): keep build/lint green
2026-01-11 02:44:24 +01:00
Peter Steinberger
02270abc87
feat: add codex cli backend
2026-01-11 01:39:30 +00:00
Peter Steinberger
a32021dc3e
fix: inject image paths for cli backends
2026-01-11 00:55:22 +00:00
Peter Steinberger
4cf3e84b39
test: add CLI backend image probe
2026-01-11 00:55:22 +00:00
Peter Steinberger
24c3ab6fe0
fix: unblock claude-cli live runs
2026-01-11 00:55:22 +00:00
Peter Steinberger
d8f1124d59
feat: add CLI backend fallback
2026-01-11 00:55:22 +00:00
Peter Steinberger
1eb50ffac4
feat(status): improve status output
2026-01-10 23:32:07 +01:00
Peter Steinberger
494743a4e5
feat: run doctor after restart
2026-01-10 23:14:55 +01:00
Peter Steinberger
708f04b02f
fix: keep mock openai responses requests
2026-01-10 22:56:08 +01:00
Peter Steinberger
1c257f170a
Gateway: disable OpenAI HTTP chat completions by default ( #686 )
...
* feat(gateway): disable OpenAI chat completions HTTP by default
* test(gateway): deflake mock OpenAI tool-calling
* docs(changelog): note OpenAI HTTP endpoint default-off
2026-01-10 21:55:54 +00:00
Peter Steinberger
98377c7c6b
fix(agents): harden tool transcript repair
2026-01-10 21:45:15 +00:00
Peter Steinberger
1110d96769
feat(gateway): add config toggle for chat completions endpoint
2026-01-10 22:39:06 +01:00
Peter Steinberger
aa30995aa1
test(live): add provider filters + google skip rules
2026-01-10 21:16:59 +00:00
Peter Steinberger
0d00d6dfd4
style(gateway): format openai-http
2026-01-10 22:11:15 +01:00
Peter Steinberger
6546a1a23a
feat(gateway): allow agent via model
2026-01-10 22:11:12 +01:00
Peter Steinberger
dafa8a2881
feat(gateway): add OpenAI-compatible HTTP endpoint
2026-01-10 22:11:04 +01:00
Peter Steinberger
9790b39d80
feat(gateway): add agent image attachments + live probe
2026-01-10 20:44:23 +00:00
Peter Steinberger
afede929b3
test: harden gateway tool probes
2026-01-10 19:46:13 +00:00
Peter Steinberger
4c4c167416
fix(update): harden root selection
2026-01-10 20:33:02 +01:00
Peter Steinberger
4533dd6e5d
test: add image attachment regression coverage
2026-01-10 20:25:38 +01:00
Peter Steinberger
193ebba657
fix: sniff chat attachment mime ( #670 ) (thanks @cristip73)
2026-01-10 20:06:33 +01:00
cristip73
c4e76eb635
fix: enable image attachments in chat messages for Claude API
...
Images were previously converted to markdown data URLs which Claude API
treats as plain text, not as actual images.
Changes:
- Add parseMessageWithAttachments() that returns {message, images[]}
- Pass images through the stack to session.prompt() as content blocks
- Filter null/empty attachments before parsing
- Strip data URL prefix if client sends it
This enables iOS and other clients to send images that Claude can actually see.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 20:00:25 +01:00
Peter Steinberger
7947059884
test(gateway): deflake temp HOME cleanup
2026-01-10 19:53:04 +01:00
Peter Steinberger
651a9e9be4
fix: restore minimax tool calling
2026-01-10 18:15:15 +00:00
Peter Steinberger
7dd0899856
fix: voicewake respects state dir override ( #666 ) (thanks @roshanasingh4)
2026-01-10 18:32:09 +01:00
Peter Steinberger
b383fbeed3
fix: cron wakeMode now waits for heartbeat ( #666 ) (thanks @roshanasingh4)
2026-01-10 18:31:35 +01:00
Roshan Singh
91c870a0c4
fix(cron): wait for heartbeat to complete when wakeMode is "now"
...
Fixes #652
When cron jobs with sessionTarget:"main" have wakeMode:"now",
they were being marked as completed immediately without waiting for the
agent to actually process the system event.
The issue was that requestHeartbeatNow() is fire-and-forget and
doesn't wait for the heartbeat to complete. The job would finish
with durationMs: 0 before the agent had a chance to run.
This fix:
- Adds runHeartbeatOnce to CronServiceDeps
- Wires it up in gateway/server.ts to load config and pass runtime
- Modifies executeJob() to call runHeartbeatOnce when wakeMode:"now"
- Waits for heartbeat to complete and maps status to cron result:
* "ran" → "ok"
* "skipped" → "skipped"
* "failed" → "error"
- Falls back to old behavior for wakeMode:"next-heartbeat" or if
runHeartbeatOnce is not available (backward compatibility)
Benefits:
- Jobs now have accurate durationMs reflecting actual processing time
- Jobs are correctly marked with "error" status if heartbeat fails
- Prevents race condition where job completes before agent runs
[AI-assisted] - Generated with z.ai GLM-4.7
[Tested: Lightly tested - Logic validated with test scenarios, code quality checks passed, integration testing requires live Clawdbot instance]
2026-01-10 18:31:35 +01:00
Peter Steinberger
a1533a17f7
fix(gateway): harden chat abort semantics
2026-01-10 17:23:27 +01:00
Peter Steinberger
d781508952
fix: make chat.send non-blocking
2026-01-10 17:02:28 +01:00
Peter Steinberger
78532d76bd
test: clean up lint warnings
2026-01-10 16:17:02 +01:00
Peter Steinberger
44564df028
refactor(sessions): add mergeSessionEntry
2026-01-10 16:03:17 +01:00
Peter Steinberger
920b3880c1
test: add elevated mode regressions
2026-01-10 05:31:48 +01:00
Peter Steinberger
66db6c749d
fix: persist elevated off override
2026-01-10 05:23:46 +01:00
Peter Steinberger
2045395ccb
test(live): add optional write/bash probes
2026-01-10 04:14:39 +00:00
Peter Steinberger
4fac94f259
test(gateway): add wizard e2e + isolate live suite
2026-01-10 03:44:21 +00:00
Peter Steinberger
2a0d8f6e38
test(gateway): avoid real OpenAI in mock test
2026-01-10 03:25:45 +00:00
Peter Steinberger
4f79122068
test: stabilize gateway mock + lint
2026-01-10 03:14:13 +00:00
Peter Steinberger
782863ea6c
test(gateway): add offline tool-calling regression
2026-01-10 03:06:02 +00:00
Peter Steinberger
8a5fb796c0
test(live): probe Read tool via gateway
2026-01-10 02:25:24 +00:00
Peter Steinberger
9cd2662a86
refactor: centralize WhatsApp target normalization
2026-01-10 02:39:52 +01:00
Xin
f0700e9778
fix: normalize WhatsApp targets for groups and E.164 ( #631 ) (thanks @imfing)
2026-01-10 02:22:13 +01:00
Peter Steinberger
a29f5dda2e
test(live): gateway smoke across profile-key models
2026-01-10 01:09:41 +00:00
Peter Steinberger
097550c299
fix: centralize verbose overrides and tool stream gating
2026-01-10 00:52:24 +01:00
Peter Steinberger
a9a70ea278
fix: persist verbose off and gate tool stream
2026-01-10 00:22:28 +01:00
Peter Steinberger
bdee50da6b
fix(test): reduce gateway port collisions
2026-01-09 22:18:57 +00:00
Peter Steinberger
2af3853bfa
fix(protocol): keep agent provider string
2026-01-09 23:09:10 +01:00
Peter Steinberger
79f5ccc99d
fix(gateway): harden agent provider routing
2026-01-09 23:00:36 +01:00
Peter Steinberger
f8bf041396
test(gateway): cover internal provider defaults
2026-01-09 22:40:37 +01:00
Peter Steinberger
35083fcb37
fix(gateway): avoid whatsapp fallback for internal runs
2026-01-09 22:33:05 +01:00
Peter Steinberger
6c7a27c010
refactor: normalize main session key handling
2026-01-09 22:30:15 +01:00
Peter Steinberger
6220106ab2
refactor: centralize main session key resolution
2026-01-09 22:13:20 +01:00
Peter Steinberger
42a0089b3b
fix: require explicit system event session keys
2026-01-09 21:59:01 +01:00
Peter Steinberger
7e81980747
refactor: centralize model override validation
2026-01-09 20:14:42 +01:00
Peter Steinberger
5755d85ad1
fix: harden Gmail hook model defaults ( #472 ) (thanks @koala73)
2026-01-09 19:59:45 +01:00
Peter Steinberger
b1ddf1f048
refactor: share hook provider types
2026-01-09 17:45:42 +01:00
Peter Steinberger
51725a71a3
refactor: normalize hook agent providers
2026-01-09 17:40:36 +01:00
Peter Steinberger
40fcfc9479
test: cover hook deliver default ( #533 ) (thanks @mcinteerj)
2026-01-09 17:34:22 +01:00
Jake
cac467a2df
Hooks: default agent delivery to true
2026-01-09 17:32:42 +01:00
Peter Steinberger
f4ec53dcb9
refactor(sessions): dedupe sessions.resolve
2026-01-09 17:13:38 +01:00
Peter Steinberger
c892fd174e
refactor(sessions): add sessions.resolve + label helper ( #570 )
2026-01-09 17:02:57 +01:00
Peter Steinberger
d0b06b4334
fix: avoid object stringification in session labels
2026-01-09 16:57:50 +01:00
Peter Steinberger
7d518e336e
feat(sessions): label lookup tightening ( #570 ) (thanks @azade-c)
2026-01-09 16:42:09 +01:00
Peter Steinberger
c4c0f1349a
fix: keep build green after main rebase ( #570 ) (thanks @azade-c)
2026-01-09 15:40:36 +01:00
Peter Steinberger
56e77f6843
fix: sessions label lookup and persistence ( #570 ) (thanks @azade-c)
2026-01-09 15:32:49 +01:00
Azade
e24e0cf364
test(sessions): add tests for sessions_send label lookup
...
- Test finding session by label
- Test error when label not found
- Test error when neither sessionKey nor label provided
2026-01-09 15:32:49 +01:00
Azade
3133c7c84e
feat(sessions): expose label in sessions.list and support label lookup in sessions_send
...
- Add `label` field to session entries and expose it in `sessions.list`
- Display label column in the web UI sessions table
- Support `label` parameter in `sessions_send` for lookup by label instead of sessionKey
- `sessions.patch`: Accept and store `label` field
- `sessions.list`: Return `label` in session entries
- `sessions_spawn`: Pass label through to registry and announce flow
- `sessions_send`: Accept optional `label` param, lookup session by label if sessionKey not provided
- `agent` method: Accept `label` and `spawnedBy` params (stored in session entry)
- Add `label` column to sessions table in web UI
- Changed session store writes to merge with existing entry (`{ ...existing, ...new }`)
to preserve fields like `label` that might be set separately
We attempted to implement label persistence "properly" by passing the label
through the `agent` call and storing it during session initialization. However,
the auto-reply flow has multiple write points that overwrite the session entry,
and making all of them merge-aware proved unreliable.
The working solution patches the label in the `finally` block of
`runSubagentAnnounceFlow`, after all other session writes complete.
This is a workaround but robust - the patch happens at the very end,
just before potential cleanup.
A future refactor could make session writes consistently merge-based,
which would allow the cleaner approach of setting label at spawn time.
```typescript
// Spawn with label
sessions_spawn({ task: "...", label: "my-worker" })
// Later, find by label
sessions_send({ label: "my-worker", message: "continue..." })
// Or use sessions_list to see labels
sessions_list() // includes label field in response
```
2026-01-09 15:32:49 +01:00
Peter Steinberger
b0672da396
fix(gateway): fix wide-area discovery update
2026-01-09 13:55:27 +01:00
Peter Steinberger
1716c01bdf
feat(gateway): improve wide-area discovery
2026-01-09 13:54:53 +01:00
Peter Steinberger
7b81d97ec2
feat: wire multi-agent config and routing
...
Co-authored-by: Mark Pors <1078320+pors@users.noreply.github.com>
2026-01-09 12:48:42 +00:00
Peter Steinberger
e55358c65d
feat: finalize msteams polls + outbound parity
2026-01-09 11:07:32 +01:00
Onur
eb908985f7
Gateway: fix reload tests for MS Teams provider
2026-01-09 11:07:00 +01:00
Onur
1df7bfefe7
MSTeams: stop on shutdown and honor chunk limit
2026-01-09 11:07:00 +01:00
Onur
8d096ef85d
Tests: stabilize file watchers
2026-01-09 11:06:39 +01:00
Onur
269a3c4000
feat(msteams): add outbound sends and fix reply delivery
...
- Add sendMessageMSTeams for proactive messaging via CLI/gateway
- Wire msteams into outbound delivery, heartbeat targets, and gateway send
- Fix reply delivery to use SDK's getConversationReference() for proper
bot info, avoiding "Activity Recipient undefined" errors
- Use proactive messaging for replies to post as top-level messages
(not threaded) by omitting activityId from conversation reference
- Add lazy logger in send.ts to avoid test initialization issues
2026-01-09 11:06:14 +01:00
Onur
e0812f8c4d
feat(msteams): add config reload, DM policy, proper shutdown
...
- Add msteams to config-reload.ts (ProviderKind, ReloadAction, rules)
- Add msteams to PairingProvider for pairing code support
- Create conversation-store.ts for storing ConversationReference
- Implement DM policy check (disabled/pairing/open/allowlist)
- Fix WasMentioned to check actual bot mentions via entities
- Fix server shutdown by using custom Express server with httpServer.close()
- Pass authConfig to CloudAdapter for outbound call authentication
- Improve error logging with JSON serialization
2026-01-09 11:05:34 +01:00
Onur
d9cbecac7f
feat(msteams): add MS Teams provider skeleton
...
- Add Microsoft 365 Agents SDK packages (@microsoft/agents-hosting,
@microsoft/agents-hosting-express, @microsoft/agents-hosting-extensions-teams)
- Add MSTeamsConfig type and zod schema
- Create src/msteams/ provider with monitor, token, send, probe
- Wire provider into gateway (server-providers.ts, server.ts)
- Add msteams to all provider type unions (hooks, queue, cron, etc.)
- Update implementation guide with new SDK and progress
2026-01-09 11:05:34 +01:00
Peter Steinberger
5b50c97939
feat(cli): improve gateway status output
2026-01-09 09:27:42 +01:00
Peter Steinberger
581da80209
chore: log gateway reload and signals
2026-01-09 08:13:04 +01:00
Peter Steinberger
c46bab35df
fix: drop explicit ui:install step
2026-01-09 07:02:42 +00:00
Shadow
95c2ccbd7b
fix: remove incorrect discord limited warning
2026-01-08 23:59:40 -06:00
Peter Steinberger
9114331218
fix: serialize claude cli runs
2026-01-09 04:58:21 +00:00
Peter Steinberger
64fc5fa9fc
fix: allow default model outside allowlist
2026-01-09 04:18:30 +00:00
Peter Steinberger
151523f47b
feat: add usage cost reporting
2026-01-09 02:29:54 +00:00
Peter Steinberger
714e170c16
feat(tui): add agent picker and agents list rpc
2026-01-09 01:05:10 +01:00
Peter Steinberger
4e92ccc0dd
style: format
2026-01-09 00:33:09 +01:00
Peter Steinberger
69f8af530d
feat(providers): improve doctor + status probes
2026-01-08 23:48:37 +01:00
Peter Steinberger
ed80860c34
chore(format): apply biome fixes
2026-01-08 22:22:17 +00:00
Peter Steinberger
36fa3c3cd3
fix: improve ws close diagnostics
2026-01-08 22:18:07 +00:00
Peter Steinberger
cd2f3bd355
feat(status): add Telegram/WhatsApp troubleshooting warnings
2026-01-08 23:14:11 +01:00
Peter Steinberger
7392387ec1
feat(status): warn on Discord message content intent
2026-01-08 23:07:34 +01:00
Peter Steinberger
73988506fe
feat: allow hook model overrides
2026-01-08 09:33:42 +00:00
Peter Steinberger
44441dd5d8
fix: clarify daemon status probe target
2026-01-08 08:50:09 +01:00
Peter Steinberger
c7cade5232
style: tidy gateway auth imports
2026-01-08 08:26:40 +01:00
Peter Steinberger
a676e16fbb
feat: expand daemon status diagnostics
2026-01-08 08:26:40 +01:00
Peter Steinberger
b367ed75bf
fix: wire gateway auth diagnostics into doctor
2026-01-08 08:26:40 +01:00
Peter Steinberger
5565dcd447
fix: tighten gateway bind auth diagnostics
2026-01-08 08:26:40 +01:00
Peter Steinberger
19595a8f99
refactor: simplify cli commands
2026-01-08 07:16:12 +01:00
Peter Steinberger
0bcf3f40f4
fix(ci): sync logs tail protocol artifacts
2026-01-08 03:49:19 +00:00
Peter Steinberger
64fc3c068d
feat: add gateway logs tab
2026-01-08 03:44:08 +00:00
Peter Steinberger
fbeb9e6775
fix(ci): stabilize windows tests
2026-01-08 02:44:19 +00:00
Peter Steinberger
7f0f82e869
ci: enforce lf line endings
2026-01-08 02:29:20 +00:00
Peter Steinberger
92a62bc300
style: format providers docs output
2026-01-08 02:01:43 +00:00
Peter Steinberger
313925b357
fix: restore gateway connection details helper
2026-01-08 02:00:27 +00:00
Peter Steinberger
440a5b82cf
fix(gateway): honor local auth password for CLI (PR #301 , thanks @jeffersonwarrior)
2026-01-08 02:59:06 +01:00
Peter Steinberger
2f707ad4ad
style: format gateway call helpers
2026-01-08 01:53:28 +00:00
Peter Steinberger
6aa6c837e7
fix: add gateway connection debug output
2026-01-08 02:51:39 +01:00
Peter Steinberger
2fe3b483b1
fix: add gateway close context
2026-01-08 02:42:32 +01:00
Peter Steinberger
05b8679c8b
feat: add providers CLI and multi-account onboarding
2026-01-08 01:55:59 +01:00
Peter Steinberger
6cd32ec7f6
test: stabilize cron auto-run test
2026-01-08 01:38:48 +01:00
Peter Steinberger
71c31266a1
feat: add gateway config/update restart flow
2026-01-08 01:30:02 +01:00
Peter Steinberger
8b4bcc6b7a
refactor: centralize message provider normalization
2026-01-07 23:53:38 +00:00
Peter Steinberger
da5481e878
fix: route agent messageProvider from resolved provider ( #389 , thanks @imfing)
2026-01-07 23:34:43 +00:00
Shadow
7e5cef29a0
Threads: add Slack/Discord thread sessions
2026-01-07 19:30:30 +01:00
Peter Steinberger
937e0265a3
fix: preserve sessionKey for agent runs
2026-01-07 17:53:59 +01:00
Peter Steinberger
eef90b47a3
chore: satisfy lint
2026-01-07 11:49:01 +01:00
Peter Steinberger
9bf6684366
feat: add provider usage tracking
2026-01-07 11:42:46 +01:00
Peter Steinberger
a700f9896d
feat: telegram draft streaming
2026-01-07 11:08:32 +01:00
Peter Steinberger
34cac1beb0
fix: land PR #350
2026-01-07 07:19:48 +00:00
Peter Steinberger
1673a221f8
feat: add /reasoning reasoning visibility
2026-01-07 06:17:31 +01:00
Peter Steinberger
6ffece68b0
fix(doctor): add headless flags + auto-migrate sessions
2026-01-07 04:43:24 +01:00
Sash Zats
eb8d7a19af
Cron: enqueue system events in main session
2026-01-06 19:55:03 -05:00
Azade
274f408e6f
feat(sessions_spawn): add model parameter for sub-agent model override
2026-01-06 23:17:35 +00:00
Peter Steinberger
2771001720
fix(state): auto-migrate legacy agent dir
2026-01-06 22:04:23 +00:00
Shadow
9b22e1f6e9
feat(commands): unify chat commands ( #275 )
...
* Chat commands: registry, access groups, Carbon
* Chat commands: clear native commands on disable
* fix(commands): align command surface typing
* docs(changelog): note commands registry (PR #275 )
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-06 20:17:56 +00:00
Peter Steinberger
dbfa316d19
feat: multi-agent routing + multi-account providers
2026-01-06 18:33:37 +00:00
Peter Steinberger
3693449d7e
feat: sandbox session tool visibility
2026-01-06 08:40:30 +00:00
Peter Steinberger
ed2075ce69
test(gateway): deflake cron finished event wait
2026-01-06 09:25:31 +01:00
Peter Steinberger
c27dd75135
build(control-ui): prefer bun for UI build
2026-01-06 09:08:25 +01:00
Peter Steinberger
a279bcfeb1
feat: add sessions_spawn sub-agent tool
2026-01-06 08:41:45 +01:00
Peter Steinberger
aa16b679ad
fix: improve auth profile failover
2026-01-06 07:18:06 +01:00
Peter Steinberger
7d896b5f67
fix: doctor memory hint
2026-01-06 06:01:24 +00:00
Shadow
69f285c5ca
chore: fixed CI
2026-01-05 23:36:48 -06:00
Peter Steinberger
35a2140e48
fix: clean up poll merge
2026-01-06 04:51:05 +00:00
Peter Steinberger
0b27964693
feat: unify poll support
...
Co-authored-by: DBH <5251425+dbhurley@users.noreply.github.com>
2026-01-06 04:51:05 +00:00
DBH
2737e17c67
feat: Add WhatsApp poll support ( #248 )
...
Implements issue #123 - WhatsApp Poll Support
## Gateway Protocol
- Add `poll` RPC method with params: to, question, options (2-12), selectableCount
## ActiveWebListener
- Add `sendPoll(to, poll)` method to interface
- Implementation uses Baileys poll message type
## CLI Command
- `clawdbot poll --to <jid> -q <question> -o <opt1> -o <opt2> [-s count]`
- Supports --dry-run, --json, --verbose flags
- Validates 2-12 options
## Changes
- src/gateway/protocol/schema.ts: Add PollParamsSchema
- src/gateway/protocol/index.ts: Export validator and types
- src/web/active-listener.ts: Add sendPoll to interface
- src/web/inbound.ts: Implement sendPoll using Baileys
- src/web/outbound.ts: Add sendPollWhatsApp function
- src/gateway/server-methods/send.ts: Add poll handler
- src/commands/poll.ts: New CLI command
- src/cli/program.ts: Register poll command
Closes #123
2026-01-06 04:44:15 +00:00
Peter Steinberger
9d656f4269
style: satisfy lint
2026-01-06 03:11:42 +00:00
Peter Steinberger
20a361a3cf
refactor: centralize agent timeout defaults
2026-01-06 02:48:44 +00:00
Martin Schürrer
d83ca74c18
gateway: honor agent timeout for chat.send ( #229 )
...
Co-authored-by: clawd@msch <clawd@msch>
2026-01-06 02:45:02 +00:00
Peter Steinberger
9623bd7763
fix: route agent CLI via gateway
2026-01-06 03:41:56 +01:00
Peter Steinberger
0398f684e7
fix: add gateway stop/restart commands
2026-01-06 03:25:32 +01:00
Marcus Neves
67e1452f4a
Cron: normalize cron.add inputs + align channels ( #256 )
...
* fix: harden cron add and align channels
* fix: keep cron tool id params
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-06 02:09:48 +00:00
Peter Steinberger
b7e708c764
fix(chat): stabilize web UI tool runs
2026-01-05 17:22:29 +00: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
d92a9e351e
style: fix linting order and formatting
2026-01-05 02:33:59 +01:00
Peter Steinberger
0c632f4855
fix: prefer tailnet IP for local gateway calls
2026-01-05 02:19:26 +01:00
Peter Steinberger
359cb66e68
fix: allow wildcard control commands
2026-01-05 02:06:18 +01:00
Peter Steinberger
17422608b2
fix: gate /activation to owners in groups
2026-01-05 02:03:29 +01:00
Peter Steinberger
c6de1b1f7d
feat: add --dev/--profile CLI profiles
2026-01-05 01:27:13 +01:00
Peter Steinberger
bcdfe461d4
fix(ci): resolve lint and docs build failures
2026-01-05 00:17:14 +00:00
Peter Steinberger
0716a624a8
chore(lint): apply biome fixes
2026-01-04 19:08:22 +01: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
c6b8235862
style: format tests and helpers
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
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
ec6980cda0
fix: wire slack into delivery routing
2026-01-04 11:44:41 +00:00
Shadow
8c38a7fee8
Slack: add some fixes and connect it all up
2026-01-04 01:53:26 -06:00
Peter Steinberger
fe0b3500cc
feat: add elevated bash mode
2026-01-04 05:15:59 +00:00
Peter Steinberger
fd91da2b7f
fix: log dynamic config reloads
2026-01-04 04:24:50 +00:00
Peter Steinberger
0e75aa2716
test: add sessions_send loopback test
2026-01-04 04:30:57 +01: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
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
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
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
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
9d2d0c64c2
test(gateway): cover config reload
2026-01-03 21:01:26 +00:00
Peter Steinberger
3b075dff8a
feat: add per-session agent sandbox
2026-01-03 21:41:58 +01: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
Peter Steinberger
e9d7ac8e84
feat(gateway): add config hot reload
2026-01-03 19:52:24 +00:00
Peter Steinberger
55a07a0ef0
style: fix lint formatting
2026-01-03 18:51:25 +00:00
Peter Steinberger
cdfbd6e7eb
test(gateway): align config constants in auth test
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
Peter Steinberger
73fa2e10bc
refactor: split gateway server methods
2026-01-03 18:14:07 +01:00
Peter Steinberger
4a6b33d799
refactor: add gateway server helper modules
2026-01-03 18:00:45 +01:00
Peter Steinberger
1d6de24ab3
feat: configurable control ui base path
2026-01-03 17:55:31 +01:00
Peter Steinberger
6ae51ae3de
refactor: split gateway server helpers and tests
2026-01-03 17:34:52 +01:00
Peter Steinberger
53baba71fa
feat: unify onboarding + config schema
2026-01-03 16:48:08 +01:00
Peter Steinberger
733e86516e
fix: address runtime warnings in build
2026-01-03 15:01:38 +00:00
Peter Steinberger
db36f0105d
fix(gateway): validate event/response frames
2026-01-03 13:37:40 +01:00
Peter Steinberger
bb54e60179
fix(logging): decouple file logs from console verbose
2026-01-03 12:32:14 +00:00
Peter Steinberger
b6301c719b
fix: default low thinking for reasoning models
2026-01-03 12:19:06 +00:00
Peter Steinberger
f47c7ac369
feat: support configurable gateway port
2026-01-03 12:00:17 +01:00
Peter Steinberger
662208949f
fix: align sessions.patch and tui typing
2026-01-03 06:37:40 +01:00
Peter Steinberger
61b67f6301
feat: extend gateway session patch
2026-01-03 06:16:49 +01:00
Peter Steinberger
b914eaa6fa
chore: apply biome lint fixes
2026-01-03 05:10:09 +01:00
Peter Steinberger
0ed5b82389
fix: prefer explicit hook mappings
2026-01-03 05:09:54 +01:00
Jared Verdi
ca9b0dbc88
Gmail watcher: start when gateway (re)starts
2026-01-03 03:49:53 +01:00
Peter Steinberger
d8201f8436
fix: handle null action in hooks-mapping mergeAction call
2026-01-03 02:05:01 +00:00
Peter Steinberger
a9eb31e8fe
fix: satisfy discord and gateway typing
2026-01-03 02:55:43 +01:00
Jared Verdi
12e27f9e5e
Gateway: ack skipped hook transforms with 204
2026-01-03 02:32:50 +01:00
Peter Steinberger
5cf1a9535e
feat: move group mention gating to provider groups
2026-01-02 22:24:26 +01:00
Peter Steinberger
118a6d7421
fix: align discord config ui
2026-01-02 21:15:59 +01:00
Peter Steinberger
e368e56246
chore(gateway): quiet provider startup logs
2026-01-02 19:58:40 +00:00
Peter Steinberger
7b4fa9e1a1
test: cover camera list invoke
2026-01-02 20:24:41 +01:00
Peter Steinberger
43f6b9ef32
fix: resolve camera tool handling
2026-01-02 17:44:25 +00:00
Peter Steinberger
868b438e67
test(gateway): fix nix mode mock toggle
2026-01-02 17:15:26 +01:00
Peter Steinberger
314164fb8a
chore: fix lint and add gateway auth tests
2026-01-02 17:15:26 +01:00
Peter Steinberger
f489b6e7a5
chore: merge origin/main
2026-01-02 16:50:29 +01:00
Peter Steinberger
a8bc974a2e
fix: harden gateway password auth
2026-01-02 16:47:52 +01:00
Peter Steinberger
5ecb65cbbe
fix: persist gateway token for local CLI auth
2026-01-02 13:46:48 +01:00
Shadow
b135b3efb9
Discord: add slash command handling
2026-01-02 13:38:35 +01:00
Peter Steinberger
ecef49605b
test: cover gateway legacy auto-migrate
2026-01-02 13:09:41 +01:00
Peter Steinberger
16420e5b31
refactor: auto-migrate legacy config in gateway
2026-01-02 13:07:14 +01:00
Peter Steinberger
0766c5e3cb
refactor: move whatsapp allowFrom config
2026-01-02 13:00:29 +01:00
Peter Steinberger
2b3ddabe90
fix(gateway): gate providers by config presence
2026-01-02 11:41:01 +00:00
Peter Steinberger
eb44ae76f1
feat: add discord guild map + group dm controls
2026-01-02 11:15:52 +01:00
Peter Steinberger
bd3d18f660
fix: unbreak TypeScript build
2026-01-02 11:02:06 +01:00
Peter Steinberger
9adbf47773
refactor: normalize group session keys
2026-01-02 10:14:58 +01:00
Jefferson Nunn
fe87d6d8be
feat(macOS): add gateway password auth support and fix Swift 6.2 concurrency
...
- Add CLAWDIS_GATEWAY_PASSWORD to launchd plist environment
- Read password from gateway.remote.password config in client
- Fix Swift 6.2 sending parameter violations in config save functions
- Add password parameter to GatewayConnection.Config type
- GatewayChannel now sends password in connect auth params
- GatewayEndpointStore and GatewayLaunchAgentManager read password from config
- CLI gateway client reads password from remote config and env
2026-01-01 21:34:46 -06:00
jeffersonwarrior
9387ecf043
fix(macos): support password auth mode for gateway connections
...
GatewayChannel now sends both 'token' and 'password' fields in the auth
payload to support both authentication modes. Gateway checks the field
matching its auth.mode configuration ('token' or 'password').
Also adds config file password fallback for remote mode, allowing
gateway password to be configured in ~/.clawdis/clawdis.json without
requiring environment variables.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-01 21:26:37 -06:00
Peter Steinberger
c31070db24
style: apply biome formatting
2026-01-02 01:29:05 +01:00
Peter Steinberger
c0976ec099
fix(gateway): stream chat events for agent runs
2026-01-02 01:04:59 +01:00
Peter Steinberger
38d8a669b4
fix: add discord mention context history
2026-01-01 23:58:35 +01:00
Peter Steinberger
c7c13f2d5e
fix(gateway): read CLAWDIS_GATEWAY_PASSWORD from env
...
The CLI client (callGateway) now reads password from:
1. opts.password (explicit parameter)
2. CLAWDIS_GATEWAY_PASSWORD env var (NEW)
3. remote.password from config
This allows CLI commands like doctor/health to authenticate
without needing a --password flag when the env var is set.
Fixes auth issues for users with password-protected gateways.
2026-01-01 22:40:36 +00:00
Peter Steinberger
0aff827414
fix: preserve webchat run ordering
2026-01-01 22:46:43 +01:00
Peter Steinberger
c7364de2f0
fix: align telegram token resolution
2026-01-01 21:22:59 +01:00
Peter Steinberger
bd7cd33b02
feat: add remote gateway client config
2026-01-01 20:10:50 +01:00
Peter Steinberger
09a2ab420b
style: biome formatting
2026-01-01 15:31:36 +00:00
Peter Steinberger
596770942a
feat: add Signal provider support
2026-01-01 15:43:15 +01:00
Peter Steinberger
fbcbc60e85
feat: unify skills config
2026-01-01 10:07:31 +01:00
Peter Steinberger
0a9f06d60f
docs: annotate nix path resolution
2026-01-01 09:30:12 +01:00
Peter Steinberger
f6956320f9
feat: centralize config paths and expose in snapshot
2026-01-01 09:22:37 +01:00
Peter Steinberger
ad9a9d8d35
Merge remote-tracking branch 'origin/main' into upstream-preview-nix-2025-12-20
2026-01-01 09:15:28 +01:00
Mariano Belinky
941ad27551
Bundle Control UI in Mac app
2026-01-01 08:55:09 +01:00
Peter Steinberger
7e40147aa3
fix: gate web chat/talk on mobile nodes
2025-12-30 22:05:17 +01:00
Peter Steinberger
dcee8beb99
style: biome format gateway server tests
2025-12-30 05:34:53 +01:00
Peter Steinberger
b5ae2ccc3c
fix(voice): sync talk mode chat events
2025-12-30 05:27:11 +01:00
Peter Steinberger
e119a82334
feat: talk mode key distribution and tts polling
2025-12-30 01:57:58 +01:00
Peter Steinberger
52263bd5a3
fix: avoid cli gateway close race
2025-12-29 20:45:50 +01:00
Josh Palmer
10eced9971
fix: use telegram token file for sends and guard console EPIPE
2025-12-29 17:49:13 +01:00
Josh Palmer
b7363f7c18
feat: Nix mode config, UX, onboarding, SwiftPM plist, docs
2025-12-29 17:49:13 +01:00
Peter Steinberger
8826170635
fix: resolve CI lint and android build
2025-12-27 01:41:43 +01:00
Peter Steinberger
c54e4d0900
refactor: node tools and canvas host url
2025-12-27 01:36:29 +01:00
Peter Steinberger
2477ffd860
chore: fix lint/test gating
2025-12-26 23:54:30 +00:00
Peter Steinberger
fae11e5a55
fix(gateway): advertise reachable canvas host
2025-12-27 00:07:19 +01:00
Peter Steinberger
ed2e738ea4
fix: provider startup order and enable flags
2025-12-26 16:54:53 +00:00
Peter Steinberger
034c93fd65
fix: align discord types
2025-12-26 14:47:15 +01:00
Peter Steinberger
ce91aba4de
fix: apply biome formatting
2025-12-26 14:38:37 +01:00
Peter Steinberger
8dda07a1e9
feat(queue): add queue modes and discord gating
2025-12-26 13:35:44 +01:00
Shadow
ac659ff5a7
feat(discord): Discord transport
2025-12-26 13:20:30 +01:00
Peter Steinberger
917cb8fa67
fix: brighten gateway model console log
2025-12-26 08:45:15 +00:00
Peter Steinberger
0d8e0ddc4f
feat: unify gateway heartbeat
2025-12-26 02:35:40 +01:00
Peter Steinberger
8f9d7405ed
style: fix biome formatting
2025-12-26 00:50:46 +00:00
Peter Steinberger
1ef888ca23
refactor(config): drop agent.provider
2025-12-26 01:13:42 +01:00
Peter Steinberger
8b815bce94
feat(config): allow provider/model shorthand
2025-12-26 01:13:42 +01:00
Rolf Fredheim
2295cbb815
feat(agent): add maxConcurrent config for parallel message handling
...
Adds `agent.maxConcurrent` config option to control how many agent runs
can execute in parallel across all conversations. Default remains 1
(sequential) for backwards compatibility.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 23:55:41 +01:00
Peter Steinberger
42eb7640f9
feat: add gateway restart tool
2025-12-25 18:05:37 +00:00
Peter Steinberger
aeb5455555
feat: add webhook hook mappings
...
# Conflicts:
# src/gateway/server.ts
2025-12-24 19:48:05 +00:00
Peter Steinberger
b85503b3b2
fix: guard hook payload strings
2025-12-24 17:49:52 +01:00
Peter Steinberger
bd223606b1
style: format gateway server
2025-12-24 17:45:39 +01:00
Peter Steinberger
1e2946ebc6
test: extend webhook coverage
2025-12-24 14:39:21 +00:00
Peter Steinberger
1ed5ca3fde
feat: add gateway webhooks
2025-12-24 14:33:05 +00:00
Peter Steinberger
267cdf20e1
style: fix biome lint
2025-12-24 00:33:35 +00:00
Peter Steinberger
93af424ce5
refactor: move inbound config
2025-12-24 00:22:52 +00:00
Peter Steinberger
364a6a9444
feat: add per-session model selection
2025-12-23 23:45:20 +00:00
Peter Steinberger
c8c807adcc
refactor: drop PAM auth and require password for funnel
2025-12-23 13:13:09 +00:00
Peter Steinberger
ea4b3b74bb
chore: log whatsapp identity on start
2025-12-23 12:45:18 +00:00
Peter Steinberger
a5f4332f21
style: apply biome formatting
2025-12-23 02:49:49 +01:00
Peter Steinberger
082c872469
feat: support custom model providers
2025-12-23 02:48:48 +01:00
Peter Steinberger
918cbdcf03
refactor: lint cleanups and helpers
2025-12-23 00:28:55 +00:00
Peter Steinberger
ce04308c17
refactor: remove session syncing metadata
2025-12-23 00:50:51 +01:00
Peter Steinberger
4ca6591045
refactor: move OAuth storage and drop legacy sessions
2025-12-22 21:02:48 +00:00
Peter Steinberger
9717f2d374
fix: bump pi deps and fix lint
2025-12-22 20:45:38 +00:00
Peter Steinberger
f10c8f2b4c
feat: add group activation command
2025-12-22 20:36:29 +01:00
Peter Steinberger
a0dd504991
feat(mac): sessions submenus
2025-12-22 19:29:24 +01:00
Peter Steinberger
2d7c5f8c53
refactor: migrate embedded pi to sdk
2025-12-22 18:05:44 +01:00
Peter Steinberger
4f3a3e93a9
style: biome formatting
2025-12-21 13:58:27 +00:00
Peter Steinberger
249b85af1e
refactor(gateway): switch logs to subsystem logger
2025-12-21 13:24:15 +00:00
Peter Steinberger
053c8d5731
feat(gateway): add tailscale auth + pam
2025-12-21 00:44:39 +00:00
Peter Steinberger
d69064f364
fix(gateway): avoid crash in handshake auth
2025-12-21 00:41:06 +00:00
Peter Steinberger
383097a03a
fix: emit delta-only node system events
2025-12-21 01:07:35 +01:00
Peter Steinberger
ef20053e72
style(tests): format gateway server test
2025-12-21 00:25:56 +01:00