golf-mcp 0.1.19__py3-none-any.whl → 0.2.0__py3-none-any.whl
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 golf-mcp might be problematic. Click here for more details.
- golf/__init__.py +9 -1
- golf/_endpoints.py +6 -0
- golf/_endpoints_fallback.py +10 -0
- golf/auth/__init__.py +188 -84
- golf/auth/api_key.py +6 -14
- golf/auth/factory.py +333 -0
- golf/auth/helpers.py +12 -42
- golf/auth/providers.py +396 -0
- golf/auth/registry.py +256 -0
- golf/cli/branding.py +192 -0
- golf/cli/main.py +28 -69
- golf/commands/__init__.py +2 -0
- golf/commands/build.py +4 -7
- golf/commands/init.py +30 -53
- golf/commands/run.py +50 -20
- golf/core/builder.py +356 -412
- golf/core/builder_auth.py +63 -144
- golf/core/builder_telemetry.py +26 -3
- golf/core/config.py +38 -59
- golf/core/parser.py +132 -139
- golf/core/platform.py +12 -10
- golf/core/telemetry.py +11 -19
- golf/core/transformer.py +38 -15
- golf/examples/__pycache__/__init__.cpython-311.pyc +0 -0
- golf/examples/basic/.coverage +0 -0
- golf/examples/basic/.env.example +8 -4
- golf/examples/basic/README.md +117 -45
- golf/examples/basic/__pycache__/auth.cpython-311.pyc +0 -0
- golf/examples/basic/auth.py +76 -0
- golf/examples/basic/golf.json +2 -5
- golf/examples/basic/htmlcov/.gitignore +2 -0
- golf/examples/basic/htmlcov/class_index.html +547 -0
- golf/examples/basic/htmlcov/coverage_html_cb_6fb7b396.js +733 -0
- golf/examples/basic/htmlcov/favicon_32_cb_58284776.png +0 -0
- golf/examples/basic/htmlcov/function_index.html +2091 -0
- golf/examples/basic/htmlcov/index.html +349 -0
- golf/examples/basic/htmlcov/keybd_closed_cb_ce680311.png +0 -0
- golf/examples/basic/htmlcov/status.json +1 -0
- golf/examples/basic/htmlcov/style_cb_8e611ae1.css +337 -0
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496___init___py.html +323 -0
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_api_key_py.html +170 -0
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_factory_py.html +430 -0
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_helpers_py.html +288 -0
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_providers_py.html +493 -0
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_registry_py.html +353 -0
- golf/examples/basic/htmlcov/z_3ec3b3f490dc0950___init___py.html +120 -0
- golf/examples/basic/htmlcov/z_3ec3b3f490dc0950_instrumentation_py.html +1535 -0
- golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db___init___py.html +98 -0
- golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db_branding_py.html +289 -0
- golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db_main_py.html +476 -0
- golf/examples/basic/htmlcov/z_5a6c4e6bcc86fb2f___init___py.html +97 -0
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d___init___py.html +102 -0
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d_build_py.html +178 -0
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d_init_py.html +387 -0
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d_run_py.html +222 -0
- golf/examples/basic/htmlcov/z_6fcdee0582ba84e4___init___py.html +106 -0
- golf/examples/basic/htmlcov/z_6fcdee0582ba84e4__endpoints_fallback_py.html +107 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217___init___py.html +98 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_auth_py.html +306 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_metrics_py.html +329 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_py.html +1471 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_telemetry_py.html +186 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217_config_py.html +315 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217_parser_py.html +1149 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217_platform_py.html +279 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217_telemetry_py.html +589 -0
- golf/examples/basic/htmlcov/z_7ba499ed22986217_transformer_py.html +286 -0
- golf/examples/basic/htmlcov/z_7d7da37693a43688___init___py.html +107 -0
- golf/examples/basic/htmlcov/z_7d7da37693a43688_collector_py.html +417 -0
- golf/examples/basic/htmlcov/z_7d7da37693a43688_registry_py.html +109 -0
- golf/examples/basic/htmlcov/z_abe733142b40ad4e___init___py.html +109 -0
- golf/examples/basic/htmlcov/z_abe733142b40ad4e_context_py.html +150 -0
- golf/examples/basic/htmlcov/z_abe733142b40ad4e_elicitation_py.html +267 -0
- golf/examples/basic/htmlcov/z_abe733142b40ad4e_sampling_py.html +318 -0
- golf/examples/basic/prompts/__pycache__/welcome.cpython-311.pyc +0 -0
- golf/examples/basic/prompts/welcome.py +3 -5
- golf/examples/basic/resources/__pycache__/current_time.cpython-311.pyc +0 -0
- golf/examples/basic/resources/__pycache__/info.cpython-311.pyc +0 -0
- golf/examples/basic/resources/current_time.py +5 -13
- golf/examples/basic/resources/weather/__pycache__/common.cpython-311.pyc +0 -0
- golf/examples/basic/resources/weather/__pycache__/current.cpython-311.pyc +0 -0
- golf/examples/basic/resources/weather/__pycache__/forecast.cpython-311.pyc +0 -0
- golf/examples/basic/resources/weather/city.py +46 -0
- golf/examples/basic/resources/weather/common.py +4 -11
- golf/examples/basic/resources/weather/current.py +5 -5
- golf/examples/basic/resources/weather/forecast.py +5 -5
- golf/examples/basic/tools/__pycache__/calculator.cpython-311.pyc +0 -0
- golf/examples/basic/tools/calculator.py +94 -0
- golf/examples/basic/tools/say/__pycache__/hello.cpython-311.pyc +0 -0
- golf/examples/basic/tools/say/hello.py +65 -0
- golf/metrics/collector.py +100 -19
- golf/telemetry/__init__.py +4 -0
- golf/telemetry/instrumentation.py +496 -174
- golf/utilities/__init__.py +12 -0
- golf/utilities/context.py +53 -0
- golf/utilities/elicitation.py +170 -0
- golf/utilities/sampling.py +221 -0
- {golf_mcp-0.1.19.dist-info → golf_mcp-0.2.0.dist-info}/METADATA +56 -110
- golf_mcp-0.2.0.dist-info/RECORD +110 -0
- golf/auth/oauth.py +0 -861
- golf/auth/provider.py +0 -115
- golf/examples/api_key/.env +0 -2
- golf/examples/api_key/.env.example +0 -1
- golf/examples/api_key/README.md +0 -84
- golf/examples/api_key/golf.json +0 -8
- golf/examples/api_key/pre_build.py +0 -11
- golf/examples/api_key/tools/issues/create.py +0 -93
- golf/examples/api_key/tools/issues/list.py +0 -92
- golf/examples/api_key/tools/repos/list.py +0 -111
- golf/examples/api_key/tools/search/code.py +0 -106
- golf/examples/api_key/tools/users/get.py +0 -82
- golf/examples/basic/.env +0 -5
- golf/examples/basic/pre_build.py +0 -28
- golf/examples/basic/tools/github_user.py +0 -65
- golf/examples/basic/tools/hello.py +0 -34
- golf/examples/basic/tools/payments/charge.py +0 -70
- golf/examples/basic/tools/payments/common.py +0 -36
- golf/examples/basic/tools/payments/refund.py +0 -61
- golf_mcp-0.1.19.dist-info/RECORD +0 -60
- {golf_mcp-0.1.19.dist-info → golf_mcp-0.2.0.dist-info}/WHEEL +0 -0
- {golf_mcp-0.1.19.dist-info → golf_mcp-0.2.0.dist-info}/entry_points.txt +0 -0
- {golf_mcp-0.1.19.dist-info → golf_mcp-0.2.0.dist-info}/licenses/LICENSE +0 -0
- {golf_mcp-0.1.19.dist-info → golf_mcp-0.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: golf-mcp
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Framework for building MCP servers
|
|
5
5
|
Author-email: Antoni Gmitruk <antoni@golf.dev>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -21,19 +21,19 @@ Description-Content-Type: text/markdown
|
|
|
21
21
|
License-File: LICENSE
|
|
22
22
|
Requires-Dist: typer>=0.15.4
|
|
23
23
|
Requires-Dist: rich>=14.0.0
|
|
24
|
-
Requires-Dist: fastmcp<
|
|
24
|
+
Requires-Dist: fastmcp<3.0.0,>=2.11.0
|
|
25
25
|
Requires-Dist: pydantic>=2.11.0
|
|
26
|
+
Requires-Dist: pydantic-settings>=2.0.0
|
|
26
27
|
Requires-Dist: python-dotenv>=1.1.0
|
|
27
28
|
Requires-Dist: black>=24.10.0
|
|
28
29
|
Requires-Dist: pyjwt>=2.0.0
|
|
29
30
|
Requires-Dist: httpx>=0.28.1
|
|
30
31
|
Requires-Dist: posthog>=4.1.0
|
|
31
|
-
|
|
32
|
-
Requires-Dist: opentelemetry-
|
|
33
|
-
Requires-Dist: opentelemetry-
|
|
34
|
-
Requires-Dist: opentelemetry-
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist: wrapt>=1.17.0; extra == "telemetry"
|
|
32
|
+
Requires-Dist: opentelemetry-api>=1.33.1
|
|
33
|
+
Requires-Dist: opentelemetry-sdk>=1.33.1
|
|
34
|
+
Requires-Dist: opentelemetry-instrumentation-asgi>=0.40b0
|
|
35
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=0.40b0
|
|
36
|
+
Requires-Dist: wrapt>=1.17.0
|
|
37
37
|
Provides-Extra: metrics
|
|
38
38
|
Requires-Dist: prometheus-client>=0.22.1; extra == "metrics"
|
|
39
39
|
Dynamic: license-file
|
|
@@ -68,9 +68,9 @@ Dynamic: license-file
|
|
|
68
68
|
|
|
69
69
|
## Overview
|
|
70
70
|
|
|
71
|
-
Golf is a **framework** designed to streamline the creation of MCP server applications. It allows developers to define server's capabilities—*tools*, *prompts*, and *resources*—as simple Python files within a conventional directory structure. Golf then automatically discovers, parses, and compiles these components into a runnable
|
|
71
|
+
Golf is a **framework** designed to streamline the creation of MCP server applications. It allows developers to define server's capabilities—*tools*, *prompts*, and *resources*—as simple Python files within a conventional directory structure. Golf then automatically discovers, parses, and compiles these components into a runnable MCP server, minimizing boilerplate and accelerating development.
|
|
72
72
|
|
|
73
|
-
With Golf, you
|
|
73
|
+
With Golf v0.2.0, you get **enterprise-grade authentication** (JWT, OAuth Server, API key, development tokens), **built-in utilities** for LLM interactions, and **automatic telemetry** integration. Focus on implementing your agent's logic while Golf handles authentication, monitoring, and server infrastructure.
|
|
74
74
|
|
|
75
75
|
## Quick Start
|
|
76
76
|
|
|
@@ -102,7 +102,7 @@ cd your-project-name
|
|
|
102
102
|
golf build dev
|
|
103
103
|
golf run
|
|
104
104
|
```
|
|
105
|
-
This will start the
|
|
105
|
+
This will start the MCP server, typically on `http://localhost:3000` (configurable in `golf.json`).
|
|
106
106
|
|
|
107
107
|
That's it! Your Golf server is running and ready for integration.
|
|
108
108
|
|
|
@@ -125,10 +125,11 @@ A Golf project initialized with `golf init` will have a structure similar to thi
|
|
|
125
125
|
│ └─ welcome.py # Example prompt
|
|
126
126
|
│
|
|
127
127
|
├─ .env # Environment variables (e.g., API keys, server port)
|
|
128
|
-
└─
|
|
128
|
+
└─ auth.py # Authentication configuration (JWT, OAuth Server, API key, dev tokens)
|
|
129
129
|
```
|
|
130
130
|
|
|
131
131
|
- **`golf.json`**: Configures server name, port, transport, telemetry, and other build settings.
|
|
132
|
+
- **`auth.py`**: Dedicated authentication configuration file (new in v0.2.0, breaking change from v0.1.x authentication API) for JWT, OAuth Server, API key, or development authentication.
|
|
132
133
|
- **`tools/`**, **`resources/`**, **`prompts/`**: Contain your Python files, each defining a single component. These directories can also contain nested subdirectories to further organize your components (e.g., `tools/payments/charge.py`). The module docstring of each file serves as the component's description.
|
|
133
134
|
- Component IDs are automatically derived from their file path. For example, `tools/hello.py` becomes `hello`, and a nested file like `tools/payments/submit.py` would become `submit_payments` (filename, followed by reversed parent directories under the main category, joined by underscores).
|
|
134
135
|
- **`common.py`** (not shown, but can be placed in subdirectories like `tools/payments/common.py`): Used to share code (clients, models, etc.) among components in the same subdirectory.
|
|
@@ -165,118 +166,63 @@ export = hello
|
|
|
165
166
|
```
|
|
166
167
|
Golf will automatically discover this file. The module docstring `"""Hello World tool {{project_name}}."""` is used as the tool's description. It infers parameters from the `hello` function's signature and uses the `Output` Pydantic model for the output schema. The tool will be registered with the ID `hello`.
|
|
167
168
|
|
|
168
|
-
##
|
|
169
|
+
## Authentication & Features
|
|
169
170
|
|
|
170
|
-
|
|
171
|
+
Golf includes enterprise-grade authentication, built-in utilities, and automatic telemetry:
|
|
171
172
|
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
### Key Configuration Options:
|
|
200
|
-
|
|
201
|
-
- **`name`**: The identifier for your MCP server. This will be shown to clients connecting to your server.
|
|
202
|
-
- **`transport`**: Choose based on your client needs:
|
|
203
|
-
- `"sse"` is ideal for web-based clients and real-time communication
|
|
204
|
-
- `"streamable-http"` provides HTTP streaming for traditional API clients
|
|
205
|
-
- `"stdio"` enables integration with command-line tools and scripts
|
|
206
|
-
- **`host` & `port`**: Control where your server listens. Use `"127.0.0.1"` for local development or `"0.0.0.0"` to accept external connections.
|
|
207
|
-
- **`stateless_http`**: When true, makes the streamable-http transport stateless by creating a new session for each request. This ensures that server restarts don't break existing client connections, making the server truly stateless.
|
|
208
|
-
- **`health_check_enabled`**: When true, enables a health check endpoint for Kubernetes readiness/liveness probes and load balancers
|
|
209
|
-
- **`health_check_path`**: Customizable path for the health check endpoint (defaults to "/health")
|
|
210
|
-
- **`health_check_response`**: Customizable response text for successful health checks (defaults to "OK")
|
|
211
|
-
- **`opentelemetry_enabled`**: When true, enables distributed tracing for debugging and monitoring your MCP server
|
|
212
|
-
- **`opentelemetry_default_exporter`**: Sets the default trace exporter. Can be overridden by the `OTEL_TRACES_EXPORTER` environment variable
|
|
213
|
-
|
|
214
|
-
## Features
|
|
215
|
-
|
|
216
|
-
### 🏥 Health Check Support
|
|
217
|
-
|
|
218
|
-
Golf includes built-in health check endpoint support for production deployments. When enabled, it automatically adds a custom HTTP route that can be used by:
|
|
219
|
-
- Kubernetes readiness and liveness probes
|
|
220
|
-
- Load balancers and reverse proxies
|
|
221
|
-
- Monitoring systems
|
|
222
|
-
- Container orchestration platforms
|
|
223
|
-
|
|
224
|
-
#### Configuration
|
|
225
|
-
|
|
226
|
-
Enable health checks in your `golf.json`:
|
|
227
|
-
```json
|
|
228
|
-
{
|
|
229
|
-
"health_check_enabled": true,
|
|
230
|
-
"health_check_path": "/health",
|
|
231
|
-
"health_check_response": "Service is healthy"
|
|
232
|
-
}
|
|
173
|
+
```python
|
|
174
|
+
# auth.py - Configure authentication
|
|
175
|
+
from golf.auth import configure_auth, JWTAuthConfig, StaticTokenConfig, OAuthServerConfig
|
|
176
|
+
|
|
177
|
+
# JWT authentication (production)
|
|
178
|
+
configure_auth(JWTAuthConfig(
|
|
179
|
+
jwks_uri_env_var="JWKS_URI",
|
|
180
|
+
issuer_env_var="JWT_ISSUER",
|
|
181
|
+
audience_env_var="JWT_AUDIENCE",
|
|
182
|
+
required_scopes=["read", "write"]
|
|
183
|
+
))
|
|
184
|
+
|
|
185
|
+
# OAuth Server mode (Golf acts as OAuth 2.0 server)
|
|
186
|
+
# configure_auth(OAuthServerConfig(
|
|
187
|
+
# base_url="https://your-golf-server.com",
|
|
188
|
+
# valid_scopes=["read", "write", "admin"]
|
|
189
|
+
# ))
|
|
190
|
+
|
|
191
|
+
# Static tokens (development only)
|
|
192
|
+
# configure_auth(StaticTokenConfig(
|
|
193
|
+
# tokens={"dev-token": {"client_id": "dev", "scopes": ["read"]}}
|
|
194
|
+
# ))
|
|
195
|
+
|
|
196
|
+
# Built-in utilities available in all tools
|
|
197
|
+
from golf.utils import elicit, sample, get_context
|
|
233
198
|
```
|
|
234
199
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
"""Health check endpoint for Kubernetes and load balancers."""
|
|
240
|
-
return PlainTextResponse("Service is healthy")
|
|
200
|
+
```bash
|
|
201
|
+
# Automatic telemetry with Golf Platform
|
|
202
|
+
export GOLF_API_KEY="your-key"
|
|
203
|
+
golf run # ✅ Telemetry enabled automatically
|
|
241
204
|
```
|
|
242
205
|
|
|
243
|
-
|
|
206
|
+
**[📚 Complete Documentation →](https://docs.golf.dev)**
|
|
244
207
|
|
|
245
|
-
|
|
246
|
-
- Tool executions with arguments and results
|
|
247
|
-
- Resource reads and template expansions
|
|
248
|
-
- Prompt generations
|
|
249
|
-
- HTTP requests and sessions
|
|
208
|
+
## Configuration
|
|
250
209
|
|
|
251
|
-
|
|
210
|
+
Basic configuration in `golf.json`:
|
|
252
211
|
|
|
253
|
-
Enable OpenTelemetry in your `golf.json`:
|
|
254
212
|
```json
|
|
255
213
|
{
|
|
256
|
-
"
|
|
257
|
-
"
|
|
214
|
+
"name": "My Golf Server",
|
|
215
|
+
"host": "localhost",
|
|
216
|
+
"port": 3000,
|
|
217
|
+
"transport": "sse",
|
|
218
|
+
"opentelemetry_enabled": false,
|
|
219
|
+
"detailed_tracing": false
|
|
258
220
|
}
|
|
259
221
|
```
|
|
260
222
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
OTEL_TRACES_EXPORTER=otlp_http
|
|
265
|
-
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318/v1/traces
|
|
266
|
-
OTEL_SERVICE_NAME=my-golf-server # Optional, defaults to project name
|
|
267
|
-
|
|
268
|
-
# For console exporter (debugging)
|
|
269
|
-
OTEL_TRACES_EXPORTER=console
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
**Note**: When using the OTLP HTTP exporter, you must set `OTEL_EXPORTER_OTLP_ENDPOINT`. If not configured, Golf will display a warning and disable tracing to avoid errors.
|
|
273
|
-
|
|
274
|
-
## Roadmap
|
|
275
|
-
|
|
276
|
-
Here are the things we are working hard on:
|
|
277
|
-
|
|
278
|
-
* **`golf deploy` command for one click deployments to Vercel, Blaxel and other providers**
|
|
279
|
-
* **Production-ready OAuth token management, to allow for persistent, encrypted token storage and client mapping**
|
|
223
|
+
- **`transport`**: Choose `"sse"`, `"streamable-http"`, or `"stdio"`
|
|
224
|
+
- **`opentelemetry_enabled`**: Auto-enabled with `GOLF_API_KEY`
|
|
225
|
+
- **`detailed_tracing`**: Capture input/output (use carefully with sensitive data)
|
|
280
226
|
|
|
281
227
|
|
|
282
228
|
## Privacy & Telemetry
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
golf/__init__.py,sha256=PvdCpKhiFWU3_6sSOP-rJbiDh0ami4y0Z77rZlqtUs0,306
|
|
2
|
+
golf/_endpoints.py,sha256=-mvAmjx3YtqfAdajO13Kv7LKVBMdqsKqX0_3aCmCK4I,317
|
|
3
|
+
golf/_endpoints_fallback.py,sha256=CD6m45Ams1A9HVKowY8dCFUDMiFmJ8ZWSwHCENvU5u4,386
|
|
4
|
+
golf/auth/__init__.py,sha256=pih-rYpZAlalInzv_H2HPVCznKcpmTtxGsa_6DU_x8U,6203
|
|
5
|
+
golf/auth/api_key.py,sha256=OonqTlG6USJxqK8TlPviJTv7sgYmTVfCxG_JsEjnEM4,2320
|
|
6
|
+
golf/auth/factory.py,sha256=hf8r1RwTULQ5s8qTRIyJJrY2jtGDG-uwcuX0MtLDbCs,11853
|
|
7
|
+
golf/auth/helpers.py,sha256=ElyX5iyDLfjFIFzE2psavWA3I1_QG1lcuNWsQ2G9bw0,5672
|
|
8
|
+
golf/auth/providers.py,sha256=TGAuusBnLnzqhAa-4oqUBPkzExR9hEDkSJjMmlVMNTU,16859
|
|
9
|
+
golf/auth/registry.py,sha256=Rjj7LnWvzEsI1GCnFbFcxpRllrVanD9bumWPaJ1giFQ,7960
|
|
10
|
+
golf/cli/__init__.py,sha256=R8Y8KdD2C8gDo24fXGq-fdWWNeaq3MYjrbaSB8Hb-Hg,45
|
|
11
|
+
golf/cli/branding.py,sha256=ndpy2kVxBzqr4fwsAlh_fbhxqgRPoF6kM3ufP9hg5QI,6896
|
|
12
|
+
golf/cli/main.py,sha256=0TAccbjB9wmB55GmCV3X1CpzaOoMSzpQ-bx2oxi-THw,13536
|
|
13
|
+
golf/commands/__init__.py,sha256=j2r-0Zg2BSqG7WtZczAtyAsrur7kRQpEN9ZJuoX1XQ8,119
|
|
14
|
+
golf/commands/build.py,sha256=sLq9lSW4naq2vIlBreKI5SGnviQrhBWw13zfOZOKhuM,2293
|
|
15
|
+
golf/commands/init.py,sha256=KkAg_3-KxBDFOcZqUHqcPAkDipykFVaLWpQ2tydnVPk,9617
|
|
16
|
+
golf/commands/run.py,sha256=a8GSwLt6E2cUJespv-u3jbD-rNUMHqF3VArD1uXV-Vk,4299
|
|
17
|
+
golf/core/__init__.py,sha256=4bKeskJ2fPaZqkz2xQScSa3phRLLrmrczwSL632jv-o,52
|
|
18
|
+
golf/core/builder.py,sha256=Ghm9YUDIWnUc0bIxfKD75OZIa-h0B61iC26OEmfA4ug,62214
|
|
19
|
+
golf/core/builder_auth.py,sha256=ciaovnjsRIOyrbkUnEcu1k_vOpqw_Hqe7209qlNQz1s,8222
|
|
20
|
+
golf/core/builder_metrics.py,sha256=j6Gtgd867o46JbDfSNGNsHt1QtV1XHKUJs1z8r4siQM,8830
|
|
21
|
+
golf/core/builder_telemetry.py,sha256=86bp7UlMUN6JyQRrZ5EizovP6AJ_q65OANJTeJXDIKc,3421
|
|
22
|
+
golf/core/config.py,sha256=h8LWKdD-5vS8vRGs1qsCI2d8EbtjIKuXM3rUJ0T7EZ8,7452
|
|
23
|
+
golf/core/parser.py,sha256=f9WqmLWlFuXQCObl2Qmna9bp_Bo0p0eIlukzwFaBSzo,43373
|
|
24
|
+
golf/core/platform.py,sha256=0TxLfVPBhBR82aJAQWEJcnkGuQv65C9gYYy7P2foUVk,6662
|
|
25
|
+
golf/core/telemetry.py,sha256=dXoWrgrQpj_HGrl_8TBZmRnuLxFKEn0GSDWQ9qq3ZQM,15686
|
|
26
|
+
golf/core/transformer.py,sha256=iTDNFqdVeOjzl-acdjp8ZaTXss8Eptqu5cs4qLWt9SU,6914
|
|
27
|
+
golf/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
+
golf/examples/__pycache__/__init__.cpython-311.pyc,sha256=mCoo2b87qTnENT0NJFqKG1F17tpQ6Tsl9xG4_7OllFk,164
|
|
29
|
+
golf/examples/basic/.coverage,sha256=N3Iy2-a2sCVViPClzkLgSnGvrOgk8IdaT-MNlsH94bA,53248
|
|
30
|
+
golf/examples/basic/.env.example,sha256=hxl1B9Vo7nCN5dWvTeN6BpOxTwHwPLEQzsnToHhx7nk,256
|
|
31
|
+
golf/examples/basic/README.md,sha256=p8KMyaNXGZtrbgckW-Thu_5RKXViGiyZ5hHEiJ6Zc-U,3283
|
|
32
|
+
golf/examples/basic/auth.py,sha256=cdPWFU__i8Jw8xI1hgGSobhaC4YIBKsh5LsQY2GS2dw,2789
|
|
33
|
+
golf/examples/basic/golf.json,sha256=327fO4XmvksmZdlYtYPmRcB6TgEVkD1nSvHAuGyWsYA,98
|
|
34
|
+
golf/examples/basic/__pycache__/auth.cpython-311.pyc,sha256=yrJPpSEDdGPvTdi1s737N7QxyFXJHz3jF5b1uUL0DQw,967
|
|
35
|
+
golf/examples/basic/htmlcov/.gitignore,sha256=jC6x-oLDFNwReRJ0y3qpZyRdGQhELW54i8d_bhqlwrg,27
|
|
36
|
+
golf/examples/basic/htmlcov/class_index.html,sha256=hViC4j--x_M_CD9sqN_RpxHynu8mIac2Lj2aWsX3ilg,31673
|
|
37
|
+
golf/examples/basic/htmlcov/coverage_html_cb_6fb7b396.js,sha256=Jyn7_pfQWsPwW1zLvSBKtXhsJzxnTw_zsBFgwNNWVJw,25474
|
|
38
|
+
golf/examples/basic/htmlcov/favicon_32_cb_58284776.png,sha256=vIEA-odDwRvSQ-syWfSwEnWGUWEv2b-Tv4tzTRfwJWE,1732
|
|
39
|
+
golf/examples/basic/htmlcov/function_index.html,sha256=zSUZAsA15_Fo3lQKbebiqsonQ4lR0JE-x2XV0hzid-k,130258
|
|
40
|
+
golf/examples/basic/htmlcov/index.html,sha256=sDFuY9PVC0yvXQ6_1Ba7dXiTlpPt3iLuGdQr69WJSGY,16170
|
|
41
|
+
golf/examples/basic/htmlcov/keybd_closed_cb_ce680311.png,sha256=fZv4rmY3DkNJtPQjrFJ5UBOE5DdNof3mdeCZWC7TOoo,9004
|
|
42
|
+
golf/examples/basic/htmlcov/status.json,sha256=60kDS4OlcnKzYYq6oU3Dtkh_LdpTfI7OFoQfchibnE0,12761
|
|
43
|
+
golf/examples/basic/htmlcov/style_cb_8e611ae1.css,sha256=WVPofNVQW2x3C2bgcUtxDZW9EBcrj8KO8c1Zc5PpDbA,14077
|
|
44
|
+
golf/examples/basic/htmlcov/z_1c9a91c0e91c8496___init___py.html,sha256=zgb7wfWftKVixcr_pbPwFET-ElmGRPPluWTlDPVwFrQ,52035
|
|
45
|
+
golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_api_key_py.html,sha256=r0fEOPNFhpOTdCvg7c0exvJclEY6z_c_rJYpS0G6_H8,20246
|
|
46
|
+
golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_factory_py.html,sha256=Ia_PCn67Qgc0JKQ4-WSQN51GCQnRR4hpsTQfwvkNf68,91241
|
|
47
|
+
golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_helpers_py.html,sha256=xmT6EBUECgRa4oV6hRUhQVS7VXyCHj5-Rp-45XEGCjE,49423
|
|
48
|
+
golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_providers_py.html,sha256=SlnuV9y6S1YtUcFM9SPS-YQtVrybLRHfK0DFI7kwsI0,115959
|
|
49
|
+
golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_registry_py.html,sha256=0nXwjwwcjkrehra06DEaC2xSk7TGUbn4__s3RRrvSZg,62454
|
|
50
|
+
golf/examples/basic/htmlcov/z_3ec3b3f490dc0950___init___py.html,sha256=k-y9x9-OdTKtawKCRVd2wMrYmVhC9sTS-haSAtvrOMY,9200
|
|
51
|
+
golf/examples/basic/htmlcov/z_3ec3b3f490dc0950_instrumentation_py.html,sha256=AdIFH-vByG7KFPz3qps3HYOdxk7rgONwkZ27LhkFi-s,417290
|
|
52
|
+
golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db___init___py.html,sha256=QxLEICENh9QwYHYNLVPd_vU_IRFnlEZCjVslwgqq1Lc,4805
|
|
53
|
+
golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db_branding_py.html,sha256=bkJ9tkGzC0VnQs5rivMV106teHJsgKVQb9YRHwHd8nQ,60047
|
|
54
|
+
golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db_main_py.html,sha256=45oo4-dUKACLeUWhLwLWrhIcI-KVLQF7ed0PVxi4c24,102984
|
|
55
|
+
golf/examples/basic/htmlcov/z_5a6c4e6bcc86fb2f___init___py.html,sha256=uHIKsQtVGcihLOXh5cB7KoVaQsLUccBkduJUi3Y02PY,4626
|
|
56
|
+
golf/examples/basic/htmlcov/z_6cadab9ec0df475d___init___py.html,sha256=kYWROimyCLyQJZRjfFBh4avanb5sAPpnWhQnxMT4NF8,5856
|
|
57
|
+
golf/examples/basic/htmlcov/z_6cadab9ec0df475d_build_py.html,sha256=Wj1_3n2nUyGoaDHAQ-bdtE4NfQe0I6mm3qN7nTl3zzg,23528
|
|
58
|
+
golf/examples/basic/htmlcov/z_6cadab9ec0df475d_init_py.html,sha256=PCiEZg3QMurUb5KegHey0mHVoR2OaHjaYiSQuKflTqw,80605
|
|
59
|
+
golf/examples/basic/htmlcov/z_6cadab9ec0df475d_run_py.html,sha256=ErUZwW7X3muc3xH1nyJf_WxVwHdjcMSm9yeDJie5PsY,39397
|
|
60
|
+
golf/examples/basic/htmlcov/z_6fcdee0582ba84e4___init___py.html,sha256=Le0vtWMqnpitbucC8U2MgQf-IGBFDNxTX6utP9aRyAE,6525
|
|
61
|
+
golf/examples/basic/htmlcov/z_6fcdee0582ba84e4__endpoints_fallback_py.html,sha256=Gf4Gt4_4lCflaeWLbgmP5WSiD05ArUbU5S4T2AsMCuE,6878
|
|
62
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217___init___py.html,sha256=tEIPcurgzHhPcyAUbcRiI-8Buudd3A1sKnNZa-IGk-0,4802
|
|
63
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_auth_py.html,sha256=89A6ANyfS3gxN4AFN6TRjYT1sGVb0diQWrAaC8-i3qY,51902
|
|
64
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_metrics_py.html,sha256=uQWrOZdKrWKD_Di-sbJEoznq4BTxN0evi2z3NRjJ9ss,54395
|
|
65
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_py.html,sha256=m-QYvSKlswhhaGILv0gqqAQX0sCZB6EWBUo-Ki3utdQ,380457
|
|
66
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_telemetry_py.html,sha256=t0yvLPpKpNk0z8hrjwnYyRXFibT_IJQ6lJrraWdMaWg,23370
|
|
67
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217_config_py.html,sha256=kqTI5yUW5tg1Y1IhNJaj4KfOmKhNUr1iAdoTNY76eW4,62661
|
|
68
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217_parser_py.html,sha256=XEqTSmcSgG19RXLzhwNi8SSh3vQ86fJrDlEl1PqG2Yk,314847
|
|
69
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217_platform_py.html,sha256=3u6FcMaC6cA8YWNosrfk25Wflf0Ley4kPWgmXrOBWBw,53765
|
|
70
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217_telemetry_py.html,sha256=PKEMpNa6q6doKVg2ep4kKV8gU2Ipxgm36WG4GnXJ6-8,123832
|
|
71
|
+
golf/examples/basic/htmlcov/z_7ba499ed22986217_transformer_py.html,sha256=iKISJ-kK2nyi-_EoIKO2-6fKNfVFwmieLGOs24zkAjI,55716
|
|
72
|
+
golf/examples/basic/htmlcov/z_7d7da37693a43688___init___py.html,sha256=eOs4-sH_X0LmTYRFICyo1LyPJ6hNsTmxHcehiK7zYyg,6893
|
|
73
|
+
golf/examples/basic/htmlcov/z_7d7da37693a43688_collector_py.html,sha256=TEFwlJG3mbcvaViKfqQZf3MJOmd6rX_qY0Epvzx_tZA,87438
|
|
74
|
+
golf/examples/basic/htmlcov/z_7d7da37693a43688_registry_py.html,sha256=n1QLJ0q_Jj0Jo4wDYhs1_rH0f_-oiAvDz2bUaUcD0-s,7226
|
|
75
|
+
golf/examples/basic/htmlcov/z_abe733142b40ad4e___init___py.html,sha256=TU10SrKN6mDhaLTMnZrLayJSjeML1KQjveLoWP0X1nw,7716
|
|
76
|
+
golf/examples/basic/htmlcov/z_abe733142b40ad4e_context_py.html,sha256=1UrX3R8y6UchmJ3jEmcmw6QUz5N5zj5MREaueTmiQI0,15273
|
|
77
|
+
golf/examples/basic/htmlcov/z_abe733142b40ad4e_elicitation_py.html,sha256=NgMC9ai9BWFSfTE0bFb83cVfEO6xa4uXrgQuC4gcxRQ,42021
|
|
78
|
+
golf/examples/basic/htmlcov/z_abe733142b40ad4e_sampling_py.html,sha256=8aN9bSNFUG321WeRCmiSp1SOr7tQX4vZj1U-BecXZcc,53766
|
|
79
|
+
golf/examples/basic/prompts/welcome.py,sha256=xyW4pwvpcPQi0_H9tP7OX53Kv62R1aCYcVq9xMw147k,760
|
|
80
|
+
golf/examples/basic/prompts/__pycache__/welcome.cpython-311.pyc,sha256=HmZYZR8uCCpOFlqz_YMELRibUlQuVuVVEpC0vPeFK60,885
|
|
81
|
+
golf/examples/basic/resources/current_time.py,sha256=bJMrRZQ0WPgnQxMl_4-4ynZyq7ki-wGMbMFpaYOH7PY,859
|
|
82
|
+
golf/examples/basic/resources/info.py,sha256=LxHzg_TmwonSu1vSkuNcpUq5JrBu-9yzoGaARE1f2KU,727
|
|
83
|
+
golf/examples/basic/resources/__pycache__/current_time.cpython-311.pyc,sha256=negX9O1PZRI8KhLFnwtrzjJngzYpnBP8vn_pxoiLlys,1642
|
|
84
|
+
golf/examples/basic/resources/__pycache__/info.cpython-311.pyc,sha256=ydWXFP9dNA0YsNsOyjF4iVyonJhCviyRaXYHmgmjfLY,1183
|
|
85
|
+
golf/examples/basic/resources/weather/city.py,sha256=nnh6l0vZR4v8b6JbK0lebxp7FF6EoKxAPbifhQvoYcc,1278
|
|
86
|
+
golf/examples/basic/resources/weather/common.py,sha256=ZZADyVjXkOSZpDaq_b-ya2qwp-uNdQWOJyKp8tV7K7U,1616
|
|
87
|
+
golf/examples/basic/resources/weather/current.py,sha256=CayCCAyOtGKOiZRHfNop4oG78Sc05-hSVcopr_p1UKc,933
|
|
88
|
+
golf/examples/basic/resources/weather/forecast.py,sha256=tTybP1e-irKJGGWTJITJernPMU3S_em2G7dd-1x2yak,990
|
|
89
|
+
golf/examples/basic/resources/weather/__pycache__/common.cpython-311.pyc,sha256=Y4M6zON6UOGe80B26G6Lv4teSxwjp_DwkQ3wDKzT1Ng,2945
|
|
90
|
+
golf/examples/basic/resources/weather/__pycache__/current.cpython-311.pyc,sha256=sHVa08P0BidxA-6PrNb3jF4XGDjtx547J5kSEWwJXPw,1325
|
|
91
|
+
golf/examples/basic/resources/weather/__pycache__/forecast.cpython-311.pyc,sha256=quP9zdfnAwM725T6zzjL9zrCQJ66dLGDVnfNnaM5vrc,1397
|
|
92
|
+
golf/examples/basic/tools/calculator.py,sha256=QTDvE7ItMol2eIR1mgc6moRhhl3p-q63bgieWr5yF5c,3070
|
|
93
|
+
golf/examples/basic/tools/__pycache__/calculator.cpython-311.pyc,sha256=msE7xTPw_VbLeO4CgexOtxBNYDm35SMmm01Zy2ApHTY,3920
|
|
94
|
+
golf/examples/basic/tools/say/hello.py,sha256=zTfR-M2ElhrBF5Q2QHeKGORWLGxnvtErUjzw3YEuzpg,2006
|
|
95
|
+
golf/examples/basic/tools/say/__pycache__/hello.cpython-311.pyc,sha256=KudoB0w9qpRdxEaJQHtark4waEHBk_SbbnOOzjVFiQQ,2731
|
|
96
|
+
golf/metrics/__init__.py,sha256=O91y-hj_E9R06gqV8pDZrzHxOIl-1T415Hj9RvFAp3o,283
|
|
97
|
+
golf/metrics/collector.py,sha256=ScKeOyDNawZRMIRYBFqNqmaYAIVJQ2riMu_qOE9ugvU,10967
|
|
98
|
+
golf/metrics/registry.py,sha256=mXQE4Pwf3PopGYjcUu4eGgPDAe085YWcsvcvWk0ny8Q,310
|
|
99
|
+
golf/telemetry/__init__.py,sha256=txSXDBhug5uVMD1KjZszcILMrVTjvTCWlxo7TWwbul8,506
|
|
100
|
+
golf/telemetry/instrumentation.py,sha256=kLWkvw14eCUVawNtGuRRzEqaVcwzLJxk86uvDqW_tOU,57771
|
|
101
|
+
golf/utilities/__init__.py,sha256=X9iY9yi3agz1GVcn8-qWeOCt8CSSsruHxqPNtiF63TY,530
|
|
102
|
+
golf/utilities/context.py,sha256=DGGvhVe---QMhy0wtdWhNp-_WVk1NvAcOFn0uBKBpYo,1579
|
|
103
|
+
golf/utilities/elicitation.py,sha256=MParZZZsY45s70-KXduHa6IvpWXnLW2FCPfrGijMaHs,5223
|
|
104
|
+
golf/utilities/sampling.py,sha256=88nDv-trBE4gZQbcnMjXl3LW6TiIhv5zR_cuEIGjaIM,7233
|
|
105
|
+
golf_mcp-0.2.0.dist-info/licenses/LICENSE,sha256=5_j2f6fTJmvfmUewzElhkpAaXg2grVoxKouOA8ihV6E,11348
|
|
106
|
+
golf_mcp-0.2.0.dist-info/METADATA,sha256=wzkgbT10S4pNMFXLjYwm9KvzGs0g-GcBDeCyxkdGt2g,9558
|
|
107
|
+
golf_mcp-0.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
108
|
+
golf_mcp-0.2.0.dist-info/entry_points.txt,sha256=5y7rHYM8jGpU-nfwdknCm5XsApLulqsnA37MO6BUTYg,43
|
|
109
|
+
golf_mcp-0.2.0.dist-info/top_level.txt,sha256=BQToHcBUufdyhp9ONGMIvPE40jMEtmI20lYaKb4hxOg,5
|
|
110
|
+
golf_mcp-0.2.0.dist-info/RECORD,,
|