Commit Graph

2606 Commits

Author SHA1 Message Date
Peter Steinberger
973a7c66ff feat(cli): expand browser commands 2026-01-12 17:32:44 +00:00
Peter Steinberger
9db6ff26bb test(browser): add regression coverage 2026-01-12 17:32:44 +00:00
Peter Steinberger
1342dceeed feat(browser): expand browser control surface 2026-01-12 17:32:44 +00:00
Ayaan Zaidi
53a2664e53 fix: clear gateway auth on off selection 2026-01-12 22:59:37 +05:30
Peter Steinberger
1ef34798b9 fix: guard session tool results 2026-01-12 17:28:46 +00:00
Peter Steinberger
14b27c8f6b fix: keep main agent in list output 2026-01-12 17:24:03 +00:00
Peter Steinberger
a624a019fb fix: restore heartbeat defaults and model listing 2026-01-12 17:17:54 +00:00
Peter Steinberger
ae2d188eef test: update heartbeat and agent list thresholds 2026-01-12 17:14:04 +00:00
Peter Steinberger
1d844cf92b fix: clean up models-config provider normalization 2026-01-12 17:14:04 +00:00
Peter Steinberger
17abef2657 refactor: split models-config provider helpers 2026-01-12 17:05:53 +00:00
Peter Steinberger
63ca0554c1 Merge pull request #705 from TAGOOZ/feat/github-copilot-onboard
feat: add GitHub Copilot provider
2026-01-12 16:56:51 +00:00
Peter Steinberger
fe2510c3bb fix: honor copilot config and profiles (#705) (thanks @TAGOOZ) 2026-01-12 16:55:47 +00:00
Peter Steinberger
f047c80f7c test: cover models.json apiKey fill 2026-01-12 16:52:43 +00:00
Peter Steinberger
352f6706be fix: make models.json generation fill apiKey 2026-01-12 16:52:43 +00:00
Mustafa Tag Eldeen
96a1b923f7 feat: add GitHub Copilot provider
Copilot device login + onboarding option; model list auth detection.
2026-01-12 16:52:15 +00:00
Ayaan Zaidi
dd8d7d7d42 test(telegram): cover General topic typing fallback 2026-01-12 22:03:42 +05:30
Azade
724ca44d79 fix(telegram): show typing indicator in General forum topic
In forum supergroups, messages from the General topic arrive without
message_thread_id in updates, but sendChatAction requires one to display
the typing indicator in the correct topic.

Use message_thread_id=1 (Telegram's internal ID for General topic) as
fallback when messageThreadId is undefined in a forum chat.
2026-01-12 22:01:21 +05:30
Peter Steinberger
811fb69eee feat: add memory vector search 2026-01-12 11:23:44 +00:00
Peter Steinberger
713ee5d9ec chore: sanitize onboarding api keys 2026-01-12 11:18:31 +00:00
Peter Steinberger
0d7102bc4d feat: add cron agent binding 2026-01-12 11:07:38 +00:00
Peter Steinberger
c0549ac4f8 chore: raise heartbeat ack window 2026-01-12 11:06:46 +00:00
Peter Steinberger
74e01756ff test: cover minimax env provider injection 2026-01-12 11:05:08 +00:00
Peter Steinberger
764dfd6155 fix: auto-add minimax provider from auth 2026-01-12 11:05:08 +00:00
Peter Steinberger
d4e998edf7 fix: avoid duplicate status replies 2026-01-12 11:04:03 +00:00
Peter Steinberger
821d24bbf1 chore: release 2026.1.11-4 2026-01-12 10:52:34 +00:00
Peter Steinberger
580a1d6933 chore: release 2026.1.11-3 2026-01-12 10:35:50 +00:00
Peter Steinberger
f34aefbe6b test: skip lan auto-token on windows 2026-01-12 09:20:37 +00:00
Peter Steinberger
1f3bcb861f chore: tidy changelog and format 2026-01-12 09:14:44 +00:00
Peter Steinberger
b841cf895c fix: add ws handshake user agent 2026-01-12 09:08:07 +00:00
Peter Steinberger
b6e5cb8bfb fix: strip gemini cli tool ids (#756) 2026-01-12 09:01:19 +00:00
Peter Steinberger
98c434bf79 fix: default groupPolicy to open for discord/telegram 2026-01-12 08:55:02 +00:00
Peter Steinberger
0f2687c61f fix: default groupPolicy to open 2026-01-12 08:55:02 +00:00
Peter Steinberger
81e5e399ac fix: only strip inline /status for allowlisted senders 2026-01-12 08:55:02 +00:00
Peter Steinberger
5980804253 feat: role snapshot refs for browser 2026-01-12 08:55:02 +00:00
Peter Steinberger
d9a2b02736 fix: finalize tool param aliasing (#768) (thanks @hsrvc) 2026-01-12 08:49:11 +00:00
hsrvc
0808b972f4 Agents: add Claude Code parameter aliasing for read/write/edit tools 2026-01-12 08:49:11 +00:00
Peter Steinberger
95540a9eda Merge pull request #754 from mcinteerj/fix/reasoning-tag-strip
fix(agent): prevent reasoning and tag leaks for Gemini 3/Antigravity models
2026-01-12 08:47:15 +00:00
Peter Steinberger
2bb8e0d369 test: align group policy defaults 2026-01-12 08:45:57 +00:00
Peter Steinberger
56d4790f03 fix: enforce final tag gating (#754) (thanks @mcinteerj) 2026-01-12 08:45:23 +00:00
Keith the Silly Goose
01c323f1a0 fix(agent): buffer streaming output until <final> tag appears
- Enforces strict buffering when enforceFinalTag is enabled.
- Prevents 'thinking out loud' planning steps (e.g. '*Locating Manulife*') from leaking to WhatsApp.
- Hardens <final> tag stripping to remove nested/hallucinated tags.
2026-01-12 08:34:06 +00:00
Keith the Silly Goose
93f9fa2bb4 fix(agent): correctly strip <final> tags from reasoning providers
- Added src/utils/provider-utils.ts to track reasoning provider logic
- Updated isReasoningTagProvider to loosely match 'google-antigravity' (fixes sub-models)
- Enabled enforceFinalTag in reply.ts when provider matches
- Verified <final> tag stripping logic in pi-embedded-subscribe.ts
- Updated pi-embedded-runner to use consistent provider check for prompt hints
2026-01-12 08:34:06 +00:00
Peter Steinberger
ad0e62b9ea fix: improve daemon node selection 2026-01-12 08:33:32 +00:00
Peter Steinberger
c0dd3d0628 fix: harden msteams group access 2026-01-12 08:32:08 +00:00
Peter Steinberger
97e5fd0c74 fix: add ws handshake context 2026-01-12 08:30:08 +00:00
Peter Steinberger
b6583cd14c fix: default groupPolicy to allowlist 2026-01-12 08:22:01 +00:00
Peter Steinberger
b996ea4709 fix: set default model after auth choice 2026-01-12 08:04:32 +00:00
Peter Steinberger
63e81346ae fix: correct MiniMax Lightning hint 2026-01-12 08:04:32 +00:00
Peter Steinberger
1abb19bd40 test(model): cover provider-less id fuzzy match 2026-01-12 08:02:55 +00:00
Peter Steinberger
102325276a feat(model): fuzzy /model matching 2026-01-12 07:57:53 +00:00
Peter Steinberger
d11f227637 feat: improve onboarding auth prompts 2026-01-12 07:47:15 +00:00
Peter Steinberger
52cf5b994b fix: streamline configure section flow 2026-01-12 07:47:15 +00:00
Peter Steinberger
b2abbda5f1 test: expand memory flush coverage 2026-01-12 07:42:03 +00:00
Peter Steinberger
99f8a4d3e6 fix(auto-reply): preserve inline /status text for unauthorized senders 2026-01-12 07:42:03 +00:00
Peter Steinberger
c98f2a39e3 fix: cap ai snapshots for tool calls (#763) (thanks @thesash) 2026-01-12 07:40:34 +00:00
Sash Catanzarite
7e383368c2 Browser: cap AI snapshots to avoid context overflow 2026-01-12 07:40:34 +00:00
Peter Steinberger
0f71b53661 fix(auto-reply): show config models in /model 2026-01-12 07:31:20 +00:00
Peter Steinberger
1e8e19a256 fix: ignore inline status directives 2026-01-12 07:13:08 +00:00
Peter Steinberger
6564e952c0 feat(control-ui): add model presets 2026-01-12 07:09:58 +00:00
Peter Steinberger
140f1e3b2f fix: clean up lint + guardCancel typing 2026-01-12 07:07:27 +00:00
Peter Steinberger
1f921afa8b fix: modernize live tests and gemini ids 2026-01-12 07:05:33 +00:00
Peter Steinberger
d65fbf3065 feat: add Moonshot auth choice 2026-01-12 06:48:06 +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
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
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
9f50b66603 feat(model): add /model picker 2026-01-12 06:02:39 +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
5cf18bdb08 feat: streamline wizard selection prompts 2026-01-12 05:08:07 +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
9433a40651 test: respect openai max tokens floor 2026-01-12 04:04:04 +00:00
Peter Steinberger
4d0beca324 feat: add apply_patch tool (exec-gated) 2026-01-12 03:42:56 +00:00
Peter Steinberger
0fd5e0bb0b refactor: reuse resolved think default 2026-01-12 03:00:30 +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
dc76244c6b Merge pull request #748 from myfunc/main
fix(bash): use PowerShell on Windows to capture system utility output
2026-01-12 02:50:30 +00:00
Gabriel Trigo
05ebb514ab fix: align /think default with model reasoning 2026-01-12 02:50:13 +00:00
Peter Steinberger
218e5a52e0 fix: rename bash tool to exec (#748) (thanks @myfunc) 2026-01-12 02:49:55 +00:00
Peter Steinberger
41a1ffe410 fix(sandbox): canonicalize agent main alias 2026-01-12 02:23:02 +00:00
myfunc
555b85681b fix(bash): use PowerShell on Windows to capture system utility output
Windows system utilities like ipconfig, systeminfo, etc. write directly to
the console via WriteConsole API instead of stdout. When Node.js spawns
cmd.exe with piped stdio, these utilities produce empty output.

Changes:
- Switch from cmd.exe to PowerShell on Windows (properly redirects output)
- Disable detached mode on Windows (PowerShell doesn't pipe stdout when detached)
- Add windowsHide option to prevent console window flashing
- Update tests to use PowerShell-compatible syntax (Start-Sleep, semicolons)
2026-01-12 02:13:02 +00:00
Peter Steinberger
ff2b997dc9 docs: fix browser CLI docs link 2026-01-12 02:09:10 +00:00
Peter Steinberger
fa1d9b0cb9 fix(subagents): align wait timeout with run timeout 2026-01-12 02:06:43 +00:00
Peter Steinberger
b2f5f65e17 test(gateway): cover main alias resolve 2026-01-12 02:06:43 +00:00
Peter Steinberger
404bae41f9 refactor(gateway): use canonical session store keys 2026-01-12 02:06:43 +00:00
Peter Steinberger
bc73513e11 test: fix windows nix config path assertion 2026-01-12 02:05:38 +00:00
Peter Steinberger
1567911d84 test: add normalizeConfigPaths unit test 2026-01-12 01:55:55 +00:00
Peter Steinberger
eb701e92b9 test: cover tilde path expansion 2026-01-12 01:53:42 +00:00