• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 19747939134
50%

Build:
DEFAULT BRANCH: main
Ran 27 Nov 2025 09:15PM UTC
Jobs 1
Files 387
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Nov 2025 09:13PM UTC coverage: 49.934% (+0.1%) from 49.798%
19747939134

push

github

web-flow
Use standard JSON Schema format for VMCP composite tool parameters (#2651)

* Use standard JSON Schema format for VMCP composite tool parameters

Fixes #2650

Changes composite tool parameter definitions to use standard JSON Schema
format per the MCP specification, instead of a non-standard simplified format.

**Breaking Change**: Composite tool parameter format has changed from:
```yaml
parameters:
  param1:
    type: "string"
    default: "value"
```

To standard JSON Schema:
```yaml
parameters:
  type: object
  properties:
    param1:
      type: string
      default: "value"
  required: ["param1"]
```

Changes:
- Update CompositeToolConfig.Parameters to map[string]any (full JSON Schema)
- Remove parameter transformation logic from yaml_loader and workflow_converter
- Add JSON Schema validation in yaml_loader (checks type: object)
- Update Kubernetes CRDs to use runtime.RawExtension for parameters
- Update webhook validation to handle runtime.RawExtension
- Regenerate CRD manifests and deepcopy code
- Update all tests and documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Juan Antonio Osorio <ozz@stacklok.com>

* Add test case verifying issue #2775 fields are preserved

Add explicit test case to converter_test.go that verifies
description and default fields at the parameter property level
are correctly preserved when using JSON Schema format.

This test documents that issue #2775 (field mismatch between
ParameterSpec and ParameterSchema) is resolved by the JSON Schema
approach, which supports all JSON Schema fields automatically.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add comprehensive test coverage for issue #2775 field preservation

Add explicit test cases verifying that JSON Schema fields (description,
default, required) are preserved throughout the entire conversion chain:

1. conv... (continued)

42 of 58 new or added lines in 5 files covered. (72.41%)

5 existing lines in 1 file now uncovered.

25613 of 51294 relevant lines covered (49.93%)

60.83 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
77.66
-2.82% cmd/thv-operator/api/v1alpha1/virtualmcpcompositetooldefinition_webhook.go
4
0.0
0.0% cmd/thv-operator/api/v1alpha1/zz_generated.deepcopy.go
9
86.03
-1.82% pkg/vmcp/config/yaml_loader.go

Uncovered Existing Lines

Lines Coverage ∆ File
5
77.66
-2.82% cmd/thv-operator/api/v1alpha1/virtualmcpcompositetooldefinition_webhook.go
Jobs
ID Job ID Ran Files Coverage
1 19747939134.1 27 Nov 2025 09:15PM UTC 387
49.93
GitHub Action Run
Source Files on build 19747939134
  • Tree
  • List 387
  • Changed 9
  • Source Changed 8
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #19747939134
  • b97646b4 on github
  • Prev Build on main (#19743809135)
  • Next Build on main (#19749569873)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc