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.
Files changed (107) hide show
  1. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/.claude-plugin/plugin.json +1 -1
  2. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/.mcp.json +1 -1
  3. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/PKG-INFO +3 -1
  4. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/README-CN.md +2 -0
  5. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/README.md +2 -0
  6. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/RELEASE_NOTES.md +6 -1
  7. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/openclaw.plugin.json +1 -1
  8. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/package.json +1 -1
  9. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/pyproject.toml +1 -1
  10. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/server.json +2 -2
  11. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/SKILL.md +4 -2
  12. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/capabilities.md +3 -3
  13. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/cli-reference.md +2 -2
  14. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/setup-guide.md +5 -5
  15. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/fixtures/companion_tools.json +18 -23
  16. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/fixtures/snapshot_companion_tools.py +9 -2
  17. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/uv.lock +4 -4
  18. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/__init__.py +1 -1
  19. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/_gated.py +5 -3
  20. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/.clawhubignore +0 -0
  21. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/.gitignore +0 -0
  22. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/Dockerfile +0 -0
  23. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/SECURITY.md +0 -0
  24. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/docs/architecture-audit-2026-04-30.md +0 -0
  25. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/docs/aria-pilot-boundary.md +0 -0
  26. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/examples/mcp-configs/claude-code.json +0 -0
  27. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/evals/evals.json +0 -0
  28. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/agent-guardrails.md +0 -0
  29. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/integration-patterns.md +0 -0
  30. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/templates.md +0 -0
  31. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/references/workflow-design.md +0 -0
  32. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/scripts/list_available_tools.py +0 -0
  33. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/skills/vmware-pilot/scripts/validate_workflow.py +0 -0
  34. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/smithery.yaml +0 -0
  35. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/__init__.py +0 -0
  36. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/conftest.py +0 -0
  37. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/__init__.py +0 -0
  38. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/__init__.py +0 -0
  39. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/_family.py +0 -0
  40. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/_scores.json +0 -0
  41. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/_scoring.py +0 -0
  42. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/_skill.py +0 -0
  43. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/conftest.py +0 -0
  44. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_entity_reachability.py +0 -0
  45. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_error_actionability.py +0 -0
  46. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_tool_description_quality.py +0 -0
  47. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/capability/test_tool_manifest_budget.py +0 -0
  48. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/__init__.py +0 -0
  49. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/_family_write_surface.py +0 -0
  50. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_approval_gate_coverage.py +0 -0
  51. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_capability_grader.py +0 -0
  52. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_catalog_covers_the_family.py +0 -0
  53. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_cli_writes_guarded.py +0 -0
  54. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_environment_resolver_isolation.py +0 -0
  55. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/eval/regression/test_template_steps_name_real_tools.py +0 -0
  56. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_approval_roles.py +0 -0
  57. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_approver_is_caller.py +0 -0
  58. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_confirm_needs_approval.py +0 -0
  59. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_custom_approval_gate.py +0 -0
  60. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_dispatcher.py +0 -0
  61. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_dispatcher_review.py +0 -0
  62. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_executor.py +0 -0
  63. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_executor_preview_is_not_success.py +0 -0
  64. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_final_review_fixes.py +0 -0
  65. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_last_step_clone_failure.py +0 -0
  66. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_models.py +0 -0
  67. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_no_destructive_ops.py +0 -0
  68. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_old_tool_names_translated.py +0 -0
  69. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_open_lows_2026_10_18.py +0 -0
  70. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_own_tools_gated.py +0 -0
  71. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_policy_roles.py +0 -0
  72. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_pre_2_4_0_review.py +0 -0
  73. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_real_run_2026_10_17.py +0 -0
  74. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_review.py +0 -0
  75. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_safe_error_passthrough.py +0 -0
  76. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_server.py +0 -0
  77. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_templates.py +0 -0
  78. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/tests/test_templates_pass_confirm.py +0 -0
  79. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/approval_gate.py +0 -0
  80. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/cli.py +0 -0
  81. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/custom_loader.py +0 -0
  82. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/dispatcher.py +0 -0
  83. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/executor.py +0 -0
  84. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/lifecycle_gate.py +0 -0
  85. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/__init__.py +0 -0
  86. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/__main__.py +0 -0
  87. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/_catalog.py +0 -0
  88. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/_shared.py +0 -0
  89. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/server.py +0 -0
  90. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/tools/__init__.py +0 -0
  91. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/tools/authoring.py +0 -0
  92. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/tools/lifecycle.py +0 -0
  93. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/mcp_server/tools/query.py +0 -0
  94. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/models.py +0 -0
  95. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/policy_roles.py +0 -0
  96. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/renames.py +0 -0
  97. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/reversibility.py +0 -0
  98. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/review.py +0 -0
  99. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/__init__.py +0 -0
  100. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/_aiops_params.py +0 -0
  101. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/_common.py +0 -0
  102. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/baseline.py +0 -0
  103. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/k8s.py +0 -0
  104. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/monitoring.py +0 -0
  105. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/network.py +0 -0
  106. {vmware_pilot-2.4.0 → vmware_pilot-2.4.1}/vmware_pilot/templates/storage.py +0 -0
  107. {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.0",
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",
@@ -5,7 +5,7 @@
5
5
  "command": "uvx",
6
6
  "args": [
7
7
  "--from",
8
- "vmware-pilot==2.4.0",
8
+ "vmware-pilot==2.4.1",
9
9
  "vmware-pilot-mcp"
10
10
  ]
11
11
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: vmware-pilot
3
- Version: 2.4.0
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
@@ -11,7 +11,7 @@
11
11
  "command": "uvx",
12
12
  "args": [
13
13
  "--from",
14
- "vmware-pilot==2.4.0",
14
+ "vmware-pilot==2.4.1",
15
15
  "vmware-pilot-mcp"
16
16
  ]
17
17
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zw008/vmware-pilot",
3
- "version": "2.4.0",
3
+ "version": "2.4.1",
4
4
  "description": "Multi-step workflow orchestration for VMware MCP skills with approval gates and rollback.",
5
5
  "private": true,
6
6
  "license": "MIT",
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "vmware-pilot"
7
- version = "2.4.0"
7
+ version = "2.4.1"
8
8
  description = "VMware workflow orchestration — multi-step state machine with approval gates"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/vmware-skills/VMware-Pilot",
8
8
  "source": "github"
9
9
  },
