Commit Graph

994 Commits

Author SHA1 Message Date
04cb
e381057356 Fix tool_call_id length error for GitHub Copilot provider
GitHub Copilot and some other providers have a 64-character limit on
tool_call_id. When switching from providers that generate longer IDs
(such as OpenAI Codex), this caused validation errors.

This fix truncates tool_call_id to 64 characters by preserving the first
32 and last 32 characters to maintain uniqueness while respecting the
provider's limit.

Fixes #1554
2026-03-07 08:31:15 +08:00
Re-bin
0409d72579 feat(telegram): improve streaming UX and add table rendering 2026-03-06 16:19:19 +00:00
Re-bin
473ae5ef18 Merge PR #1546: fix: lazy import providers to avoid loading unused heavy dependencies 2026-03-06 07:18:54 +00:00
Re-bin
cbce674669 Merge remote-tracking branch 'origin/main' into pr-1546 2026-03-06 07:18:06 +00:00
Re-bin
7755cab74b Merge PR #1555: fix: merge tool_calls from multiple choices in LiteLLM response 2026-03-06 07:16:20 +00:00
Re-bin
dcebb94b01 style: remove trailing whitespace 2026-03-06 07:16:20 +00:00
Re-bin
ef5792162f Merge remote-tracking branch 'origin/main' into pr-1555 2026-03-06 07:15:22 +00:00
Re-bin
23cbc86da8 Merge PR #1563: chore: clean up duplicate MatrixConfig, add Alibaba Coding Plan docs 2026-03-06 07:13:04 +00:00
Re-bin
b817463939 chore: simplify Alibaba Coding Plan to apiBase hint, remove dedicated provider 2026-03-06 07:13:04 +00:00
Re-bin
e81b6ceb49 merge origin/main into pr-1563 2026-03-06 07:01:23 +00:00
Re-bin
8e727283ef Merge PR #1567: refactor(channels): extract split_message utility to reduce duplication 2026-03-06 06:53:55 +00:00
Re-bin
7e9616cbd3 merge origin/main into pr-1567 2026-03-06 06:51:28 +00:00
Re-bin
7c20c56d7d Merge PR #1573: fix(context): detect image MIME type from magic bytes 2026-03-06 06:49:09 +00:00
Re-bin
3a01fe536a refactor: move detect_image_mime to utils/helpers for reuse 2026-03-06 06:49:09 +00:00
Re-bin
91b3ccee96 Merge remote-tracking branch 'origin/main' into pr-1573 2026-03-06 06:41:00 +00:00
Re-bin
3bbeb147b6 Merge PR #1605: fix(feishu): smart message format selection 2026-03-06 06:09:46 +00:00
Re-bin
ba63f6f62d chore: remove pr-description.md from repo 2026-03-06 06:09:46 +00:00
Re-bin
645e30557b Merge remote-tracking branch 'origin/main' into pr-1605 2026-03-06 06:00:32 +00:00
Re-bin
1c76803e57 Merge PR #1603: fix(memory): handle list tool call args + fix(cli): Windows signal compatibility 2026-03-06 05:27:39 +00:00
Re-bin
fc0b38c304 fix(memory): improve warning message for empty/non-dict list arguments 2026-03-06 05:27:39 +00:00
Re-bin
a211e32e50 Merge remote-tracking branch 'origin/main' into pr-1603 2026-03-06 05:24:59 +00:00
Re-bin
1daef5c22f Merge PR #1594: fix(feishu): use msg_type media for mp4 video files 2026-03-06 05:11:26 +00:00
nanobot-contributor
6fb4204ac6 fix(memory): handle list type tool call arguments
Some LLM providers return tool_calls[0].arguments as a list instead of
dict or str. Add handling to extract the first dict element from the list.

