diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml index 8da5ea4..8b836c8 100644 --- a/.github/workflows/link-check.yml +++ b/.github/workflows/link-check.yml @@ -14,6 +14,6 @@ jobs: - uses: actions/checkout@v4 - uses: lycheeverse/lychee-action@v2 with: - args: --no-progress --insecure --user-agent 'curl/7.68.0' README.md docs/ apps/ examples/ benchmarks/ + args: --no-progress --insecure --user-agent 'curl/7.68.0' --exclude '.*api\.star-history\.com.*' --accept 200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308,503 README.md docs/ apps/ examples/ benchmarks/ env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/apps/slack_data/slack_mcp_reader.py b/apps/slack_data/slack_mcp_reader.py index 71fa457..8f24e1d 100644 --- a/apps/slack_data/slack_mcp_reader.py +++ b/apps/slack_data/slack_mcp_reader.py @@ -7,6 +7,7 @@ for indexing in LEANN. It supports various Slack MCP server implementations and flexible message processing options. """ +import ast import asyncio import json import logging @@ -146,16 +147,16 @@ class SlackMCPReader: match = re.search(r"'error':\s*(\{[^}]+\})", str(e)) if match: try: - error_dict = eval(match.group(1)) - except (ValueError, SyntaxError, NameError): + error_dict = ast.literal_eval(match.group(1)) + except (ValueError, SyntaxError): pass else: # Try alternative format match = re.search(r"Failed to fetch messages:\s*(\{[^}]+\})", str(e)) if match: try: - error_dict = eval(match.group(1)) - except (ValueError, SyntaxError, NameError): + error_dict = ast.literal_eval(match.group(1)) + except (ValueError, SyntaxError): pass if self._is_cache_sync_error(error_dict):