Commit Graph

5154 Commits

Author SHA1 Message Date
Peter Steinberger
1f921afa8b fix: modernize live tests and gemini ids 2026-01-12 07:05:33 +00:00
Peter Steinberger
6906fc9b91 docs: add Moonshot provider setup 2026-01-12 06:48:06 +00:00
Peter Steinberger
d65fbf3065 feat: add Moonshot auth choice 2026-01-12 06:48:06 +00:00
Peter Steinberger
3bde5b3a94 docs: update slash commands docs 2026-01-12 06:38:16 +00:00
Peter Steinberger
7f9158a447 test(model): expand /model picker coverage 2026-01-12 06:34:33 +00:00
Peter Steinberger
6cddcca8a2 fix: skip memory flush on read-only workspace 2026-01-12 06:33:27 +00:00
Peter Steinberger
e13ebf3946 fix: handle inline status for allowlisted senders 2026-01-12 06:33:27 +00:00
Peter Steinberger
1af2ddda11 Merge pull request #755 from juanpablodlc/fix/command-auth-empty-sender-id
fix: use logical OR for sender ID fallback in command auth
2026-01-12 06:29:50 +00:00
Peter Steinberger
2bc10b7ed7 fix: sender fallback for command auth (#755) (thanks @juanpablodlc) 2026-01-12 06:28:53 +00:00
juanpablodlc
2cc7924e1c fix: use logical OR for sender ID fallback in command auth
The nullish coalescing operator (??) only skips null/undefined, not
empty strings. For direct WhatsApp messages, ctx.SenderId was an empty
string, causing senderRaw to be "" instead of falling through to the
valid ctx.SenderE164 value.

This caused commands like /status to be rejected with "unauthorized
sender" for self-chat WhatsApp messages.

Tested: Verified /status command now works correctly for self-chat
WhatsApp messages after the fix.
2026-01-12 06:20:51 +00:00
Peter Steinberger
fc978423a3 test: cover pi session jsonl ordering 2026-01-12 06:19:58 +00:00
Peter Steinberger
35fca9cb15 test: clean unused var 2026-01-12 06:14:45 +00:00
Peter Steinberger
86a772718b test: fix lint warning 2026-01-12 06:14:45 +00:00
Peter Steinberger
8548fe5396 test: cover inline slash command fast-path 2026-01-12 06:14:45 +00:00
Peter Steinberger
122a7e5d93 test: stabilize lan auto-token onboarding 2026-01-12 06:13:31 +00:00
Peter Steinberger
e9c0eb23d8 fix: dedupe minimax non-interactive auth 2026-01-12 06:13:31 +00:00
Peter Steinberger
58dac94932 docs: expand minimax + cerebras setup 2026-01-12 06:13:31 +00:00
Peter Steinberger
68d57938bb docs: refresh minimax setup docs 2026-01-12 06:13:31 +00:00
Peter Steinberger
93a0b979f0 feat: simplify minimax auth choice 2026-01-12 06:13:00 +00:00
Peter Steinberger
d6d0a6b8f1 feat: loop configure section picker 2026-01-12 06:13:00 +00:00
Peter Steinberger
6fb0c71a2a fix: fast-path slash commands 2026-01-12 06:10:17 +00:00
Peter Steinberger
1a1b7d7cb3 docs: add peer override example + multi-agent link 2026-01-12 06:05:39 +00:00
Peter Steinberger
2356a19a12 docs: move model-split example to multi-agent 2026-01-12 06:05:39 +00:00
Peter Steinberger
9d6f4c1c47 docs: add FAQ entry for multi-agent model split 2026-01-12 06:05:39 +00:00
Peter Steinberger
9f50b66603 feat(model): add /model picker 2026-01-12 06:02:39 +00:00
Peter Steinberger
54bfadd722 style: run swift lint/format 2026-01-12 05:42:10 +00:00
Peter Steinberger
ddca2576fa feat: add pre-compaction memory flush 2026-01-12 05:29:18 +00:00
Peter Steinberger
c001dec696 fix: persist first Pi user message in JSONL 2026-01-12 05:18:05 +00:00
Peter Steinberger
db1e5a16d1 fix(models): default MiniMax to /anthropic 2026-01-12 05:12:07 +00:00
Peter Steinberger
4ae2ba278e docs: update changelog 2026-01-12 05:08:11 +00:00
Peter Steinberger
5cf18bdb08 feat: streamline wizard selection prompts 2026-01-12 05:08:07 +00:00
Peter Steinberger
0c3b424361 docs: add sky camera showcase 2026-01-12 05:06:08 +00:00
Peter Steinberger
c98f6b6600 docs: update changelog 2026-01-12 04:58:38 +00:00
Peter Steinberger
546dd4ff39 refactor: remove mac attach-only setting 2026-01-12 04:58:38 +00:00
Peter Steinberger
821520a64f fix: require gateway client id
# Conflicts:
#	apps/macos/Sources/Clawdbot/GatewayChannel.swift
#	docs/concepts/typebox.md
#	docs/gateway/index.md
#	src/commands/onboard-non-interactive.gateway-auth.test.ts
#	src/commands/onboard-non-interactive.lan-auto-token.test.ts
#	src/gateway/call.ts
#	src/gateway/client.ts
#	src/gateway/gateway.wizard.e2e.test.ts
#	src/gateway/probe.ts
#	src/gateway/protocol/schema.ts
#	src/gateway/server.auth.test.ts
#	src/gateway/server.health.test.ts
#	src/gateway/server.ts
#	src/gateway/test-helpers.ts
#	src/tui/gateway-chat.ts
2026-01-12 04:58:38 +00:00
Peter Steinberger
8491e7b790 fix(macos): restore gateway launch agent build 2026-01-12 04:58:38 +00:00
Peter Steinberger
5994003c6d docs: add protocol docs 2026-01-12 04:44:27 +00:00
Peter Steinberger
3356055c37 docs: document sharp/libvips install workaround 2026-01-12 04:25:05 +00:00
Peter Steinberger
9433a40651 test: respect openai max tokens floor 2026-01-12 04:04:04 +00:00
Peter Steinberger
43275753c4 docs: note env var source 2026-01-12 04:04:00 +00:00
Peter Steinberger
4d0beca324 feat: add apply_patch tool (exec-gated) 2026-01-12 03:42:56 +00:00
Peter Steinberger
7a8650aeea fix: tighten gateway listener detection 2026-01-12 03:34:42 +00:00
Peter Steinberger
4d72f60d3d docs: add winix air purifier to showcase 2026-01-12 03:34:12 +00:00
Peter Steinberger
b026ec9afd fix: guard mobile chat sidebar overlay 2026-01-12 03:29:20 +00:00
Peter Steinberger
0fd5e0bb0b refactor: reuse resolved think default 2026-01-12 03:00:30 +00:00
Peter Steinberger
423e58e813 Merge pull request #750 from sebslight/fix/block-streaming-tool-boundary-flush
fix: flush block reply coalescer on tool boundaries
2026-01-12 02:56:01 +00:00
Peter Steinberger
3962e645a9 fix: flush block reply buffers on tool boundaries (#750) (thanks @sebslight) 2026-01-12 02:54:57 +00:00
The Admiral
11bd1c2420 fix: flush block reply coalescer on tool boundaries
When block streaming is enabled with verbose=off, tool blocks are hidden
but their boundary information was lost. Text segments before and after
tool execution would get coalesced into a single message because the
coalescer had no signal that a tool had executed between them.

This adds an onBlockReplyFlush callback that fires on tool_execution_start,
allowing the block reply pipeline to flush pending text before the tool
runs. This preserves natural message boundaries even when tools are hidden.

Fixes the issue where:
  text → [hidden tool] → text → rendered as one merged message

Now correctly renders as:
  text → [hidden tool] → text → two separate messages

Co-diagnosed-by: Krill (Discord assistant)
2026-01-12 02:52:48 +00:00
Peter Steinberger
0e749d85fc Merge pull request #751 from gabriel-trigo/fix/think-default-743
fix: align /think default with model reasoning
2026-01-12 02:52:25 +00:00
Peter Steinberger
2b39996443 fix: align /think default display (#751) (thanks @gabriel-trigo) 2026-01-12 02:51:17 +00:00