Commit Graph

774 Commits

Author SHA1 Message Date
Peter Steinberger
c58c3ccf1b chore: standardize Claude Code CLI naming (#915)
Follow-up to #915.
2026-01-14 20:07:35 +00:00
Peter Steinberger
9d28441c41 chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00
Peter Steinberger
9f437e9167 refactor(live-tests): stabilize docker live suites 2026-01-14 09:52:39 +00:00
Peter Steinberger
b4cbf21368 refactor(agents): split tools + PI subscribe 2026-01-14 05:39:59 +00:00
Peter Steinberger
5bb6d18b72 chore(repo): drop .DS_Store 2026-01-14 01:17:56 +00:00
Peter Steinberger
b74a102af7 refactor(src): split oversized modules 2026-01-14 01:17:56 +00:00
Peter Steinberger
e049e1e9fc fix: resume subagent registry safely (#831) (thanks @roshanasingh4) 2026-01-13 10:10:15 +00:00
Roshan Singh
71d3fd101b Persist subagent registry across restarts 2026-01-13 10:00:30 +00:00
Peter Steinberger
ea979f0669 refactor!: rename chat providers to channels 2026-01-13 08:40:39 +00:00
Peter Steinberger
7d675fbf88 fix: handle Anthropic overloaded_error gracefully (#832) (thanks @danielz1z) 2026-01-13 08:32:06 +00:00
danielz1z
60776cf506 fix: handle Anthropic overloaded_error gracefully
When Anthropic's API returns an overloaded_error (temporary capacity issue),
the raw JSON error was being sent to users instead of a friendly message.

Changes:
- Add overloaded error pattern detection
- Return user-friendly message for overloaded errors
- Classify overloaded as failover-worthy (triggers retry logic)
2026-01-13 08:18:59 +00:00
Peter Steinberger
671bad8976 chore(lint): format live profiles test 2026-01-13 08:03:58 +00:00
Peter Steinberger
b842d88334 fix: recover from compaction overflow 2026-01-13 08:03:11 +00:00
Peter Steinberger
de6fea510d fix(auth): drop invalid auth profiles from order 2026-01-13 07:53:38 +00:00
Peter Steinberger
e9cf5c5fd6 test: stabilize gpt-5.2 tool-only live check 2026-01-13 07:51:24 +00:00
Peter Steinberger
65ed987199 refactor: centralize onboarding auth paths 2026-01-13 07:12:20 +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
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
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
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
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
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
a1e507584a fix: resolve CI failures (test timeout & formatting) 2026-01-13 04:25:41 +00: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
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
Peter Steinberger
be01d386b1 fix: apply lint fixes 2026-01-13 03:36:53 +00:00