vmware-pilot 2.4.0__tar.gz → 2.4.1__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.
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/.claude-plugin/plugin.json +1 -1
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/.mcp.json +1 -1
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/PKG-INFO +3 -1
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/README-CN.md +2 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/README.md +2 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/RELEASE_NOTES.md +6 -1
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/openclaw.plugin.json +1 -1
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/package.json +1 -1
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/pyproject.toml +1 -1
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/server.json +2 -2
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/SKILL.md +4 -2
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/capabilities.md +3 -3
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/cli-reference.md +2 -2
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/setup-guide.md +5 -5
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/fixtures/companion_tools.json +18 -23
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/fixtures/snapshot_companion_tools.py +9 -2
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/uv.lock +4 -4
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/__init__.py +1 -1
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/_gated.py +5 -3
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/.clawhubignore +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/.gitignore +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/Dockerfile +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/SECURITY.md +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/docs/architecture-audit-2026-04-30.md +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/docs/aria-pilot-boundary.md +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/examples/mcp-configs/claude-code.json +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/evals/evals.json +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/agent-guardrails.md +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/integration-patterns.md +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/templates.md +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/workflow-design.md +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/scripts/list_available_tools.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/scripts/validate_workflow.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/smithery.yaml +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/__init__.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/conftest.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/__init__.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/__init__.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/_family.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/_scores.json +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/_scoring.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/_skill.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/conftest.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_entity_reachability.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_error_actionability.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_tool_description_quality.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_tool_manifest_budget.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/__init__.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/_family_write_surface.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_approval_gate_coverage.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_capability_grader.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_catalog_covers_the_family.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_cli_writes_guarded.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_environment_resolver_isolation.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_template_steps_name_real_tools.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_approval_roles.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_approver_is_caller.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_confirm_needs_approval.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_custom_approval_gate.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_dispatcher.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_dispatcher_review.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_executor.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_executor_preview_is_not_success.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_final_review_fixes.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_last_step_clone_failure.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_models.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_no_destructive_ops.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_old_tool_names_translated.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_open_lows_2026_10_18.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_own_tools_gated.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_policy_roles.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_pre_2_4_0_review.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_real_run_2026_10_17.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_review.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_safe_error_passthrough.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_server.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_templates.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_templates_pass_confirm.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/approval_gate.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/cli.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/custom_loader.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/dispatcher.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/executor.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/lifecycle_gate.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/__init__.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/__main__.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/_catalog.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/_shared.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/server.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/tools/__init__.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/tools/authoring.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/tools/lifecycle.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/tools/query.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/models.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/policy_roles.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/renames.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/reversibility.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/review.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/__init__.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/_aiops_params.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/_common.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/baseline.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/k8s.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/monitoring.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/network.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/storage.py +0 -0
- {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/vm.py +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
|
|
3
3
|
"name": "vmware-pilot",
|
|
4
4
|
"displayName": "VMware Pilot",
|
|
5
|
-
"version": "2.4.
|
|
5
|
+
"version": "2.4.1",
|
|
6
6
|
"description": "Multi-step workflow orchestration for VMware MCP skills with approval gates and rollback.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Wei Zhou",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: vmware-pilot
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: VMware workflow orchestration — multi-step state machine with approval gates
|
|
5
5
|
Project-URL: Homepage, https://github.com/vmware-skills/VMware-Pilot
|
|
6
6
|
Project-URL: Repository, https://github.com/vmware-skills/VMware-Pilot
|
|
@@ -19,6 +19,8 @@ Description-Content-Type: text/markdown
|
|
|
19
19
|
|
|
20
20
|
# VMware Pilot
|
|
21
21
|
|
|
22
|
+
For a read-only check of this skill with your model and agent host, use the shared [model-fit self-test](https://github.com/vmware-skills/marketplace/blob/main/MODEL_FIT_SELF_TEST.md) in the marketplace root.
|
|
23
|
+
|
|
22
24
|
> **Author**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
|
|
23
25
|
> This is a community-driven project by a VMware engineer, not an official VMware product.
|
|
24
26
|
> For official VMware developer tools see [developer.broadcom.com](https://developer.broadcom.com).
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<!-- mcp-name: io.github.vmware-skills/vmware-pilot -->
|
|
2
2
|
# VMware Pilot
|
|
3
3
|
|
|
4
|
+
要用自己的模型和 Agent 平台进行只读自测,请看 marketplace 根目录的[共享模型适配自测任务](https://github.com/vmware-skills/marketplace/blob/main/MODEL_FIT_SELF_TEST.md)。
|
|
5
|
+
|
|
4
6
|
> **作者**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
|
|
5
7
|
> 本项目由 VMware 工程师维护的社区项目,非 VMware 官方产品。
|
|
6
8
|
> VMware 官方开发者工具请访问 [developer.broadcom.com](https://developer.broadcom.com)。
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
# VMware Pilot
|
|
4
4
|
|
|
5
|
+
For a read-only check of this skill with your model and agent host, use the shared [model-fit self-test](https://github.com/vmware-skills/marketplace/blob/main/MODEL_FIT_SELF_TEST.md) in the marketplace root.
|
|
6
|
+
|
|
5
7
|
> **Author**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
|
|
6
8
|
> This is a community-driven project by a VMware engineer, not an official VMware product.
|
|
7
9
|
> For official VMware developer tools see [developer.broadcom.com](https://developer.broadcom.com).
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
## v2.4.1 — VKS 9.1 upgrade risk in the companion catalog (2026-11-01)
|
|
2
|
+
|
|
3
|
+
* The companion-tool snapshot now includes VKS 3.5.0's read-only `get_supervisor_upgrade_risk` tool. The documented VKS and family tool counts match the live registries. Pilot's workflow execution behavior is unchanged.
|
|
4
|
+
* Install VMware-VKS 3.5.0 or later to use that tool. Its advisory report does not measure VUMDB schema or establish upgrade clearance.
|
|
5
|
+
|
|
1
6
|
## v2.4.0 — runs its own steps on request; honest gates and rollback (first real-vSphere run)
|
|
2
7
|
|
|
3
8
|
### Behaviour changes for existing callers
|
|
@@ -1078,4 +1083,4 @@ Initial release. Multi-step workflow orchestration with approval gates for VMwar
|
|
|
1078
1083
|
- Rollback: reverse completed steps in order on failure
|
|
1079
1084
|
- Skill catalog: 7 skills, 162 tools available for workflow composition
|
|
1080
1085
|
- blocked_by_policy state: mid-workflow policy denial without auto-rollback
|
|
1081
|
-
- 32 unit tests
|
|
1086
|
+
- 32 unit tests
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"url": "https://github.com/vmware-skills/VMware-Pilot",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "2.4.
|
|
10
|
+
"version": "2.4.1",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "pypi",
|
|
14
14
|
"identifier": "vmware-pilot",
|
|
15
|
-
"version": "2.4.
|
|
15
|
+
"version": "2.4.1",
|
|
16
16
|
"runtimeHint": "uvx",
|
|
17
17
|
"packageArguments": [
|
|
18
18
|
{
|
|
@@ -22,6 +22,8 @@ compatibility: >
|
|
|
22
22
|
|
|
23
23
|
# VMware Pilot
|
|
24
24
|
|
|
25
|
+
> Self-test: [guide](https://github.com/vmware-skills/marketplace/blob/main/MODEL_FIT_SELF_TEST.md).
|
|
26
|
+
|
|
25
27
|
> **Disclaimer**: This is a community-maintained open-source project and is **not affiliated with, endorsed by, or sponsored by VMware, Inc. or Broadcom Inc.** "VMware" is a trademark of Broadcom. Source code is publicly auditable at [github.com/vmware-skills/VMware-Pilot](https://github.com/vmware-skills/VMware-Pilot) under the MIT license.
|
|
26
28
|
|
|
27
29
|
Multi-step workflow orchestration for VMware MCP skills — design, approve, execute, rollback.
|
|
@@ -42,7 +44,7 @@ Multi-step workflow orchestration for VMware MCP skills — design, approve, exe
|
|
|
42
44
|
## Quick Install
|
|
43
45
|
|
|
44
46
|
```bash
|
|
45
|
-
uv tool install vmware-pilot==2.4.
|
|
47
|
+
uv tool install vmware-pilot==2.4.1
|
|
46
48
|
vmware-pilot mcp # start the MCP server (stdio)
|
|
47
49
|
```
|
|
48
50
|
|
|
@@ -309,7 +311,7 @@ No vCenter credentials needed — pilot orchestrates other skills that handle co
|
|
|
309
311
|
|
|
310
312
|
Add `"--dispatch"` to `args` to have pilot run the steps itself (each companion skill must be installed: `vmware-<skill>-mcp` on `PATH`).
|
|
311
313
|
|
|
312
|
-
> Fallback: `{"command": "uvx", "args": ["--from", "vmware-pilot==2.4.
|
|
314
|
+
> Fallback: `{"command": "uvx", "args": ["--from", "vmware-pilot==2.4.1", "vmware-pilot-mcp"]}` also
|
|
313
315
|
> works, but `uvx` re-resolves the package against PyPI on every start and fails behind a
|
|
314
316
|
> TLS-inspecting corporate proxy (`invalid peer certificate: UnknownIssuer`). The installed
|
|
315
317
|
> entry point above touches the network zero times; set `UV_NATIVE_TLS=true` if you must use `uvx`.
|
|
@@ -60,8 +60,8 @@ numbers matter here, and they are not the same thing:
|
|
|
60
60
|
| vmware-nsx | `vmware-nsx-mgmt` | 33 | 8 | NSX segments, gateways, NAT, routing, IPAM |
|
|
61
61
|
| vmware-nsx-security | `vmware-nsx-security` | 22 | 7 | DFW policies/rules, security groups, traceflow |
|
|
62
62
|
| vmware-aria | `vmware-aria` | 46 | 7 | Aria Ops metrics, alerts, capacity, anomalies |
|
|
63
|
-
| vmware-vks | `vmware-vks` |
|
|
64
|
-
| vmware-storage | `vmware-storage` |
|
|
63
|
+
| vmware-vks | `vmware-vks` | 25 | 8 | Tanzu Supervisor, Namespaces, TKC clusters |
|
|
64
|
+
| vmware-storage | `vmware-storage` | 16 | 5 | Datastores, per-VM usage, iSCSI, vSAN, FC multipath |
|
|
65
65
|
| vmware-avi | `vmware-avi` | 28 | 13 | AVI load balancing, pool members, AKO K8s ops |
|
|
66
66
|
| vmware-debug | `vmware-debug` | 14 | 5 | Incident correlation, evidence-graded cases |
|
|
67
67
|
| vmware-harden | `vmware-harden` | 8 | 5 | Compliance baselines, violations, drift |
|
|
@@ -69,7 +69,7 @@ numbers matter here, and they are not the same thing:
|
|
|
69
69
|
| vmware-privateai | `vmware-privateai` | 18 | 5 | GPU hosts, vGPU profiles, utilisation |
|
|
70
70
|
| vmware-vdi | `vmware-vdi` | 27 | 9 | Horizon pools, sessions, machines, images |
|
|
71
71
|
|
|
72
|
-
**Totals**:
|
|
72
|
+
**Totals**: 338 tools across the 13 companion skills; the design catalog covers 101 of them
|
|
73
73
|
across all 13. Pilot adds 13 orchestration tools of its own. The counts are checked against
|
|
74
74
|
the companion snapshot by `tests/eval/regression/test_catalog_covers_the_family.py`.
|
|
75
75
|
|
|
@@ -19,12 +19,12 @@ client.
|
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
21
|
# Recommended: installed entry point, never touches the network
|
|
22
|
-
uv tool install vmware-pilot==2.4.
|
|
22
|
+
uv tool install vmware-pilot==2.4.1
|
|
23
23
|
vmware-pilot mcp
|
|
24
24
|
|
|
25
25
|
# Fallback: uvx re-resolves against PyPI each start and fails behind a
|
|
26
26
|
# TLS-inspecting corporate proxy — set UV_NATIVE_TLS=true if you must use it
|
|
27
|
-
uvx --from vmware-pilot==2.4.
|
|
27
|
+
uvx --from vmware-pilot==2.4.1 vmware-pilot-mcp
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
The server runs on **stdio** transport and exposes 13 MCP tools (4 read, 9 write).
|
|
@@ -11,16 +11,16 @@
|
|
|
11
11
|
### Via uv (Recommended)
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
uv tool install vmware-pilot==2.4.
|
|
14
|
+
uv tool install vmware-pilot==2.4.1
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
### Via pip
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
uv tool install vmware-pilot==2.4.
|
|
20
|
+
uv tool install vmware-pilot==2.4.1
|
|
21
21
|
|
|
22
22
|
# China mainland mirror
|
|
23
|
-
pip install vmware-pilot==2.4.
|
|
23
|
+
pip install vmware-pilot==2.4.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
### Verify Installation
|
|
@@ -84,7 +84,7 @@ The `uvx` form still works and needs no prior install:
|
|
|
84
84
|
"mcpServers": {
|
|
85
85
|
"vmware-pilot": {
|
|
86
86
|
"command": "uvx",
|
|
87
|
-
"args": ["--from", "vmware-pilot==2.4.
|
|
87
|
+
"args": ["--from", "vmware-pilot==2.4.1", "vmware-pilot-mcp"]
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -100,7 +100,7 @@ invalid peer certificate: UnknownIssuer
|
|
|
100
100
|
|
|
101
101
|
`uv` ships its own certificate bundle and ignores the system trust store, which is what breaks.
|
|
102
102
|
Either set `UV_NATIVE_TLS=true` so it honours your corporate CA, or install the tool once
|
|
103
|
-
(`uv tool install vmware-pilot==2.4.
|
|
103
|
+
(`uv tool install vmware-pilot==2.4.1`) and launch `vmware-pilot mcp`, which touches the network
|
|
104
104
|
zero times.
|
|
105
105
|
|
|
106
106
|
---
|
|
@@ -728,7 +728,6 @@
|
|
|
728
728
|
"properties": [
|
|
729
729
|
"alert_id",
|
|
730
730
|
"confirm",
|
|
731
|
-
"confirmed",
|
|
732
731
|
"target"
|
|
733
732
|
],
|
|
734
733
|
"required": [
|
|
@@ -750,7 +749,6 @@
|
|
|
750
749
|
"properties": [
|
|
751
750
|
"alert_id",
|
|
752
751
|
"confirm",
|
|
753
|
-
"confirmed",
|
|
754
752
|
"target"
|
|
755
753
|
],
|
|
756
754
|
"required": [
|
|
@@ -777,7 +775,6 @@
|
|
|
777
775
|
"delete_alert_definition": {
|
|
778
776
|
"properties": [
|
|
779
777
|
"confirm",
|
|
780
|
-
"confirmed",
|
|
781
778
|
"definition_id",
|
|
782
779
|
"target"
|
|
783
780
|
],
|
|
@@ -788,7 +785,6 @@
|
|
|
788
785
|
"delete_report": {
|
|
789
786
|
"properties": [
|
|
790
787
|
"confirm",
|
|
791
|
-
"confirmed",
|
|
792
788
|
"report_id",
|
|
793
789
|
"target"
|
|
794
790
|
],
|
|
@@ -799,7 +795,6 @@
|
|
|
799
795
|
"end_resource_maintenance": {
|
|
800
796
|
"properties": [
|
|
801
797
|
"confirm",
|
|
802
|
-
"confirmed",
|
|
803
798
|
"resource_id",
|
|
804
799
|
"target"
|
|
805
800
|
],
|
|
@@ -1168,7 +1163,6 @@
|
|
|
1168
1163
|
"start_resource_maintenance": {
|
|
1169
1164
|
"properties": [
|
|
1170
1165
|
"confirm",
|
|
1171
|
-
"confirmed",
|
|
1172
1166
|
"duration_minutes",
|
|
1173
1167
|
"end_time_ms",
|
|
1174
1168
|
"resource_id",
|
|
@@ -1220,7 +1214,6 @@
|
|
|
1220
1214
|
"disable_lb_pool_member": {
|
|
1221
1215
|
"properties": [
|
|
1222
1216
|
"confirm",
|
|
1223
|
-
"confirmed",
|
|
1224
1217
|
"pool",
|
|
1225
1218
|
"server"
|
|
1226
1219
|
],
|
|
@@ -1242,7 +1235,6 @@
|
|
|
1242
1235
|
"force_ako_sync": {
|
|
1243
1236
|
"properties": [
|
|
1244
1237
|
"confirm",
|
|
1245
|
-
"confirmed",
|
|
1246
1238
|
"context"
|
|
1247
1239
|
],
|
|
1248
1240
|
"required": []
|
|
@@ -1351,7 +1343,6 @@
|
|
|
1351
1343
|
"restart_ako": {
|
|
1352
1344
|
"properties": [
|
|
1353
1345
|
"confirm",
|
|
1354
|
-
"confirmed",
|
|
1355
1346
|
"context"
|
|
1356
1347
|
],
|
|
1357
1348
|
"required": []
|
|
@@ -1359,7 +1350,6 @@
|
|
|
1359
1350
|
"set_virtual_service_enabled": {
|
|
1360
1351
|
"properties": [
|
|
1361
1352
|
"confirm",
|
|
1362
|
-
"confirmed",
|
|
1363
1353
|
"enable",
|
|
1364
1354
|
"name"
|
|
1365
1355
|
],
|
|
@@ -1371,9 +1361,7 @@
|
|
|
1371
1361
|
"upgrade_ako_config": {
|
|
1372
1362
|
"properties": [
|
|
1373
1363
|
"chart_version",
|
|
1374
|
-
"confirm"
|
|
1375
|
-
"confirmed",
|
|
1376
|
-
"dry_run"
|
|
1364
|
+
"confirm"
|
|
1377
1365
|
],
|
|
1378
1366
|
"required": []
|
|
1379
1367
|
}
|
|
@@ -2702,7 +2690,6 @@
|
|
|
2702
2690
|
"properties": [
|
|
2703
2691
|
"address",
|
|
2704
2692
|
"confirm",
|
|
2705
|
-
"dry_run",
|
|
2706
2693
|
"host_name",
|
|
2707
2694
|
"port",
|
|
2708
2695
|
"target"
|
|
@@ -2726,7 +2713,6 @@
|
|
|
2726
2713
|
"enable_iscsi": {
|
|
2727
2714
|
"properties": [
|
|
2728
2715
|
"confirm",
|
|
2729
|
-
"dry_run",
|
|
2730
2716
|
"host_name",
|
|
2731
2717
|
"target"
|
|
2732
2718
|
],
|
|
@@ -2741,6 +2727,16 @@
|
|
|
2741
2727
|
],
|
|
2742
2728
|
"required": []
|
|
2743
2729
|
},
|
|
2730
|
+
"get_datastore_vm_usage": {
|
|
2731
|
+
"properties": [
|
|
2732
|
+
"datastore_name",
|
|
2733
|
+
"target",
|
|
2734
|
+
"top_n"
|
|
2735
|
+
],
|
|
2736
|
+
"required": [
|
|
2737
|
+
"datastore_name"
|
|
2738
|
+
]
|
|
2739
|
+
},
|
|
2744
2740
|
"get_iscsi_status": {
|
|
2745
2741
|
"properties": [
|
|
2746
2742
|
"host_name",
|
|
@@ -2820,7 +2816,6 @@
|
|
|
2820
2816
|
"properties": [
|
|
2821
2817
|
"address",
|
|
2822
2818
|
"confirm",
|
|
2823
|
-
"dry_run",
|
|
2824
2819
|
"host_name",
|
|
2825
2820
|
"port",
|
|
2826
2821
|
"target"
|
|
@@ -2833,7 +2828,6 @@
|
|
|
2833
2828
|
"rescan_storage": {
|
|
2834
2829
|
"properties": [
|
|
2835
2830
|
"confirm",
|
|
2836
|
-
"dry_run",
|
|
2837
2831
|
"host_name",
|
|
2838
2832
|
"target"
|
|
2839
2833
|
],
|
|
@@ -3127,7 +3121,6 @@
|
|
|
3127
3121
|
"confirm",
|
|
3128
3122
|
"cpu_limit",
|
|
3129
3123
|
"description",
|
|
3130
|
-
"dry_run",
|
|
3131
3124
|
"memory_limit_mib",
|
|
3132
3125
|
"name",
|
|
3133
3126
|
"storage_policy",
|
|
@@ -3143,7 +3136,6 @@
|
|
|
3143
3136
|
"properties": [
|
|
3144
3137
|
"confirm",
|
|
3145
3138
|
"control_plane_count",
|
|
3146
|
-
"dry_run",
|
|
3147
3139
|
"k8s_version",
|
|
3148
3140
|
"name",
|
|
3149
3141
|
"namespace",
|
|
@@ -3162,8 +3154,6 @@
|
|
|
3162
3154
|
"delete_namespace": {
|
|
3163
3155
|
"properties": [
|
|
3164
3156
|
"confirm",
|
|
3165
|
-
"confirmed",
|
|
3166
|
-
"dry_run",
|
|
3167
3157
|
"name",
|
|
3168
3158
|
"target"
|
|
3169
3159
|
],
|
|
@@ -3174,8 +3164,6 @@
|
|
|
3174
3164
|
"delete_tkc_cluster": {
|
|
3175
3165
|
"properties": [
|
|
3176
3166
|
"confirm",
|
|
3177
|
-
"confirmed",
|
|
3178
|
-
"dry_run",
|
|
3179
3167
|
"force",
|
|
3180
3168
|
"name",
|
|
3181
3169
|
"namespace",
|
|
@@ -3217,6 +3205,13 @@
|
|
|
3217
3205
|
"cluster_id"
|
|
3218
3206
|
]
|
|
3219
3207
|
},
|
|
3208
|
+
"get_supervisor_upgrade_risk": {
|
|
3209
|
+
"properties": [
|
|
3210
|
+
"target",
|
|
3211
|
+
"target_version"
|
|
3212
|
+
],
|
|
3213
|
+
"required": []
|
|
3214
|
+
},
|
|
3220
3215
|
"get_tkc_available_versions": {
|
|
3221
3216
|
"properties": [
|
|
3222
3217
|
"namespace",
|
|
@@ -80,9 +80,16 @@ def read_live(root: pathlib.Path) -> tuple[dict, list[str]]:
|
|
|
80
80
|
broken.append(f"{skill}: no checkout at {path}")
|
|
81
81
|
continue
|
|
82
82
|
try:
|
|
83
|
-
cmd = ["uv", "run", "--project", str(path)
|
|
83
|
+
cmd = ["uv", "run", "--project", str(path)]
|
|
84
|
+
# Use an existing sibling environment without a PyPI sync when
|
|
85
|
+
# comparing live registries. CI without a venv builds one normally.
|
|
86
|
+
has_venv = (path / ".venv" / "bin" / "python").exists()
|
|
87
|
+
has_venv |= (path / ".venv" / "Scripts" / "python.exe").exists()
|
|
88
|
+
if has_venv:
|
|
89
|
+
cmd += ["--no-sync", "--offline"]
|
|
90
|
+
cmd += ["python", "-c", _PROBE, pkg]
|
|
84
91
|
proc = subprocess.run(cmd, capture_output=True, text=True, encoding="utf-8",
|
|
85
|
-
timeout=TIMEOUT)
|
|
92
|
+
timeout=TIMEOUT, cwd=path)
|
|
86
93
|
except subprocess.TimeoutExpired:
|
|
87
94
|
broken.append(f"{skill}: reading the registry did not finish in {TIMEOUT}s")
|
|
88
95
|
continue
|
|
@@ -51,11 +51,11 @@ wheels = [
|
|
|
51
51
|
|
|
52
52
|
[[package]]
|
|
53
53
|
name = "certifi"
|
|
54
|
-
version = "2026.
|
|
54
|
+
version = "2026.10.19"
|
|
55
55
|
source = { registry = "https://pypi.org/simple" }
|
|
56
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
56
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a6/bd/1436c50cc46699de0230fbaacc1d1de7bfec413176099949e9d5112e88f2/certifi-2026.10.19.tar.gz", hash = "sha256:035c1e85572b141bf1c3a3eff0e33a8eb74917522f2559075ff8d2fea780a1ae", size = 137598, upload-time = "2026-10-20T02:24:16.604Z" }
|
|
57
57
|
wheels = [
|
|
58
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
58
|
+
{ url = "https://files.pythonhosted.org/packages/c4/51/29046e48f693c54e5b7412216d447a1d8362c9653148d98c02cdf65fa733/certifi-2026.10.19-py3-none-any.whl", hash = "sha256:42d35340cc5b9ba78e818ddbff0c5b1c2b779de448a340fd1b989f5fa8670e1b", size = 136464, upload-time = "2026-10-20T02:24:15.072Z" },
|
|
59
59
|
]
|
|
60
60
|
|
|
61
61
|
[[package]]
|
|
@@ -1142,7 +1142,7 @@ wheels = [
|
|
|
1142
1142
|
|
|
1143
1143
|
[[package]]
|
|
1144
1144
|
name = "vmware-pilot"
|
|
1145
|
-
version = "2.4.
|
|
1145
|
+
version = "2.4.1"
|
|
1146
1146
|
source = { editable = "." }
|
|
1147
1147
|
dependencies = [
|
|
1148
1148
|
{ name = "mcp", extra = ["cli"] },
|
|
@@ -7,8 +7,10 @@ step that calls such a tool comes after a ``require_approval`` step — Pilot's
|
|
|
7
7
|
own ``approve`` gate, which is the human decision — so the step itself says
|
|
8
8
|
``confirm=True``. ``tests/test_templates_pass_confirm.py`` fails any template
|
|
9
9
|
that sends ``confirm=True`` before its first approval step. The old spellings
|
|
10
|
-
``confirmed`` / ``dry_run``
|
|
11
|
-
|
|
10
|
+
``confirmed`` / ``dry_run`` were removed from those tools (Aria 2.4.2, AVI 2.4.1,
|
|
11
|
+
Storage 2.4.3, VKS 3.4.2), where a call passing one is refused as an unknown argument.
|
|
12
|
+
Pilot never sends them: it drops them from a step and refuses caller params
|
|
13
|
+
that carry them.
|
|
12
14
|
|
|
13
15
|
The executor records a step that only previewed as *failed*, so a tool missing
|
|
14
16
|
from this table fails loudly on its first dispatch rather than silently doing
|
|
@@ -58,7 +60,7 @@ GATED_TOOLS = MappingProxyType({
|
|
|
58
60
|
"privateai": frozenset({"assign_vgpu"}),
|
|
59
61
|
})
|
|
60
62
|
|
|
61
|
-
#:
|
|
63
|
+
#: Former aliases for ``confirm`` on the gated tools, removed from the companions.
|
|
62
64
|
LEGACY_CONFIRM_KEYS = ("confirmed", "dry_run")
|
|
63
65
|
|
|
64
66
|
#: Every key through which a caller can say "act" or "hold" on a gated tool.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/agent-guardrails.md
RENAMED
|
File without changes
|
{vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/integration-patterns.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/scripts/list_available_tools.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_tool_description_quality.py
RENAMED
|
File without changes
|
{vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_tool_manifest_budget.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_approval_gate_coverage.py
RENAMED
|
File without changes
|
|
File without changes
|
{vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_catalog_covers_the_family.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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|