chuk-tool-processor 0.9__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.
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/PKG-INFO +1 -1
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/pyproject.toml +1 -1
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/stream_manager.py +15 -6
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/observability/metrics.py +1 -1
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/observability/tracing.py +8 -6
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/PKG-INFO +1 -1
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/README.md +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/setup.cfg +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/core/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/core/exceptions.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/core/processor.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/strategies/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/strategies/inprocess_strategy.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/strategies/subprocess_strategy.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/tool_executor.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/caching.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/circuit_breaker.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/rate_limiting.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/wrappers/retry.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/context.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/formatter.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/helpers.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/metrics.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/mcp_tool.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/register_mcp_tools.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/setup_mcp_http_streamable.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/setup_mcp_sse.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/setup_mcp_stdio.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/base_transport.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/http_streamable_transport.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/models.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/sse_transport.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/transport/stdio_transport.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/execution_strategy.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/streaming_tool.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_call.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_export_mixin.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_result.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_spec.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/validated_tool.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/observability/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/observability/setup.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/discovery.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/base.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/function_call_tool.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/json_tool.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/openai_tool.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/parsers/xml_tool.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/auto_register.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/decorators.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/interface.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/metadata.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/provider.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/providers/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/providers/memory.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/tool_export.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/utils/__init__.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/utils/validation.py +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/SOURCES.txt +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/dependency_links.txt +0 -0
- {chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/requires.txt +0 -0
- {chuk_tool_processor-0.9 → 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
|
|
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"
|
|
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"
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/stream_manager.py
RENAMED
|
@@ -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=
|
|
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":
|
|
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":
|
|
239
|
+
"default_timeout": effective_timeout,
|
|
231
240
|
"session_id": session_id,
|
|
232
241
|
}
|
|
233
242
|
# Note: headers not added until HTTPStreamableTransport supports them
|
|
@@ -12,7 +12,7 @@ from typing import TYPE_CHECKING
|
|
|
12
12
|
from chuk_tool_processor.logging import get_logger
|
|
13
13
|
|
|
14
14
|
if TYPE_CHECKING:
|
|
15
|
-
from prometheus_client import Counter, Gauge, Histogram
|
|
15
|
+
from prometheus_client import Counter, Gauge, Histogram # type: ignore[import-not-found]
|
|
16
16
|
|
|
17
17
|
logger = get_logger("chuk_tool_processor.observability.metrics")
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ from typing import TYPE_CHECKING, Any
|
|
|
12
12
|
from chuk_tool_processor.logging import get_logger
|
|
13
13
|
|
|
14
14
|
if TYPE_CHECKING:
|
|
15
|
-
from opentelemetry.trace import Span, Tracer
|
|
15
|
+
from opentelemetry.trace import Span, Tracer # type: ignore[import-not-found]
|
|
16
16
|
|
|
17
17
|
logger = get_logger("chuk_tool_processor.observability.tracing")
|
|
18
18
|
|
|
@@ -34,11 +34,13 @@ def init_tracer(service_name: str = "chuk-tool-processor") -> Tracer | NoOpTrace
|
|
|
34
34
|
global _tracer, _tracing_enabled
|
|
35
35
|
|
|
36
36
|
try:
|
|
37
|
-
from opentelemetry import trace
|
|
38
|
-
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
from opentelemetry.sdk.
|
|
37
|
+
from opentelemetry import trace # type: ignore[import-not-found]
|
|
38
|
+
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import ( # type: ignore[import-not-found]
|
|
39
|
+
OTLPSpanExporter,
|
|
40
|
+
)
|
|
41
|
+
from opentelemetry.sdk.resources import Resource # type: ignore[import-not-found]
|
|
42
|
+
from opentelemetry.sdk.trace import TracerProvider # type: ignore[import-not-found]
|
|
43
|
+
from opentelemetry.sdk.trace.export import BatchSpanProcessor # type: ignore[import-not-found]
|
|
42
44
|
|
|
43
45
|
# Create resource with service name
|
|
44
46
|
resource = Resource.create({"service.name": service_name})
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: chuk-tool-processor
|
|
3
|
-
Version: 0.9
|
|
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>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/core/__init__.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/core/exceptions.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/core/processor.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/execution/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/__init__.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/context.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/formatter.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/helpers.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/logging/metrics.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/__init__.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/mcp_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/setup_mcp_sse.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/mcp/setup_mcp_stdio.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_call.py
RENAMED
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_result.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/models/tool_spec.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/observability/setup.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/__init__.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/plugins/discovery.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/decorators.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/interface.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/metadata.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/registry/provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/utils/__init__.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor/utils/validation.py
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/requires.txt
RENAMED
|
File without changes
|
{chuk_tool_processor-0.9 → chuk_tool_processor-0.9.2}/src/chuk_tool_processor.egg-info/top_level.txt
RENAMED
|
File without changes
|