Commit Graph

281 Commits

Author SHA1 Message Date
Peter Steinberger
a87da0fe7d fix: include media-understanding in npm pack 2026-01-17 11:03:46 +00:00
Peter Steinberger
65f30a5162 chore: bump 2026.1.16 for beta 2026-01-17 10:49:49 +00:00
Peter Steinberger
372ce23423 feat: unify hooks installs and webhooks 2026-01-17 07:08:04 +00:00
Peter Steinberger
29212303ce feat: add exec pty support 2026-01-17 04:57:11 +00:00
Connor Shea
b9923ce3a0 Update oxlint config to put ignore pattern inside the oxlint config. 2026-01-17 03:19:42 +00:00
Peter Steinberger
02034aefa3 feat: add internal hooks system 2026-01-17 01:31:57 +00:00
Peter Steinberger
f89fb0eeb9 feat: improve web_fetch readability extraction 2026-01-16 23:18:01 +00:00
Peter Steinberger
329d132a8c chore: remove patch references 2026-01-16 22:41:57 +00:00
Peter Steinberger
4fc8d1940a fix: align ZAI thinking toggles 2026-01-16 22:26:43 +00:00
Peter Steinberger
676457dd90 fix: override tar to 7.5.3 2026-01-16 22:07:34 +00:00
Peter Steinberger
6239206067 fix: bump tar to 7.5.3 2026-01-16 21:58:32 +00:00
Peter Steinberger
728ad7df36 feat!: move msteams to plugin 2026-01-16 02:59:43 +00:00
Peter Steinberger
1757f615a0 fix: harden antigravity claude support (#968)
Co-authored-by: Max <rdev@users.noreply.github.com>
2026-01-16 02:16:17 +00:00
Peter Steinberger
b3aa79d93d fix: make node-llama-cpp optional 2026-01-15 18:37:02 +00:00
Peter Steinberger
360d64afa6 chore: start 2026.1.15 (unreleased) 2026-01-15 16:47:19 +00:00
Peter Steinberger
b29e74a992 chore: bump version to 2026.1.14-1 2026-01-15 10:00:43 +00:00
Peter Steinberger
e65db31d58 chore: ship dist/security in npm pack 2026-01-15 07:54:12 +00:00
Peter Steinberger
457fdb7ddd chore: sync plugin versions 2026-01-15 07:07:48 +00:00
Peter Steinberger
ac52cb4a91 feat(browser): copy extension path to clipboard 2026-01-15 06:19:47 +00:00
Peter Steinberger
b7810ba7fb chore: bump pi packages to 0.45.7 2026-01-15 04:55:40 +00:00
Peter Steinberger
ebcf6ada8c feat: add Chrome extension browser relay 2026-01-15 04:52:28 +00:00
Peter Steinberger
365632d6a2 fix(security): force hono 4.11.4 2026-01-15 03:40:02 +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
4d8792017f chore: prep 2026.1.14 release 2026-01-14 01:39:29 +00:00
Peter Steinberger
b74a102af7 refactor(src): split oversized modules 2026-01-14 01:17:56 +00:00
Peter Steinberger
b20badc41b chore: prep 2026.1.13 release 2026-01-13 23:59:04 +00:00
Peter Steinberger
a12a5eef10 chore: fix npm package contents 2026-01-13 09:36:15 +00:00
Peter Steinberger
e4747c6b99 chore: fix npm package contents 2026-01-13 09:33:02 +00:00
Peter Steinberger
58ee504a38 chore: release 2026.1.12 2026-01-13 09:25:50 +00:00
Peter Steinberger
50b98530ba Deps: update Pi + Vitest and add Bedrock docs 2026-01-13 06:57:11 +00:00
Peter Steinberger
811fb69eee feat: add memory vector search 2026-01-12 11:23:44 +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
409ff55fe7 chore: release 2026.1.11-2 2026-01-12 10:14:24 +00:00
Peter Steinberger
31d72445b1 chore: release 2026.1.11-1 2026-01-12 09:46:34 +00:00
Peter Steinberger
a3c6b95ae2 chore: release 2026.1.11 2026-01-12 09:27:43 +00:00
Peter Steinberger
bc5ea84711 chore: update deps 2026-01-12 09:13:18 +00:00
Peter Steinberger
1f921afa8b fix: modernize live tests and gemini ids 2026-01-12 07:05:33 +00:00
Peter Steinberger
7a62ca34dd fix(plugins): extract archives without system tar 2026-01-12 01:36:18 +00:00
Peter Steinberger
d3134c4c8c ci: stabilize installer smoke 2026-01-12 00:17:07 +00:00
Peter Steinberger
218b3c47da test: add plugin docker e2e 2026-01-11 12:21:45 +00:00
Peter Steinberger
71c1446394 feat: add plugin architecture 2026-01-11 12:11:12 +00:00
ddyo
1379c0a5cd chore: set minimum release age 2026-01-11 11:27:54 +00:00
Peter Steinberger
1d526b2065 chore: add test:all shortcuts 2026-01-11 11:22:07 +00:00
Peter Steinberger
7a9727b6d6 feat: add reset/uninstall commands 2026-01-11 10:23:52 +00:00
Peter Steinberger
ed80356600 test: add install.sh docker e2e smoke 2026-01-11 10:20:50 +00:00
Peter Steinberger
1cc5d35742 chore(release): consolidate into 2026.1.10 2026-01-11 04:42:01 +01:00
Peter Steinberger
cbb47c60b5 fix(gateway): show connect vs RPC status 2026-01-11 03:57:52 +01:00
Peter Steinberger
c62e120de8 fix(status): simplify footer guidance 2026-01-11 03:44:28 +01:00
Peter Steinberger
74a7c17d2f chore(release): 2026.1.11-6 2026-01-11 03:35:28 +01:00
Peter Steinberger
c051f971fe fix(status): improve diagnostics and output 2026-01-11 02:42:24 +01:00
Peter Steinberger
b5ca8aeae5 chore(release): 2026.1.11-4 2026-01-11 01:46:41 +01:00
Peter Steinberger
affbfca811 chore(release): 2026.1.11-3 2026-01-11 01:38:15 +01:00
Peter Steinberger
9ccc8676c5 chore(release): 2026.1.11-2 2026-01-11 01:34:51 +01:00
Peter Steinberger
7961ccb243 fix(status): show token previews 2026-01-11 01:11:46 +01:00
Peter Steinberger
50ea8be549 docs(status): add troubleshooting footer 2026-01-11 01:06:58 +01:00
Peter Steinberger
f4dfeff1b5 fix(status): provider setup vs warn 2026-01-11 01:05:06 +01:00
Peter Steinberger
86b59363ea fix(status): full-width tables + better diagnosis 2026-01-11 00:54:27 +01:00
Peter Steinberger
305d24c106 fix(openai): drop reasoning replay for tool-only turns 2026-01-10 20:44:23 +00:00
Shadow
28c878244d Deps: bump carbon beta 2026-01-10 11:40:27 -06:00
Peter Steinberger
3e38e020ef chore(docs): quiet docs build output 2026-01-10 16:04:32 +00:00
Peter Steinberger
49937cc973 test(docker): add multi-container gateway network smoke 2026-01-10 04:14:39 +00:00
Peter Steinberger
9d7204ba81 chore(release): bump to 2026.1.10 2026-01-10 04:55:43 +01:00
Peter Steinberger
4adc8b53e1 fix(release): include whatsapp in npm pack 2026-01-10 04:34:24 +01:00
Peter Steinberger
ab6f7d7aa7 fix(release): include msteams in npm pack 2026-01-10 04:30:56 +01:00
Peter Steinberger
953dc2d233 docs(testing): refresh live docker runners 2026-01-10 03:06:07 +00:00
Peter Steinberger
ddd346604d fix: restore Anthropic OAuth tool dispatch 2026-01-10 04:01:00 +01:00
Peter Steinberger
8c5601966b chore: add dev gateway/tui scripts 2026-01-10 03:53:32 +01:00
Peter Steinberger
2b2039112d test(live): probe Read tool via gateway 2026-01-10 02:25:24 +00:00
Peter Steinberger
b22f6c22e2 chore: sync pnpm patches after pull 2026-01-10 02:17:19 +01:00
Peter Steinberger
0179ea19be fix(pnpm): regenerate patchedDependencies 2026-01-10 01:09:41 +00:00
Peter Steinberger
09b836b593 fix: clarify sessions_send delivery semantics 2026-01-10 00:34:24 +01:00
Peter Steinberger
5f5dd47e3b chore: bump pi libs and oxlint-tsgolint 2026-01-09 22:23:58 +00:00
Peter Steinberger
51023286d0 chore: set version to 2026.1.9 2026-01-09 22:42:25 +01:00
Peter Steinberger
9d4b7cbbff chore: set version to 2026.1.8 2026-01-09 22:22:32 +01:00
Shadow
a824c10a59 update carbon 2026-01-09 13:52:59 -06:00
Peter Steinberger
1a3d0bace2 chore: add pnpm app workflow scripts 2026-01-09 19:38:48 +00:00
Shadow
6df49ba164 chore: update carbon 2026-01-09 13:22:32 -06:00
Peter Steinberger
e8df3caea6 fix: scope 429 fast-fail to antigravity (#561) (thanks @mukhtharcm) 2026-01-09 18:13:47 +01:00
Muhammed Mukhthar CM
98c338b449 fix(antigravity): add fail-fast on 429 rate limit
When Antigravity returns 429, throw immediately instead of waiting for the
server-provided retry delay (which can be 10+ minutes). This lets clawdbot
quickly rotate to another account.

This patch was previously in PR #454 but was accidentally removed in b785f8d
when bumping to pi-ai 0.40.0. The upstream release did NOT include this fix.

Context: Antigravity rate limits cause pi-ai to sleep for the full retry
delay inside the request, blocking the thread. Clawdbot's timeout would
eventually fire, but waiting 10+ minutes is unacceptable UX.

Bundled with the empty error message filter since both handle 429 recovery.
2026-01-09 18:10:23 +01:00
Muhammed Mukhthar CM
22ea5d1b6e fix: filter empty error messages to prevent session corruption
When 429/500 errors occur during tool execution, empty assistant messages
with stopReason='error' and content=[] get persisted to the session file.

These break the tool_use -> tool_result chain that Claude/Gemini require:
- Claude expects every tool_use block to have a matching tool_result
- Empty error messages inserted mid-sequence violate this invariant
- Results in: 'tool_use ids were found without tool_result blocks'

This patch filters out empty error messages when building session context,
allowing sessions to recover gracefully from transient API errors.

Evidence from production:
- 113 of 170 sessions had empty error messages
- Session 30764430 demonstrated recovery: 429 at 14:30:11 IST,
  resumed successfully at 14:30:22, completed at 14:30:34

Sorry Peter, one more patch! 🙈
2026-01-09 18:10:23 +01:00
Shadow
dd7b0c96b6 fix: update carbon version for gateway fixes 2026-01-09 10:56:13 -06:00
Peter Steinberger
8f4592a883 fix: audit doctor service entrypoint 2026-01-09 17:50:28 +01:00
Peter Steinberger
d7c3673397 chore: make pnpm test non-watch 2026-01-09 16:49:02 +01:00
Onur
c907a16e94 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
d4fcbc26b2 chore: bump versions to 2026.1.9 2026-01-09 10:02:15 +01:00
Peter Steinberger
869fafcc45 chore: update dependencies 2026-01-09 05:25:08 +00:00
Peter Steinberger
7076b7109f chore: update pi deps 2026-01-09 05:38:21 +01:00
Jake
b785f8df4c chore: bump Pi to 0.40.0 and revert PR #454 pi-ai patch
- Upgrade @mariozechner/pi-* packages from 0.38.0 to 0.40.0
- Remove pi-ai patch (upstream 429 fix in 0.40.0 supersedes PR #454)
- Update CHANGELOG
2026-01-09 02:12:19 +01:00
Peter Steinberger
fcb5912907 chore: bump version to 2026.1.8-2 2026-01-08 12:23:01 +01:00
Peter Steinberger
8ee5673634 chore: bump version to 2026.1.8-1 2026-01-08 10:35:35 +01:00
Peter Steinberger
090584c58a chore: include runtime markdown dependency 2026-01-08 09:25:11 +01:00
Peter Steinberger
24cafda943 chore: bump version to 2026.1.8 2026-01-08 05:15:51 +00:00
Peter Steinberger
3e55ab37ce chore(deps): update dependencies 2026-01-08 04:55:14 +00:00
Peter Steinberger
9e6c6d2b11 feat: refresh CLI output styling and progress 2026-01-08 05:20:39 +01:00
mneves75
fc0223f264 feat(agent): auto-enable GLM-4.7 thinking mode
Add automatic thinking mode support for Z.AI GLM-4.x models:
- GLM-4.7: Preserved thinking (clear_thinking: false)
- GLM-4.5/4.6: Interleaved thinking (clear_thinking: true)

Uses Z.AI Cloud API format: thinking: { type: "enabled", clear_thinking: boolean }

Includes patches for pi-ai, pi-agent-core, and pi-coding-agent to pass
extraParams through the stream pipeline. User can override via config
or disable via --thinking off.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 04:10:56 +01:00
Peter Steinberger
494f349d21 chore(test): add ui test script 2026-01-08 03:50:11 +01:00
Peter Steinberger
b670fa9dfb test: split live tests into separate config 2026-01-08 02:00:11 +01:00
mneves75
d03d152628 feat(telegram): wire replyToMode config, add forum topic support, fix messaging tool duplicates
Changes:
- Default replyToMode from "off" to "first" for better threading UX
- Add messageThreadId and replyToMessageId params for forum topic support
- Add messaging tool duplicate detection to suppress redundant block replies
- Add sendMessage action to telegram tool schema
- Add @grammyjs/types devDependency for proper TypeScript typing
- Remove @ts-nocheck and fix all type errors in send.ts
- Add comprehensive docs/telegram.md documentation
- Add PR-326-REVIEW.md with John Carmack-level code review

Test coverage:
- normalizeTextForComparison: 5 cases
- isMessagingToolDuplicate: 7 cases
- sendMessageTelegram thread params: 5 cases
- handleTelegramAction sendMessage: 4 cases
- Forum topic isolation: 4 cases

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 00:50:47 +00:00
Muhammed Mukhthar CM
689d529e16 feat(telegram): use grammyjs/runner for concurrent update processing
Previously, grammY's default bot.start() processed updates sequentially,
blocking all Telegram messages while one was being handled. This made
maxConcurrent settings ineffective for Telegram.

Now uses @grammyjs/runner which processes updates concurrently, matching
the behavior of Discord (Promise.all) and WhatsApp (fire-and-forget).

Benefits:
- Ack reactions (👀) appear immediately, not after queue clears
- Multiple chats can be processed in parallel
- maxConcurrent setting now works correctly for Telegram
- Long-running tool calls no longer block other conversations
2026-01-07 22:08:20 +01:00