tool-compass 2.0.1__tar.gz → 2.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. {tool_compass-2.0.1 → tool_compass-2.0.2}/.dockerignore +56 -56
  2. {tool_compass-2.0.1 → tool_compass-2.0.2}/.env.example +62 -62
  3. tool_compass-2.0.2/.github/ISSUE_TEMPLATE/bug_report.yml +46 -0
  4. tool_compass-2.0.2/.github/ISSUE_TEMPLATE/feature_request.yml +29 -0
  5. tool_compass-2.0.2/.github/dependabot.yml +20 -0
  6. {tool_compass-2.0.1 → tool_compass-2.0.2}/.github/workflows/publish.yml +36 -36
  7. {tool_compass-2.0.1 → tool_compass-2.0.2}/.github/workflows/test.yml +110 -110
  8. {tool_compass-2.0.1 → tool_compass-2.0.2}/.gitignore +98 -98
  9. {tool_compass-2.0.1 → tool_compass-2.0.2}/AUDIT_REPORT.md +245 -245
  10. {tool_compass-2.0.1 → tool_compass-2.0.2}/CHANGELOG.md +126 -126
  11. tool_compass-2.0.2/CODE_OF_CONDUCT.md +26 -0
  12. {tool_compass-2.0.1 → tool_compass-2.0.2}/CONTRIBUTING.md +311 -311
  13. {tool_compass-2.0.1 → tool_compass-2.0.2}/Dockerfile +82 -82
  14. {tool_compass-2.0.1 → tool_compass-2.0.2}/LICENSE +21 -21
  15. {tool_compass-2.0.1 → tool_compass-2.0.2}/PKG-INFO +102 -105
  16. {tool_compass-2.0.1 → tool_compass-2.0.2}/README.md +270 -273
  17. {tool_compass-2.0.1 → tool_compass-2.0.2}/SECURITY.md +100 -100
  18. {tool_compass-2.0.1 → tool_compass-2.0.2}/analytics.py +713 -628
  19. {tool_compass-2.0.1 → tool_compass-2.0.2}/backend_client.py +428 -413
  20. tool_compass-2.0.2/backend_client_simple.py +595 -0
  21. {tool_compass-2.0.1 → tool_compass-2.0.2}/chain_indexer.py +476 -446
  22. {tool_compass-2.0.1 → tool_compass-2.0.2}/compass_config.example.json +58 -58
  23. {tool_compass-2.0.1 → tool_compass-2.0.2}/config.py +358 -338
  24. {tool_compass-2.0.1 → tool_compass-2.0.2}/docker-compose.yml +99 -99
  25. tool_compass-2.0.2/docs/assets/social-preview.png +0 -0
  26. tool_compass-2.0.2/docs/assets/social-preview.svg +36 -0
  27. {tool_compass-2.0.1 → tool_compass-2.0.2}/embedder.py +226 -235
  28. {tool_compass-2.0.1 → tool_compass-2.0.2}/gateway.py +1225 -1135
  29. {tool_compass-2.0.1 → tool_compass-2.0.2}/indexer.py +564 -534
  30. tool_compass-2.0.2/llms.txt +102 -0
  31. {tool_compass-2.0.1 → tool_compass-2.0.2}/pyproject.toml +128 -128
  32. {tool_compass-2.0.1 → tool_compass-2.0.2}/pytest.ini +31 -31
  33. {tool_compass-2.0.1 → tool_compass-2.0.2}/requirements-dev.txt +24 -24
  34. {tool_compass-2.0.1 → tool_compass-2.0.2}/requirements.txt +15 -15
  35. {tool_compass-2.0.1 → tool_compass-2.0.2}/setup.py +77 -74
  36. {tool_compass-2.0.1 → tool_compass-2.0.2}/sync_manager.py +428 -414
  37. {tool_compass-2.0.1 → tool_compass-2.0.2}/tool_manifest.py +817 -800
  38. {tool_compass-2.0.1 → tool_compass-2.0.2}/ui.py +1179 -1136
