379 Commits

Author SHA1 Message Date
nano bot
56bc8b5677 fix: avoid sending empty content entries in assistant messages 2026-02-17 03:52:08 +00:00
Re-bin
a219a91bc5 feat: support openclaw/clawhub skill metadata format 2026-02-16 13:42:33 +00:00
Xubin Ren
1207b89adb
Merge pull request #717 from xek/slack-mrkdwn-formatting
slack: use slackify-markdown for proper mrkdwn formatting
2026-02-16 21:08:21 +08:00
Re-bin
b0871497e0 Merge PR #717: use slackify-markdown for Slack formatting 2026-02-16 13:07:06 +00:00
Grzegorz Grasza
c9926153b2 Add table-to-text conversion for Slack messages
Slack has no native table support, so Markdown tables are passed
through verbatim by slackify-markdown.  Pre-process tables into
readable key-value rows before converting to mrkdwn.

Assisted-by: Claude 4.6 Opus (Anthropic)
2026-02-16 14:03:33 +01:00
Grzegorz Grasza
ed5593bbe0 slack: use slackify-markdown for proper mrkdwn formatting
Replace the regex-based Markdown-to-Slack converter with the
slackify-markdown library, which uses a proper Markdown parser
(markdown-it-py, already a dependency) to correctly handle headings,
bold/italic, code blocks, links, bullet lists, and strikethrough.

The regex approach didn't handle headings (###), bullet lists (* ),
or code block protection, causing raw Markdown to leak into Slack
messages.

Net -40 lines.

