Commit Graph

1185 Commits

Author SHA1 Message Date
Re-bin
7b491ed4b3 Merge PR #1637: fix tool_call_id length error for GitHub Copilot provider 2026-03-07 03:30:36 +00:00
Re-bin
c94ac351f1 fix(litellm): normalize tool call ids 2026-03-07 03:30:36 +00:00
Re-bin
c1da9df071 Merge remote-tracking branch 'origin/main' into pr-1637 2026-03-07 03:09:25 +00:00
Re-bin
4bbdd78809 Merge PR #1638: add WhatsApp media support 2026-03-07 03:06:19 +00:00
Re-bin
64112eb9ba fix(whatsapp): avoid dropping media-only messages 2026-03-07 03:06:19 +00:00
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
fat-operator
067965da50 Refactored from image support to generic media 2026-03-07 00:26:49 +00:00
fat-operator
8c25897532 Remove image sending capabilities - cant be tested 2026-03-07 00:26:49 +00:00
fat-operator
fdd161d7b2 Implemented image support for whatsapp 2026-03-07 00:26:49 +00:00
Maciej Wojcik
79f3ca4f12 feat(cli): add workspace and config flags to agent 2026-03-06 20:32:10 +00:00
Kunal Karmakar
73be53d4bd Add SSL verification 2026-03-06 18:16:15 +00:00
Kunal Karmakar
7e4594e08d Increase timeout for chat completion calls 2026-03-06 18:12:46 +00:00
Kunal Karmakar
13236ccd38 Merge branch 'main' of https://github.com/kunalk16/nanobot into feat-support-azure-openai 2026-03-06 17:21:55 +00:00
Kunal Karmakar
43022b1718 Fix unit test after updating error message 2026-03-06 17:20:52 +00:00
Re-bin
0409d72579 feat(telegram): improve streaming UX and add table rendering 2026-03-06 16:19:19 +00:00
Kunal Karmakar
a8ce0a3084 Adding some more insights for failure in Azure OpenAI calls 2026-03-06 16:05:43 +00:00
Kunal Karmakar
33c52cfb74 Merge branch 'main' of https://github.com/kunalk16/nanobot into feat-support-azure-openai 2026-03-06 10:39:29 +00:00
Kunal Karmakar
0b0f47f09f Update readme with azure openai support 2026-03-06 10:37:16 +00:00
samsonchoi
858b136f30 docs: add comprehensive multi-instance configuration guide
- Add detailed setup examples with directory structure
- Document complete isolation mechanism (config, workspace, cron, logs, media)
- Include use cases and production deployment patterns
- Add management scripts for systemd (Linux) and launchd (macOS)
- Provide step-by-step configuration examples
2026-03-06 17:57:21 +08:00
Kunal Karmakar
7684f5b902 Fix the temperature issue, remove temperature 2026-03-06 09:49:26 +00:00
Kunal Karmakar
52e725053c Always use temperature 1 2026-03-06 09:20:47 +00:00
SLAR_Edge
a25923b793 feat: enhance message sending to include file attachments in Discord API 2026-03-06 17:10:53 +08:00
Kunal Karmakar
813d37ad35 Support Azure OpenAI 2026-03-06 08:43:58 +00:00
Barry Wang
81a8a1be1e Merge branch 'HKUDS:main' into feat/improve-tool-validation-tests 2026-03-06 15:42:26 +08: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
VITOHJL
958c23fb01 chore: refine platform policy and memory SKILL docs 2026-03-05 23:57:43 +08:00
samsonchoi
4e4d40ef33 feat: multi-instance support with --config parameter
Add support for running multiple nanobot instances with complete isolation:

- Add --config parameter to gateway command for custom config file path
- Implement set_config_path() in config/loader.py for dynamic config path
- Derive data directory from config file location (e.g., ~/.nanobot-xxx/)
- Update get_data_path() to use unified data directory from config loader
- Ensure cron jobs use instance-specific data directory

This enables running multiple isolated nanobot instances by specifying
different config files, with each instance maintaining separate:
- Configuration files
- Workspace (memory, sessions, skills)
- Cron jobs
- Logs and media

Example usage:
  nanobot gateway --config ~/.nanobot-instance2/config.json --port 18791
2026-03-05 23:48:45 +08:00