vmware-pilot 2.4.0__tar.gz → 2.4.2__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.2}/.claude-plugin/plugin.json +1 -1
  2. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/.mcp.json +1 -1
  3. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/PKG-INFO +5 -3
  4. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/README-CN.md +3 -1
  5. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/README.md +3 -1
  6. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/RELEASE_NOTES.md +13 -2
  7. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/SECURITY.md +2 -2
  8. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/openclaw.plugin.json +1 -1
  9. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/package.json +1 -1
  10. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/pyproject.toml +2 -2
  11. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/server.json +2 -2
  12. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/SKILL.md +4 -2
  13. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/references/capabilities.md +4 -4
  14. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/references/cli-reference.md +2 -2
  15. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/references/setup-guide.md +5 -5
  16. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/fixtures/companion_tools.json +35 -23
  17. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/fixtures/snapshot_companion_tools.py +9 -2
  18. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/uv.lock +6 -6
  19. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/__init__.py +1 -1
  20. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/templates/_gated.py +5 -3
  21. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/.clawhubignore +0 -0
  22. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/.gitignore +0 -0
  23. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/Dockerfile +0 -0
  24. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/docs/architecture-audit-2026-04-30.md +0 -0
  25. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/docs/aria-pilot-boundary.md +0 -0
  26. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/examples/mcp-configs/claude-code.json +0 -0
  27. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/evals/evals.json +0 -0
  28. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/references/agent-guardrails.md +0 -0
  29. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/references/integration-patterns.md +0 -0
  30. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/references/templates.md +0 -0
  31. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/references/workflow-design.md +0 -0
  32. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/scripts/list_available_tools.py +0 -0
  33. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/skills/vmware-pilot/scripts/validate_workflow.py +0 -0
  34. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/smithery.yaml +0 -0
  35. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/__init__.py +0 -0
  36. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/conftest.py +0 -0
  37. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/__init__.py +0 -0
  38. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/__init__.py +0 -0
  39. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/_family.py +0 -0
  40. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/_scores.json +0 -0
  41. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/_scoring.py +0 -0
  42. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/_skill.py +0 -0
  43. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/conftest.py +0 -0
  44. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/test_entity_reachability.py +0 -0
  45. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/test_error_actionability.py +0 -0
  46. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/test_tool_description_quality.py +0 -0
  47. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/capability/test_tool_manifest_budget.py +0 -0
  48. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/regression/__init__.py +0 -0
  49. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/regression/_family_write_surface.py +0 -0
  50. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/regression/test_approval_gate_coverage.py +0 -0
  51. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/regression/test_capability_grader.py +0 -0
  52. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/regression/test_catalog_covers_the_family.py +0 -0
  53. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/regression/test_cli_writes_guarded.py +0 -0
  54. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/regression/test_environment_resolver_isolation.py +0 -0
  55. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/eval/regression/test_template_steps_name_real_tools.py +0 -0
  56. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_approval_roles.py +0 -0
  57. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_approver_is_caller.py +0 -0
  58. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_confirm_needs_approval.py +0 -0
  59. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_custom_approval_gate.py +0 -0
  60. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_dispatcher.py +0 -0
  61. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_dispatcher_review.py +0 -0
  62. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_executor.py +0 -0
  63. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_executor_preview_is_not_success.py +0 -0
  64. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_final_review_fixes.py +0 -0
  65. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_last_step_clone_failure.py +0 -0
  66. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_models.py +0 -0
  67. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_no_destructive_ops.py +0 -0
  68. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_old_tool_names_translated.py +0 -0
  69. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_open_lows_2026_10_18.py +0 -0
  70. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_own_tools_gated.py +0 -0
  71. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_policy_roles.py +0 -0
  72. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_pre_2_4_0_review.py +0 -0
  73. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_real_run_2026_10_17.py +0 -0
  74. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_review.py +0 -0
  75. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_safe_error_passthrough.py +0 -0
  76. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_server.py +0 -0
  77. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_templates.py +0 -0
  78. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/tests/test_templates_pass_confirm.py +0 -0
  79. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/approval_gate.py +0 -0
  80. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/cli.py +0 -0
  81. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/custom_loader.py +0 -0
  82. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/dispatcher.py +0 -0
  83. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/executor.py +0 -0
  84. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/lifecycle_gate.py +0 -0
  85. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/mcp_server/__init__.py +0 -0
  86. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/mcp_server/__main__.py +0 -0
  87. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/mcp_server/_catalog.py +0 -0
  88. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/mcp_server/_shared.py +0 -0
  89. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/mcp_server/server.py +0 -0
  90. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/mcp_server/tools/__init__.py +0 -0
  91. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/mcp_server/tools/authoring.py +0 -0
  92. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/mcp_server/tools/lifecycle.py +0 -0
  93. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/mcp_server/tools/query.py +0 -0
  94. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/models.py +0 -0
  95. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/policy_roles.py +0 -0
  96. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/renames.py +0 -0
  97. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/reversibility.py +0 -0
  98. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/review.py +0 -0
  99. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/templates/__init__.py +0 -0
  100. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/templates/_aiops_params.py +0 -0
  101. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/templates/_common.py +0 -0
  102. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/templates/baseline.py +0 -0
  103. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/templates/k8s.py +0 -0
  104. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/templates/monitoring.py +0 -0
  105. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/templates/network.py +0 -0
  106. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/vmware_pilot/templates/storage.py +0 -0
  107. {vmware_pilot-2.4.0 → vmware_pilot-2.4.2}/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.2",
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.2",
9
9
  "vmware-pilot-mcp"
