-
Notifications
You must be signed in to change notification settings - Fork 144
schema and config changes for vMCP: Composition - Output Aggregation #2609
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…for Multi-Step Workflows Successfully added the OutputFormat / outputFormat field to all configuration layers for vMCP composite tool workflows. This PR lays the foundation for implementing output aggregation in multi-step workflows as described in issue #174.
d30b42b to
09c8ef4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds the OutputFormat / output_format field across all configuration layers for vMCP composite tool workflows, laying the groundwork for implementing output aggregation in multi-step workflows (issue #174).
- Added
OutputFormatstring field to theWorkflowDefinitionstruct in the composer package - Added
OutputFormatfield to theCompositeToolConfigstruct in the config package with JSON/YAML tags - Updated the workflow converter to map
OutputFormatfrom config to workflow definitions - Added comprehensive test coverage for the OutputFormat field conversion
- Updated Kubernetes CRD definitions to include the
outputFormatfield - Updated API documentation to describe the new field
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/vmcp/composer/composer.go | Added OutputFormat field to WorkflowDefinition struct with detailed documentation |
| pkg/vmcp/config/config.go | Added OutputFormat field to CompositeToolConfig with JSON/YAML tags and comprehensive documentation |
| pkg/vmcp/server/workflow_converter.go | Updated converter to map OutputFormat from config to WorkflowDefinition |
| pkg/vmcp/server/workflow_converter_test.go | Added test coverage for OutputFormat field propagation through conversion |
| cmd/thv-operator/api/v1alpha1/virtualmcpcompositetooldefinition_types.go | Added OutputFormat field to CRD spec with kubebuilder annotations |
| deploy/charts/operator-crds/crds/toolhive.stacklok.dev_virtualmcpcompositetooldefinitions.yaml | Updated CRD schema with outputFormat field definition |
| docs/operator/crd-api.md | Updated API documentation to include outputFormat field description |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2609 +/- ##
==========================================
- Coverage 55.85% 55.84% -0.01%
==========================================
Files 312 312
Lines 29541 29542 +1
==========================================
- Hits 16501 16499 -2
- Misses 11599 11601 +2
- Partials 1441 1442 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
tgrunnagle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A future enhancement may be to add support for configRefs in k8s.
| description: A Helm chart for installing the ToolHive Operator CRDs into Kubernetes. | ||
| type: application | ||
| version: 0.0.57 | ||
| version: 0.0.58 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think 0.0.58 was merged in the meantime and we need another bump
| // } | ||
| // | ||
| // +optional | ||
| OutputFormat string `json:"outputFormat,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add a size limit?
Since we already have a webhook could we add some validation there?
Successfully added the OutputFormat / outputFormat field to all configuration layers for vMCP composite tool workflows. This PR lays the foundation for implementing output aggregation in multi-step workflows as described in issue #174.