10
- "version": "2.4.0",
10
+ "version": "2.4.1",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "pypi",
14
14
  "identifier": "vmware-pilot",
15
- "version": "2.4.0",
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.0
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.0", "vmware-pilot-mcp"]}` also
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` | 24 | 8 | Tanzu Supervisor, Namespaces, TKC clusters |
64
- | vmware-storage | `vmware-storage` | 15 | 5 | Datastores, iSCSI, vSAN, FC multipath |
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**: 336 tools across the 13 companion skills; the design catalog covers 101 of them
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.0
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.0 vmware-pilot-mcp
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.0
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.0
20
+ uv tool install vmware-pilot==2.4.1
21
21
 
22
22
  # China mainland mirror
23
- pip install vmware-pilot==2.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
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.0", "vmware-pilot-mcp"]
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.0`) and launch `vmware-pilot mcp`, which touches the network
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), "python", "-c", _PROBE, pkg]
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.2.25"
54
+ version = "2026.10.19"
55
55
  source = { registry = "https://pypi.org/simple" }
56
- sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" }
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/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" },
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.0"
1145
+ version = "2.4.1"
1146
1146
  source = { editable = "." }
1147
1147
  dependencies = [
1148
1148
  { name = "mcp", extra = ["cli"] },
@@ -1,3 +1,3 @@
1
1
  """VMware Pilot — multi-step workflow orchestration with approval gates."""
2
2
 
3
- __version__ = "2.4.0"
3
+ __version__ = "2.4.1"
@@ -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`` are deprecated aliases on those tools for one minor
11
- cycle and are not sent.
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
- #: Deprecated aliases for ``confirm`` on the gated tools.
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