@calltelemetry/ct-lab-mcp 0.8.149 → 0.8.151

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 (64) hide show
  1. package/README.md +1 -0
  2. package/dist/src/generated-version.d.ts +1 -1
  3. package/dist/src/generated-version.js +1 -1
  4. package/dist/src/inspection/lab-inspection.d.ts +16293 -0
  5. package/dist/src/inspection/lab-inspection.d.ts.map +1 -0
  6. package/dist/src/inspection/lab-inspection.js +964 -0
  7. package/dist/src/inspection/lab-inspection.js.map +1 -0
  8. package/dist/src/inspection/read-provenance.d.ts +44 -0
  9. package/dist/src/inspection/read-provenance.d.ts.map +1 -0
  10. package/dist/src/inspection/read-provenance.js +28 -0
  11. package/dist/src/inspection/read-provenance.js.map +1 -0
  12. package/dist/src/inspection/runtime-artifact.d.ts +16 -0
  13. package/dist/src/inspection/runtime-artifact.d.ts.map +1 -0
  14. package/dist/src/inspection/runtime-artifact.js +99 -0
  15. package/dist/src/inspection/runtime-artifact.js.map +1 -0
  16. package/dist/src/lab-exec/claim-resolve.d.ts +97 -0
  17. package/dist/src/lab-exec/claim-resolve.d.ts.map +1 -1
  18. package/dist/src/lab-exec/claim-resolve.js +5 -0
  19. package/dist/src/lab-exec/claim-resolve.js.map +1 -1
  20. package/dist/src/lab-exec/executor.d.ts +3 -0
  21. package/dist/src/lab-exec/executor.d.ts.map +1 -1
  22. package/dist/src/lab-exec/executor.js +4 -1
  23. package/dist/src/lab-exec/executor.js.map +1 -1
  24. package/dist/src/lab-exec/remote.d.ts +3 -0
  25. package/dist/src/lab-exec/remote.d.ts.map +1 -1
  26. package/dist/src/lab-exec/remote.js +5 -0
  27. package/dist/src/lab-exec/remote.js.map +1 -1
  28. package/dist/src/lab-exec/server.d.ts.map +1 -1
  29. package/dist/src/lab-exec/server.js +3 -2
  30. package/dist/src/lab-exec/server.js.map +1 -1
  31. package/dist/src/tools/appliance-candidate-retire.d.ts +6 -6
  32. package/dist/src/tools/appliance-candidate-update.d.ts +33 -6
  33. package/dist/src/tools/appliance-candidate-update.d.ts.map +1 -1
  34. package/dist/src/tools/appliance-candidate-update.js +99 -4
  35. package/dist/src/tools/appliance-candidate-update.js.map +1 -1
  36. package/dist/src/tools/appliance-claim-tools.d.ts +62 -3
  37. package/dist/src/tools/appliance-claim-tools.d.ts.map +1 -1
  38. package/dist/src/tools/appliance-claim-tools.js +810 -16
  39. package/dist/src/tools/appliance-claim-tools.js.map +1 -1
  40. package/dist/src/tools/claim-lifecycle.d.ts +4 -4
  41. package/dist/src/tools/claimed-import-ova.d.ts +9 -9
  42. package/dist/src/tools/claimed-import-qcow.d.ts +2 -2
  43. package/dist/src/tools/cube-canonical.d.ts +2 -2
  44. package/dist/src/tools/host-migrate-vm.d.ts +4 -4
  45. package/dist/src/tools/import-qcow.d.ts +6 -6
  46. package/dist/src/tools/index.d.ts.map +1 -1
  47. package/dist/src/tools/index.js +8 -3
  48. package/dist/src/tools/index.js.map +1 -1
  49. package/dist/src/tools/lab-dev.d.ts +38 -38
  50. package/dist/src/tools/list-hosts.d.ts.map +1 -1
  51. package/dist/src/tools/list-hosts.js +16 -4
  52. package/dist/src/tools/list-hosts.js.map +1 -1
  53. package/dist/src/tools/list-inventory.d.ts.map +1 -1
  54. package/dist/src/tools/list-inventory.js +13 -3
  55. package/dist/src/tools/list-inventory.js.map +1 -1
  56. package/dist/src/tools/provision-tools.d.ts +20 -20
  57. package/dist/src/tools/quick-provision.d.ts +2 -2
  58. package/dist/src/tools/sandbox-tools.d.ts +4 -4
  59. package/dist/src/tools/slot-tools.d.ts +8 -8
  60. package/dist/src/tools/storage-tools.d.ts +8 -8
  61. package/dist/src/tools/uat-access.d.ts +2 -2
  62. package/dist/src/tools/vm-action.d.ts +8 -8
  63. package/dist/src/tools/vm-repair.d.ts +6 -6
  64. package/package.json +1 -1