@@ -1,56 +1,56 @@
1
- # Git
2
- .git
3
- .gitignore
4
-
5
- # Docker
6
- Dockerfile
7
- docker-compose.yml
8
- .dockerignore
9
-
10
- # Python
11
- __pycache__
12
- *.py[cod]
13
- *$py.class
14
- *.so
15
- .Python
16
- venv/
17
- .venv/
18
- ENV/
19
- env/
20
- .eggs/
21
- *.egg-info/
22
- *.egg
23
-
24
- # IDE
25
- .vscode/
26
- .idea/
27
- *.swp
28
- *.swo
29
-
30
- # Testing
31
- .pytest_cache/
32
- .coverage
33
- htmlcov/
34
- .tox/
35
-
36
- # Build artifacts
37
- dist/
38
- build/
39
- *.manifest
40
- *.spec
41
-
42
- # OS files
43
- .DS_Store
44
- Thumbs.db
45
-
46
- # Local development files
47
- *.local.json
48
- .env.local
49
-
50
- # Gradio cache
51
- flagged/
52
-
53
- # Keep db directory structure but not contents
54
- db/*.db
55
- db/*.hnsw
56
- !db/.gitkeep
1
+ # Git
2
+ .git
3
+ .gitignore
4
+
5
+ # Docker
6
+ Dockerfile
7
+ docker-compose.yml
8
+ .dockerignore
9
+
10
+ # Python
11
+ __pycache__
12
+ *.py[cod]
13
+ *$py.class
14
+ *.so
15
+ .Python
16
+ venv/
17
+ .venv/
18
+ ENV/
19
+ env/
20
+ .eggs/
21
+ *.egg-info/
22
+ *.egg
23
+
24
+ # IDE
25
+ .vscode/
26
+ .idea/
27
+ *.swp
28
+ *.swo
29
+
30
+ # Testing
31
+ .pytest_cache/
32
+ .coverage
33
+ htmlcov/
34
+ .tox/
35
+
36
+ # Build artifacts
37
+ dist/
38
+ build/
39
+ *.manifest
40
+ *.spec
41
+
42
+ # OS files
43
+ .DS_Store
44
+ Thumbs.db
45
+
46
+ # Local development files
47
+ *.local.json
48
+ .env.local
49
+
50
+ # Gradio cache
51
+ flagged/
52
+
53
+ # Keep db directory structure but not contents
54
+ db/*.db
55
+ db/*.hnsw
56
+ !db/.gitkeep
@@ -1,62 +1,62 @@
1
- # Tool Compass Environment Configuration
2
- # Copy this file to .env and customize as needed
3
-
4
- # =============================================================================
5
- # Core Configuration
6
- # =============================================================================
7
-
8
- # Project root directory (auto-detected if not set)
9
- # TOOL_COMPASS_BASE_PATH=/path/to/mcp-tool-shop
10
-
11
- # Python executable (auto-detected from venv if not set)
12
- # TOOL_COMPASS_PYTHON=/path/to/python
13
-
14
- # Configuration file path (default: ./compass_config.json)
15
- # TOOL_COMPASS_CONFIG=/path/to/compass_config.json
16
-
17
- # =============================================================================
18
- # External Services
19
- # =============================================================================
20
-
21
- # Ollama server URL for embeddings
22
- OLLAMA_URL=http://localhost:11434
23
-
24
- # ComfyUI server URL (for AI image generation backend)
25
- COMFYUI_URL=http://localhost:8188
26
-
27
- # =============================================================================
28
- # Logging
29
- # =============================================================================
30
-
31
- # Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL
32
- LOG_LEVEL=INFO
33
-
34
- # =============================================================================
35
- # Gradio UI Settings
36
- # =============================================================================
37
-
38
- # Server bind address (0.0.0.0 for Docker, 127.0.0.1 for local)
39
- GRADIO_SERVER_NAME=127.0.0.1
40
-
41
- # Server port
42
- GRADIO_SERVER_PORT=7860
43
-
44
- # Enable public sharing link (set to "true" for Gradio share URL)
45
- # GRADIO_SHARE=false
46
-
47
- # =============================================================================
48
- # Docker-Specific
49
- # =============================================================================
50
-
51
- # When running in Docker, use host.docker.internal to reach host services
52
- # OLLAMA_URL=http://host.docker.internal:11434
53
-
54
- # =============================================================================
55
- # Analytics (optional)
56
- # =============================================================================
57
-
58
- # Disable analytics tracking
59
- # TOOL_COMPASS_ANALYTICS_DISABLED=true
60
-
61
- # Hot cache size (number of frequently used tools to pre-load)
62
- # TOOL_COMPASS_HOT_CACHE_SIZE=10
1
+ # Tool Compass Environment Configuration
2
+ # Copy this file to .env and customize as needed
3
+
4
+ # =============================================================================
5
+ # Core Configuration
6
+ # =============================================================================
7
+
8
+ # Project root directory (auto-detected if not set)
9
+ # TOOL_COMPASS_BASE_PATH=/path/to/mcp-tool-shop
10
+
11
+ # Python executable (auto-detected from venv if not set)
12
+ # TOOL_COMPASS_PYTHON=/path/to/python
13
+
14
+ # Configuration file path (default: ./compass_config.json)
15
+ # TOOL_COMPASS_CONFIG=/path/to/compass_config.json
16
+
17
+ # =============================================================================
18
+ # External Services
19
+ # =============================================================================
20
+
21
+ # Ollama server URL for embeddings
22
+ OLLAMA_URL=http://localhost:11434
23
+
24
+ # ComfyUI server URL (for AI image generation backend)
25
+ COMFYUI_URL=http://localhost:8188
26
+
27
+ # =============================================================================
28
+ # Logging
29
+ # =============================================================================
30
+
31
+ # Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL
32
+ LOG_LEVEL=INFO
33
+
34
+ # =============================================================================
35
+ # Gradio UI Settings
36
+ # =============================================================================
37
+
38
+ # Server bind address (0.0.0.0 for Docker, 127.0.0.1 for local)
39
+ GRADIO_SERVER_NAME=127.0.0.1
40
+
41
+ # Server port
42
+ GRADIO_SERVER_PORT=7860
43
+
44
+ # Enable public sharing link (set to "true" for Gradio share URL)
45
+ # GRADIO_SHARE=false
46
+
47
+ # =============================================================================
48
+ # Docker-Specific
49
+ # =============================================================================
50
+
51
+ # When running in Docker, use host.docker.internal to reach host services
52
+ # OLLAMA_URL=http://host.docker.internal:11434
53
+
54
+ # =============================================================================
55
+ # Analytics (optional)
56
+ # =============================================================================
57
+
58
+ # Disable analytics tracking
59
+ # TOOL_COMPASS_ANALYTICS_DISABLED=true
60
+
61
+ # Hot cache size (number of frequently used tools to pre-load)
62
+ # TOOL_COMPASS_HOT_CACHE_SIZE=10
@@ -0,0 +1,46 @@
1
+ name: Bug Report
2
+ description: Report a bug or issue
3
+ title: "[Bug]: "
4
+ labels: ["bug"]
5
+ body:
6
+ - type: textarea
7
+ id: description
8
+ attributes:
9
+ label: Description
10
+ description: Clear description of the bug
11
+ validations:
12
+ required: true
13
+ - type: textarea
14
+ id: reproduce
15
+ attributes:
16
+ label: Steps to Reproduce
17
+ description: How to reproduce the issue
18
+ placeholder: |
19
+ 1. Run command...
20
+ 2. See error...
21
+ validations:
22
+ required: true
23
+ - type: textarea
24
+ id: expected
25
+ attributes:
26
+ label: Expected Behavior
27
+ description: What you expected to happen
28
+ validations:
29
+ required: true
30
+ - type: dropdown
31
+ id: os
32
+ attributes:
33
+ label: Operating System
34
+ options:
35
+ - Windows
36
+ - Linux
37
+ - macOS
38
+ validations:
39
+ required: true
40
+ - type: input
41
+ id: python
42
+ attributes:
43
+ label: Python Version
44
+ placeholder: "3.11"
45
+ validations:
46
+ required: true
@@ -0,0 +1,29 @@
1
+ name: Feature Request
2
+ description: Suggest a new feature
3
+ title: "[Feature]: "
4
+ labels: ["enhancement"]
5
+ body:
6
+ - type: textarea
7
+ id: problem
8
+ attributes:
9
+ label: Problem
10
+ description: What problem does this solve?
11
+ validations:
12
+ required: true
13
+ - type: textarea
14
+ id: solution
15
+ attributes:
16
+ label: Proposed Solution
17
+ description: How would you like this to work?
18
+ validations:
19
+ required: true
20
+ - type: textarea
21
+ id: alternatives
22
+ attributes:
23
+ label: Alternatives Considered
24
+ description: Other solutions you've considered
25
+ - type: textarea
26
+ id: context
27
+ attributes:
28
+ label: Additional Context
29
+ description: Any other information
@@ -0,0 +1,20 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "pip"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ open-pull-requests-limit: 5
8
+ labels:
9
+ - "dependencies"
10
+ commit-message:
11
+ prefix: "deps"
12
+
13
+ - package-ecosystem: "github-actions"
14
+ directory: "/"
15
+ schedule:
16
+ interval: "weekly"
17
+ labels:
18
+ - "ci"
19
+ commit-message:
20
+ prefix: "ci"
@@ -1,36 +1,36 @@
1
- # Tool Compass PyPI Publishing
2
- # Triggered when a release is created
3
-
4
- name: Publish to PyPI
5
-
6
- on:
7
- release:
8
- types: [published]
9
-
10
- jobs:
11
- publish:
12
- name: Build and Publish
13
- runs-on: ubuntu-latest
14
-
15
- steps:
16
- - name: Checkout repository
17
- uses: actions/checkout@v4
18
-
19
- - name: Set up Python
20
- uses: actions/setup-python@v5
21
- with:
22
- python-version: '3.11'
23
-
24
- - name: Install build tools
25
- run: |
26
- python -m pip install --upgrade pip
27
- pip install build twine
28
-
29
- - name: Build package
30
- run: python -m build
31
-
32
- - name: Publish to PyPI
33
- env:
34
- TWINE_USERNAME: __token__
35
- TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
36
- run: twine upload dist/*
1
+ # Tool Compass PyPI Publishing
2
+ # Triggered when a release is created
3
+
4
+ name: Publish to PyPI
5
+
6
+ on:
7
+ release:
8
+ types: [published]
9
+
10
+ jobs:
11
+ publish:
12
+ name: Build and Publish
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ - name: Checkout repository
17
+ uses: actions/checkout@v6
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v6
21
+ with:
22
+ python-version: '3.11'
23
+
24
+ - name: Install build tools
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install build twine
28
+
29
+ - name: Build package
30
+ run: python -m build
31
+
32
+ - name: Publish to PyPI
33
+ env:
34
+ TWINE_USERNAME: __token__
35
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
36
+ run: twine upload dist/*
@@ -1,110 +1,110 @@
1
- # Tool Compass CI Pipeline
2
- # Runs tests on every push and PR
3
-
4
- name: Tests
5
-
6
- on:
7
- push:
8
- branches: [main, develop]
9
- pull_request:
10
- branches: [main]
11
-
12
- jobs:
13
- test:
14
- name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
15
- runs-on: ${{ matrix.os }}
16
-
17
- strategy:
18
- fail-fast: false
19
- matrix:
20
- os: [ubuntu-latest, windows-latest, macos-latest]
21
- python-version: ['3.10', '3.11', '3.12']
22
-
23
- steps:
24
- - name: Checkout repository
25
- uses: actions/checkout@v4
26
-
27
- - name: Set up Python ${{ matrix.python-version }}
28
- uses: actions/setup-python@v5
29
- with:
30
- python-version: ${{ matrix.python-version }}
31
- cache: 'pip'
32
- cache-dependency-path: 'requirements*.txt'
33
-
34
- - name: Install dependencies
35
- run: |
36
- python -m pip install --upgrade pip
37
- pip install -r requirements.txt
38
- pip install -r requirements-dev.txt
39
-
40
- - name: Run tests
41
- run: |
42
- pytest -v --tb=short -m "not integration"
43
-
44
- - name: Run tests with coverage
45
- if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest'
46
- run: |
47
- pytest --cov=. --cov-report=xml --cov-report=term -m "not integration"
48
-
49
- - name: Upload coverage to Codecov
50
- if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest'
51
- uses: codecov/codecov-action@v4
52
- with:
53
- file: coverage.xml
54
- fail_ci_if_error: false
55
-
56
- # Integration tests (requires Ollama)
57
- integration:
58
- name: Integration Tests
59
- runs-on: ubuntu-latest
60
- needs: test # Only run after unit tests pass
61
-
62
- steps:
63
- - name: Checkout repository
64
- uses: actions/checkout@v4
65
-
66
- - name: Set up Python
67
- uses: actions/setup-python@v5
68
- with:
69
- python-version: '3.11'
70
- cache: 'pip'
71
- cache-dependency-path: 'requirements*.txt'
72
-
73
- - name: Install dependencies
74
- run: |
75
- python -m pip install --upgrade pip
76
- pip install -r requirements.txt
77
- pip install -r requirements-dev.txt
78
-
79
- - name: Install Ollama
80
- run: |
81
- curl -fsSL https://ollama.com/install.sh | sh
82
- ollama serve &
83
- sleep 5
84
- ollama pull nomic-embed-text
85
-
86
- - name: Run integration tests
87
- run: |
88
- pytest -v -m integration
89
- continue-on-error: true # Integration tests may be flaky
90
-
91
- docker:
92
- name: Docker Build
93
- runs-on: ubuntu-latest
94
- needs: test
95
-
96
- steps:
97
- - name: Checkout repository
98
- uses: actions/checkout@v4
99
-
100
- - name: Set up Docker Buildx
101
- uses: docker/setup-buildx-action@v3
102
-
103
- - name: Build Docker image
104
- uses: docker/build-push-action@v5
105
- with:
106
- context: .
107
- push: false
108
- tags: tool-compass:test
109
- cache-from: type=gha
110
- cache-to: type=gha,mode=max
1
+ # Tool Compass CI Pipeline
2
+ # Runs tests on every push and PR
3
+
4
+ name: Tests
5
+
6
+ on:
7
+ push:
8
+ branches: [main, develop]
9
+ pull_request:
10
+ branches: [main]
11
+
12
+ jobs:
13
+ test:
14
+ name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
15
+ runs-on: ${{ matrix.os }}
16
+
17
+ strategy:
18
+ fail-fast: false
19
+ matrix:
20
+ os: [ubuntu-latest, windows-latest, macos-latest]
21
+ python-version: ['3.10', '3.11', '3.12']
22
+
23
+ steps:
24
+ - name: Checkout repository
25
+ uses: actions/checkout@v6
26
+
27
+ - name: Set up Python ${{ matrix.python-version }}
28
+ uses: actions/setup-python@v6
29
+ with:
30
+ python-version: ${{ matrix.python-version }}
31
+ cache: 'pip'
32
+ cache-dependency-path: 'requirements*.txt'
33
+
34
+ - name: Install dependencies
35
+ run: |
36
+ python -m pip install --upgrade pip
37
+ pip install -r requirements.txt
38
+ pip install -r requirements-dev.txt
39
+
40
+ - name: Run tests
41
+ run: |
42
+ pytest -v --tb=short -m "not integration"
43
+
44
+ - name: Run tests with coverage
45
+ if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest'
46
+ run: |
47
+ pytest --cov=. --cov-report=xml --cov-report=term -m "not integration"
48
+
49
+ - name: Upload coverage to Codecov
50
+ if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest'
51
+ uses: codecov/codecov-action@v5
52
+ with:
53
+ file: coverage.xml
54
+ fail_ci_if_error: false
55
+
56
+ # Integration tests (requires Ollama)
57
+ integration:
58
+ name: Integration Tests
59
+ runs-on: ubuntu-latest
60
+ needs: test # Only run after unit tests pass
61
+
62
+ steps:
63
+ - name: Checkout repository
64
+ uses: actions/checkout@v6
65
+
66
+ - name: Set up Python
67
+ uses: actions/setup-python@v6
68
+ with:
69
+ python-version: '3.11'
70
+ cache: 'pip'
71
+ cache-dependency-path: 'requirements*.txt'
72
+
73
+ - name: Install dependencies
74
+ run: |
75
+ python -m pip install --upgrade pip
76
+ pip install -r requirements.txt
77
+ pip install -r requirements-dev.txt
78
+
79
+ - name: Install Ollama
80
+ run: |
81
+ curl -fsSL https://ollama.com/install.sh | sh
82
+ ollama serve &
83
+ sleep 5
84
+ ollama pull nomic-embed-text
85
+
86
+ - name: Run integration tests
87
+ run: |
88
+ pytest -v -m integration
89
+ continue-on-error: true # Integration tests may be flaky
90
+
91
+ docker:
92
+ name: Docker Build
93
+ runs-on: ubuntu-latest
94
+ needs: test
95
+
96
+ steps:
97
+ - name: Checkout repository
98
+ uses: actions/checkout@v6
99
+
100
+ - name: Set up Docker Buildx
101
+ uses: docker/setup-buildx-action@v3
102
+
103
+ - name: Build Docker image
104
+ uses: docker/build-push-action@v6
105
+ with:
106
+ context: .
107
+ push: false
108
+ tags: tool-compass:test
109
+ cache-from: type=gha
110
+ cache-to: type=gha,mode=max