chuk-tool-processor 0.9.1__tar.gz → 0.9.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.

Potentially problematic release.


This version of chuk-tool-processor might be problematic. Click here for more details.

Files changed (72) hide show
  1. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/PKG-INFO +1 -1
  2. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/pyproject.toml +1 -1
  3. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/stream_manager.py +15 -6
  4. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/PKG-INFO +1 -1
  5. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/README.md +0 -0
  6. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/setup.cfg +0 -0
  7. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/__init__.py +0 -0
  8. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/core/__init__.py +0 -0
  9. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/core/exceptions.py +0 -0
  10. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/core/processor.py +0 -0
  11. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/__init__.py +0 -0
  12. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/strategies/__init__.py +0 -0
  13. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/strategies/inprocess_strategy.py +0 -0
  14. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/strategies/subprocess_strategy.py +0 -0
  15. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/tool_executor.py +0 -0
  16. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/__init__.py +0 -0
  17. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/caching.py +0 -0
  18. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/circuit_breaker.py +0 -0
  19. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/rate_limiting.py +0 -0
  20. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/retry.py +0 -0
  21. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/__init__.py +0 -0
  22. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/context.py +0 -0
  23. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/formatter.py +0 -0
  24. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/helpers.py +0 -0
  25. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/metrics.py +0 -0
  26. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/__init__.py +0 -0
  27. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/mcp_tool.py +0 -0
  28. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/register_mcp_tools.py +0 -0
  29. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/setup_mcp_http_streamable.py +0 -0
  30. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/setup_mcp_sse.py +0 -0
  31. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/setup_mcp_stdio.py +0 -0
  32. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/__init__.py +0 -0
  33. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/base_transport.py +0 -0
  34. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/http_streamable_transport.py +0 -0
  35. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/models.py +0 -0
  36. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/sse_transport.py +0 -0
  37. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/stdio_transport.py +0 -0
  38. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/__init__.py +0 -0
  39. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/execution_strategy.py +0 -0
  40. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/streaming_tool.py +0 -0
  41. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_call.py +0 -0
  42. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_export_mixin.py +0 -0
  43. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_result.py +0 -0
  44. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_spec.py +0 -0
  45. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/validated_tool.py +0 -0
  46. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/observability/__init__.py +0 -0
  47. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/observability/metrics.py +0 -0
  48. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/observability/setup.py +0 -0
  49. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/observability/tracing.py +0 -0
  50. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/__init__.py +0 -0
  51. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/discovery.py +0 -0
  52. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/__init__.py +0 -0
  53. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/base.py +0 -0
  54. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/function_call_tool.py +0 -0
  55. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/json_tool.py +0 -0
  56. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/openai_tool.py +0 -0
  57. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/xml_tool.py +0 -0
  58. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/__init__.py +0 -0
  59. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/auto_register.py +0 -0
  60. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/decorators.py +0 -0
  61. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/interface.py +0 -0
  62. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/metadata.py +0 -0
  63. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/provider.py +0 -0
  64. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/providers/__init__.py +0 -0
  65. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/providers/memory.py +0 -0
  66. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/tool_export.py +0 -0
  67. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/utils/__init__.py +0 -0
  68. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/utils/validation.py +0 -0
  69. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/SOURCES.txt +0 -0
  70. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/dependency_links.txt +0 -0
  71. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/requires.txt +0 -0
  72. {chuk_tool_processor-0.9.1 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chuk-tool-processor
3
- Version: 0.9.1
3
+ Version: 0.9.2
4
4
  Summary: Async-native framework for registering, discovering, and executing tools referenced in LLM responses
5
5
  Author-email: CHUK Team <chrishayuk@somejunkmailbox.com>
6
6
  Maintainer-email: CHUK Team <chrishayuk@somejunkmailbox.com>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "chuk-tool-processor"
7
- version = "0.9.1"
7
+ version = "0.9.2"
8
8
  description = "Async-native framework for registering, discovering, and executing tools referenced in LLM responses"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -176,17 +176,24 @@ class StreamManager:
176
176
  for idx, server_name in enumerate(servers):
177
177
  try:
178
178
  if transport_type == "stdio":
179
- params = await load_config(config_file, server_name)
179
+ params, server_timeout = await load_config(config_file, server_name)
180
+ # Use per-server timeout if specified, otherwise use global default
181
+ effective_timeout = server_timeout if server_timeout is not None else default_timeout
182
+ logger.info(
183
+ f"Server '{server_name}' using timeout: {effective_timeout}s (per-server: {server_timeout}, default: {default_timeout})"
184
+ )
180
185
  # Use initialization_timeout for connection_timeout since subprocess
181
186
  # launch can take time (e.g., uvx downloading packages)
182
187
  transport: MCPBaseTransport = StdioTransport(
183
- params, connection_timeout=initialization_timeout, default_timeout=default_timeout
188
+ params, connection_timeout=initialization_timeout, default_timeout=effective_timeout
184
189
  )
185
190
  elif transport_type == "sse":
186
191
  logger.debug(
187
192
  "Using SSE transport in initialize() - consider using initialize_with_sse() instead"
188
193
  )
189
- params = await load_config(config_file, server_name)
194
+ params, server_timeout = await load_config(config_file, server_name)
195
+ # Use per-server timeout if specified, otherwise use global default
196
+ effective_timeout = server_timeout if server_timeout is not None else default_timeout
190
197
 
191
198
  if isinstance(params, dict) and "url" in params:
192
199
  sse_url = params["url"]
@@ -199,7 +206,7 @@ class StreamManager:
199
206
  logger.debug("No URL configured for SSE transport, using default: %s", sse_url)
200
207
 
201
208
  # Build SSE transport with optional headers
202
- transport_params = {"url": sse_url, "api_key": api_key, "default_timeout": default_timeout}
209
+ transport_params = {"url": sse_url, "api_key": api_key, "default_timeout": effective_timeout}
203
210
  if headers:
204
211
  transport_params["headers"] = headers
205
212
 
@@ -209,7 +216,9 @@ class StreamManager:
209
216
  logger.debug(
210
217
  "Using HTTP Streamable transport in initialize() - consider using initialize_with_http_streamable() instead"
211
218
  )
212
- params = await load_config(config_file, server_name)
219
+ params, server_timeout = await load_config(config_file, server_name)
220
+ # Use per-server timeout if specified, otherwise use global default
221
+ effective_timeout = server_timeout if server_timeout is not None else default_timeout
213
222
 
214
223
  if isinstance(params, dict) and "url" in params:
215
224
  http_url = params["url"]
@@ -227,7 +236,7 @@ class StreamManager:
227
236
  transport_params = {
228
237
  "url": http_url,
229
238
  "api_key": api_key,
230
- "default_timeout": default_timeout,
239
+ "default_timeout": effective_timeout,
231
240
  "session_id": session_id,
232
241
  }
233
242
  # Note: headers not added until HTTPStreamableTransport supports them
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chuk-tool-processor
3
- Version: 0.9.1
3
+ Version: 0.9.2
4
4
  Summary: Async-native framework for registering, discovering, and executing tools referenced in LLM responses
5
5
  Author-email: CHUK Team <chrishayuk@somejunkmailbox.com>
6
6
  Maintainer-email: CHUK Team <chrishayuk@somejunkmailbox.com>