package/README.md CHANGED
@@ -99,6 +99,7 @@ than use the legacy Node VMID/name slot state when the bridge is unavailable.
99
99
  drift, or clustered Proxmox. Force host
100
100
  power-off is not implemented.
101
101
  - **Claimed-Guest Appliance Update**: `appliance_update` is a thin canonical bridge for `lab-inventory vm update`: dry-run by default, apply requires `confirmAssetId` equal to `assetId`, an active lease, a `calltelemetry-lab-claim/v1` claim file authorizing `appliance-update`, and an exact release version. The older in-guest `appliance_exec` shared-login flow is retired; use `appliance_update` for updates, `uat_access` for governed web access, and `lab-inventory vm ssh` (run from an operator machine or a lab-LAN host; the `ct-uat-proxmox` runner is retired as a load driver) for operator shell access.
102
+ - **Candidate Reconciliation**: `appliance_candidate_update` accepts `reconcile: true` for one existing operation ID, its exact v1 manifest digest, and the current Ready ApplianceClaim UID. It reads the original local and coordinator evidence plus fixed pinned-SSH image and container observations. `deployment_outcome` is separate from `service_health`; JTAPI health is not queried and qualification remains `not_assessed`. `completed` requires the original terminal receipt, matching coordinator completion, and exact live candidate images; `failed` requires recorded rollback and matching previous image IDs; `not_applied` requires an explicit durable `candidate_mutation_dispatch_state: not_started` fact and exact live image observations, while quarantine remains held. Missing, old, or ambiguous evidence stays `unknown`. It never reapplies candidate transport or calls retired legacy diagnostics.
102
103
  - **Leased Remote Development**: `lab_dev` is a canonical-only façade for the `ct-local-dev-v1` profile. It supports strict `doctor`, `plan`, `prepare`, `start`, `status`, `sync`, `stop`, and `cleanup` actions bound to one asset, lease, Linear issue, operation ID, and reviewed receipt chain. It accepts no guest commands, remote paths, or mock fallback.
103
104
  - **Claim custody annotation** (REL-1746; slots and reservation Leases are retired): Proxmox claim creation requires the actual canonical node, explicit VMID and VM name in `ct-lab`, with a finite TTL. The original-owner record lives on the claim itself as annotation `calltelemetry.com/claim-custody` (`claim-custody/v1`: guest tuple, phase, operation nonce, creation-request hash, context, provider binding), written in the same single create call as the claim. No Lease is ever created, renewed or required; per-guest serialization is in-process keyed by node and VMID, and the existing claim-occupancy scan plus the claim UID/resourceVersion protect against other actors. Whole effective immutable CRD fields and creation labels are rehashed on retry and deletion; only the declared lifecycle fields and stale label can change. A matching name alone grants no custody. Claims created before the retirement still carry a `ct-physical-slot-reservation.*` Lease: the MCP verifies them read-only (reporting `custody.source: "legacy-lease"`, `migration: "operator-pending"`) and the appliance operator converts them into the annotation; the MCP never writes a Lease.
104
105
  - **One configured Kubernetes claim backend**: ApplianceClaim CRUD and read-only legacy reservation Lease reads share one backend resolver. Local stdio deployments must set an absolute `LAB_CLAIM_KUBECONFIG`, the exact `LAB_CLAIM_K8S_CONTEXT`, and an HTTPS-origin `LAB_CLAIM_K8S_SERVER`; the selected kubeconfig is validated against that server before a request. In-cluster deployments must set the context/server and provide the service-account token and CA for that same cluster. Cross-cluster deployments use the explicit kubeconfig path. The process never falls back to `KUBECONFIG`, `~/.kube/config`, or an embedded server, and a missing or mismatched binding is refused before any claim effect. The container image is published to Docker Hub by the Docker Build and Publish workflow, which only builds and pushes; it does not edit any cluster manifest. ct-lab-mcp is not Flux-deployed, and the retired DOKS cluster is no longer a target.
@@ -2,5 +2,5 @@
2
2
  * Auto-synced package version fallback for non-filesystem runtimes (Cloudflare Workers).
3
3
  * Updated automatically during release publication in .github/workflows/publish.yml.
4
4
  */
5
- export declare const PACKAGE_VERSION = "0.8.149";
5
+ export declare const PACKAGE_VERSION = "0.8.151";
6
6
  //# sourceMappingURL=generated-version.d.ts.map
@@ -2,5 +2,5 @@
2
2
  * Auto-synced package version fallback for non-filesystem runtimes (Cloudflare Workers).
3
3
  * Updated automatically during release publication in .github/workflows/publish.yml.
4
4
  */
5
- export const PACKAGE_VERSION = "0.8.149";
5
+ export const PACKAGE_VERSION = "0.8.151";
6
6
  //# sourceMappingURL=generated-version.js.map