10
10
  ]
11
11
  }
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: vmware-pilot
3
- Version: 2.4.0
3
+ Version: 2.4.2
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
7
7
  Project-URL: Issues, https://github.com/vmware-skills/VMware-Pilot/issues
8
8
  Project-URL: Changelog, https://github.com/vmware-skills/VMware-Pilot/blob/main/RELEASE_NOTES.md
9
- Author-email: Wei Zhou <wei-wz.zhou@broadcom.com>
9
+ Author-email: Wei Zhou <zhouwei008@gmail.com>
10
10
  License-Expression: MIT
11
11
  Requires-Python: >=3.10
12
12
  Requires-Dist: mcp[cli]<2.0,>=1.30
@@ -19,7 +19,9 @@ Description-Content-Type: text/markdown
19
19
 
20
20
  # VMware Pilot
21
21
 
22
- > **Author**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
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
+
24
+ > **Author**: Wei Zhou, VMware by Broadcom — zhouwei008@gmail.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).
25
27
 
@@ -1,7 +1,9 @@
1
1
  <!-- mcp-name: io.github.vmware-skills/vmware-pilot -->
2
2
  # VMware Pilot
3
3
 
4
- > **作者**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
4
+ 要用自己的模型和 Agent 平台进行只读自测,请看 marketplace 根目录的[共享模型适配自测任务](https://github.com/vmware-skills/marketplace/blob/main/MODEL_FIT_SELF_TEST.md)。
5
+
6
+ > **作者**: Wei Zhou, VMware by Broadcom — zhouwei008@gmail.com
5
7
  > 本项目由 VMware 工程师维护的社区项目,非 VMware 官方产品。
6
8
  > VMware 官方开发者工具请访问 [developer.broadcom.com](https://developer.broadcom.com)。
7
9
 
@@ -2,7 +2,9 @@
2
2
 
3
3
  # VMware Pilot
4
4
 
5
- > **Author**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
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
+
7
+ > **Author**: Wei Zhou, VMware by Broadcom — zhouwei008@gmail.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).
8
10
 
@@ -1,3 +1,14 @@
1
+ ## v2.4.2 — refresh companion tool contracts (2026-11-08)
2
+
3
+ * Update public author/project contact metadata to `zhouwei008@gmail.com`.
4
+
5
+ * Refresh the companion contract for Monitor log selection and the PAIS gallery; no Pilot runtime/tool-count changes.
6
+
7
+ ## v2.4.1 — VKS 9.1 upgrade risk in the companion catalog (2026-11-01)
8
+
9
+ * 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.
10
+ * Install VMware-VKS 3.5.0 or later to use that tool. Its advisory report does not measure VUMDB schema or establish upgrade clearance.
11
+
1
12
  ## v2.4.0 — runs its own steps on request; honest gates and rollback (first real-vSphere run)
2
13
 
3
14
  ### Behaviour changes for existing callers
@@ -1050,7 +1061,7 @@ Tests: 75 → 96 passing (4 parallel_group + 7 investigate_alert + 10 review). M
1050
1061
  - **[READ]/[WRITE] tool prefixes**: All MCP tool descriptions now start with [READ] or [WRITE] to clearly indicate operation type
1051
1062
  - **Read/write split counts**: SKILL.md MCP Tools section header shows exact read vs write tool counts
1052
1063
  - **Negative routing**: Description frontmatter includes "Do NOT use when..." clause to prevent misrouting
1053
- - **Broadcom author attestation**: README.md, README-CN.md, and pyproject.toml include VMware by Broadcom author identity (wei-wz.zhou@broadcom.com) to resolve Snyk E005 brand warnings
1064
+ - **Broadcom author attestation**: README.md, README-CN.md, and pyproject.toml include VMware by Broadcom author identity (zhouwei008@gmail.com) to resolve Snyk E005 brand warnings
1054
1065
 
1055
1066
  ## v1.4.9 (2026-04-11)
1056
1067
 
@@ -1078,4 +1089,4 @@ Initial release. Multi-step workflow orchestration with approval gates for VMwar
1078
1089
  - Rollback: reverse completed steps in order on failure
1079
1090
  - Skill catalog: 7 skills, 162 tools available for workflow composition
1080
1091
  - blocked_by_policy state: mid-workflow policy denial without auto-rollback
1081
- - 32 unit tests
1092
+ - 32 unit tests
@@ -4,13 +4,13 @@
4
4
 
5
5
  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 Inc.
6
6
 
7
- **Author**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
7
+ **Author**: Wei Zhou, VMware by Broadcom — zhouwei008@gmail.com
8
8
 
9
9
  ## Reporting Vulnerabilities
10
10
 
11
11
  If you discover a security vulnerability, please report it privately:
12
12
 
13
- - **Email**: wei-wz.zhou@broadcom.com
13
+ - **Email**: zhouwei008@gmail.com
14
14
  - **GitHub**: Open a [private security advisory](https://github.com/vmware-skills/VMware-Pilot/security/advisories/new)
15
15
 
16
16
  Do **not** open a public GitHub issue for security vulnerabilities.
@@ -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.2",
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.2",
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,12 +4,12 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "vmware-pilot"
7
- version = "2.4.0"
7
+ version = "2.4.2"
8
8
  description = "VMware workflow orchestration — multi-step state machine with approval gates"
9
9
  readme = "README.md"
10
10
  license = "MIT"
11
11
  requires-python = ">=3.10"
12
- authors = [{ name = "Wei Zhou", email = "wei-wz.zhou@broadcom.com" }]
12
+ authors = [{ name = "Wei Zhou", email = "zhouwei008@gmail.com" }]
13
13
  dependencies = [
14
14
  "vmware-policy>=1.21.0,<2.0",
15
15
  "mcp[cli]>=1.30,<2.0",
@@ -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.2",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "pypi",
14
14
  "identifier": "vmware-pilot",
15
- "version": "2.4.0",
15
+ "version": "2.4.2",
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.2
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.2", "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,16 +60,16 @@ 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 |
68
68
  | vmware-log-insight | `vmware-log-insight` | 7 | 4 | Log search, aggregation, alerts |
69
- | vmware-privateai | `vmware-privateai` | 18 | 5 | GPU hosts, vGPU profiles, utilisation |
69
+ | vmware-privateai | `vmware-privateai` | 20 | 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**: 340 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.2
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.2 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.2
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.2
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.2 -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.2", "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.2`) 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
  }
@@ -1912,6 +1900,7 @@
1912
1900
  "group",
1913
1901
  "host_name",
1914
1902
  "lines",
1903
+ "log_keys",
1915
1904
  "target"
1916
1905
  ],
1917
1906
  "required": []
@@ -2659,6 +2648,22 @@
2659
2648
  ],
2660
2649
  "required": []
2661
2650
  },
2651
+ "list_pais_mcp_servers": {
2652
+ "properties": [
2653
+ "after",
2654
+ "limit"
2655
+ ],
2656
+ "required": []
2657
+ },
2658
+ "list_pais_mcp_tools": {
2659
+ "properties": [
2660
+ "after",
2661
+ "is_approved",
2662
+ "limit",
2663
+ "server_id"
2664
+ ],
2665
+ "required": []
2666
+ },
2662
2667
  "list_pais_models": {
2663
2668
  "properties": [
2664
2669
  "limit",
@@ -2702,7 +2707,6 @@
2702
2707
  "properties": [
2703
2708
  "address",
2704
2709
  "confirm",
2705
- "dry_run",
2706
2710
  "host_name",
2707
2711
  "port",
2708
2712
  "target"
@@ -2726,7 +2730,6 @@
2726
2730
  "enable_iscsi": {
2727
2731
  "properties": [
2728
2732
  "confirm",
2729
- "dry_run",
2730
2733
  "host_name",
2731
2734
  "target"
2732
2735
  ],
@@ -2741,6 +2744,16 @@
2741
2744
  ],
2742
2745
  "required": []
2743
2746
  },
2747
+ "get_datastore_vm_usage": {
2748
+ "properties": [
2749
+ "datastore_name",
2750
+ "target",
2751
+ "top_n"
2752
+ ],
2753
+ "required": [
2754
+ "datastore_name"
2755
+ ]
2756
+ },
2744
2757
  "get_iscsi_status": {
2745
2758
  "properties": [
2746
2759
  "host_name",
@@ -2820,7 +2833,6 @@
2820
2833
  "properties": [
2821
2834
  "address",
2822
2835
  "confirm",
2823
- "dry_run",
2824
2836
  "host_name",
2825
2837
  "port",
2826
2838
  "target"
@@ -2833,7 +2845,6 @@
2833
2845
  "rescan_storage": {
2834
2846
  "properties": [
2835
2847
  "confirm",
2836
- "dry_run",
2837
2848
  "host_name",
2838
2849
  "target"
2839
2850
  ],
@@ -3127,7 +3138,6 @@
3127
3138
  "confirm",
3128
3139
  "cpu_limit",
3129
3140
  "description",
3130
- "dry_run",
3131
3141
  "memory_limit_mib",
3132
3142
  "name",
3133
3143
  "storage_policy",
@@ -3143,7 +3153,6 @@
3143
3153
  "properties": [
3144
3154
  "confirm",
3145
3155
  "control_plane_count",
3146
- "dry_run",
3147
3156
  "k8s_version",
3148
3157
  "name",
3149
3158
  "namespace",
@@ -3162,8 +3171,6 @@
3162
3171
  "delete_namespace": {
3163
3172
  "properties": [
3164
3173
  "confirm",
3165
- "confirmed",
3166
- "dry_run",
3167
3174
  "name",
3168
3175
  "target"
3169
3176
  ],
@@ -3174,8 +3181,6 @@
3174
3181
  "delete_tkc_cluster": {
3175
3182
  "properties": [
3176
3183
  "confirm",
3177
- "confirmed",
3178
- "dry_run",
3179
3184
  "force",
3180
3185
  "name",
3181
3186
  "namespace",
@@ -3217,6 +3222,13 @@
3217
3222
  "cluster_id"
3218
3223
  ]
3219
3224
  },
3225
+ "get_supervisor_upgrade_risk": {
3226
+ "properties": [
3227
+ "target",
3228
+ "target_version"
3229
+ ],
3230
+ "required": []
3231
+ },
3220
3232
  "get_tkc_available_versions": {
3221
3233
  "properties": [
3222
3234
  "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
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 3
2
+ revision = 5
3
3
  requires-python = ">=3.10"
4
4
  resolution-markers = [
5
5
  "python_full_version >= '3.14' and sys_platform == 'win32'",
@@ -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]]
@@ -341,7 +341,7 @@ name = "exceptiongroup"
341
341
  version = "1.3.1"
342
342
  source = { registry = "https://pypi.org/simple" }
343
343
  dependencies = [
344
- { name = "typing-extensions", marker = "python_full_version < '3.13'" },
344
+ { name = "typing-extensions" },
345
345
  ]
346
346
  sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
347
347
  wheels = [
@@ -1142,7 +1142,7 @@ wheels = [
1142
1142
 
1143
1143
  [[package]]
1144
1144
  name = "vmware-pilot"
1145
- version = "2.4.0"
1145
+ version = "2.4.2"
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.2"
@@ -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