Assisted-by: Claude 4.6 Opus (Anthropic)
2026-02-16 13:56:30 +01:00
Re-bin
c28e6771a9 Merge PR #694: fix Telegram message too long error 2026-02-16 12:39:45 +00:00
Re-bin
db0e8aa61b fix: handle Telegram message length limit with smart splitting 2026-02-16 12:39:39 +00:00
Re-bin
48a14edbda Merge branch 'main' into pr-694 2026-02-16 12:16:05 +00:00
Re-bin
3cdb8a0db2 Merge PR #701: fix Telegram command allowlist matching 2026-02-16 12:11:09 +00:00
Re-bin
ffbb264a5d fix: consistent sender_id for Telegram command allowlist matching 2026-02-16 12:11:03 +00:00
Re-bin
ba923c0205 Merge branch 'main' into pr-701 2026-02-16 12:07:58 +00:00
Re-bin
e8e7215d3e refactor: simplify Slack markdown-to-mrkdwn conversion 2026-02-16 11:57:55 +00:00
Re-bin
3706903978 Merge branch 'main' into pr-704 2026-02-16 11:52:02 +00:00
Re-bin
1ce586e9f5 fix: resolve Codex provider bugs and simplify implementation 2026-02-16 11:43:36 +00:00
Re-bin
9e5f7348fe Merge branch 'main' into pr-151 2026-02-16 09:19:40 +00:00
Aleksander W. Oleszkiewicz (Alek)
fe0341da5b
Fix regex for URL formatting in Slack channel 2026-02-16 09:58:38 +01:00
Aleksander W. Oleszkiewicz (Alek)
5d683da38f
Fix regex for URL and image URL formatting 2026-02-16 09:53:20 +01:00
Aleksander W. Oleszkiewicz (Alek)
90be900448
Enhance Slack message formatting with new regex rules
Added regex substitutions for strikethrough, URL formatting, and image URLs in Slack message conversion.
2026-02-16 09:49:44 +01:00
Thomas Lisankie
51d22b7ef4 Fix: _forward_command now builds sender_id with username for allowlist matching 2026-02-16 00:14:34 -05:00
zhouzhuojie
9bfc86af41 refactor(telegram): extract message splitting into helper function
- Added _split_message() helper for cleaner separation of concerns
- Simplified send() method by using the helper
- Net -18 lines for the message splitting feature
2026-02-15 22:49:01 +00:00
zhouzhuojie
203aa154d4 fix(telegram): split long messages to avoid Message is too long error
Telegram has a 4096 character limit per message. This fix:
- Splits messages longer than 4000 chars into multiple chunks
- Prefers breaking at newline boundaries to preserve formatting
- Falls back to space boundaries if no newlines available
- Forces split at max length if no good boundaries exist
- Adds comprehensive tests for message splitting logic
2026-02-15 22:39:31 +00:00
Re-bin
a5265c263d docs: update readme structure 2026-02-15 16:41:27 +00:00
Aleksander W. Oleszkiewicz (Alek)
7e2d801ffc
Implement markdown conversion for Slack messages
Add markdown conversion for Slack messages including italics, bold, and table formatting.
2026-02-15 15:51:19 +01:00
Re-bin
82074a7715 docs: update news section 2026-02-15 14:03:51 +00:00
Xubin Ren
69f80ec634
Merge pull request #664 to use json_repair for robust LLM response parsing
fix: use json_repair for robust LLM response parsing
2026-02-15 16:12:47 +08:00
Re-bin
49fec3684a fix: use json_repair for robust LLM response parsing 2026-02-15 08:11:33 +00:00
Re-bin
728874179c Merge PR #554: add MCP support 2026-02-15 07:03:08 +00:00
Re-bin
52cf1da30a fix: store original MCP tool name, make close_mcp public 2026-02-15 07:00:27 +00:00
Re-bin
54d5f637e7 merge main into pr-554 2026-02-15 06:12:15 +00:00
Re-bin
e2ef1f9d48 docs: add custom provider guideline 2026-02-15 06:02:45 +00:00
Re-bin
fd480bb6f5 Merge branch 'main' into pr-625 2026-02-15 05:27:16 +00:00
Xubin Ren
3411035447
Merge pull request #617 from themavik/fix/523-clamp-max-tokens
fix(providers): clamp max_tokens to >= 1 before calling LiteLLM
2026-02-14 18:02:20 +08:00
Xubin Ren
6e3f86714c
Merge pull request #629 from C-Li/feishu_optmize
增加支持飞书富文本内容接收。Add support for receiving Feishu rich text content.
2026-02-14 17:51:10 +08:00
Ahwei
5e082690d8 refactor(feishu): support both direct and localized post content formats 2026-02-14 14:37:23 +08:00
Ahwei
4e4eb21d23 feat(feishu): Add rich text message content extraction feature
Newly added the _extract_post_text function to extract plain text content from Feishu rich text messages, supporting the parsing of titles, text, links, and @mentions.
2026-02-14 12:14:31 +08:00
Ahwei
d3f6c95ceb refactor(cron): simplify timezone logic and merge conditional branches
With tz: Use the specified timezone (e.g., "Asia/Shanghai").
Without tz: Use the local timezone (datetime.now().astimezone().tzinfo) instead of defaulting to UTC
2026-02-14 10:27:09 +08:00
Ahwei
153c83e340 fix(cron): add timezone support for accurate next run time calculation
When schedule.tz is present, use the specified timezone to calculate the next execution time, ensuring scheduled tasks trigger correctly across different timezones.
2026-02-14 10:23:54 +08:00
Re-bin
f821e95d3c fix: wire max_tokens/temperature to all chat calls, clean up redundant comments 2026-02-14 01:40:37 +00:00
Re-bin
155fc48b29 merge: resolve conflict with main, keep extracted _run_agent_loop with temperature 2026-02-14 01:22:17 +00:00
Re-bin
59d5e3cc4f docs: update line count 2026-02-14 01:14:47 +00:00
Re-bin
2f2c55f921 fix: add missing comma and type annotation for temperature param 2026-02-14 01:13:49 +00:00
Re-bin
9a83301ea6 Merge branch 'main' into pr-560 2026-02-14 01:10:51 +00:00
Re-bin
d6d73c8167 docs: update .gitignore to remove tests 2026-02-14 01:03:16 +00:00
Re-bin
3b580fd6c8 tests: update test_commands.py 2026-02-14 01:02:58 +00:00
Re-bin
12540ba8cb feat: improve onboard with merge-or-overwrite prompt 2026-02-14 00:58:43 +00:00
Re-bin
835a10e1a9 merge: resolve conflict with main, keep load-merge-save approach 2026-02-14 00:51:29 +00:00
The Mavik
10e9e0cdc9 fix(providers): clamp max_tokens to >= 1 before calling LiteLLM (#523) 2026-02-13 17:08:10 -05:00
Xubin Ren
bc045fae1f
Merge pull request #604 to add custom provider and non-destructive onboard
feat: add custom provider and non-destructive onboard
2026-02-14 00:08:40 +08:00
Re-bin
b76cf05c3a feat: add custom provider and non-destructive onboard 2026-02-13 16:05:00 +00:00