Fixes /new command warning: 'unexpected arguments type list'
2026-03-06 11:47:00 +08:00
PiKaqqqqqq
c3526a7fdb fix(feishu): smart message format selection (fixes #1548)
Instead of always sending interactive cards, detect the optimal
message format based on content:
- text: short plain text (≤200 chars, no markdown)
- post: medium text with links (≤2000 chars)
- interactive: complex content (code, tables, headings, bold, lists)
2026-03-06 10:11:53 +08:00
nanobot-contributor
9ab4155991 fix(cli): add Windows compatibility for signal handlers (PR #1400)
SIGHUP and SIGPIPE are not available on Windows. Add hasattr() checks
before registering these signal handlers to prevent AttributeError on
Windows systems.

Fixes compatibility issue introduced in PR #1400.
2026-03-06 09:57:03 +08:00
pikaqqqqqq
5ced08b1f2 fix(feishu): use msg_type "media" for mp4 video files
Previously, mp4 video files were sent with msg_type "file", which meant
users had to download them to play. Feishu requires msg_type "media" for
audio and video files to enable inline playback in the chat.

Changes:
- Add _VIDEO_EXTS constant for video file extensions (.mp4, .mov, .avi)
- Use msg_type "media" for both audio (_AUDIO_EXTS) and video (_VIDEO_EXTS)
- Keep msg_type "file" for documents and other file types

The upload_file API already uses file_type="mp4" for video files via the
existing _FILE_TYPE_MAP, so only the send msg_type needed fixing.
2026-03-06 01:54:00 +08:00
Re-bin
c8f86fd052 Merge PR #1384: fix(feishu): split card messages when content has multiple tables 2026-03-05 15:21:19 +00:00
Re-bin
573fc7cd95 Merge remote-tracking branch 'origin/main' into pr-1384 2026-03-05 15:19:50 +00:00
Re-bin
68a1a0268d Merge PR #1522: feat(telegram): implement draft/progress streaming messages 2026-03-05 15:17:30 +00:00
Re-bin
d32c6f946c fix(telegram): pin ptb>=22.6, fix double progress, clean up stale hatch config 2026-03-05 15:17:30 +00:00
Re-bin
b070ae5b2b Merge remote-tracking branch 'origin/main' into pr-1522 2026-03-05 15:05:26 +00:00
Re-bin
80392d158a Merge PR #1400: fix: add SIGTERM, SIGHUP handling and ignore SIGPIPE 2026-03-05 14:59:03 +00:00
Re-bin
4ba8d137bc Merge remote-tracking branch 'origin/main' into pr-1400 2026-03-05 14:56:18 +00:00
Re-bin
bea0f2a15d Merge PR #1435: feat(gateway): support multiple instances with --workspace and --config options 2026-03-05 14:54:53 +00:00
Re-bin
0343d66224 fix(gateway): remove duplicate load_config() that overwrote custom workspace/config 2026-03-05 14:54:53 +00:00
Re-bin
6d342fe79d Merge remote-tracking branch 'origin/main' into pr-1435 2026-03-05 14:51:13 +00:00
Re-bin
cd0bcc162e docs: update introduction of nanobot 2026-03-05 14:48:57 +00:00
Re-bin
57d8aefc22 docs: update introduction of nanobot 2026-03-05 14:46:03 +00:00
Re-bin
ec7bc33441 Merge PR #1488: feat(mcp): add SSE transport support with auto-detection 2026-03-05 14:44:45 +00:00
Re-bin
b71c1bdca7 fix(mcp): hoist sse/http imports, annotate auto-detection heuristic, restore field comments 2026-03-05 14:44:45 +00:00
Re-bin
2306d4c11c Merge remote-tracking branch 'origin/main' into pr-1488 2026-03-05 14:35:02 +00:00
Re-bin
c0d10cb508 Merge PR #553: feat(discord): add group policy to control group respond behaviour 2026-03-05 14:33:14 +00:00
Re-bin
06fcd2cc3f fix(discord): correct group_policy default to mention and style cleanup 2026-03-05 14:33:14 +00:00
Re-bin
376b7d6d58 Merge remote-tracking branch 'origin/main' into pr-553 2026-03-05 14:28:50 +00:00
Re-bin
bc52ad3dad Merge pull request #1428: feat(custom-provider) session affinity header 2026-03-05 14:27:24 +00:00
Re-bin
fb77176cfd feat(custom-provider): keep instance-level session affinity header for cache locality 2026-03-05 14:25:46 +00:00
Re-bin
a3c68ef140 Merge branch 'main' into pr-1428 2026-03-05 14:12:37 +00:00
coldxiangyu
46192fbd2a fix(context): detect image MIME type from magic bytes instead of file extension
Feishu downloads images with incorrect extensions (e.g. .jpg for PNG files).
mimetypes.guess_type() relies on the file extension, causing a MIME mismatch
that Anthropic rejects with 'image was specified using image/jpeg but appears
to be image/png'.

Fix: read the first bytes of the image data and detect the real MIME type via
magic bytes (PNG: 0x89PNG, JPEG: 0xFFD8FF, GIF: GIF87a/GIF89a, WEBP: RIFF+WEBP).
Fall back to mimetypes.guess_type() only when magic bytes are inconclusive.
2026-03-05 20:29:10 +08:00
ouyangwulin
d720235061 Merge branch 'HKUDS:main' into coding-plan 2026-03-05 17:47:41 +08:00
Xubin Ren
7b676962ed Merge PR #1568: fix(feishu): isolate lark ws Client event loop from main asyncio loop
fix(feishu): isolate lark ws Client event loop from main asyncio loop
2026-03-05 17:38:57 +08:00