Skip to content

Commit 81effbe

Browse files
Rest pass api 746 (#1273)
* rest pass changed tool service Signed-off-by: rakdutta <rakhibiswas@yahoo.com> * alembic Signed-off-by: rakdutta <rakhibiswas@yahoo.com> * alembic Signed-off-by: rakdutta <rakhibiswas@yahoo.com> * web-lint Signed-off-by: rakdutta <rakhibiswas@yahoo.com> * fix: add UTF-8 encoding pragma to alembic migration Signed-off-by: Mihai Criveti <crivetimihai@gmail.com> * docs: add REST passthrough configuration documentation and update CHANGELOG for v0.9.0 - Add comprehensive REST passthrough documentation (docs/docs/using/rest-passthrough.md) - Document all 9 new passthrough fields with examples and validation rules - Include API examples, security best practices, and troubleshooting guide - Update CHANGELOG.md with v0.9.0 section for REST passthrough enhancements - Add rest-passthrough.md to docs navigation Closes #746 Signed-off-by: Mihai Criveti <crivetimihai@gmail.com> --------- Signed-off-by: rakdutta <rakhibiswas@yahoo.com> Signed-off-by: Mihai Criveti <crivetimihai@gmail.com> Co-authored-by: Mihai Criveti <crivetimihai@gmail.com>
1 parent b6f34f9 commit 81effbe

File tree

10 files changed

+1188
-0
lines changed

10 files changed

+1188
-0
lines changed

CHANGELOG.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,68 @@
44
55
---
66

7+
## [0.9.0] - In Progress (Due: 2025-11-04) - REST Passthrough Enhancements & Advanced Tool Management
8+
9+
### Overview
10+
11+
This release focuses on **REST API Passthrough Capabilities** and **Advanced Tool Management** with enhanced configurability for REST integrations:
12+
13+
- **🔌 REST Passthrough API Fields** - Comprehensive REST tool configuration with query/header mapping, timeouts, and plugin chains
14+
- **🎯 Advanced Tool Configuration** - Fine-grained control over REST tool behavior and request customization
15+
- **🔒 Security & Validation** - Enhanced validation for REST endpoints with allowlists and configurable timeouts
16+
17+
### Added
18+
19+
#### **🔌 REST Passthrough Configuration** (#746, #1273)
20+
* **Query & Header Mapping** - Configure dynamic query parameter and header mappings for REST tools
21+
* **Path Templates** - Support for URL path templates with variable substitution
22+
* **Timeout Configuration** - Per-tool timeout settings (default: 20000ms for REST passthrough)
23+
* **Endpoint Exposure Control** - Toggle passthrough endpoint visibility with `expose_passthrough` flag
24+
* **Host Allowlists** - Configure allowed upstream hosts/schemes for enhanced security
25+
* **Plugin Chain Support** - Pre and post-request plugin chains for REST tools
26+
* **Base URL Extraction** - Automatic extraction of base URL and path template from tool URLs
27+
* **Admin UI Integration** - "Advanced: Add Passthrough" button in tool creation form with dynamic field generation
28+
29+
#### **🛡️ REST Tool Validation** (#1273)
30+
* **URL Structure Validation** - Ensures base URLs have valid scheme and netloc
31+
* **Path Template Validation** - Enforces leading slash in path templates
32+
* **Timeout Validation** - Validates timeout values are positive integers
33+
* **Allowlist Validation** - Regex-based validation for allowed hosts/schemes
34+
* **Plugin Chain Validation** - Restricts plugins to known safe plugins (deny_filter, rate_limit, pii_filter, response_shape, regex_filter, resource_filter)
35+
* **Integration Type Enforcement** - REST-specific fields only allowed for `integration_type='REST'`
36+
37+
### Changed
38+
39+
#### **📊 Database Schema** (#1273)
40+
* **New Tool Columns** - Added 9 new columns to tools table via Alembic migration `8a2934be50c0`:
41+
- `base_url` - Base URL for REST passthrough
42+
- `path_template` - Path template for URL construction
43+
- `query_mapping` - JSON mapping for query parameters
44+
- `header_mapping` - JSON mapping for headers
45+
- `timeout_ms` - Request timeout in milliseconds
46+
- `expose_passthrough` - Boolean flag to enable/disable passthrough
47+
- `allowlist` - JSON array of allowed hosts/schemes
48+
- `plugin_chain_pre` - Pre-request plugin chain
49+
- `plugin_chain_post` - Post-request plugin chain
50+
51+
#### **🔧 API Schemas** (#1273)
52+
* **ToolCreate Schema** - Enhanced with passthrough field validation and auto-extraction logic
53+
* **ToolUpdate Schema** - Updated with same validation logic for modifications
54+
* **ToolRead Schema** - Extended to expose passthrough configuration in API responses
55+
56+
### Documentation
57+
58+
* REST Passthrough API configuration guide (see `docs/docs/using/rest-passthrough.md`)
59+
* Updated tool configuration examples with passthrough fields
60+
* Admin UI usage documentation for advanced REST tool configuration
61+
62+
### Issues Closed
63+
64+
**REST Integration:**
65+
- Closes #746 - REST Passthrough API configuration fields
66+
67+
---
68+
769
## [0.8.0] - 2025-10-07 - Advanced OAuth, Plugin Ecosystem & MCP Registry
870

971
### Overview

docs/docs/using/.pages

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ nav:
55
- reverse-proxy.md
66
- multi-auth-headers.md
77
- tool-annotations.md
8+
- rest-passthrough.md
89
- Clients: clients
910
- Agents: agents
1011
- Servers: servers

0 commit comments

Comments
 (0)