Peter Steinberger
21e8dbd925
fix: suppress experimental sqlite warning at startup
2026-01-13 07:27:32 +00:00
Peter Steinberger
7f249713d4
fix: skip Control UI asset check when UI is skipped
2026-01-13 07:27:32 +00:00
Peter Steinberger
1ecb1e8ae7
fix: harden doctor install checks
2026-01-13 07:25:25 +00:00
Peter Steinberger
d1d867a5bd
Merge pull request #722 from vrknetha/feat/slash-bash-command
...
feat(bash): add host-only /bash slash command
2026-01-13 07:18:35 +00:00
Peter Steinberger
65ed987199
refactor: centralize onboarding auth paths
2026-01-13 07:12:20 +00:00
Peter Steinberger
50b98530ba
Deps: update Pi + Vitest and add Bedrock docs
2026-01-13 06:57:11 +00:00
Peter Steinberger
045cff6d99
Merge pull request #583 from mitschabaude-bot/feat/agent-model-fallbacks
...
Config: per-agent model fallbacks
2026-01-13 06:54:00 +00:00
Peter Steinberger
c642738a46
fix: per-agent model fallbacks ( #583 ) (thanks @mitschabaude-bot)
2026-01-13 06:50:41 +00:00
Gregor's Bot
8315b5dd1a
Agents: test per-agent model fallbacks override
2026-01-13 06:50:20 +00:00
Gregor's Bot
2dfc1b7aed
Config: support per-agent model fallbacks
2026-01-13 06:50:20 +00:00
Peter Steinberger
b1dca50b45
fix: gate xhigh by model ( #444 ) (thanks @grp06)
2026-01-13 06:48:41 +00:00
George Pickett
4d1a2aa5ac
Thinking: gate xhigh by model
2026-01-13 06:48:26 +00:00
Peter Steinberger
9628b53b34
test(tools): cover tool policy helpers
2026-01-13 06:32:59 +00:00
Peter Steinberger
903ea79538
feat(tools): add tool profiles and group shorthands
2026-01-13 06:30:20 +00:00
Peter Steinberger
2d4d2bab7e
fix(tools): harden tool schemas for strict providers
2026-01-13 06:30:20 +00:00
vrknetha
f8bb3b03bc
Auto-reply: add host-only /bash + ! bash command
2026-01-13 11:54:34 +05:30
Peter Steinberger
2dbe8dc3b1
Merge pull request #700 from clawdbot/shadow/compaction
...
Agents: safeguard compaction summarization
2026-01-13 05:59:15 +00:00
Peter Steinberger
500b7c1dd0
fix: honor gateway service override labels
2026-01-13 05:58:49 +00:00
Peter Steinberger
c10d0d887f
fix: tune compaction safeguard schema ( #700 ) (thanks @thewilloftheshadow)
2026-01-13 05:58:35 +00:00
Shadow
d8771a030c
Agents: safeguard compaction summarization
2026-01-13 05:55:30 +00:00
Peter Steinberger
7eadd7819d
refactor: centralize auth-choice model defaults
2026-01-13 05:25:16 +00:00
Peter Steinberger
5267149f9e
Merge pull request #740 from jeffersonwarrior/main
...
feat: add Tailscale binary detection, custom gateway IP binding, and health probe auth fix
2026-01-13 05:22:48 +00:00
Peter Steinberger
c01d231f5e
fix: tighten custom bind probing ( #740 ) (thanks @jeffersonwarrior)
2026-01-13 05:21:59 +00:00
Jefferson Warrior
87e2be26f9
feat: add Tailscale binary detection, IP binding modes, and health probe password fix
...
This PR includes three main improvements:
1. Tailscale Binary Detection with Fallback Strategies
- Added findTailscaleBinary() with multi-strategy detection:
* PATH lookup via 'which' command
* Known macOS app path (/Applications/Tailscale.app/Contents/MacOS/Tailscale)
* find /Applications for Tailscale.app
* locate database lookup
- Added getTailscaleBinary() with caching
- Updated all Tailscale operations to use detected binary
- Added TUI warning when Tailscale binary not found for serve/funnel modes
2. Custom Gateway IP Binding with Fallback
- New bind mode "custom" allowing user-specified IP with fallback to 0.0.0.0
- Removed "tailnet" mode (folded into "auto")
- All modes now support graceful fallback: custom (if fail → 0.0.0.0), loopback (127.0.0.1 → 0.0.0.0), auto (tailnet → 0.0.0.0), lan (0.0.0.0)
- Added customBindHost config option for custom bind mode
- Added canBindTo() helper to test IP availability before binding
- Updated configure and onboarding wizards with new bind mode options
3. Health Probe Password Auth Fix
- Gateway probe now tries both new and old passwords
- Fixes issue where password change fails health check if gateway hasn't restarted yet
- Uses nextConfig password first, falls back to baseConfig password if needed
Files changed:
- src/infra/tailscale.ts: Binary detection + caching
- src/gateway/net.ts: IP binding with fallback logic
- src/config/types.ts: BridgeBindMode type + customBindHost field
- src/commands/configure.ts: Health probe dual-password try + Tailscale detection warning + bind mode UI
- src/wizard/onboarding.ts: Tailscale detection warning + bind mode UI
- src/gateway/server.ts: Use new resolveGatewayBindHost
- src/gateway/call.ts: Updated preferTailnet logic (removed "tailnet" mode)
- src/commands/onboard-types.ts: Updated GatewayBind type
- src/commands/onboard-helpers.ts: resolveControlUiLinks updated
- src/cli/*.ts: Updated bind mode casts
- src/gateway/call.test.ts: Removed "tailnet" mode test
2026-01-13 05:20:02 +00:00
Peter Steinberger
106e3d9b9b
refactor: dedupe OAuth flow handlers
2026-01-13 05:14:05 +00:00
Peter Steinberger
b2003acada
fix: clean up api key validation
2026-01-13 05:12:42 +00:00
Peter Steinberger
5dbac8fa3e
style: format cron cli flags
2026-01-13 05:05:39 +00:00
Peter Steinberger
300b1d9b92
Merge pull request #726 from FrieSei/feature/chutes-oauth
...
Auth: add Chutes OAuth
2026-01-13 05:02:25 +00:00
Peter Steinberger
cfe32afc64
fix: harden Chutes OAuth flow ( #726 ) (thanks @FrieSei)
2026-01-13 05:01:08 +00:00
Peter Steinberger
b558308e29
feat: cron ISO at + delete-after-run
2026-01-13 04:55:48 +00:00
Friederike Seiler
14e63278b9
Tests: clean chutes fetch spies
2026-01-13 04:50:27 +00:00
Friederike Seiler
44e93f569a
Chores: fix chutes oauth build
2026-01-13 04:50:27 +00:00
Friederike Seiler
ce5af73b6e
Chores: format chutes oauth
2026-01-13 04:50:26 +00:00
Friederike Seiler
4bfb2b6c6e
Auth: add Chutes OAuth
2026-01-13 04:50:26 +00:00
Peter Steinberger
b0b1533945
fix: clean lint in auth-choice + tests
2026-01-13 04:49:04 +00:00
Peter Steinberger
9c72eb896c
chore(discord): restore gateway log context
2026-01-13 04:40:22 +00:00
Peter Steinberger
820ed77898
chore(logging): strip redundant provider tags
2026-01-13 04:40:22 +00:00
Peter Steinberger
90995f651f
chore(logging): strip redundant console prefixes
2026-01-13 04:40:22 +00:00
Peter Steinberger
6e88fb2488
chore(discord): trim gateway log prefixes
2026-01-13 04:40:22 +00:00
Roshan Singh
dbb04c5286
Fix tailscale allowTailscale bypass in token mode
2026-01-13 04:34:28 +00:00
Peter Steinberger
ff23381794
fix: start typing on message start
2026-01-13 04:33:24 +00:00
Peter Steinberger
6cad33fca2
Merge pull request #794 from roshanasingh4/fix/777-windows-openurl-quotes
...
Fix Antigravity OAuth login on Windows (quote URL for cmd start)
2026-01-13 04:28:11 +00:00
Peter Steinberger
9d3c757161
feat: add configurable bootstrap truncation
2026-01-13 04:27:03 +00:00
Peter Steinberger
0549eb4a94
fix: preserve Windows cmd start URL quoting ( #794 ) (thanks @roshanasingh4)
2026-01-13 04:26:43 +00:00
Peter Steinberger
24440456f3
fix: restore implicit providers + copilot auth choice
2026-01-13 04:26:08 +00:00
Peter Steinberger
9a60cba32f
feat: cron agent binding + doctor UI refresh
2026-01-13 04:25:41 +00:00
meaningfool
068785e88d
feat(doctor): add UI protocol freshness check
2026-01-13 04:25:41 +00:00
meaningfool
f7568e0125
fix: sync protocol artifacts and resolve linting errors
2026-01-13 04:25:41 +00:00
meaningfool
a1e507584a
fix: resolve CI failures (test timeout & formatting)
2026-01-13 04:25:41 +00:00
Roshan Singh
dbcf420452
Fix: quote URLs when opening browser on Windows
2026-01-13 04:23:20 +00:00
Shadow
96acdfb6a4
Typing: keep indicators active during tool runs
...
Closes #450
Closes #447
2026-01-12 22:20:29 -06:00
Shadow
6d93369b59
Cron: persist enabled=false patches
...
Closes #205
2026-01-12 22:16:17 -06:00
Peter Steinberger
bae7bb4625
Merge pull request #805 from marcmarg/fix/strip-thought-signatures
...
fix: strip thought_signature fields for cross-provider compatibility
2026-01-13 04:14:45 +00:00
Peter Steinberger
b257dc4f91
fix: strip only msg_* thought_signature ( #805 ) (thanks @marcmarg)
2026-01-13 04:13:24 +00:00
Peter Steinberger
93d9769315
test: expand auth fallback coverage
2026-01-13 04:12:16 +00:00
Marc
a121353f5f
fix: strip thought_signature fields for cross-provider compatibility
...
Claude's extended thinking feature generates thought_signature fields
(message IDs like "msg_abc123...") in content blocks. When these are
sent to Google's Gemini API, it expects Base64-encoded bytes and
rejects Claude's format with a 400 error.
This commit adds stripThoughtSignatures() to remove these fields from
assistant message content blocks during sanitization, enabling session
histories to be shared across different providers (e.g., Claude → Gemini).
Fixes cross-provider session bug where switching from Claude-thinking
to Gemini (or vice versa) would fail with:
"Invalid value at 'thought_signature' (TYPE_BYTES), Base64 decoding failed"
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 04:11:02 +00:00
Shadow
5d3c2ba413
Telegram: keep forum topic thread ids in replies
...
Closes #727
2026-01-12 22:07:28 -06:00
Peter Steinberger
61f4031ef4
fix: treat credential validation errors as auth errors ( #822 ) (thanks @sebslight)
2026-01-13 04:02:47 +00:00
Sebastian
b3f54a60d2
fix: treat credential validation failures as auth errors for fallback ( #761 )
2026-01-12 22:53:21 -05:00
Shadow
d9883f2a28
Telegram: persist polling update offsets
...
Closes #739
2026-01-12 21:52:20 -06:00
Peter Steinberger
19d3917487
fix: stabilize docs and tests after system event timestamps
2026-01-13 03:51:34 +00:00
Shadow
632203a935
Discord: dedupe listener registration on reload
...
Closes #744
2026-01-12 21:41:59 -06:00
Peter Steinberger
0e1d00127f
Merge pull request #821 from gumadeiras/fix-bindings-telegram-webhook
...
Telegram: fix webhook multi-account routing (respect bindings.accountId)
2026-01-13 03:41:17 +00:00
Peter Steinberger
c65c83b480
fix: refine group intro prompt guidance
2026-01-13 03:40:27 +00:00
Shadow
b46308fd73
System events: add local timestamps in prompt injection
...
Closes #245
2026-01-12 21:38:56 -06:00
Peter Steinberger
be01d386b1
fix: apply lint fixes
2026-01-13 03:36:53 +00:00
Peter Steinberger
ba1b353a80
fix: refine synthetic provider + minimax probes
2026-01-13 03:36:53 +00:00
Travis Hinton
cf1b23b747
Add Synthetic provider support
2026-01-13 03:36:53 +00:00
Shadow
ef29b12ddb
Cron: accept jobId in gateway cron params
...
Closes #252
2026-01-12 21:35:43 -06:00
Gustavo Madeira Santana
97b6a83137
Improve webhook test config verification
...
Refactors tests to use a shared config object and adds stricter assertions to verify that the config is passed correctly to createTelegramBot. Ensures the bindings property is checked in the test expectations.
2026-01-13 03:34:32 +00:00
Gustavo Madeira Santana
42e2a9bfe4
Add accountId and config support to Telegram webhook
...
The Telegram webhook and monitor now accept and pass through accountId and config parameters, enabling routing and configuration per Telegram account. Tests have been updated to verify correct bot instantiation and DM routing based on accountId bindings.
2026-01-13 03:34:32 +00:00
Shadow
6f828fbe38
Models: normalize Gemini 3 ids in runtime selection
...
Closes #795
2026-01-12 21:32:53 -06:00
Shadow
0ed0875877
TUI: keep streamed text when final output is empty
...
Closes #747
2026-01-12 21:29:15 -06:00
Shadow
63502cd317
Slack: accept slash command names with or without leading slash
...
Closes #798
2026-01-12 21:27:04 -06:00
Peter Steinberger
b5228e148e
fix: memory search remote overrides ( #819 ) (thanks @mukhtharcm)
2026-01-13 03:11:03 +00:00
Muhammed Mukhthar CM
ed0620098b
feat: add remote config overrides to memorySearch
2026-01-13 03:02:43 +00:00
Peter Steinberger
cabd31348e
refactor: dedupe enforceFinalTag resolution
2026-01-13 02:38:07 +00:00
Peter Steinberger
6bc7645d51
fix: preserve explicit maxChars=0 ( #796 ) (thanks @gabriel-trigo)
2026-01-13 02:33:38 +00:00
Gabriel Trigo
f6c275c065
fix(browser): limit ai snapshot size
...
test(browser): cover ai snapshot limit
2026-01-13 02:33:38 +00:00
Peter Steinberger
0dfc20f214
fix: cleanup stale resume cli processes
2026-01-13 02:21:20 +00:00
Peter Steinberger
94d2ed3a23
Merge pull request #782 from AbhisekBasu1/fix/antigravity-opus-tools-not-working
...
Fix - Opus on Antigravity Errors
2026-01-13 01:59:52 +00:00
Peter Steinberger
9592d9deff
fix: drop null-only union variants ( #782 ) (thanks @AbhisekBasu1)
...
Co-authored-by: Abhi <AbhisekBasu1@users.noreply.github.com>
2026-01-13 01:58:30 +00:00
Peter Steinberger
23a6fc45d9
fix: gate inline /status stripping
2026-01-13 01:53:40 +00:00
Peter Steinberger
1c1c8c6d4d
test: force real config module for lan onboarding test ( #766 )
2026-01-13 01:53:40 +00:00
Peter Steinberger
16300ae9ab
test: unmock config for lan onboarding auto-token ( #766 )
2026-01-13 01:53:40 +00:00
Peter Steinberger
f1e15808be
fix: harden inline /status stripping ( #766 )
2026-01-13 01:53:40 +00:00
Peter Steinberger
cb51e26906
fix: trim sender ids before auth fallback
2026-01-13 01:53:40 +00:00
Abhi
c575738d5d
formatting fix
2026-01-13 01:48:56 +00:00
Abhi
dd4407705f
Fix pi-tools test ordering and clean-for-gemini handling - which fixes the 400 error people are experiencing trying to use antigravity on opus
2026-01-13 01:48:34 +00:00
Peter Steinberger
72230677e1
fix: enforce reasoning tags on fallback providers ( #810 ) (thanks @mcinteerj)
2026-01-13 01:46:21 +00:00
Keith the Silly Goose
cd46f0a0f2
fix(auto-reply): enforce reasoning tags on fallback providers
2026-01-13 01:40:55 +00:00
Peter Steinberger
9d0a2fa883
fix: enforce message context isolation
2026-01-13 01:19:14 +00:00
Peter Steinberger
25a9602715
fix: downgrade Gemini tool history
2026-01-13 01:19:13 +00:00
hsrvc
8f8a2eaaf4
fix: accept Claude/Gemini tool param aliases
2026-01-13 01:19:13 +00:00
Peter Steinberger
76ecb28443
fix(config): require doctor for invalid configs ( #764 — thanks @mukhtharcm)
2026-01-13 01:18:18 +00:00
Muhammed Mukhthar CM
0fd5eb892b
fix(config): preserve config data when validation fails
...
When readConfigFileSnapshot encounters validation errors, it now:
1. Returns the resolved config data instead of empty object
2. Uses passthrough() on main schema to preserve unknown fields
This prevents config loss when:
- User has custom/unknown fields
- Legacy config issues are detected but config is otherwise valid
- Zod schema does not recognize newer fields
Fixes config being overwritten with empty object on validation failure.
2026-01-13 01:16:13 +00:00
Peter Steinberger
9be1b4ca45
refactor: reuse dispatcher helper for native commands
2026-01-13 01:07:59 +00:00
Rony Kelner
49087b4b8f
fix: pass --non-interactive to doctor during update
2026-01-13 00:57:18 +00:00
Peter Steinberger
78cca26a6a
fix: stream native slash tool replies
2026-01-13 00:53:30 +00:00
Peter Steinberger
b6d1837e8c
test: expand Minimax XML strip coverage
2026-01-13 00:43:59 +00:00