tweekit 1.8.0__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.
- tweekit-1.8.0/CHANGELOG.md +135 -0
- tweekit-1.8.0/LICENSE +21 -0
- tweekit-1.8.0/MANIFEST.in +4 -0
- tweekit-1.8.0/PKG-INFO +1169 -0
- tweekit-1.8.0/README.md +1131 -0
- tweekit-1.8.0/clients/__init__.py +1 -0
- tweekit-1.8.0/clients/python/__init__.py +5 -0
- tweekit-1.8.0/clients/python/tweekit_client.py +462 -0
- tweekit-1.8.0/plugin_proxy.py +315 -0
- tweekit-1.8.0/pyproject.toml +83 -0
- tweekit-1.8.0/server.json +49 -0
- tweekit-1.8.0/server.py +1056 -0
- tweekit-1.8.0/setup.cfg +4 -0
- tweekit-1.8.0/tests/test_chatgpt_proxy_live.py +77 -0
- tweekit-1.8.0/tests/test_claude_bundle.py +29 -0
- tweekit-1.8.0/tests/test_configs.py +25 -0
- tweekit-1.8.0/tests/test_credential_resolution.py +58 -0
- tweekit-1.8.0/tests/test_delete_document.py +99 -0
- tweekit-1.8.0/tests/test_fetch_tool.py +100 -0
- tweekit-1.8.0/tests/test_plugin_proxy.py +129 -0
- tweekit-1.8.0/tests/test_server_tools.py +156 -0
- tweekit-1.8.0/tests/test_tweekit_client.py +169 -0
- tweekit-1.8.0/tweekit/__init__.py +28 -0
- tweekit-1.8.0/tweekit.egg-info/PKG-INFO +1169 -0
- tweekit-1.8.0/tweekit.egg-info/SOURCES.txt +28 -0
- tweekit-1.8.0/tweekit.egg-info/dependency_links.txt +1 -0
- tweekit-1.8.0/tweekit.egg-info/entry_points.txt +3 -0
- tweekit-1.8.0/tweekit.egg-info/requires.txt +9 -0
- tweekit-1.8.0/tweekit.egg-info/top_level.txt +5 -0
- tweekit-1.8.0/tweekit_mcp/__init__.py +62 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the TweekIT MCP Server will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.8.0] - 2026-10-28
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Official PyPI Package (`pip install tweekit`)**: Published under the approved **AMPS dba Equilibrium** PyPI organization (`Equilibrium/tweekit`), exposing both `tweekit` and `tweekit-mcp` CLI entry points plus `import tweekit` and `import tweekit_mcp` SDK namespaces.
|
|
12
|
+
- **Full Async Python SDK (`TweekitClient` & `TweekitDirectClient`)**: Added direct async REST API conversion (`convert_bytes`, `convert_file`, `convert_url`), concurrent `batch_convert`, and MCP client wrappers.
|
|
13
|
+
- **AI Hub Preflight & Modality Router (`preflight` tool & `preflight_check`)**: Added 450+ file-extension taxonomy (`FORMAT_TAXONOMY`) and provider-aware target format recommendations aligned with **Maitrix AI Hub**, Claude, OpenAI, Gemini, Mistral, Grok, and DeepSeek.
|
|
14
|
+
- **Local File Conversion Tool (`convert_file`)**: Added opt-in (`TWEEKIT_ALLOW_LOCAL_FILES`) local path ingestion tool for trusted desktop/CLI workflows alongside MCP `ToolAnnotations` across all 8 tools (`doctype`, `preflight`, `convert`, `convert_url`, `convert_file`, `delete_document`, `fetch`, `search`).
|
|
15
|
+
- **OpenAI / Plugin Proxy Enhancements (`plugin_proxy.py`)**: Added strict `Content-Security-Policy` headers, `GET /preflight`, `POST /convert-url`, and `DELETE /documents/{doc_id}` endpoints.
|
|
16
|
+
- **ABI-Resilient Claude `.mcpb` Bundle (`scripts/build_claude_bundle.py`)**: Added pure-stdlib runtime ABI guard so Homebrew/OS minor Python version upgrades (e.g., Python 3.14 → 3.15) seamlessly delegate to matching interpreters or `uvx` without `pydantic_core` C-extension errors.
|
|
17
|
+
|
|
18
|
+
### Security
|
|
19
|
+
- **October 2026 eMudhra CA Trust-Store Remediation**: Pinned `certifi>=2026.10.19` (`2026.10.23`), refreshed container `ca-certificates` in `Dockerfile`, hardened PyPI GitHub Actions workflow (`publish-pypi.yml` with OIDC Trusted Publisher primary + token fallback), and standardized all domain references to Equilibrium's `tweekit.io`.
|
|
20
|
+
|
|
21
|
+
## [1.5.0] - 2025-11-06
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
#### Core Features
|
|
26
|
+
- **Universal Media Conversion**: Support for 400+ file types including images, documents, videos, and professional formats (Adobe Illustrator, Camera RAW, PSD, etc.)
|
|
27
|
+
- **MCP Server Implementation**: FastMCP-based streamable HTTP server with full Model Context Protocol compliance
|
|
28
|
+
- **Cloud Deployments**: Production-ready deployments on Firebase Hosting and Google Cloud Run
|
|
29
|
+
|
|
30
|
+
#### MCP Tools
|
|
31
|
+
- `doctype`: Query supported file formats and map extensions to document types
|
|
32
|
+
- `convert`: Convert base64-encoded documents with transformation options (resize, crop, format change, background fill)
|
|
33
|
+
- `convert_url`: Download and convert remote documents via HTTP(S) URLs
|
|
34
|
+
- `fetch`: Retrieve content from URLs with automatic content-type detection
|
|
35
|
+
- `search`: Perform web searches using DuckDuckGo
|
|
36
|
+
|
|
37
|
+
#### MCP Resources
|
|
38
|
+
- `config://tweekit-version`: TweekIT API version information
|
|
39
|
+
- `config://tweekit-mcp-version`: MCP server version (1.5.0)
|
|
40
|
+
|
|
41
|
+
#### Transformation Capabilities
|
|
42
|
+
- **Resize**: Width and height adjustments with automatic aspect ratio preservation
|
|
43
|
+
- **Crop**: Coordinate-based cropping with support for negative values (padding)
|
|
44
|
+
- **Format Conversion**: Convert between image formats (PNG, JPG, WebP, etc.) and document formats
|
|
45
|
+
- **Background Fill**: Hex color background for transparent or padded areas
|
|
46
|
+
- **Page Selection**: Extract specific pages from multi-page documents
|
|
47
|
+
- **NoRasterize Mode**: Convert text documents directly to PDF without rasterization
|
|
48
|
+
- **Alpha Channel Control**: Enable/disable transparency passthrough
|
|
49
|
+
|
|
50
|
+
#### Client Integrations
|
|
51
|
+
- **Claude Desktop**: HTTP transport configuration with manifest
|
|
52
|
+
- **ChatGPT MCP**: Compatible with OpenAI MCP tools
|
|
53
|
+
- **Cursor IDE**: MCP configuration with environment variable support
|
|
54
|
+
- **Continue IDE**: Streamable HTTP transport integration
|
|
55
|
+
- **MCP Inspector**: Full tooling support for development and debugging
|
|
56
|
+
|
|
57
|
+
#### Developer Tools
|
|
58
|
+
- **Python Client SDK**: `tweekit_client.py` helper for programmatic access
|
|
59
|
+
- **Node.js Quickstart**: Example integration using MCP TypeScript SDK
|
|
60
|
+
- **Python Quickstart**: AsyncIO example with FastMCP client
|
|
61
|
+
- **Example Assets**: Test files (PNG, DOCX) for validation
|
|
62
|
+
|
|
63
|
+
#### Documentation
|
|
64
|
+
- Comprehensive README with 400+ file type support details
|
|
65
|
+
- Integration guides for Claude, ChatGPT, Cursor, and Continue
|
|
66
|
+
- Use case examples (employee headshots, KYC photos, social media resizing, document conversion)
|
|
67
|
+
- REST API reference and MCP API reference
|
|
68
|
+
- Error handling and troubleshooting guide
|
|
69
|
+
- Advanced topics (AI pipeline integration, performance tuning, security hardening)
|
|
70
|
+
- Integration roadmap for upcoming platform support
|
|
71
|
+
|
|
72
|
+
#### Testing & CI/CD
|
|
73
|
+
- **Test Suite**: pytest-based tests for server tools, configs, plugin proxy, and Claude bundle
|
|
74
|
+
- **Smoke Tests**: `test_server.py` for async endpoint validation
|
|
75
|
+
- **GitHub Actions**: Automated MCP registry publishing on version tags
|
|
76
|
+
- **Deployment Scripts**:
|
|
77
|
+
- `deploy_firebase.sh`: Firebase Hosting deployment with vendoring
|
|
78
|
+
- `deploy_cloud_run.sh`: Google Cloud Run deployment for stage/prod
|
|
79
|
+
- `run_mcp_e2e.py`: End-to-end MCP testing script
|
|
80
|
+
|
|
81
|
+
#### Configuration & Environment
|
|
82
|
+
- Environment variable support for API keys and secrets
|
|
83
|
+
- Sample configuration files for multiple MCP clients
|
|
84
|
+
- Docker containerization support
|
|
85
|
+
- Firebase Functions ASGI bridge for serverless deployment
|
|
86
|
+
|
|
87
|
+
#### Security
|
|
88
|
+
- API key and secret authentication
|
|
89
|
+
- HTTPS-only endpoints
|
|
90
|
+
- Short-lived asset storage (20-minute expiry for REST API)
|
|
91
|
+
- Stateless processing with automatic cleanup
|
|
92
|
+
|
|
93
|
+
#### Additional Integration Prep
|
|
94
|
+
- ChatGPT plugin proxy (`plugin_proxy.py`)
|
|
95
|
+
- Claude bundle builder script (`build_claude_bundle.py`)
|
|
96
|
+
- DeepSeek MCP bridge script (`deepseek_mcp_bridge.py`)
|
|
97
|
+
- Platform-specific documentation:
|
|
98
|
+
- `docs/chatgpt-plugin.md`
|
|
99
|
+
- `docs/claude-bundle.md`
|
|
100
|
+
- `docs/deepseek-integration.md`
|
|
101
|
+
- `docs/grok-integration.md`
|
|
102
|
+
- `docs/developer-tools.md`
|
|
103
|
+
|
|
104
|
+
### Infrastructure
|
|
105
|
+
- **Firebase Hosting**: Rewrite rules for `/mcp` endpoint routing
|
|
106
|
+
- **Google Cloud Run**: Multi-environment support (local, stage, prod)
|
|
107
|
+
- **Dependency Management**: uv.lock for reproducible builds
|
|
108
|
+
- **Vendored Dependencies**: Firebase Functions package vendoring support
|
|
109
|
+
|
|
110
|
+
### Documentation Enhancements
|
|
111
|
+
- MCP Pulse checklist for registry readiness
|
|
112
|
+
- Integration roadmap for OpenAI, Anthropic, xAI, DeepSeek
|
|
113
|
+
- Testing guide with integration patterns
|
|
114
|
+
- Quickstart guides for multiple platforms
|
|
115
|
+
- Development backlog tracking
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## [Unreleased]
|
|
120
|
+
|
|
121
|
+
### Planned
|
|
122
|
+
- Native Grok integration (pending xAI API release)
|
|
123
|
+
- DeepSeek bridge hardening
|
|
124
|
+
- Additional IDE integrations (Windsurf, v0, Sourcegraph Cody)
|
|
125
|
+
- SDK packaging for PyPI and NPM
|
|
126
|
+
- OpenAPI specification for REST API
|
|
127
|
+
- Staging environment for pre-release testing
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
**Note**: This is the initial public release of TweekIT MCP Server. Previous development was internal.
|
|
132
|
+
|
|
133
|
+
For detailed API documentation, visit [https://www.tweekit.io/docs/](https://www.tweekit.io/docs/)
|
|
134
|
+
|
|
135
|
+
For support, contact: support@tweekit.io
|
tweekit-1.8.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
© Copyright 2025 Automated Media Processing Solutions, Inc. dba Equilibrium
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|